From 590e16ff8a398abbd2f4f6039b1439234f634760 Mon Sep 17 00:00:00 2001 From: Lukas Hass Date: Mon, 31 Jan 2022 16:14:34 +0100 Subject: [PATCH 01/88] move all static assets to public/ --- front/dist/.gitignore | 6 ------ front/{dist => public}/.htaccess | 0 front/{dist => public}/env-config.template.js | 0 front/{dist => public}/ga.html.tmpl | 0 front/{dist => public}/iframe.html | 0 front/{dist => public}/index.ejs | 0 .../resources/characters/pipoya/Cat 01-1.png | Bin .../resources/characters/pipoya/Cat 01-2.png | Bin .../resources/characters/pipoya/Cat 01-3.png | Bin .../resources/characters/pipoya/Dog 01-1.png | Bin .../resources/characters/pipoya/Dog 01-2.png | Bin .../resources/characters/pipoya/Dog 01-3.png | Bin .../resources/characters/pipoya/Female 01-1.png | Bin .../resources/characters/pipoya/Female 01-2.png | Bin .../resources/characters/pipoya/Female 01-3.png | Bin .../resources/characters/pipoya/Female 01-4.png | Bin .../resources/characters/pipoya/Female 02-1.png | Bin .../resources/characters/pipoya/Female 02-2.png | Bin .../resources/characters/pipoya/Female 02-3.png | Bin .../resources/characters/pipoya/Female 02-4.png | Bin .../resources/characters/pipoya/Female 03-1.png | Bin .../resources/characters/pipoya/Female 03-2.png | Bin .../resources/characters/pipoya/Female 03-3.png | Bin .../resources/characters/pipoya/Female 03-4.png | Bin .../resources/characters/pipoya/Female 04-1.png | Bin .../resources/characters/pipoya/Female 04-2.png | Bin .../resources/characters/pipoya/Female 04-3.png | Bin .../resources/characters/pipoya/Female 04-4.png | Bin .../resources/characters/pipoya/Female 05-1.png | Bin .../resources/characters/pipoya/Female 05-2.png | Bin .../resources/characters/pipoya/Female 05-3.png | Bin .../resources/characters/pipoya/Female 05-4.png | Bin .../resources/characters/pipoya/Female 06-1.png | Bin .../resources/characters/pipoya/Female 06-2.png | Bin .../resources/characters/pipoya/Female 06-3.png | Bin .../resources/characters/pipoya/Female 06-4.png | Bin .../resources/characters/pipoya/Female 07-1.png | Bin .../resources/characters/pipoya/Female 07-2.png | Bin .../resources/characters/pipoya/Female 07-3.png | Bin .../resources/characters/pipoya/Female 07-4.png | Bin .../resources/characters/pipoya/Female 08-1.png | Bin .../resources/characters/pipoya/Female 08-2.png | Bin .../resources/characters/pipoya/Female 08-3.png | Bin .../resources/characters/pipoya/Female 08-4.png | Bin .../resources/characters/pipoya/Female 09-1.png | Bin .../resources/characters/pipoya/Female 09-2.png | Bin .../resources/characters/pipoya/Female 09-3.png | Bin .../resources/characters/pipoya/Female 09-4.png | Bin .../resources/characters/pipoya/Female 10-1.png | Bin .../resources/characters/pipoya/Female 10-2.png | Bin .../resources/characters/pipoya/Female 10-3.png | Bin .../resources/characters/pipoya/Female 10-4.png | Bin .../resources/characters/pipoya/Female 11-1.png | Bin .../resources/characters/pipoya/Female 11-2.png | Bin .../resources/characters/pipoya/Female 11-3.png | Bin .../resources/characters/pipoya/Female 11-4.png | Bin .../resources/characters/pipoya/Female 12-1.png | Bin .../resources/characters/pipoya/Female 12-2.png | Bin .../resources/characters/pipoya/Female 12-3.png | Bin .../resources/characters/pipoya/Female 12-4.png | Bin .../resources/characters/pipoya/Female 13-1.png | Bin .../resources/characters/pipoya/Female 13-2.png | Bin .../resources/characters/pipoya/Female 13-3.png | Bin .../resources/characters/pipoya/Female 13-4.png | Bin .../resources/characters/pipoya/Female 14-1.png | Bin .../resources/characters/pipoya/Female 14-2.png | Bin .../resources/characters/pipoya/Female 14-3.png | Bin .../resources/characters/pipoya/Female 14-4.png | Bin .../resources/characters/pipoya/Female 15-1.png | Bin .../resources/characters/pipoya/Female 15-2.png | Bin .../resources/characters/pipoya/Female 15-3.png | Bin .../resources/characters/pipoya/Female 15-4.png | Bin .../resources/characters/pipoya/Female 16-1.png | Bin .../resources/characters/pipoya/Female 16-2.png | Bin .../resources/characters/pipoya/Female 16-3.png | Bin .../resources/characters/pipoya/Female 16-4.png | Bin .../resources/characters/pipoya/Female 17-1.png | Bin .../resources/characters/pipoya/Female 17-2.png | Bin .../resources/characters/pipoya/Female 17-3.png | Bin .../resources/characters/pipoya/Female 17-4.png | Bin .../resources/characters/pipoya/Female 18-1.png | Bin .../resources/characters/pipoya/Female 18-2.png | Bin .../resources/characters/pipoya/Female 18-3.png | Bin .../resources/characters/pipoya/Female 18-4.png | Bin .../resources/characters/pipoya/Female 19-1.png | Bin .../resources/characters/pipoya/Female 19-2.png | Bin .../resources/characters/pipoya/Female 19-3.png | Bin .../resources/characters/pipoya/Female 19-4.png | Bin .../resources/characters/pipoya/Female 20-1.png | Bin .../resources/characters/pipoya/Female 20-2.png | Bin .../resources/characters/pipoya/Female 20-3.png | Bin .../resources/characters/pipoya/Female 20-4.png | Bin .../resources/characters/pipoya/Female 21-1.png | Bin .../resources/characters/pipoya/Female 21-2.png | Bin .../resources/characters/pipoya/Female 21-3.png | Bin .../resources/characters/pipoya/Female 21-4.png | Bin .../resources/characters/pipoya/Female 22-1.png | Bin .../resources/characters/pipoya/Female 22-2.png | Bin .../resources/characters/pipoya/Female 22-3.png | Bin .../resources/characters/pipoya/Female 22-4.png | Bin .../resources/characters/pipoya/Female 23-1.png | Bin .../resources/characters/pipoya/Female 24-1.png | Bin .../resources/characters/pipoya/Female 25-1.png | Bin .../characters/pipoya/Headmaster fmale.png | Bin .../resources/characters/pipoya/Headmaster male.png | Bin .../resources/characters/pipoya/Male 01-1.png | Bin .../resources/characters/pipoya/Male 01-2.png | Bin .../resources/characters/pipoya/Male 01-3.png | Bin .../resources/characters/pipoya/Male 01-4.png | Bin .../resources/characters/pipoya/Male 02-1.png | Bin .../resources/characters/pipoya/Male 02-2.png | Bin .../resources/characters/pipoya/Male 02-3.png | Bin .../resources/characters/pipoya/Male 02-4.png | Bin .../resources/characters/pipoya/Male 03-1.png | Bin .../resources/characters/pipoya/Male 03-2.png | Bin .../resources/characters/pipoya/Male 03-3.png | Bin .../resources/characters/pipoya/Male 03-4.png | Bin .../resources/characters/pipoya/Male 04-1.png | Bin .../resources/characters/pipoya/Male 04-2.png | Bin .../resources/characters/pipoya/Male 04-3.png | Bin .../resources/characters/pipoya/Male 04-4.png | Bin .../resources/characters/pipoya/Male 05-1.png | Bin .../resources/characters/pipoya/Male 05-2.png | Bin .../resources/characters/pipoya/Male 05-3.png | Bin .../resources/characters/pipoya/Male 05-4.png | Bin .../resources/characters/pipoya/Male 06-1.png | Bin .../resources/characters/pipoya/Male 06-2.png | Bin .../resources/characters/pipoya/Male 06-3.png | Bin .../resources/characters/pipoya/Male 06-4.png | Bin .../resources/characters/pipoya/Male 07-1.png | Bin .../resources/characters/pipoya/Male 07-2.png | Bin .../resources/characters/pipoya/Male 07-3.png | Bin .../resources/characters/pipoya/Male 07-4.png | Bin .../resources/characters/pipoya/Male 08-1.png | Bin .../resources/characters/pipoya/Male 08-2.png | Bin .../resources/characters/pipoya/Male 08-3.png | Bin .../resources/characters/pipoya/Male 08-4.png | Bin .../resources/characters/pipoya/Male 09-1.png | Bin .../resources/characters/pipoya/Male 09-2.png | Bin .../resources/characters/pipoya/Male 09-3.png | Bin .../resources/characters/pipoya/Male 09-4.png | Bin .../resources/characters/pipoya/Male 10-1.png | Bin .../resources/characters/pipoya/Male 10-2.png | Bin .../resources/characters/pipoya/Male 10-3.png | Bin .../resources/characters/pipoya/Male 10-4.png | Bin .../resources/characters/pipoya/Male 11-1.png | Bin .../resources/characters/pipoya/Male 11-2.png | Bin .../resources/characters/pipoya/Male 11-3.png | Bin .../resources/characters/pipoya/Male 11-4.png | Bin .../resources/characters/pipoya/Male 12-1.png | Bin .../resources/characters/pipoya/Male 12-2.png | Bin .../resources/characters/pipoya/Male 12-3.png | Bin .../resources/characters/pipoya/Male 12-4.png | Bin .../resources/characters/pipoya/Male 13-1.png | Bin .../resources/characters/pipoya/Male 13-2.png | Bin .../resources/characters/pipoya/Male 13-3.png | Bin .../resources/characters/pipoya/Male 13-4.png | Bin .../resources/characters/pipoya/Male 14-1.png | Bin .../resources/characters/pipoya/Male 14-2.png | Bin .../resources/characters/pipoya/Male 14-3.png | Bin .../resources/characters/pipoya/Male 14-4.png | Bin .../resources/characters/pipoya/Male 15-1.png | Bin .../resources/characters/pipoya/Male 15-2.png | Bin .../resources/characters/pipoya/Male 15-3.png | Bin .../resources/characters/pipoya/Male 15-4.png | Bin .../resources/characters/pipoya/Male 16-1.png | Bin .../resources/characters/pipoya/Male 16-2.png | Bin .../resources/characters/pipoya/Male 16-3.png | Bin .../resources/characters/pipoya/Male 16-4.png | Bin .../resources/characters/pipoya/Male 17-1.png | Bin .../resources/characters/pipoya/Male 17-2.png | Bin .../resources/characters/pipoya/Male 17-3.png | Bin .../resources/characters/pipoya/Male 17-4.png | Bin .../resources/characters/pipoya/Male 18-1.png | Bin .../characters/pipoya/Teacher fmale 01.png | Bin .../characters/pipoya/Teacher fmale 02.png | Bin .../characters/pipoya/Teacher fmale 03.png | Bin .../characters/pipoya/Teacher fmale 04.png | Bin .../resources/characters/pipoya/Teacher male 01.png | Bin .../resources/characters/pipoya/Teacher male 02.png | Bin .../resources/characters/pipoya/Teacher male 03.png | Bin .../resources/characters/pipoya/Teacher male 04.png | Bin .../resources/characters/pipoya/about.txt | 0 .../characters/pipoya/su1 Student fmale 01.png | Bin .../characters/pipoya/su1 Student fmale 02.png | Bin .../characters/pipoya/su1 Student fmale 03.png | Bin .../characters/pipoya/su1 Student fmale 04.png | Bin .../characters/pipoya/su1 Student fmale 05.png | Bin .../characters/pipoya/su1 Student fmale 06.png | Bin .../characters/pipoya/su1 Student fmale 07.png | Bin .../characters/pipoya/su1 Student fmale 08.png | Bin .../characters/pipoya/su1 Student fmale 09.png | Bin .../characters/pipoya/su1 Student fmale 10.png | Bin .../characters/pipoya/su1 Student fmale 11.png | Bin .../characters/pipoya/su1 Student fmale 12.png | Bin .../characters/pipoya/su1 Student fmale 13.png | Bin .../characters/pipoya/su1 Student fmale 14.png | Bin .../characters/pipoya/su1 Student fmale 15.png | Bin .../characters/pipoya/su1 Student fmale 16.png | Bin .../characters/pipoya/su1 Student fmale 17.png | Bin .../characters/pipoya/su1 Student fmale 18.png | Bin .../characters/pipoya/su1 Student male 01.png | Bin .../characters/pipoya/su1 Student male 02.png | Bin .../characters/pipoya/su1 Student male 03.png | Bin .../characters/pipoya/su1 Student male 04.png | Bin .../characters/pipoya/su1 Student male 05.png | Bin .../characters/pipoya/su1 Student male 06.png | Bin .../characters/pipoya/su1 Student male 07.png | Bin .../characters/pipoya/su1 Student male 08.png | Bin .../characters/pipoya/su1 Student male 09.png | Bin .../characters/pipoya/su1 Student male 10.png | Bin .../characters/pipoya/su1 Student male 11.png | Bin .../characters/pipoya/su1 Student male 12.png | Bin .../characters/pipoya/su1 Student male 13.png | Bin .../characters/pipoya/su2 Student fmale 01.png | Bin .../characters/pipoya/su2 Student fmale 02.png | Bin .../characters/pipoya/su2 Student fmale 03.png | Bin .../characters/pipoya/su2 Student fmale 04.png | Bin .../characters/pipoya/su2 Student fmale 05.png | Bin .../characters/pipoya/su2 Student fmale 06.png | Bin .../characters/pipoya/su2 Student fmale 07.png | Bin .../characters/pipoya/su2 Student fmale 08.png | Bin .../characters/pipoya/su2 Student fmale 09.png | Bin .../characters/pipoya/su2 Student fmale 10.png | Bin .../characters/pipoya/su2 Student fmale 11.png | Bin .../characters/pipoya/su2 Student fmale 12.png | Bin .../characters/pipoya/su2 Student fmale 13.png | Bin .../characters/pipoya/su2 Student fmale 14.png | Bin .../characters/pipoya/su2 Student fmale 15.png | Bin .../characters/pipoya/su2 Student fmale 16.png | Bin .../characters/pipoya/su2 Student fmale 17.png | Bin .../characters/pipoya/su2 Student fmale 18.png | Bin .../characters/pipoya/su2 Student male 01.png | Bin .../characters/pipoya/su2 Student male 02.png | Bin .../characters/pipoya/su2 Student male 03.png | Bin .../characters/pipoya/su2 Student male 04.png | Bin .../characters/pipoya/su2 Student male 05.png | Bin .../characters/pipoya/su2 Student male 06.png | Bin .../characters/pipoya/su2 Student male 07.png | Bin .../characters/pipoya/su2 Student male 08.png | Bin .../characters/pipoya/su2 Student male 09.png | Bin .../characters/pipoya/su2 Student male 10.png | Bin .../characters/pipoya/su2 Student male 11.png | Bin .../characters/pipoya/su2 Student male 12.png | Bin .../characters/pipoya/su2 Student male 13.png | Bin .../characters/pipoya/su3 Student fmale 01.png | Bin .../characters/pipoya/su3 Student fmale 02.png | Bin .../characters/pipoya/su3 Student fmale 03.png | Bin .../characters/pipoya/su3 Student fmale 04.png | Bin .../characters/pipoya/su3 Student fmale 05.png | Bin .../characters/pipoya/su3 Student fmale 06.png | Bin .../characters/pipoya/su3 Student fmale 07.png | Bin .../characters/pipoya/su3 Student fmale 08.png | Bin .../characters/pipoya/su3 Student fmale 09.png | Bin .../characters/pipoya/su3 Student fmale 10.png | Bin .../characters/pipoya/su3 Student fmale 11.png | Bin .../characters/pipoya/su3 Student fmale 12.png | Bin .../characters/pipoya/su3 Student fmale 13.png | Bin .../characters/pipoya/su3 Student fmale 14.png | Bin .../characters/pipoya/su3 Student fmale 15.png | Bin .../characters/pipoya/su3 Student fmale 16.png | Bin .../characters/pipoya/su3 Student fmale 17.png | Bin .../characters/pipoya/su3 Student fmale 18.png | Bin .../characters/pipoya/su3 Student male 01.png | Bin .../characters/pipoya/su3 Student male 02.png | Bin .../characters/pipoya/su3 Student male 03.png | Bin .../characters/pipoya/su3 Student male 04.png | Bin .../characters/pipoya/su3 Student male 05.png | Bin .../characters/pipoya/su3 Student male 06.png | Bin .../characters/pipoya/su3 Student male 07.png | Bin .../characters/pipoya/su3 Student male 08.png | Bin .../characters/pipoya/su3 Student male 09.png | Bin .../characters/pipoya/su3 Student male 10.png | Bin .../characters/pipoya/su3 Student male 11.png | Bin .../characters/pipoya/su3 Student male 12.png | Bin .../characters/pipoya/su3 Student male 13.png | Bin .../characters/pipoya/su4 Student fmale 01.png | Bin .../characters/pipoya/su4 Student fmale 02.png | Bin .../characters/pipoya/su4 Student fmale 03.png | Bin .../characters/pipoya/su4 Student fmale 04.png | Bin .../characters/pipoya/su4 Student fmale 05.png | Bin .../characters/pipoya/su4 Student fmale 06.png | Bin .../characters/pipoya/su4 Student fmale 07.png | Bin .../characters/pipoya/su4 Student fmale 08.png | Bin .../characters/pipoya/su4 Student fmale 09.png | Bin .../characters/pipoya/su4 Student fmale 10.png | Bin .../characters/pipoya/su4 Student fmale 11.png | Bin .../characters/pipoya/su4 Student fmale 12.png | Bin .../characters/pipoya/su4 Student fmale 13.png | Bin .../characters/pipoya/su4 Student fmale 14.png | Bin .../characters/pipoya/su4 Student fmale 15.png | Bin .../characters/pipoya/su4 Student fmale 16.png | Bin .../characters/pipoya/su4 Student fmale 17.png | Bin .../characters/pipoya/su4 Student fmale 18.png | Bin .../characters/pipoya/su4 Student male 01.png | Bin .../characters/pipoya/su4 Student male 02.png | Bin .../characters/pipoya/su4 Student male 03.png | Bin .../characters/pipoya/su4 Student male 04.png | Bin .../characters/pipoya/su4 Student male 05.png | Bin .../characters/pipoya/su4 Student male 06.png | Bin .../characters/pipoya/su4 Student male 07.png | Bin .../characters/pipoya/su4 Student male 08.png | Bin .../characters/pipoya/su4 Student male 09.png | Bin .../characters/pipoya/su4 Student male 10.png | Bin .../characters/pipoya/su4 Student male 11.png | Bin .../characters/pipoya/su4 Student male 12.png | Bin .../characters/pipoya/su4 Student male 13.png | Bin .../character_accessories1.png | Bin .../character_accessories10.png | Bin .../character_accessories11.png | Bin .../character_accessories12.png | Bin .../character_accessories13.png | Bin .../character_accessories14.png | Bin .../character_accessories15.png | Bin .../character_accessories16.png | Bin .../character_accessories17.png | Bin .../character_accessories18.png | Bin .../character_accessories19.png | Bin .../character_accessories2.png | Bin .../character_accessories20.png | Bin .../character_accessories21.png | Bin .../character_accessories22.png | Bin .../character_accessories23.png | Bin .../character_accessories24.png | Bin .../character_accessories25.png | Bin .../character_accessories26.png | Bin .../character_accessories27.png | Bin .../character_accessories28.png | Bin .../character_accessories29.png | Bin .../character_accessories3.png | Bin .../character_accessories30.png | Bin .../character_accessories31.png | Bin .../character_accessories32.png | Bin .../character_accessories4.png | Bin .../character_accessories5.png | Bin .../character_accessories6.png | Bin .../character_accessories7.png | Bin .../character_accessories8.png | Bin .../character_accessories9.png | Bin .../customisation/character_accessories/mask.png | Bin .../character_accessories/mate_bottle1.png | Bin .../character_clothes/black_hoodie.png | Bin .../character_clothes/character_clothes0.png | Bin .../character_clothes/character_clothes1.png | Bin .../character_clothes/character_clothes10.png | Bin .../character_clothes/character_clothes11.png | Bin .../character_clothes/character_clothes12.png | Bin .../character_clothes/character_clothes13.png | Bin .../character_clothes/character_clothes14.png | Bin .../character_clothes/character_clothes15.png | Bin .../character_clothes/character_clothes16.png | Bin .../character_clothes/character_clothes17.png | Bin .../character_clothes/character_clothes18.png | Bin .../character_clothes/character_clothes19.png | Bin .../character_clothes/character_clothes2.png | Bin .../character_clothes/character_clothes20.png | Bin .../character_clothes/character_clothes21.png | Bin .../character_clothes/character_clothes22.png | Bin .../character_clothes/character_clothes23.png | Bin .../character_clothes/character_clothes24.png | Bin .../character_clothes/character_clothes25.png | Bin .../character_clothes/character_clothes26.png | Bin .../character_clothes/character_clothes27.png | Bin .../character_clothes/character_clothes28.png | Bin .../character_clothes/character_clothes29.png | Bin .../character_clothes/character_clothes3.png | Bin .../character_clothes/character_clothes30.png | Bin .../character_clothes/character_clothes31.png | Bin .../character_clothes/character_clothes32.png | Bin .../character_clothes/character_clothes33.png | Bin .../character_clothes/character_clothes34.png | Bin .../character_clothes/character_clothes35.png | Bin .../character_clothes/character_clothes36.png | Bin .../character_clothes/character_clothes37.png | Bin .../character_clothes/character_clothes38.png | Bin .../character_clothes/character_clothes39.png | Bin .../character_clothes/character_clothes4.png | Bin .../character_clothes/character_clothes40.png | Bin .../character_clothes/character_clothes41.png | Bin .../character_clothes/character_clothes42.png | Bin .../character_clothes/character_clothes43.png | Bin .../character_clothes/character_clothes44.png | Bin .../character_clothes/character_clothes45.png | Bin .../character_clothes/character_clothes46.png | Bin .../character_clothes/character_clothes47.png | Bin .../character_clothes/character_clothes48.png | Bin .../character_clothes/character_clothes49.png | Bin .../character_clothes/character_clothes5.png | Bin .../character_clothes/character_clothes50.png | Bin .../character_clothes/character_clothes51.png | Bin .../character_clothes/character_clothes52.png | Bin .../character_clothes/character_clothes53.png | Bin .../character_clothes/character_clothes54.png | Bin .../character_clothes/character_clothes55.png | Bin .../character_clothes/character_clothes56.png | Bin .../character_clothes/character_clothes57.png | Bin .../character_clothes/character_clothes58.png | Bin .../character_clothes/character_clothes59.png | Bin .../character_clothes/character_clothes6.png | Bin .../character_clothes/character_clothes60.png | Bin .../character_clothes/character_clothes61.png | Bin .../character_clothes/character_clothes62.png | Bin .../character_clothes/character_clothes63.png | Bin .../character_clothes/character_clothes64.png | Bin .../character_clothes/character_clothes65.png | Bin .../character_clothes/character_clothes66.png | Bin .../character_clothes/character_clothes67.png | Bin .../character_clothes/character_clothes68.png | Bin .../character_clothes/character_clothes69.png | Bin .../character_clothes/character_clothes7.png | Bin .../character_clothes/character_clothes8.png | Bin .../character_clothes/character_clothes9.png | Bin .../customisation/character_clothes/engelbert.png | Bin .../customisation/character_clothes/pride_shirt.png | Bin .../character_clothes/white_hoodie.png | Bin .../customisation/character_color/_‚È‚µ.png | Bin .../character_color/character_color0.png | Bin .../character_color/character_color1.png | Bin .../character_color/character_color10.png | Bin .../character_color/character_color11.png | Bin .../character_color/character_color12.png | Bin .../character_color/character_color13.png | Bin .../character_color/character_color14.png | Bin .../character_color/character_color15.png | Bin .../character_color/character_color16.png | Bin .../character_color/character_color17.png | Bin .../character_color/character_color18.png | Bin .../character_color/character_color19.png | Bin .../character_color/character_color2.png | Bin .../character_color/character_color20.png | Bin .../character_color/character_color21.png | Bin .../character_color/character_color22.png | Bin .../character_color/character_color23.png | Bin .../character_color/character_color24.png | Bin .../character_color/character_color25.png | Bin .../character_color/character_color26.png | Bin .../character_color/character_color27.png | Bin .../character_color/character_color28.png | Bin .../character_color/character_color29.png | Bin .../character_color/character_color3.png | Bin .../character_color/character_color30.png | Bin .../character_color/character_color31.png | Bin .../character_color/character_color32.png | Bin .../character_color/character_color4.png | Bin .../character_color/character_color5.png | Bin .../character_color/character_color6.png | Bin .../character_color/character_color7.png | Bin .../character_color/character_color8.png | Bin .../character_color/character_color9.png | Bin .../character_eyes/character_eyes1.png | Bin .../character_eyes/character_eyes10.png | Bin .../character_eyes/character_eyes11.png | Bin .../character_eyes/character_eyes12.png | Bin .../character_eyes/character_eyes13.png | Bin .../character_eyes/character_eyes14.png | Bin .../character_eyes/character_eyes15.png | Bin .../character_eyes/character_eyes16.png | Bin .../character_eyes/character_eyes17.png | Bin .../character_eyes/character_eyes18.png | Bin .../character_eyes/character_eyes19.png | Bin .../character_eyes/character_eyes2.png | Bin .../character_eyes/character_eyes20.png | Bin .../character_eyes/character_eyes21.png | Bin .../character_eyes/character_eyes22.png | Bin .../character_eyes/character_eyes23.png | Bin .../character_eyes/character_eyes24.png | Bin .../character_eyes/character_eyes25.png | Bin .../character_eyes/character_eyes26.png | Bin .../character_eyes/character_eyes27.png | Bin .../character_eyes/character_eyes28.png | Bin .../character_eyes/character_eyes29.png | Bin .../character_eyes/character_eyes3.png | Bin .../character_eyes/character_eyes30.png | Bin .../character_eyes/character_eyes31.png | Bin .../character_eyes/character_eyes32.png | Bin .../character_eyes/character_eyes33.png | Bin .../character_eyes/character_eyes34.png | Bin .../character_eyes/character_eyes4.png | Bin .../character_eyes/character_eyes5.png | Bin .../character_eyes/character_eyes6.png | Bin .../character_eyes/character_eyes7.png | Bin .../character_eyes/character_eyes8.png | Bin .../character_eyes/character_eyes9.png | Bin .../character_hairs/character_hairs0.png | Bin .../character_hairs/character_hairs1.png | Bin .../character_hairs/character_hairs10.png | Bin .../character_hairs/character_hairs11.png | Bin .../character_hairs/character_hairs12.png | Bin .../character_hairs/character_hairs13.png | Bin .../character_hairs/character_hairs14.png | Bin .../character_hairs/character_hairs15.png | Bin .../character_hairs/character_hairs16.png | Bin .../character_hairs/character_hairs17.png | Bin .../character_hairs/character_hairs18.png | Bin .../character_hairs/character_hairs19.png | Bin .../character_hairs/character_hairs2.png | Bin .../character_hairs/character_hairs20.png | Bin .../character_hairs/character_hairs21.png | Bin .../character_hairs/character_hairs22.png | Bin .../character_hairs/character_hairs23.png | Bin .../character_hairs/character_hairs24.png | Bin .../character_hairs/character_hairs25.png | Bin .../character_hairs/character_hairs26.png | Bin .../character_hairs/character_hairs27.png | Bin .../character_hairs/character_hairs28.png | Bin .../character_hairs/character_hairs29.png | Bin .../character_hairs/character_hairs3.png | Bin .../character_hairs/character_hairs30.png | Bin .../character_hairs/character_hairs31.png | Bin .../character_hairs/character_hairs32.png | Bin .../character_hairs/character_hairs33.png | Bin .../character_hairs/character_hairs34.png | Bin .../character_hairs/character_hairs35.png | Bin .../character_hairs/character_hairs36.png | Bin .../character_hairs/character_hairs37.png | Bin .../character_hairs/character_hairs38.png | Bin .../character_hairs/character_hairs39.png | Bin .../character_hairs/character_hairs4.png | Bin .../character_hairs/character_hairs40.png | Bin .../character_hairs/character_hairs41.png | Bin .../character_hairs/character_hairs42.png | Bin .../character_hairs/character_hairs43.png | Bin .../character_hairs/character_hairs44.png | Bin .../character_hairs/character_hairs45.png | Bin .../character_hairs/character_hairs46.png | Bin .../character_hairs/character_hairs47.png | Bin .../character_hairs/character_hairs48.png | Bin .../character_hairs/character_hairs49.png | Bin .../character_hairs/character_hairs5.png | Bin .../character_hairs/character_hairs50.png | Bin .../character_hairs/character_hairs51.png | Bin .../character_hairs/character_hairs52.png | Bin .../character_hairs/character_hairs53.png | Bin .../character_hairs/character_hairs54.png | Bin .../character_hairs/character_hairs55.png | Bin .../character_hairs/character_hairs56.png | Bin .../character_hairs/character_hairs57.png | Bin .../character_hairs/character_hairs58.png | Bin .../character_hairs/character_hairs59.png | Bin .../character_hairs/character_hairs6.png | Bin .../character_hairs/character_hairs60.png | Bin .../character_hairs/character_hairs61.png | Bin .../character_hairs/character_hairs62.png | Bin .../character_hairs/character_hairs63.png | Bin .../character_hairs/character_hairs64.png | Bin .../character_hairs/character_hairs65.png | Bin .../character_hairs/character_hairs66.png | Bin .../character_hairs/character_hairs67.png | Bin .../character_hairs/character_hairs68.png | Bin .../character_hairs/character_hairs69.png | Bin .../character_hairs/character_hairs7.png | Bin .../character_hairs/character_hairs70.png | Bin .../character_hairs/character_hairs71.png | Bin .../character_hairs/character_hairs72.png | Bin .../character_hairs/character_hairs73.png | Bin .../character_hairs/character_hairs8.png | Bin .../character_hairs/character_hairs9.png | Bin .../character_hats/character_hats1.png | Bin .../character_hats/character_hats10.png | Bin .../character_hats/character_hats11.png | Bin .../character_hats/character_hats12.png | Bin .../character_hats/character_hats13.png | Bin .../character_hats/character_hats14.png | Bin .../character_hats/character_hats15.png | Bin .../character_hats/character_hats16.png | Bin .../character_hats/character_hats17.png | Bin .../character_hats/character_hats18.png | Bin .../character_hats/character_hats19.png | Bin .../character_hats/character_hats2.png | Bin .../character_hats/character_hats20.png | Bin .../character_hats/character_hats21.png | Bin .../character_hats/character_hats22.png | Bin .../character_hats/character_hats23.png | Bin .../character_hats/character_hats24.png | Bin .../character_hats/character_hats25.png | Bin .../character_hats/character_hats26.png | Bin .../character_hats/character_hats3.png | Bin .../character_hats/character_hats4.png | Bin .../character_hats/character_hats5.png | Bin .../character_hats/character_hats6.png | Bin .../character_hats/character_hats7.png | Bin .../character_hats/character_hats8.png | Bin .../character_hats/character_hats9.png | Bin .../customisation/character_hats/tinfoil_hat1.png | Bin .../resources/emotes/clap-emote.png | Bin .../resources/emotes/hand-emote.png | Bin .../resources/emotes/heart-emote.png | Bin .../resources/emotes/thanks-emote.png | Bin .../resources/emotes/thumb-down-emote.png | Bin .../resources/emotes/thumb-up-emote.png | Bin front/{dist => public}/resources/fonts/arcade.png | Bin front/{dist => public}/resources/fonts/arcade.xml | 0 front/{dist => public}/resources/fonts/fonts.css | 0 front/{dist => public}/resources/fonts/ka1.ttf | Bin front/{dist => public}/resources/html/gameMenu.html | 0 .../resources/items/computer/computer.png | Bin .../resources/items/computer/computer_atlas.json | 0 .../resources/items/computer/original/computer.png | Bin .../items/computer/original/computer_atlas.json | 0 .../items/computer/unpack/computer_off.png | Bin .../items/computer/unpack/computer_on1.png | Bin .../items/computer/unpack/computer_on2.png | Bin .../{dist => public}/resources/logos/blockSign.svg | 0 .../resources/logos/blockingIcon.png | Bin front/{dist => public}/resources/logos/boy.svg | 0 front/{dist => public}/resources/logos/cancel.png | Bin .../resources/logos/cinema-close.svg | 0 front/{dist => public}/resources/logos/close.svg | 0 .../resources/logos/cowebsite-swipe.svg | 0 .../{dist => public}/resources/logos/discussion.svg | 0 .../resources/logos/fullscreen-exit.svg | 0 .../{dist => public}/resources/logos/fullscreen.svg | 0 .../{dist => public}/resources/logos/megaphone.svg | 0 .../resources/logos/microphone-close.svg | 0 .../resources/logos/monitor-yellow.svg | 0 .../{dist => public}/resources/logos/music-file.svg | 0 .../{dist => public}/resources/logos/phone-open.svg | 0 front/{dist => public}/resources/logos/phone.svg | 0 .../resources/logos/report.back.svg | 0 front/{dist => public}/resources/logos/report.svg | 0 .../{dist => public}/resources/logos/send-bkack.svg | 0 .../{dist => public}/resources/logos/send-white.svg | 0 .../resources/logos/send-yellow.svg | 0 .../resources/logos/setting-black.svg | 0 .../resources/logos/setting-white.svg | 0 .../resources/logos/setting-yellow.svg | 0 .../resources/objects/arrow_down.png | Bin .../resources/objects/arrow_right.png | Bin .../{dist => public}/resources/objects/arrow_up.png | Bin .../resources/objects/arrow_up_black.png | Bin .../resources/objects/customize.png | Bin .../resources/objects/customize_selected.png | Bin .../resources/objects/facebook-icon.png | Bin .../resources/objects/joystickSplitted.png | Bin .../resources/objects/report-message.mp3 | Bin .../resources/objects/smallHandleFilledGrey.png | Bin front/{dist => public}/resources/objects/talk.png | Bin .../resources/objects/teleportation.png | Bin .../resources/objects/twitter-icon.png | Bin .../resources/objects/webrtc-in.mp3 | Bin .../resources/objects/webrtc-out.mp3 | Bin .../resources/translations/.gitignore | 0 front/{dist => public}/service-worker-dev.js | 0 front/{dist => public}/service-worker-prod.js | 0 front/{dist => public}/static/images/Bitmap2.png | Bin front/{dist => public}/static/images/Bitmap3.png | Bin front/{dist => public}/static/images/amstrad.png | Bin front/{dist => public}/static/images/atari.png | Bin front/{dist => public}/static/images/bitmap.png | Bin front/{dist => public}/static/images/check.png | Bin .../static/images/choose_character.png | Bin front/{dist => public}/static/images/cloud.png | Bin front/{dist => public}/static/images/desktop.png | Bin front/{dist => public}/static/images/facebook.png | Bin .../images/favicons/android-icon-144x144-white.png | Bin .../static/images/favicons/android-icon-144x144.png | Bin .../images/favicons/android-icon-192x192-white.png | Bin .../static/images/favicons/android-icon-192x192.png | Bin .../images/favicons/android-icon-36x36.-white.png | Bin .../static/images/favicons/android-icon-36x36.png | Bin .../images/favicons/android-icon-48x48-white.png | Bin .../static/images/favicons/android-icon-48x48.png | Bin .../images/favicons/android-icon-72x72-white.png | Bin .../static/images/favicons/android-icon-72x72.png | Bin .../images/favicons/android-icon-96x96-white.png | Bin .../static/images/favicons/android-icon-96x96.png | Bin .../images/favicons/apple-icon-114x114-white.png | Bin .../static/images/favicons/apple-icon-114x114.png | Bin .../images/favicons/apple-icon-120x120-white.png | Bin .../static/images/favicons/apple-icon-120x120.png | Bin .../images/favicons/apple-icon-144x144-white.png | Bin .../static/images/favicons/apple-icon-144x144.png | Bin .../images/favicons/apple-icon-152x152-white.png | Bin .../static/images/favicons/apple-icon-152x152.png | Bin .../images/favicons/apple-icon-180x180-white.png | Bin .../static/images/favicons/apple-icon-180x180.png | Bin .../images/favicons/apple-icon-57x57-white.png | Bin .../static/images/favicons/apple-icon-57x57.png | Bin .../images/favicons/apple-icon-60x60-white.png | Bin .../static/images/favicons/apple-icon-60x60.png | Bin .../images/favicons/apple-icon-72x72-white.png | Bin .../static/images/favicons/apple-icon-72x72.png | Bin .../images/favicons/apple-icon-76x76-white.png | Bin .../static/images/favicons/apple-icon-76x76.png | Bin .../favicons/apple-icon-precomposed-white.png | Bin .../images/favicons/apple-icon-precomposed.png | Bin .../static/images/favicons/apple-icon-white.png | Bin .../static/images/favicons/apple-icon.png | Bin .../static/images/favicons/browserconfig.xml | 0 .../static/images/favicons/favicon-16x16-white.png | Bin .../static/images/favicons/favicon-16x16.png | Bin .../static/images/favicons/favicon-32x32-white.png | Bin .../static/images/favicons/favicon-32x32.png | Bin .../static/images/favicons/favicon-96x96-white.png | Bin .../static/images/favicons/favicon-96x96.png | Bin .../static/images/favicons/favicon.ico | Bin .../static/images/favicons/icon-512x512-white.png | Bin .../static/images/favicons/icon-512x512.png | Bin .../static/images/favicons/manifest.json | 0 .../static/images/favicons/ms-icon-144x144.png | Bin .../static/images/favicons/ms-icon-150x150.png | Bin .../static/images/favicons/ms-icon-310x310.png | Bin .../static/images/favicons/ms-icon-70x70.png | Bin .../static/images/female-character.gif | Bin front/{dist => public}/static/images/floppy.png | Bin front/{dist => public}/static/images/interact.png | Bin front/{dist => public}/static/images/linkedin.png | Bin .../{dist => public}/static/images/logo-WA-min.png | Bin front/{dist => public}/static/images/logo.png | Bin .../static/images/male-character.gif | Bin .../{dist => public}/static/images/maps/coders.png | Bin .../static/images/maps/creative.png | Bin .../{dist => public}/static/images/maps/dungeon.png | Bin .../{dist => public}/static/images/maps/fantasy.png | Bin .../{dist => public}/static/images/maps/office.png | Bin front/{dist => public}/static/images/maps/pub.png | Bin .../{dist => public}/static/images/maps/school.png | Bin .../{dist => public}/static/images/maps/street.png | Bin front/{dist => public}/static/images/maps/tcm.png | Bin front/{dist => public}/static/images/menu.svg | 0 .../static/images/meta-tags-image.jpg | Bin front/{dist => public}/static/images/play.png | Bin front/{dist => public}/static/images/send.png | Bin front/{dist => public}/static/images/sinclair-2.png | Bin front/{dist => public}/static/images/step 1.png | Bin front/{dist => public}/static/images/step 2.png | Bin front/{dist => public}/static/images/step 3.png | Bin .../static/images/super-nintendo.png | Bin front/{dist => public}/static/images/twitter.png | Bin 729 files changed, 6 deletions(-) delete mode 100644 front/dist/.gitignore rename front/{dist => public}/.htaccess (100%) rename front/{dist => public}/env-config.template.js (100%) rename front/{dist => public}/ga.html.tmpl (100%) rename front/{dist => public}/iframe.html (100%) rename front/{dist => public}/index.ejs (100%) rename front/{dist => public}/resources/characters/pipoya/Cat 01-1.png (100%) rename front/{dist => public}/resources/characters/pipoya/Cat 01-2.png (100%) rename front/{dist => public}/resources/characters/pipoya/Cat 01-3.png (100%) rename front/{dist => public}/resources/characters/pipoya/Dog 01-1.png (100%) rename front/{dist => public}/resources/characters/pipoya/Dog 01-2.png (100%) rename front/{dist => public}/resources/characters/pipoya/Dog 01-3.png (100%) rename front/{dist => public}/resources/characters/pipoya/Female 01-1.png (100%) rename front/{dist => public}/resources/characters/pipoya/Female 01-2.png (100%) rename front/{dist => public}/resources/characters/pipoya/Female 01-3.png (100%) rename front/{dist => public}/resources/characters/pipoya/Female 01-4.png (100%) rename front/{dist => public}/resources/characters/pipoya/Female 02-1.png (100%) rename front/{dist => public}/resources/characters/pipoya/Female 02-2.png (100%) rename front/{dist => public}/resources/characters/pipoya/Female 02-3.png (100%) rename front/{dist => public}/resources/characters/pipoya/Female 02-4.png (100%) rename front/{dist => public}/resources/characters/pipoya/Female 03-1.png (100%) rename front/{dist => public}/resources/characters/pipoya/Female 03-2.png (100%) rename front/{dist => public}/resources/characters/pipoya/Female 03-3.png (100%) rename front/{dist => public}/resources/characters/pipoya/Female 03-4.png (100%) rename front/{dist => public}/resources/characters/pipoya/Female 04-1.png (100%) rename front/{dist => public}/resources/characters/pipoya/Female 04-2.png (100%) rename front/{dist => public}/resources/characters/pipoya/Female 04-3.png (100%) rename front/{dist => public}/resources/characters/pipoya/Female 04-4.png (100%) rename front/{dist => public}/resources/characters/pipoya/Female 05-1.png (100%) rename front/{dist => public}/resources/characters/pipoya/Female 05-2.png (100%) rename front/{dist => public}/resources/characters/pipoya/Female 05-3.png (100%) rename front/{dist => public}/resources/characters/pipoya/Female 05-4.png (100%) rename front/{dist => public}/resources/characters/pipoya/Female 06-1.png (100%) rename front/{dist => public}/resources/characters/pipoya/Female 06-2.png (100%) rename front/{dist => public}/resources/characters/pipoya/Female 06-3.png (100%) rename front/{dist => public}/resources/characters/pipoya/Female 06-4.png (100%) rename front/{dist => public}/resources/characters/pipoya/Female 07-1.png (100%) rename front/{dist => public}/resources/characters/pipoya/Female 07-2.png (100%) rename front/{dist => public}/resources/characters/pipoya/Female 07-3.png (100%) rename front/{dist => public}/resources/characters/pipoya/Female 07-4.png (100%) rename front/{dist => public}/resources/characters/pipoya/Female 08-1.png (100%) rename front/{dist => public}/resources/characters/pipoya/Female 08-2.png (100%) rename front/{dist => public}/resources/characters/pipoya/Female 08-3.png (100%) rename front/{dist => public}/resources/characters/pipoya/Female 08-4.png (100%) rename front/{dist => public}/resources/characters/pipoya/Female 09-1.png (100%) rename front/{dist => public}/resources/characters/pipoya/Female 09-2.png (100%) rename front/{dist => public}/resources/characters/pipoya/Female 09-3.png (100%) rename front/{dist => public}/resources/characters/pipoya/Female 09-4.png (100%) rename front/{dist => public}/resources/characters/pipoya/Female 10-1.png (100%) rename front/{dist => public}/resources/characters/pipoya/Female 10-2.png (100%) rename front/{dist => public}/resources/characters/pipoya/Female 10-3.png (100%) rename front/{dist => public}/resources/characters/pipoya/Female 10-4.png (100%) rename front/{dist => public}/resources/characters/pipoya/Female 11-1.png (100%) rename front/{dist => public}/resources/characters/pipoya/Female 11-2.png (100%) rename front/{dist => public}/resources/characters/pipoya/Female 11-3.png (100%) rename front/{dist => public}/resources/characters/pipoya/Female 11-4.png (100%) rename front/{dist => public}/resources/characters/pipoya/Female 12-1.png (100%) rename front/{dist => public}/resources/characters/pipoya/Female 12-2.png (100%) rename front/{dist => public}/resources/characters/pipoya/Female 12-3.png (100%) rename front/{dist => public}/resources/characters/pipoya/Female 12-4.png (100%) rename front/{dist => public}/resources/characters/pipoya/Female 13-1.png (100%) rename front/{dist => public}/resources/characters/pipoya/Female 13-2.png (100%) rename front/{dist => public}/resources/characters/pipoya/Female 13-3.png (100%) rename front/{dist => public}/resources/characters/pipoya/Female 13-4.png (100%) rename front/{dist => public}/resources/characters/pipoya/Female 14-1.png (100%) rename front/{dist => public}/resources/characters/pipoya/Female 14-2.png (100%) rename front/{dist => public}/resources/characters/pipoya/Female 14-3.png (100%) rename front/{dist => public}/resources/characters/pipoya/Female 14-4.png (100%) rename front/{dist => public}/resources/characters/pipoya/Female 15-1.png (100%) rename front/{dist => public}/resources/characters/pipoya/Female 15-2.png (100%) rename front/{dist => public}/resources/characters/pipoya/Female 15-3.png (100%) rename front/{dist => public}/resources/characters/pipoya/Female 15-4.png (100%) rename front/{dist => public}/resources/characters/pipoya/Female 16-1.png (100%) rename front/{dist => public}/resources/characters/pipoya/Female 16-2.png (100%) rename front/{dist => public}/resources/characters/pipoya/Female 16-3.png (100%) rename front/{dist => public}/resources/characters/pipoya/Female 16-4.png (100%) rename front/{dist => public}/resources/characters/pipoya/Female 17-1.png (100%) rename front/{dist => public}/resources/characters/pipoya/Female 17-2.png (100%) rename front/{dist => public}/resources/characters/pipoya/Female 17-3.png (100%) rename front/{dist => public}/resources/characters/pipoya/Female 17-4.png (100%) rename front/{dist => public}/resources/characters/pipoya/Female 18-1.png (100%) rename front/{dist => public}/resources/characters/pipoya/Female 18-2.png (100%) rename front/{dist => public}/resources/characters/pipoya/Female 18-3.png (100%) rename front/{dist => public}/resources/characters/pipoya/Female 18-4.png (100%) rename front/{dist => public}/resources/characters/pipoya/Female 19-1.png (100%) rename front/{dist => public}/resources/characters/pipoya/Female 19-2.png (100%) rename front/{dist => public}/resources/characters/pipoya/Female 19-3.png (100%) rename front/{dist => public}/resources/characters/pipoya/Female 19-4.png (100%) rename front/{dist => public}/resources/characters/pipoya/Female 20-1.png (100%) rename front/{dist => public}/resources/characters/pipoya/Female 20-2.png (100%) rename front/{dist => public}/resources/characters/pipoya/Female 20-3.png (100%) rename front/{dist => public}/resources/characters/pipoya/Female 20-4.png (100%) rename front/{dist => public}/resources/characters/pipoya/Female 21-1.png (100%) rename front/{dist => public}/resources/characters/pipoya/Female 21-2.png (100%) rename front/{dist => public}/resources/characters/pipoya/Female 21-3.png (100%) rename front/{dist => public}/resources/characters/pipoya/Female 21-4.png (100%) rename front/{dist => public}/resources/characters/pipoya/Female 22-1.png (100%) rename front/{dist => public}/resources/characters/pipoya/Female 22-2.png (100%) rename front/{dist => public}/resources/characters/pipoya/Female 22-3.png (100%) rename front/{dist => public}/resources/characters/pipoya/Female 22-4.png (100%) rename front/{dist => public}/resources/characters/pipoya/Female 23-1.png (100%) rename front/{dist => public}/resources/characters/pipoya/Female 24-1.png (100%) rename front/{dist => public}/resources/characters/pipoya/Female 25-1.png (100%) rename front/{dist => public}/resources/characters/pipoya/Headmaster fmale.png (100%) rename front/{dist => public}/resources/characters/pipoya/Headmaster male.png (100%) rename front/{dist => public}/resources/characters/pipoya/Male 01-1.png (100%) rename front/{dist => public}/resources/characters/pipoya/Male 01-2.png (100%) rename front/{dist => public}/resources/characters/pipoya/Male 01-3.png (100%) rename front/{dist => public}/resources/characters/pipoya/Male 01-4.png (100%) rename front/{dist => public}/resources/characters/pipoya/Male 02-1.png (100%) rename front/{dist => public}/resources/characters/pipoya/Male 02-2.png (100%) rename front/{dist => public}/resources/characters/pipoya/Male 02-3.png (100%) rename front/{dist => public}/resources/characters/pipoya/Male 02-4.png (100%) rename front/{dist => public}/resources/characters/pipoya/Male 03-1.png (100%) rename front/{dist => public}/resources/characters/pipoya/Male 03-2.png (100%) rename front/{dist => public}/resources/characters/pipoya/Male 03-3.png (100%) rename front/{dist => public}/resources/characters/pipoya/Male 03-4.png (100%) rename front/{dist => public}/resources/characters/pipoya/Male 04-1.png (100%) rename front/{dist => public}/resources/characters/pipoya/Male 04-2.png (100%) rename front/{dist => public}/resources/characters/pipoya/Male 04-3.png (100%) rename front/{dist => public}/resources/characters/pipoya/Male 04-4.png (100%) rename front/{dist => public}/resources/characters/pipoya/Male 05-1.png (100%) rename front/{dist => public}/resources/characters/pipoya/Male 05-2.png (100%) rename front/{dist => public}/resources/characters/pipoya/Male 05-3.png (100%) rename front/{dist => public}/resources/characters/pipoya/Male 05-4.png (100%) rename front/{dist => public}/resources/characters/pipoya/Male 06-1.png (100%) rename front/{dist => public}/resources/characters/pipoya/Male 06-2.png (100%) rename front/{dist => public}/resources/characters/pipoya/Male 06-3.png (100%) rename front/{dist => public}/resources/characters/pipoya/Male 06-4.png (100%) rename front/{dist => public}/resources/characters/pipoya/Male 07-1.png (100%) rename front/{dist => public}/resources/characters/pipoya/Male 07-2.png (100%) rename front/{dist => public}/resources/characters/pipoya/Male 07-3.png (100%) rename front/{dist => public}/resources/characters/pipoya/Male 07-4.png (100%) rename front/{dist => public}/resources/characters/pipoya/Male 08-1.png (100%) rename front/{dist => public}/resources/characters/pipoya/Male 08-2.png (100%) rename front/{dist => public}/resources/characters/pipoya/Male 08-3.png (100%) rename front/{dist => public}/resources/characters/pipoya/Male 08-4.png (100%) rename front/{dist => public}/resources/characters/pipoya/Male 09-1.png (100%) rename front/{dist => public}/resources/characters/pipoya/Male 09-2.png (100%) rename front/{dist => public}/resources/characters/pipoya/Male 09-3.png (100%) rename front/{dist => public}/resources/characters/pipoya/Male 09-4.png (100%) rename front/{dist => public}/resources/characters/pipoya/Male 10-1.png (100%) rename front/{dist => public}/resources/characters/pipoya/Male 10-2.png (100%) rename front/{dist => public}/resources/characters/pipoya/Male 10-3.png (100%) rename front/{dist => public}/resources/characters/pipoya/Male 10-4.png (100%) rename front/{dist => public}/resources/characters/pipoya/Male 11-1.png (100%) rename front/{dist => public}/resources/characters/pipoya/Male 11-2.png (100%) rename front/{dist => public}/resources/characters/pipoya/Male 11-3.png (100%) rename front/{dist => public}/resources/characters/pipoya/Male 11-4.png (100%) rename front/{dist => public}/resources/characters/pipoya/Male 12-1.png (100%) rename front/{dist => public}/resources/characters/pipoya/Male 12-2.png (100%) rename front/{dist => public}/resources/characters/pipoya/Male 12-3.png (100%) rename front/{dist => public}/resources/characters/pipoya/Male 12-4.png (100%) rename front/{dist => public}/resources/characters/pipoya/Male 13-1.png (100%) rename front/{dist => public}/resources/characters/pipoya/Male 13-2.png (100%) rename front/{dist => public}/resources/characters/pipoya/Male 13-3.png (100%) rename front/{dist => public}/resources/characters/pipoya/Male 13-4.png (100%) rename front/{dist => public}/resources/characters/pipoya/Male 14-1.png (100%) rename front/{dist => public}/resources/characters/pipoya/Male 14-2.png (100%) rename front/{dist => public}/resources/characters/pipoya/Male 14-3.png (100%) rename front/{dist => public}/resources/characters/pipoya/Male 14-4.png (100%) rename front/{dist => public}/resources/characters/pipoya/Male 15-1.png (100%) rename front/{dist => public}/resources/characters/pipoya/Male 15-2.png (100%) rename front/{dist => public}/resources/characters/pipoya/Male 15-3.png (100%) rename front/{dist => public}/resources/characters/pipoya/Male 15-4.png (100%) rename front/{dist => public}/resources/characters/pipoya/Male 16-1.png (100%) rename front/{dist => public}/resources/characters/pipoya/Male 16-2.png (100%) rename front/{dist => public}/resources/characters/pipoya/Male 16-3.png (100%) rename front/{dist => public}/resources/characters/pipoya/Male 16-4.png (100%) rename front/{dist => public}/resources/characters/pipoya/Male 17-1.png (100%) rename front/{dist => public}/resources/characters/pipoya/Male 17-2.png (100%) rename front/{dist => public}/resources/characters/pipoya/Male 17-3.png (100%) rename front/{dist => public}/resources/characters/pipoya/Male 17-4.png (100%) rename front/{dist => public}/resources/characters/pipoya/Male 18-1.png (100%) rename front/{dist => public}/resources/characters/pipoya/Teacher fmale 01.png (100%) rename front/{dist => public}/resources/characters/pipoya/Teacher fmale 02.png (100%) rename front/{dist => public}/resources/characters/pipoya/Teacher fmale 03.png (100%) rename front/{dist => public}/resources/characters/pipoya/Teacher fmale 04.png (100%) rename front/{dist => public}/resources/characters/pipoya/Teacher male 01.png (100%) rename front/{dist => public}/resources/characters/pipoya/Teacher male 02.png (100%) rename front/{dist => public}/resources/characters/pipoya/Teacher male 03.png (100%) rename front/{dist => public}/resources/characters/pipoya/Teacher male 04.png (100%) rename front/{dist => public}/resources/characters/pipoya/about.txt (100%) rename front/{dist => public}/resources/characters/pipoya/su1 Student fmale 01.png (100%) rename front/{dist => public}/resources/characters/pipoya/su1 Student fmale 02.png (100%) rename front/{dist => public}/resources/characters/pipoya/su1 Student fmale 03.png (100%) rename front/{dist => public}/resources/characters/pipoya/su1 Student fmale 04.png (100%) rename front/{dist => public}/resources/characters/pipoya/su1 Student fmale 05.png (100%) rename front/{dist => public}/resources/characters/pipoya/su1 Student fmale 06.png (100%) rename front/{dist => public}/resources/characters/pipoya/su1 Student fmale 07.png (100%) rename front/{dist => public}/resources/characters/pipoya/su1 Student fmale 08.png (100%) rename front/{dist => public}/resources/characters/pipoya/su1 Student fmale 09.png (100%) rename front/{dist => public}/resources/characters/pipoya/su1 Student fmale 10.png (100%) rename front/{dist => public}/resources/characters/pipoya/su1 Student fmale 11.png (100%) rename front/{dist => public}/resources/characters/pipoya/su1 Student fmale 12.png (100%) rename front/{dist => public}/resources/characters/pipoya/su1 Student fmale 13.png (100%) rename front/{dist => public}/resources/characters/pipoya/su1 Student fmale 14.png (100%) rename front/{dist => public}/resources/characters/pipoya/su1 Student fmale 15.png (100%) rename front/{dist => public}/resources/characters/pipoya/su1 Student fmale 16.png (100%) rename front/{dist => public}/resources/characters/pipoya/su1 Student fmale 17.png (100%) rename front/{dist => public}/resources/characters/pipoya/su1 Student fmale 18.png (100%) rename front/{dist => public}/resources/characters/pipoya/su1 Student male 01.png (100%) rename front/{dist => public}/resources/characters/pipoya/su1 Student male 02.png (100%) rename front/{dist => public}/resources/characters/pipoya/su1 Student male 03.png (100%) rename front/{dist => public}/resources/characters/pipoya/su1 Student male 04.png (100%) rename front/{dist => public}/resources/characters/pipoya/su1 Student male 05.png (100%) rename front/{dist => public}/resources/characters/pipoya/su1 Student male 06.png (100%) rename front/{dist => public}/resources/characters/pipoya/su1 Student male 07.png (100%) rename front/{dist => public}/resources/characters/pipoya/su1 Student male 08.png (100%) rename front/{dist => public}/resources/characters/pipoya/su1 Student male 09.png (100%) rename front/{dist => public}/resources/characters/pipoya/su1 Student male 10.png (100%) rename front/{dist => public}/resources/characters/pipoya/su1 Student male 11.png (100%) rename front/{dist => public}/resources/characters/pipoya/su1 Student male 12.png (100%) rename front/{dist => public}/resources/characters/pipoya/su1 Student male 13.png (100%) rename front/{dist => public}/resources/characters/pipoya/su2 Student fmale 01.png (100%) rename front/{dist => public}/resources/characters/pipoya/su2 Student fmale 02.png (100%) rename front/{dist => public}/resources/characters/pipoya/su2 Student fmale 03.png (100%) rename front/{dist => public}/resources/characters/pipoya/su2 Student fmale 04.png (100%) rename front/{dist => public}/resources/characters/pipoya/su2 Student fmale 05.png (100%) rename front/{dist => public}/resources/characters/pipoya/su2 Student fmale 06.png (100%) rename front/{dist => public}/resources/characters/pipoya/su2 Student fmale 07.png (100%) rename front/{dist => public}/resources/characters/pipoya/su2 Student fmale 08.png (100%) rename front/{dist => public}/resources/characters/pipoya/su2 Student fmale 09.png (100%) rename front/{dist => public}/resources/characters/pipoya/su2 Student fmale 10.png (100%) rename front/{dist => public}/resources/characters/pipoya/su2 Student fmale 11.png (100%) rename front/{dist => public}/resources/characters/pipoya/su2 Student fmale 12.png (100%) rename front/{dist => public}/resources/characters/pipoya/su2 Student fmale 13.png (100%) rename front/{dist => public}/resources/characters/pipoya/su2 Student fmale 14.png (100%) rename front/{dist => public}/resources/characters/pipoya/su2 Student fmale 15.png (100%) rename front/{dist => public}/resources/characters/pipoya/su2 Student fmale 16.png (100%) rename front/{dist => public}/resources/characters/pipoya/su2 Student fmale 17.png (100%) rename front/{dist => public}/resources/characters/pipoya/su2 Student fmale 18.png (100%) rename front/{dist => public}/resources/characters/pipoya/su2 Student male 01.png (100%) rename front/{dist => public}/resources/characters/pipoya/su2 Student male 02.png (100%) rename front/{dist => public}/resources/characters/pipoya/su2 Student male 03.png (100%) rename front/{dist => public}/resources/characters/pipoya/su2 Student male 04.png (100%) rename front/{dist => public}/resources/characters/pipoya/su2 Student male 05.png (100%) rename front/{dist => public}/resources/characters/pipoya/su2 Student male 06.png (100%) rename front/{dist => public}/resources/characters/pipoya/su2 Student male 07.png (100%) rename front/{dist => public}/resources/characters/pipoya/su2 Student male 08.png (100%) rename front/{dist => public}/resources/characters/pipoya/su2 Student male 09.png (100%) rename front/{dist => public}/resources/characters/pipoya/su2 Student male 10.png (100%) rename front/{dist => public}/resources/characters/pipoya/su2 Student male 11.png (100%) rename front/{dist => public}/resources/characters/pipoya/su2 Student male 12.png (100%) rename front/{dist => public}/resources/characters/pipoya/su2 Student male 13.png (100%) rename front/{dist => public}/resources/characters/pipoya/su3 Student fmale 01.png (100%) rename front/{dist => public}/resources/characters/pipoya/su3 Student fmale 02.png (100%) rename front/{dist => public}/resources/characters/pipoya/su3 Student fmale 03.png (100%) rename front/{dist => public}/resources/characters/pipoya/su3 Student fmale 04.png (100%) rename front/{dist => public}/resources/characters/pipoya/su3 Student fmale 05.png (100%) rename front/{dist => public}/resources/characters/pipoya/su3 Student fmale 06.png (100%) rename front/{dist => public}/resources/characters/pipoya/su3 Student fmale 07.png (100%) rename front/{dist => public}/resources/characters/pipoya/su3 Student fmale 08.png (100%) rename front/{dist => public}/resources/characters/pipoya/su3 Student fmale 09.png (100%) rename front/{dist => public}/resources/characters/pipoya/su3 Student fmale 10.png (100%) rename front/{dist => public}/resources/characters/pipoya/su3 Student fmale 11.png (100%) rename front/{dist => public}/resources/characters/pipoya/su3 Student fmale 12.png (100%) rename front/{dist => public}/resources/characters/pipoya/su3 Student fmale 13.png (100%) rename front/{dist => public}/resources/characters/pipoya/su3 Student fmale 14.png (100%) rename front/{dist => public}/resources/characters/pipoya/su3 Student fmale 15.png (100%) rename front/{dist => public}/resources/characters/pipoya/su3 Student fmale 16.png (100%) rename front/{dist => public}/resources/characters/pipoya/su3 Student fmale 17.png (100%) rename front/{dist => public}/resources/characters/pipoya/su3 Student fmale 18.png (100%) rename front/{dist => public}/resources/characters/pipoya/su3 Student male 01.png (100%) rename front/{dist => public}/resources/characters/pipoya/su3 Student male 02.png (100%) rename front/{dist => public}/resources/characters/pipoya/su3 Student male 03.png (100%) rename front/{dist => public}/resources/characters/pipoya/su3 Student male 04.png (100%) rename front/{dist => public}/resources/characters/pipoya/su3 Student male 05.png (100%) rename front/{dist => public}/resources/characters/pipoya/su3 Student male 06.png (100%) rename front/{dist => public}/resources/characters/pipoya/su3 Student male 07.png (100%) rename front/{dist => public}/resources/characters/pipoya/su3 Student male 08.png (100%) rename front/{dist => public}/resources/characters/pipoya/su3 Student male 09.png (100%) rename front/{dist => public}/resources/characters/pipoya/su3 Student male 10.png (100%) rename front/{dist => public}/resources/characters/pipoya/su3 Student male 11.png (100%) rename front/{dist => public}/resources/characters/pipoya/su3 Student male 12.png (100%) rename front/{dist => public}/resources/characters/pipoya/su3 Student male 13.png (100%) rename front/{dist => public}/resources/characters/pipoya/su4 Student fmale 01.png (100%) rename front/{dist => public}/resources/characters/pipoya/su4 Student fmale 02.png (100%) rename front/{dist => public}/resources/characters/pipoya/su4 Student fmale 03.png (100%) rename front/{dist => public}/resources/characters/pipoya/su4 Student fmale 04.png (100%) rename front/{dist => public}/resources/characters/pipoya/su4 Student fmale 05.png (100%) rename front/{dist => public}/resources/characters/pipoya/su4 Student fmale 06.png (100%) rename front/{dist => public}/resources/characters/pipoya/su4 Student fmale 07.png (100%) rename front/{dist => public}/resources/characters/pipoya/su4 Student fmale 08.png (100%) rename front/{dist => public}/resources/characters/pipoya/su4 Student fmale 09.png (100%) rename front/{dist => public}/resources/characters/pipoya/su4 Student fmale 10.png (100%) rename front/{dist => public}/resources/characters/pipoya/su4 Student fmale 11.png (100%) rename front/{dist => public}/resources/characters/pipoya/su4 Student fmale 12.png (100%) rename front/{dist => public}/resources/characters/pipoya/su4 Student fmale 13.png (100%) rename front/{dist => public}/resources/characters/pipoya/su4 Student fmale 14.png (100%) rename front/{dist => public}/resources/characters/pipoya/su4 Student fmale 15.png (100%) rename front/{dist => public}/resources/characters/pipoya/su4 Student fmale 16.png (100%) rename front/{dist => public}/resources/characters/pipoya/su4 Student fmale 17.png (100%) rename front/{dist => public}/resources/characters/pipoya/su4 Student fmale 18.png (100%) rename front/{dist => public}/resources/characters/pipoya/su4 Student male 01.png (100%) rename front/{dist => public}/resources/characters/pipoya/su4 Student male 02.png (100%) rename front/{dist => public}/resources/characters/pipoya/su4 Student male 03.png (100%) rename front/{dist => public}/resources/characters/pipoya/su4 Student male 04.png (100%) rename front/{dist => public}/resources/characters/pipoya/su4 Student male 05.png (100%) rename front/{dist => public}/resources/characters/pipoya/su4 Student male 06.png (100%) rename front/{dist => public}/resources/characters/pipoya/su4 Student male 07.png (100%) rename front/{dist => public}/resources/characters/pipoya/su4 Student male 08.png (100%) rename front/{dist => public}/resources/characters/pipoya/su4 Student male 09.png (100%) rename front/{dist => public}/resources/characters/pipoya/su4 Student male 10.png (100%) rename front/{dist => public}/resources/characters/pipoya/su4 Student male 11.png (100%) rename front/{dist => public}/resources/characters/pipoya/su4 Student male 12.png (100%) rename front/{dist => public}/resources/characters/pipoya/su4 Student male 13.png (100%) rename front/{dist => public}/resources/customisation/character_accessories/character_accessories1.png (100%) rename front/{dist => public}/resources/customisation/character_accessories/character_accessories10.png (100%) rename front/{dist => public}/resources/customisation/character_accessories/character_accessories11.png (100%) rename front/{dist => public}/resources/customisation/character_accessories/character_accessories12.png (100%) rename front/{dist => public}/resources/customisation/character_accessories/character_accessories13.png (100%) rename front/{dist => public}/resources/customisation/character_accessories/character_accessories14.png (100%) rename front/{dist => public}/resources/customisation/character_accessories/character_accessories15.png (100%) rename front/{dist => public}/resources/customisation/character_accessories/character_accessories16.png (100%) rename front/{dist => public}/resources/customisation/character_accessories/character_accessories17.png (100%) rename front/{dist => public}/resources/customisation/character_accessories/character_accessories18.png (100%) rename front/{dist => public}/resources/customisation/character_accessories/character_accessories19.png (100%) rename front/{dist => public}/resources/customisation/character_accessories/character_accessories2.png (100%) rename front/{dist => public}/resources/customisation/character_accessories/character_accessories20.png (100%) rename front/{dist => public}/resources/customisation/character_accessories/character_accessories21.png (100%) rename front/{dist => public}/resources/customisation/character_accessories/character_accessories22.png (100%) rename front/{dist => public}/resources/customisation/character_accessories/character_accessories23.png (100%) rename front/{dist => public}/resources/customisation/character_accessories/character_accessories24.png (100%) rename front/{dist => public}/resources/customisation/character_accessories/character_accessories25.png (100%) rename front/{dist => public}/resources/customisation/character_accessories/character_accessories26.png (100%) rename front/{dist => public}/resources/customisation/character_accessories/character_accessories27.png (100%) rename front/{dist => public}/resources/customisation/character_accessories/character_accessories28.png (100%) rename front/{dist => public}/resources/customisation/character_accessories/character_accessories29.png (100%) rename front/{dist => public}/resources/customisation/character_accessories/character_accessories3.png (100%) rename front/{dist => public}/resources/customisation/character_accessories/character_accessories30.png (100%) rename front/{dist => public}/resources/customisation/character_accessories/character_accessories31.png (100%) rename front/{dist => public}/resources/customisation/character_accessories/character_accessories32.png (100%) rename front/{dist => public}/resources/customisation/character_accessories/character_accessories4.png (100%) rename front/{dist => public}/resources/customisation/character_accessories/character_accessories5.png (100%) rename front/{dist => public}/resources/customisation/character_accessories/character_accessories6.png (100%) rename front/{dist => public}/resources/customisation/character_accessories/character_accessories7.png (100%) rename front/{dist => public}/resources/customisation/character_accessories/character_accessories8.png (100%) rename front/{dist => public}/resources/customisation/character_accessories/character_accessories9.png (100%) rename front/{dist => public}/resources/customisation/character_accessories/mask.png (100%) rename front/{dist => public}/resources/customisation/character_accessories/mate_bottle1.png (100%) rename front/{dist => public}/resources/customisation/character_clothes/black_hoodie.png (100%) rename front/{dist => public}/resources/customisation/character_clothes/character_clothes0.png (100%) rename front/{dist => public}/resources/customisation/character_clothes/character_clothes1.png (100%) rename front/{dist => public}/resources/customisation/character_clothes/character_clothes10.png (100%) rename front/{dist => public}/resources/customisation/character_clothes/character_clothes11.png (100%) rename front/{dist => public}/resources/customisation/character_clothes/character_clothes12.png (100%) rename front/{dist => public}/resources/customisation/character_clothes/character_clothes13.png (100%) rename front/{dist => public}/resources/customisation/character_clothes/character_clothes14.png (100%) rename front/{dist => public}/resources/customisation/character_clothes/character_clothes15.png (100%) rename front/{dist => public}/resources/customisation/character_clothes/character_clothes16.png (100%) rename front/{dist => public}/resources/customisation/character_clothes/character_clothes17.png (100%) rename front/{dist => public}/resources/customisation/character_clothes/character_clothes18.png (100%) rename front/{dist => public}/resources/customisation/character_clothes/character_clothes19.png (100%) rename front/{dist => public}/resources/customisation/character_clothes/character_clothes2.png (100%) rename front/{dist => public}/resources/customisation/character_clothes/character_clothes20.png (100%) rename front/{dist => public}/resources/customisation/character_clothes/character_clothes21.png (100%) rename front/{dist => public}/resources/customisation/character_clothes/character_clothes22.png (100%) rename front/{dist => public}/resources/customisation/character_clothes/character_clothes23.png (100%) rename front/{dist => public}/resources/customisation/character_clothes/character_clothes24.png (100%) rename front/{dist => public}/resources/customisation/character_clothes/character_clothes25.png (100%) rename front/{dist => public}/resources/customisation/character_clothes/character_clothes26.png (100%) rename front/{dist => public}/resources/customisation/character_clothes/character_clothes27.png (100%) rename front/{dist => public}/resources/customisation/character_clothes/character_clothes28.png (100%) rename front/{dist => public}/resources/customisation/character_clothes/character_clothes29.png (100%) rename front/{dist => public}/resources/customisation/character_clothes/character_clothes3.png (100%) rename front/{dist => public}/resources/customisation/character_clothes/character_clothes30.png (100%) rename front/{dist => public}/resources/customisation/character_clothes/character_clothes31.png (100%) rename front/{dist => public}/resources/customisation/character_clothes/character_clothes32.png (100%) rename front/{dist => public}/resources/customisation/character_clothes/character_clothes33.png (100%) rename front/{dist => public}/resources/customisation/character_clothes/character_clothes34.png (100%) rename front/{dist => public}/resources/customisation/character_clothes/character_clothes35.png (100%) rename front/{dist => public}/resources/customisation/character_clothes/character_clothes36.png (100%) rename front/{dist => public}/resources/customisation/character_clothes/character_clothes37.png (100%) rename front/{dist => public}/resources/customisation/character_clothes/character_clothes38.png (100%) rename front/{dist => public}/resources/customisation/character_clothes/character_clothes39.png (100%) rename front/{dist => public}/resources/customisation/character_clothes/character_clothes4.png (100%) rename front/{dist => public}/resources/customisation/character_clothes/character_clothes40.png (100%) rename front/{dist => public}/resources/customisation/character_clothes/character_clothes41.png (100%) rename front/{dist => public}/resources/customisation/character_clothes/character_clothes42.png (100%) rename front/{dist => public}/resources/customisation/character_clothes/character_clothes43.png (100%) rename front/{dist => public}/resources/customisation/character_clothes/character_clothes44.png (100%) rename front/{dist => public}/resources/customisation/character_clothes/character_clothes45.png (100%) rename front/{dist => public}/resources/customisation/character_clothes/character_clothes46.png (100%) rename front/{dist => public}/resources/customisation/character_clothes/character_clothes47.png (100%) rename front/{dist => public}/resources/customisation/character_clothes/character_clothes48.png (100%) rename front/{dist => public}/resources/customisation/character_clothes/character_clothes49.png (100%) rename front/{dist => public}/resources/customisation/character_clothes/character_clothes5.png (100%) rename front/{dist => public}/resources/customisation/character_clothes/character_clothes50.png (100%) rename front/{dist => public}/resources/customisation/character_clothes/character_clothes51.png (100%) rename front/{dist => public}/resources/customisation/character_clothes/character_clothes52.png (100%) rename front/{dist => public}/resources/customisation/character_clothes/character_clothes53.png (100%) rename front/{dist => public}/resources/customisation/character_clothes/character_clothes54.png (100%) rename front/{dist => public}/resources/customisation/character_clothes/character_clothes55.png (100%) rename front/{dist => public}/resources/customisation/character_clothes/character_clothes56.png (100%) rename front/{dist => public}/resources/customisation/character_clothes/character_clothes57.png (100%) rename front/{dist => public}/resources/customisation/character_clothes/character_clothes58.png (100%) rename front/{dist => public}/resources/customisation/character_clothes/character_clothes59.png (100%) rename front/{dist => public}/resources/customisation/character_clothes/character_clothes6.png (100%) rename front/{dist => public}/resources/customisation/character_clothes/character_clothes60.png (100%) rename front/{dist => public}/resources/customisation/character_clothes/character_clothes61.png (100%) rename front/{dist => public}/resources/customisation/character_clothes/character_clothes62.png (100%) rename front/{dist => public}/resources/customisation/character_clothes/character_clothes63.png (100%) rename front/{dist => public}/resources/customisation/character_clothes/character_clothes64.png (100%) rename front/{dist => public}/resources/customisation/character_clothes/character_clothes65.png (100%) rename front/{dist => public}/resources/customisation/character_clothes/character_clothes66.png (100%) rename front/{dist => public}/resources/customisation/character_clothes/character_clothes67.png (100%) rename front/{dist => public}/resources/customisation/character_clothes/character_clothes68.png (100%) rename front/{dist => public}/resources/customisation/character_clothes/character_clothes69.png (100%) rename front/{dist => public}/resources/customisation/character_clothes/character_clothes7.png (100%) rename front/{dist => public}/resources/customisation/character_clothes/character_clothes8.png (100%) rename front/{dist => public}/resources/customisation/character_clothes/character_clothes9.png (100%) rename front/{dist => public}/resources/customisation/character_clothes/engelbert.png (100%) rename front/{dist => public}/resources/customisation/character_clothes/pride_shirt.png (100%) rename front/{dist => public}/resources/customisation/character_clothes/white_hoodie.png (100%) rename front/{dist => public}/resources/customisation/character_color/_‚È‚µ.png (100%) rename front/{dist => public}/resources/customisation/character_color/character_color0.png (100%) rename front/{dist => public}/resources/customisation/character_color/character_color1.png (100%) rename front/{dist => public}/resources/customisation/character_color/character_color10.png (100%) rename front/{dist => public}/resources/customisation/character_color/character_color11.png (100%) rename front/{dist => public}/resources/customisation/character_color/character_color12.png (100%) rename front/{dist => public}/resources/customisation/character_color/character_color13.png (100%) rename front/{dist => public}/resources/customisation/character_color/character_color14.png (100%) rename front/{dist => public}/resources/customisation/character_color/character_color15.png (100%) rename front/{dist => public}/resources/customisation/character_color/character_color16.png (100%) rename front/{dist => public}/resources/customisation/character_color/character_color17.png (100%) rename front/{dist => public}/resources/customisation/character_color/character_color18.png (100%) rename front/{dist => public}/resources/customisation/character_color/character_color19.png (100%) rename front/{dist => public}/resources/customisation/character_color/character_color2.png (100%) rename front/{dist => public}/resources/customisation/character_color/character_color20.png (100%) rename front/{dist => public}/resources/customisation/character_color/character_color21.png (100%) rename front/{dist => public}/resources/customisation/character_color/character_color22.png (100%) rename front/{dist => public}/resources/customisation/character_color/character_color23.png (100%) rename front/{dist => public}/resources/customisation/character_color/character_color24.png (100%) rename front/{dist => public}/resources/customisation/character_color/character_color25.png (100%) rename front/{dist => public}/resources/customisation/character_color/character_color26.png (100%) rename front/{dist => public}/resources/customisation/character_color/character_color27.png (100%) rename front/{dist => public}/resources/customisation/character_color/character_color28.png (100%) rename front/{dist => public}/resources/customisation/character_color/character_color29.png (100%) rename front/{dist => public}/resources/customisation/character_color/character_color3.png (100%) rename front/{dist => public}/resources/customisation/character_color/character_color30.png (100%) rename front/{dist => public}/resources/customisation/character_color/character_color31.png (100%) rename front/{dist => public}/resources/customisation/character_color/character_color32.png (100%) rename front/{dist => public}/resources/customisation/character_color/character_color4.png (100%) rename front/{dist => public}/resources/customisation/character_color/character_color5.png (100%) rename front/{dist => public}/resources/customisation/character_color/character_color6.png (100%) rename front/{dist => public}/resources/customisation/character_color/character_color7.png (100%) rename front/{dist => public}/resources/customisation/character_color/character_color8.png (100%) rename front/{dist => public}/resources/customisation/character_color/character_color9.png (100%) rename front/{dist => public}/resources/customisation/character_eyes/character_eyes1.png (100%) rename front/{dist => public}/resources/customisation/character_eyes/character_eyes10.png (100%) rename front/{dist => public}/resources/customisation/character_eyes/character_eyes11.png (100%) rename front/{dist => public}/resources/customisation/character_eyes/character_eyes12.png (100%) rename front/{dist => public}/resources/customisation/character_eyes/character_eyes13.png (100%) rename front/{dist => public}/resources/customisation/character_eyes/character_eyes14.png (100%) rename front/{dist => public}/resources/customisation/character_eyes/character_eyes15.png (100%) rename front/{dist => public}/resources/customisation/character_eyes/character_eyes16.png (100%) rename front/{dist => public}/resources/customisation/character_eyes/character_eyes17.png (100%) rename front/{dist => public}/resources/customisation/character_eyes/character_eyes18.png (100%) rename front/{dist => public}/resources/customisation/character_eyes/character_eyes19.png (100%) rename front/{dist => public}/resources/customisation/character_eyes/character_eyes2.png (100%) rename front/{dist => public}/resources/customisation/character_eyes/character_eyes20.png (100%) rename front/{dist => public}/resources/customisation/character_eyes/character_eyes21.png (100%) rename front/{dist => public}/resources/customisation/character_eyes/character_eyes22.png (100%) rename front/{dist => public}/resources/customisation/character_eyes/character_eyes23.png (100%) rename front/{dist => public}/resources/customisation/character_eyes/character_eyes24.png (100%) rename front/{dist => public}/resources/customisation/character_eyes/character_eyes25.png (100%) rename front/{dist => public}/resources/customisation/character_eyes/character_eyes26.png (100%) rename front/{dist => public}/resources/customisation/character_eyes/character_eyes27.png (100%) rename front/{dist => public}/resources/customisation/character_eyes/character_eyes28.png (100%) rename front/{dist => public}/resources/customisation/character_eyes/character_eyes29.png (100%) rename front/{dist => public}/resources/customisation/character_eyes/character_eyes3.png (100%) rename front/{dist => public}/resources/customisation/character_eyes/character_eyes30.png (100%) rename front/{dist => public}/resources/customisation/character_eyes/character_eyes31.png (100%) rename front/{dist => public}/resources/customisation/character_eyes/character_eyes32.png (100%) rename front/{dist => public}/resources/customisation/character_eyes/character_eyes33.png (100%) rename front/{dist => public}/resources/customisation/character_eyes/character_eyes34.png (100%) rename front/{dist => public}/resources/customisation/character_eyes/character_eyes4.png (100%) rename front/{dist => public}/resources/customisation/character_eyes/character_eyes5.png (100%) rename front/{dist => public}/resources/customisation/character_eyes/character_eyes6.png (100%) rename front/{dist => public}/resources/customisation/character_eyes/character_eyes7.png (100%) rename front/{dist => public}/resources/customisation/character_eyes/character_eyes8.png (100%) rename front/{dist => public}/resources/customisation/character_eyes/character_eyes9.png (100%) rename front/{dist => public}/resources/customisation/character_hairs/character_hairs0.png (100%) rename front/{dist => public}/resources/customisation/character_hairs/character_hairs1.png (100%) rename front/{dist => public}/resources/customisation/character_hairs/character_hairs10.png (100%) rename front/{dist => public}/resources/customisation/character_hairs/character_hairs11.png (100%) rename front/{dist => public}/resources/customisation/character_hairs/character_hairs12.png (100%) rename front/{dist => public}/resources/customisation/character_hairs/character_hairs13.png (100%) rename front/{dist => public}/resources/customisation/character_hairs/character_hairs14.png (100%) rename front/{dist => public}/resources/customisation/character_hairs/character_hairs15.png (100%) rename front/{dist => public}/resources/customisation/character_hairs/character_hairs16.png (100%) rename front/{dist => public}/resources/customisation/character_hairs/character_hairs17.png (100%) rename front/{dist => public}/resources/customisation/character_hairs/character_hairs18.png (100%) rename front/{dist => public}/resources/customisation/character_hairs/character_hairs19.png (100%) rename front/{dist => public}/resources/customisation/character_hairs/character_hairs2.png (100%) rename front/{dist => public}/resources/customisation/character_hairs/character_hairs20.png (100%) rename front/{dist => public}/resources/customisation/character_hairs/character_hairs21.png (100%) rename front/{dist => public}/resources/customisation/character_hairs/character_hairs22.png (100%) rename front/{dist => public}/resources/customisation/character_hairs/character_hairs23.png (100%) rename front/{dist => public}/resources/customisation/character_hairs/character_hairs24.png (100%) rename front/{dist => public}/resources/customisation/character_hairs/character_hairs25.png (100%) rename front/{dist => public}/resources/customisation/character_hairs/character_hairs26.png (100%) rename front/{dist => public}/resources/customisation/character_hairs/character_hairs27.png (100%) rename front/{dist => public}/resources/customisation/character_hairs/character_hairs28.png (100%) rename front/{dist => public}/resources/customisation/character_hairs/character_hairs29.png (100%) rename front/{dist => public}/resources/customisation/character_hairs/character_hairs3.png (100%) rename front/{dist => public}/resources/customisation/character_hairs/character_hairs30.png (100%) rename front/{dist => public}/resources/customisation/character_hairs/character_hairs31.png (100%) rename front/{dist => public}/resources/customisation/character_hairs/character_hairs32.png (100%) rename front/{dist => public}/resources/customisation/character_hairs/character_hairs33.png (100%) rename front/{dist => public}/resources/customisation/character_hairs/character_hairs34.png (100%) rename front/{dist => public}/resources/customisation/character_hairs/character_hairs35.png (100%) rename front/{dist => public}/resources/customisation/character_hairs/character_hairs36.png (100%) rename front/{dist => public}/resources/customisation/character_hairs/character_hairs37.png (100%) rename front/{dist => public}/resources/customisation/character_hairs/character_hairs38.png (100%) rename front/{dist => public}/resources/customisation/character_hairs/character_hairs39.png (100%) rename front/{dist => public}/resources/customisation/character_hairs/character_hairs4.png (100%) rename front/{dist => public}/resources/customisation/character_hairs/character_hairs40.png (100%) rename front/{dist => public}/resources/customisation/character_hairs/character_hairs41.png (100%) rename front/{dist => public}/resources/customisation/character_hairs/character_hairs42.png (100%) rename front/{dist => public}/resources/customisation/character_hairs/character_hairs43.png (100%) rename front/{dist => public}/resources/customisation/character_hairs/character_hairs44.png (100%) rename front/{dist => public}/resources/customisation/character_hairs/character_hairs45.png (100%) rename front/{dist => public}/resources/customisation/character_hairs/character_hairs46.png (100%) rename front/{dist => public}/resources/customisation/character_hairs/character_hairs47.png (100%) rename front/{dist => public}/resources/customisation/character_hairs/character_hairs48.png (100%) rename front/{dist => public}/resources/customisation/character_hairs/character_hairs49.png (100%) rename front/{dist => public}/resources/customisation/character_hairs/character_hairs5.png (100%) rename front/{dist => public}/resources/customisation/character_hairs/character_hairs50.png (100%) rename front/{dist => public}/resources/customisation/character_hairs/character_hairs51.png (100%) rename front/{dist => public}/resources/customisation/character_hairs/character_hairs52.png (100%) rename front/{dist => public}/resources/customisation/character_hairs/character_hairs53.png (100%) rename front/{dist => public}/resources/customisation/character_hairs/character_hairs54.png (100%) rename front/{dist => public}/resources/customisation/character_hairs/character_hairs55.png (100%) rename front/{dist => public}/resources/customisation/character_hairs/character_hairs56.png (100%) rename front/{dist => public}/resources/customisation/character_hairs/character_hairs57.png (100%) rename front/{dist => public}/resources/customisation/character_hairs/character_hairs58.png (100%) rename front/{dist => public}/resources/customisation/character_hairs/character_hairs59.png (100%) rename front/{dist => public}/resources/customisation/character_hairs/character_hairs6.png (100%) rename front/{dist => public}/resources/customisation/character_hairs/character_hairs60.png (100%) rename front/{dist => public}/resources/customisation/character_hairs/character_hairs61.png (100%) rename front/{dist => public}/resources/customisation/character_hairs/character_hairs62.png (100%) rename front/{dist => public}/resources/customisation/character_hairs/character_hairs63.png (100%) rename front/{dist => public}/resources/customisation/character_hairs/character_hairs64.png (100%) rename front/{dist => public}/resources/customisation/character_hairs/character_hairs65.png (100%) rename front/{dist => public}/resources/customisation/character_hairs/character_hairs66.png (100%) rename front/{dist => public}/resources/customisation/character_hairs/character_hairs67.png (100%) rename front/{dist => public}/resources/customisation/character_hairs/character_hairs68.png (100%) rename front/{dist => public}/resources/customisation/character_hairs/character_hairs69.png (100%) rename front/{dist => public}/resources/customisation/character_hairs/character_hairs7.png (100%) rename front/{dist => public}/resources/customisation/character_hairs/character_hairs70.png (100%) rename front/{dist => public}/resources/customisation/character_hairs/character_hairs71.png (100%) rename front/{dist => public}/resources/customisation/character_hairs/character_hairs72.png (100%) rename front/{dist => public}/resources/customisation/character_hairs/character_hairs73.png (100%) rename front/{dist => public}/resources/customisation/character_hairs/character_hairs8.png (100%) rename front/{dist => public}/resources/customisation/character_hairs/character_hairs9.png (100%) rename front/{dist => public}/resources/customisation/character_hats/character_hats1.png (100%) rename front/{dist => public}/resources/customisation/character_hats/character_hats10.png (100%) rename front/{dist => public}/resources/customisation/character_hats/character_hats11.png (100%) rename front/{dist => public}/resources/customisation/character_hats/character_hats12.png (100%) rename front/{dist => public}/resources/customisation/character_hats/character_hats13.png (100%) rename front/{dist => public}/resources/customisation/character_hats/character_hats14.png (100%) rename front/{dist => public}/resources/customisation/character_hats/character_hats15.png (100%) rename front/{dist => public}/resources/customisation/character_hats/character_hats16.png (100%) rename front/{dist => public}/resources/customisation/character_hats/character_hats17.png (100%) rename front/{dist => public}/resources/customisation/character_hats/character_hats18.png (100%) rename front/{dist => public}/resources/customisation/character_hats/character_hats19.png (100%) rename front/{dist => public}/resources/customisation/character_hats/character_hats2.png (100%) rename front/{dist => public}/resources/customisation/character_hats/character_hats20.png (100%) rename front/{dist => public}/resources/customisation/character_hats/character_hats21.png (100%) rename front/{dist => public}/resources/customisation/character_hats/character_hats22.png (100%) rename front/{dist => public}/resources/customisation/character_hats/character_hats23.png (100%) rename front/{dist => public}/resources/customisation/character_hats/character_hats24.png (100%) rename front/{dist => public}/resources/customisation/character_hats/character_hats25.png (100%) rename front/{dist => public}/resources/customisation/character_hats/character_hats26.png (100%) rename front/{dist => public}/resources/customisation/character_hats/character_hats3.png (100%) rename front/{dist => public}/resources/customisation/character_hats/character_hats4.png (100%) rename front/{dist => public}/resources/customisation/character_hats/character_hats5.png (100%) rename front/{dist => public}/resources/customisation/character_hats/character_hats6.png (100%) rename front/{dist => public}/resources/customisation/character_hats/character_hats7.png (100%) rename front/{dist => public}/resources/customisation/character_hats/character_hats8.png (100%) rename front/{dist => public}/resources/customisation/character_hats/character_hats9.png (100%) rename front/{dist => public}/resources/customisation/character_hats/tinfoil_hat1.png (100%) rename front/{dist => public}/resources/emotes/clap-emote.png (100%) rename front/{dist => public}/resources/emotes/hand-emote.png (100%) rename front/{dist => public}/resources/emotes/heart-emote.png (100%) rename front/{dist => public}/resources/emotes/thanks-emote.png (100%) rename front/{dist => public}/resources/emotes/thumb-down-emote.png (100%) rename front/{dist => public}/resources/emotes/thumb-up-emote.png (100%) rename front/{dist => public}/resources/fonts/arcade.png (100%) rename front/{dist => public}/resources/fonts/arcade.xml (100%) rename front/{dist => public}/resources/fonts/fonts.css (100%) rename front/{dist => public}/resources/fonts/ka1.ttf (100%) rename front/{dist => public}/resources/html/gameMenu.html (100%) rename front/{dist => public}/resources/items/computer/computer.png (100%) rename front/{dist => public}/resources/items/computer/computer_atlas.json (100%) rename front/{dist => public}/resources/items/computer/original/computer.png (100%) rename front/{dist => public}/resources/items/computer/original/computer_atlas.json (100%) rename front/{dist => public}/resources/items/computer/unpack/computer_off.png (100%) rename front/{dist => public}/resources/items/computer/unpack/computer_on1.png (100%) rename front/{dist => public}/resources/items/computer/unpack/computer_on2.png (100%) rename front/{dist => public}/resources/logos/blockSign.svg (100%) rename front/{dist => public}/resources/logos/blockingIcon.png (100%) rename front/{dist => public}/resources/logos/boy.svg (100%) rename front/{dist => public}/resources/logos/cancel.png (100%) rename front/{dist => public}/resources/logos/cinema-close.svg (100%) rename front/{dist => public}/resources/logos/close.svg (100%) rename front/{dist => public}/resources/logos/cowebsite-swipe.svg (100%) rename front/{dist => public}/resources/logos/discussion.svg (100%) rename front/{dist => public}/resources/logos/fullscreen-exit.svg (100%) rename front/{dist => public}/resources/logos/fullscreen.svg (100%) rename front/{dist => public}/resources/logos/megaphone.svg (100%) rename front/{dist => public}/resources/logos/microphone-close.svg (100%) rename front/{dist => public}/resources/logos/monitor-yellow.svg (100%) rename front/{dist => public}/resources/logos/music-file.svg (100%) rename front/{dist => public}/resources/logos/phone-open.svg (100%) rename front/{dist => public}/resources/logos/phone.svg (100%) rename front/{dist => public}/resources/logos/report.back.svg (100%) rename front/{dist => public}/resources/logos/report.svg (100%) rename front/{dist => public}/resources/logos/send-bkack.svg (100%) rename front/{dist => public}/resources/logos/send-white.svg (100%) rename front/{dist => public}/resources/logos/send-yellow.svg (100%) rename front/{dist => public}/resources/logos/setting-black.svg (100%) rename front/{dist => public}/resources/logos/setting-white.svg (100%) rename front/{dist => public}/resources/logos/setting-yellow.svg (100%) rename front/{dist => public}/resources/objects/arrow_down.png (100%) rename front/{dist => public}/resources/objects/arrow_right.png (100%) rename front/{dist => public}/resources/objects/arrow_up.png (100%) rename front/{dist => public}/resources/objects/arrow_up_black.png (100%) rename front/{dist => public}/resources/objects/customize.png (100%) rename front/{dist => public}/resources/objects/customize_selected.png (100%) rename front/{dist => public}/resources/objects/facebook-icon.png (100%) rename front/{dist => public}/resources/objects/joystickSplitted.png (100%) rename front/{dist => public}/resources/objects/report-message.mp3 (100%) rename front/{dist => public}/resources/objects/smallHandleFilledGrey.png (100%) rename front/{dist => public}/resources/objects/talk.png (100%) rename front/{dist => public}/resources/objects/teleportation.png (100%) rename front/{dist => public}/resources/objects/twitter-icon.png (100%) rename front/{dist => public}/resources/objects/webrtc-in.mp3 (100%) rename front/{dist => public}/resources/objects/webrtc-out.mp3 (100%) rename front/{dist => public}/resources/translations/.gitignore (100%) rename front/{dist => public}/service-worker-dev.js (100%) rename front/{dist => public}/service-worker-prod.js (100%) rename front/{dist => public}/static/images/Bitmap2.png (100%) rename front/{dist => public}/static/images/Bitmap3.png (100%) rename front/{dist => public}/static/images/amstrad.png (100%) rename front/{dist => public}/static/images/atari.png (100%) rename front/{dist => public}/static/images/bitmap.png (100%) rename front/{dist => public}/static/images/check.png (100%) rename front/{dist => public}/static/images/choose_character.png (100%) rename front/{dist => public}/static/images/cloud.png (100%) rename front/{dist => public}/static/images/desktop.png (100%) rename front/{dist => public}/static/images/facebook.png (100%) rename front/{dist => public}/static/images/favicons/android-icon-144x144-white.png (100%) rename front/{dist => public}/static/images/favicons/android-icon-144x144.png (100%) rename front/{dist => public}/static/images/favicons/android-icon-192x192-white.png (100%) rename front/{dist => public}/static/images/favicons/android-icon-192x192.png (100%) rename front/{dist => public}/static/images/favicons/android-icon-36x36.-white.png (100%) rename front/{dist => public}/static/images/favicons/android-icon-36x36.png (100%) rename front/{dist => public}/static/images/favicons/android-icon-48x48-white.png (100%) rename front/{dist => public}/static/images/favicons/android-icon-48x48.png (100%) rename front/{dist => public}/static/images/favicons/android-icon-72x72-white.png (100%) rename front/{dist => public}/static/images/favicons/android-icon-72x72.png (100%) rename front/{dist => public}/static/images/favicons/android-icon-96x96-white.png (100%) rename front/{dist => public}/static/images/favicons/android-icon-96x96.png (100%) rename front/{dist => public}/static/images/favicons/apple-icon-114x114-white.png (100%) rename front/{dist => public}/static/images/favicons/apple-icon-114x114.png (100%) rename front/{dist => public}/static/images/favicons/apple-icon-120x120-white.png (100%) rename front/{dist => public}/static/images/favicons/apple-icon-120x120.png (100%) rename front/{dist => public}/static/images/favicons/apple-icon-144x144-white.png (100%) rename front/{dist => public}/static/images/favicons/apple-icon-144x144.png (100%) rename front/{dist => public}/static/images/favicons/apple-icon-152x152-white.png (100%) rename front/{dist => public}/static/images/favicons/apple-icon-152x152.png (100%) rename front/{dist => public}/static/images/favicons/apple-icon-180x180-white.png (100%) rename front/{dist => public}/static/images/favicons/apple-icon-180x180.png (100%) rename front/{dist => public}/static/images/favicons/apple-icon-57x57-white.png (100%) rename front/{dist => public}/static/images/favicons/apple-icon-57x57.png (100%) rename front/{dist => public}/static/images/favicons/apple-icon-60x60-white.png (100%) rename front/{dist => public}/static/images/favicons/apple-icon-60x60.png (100%) rename front/{dist => public}/static/images/favicons/apple-icon-72x72-white.png (100%) rename front/{dist => public}/static/images/favicons/apple-icon-72x72.png (100%) rename front/{dist => public}/static/images/favicons/apple-icon-76x76-white.png (100%) rename front/{dist => public}/static/images/favicons/apple-icon-76x76.png (100%) rename front/{dist => public}/static/images/favicons/apple-icon-precomposed-white.png (100%) rename front/{dist => public}/static/images/favicons/apple-icon-precomposed.png (100%) rename front/{dist => public}/static/images/favicons/apple-icon-white.png (100%) rename front/{dist => public}/static/images/favicons/apple-icon.png (100%) rename front/{dist => public}/static/images/favicons/browserconfig.xml (100%) rename front/{dist => public}/static/images/favicons/favicon-16x16-white.png (100%) rename front/{dist => public}/static/images/favicons/favicon-16x16.png (100%) rename front/{dist => public}/static/images/favicons/favicon-32x32-white.png (100%) rename front/{dist => public}/static/images/favicons/favicon-32x32.png (100%) rename front/{dist => public}/static/images/favicons/favicon-96x96-white.png (100%) rename front/{dist => public}/static/images/favicons/favicon-96x96.png (100%) rename front/{dist => public}/static/images/favicons/favicon.ico (100%) rename front/{dist => public}/static/images/favicons/icon-512x512-white.png (100%) rename front/{dist => public}/static/images/favicons/icon-512x512.png (100%) rename front/{dist => public}/static/images/favicons/manifest.json (100%) rename front/{dist => public}/static/images/favicons/ms-icon-144x144.png (100%) rename front/{dist => public}/static/images/favicons/ms-icon-150x150.png (100%) rename front/{dist => public}/static/images/favicons/ms-icon-310x310.png (100%) rename front/{dist => public}/static/images/favicons/ms-icon-70x70.png (100%) rename front/{dist => public}/static/images/female-character.gif (100%) rename front/{dist => public}/static/images/floppy.png (100%) rename front/{dist => public}/static/images/interact.png (100%) rename front/{dist => public}/static/images/linkedin.png (100%) rename front/{dist => public}/static/images/logo-WA-min.png (100%) rename front/{dist => public}/static/images/logo.png (100%) rename front/{dist => public}/static/images/male-character.gif (100%) rename front/{dist => public}/static/images/maps/coders.png (100%) rename front/{dist => public}/static/images/maps/creative.png (100%) rename front/{dist => public}/static/images/maps/dungeon.png (100%) rename front/{dist => public}/static/images/maps/fantasy.png (100%) rename front/{dist => public}/static/images/maps/office.png (100%) rename front/{dist => public}/static/images/maps/pub.png (100%) rename front/{dist => public}/static/images/maps/school.png (100%) rename front/{dist => public}/static/images/maps/street.png (100%) rename front/{dist => public}/static/images/maps/tcm.png (100%) rename front/{dist => public}/static/images/menu.svg (100%) rename front/{dist => public}/static/images/meta-tags-image.jpg (100%) rename front/{dist => public}/static/images/play.png (100%) rename front/{dist => public}/static/images/send.png (100%) rename front/{dist => public}/static/images/sinclair-2.png (100%) rename front/{dist => public}/static/images/step 1.png (100%) rename front/{dist => public}/static/images/step 2.png (100%) rename front/{dist => public}/static/images/step 3.png (100%) rename front/{dist => public}/static/images/super-nintendo.png (100%) rename front/{dist => public}/static/images/twitter.png (100%) diff --git a/front/dist/.gitignore b/front/dist/.gitignore deleted file mode 100644 index bc766e57..00000000 --- a/front/dist/.gitignore +++ /dev/null @@ -1,6 +0,0 @@ -index.html -/js/ -/fonts/ -style.*.css -!env-config.template.js -*.png diff --git a/front/dist/.htaccess b/front/public/.htaccess similarity index 100% rename from front/dist/.htaccess rename to front/public/.htaccess diff --git a/front/dist/env-config.template.js b/front/public/env-config.template.js similarity index 100% rename from front/dist/env-config.template.js rename to front/public/env-config.template.js diff --git a/front/dist/ga.html.tmpl b/front/public/ga.html.tmpl similarity index 100% rename from front/dist/ga.html.tmpl rename to front/public/ga.html.tmpl diff --git a/front/dist/iframe.html b/front/public/iframe.html similarity index 100% rename from front/dist/iframe.html rename to front/public/iframe.html diff --git a/front/dist/index.ejs b/front/public/index.ejs similarity index 100% rename from front/dist/index.ejs rename to front/public/index.ejs diff --git a/front/dist/resources/characters/pipoya/Cat 01-1.png b/front/public/resources/characters/pipoya/Cat 01-1.png similarity index 100% rename from front/dist/resources/characters/pipoya/Cat 01-1.png rename to front/public/resources/characters/pipoya/Cat 01-1.png diff --git a/front/dist/resources/characters/pipoya/Cat 01-2.png b/front/public/resources/characters/pipoya/Cat 01-2.png similarity index 100% rename from front/dist/resources/characters/pipoya/Cat 01-2.png rename to front/public/resources/characters/pipoya/Cat 01-2.png diff --git a/front/dist/resources/characters/pipoya/Cat 01-3.png b/front/public/resources/characters/pipoya/Cat 01-3.png similarity index 100% rename from front/dist/resources/characters/pipoya/Cat 01-3.png rename to front/public/resources/characters/pipoya/Cat 01-3.png diff --git a/front/dist/resources/characters/pipoya/Dog 01-1.png b/front/public/resources/characters/pipoya/Dog 01-1.png similarity index 100% rename from front/dist/resources/characters/pipoya/Dog 01-1.png rename to front/public/resources/characters/pipoya/Dog 01-1.png diff --git a/front/dist/resources/characters/pipoya/Dog 01-2.png b/front/public/resources/characters/pipoya/Dog 01-2.png similarity index 100% rename from front/dist/resources/characters/pipoya/Dog 01-2.png rename to front/public/resources/characters/pipoya/Dog 01-2.png diff --git a/front/dist/resources/characters/pipoya/Dog 01-3.png b/front/public/resources/characters/pipoya/Dog 01-3.png similarity index 100% rename from front/dist/resources/characters/pipoya/Dog 01-3.png rename to front/public/resources/characters/pipoya/Dog 01-3.png diff --git a/front/dist/resources/characters/pipoya/Female 01-1.png b/front/public/resources/characters/pipoya/Female 01-1.png similarity index 100% rename from front/dist/resources/characters/pipoya/Female 01-1.png rename to front/public/resources/characters/pipoya/Female 01-1.png diff --git a/front/dist/resources/characters/pipoya/Female 01-2.png b/front/public/resources/characters/pipoya/Female 01-2.png similarity index 100% rename from front/dist/resources/characters/pipoya/Female 01-2.png rename to front/public/resources/characters/pipoya/Female 01-2.png diff --git a/front/dist/resources/characters/pipoya/Female 01-3.png b/front/public/resources/characters/pipoya/Female 01-3.png similarity index 100% rename from front/dist/resources/characters/pipoya/Female 01-3.png rename to front/public/resources/characters/pipoya/Female 01-3.png diff --git a/front/dist/resources/characters/pipoya/Female 01-4.png b/front/public/resources/characters/pipoya/Female 01-4.png similarity index 100% rename from front/dist/resources/characters/pipoya/Female 01-4.png rename to front/public/resources/characters/pipoya/Female 01-4.png diff --git a/front/dist/resources/characters/pipoya/Female 02-1.png b/front/public/resources/characters/pipoya/Female 02-1.png similarity index 100% rename from front/dist/resources/characters/pipoya/Female 02-1.png rename to front/public/resources/characters/pipoya/Female 02-1.png diff --git a/front/dist/resources/characters/pipoya/Female 02-2.png b/front/public/resources/characters/pipoya/Female 02-2.png similarity index 100% rename from front/dist/resources/characters/pipoya/Female 02-2.png rename to front/public/resources/characters/pipoya/Female 02-2.png diff --git a/front/dist/resources/characters/pipoya/Female 02-3.png b/front/public/resources/characters/pipoya/Female 02-3.png similarity index 100% rename from front/dist/resources/characters/pipoya/Female 02-3.png rename to front/public/resources/characters/pipoya/Female 02-3.png diff --git a/front/dist/resources/characters/pipoya/Female 02-4.png b/front/public/resources/characters/pipoya/Female 02-4.png similarity index 100% rename from front/dist/resources/characters/pipoya/Female 02-4.png rename to front/public/resources/characters/pipoya/Female 02-4.png diff --git a/front/dist/resources/characters/pipoya/Female 03-1.png b/front/public/resources/characters/pipoya/Female 03-1.png similarity index 100% rename from front/dist/resources/characters/pipoya/Female 03-1.png rename to front/public/resources/characters/pipoya/Female 03-1.png diff --git a/front/dist/resources/characters/pipoya/Female 03-2.png b/front/public/resources/characters/pipoya/Female 03-2.png similarity index 100% rename from front/dist/resources/characters/pipoya/Female 03-2.png rename to front/public/resources/characters/pipoya/Female 03-2.png diff --git a/front/dist/resources/characters/pipoya/Female 03-3.png b/front/public/resources/characters/pipoya/Female 03-3.png similarity index 100% rename from front/dist/resources/characters/pipoya/Female 03-3.png rename to front/public/resources/characters/pipoya/Female 03-3.png diff --git a/front/dist/resources/characters/pipoya/Female 03-4.png b/front/public/resources/characters/pipoya/Female 03-4.png similarity index 100% rename from front/dist/resources/characters/pipoya/Female 03-4.png rename to front/public/resources/characters/pipoya/Female 03-4.png diff --git a/front/dist/resources/characters/pipoya/Female 04-1.png b/front/public/resources/characters/pipoya/Female 04-1.png similarity index 100% rename from front/dist/resources/characters/pipoya/Female 04-1.png rename to front/public/resources/characters/pipoya/Female 04-1.png diff --git a/front/dist/resources/characters/pipoya/Female 04-2.png b/front/public/resources/characters/pipoya/Female 04-2.png similarity index 100% rename from front/dist/resources/characters/pipoya/Female 04-2.png rename to front/public/resources/characters/pipoya/Female 04-2.png diff --git a/front/dist/resources/characters/pipoya/Female 04-3.png b/front/public/resources/characters/pipoya/Female 04-3.png similarity index 100% rename from front/dist/resources/characters/pipoya/Female 04-3.png rename to front/public/resources/characters/pipoya/Female 04-3.png diff --git a/front/dist/resources/characters/pipoya/Female 04-4.png b/front/public/resources/characters/pipoya/Female 04-4.png similarity index 100% rename from front/dist/resources/characters/pipoya/Female 04-4.png rename to front/public/resources/characters/pipoya/Female 04-4.png diff --git a/front/dist/resources/characters/pipoya/Female 05-1.png b/front/public/resources/characters/pipoya/Female 05-1.png similarity index 100% rename from front/dist/resources/characters/pipoya/Female 05-1.png rename to front/public/resources/characters/pipoya/Female 05-1.png diff --git a/front/dist/resources/characters/pipoya/Female 05-2.png b/front/public/resources/characters/pipoya/Female 05-2.png similarity index 100% rename from front/dist/resources/characters/pipoya/Female 05-2.png rename to front/public/resources/characters/pipoya/Female 05-2.png diff --git a/front/dist/resources/characters/pipoya/Female 05-3.png b/front/public/resources/characters/pipoya/Female 05-3.png similarity index 100% rename from front/dist/resources/characters/pipoya/Female 05-3.png rename to front/public/resources/characters/pipoya/Female 05-3.png diff --git a/front/dist/resources/characters/pipoya/Female 05-4.png b/front/public/resources/characters/pipoya/Female 05-4.png similarity index 100% rename from front/dist/resources/characters/pipoya/Female 05-4.png rename to front/public/resources/characters/pipoya/Female 05-4.png diff --git a/front/dist/resources/characters/pipoya/Female 06-1.png b/front/public/resources/characters/pipoya/Female 06-1.png similarity index 100% rename from front/dist/resources/characters/pipoya/Female 06-1.png rename to front/public/resources/characters/pipoya/Female 06-1.png diff --git a/front/dist/resources/characters/pipoya/Female 06-2.png b/front/public/resources/characters/pipoya/Female 06-2.png similarity index 100% rename from front/dist/resources/characters/pipoya/Female 06-2.png rename to front/public/resources/characters/pipoya/Female 06-2.png diff --git a/front/dist/resources/characters/pipoya/Female 06-3.png b/front/public/resources/characters/pipoya/Female 06-3.png similarity index 100% rename from front/dist/resources/characters/pipoya/Female 06-3.png rename to front/public/resources/characters/pipoya/Female 06-3.png diff --git a/front/dist/resources/characters/pipoya/Female 06-4.png b/front/public/resources/characters/pipoya/Female 06-4.png similarity index 100% rename from front/dist/resources/characters/pipoya/Female 06-4.png rename to front/public/resources/characters/pipoya/Female 06-4.png diff --git a/front/dist/resources/characters/pipoya/Female 07-1.png b/front/public/resources/characters/pipoya/Female 07-1.png similarity index 100% rename from front/dist/resources/characters/pipoya/Female 07-1.png rename to front/public/resources/characters/pipoya/Female 07-1.png diff --git a/front/dist/resources/characters/pipoya/Female 07-2.png b/front/public/resources/characters/pipoya/Female 07-2.png similarity index 100% rename from front/dist/resources/characters/pipoya/Female 07-2.png rename to front/public/resources/characters/pipoya/Female 07-2.png diff --git a/front/dist/resources/characters/pipoya/Female 07-3.png b/front/public/resources/characters/pipoya/Female 07-3.png similarity index 100% rename from front/dist/resources/characters/pipoya/Female 07-3.png rename to front/public/resources/characters/pipoya/Female 07-3.png diff --git a/front/dist/resources/characters/pipoya/Female 07-4.png b/front/public/resources/characters/pipoya/Female 07-4.png similarity index 100% rename from front/dist/resources/characters/pipoya/Female 07-4.png rename to front/public/resources/characters/pipoya/Female 07-4.png diff --git a/front/dist/resources/characters/pipoya/Female 08-1.png b/front/public/resources/characters/pipoya/Female 08-1.png similarity index 100% rename from front/dist/resources/characters/pipoya/Female 08-1.png rename to front/public/resources/characters/pipoya/Female 08-1.png diff --git a/front/dist/resources/characters/pipoya/Female 08-2.png b/front/public/resources/characters/pipoya/Female 08-2.png similarity index 100% rename from front/dist/resources/characters/pipoya/Female 08-2.png rename to front/public/resources/characters/pipoya/Female 08-2.png diff --git a/front/dist/resources/characters/pipoya/Female 08-3.png b/front/public/resources/characters/pipoya/Female 08-3.png similarity index 100% rename from front/dist/resources/characters/pipoya/Female 08-3.png rename to front/public/resources/characters/pipoya/Female 08-3.png diff --git a/front/dist/resources/characters/pipoya/Female 08-4.png b/front/public/resources/characters/pipoya/Female 08-4.png similarity index 100% rename from front/dist/resources/characters/pipoya/Female 08-4.png rename to front/public/resources/characters/pipoya/Female 08-4.png diff --git a/front/dist/resources/characters/pipoya/Female 09-1.png b/front/public/resources/characters/pipoya/Female 09-1.png similarity index 100% rename from front/dist/resources/characters/pipoya/Female 09-1.png rename to front/public/resources/characters/pipoya/Female 09-1.png diff --git a/front/dist/resources/characters/pipoya/Female 09-2.png b/front/public/resources/characters/pipoya/Female 09-2.png similarity index 100% rename from front/dist/resources/characters/pipoya/Female 09-2.png rename to front/public/resources/characters/pipoya/Female 09-2.png diff --git a/front/dist/resources/characters/pipoya/Female 09-3.png b/front/public/resources/characters/pipoya/Female 09-3.png similarity index 100% rename from front/dist/resources/characters/pipoya/Female 09-3.png rename to front/public/resources/characters/pipoya/Female 09-3.png diff --git a/front/dist/resources/characters/pipoya/Female 09-4.png b/front/public/resources/characters/pipoya/Female 09-4.png similarity index 100% rename from front/dist/resources/characters/pipoya/Female 09-4.png rename to front/public/resources/characters/pipoya/Female 09-4.png diff --git a/front/dist/resources/characters/pipoya/Female 10-1.png b/front/public/resources/characters/pipoya/Female 10-1.png similarity index 100% rename from front/dist/resources/characters/pipoya/Female 10-1.png rename to front/public/resources/characters/pipoya/Female 10-1.png diff --git a/front/dist/resources/characters/pipoya/Female 10-2.png b/front/public/resources/characters/pipoya/Female 10-2.png similarity index 100% rename from front/dist/resources/characters/pipoya/Female 10-2.png rename to front/public/resources/characters/pipoya/Female 10-2.png diff --git a/front/dist/resources/characters/pipoya/Female 10-3.png b/front/public/resources/characters/pipoya/Female 10-3.png similarity index 100% rename from front/dist/resources/characters/pipoya/Female 10-3.png rename to front/public/resources/characters/pipoya/Female 10-3.png diff --git a/front/dist/resources/characters/pipoya/Female 10-4.png b/front/public/resources/characters/pipoya/Female 10-4.png similarity index 100% rename from front/dist/resources/characters/pipoya/Female 10-4.png rename to front/public/resources/characters/pipoya/Female 10-4.png diff --git a/front/dist/resources/characters/pipoya/Female 11-1.png b/front/public/resources/characters/pipoya/Female 11-1.png similarity index 100% rename from front/dist/resources/characters/pipoya/Female 11-1.png rename to front/public/resources/characters/pipoya/Female 11-1.png diff --git a/front/dist/resources/characters/pipoya/Female 11-2.png b/front/public/resources/characters/pipoya/Female 11-2.png similarity index 100% rename from front/dist/resources/characters/pipoya/Female 11-2.png rename to front/public/resources/characters/pipoya/Female 11-2.png diff --git a/front/dist/resources/characters/pipoya/Female 11-3.png b/front/public/resources/characters/pipoya/Female 11-3.png similarity index 100% rename from front/dist/resources/characters/pipoya/Female 11-3.png rename to front/public/resources/characters/pipoya/Female 11-3.png diff --git a/front/dist/resources/characters/pipoya/Female 11-4.png b/front/public/resources/characters/pipoya/Female 11-4.png similarity index 100% rename from front/dist/resources/characters/pipoya/Female 11-4.png rename to front/public/resources/characters/pipoya/Female 11-4.png diff --git a/front/dist/resources/characters/pipoya/Female 12-1.png b/front/public/resources/characters/pipoya/Female 12-1.png similarity index 100% rename from front/dist/resources/characters/pipoya/Female 12-1.png rename to front/public/resources/characters/pipoya/Female 12-1.png diff --git a/front/dist/resources/characters/pipoya/Female 12-2.png b/front/public/resources/characters/pipoya/Female 12-2.png similarity index 100% rename from front/dist/resources/characters/pipoya/Female 12-2.png rename to front/public/resources/characters/pipoya/Female 12-2.png diff --git a/front/dist/resources/characters/pipoya/Female 12-3.png b/front/public/resources/characters/pipoya/Female 12-3.png similarity index 100% rename from front/dist/resources/characters/pipoya/Female 12-3.png rename to front/public/resources/characters/pipoya/Female 12-3.png diff --git a/front/dist/resources/characters/pipoya/Female 12-4.png b/front/public/resources/characters/pipoya/Female 12-4.png similarity index 100% rename from front/dist/resources/characters/pipoya/Female 12-4.png rename to front/public/resources/characters/pipoya/Female 12-4.png diff --git a/front/dist/resources/characters/pipoya/Female 13-1.png b/front/public/resources/characters/pipoya/Female 13-1.png similarity index 100% rename from front/dist/resources/characters/pipoya/Female 13-1.png rename to front/public/resources/characters/pipoya/Female 13-1.png diff --git a/front/dist/resources/characters/pipoya/Female 13-2.png b/front/public/resources/characters/pipoya/Female 13-2.png similarity index 100% rename from front/dist/resources/characters/pipoya/Female 13-2.png rename to front/public/resources/characters/pipoya/Female 13-2.png diff --git a/front/dist/resources/characters/pipoya/Female 13-3.png b/front/public/resources/characters/pipoya/Female 13-3.png similarity index 100% rename from front/dist/resources/characters/pipoya/Female 13-3.png rename to front/public/resources/characters/pipoya/Female 13-3.png diff --git a/front/dist/resources/characters/pipoya/Female 13-4.png b/front/public/resources/characters/pipoya/Female 13-4.png similarity index 100% rename from front/dist/resources/characters/pipoya/Female 13-4.png rename to front/public/resources/characters/pipoya/Female 13-4.png diff --git a/front/dist/resources/characters/pipoya/Female 14-1.png b/front/public/resources/characters/pipoya/Female 14-1.png similarity index 100% rename from front/dist/resources/characters/pipoya/Female 14-1.png rename to front/public/resources/characters/pipoya/Female 14-1.png diff --git a/front/dist/resources/characters/pipoya/Female 14-2.png b/front/public/resources/characters/pipoya/Female 14-2.png similarity index 100% rename from front/dist/resources/characters/pipoya/Female 14-2.png rename to front/public/resources/characters/pipoya/Female 14-2.png diff --git a/front/dist/resources/characters/pipoya/Female 14-3.png b/front/public/resources/characters/pipoya/Female 14-3.png similarity index 100% rename from front/dist/resources/characters/pipoya/Female 14-3.png rename to front/public/resources/characters/pipoya/Female 14-3.png diff --git a/front/dist/resources/characters/pipoya/Female 14-4.png b/front/public/resources/characters/pipoya/Female 14-4.png similarity index 100% rename from front/dist/resources/characters/pipoya/Female 14-4.png rename to front/public/resources/characters/pipoya/Female 14-4.png diff --git a/front/dist/resources/characters/pipoya/Female 15-1.png b/front/public/resources/characters/pipoya/Female 15-1.png similarity index 100% rename from front/dist/resources/characters/pipoya/Female 15-1.png rename to front/public/resources/characters/pipoya/Female 15-1.png diff --git a/front/dist/resources/characters/pipoya/Female 15-2.png b/front/public/resources/characters/pipoya/Female 15-2.png similarity index 100% rename from front/dist/resources/characters/pipoya/Female 15-2.png rename to front/public/resources/characters/pipoya/Female 15-2.png diff --git a/front/dist/resources/characters/pipoya/Female 15-3.png b/front/public/resources/characters/pipoya/Female 15-3.png similarity index 100% rename from front/dist/resources/characters/pipoya/Female 15-3.png rename to front/public/resources/characters/pipoya/Female 15-3.png diff --git a/front/dist/resources/characters/pipoya/Female 15-4.png b/front/public/resources/characters/pipoya/Female 15-4.png similarity index 100% rename from front/dist/resources/characters/pipoya/Female 15-4.png rename to front/public/resources/characters/pipoya/Female 15-4.png diff --git a/front/dist/resources/characters/pipoya/Female 16-1.png b/front/public/resources/characters/pipoya/Female 16-1.png similarity index 100% rename from front/dist/resources/characters/pipoya/Female 16-1.png rename to front/public/resources/characters/pipoya/Female 16-1.png diff --git a/front/dist/resources/characters/pipoya/Female 16-2.png b/front/public/resources/characters/pipoya/Female 16-2.png similarity index 100% rename from front/dist/resources/characters/pipoya/Female 16-2.png rename to front/public/resources/characters/pipoya/Female 16-2.png diff --git a/front/dist/resources/characters/pipoya/Female 16-3.png b/front/public/resources/characters/pipoya/Female 16-3.png similarity index 100% rename from front/dist/resources/characters/pipoya/Female 16-3.png rename to front/public/resources/characters/pipoya/Female 16-3.png diff --git a/front/dist/resources/characters/pipoya/Female 16-4.png b/front/public/resources/characters/pipoya/Female 16-4.png similarity index 100% rename from front/dist/resources/characters/pipoya/Female 16-4.png rename to front/public/resources/characters/pipoya/Female 16-4.png diff --git a/front/dist/resources/characters/pipoya/Female 17-1.png b/front/public/resources/characters/pipoya/Female 17-1.png similarity index 100% rename from front/dist/resources/characters/pipoya/Female 17-1.png rename to front/public/resources/characters/pipoya/Female 17-1.png diff --git a/front/dist/resources/characters/pipoya/Female 17-2.png b/front/public/resources/characters/pipoya/Female 17-2.png similarity index 100% rename from front/dist/resources/characters/pipoya/Female 17-2.png rename to front/public/resources/characters/pipoya/Female 17-2.png diff --git a/front/dist/resources/characters/pipoya/Female 17-3.png b/front/public/resources/characters/pipoya/Female 17-3.png similarity index 100% rename from front/dist/resources/characters/pipoya/Female 17-3.png rename to front/public/resources/characters/pipoya/Female 17-3.png diff --git a/front/dist/resources/characters/pipoya/Female 17-4.png b/front/public/resources/characters/pipoya/Female 17-4.png similarity index 100% rename from front/dist/resources/characters/pipoya/Female 17-4.png rename to front/public/resources/characters/pipoya/Female 17-4.png diff --git a/front/dist/resources/characters/pipoya/Female 18-1.png b/front/public/resources/characters/pipoya/Female 18-1.png similarity index 100% rename from front/dist/resources/characters/pipoya/Female 18-1.png rename to front/public/resources/characters/pipoya/Female 18-1.png diff --git a/front/dist/resources/characters/pipoya/Female 18-2.png b/front/public/resources/characters/pipoya/Female 18-2.png similarity index 100% rename from front/dist/resources/characters/pipoya/Female 18-2.png rename to front/public/resources/characters/pipoya/Female 18-2.png diff --git a/front/dist/resources/characters/pipoya/Female 18-3.png b/front/public/resources/characters/pipoya/Female 18-3.png similarity index 100% rename from front/dist/resources/characters/pipoya/Female 18-3.png rename to front/public/resources/characters/pipoya/Female 18-3.png diff --git a/front/dist/resources/characters/pipoya/Female 18-4.png b/front/public/resources/characters/pipoya/Female 18-4.png similarity index 100% rename from front/dist/resources/characters/pipoya/Female 18-4.png rename to front/public/resources/characters/pipoya/Female 18-4.png diff --git a/front/dist/resources/characters/pipoya/Female 19-1.png b/front/public/resources/characters/pipoya/Female 19-1.png similarity index 100% rename from front/dist/resources/characters/pipoya/Female 19-1.png rename to front/public/resources/characters/pipoya/Female 19-1.png diff --git a/front/dist/resources/characters/pipoya/Female 19-2.png b/front/public/resources/characters/pipoya/Female 19-2.png similarity index 100% rename from front/dist/resources/characters/pipoya/Female 19-2.png rename to front/public/resources/characters/pipoya/Female 19-2.png diff --git a/front/dist/resources/characters/pipoya/Female 19-3.png b/front/public/resources/characters/pipoya/Female 19-3.png similarity index 100% rename from front/dist/resources/characters/pipoya/Female 19-3.png rename to front/public/resources/characters/pipoya/Female 19-3.png diff --git a/front/dist/resources/characters/pipoya/Female 19-4.png b/front/public/resources/characters/pipoya/Female 19-4.png similarity index 100% rename from front/dist/resources/characters/pipoya/Female 19-4.png rename to front/public/resources/characters/pipoya/Female 19-4.png diff --git a/front/dist/resources/characters/pipoya/Female 20-1.png b/front/public/resources/characters/pipoya/Female 20-1.png similarity index 100% rename from front/dist/resources/characters/pipoya/Female 20-1.png rename to front/public/resources/characters/pipoya/Female 20-1.png diff --git a/front/dist/resources/characters/pipoya/Female 20-2.png b/front/public/resources/characters/pipoya/Female 20-2.png similarity index 100% rename from front/dist/resources/characters/pipoya/Female 20-2.png rename to front/public/resources/characters/pipoya/Female 20-2.png diff --git a/front/dist/resources/characters/pipoya/Female 20-3.png b/front/public/resources/characters/pipoya/Female 20-3.png similarity index 100% rename from front/dist/resources/characters/pipoya/Female 20-3.png rename to front/public/resources/characters/pipoya/Female 20-3.png diff --git a/front/dist/resources/characters/pipoya/Female 20-4.png b/front/public/resources/characters/pipoya/Female 20-4.png similarity index 100% rename from front/dist/resources/characters/pipoya/Female 20-4.png rename to front/public/resources/characters/pipoya/Female 20-4.png diff --git a/front/dist/resources/characters/pipoya/Female 21-1.png b/front/public/resources/characters/pipoya/Female 21-1.png similarity index 100% rename from front/dist/resources/characters/pipoya/Female 21-1.png rename to front/public/resources/characters/pipoya/Female 21-1.png diff --git a/front/dist/resources/characters/pipoya/Female 21-2.png b/front/public/resources/characters/pipoya/Female 21-2.png similarity index 100% rename from front/dist/resources/characters/pipoya/Female 21-2.png rename to front/public/resources/characters/pipoya/Female 21-2.png diff --git a/front/dist/resources/characters/pipoya/Female 21-3.png b/front/public/resources/characters/pipoya/Female 21-3.png similarity index 100% rename from front/dist/resources/characters/pipoya/Female 21-3.png rename to front/public/resources/characters/pipoya/Female 21-3.png diff --git a/front/dist/resources/characters/pipoya/Female 21-4.png b/front/public/resources/characters/pipoya/Female 21-4.png similarity index 100% rename from front/dist/resources/characters/pipoya/Female 21-4.png rename to front/public/resources/characters/pipoya/Female 21-4.png diff --git a/front/dist/resources/characters/pipoya/Female 22-1.png b/front/public/resources/characters/pipoya/Female 22-1.png similarity index 100% rename from front/dist/resources/characters/pipoya/Female 22-1.png rename to front/public/resources/characters/pipoya/Female 22-1.png diff --git a/front/dist/resources/characters/pipoya/Female 22-2.png b/front/public/resources/characters/pipoya/Female 22-2.png similarity index 100% rename from front/dist/resources/characters/pipoya/Female 22-2.png rename to front/public/resources/characters/pipoya/Female 22-2.png diff --git a/front/dist/resources/characters/pipoya/Female 22-3.png b/front/public/resources/characters/pipoya/Female 22-3.png similarity index 100% rename from front/dist/resources/characters/pipoya/Female 22-3.png rename to front/public/resources/characters/pipoya/Female 22-3.png diff --git a/front/dist/resources/characters/pipoya/Female 22-4.png b/front/public/resources/characters/pipoya/Female 22-4.png similarity index 100% rename from front/dist/resources/characters/pipoya/Female 22-4.png rename to front/public/resources/characters/pipoya/Female 22-4.png diff --git a/front/dist/resources/characters/pipoya/Female 23-1.png b/front/public/resources/characters/pipoya/Female 23-1.png similarity index 100% rename from front/dist/resources/characters/pipoya/Female 23-1.png rename to front/public/resources/characters/pipoya/Female 23-1.png diff --git a/front/dist/resources/characters/pipoya/Female 24-1.png b/front/public/resources/characters/pipoya/Female 24-1.png similarity index 100% rename from front/dist/resources/characters/pipoya/Female 24-1.png rename to front/public/resources/characters/pipoya/Female 24-1.png diff --git a/front/dist/resources/characters/pipoya/Female 25-1.png b/front/public/resources/characters/pipoya/Female 25-1.png similarity index 100% rename from front/dist/resources/characters/pipoya/Female 25-1.png rename to front/public/resources/characters/pipoya/Female 25-1.png diff --git a/front/dist/resources/characters/pipoya/Headmaster fmale.png b/front/public/resources/characters/pipoya/Headmaster fmale.png similarity index 100% rename from front/dist/resources/characters/pipoya/Headmaster fmale.png rename to front/public/resources/characters/pipoya/Headmaster fmale.png diff --git a/front/dist/resources/characters/pipoya/Headmaster male.png b/front/public/resources/characters/pipoya/Headmaster male.png similarity index 100% rename from front/dist/resources/characters/pipoya/Headmaster male.png rename to front/public/resources/characters/pipoya/Headmaster male.png diff --git a/front/dist/resources/characters/pipoya/Male 01-1.png b/front/public/resources/characters/pipoya/Male 01-1.png similarity index 100% rename from front/dist/resources/characters/pipoya/Male 01-1.png rename to front/public/resources/characters/pipoya/Male 01-1.png diff --git a/front/dist/resources/characters/pipoya/Male 01-2.png b/front/public/resources/characters/pipoya/Male 01-2.png similarity index 100% rename from front/dist/resources/characters/pipoya/Male 01-2.png rename to front/public/resources/characters/pipoya/Male 01-2.png diff --git a/front/dist/resources/characters/pipoya/Male 01-3.png b/front/public/resources/characters/pipoya/Male 01-3.png similarity index 100% rename from front/dist/resources/characters/pipoya/Male 01-3.png rename to front/public/resources/characters/pipoya/Male 01-3.png diff --git a/front/dist/resources/characters/pipoya/Male 01-4.png b/front/public/resources/characters/pipoya/Male 01-4.png similarity index 100% rename from front/dist/resources/characters/pipoya/Male 01-4.png rename to front/public/resources/characters/pipoya/Male 01-4.png diff --git a/front/dist/resources/characters/pipoya/Male 02-1.png b/front/public/resources/characters/pipoya/Male 02-1.png similarity index 100% rename from front/dist/resources/characters/pipoya/Male 02-1.png rename to front/public/resources/characters/pipoya/Male 02-1.png diff --git a/front/dist/resources/characters/pipoya/Male 02-2.png b/front/public/resources/characters/pipoya/Male 02-2.png similarity index 100% rename from front/dist/resources/characters/pipoya/Male 02-2.png rename to front/public/resources/characters/pipoya/Male 02-2.png diff --git a/front/dist/resources/characters/pipoya/Male 02-3.png b/front/public/resources/characters/pipoya/Male 02-3.png similarity index 100% rename from front/dist/resources/characters/pipoya/Male 02-3.png rename to front/public/resources/characters/pipoya/Male 02-3.png diff --git a/front/dist/resources/characters/pipoya/Male 02-4.png b/front/public/resources/characters/pipoya/Male 02-4.png similarity index 100% rename from front/dist/resources/characters/pipoya/Male 02-4.png rename to front/public/resources/characters/pipoya/Male 02-4.png diff --git a/front/dist/resources/characters/pipoya/Male 03-1.png b/front/public/resources/characters/pipoya/Male 03-1.png similarity index 100% rename from front/dist/resources/characters/pipoya/Male 03-1.png rename to front/public/resources/characters/pipoya/Male 03-1.png diff --git a/front/dist/resources/characters/pipoya/Male 03-2.png b/front/public/resources/characters/pipoya/Male 03-2.png similarity index 100% rename from front/dist/resources/characters/pipoya/Male 03-2.png rename to front/public/resources/characters/pipoya/Male 03-2.png diff --git a/front/dist/resources/characters/pipoya/Male 03-3.png b/front/public/resources/characters/pipoya/Male 03-3.png similarity index 100% rename from front/dist/resources/characters/pipoya/Male 03-3.png rename to front/public/resources/characters/pipoya/Male 03-3.png diff --git a/front/dist/resources/characters/pipoya/Male 03-4.png b/front/public/resources/characters/pipoya/Male 03-4.png similarity index 100% rename from front/dist/resources/characters/pipoya/Male 03-4.png rename to front/public/resources/characters/pipoya/Male 03-4.png diff --git a/front/dist/resources/characters/pipoya/Male 04-1.png b/front/public/resources/characters/pipoya/Male 04-1.png similarity index 100% rename from front/dist/resources/characters/pipoya/Male 04-1.png rename to front/public/resources/characters/pipoya/Male 04-1.png diff --git a/front/dist/resources/characters/pipoya/Male 04-2.png b/front/public/resources/characters/pipoya/Male 04-2.png similarity index 100% rename from front/dist/resources/characters/pipoya/Male 04-2.png rename to front/public/resources/characters/pipoya/Male 04-2.png diff --git a/front/dist/resources/characters/pipoya/Male 04-3.png b/front/public/resources/characters/pipoya/Male 04-3.png similarity index 100% rename from front/dist/resources/characters/pipoya/Male 04-3.png rename to front/public/resources/characters/pipoya/Male 04-3.png diff --git a/front/dist/resources/characters/pipoya/Male 04-4.png b/front/public/resources/characters/pipoya/Male 04-4.png similarity index 100% rename from front/dist/resources/characters/pipoya/Male 04-4.png rename to front/public/resources/characters/pipoya/Male 04-4.png diff --git a/front/dist/resources/characters/pipoya/Male 05-1.png b/front/public/resources/characters/pipoya/Male 05-1.png similarity index 100% rename from front/dist/resources/characters/pipoya/Male 05-1.png rename to front/public/resources/characters/pipoya/Male 05-1.png diff --git a/front/dist/resources/characters/pipoya/Male 05-2.png b/front/public/resources/characters/pipoya/Male 05-2.png similarity index 100% rename from front/dist/resources/characters/pipoya/Male 05-2.png rename to front/public/resources/characters/pipoya/Male 05-2.png diff --git a/front/dist/resources/characters/pipoya/Male 05-3.png b/front/public/resources/characters/pipoya/Male 05-3.png similarity index 100% rename from front/dist/resources/characters/pipoya/Male 05-3.png rename to front/public/resources/characters/pipoya/Male 05-3.png diff --git a/front/dist/resources/characters/pipoya/Male 05-4.png b/front/public/resources/characters/pipoya/Male 05-4.png similarity index 100% rename from front/dist/resources/characters/pipoya/Male 05-4.png rename to front/public/resources/characters/pipoya/Male 05-4.png diff --git a/front/dist/resources/characters/pipoya/Male 06-1.png b/front/public/resources/characters/pipoya/Male 06-1.png similarity index 100% rename from front/dist/resources/characters/pipoya/Male 06-1.png rename to front/public/resources/characters/pipoya/Male 06-1.png diff --git a/front/dist/resources/characters/pipoya/Male 06-2.png b/front/public/resources/characters/pipoya/Male 06-2.png similarity index 100% rename from front/dist/resources/characters/pipoya/Male 06-2.png rename to front/public/resources/characters/pipoya/Male 06-2.png diff --git a/front/dist/resources/characters/pipoya/Male 06-3.png b/front/public/resources/characters/pipoya/Male 06-3.png similarity index 100% rename from front/dist/resources/characters/pipoya/Male 06-3.png rename to front/public/resources/characters/pipoya/Male 06-3.png diff --git a/front/dist/resources/characters/pipoya/Male 06-4.png b/front/public/resources/characters/pipoya/Male 06-4.png similarity index 100% rename from front/dist/resources/characters/pipoya/Male 06-4.png rename to front/public/resources/characters/pipoya/Male 06-4.png diff --git a/front/dist/resources/characters/pipoya/Male 07-1.png b/front/public/resources/characters/pipoya/Male 07-1.png similarity index 100% rename from front/dist/resources/characters/pipoya/Male 07-1.png rename to front/public/resources/characters/pipoya/Male 07-1.png diff --git a/front/dist/resources/characters/pipoya/Male 07-2.png b/front/public/resources/characters/pipoya/Male 07-2.png similarity index 100% rename from front/dist/resources/characters/pipoya/Male 07-2.png rename to front/public/resources/characters/pipoya/Male 07-2.png diff --git a/front/dist/resources/characters/pipoya/Male 07-3.png b/front/public/resources/characters/pipoya/Male 07-3.png similarity index 100% rename from front/dist/resources/characters/pipoya/Male 07-3.png rename to front/public/resources/characters/pipoya/Male 07-3.png diff --git a/front/dist/resources/characters/pipoya/Male 07-4.png b/front/public/resources/characters/pipoya/Male 07-4.png similarity index 100% rename from front/dist/resources/characters/pipoya/Male 07-4.png rename to front/public/resources/characters/pipoya/Male 07-4.png diff --git a/front/dist/resources/characters/pipoya/Male 08-1.png b/front/public/resources/characters/pipoya/Male 08-1.png similarity index 100% rename from front/dist/resources/characters/pipoya/Male 08-1.png rename to front/public/resources/characters/pipoya/Male 08-1.png diff --git a/front/dist/resources/characters/pipoya/Male 08-2.png b/front/public/resources/characters/pipoya/Male 08-2.png similarity index 100% rename from front/dist/resources/characters/pipoya/Male 08-2.png rename to front/public/resources/characters/pipoya/Male 08-2.png diff --git a/front/dist/resources/characters/pipoya/Male 08-3.png b/front/public/resources/characters/pipoya/Male 08-3.png similarity index 100% rename from front/dist/resources/characters/pipoya/Male 08-3.png rename to front/public/resources/characters/pipoya/Male 08-3.png diff --git a/front/dist/resources/characters/pipoya/Male 08-4.png b/front/public/resources/characters/pipoya/Male 08-4.png similarity index 100% rename from front/dist/resources/characters/pipoya/Male 08-4.png rename to front/public/resources/characters/pipoya/Male 08-4.png diff --git a/front/dist/resources/characters/pipoya/Male 09-1.png b/front/public/resources/characters/pipoya/Male 09-1.png similarity index 100% rename from front/dist/resources/characters/pipoya/Male 09-1.png rename to front/public/resources/characters/pipoya/Male 09-1.png diff --git a/front/dist/resources/characters/pipoya/Male 09-2.png b/front/public/resources/characters/pipoya/Male 09-2.png similarity index 100% rename from front/dist/resources/characters/pipoya/Male 09-2.png rename to front/public/resources/characters/pipoya/Male 09-2.png diff --git a/front/dist/resources/characters/pipoya/Male 09-3.png b/front/public/resources/characters/pipoya/Male 09-3.png similarity index 100% rename from front/dist/resources/characters/pipoya/Male 09-3.png rename to front/public/resources/characters/pipoya/Male 09-3.png diff --git a/front/dist/resources/characters/pipoya/Male 09-4.png b/front/public/resources/characters/pipoya/Male 09-4.png similarity index 100% rename from front/dist/resources/characters/pipoya/Male 09-4.png rename to front/public/resources/characters/pipoya/Male 09-4.png diff --git a/front/dist/resources/characters/pipoya/Male 10-1.png b/front/public/resources/characters/pipoya/Male 10-1.png similarity index 100% rename from front/dist/resources/characters/pipoya/Male 10-1.png rename to front/public/resources/characters/pipoya/Male 10-1.png diff --git a/front/dist/resources/characters/pipoya/Male 10-2.png b/front/public/resources/characters/pipoya/Male 10-2.png similarity index 100% rename from front/dist/resources/characters/pipoya/Male 10-2.png rename to front/public/resources/characters/pipoya/Male 10-2.png diff --git a/front/dist/resources/characters/pipoya/Male 10-3.png b/front/public/resources/characters/pipoya/Male 10-3.png similarity index 100% rename from front/dist/resources/characters/pipoya/Male 10-3.png rename to front/public/resources/characters/pipoya/Male 10-3.png diff --git a/front/dist/resources/characters/pipoya/Male 10-4.png b/front/public/resources/characters/pipoya/Male 10-4.png similarity index 100% rename from front/dist/resources/characters/pipoya/Male 10-4.png rename to front/public/resources/characters/pipoya/Male 10-4.png diff --git a/front/dist/resources/characters/pipoya/Male 11-1.png b/front/public/resources/characters/pipoya/Male 11-1.png similarity index 100% rename from front/dist/resources/characters/pipoya/Male 11-1.png rename to front/public/resources/characters/pipoya/Male 11-1.png diff --git a/front/dist/resources/characters/pipoya/Male 11-2.png b/front/public/resources/characters/pipoya/Male 11-2.png similarity index 100% rename from front/dist/resources/characters/pipoya/Male 11-2.png rename to front/public/resources/characters/pipoya/Male 11-2.png diff --git a/front/dist/resources/characters/pipoya/Male 11-3.png b/front/public/resources/characters/pipoya/Male 11-3.png similarity index 100% rename from front/dist/resources/characters/pipoya/Male 11-3.png rename to front/public/resources/characters/pipoya/Male 11-3.png diff --git a/front/dist/resources/characters/pipoya/Male 11-4.png b/front/public/resources/characters/pipoya/Male 11-4.png similarity index 100% rename from front/dist/resources/characters/pipoya/Male 11-4.png rename to front/public/resources/characters/pipoya/Male 11-4.png diff --git a/front/dist/resources/characters/pipoya/Male 12-1.png b/front/public/resources/characters/pipoya/Male 12-1.png similarity index 100% rename from front/dist/resources/characters/pipoya/Male 12-1.png rename to front/public/resources/characters/pipoya/Male 12-1.png diff --git a/front/dist/resources/characters/pipoya/Male 12-2.png b/front/public/resources/characters/pipoya/Male 12-2.png similarity index 100% rename from front/dist/resources/characters/pipoya/Male 12-2.png rename to front/public/resources/characters/pipoya/Male 12-2.png diff --git a/front/dist/resources/characters/pipoya/Male 12-3.png b/front/public/resources/characters/pipoya/Male 12-3.png similarity index 100% rename from front/dist/resources/characters/pipoya/Male 12-3.png rename to front/public/resources/characters/pipoya/Male 12-3.png diff --git a/front/dist/resources/characters/pipoya/Male 12-4.png b/front/public/resources/characters/pipoya/Male 12-4.png similarity index 100% rename from front/dist/resources/characters/pipoya/Male 12-4.png rename to front/public/resources/characters/pipoya/Male 12-4.png diff --git a/front/dist/resources/characters/pipoya/Male 13-1.png b/front/public/resources/characters/pipoya/Male 13-1.png similarity index 100% rename from front/dist/resources/characters/pipoya/Male 13-1.png rename to front/public/resources/characters/pipoya/Male 13-1.png diff --git a/front/dist/resources/characters/pipoya/Male 13-2.png b/front/public/resources/characters/pipoya/Male 13-2.png similarity index 100% rename from front/dist/resources/characters/pipoya/Male 13-2.png rename to front/public/resources/characters/pipoya/Male 13-2.png diff --git a/front/dist/resources/characters/pipoya/Male 13-3.png b/front/public/resources/characters/pipoya/Male 13-3.png similarity index 100% rename from front/dist/resources/characters/pipoya/Male 13-3.png rename to front/public/resources/characters/pipoya/Male 13-3.png diff --git a/front/dist/resources/characters/pipoya/Male 13-4.png b/front/public/resources/characters/pipoya/Male 13-4.png similarity index 100% rename from front/dist/resources/characters/pipoya/Male 13-4.png rename to front/public/resources/characters/pipoya/Male 13-4.png diff --git a/front/dist/resources/characters/pipoya/Male 14-1.png b/front/public/resources/characters/pipoya/Male 14-1.png similarity index 100% rename from front/dist/resources/characters/pipoya/Male 14-1.png rename to front/public/resources/characters/pipoya/Male 14-1.png diff --git a/front/dist/resources/characters/pipoya/Male 14-2.png b/front/public/resources/characters/pipoya/Male 14-2.png similarity index 100% rename from front/dist/resources/characters/pipoya/Male 14-2.png rename to front/public/resources/characters/pipoya/Male 14-2.png diff --git a/front/dist/resources/characters/pipoya/Male 14-3.png b/front/public/resources/characters/pipoya/Male 14-3.png similarity index 100% rename from front/dist/resources/characters/pipoya/Male 14-3.png rename to front/public/resources/characters/pipoya/Male 14-3.png diff --git a/front/dist/resources/characters/pipoya/Male 14-4.png b/front/public/resources/characters/pipoya/Male 14-4.png similarity index 100% rename from front/dist/resources/characters/pipoya/Male 14-4.png rename to front/public/resources/characters/pipoya/Male 14-4.png diff --git a/front/dist/resources/characters/pipoya/Male 15-1.png b/front/public/resources/characters/pipoya/Male 15-1.png similarity index 100% rename from front/dist/resources/characters/pipoya/Male 15-1.png rename to front/public/resources/characters/pipoya/Male 15-1.png diff --git a/front/dist/resources/characters/pipoya/Male 15-2.png b/front/public/resources/characters/pipoya/Male 15-2.png similarity index 100% rename from front/dist/resources/characters/pipoya/Male 15-2.png rename to front/public/resources/characters/pipoya/Male 15-2.png diff --git a/front/dist/resources/characters/pipoya/Male 15-3.png b/front/public/resources/characters/pipoya/Male 15-3.png similarity index 100% rename from front/dist/resources/characters/pipoya/Male 15-3.png rename to front/public/resources/characters/pipoya/Male 15-3.png diff --git a/front/dist/resources/characters/pipoya/Male 15-4.png b/front/public/resources/characters/pipoya/Male 15-4.png similarity index 100% rename from front/dist/resources/characters/pipoya/Male 15-4.png rename to front/public/resources/characters/pipoya/Male 15-4.png diff --git a/front/dist/resources/characters/pipoya/Male 16-1.png b/front/public/resources/characters/pipoya/Male 16-1.png similarity index 100% rename from front/dist/resources/characters/pipoya/Male 16-1.png rename to front/public/resources/characters/pipoya/Male 16-1.png diff --git a/front/dist/resources/characters/pipoya/Male 16-2.png b/front/public/resources/characters/pipoya/Male 16-2.png similarity index 100% rename from front/dist/resources/characters/pipoya/Male 16-2.png rename to front/public/resources/characters/pipoya/Male 16-2.png diff --git a/front/dist/resources/characters/pipoya/Male 16-3.png b/front/public/resources/characters/pipoya/Male 16-3.png similarity index 100% rename from front/dist/resources/characters/pipoya/Male 16-3.png rename to front/public/resources/characters/pipoya/Male 16-3.png diff --git a/front/dist/resources/characters/pipoya/Male 16-4.png b/front/public/resources/characters/pipoya/Male 16-4.png similarity index 100% rename from front/dist/resources/characters/pipoya/Male 16-4.png rename to front/public/resources/characters/pipoya/Male 16-4.png diff --git a/front/dist/resources/characters/pipoya/Male 17-1.png b/front/public/resources/characters/pipoya/Male 17-1.png similarity index 100% rename from front/dist/resources/characters/pipoya/Male 17-1.png rename to front/public/resources/characters/pipoya/Male 17-1.png diff --git a/front/dist/resources/characters/pipoya/Male 17-2.png b/front/public/resources/characters/pipoya/Male 17-2.png similarity index 100% rename from front/dist/resources/characters/pipoya/Male 17-2.png rename to front/public/resources/characters/pipoya/Male 17-2.png diff --git a/front/dist/resources/characters/pipoya/Male 17-3.png b/front/public/resources/characters/pipoya/Male 17-3.png similarity index 100% rename from front/dist/resources/characters/pipoya/Male 17-3.png rename to front/public/resources/characters/pipoya/Male 17-3.png diff --git a/front/dist/resources/characters/pipoya/Male 17-4.png b/front/public/resources/characters/pipoya/Male 17-4.png similarity index 100% rename from front/dist/resources/characters/pipoya/Male 17-4.png rename to front/public/resources/characters/pipoya/Male 17-4.png diff --git a/front/dist/resources/characters/pipoya/Male 18-1.png b/front/public/resources/characters/pipoya/Male 18-1.png similarity index 100% rename from front/dist/resources/characters/pipoya/Male 18-1.png rename to front/public/resources/characters/pipoya/Male 18-1.png diff --git a/front/dist/resources/characters/pipoya/Teacher fmale 01.png b/front/public/resources/characters/pipoya/Teacher fmale 01.png similarity index 100% rename from front/dist/resources/characters/pipoya/Teacher fmale 01.png rename to front/public/resources/characters/pipoya/Teacher fmale 01.png diff --git a/front/dist/resources/characters/pipoya/Teacher fmale 02.png b/front/public/resources/characters/pipoya/Teacher fmale 02.png similarity index 100% rename from front/dist/resources/characters/pipoya/Teacher fmale 02.png rename to front/public/resources/characters/pipoya/Teacher fmale 02.png diff --git a/front/dist/resources/characters/pipoya/Teacher fmale 03.png b/front/public/resources/characters/pipoya/Teacher fmale 03.png similarity index 100% rename from front/dist/resources/characters/pipoya/Teacher fmale 03.png rename to front/public/resources/characters/pipoya/Teacher fmale 03.png diff --git a/front/dist/resources/characters/pipoya/Teacher fmale 04.png b/front/public/resources/characters/pipoya/Teacher fmale 04.png similarity index 100% rename from front/dist/resources/characters/pipoya/Teacher fmale 04.png rename to front/public/resources/characters/pipoya/Teacher fmale 04.png diff --git a/front/dist/resources/characters/pipoya/Teacher male 01.png b/front/public/resources/characters/pipoya/Teacher male 01.png similarity index 100% rename from front/dist/resources/characters/pipoya/Teacher male 01.png rename to front/public/resources/characters/pipoya/Teacher male 01.png diff --git a/front/dist/resources/characters/pipoya/Teacher male 02.png b/front/public/resources/characters/pipoya/Teacher male 02.png similarity index 100% rename from front/dist/resources/characters/pipoya/Teacher male 02.png rename to front/public/resources/characters/pipoya/Teacher male 02.png diff --git a/front/dist/resources/characters/pipoya/Teacher male 03.png b/front/public/resources/characters/pipoya/Teacher male 03.png similarity index 100% rename from front/dist/resources/characters/pipoya/Teacher male 03.png rename to front/public/resources/characters/pipoya/Teacher male 03.png diff --git a/front/dist/resources/characters/pipoya/Teacher male 04.png b/front/public/resources/characters/pipoya/Teacher male 04.png similarity index 100% rename from front/dist/resources/characters/pipoya/Teacher male 04.png rename to front/public/resources/characters/pipoya/Teacher male 04.png diff --git a/front/dist/resources/characters/pipoya/about.txt b/front/public/resources/characters/pipoya/about.txt similarity index 100% rename from front/dist/resources/characters/pipoya/about.txt rename to front/public/resources/characters/pipoya/about.txt diff --git a/front/dist/resources/characters/pipoya/su1 Student fmale 01.png b/front/public/resources/characters/pipoya/su1 Student fmale 01.png similarity index 100% rename from front/dist/resources/characters/pipoya/su1 Student fmale 01.png rename to front/public/resources/characters/pipoya/su1 Student fmale 01.png diff --git a/front/dist/resources/characters/pipoya/su1 Student fmale 02.png b/front/public/resources/characters/pipoya/su1 Student fmale 02.png similarity index 100% rename from front/dist/resources/characters/pipoya/su1 Student fmale 02.png rename to front/public/resources/characters/pipoya/su1 Student fmale 02.png diff --git a/front/dist/resources/characters/pipoya/su1 Student fmale 03.png b/front/public/resources/characters/pipoya/su1 Student fmale 03.png similarity index 100% rename from front/dist/resources/characters/pipoya/su1 Student fmale 03.png rename to front/public/resources/characters/pipoya/su1 Student fmale 03.png diff --git a/front/dist/resources/characters/pipoya/su1 Student fmale 04.png b/front/public/resources/characters/pipoya/su1 Student fmale 04.png similarity index 100% rename from front/dist/resources/characters/pipoya/su1 Student fmale 04.png rename to front/public/resources/characters/pipoya/su1 Student fmale 04.png diff --git a/front/dist/resources/characters/pipoya/su1 Student fmale 05.png b/front/public/resources/characters/pipoya/su1 Student fmale 05.png similarity index 100% rename from front/dist/resources/characters/pipoya/su1 Student fmale 05.png rename to front/public/resources/characters/pipoya/su1 Student fmale 05.png diff --git a/front/dist/resources/characters/pipoya/su1 Student fmale 06.png b/front/public/resources/characters/pipoya/su1 Student fmale 06.png similarity index 100% rename from front/dist/resources/characters/pipoya/su1 Student fmale 06.png rename to front/public/resources/characters/pipoya/su1 Student fmale 06.png diff --git a/front/dist/resources/characters/pipoya/su1 Student fmale 07.png b/front/public/resources/characters/pipoya/su1 Student fmale 07.png similarity index 100% rename from front/dist/resources/characters/pipoya/su1 Student fmale 07.png rename to front/public/resources/characters/pipoya/su1 Student fmale 07.png diff --git a/front/dist/resources/characters/pipoya/su1 Student fmale 08.png b/front/public/resources/characters/pipoya/su1 Student fmale 08.png similarity index 100% rename from front/dist/resources/characters/pipoya/su1 Student fmale 08.png rename to front/public/resources/characters/pipoya/su1 Student fmale 08.png diff --git a/front/dist/resources/characters/pipoya/su1 Student fmale 09.png b/front/public/resources/characters/pipoya/su1 Student fmale 09.png similarity index 100% rename from front/dist/resources/characters/pipoya/su1 Student fmale 09.png rename to front/public/resources/characters/pipoya/su1 Student fmale 09.png diff --git a/front/dist/resources/characters/pipoya/su1 Student fmale 10.png b/front/public/resources/characters/pipoya/su1 Student fmale 10.png similarity index 100% rename from front/dist/resources/characters/pipoya/su1 Student fmale 10.png rename to front/public/resources/characters/pipoya/su1 Student fmale 10.png diff --git a/front/dist/resources/characters/pipoya/su1 Student fmale 11.png b/front/public/resources/characters/pipoya/su1 Student fmale 11.png similarity index 100% rename from front/dist/resources/characters/pipoya/su1 Student fmale 11.png rename to front/public/resources/characters/pipoya/su1 Student fmale 11.png diff --git a/front/dist/resources/characters/pipoya/su1 Student fmale 12.png b/front/public/resources/characters/pipoya/su1 Student fmale 12.png similarity index 100% rename from front/dist/resources/characters/pipoya/su1 Student fmale 12.png rename to front/public/resources/characters/pipoya/su1 Student fmale 12.png diff --git a/front/dist/resources/characters/pipoya/su1 Student fmale 13.png b/front/public/resources/characters/pipoya/su1 Student fmale 13.png similarity index 100% rename from front/dist/resources/characters/pipoya/su1 Student fmale 13.png rename to front/public/resources/characters/pipoya/su1 Student fmale 13.png diff --git a/front/dist/resources/characters/pipoya/su1 Student fmale 14.png b/front/public/resources/characters/pipoya/su1 Student fmale 14.png similarity index 100% rename from front/dist/resources/characters/pipoya/su1 Student fmale 14.png rename to front/public/resources/characters/pipoya/su1 Student fmale 14.png diff --git a/front/dist/resources/characters/pipoya/su1 Student fmale 15.png b/front/public/resources/characters/pipoya/su1 Student fmale 15.png similarity index 100% rename from front/dist/resources/characters/pipoya/su1 Student fmale 15.png rename to front/public/resources/characters/pipoya/su1 Student fmale 15.png diff --git a/front/dist/resources/characters/pipoya/su1 Student fmale 16.png b/front/public/resources/characters/pipoya/su1 Student fmale 16.png similarity index 100% rename from front/dist/resources/characters/pipoya/su1 Student fmale 16.png rename to front/public/resources/characters/pipoya/su1 Student fmale 16.png diff --git a/front/dist/resources/characters/pipoya/su1 Student fmale 17.png b/front/public/resources/characters/pipoya/su1 Student fmale 17.png similarity index 100% rename from front/dist/resources/characters/pipoya/su1 Student fmale 17.png rename to front/public/resources/characters/pipoya/su1 Student fmale 17.png diff --git a/front/dist/resources/characters/pipoya/su1 Student fmale 18.png b/front/public/resources/characters/pipoya/su1 Student fmale 18.png similarity index 100% rename from front/dist/resources/characters/pipoya/su1 Student fmale 18.png rename to front/public/resources/characters/pipoya/su1 Student fmale 18.png diff --git a/front/dist/resources/characters/pipoya/su1 Student male 01.png b/front/public/resources/characters/pipoya/su1 Student male 01.png similarity index 100% rename from front/dist/resources/characters/pipoya/su1 Student male 01.png rename to front/public/resources/characters/pipoya/su1 Student male 01.png diff --git a/front/dist/resources/characters/pipoya/su1 Student male 02.png b/front/public/resources/characters/pipoya/su1 Student male 02.png similarity index 100% rename from front/dist/resources/characters/pipoya/su1 Student male 02.png rename to front/public/resources/characters/pipoya/su1 Student male 02.png diff --git a/front/dist/resources/characters/pipoya/su1 Student male 03.png b/front/public/resources/characters/pipoya/su1 Student male 03.png similarity index 100% rename from front/dist/resources/characters/pipoya/su1 Student male 03.png rename to front/public/resources/characters/pipoya/su1 Student male 03.png diff --git a/front/dist/resources/characters/pipoya/su1 Student male 04.png b/front/public/resources/characters/pipoya/su1 Student male 04.png similarity index 100% rename from front/dist/resources/characters/pipoya/su1 Student male 04.png rename to front/public/resources/characters/pipoya/su1 Student male 04.png diff --git a/front/dist/resources/characters/pipoya/su1 Student male 05.png b/front/public/resources/characters/pipoya/su1 Student male 05.png similarity index 100% rename from front/dist/resources/characters/pipoya/su1 Student male 05.png rename to front/public/resources/characters/pipoya/su1 Student male 05.png diff --git a/front/dist/resources/characters/pipoya/su1 Student male 06.png b/front/public/resources/characters/pipoya/su1 Student male 06.png similarity index 100% rename from front/dist/resources/characters/pipoya/su1 Student male 06.png rename to front/public/resources/characters/pipoya/su1 Student male 06.png diff --git a/front/dist/resources/characters/pipoya/su1 Student male 07.png b/front/public/resources/characters/pipoya/su1 Student male 07.png similarity index 100% rename from front/dist/resources/characters/pipoya/su1 Student male 07.png rename to front/public/resources/characters/pipoya/su1 Student male 07.png diff --git a/front/dist/resources/characters/pipoya/su1 Student male 08.png b/front/public/resources/characters/pipoya/su1 Student male 08.png similarity index 100% rename from front/dist/resources/characters/pipoya/su1 Student male 08.png rename to front/public/resources/characters/pipoya/su1 Student male 08.png diff --git a/front/dist/resources/characters/pipoya/su1 Student male 09.png b/front/public/resources/characters/pipoya/su1 Student male 09.png similarity index 100% rename from front/dist/resources/characters/pipoya/su1 Student male 09.png rename to front/public/resources/characters/pipoya/su1 Student male 09.png diff --git a/front/dist/resources/characters/pipoya/su1 Student male 10.png b/front/public/resources/characters/pipoya/su1 Student male 10.png similarity index 100% rename from front/dist/resources/characters/pipoya/su1 Student male 10.png rename to front/public/resources/characters/pipoya/su1 Student male 10.png diff --git a/front/dist/resources/characters/pipoya/su1 Student male 11.png b/front/public/resources/characters/pipoya/su1 Student male 11.png similarity index 100% rename from front/dist/resources/characters/pipoya/su1 Student male 11.png rename to front/public/resources/characters/pipoya/su1 Student male 11.png diff --git a/front/dist/resources/characters/pipoya/su1 Student male 12.png b/front/public/resources/characters/pipoya/su1 Student male 12.png similarity index 100% rename from front/dist/resources/characters/pipoya/su1 Student male 12.png rename to front/public/resources/characters/pipoya/su1 Student male 12.png diff --git a/front/dist/resources/characters/pipoya/su1 Student male 13.png b/front/public/resources/characters/pipoya/su1 Student male 13.png similarity index 100% rename from front/dist/resources/characters/pipoya/su1 Student male 13.png rename to front/public/resources/characters/pipoya/su1 Student male 13.png diff --git a/front/dist/resources/characters/pipoya/su2 Student fmale 01.png b/front/public/resources/characters/pipoya/su2 Student fmale 01.png similarity index 100% rename from front/dist/resources/characters/pipoya/su2 Student fmale 01.png rename to front/public/resources/characters/pipoya/su2 Student fmale 01.png diff --git a/front/dist/resources/characters/pipoya/su2 Student fmale 02.png b/front/public/resources/characters/pipoya/su2 Student fmale 02.png similarity index 100% rename from front/dist/resources/characters/pipoya/su2 Student fmale 02.png rename to front/public/resources/characters/pipoya/su2 Student fmale 02.png diff --git a/front/dist/resources/characters/pipoya/su2 Student fmale 03.png b/front/public/resources/characters/pipoya/su2 Student fmale 03.png similarity index 100% rename from front/dist/resources/characters/pipoya/su2 Student fmale 03.png rename to front/public/resources/characters/pipoya/su2 Student fmale 03.png diff --git a/front/dist/resources/characters/pipoya/su2 Student fmale 04.png b/front/public/resources/characters/pipoya/su2 Student fmale 04.png similarity index 100% rename from front/dist/resources/characters/pipoya/su2 Student fmale 04.png rename to front/public/resources/characters/pipoya/su2 Student fmale 04.png diff --git a/front/dist/resources/characters/pipoya/su2 Student fmale 05.png b/front/public/resources/characters/pipoya/su2 Student fmale 05.png similarity index 100% rename from front/dist/resources/characters/pipoya/su2 Student fmale 05.png rename to front/public/resources/characters/pipoya/su2 Student fmale 05.png diff --git a/front/dist/resources/characters/pipoya/su2 Student fmale 06.png b/front/public/resources/characters/pipoya/su2 Student fmale 06.png similarity index 100% rename from front/dist/resources/characters/pipoya/su2 Student fmale 06.png rename to front/public/resources/characters/pipoya/su2 Student fmale 06.png diff --git a/front/dist/resources/characters/pipoya/su2 Student fmale 07.png b/front/public/resources/characters/pipoya/su2 Student fmale 07.png similarity index 100% rename from front/dist/resources/characters/pipoya/su2 Student fmale 07.png rename to front/public/resources/characters/pipoya/su2 Student fmale 07.png diff --git a/front/dist/resources/characters/pipoya/su2 Student fmale 08.png b/front/public/resources/characters/pipoya/su2 Student fmale 08.png similarity index 100% rename from front/dist/resources/characters/pipoya/su2 Student fmale 08.png rename to front/public/resources/characters/pipoya/su2 Student fmale 08.png diff --git a/front/dist/resources/characters/pipoya/su2 Student fmale 09.png b/front/public/resources/characters/pipoya/su2 Student fmale 09.png similarity index 100% rename from front/dist/resources/characters/pipoya/su2 Student fmale 09.png rename to front/public/resources/characters/pipoya/su2 Student fmale 09.png diff --git a/front/dist/resources/characters/pipoya/su2 Student fmale 10.png b/front/public/resources/characters/pipoya/su2 Student fmale 10.png similarity index 100% rename from front/dist/resources/characters/pipoya/su2 Student fmale 10.png rename to front/public/resources/characters/pipoya/su2 Student fmale 10.png diff --git a/front/dist/resources/characters/pipoya/su2 Student fmale 11.png b/front/public/resources/characters/pipoya/su2 Student fmale 11.png similarity index 100% rename from front/dist/resources/characters/pipoya/su2 Student fmale 11.png rename to front/public/resources/characters/pipoya/su2 Student fmale 11.png diff --git a/front/dist/resources/characters/pipoya/su2 Student fmale 12.png b/front/public/resources/characters/pipoya/su2 Student fmale 12.png similarity index 100% rename from front/dist/resources/characters/pipoya/su2 Student fmale 12.png rename to front/public/resources/characters/pipoya/su2 Student fmale 12.png diff --git a/front/dist/resources/characters/pipoya/su2 Student fmale 13.png b/front/public/resources/characters/pipoya/su2 Student fmale 13.png similarity index 100% rename from front/dist/resources/characters/pipoya/su2 Student fmale 13.png rename to front/public/resources/characters/pipoya/su2 Student fmale 13.png diff --git a/front/dist/resources/characters/pipoya/su2 Student fmale 14.png b/front/public/resources/characters/pipoya/su2 Student fmale 14.png similarity index 100% rename from front/dist/resources/characters/pipoya/su2 Student fmale 14.png rename to front/public/resources/characters/pipoya/su2 Student fmale 14.png diff --git a/front/dist/resources/characters/pipoya/su2 Student fmale 15.png b/front/public/resources/characters/pipoya/su2 Student fmale 15.png similarity index 100% rename from front/dist/resources/characters/pipoya/su2 Student fmale 15.png rename to front/public/resources/characters/pipoya/su2 Student fmale 15.png diff --git a/front/dist/resources/characters/pipoya/su2 Student fmale 16.png b/front/public/resources/characters/pipoya/su2 Student fmale 16.png similarity index 100% rename from front/dist/resources/characters/pipoya/su2 Student fmale 16.png rename to front/public/resources/characters/pipoya/su2 Student fmale 16.png diff --git a/front/dist/resources/characters/pipoya/su2 Student fmale 17.png b/front/public/resources/characters/pipoya/su2 Student fmale 17.png similarity index 100% rename from front/dist/resources/characters/pipoya/su2 Student fmale 17.png rename to front/public/resources/characters/pipoya/su2 Student fmale 17.png diff --git a/front/dist/resources/characters/pipoya/su2 Student fmale 18.png b/front/public/resources/characters/pipoya/su2 Student fmale 18.png similarity index 100% rename from front/dist/resources/characters/pipoya/su2 Student fmale 18.png rename to front/public/resources/characters/pipoya/su2 Student fmale 18.png diff --git a/front/dist/resources/characters/pipoya/su2 Student male 01.png b/front/public/resources/characters/pipoya/su2 Student male 01.png similarity index 100% rename from front/dist/resources/characters/pipoya/su2 Student male 01.png rename to front/public/resources/characters/pipoya/su2 Student male 01.png diff --git a/front/dist/resources/characters/pipoya/su2 Student male 02.png b/front/public/resources/characters/pipoya/su2 Student male 02.png similarity index 100% rename from front/dist/resources/characters/pipoya/su2 Student male 02.png rename to front/public/resources/characters/pipoya/su2 Student male 02.png diff --git a/front/dist/resources/characters/pipoya/su2 Student male 03.png b/front/public/resources/characters/pipoya/su2 Student male 03.png similarity index 100% rename from front/dist/resources/characters/pipoya/su2 Student male 03.png rename to front/public/resources/characters/pipoya/su2 Student male 03.png diff --git a/front/dist/resources/characters/pipoya/su2 Student male 04.png b/front/public/resources/characters/pipoya/su2 Student male 04.png similarity index 100% rename from front/dist/resources/characters/pipoya/su2 Student male 04.png rename to front/public/resources/characters/pipoya/su2 Student male 04.png diff --git a/front/dist/resources/characters/pipoya/su2 Student male 05.png b/front/public/resources/characters/pipoya/su2 Student male 05.png similarity index 100% rename from front/dist/resources/characters/pipoya/su2 Student male 05.png rename to front/public/resources/characters/pipoya/su2 Student male 05.png diff --git a/front/dist/resources/characters/pipoya/su2 Student male 06.png b/front/public/resources/characters/pipoya/su2 Student male 06.png similarity index 100% rename from front/dist/resources/characters/pipoya/su2 Student male 06.png rename to front/public/resources/characters/pipoya/su2 Student male 06.png diff --git a/front/dist/resources/characters/pipoya/su2 Student male 07.png b/front/public/resources/characters/pipoya/su2 Student male 07.png similarity index 100% rename from front/dist/resources/characters/pipoya/su2 Student male 07.png rename to front/public/resources/characters/pipoya/su2 Student male 07.png diff --git a/front/dist/resources/characters/pipoya/su2 Student male 08.png b/front/public/resources/characters/pipoya/su2 Student male 08.png similarity index 100% rename from front/dist/resources/characters/pipoya/su2 Student male 08.png rename to front/public/resources/characters/pipoya/su2 Student male 08.png diff --git a/front/dist/resources/characters/pipoya/su2 Student male 09.png b/front/public/resources/characters/pipoya/su2 Student male 09.png similarity index 100% rename from front/dist/resources/characters/pipoya/su2 Student male 09.png rename to front/public/resources/characters/pipoya/su2 Student male 09.png diff --git a/front/dist/resources/characters/pipoya/su2 Student male 10.png b/front/public/resources/characters/pipoya/su2 Student male 10.png similarity index 100% rename from front/dist/resources/characters/pipoya/su2 Student male 10.png rename to front/public/resources/characters/pipoya/su2 Student male 10.png diff --git a/front/dist/resources/characters/pipoya/su2 Student male 11.png b/front/public/resources/characters/pipoya/su2 Student male 11.png similarity index 100% rename from front/dist/resources/characters/pipoya/su2 Student male 11.png rename to front/public/resources/characters/pipoya/su2 Student male 11.png diff --git a/front/dist/resources/characters/pipoya/su2 Student male 12.png b/front/public/resources/characters/pipoya/su2 Student male 12.png similarity index 100% rename from front/dist/resources/characters/pipoya/su2 Student male 12.png rename to front/public/resources/characters/pipoya/su2 Student male 12.png diff --git a/front/dist/resources/characters/pipoya/su2 Student male 13.png b/front/public/resources/characters/pipoya/su2 Student male 13.png similarity index 100% rename from front/dist/resources/characters/pipoya/su2 Student male 13.png rename to front/public/resources/characters/pipoya/su2 Student male 13.png diff --git a/front/dist/resources/characters/pipoya/su3 Student fmale 01.png b/front/public/resources/characters/pipoya/su3 Student fmale 01.png similarity index 100% rename from front/dist/resources/characters/pipoya/su3 Student fmale 01.png rename to front/public/resources/characters/pipoya/su3 Student fmale 01.png diff --git a/front/dist/resources/characters/pipoya/su3 Student fmale 02.png b/front/public/resources/characters/pipoya/su3 Student fmale 02.png similarity index 100% rename from front/dist/resources/characters/pipoya/su3 Student fmale 02.png rename to front/public/resources/characters/pipoya/su3 Student fmale 02.png diff --git a/front/dist/resources/characters/pipoya/su3 Student fmale 03.png b/front/public/resources/characters/pipoya/su3 Student fmale 03.png similarity index 100% rename from front/dist/resources/characters/pipoya/su3 Student fmale 03.png rename to front/public/resources/characters/pipoya/su3 Student fmale 03.png diff --git a/front/dist/resources/characters/pipoya/su3 Student fmale 04.png b/front/public/resources/characters/pipoya/su3 Student fmale 04.png similarity index 100% rename from front/dist/resources/characters/pipoya/su3 Student fmale 04.png rename to front/public/resources/characters/pipoya/su3 Student fmale 04.png diff --git a/front/dist/resources/characters/pipoya/su3 Student fmale 05.png b/front/public/resources/characters/pipoya/su3 Student fmale 05.png similarity index 100% rename from front/dist/resources/characters/pipoya/su3 Student fmale 05.png rename to front/public/resources/characters/pipoya/su3 Student fmale 05.png diff --git a/front/dist/resources/characters/pipoya/su3 Student fmale 06.png b/front/public/resources/characters/pipoya/su3 Student fmale 06.png similarity index 100% rename from front/dist/resources/characters/pipoya/su3 Student fmale 06.png rename to front/public/resources/characters/pipoya/su3 Student fmale 06.png diff --git a/front/dist/resources/characters/pipoya/su3 Student fmale 07.png b/front/public/resources/characters/pipoya/su3 Student fmale 07.png similarity index 100% rename from front/dist/resources/characters/pipoya/su3 Student fmale 07.png rename to front/public/resources/characters/pipoya/su3 Student fmale 07.png diff --git a/front/dist/resources/characters/pipoya/su3 Student fmale 08.png b/front/public/resources/characters/pipoya/su3 Student fmale 08.png similarity index 100% rename from front/dist/resources/characters/pipoya/su3 Student fmale 08.png rename to front/public/resources/characters/pipoya/su3 Student fmale 08.png diff --git a/front/dist/resources/characters/pipoya/su3 Student fmale 09.png b/front/public/resources/characters/pipoya/su3 Student fmale 09.png similarity index 100% rename from front/dist/resources/characters/pipoya/su3 Student fmale 09.png rename to front/public/resources/characters/pipoya/su3 Student fmale 09.png diff --git a/front/dist/resources/characters/pipoya/su3 Student fmale 10.png b/front/public/resources/characters/pipoya/su3 Student fmale 10.png similarity index 100% rename from front/dist/resources/characters/pipoya/su3 Student fmale 10.png rename to front/public/resources/characters/pipoya/su3 Student fmale 10.png diff --git a/front/dist/resources/characters/pipoya/su3 Student fmale 11.png b/front/public/resources/characters/pipoya/su3 Student fmale 11.png similarity index 100% rename from front/dist/resources/characters/pipoya/su3 Student fmale 11.png rename to front/public/resources/characters/pipoya/su3 Student fmale 11.png diff --git a/front/dist/resources/characters/pipoya/su3 Student fmale 12.png b/front/public/resources/characters/pipoya/su3 Student fmale 12.png similarity index 100% rename from front/dist/resources/characters/pipoya/su3 Student fmale 12.png rename to front/public/resources/characters/pipoya/su3 Student fmale 12.png diff --git a/front/dist/resources/characters/pipoya/su3 Student fmale 13.png b/front/public/resources/characters/pipoya/su3 Student fmale 13.png similarity index 100% rename from front/dist/resources/characters/pipoya/su3 Student fmale 13.png rename to front/public/resources/characters/pipoya/su3 Student fmale 13.png diff --git a/front/dist/resources/characters/pipoya/su3 Student fmale 14.png b/front/public/resources/characters/pipoya/su3 Student fmale 14.png similarity index 100% rename from front/dist/resources/characters/pipoya/su3 Student fmale 14.png rename to front/public/resources/characters/pipoya/su3 Student fmale 14.png diff --git a/front/dist/resources/characters/pipoya/su3 Student fmale 15.png b/front/public/resources/characters/pipoya/su3 Student fmale 15.png similarity index 100% rename from front/dist/resources/characters/pipoya/su3 Student fmale 15.png rename to front/public/resources/characters/pipoya/su3 Student fmale 15.png diff --git a/front/dist/resources/characters/pipoya/su3 Student fmale 16.png b/front/public/resources/characters/pipoya/su3 Student fmale 16.png similarity index 100% rename from front/dist/resources/characters/pipoya/su3 Student fmale 16.png rename to front/public/resources/characters/pipoya/su3 Student fmale 16.png diff --git a/front/dist/resources/characters/pipoya/su3 Student fmale 17.png b/front/public/resources/characters/pipoya/su3 Student fmale 17.png similarity index 100% rename from front/dist/resources/characters/pipoya/su3 Student fmale 17.png rename to front/public/resources/characters/pipoya/su3 Student fmale 17.png diff --git a/front/dist/resources/characters/pipoya/su3 Student fmale 18.png b/front/public/resources/characters/pipoya/su3 Student fmale 18.png similarity index 100% rename from front/dist/resources/characters/pipoya/su3 Student fmale 18.png rename to front/public/resources/characters/pipoya/su3 Student fmale 18.png diff --git a/front/dist/resources/characters/pipoya/su3 Student male 01.png b/front/public/resources/characters/pipoya/su3 Student male 01.png similarity index 100% rename from front/dist/resources/characters/pipoya/su3 Student male 01.png rename to front/public/resources/characters/pipoya/su3 Student male 01.png diff --git a/front/dist/resources/characters/pipoya/su3 Student male 02.png b/front/public/resources/characters/pipoya/su3 Student male 02.png similarity index 100% rename from front/dist/resources/characters/pipoya/su3 Student male 02.png rename to front/public/resources/characters/pipoya/su3 Student male 02.png diff --git a/front/dist/resources/characters/pipoya/su3 Student male 03.png b/front/public/resources/characters/pipoya/su3 Student male 03.png similarity index 100% rename from front/dist/resources/characters/pipoya/su3 Student male 03.png rename to front/public/resources/characters/pipoya/su3 Student male 03.png diff --git a/front/dist/resources/characters/pipoya/su3 Student male 04.png b/front/public/resources/characters/pipoya/su3 Student male 04.png similarity index 100% rename from front/dist/resources/characters/pipoya/su3 Student male 04.png rename to front/public/resources/characters/pipoya/su3 Student male 04.png diff --git a/front/dist/resources/characters/pipoya/su3 Student male 05.png b/front/public/resources/characters/pipoya/su3 Student male 05.png similarity index 100% rename from front/dist/resources/characters/pipoya/su3 Student male 05.png rename to front/public/resources/characters/pipoya/su3 Student male 05.png diff --git a/front/dist/resources/characters/pipoya/su3 Student male 06.png b/front/public/resources/characters/pipoya/su3 Student male 06.png similarity index 100% rename from front/dist/resources/characters/pipoya/su3 Student male 06.png rename to front/public/resources/characters/pipoya/su3 Student male 06.png diff --git a/front/dist/resources/characters/pipoya/su3 Student male 07.png b/front/public/resources/characters/pipoya/su3 Student male 07.png similarity index 100% rename from front/dist/resources/characters/pipoya/su3 Student male 07.png rename to front/public/resources/characters/pipoya/su3 Student male 07.png diff --git a/front/dist/resources/characters/pipoya/su3 Student male 08.png b/front/public/resources/characters/pipoya/su3 Student male 08.png similarity index 100% rename from front/dist/resources/characters/pipoya/su3 Student male 08.png rename to front/public/resources/characters/pipoya/su3 Student male 08.png diff --git a/front/dist/resources/characters/pipoya/su3 Student male 09.png b/front/public/resources/characters/pipoya/su3 Student male 09.png similarity index 100% rename from front/dist/resources/characters/pipoya/su3 Student male 09.png rename to front/public/resources/characters/pipoya/su3 Student male 09.png diff --git a/front/dist/resources/characters/pipoya/su3 Student male 10.png b/front/public/resources/characters/pipoya/su3 Student male 10.png similarity index 100% rename from front/dist/resources/characters/pipoya/su3 Student male 10.png rename to front/public/resources/characters/pipoya/su3 Student male 10.png diff --git a/front/dist/resources/characters/pipoya/su3 Student male 11.png b/front/public/resources/characters/pipoya/su3 Student male 11.png similarity index 100% rename from front/dist/resources/characters/pipoya/su3 Student male 11.png rename to front/public/resources/characters/pipoya/su3 Student male 11.png diff --git a/front/dist/resources/characters/pipoya/su3 Student male 12.png b/front/public/resources/characters/pipoya/su3 Student male 12.png similarity index 100% rename from front/dist/resources/characters/pipoya/su3 Student male 12.png rename to front/public/resources/characters/pipoya/su3 Student male 12.png diff --git a/front/dist/resources/characters/pipoya/su3 Student male 13.png b/front/public/resources/characters/pipoya/su3 Student male 13.png similarity index 100% rename from front/dist/resources/characters/pipoya/su3 Student male 13.png rename to front/public/resources/characters/pipoya/su3 Student male 13.png diff --git a/front/dist/resources/characters/pipoya/su4 Student fmale 01.png b/front/public/resources/characters/pipoya/su4 Student fmale 01.png similarity index 100% rename from front/dist/resources/characters/pipoya/su4 Student fmale 01.png rename to front/public/resources/characters/pipoya/su4 Student fmale 01.png diff --git a/front/dist/resources/characters/pipoya/su4 Student fmale 02.png b/front/public/resources/characters/pipoya/su4 Student fmale 02.png similarity index 100% rename from front/dist/resources/characters/pipoya/su4 Student fmale 02.png rename to front/public/resources/characters/pipoya/su4 Student fmale 02.png diff --git a/front/dist/resources/characters/pipoya/su4 Student fmale 03.png b/front/public/resources/characters/pipoya/su4 Student fmale 03.png similarity index 100% rename from front/dist/resources/characters/pipoya/su4 Student fmale 03.png rename to front/public/resources/characters/pipoya/su4 Student fmale 03.png diff --git a/front/dist/resources/characters/pipoya/su4 Student fmale 04.png b/front/public/resources/characters/pipoya/su4 Student fmale 04.png similarity index 100% rename from front/dist/resources/characters/pipoya/su4 Student fmale 04.png rename to front/public/resources/characters/pipoya/su4 Student fmale 04.png diff --git a/front/dist/resources/characters/pipoya/su4 Student fmale 05.png b/front/public/resources/characters/pipoya/su4 Student fmale 05.png similarity index 100% rename from front/dist/resources/characters/pipoya/su4 Student fmale 05.png rename to front/public/resources/characters/pipoya/su4 Student fmale 05.png diff --git a/front/dist/resources/characters/pipoya/su4 Student fmale 06.png b/front/public/resources/characters/pipoya/su4 Student fmale 06.png similarity index 100% rename from front/dist/resources/characters/pipoya/su4 Student fmale 06.png rename to front/public/resources/characters/pipoya/su4 Student fmale 06.png diff --git a/front/dist/resources/characters/pipoya/su4 Student fmale 07.png b/front/public/resources/characters/pipoya/su4 Student fmale 07.png similarity index 100% rename from front/dist/resources/characters/pipoya/su4 Student fmale 07.png rename to front/public/resources/characters/pipoya/su4 Student fmale 07.png diff --git a/front/dist/resources/characters/pipoya/su4 Student fmale 08.png b/front/public/resources/characters/pipoya/su4 Student fmale 08.png similarity index 100% rename from front/dist/resources/characters/pipoya/su4 Student fmale 08.png rename to front/public/resources/characters/pipoya/su4 Student fmale 08.png diff --git a/front/dist/resources/characters/pipoya/su4 Student fmale 09.png b/front/public/resources/characters/pipoya/su4 Student fmale 09.png similarity index 100% rename from front/dist/resources/characters/pipoya/su4 Student fmale 09.png rename to front/public/resources/characters/pipoya/su4 Student fmale 09.png diff --git a/front/dist/resources/characters/pipoya/su4 Student fmale 10.png b/front/public/resources/characters/pipoya/su4 Student fmale 10.png similarity index 100% rename from front/dist/resources/characters/pipoya/su4 Student fmale 10.png rename to front/public/resources/characters/pipoya/su4 Student fmale 10.png diff --git a/front/dist/resources/characters/pipoya/su4 Student fmale 11.png b/front/public/resources/characters/pipoya/su4 Student fmale 11.png similarity index 100% rename from front/dist/resources/characters/pipoya/su4 Student fmale 11.png rename to front/public/resources/characters/pipoya/su4 Student fmale 11.png diff --git a/front/dist/resources/characters/pipoya/su4 Student fmale 12.png b/front/public/resources/characters/pipoya/su4 Student fmale 12.png similarity index 100% rename from front/dist/resources/characters/pipoya/su4 Student fmale 12.png rename to front/public/resources/characters/pipoya/su4 Student fmale 12.png diff --git a/front/dist/resources/characters/pipoya/su4 Student fmale 13.png b/front/public/resources/characters/pipoya/su4 Student fmale 13.png similarity index 100% rename from front/dist/resources/characters/pipoya/su4 Student fmale 13.png rename to front/public/resources/characters/pipoya/su4 Student fmale 13.png diff --git a/front/dist/resources/characters/pipoya/su4 Student fmale 14.png b/front/public/resources/characters/pipoya/su4 Student fmale 14.png similarity index 100% rename from front/dist/resources/characters/pipoya/su4 Student fmale 14.png rename to front/public/resources/characters/pipoya/su4 Student fmale 14.png diff --git a/front/dist/resources/characters/pipoya/su4 Student fmale 15.png b/front/public/resources/characters/pipoya/su4 Student fmale 15.png similarity index 100% rename from front/dist/resources/characters/pipoya/su4 Student fmale 15.png rename to front/public/resources/characters/pipoya/su4 Student fmale 15.png diff --git a/front/dist/resources/characters/pipoya/su4 Student fmale 16.png b/front/public/resources/characters/pipoya/su4 Student fmale 16.png similarity index 100% rename from front/dist/resources/characters/pipoya/su4 Student fmale 16.png rename to front/public/resources/characters/pipoya/su4 Student fmale 16.png diff --git a/front/dist/resources/characters/pipoya/su4 Student fmale 17.png b/front/public/resources/characters/pipoya/su4 Student fmale 17.png similarity index 100% rename from front/dist/resources/characters/pipoya/su4 Student fmale 17.png rename to front/public/resources/characters/pipoya/su4 Student fmale 17.png diff --git a/front/dist/resources/characters/pipoya/su4 Student fmale 18.png b/front/public/resources/characters/pipoya/su4 Student fmale 18.png similarity index 100% rename from front/dist/resources/characters/pipoya/su4 Student fmale 18.png rename to front/public/resources/characters/pipoya/su4 Student fmale 18.png diff --git a/front/dist/resources/characters/pipoya/su4 Student male 01.png b/front/public/resources/characters/pipoya/su4 Student male 01.png similarity index 100% rename from front/dist/resources/characters/pipoya/su4 Student male 01.png rename to front/public/resources/characters/pipoya/su4 Student male 01.png diff --git a/front/dist/resources/characters/pipoya/su4 Student male 02.png b/front/public/resources/characters/pipoya/su4 Student male 02.png similarity index 100% rename from front/dist/resources/characters/pipoya/su4 Student male 02.png rename to front/public/resources/characters/pipoya/su4 Student male 02.png diff --git a/front/dist/resources/characters/pipoya/su4 Student male 03.png b/front/public/resources/characters/pipoya/su4 Student male 03.png similarity index 100% rename from front/dist/resources/characters/pipoya/su4 Student male 03.png rename to front/public/resources/characters/pipoya/su4 Student male 03.png diff --git a/front/dist/resources/characters/pipoya/su4 Student male 04.png b/front/public/resources/characters/pipoya/su4 Student male 04.png similarity index 100% rename from front/dist/resources/characters/pipoya/su4 Student male 04.png rename to front/public/resources/characters/pipoya/su4 Student male 04.png diff --git a/front/dist/resources/characters/pipoya/su4 Student male 05.png b/front/public/resources/characters/pipoya/su4 Student male 05.png similarity index 100% rename from front/dist/resources/characters/pipoya/su4 Student male 05.png rename to front/public/resources/characters/pipoya/su4 Student male 05.png diff --git a/front/dist/resources/characters/pipoya/su4 Student male 06.png b/front/public/resources/characters/pipoya/su4 Student male 06.png similarity index 100% rename from front/dist/resources/characters/pipoya/su4 Student male 06.png rename to front/public/resources/characters/pipoya/su4 Student male 06.png diff --git a/front/dist/resources/characters/pipoya/su4 Student male 07.png b/front/public/resources/characters/pipoya/su4 Student male 07.png similarity index 100% rename from front/dist/resources/characters/pipoya/su4 Student male 07.png rename to front/public/resources/characters/pipoya/su4 Student male 07.png diff --git a/front/dist/resources/characters/pipoya/su4 Student male 08.png b/front/public/resources/characters/pipoya/su4 Student male 08.png similarity index 100% rename from front/dist/resources/characters/pipoya/su4 Student male 08.png rename to front/public/resources/characters/pipoya/su4 Student male 08.png diff --git a/front/dist/resources/characters/pipoya/su4 Student male 09.png b/front/public/resources/characters/pipoya/su4 Student male 09.png similarity index 100% rename from front/dist/resources/characters/pipoya/su4 Student male 09.png rename to front/public/resources/characters/pipoya/su4 Student male 09.png diff --git a/front/dist/resources/characters/pipoya/su4 Student male 10.png b/front/public/resources/characters/pipoya/su4 Student male 10.png similarity index 100% rename from front/dist/resources/characters/pipoya/su4 Student male 10.png rename to front/public/resources/characters/pipoya/su4 Student male 10.png diff --git a/front/dist/resources/characters/pipoya/su4 Student male 11.png b/front/public/resources/characters/pipoya/su4 Student male 11.png similarity index 100% rename from front/dist/resources/characters/pipoya/su4 Student male 11.png rename to front/public/resources/characters/pipoya/su4 Student male 11.png diff --git a/front/dist/resources/characters/pipoya/su4 Student male 12.png b/front/public/resources/characters/pipoya/su4 Student male 12.png similarity index 100% rename from front/dist/resources/characters/pipoya/su4 Student male 12.png rename to front/public/resources/characters/pipoya/su4 Student male 12.png diff --git a/front/dist/resources/characters/pipoya/su4 Student male 13.png b/front/public/resources/characters/pipoya/su4 Student male 13.png similarity index 100% rename from front/dist/resources/characters/pipoya/su4 Student male 13.png rename to front/public/resources/characters/pipoya/su4 Student male 13.png diff --git a/front/dist/resources/customisation/character_accessories/character_accessories1.png b/front/public/resources/customisation/character_accessories/character_accessories1.png similarity index 100% rename from front/dist/resources/customisation/character_accessories/character_accessories1.png rename to front/public/resources/customisation/character_accessories/character_accessories1.png diff --git a/front/dist/resources/customisation/character_accessories/character_accessories10.png b/front/public/resources/customisation/character_accessories/character_accessories10.png similarity index 100% rename from front/dist/resources/customisation/character_accessories/character_accessories10.png rename to front/public/resources/customisation/character_accessories/character_accessories10.png diff --git a/front/dist/resources/customisation/character_accessories/character_accessories11.png b/front/public/resources/customisation/character_accessories/character_accessories11.png similarity index 100% rename from front/dist/resources/customisation/character_accessories/character_accessories11.png rename to front/public/resources/customisation/character_accessories/character_accessories11.png diff --git a/front/dist/resources/customisation/character_accessories/character_accessories12.png b/front/public/resources/customisation/character_accessories/character_accessories12.png similarity index 100% rename from front/dist/resources/customisation/character_accessories/character_accessories12.png rename to front/public/resources/customisation/character_accessories/character_accessories12.png diff --git a/front/dist/resources/customisation/character_accessories/character_accessories13.png b/front/public/resources/customisation/character_accessories/character_accessories13.png similarity index 100% rename from front/dist/resources/customisation/character_accessories/character_accessories13.png rename to front/public/resources/customisation/character_accessories/character_accessories13.png diff --git a/front/dist/resources/customisation/character_accessories/character_accessories14.png b/front/public/resources/customisation/character_accessories/character_accessories14.png similarity index 100% rename from front/dist/resources/customisation/character_accessories/character_accessories14.png rename to front/public/resources/customisation/character_accessories/character_accessories14.png diff --git a/front/dist/resources/customisation/character_accessories/character_accessories15.png b/front/public/resources/customisation/character_accessories/character_accessories15.png similarity index 100% rename from front/dist/resources/customisation/character_accessories/character_accessories15.png rename to front/public/resources/customisation/character_accessories/character_accessories15.png diff --git a/front/dist/resources/customisation/character_accessories/character_accessories16.png b/front/public/resources/customisation/character_accessories/character_accessories16.png similarity index 100% rename from front/dist/resources/customisation/character_accessories/character_accessories16.png rename to front/public/resources/customisation/character_accessories/character_accessories16.png diff --git a/front/dist/resources/customisation/character_accessories/character_accessories17.png b/front/public/resources/customisation/character_accessories/character_accessories17.png similarity index 100% rename from front/dist/resources/customisation/character_accessories/character_accessories17.png rename to front/public/resources/customisation/character_accessories/character_accessories17.png diff --git a/front/dist/resources/customisation/character_accessories/character_accessories18.png b/front/public/resources/customisation/character_accessories/character_accessories18.png similarity index 100% rename from front/dist/resources/customisation/character_accessories/character_accessories18.png rename to front/public/resources/customisation/character_accessories/character_accessories18.png diff --git a/front/dist/resources/customisation/character_accessories/character_accessories19.png b/front/public/resources/customisation/character_accessories/character_accessories19.png similarity index 100% rename from front/dist/resources/customisation/character_accessories/character_accessories19.png rename to front/public/resources/customisation/character_accessories/character_accessories19.png diff --git a/front/dist/resources/customisation/character_accessories/character_accessories2.png b/front/public/resources/customisation/character_accessories/character_accessories2.png similarity index 100% rename from front/dist/resources/customisation/character_accessories/character_accessories2.png rename to front/public/resources/customisation/character_accessories/character_accessories2.png diff --git a/front/dist/resources/customisation/character_accessories/character_accessories20.png b/front/public/resources/customisation/character_accessories/character_accessories20.png similarity index 100% rename from front/dist/resources/customisation/character_accessories/character_accessories20.png rename to front/public/resources/customisation/character_accessories/character_accessories20.png diff --git a/front/dist/resources/customisation/character_accessories/character_accessories21.png b/front/public/resources/customisation/character_accessories/character_accessories21.png similarity index 100% rename from front/dist/resources/customisation/character_accessories/character_accessories21.png rename to front/public/resources/customisation/character_accessories/character_accessories21.png diff --git a/front/dist/resources/customisation/character_accessories/character_accessories22.png b/front/public/resources/customisation/character_accessories/character_accessories22.png similarity index 100% rename from front/dist/resources/customisation/character_accessories/character_accessories22.png rename to front/public/resources/customisation/character_accessories/character_accessories22.png diff --git a/front/dist/resources/customisation/character_accessories/character_accessories23.png b/front/public/resources/customisation/character_accessories/character_accessories23.png similarity index 100% rename from front/dist/resources/customisation/character_accessories/character_accessories23.png rename to front/public/resources/customisation/character_accessories/character_accessories23.png diff --git a/front/dist/resources/customisation/character_accessories/character_accessories24.png b/front/public/resources/customisation/character_accessories/character_accessories24.png similarity index 100% rename from front/dist/resources/customisation/character_accessories/character_accessories24.png rename to front/public/resources/customisation/character_accessories/character_accessories24.png diff --git a/front/dist/resources/customisation/character_accessories/character_accessories25.png b/front/public/resources/customisation/character_accessories/character_accessories25.png similarity index 100% rename from front/dist/resources/customisation/character_accessories/character_accessories25.png rename to front/public/resources/customisation/character_accessories/character_accessories25.png diff --git a/front/dist/resources/customisation/character_accessories/character_accessories26.png b/front/public/resources/customisation/character_accessories/character_accessories26.png similarity index 100% rename from front/dist/resources/customisation/character_accessories/character_accessories26.png rename to front/public/resources/customisation/character_accessories/character_accessories26.png diff --git a/front/dist/resources/customisation/character_accessories/character_accessories27.png b/front/public/resources/customisation/character_accessories/character_accessories27.png similarity index 100% rename from front/dist/resources/customisation/character_accessories/character_accessories27.png rename to front/public/resources/customisation/character_accessories/character_accessories27.png diff --git a/front/dist/resources/customisation/character_accessories/character_accessories28.png b/front/public/resources/customisation/character_accessories/character_accessories28.png similarity index 100% rename from front/dist/resources/customisation/character_accessories/character_accessories28.png rename to front/public/resources/customisation/character_accessories/character_accessories28.png diff --git a/front/dist/resources/customisation/character_accessories/character_accessories29.png b/front/public/resources/customisation/character_accessories/character_accessories29.png similarity index 100% rename from front/dist/resources/customisation/character_accessories/character_accessories29.png rename to front/public/resources/customisation/character_accessories/character_accessories29.png diff --git a/front/dist/resources/customisation/character_accessories/character_accessories3.png b/front/public/resources/customisation/character_accessories/character_accessories3.png similarity index 100% rename from front/dist/resources/customisation/character_accessories/character_accessories3.png rename to front/public/resources/customisation/character_accessories/character_accessories3.png diff --git a/front/dist/resources/customisation/character_accessories/character_accessories30.png b/front/public/resources/customisation/character_accessories/character_accessories30.png similarity index 100% rename from front/dist/resources/customisation/character_accessories/character_accessories30.png rename to front/public/resources/customisation/character_accessories/character_accessories30.png diff --git a/front/dist/resources/customisation/character_accessories/character_accessories31.png b/front/public/resources/customisation/character_accessories/character_accessories31.png similarity index 100% rename from front/dist/resources/customisation/character_accessories/character_accessories31.png rename to front/public/resources/customisation/character_accessories/character_accessories31.png diff --git a/front/dist/resources/customisation/character_accessories/character_accessories32.png b/front/public/resources/customisation/character_accessories/character_accessories32.png similarity index 100% rename from front/dist/resources/customisation/character_accessories/character_accessories32.png rename to front/public/resources/customisation/character_accessories/character_accessories32.png diff --git a/front/dist/resources/customisation/character_accessories/character_accessories4.png b/front/public/resources/customisation/character_accessories/character_accessories4.png similarity index 100% rename from front/dist/resources/customisation/character_accessories/character_accessories4.png rename to front/public/resources/customisation/character_accessories/character_accessories4.png diff --git a/front/dist/resources/customisation/character_accessories/character_accessories5.png b/front/public/resources/customisation/character_accessories/character_accessories5.png similarity index 100% rename from front/dist/resources/customisation/character_accessories/character_accessories5.png rename to front/public/resources/customisation/character_accessories/character_accessories5.png diff --git a/front/dist/resources/customisation/character_accessories/character_accessories6.png b/front/public/resources/customisation/character_accessories/character_accessories6.png similarity index 100% rename from front/dist/resources/customisation/character_accessories/character_accessories6.png rename to front/public/resources/customisation/character_accessories/character_accessories6.png diff --git a/front/dist/resources/customisation/character_accessories/character_accessories7.png b/front/public/resources/customisation/character_accessories/character_accessories7.png similarity index 100% rename from front/dist/resources/customisation/character_accessories/character_accessories7.png rename to front/public/resources/customisation/character_accessories/character_accessories7.png diff --git a/front/dist/resources/customisation/character_accessories/character_accessories8.png b/front/public/resources/customisation/character_accessories/character_accessories8.png similarity index 100% rename from front/dist/resources/customisation/character_accessories/character_accessories8.png rename to front/public/resources/customisation/character_accessories/character_accessories8.png diff --git a/front/dist/resources/customisation/character_accessories/character_accessories9.png b/front/public/resources/customisation/character_accessories/character_accessories9.png similarity index 100% rename from front/dist/resources/customisation/character_accessories/character_accessories9.png rename to front/public/resources/customisation/character_accessories/character_accessories9.png diff --git a/front/dist/resources/customisation/character_accessories/mask.png b/front/public/resources/customisation/character_accessories/mask.png similarity index 100% rename from front/dist/resources/customisation/character_accessories/mask.png rename to front/public/resources/customisation/character_accessories/mask.png diff --git a/front/dist/resources/customisation/character_accessories/mate_bottle1.png b/front/public/resources/customisation/character_accessories/mate_bottle1.png similarity index 100% rename from front/dist/resources/customisation/character_accessories/mate_bottle1.png rename to front/public/resources/customisation/character_accessories/mate_bottle1.png diff --git a/front/dist/resources/customisation/character_clothes/black_hoodie.png b/front/public/resources/customisation/character_clothes/black_hoodie.png similarity index 100% rename from front/dist/resources/customisation/character_clothes/black_hoodie.png rename to front/public/resources/customisation/character_clothes/black_hoodie.png diff --git a/front/dist/resources/customisation/character_clothes/character_clothes0.png b/front/public/resources/customisation/character_clothes/character_clothes0.png similarity index 100% rename from front/dist/resources/customisation/character_clothes/character_clothes0.png rename to front/public/resources/customisation/character_clothes/character_clothes0.png diff --git a/front/dist/resources/customisation/character_clothes/character_clothes1.png b/front/public/resources/customisation/character_clothes/character_clothes1.png similarity index 100% rename from front/dist/resources/customisation/character_clothes/character_clothes1.png rename to front/public/resources/customisation/character_clothes/character_clothes1.png diff --git a/front/dist/resources/customisation/character_clothes/character_clothes10.png b/front/public/resources/customisation/character_clothes/character_clothes10.png similarity index 100% rename from front/dist/resources/customisation/character_clothes/character_clothes10.png rename to front/public/resources/customisation/character_clothes/character_clothes10.png diff --git a/front/dist/resources/customisation/character_clothes/character_clothes11.png b/front/public/resources/customisation/character_clothes/character_clothes11.png similarity index 100% rename from front/dist/resources/customisation/character_clothes/character_clothes11.png rename to front/public/resources/customisation/character_clothes/character_clothes11.png diff --git a/front/dist/resources/customisation/character_clothes/character_clothes12.png b/front/public/resources/customisation/character_clothes/character_clothes12.png similarity index 100% rename from front/dist/resources/customisation/character_clothes/character_clothes12.png rename to front/public/resources/customisation/character_clothes/character_clothes12.png diff --git a/front/dist/resources/customisation/character_clothes/character_clothes13.png b/front/public/resources/customisation/character_clothes/character_clothes13.png similarity index 100% rename from front/dist/resources/customisation/character_clothes/character_clothes13.png rename to front/public/resources/customisation/character_clothes/character_clothes13.png diff --git a/front/dist/resources/customisation/character_clothes/character_clothes14.png b/front/public/resources/customisation/character_clothes/character_clothes14.png similarity index 100% rename from front/dist/resources/customisation/character_clothes/character_clothes14.png rename to front/public/resources/customisation/character_clothes/character_clothes14.png diff --git a/front/dist/resources/customisation/character_clothes/character_clothes15.png b/front/public/resources/customisation/character_clothes/character_clothes15.png similarity index 100% rename from front/dist/resources/customisation/character_clothes/character_clothes15.png rename to front/public/resources/customisation/character_clothes/character_clothes15.png diff --git a/front/dist/resources/customisation/character_clothes/character_clothes16.png b/front/public/resources/customisation/character_clothes/character_clothes16.png similarity index 100% rename from front/dist/resources/customisation/character_clothes/character_clothes16.png rename to front/public/resources/customisation/character_clothes/character_clothes16.png diff --git a/front/dist/resources/customisation/character_clothes/character_clothes17.png b/front/public/resources/customisation/character_clothes/character_clothes17.png similarity index 100% rename from front/dist/resources/customisation/character_clothes/character_clothes17.png rename to front/public/resources/customisation/character_clothes/character_clothes17.png diff --git a/front/dist/resources/customisation/character_clothes/character_clothes18.png b/front/public/resources/customisation/character_clothes/character_clothes18.png similarity index 100% rename from front/dist/resources/customisation/character_clothes/character_clothes18.png rename to front/public/resources/customisation/character_clothes/character_clothes18.png diff --git a/front/dist/resources/customisation/character_clothes/character_clothes19.png b/front/public/resources/customisation/character_clothes/character_clothes19.png similarity index 100% rename from front/dist/resources/customisation/character_clothes/character_clothes19.png rename to front/public/resources/customisation/character_clothes/character_clothes19.png diff --git a/front/dist/resources/customisation/character_clothes/character_clothes2.png b/front/public/resources/customisation/character_clothes/character_clothes2.png similarity index 100% rename from front/dist/resources/customisation/character_clothes/character_clothes2.png rename to front/public/resources/customisation/character_clothes/character_clothes2.png diff --git a/front/dist/resources/customisation/character_clothes/character_clothes20.png b/front/public/resources/customisation/character_clothes/character_clothes20.png similarity index 100% rename from front/dist/resources/customisation/character_clothes/character_clothes20.png rename to front/public/resources/customisation/character_clothes/character_clothes20.png diff --git a/front/dist/resources/customisation/character_clothes/character_clothes21.png b/front/public/resources/customisation/character_clothes/character_clothes21.png similarity index 100% rename from front/dist/resources/customisation/character_clothes/character_clothes21.png rename to front/public/resources/customisation/character_clothes/character_clothes21.png diff --git a/front/dist/resources/customisation/character_clothes/character_clothes22.png b/front/public/resources/customisation/character_clothes/character_clothes22.png similarity index 100% rename from front/dist/resources/customisation/character_clothes/character_clothes22.png rename to front/public/resources/customisation/character_clothes/character_clothes22.png diff --git a/front/dist/resources/customisation/character_clothes/character_clothes23.png b/front/public/resources/customisation/character_clothes/character_clothes23.png similarity index 100% rename from front/dist/resources/customisation/character_clothes/character_clothes23.png rename to front/public/resources/customisation/character_clothes/character_clothes23.png diff --git a/front/dist/resources/customisation/character_clothes/character_clothes24.png b/front/public/resources/customisation/character_clothes/character_clothes24.png similarity index 100% rename from front/dist/resources/customisation/character_clothes/character_clothes24.png rename to front/public/resources/customisation/character_clothes/character_clothes24.png diff --git a/front/dist/resources/customisation/character_clothes/character_clothes25.png b/front/public/resources/customisation/character_clothes/character_clothes25.png similarity index 100% rename from front/dist/resources/customisation/character_clothes/character_clothes25.png rename to front/public/resources/customisation/character_clothes/character_clothes25.png diff --git a/front/dist/resources/customisation/character_clothes/character_clothes26.png b/front/public/resources/customisation/character_clothes/character_clothes26.png similarity index 100% rename from front/dist/resources/customisation/character_clothes/character_clothes26.png rename to front/public/resources/customisation/character_clothes/character_clothes26.png diff --git a/front/dist/resources/customisation/character_clothes/character_clothes27.png b/front/public/resources/customisation/character_clothes/character_clothes27.png similarity index 100% rename from front/dist/resources/customisation/character_clothes/character_clothes27.png rename to front/public/resources/customisation/character_clothes/character_clothes27.png diff --git a/front/dist/resources/customisation/character_clothes/character_clothes28.png b/front/public/resources/customisation/character_clothes/character_clothes28.png similarity index 100% rename from front/dist/resources/customisation/character_clothes/character_clothes28.png rename to front/public/resources/customisation/character_clothes/character_clothes28.png diff --git a/front/dist/resources/customisation/character_clothes/character_clothes29.png b/front/public/resources/customisation/character_clothes/character_clothes29.png similarity index 100% rename from front/dist/resources/customisation/character_clothes/character_clothes29.png rename to front/public/resources/customisation/character_clothes/character_clothes29.png diff --git a/front/dist/resources/customisation/character_clothes/character_clothes3.png b/front/public/resources/customisation/character_clothes/character_clothes3.png similarity index 100% rename from front/dist/resources/customisation/character_clothes/character_clothes3.png rename to front/public/resources/customisation/character_clothes/character_clothes3.png diff --git a/front/dist/resources/customisation/character_clothes/character_clothes30.png b/front/public/resources/customisation/character_clothes/character_clothes30.png similarity index 100% rename from front/dist/resources/customisation/character_clothes/character_clothes30.png rename to front/public/resources/customisation/character_clothes/character_clothes30.png diff --git a/front/dist/resources/customisation/character_clothes/character_clothes31.png b/front/public/resources/customisation/character_clothes/character_clothes31.png similarity index 100% rename from front/dist/resources/customisation/character_clothes/character_clothes31.png rename to front/public/resources/customisation/character_clothes/character_clothes31.png diff --git a/front/dist/resources/customisation/character_clothes/character_clothes32.png b/front/public/resources/customisation/character_clothes/character_clothes32.png similarity index 100% rename from front/dist/resources/customisation/character_clothes/character_clothes32.png rename to front/public/resources/customisation/character_clothes/character_clothes32.png diff --git a/front/dist/resources/customisation/character_clothes/character_clothes33.png b/front/public/resources/customisation/character_clothes/character_clothes33.png similarity index 100% rename from front/dist/resources/customisation/character_clothes/character_clothes33.png rename to front/public/resources/customisation/character_clothes/character_clothes33.png diff --git a/front/dist/resources/customisation/character_clothes/character_clothes34.png b/front/public/resources/customisation/character_clothes/character_clothes34.png similarity index 100% rename from front/dist/resources/customisation/character_clothes/character_clothes34.png rename to front/public/resources/customisation/character_clothes/character_clothes34.png diff --git a/front/dist/resources/customisation/character_clothes/character_clothes35.png b/front/public/resources/customisation/character_clothes/character_clothes35.png similarity index 100% rename from front/dist/resources/customisation/character_clothes/character_clothes35.png rename to front/public/resources/customisation/character_clothes/character_clothes35.png diff --git a/front/dist/resources/customisation/character_clothes/character_clothes36.png b/front/public/resources/customisation/character_clothes/character_clothes36.png similarity index 100% rename from front/dist/resources/customisation/character_clothes/character_clothes36.png rename to front/public/resources/customisation/character_clothes/character_clothes36.png diff --git a/front/dist/resources/customisation/character_clothes/character_clothes37.png b/front/public/resources/customisation/character_clothes/character_clothes37.png similarity index 100% rename from front/dist/resources/customisation/character_clothes/character_clothes37.png rename to front/public/resources/customisation/character_clothes/character_clothes37.png diff --git a/front/dist/resources/customisation/character_clothes/character_clothes38.png b/front/public/resources/customisation/character_clothes/character_clothes38.png similarity index 100% rename from front/dist/resources/customisation/character_clothes/character_clothes38.png rename to front/public/resources/customisation/character_clothes/character_clothes38.png diff --git a/front/dist/resources/customisation/character_clothes/character_clothes39.png b/front/public/resources/customisation/character_clothes/character_clothes39.png similarity index 100% rename from front/dist/resources/customisation/character_clothes/character_clothes39.png rename to front/public/resources/customisation/character_clothes/character_clothes39.png diff --git a/front/dist/resources/customisation/character_clothes/character_clothes4.png b/front/public/resources/customisation/character_clothes/character_clothes4.png similarity index 100% rename from front/dist/resources/customisation/character_clothes/character_clothes4.png rename to front/public/resources/customisation/character_clothes/character_clothes4.png diff --git a/front/dist/resources/customisation/character_clothes/character_clothes40.png b/front/public/resources/customisation/character_clothes/character_clothes40.png similarity index 100% rename from front/dist/resources/customisation/character_clothes/character_clothes40.png rename to front/public/resources/customisation/character_clothes/character_clothes40.png diff --git a/front/dist/resources/customisation/character_clothes/character_clothes41.png b/front/public/resources/customisation/character_clothes/character_clothes41.png similarity index 100% rename from front/dist/resources/customisation/character_clothes/character_clothes41.png rename to front/public/resources/customisation/character_clothes/character_clothes41.png diff --git a/front/dist/resources/customisation/character_clothes/character_clothes42.png b/front/public/resources/customisation/character_clothes/character_clothes42.png similarity index 100% rename from front/dist/resources/customisation/character_clothes/character_clothes42.png rename to front/public/resources/customisation/character_clothes/character_clothes42.png diff --git a/front/dist/resources/customisation/character_clothes/character_clothes43.png b/front/public/resources/customisation/character_clothes/character_clothes43.png similarity index 100% rename from front/dist/resources/customisation/character_clothes/character_clothes43.png rename to front/public/resources/customisation/character_clothes/character_clothes43.png diff --git a/front/dist/resources/customisation/character_clothes/character_clothes44.png b/front/public/resources/customisation/character_clothes/character_clothes44.png similarity index 100% rename from front/dist/resources/customisation/character_clothes/character_clothes44.png rename to front/public/resources/customisation/character_clothes/character_clothes44.png diff --git a/front/dist/resources/customisation/character_clothes/character_clothes45.png b/front/public/resources/customisation/character_clothes/character_clothes45.png similarity index 100% rename from front/dist/resources/customisation/character_clothes/character_clothes45.png rename to front/public/resources/customisation/character_clothes/character_clothes45.png diff --git a/front/dist/resources/customisation/character_clothes/character_clothes46.png b/front/public/resources/customisation/character_clothes/character_clothes46.png similarity index 100% rename from front/dist/resources/customisation/character_clothes/character_clothes46.png rename to front/public/resources/customisation/character_clothes/character_clothes46.png diff --git a/front/dist/resources/customisation/character_clothes/character_clothes47.png b/front/public/resources/customisation/character_clothes/character_clothes47.png similarity index 100% rename from front/dist/resources/customisation/character_clothes/character_clothes47.png rename to front/public/resources/customisation/character_clothes/character_clothes47.png diff --git a/front/dist/resources/customisation/character_clothes/character_clothes48.png b/front/public/resources/customisation/character_clothes/character_clothes48.png similarity index 100% rename from front/dist/resources/customisation/character_clothes/character_clothes48.png rename to front/public/resources/customisation/character_clothes/character_clothes48.png diff --git a/front/dist/resources/customisation/character_clothes/character_clothes49.png b/front/public/resources/customisation/character_clothes/character_clothes49.png similarity index 100% rename from front/dist/resources/customisation/character_clothes/character_clothes49.png rename to front/public/resources/customisation/character_clothes/character_clothes49.png diff --git a/front/dist/resources/customisation/character_clothes/character_clothes5.png b/front/public/resources/customisation/character_clothes/character_clothes5.png similarity index 100% rename from front/dist/resources/customisation/character_clothes/character_clothes5.png rename to front/public/resources/customisation/character_clothes/character_clothes5.png diff --git a/front/dist/resources/customisation/character_clothes/character_clothes50.png b/front/public/resources/customisation/character_clothes/character_clothes50.png similarity index 100% rename from front/dist/resources/customisation/character_clothes/character_clothes50.png rename to front/public/resources/customisation/character_clothes/character_clothes50.png diff --git a/front/dist/resources/customisation/character_clothes/character_clothes51.png b/front/public/resources/customisation/character_clothes/character_clothes51.png similarity index 100% rename from front/dist/resources/customisation/character_clothes/character_clothes51.png rename to front/public/resources/customisation/character_clothes/character_clothes51.png diff --git a/front/dist/resources/customisation/character_clothes/character_clothes52.png b/front/public/resources/customisation/character_clothes/character_clothes52.png similarity index 100% rename from front/dist/resources/customisation/character_clothes/character_clothes52.png rename to front/public/resources/customisation/character_clothes/character_clothes52.png diff --git a/front/dist/resources/customisation/character_clothes/character_clothes53.png b/front/public/resources/customisation/character_clothes/character_clothes53.png similarity index 100% rename from front/dist/resources/customisation/character_clothes/character_clothes53.png rename to front/public/resources/customisation/character_clothes/character_clothes53.png diff --git a/front/dist/resources/customisation/character_clothes/character_clothes54.png b/front/public/resources/customisation/character_clothes/character_clothes54.png similarity index 100% rename from front/dist/resources/customisation/character_clothes/character_clothes54.png rename to front/public/resources/customisation/character_clothes/character_clothes54.png diff --git a/front/dist/resources/customisation/character_clothes/character_clothes55.png b/front/public/resources/customisation/character_clothes/character_clothes55.png similarity index 100% rename from front/dist/resources/customisation/character_clothes/character_clothes55.png rename to front/public/resources/customisation/character_clothes/character_clothes55.png diff --git a/front/dist/resources/customisation/character_clothes/character_clothes56.png b/front/public/resources/customisation/character_clothes/character_clothes56.png similarity index 100% rename from front/dist/resources/customisation/character_clothes/character_clothes56.png rename to front/public/resources/customisation/character_clothes/character_clothes56.png diff --git a/front/dist/resources/customisation/character_clothes/character_clothes57.png b/front/public/resources/customisation/character_clothes/character_clothes57.png similarity index 100% rename from front/dist/resources/customisation/character_clothes/character_clothes57.png rename to front/public/resources/customisation/character_clothes/character_clothes57.png diff --git a/front/dist/resources/customisation/character_clothes/character_clothes58.png b/front/public/resources/customisation/character_clothes/character_clothes58.png similarity index 100% rename from front/dist/resources/customisation/character_clothes/character_clothes58.png rename to front/public/resources/customisation/character_clothes/character_clothes58.png diff --git a/front/dist/resources/customisation/character_clothes/character_clothes59.png b/front/public/resources/customisation/character_clothes/character_clothes59.png similarity index 100% rename from front/dist/resources/customisation/character_clothes/character_clothes59.png rename to front/public/resources/customisation/character_clothes/character_clothes59.png diff --git a/front/dist/resources/customisation/character_clothes/character_clothes6.png b/front/public/resources/customisation/character_clothes/character_clothes6.png similarity index 100% rename from front/dist/resources/customisation/character_clothes/character_clothes6.png rename to front/public/resources/customisation/character_clothes/character_clothes6.png diff --git a/front/dist/resources/customisation/character_clothes/character_clothes60.png b/front/public/resources/customisation/character_clothes/character_clothes60.png similarity index 100% rename from front/dist/resources/customisation/character_clothes/character_clothes60.png rename to front/public/resources/customisation/character_clothes/character_clothes60.png diff --git a/front/dist/resources/customisation/character_clothes/character_clothes61.png b/front/public/resources/customisation/character_clothes/character_clothes61.png similarity index 100% rename from front/dist/resources/customisation/character_clothes/character_clothes61.png rename to front/public/resources/customisation/character_clothes/character_clothes61.png diff --git a/front/dist/resources/customisation/character_clothes/character_clothes62.png b/front/public/resources/customisation/character_clothes/character_clothes62.png similarity index 100% rename from front/dist/resources/customisation/character_clothes/character_clothes62.png rename to front/public/resources/customisation/character_clothes/character_clothes62.png diff --git a/front/dist/resources/customisation/character_clothes/character_clothes63.png b/front/public/resources/customisation/character_clothes/character_clothes63.png similarity index 100% rename from front/dist/resources/customisation/character_clothes/character_clothes63.png rename to front/public/resources/customisation/character_clothes/character_clothes63.png diff --git a/front/dist/resources/customisation/character_clothes/character_clothes64.png b/front/public/resources/customisation/character_clothes/character_clothes64.png similarity index 100% rename from front/dist/resources/customisation/character_clothes/character_clothes64.png rename to front/public/resources/customisation/character_clothes/character_clothes64.png diff --git a/front/dist/resources/customisation/character_clothes/character_clothes65.png b/front/public/resources/customisation/character_clothes/character_clothes65.png similarity index 100% rename from front/dist/resources/customisation/character_clothes/character_clothes65.png rename to front/public/resources/customisation/character_clothes/character_clothes65.png diff --git a/front/dist/resources/customisation/character_clothes/character_clothes66.png b/front/public/resources/customisation/character_clothes/character_clothes66.png similarity index 100% rename from front/dist/resources/customisation/character_clothes/character_clothes66.png rename to front/public/resources/customisation/character_clothes/character_clothes66.png diff --git a/front/dist/resources/customisation/character_clothes/character_clothes67.png b/front/public/resources/customisation/character_clothes/character_clothes67.png similarity index 100% rename from front/dist/resources/customisation/character_clothes/character_clothes67.png rename to front/public/resources/customisation/character_clothes/character_clothes67.png diff --git a/front/dist/resources/customisation/character_clothes/character_clothes68.png b/front/public/resources/customisation/character_clothes/character_clothes68.png similarity index 100% rename from front/dist/resources/customisation/character_clothes/character_clothes68.png rename to front/public/resources/customisation/character_clothes/character_clothes68.png diff --git a/front/dist/resources/customisation/character_clothes/character_clothes69.png b/front/public/resources/customisation/character_clothes/character_clothes69.png similarity index 100% rename from front/dist/resources/customisation/character_clothes/character_clothes69.png rename to front/public/resources/customisation/character_clothes/character_clothes69.png diff --git a/front/dist/resources/customisation/character_clothes/character_clothes7.png b/front/public/resources/customisation/character_clothes/character_clothes7.png similarity index 100% rename from front/dist/resources/customisation/character_clothes/character_clothes7.png rename to front/public/resources/customisation/character_clothes/character_clothes7.png diff --git a/front/dist/resources/customisation/character_clothes/character_clothes8.png b/front/public/resources/customisation/character_clothes/character_clothes8.png similarity index 100% rename from front/dist/resources/customisation/character_clothes/character_clothes8.png rename to front/public/resources/customisation/character_clothes/character_clothes8.png diff --git a/front/dist/resources/customisation/character_clothes/character_clothes9.png b/front/public/resources/customisation/character_clothes/character_clothes9.png similarity index 100% rename from front/dist/resources/customisation/character_clothes/character_clothes9.png rename to front/public/resources/customisation/character_clothes/character_clothes9.png diff --git a/front/dist/resources/customisation/character_clothes/engelbert.png b/front/public/resources/customisation/character_clothes/engelbert.png similarity index 100% rename from front/dist/resources/customisation/character_clothes/engelbert.png rename to front/public/resources/customisation/character_clothes/engelbert.png diff --git a/front/dist/resources/customisation/character_clothes/pride_shirt.png b/front/public/resources/customisation/character_clothes/pride_shirt.png similarity index 100% rename from front/dist/resources/customisation/character_clothes/pride_shirt.png rename to front/public/resources/customisation/character_clothes/pride_shirt.png diff --git a/front/dist/resources/customisation/character_clothes/white_hoodie.png b/front/public/resources/customisation/character_clothes/white_hoodie.png similarity index 100% rename from front/dist/resources/customisation/character_clothes/white_hoodie.png rename to front/public/resources/customisation/character_clothes/white_hoodie.png diff --git a/front/dist/resources/customisation/character_color/_‚È‚µ.png b/front/public/resources/customisation/character_color/_‚È‚µ.png similarity index 100% rename from front/dist/resources/customisation/character_color/_‚È‚µ.png rename to front/public/resources/customisation/character_color/_‚È‚µ.png diff --git a/front/dist/resources/customisation/character_color/character_color0.png b/front/public/resources/customisation/character_color/character_color0.png similarity index 100% rename from front/dist/resources/customisation/character_color/character_color0.png rename to front/public/resources/customisation/character_color/character_color0.png diff --git a/front/dist/resources/customisation/character_color/character_color1.png b/front/public/resources/customisation/character_color/character_color1.png similarity index 100% rename from front/dist/resources/customisation/character_color/character_color1.png rename to front/public/resources/customisation/character_color/character_color1.png diff --git a/front/dist/resources/customisation/character_color/character_color10.png b/front/public/resources/customisation/character_color/character_color10.png similarity index 100% rename from front/dist/resources/customisation/character_color/character_color10.png rename to front/public/resources/customisation/character_color/character_color10.png diff --git a/front/dist/resources/customisation/character_color/character_color11.png b/front/public/resources/customisation/character_color/character_color11.png similarity index 100% rename from front/dist/resources/customisation/character_color/character_color11.png rename to front/public/resources/customisation/character_color/character_color11.png diff --git a/front/dist/resources/customisation/character_color/character_color12.png b/front/public/resources/customisation/character_color/character_color12.png similarity index 100% rename from front/dist/resources/customisation/character_color/character_color12.png rename to front/public/resources/customisation/character_color/character_color12.png diff --git a/front/dist/resources/customisation/character_color/character_color13.png b/front/public/resources/customisation/character_color/character_color13.png similarity index 100% rename from front/dist/resources/customisation/character_color/character_color13.png rename to front/public/resources/customisation/character_color/character_color13.png diff --git a/front/dist/resources/customisation/character_color/character_color14.png b/front/public/resources/customisation/character_color/character_color14.png similarity index 100% rename from front/dist/resources/customisation/character_color/character_color14.png rename to front/public/resources/customisation/character_color/character_color14.png diff --git a/front/dist/resources/customisation/character_color/character_color15.png b/front/public/resources/customisation/character_color/character_color15.png similarity index 100% rename from front/dist/resources/customisation/character_color/character_color15.png rename to front/public/resources/customisation/character_color/character_color15.png diff --git a/front/dist/resources/customisation/character_color/character_color16.png b/front/public/resources/customisation/character_color/character_color16.png similarity index 100% rename from front/dist/resources/customisation/character_color/character_color16.png rename to front/public/resources/customisation/character_color/character_color16.png diff --git a/front/dist/resources/customisation/character_color/character_color17.png b/front/public/resources/customisation/character_color/character_color17.png similarity index 100% rename from front/dist/resources/customisation/character_color/character_color17.png rename to front/public/resources/customisation/character_color/character_color17.png diff --git a/front/dist/resources/customisation/character_color/character_color18.png b/front/public/resources/customisation/character_color/character_color18.png similarity index 100% rename from front/dist/resources/customisation/character_color/character_color18.png rename to front/public/resources/customisation/character_color/character_color18.png diff --git a/front/dist/resources/customisation/character_color/character_color19.png b/front/public/resources/customisation/character_color/character_color19.png similarity index 100% rename from front/dist/resources/customisation/character_color/character_color19.png rename to front/public/resources/customisation/character_color/character_color19.png diff --git a/front/dist/resources/customisation/character_color/character_color2.png b/front/public/resources/customisation/character_color/character_color2.png similarity index 100% rename from front/dist/resources/customisation/character_color/character_color2.png rename to front/public/resources/customisation/character_color/character_color2.png diff --git a/front/dist/resources/customisation/character_color/character_color20.png b/front/public/resources/customisation/character_color/character_color20.png similarity index 100% rename from front/dist/resources/customisation/character_color/character_color20.png rename to front/public/resources/customisation/character_color/character_color20.png diff --git a/front/dist/resources/customisation/character_color/character_color21.png b/front/public/resources/customisation/character_color/character_color21.png similarity index 100% rename from front/dist/resources/customisation/character_color/character_color21.png rename to front/public/resources/customisation/character_color/character_color21.png diff --git a/front/dist/resources/customisation/character_color/character_color22.png b/front/public/resources/customisation/character_color/character_color22.png similarity index 100% rename from front/dist/resources/customisation/character_color/character_color22.png rename to front/public/resources/customisation/character_color/character_color22.png diff --git a/front/dist/resources/customisation/character_color/character_color23.png b/front/public/resources/customisation/character_color/character_color23.png similarity index 100% rename from front/dist/resources/customisation/character_color/character_color23.png rename to front/public/resources/customisation/character_color/character_color23.png diff --git a/front/dist/resources/customisation/character_color/character_color24.png b/front/public/resources/customisation/character_color/character_color24.png similarity index 100% rename from front/dist/resources/customisation/character_color/character_color24.png rename to front/public/resources/customisation/character_color/character_color24.png diff --git a/front/dist/resources/customisation/character_color/character_color25.png b/front/public/resources/customisation/character_color/character_color25.png similarity index 100% rename from front/dist/resources/customisation/character_color/character_color25.png rename to front/public/resources/customisation/character_color/character_color25.png diff --git a/front/dist/resources/customisation/character_color/character_color26.png b/front/public/resources/customisation/character_color/character_color26.png similarity index 100% rename from front/dist/resources/customisation/character_color/character_color26.png rename to front/public/resources/customisation/character_color/character_color26.png diff --git a/front/dist/resources/customisation/character_color/character_color27.png b/front/public/resources/customisation/character_color/character_color27.png similarity index 100% rename from front/dist/resources/customisation/character_color/character_color27.png rename to front/public/resources/customisation/character_color/character_color27.png diff --git a/front/dist/resources/customisation/character_color/character_color28.png b/front/public/resources/customisation/character_color/character_color28.png similarity index 100% rename from front/dist/resources/customisation/character_color/character_color28.png rename to front/public/resources/customisation/character_color/character_color28.png diff --git a/front/dist/resources/customisation/character_color/character_color29.png b/front/public/resources/customisation/character_color/character_color29.png similarity index 100% rename from front/dist/resources/customisation/character_color/character_color29.png rename to front/public/resources/customisation/character_color/character_color29.png diff --git a/front/dist/resources/customisation/character_color/character_color3.png b/front/public/resources/customisation/character_color/character_color3.png similarity index 100% rename from front/dist/resources/customisation/character_color/character_color3.png rename to front/public/resources/customisation/character_color/character_color3.png diff --git a/front/dist/resources/customisation/character_color/character_color30.png b/front/public/resources/customisation/character_color/character_color30.png similarity index 100% rename from front/dist/resources/customisation/character_color/character_color30.png rename to front/public/resources/customisation/character_color/character_color30.png diff --git a/front/dist/resources/customisation/character_color/character_color31.png b/front/public/resources/customisation/character_color/character_color31.png similarity index 100% rename from front/dist/resources/customisation/character_color/character_color31.png rename to front/public/resources/customisation/character_color/character_color31.png diff --git a/front/dist/resources/customisation/character_color/character_color32.png b/front/public/resources/customisation/character_color/character_color32.png similarity index 100% rename from front/dist/resources/customisation/character_color/character_color32.png rename to front/public/resources/customisation/character_color/character_color32.png diff --git a/front/dist/resources/customisation/character_color/character_color4.png b/front/public/resources/customisation/character_color/character_color4.png similarity index 100% rename from front/dist/resources/customisation/character_color/character_color4.png rename to front/public/resources/customisation/character_color/character_color4.png diff --git a/front/dist/resources/customisation/character_color/character_color5.png b/front/public/resources/customisation/character_color/character_color5.png similarity index 100% rename from front/dist/resources/customisation/character_color/character_color5.png rename to front/public/resources/customisation/character_color/character_color5.png diff --git a/front/dist/resources/customisation/character_color/character_color6.png b/front/public/resources/customisation/character_color/character_color6.png similarity index 100% rename from front/dist/resources/customisation/character_color/character_color6.png rename to front/public/resources/customisation/character_color/character_color6.png diff --git a/front/dist/resources/customisation/character_color/character_color7.png b/front/public/resources/customisation/character_color/character_color7.png similarity index 100% rename from front/dist/resources/customisation/character_color/character_color7.png rename to front/public/resources/customisation/character_color/character_color7.png diff --git a/front/dist/resources/customisation/character_color/character_color8.png b/front/public/resources/customisation/character_color/character_color8.png similarity index 100% rename from front/dist/resources/customisation/character_color/character_color8.png rename to front/public/resources/customisation/character_color/character_color8.png diff --git a/front/dist/resources/customisation/character_color/character_color9.png b/front/public/resources/customisation/character_color/character_color9.png similarity index 100% rename from front/dist/resources/customisation/character_color/character_color9.png rename to front/public/resources/customisation/character_color/character_color9.png diff --git a/front/dist/resources/customisation/character_eyes/character_eyes1.png b/front/public/resources/customisation/character_eyes/character_eyes1.png similarity index 100% rename from front/dist/resources/customisation/character_eyes/character_eyes1.png rename to front/public/resources/customisation/character_eyes/character_eyes1.png diff --git a/front/dist/resources/customisation/character_eyes/character_eyes10.png b/front/public/resources/customisation/character_eyes/character_eyes10.png similarity index 100% rename from front/dist/resources/customisation/character_eyes/character_eyes10.png rename to front/public/resources/customisation/character_eyes/character_eyes10.png diff --git a/front/dist/resources/customisation/character_eyes/character_eyes11.png b/front/public/resources/customisation/character_eyes/character_eyes11.png similarity index 100% rename from front/dist/resources/customisation/character_eyes/character_eyes11.png rename to front/public/resources/customisation/character_eyes/character_eyes11.png diff --git a/front/dist/resources/customisation/character_eyes/character_eyes12.png b/front/public/resources/customisation/character_eyes/character_eyes12.png similarity index 100% rename from front/dist/resources/customisation/character_eyes/character_eyes12.png rename to front/public/resources/customisation/character_eyes/character_eyes12.png diff --git a/front/dist/resources/customisation/character_eyes/character_eyes13.png b/front/public/resources/customisation/character_eyes/character_eyes13.png similarity index 100% rename from front/dist/resources/customisation/character_eyes/character_eyes13.png rename to front/public/resources/customisation/character_eyes/character_eyes13.png diff --git a/front/dist/resources/customisation/character_eyes/character_eyes14.png b/front/public/resources/customisation/character_eyes/character_eyes14.png similarity index 100% rename from front/dist/resources/customisation/character_eyes/character_eyes14.png rename to front/public/resources/customisation/character_eyes/character_eyes14.png diff --git a/front/dist/resources/customisation/character_eyes/character_eyes15.png b/front/public/resources/customisation/character_eyes/character_eyes15.png similarity index 100% rename from front/dist/resources/customisation/character_eyes/character_eyes15.png rename to front/public/resources/customisation/character_eyes/character_eyes15.png diff --git a/front/dist/resources/customisation/character_eyes/character_eyes16.png b/front/public/resources/customisation/character_eyes/character_eyes16.png similarity index 100% rename from front/dist/resources/customisation/character_eyes/character_eyes16.png rename to front/public/resources/customisation/character_eyes/character_eyes16.png diff --git a/front/dist/resources/customisation/character_eyes/character_eyes17.png b/front/public/resources/customisation/character_eyes/character_eyes17.png similarity index 100% rename from front/dist/resources/customisation/character_eyes/character_eyes17.png rename to front/public/resources/customisation/character_eyes/character_eyes17.png diff --git a/front/dist/resources/customisation/character_eyes/character_eyes18.png b/front/public/resources/customisation/character_eyes/character_eyes18.png similarity index 100% rename from front/dist/resources/customisation/character_eyes/character_eyes18.png rename to front/public/resources/customisation/character_eyes/character_eyes18.png diff --git a/front/dist/resources/customisation/character_eyes/character_eyes19.png b/front/public/resources/customisation/character_eyes/character_eyes19.png similarity index 100% rename from front/dist/resources/customisation/character_eyes/character_eyes19.png rename to front/public/resources/customisation/character_eyes/character_eyes19.png diff --git a/front/dist/resources/customisation/character_eyes/character_eyes2.png b/front/public/resources/customisation/character_eyes/character_eyes2.png similarity index 100% rename from front/dist/resources/customisation/character_eyes/character_eyes2.png rename to front/public/resources/customisation/character_eyes/character_eyes2.png diff --git a/front/dist/resources/customisation/character_eyes/character_eyes20.png b/front/public/resources/customisation/character_eyes/character_eyes20.png similarity index 100% rename from front/dist/resources/customisation/character_eyes/character_eyes20.png rename to front/public/resources/customisation/character_eyes/character_eyes20.png diff --git a/front/dist/resources/customisation/character_eyes/character_eyes21.png b/front/public/resources/customisation/character_eyes/character_eyes21.png similarity index 100% rename from front/dist/resources/customisation/character_eyes/character_eyes21.png rename to front/public/resources/customisation/character_eyes/character_eyes21.png diff --git a/front/dist/resources/customisation/character_eyes/character_eyes22.png b/front/public/resources/customisation/character_eyes/character_eyes22.png similarity index 100% rename from front/dist/resources/customisation/character_eyes/character_eyes22.png rename to front/public/resources/customisation/character_eyes/character_eyes22.png diff --git a/front/dist/resources/customisation/character_eyes/character_eyes23.png b/front/public/resources/customisation/character_eyes/character_eyes23.png similarity index 100% rename from front/dist/resources/customisation/character_eyes/character_eyes23.png rename to front/public/resources/customisation/character_eyes/character_eyes23.png diff --git a/front/dist/resources/customisation/character_eyes/character_eyes24.png b/front/public/resources/customisation/character_eyes/character_eyes24.png similarity index 100% rename from front/dist/resources/customisation/character_eyes/character_eyes24.png rename to front/public/resources/customisation/character_eyes/character_eyes24.png diff --git a/front/dist/resources/customisation/character_eyes/character_eyes25.png b/front/public/resources/customisation/character_eyes/character_eyes25.png similarity index 100% rename from front/dist/resources/customisation/character_eyes/character_eyes25.png rename to front/public/resources/customisation/character_eyes/character_eyes25.png diff --git a/front/dist/resources/customisation/character_eyes/character_eyes26.png b/front/public/resources/customisation/character_eyes/character_eyes26.png similarity index 100% rename from front/dist/resources/customisation/character_eyes/character_eyes26.png rename to front/public/resources/customisation/character_eyes/character_eyes26.png diff --git a/front/dist/resources/customisation/character_eyes/character_eyes27.png b/front/public/resources/customisation/character_eyes/character_eyes27.png similarity index 100% rename from front/dist/resources/customisation/character_eyes/character_eyes27.png rename to front/public/resources/customisation/character_eyes/character_eyes27.png diff --git a/front/dist/resources/customisation/character_eyes/character_eyes28.png b/front/public/resources/customisation/character_eyes/character_eyes28.png similarity index 100% rename from front/dist/resources/customisation/character_eyes/character_eyes28.png rename to front/public/resources/customisation/character_eyes/character_eyes28.png diff --git a/front/dist/resources/customisation/character_eyes/character_eyes29.png b/front/public/resources/customisation/character_eyes/character_eyes29.png similarity index 100% rename from front/dist/resources/customisation/character_eyes/character_eyes29.png rename to front/public/resources/customisation/character_eyes/character_eyes29.png diff --git a/front/dist/resources/customisation/character_eyes/character_eyes3.png b/front/public/resources/customisation/character_eyes/character_eyes3.png similarity index 100% rename from front/dist/resources/customisation/character_eyes/character_eyes3.png rename to front/public/resources/customisation/character_eyes/character_eyes3.png diff --git a/front/dist/resources/customisation/character_eyes/character_eyes30.png b/front/public/resources/customisation/character_eyes/character_eyes30.png similarity index 100% rename from front/dist/resources/customisation/character_eyes/character_eyes30.png rename to front/public/resources/customisation/character_eyes/character_eyes30.png diff --git a/front/dist/resources/customisation/character_eyes/character_eyes31.png b/front/public/resources/customisation/character_eyes/character_eyes31.png similarity index 100% rename from front/dist/resources/customisation/character_eyes/character_eyes31.png rename to front/public/resources/customisation/character_eyes/character_eyes31.png diff --git a/front/dist/resources/customisation/character_eyes/character_eyes32.png b/front/public/resources/customisation/character_eyes/character_eyes32.png similarity index 100% rename from front/dist/resources/customisation/character_eyes/character_eyes32.png rename to front/public/resources/customisation/character_eyes/character_eyes32.png diff --git a/front/dist/resources/customisation/character_eyes/character_eyes33.png b/front/public/resources/customisation/character_eyes/character_eyes33.png similarity index 100% rename from front/dist/resources/customisation/character_eyes/character_eyes33.png rename to front/public/resources/customisation/character_eyes/character_eyes33.png diff --git a/front/dist/resources/customisation/character_eyes/character_eyes34.png b/front/public/resources/customisation/character_eyes/character_eyes34.png similarity index 100% rename from front/dist/resources/customisation/character_eyes/character_eyes34.png rename to front/public/resources/customisation/character_eyes/character_eyes34.png diff --git a/front/dist/resources/customisation/character_eyes/character_eyes4.png b/front/public/resources/customisation/character_eyes/character_eyes4.png similarity index 100% rename from front/dist/resources/customisation/character_eyes/character_eyes4.png rename to front/public/resources/customisation/character_eyes/character_eyes4.png diff --git a/front/dist/resources/customisation/character_eyes/character_eyes5.png b/front/public/resources/customisation/character_eyes/character_eyes5.png similarity index 100% rename from front/dist/resources/customisation/character_eyes/character_eyes5.png rename to front/public/resources/customisation/character_eyes/character_eyes5.png diff --git a/front/dist/resources/customisation/character_eyes/character_eyes6.png b/front/public/resources/customisation/character_eyes/character_eyes6.png similarity index 100% rename from front/dist/resources/customisation/character_eyes/character_eyes6.png rename to front/public/resources/customisation/character_eyes/character_eyes6.png diff --git a/front/dist/resources/customisation/character_eyes/character_eyes7.png b/front/public/resources/customisation/character_eyes/character_eyes7.png similarity index 100% rename from front/dist/resources/customisation/character_eyes/character_eyes7.png rename to front/public/resources/customisation/character_eyes/character_eyes7.png diff --git a/front/dist/resources/customisation/character_eyes/character_eyes8.png b/front/public/resources/customisation/character_eyes/character_eyes8.png similarity index 100% rename from front/dist/resources/customisation/character_eyes/character_eyes8.png rename to front/public/resources/customisation/character_eyes/character_eyes8.png diff --git a/front/dist/resources/customisation/character_eyes/character_eyes9.png b/front/public/resources/customisation/character_eyes/character_eyes9.png similarity index 100% rename from front/dist/resources/customisation/character_eyes/character_eyes9.png rename to front/public/resources/customisation/character_eyes/character_eyes9.png diff --git a/front/dist/resources/customisation/character_hairs/character_hairs0.png b/front/public/resources/customisation/character_hairs/character_hairs0.png similarity index 100% rename from front/dist/resources/customisation/character_hairs/character_hairs0.png rename to front/public/resources/customisation/character_hairs/character_hairs0.png diff --git a/front/dist/resources/customisation/character_hairs/character_hairs1.png b/front/public/resources/customisation/character_hairs/character_hairs1.png similarity index 100% rename from front/dist/resources/customisation/character_hairs/character_hairs1.png rename to front/public/resources/customisation/character_hairs/character_hairs1.png diff --git a/front/dist/resources/customisation/character_hairs/character_hairs10.png b/front/public/resources/customisation/character_hairs/character_hairs10.png similarity index 100% rename from front/dist/resources/customisation/character_hairs/character_hairs10.png rename to front/public/resources/customisation/character_hairs/character_hairs10.png diff --git a/front/dist/resources/customisation/character_hairs/character_hairs11.png b/front/public/resources/customisation/character_hairs/character_hairs11.png similarity index 100% rename from front/dist/resources/customisation/character_hairs/character_hairs11.png rename to front/public/resources/customisation/character_hairs/character_hairs11.png diff --git a/front/dist/resources/customisation/character_hairs/character_hairs12.png b/front/public/resources/customisation/character_hairs/character_hairs12.png similarity index 100% rename from front/dist/resources/customisation/character_hairs/character_hairs12.png rename to front/public/resources/customisation/character_hairs/character_hairs12.png diff --git a/front/dist/resources/customisation/character_hairs/character_hairs13.png b/front/public/resources/customisation/character_hairs/character_hairs13.png similarity index 100% rename from front/dist/resources/customisation/character_hairs/character_hairs13.png rename to front/public/resources/customisation/character_hairs/character_hairs13.png diff --git a/front/dist/resources/customisation/character_hairs/character_hairs14.png b/front/public/resources/customisation/character_hairs/character_hairs14.png similarity index 100% rename from front/dist/resources/customisation/character_hairs/character_hairs14.png rename to front/public/resources/customisation/character_hairs/character_hairs14.png diff --git a/front/dist/resources/customisation/character_hairs/character_hairs15.png b/front/public/resources/customisation/character_hairs/character_hairs15.png similarity index 100% rename from front/dist/resources/customisation/character_hairs/character_hairs15.png rename to front/public/resources/customisation/character_hairs/character_hairs15.png diff --git a/front/dist/resources/customisation/character_hairs/character_hairs16.png b/front/public/resources/customisation/character_hairs/character_hairs16.png similarity index 100% rename from front/dist/resources/customisation/character_hairs/character_hairs16.png rename to front/public/resources/customisation/character_hairs/character_hairs16.png diff --git a/front/dist/resources/customisation/character_hairs/character_hairs17.png b/front/public/resources/customisation/character_hairs/character_hairs17.png similarity index 100% rename from front/dist/resources/customisation/character_hairs/character_hairs17.png rename to front/public/resources/customisation/character_hairs/character_hairs17.png diff --git a/front/dist/resources/customisation/character_hairs/character_hairs18.png b/front/public/resources/customisation/character_hairs/character_hairs18.png similarity index 100% rename from front/dist/resources/customisation/character_hairs/character_hairs18.png rename to front/public/resources/customisation/character_hairs/character_hairs18.png diff --git a/front/dist/resources/customisation/character_hairs/character_hairs19.png b/front/public/resources/customisation/character_hairs/character_hairs19.png similarity index 100% rename from front/dist/resources/customisation/character_hairs/character_hairs19.png rename to front/public/resources/customisation/character_hairs/character_hairs19.png diff --git a/front/dist/resources/customisation/character_hairs/character_hairs2.png b/front/public/resources/customisation/character_hairs/character_hairs2.png similarity index 100% rename from front/dist/resources/customisation/character_hairs/character_hairs2.png rename to front/public/resources/customisation/character_hairs/character_hairs2.png diff --git a/front/dist/resources/customisation/character_hairs/character_hairs20.png b/front/public/resources/customisation/character_hairs/character_hairs20.png similarity index 100% rename from front/dist/resources/customisation/character_hairs/character_hairs20.png rename to front/public/resources/customisation/character_hairs/character_hairs20.png diff --git a/front/dist/resources/customisation/character_hairs/character_hairs21.png b/front/public/resources/customisation/character_hairs/character_hairs21.png similarity index 100% rename from front/dist/resources/customisation/character_hairs/character_hairs21.png rename to front/public/resources/customisation/character_hairs/character_hairs21.png diff --git a/front/dist/resources/customisation/character_hairs/character_hairs22.png b/front/public/resources/customisation/character_hairs/character_hairs22.png similarity index 100% rename from front/dist/resources/customisation/character_hairs/character_hairs22.png rename to front/public/resources/customisation/character_hairs/character_hairs22.png diff --git a/front/dist/resources/customisation/character_hairs/character_hairs23.png b/front/public/resources/customisation/character_hairs/character_hairs23.png similarity index 100% rename from front/dist/resources/customisation/character_hairs/character_hairs23.png rename to front/public/resources/customisation/character_hairs/character_hairs23.png diff --git a/front/dist/resources/customisation/character_hairs/character_hairs24.png b/front/public/resources/customisation/character_hairs/character_hairs24.png similarity index 100% rename from front/dist/resources/customisation/character_hairs/character_hairs24.png rename to front/public/resources/customisation/character_hairs/character_hairs24.png diff --git a/front/dist/resources/customisation/character_hairs/character_hairs25.png b/front/public/resources/customisation/character_hairs/character_hairs25.png similarity index 100% rename from front/dist/resources/customisation/character_hairs/character_hairs25.png rename to front/public/resources/customisation/character_hairs/character_hairs25.png diff --git a/front/dist/resources/customisation/character_hairs/character_hairs26.png b/front/public/resources/customisation/character_hairs/character_hairs26.png similarity index 100% rename from front/dist/resources/customisation/character_hairs/character_hairs26.png rename to front/public/resources/customisation/character_hairs/character_hairs26.png diff --git a/front/dist/resources/customisation/character_hairs/character_hairs27.png b/front/public/resources/customisation/character_hairs/character_hairs27.png similarity index 100% rename from front/dist/resources/customisation/character_hairs/character_hairs27.png rename to front/public/resources/customisation/character_hairs/character_hairs27.png diff --git a/front/dist/resources/customisation/character_hairs/character_hairs28.png b/front/public/resources/customisation/character_hairs/character_hairs28.png similarity index 100% rename from front/dist/resources/customisation/character_hairs/character_hairs28.png rename to front/public/resources/customisation/character_hairs/character_hairs28.png diff --git a/front/dist/resources/customisation/character_hairs/character_hairs29.png b/front/public/resources/customisation/character_hairs/character_hairs29.png similarity index 100% rename from front/dist/resources/customisation/character_hairs/character_hairs29.png rename to front/public/resources/customisation/character_hairs/character_hairs29.png diff --git a/front/dist/resources/customisation/character_hairs/character_hairs3.png b/front/public/resources/customisation/character_hairs/character_hairs3.png similarity index 100% rename from front/dist/resources/customisation/character_hairs/character_hairs3.png rename to front/public/resources/customisation/character_hairs/character_hairs3.png diff --git a/front/dist/resources/customisation/character_hairs/character_hairs30.png b/front/public/resources/customisation/character_hairs/character_hairs30.png similarity index 100% rename from front/dist/resources/customisation/character_hairs/character_hairs30.png rename to front/public/resources/customisation/character_hairs/character_hairs30.png diff --git a/front/dist/resources/customisation/character_hairs/character_hairs31.png b/front/public/resources/customisation/character_hairs/character_hairs31.png similarity index 100% rename from front/dist/resources/customisation/character_hairs/character_hairs31.png rename to front/public/resources/customisation/character_hairs/character_hairs31.png diff --git a/front/dist/resources/customisation/character_hairs/character_hairs32.png b/front/public/resources/customisation/character_hairs/character_hairs32.png similarity index 100% rename from front/dist/resources/customisation/character_hairs/character_hairs32.png rename to front/public/resources/customisation/character_hairs/character_hairs32.png diff --git a/front/dist/resources/customisation/character_hairs/character_hairs33.png b/front/public/resources/customisation/character_hairs/character_hairs33.png similarity index 100% rename from front/dist/resources/customisation/character_hairs/character_hairs33.png rename to front/public/resources/customisation/character_hairs/character_hairs33.png diff --git a/front/dist/resources/customisation/character_hairs/character_hairs34.png b/front/public/resources/customisation/character_hairs/character_hairs34.png similarity index 100% rename from front/dist/resources/customisation/character_hairs/character_hairs34.png rename to front/public/resources/customisation/character_hairs/character_hairs34.png diff --git a/front/dist/resources/customisation/character_hairs/character_hairs35.png b/front/public/resources/customisation/character_hairs/character_hairs35.png similarity index 100% rename from front/dist/resources/customisation/character_hairs/character_hairs35.png rename to front/public/resources/customisation/character_hairs/character_hairs35.png diff --git a/front/dist/resources/customisation/character_hairs/character_hairs36.png b/front/public/resources/customisation/character_hairs/character_hairs36.png similarity index 100% rename from front/dist/resources/customisation/character_hairs/character_hairs36.png rename to front/public/resources/customisation/character_hairs/character_hairs36.png diff --git a/front/dist/resources/customisation/character_hairs/character_hairs37.png b/front/public/resources/customisation/character_hairs/character_hairs37.png similarity index 100% rename from front/dist/resources/customisation/character_hairs/character_hairs37.png rename to front/public/resources/customisation/character_hairs/character_hairs37.png diff --git a/front/dist/resources/customisation/character_hairs/character_hairs38.png b/front/public/resources/customisation/character_hairs/character_hairs38.png similarity index 100% rename from front/dist/resources/customisation/character_hairs/character_hairs38.png rename to front/public/resources/customisation/character_hairs/character_hairs38.png diff --git a/front/dist/resources/customisation/character_hairs/character_hairs39.png b/front/public/resources/customisation/character_hairs/character_hairs39.png similarity index 100% rename from front/dist/resources/customisation/character_hairs/character_hairs39.png rename to front/public/resources/customisation/character_hairs/character_hairs39.png diff --git a/front/dist/resources/customisation/character_hairs/character_hairs4.png b/front/public/resources/customisation/character_hairs/character_hairs4.png similarity index 100% rename from front/dist/resources/customisation/character_hairs/character_hairs4.png rename to front/public/resources/customisation/character_hairs/character_hairs4.png diff --git a/front/dist/resources/customisation/character_hairs/character_hairs40.png b/front/public/resources/customisation/character_hairs/character_hairs40.png similarity index 100% rename from front/dist/resources/customisation/character_hairs/character_hairs40.png rename to front/public/resources/customisation/character_hairs/character_hairs40.png diff --git a/front/dist/resources/customisation/character_hairs/character_hairs41.png b/front/public/resources/customisation/character_hairs/character_hairs41.png similarity index 100% rename from front/dist/resources/customisation/character_hairs/character_hairs41.png rename to front/public/resources/customisation/character_hairs/character_hairs41.png diff --git a/front/dist/resources/customisation/character_hairs/character_hairs42.png b/front/public/resources/customisation/character_hairs/character_hairs42.png similarity index 100% rename from front/dist/resources/customisation/character_hairs/character_hairs42.png rename to front/public/resources/customisation/character_hairs/character_hairs42.png diff --git a/front/dist/resources/customisation/character_hairs/character_hairs43.png b/front/public/resources/customisation/character_hairs/character_hairs43.png similarity index 100% rename from front/dist/resources/customisation/character_hairs/character_hairs43.png rename to front/public/resources/customisation/character_hairs/character_hairs43.png diff --git a/front/dist/resources/customisation/character_hairs/character_hairs44.png b/front/public/resources/customisation/character_hairs/character_hairs44.png similarity index 100% rename from front/dist/resources/customisation/character_hairs/character_hairs44.png rename to front/public/resources/customisation/character_hairs/character_hairs44.png diff --git a/front/dist/resources/customisation/character_hairs/character_hairs45.png b/front/public/resources/customisation/character_hairs/character_hairs45.png similarity index 100% rename from front/dist/resources/customisation/character_hairs/character_hairs45.png rename to front/public/resources/customisation/character_hairs/character_hairs45.png diff --git a/front/dist/resources/customisation/character_hairs/character_hairs46.png b/front/public/resources/customisation/character_hairs/character_hairs46.png similarity index 100% rename from front/dist/resources/customisation/character_hairs/character_hairs46.png rename to front/public/resources/customisation/character_hairs/character_hairs46.png diff --git a/front/dist/resources/customisation/character_hairs/character_hairs47.png b/front/public/resources/customisation/character_hairs/character_hairs47.png similarity index 100% rename from front/dist/resources/customisation/character_hairs/character_hairs47.png rename to front/public/resources/customisation/character_hairs/character_hairs47.png diff --git a/front/dist/resources/customisation/character_hairs/character_hairs48.png b/front/public/resources/customisation/character_hairs/character_hairs48.png similarity index 100% rename from front/dist/resources/customisation/character_hairs/character_hairs48.png rename to front/public/resources/customisation/character_hairs/character_hairs48.png diff --git a/front/dist/resources/customisation/character_hairs/character_hairs49.png b/front/public/resources/customisation/character_hairs/character_hairs49.png similarity index 100% rename from front/dist/resources/customisation/character_hairs/character_hairs49.png rename to front/public/resources/customisation/character_hairs/character_hairs49.png diff --git a/front/dist/resources/customisation/character_hairs/character_hairs5.png b/front/public/resources/customisation/character_hairs/character_hairs5.png similarity index 100% rename from front/dist/resources/customisation/character_hairs/character_hairs5.png rename to front/public/resources/customisation/character_hairs/character_hairs5.png diff --git a/front/dist/resources/customisation/character_hairs/character_hairs50.png b/front/public/resources/customisation/character_hairs/character_hairs50.png similarity index 100% rename from front/dist/resources/customisation/character_hairs/character_hairs50.png rename to front/public/resources/customisation/character_hairs/character_hairs50.png diff --git a/front/dist/resources/customisation/character_hairs/character_hairs51.png b/front/public/resources/customisation/character_hairs/character_hairs51.png similarity index 100% rename from front/dist/resources/customisation/character_hairs/character_hairs51.png rename to front/public/resources/customisation/character_hairs/character_hairs51.png diff --git a/front/dist/resources/customisation/character_hairs/character_hairs52.png b/front/public/resources/customisation/character_hairs/character_hairs52.png similarity index 100% rename from front/dist/resources/customisation/character_hairs/character_hairs52.png rename to front/public/resources/customisation/character_hairs/character_hairs52.png diff --git a/front/dist/resources/customisation/character_hairs/character_hairs53.png b/front/public/resources/customisation/character_hairs/character_hairs53.png similarity index 100% rename from front/dist/resources/customisation/character_hairs/character_hairs53.png rename to front/public/resources/customisation/character_hairs/character_hairs53.png diff --git a/front/dist/resources/customisation/character_hairs/character_hairs54.png b/front/public/resources/customisation/character_hairs/character_hairs54.png similarity index 100% rename from front/dist/resources/customisation/character_hairs/character_hairs54.png rename to front/public/resources/customisation/character_hairs/character_hairs54.png diff --git a/front/dist/resources/customisation/character_hairs/character_hairs55.png b/front/public/resources/customisation/character_hairs/character_hairs55.png similarity index 100% rename from front/dist/resources/customisation/character_hairs/character_hairs55.png rename to front/public/resources/customisation/character_hairs/character_hairs55.png diff --git a/front/dist/resources/customisation/character_hairs/character_hairs56.png b/front/public/resources/customisation/character_hairs/character_hairs56.png similarity index 100% rename from front/dist/resources/customisation/character_hairs/character_hairs56.png rename to front/public/resources/customisation/character_hairs/character_hairs56.png diff --git a/front/dist/resources/customisation/character_hairs/character_hairs57.png b/front/public/resources/customisation/character_hairs/character_hairs57.png similarity index 100% rename from front/dist/resources/customisation/character_hairs/character_hairs57.png rename to front/public/resources/customisation/character_hairs/character_hairs57.png diff --git a/front/dist/resources/customisation/character_hairs/character_hairs58.png b/front/public/resources/customisation/character_hairs/character_hairs58.png similarity index 100% rename from front/dist/resources/customisation/character_hairs/character_hairs58.png rename to front/public/resources/customisation/character_hairs/character_hairs58.png diff --git a/front/dist/resources/customisation/character_hairs/character_hairs59.png b/front/public/resources/customisation/character_hairs/character_hairs59.png similarity index 100% rename from front/dist/resources/customisation/character_hairs/character_hairs59.png rename to front/public/resources/customisation/character_hairs/character_hairs59.png diff --git a/front/dist/resources/customisation/character_hairs/character_hairs6.png b/front/public/resources/customisation/character_hairs/character_hairs6.png similarity index 100% rename from front/dist/resources/customisation/character_hairs/character_hairs6.png rename to front/public/resources/customisation/character_hairs/character_hairs6.png diff --git a/front/dist/resources/customisation/character_hairs/character_hairs60.png b/front/public/resources/customisation/character_hairs/character_hairs60.png similarity index 100% rename from front/dist/resources/customisation/character_hairs/character_hairs60.png rename to front/public/resources/customisation/character_hairs/character_hairs60.png diff --git a/front/dist/resources/customisation/character_hairs/character_hairs61.png b/front/public/resources/customisation/character_hairs/character_hairs61.png similarity index 100% rename from front/dist/resources/customisation/character_hairs/character_hairs61.png rename to front/public/resources/customisation/character_hairs/character_hairs61.png diff --git a/front/dist/resources/customisation/character_hairs/character_hairs62.png b/front/public/resources/customisation/character_hairs/character_hairs62.png similarity index 100% rename from front/dist/resources/customisation/character_hairs/character_hairs62.png rename to front/public/resources/customisation/character_hairs/character_hairs62.png diff --git a/front/dist/resources/customisation/character_hairs/character_hairs63.png b/front/public/resources/customisation/character_hairs/character_hairs63.png similarity index 100% rename from front/dist/resources/customisation/character_hairs/character_hairs63.png rename to front/public/resources/customisation/character_hairs/character_hairs63.png diff --git a/front/dist/resources/customisation/character_hairs/character_hairs64.png b/front/public/resources/customisation/character_hairs/character_hairs64.png similarity index 100% rename from front/dist/resources/customisation/character_hairs/character_hairs64.png rename to front/public/resources/customisation/character_hairs/character_hairs64.png diff --git a/front/dist/resources/customisation/character_hairs/character_hairs65.png b/front/public/resources/customisation/character_hairs/character_hairs65.png similarity index 100% rename from front/dist/resources/customisation/character_hairs/character_hairs65.png rename to front/public/resources/customisation/character_hairs/character_hairs65.png diff --git a/front/dist/resources/customisation/character_hairs/character_hairs66.png b/front/public/resources/customisation/character_hairs/character_hairs66.png similarity index 100% rename from front/dist/resources/customisation/character_hairs/character_hairs66.png rename to front/public/resources/customisation/character_hairs/character_hairs66.png diff --git a/front/dist/resources/customisation/character_hairs/character_hairs67.png b/front/public/resources/customisation/character_hairs/character_hairs67.png similarity index 100% rename from front/dist/resources/customisation/character_hairs/character_hairs67.png rename to front/public/resources/customisation/character_hairs/character_hairs67.png diff --git a/front/dist/resources/customisation/character_hairs/character_hairs68.png b/front/public/resources/customisation/character_hairs/character_hairs68.png similarity index 100% rename from front/dist/resources/customisation/character_hairs/character_hairs68.png rename to front/public/resources/customisation/character_hairs/character_hairs68.png diff --git a/front/dist/resources/customisation/character_hairs/character_hairs69.png b/front/public/resources/customisation/character_hairs/character_hairs69.png similarity index 100% rename from front/dist/resources/customisation/character_hairs/character_hairs69.png rename to front/public/resources/customisation/character_hairs/character_hairs69.png diff --git a/front/dist/resources/customisation/character_hairs/character_hairs7.png b/front/public/resources/customisation/character_hairs/character_hairs7.png similarity index 100% rename from front/dist/resources/customisation/character_hairs/character_hairs7.png rename to front/public/resources/customisation/character_hairs/character_hairs7.png diff --git a/front/dist/resources/customisation/character_hairs/character_hairs70.png b/front/public/resources/customisation/character_hairs/character_hairs70.png similarity index 100% rename from front/dist/resources/customisation/character_hairs/character_hairs70.png rename to front/public/resources/customisation/character_hairs/character_hairs70.png diff --git a/front/dist/resources/customisation/character_hairs/character_hairs71.png b/front/public/resources/customisation/character_hairs/character_hairs71.png similarity index 100% rename from front/dist/resources/customisation/character_hairs/character_hairs71.png rename to front/public/resources/customisation/character_hairs/character_hairs71.png diff --git a/front/dist/resources/customisation/character_hairs/character_hairs72.png b/front/public/resources/customisation/character_hairs/character_hairs72.png similarity index 100% rename from front/dist/resources/customisation/character_hairs/character_hairs72.png rename to front/public/resources/customisation/character_hairs/character_hairs72.png diff --git a/front/dist/resources/customisation/character_hairs/character_hairs73.png b/front/public/resources/customisation/character_hairs/character_hairs73.png similarity index 100% rename from front/dist/resources/customisation/character_hairs/character_hairs73.png rename to front/public/resources/customisation/character_hairs/character_hairs73.png diff --git a/front/dist/resources/customisation/character_hairs/character_hairs8.png b/front/public/resources/customisation/character_hairs/character_hairs8.png similarity index 100% rename from front/dist/resources/customisation/character_hairs/character_hairs8.png rename to front/public/resources/customisation/character_hairs/character_hairs8.png diff --git a/front/dist/resources/customisation/character_hairs/character_hairs9.png b/front/public/resources/customisation/character_hairs/character_hairs9.png similarity index 100% rename from front/dist/resources/customisation/character_hairs/character_hairs9.png rename to front/public/resources/customisation/character_hairs/character_hairs9.png diff --git a/front/dist/resources/customisation/character_hats/character_hats1.png b/front/public/resources/customisation/character_hats/character_hats1.png similarity index 100% rename from front/dist/resources/customisation/character_hats/character_hats1.png rename to front/public/resources/customisation/character_hats/character_hats1.png diff --git a/front/dist/resources/customisation/character_hats/character_hats10.png b/front/public/resources/customisation/character_hats/character_hats10.png similarity index 100% rename from front/dist/resources/customisation/character_hats/character_hats10.png rename to front/public/resources/customisation/character_hats/character_hats10.png diff --git a/front/dist/resources/customisation/character_hats/character_hats11.png b/front/public/resources/customisation/character_hats/character_hats11.png similarity index 100% rename from front/dist/resources/customisation/character_hats/character_hats11.png rename to front/public/resources/customisation/character_hats/character_hats11.png diff --git a/front/dist/resources/customisation/character_hats/character_hats12.png b/front/public/resources/customisation/character_hats/character_hats12.png similarity index 100% rename from front/dist/resources/customisation/character_hats/character_hats12.png rename to front/public/resources/customisation/character_hats/character_hats12.png diff --git a/front/dist/resources/customisation/character_hats/character_hats13.png b/front/public/resources/customisation/character_hats/character_hats13.png similarity index 100% rename from front/dist/resources/customisation/character_hats/character_hats13.png rename to front/public/resources/customisation/character_hats/character_hats13.png diff --git a/front/dist/resources/customisation/character_hats/character_hats14.png b/front/public/resources/customisation/character_hats/character_hats14.png similarity index 100% rename from front/dist/resources/customisation/character_hats/character_hats14.png rename to front/public/resources/customisation/character_hats/character_hats14.png diff --git a/front/dist/resources/customisation/character_hats/character_hats15.png b/front/public/resources/customisation/character_hats/character_hats15.png similarity index 100% rename from front/dist/resources/customisation/character_hats/character_hats15.png rename to front/public/resources/customisation/character_hats/character_hats15.png diff --git a/front/dist/resources/customisation/character_hats/character_hats16.png b/front/public/resources/customisation/character_hats/character_hats16.png similarity index 100% rename from front/dist/resources/customisation/character_hats/character_hats16.png rename to front/public/resources/customisation/character_hats/character_hats16.png diff --git a/front/dist/resources/customisation/character_hats/character_hats17.png b/front/public/resources/customisation/character_hats/character_hats17.png similarity index 100% rename from front/dist/resources/customisation/character_hats/character_hats17.png rename to front/public/resources/customisation/character_hats/character_hats17.png diff --git a/front/dist/resources/customisation/character_hats/character_hats18.png b/front/public/resources/customisation/character_hats/character_hats18.png similarity index 100% rename from front/dist/resources/customisation/character_hats/character_hats18.png rename to front/public/resources/customisation/character_hats/character_hats18.png diff --git a/front/dist/resources/customisation/character_hats/character_hats19.png b/front/public/resources/customisation/character_hats/character_hats19.png similarity index 100% rename from front/dist/resources/customisation/character_hats/character_hats19.png rename to front/public/resources/customisation/character_hats/character_hats19.png diff --git a/front/dist/resources/customisation/character_hats/character_hats2.png b/front/public/resources/customisation/character_hats/character_hats2.png similarity index 100% rename from front/dist/resources/customisation/character_hats/character_hats2.png rename to front/public/resources/customisation/character_hats/character_hats2.png diff --git a/front/dist/resources/customisation/character_hats/character_hats20.png b/front/public/resources/customisation/character_hats/character_hats20.png similarity index 100% rename from front/dist/resources/customisation/character_hats/character_hats20.png rename to front/public/resources/customisation/character_hats/character_hats20.png diff --git a/front/dist/resources/customisation/character_hats/character_hats21.png b/front/public/resources/customisation/character_hats/character_hats21.png similarity index 100% rename from front/dist/resources/customisation/character_hats/character_hats21.png rename to front/public/resources/customisation/character_hats/character_hats21.png diff --git a/front/dist/resources/customisation/character_hats/character_hats22.png b/front/public/resources/customisation/character_hats/character_hats22.png similarity index 100% rename from front/dist/resources/customisation/character_hats/character_hats22.png rename to front/public/resources/customisation/character_hats/character_hats22.png diff --git a/front/dist/resources/customisation/character_hats/character_hats23.png b/front/public/resources/customisation/character_hats/character_hats23.png similarity index 100% rename from front/dist/resources/customisation/character_hats/character_hats23.png rename to front/public/resources/customisation/character_hats/character_hats23.png diff --git a/front/dist/resources/customisation/character_hats/character_hats24.png b/front/public/resources/customisation/character_hats/character_hats24.png similarity index 100% rename from front/dist/resources/customisation/character_hats/character_hats24.png rename to front/public/resources/customisation/character_hats/character_hats24.png diff --git a/front/dist/resources/customisation/character_hats/character_hats25.png b/front/public/resources/customisation/character_hats/character_hats25.png similarity index 100% rename from front/dist/resources/customisation/character_hats/character_hats25.png rename to front/public/resources/customisation/character_hats/character_hats25.png diff --git a/front/dist/resources/customisation/character_hats/character_hats26.png b/front/public/resources/customisation/character_hats/character_hats26.png similarity index 100% rename from front/dist/resources/customisation/character_hats/character_hats26.png rename to front/public/resources/customisation/character_hats/character_hats26.png diff --git a/front/dist/resources/customisation/character_hats/character_hats3.png b/front/public/resources/customisation/character_hats/character_hats3.png similarity index 100% rename from front/dist/resources/customisation/character_hats/character_hats3.png rename to front/public/resources/customisation/character_hats/character_hats3.png diff --git a/front/dist/resources/customisation/character_hats/character_hats4.png b/front/public/resources/customisation/character_hats/character_hats4.png similarity index 100% rename from front/dist/resources/customisation/character_hats/character_hats4.png rename to front/public/resources/customisation/character_hats/character_hats4.png diff --git a/front/dist/resources/customisation/character_hats/character_hats5.png b/front/public/resources/customisation/character_hats/character_hats5.png similarity index 100% rename from front/dist/resources/customisation/character_hats/character_hats5.png rename to front/public/resources/customisation/character_hats/character_hats5.png diff --git a/front/dist/resources/customisation/character_hats/character_hats6.png b/front/public/resources/customisation/character_hats/character_hats6.png similarity index 100% rename from front/dist/resources/customisation/character_hats/character_hats6.png rename to front/public/resources/customisation/character_hats/character_hats6.png diff --git a/front/dist/resources/customisation/character_hats/character_hats7.png b/front/public/resources/customisation/character_hats/character_hats7.png similarity index 100% rename from front/dist/resources/customisation/character_hats/character_hats7.png rename to front/public/resources/customisation/character_hats/character_hats7.png diff --git a/front/dist/resources/customisation/character_hats/character_hats8.png b/front/public/resources/customisation/character_hats/character_hats8.png similarity index 100% rename from front/dist/resources/customisation/character_hats/character_hats8.png rename to front/public/resources/customisation/character_hats/character_hats8.png diff --git a/front/dist/resources/customisation/character_hats/character_hats9.png b/front/public/resources/customisation/character_hats/character_hats9.png similarity index 100% rename from front/dist/resources/customisation/character_hats/character_hats9.png rename to front/public/resources/customisation/character_hats/character_hats9.png diff --git a/front/dist/resources/customisation/character_hats/tinfoil_hat1.png b/front/public/resources/customisation/character_hats/tinfoil_hat1.png similarity index 100% rename from front/dist/resources/customisation/character_hats/tinfoil_hat1.png rename to front/public/resources/customisation/character_hats/tinfoil_hat1.png diff --git a/front/dist/resources/emotes/clap-emote.png b/front/public/resources/emotes/clap-emote.png similarity index 100% rename from front/dist/resources/emotes/clap-emote.png rename to front/public/resources/emotes/clap-emote.png diff --git a/front/dist/resources/emotes/hand-emote.png b/front/public/resources/emotes/hand-emote.png similarity index 100% rename from front/dist/resources/emotes/hand-emote.png rename to front/public/resources/emotes/hand-emote.png diff --git a/front/dist/resources/emotes/heart-emote.png b/front/public/resources/emotes/heart-emote.png similarity index 100% rename from front/dist/resources/emotes/heart-emote.png rename to front/public/resources/emotes/heart-emote.png diff --git a/front/dist/resources/emotes/thanks-emote.png b/front/public/resources/emotes/thanks-emote.png similarity index 100% rename from front/dist/resources/emotes/thanks-emote.png rename to front/public/resources/emotes/thanks-emote.png diff --git a/front/dist/resources/emotes/thumb-down-emote.png b/front/public/resources/emotes/thumb-down-emote.png similarity index 100% rename from front/dist/resources/emotes/thumb-down-emote.png rename to front/public/resources/emotes/thumb-down-emote.png diff --git a/front/dist/resources/emotes/thumb-up-emote.png b/front/public/resources/emotes/thumb-up-emote.png similarity index 100% rename from front/dist/resources/emotes/thumb-up-emote.png rename to front/public/resources/emotes/thumb-up-emote.png diff --git a/front/dist/resources/fonts/arcade.png b/front/public/resources/fonts/arcade.png similarity index 100% rename from front/dist/resources/fonts/arcade.png rename to front/public/resources/fonts/arcade.png diff --git a/front/dist/resources/fonts/arcade.xml b/front/public/resources/fonts/arcade.xml similarity index 100% rename from front/dist/resources/fonts/arcade.xml rename to front/public/resources/fonts/arcade.xml diff --git a/front/dist/resources/fonts/fonts.css b/front/public/resources/fonts/fonts.css similarity index 100% rename from front/dist/resources/fonts/fonts.css rename to front/public/resources/fonts/fonts.css diff --git a/front/dist/resources/fonts/ka1.ttf b/front/public/resources/fonts/ka1.ttf similarity index 100% rename from front/dist/resources/fonts/ka1.ttf rename to front/public/resources/fonts/ka1.ttf diff --git a/front/dist/resources/html/gameMenu.html b/front/public/resources/html/gameMenu.html similarity index 100% rename from front/dist/resources/html/gameMenu.html rename to front/public/resources/html/gameMenu.html diff --git a/front/dist/resources/items/computer/computer.png b/front/public/resources/items/computer/computer.png similarity index 100% rename from front/dist/resources/items/computer/computer.png rename to front/public/resources/items/computer/computer.png diff --git a/front/dist/resources/items/computer/computer_atlas.json b/front/public/resources/items/computer/computer_atlas.json similarity index 100% rename from front/dist/resources/items/computer/computer_atlas.json rename to front/public/resources/items/computer/computer_atlas.json diff --git a/front/dist/resources/items/computer/original/computer.png b/front/public/resources/items/computer/original/computer.png similarity index 100% rename from front/dist/resources/items/computer/original/computer.png rename to front/public/resources/items/computer/original/computer.png diff --git a/front/dist/resources/items/computer/original/computer_atlas.json b/front/public/resources/items/computer/original/computer_atlas.json similarity index 100% rename from front/dist/resources/items/computer/original/computer_atlas.json rename to front/public/resources/items/computer/original/computer_atlas.json diff --git a/front/dist/resources/items/computer/unpack/computer_off.png b/front/public/resources/items/computer/unpack/computer_off.png similarity index 100% rename from front/dist/resources/items/computer/unpack/computer_off.png rename to front/public/resources/items/computer/unpack/computer_off.png diff --git a/front/dist/resources/items/computer/unpack/computer_on1.png b/front/public/resources/items/computer/unpack/computer_on1.png similarity index 100% rename from front/dist/resources/items/computer/unpack/computer_on1.png rename to front/public/resources/items/computer/unpack/computer_on1.png diff --git a/front/dist/resources/items/computer/unpack/computer_on2.png b/front/public/resources/items/computer/unpack/computer_on2.png similarity index 100% rename from front/dist/resources/items/computer/unpack/computer_on2.png rename to front/public/resources/items/computer/unpack/computer_on2.png diff --git a/front/dist/resources/logos/blockSign.svg b/front/public/resources/logos/blockSign.svg similarity index 100% rename from front/dist/resources/logos/blockSign.svg rename to front/public/resources/logos/blockSign.svg diff --git a/front/dist/resources/logos/blockingIcon.png b/front/public/resources/logos/blockingIcon.png similarity index 100% rename from front/dist/resources/logos/blockingIcon.png rename to front/public/resources/logos/blockingIcon.png diff --git a/front/dist/resources/logos/boy.svg b/front/public/resources/logos/boy.svg similarity index 100% rename from front/dist/resources/logos/boy.svg rename to front/public/resources/logos/boy.svg diff --git a/front/dist/resources/logos/cancel.png b/front/public/resources/logos/cancel.png similarity index 100% rename from front/dist/resources/logos/cancel.png rename to front/public/resources/logos/cancel.png diff --git a/front/dist/resources/logos/cinema-close.svg b/front/public/resources/logos/cinema-close.svg similarity index 100% rename from front/dist/resources/logos/cinema-close.svg rename to front/public/resources/logos/cinema-close.svg diff --git a/front/dist/resources/logos/close.svg b/front/public/resources/logos/close.svg similarity index 100% rename from front/dist/resources/logos/close.svg rename to front/public/resources/logos/close.svg diff --git a/front/dist/resources/logos/cowebsite-swipe.svg b/front/public/resources/logos/cowebsite-swipe.svg similarity index 100% rename from front/dist/resources/logos/cowebsite-swipe.svg rename to front/public/resources/logos/cowebsite-swipe.svg diff --git a/front/dist/resources/logos/discussion.svg b/front/public/resources/logos/discussion.svg similarity index 100% rename from front/dist/resources/logos/discussion.svg rename to front/public/resources/logos/discussion.svg diff --git a/front/dist/resources/logos/fullscreen-exit.svg b/front/public/resources/logos/fullscreen-exit.svg similarity index 100% rename from front/dist/resources/logos/fullscreen-exit.svg rename to front/public/resources/logos/fullscreen-exit.svg diff --git a/front/dist/resources/logos/fullscreen.svg b/front/public/resources/logos/fullscreen.svg similarity index 100% rename from front/dist/resources/logos/fullscreen.svg rename to front/public/resources/logos/fullscreen.svg diff --git a/front/dist/resources/logos/megaphone.svg b/front/public/resources/logos/megaphone.svg similarity index 100% rename from front/dist/resources/logos/megaphone.svg rename to front/public/resources/logos/megaphone.svg diff --git a/front/dist/resources/logos/microphone-close.svg b/front/public/resources/logos/microphone-close.svg similarity index 100% rename from front/dist/resources/logos/microphone-close.svg rename to front/public/resources/logos/microphone-close.svg diff --git a/front/dist/resources/logos/monitor-yellow.svg b/front/public/resources/logos/monitor-yellow.svg similarity index 100% rename from front/dist/resources/logos/monitor-yellow.svg rename to front/public/resources/logos/monitor-yellow.svg diff --git a/front/dist/resources/logos/music-file.svg b/front/public/resources/logos/music-file.svg similarity index 100% rename from front/dist/resources/logos/music-file.svg rename to front/public/resources/logos/music-file.svg diff --git a/front/dist/resources/logos/phone-open.svg b/front/public/resources/logos/phone-open.svg similarity index 100% rename from front/dist/resources/logos/phone-open.svg rename to front/public/resources/logos/phone-open.svg diff --git a/front/dist/resources/logos/phone.svg b/front/public/resources/logos/phone.svg similarity index 100% rename from front/dist/resources/logos/phone.svg rename to front/public/resources/logos/phone.svg diff --git a/front/dist/resources/logos/report.back.svg b/front/public/resources/logos/report.back.svg similarity index 100% rename from front/dist/resources/logos/report.back.svg rename to front/public/resources/logos/report.back.svg diff --git a/front/dist/resources/logos/report.svg b/front/public/resources/logos/report.svg similarity index 100% rename from front/dist/resources/logos/report.svg rename to front/public/resources/logos/report.svg diff --git a/front/dist/resources/logos/send-bkack.svg b/front/public/resources/logos/send-bkack.svg similarity index 100% rename from front/dist/resources/logos/send-bkack.svg rename to front/public/resources/logos/send-bkack.svg diff --git a/front/dist/resources/logos/send-white.svg b/front/public/resources/logos/send-white.svg similarity index 100% rename from front/dist/resources/logos/send-white.svg rename to front/public/resources/logos/send-white.svg diff --git a/front/dist/resources/logos/send-yellow.svg b/front/public/resources/logos/send-yellow.svg similarity index 100% rename from front/dist/resources/logos/send-yellow.svg rename to front/public/resources/logos/send-yellow.svg diff --git a/front/dist/resources/logos/setting-black.svg b/front/public/resources/logos/setting-black.svg similarity index 100% rename from front/dist/resources/logos/setting-black.svg rename to front/public/resources/logos/setting-black.svg diff --git a/front/dist/resources/logos/setting-white.svg b/front/public/resources/logos/setting-white.svg similarity index 100% rename from front/dist/resources/logos/setting-white.svg rename to front/public/resources/logos/setting-white.svg diff --git a/front/dist/resources/logos/setting-yellow.svg b/front/public/resources/logos/setting-yellow.svg similarity index 100% rename from front/dist/resources/logos/setting-yellow.svg rename to front/public/resources/logos/setting-yellow.svg diff --git a/front/dist/resources/objects/arrow_down.png b/front/public/resources/objects/arrow_down.png similarity index 100% rename from front/dist/resources/objects/arrow_down.png rename to front/public/resources/objects/arrow_down.png diff --git a/front/dist/resources/objects/arrow_right.png b/front/public/resources/objects/arrow_right.png similarity index 100% rename from front/dist/resources/objects/arrow_right.png rename to front/public/resources/objects/arrow_right.png diff --git a/front/dist/resources/objects/arrow_up.png b/front/public/resources/objects/arrow_up.png similarity index 100% rename from front/dist/resources/objects/arrow_up.png rename to front/public/resources/objects/arrow_up.png diff --git a/front/dist/resources/objects/arrow_up_black.png b/front/public/resources/objects/arrow_up_black.png similarity index 100% rename from front/dist/resources/objects/arrow_up_black.png rename to front/public/resources/objects/arrow_up_black.png diff --git a/front/dist/resources/objects/customize.png b/front/public/resources/objects/customize.png similarity index 100% rename from front/dist/resources/objects/customize.png rename to front/public/resources/objects/customize.png diff --git a/front/dist/resources/objects/customize_selected.png b/front/public/resources/objects/customize_selected.png similarity index 100% rename from front/dist/resources/objects/customize_selected.png rename to front/public/resources/objects/customize_selected.png diff --git a/front/dist/resources/objects/facebook-icon.png b/front/public/resources/objects/facebook-icon.png similarity index 100% rename from front/dist/resources/objects/facebook-icon.png rename to front/public/resources/objects/facebook-icon.png diff --git a/front/dist/resources/objects/joystickSplitted.png b/front/public/resources/objects/joystickSplitted.png similarity index 100% rename from front/dist/resources/objects/joystickSplitted.png rename to front/public/resources/objects/joystickSplitted.png diff --git a/front/dist/resources/objects/report-message.mp3 b/front/public/resources/objects/report-message.mp3 similarity index 100% rename from front/dist/resources/objects/report-message.mp3 rename to front/public/resources/objects/report-message.mp3 diff --git a/front/dist/resources/objects/smallHandleFilledGrey.png b/front/public/resources/objects/smallHandleFilledGrey.png similarity index 100% rename from front/dist/resources/objects/smallHandleFilledGrey.png rename to front/public/resources/objects/smallHandleFilledGrey.png diff --git a/front/dist/resources/objects/talk.png b/front/public/resources/objects/talk.png similarity index 100% rename from front/dist/resources/objects/talk.png rename to front/public/resources/objects/talk.png diff --git a/front/dist/resources/objects/teleportation.png b/front/public/resources/objects/teleportation.png similarity index 100% rename from front/dist/resources/objects/teleportation.png rename to front/public/resources/objects/teleportation.png diff --git a/front/dist/resources/objects/twitter-icon.png b/front/public/resources/objects/twitter-icon.png similarity index 100% rename from front/dist/resources/objects/twitter-icon.png rename to front/public/resources/objects/twitter-icon.png diff --git a/front/dist/resources/objects/webrtc-in.mp3 b/front/public/resources/objects/webrtc-in.mp3 similarity index 100% rename from front/dist/resources/objects/webrtc-in.mp3 rename to front/public/resources/objects/webrtc-in.mp3 diff --git a/front/dist/resources/objects/webrtc-out.mp3 b/front/public/resources/objects/webrtc-out.mp3 similarity index 100% rename from front/dist/resources/objects/webrtc-out.mp3 rename to front/public/resources/objects/webrtc-out.mp3 diff --git a/front/dist/resources/translations/.gitignore b/front/public/resources/translations/.gitignore similarity index 100% rename from front/dist/resources/translations/.gitignore rename to front/public/resources/translations/.gitignore diff --git a/front/dist/service-worker-dev.js b/front/public/service-worker-dev.js similarity index 100% rename from front/dist/service-worker-dev.js rename to front/public/service-worker-dev.js diff --git a/front/dist/service-worker-prod.js b/front/public/service-worker-prod.js similarity index 100% rename from front/dist/service-worker-prod.js rename to front/public/service-worker-prod.js diff --git a/front/dist/static/images/Bitmap2.png b/front/public/static/images/Bitmap2.png similarity index 100% rename from front/dist/static/images/Bitmap2.png rename to front/public/static/images/Bitmap2.png diff --git a/front/dist/static/images/Bitmap3.png b/front/public/static/images/Bitmap3.png similarity index 100% rename from front/dist/static/images/Bitmap3.png rename to front/public/static/images/Bitmap3.png diff --git a/front/dist/static/images/amstrad.png b/front/public/static/images/amstrad.png similarity index 100% rename from front/dist/static/images/amstrad.png rename to front/public/static/images/amstrad.png diff --git a/front/dist/static/images/atari.png b/front/public/static/images/atari.png similarity index 100% rename from front/dist/static/images/atari.png rename to front/public/static/images/atari.png diff --git a/front/dist/static/images/bitmap.png b/front/public/static/images/bitmap.png similarity index 100% rename from front/dist/static/images/bitmap.png rename to front/public/static/images/bitmap.png diff --git a/front/dist/static/images/check.png b/front/public/static/images/check.png similarity index 100% rename from front/dist/static/images/check.png rename to front/public/static/images/check.png diff --git a/front/dist/static/images/choose_character.png b/front/public/static/images/choose_character.png similarity index 100% rename from front/dist/static/images/choose_character.png rename to front/public/static/images/choose_character.png diff --git a/front/dist/static/images/cloud.png b/front/public/static/images/cloud.png similarity index 100% rename from front/dist/static/images/cloud.png rename to front/public/static/images/cloud.png diff --git a/front/dist/static/images/desktop.png b/front/public/static/images/desktop.png similarity index 100% rename from front/dist/static/images/desktop.png rename to front/public/static/images/desktop.png diff --git a/front/dist/static/images/facebook.png b/front/public/static/images/facebook.png similarity index 100% rename from front/dist/static/images/facebook.png rename to front/public/static/images/facebook.png diff --git a/front/dist/static/images/favicons/android-icon-144x144-white.png b/front/public/static/images/favicons/android-icon-144x144-white.png similarity index 100% rename from front/dist/static/images/favicons/android-icon-144x144-white.png rename to front/public/static/images/favicons/android-icon-144x144-white.png diff --git a/front/dist/static/images/favicons/android-icon-144x144.png b/front/public/static/images/favicons/android-icon-144x144.png similarity index 100% rename from front/dist/static/images/favicons/android-icon-144x144.png rename to front/public/static/images/favicons/android-icon-144x144.png diff --git a/front/dist/static/images/favicons/android-icon-192x192-white.png b/front/public/static/images/favicons/android-icon-192x192-white.png similarity index 100% rename from front/dist/static/images/favicons/android-icon-192x192-white.png rename to front/public/static/images/favicons/android-icon-192x192-white.png diff --git a/front/dist/static/images/favicons/android-icon-192x192.png b/front/public/static/images/favicons/android-icon-192x192.png similarity index 100% rename from front/dist/static/images/favicons/android-icon-192x192.png rename to front/public/static/images/favicons/android-icon-192x192.png diff --git a/front/dist/static/images/favicons/android-icon-36x36.-white.png b/front/public/static/images/favicons/android-icon-36x36.-white.png similarity index 100% rename from front/dist/static/images/favicons/android-icon-36x36.-white.png rename to front/public/static/images/favicons/android-icon-36x36.-white.png diff --git a/front/dist/static/images/favicons/android-icon-36x36.png b/front/public/static/images/favicons/android-icon-36x36.png similarity index 100% rename from front/dist/static/images/favicons/android-icon-36x36.png rename to front/public/static/images/favicons/android-icon-36x36.png diff --git a/front/dist/static/images/favicons/android-icon-48x48-white.png b/front/public/static/images/favicons/android-icon-48x48-white.png similarity index 100% rename from front/dist/static/images/favicons/android-icon-48x48-white.png rename to front/public/static/images/favicons/android-icon-48x48-white.png diff --git a/front/dist/static/images/favicons/android-icon-48x48.png b/front/public/static/images/favicons/android-icon-48x48.png similarity index 100% rename from front/dist/static/images/favicons/android-icon-48x48.png rename to front/public/static/images/favicons/android-icon-48x48.png diff --git a/front/dist/static/images/favicons/android-icon-72x72-white.png b/front/public/static/images/favicons/android-icon-72x72-white.png similarity index 100% rename from front/dist/static/images/favicons/android-icon-72x72-white.png rename to front/public/static/images/favicons/android-icon-72x72-white.png diff --git a/front/dist/static/images/favicons/android-icon-72x72.png b/front/public/static/images/favicons/android-icon-72x72.png similarity index 100% rename from front/dist/static/images/favicons/android-icon-72x72.png rename to front/public/static/images/favicons/android-icon-72x72.png diff --git a/front/dist/static/images/favicons/android-icon-96x96-white.png b/front/public/static/images/favicons/android-icon-96x96-white.png similarity index 100% rename from front/dist/static/images/favicons/android-icon-96x96-white.png rename to front/public/static/images/favicons/android-icon-96x96-white.png diff --git a/front/dist/static/images/favicons/android-icon-96x96.png b/front/public/static/images/favicons/android-icon-96x96.png similarity index 100% rename from front/dist/static/images/favicons/android-icon-96x96.png rename to front/public/static/images/favicons/android-icon-96x96.png diff --git a/front/dist/static/images/favicons/apple-icon-114x114-white.png b/front/public/static/images/favicons/apple-icon-114x114-white.png similarity index 100% rename from front/dist/static/images/favicons/apple-icon-114x114-white.png rename to front/public/static/images/favicons/apple-icon-114x114-white.png diff --git a/front/dist/static/images/favicons/apple-icon-114x114.png b/front/public/static/images/favicons/apple-icon-114x114.png similarity index 100% rename from front/dist/static/images/favicons/apple-icon-114x114.png rename to front/public/static/images/favicons/apple-icon-114x114.png diff --git a/front/dist/static/images/favicons/apple-icon-120x120-white.png b/front/public/static/images/favicons/apple-icon-120x120-white.png similarity index 100% rename from front/dist/static/images/favicons/apple-icon-120x120-white.png rename to front/public/static/images/favicons/apple-icon-120x120-white.png diff --git a/front/dist/static/images/favicons/apple-icon-120x120.png b/front/public/static/images/favicons/apple-icon-120x120.png similarity index 100% rename from front/dist/static/images/favicons/apple-icon-120x120.png rename to front/public/static/images/favicons/apple-icon-120x120.png diff --git a/front/dist/static/images/favicons/apple-icon-144x144-white.png b/front/public/static/images/favicons/apple-icon-144x144-white.png similarity index 100% rename from front/dist/static/images/favicons/apple-icon-144x144-white.png rename to front/public/static/images/favicons/apple-icon-144x144-white.png diff --git a/front/dist/static/images/favicons/apple-icon-144x144.png b/front/public/static/images/favicons/apple-icon-144x144.png similarity index 100% rename from front/dist/static/images/favicons/apple-icon-144x144.png rename to front/public/static/images/favicons/apple-icon-144x144.png diff --git a/front/dist/static/images/favicons/apple-icon-152x152-white.png b/front/public/static/images/favicons/apple-icon-152x152-white.png similarity index 100% rename from front/dist/static/images/favicons/apple-icon-152x152-white.png rename to front/public/static/images/favicons/apple-icon-152x152-white.png diff --git a/front/dist/static/images/favicons/apple-icon-152x152.png b/front/public/static/images/favicons/apple-icon-152x152.png similarity index 100% rename from front/dist/static/images/favicons/apple-icon-152x152.png rename to front/public/static/images/favicons/apple-icon-152x152.png diff --git a/front/dist/static/images/favicons/apple-icon-180x180-white.png b/front/public/static/images/favicons/apple-icon-180x180-white.png similarity index 100% rename from front/dist/static/images/favicons/apple-icon-180x180-white.png rename to front/public/static/images/favicons/apple-icon-180x180-white.png diff --git a/front/dist/static/images/favicons/apple-icon-180x180.png b/front/public/static/images/favicons/apple-icon-180x180.png similarity index 100% rename from front/dist/static/images/favicons/apple-icon-180x180.png rename to front/public/static/images/favicons/apple-icon-180x180.png diff --git a/front/dist/static/images/favicons/apple-icon-57x57-white.png b/front/public/static/images/favicons/apple-icon-57x57-white.png similarity index 100% rename from front/dist/static/images/favicons/apple-icon-57x57-white.png rename to front/public/static/images/favicons/apple-icon-57x57-white.png diff --git a/front/dist/static/images/favicons/apple-icon-57x57.png b/front/public/static/images/favicons/apple-icon-57x57.png similarity index 100% rename from front/dist/static/images/favicons/apple-icon-57x57.png rename to front/public/static/images/favicons/apple-icon-57x57.png diff --git a/front/dist/static/images/favicons/apple-icon-60x60-white.png b/front/public/static/images/favicons/apple-icon-60x60-white.png similarity index 100% rename from front/dist/static/images/favicons/apple-icon-60x60-white.png rename to front/public/static/images/favicons/apple-icon-60x60-white.png diff --git a/front/dist/static/images/favicons/apple-icon-60x60.png b/front/public/static/images/favicons/apple-icon-60x60.png similarity index 100% rename from front/dist/static/images/favicons/apple-icon-60x60.png rename to front/public/static/images/favicons/apple-icon-60x60.png diff --git a/front/dist/static/images/favicons/apple-icon-72x72-white.png b/front/public/static/images/favicons/apple-icon-72x72-white.png similarity index 100% rename from front/dist/static/images/favicons/apple-icon-72x72-white.png rename to front/public/static/images/favicons/apple-icon-72x72-white.png diff --git a/front/dist/static/images/favicons/apple-icon-72x72.png b/front/public/static/images/favicons/apple-icon-72x72.png similarity index 100% rename from front/dist/static/images/favicons/apple-icon-72x72.png rename to front/public/static/images/favicons/apple-icon-72x72.png diff --git a/front/dist/static/images/favicons/apple-icon-76x76-white.png b/front/public/static/images/favicons/apple-icon-76x76-white.png similarity index 100% rename from front/dist/static/images/favicons/apple-icon-76x76-white.png rename to front/public/static/images/favicons/apple-icon-76x76-white.png diff --git a/front/dist/static/images/favicons/apple-icon-76x76.png b/front/public/static/images/favicons/apple-icon-76x76.png similarity index 100% rename from front/dist/static/images/favicons/apple-icon-76x76.png rename to front/public/static/images/favicons/apple-icon-76x76.png diff --git a/front/dist/static/images/favicons/apple-icon-precomposed-white.png b/front/public/static/images/favicons/apple-icon-precomposed-white.png similarity index 100% rename from front/dist/static/images/favicons/apple-icon-precomposed-white.png rename to front/public/static/images/favicons/apple-icon-precomposed-white.png diff --git a/front/dist/static/images/favicons/apple-icon-precomposed.png b/front/public/static/images/favicons/apple-icon-precomposed.png similarity index 100% rename from front/dist/static/images/favicons/apple-icon-precomposed.png rename to front/public/static/images/favicons/apple-icon-precomposed.png diff --git a/front/dist/static/images/favicons/apple-icon-white.png b/front/public/static/images/favicons/apple-icon-white.png similarity index 100% rename from front/dist/static/images/favicons/apple-icon-white.png rename to front/public/static/images/favicons/apple-icon-white.png diff --git a/front/dist/static/images/favicons/apple-icon.png b/front/public/static/images/favicons/apple-icon.png similarity index 100% rename from front/dist/static/images/favicons/apple-icon.png rename to front/public/static/images/favicons/apple-icon.png diff --git a/front/dist/static/images/favicons/browserconfig.xml b/front/public/static/images/favicons/browserconfig.xml similarity index 100% rename from front/dist/static/images/favicons/browserconfig.xml rename to front/public/static/images/favicons/browserconfig.xml diff --git a/front/dist/static/images/favicons/favicon-16x16-white.png b/front/public/static/images/favicons/favicon-16x16-white.png similarity index 100% rename from front/dist/static/images/favicons/favicon-16x16-white.png rename to front/public/static/images/favicons/favicon-16x16-white.png diff --git a/front/dist/static/images/favicons/favicon-16x16.png b/front/public/static/images/favicons/favicon-16x16.png similarity index 100% rename from front/dist/static/images/favicons/favicon-16x16.png rename to front/public/static/images/favicons/favicon-16x16.png diff --git a/front/dist/static/images/favicons/favicon-32x32-white.png b/front/public/static/images/favicons/favicon-32x32-white.png similarity index 100% rename from front/dist/static/images/favicons/favicon-32x32-white.png rename to front/public/static/images/favicons/favicon-32x32-white.png diff --git a/front/dist/static/images/favicons/favicon-32x32.png b/front/public/static/images/favicons/favicon-32x32.png similarity index 100% rename from front/dist/static/images/favicons/favicon-32x32.png rename to front/public/static/images/favicons/favicon-32x32.png diff --git a/front/dist/static/images/favicons/favicon-96x96-white.png b/front/public/static/images/favicons/favicon-96x96-white.png similarity index 100% rename from front/dist/static/images/favicons/favicon-96x96-white.png rename to front/public/static/images/favicons/favicon-96x96-white.png diff --git a/front/dist/static/images/favicons/favicon-96x96.png b/front/public/static/images/favicons/favicon-96x96.png similarity index 100% rename from front/dist/static/images/favicons/favicon-96x96.png rename to front/public/static/images/favicons/favicon-96x96.png diff --git a/front/dist/static/images/favicons/favicon.ico b/front/public/static/images/favicons/favicon.ico similarity index 100% rename from front/dist/static/images/favicons/favicon.ico rename to front/public/static/images/favicons/favicon.ico diff --git a/front/dist/static/images/favicons/icon-512x512-white.png b/front/public/static/images/favicons/icon-512x512-white.png similarity index 100% rename from front/dist/static/images/favicons/icon-512x512-white.png rename to front/public/static/images/favicons/icon-512x512-white.png diff --git a/front/dist/static/images/favicons/icon-512x512.png b/front/public/static/images/favicons/icon-512x512.png similarity index 100% rename from front/dist/static/images/favicons/icon-512x512.png rename to front/public/static/images/favicons/icon-512x512.png diff --git a/front/dist/static/images/favicons/manifest.json b/front/public/static/images/favicons/manifest.json similarity index 100% rename from front/dist/static/images/favicons/manifest.json rename to front/public/static/images/favicons/manifest.json diff --git a/front/dist/static/images/favicons/ms-icon-144x144.png b/front/public/static/images/favicons/ms-icon-144x144.png similarity index 100% rename from front/dist/static/images/favicons/ms-icon-144x144.png rename to front/public/static/images/favicons/ms-icon-144x144.png diff --git a/front/dist/static/images/favicons/ms-icon-150x150.png b/front/public/static/images/favicons/ms-icon-150x150.png similarity index 100% rename from front/dist/static/images/favicons/ms-icon-150x150.png rename to front/public/static/images/favicons/ms-icon-150x150.png diff --git a/front/dist/static/images/favicons/ms-icon-310x310.png b/front/public/static/images/favicons/ms-icon-310x310.png similarity index 100% rename from front/dist/static/images/favicons/ms-icon-310x310.png rename to front/public/static/images/favicons/ms-icon-310x310.png diff --git a/front/dist/static/images/favicons/ms-icon-70x70.png b/front/public/static/images/favicons/ms-icon-70x70.png similarity index 100% rename from front/dist/static/images/favicons/ms-icon-70x70.png rename to front/public/static/images/favicons/ms-icon-70x70.png diff --git a/front/dist/static/images/female-character.gif b/front/public/static/images/female-character.gif similarity index 100% rename from front/dist/static/images/female-character.gif rename to front/public/static/images/female-character.gif diff --git a/front/dist/static/images/floppy.png b/front/public/static/images/floppy.png similarity index 100% rename from front/dist/static/images/floppy.png rename to front/public/static/images/floppy.png diff --git a/front/dist/static/images/interact.png b/front/public/static/images/interact.png similarity index 100% rename from front/dist/static/images/interact.png rename to front/public/static/images/interact.png diff --git a/front/dist/static/images/linkedin.png b/front/public/static/images/linkedin.png similarity index 100% rename from front/dist/static/images/linkedin.png rename to front/public/static/images/linkedin.png diff --git a/front/dist/static/images/logo-WA-min.png b/front/public/static/images/logo-WA-min.png similarity index 100% rename from front/dist/static/images/logo-WA-min.png rename to front/public/static/images/logo-WA-min.png diff --git a/front/dist/static/images/logo.png b/front/public/static/images/logo.png similarity index 100% rename from front/dist/static/images/logo.png rename to front/public/static/images/logo.png diff --git a/front/dist/static/images/male-character.gif b/front/public/static/images/male-character.gif similarity index 100% rename from front/dist/static/images/male-character.gif rename to front/public/static/images/male-character.gif diff --git a/front/dist/static/images/maps/coders.png b/front/public/static/images/maps/coders.png similarity index 100% rename from front/dist/static/images/maps/coders.png rename to front/public/static/images/maps/coders.png diff --git a/front/dist/static/images/maps/creative.png b/front/public/static/images/maps/creative.png similarity index 100% rename from front/dist/static/images/maps/creative.png rename to front/public/static/images/maps/creative.png diff --git a/front/dist/static/images/maps/dungeon.png b/front/public/static/images/maps/dungeon.png similarity index 100% rename from front/dist/static/images/maps/dungeon.png rename to front/public/static/images/maps/dungeon.png diff --git a/front/dist/static/images/maps/fantasy.png b/front/public/static/images/maps/fantasy.png similarity index 100% rename from front/dist/static/images/maps/fantasy.png rename to front/public/static/images/maps/fantasy.png diff --git a/front/dist/static/images/maps/office.png b/front/public/static/images/maps/office.png similarity index 100% rename from front/dist/static/images/maps/office.png rename to front/public/static/images/maps/office.png diff --git a/front/dist/static/images/maps/pub.png b/front/public/static/images/maps/pub.png similarity index 100% rename from front/dist/static/images/maps/pub.png rename to front/public/static/images/maps/pub.png diff --git a/front/dist/static/images/maps/school.png b/front/public/static/images/maps/school.png similarity index 100% rename from front/dist/static/images/maps/school.png rename to front/public/static/images/maps/school.png diff --git a/front/dist/static/images/maps/street.png b/front/public/static/images/maps/street.png similarity index 100% rename from front/dist/static/images/maps/street.png rename to front/public/static/images/maps/street.png diff --git a/front/dist/static/images/maps/tcm.png b/front/public/static/images/maps/tcm.png similarity index 100% rename from front/dist/static/images/maps/tcm.png rename to front/public/static/images/maps/tcm.png diff --git a/front/dist/static/images/menu.svg b/front/public/static/images/menu.svg similarity index 100% rename from front/dist/static/images/menu.svg rename to front/public/static/images/menu.svg diff --git a/front/dist/static/images/meta-tags-image.jpg b/front/public/static/images/meta-tags-image.jpg similarity index 100% rename from front/dist/static/images/meta-tags-image.jpg rename to front/public/static/images/meta-tags-image.jpg diff --git a/front/dist/static/images/play.png b/front/public/static/images/play.png similarity index 100% rename from front/dist/static/images/play.png rename to front/public/static/images/play.png diff --git a/front/dist/static/images/send.png b/front/public/static/images/send.png similarity index 100% rename from front/dist/static/images/send.png rename to front/public/static/images/send.png diff --git a/front/dist/static/images/sinclair-2.png b/front/public/static/images/sinclair-2.png similarity index 100% rename from front/dist/static/images/sinclair-2.png rename to front/public/static/images/sinclair-2.png diff --git a/front/dist/static/images/step 1.png b/front/public/static/images/step 1.png similarity index 100% rename from front/dist/static/images/step 1.png rename to front/public/static/images/step 1.png diff --git a/front/dist/static/images/step 2.png b/front/public/static/images/step 2.png similarity index 100% rename from front/dist/static/images/step 2.png rename to front/public/static/images/step 2.png diff --git a/front/dist/static/images/step 3.png b/front/public/static/images/step 3.png similarity index 100% rename from front/dist/static/images/step 3.png rename to front/public/static/images/step 3.png diff --git a/front/dist/static/images/super-nintendo.png b/front/public/static/images/super-nintendo.png similarity index 100% rename from front/dist/static/images/super-nintendo.png rename to front/public/static/images/super-nintendo.png diff --git a/front/dist/static/images/twitter.png b/front/public/static/images/twitter.png similarity index 100% rename from front/dist/static/images/twitter.png rename to front/public/static/images/twitter.png From d98acf9d2ac71956d23f5490d87d4e3c48cbee10 Mon Sep 17 00:00:00 2001 From: Lukas Hass Date: Mon, 31 Jan 2022 16:16:43 +0100 Subject: [PATCH 02/88] gitignore dist/ completely --- front/.gitignore | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/front/.gitignore b/front/.gitignore index d76848c8..82c6435c 100644 --- a/front/.gitignore +++ b/front/.gitignore @@ -1,14 +1,6 @@ /node_modules/ -/dist/*.js -/dist/*.js.map -/dist/*.js.LICENSE.txt -/dist/main.*.css -/dist/main.*.css.map -/dist/tests/ +dist/ /yarn-error.log /package-lock.json -/dist/webpack.config.js -/dist/webpack.config.js.map -/dist/src *.sh !templater.sh From 585a398b14ad67eed25854278cdcf68f433201aa Mon Sep 17 00:00:00 2001 From: Lukas Hass Date: Mon, 31 Jan 2022 16:18:51 +0100 Subject: [PATCH 03/88] move index.html to . --- front/{public/index.ejs => index.html} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename front/{public/index.ejs => index.html} (100%) diff --git a/front/public/index.ejs b/front/index.html similarity index 100% rename from front/public/index.ejs rename to front/index.html From 5091e8d64975a4f4c52f5d96c8ec7f3528c3fee5 Mon Sep 17 00:00:00 2001 From: Lukas Hass Date: Mon, 31 Jan 2022 16:20:17 +0100 Subject: [PATCH 04/88] add vite and svelte plugin --- front/package.json | 2 + front/vite.config.ts | 6 ++ front/yarn.lock | 205 ++++++++++++++++++++++++++++++++++++++++++- 3 files changed, 210 insertions(+), 3 deletions(-) create mode 100644 front/vite.config.ts diff --git a/front/package.json b/front/package.json index 9a17f4a0..c1e4708b 100644 --- a/front/package.json +++ b/front/package.json @@ -4,6 +4,7 @@ "main": "index.js", "license": "SEE LICENSE IN LICENSE.txt", "devDependencies": { + "@sveltejs/vite-plugin-svelte": "^1.0.0-next.36", "@tsconfig/svelte": "^1.0.10", "@types/google-protobuf": "^3.7.3", "@types/jasmine": "^3.5.10", @@ -37,6 +38,7 @@ "ts-node": "^10.4.0", "tsconfig-paths": "^3.9.0", "typescript": "^4.5.3", + "vite": "^2.7.13", "webpack": "^5.37.0", "webpack-cli": "^4.7.0", "webpack-dev-server": "^3.11.2" diff --git a/front/vite.config.ts b/front/vite.config.ts new file mode 100644 index 00000000..7b2a217d --- /dev/null +++ b/front/vite.config.ts @@ -0,0 +1,6 @@ +import { defineConfig } from "vite"; +import { svelte } from "@sveltejs/vite-plugin-svelte"; + +export default defineConfig({ + plugins: [svelte({})], +}); diff --git a/front/yarn.lock b/front/yarn.lock index 329bce4d..02c1e911 100644 --- a/front/yarn.lock +++ b/front/yarn.lock @@ -203,11 +203,30 @@ resolved "https://registry.yarnpkg.com/@protobufjs/utf8/-/utf8-1.1.0.tgz#a777360b5b39a1a2e5106f8e858f2fd2d060c570" integrity sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA= +"@rollup/pluginutils@^4.1.2": + version "4.1.2" + resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-4.1.2.tgz#ed5821c15e5e05e32816f5fb9ec607cdf5a75751" + integrity sha512-ROn4qvkxP9SyPeHaf7uQC/GPFY6L/OWy9+bd9AwcjOAWQwxRscoEyAUD8qCY5o5iL4jqQwoLk2kaTKJPb/HwzQ== + dependencies: + estree-walker "^2.0.1" + picomatch "^2.2.2" + "@sentry/types@^6.11.0": version "6.12.0" resolved "https://registry.yarnpkg.com/@sentry/types/-/types-6.12.0.tgz#b7395688a79403c6df8d8bb8d81deb8222519853" integrity sha512-urtgLzE4EDMAYQHYdkgC0Ei9QvLajodK1ntg71bGn0Pm84QUpaqpPDfHRU+i6jLeteyC7kWwa5O5W1m/jrjGXA== +"@sveltejs/vite-plugin-svelte@^1.0.0-next.36": + version "1.0.0-next.36" + resolved "https://registry.yarnpkg.com/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-1.0.0-next.36.tgz#c515f6216dcb8797722dade17b64244d799ad667" + integrity sha512-X7lTiioTGC3ri5M299fxc2dimuKU7f22zTXcmD+NrF+fO9/b7YNfLeQQwWV7Tvv9REysMlR4G2HQF6+lY62p/Q== + dependencies: + "@rollup/pluginutils" "^4.1.2" + debug "^4.3.3" + kleur "^4.1.4" + magic-string "^0.25.7" + svelte-hmr "^0.14.9" + "@trysound/sax@0.2.0": version "0.2.0" resolved "https://registry.yarnpkg.com/@trysound/sax/-/sax-0.2.0.tgz#cccaab758af56761eb7bf37af6f03f326dd798ad" @@ -1919,7 +1938,7 @@ debug@^4.1.0, debug@^4.1.1, debug@^4.3.1: dependencies: ms "2.1.2" -debug@^4.3.2: +debug@^4.3.2, debug@^4.3.3: version "4.3.3" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.3.tgz#04266e0b70a98d4462e6e288e38259213332b664" integrity sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q== @@ -2359,6 +2378,114 @@ es6-object-assign@^1.1.0: resolved "https://registry.yarnpkg.com/es6-object-assign/-/es6-object-assign-1.1.0.tgz#c2c3582656247c39ea107cb1e6652b6f9f24523c" integrity sha1-wsNYJlYkfDnqEHyx5mUrb58kUjw= +esbuild-android-arm64@0.13.15: + version "0.13.15" + resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.13.15.tgz#3fc3ff0bab76fe35dd237476b5d2b32bb20a3d44" + integrity sha512-m602nft/XXeO8YQPUDVoHfjyRVPdPgjyyXOxZ44MK/agewFFkPa8tUo6lAzSWh5Ui5PB4KR9UIFTSBKh/RrCmg== + +esbuild-darwin-64@0.13.15: + version "0.13.15" + resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.13.15.tgz#8e9169c16baf444eacec60d09b24d11b255a8e72" + integrity sha512-ihOQRGs2yyp7t5bArCwnvn2Atr6X4axqPpEdCFPVp7iUj4cVSdisgvEKdNR7yH3JDjW6aQDw40iQFoTqejqxvQ== + +esbuild-darwin-arm64@0.13.15: + version "0.13.15" + resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.13.15.tgz#1b07f893b632114f805e188ddfca41b2b778229a" + integrity sha512-i1FZssTVxUqNlJ6cBTj5YQj4imWy3m49RZRnHhLpefFIh0To05ow9DTrXROTE1urGTQCloFUXTX8QfGJy1P8dQ== + +esbuild-freebsd-64@0.13.15: + version "0.13.15" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.13.15.tgz#0b8b7eca1690c8ec94c75680c38c07269c1f4a85" + integrity sha512-G3dLBXUI6lC6Z09/x+WtXBXbOYQZ0E8TDBqvn7aMaOCzryJs8LyVXKY4CPnHFXZAbSwkCbqiPuSQ1+HhrNk7EA== + +esbuild-freebsd-arm64@0.13.15: + version "0.13.15" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.13.15.tgz#2e1a6c696bfdcd20a99578b76350b41db1934e52" + integrity sha512-KJx0fzEDf1uhNOZQStV4ujg30WlnwqUASaGSFPhznLM/bbheu9HhqZ6mJJZM32lkyfGJikw0jg7v3S0oAvtvQQ== + +esbuild-linux-32@0.13.15: + version "0.13.15" + resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.13.15.tgz#6fd39f36fc66dd45b6b5f515728c7bbebc342a69" + integrity sha512-ZvTBPk0YWCLMCXiFmD5EUtB30zIPvC5Itxz0mdTu/xZBbbHJftQgLWY49wEPSn2T/TxahYCRDWun5smRa0Tu+g== + +esbuild-linux-64@0.13.15: + version "0.13.15" + resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.13.15.tgz#9cb8e4bcd7574e67946e4ee5f1f1e12386bb6dd3" + integrity sha512-eCKzkNSLywNeQTRBxJRQ0jxRCl2YWdMB3+PkWFo2BBQYC5mISLIVIjThNtn6HUNqua1pnvgP5xX0nHbZbPj5oA== + +esbuild-linux-arm64@0.13.15: + version "0.13.15" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.13.15.tgz#3891aa3704ec579a1b92d2a586122e5b6a2bfba1" + integrity sha512-bYpuUlN6qYU9slzr/ltyLTR9YTBS7qUDymO8SV7kjeNext61OdmqFAzuVZom+OLW1HPHseBfJ/JfdSlx8oTUoA== + +esbuild-linux-arm@0.13.15: + version "0.13.15" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.13.15.tgz#8a00e99e6a0c6c9a6b7f334841364d8a2b4aecfe" + integrity sha512-wUHttDi/ol0tD8ZgUMDH8Ef7IbDX+/UsWJOXaAyTdkT7Yy9ZBqPg8bgB/Dn3CZ9SBpNieozrPRHm0BGww7W/jA== + +esbuild-linux-mips64le@0.13.15: + version "0.13.15" + resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.13.15.tgz#36b07cc47c3d21e48db3bb1f4d9ef8f46aead4f7" + integrity sha512-KlVjIG828uFPyJkO/8gKwy9RbXhCEUeFsCGOJBepUlpa7G8/SeZgncUEz/tOOUJTcWMTmFMtdd3GElGyAtbSWg== + +esbuild-linux-ppc64le@0.13.15: + version "0.13.15" + resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.13.15.tgz#f7e6bba40b9a11eb9dcae5b01550ea04670edad2" + integrity sha512-h6gYF+OsaqEuBjeesTBtUPw0bmiDu7eAeuc2OEH9S6mV9/jPhPdhOWzdeshb0BskRZxPhxPOjqZ+/OqLcxQwEQ== + +esbuild-netbsd-64@0.13.15: + version "0.13.15" + resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.13.15.tgz#a2fedc549c2b629d580a732d840712b08d440038" + integrity sha512-3+yE9emwoevLMyvu+iR3rsa+Xwhie7ZEHMGDQ6dkqP/ndFzRHkobHUKTe+NCApSqG5ce2z4rFu+NX/UHnxlh3w== + +esbuild-openbsd-64@0.13.15: + version "0.13.15" + resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.13.15.tgz#b22c0e5806d3a1fbf0325872037f885306b05cd7" + integrity sha512-wTfvtwYJYAFL1fSs8yHIdf5GEE4NkbtbXtjLWjM3Cw8mmQKqsg8kTiqJ9NJQe5NX/5Qlo7Xd9r1yKMMkHllp5g== + +esbuild-sunos-64@0.13.15: + version "0.13.15" + resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.13.15.tgz#d0b6454a88375ee8d3964daeff55c85c91c7cef4" + integrity sha512-lbivT9Bx3t1iWWrSnGyBP9ODriEvWDRiweAs69vI+miJoeKwHWOComSRukttbuzjZ8r1q0mQJ8Z7yUsDJ3hKdw== + +esbuild-windows-32@0.13.15: + version "0.13.15" + resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.13.15.tgz#c96d0b9bbb52f3303322582ef8e4847c5ad375a7" + integrity sha512-fDMEf2g3SsJ599MBr50cY5ve5lP1wyVwTe6aLJsM01KtxyKkB4UT+fc5MXQFn3RLrAIAZOG+tHC+yXObpSn7Nw== + +esbuild-windows-64@0.13.15: + version "0.13.15" + resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.13.15.tgz#1f79cb9b1e1bb02fb25cd414cb90d4ea2892c294" + integrity sha512-9aMsPRGDWCd3bGjUIKG/ZOJPKsiztlxl/Q3C1XDswO6eNX/Jtwu4M+jb6YDH9hRSUflQWX0XKAfWzgy5Wk54JQ== + +esbuild-windows-arm64@0.13.15: + version "0.13.15" + resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.13.15.tgz#482173070810df22a752c686509c370c3be3b3c3" + integrity sha512-zzvyCVVpbwQQATaf3IG8mu1IwGEiDxKkYUdA4FpoCHi1KtPa13jeScYDjlW0Qh+ebWzpKfR2ZwvqAQkSWNcKjA== + +esbuild@^0.13.12: + version "0.13.15" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.13.15.tgz#db56a88166ee373f87dbb2d8798ff449e0450cdf" + integrity sha512-raCxt02HBKv8RJxE8vkTSCXGIyKHdEdGfUmiYb8wnabnaEmHzyW7DCHb5tEN0xU8ryqg5xw54mcwnYkC4x3AIw== + optionalDependencies: + esbuild-android-arm64 "0.13.15" + esbuild-darwin-64 "0.13.15" + esbuild-darwin-arm64 "0.13.15" + esbuild-freebsd-64 "0.13.15" + esbuild-freebsd-arm64 "0.13.15" + esbuild-linux-32 "0.13.15" + esbuild-linux-64 "0.13.15" + esbuild-linux-arm "0.13.15" + esbuild-linux-arm64 "0.13.15" + esbuild-linux-mips64le "0.13.15" + esbuild-linux-ppc64le "0.13.15" + esbuild-netbsd-64 "0.13.15" + esbuild-openbsd-64 "0.13.15" + esbuild-sunos-64 "0.13.15" + esbuild-windows-32 "0.13.15" + esbuild-windows-64 "0.13.15" + esbuild-windows-arm64 "0.13.15" + escalade@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" @@ -2494,6 +2621,11 @@ estraverse@^5.1.0, estraverse@^5.2.0: resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880" integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ== +estree-walker@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" + integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== + esutils@^2.0.2: version "2.0.3" resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" @@ -3469,6 +3601,13 @@ is-core-module@^2.2.0: dependencies: has "^1.0.3" +is-core-module@^2.8.1: + version "2.8.1" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.1.tgz#f59fdfca701d5879d0a6b100a40aa1560ce27211" + integrity sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA== + dependencies: + has "^1.0.3" + is-data-descriptor@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" @@ -3854,6 +3993,11 @@ kind-of@^6.0.0, kind-of@^6.0.2: resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== +kleur@^4.1.4: + version "4.1.4" + resolved "https://registry.yarnpkg.com/kleur/-/kleur-4.1.4.tgz#8c202987d7e577766d039a8cd461934c01cda04d" + integrity sha512-8QADVssbrFjivHWQU7KkMgptGTl6WAcSdlbBPY4uNF+mWr6DGcKrvY2w4FQJoXch7+fKMjj0dRrL75vk3k23OA== + klona@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/klona/-/klona-2.0.4.tgz#7bb1e3affb0cb8624547ef7e8f6708ea2e39dfc0" @@ -4027,6 +4171,13 @@ lru-cache@^6.0.0: dependencies: yallist "^4.0.0" +magic-string@^0.25.7: + version "0.25.7" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.7.tgz#3f497d6fd34c669c6798dcb821f2ef31f5445051" + integrity sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA== + dependencies: + sourcemap-codec "^1.4.4" + make-error@^1.1.1: version "1.3.6" resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" @@ -4731,7 +4882,7 @@ path-key@^3.0.0, path-key@^3.1.0: resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== -path-parse@^1.0.6: +path-parse@^1.0.6, path-parse@^1.0.7: version "1.0.7" resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== @@ -4804,6 +4955,11 @@ picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3: resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.3.tgz#465547f359ccc206d3c48e46a1bcb89bf7ee619d" integrity sha512-KpELjfwcCDUb9PeigTs2mBJzXUPzAuP2oPcA989He8Rte0+YUAjw1JVedDhuTKPkHjSYzMN3npC9luThGYEKdg== +picomatch@^2.2.2: + version "2.3.1" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + pidtree@^0.3.0: version "0.3.1" resolved "https://registry.yarnpkg.com/pidtree/-/pidtree-0.3.1.tgz#ef09ac2cc0533df1f3250ccf2c4d366b0d12114a" @@ -5137,7 +5293,7 @@ postcss@^8.2.10: nanoid "^3.1.23" source-map "^0.6.1" -postcss@^8.3.5: +postcss@^8.3.5, postcss@^8.4.5: version "8.4.5" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.5.tgz#bae665764dfd4c6fcc24dc0fdf7e7aa00cc77f95" integrity sha512-jBDboWM8qpaqwkMwItqTQTiFikhs/67OYVvblFFTM7MrZjt6yMKd6r2kgXizEbTTljacm4NldIlZnhbjr84QYg== @@ -5530,6 +5686,15 @@ resolve@^1.10.0, resolve@^1.9.0: is-core-module "^2.2.0" path-parse "^1.0.6" +resolve@^1.20.0: + version "1.22.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.0.tgz#5e0b8c67c15df57a89bdbabe603a002f21731198" + integrity sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw== + dependencies: + is-core-module "^2.8.1" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + restore-cursor@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" @@ -5580,6 +5745,13 @@ ripemd160@^2.0.0, ripemd160@^2.0.1: hash-base "^3.0.0" inherits "^2.0.1" +rollup@^2.59.0: + version "2.66.1" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.66.1.tgz#366b0404de353c4331d538c3ad2963934fcb4937" + integrity sha512-crSgLhSkLMnKr4s9iZ/1qJCplgAgrRY+igWv8KhG/AjKOJ0YX/WpmANyn8oxrw+zenF3BXWDLa7Xl/QZISH+7w== + optionalDependencies: + fsevents "~2.3.2" + rrweb-snapshot@^1.1.7: version "1.1.8" resolved "https://registry.yarnpkg.com/rrweb-snapshot/-/rrweb-snapshot-1.1.8.tgz#57c3a8003a6ebbe4a2e2f5be29e30a47a8b1eb03" @@ -6011,6 +6183,11 @@ source-map@^0.7.3, source-map@~0.7.2: resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== +sourcemap-codec@^1.4.4: + version "1.4.8" + resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4" + integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== + spdx-correct@^3.0.0: version "3.1.1" resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" @@ -6274,6 +6451,11 @@ supports-color@^8.0.0: dependencies: has-flag "^4.0.0" +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== + svelte-check@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/svelte-check/-/svelte-check-2.1.0.tgz#3ee8ad86068256346ebca862bbee8417a757fc53" @@ -6299,6 +6481,11 @@ svelte-hmr@^0.12.3: resolved "https://registry.yarnpkg.com/svelte-hmr/-/svelte-hmr-0.12.9.tgz#e323b71062a59bf4b73d2d5a7cc80dba256217e1" integrity sha512-SGE7Odznj4dqZtUVIWcoPCvZ9gHImxVIIjrz+O3DDSi0j4OaSLim6MRF4UdhlBKeW3glSRc+tXNSKYvM5x+Dyw== +svelte-hmr@^0.14.9: + version "0.14.9" + resolved "https://registry.yarnpkg.com/svelte-hmr/-/svelte-hmr-0.14.9.tgz#35f277efc789e1a6230185717347cddb2f8e9833" + integrity sha512-bKE9+4qb4sAnA+TKHiYurUl970rjA0XmlP9TEP7K/ncyWz3m81kA4HOgmlZK/7irGK7gzZlaPDI3cmf8fp/+tg== + svelte-loader@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/svelte-loader/-/svelte-loader-3.1.1.tgz#cb03541214b164edee58e4c98d4303f76df9013d" @@ -6750,6 +6937,18 @@ vary@~1.1.2: resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= +vite@^2.7.13: + version "2.7.13" + resolved "https://registry.yarnpkg.com/vite/-/vite-2.7.13.tgz#99b56e27dfb1e4399e407cf94648f5c7fb9d77f5" + integrity sha512-Mq8et7f3aK0SgSxjDNfOAimZGW9XryfHRa/uV0jseQSilg+KhYDSoNb9h1rknOy6SuMkvNDLKCYAYYUMCE+IgQ== + dependencies: + esbuild "^0.13.12" + postcss "^8.4.5" + resolve "^1.20.0" + rollup "^2.59.0" + optionalDependencies: + fsevents "~2.3.2" + vm-browserify@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" From b83fc7718396b90fb42bde989e2825a51d805217 Mon Sep 17 00:00:00 2001 From: Lukas Hass Date: Mon, 31 Jan 2022 16:56:50 +0100 Subject: [PATCH 05/88] use vite plugin for env-config generation --- front/index.html | 1 - front/package.json | 1 + front/public/env-config.template.js | 27 ----------------------- front/vite.config.ts | 34 ++++++++++++++++++++++++++++- front/yarn.lock | 5 +++++ 5 files changed, 39 insertions(+), 29 deletions(-) delete mode 100644 front/public/env-config.template.js diff --git a/front/index.html b/front/index.html index 07732877..a7cf811c 100644 --- a/front/index.html +++ b/front/index.html @@ -27,7 +27,6 @@ - diff --git a/front/package.json b/front/package.json index c1e4708b..28965b26 100644 --- a/front/package.json +++ b/front/package.json @@ -4,6 +4,7 @@ "main": "index.js", "license": "SEE LICENSE IN LICENSE.txt", "devDependencies": { + "@geprog/vite-plugin-env-config": "^3.0.0", "@sveltejs/vite-plugin-svelte": "^1.0.0-next.36", "@tsconfig/svelte": "^1.0.10", "@types/google-protobuf": "^3.7.3", diff --git a/front/public/env-config.template.js b/front/public/env-config.template.js deleted file mode 100644 index e672d7aa..00000000 --- a/front/public/env-config.template.js +++ /dev/null @@ -1,27 +0,0 @@ -window.env = { - SKIP_RENDER_OPTIMIZATIONS: '${SKIP_RENDER_OPTIMIZATIONS}', - DISABLE_NOTIFICATIONS: '${DISABLE_NOTIFICATIONS}', - PUSHER_URL: '${PUSHER_URL}', - UPLOADER_URL: '${UPLOADER_URL}', - ADMIN_URL: '${ADMIN_URL}', - CONTACT_URL: '${CONTACT_URL}', - PROFILE_URL: '${PROFILE_URL}', - ICON_URL: '${ICON_URL}', - DEBUG_MODE: '${DEBUG_MODE}', - STUN_SERVER: '${STUN_SERVER}', - TURN_SERVER: '${TURN_SERVER}', - TURN_USER: '${TURN_USER}', - TURN_PASSWORD: '${TURN_PASSWORD}', - JITSI_URL: '${JITSI_URL}', - JITSI_PRIVATE_MODE: '${JITSI_PRIVATE_MODE}', - START_ROOM_URL: '${START_ROOM_URL}', - MAX_USERNAME_LENGTH: '${MAX_USERNAME_LENGTH}', - MAX_PER_GROUP: '${MAX_PER_GROUP}', - DISPLAY_TERMS_OF_USE: '${DISPLAY_TERMS_OF_USE}', - POSTHOG_API_KEY: '${POSTHOG_API_KEY}', - POSTHOG_URL: '${POSTHOG_URL}', - NODE_ENV: '${NODE_ENV}', - DISABLE_ANONYMOUS: '${DISABLE_ANONYMOUS}', - OPID_LOGIN_SCREEN_PROVIDER: '${OPID_LOGIN_SCREEN_PROVIDER}', - FALLBACK_LOCALE: '${FALLBACK_LOCALE}', -}; diff --git a/front/vite.config.ts b/front/vite.config.ts index 7b2a217d..fc8c20f5 100644 --- a/front/vite.config.ts +++ b/front/vite.config.ts @@ -1,6 +1,38 @@ import { defineConfig } from "vite"; import { svelte } from "@sveltejs/vite-plugin-svelte"; +import { envConfig } from "@geprog/vite-plugin-env-config"; export default defineConfig({ - plugins: [svelte({})], + plugins: [ + svelte({}), + envConfig({ + variables: [ + "SKIP_RENDER_OPTIMIZATIONS", + "DISABLE_NOTIFICATIONS", + "PUSHER_URL", + "UPLOADER_URL", + "ADMIN_URL", + "CONTACT_URL", + "PROFILE_URL", + "ICON_URL", + "DEBUG_MODE", + "STUN_SERVER", + "TURN_SERVER", + "TURN_USER", + "TURN_PASSWORD", + "JITSI_URL", + "JITSI_PRIVATE_MODE", + "START_ROOM_URL", + "MAX_USERNAME_LENGTH", + "MAX_PER_GROUP", + "DISPLAY_TERMS_OF_USE", + "POSTHOG_API_KEY", + "POSTHOG_URL", + "NODE_ENV", + "DISABLE_ANONYMOUS", + "OPID_LOGIN_SCREEN_PROVIDER", + "FALLBACK_LOCALE", + ], + }), + ], }); diff --git a/front/yarn.lock b/front/yarn.lock index 02c1e911..05ec0c35 100644 --- a/front/yarn.lock +++ b/front/yarn.lock @@ -93,6 +93,11 @@ dependencies: "@fortawesome/fontawesome-common-types" "^0.2.35" +"@geprog/vite-plugin-env-config@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@geprog/vite-plugin-env-config/-/vite-plugin-env-config-3.0.0.tgz#b16e57ad16429be7d73d19f13b5b529a78e7f9fa" + integrity sha512-ocIPodgIZAJm+h6As20IB8s5RLV85wvlnXNRFU2oI1owbBLqDjzSleY9+6Ey0abGSu0MNXlJQZL5ApSg6L5qCg== + "@humanwhocodes/config-array@^0.9.2": version "0.9.2" resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.9.2.tgz#68be55c737023009dfc5fe245d51181bb6476914" From 0dcadd474f16991cc6ab252cfc41c9881d3522a5 Mon Sep 17 00:00:00 2001 From: Lukas Hass Date: Mon, 31 Jan 2022 17:30:07 +0100 Subject: [PATCH 06/88] convert lang="typescript" to lang="ts" see https://github.com/sveltejs/vite-plugin-svelte/blob/main/docs/faq.md#why-isnt-vite-detecting-my-imports-correctly-in-svelte-files-with-typescript --- front/src/Components/App.svelte | 2 +- front/src/Components/CameraControls.svelte | 2 +- front/src/Components/Companion/Companion.svelte | 2 +- .../Components/CustomCharacterScene/CustomCharacterScene.svelte | 2 +- front/src/Components/EmbedScreens/CamerasContainer.svelte | 2 +- front/src/Components/EmbedScreens/CoWebsiteThumbnailSlot.svelte | 2 +- front/src/Components/EmbedScreens/CoWebsitesContainer.svelte | 2 +- front/src/Components/EmbedScreens/EmbedScreensContainer.svelte | 2 +- front/src/Components/EmoteMenu/EmoteMenu.svelte | 2 +- front/src/Components/EnableCamera/EnableCameraScene.svelte | 2 +- .../Components/EnableCamera/HorizontalSoundMeterWidget.svelte | 2 +- front/src/Components/FollowMenu/FollowButton.svelte | 2 +- .../HelpCameraSettings/HelpCameraSettingsPopup.svelte | 2 +- front/src/Components/Login/LoginScene.svelte | 2 +- front/src/Components/MainLayout.svelte | 2 +- front/src/Components/Menu/Menu.svelte | 2 +- front/src/Components/Menu/MenuIcon.svelte | 2 +- front/src/Components/Menu/ProfileSubMenu.svelte | 2 +- front/src/Components/Menu/SettingsSubMenu.svelte | 2 +- front/src/Components/Modal/LimitRoomModal.svelte | 2 +- front/src/Components/Modal/ShareLinkMapModal.svelte | 2 +- front/src/Components/MyCamera.svelte | 2 +- .../src/Components/SelectCompanion/SelectCompanionScene.svelte | 2 +- front/src/Components/SoundMeterWidget.svelte | 2 +- front/src/Components/Video/LocalStreamMediaBox.svelte | 2 +- front/src/Components/VisitCard/VisitCard.svelte | 2 +- front/src/Components/WarningContainer/WarningContainer.svelte | 2 +- front/src/Components/Woka/Woka.svelte | 2 +- .../src/Components/selectCharacter/SelectCharacterScene.svelte | 2 +- 29 files changed, 29 insertions(+), 29 deletions(-) diff --git a/front/src/Components/App.svelte b/front/src/Components/App.svelte index 620884cf..e9fc0bfa 100644 --- a/front/src/Components/App.svelte +++ b/front/src/Components/App.svelte @@ -1,4 +1,4 @@ - From ca2875c801d438ecfd4fdad9f97209f5d82e8b85 Mon Sep 17 00:00:00 2001 From: Lukas Hass Date: Mon, 31 Jan 2022 17:32:45 +0100 Subject: [PATCH 08/88] fix fontsource import --- front/style/fonts.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/front/style/fonts.scss b/front/style/fonts.scss index a49d3967..280f0a36 100644 --- a/front/style/fonts.scss +++ b/front/style/fonts.scss @@ -1,4 +1,4 @@ -@import "~@fontsource/press-start-2p/index.css"; +@import "@fontsource/press-start-2p/index.css"; *{ font-family: PixelFont-7,monospace; From d84a7536caf394d0016d711fa9daa5a4b28c9814 Mon Sep 17 00:00:00 2001 From: Lukas Hass Date: Mon, 31 Jan 2022 17:34:36 +0100 Subject: [PATCH 09/88] add sveltePreprocess --- front/vite.config.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/front/vite.config.ts b/front/vite.config.ts index fc8c20f5..33009e2a 100644 --- a/front/vite.config.ts +++ b/front/vite.config.ts @@ -1,10 +1,13 @@ import { defineConfig } from "vite"; import { svelte } from "@sveltejs/vite-plugin-svelte"; import { envConfig } from "@geprog/vite-plugin-env-config"; +import sveltePreprocess from "svelte-preprocess"; export default defineConfig({ plugins: [ - svelte({}), + svelte({ + preprocess: sveltePreprocess(), + }), envConfig({ variables: [ "SKIP_RENDER_OPTIMIZATIONS", From 3d6b8b6063b8e72f5c79565a8a745c9f85c7a63d Mon Sep 17 00:00:00 2001 From: Lukas Hass Date: Mon, 31 Jan 2022 17:36:38 +0100 Subject: [PATCH 10/88] run vite in docker --- front/package.json | 2 +- front/vite.config.ts | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/front/package.json b/front/package.json index 28965b26..1dfb8c82 100644 --- a/front/package.json +++ b/front/package.json @@ -75,7 +75,7 @@ "scripts": { "start": "run-p templater serve svelte-check-watch typesafe-i18n", "templater": "cross-env ./templater.sh", - "serve": "cross-env TS_NODE_PROJECT=\"tsconfig-for-webpack.json\" webpack serve --open", + "serve": "cross-env vite --host", "build": "cross-env TS_NODE_PROJECT=\"tsconfig-for-webpack.json\" NODE_ENV=production webpack", "build-typings": "cross-env TS_NODE_PROJECT=\"tsconfig-for-webpack.json\" NODE_ENV=production BUILD_TYPINGS=1 webpack", "test": "cross-env TS_NODE_PROJECT=\"tsconfig-for-jasmine.json\" ts-node node_modules/jasmine/bin/jasmine --config=jasmine.json", diff --git a/front/vite.config.ts b/front/vite.config.ts index 33009e2a..200e2ade 100644 --- a/front/vite.config.ts +++ b/front/vite.config.ts @@ -4,6 +4,9 @@ import { envConfig } from "@geprog/vite-plugin-env-config"; import sveltePreprocess from "svelte-preprocess"; export default defineConfig({ + server: { + port: 8080, + }, plugins: [ svelte({ preprocess: sveltePreprocess(), From b1e9969ed80b5e17408e076718016107e92916e2 Mon Sep 17 00:00:00 2001 From: Lukas Hass Date: Mon, 31 Jan 2022 18:35:16 +0100 Subject: [PATCH 11/88] fix vite client connection in docker --- front/vite.config.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/front/vite.config.ts b/front/vite.config.ts index 200e2ade..336b877a 100644 --- a/front/vite.config.ts +++ b/front/vite.config.ts @@ -6,6 +6,10 @@ import sveltePreprocess from "svelte-preprocess"; export default defineConfig({ server: { port: 8080, + hmr: { + // workaround for development in docker + clientPort: 80, + } }, plugins: [ svelte({ From 1b41e794da94ff40f2c4e9bb930e4d84daedbb6e Mon Sep 17 00:00:00 2001 From: Lukas Hass Date: Tue, 1 Feb 2022 00:34:18 +0100 Subject: [PATCH 12/88] fix loading env config --- front/src/Enum/EnvironmentVariable.ts | 72 ++++++++++++++------------- 1 file changed, 37 insertions(+), 35 deletions(-) diff --git a/front/src/Enum/EnvironmentVariable.ts b/front/src/Enum/EnvironmentVariable.ts index 74aa7440..f9bad248 100644 --- a/front/src/Enum/EnvironmentVariable.ts +++ b/front/src/Enum/EnvironmentVariable.ts @@ -1,46 +1,48 @@ -declare global { - interface Window { - env?: Record; - } +// import { getEnvConfig } from "@geprog/vite-plugin-env-config"; + +interface EnvConfig { + [key: string]: string; } -const getEnv = (key: string): string | undefined => { - if (global.window?.env) { - return global.window.env[key]; +function getEnvConfig(key: keyof EnvConfig): EnvConfig[T] | undefined { + const _window = globalThis.window as unknown as { env?: EnvConfig }; + if (_window?.env) { + return _window.env[key]; } - if (global.process?.env) { - return global.process.env[key]; + if (globalThis.process?.env) { + return globalThis.process.env[key]; } return; -}; +} -const DEBUG_MODE: boolean = getEnv("DEBUG_MODE") == "true"; -const START_ROOM_URL: string = getEnv("START_ROOM_URL") || "/_/global/maps.workadventure.localhost/Floor1/floor1.json"; -const PUSHER_URL = getEnv("PUSHER_URL") || "//pusher.workadventure.localhost"; -export const ADMIN_URL = getEnv("ADMIN_URL") || "//workadventu.re"; -const UPLOADER_URL = getEnv("UPLOADER_URL") || "//uploader.workadventure.localhost"; -const ICON_URL = getEnv("ICON_URL") || "//icon.workadventure.localhost"; -const STUN_SERVER: string = getEnv("STUN_SERVER") || "stun:stun.l.google.com:19302"; -const TURN_SERVER: string = getEnv("TURN_SERVER") || ""; -const SKIP_RENDER_OPTIMIZATIONS: boolean = getEnv("SKIP_RENDER_OPTIMIZATIONS") == "true"; -const DISABLE_NOTIFICATIONS: boolean = getEnv("DISABLE_NOTIFICATIONS") == "true"; -const TURN_USER: string = getEnv("TURN_USER") || ""; -const TURN_PASSWORD: string = getEnv("TURN_PASSWORD") || ""; -const JITSI_URL: string | undefined = getEnv("JITSI_URL") === "" ? undefined : getEnv("JITSI_URL"); -const JITSI_PRIVATE_MODE: boolean = getEnv("JITSI_PRIVATE_MODE") == "true"; +const DEBUG_MODE: boolean = getEnvConfig("DEBUG_MODE") == "true"; +const START_ROOM_URL: string = + getEnvConfig("START_ROOM_URL") || "/_/global/maps.workadventure.localhost/Floor1/floor1.json"; +const PUSHER_URL = getEnvConfig("PUSHER_URL") || "//pusher.workadventure.localhost"; +export const ADMIN_URL = getEnvConfig("ADMIN_URL") || "//workadventu.re"; +const UPLOADER_URL = getEnvConfig("UPLOADER_URL") || "//uploader.workadventure.localhost"; +const ICON_URL = getEnvConfig("ICON_URL") || "//icon.workadventure.localhost"; +const STUN_SERVER: string = getEnvConfig("STUN_SERVER") || "stun:stun.l.google.com:19302"; +const TURN_SERVER: string = getEnvConfig("TURN_SERVER") || ""; +const SKIP_RENDER_OPTIMIZATIONS: boolean = getEnvConfig("SKIP_RENDER_OPTIMIZATIONS") == "true"; +const DISABLE_NOTIFICATIONS: boolean = getEnvConfig("DISABLE_NOTIFICATIONS") == "true"; +const TURN_USER: string = getEnvConfig("TURN_USER") || ""; +const TURN_PASSWORD: string = getEnvConfig("TURN_PASSWORD") || ""; +const JITSI_URL: string | undefined = getEnvConfig("JITSI_URL") === "" ? undefined : getEnvConfig("JITSI_URL"); +const JITSI_PRIVATE_MODE: boolean = getEnvConfig("JITSI_PRIVATE_MODE") == "true"; const POSITION_DELAY = 200; // Wait 200ms between sending position events const MAX_EXTRAPOLATION_TIME = 100; // Extrapolate a maximum of 250ms if no new movement is sent by the player -export const MAX_USERNAME_LENGTH = parseInt(getEnv("MAX_USERNAME_LENGTH") || "") || 8; -export const MAX_PER_GROUP = parseInt(getEnv("MAX_PER_GROUP") || "4"); -export const DISPLAY_TERMS_OF_USE = getEnv("DISPLAY_TERMS_OF_USE") == "true"; -export const NODE_ENV = getEnv("NODE_ENV") || "development"; -export const CONTACT_URL = getEnv("CONTACT_URL") || undefined; -export const PROFILE_URL = getEnv("PROFILE_URL") || undefined; -export const POSTHOG_API_KEY: string = (getEnv("POSTHOG_API_KEY") as string) || ""; -export const POSTHOG_URL = getEnv("POSTHOG_URL") || undefined; -export const DISABLE_ANONYMOUS: boolean = getEnv("DISABLE_ANONYMOUS") === "true"; -export const OPID_LOGIN_SCREEN_PROVIDER = getEnv("OPID_LOGIN_SCREEN_PROVIDER"); -const FALLBACK_LOCALE = getEnv("FALLBACK_LOCALE") || undefined; +export const MAX_USERNAME_LENGTH = parseInt(getEnvConfig("MAX_USERNAME_LENGTH") || "") || 8; +export const MAX_PER_GROUP = parseInt(getEnvConfig("MAX_PER_GROUP") || "4"); +export const DISPLAY_TERMS_OF_USE = getEnvConfig("DISPLAY_TERMS_OF_USE") == "true"; +export const NODE_ENV = getEnvConfig("NODE_ENV") || "development"; +export const CONTACT_URL = getEnvConfig("CONTACT_URL") || undefined; +export const PROFILE_URL = getEnvConfig("PROFILE_URL") || undefined; +export const POSTHOG_API_KEY: string = (getEnvConfig("POSTHOG_API_KEY") as string) || ""; +export const POSTHOG_URL = getEnvConfig("POSTHOG_URL") || undefined; +export const DISABLE_ANONYMOUS: boolean = getEnvConfig("DISABLE_ANONYMOUS") === "true"; +export const OPID_LOGIN_SCREEN_PROVIDER = getEnvConfig("OPID_LOGIN_SCREEN_PROVIDER"); +const FALLBACK_LOCALE = getEnvConfig("FALLBACK_LOCALE") || undefined; export { DEBUG_MODE, From 446aa6cbe3d6b1494546dccf2d4b38dc3d2ae8aa Mon Sep 17 00:00:00 2001 From: Lukas Hass Date: Tue, 1 Feb 2022 00:34:48 +0100 Subject: [PATCH 13/88] fix simple-peer import --- front/src/WebRtc/ScreenSharingPeer.ts | 3 ++- front/src/WebRtc/VideoPeer.ts | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/front/src/WebRtc/ScreenSharingPeer.ts b/front/src/WebRtc/ScreenSharingPeer.ts index 3f953709..a6a20cb4 100644 --- a/front/src/WebRtc/ScreenSharingPeer.ts +++ b/front/src/WebRtc/ScreenSharingPeer.ts @@ -6,8 +6,9 @@ import { Readable, readable, writable, Writable } from "svelte/store"; import { getIceServersConfig } from "../Components/Video/utils"; import { highlightedEmbedScreen } from "../Stores/EmbedScreensStore"; import { isMediaBreakpointUp } from "../Utils/BreakpointsUtils"; +import Peer from "simple-peer"; -const Peer: SimplePeerNamespace.SimplePeer = require("simple-peer"); +// const { default: Peer } = await import("simple-peer"); /** * A peer connection used to transmit video / audio signals between 2 peers. diff --git a/front/src/WebRtc/VideoPeer.ts b/front/src/WebRtc/VideoPeer.ts index c3b6d45e..9214670c 100644 --- a/front/src/WebRtc/VideoPeer.ts +++ b/front/src/WebRtc/VideoPeer.ts @@ -10,8 +10,9 @@ import { playersStore } from "../Stores/PlayersStore"; import { chatMessagesStore, newChatMessageSubject } from "../Stores/ChatStore"; import { getIceServersConfig } from "../Components/Video/utils"; import { isMediaBreakpointUp } from "../Utils/BreakpointsUtils"; +import Peer from "simple-peer"; -const Peer: SimplePeerNamespace.SimplePeer = require("simple-peer"); +// const { default: Peer } = await import("simple-peer"); export type PeerStatus = "connecting" | "connected" | "error" | "closed"; From 73c7785ac35983d0fbfabaee7e6fcdb66c579774 Mon Sep 17 00:00:00 2001 From: Lukas Hass Date: Tue, 1 Feb 2022 00:35:16 +0100 Subject: [PATCH 14/88] add polyfill for simple-peer node builtins --- front/index.html | 1 + 1 file changed, 1 insertion(+) diff --git a/front/index.html b/front/index.html index b893834e..ffdc6ac6 100644 --- a/front/index.html +++ b/front/index.html @@ -29,6 +29,7 @@ + WorkAdventure From bd8623cbf90e8ae59fcc31c599968a5f43b34ea1 Mon Sep 17 00:00:00 2001 From: Lukas Hass Date: Tue, 1 Feb 2022 00:36:05 +0100 Subject: [PATCH 15/88] allow mixed value and type imports --- front/tsconfig.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/front/tsconfig.json b/front/tsconfig.json index d4167a30..54ca746b 100644 --- a/front/tsconfig.json +++ b/front/tsconfig.json @@ -15,7 +15,7 @@ "allowJs": true, "esModuleInterop": true, - "importsNotUsedAsValues": "error", + "importsNotUsedAsValues": "remove", "strict": true, /* Enable all strict type-checking options. */ "noImplicitAny": true, /* Raise error on expressions and declarations with an implied 'any' type. */ From 4ad91f41a33dbc28411b1ac4177d2b32868c70d3 Mon Sep 17 00:00:00 2001 From: Lukas Hass Date: Tue, 1 Feb 2022 00:37:49 +0100 Subject: [PATCH 16/88] update svelte and svelte-preprocess --- front/package.json | 4 +-- front/yarn.lock | 61 ++++++++++++++++++++++++++++++++++++++++------ 2 files changed, 56 insertions(+), 9 deletions(-) diff --git a/front/package.json b/front/package.json index 1dfb8c82..ce618c0d 100644 --- a/front/package.json +++ b/front/package.json @@ -31,10 +31,10 @@ "prettier-plugin-svelte": "^2.5.0", "sass": "^1.32.12", "sass-loader": "^11.1.0", - "svelte": "^3.38.2", + "svelte": "^3.46.3", "svelte-check": "^2.1.0", "svelte-loader": "^3.1.1", - "svelte-preprocess": "^4.7.3", + "svelte-preprocess": "^4.10.2", "ts-loader": "^9.2.6", "ts-node": "^10.4.0", "tsconfig-paths": "^3.9.0", diff --git a/front/yarn.lock b/front/yarn.lock index 05ec0c35..afe952e3 100644 --- a/front/yarn.lock +++ b/front/yarn.lock @@ -1292,6 +1292,11 @@ browserslist@^4.14.5: escalade "^3.1.1" node-releases "^1.1.71" +buffer-crc32@^0.2.5: + version "0.2.13" + resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" + integrity sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI= + buffer-from@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" @@ -2383,6 +2388,11 @@ es6-object-assign@^1.1.0: resolved "https://registry.yarnpkg.com/es6-object-assign/-/es6-object-assign-1.1.0.tgz#c2c3582656247c39ea107cb1e6652b6f9f24523c" integrity sha1-wsNYJlYkfDnqEHyx5mUrb58kUjw= +es6-promise@^3.1.2: + version "3.3.1" + resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-3.3.1.tgz#a08cdde84ccdbf34d027a1451bc91d4bcd28a613" + integrity sha1-oIzd6EzNvzTQJ6FFG8kdS80ophM= + esbuild-android-arm64@0.13.15: version "0.13.15" resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.13.15.tgz#3fc3ff0bab76fe35dd237476b5d2b32bb20a3d44" @@ -3166,6 +3176,11 @@ graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.6.tgz#ff040b2b0853b23c3d31027523706f1885d76bee" integrity sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ== +graceful-fs@^4.1.3: + version "4.2.9" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.9.tgz#041b05df45755e587a24942279b9d113146e1c96" + integrity sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ== + handle-thing@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.1.tgz#857f79ce359580c340d43081cc648970d0bb234e" @@ -5728,7 +5743,7 @@ reusify@^1.0.4: resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== -rimraf@^2.6.3: +rimraf@^2.5.2, rimraf@^2.6.3: version "2.7.1" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== @@ -5805,6 +5820,16 @@ safe-regex@^1.1.0: resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== +sander@^0.5.0: + version "0.5.1" + resolved "https://registry.yarnpkg.com/sander/-/sander-0.5.1.tgz#741e245e231f07cafb6fdf0f133adfa216a502ad" + integrity sha1-dB4kXiMfB8r7b98PEzrfohalAq0= + dependencies: + es6-promise "^3.1.2" + graceful-fs "^4.1.3" + mkdirp "^0.5.1" + rimraf "^2.5.2" + sass-loader@^11.1.0: version "11.1.1" resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-11.1.1.tgz#0db441bbbe197b2af96125bebb7f4be6476b13a7" @@ -6139,6 +6164,16 @@ sockjs@^0.3.21: uuid "^3.4.0" websocket-driver "^0.7.4" +sorcery@^0.10.0: + version "0.10.0" + resolved "https://registry.yarnpkg.com/sorcery/-/sorcery-0.10.0.tgz#8ae90ad7d7cb05fc59f1ab0c637845d5c15a52b7" + integrity sha1-iukK19fLBfxZ8asMY3hF1cFaUrc= + dependencies: + buffer-crc32 "^0.2.5" + minimist "^1.2.0" + sander "^0.5.0" + sourcemap-codec "^1.3.0" + source-list-map@^2.0.0, source-list-map@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" @@ -6188,7 +6223,7 @@ source-map@^0.7.3, source-map@~0.7.2: resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== -sourcemap-codec@^1.4.4: +sourcemap-codec@^1.3.0, sourcemap-codec@^1.4.4: version "1.4.8" resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4" integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== @@ -6500,7 +6535,7 @@ svelte-loader@^3.1.1: svelte-dev-helper "^1.1.9" svelte-hmr "^0.12.3" -svelte-preprocess@^4.0.0, svelte-preprocess@^4.7.3: +svelte-preprocess@^4.0.0: version "4.7.3" resolved "https://registry.yarnpkg.com/svelte-preprocess/-/svelte-preprocess-4.7.3.tgz#454fa059c2400b15e7a3caeca18993cff9df0e96" integrity sha512-Zx1/xLeGOIBlZMGPRCaXtlMe4ZA0faato5Dc3CosEqwu75MIEPuOstdkH6cy+RYTUYynoxzNaDxkPX4DbrPwRA== @@ -6510,10 +6545,22 @@ svelte-preprocess@^4.0.0, svelte-preprocess@^4.7.3: detect-indent "^6.0.0" strip-indent "^3.0.0" -svelte@^3.38.2: - version "3.38.2" - resolved "https://registry.yarnpkg.com/svelte/-/svelte-3.38.2.tgz#55e5c681f793ae349b5cc2fe58e5782af4275ef5" - integrity sha512-q5Dq0/QHh4BLJyEVWGe7Cej5NWs040LWjMbicBGZ+3qpFWJ1YObRmUDZKbbovddLC9WW7THTj3kYbTOFmU9fbg== +svelte-preprocess@^4.10.2: + version "4.10.2" + resolved "https://registry.yarnpkg.com/svelte-preprocess/-/svelte-preprocess-4.10.2.tgz#2405689e57161916947b8360679051a56eddd5c6" + integrity sha512-aPpkCreSo8EL/y8kJSa1trhiX0oyAtTjlNNM7BNjRAsMJ8Yy2LtqHt0zyd4pQPXt+D4PzbO3qTjjio3kwOxDlA== + dependencies: + "@types/pug" "^2.0.4" + "@types/sass" "^1.16.0" + detect-indent "^6.0.0" + magic-string "^0.25.7" + sorcery "^0.10.0" + strip-indent "^3.0.0" + +svelte@^3.46.3: + version "3.46.3" + resolved "https://registry.yarnpkg.com/svelte/-/svelte-3.46.3.tgz#31202b0c795f276726d95b648b6dd413116257ac" + integrity sha512-mTOXvv74CVQqJHqoIZDprVfRKVVmYNadXP0VKnOEA54223kLGCr1nMrifS4Zx29qMt/xRB38Eq1D7dDH/fM8fQ== svgo@^2.7.0: version "2.8.0" From f87704b2efe78ea48325f00df23d822adb08ed99 Mon Sep 17 00:00:00 2001 From: Lukas Hass Date: Tue, 1 Feb 2022 01:29:38 +0100 Subject: [PATCH 17/88] remove redundant font loading see https://github.com/typekit/webfontloader/blob/fd70d89061c07f019d3c1dfdf1368b0c0962fedf/README.md#custom --- front/public/resources/fonts/fonts.css | 5 ----- front/src/Phaser/Game/GameScene.ts | 1 - 2 files changed, 6 deletions(-) delete mode 100644 front/public/resources/fonts/fonts.css diff --git a/front/public/resources/fonts/fonts.css b/front/public/resources/fonts/fonts.css deleted file mode 100644 index a3d3cf71..00000000 --- a/front/public/resources/fonts/fonts.css +++ /dev/null @@ -1,5 +0,0 @@ -/*This file is a workaround to allow phaser to load directly this font */ -@font-face { - font-family: "Press Start 2P"; - src: url("/fonts/press-start-2p-latin-400-normal.woff2") format('woff2'); -} \ No newline at end of file diff --git a/front/src/Phaser/Game/GameScene.ts b/front/src/Phaser/Game/GameScene.ts index 23a211a6..b654efc6 100644 --- a/front/src/Phaser/Game/GameScene.ts +++ b/front/src/Phaser/Game/GameScene.ts @@ -336,7 +336,6 @@ export class GameScene extends DirtyScene { (this.load as any).rexWebFont({ custom: { families: ["Press Start 2P"], - urls: ["/resources/fonts/fonts.css"], testString: "abcdefg", }, }); From 2d8fa591cff743085fb4f4c9551fa828e7750933 Mon Sep 17 00:00:00 2001 From: Lukas Hass Date: Tue, 1 Feb 2022 01:46:05 +0100 Subject: [PATCH 18/88] migrate build script to vite --- front/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/front/package.json b/front/package.json index ce618c0d..c15b3688 100644 --- a/front/package.json +++ b/front/package.json @@ -76,7 +76,7 @@ "start": "run-p templater serve svelte-check-watch typesafe-i18n", "templater": "cross-env ./templater.sh", "serve": "cross-env vite --host", - "build": "cross-env TS_NODE_PROJECT=\"tsconfig-for-webpack.json\" NODE_ENV=production webpack", + "build": "cross-env vite build", "build-typings": "cross-env TS_NODE_PROJECT=\"tsconfig-for-webpack.json\" NODE_ENV=production BUILD_TYPINGS=1 webpack", "test": "cross-env TS_NODE_PROJECT=\"tsconfig-for-jasmine.json\" ts-node node_modules/jasmine/bin/jasmine --config=jasmine.json", "lint": "node_modules/.bin/eslint src/ tests/ --ext .ts,.svelte", From b1d9e603b88f10dc569574a298963972d5a1de83 Mon Sep 17 00:00:00 2001 From: Lukas Hass Date: Tue, 1 Feb 2022 11:15:52 +0100 Subject: [PATCH 19/88] fix redirect when map url is present --- front/package.json | 1 + front/vite.config.ts | 2 ++ front/yarn.lock | 7 +++++++ 3 files changed, 10 insertions(+) diff --git a/front/package.json b/front/package.json index c15b3688..b1d07f14 100644 --- a/front/package.json +++ b/front/package.json @@ -40,6 +40,7 @@ "tsconfig-paths": "^3.9.0", "typescript": "^4.5.3", "vite": "^2.7.13", + "vite-plugin-rewrite-all": "^0.1.2", "webpack": "^5.37.0", "webpack-cli": "^4.7.0", "webpack-dev-server": "^3.11.2" diff --git a/front/vite.config.ts b/front/vite.config.ts index 336b877a..5b9e259d 100644 --- a/front/vite.config.ts +++ b/front/vite.config.ts @@ -2,6 +2,7 @@ import { defineConfig } from "vite"; import { svelte } from "@sveltejs/vite-plugin-svelte"; import { envConfig } from "@geprog/vite-plugin-env-config"; import sveltePreprocess from "svelte-preprocess"; +import pluginRewriteAll from 'vite-plugin-rewrite-all'; export default defineConfig({ server: { @@ -44,5 +45,6 @@ export default defineConfig({ "FALLBACK_LOCALE", ], }), + pluginRewriteAll(), ], }); diff --git a/front/yarn.lock b/front/yarn.lock index afe952e3..999b926e 100644 --- a/front/yarn.lock +++ b/front/yarn.lock @@ -6989,6 +6989,13 @@ vary@~1.1.2: resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= +vite-plugin-rewrite-all@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/vite-plugin-rewrite-all/-/vite-plugin-rewrite-all-0.1.2.tgz#312bbcd76c700ceac5153bfc5ad7e3e3e4bc9606" + integrity sha512-hBFuG043kbixgZ/ke9SzKhkO6P8a5ryxD0CmZTe+/Cz17RIKi7uSeNUJy79V4FgavZ7pWVRg0tqVwJ7lP/A2/Q== + dependencies: + connect-history-api-fallback "^1.6.0" + vite@^2.7.13: version "2.7.13" resolved "https://registry.yarnpkg.com/vite/-/vite-2.7.13.tgz#99b56e27dfb1e4399e407cf94648f5c7fb9d77f5" From 7fbd4c85cbc4186dcd0bcf4d4c494343784d966d Mon Sep 17 00:00:00 2001 From: Lukas Hass Date: Tue, 1 Feb 2022 11:22:33 +0100 Subject: [PATCH 20/88] build iframe-api-typings with tsc --- front/package.json | 2 +- front/packages/iframe-api-typings/.gitignore | 2 +- front/tsconfig-for-iframe-api-typings.json | 10 ++++++++++ 3 files changed, 12 insertions(+), 2 deletions(-) create mode 100644 front/tsconfig-for-iframe-api-typings.json diff --git a/front/package.json b/front/package.json index b1d07f14..227b0d86 100644 --- a/front/package.json +++ b/front/package.json @@ -78,7 +78,7 @@ "templater": "cross-env ./templater.sh", "serve": "cross-env vite --host", "build": "cross-env vite build", - "build-typings": "cross-env TS_NODE_PROJECT=\"tsconfig-for-webpack.json\" NODE_ENV=production BUILD_TYPINGS=1 webpack", + "build-typings": "cross-env tsc --project tsconfig-for-iframe-api-typings.json", "test": "cross-env TS_NODE_PROJECT=\"tsconfig-for-jasmine.json\" ts-node node_modules/jasmine/bin/jasmine --config=jasmine.json", "lint": "node_modules/.bin/eslint src/ tests/ --ext .ts,.svelte", "fix": "node_modules/.bin/eslint --fix src/ tests/ --ext .ts,.svelte", diff --git a/front/packages/iframe-api-typings/.gitignore b/front/packages/iframe-api-typings/.gitignore index f850ebdb..cd4efd8e 100644 --- a/front/packages/iframe-api-typings/.gitignore +++ b/front/packages/iframe-api-typings/.gitignore @@ -1 +1 @@ -iframe_api.d.ts +*.d.ts diff --git a/front/tsconfig-for-iframe-api-typings.json b/front/tsconfig-for-iframe-api-typings.json new file mode 100644 index 00000000..acac1c4e --- /dev/null +++ b/front/tsconfig-for-iframe-api-typings.json @@ -0,0 +1,10 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./packages/iframe-api-typings/", + "declaration": true, + "emitDeclarationOnly": true, + "types": ["phaser"] + }, + "include": ["src/iframe_api.ts"] +} From 520184fdebe06e4635f289e9628df685c8fde4c6 Mon Sep 17 00:00:00 2001 From: Hanusiak Piotr Date: Tue, 1 Feb 2022 12:25:14 +0100 Subject: [PATCH 21/88] add talk-icon --- front/dist/resources/icons/icon_talking.svg | 1 + front/src/Phaser/Entity/Character.ts | 10 ++++++++++ front/src/Phaser/Game/GameScene.ts | 2 ++ 3 files changed, 13 insertions(+) create mode 100644 front/dist/resources/icons/icon_talking.svg diff --git a/front/dist/resources/icons/icon_talking.svg b/front/dist/resources/icons/icon_talking.svg new file mode 100644 index 00000000..2f1d03e3 --- /dev/null +++ b/front/dist/resources/icons/icon_talking.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/front/src/Phaser/Entity/Character.ts b/front/src/Phaser/Entity/Character.ts index e1fd3a5a..c6fd0c4a 100644 --- a/front/src/Phaser/Entity/Character.ts +++ b/front/src/Phaser/Entity/Character.ts @@ -31,6 +31,7 @@ const interactiveRadius = 35; export abstract class Character extends Container { private bubble: SpeechBubble | null = null; private readonly playerName: Text; + private readonly iconTalk: Phaser.GameObjects.Image; public PlayerValue: string; public sprites: Map; protected lastDirection: PlayerAnimationDirections = PlayerAnimationDirections.Down; @@ -97,6 +98,11 @@ export abstract class Character extends Container { this.playerName.setOrigin(0.5).setDepth(DEPTH_INGAME_TEXT_INDEX); this.add(this.playerName); + this.iconTalk = new Phaser.GameObjects.Image(scene, 0, -45, 'iconTalk') + .setScale(0.15) + .setVisible(false); + this.add(this.iconTalk); + if (isClickable) { this.setInteractive({ hitArea: new Phaser.Geom.Circle(0, 0, interactiveRadius), @@ -156,6 +162,10 @@ export abstract class Character extends Container { }); } + public showIconTalk(show: boolean = true): void { + this.iconTalk.setVisible(show); + } + public addCompanion(name: string, texturePromise?: Promise): void { if (typeof texturePromise !== "undefined") { this.companion = new Companion(this.scene, this.x, this.y, name, texturePromise); diff --git a/front/src/Phaser/Game/GameScene.ts b/front/src/Phaser/Game/GameScene.ts index 23a211a6..215797bb 100644 --- a/front/src/Phaser/Game/GameScene.ts +++ b/front/src/Phaser/Game/GameScene.ts @@ -245,6 +245,7 @@ export class GameScene extends DirtyScene { loadCustomTexture(this.load, texture).catch((e) => console.error(e)); } } + this.load.svg('iconTalk', '/resources/icons/icon_talking.svg'); if (touchScreenManager.supportTouchScreen) { this.load.image(joystickBaseKey, joystickBaseImg); @@ -630,6 +631,7 @@ export class GameScene extends DirtyScene { let oldPeerNumber = 0; this.peerStoreUnsubscribe = peerStore.subscribe((peers) => { + console.log(peers); const newPeerNumber = peers.size; if (newPeerNumber > oldPeerNumber) { this.playSound("audio-webrtc-in"); From 5f6be1fb8cef05a841c16125aeab3663d9e34436 Mon Sep 17 00:00:00 2001 From: Lukas Hass Date: Tue, 1 Feb 2022 14:35:38 +0100 Subject: [PATCH 22/88] use getEnvConfig from plugin --- front/src/Enum/EnvironmentVariable.ts | 17 +---------------- 1 file changed, 1 insertion(+), 16 deletions(-) diff --git a/front/src/Enum/EnvironmentVariable.ts b/front/src/Enum/EnvironmentVariable.ts index f9bad248..1fdd13bf 100644 --- a/front/src/Enum/EnvironmentVariable.ts +++ b/front/src/Enum/EnvironmentVariable.ts @@ -1,19 +1,4 @@ -// import { getEnvConfig } from "@geprog/vite-plugin-env-config"; - -interface EnvConfig { - [key: string]: string; -} - -function getEnvConfig(key: keyof EnvConfig): EnvConfig[T] | undefined { - const _window = globalThis.window as unknown as { env?: EnvConfig }; - if (_window?.env) { - return _window.env[key]; - } - if (globalThis.process?.env) { - return globalThis.process.env[key]; - } - return; -} +import { getEnvConfig } from "@geprog/vite-plugin-env-config"; const DEBUG_MODE: boolean = getEnvConfig("DEBUG_MODE") == "true"; const START_ROOM_URL: string = From 5890e9c5cbe2739ad5401b9310bb77df58a27d99 Mon Sep 17 00:00:00 2001 From: Lukas Hass Date: Tue, 1 Feb 2022 18:41:54 +0100 Subject: [PATCH 23/88] remove await import simple-peer --- front/src/WebRtc/ScreenSharingPeer.ts | 3 --- front/src/WebRtc/VideoPeer.ts | 3 --- 2 files changed, 6 deletions(-) diff --git a/front/src/WebRtc/ScreenSharingPeer.ts b/front/src/WebRtc/ScreenSharingPeer.ts index a6a20cb4..ffab1dc1 100644 --- a/front/src/WebRtc/ScreenSharingPeer.ts +++ b/front/src/WebRtc/ScreenSharingPeer.ts @@ -1,4 +1,3 @@ -import type * as SimplePeerNamespace from "simple-peer"; import type { RoomConnection } from "../Connexion/RoomConnection"; import { MESSAGE_TYPE_CONSTRAINT, PeerStatus } from "./VideoPeer"; import type { UserSimplePeerInterface } from "./SimplePeer"; @@ -8,8 +7,6 @@ import { highlightedEmbedScreen } from "../Stores/EmbedScreensStore"; import { isMediaBreakpointUp } from "../Utils/BreakpointsUtils"; import Peer from "simple-peer"; -// const { default: Peer } = await import("simple-peer"); - /** * A peer connection used to transmit video / audio signals between 2 peers. */ diff --git a/front/src/WebRtc/VideoPeer.ts b/front/src/WebRtc/VideoPeer.ts index 9214670c..37c315b5 100644 --- a/front/src/WebRtc/VideoPeer.ts +++ b/front/src/WebRtc/VideoPeer.ts @@ -1,4 +1,3 @@ -import type * as SimplePeerNamespace from "simple-peer"; import { mediaManager } from "./MediaManager"; import type { RoomConnection } from "../Connexion/RoomConnection"; import { blackListManager } from "./BlackListManager"; @@ -12,8 +11,6 @@ import { getIceServersConfig } from "../Components/Video/utils"; import { isMediaBreakpointUp } from "../Utils/BreakpointsUtils"; import Peer from "simple-peer"; -// const { default: Peer } = await import("simple-peer"); - export type PeerStatus = "connecting" | "connected" | "error" | "closed"; export const MESSAGE_TYPE_CONSTRAINT = "constraint"; From 984c1e4502294501312c0b781d82169c74f0b04e Mon Sep 17 00:00:00 2001 From: Lukas Hass Date: Wed, 2 Feb 2022 00:20:46 +0100 Subject: [PATCH 24/88] add vite config to build iframe api --- front/.gitignore | 1 + front/Dockerfile | 2 +- front/iframe-api.vite.config.ts | 16 ++++++++++++++++ front/package.json | 4 +++- 4 files changed, 21 insertions(+), 2 deletions(-) create mode 100644 front/iframe-api.vite.config.ts diff --git a/front/.gitignore b/front/.gitignore index 82c6435c..b7cc8c89 100644 --- a/front/.gitignore +++ b/front/.gitignore @@ -4,3 +4,4 @@ dist/ /package-lock.json *.sh !templater.sh +/public/iframe_api.js diff --git a/front/Dockerfile b/front/Dockerfile index 14914ebf..02bcba4c 100644 --- a/front/Dockerfile +++ b/front/Dockerfile @@ -12,7 +12,7 @@ RUN cp -r ../messages/ts-proto-generated/protos/* src/Messages/ts-proto-generate RUN sed -i 's/import { Observable } from "rxjs";/import type { Observable } from "rxjs";/g' src/Messages/ts-proto-generated/messages.ts RUN cp -r ../messages/JsonMessages/* src/Messages/JsonMessages -RUN yarn install && yarn run typesafe-i18n && yarn build +RUN yarn install && yarn run typesafe-i18n && yarn run build-iframe-api && yarn build # Removing the iframe.html file from the final image as this adds a XSS attack. # iframe.html is only in dev mode to circumvent a limitation diff --git a/front/iframe-api.vite.config.ts b/front/iframe-api.vite.config.ts new file mode 100644 index 00000000..3698647b --- /dev/null +++ b/front/iframe-api.vite.config.ts @@ -0,0 +1,16 @@ +import { defineConfig } from "vite"; +import { resolve } from "path"; + +export default defineConfig({ + publicDir: false, + build: { + outDir: "public", + emptyOutDir: false, + lib: { + entry: resolve(__dirname, "src/iframe_api.ts"), + name: "iframe_api", + formats: ["cjs"], + fileName: () => "iframe_api.js", + }, + }, +}); diff --git a/front/package.json b/front/package.json index 227b0d86..8c81d8ca 100644 --- a/front/package.json +++ b/front/package.json @@ -74,10 +74,12 @@ "zod": "^3.11.6" }, "scripts": { - "start": "run-p templater serve svelte-check-watch typesafe-i18n", + "start": "run-p templater serve watch-iframe-api svelte-check-watch typesafe-i18n", "templater": "cross-env ./templater.sh", "serve": "cross-env vite --host", "build": "cross-env vite build", + "build-iframe-api": "vite --config iframe-api.vite.config.ts build", + "watch-iframe-api": "yarn run build-iframe-api --watch", "build-typings": "cross-env tsc --project tsconfig-for-iframe-api-typings.json", "test": "cross-env TS_NODE_PROJECT=\"tsconfig-for-jasmine.json\" ts-node node_modules/jasmine/bin/jasmine --config=jasmine.json", "lint": "node_modules/.bin/eslint src/ tests/ --ext .ts,.svelte", From 2c880c65b6cfe5c07372d9936b9515e7c2842ead Mon Sep 17 00:00:00 2001 From: Hanusiak Piotr Date: Wed, 2 Feb 2022 15:47:38 +0100 Subject: [PATCH 25/88] talk indicators wip --- front/src/Phaser/Game/GameScene.ts | 15 +++++++++++- front/src/WebRtc/VideoPeer.ts | 37 ++++++++++++++++++++++++++++++ 2 files changed, 51 insertions(+), 1 deletion(-) diff --git a/front/src/Phaser/Game/GameScene.ts b/front/src/Phaser/Game/GameScene.ts index 39f25f9f..28558e18 100644 --- a/front/src/Phaser/Game/GameScene.ts +++ b/front/src/Phaser/Game/GameScene.ts @@ -168,6 +168,7 @@ export class GameScene extends DirtyScene { private peerStoreUnsubscribe!: Unsubscriber; private emoteUnsubscribe!: Unsubscriber; private emoteMenuUnsubscribe!: Unsubscriber; + private volumeStoreUnsubscribes: Map = new Map(); private followUsersColorStoreUnsubscribe!: Unsubscriber; private biggestAvailableAreaStoreUnsubscribe!: () => void; @@ -637,7 +638,19 @@ export class GameScene extends DirtyScene { let oldPeerNumber = 0; this.peerStoreUnsubscribe = peerStore.subscribe((peers) => { - console.log(peers); + this.volumeStoreUnsubscribes.forEach(unsubscribe => unsubscribe()); + this.volumeStoreUnsubscribes.clear(); + + for (const [key, videoStream] of peers) { + this.volumeStoreUnsubscribes.set(key, videoStream.volumeStore.subscribe((volume) => { + if (volume) { + console.log(volume); + this.MapPlayersByKey.get(key)?.showIconTalk(volume > 5); + this.markDirty(); + } + })); + } + const newPeerNumber = peers.size; if (newPeerNumber > oldPeerNumber) { this.playSound("audio-webrtc-in"); diff --git a/front/src/WebRtc/VideoPeer.ts b/front/src/WebRtc/VideoPeer.ts index c3b6d45e..e29cfa23 100644 --- a/front/src/WebRtc/VideoPeer.ts +++ b/front/src/WebRtc/VideoPeer.ts @@ -10,6 +10,9 @@ import { playersStore } from "../Stores/PlayersStore"; import { chatMessagesStore, newChatMessageSubject } from "../Stores/ChatStore"; import { getIceServersConfig } from "../Components/Video/utils"; import { isMediaBreakpointUp } from "../Utils/BreakpointsUtils"; +import { SoundMeter } from '../Phaser/Components/SoundMeter'; +import { AudioContext } from 'standardized-audio-context'; +import { Console } from 'console'; const Peer: SimplePeerNamespace.SimplePeer = require("simple-peer"); @@ -33,6 +36,7 @@ export class VideoPeer extends Peer { private onBlockSubscribe: Subscription; private onUnBlockSubscribe: Subscription; public readonly streamStore: Readable; + public readonly volumeStore: Readable; public readonly statusStore: Readable; public readonly constraintsStore: Readable; private newMessageSubscribtion: Subscription | undefined; @@ -58,6 +62,7 @@ export class VideoPeer extends Peer { this.uniqueId = "video_" + this.userId; this.streamStore = readable(null, (set) => { + console.log('STREAM STORE INITIALIZE'); const onStream = (stream: MediaStream | null) => { set(stream); }; @@ -69,6 +74,38 @@ export class VideoPeer extends Peer { }; }); + console.log('CREATE VOLUME STORE'); + + this.volumeStore = readable(null, (set) => { + let timeout: ReturnType; + console.log('VOLUME STORE INITIALIZE'); + const unsubscribe = this.streamStore.subscribe((mediaStream) => { + if (mediaStream === null) { + set(null); + return; + } + const soundMeter = new SoundMeter(); + soundMeter.connectToSource(mediaStream, new AudioContext()); + let error = false; + + timeout = setInterval(() => { + try { + set(soundMeter.getVolume()); + } catch (err) { + if (!error) { + console.error(err); + error = true; + } + } + }, 100); + }); + + return () => { + unsubscribe(); + clearInterval(timeout); + } + }); + this.constraintsStore = readable(null, (set) => { const onData = (chunk: Buffer) => { const message = JSON.parse(chunk.toString("utf8")); From 87dde50251e03ebd3bbca2eee2d2948e1d2dd955 Mon Sep 17 00:00:00 2001 From: Hanusiak Piotr Date: Wed, 2 Feb 2022 16:32:51 +0100 Subject: [PATCH 26/88] some logs --- front/src/Phaser/Game/GameScene.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/front/src/Phaser/Game/GameScene.ts b/front/src/Phaser/Game/GameScene.ts index 28558e18..8d6a691f 100644 --- a/front/src/Phaser/Game/GameScene.ts +++ b/front/src/Phaser/Game/GameScene.ts @@ -644,9 +644,9 @@ export class GameScene extends DirtyScene { for (const [key, videoStream] of peers) { this.volumeStoreUnsubscribes.set(key, videoStream.volumeStore.subscribe((volume) => { if (volume) { - console.log(volume); + console.log(`${key}: ${volume}`); this.MapPlayersByKey.get(key)?.showIconTalk(volume > 5); - this.markDirty(); + this.markDirty(); // should be dirty from animation } })); } From 7f9d318074f66a7b20ddaba1ca94cbb5acbef5d5 Mon Sep 17 00:00:00 2001 From: Lukas Hass Date: Thu, 3 Feb 2022 02:14:49 +0100 Subject: [PATCH 27/88] update sass --- front/package.json | 2 +- front/yarn.lock | 20 ++++++++++++++++---- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/front/package.json b/front/package.json index 8c81d8ca..4864bf6e 100644 --- a/front/package.json +++ b/front/package.json @@ -29,7 +29,7 @@ "npm-run-all": "^4.1.5", "prettier": "^2.3.1", "prettier-plugin-svelte": "^2.5.0", - "sass": "^1.32.12", + "sass": "^1.49.7", "sass-loader": "^11.1.0", "svelte": "^3.46.3", "svelte-check": "^2.1.0", diff --git a/front/yarn.lock b/front/yarn.lock index 999b926e..c24ae7b4 100644 --- a/front/yarn.lock +++ b/front/yarn.lock @@ -3462,6 +3462,11 @@ ignore@^5.1.8: resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.9.tgz#9ec1a5cbe8e1446ec60d4420060d43aa6e7382fb" integrity sha512-2zeMQpbKz5dhZ9IwL0gbxSW5w0NK/MSAMtNuhgIHEPmaU3vPdKPL0UdvUCXs5SS4JAwsBxysK5sFMW8ocFiVjQ== +immutable@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.0.0.tgz#b86f78de6adef3608395efb269a91462797e2c23" + integrity sha512-zIE9hX70qew5qTUjSS7wi1iwj/l7+m54KWU247nhM3v806UdGj1yDndXj+IOYxxtW9zyLI+xqFNZjTuDaLUqFw== + import-fresh@^3.0.0, import-fresh@^3.1.0, import-fresh@^3.2.1: version "3.3.0" resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" @@ -5838,12 +5843,14 @@ sass-loader@^11.1.0: klona "^2.0.4" neo-async "^2.6.2" -sass@^1.32.12: - version "1.32.13" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.32.13.tgz#8d29c849e625a415bce71609c7cf95e15f74ed00" - integrity sha512-dEgI9nShraqP7cXQH+lEXVf73WOPCse0QlFzSD8k+1TcOxCMwVXfQlr0jtoluZysQOyJGnfr21dLvYKDJq8HkA== +sass@^1.49.7: + version "1.49.7" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.49.7.tgz#22a86a50552b9b11f71404dfad1b9ff44c6b0c49" + integrity sha512-13dml55EMIR2rS4d/RDHHP0sXMY3+30e1TKsyXaSz3iLWVoDWEoboY8WzJd5JMnxrRHffKO3wq2mpJ0jxRJiEQ== dependencies: chokidar ">=3.0.0 <4.0.0" + immutable "^4.0.0" + source-map-js ">=0.6.2 <2.0.0" schema-utils@2.7.0: version "2.7.0" @@ -6179,6 +6186,11 @@ source-list-map@^2.0.0, source-list-map@^2.0.1: resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== +"source-map-js@>=0.6.2 <2.0.0": + version "1.0.2" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" + integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== + source-map-js@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.1.tgz#a1741c131e3c77d048252adfa24e23b908670caf" From f2af7c6e9539c23196e678e5de1fa0ab870f5400 Mon Sep 17 00:00:00 2001 From: Lukas Hass Date: Thu, 3 Feb 2022 02:17:28 +0100 Subject: [PATCH 28/88] fix cowebsite container display when scss is not yet loaded --- front/index.html | 1 + 1 file changed, 1 insertion(+) diff --git a/front/index.html b/front/index.html index ffdc6ac6..a8157730 100644 --- a/front/index.html +++ b/front/index.html @@ -30,6 +30,7 @@ + WorkAdventure From bd72022b13fb04ec712e41b62c8019b35fe37c20 Mon Sep 17 00:00:00 2001 From: Lukas Hass Date: Thu, 3 Feb 2022 02:23:58 +0100 Subject: [PATCH 29/88] remove webpack --- front/package.json | 16 +- front/tsconfig.json | 2 +- front/webpack.config.ts | 204 -- front/yarn.lock | 4248 +-------------------------------------- 4 files changed, 45 insertions(+), 4425 deletions(-) delete mode 100644 front/webpack.config.ts diff --git a/front/package.json b/front/package.json index 4864bf6e..18130b0e 100644 --- a/front/package.json +++ b/front/package.json @@ -9,41 +9,27 @@ "@tsconfig/svelte": "^1.0.10", "@types/google-protobuf": "^3.7.3", "@types/jasmine": "^3.5.10", - "@types/mini-css-extract-plugin": "^1.4.3", "@types/node": "^15.3.0", "@types/quill": "^1.3.7", "@types/uuidv4": "^5.0.0", - "@types/webpack-dev-server": "^3.11.4", "@typescript-eslint/eslint-plugin": "^5.6.0", "@typescript-eslint/parser": "^5.6.0", - "css-loader": "^5.2.4", - "css-minimizer-webpack-plugin": "^3.3.1", "eslint": "^8.4.1", "eslint-plugin-svelte3": "^3.2.1", - "fork-ts-checker-webpack-plugin": "^6.5.0", - "html-webpack-plugin": "^5.3.1", "jasmine": "^3.5.0", "lint-staged": "^11.0.0", - "mini-css-extract-plugin": "^1.6.0", - "node-polyfill-webpack-plugin": "^1.1.2", "npm-run-all": "^4.1.5", "prettier": "^2.3.1", "prettier-plugin-svelte": "^2.5.0", "sass": "^1.49.7", - "sass-loader": "^11.1.0", "svelte": "^3.46.3", "svelte-check": "^2.1.0", - "svelte-loader": "^3.1.1", "svelte-preprocess": "^4.10.2", - "ts-loader": "^9.2.6", "ts-node": "^10.4.0", "tsconfig-paths": "^3.9.0", "typescript": "^4.5.3", "vite": "^2.7.13", - "vite-plugin-rewrite-all": "^0.1.2", - "webpack": "^5.37.0", - "webpack-cli": "^4.7.0", - "webpack-dev-server": "^3.11.2" + "vite-plugin-rewrite-all": "^0.1.2" }, "dependencies": { "@fontsource/press-start-2p": "^4.3.0", diff --git a/front/tsconfig.json b/front/tsconfig.json index 54ca746b..df902342 100644 --- a/front/tsconfig.json +++ b/front/tsconfig.json @@ -1,5 +1,5 @@ { -// "include": ["src/**/*", "webpack.config.ts"], +// "include": ["src/**/*"], "extends": "@tsconfig/svelte/tsconfig.json", "compilerOptions": { diff --git a/front/webpack.config.ts b/front/webpack.config.ts deleted file mode 100644 index d6e54c68..00000000 --- a/front/webpack.config.ts +++ /dev/null @@ -1,204 +0,0 @@ -import ForkTsCheckerWebpackPlugin from "fork-ts-checker-webpack-plugin"; -import fs from 'fs/promises'; -import HtmlWebpackPlugin from "html-webpack-plugin"; -import MiniCssExtractPlugin from "mini-css-extract-plugin"; -import CssMinimizerPlugin from "css-minimizer-webpack-plugin"; -import NodePolyfillPlugin from "node-polyfill-webpack-plugin"; -import path from "path"; -import sveltePreprocess from "svelte-preprocess"; -import type { Configuration } from "webpack"; -import webpack from "webpack"; -import type WebpackDevServer from "webpack-dev-server"; - -const mode = process.env.NODE_ENV ?? "development"; -const buildNpmTypingsForApi = !!process.env.BUILD_TYPINGS; -const isProduction = mode === "production"; -const isDevelopment = !isProduction; - -const entries: { [key: string]: string } = {}; -if (!buildNpmTypingsForApi) { - entries.main = "./src/index.ts"; -} -entries.iframe_api = "./src/iframe_api.ts"; - -module.exports = { - entry: entries, - mode: mode, - devtool: isDevelopment ? "inline-source-map" : "source-map", - devServer: { - contentBase: "./dist", - host: "0.0.0.0", - sockPort: 80, - disableHostCheck: true, - historyApiFallback: { - rewrites: [{ from: /^_\/.*$/, to: "/index.html" }], - disableDotRule: true, - }, - liveReload: process.env.LIVE_RELOAD != "0" && process.env.LIVE_RELOAD != "false", - before: (app) => { - let appConfigContent = ''; - const TEMPLATE_PATH = path.join(__dirname, 'dist', 'env-config.template.js'); - - function renderTemplateWithEnvVars(content: string): string { - let result = content; - const regex = /\$\{([a-zA-Z_]+[a-zA-Z0-9_]*?)\}/g; - - let matched: RegExpExecArray | null; - while ((matched = regex.exec(content))) { - result = result.replace(`\${${matched[1]}}`, process.env[matched[1]] || ''); - } - - return result; - } - - void (async () => { - const content = (await fs.readFile(TEMPLATE_PATH)).toString(); - appConfigContent = renderTemplateWithEnvVars(content); - })(); - - app.get('/env-config.js', (_, response) => { - response.setHeader('Content-Type', 'application/javascript; charset=utf-8'); - response.setHeader('Cache-Control', 'no-cache'); - response.setHeader('Content-Length', Buffer.byteLength(appConfigContent, 'utf8')); - - response.send(appConfigContent); - }); - }, - }, - module: { - rules: [ - { - test: /\.tsx?$/, - //use: 'ts-loader', - exclude: /node_modules/, - loader: "ts-loader", - options: { - transpileOnly: !buildNpmTypingsForApi, - compilerOptions: { - declaration: buildNpmTypingsForApi, - }, - }, - }, - { - test: /\.(sc|c)ss$/, - exclude: /node_modules/, - use: [MiniCssExtractPlugin.loader, "css-loader", "sass-loader"], - }, - { - test: /\.(html|svelte)$/, - exclude: /node_modules/, - use: { - loader: "svelte-loader", - options: { - compilerOptions: { - // Dev mode must be enabled for HMR to work! - dev: isDevelopment, - }, - emitCss: isProduction, - hotReload: isDevelopment, - hotOptions: { - // List of options and defaults: https://www.npmjs.com/package/svelte-loader-hot#usage - noPreserveState: false, - optimistic: true, - }, - preprocess: sveltePreprocess({ - scss: true, - sass: true, - }), - onwarn: function ( - warning: { code: string }, - handleWarning: (warning: { code: string }) => void - ) { - // See https://github.com/sveltejs/svelte/issues/4946#issuecomment-662168782 - - if (warning.code === "a11y-no-onchange") { - return; - } - if (warning.code === "a11y-autofocus") { - return; - } - if (warning.code === "a11y-media-has-caption") { - return; - } - - // process as usual - handleWarning(warning); - }, - }, - }, - }, - - // Required to prevent errors from Svelte on Webpack 5+, omit on Webpack 4 - // See: https://github.com/sveltejs/svelte-loader#usage - { - test: /node_modules\/svelte\/.*\.mjs$/, - resolve: { - fullySpecified: false, - }, - }, - { - test: /\.(eot|svg|png|gif|jpg)$/, - exclude: /node_modules/, - type: "asset", - }, - { - test: /\.(woff(2)?|ttf)$/, - type: "asset", - generator: { - filename: "fonts/[name][ext]", - }, - }, - { - test: /\.json$/, - exclude: /node_modules/, - type: "asset", - }, - ], - }, - resolve: { - alias: { - svelte: path.resolve("node_modules", "svelte"), - }, - extensions: [".tsx", ".ts", ".js", ".svelte"], - mainFields: ["svelte", "browser", "module", "main"], - }, - optimization: { - minimize: isProduction, - minimizer: [new CssMinimizerPlugin(), "..."], - }, - output: { - filename: (pathData) => { - // Add a content hash only for the main bundle. - // We want the iframe_api.js file to keep its name as it will be referenced from outside iframes. - return pathData.chunk?.name === "main" ? "js/[name].[contenthash].js" : "[name].js"; - }, - path: path.resolve(__dirname, "dist"), - publicPath: "/", - }, - plugins: [ - new webpack.HotModuleReplacementPlugin(), - new ForkTsCheckerWebpackPlugin({ - eslint: { - files: "./src/**/*.ts", - }, - }), - new MiniCssExtractPlugin({ filename: "[name].[contenthash].css" }), - new HtmlWebpackPlugin({ - template: "./dist/index.ejs", - minify: { - collapseWhitespace: true, - keepClosingSlash: true, - removeComments: false, - removeRedundantAttributes: true, - removeScriptTypeAttributes: true, - removeStyleLinkTypeAttributes: true, - useShortDoctype: true, - }, - chunks: ["main"], - }), - new webpack.ProvidePlugin({ - Phaser: "phaser", - }), - new NodePolyfillPlugin(), - ], -} as Configuration & WebpackDevServer.Configuration; diff --git a/front/yarn.lock b/front/yarn.lock index c24ae7b4..7f44f327 100644 --- a/front/yarn.lock +++ b/front/yarn.lock @@ -2,7 +2,7 @@ # yarn lockfile v1 -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.8.3": +"@babel/code-frame@^7.0.0": version "7.12.13" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.13.tgz#dcfc826beef65e75c50e21d3837d7d95798dd658" integrity sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g== @@ -42,11 +42,6 @@ dependencies: "@cspotcode/source-map-consumer" "0.8.0" -"@discoveryjs/json-ext@^0.5.0": - version "0.5.3" - resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.3.tgz#90420f9f9c6d3987f176a19a7d8e764271a2f55d" - integrity sha512-Fxt+AfXgjMoin2maPIYzFZnQjAXjAL0PHscM5pRTtatFqB+vZxAM9tLp2Optnuw3QOQC40jTNeGYFOMvyf7v9g== - "@eslint/eslintrc@^1.0.5": version "1.0.5" resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.0.5.tgz#33f1b838dbf1f923bfa517e008362b78ddbbf318" @@ -232,11 +227,6 @@ magic-string "^0.25.7" svelte-hmr "^0.14.9" -"@trysound/sax@0.2.0": - version "0.2.0" - resolved "https://registry.yarnpkg.com/@trysound/sax/-/sax-0.2.0.tgz#cccaab758af56761eb7bf37af6f03f326dd798ad" - integrity sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA== - "@tsconfig/node10@^1.0.7": version "1.0.8" resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.8.tgz#c1e4e80d6f964fbecb3359c43bd48b40f7cadad9" @@ -262,109 +252,16 @@ resolved "https://registry.yarnpkg.com/@tsconfig/svelte/-/svelte-1.0.10.tgz#30ec7feeee0bdf38b12a50f0686f8a2e7b6b9dc0" integrity sha512-EBrpH2iXXfaf/9z81koiDYkp2mlwW2XzFcAqn6qh7VKyP8zBvHHAQzNhY+W9vH5arAjmGAm5g8ElWq6YmXm3ig== -"@types/anymatch@*": - version "1.3.1" - resolved "https://registry.yarnpkg.com/@types/anymatch/-/anymatch-1.3.1.tgz#336badc1beecb9dacc38bea2cf32adf627a8421a" - integrity sha512-/+CRPXpBDpo2RK9C68N3b2cOvO0Cf5B9aPijHsoDQTHivnGSObdOF2BRQOYjojWTDy6nQvMjmqRXIxH55VjxxA== - -"@types/body-parser@*": - version "1.19.0" - resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.0.tgz#0685b3c47eb3006ffed117cdd55164b61f80538f" - integrity sha512-W98JrE0j2K78swW4ukqMleo8R7h/pFETjM2DQ90MF6XK2i4LO4W3gQ71Lt4w3bfm2EvVSyWHplECvB5sK22yFQ== - dependencies: - "@types/connect" "*" - "@types/node" "*" - -"@types/connect-history-api-fallback@*": - version "1.3.4" - resolved "https://registry.yarnpkg.com/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.4.tgz#8c0f0e6e5d8252b699f5a662f51bdf82fd9d8bb8" - integrity sha512-Kf8v0wljR5GSCOCF/VQWdV3ZhKOVA73drXtY3geMTQgHy9dgqQ0dLrf31M0hcuWkhFzK5sP0kkS3mJzcKVtZbw== - dependencies: - "@types/express-serve-static-core" "*" - "@types/node" "*" - -"@types/connect@*": - version "3.4.34" - resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.34.tgz#170a40223a6d666006d93ca128af2beb1d9b1901" - integrity sha512-ePPA/JuI+X0vb+gSWlPKOY0NdNAie/rPUqX2GUPpbZwiKTkSPhjXWuee47E4MtE54QVzGCQMQkAL6JhV2E1+cQ== - dependencies: - "@types/node" "*" - -"@types/eslint-scope@^3.7.0": - version "3.7.0" - resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.0.tgz#4792816e31119ebd506902a482caec4951fabd86" - integrity sha512-O/ql2+rrCUe2W2rs7wMR+GqPRcgB6UiqN5RhrR5xruFlY7l9YLMn0ZkDzjoHLeiFkR8MCQZVudUuuvQ2BLC9Qw== - dependencies: - "@types/eslint" "*" - "@types/estree" "*" - -"@types/eslint@*": - version "7.2.10" - resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-7.2.10.tgz#4b7a9368d46c0f8cd5408c23288a59aa2394d917" - integrity sha512-kUEPnMKrqbtpCq/KTaGFFKAcz6Ethm2EjCoKIDaCmfRBWLbFuTcOJfTlorwbnboXBzahqWLgUp1BQeKHiJzPUQ== - dependencies: - "@types/estree" "*" - "@types/json-schema" "*" - -"@types/estree@*", "@types/estree@^0.0.47": - version "0.0.47" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.47.tgz#d7a51db20f0650efec24cd04994f523d93172ed4" - integrity sha512-c5ciR06jK8u9BstrmJyO97m+klJrrhCf9u3rLu3DEAJBirxRqSCvDQoYKmxuYwQI5SZChAWu+tq9oVlGRuzPAg== - -"@types/express-serve-static-core@*", "@types/express-serve-static-core@^4.17.18": - version "4.17.19" - resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.19.tgz#00acfc1632e729acac4f1530e9e16f6dd1508a1d" - integrity sha512-DJOSHzX7pCiSElWaGR8kCprwibCB/3yW6vcT8VG3P0SJjnv19gnWG/AZMfM60Xj/YJIp/YCaDHyvzsFVeniARA== - dependencies: - "@types/node" "*" - "@types/qs" "*" - "@types/range-parser" "*" - -"@types/express@*": - version "4.17.11" - resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.11.tgz#debe3caa6f8e5fcda96b47bd54e2f40c4ee59545" - integrity sha512-no+R6rW60JEc59977wIxreQVsIEOAYwgCqldrA/vkpCnbD7MqTefO97lmoBe4WE0F156bC4uLSP1XHDOySnChg== - dependencies: - "@types/body-parser" "*" - "@types/express-serve-static-core" "^4.17.18" - "@types/qs" "*" - "@types/serve-static" "*" - -"@types/glob@^7.1.1": - version "7.1.3" - resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.3.tgz#e6ba80f36b7daad2c685acd9266382e68985c183" - integrity sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w== - dependencies: - "@types/minimatch" "*" - "@types/node" "*" - "@types/google-protobuf@^3.7.3": version "3.15.2" resolved "https://registry.yarnpkg.com/@types/google-protobuf/-/google-protobuf-3.15.2.tgz#70753e948cabeb416d71299dc35c3f562a10fb0f" integrity sha512-ubeqvw7sl6CdgeiIilsXB2jIFoD/D0F+/LIEp7xEBEXRNtDJcf05FRINybsJtL7GlkWOUVn6gJs2W9OF+xI6lg== -"@types/html-minifier-terser@^5.0.0": - version "5.1.1" - resolved "https://registry.yarnpkg.com/@types/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz#3c9ee980f1a10d6021ae6632ca3e79ca2ec4fb50" - integrity sha512-giAlZwstKbmvMk1OO7WXSj4OZ0keXAcl2TQq4LWHiiPH2ByaH7WeUzng+Qej8UPxxv+8lRTuouo0iaNDBuzIBA== - -"@types/http-proxy@^1.17.5": - version "1.17.6" - resolved "https://registry.yarnpkg.com/@types/http-proxy/-/http-proxy-1.17.6.tgz#62dc3fade227d6ac2862c8f19ee0da9da9fd8616" - integrity sha512-+qsjqR75S/ib0ig0R9WN+CDoZeOBU6F2XLewgC4KVgdXiNHiKKHFEMRHOrs5PbYE97D5vataw5wPj4KLYfUkuQ== - dependencies: - "@types/node" "*" - "@types/jasmine@^3.5.10": version "3.7.4" resolved "https://registry.yarnpkg.com/@types/jasmine/-/jasmine-3.7.4.tgz#99a49aa9a5f8dc86fc249ed13ed59552c6ce862d" integrity sha512-L3FKeEwMm8e8hqGvt7cSesVmGtavpRyHV1FNDq+Pm5pS4x5eFmE70ZERXCSBWAiLQqXBcZRUrwV59FZLQl/GxQ== -"@types/json-schema@*", "@types/json-schema@^7.0.4", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.6": - version "7.0.7" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.7.tgz#98a993516c859eb0d5c4c8f098317a9ea68db9ad" - integrity sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA== - "@types/json-schema@^7.0.9": version "7.0.9" resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.9.tgz#97edc9037ea0c38585320b28964dde3b39e4660d" @@ -380,25 +277,6 @@ resolved "https://registry.yarnpkg.com/@types/long/-/long-4.0.1.tgz#459c65fa1867dafe6a8f322c4c51695663cc55e9" integrity sha512-5tXH6Bx/kNGd3MgffdmP4dy2Z+G4eaXw0SE81Tq3BNadtnMR5/ySMzX4SLEzHJzSmPNn4HIdpQsBvXMUykr58w== -"@types/mime@^1": - version "1.3.2" - resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.2.tgz#93e25bf9ee75fe0fd80b594bc4feb0e862111b5a" - integrity sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw== - -"@types/mini-css-extract-plugin@^1.4.3": - version "1.4.3" - resolved "https://registry.yarnpkg.com/@types/mini-css-extract-plugin/-/mini-css-extract-plugin-1.4.3.tgz#4907ee3953fecd199fab24ef056dabef51ff19a2" - integrity sha512-jyOSVaF4ie2jUGr1uohqeyDrp7ktRthdFxDKzTgbPZtl0QI5geEopW7UKD/DEfn0XgV1KEq/RnZlUmnrEAWbmg== - dependencies: - "@types/node" "*" - tapable "^2.2.0" - webpack "^5" - -"@types/minimatch@*": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.4.tgz#f0ec25dbf2f0e4b18647313ac031134ca5b24b21" - integrity sha512-1z8k4wzFnNjVK/tlxvrWuK5WMt6mydWWP7+zvH5eFep4oj+UkrfiJTRtjCeBXNpwaA/FYqqtb4/QS4ianFpIRA== - "@types/node@*", "@types/node@^15.3.0": version "15.3.0" resolved "https://registry.yarnpkg.com/@types/node/-/node-15.3.0.tgz#d6fed7d6bc6854306da3dea1af9f874b00783e26" @@ -429,11 +307,6 @@ resolved "https://registry.yarnpkg.com/@types/pug/-/pug-2.0.4.tgz#8772fcd0418e3cd2cc171555d73007415051f4b2" integrity sha1-h3L80EGOPNLMFxVV1zAHQVBR9LI= -"@types/qs@*": - version "6.9.6" - resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.6.tgz#df9c3c8b31a247ec315e6996566be3171df4b3b1" - integrity sha512-0/HnwIfW4ki2D8L8c9GVcG5I72s9jP5GSLVF0VIXDW00kmIpA6O33G7a8n59Tmh7Nz0WUC3rSb7PTY/sdW2JzA== - "@types/quill@^1.3.7": version "1.3.10" resolved "https://registry.yarnpkg.com/@types/quill/-/quill-1.3.10.tgz#dc1f7b6587f7ee94bdf5291bc92289f6f0497613" @@ -441,11 +314,6 @@ dependencies: parchment "^1.1.2" -"@types/range-parser@*": - version "1.2.3" - resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.3.tgz#7ee330ba7caafb98090bece86a5ee44115904c2c" - integrity sha512-ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA== - "@types/sass@^1.16.0": version "1.16.0" resolved "https://registry.yarnpkg.com/@types/sass/-/sass-1.16.0.tgz#b41ac1c17fa68ffb57d43e2360486ef526b3d57d" @@ -453,14 +321,6 @@ dependencies: "@types/node" "*" -"@types/serve-static@*": - version "1.13.9" - resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.13.9.tgz#aacf28a85a05ee29a11fb7c3ead935ac56f33e4e" - integrity sha512-ZFqF6qa48XsPdjXV5Gsz0Zqmux2PerNd3a/ktL45mHpa19cuMi/cL8tcxdAx497yRh+QtYPuofjT9oWw9P7nkA== - dependencies: - "@types/mime" "^1" - "@types/node" "*" - "@types/simple-peer@^9.11.1": version "9.11.1" resolved "https://registry.yarnpkg.com/@types/simple-peer/-/simple-peer-9.11.1.tgz#bef6ff1e75178d83438e33aa6a4df2fd98fded1d" @@ -473,28 +333,11 @@ resolved "https://registry.yarnpkg.com/@types/socket.io-client/-/socket.io-client-1.4.36.tgz#e4f1ca065f84c20939e9850e70222202bd76ff3f" integrity sha512-ZJWjtFBeBy1kRSYpVbeGYTElf6BqPQUkXDlHHD4k/42byCN5Rh027f4yARHCink9sKAkbtGZXEAmR0ZCnc2/Ag== -"@types/source-list-map@*": - version "0.1.2" - resolved "https://registry.yarnpkg.com/@types/source-list-map/-/source-list-map-0.1.2.tgz#0078836063ffaf17412349bba364087e0ac02ec9" - integrity sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA== - -"@types/tapable@^1": - version "1.0.7" - resolved "https://registry.yarnpkg.com/@types/tapable/-/tapable-1.0.7.tgz#545158342f949e8fd3bfd813224971ecddc3fac4" - integrity sha512-0VBprVqfgFD7Ehb2vd8Lh9TG3jP98gvr8rgehQqzztZNI7o8zS8Ad4jyZneKELphpuE212D8J70LnSNQSyO6bQ== - "@types/twemoji@^12.1.1": version "12.1.2" resolved "https://registry.yarnpkg.com/@types/twemoji/-/twemoji-12.1.2.tgz#52578fd22665311e6a78d04f800275449d51c97e" integrity sha512-3eMyKenMi0R1CeKzBYtk/Z2JIHsTMQrIrTah0q54o45pHTpWVNofU2oHx0jS8tqsDRhis2TbB6238WP9oh2l2w== -"@types/uglify-js@*": - version "3.13.0" - resolved "https://registry.yarnpkg.com/@types/uglify-js/-/uglify-js-3.13.0.tgz#1cad8df1fb0b143c5aba08de5712ea9d1ff71124" - integrity sha512-EGkrJD5Uy+Pg0NUR8uA4bJ5WMfljyad0G+784vLCNUkD+QwOJXUbBYExXfVGf7YtyzdQp3L/XMYcliB987kL5Q== - dependencies: - source-map "^0.6.1" - "@types/uuid@8.3.0": version "8.3.0" resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-8.3.0.tgz#215c231dff736d5ba92410e6d602050cce7e273f" @@ -507,38 +350,6 @@ dependencies: uuidv4 "*" -"@types/webpack-dev-server@^3.11.4": - version "3.11.4" - resolved "https://registry.yarnpkg.com/@types/webpack-dev-server/-/webpack-dev-server-3.11.4.tgz#90d47dd660b696d409431ab8c1e9fa3615103a07" - integrity sha512-DCKORHjqNNVuMIDWFrlljftvc9CL0+09p3l7lBpb8dRqgN5SmvkWCY4MPKxoI6wJgdRqohmoNbptkxqSKAzLRg== - dependencies: - "@types/connect-history-api-fallback" "*" - "@types/express" "*" - "@types/serve-static" "*" - "@types/webpack" "^4" - http-proxy-middleware "^1.0.0" - -"@types/webpack-sources@*": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@types/webpack-sources/-/webpack-sources-2.1.0.tgz#8882b0bd62d1e0ce62f183d0d01b72e6e82e8c10" - integrity sha512-LXn/oYIpBeucgP1EIJbKQ2/4ZmpvRl+dlrFdX7+94SKRUV3Evy3FsfMZY318vGhkWUS5MPhtOM3w1/hCOAOXcg== - dependencies: - "@types/node" "*" - "@types/source-list-map" "*" - source-map "^0.7.3" - -"@types/webpack@^4": - version "4.41.28" - resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.28.tgz#0069a2159b7ad4d83d0b5801942c17d54133897b" - integrity sha512-Nn84RAiJjKRfPFFCVR8LC4ueTtTdfWAMZ03THIzZWRJB+rX24BD3LqPSFnbMscWauEsT4segAsylPDIaZyZyLQ== - dependencies: - "@types/anymatch" "*" - "@types/node" "*" - "@types/tapable" "^1" - "@types/uglify-js" "*" - "@types/webpack-sources" "*" - source-map "^0.6.0" - "@typescript-eslint/eslint-plugin@^5.6.0": version "5.6.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.6.0.tgz#efd8668b3d6627c46ce722c2afe813928fe120a0" @@ -609,162 +420,6 @@ "@typescript-eslint/types" "5.6.0" eslint-visitor-keys "^3.0.0" -"@webassemblyjs/ast@1.11.0": - version "1.11.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.0.tgz#a5aa679efdc9e51707a4207139da57920555961f" - integrity sha512-kX2W49LWsbthrmIRMbQZuQDhGtjyqXfEmmHyEi4XWnSZtPmxY0+3anPIzsnRb45VH/J55zlOfWvZuY47aJZTJg== - dependencies: - "@webassemblyjs/helper-numbers" "1.11.0" - "@webassemblyjs/helper-wasm-bytecode" "1.11.0" - -"@webassemblyjs/floating-point-hex-parser@1.11.0": - version "1.11.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.0.tgz#34d62052f453cd43101d72eab4966a022587947c" - integrity sha512-Q/aVYs/VnPDVYvsCBL/gSgwmfjeCb4LW8+TMrO3cSzJImgv8lxxEPM2JA5jMrivE7LSz3V+PFqtMbls3m1exDA== - -"@webassemblyjs/helper-api-error@1.11.0": - version "1.11.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.0.tgz#aaea8fb3b923f4aaa9b512ff541b013ffb68d2d4" - integrity sha512-baT/va95eXiXb2QflSx95QGT5ClzWpGaa8L7JnJbgzoYeaA27FCvuBXU758l+KXWRndEmUXjP0Q5fibhavIn8w== - -"@webassemblyjs/helper-buffer@1.11.0": - version "1.11.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.0.tgz#d026c25d175e388a7dbda9694e91e743cbe9b642" - integrity sha512-u9HPBEl4DS+vA8qLQdEQ6N/eJQ7gT7aNvMIo8AAWvAl/xMrcOSiI2M0MAnMCy3jIFke7bEee/JwdX1nUpCtdyA== - -"@webassemblyjs/helper-numbers@1.11.0": - version "1.11.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.0.tgz#7ab04172d54e312cc6ea4286d7d9fa27c88cd4f9" - integrity sha512-DhRQKelIj01s5IgdsOJMKLppI+4zpmcMQ3XboFPLwCpSNH6Hqo1ritgHgD0nqHeSYqofA6aBN/NmXuGjM1jEfQ== - dependencies: - "@webassemblyjs/floating-point-hex-parser" "1.11.0" - "@webassemblyjs/helper-api-error" "1.11.0" - "@xtuc/long" "4.2.2" - -"@webassemblyjs/helper-wasm-bytecode@1.11.0": - version "1.11.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.0.tgz#85fdcda4129902fe86f81abf7e7236953ec5a4e1" - integrity sha512-MbmhvxXExm542tWREgSFnOVo07fDpsBJg3sIl6fSp9xuu75eGz5lz31q7wTLffwL3Za7XNRCMZy210+tnsUSEA== - -"@webassemblyjs/helper-wasm-section@1.11.0": - version "1.11.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.0.tgz#9ce2cc89300262509c801b4af113d1ca25c1a75b" - integrity sha512-3Eb88hcbfY/FCukrg6i3EH8H2UsD7x8Vy47iVJrP967A9JGqgBVL9aH71SETPx1JrGsOUVLo0c7vMCN22ytJew== - dependencies: - "@webassemblyjs/ast" "1.11.0" - "@webassemblyjs/helper-buffer" "1.11.0" - "@webassemblyjs/helper-wasm-bytecode" "1.11.0" - "@webassemblyjs/wasm-gen" "1.11.0" - -"@webassemblyjs/ieee754@1.11.0": - version "1.11.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.11.0.tgz#46975d583f9828f5d094ac210e219441c4e6f5cf" - integrity sha512-KXzOqpcYQwAfeQ6WbF6HXo+0udBNmw0iXDmEK5sFlmQdmND+tr773Ti8/5T/M6Tl/413ArSJErATd8In3B+WBA== - dependencies: - "@xtuc/ieee754" "^1.2.0" - -"@webassemblyjs/leb128@1.11.0": - version "1.11.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.11.0.tgz#f7353de1df38aa201cba9fb88b43f41f75ff403b" - integrity sha512-aqbsHa1mSQAbeeNcl38un6qVY++hh8OpCOzxhixSYgbRfNWcxJNJQwe2rezK9XEcssJbbWIkblaJRwGMS9zp+g== - dependencies: - "@xtuc/long" "4.2.2" - -"@webassemblyjs/utf8@1.11.0": - version "1.11.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.11.0.tgz#86e48f959cf49e0e5091f069a709b862f5a2cadf" - integrity sha512-A/lclGxH6SpSLSyFowMzO/+aDEPU4hvEiooCMXQPcQFPPJaYcPQNKGOCLUySJsYJ4trbpr+Fs08n4jelkVTGVw== - -"@webassemblyjs/wasm-edit@1.11.0": - version "1.11.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.0.tgz#ee4a5c9f677046a210542ae63897094c2027cb78" - integrity sha512-JHQ0damXy0G6J9ucyKVXO2j08JVJ2ntkdJlq1UTiUrIgfGMmA7Ik5VdC/L8hBK46kVJgujkBIoMtT8yVr+yVOQ== - dependencies: - "@webassemblyjs/ast" "1.11.0" - "@webassemblyjs/helper-buffer" "1.11.0" - "@webassemblyjs/helper-wasm-bytecode" "1.11.0" - "@webassemblyjs/helper-wasm-section" "1.11.0" - "@webassemblyjs/wasm-gen" "1.11.0" - "@webassemblyjs/wasm-opt" "1.11.0" - "@webassemblyjs/wasm-parser" "1.11.0" - "@webassemblyjs/wast-printer" "1.11.0" - -"@webassemblyjs/wasm-gen@1.11.0": - version "1.11.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.0.tgz#3cdb35e70082d42a35166988dda64f24ceb97abe" - integrity sha512-BEUv1aj0WptCZ9kIS30th5ILASUnAPEvE3tVMTrItnZRT9tXCLW2LEXT8ezLw59rqPP9klh9LPmpU+WmRQmCPQ== - dependencies: - "@webassemblyjs/ast" "1.11.0" - "@webassemblyjs/helper-wasm-bytecode" "1.11.0" - "@webassemblyjs/ieee754" "1.11.0" - "@webassemblyjs/leb128" "1.11.0" - "@webassemblyjs/utf8" "1.11.0" - -"@webassemblyjs/wasm-opt@1.11.0": - version "1.11.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.0.tgz#1638ae188137f4bb031f568a413cd24d32f92978" - integrity sha512-tHUSP5F4ywyh3hZ0+fDQuWxKx3mJiPeFufg+9gwTpYp324mPCQgnuVKwzLTZVqj0duRDovnPaZqDwoyhIO8kYg== - dependencies: - "@webassemblyjs/ast" "1.11.0" - "@webassemblyjs/helper-buffer" "1.11.0" - "@webassemblyjs/wasm-gen" "1.11.0" - "@webassemblyjs/wasm-parser" "1.11.0" - -"@webassemblyjs/wasm-parser@1.11.0": - version "1.11.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.0.tgz#3e680b8830d5b13d1ec86cc42f38f3d4a7700754" - integrity sha512-6L285Sgu9gphrcpDXINvm0M9BskznnzJTE7gYkjDbxET28shDqp27wpruyx3C2S/dvEwiigBwLA1cz7lNUi0kw== - dependencies: - "@webassemblyjs/ast" "1.11.0" - "@webassemblyjs/helper-api-error" "1.11.0" - "@webassemblyjs/helper-wasm-bytecode" "1.11.0" - "@webassemblyjs/ieee754" "1.11.0" - "@webassemblyjs/leb128" "1.11.0" - "@webassemblyjs/utf8" "1.11.0" - -"@webassemblyjs/wast-printer@1.11.0": - version "1.11.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.11.0.tgz#680d1f6a5365d6d401974a8e949e05474e1fab7e" - integrity sha512-Fg5OX46pRdTgB7rKIUojkh9vXaVN6sGYCnEiJN1GYkb0RPwShZXp6KTDqmoMdQPKhcroOXh3fEzmkWmCYaKYhQ== - dependencies: - "@webassemblyjs/ast" "1.11.0" - "@xtuc/long" "4.2.2" - -"@webpack-cli/configtest@^1.0.3": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@webpack-cli/configtest/-/configtest-1.0.3.tgz#204bcff87cda3ea4810881f7ea96e5f5321b87b9" - integrity sha512-WQs0ep98FXX2XBAfQpRbY0Ma6ADw8JR6xoIkaIiJIzClGOMqVRvPCWqndTxf28DgFopWan0EKtHtg/5W1h0Zkw== - -"@webpack-cli/info@^1.2.4": - version "1.2.4" - resolved "https://registry.yarnpkg.com/@webpack-cli/info/-/info-1.2.4.tgz#7381fd41c9577b2d8f6c2594fad397ef49ad5573" - integrity sha512-ogE2T4+pLhTTPS/8MM3IjHn0IYplKM4HbVNMCWA9N4NrdPzunwenpCsqKEXyejMfRu6K8mhauIPYf8ZxWG5O6g== - dependencies: - envinfo "^7.7.3" - -"@webpack-cli/serve@^1.4.0": - version "1.4.0" - resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-1.4.0.tgz#f84fd07bcacefe56ce762925798871092f0f228e" - integrity sha512-xgT/HqJ+uLWGX+Mzufusl3cgjAcnqYYskaB7o0vRcwOEfuu6hMzSILQpnIzFMGsTaeaX4Nnekl+6fadLbl1/Vg== - -"@xtuc/ieee754@^1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" - integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== - -"@xtuc/long@4.2.2": - version "4.2.2" - resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" - integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== - -accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.7: - version "1.3.7" - resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd" - integrity sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA== - dependencies: - mime-types "~2.1.24" - negotiator "0.6.2" - acorn-jsx@^5.3.1: version "5.3.1" resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.1.tgz#fc8661e11b7ac1539c47dbfea2e72b3af34d267b" @@ -775,11 +430,6 @@ acorn-walk@^8.1.1: resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== -acorn@^8.2.1: - version "8.2.4" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.2.4.tgz#caba24b08185c3b56e3168e97d15ed17f4d31fd0" - integrity sha512-Ibt84YwBDDA890eDiDCEqcbwvHlBvzzDkU2cGBBDDI1QWT12jTiXIOn2CIw5KK4i6N5Z2HUxwYjzriDyqaqqZg== - acorn@^8.4.1, acorn@^8.6.0: version "8.6.0" resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.6.0.tgz#e3692ba0eb1a0c83eaa4f37f5fa7368dd7142895" @@ -798,31 +448,7 @@ aggregate-error@^3.0.0: clean-stack "^2.0.0" indent-string "^4.0.0" -ajv-errors@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d" - integrity sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ== - -ajv-formats@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ajv-formats/-/ajv-formats-2.1.1.tgz#6e669400659eb74973bbf2e33327180a0996b520" - integrity sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA== - dependencies: - ajv "^8.0.0" - -ajv-keywords@^3.1.0, ajv-keywords@^3.4.1, ajv-keywords@^3.5.2: - version "3.5.2" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" - integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== - -ajv-keywords@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-5.1.0.tgz#69d4d385a4733cdbeab44964a1170a88f87f0e16" - integrity sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw== - dependencies: - fast-deep-equal "^3.1.3" - -ajv@^6.1.0, ajv@^6.10.0, ajv@^6.12.2, ajv@^6.12.4, ajv@^6.12.5: +ajv@^6.10.0, ajv@^6.12.4: version "6.12.6" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== @@ -832,26 +458,6 @@ ajv@^6.1.0, ajv@^6.10.0, ajv@^6.12.2, ajv@^6.12.4, ajv@^6.12.5: json-schema-traverse "^0.4.1" uri-js "^4.2.2" -ajv@^8.0.0, ajv@^8.8.0: - version "8.8.2" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.8.2.tgz#01b4fef2007a28bf75f0b7fc009f62679de4abbb" - integrity sha512-x9VuX+R/jcFj1DHo/fCp99esgGDWiHENrKxaCENuCxpoMCmAt/COCGVDwA7kleEpEzJjDnvh3yGoOuLu0Dtllw== - dependencies: - fast-deep-equal "^3.1.1" - json-schema-traverse "^1.0.0" - require-from-string "^2.0.2" - uri-js "^4.2.2" - -alphanum-sort@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3" - integrity sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM= - -ansi-colors@^3.0.0: - version "3.2.4" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.4.tgz#e3a3da4bfbae6c86a9c285625de124a234026fbf" - integrity sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA== - ansi-colors@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" @@ -864,21 +470,6 @@ ansi-escapes@^4.3.0: dependencies: type-fest "^0.21.3" -ansi-html@0.0.7: - version "0.0.7" - resolved "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e" - integrity sha1-gTWEAhliqenm/QOflA0S9WynhZ4= - -ansi-regex@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" - integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= - -ansi-regex@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" - integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== - ansi-regex@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" @@ -889,7 +480,7 @@ ansi-regex@^5.0.1: resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== -ansi-styles@^3.2.0, ansi-styles@^3.2.1: +ansi-styles@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== @@ -903,14 +494,6 @@ ansi-styles@^4.0.0, ansi-styles@^4.1.0: dependencies: color-convert "^2.0.1" -anymatch@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" - integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== - dependencies: - micromatch "^3.1.4" - normalize-path "^2.1.1" - anymatch@~3.1.1, anymatch@~3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" @@ -929,120 +512,21 @@ argparse@^2.0.1: resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== -arr-diff@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" - integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= - -arr-flatten@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" - integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== - -arr-union@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" - integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= - -array-filter@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/array-filter/-/array-filter-1.0.0.tgz#baf79e62e6ef4c2a4c0b831232daffec251f9d83" - integrity sha1-uveeYubvTCpMC4MSMtr/7CUfnYM= - -array-flatten@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" - integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI= - -array-flatten@^2.1.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-2.1.2.tgz#24ef80a28c1a893617e2149b0c6d0d788293b099" - integrity sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ== - -array-union@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" - integrity sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk= - dependencies: - array-uniq "^1.0.1" - array-union@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== -array-uniq@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" - integrity sha1-r2rId6Jcx/dOBYiUdThY39sk/bY= - -array-unique@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" - integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= - arraybuffer.slice@~0.0.7: version "0.0.7" resolved "https://registry.yarnpkg.com/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz#3bbc4275dd584cc1b10809b89d4e8b63a69e7675" integrity sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog== -asn1.js@^5.2.0: - version "5.4.1" - resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07" - integrity sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA== - dependencies: - bn.js "^4.0.0" - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - safer-buffer "^2.1.0" - -assert@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/assert/-/assert-2.0.0.tgz#95fc1c616d48713510680f2eaf2d10dd22e02d32" - integrity sha512-se5Cd+js9dXJnu6Ag2JFc00t+HmHOen+8Q+L7O9zI0PqQXr20uk2J0XQqMxZEeo5U50o8Nvmmx7dZrl+Ufr35A== - dependencies: - es6-object-assign "^1.1.0" - is-nan "^1.2.1" - object-is "^1.0.1" - util "^0.12.0" - -assign-symbols@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" - integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= - astral-regex@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== -async-each@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf" - integrity sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ== - -async-limiter@~1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" - integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== - -async@^2.6.2: - version "2.6.3" - resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff" - integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg== - dependencies: - lodash "^4.17.14" - -at-least-node@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" - integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== - -atob@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" - integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== - automation-events@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/automation-events/-/automation-events-4.0.1.tgz#93acef8a457cbea65f16fdcef8f349fd2fafe298" @@ -1051,13 +535,6 @@ automation-events@^4.0.1: "@babel/runtime" "^7.14.0" tslib "^2.2.0" -available-typed-arrays@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.2.tgz#6b098ca9d8039079ee3f77f7b783c4480ba513f5" - integrity sha512-XWX3OX8Onv97LMk/ftVyBibpGwY5a8SmuxZPzeOxqmuEqUCOM9ZE+uIaD1VNJ5QnvU2UQusvmKbuM1FR8QWGfQ== - dependencies: - array-filter "^1.0.0" - axios@^0.21.2: version "0.21.2" resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.2.tgz#21297d5084b2aeeb422f5d38e7be4fbb82239017" @@ -1085,94 +562,16 @@ base64-js@^1.3.1: resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== -base@^0.11.1: - version "0.11.2" - resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" - integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== - dependencies: - cache-base "^1.0.1" - class-utils "^0.3.5" - component-emitter "^1.2.1" - define-property "^1.0.0" - isobject "^3.0.1" - mixin-deep "^1.2.0" - pascalcase "^0.1.1" - -batch@0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16" - integrity sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY= - -big.js@^5.2.2: - version "5.2.2" - resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" - integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== - -binary-extensions@^1.0.0: - version "1.13.1" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65" - integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw== - binary-extensions@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== -bindings@^1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" - integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== - dependencies: - file-uri-to-path "1.0.0" - blob@0.0.5: version "0.0.5" resolved "https://registry.yarnpkg.com/blob/-/blob-0.0.5.tgz#d680eeef25f8cd91ad533f5b01eed48e64caf683" integrity sha512-gaqbzQPqOoamawKg0LGVd7SzLgXS+JH61oWprSLH+P+abTczqJbhTR8CmJ2u9/bUYNmHTGJx/UEmn6doAvvuig== -bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.9: - version "4.12.0" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" - integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== - -bn.js@^5.0.0, bn.js@^5.1.1: - version "5.2.0" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.0.tgz#358860674396c6997771a9d051fcc1b57d4ae002" - integrity sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw== - -body-parser@1.19.0: - version "1.19.0" - resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.0.tgz#96b2709e57c9c4e09a6fd66a8fd979844f69f08a" - integrity sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw== - dependencies: - bytes "3.1.0" - content-type "~1.0.4" - debug "2.6.9" - depd "~1.1.2" - http-errors "1.7.2" - iconv-lite "0.4.24" - on-finished "~2.3.0" - qs "6.7.0" - raw-body "2.4.0" - type-is "~1.6.17" - -bonjour@^3.5.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/bonjour/-/bonjour-3.5.0.tgz#8e890a183d8ee9a2393b3844c691a42bcf7bc9f5" - integrity sha1-jokKGD2O6aI5OzhExpGkK897yfU= - dependencies: - array-flatten "^2.1.0" - deep-equal "^1.0.1" - dns-equal "^1.0.0" - dns-txt "^2.0.2" - multicast-dns "^6.0.1" - multicast-dns-service-types "^1.1.0" - -boolbase@^1.0.0, boolbase@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" - integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= - brace-expansion@^1.1.7: version "1.1.11" resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" @@ -1181,22 +580,6 @@ brace-expansion@^1.1.7: balanced-match "^1.0.0" concat-map "0.0.1" -braces@^2.3.1, braces@^2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" - integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== - dependencies: - arr-flatten "^1.1.0" - array-unique "^0.3.2" - extend-shallow "^2.0.1" - fill-range "^4.0.0" - isobject "^3.0.1" - repeat-element "^1.1.2" - snapdragon "^0.8.1" - snapdragon-node "^2.0.1" - split-string "^3.0.2" - to-regex "^3.0.1" - braces@^3.0.1, braces@~3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" @@ -1204,114 +587,11 @@ braces@^3.0.1, braces@~3.0.2: dependencies: fill-range "^7.0.1" -brorand@^1.0.1, brorand@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" - integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= - -browserify-aes@^1.0.0, browserify-aes@^1.0.4: - version "1.2.0" - resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" - integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== - dependencies: - buffer-xor "^1.0.3" - cipher-base "^1.0.0" - create-hash "^1.1.0" - evp_bytestokey "^1.0.3" - inherits "^2.0.1" - safe-buffer "^5.0.1" - -browserify-cipher@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" - integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w== - dependencies: - browserify-aes "^1.0.4" - browserify-des "^1.0.0" - evp_bytestokey "^1.0.0" - -browserify-des@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c" - integrity sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A== - dependencies: - cipher-base "^1.0.1" - des.js "^1.0.0" - inherits "^2.0.1" - safe-buffer "^5.1.2" - -browserify-rsa@^4.0.0, browserify-rsa@^4.0.1: - version "4.1.0" - resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.1.0.tgz#b2fd06b5b75ae297f7ce2dc651f918f5be158c8d" - integrity sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog== - dependencies: - bn.js "^5.0.0" - randombytes "^2.0.1" - -browserify-sign@^4.0.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.2.1.tgz#eaf4add46dd54be3bb3b36c0cf15abbeba7956c3" - integrity sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg== - dependencies: - bn.js "^5.1.1" - browserify-rsa "^4.0.1" - create-hash "^1.2.0" - create-hmac "^1.1.7" - elliptic "^6.5.3" - inherits "^2.0.4" - parse-asn1 "^5.1.5" - readable-stream "^3.6.0" - safe-buffer "^5.2.0" - -browserify-zlib@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" - integrity sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA== - dependencies: - pako "~1.0.5" - -browserslist@^4.0.0, browserslist@^4.16.0, browserslist@^4.16.6: - version "4.19.1" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.19.1.tgz#4ac0435b35ab655896c31d53018b6dd5e9e4c9a3" - integrity sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A== - dependencies: - caniuse-lite "^1.0.30001286" - electron-to-chromium "^1.4.17" - escalade "^3.1.1" - node-releases "^2.0.1" - picocolors "^1.0.0" - -browserslist@^4.14.5: - version "4.16.6" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.6.tgz#d7901277a5a88e554ed305b183ec9b0c08f66fa2" - integrity sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ== - dependencies: - caniuse-lite "^1.0.30001219" - colorette "^1.2.2" - electron-to-chromium "^1.3.723" - escalade "^3.1.1" - node-releases "^1.1.71" - buffer-crc32@^0.2.5: version "0.2.13" resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" integrity sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI= -buffer-from@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" - integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== - -buffer-indexof@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/buffer-indexof/-/buffer-indexof-1.1.1.tgz#52fabcc6a606d1a00302802648ef68f639da268c" - integrity sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g== - -buffer-xor@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" - integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk= - buffer@^6.0.3: version "6.0.3" resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6" @@ -1320,36 +600,6 @@ buffer@^6.0.3: base64-js "^1.3.1" ieee754 "^1.2.1" -builtin-status-codes@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" - integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug= - -bytes@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" - integrity sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg= - -bytes@3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" - integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== - -cache-base@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" - integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== - dependencies: - collection-visit "^1.0.0" - component-emitter "^1.2.1" - get-value "^2.0.6" - has-value "^1.0.0" - isobject "^3.0.1" - set-value "^2.0.0" - to-object-path "^0.3.0" - union-value "^1.0.0" - unset-value "^1.0.0" - call-bind@^1.0.0, call-bind@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" @@ -1363,44 +613,6 @@ callsites@^3.0.0: resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== -camel-case@^4.1.1: - version "4.1.2" - resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-4.1.2.tgz#9728072a954f805228225a6deea6b38461e1bd5a" - integrity sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw== - dependencies: - pascal-case "^3.1.2" - tslib "^2.0.3" - -camelcase@^5.0.0: - version "5.3.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" - integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== - -camelcase@^6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809" - integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== - -caniuse-api@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0" - integrity sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw== - dependencies: - browserslist "^4.0.0" - caniuse-lite "^1.0.0" - lodash.memoize "^4.1.2" - lodash.uniq "^4.5.0" - -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001286: - version "1.0.30001292" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001292.tgz#4a55f61c06abc9595965cfd77897dc7bc1cdc456" - integrity sha512-jnT4Tq0Q4ma+6nncYQVe7d73kmDmE9C3OGTx3MvW7lBM/eY1S1DZTMBON7dqV481RhNiS5OxD7k9JQvmDOTirw== - -caniuse-lite@^1.0.30001219: - version "1.0.30001228" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001228.tgz#bfdc5942cd3326fa51ee0b42fbef4da9d492a7fa" - integrity sha512-QQmLOGJ3DEgokHbMSA8cj2a+geXqmnpyOFT0lhQV6P3/YOJvGDEwoedcwxEQ30gJIwIIunHIicunJ2rzK5gB2A== - chalk@^2.0.0, chalk@^2.4.1: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" @@ -1418,7 +630,7 @@ chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.1: ansi-styles "^4.1.0" supports-color "^7.1.0" -"chokidar@>=3.0.0 <4.0.0", chokidar@^3.4.2: +"chokidar@>=3.0.0 <4.0.0": version "3.5.1" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.1.tgz#ee9ce7bbebd2b79f49f304799d5468e31e14e68a" integrity sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw== @@ -1433,25 +645,6 @@ chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.1: optionalDependencies: fsevents "~2.3.1" -chokidar@^2.1.8: - version "2.1.8" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917" - integrity sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg== - dependencies: - anymatch "^2.0.0" - async-each "^1.0.1" - braces "^2.3.2" - glob-parent "^3.1.0" - inherits "^2.0.3" - is-binary-path "^1.0.0" - is-glob "^4.0.0" - normalize-path "^3.0.0" - path-is-absolute "^1.0.0" - readdirp "^2.2.1" - upath "^1.1.1" - optionalDependencies: - fsevents "^1.2.7" - chokidar@^3.4.1: version "3.5.2" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.2.tgz#dba3976fcadb016f66fd365021d91600d01c1e75" @@ -1467,36 +660,6 @@ chokidar@^3.4.1: optionalDependencies: fsevents "~2.3.2" -chrome-trace-event@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" - integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== - -cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" - integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -class-utils@^0.3.5: - version "0.3.6" - resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" - integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== - dependencies: - arr-union "^3.1.0" - define-property "^0.2.5" - isobject "^3.0.0" - static-extend "^0.1.1" - -clean-css@^4.2.3: - version "4.2.3" - resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.3.tgz#507b5de7d97b48ee53d84adb0160ff6216380f78" - integrity sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA== - dependencies: - source-map "~0.6.0" - clean-stack@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" @@ -1517,37 +680,11 @@ cli-truncate@^2.1.0: slice-ansi "^3.0.0" string-width "^4.2.0" -cliui@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" - integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA== - dependencies: - string-width "^3.1.0" - strip-ansi "^5.2.0" - wrap-ansi "^5.1.0" - -clone-deep@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" - integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== - dependencies: - is-plain-object "^2.0.4" - kind-of "^6.0.2" - shallow-clone "^3.0.0" - clone@^2.1.1: version "2.1.2" resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f" integrity sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18= -collection-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" - integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= - dependencies: - map-visit "^1.0.0" - object-visit "^1.0.0" - color-convert@^1.9.0: version "1.9.3" resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" @@ -1572,27 +709,12 @@ color-name@~1.1.4: resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== -colord@^2.9.1: - version "2.9.2" - resolved "https://registry.yarnpkg.com/colord/-/colord-2.9.2.tgz#25e2bacbbaa65991422c07ea209e2089428effb1" - integrity sha512-Uqbg+J445nc1TKn4FoDPS6ZZqAvEDnwrH42yo8B40JSOgSLxMZ/gt3h4nmCtPLQeXhjJJkqBx7SCY35WnIixaQ== - -colorette@^1.2.1, colorette@^1.2.2: +colorette@^1.2.2: version "1.2.2" resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.2.tgz#cbcc79d5e99caea2dbf10eb3a26fd8b3e6acfa94" integrity sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w== -commander@^2.20.0: - version "2.20.3" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" - integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== - -commander@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" - integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== - -commander@^7.0.0, commander@^7.2.0: +commander@^7.2.0: version "7.2.0" resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== @@ -1602,7 +724,7 @@ component-bind@1.0.0: resolved "https://registry.yarnpkg.com/component-bind/-/component-bind-1.0.0.tgz#00c608ab7dcd93897c0009651b1d3a8e1e73bbd1" integrity sha1-AMYIq33Nk4l8AAllGx06jh5zu9E= -component-emitter@^1.2.1, component-emitter@~1.3.0: +component-emitter@~1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== @@ -1612,26 +734,6 @@ component-inherit@0.0.3: resolved "https://registry.yarnpkg.com/component-inherit/-/component-inherit-0.0.3.tgz#645fc4adf58b72b649d5cae65135619db26ff143" integrity sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM= -compressible@~2.0.16: - version "2.0.18" - resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba" - integrity sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg== - dependencies: - mime-db ">= 1.43.0 < 2" - -compression@^1.7.4: - version "1.7.4" - resolved "https://registry.yarnpkg.com/compression/-/compression-1.7.4.tgz#95523eff170ca57c29a0ca41e6fe131f41e5bb8f" - integrity sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ== - dependencies: - accepts "~1.3.5" - bytes "3.0.0" - compressible "~2.0.16" - debug "2.6.9" - on-headers "~1.0.2" - safe-buffer "5.1.2" - vary "~1.1.2" - concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" @@ -1642,59 +744,6 @@ connect-history-api-fallback@^1.6.0: resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz#8b32089359308d111115d81cad3fceab888f97bc" integrity sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg== -console-browserify@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336" - integrity sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA== - -constants-browserify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" - integrity sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U= - -content-disposition@0.5.3: - version "0.5.3" - resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd" - integrity sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g== - dependencies: - safe-buffer "5.1.2" - -content-type@~1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" - integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== - -cookie-signature@1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" - integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw= - -cookie@0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.0.tgz#beb437e7022b3b6d49019d088665303ebe9c14ba" - integrity sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg== - -copy-descriptor@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" - integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= - -core-util-is@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" - integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= - -cosmiconfig@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-6.0.0.tgz#da4fee853c52f6b1e6935f41c1a2fc50bd4a9982" - integrity sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg== - dependencies: - "@types/parse-json" "^4.0.0" - import-fresh "^3.1.0" - parse-json "^5.0.0" - path-type "^4.0.0" - yaml "^1.7.2" - cosmiconfig@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.0.tgz#ef9b44d773959cae63ddecd122de23853b60f8d3" @@ -1706,37 +755,6 @@ cosmiconfig@^7.0.0: path-type "^4.0.0" yaml "^1.10.0" -create-ecdh@^4.0.0: - version "4.0.4" - resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e" - integrity sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A== - dependencies: - bn.js "^4.1.0" - elliptic "^6.5.3" - -create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" - integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== - dependencies: - cipher-base "^1.0.1" - inherits "^2.0.1" - md5.js "^1.3.4" - ripemd160 "^2.0.1" - sha.js "^2.4.0" - -create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: - version "1.1.7" - resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" - integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== - dependencies: - cipher-base "^1.0.3" - create-hash "^1.1.0" - inherits "^2.0.1" - ripemd160 "^2.0.0" - safe-buffer "^5.0.1" - sha.js "^2.4.8" - create-require@^1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" @@ -1749,7 +767,7 @@ cross-env@^7.0.3: dependencies: cross-spawn "^7.0.1" -cross-spawn@^6.0.0, cross-spawn@^6.0.5: +cross-spawn@^6.0.5: version "6.0.5" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== @@ -1769,179 +787,12 @@ cross-spawn@^7.0.1, cross-spawn@^7.0.2, cross-spawn@^7.0.3: shebang-command "^2.0.0" which "^2.0.1" -crypto-browserify@^3.12.0: - version "3.12.0" - resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" - integrity sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg== - dependencies: - browserify-cipher "^1.0.0" - browserify-sign "^4.0.0" - create-ecdh "^4.0.0" - create-hash "^1.1.0" - create-hmac "^1.1.0" - diffie-hellman "^5.0.0" - inherits "^2.0.1" - pbkdf2 "^3.0.3" - public-encrypt "^4.0.0" - randombytes "^2.0.0" - randomfill "^1.0.3" - -css-declaration-sorter@^6.0.3: - version "6.1.3" - resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-6.1.3.tgz#e9852e4cf940ba79f509d9425b137d1f94438dc2" - integrity sha512-SvjQjNRZgh4ULK1LDJ2AduPKUKxIqmtU7ZAyi47BTV+M90Qvxr9AB6lKlLbDUfXqI9IQeYA8LbAsCZPpJEV3aA== - dependencies: - timsort "^0.3.0" - -css-loader@^5.2.4: - version "5.2.4" - resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-5.2.4.tgz#e985dcbce339812cb6104ef3670f08f9893a1536" - integrity sha512-OFYGyINCKkdQsTrSYxzGSFnGS4gNjcXkKkQgWxK138jgnPt+lepxdjSZNc8sHAl5vP3DhsJUxufWIjOwI8PMMw== - dependencies: - camelcase "^6.2.0" - icss-utils "^5.1.0" - loader-utils "^2.0.0" - postcss "^8.2.10" - postcss-modules-extract-imports "^3.0.0" - postcss-modules-local-by-default "^4.0.0" - postcss-modules-scope "^3.0.0" - postcss-modules-values "^4.0.0" - postcss-value-parser "^4.1.0" - schema-utils "^3.0.0" - semver "^7.3.5" - -css-minimizer-webpack-plugin@^3.3.1: - version "3.3.1" - resolved "https://registry.yarnpkg.com/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.3.1.tgz#5afc4507a4ec13dd223f043cda8953ee0bf6ecfa" - integrity sha512-SHA7Hu/EiF0dOwdmV2+agvqYpG+ljlUa7Dvn1AVOmSH3N8KOERoaM9lGpstz9nGsoTjANGyUXdrxl/EwdMScRg== - dependencies: - cssnano "^5.0.6" - jest-worker "^27.0.2" - postcss "^8.3.5" - schema-utils "^4.0.0" - serialize-javascript "^6.0.0" - source-map "^0.6.1" - -css-select@^2.0.2: - version "2.1.0" - resolved "https://registry.yarnpkg.com/css-select/-/css-select-2.1.0.tgz#6a34653356635934a81baca68d0255432105dbef" - integrity sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ== - dependencies: - boolbase "^1.0.0" - css-what "^3.2.1" - domutils "^1.7.0" - nth-check "^1.0.2" - -css-select@^4.1.3: - version "4.2.1" - resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.2.1.tgz#9e665d6ae4c7f9d65dbe69d0316e3221fb274cdd" - integrity sha512-/aUslKhzkTNCQUB2qTX84lVmfia9NyjP3WpDGtj/WxhwBzWBYUV3DgUpurHTme8UTPcPlAD1DJ+b0nN/t50zDQ== - dependencies: - boolbase "^1.0.0" - css-what "^5.1.0" - domhandler "^4.3.0" - domutils "^2.8.0" - nth-check "^2.0.1" - -css-tree@^1.1.2, css-tree@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.1.3.tgz#eb4870fb6fd7707327ec95c2ff2ab09b5e8db91d" - integrity sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q== - dependencies: - mdn-data "2.0.14" - source-map "^0.6.1" - -css-what@^3.2.1: - version "3.4.2" - resolved "https://registry.yarnpkg.com/css-what/-/css-what-3.4.2.tgz#ea7026fcb01777edbde52124e21f327e7ae950e4" - integrity sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ== - -css-what@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/css-what/-/css-what-5.1.0.tgz#3f7b707aadf633baf62c2ceb8579b545bb40f7fe" - integrity sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw== - -cssesc@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" - integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== - -cssnano-preset-default@^5.1.9: - version "5.1.9" - resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-5.1.9.tgz#79628ac48eccbdad570f70b4018cc38d43d1b7df" - integrity sha512-RhkEucqlQ+OxEi14K1p8gdXcMQy1mSpo7P1oC44oRls7BYIj8p+cht4IFBFV3W4iOjTP8EUB33XV1fX9KhDzyA== - dependencies: - css-declaration-sorter "^6.0.3" - cssnano-utils "^2.0.1" - postcss-calc "^8.0.0" - postcss-colormin "^5.2.2" - postcss-convert-values "^5.0.2" - postcss-discard-comments "^5.0.1" - postcss-discard-duplicates "^5.0.1" - postcss-discard-empty "^5.0.1" - postcss-discard-overridden "^5.0.1" - postcss-merge-longhand "^5.0.4" - postcss-merge-rules "^5.0.3" - postcss-minify-font-values "^5.0.1" - postcss-minify-gradients "^5.0.3" - postcss-minify-params "^5.0.2" - postcss-minify-selectors "^5.1.0" - postcss-normalize-charset "^5.0.1" - postcss-normalize-display-values "^5.0.1" - postcss-normalize-positions "^5.0.1" - postcss-normalize-repeat-style "^5.0.1" - postcss-normalize-string "^5.0.1" - postcss-normalize-timing-functions "^5.0.1" - postcss-normalize-unicode "^5.0.1" - postcss-normalize-url "^5.0.4" - postcss-normalize-whitespace "^5.0.1" - postcss-ordered-values "^5.0.2" - postcss-reduce-initial "^5.0.2" - postcss-reduce-transforms "^5.0.1" - postcss-svgo "^5.0.3" - postcss-unique-selectors "^5.0.2" - -cssnano-utils@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/cssnano-utils/-/cssnano-utils-2.0.1.tgz#8660aa2b37ed869d2e2f22918196a9a8b6498ce2" - integrity sha512-i8vLRZTnEH9ubIyfdZCAdIdgnHAUeQeByEeQ2I7oTilvP9oHO6RScpeq3GsFUVqeB8uZgOQ9pw8utofNn32hhQ== - -cssnano@^5.0.6: - version "5.0.14" - resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-5.0.14.tgz#99bc550f663b48c38e9b8e0ae795697c9de84b47" - integrity sha512-qzhRkFvBhv08tbyKCIfWbxBXmkIpLl1uNblt8SpTHkgLfON5OCPX/CCnkdNmEosvo8bANQYmTTMEgcVBlisHaw== - dependencies: - cssnano-preset-default "^5.1.9" - lilconfig "^2.0.3" - yaml "^1.10.2" - -csso@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/csso/-/csso-4.2.0.tgz#ea3a561346e8dc9f546d6febedd50187cf389529" - integrity sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA== - dependencies: - css-tree "^1.1.2" - dataloader@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/dataloader/-/dataloader-1.4.0.tgz#bca11d867f5d3f1b9ed9f737bd15970c65dff5c8" integrity sha512-68s5jYdlvasItOJnCuI2Q9s4q98g0pCyL3HrcKJu8KNugUl8ahgmZYg38ysLTgQjjXX3H8CJLkAvWrclWfcalw== -debug@2.6.9, debug@^2.2.0, debug@^2.3.3: - version "2.6.9" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" - -debug@^3.1.1, debug@^3.2.6: - version "3.2.7" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" - integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== - dependencies: - ms "^2.1.1" - -debug@^4.1.0, debug@^4.1.1, debug@^4.3.1: +debug@^4.1.1, debug@^4.3.1: version "4.3.1" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== @@ -1962,16 +813,6 @@ debug@~3.1.0: dependencies: ms "2.0.0" -decamelize@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" - integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= - -decode-uri-component@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" - integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= - dedent@^0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" @@ -1999,19 +840,6 @@ deep-is@^0.1.3: resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= -deepmerge@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" - integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== - -default-gateway@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/default-gateway/-/default-gateway-4.2.0.tgz#167104c7500c2115f6dd69b0a536bb8ed720552b" - integrity sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA== - dependencies: - execa "^1.0.0" - ip-regex "^2.1.0" - define-properties@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" @@ -2019,83 +847,16 @@ define-properties@^1.1.3: dependencies: object-keys "^1.0.12" -define-property@^0.2.5: - version "0.2.5" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" - integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= - dependencies: - is-descriptor "^0.1.0" - -define-property@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" - integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= - dependencies: - is-descriptor "^1.0.0" - -define-property@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" - integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== - dependencies: - is-descriptor "^1.0.2" - isobject "^3.0.1" - -del@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/del/-/del-4.1.1.tgz#9e8f117222ea44a31ff3a156c049b99052a9f0b4" - integrity sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ== - dependencies: - "@types/glob" "^7.1.1" - globby "^6.1.0" - is-path-cwd "^2.0.0" - is-path-in-cwd "^2.0.0" - p-map "^2.0.0" - pify "^4.0.1" - rimraf "^2.6.3" - -depd@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" - integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= - -des.js@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.1.tgz#5382142e1bdc53f85d86d53e5f4aa7deb91e0843" - integrity sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA== - dependencies: - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - -destroy@~1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" - integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= - detect-indent@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-6.0.0.tgz#0abd0f549f69fc6659a254fe96786186b6f528fd" integrity sha512-oSyFlqaTHCItVRGK5RmrmjB+CmaMOW7IaNA/kdxqhoa6d17j/5ce9O9eWXmV/KEdRwqpQA+Vqe8a8Bsybu4YnA== -detect-node@^2.0.4: - version "2.1.0" - resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.1.0.tgz#c9c70775a49c3d03bc2c06d9a73be550f978f8b1" - integrity sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g== - diff@^4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== -diffie-hellman@^5.0.0: - version "5.0.3" - resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" - integrity sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg== - dependencies: - bn.js "^4.1.0" - miller-rabin "^4.0.0" - randombytes "^2.0.0" - dir-glob@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" @@ -2103,26 +864,6 @@ dir-glob@^3.0.1: dependencies: path-type "^4.0.0" -dns-equal@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/dns-equal/-/dns-equal-1.0.0.tgz#b39e7f1da6eb0a75ba9c17324b34753c47e0654d" - integrity sha1-s55/HabrCnW6nBcySzR1PEfgZU0= - -dns-packet@^1.3.1: - version "1.3.4" - resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-1.3.4.tgz#e3455065824a2507ba886c55a89963bb107dec6f" - integrity sha512-BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA== - dependencies: - ip "^1.1.0" - safe-buffer "^5.0.1" - -dns-txt@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/dns-txt/-/dns-txt-2.0.2.tgz#b91d806f5d27188e4ab3e7d107d881a1cc4642b6" - integrity sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY= - dependencies: - buffer-indexof "^1.0.0" - doctrine@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" @@ -2130,84 +871,6 @@ doctrine@^3.0.0: dependencies: esutils "^2.0.2" -dom-converter@^0.2: - version "0.2.0" - resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768" - integrity sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA== - dependencies: - utila "~0.4" - -dom-serializer@0: - version "0.2.2" - resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.2.tgz#1afb81f533717175d478655debc5e332d9f9bb51" - integrity sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g== - dependencies: - domelementtype "^2.0.1" - entities "^2.0.0" - -dom-serializer@^1.0.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.3.2.tgz#6206437d32ceefaec7161803230c7a20bc1b4d91" - integrity sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig== - dependencies: - domelementtype "^2.0.1" - domhandler "^4.2.0" - entities "^2.0.0" - -domain-browser@^4.19.0: - version "4.19.0" - resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-4.19.0.tgz#1093e17c0a17dbd521182fe90d49ac1370054af1" - integrity sha512-fRA+BaAWOR/yr/t7T9E9GJztHPeFjj8U35ajyAjCDtAAnTn1Rc1f6W6VGPJrO1tkQv9zWu+JRof7z6oQtiYVFQ== - -domelementtype@1, domelementtype@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f" - integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w== - -domelementtype@^2.0.1, domelementtype@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.2.0.tgz#9a0b6c2782ed6a1c7323d42267183df9bd8b1d57" - integrity sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A== - -domhandler@^2.3.0: - version "2.4.2" - resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.2.tgz#8805097e933d65e85546f726d60f5eb88b44f803" - integrity sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA== - dependencies: - domelementtype "1" - -domhandler@^4.2.0, domhandler@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.3.0.tgz#16c658c626cf966967e306f966b431f77d4a5626" - integrity sha512-fC0aXNQXqKSFTr2wDNZDhsEYjCiYsDWl3D01kwt25hm1YIPyDGHvvi3rw+PLqHAl/m71MaiF7d5zvBr0p5UB2g== - dependencies: - domelementtype "^2.2.0" - -domutils@^1.5.1, domutils@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a" - integrity sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg== - dependencies: - dom-serializer "0" - domelementtype "1" - -domutils@^2.8.0: - version "2.8.0" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.8.0.tgz#4437def5db6e2d1f5d6ee859bd95ca7d02048135" - integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== - dependencies: - dom-serializer "^1.0.1" - domelementtype "^2.2.0" - domhandler "^4.2.0" - -dot-case@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/dot-case/-/dot-case-3.0.4.tgz#9b2b670d00a431667a8a75ba29cd1b98809ce751" - integrity sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w== - dependencies: - no-case "^3.0.4" - tslib "^2.0.3" - easystarjs@^0.4.4: version "0.4.4" resolved "https://registry.yarnpkg.com/easystarjs/-/easystarjs-0.4.4.tgz#8cec6d20d0d8660715da0301d1da440370a8f40a" @@ -2215,61 +878,11 @@ easystarjs@^0.4.4: dependencies: heap "0.2.6" -ee-first@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" - integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= - -electron-to-chromium@^1.3.723: - version "1.3.728" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.728.tgz#dbedd6373f595ae10a13d146b66bece4c1afa5bd" - integrity sha512-SHv4ziXruBpb1Nz4aTuqEHBYi/9GNCJMYIJgDEXrp/2V01nFXMNFUTli5Z85f5ivSkioLilQatqBYFB44wNJrA== - -electron-to-chromium@^1.4.17: - version "1.4.28" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.28.tgz#fef0e92e281df6d568f482d8d53c34ca5374de48" - integrity sha512-Gzbf0wUtKfyPaqf0Plz+Ctinf9eQIzxEqBHwSvbGfeOm9GMNdLxyu1dNiCUfM+x6r4BE0xUJNh3Nmg9gfAtTmg== - -elliptic@^6.5.3: - version "6.5.4" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" - integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== - dependencies: - bn.js "^4.11.9" - brorand "^1.1.0" - hash.js "^1.0.0" - hmac-drbg "^1.0.1" - inherits "^2.0.4" - minimalistic-assert "^1.0.1" - minimalistic-crypto-utils "^1.0.1" - -emoji-regex@^7.0.1: - version "7.0.3" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" - integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== - emoji-regex@^8.0.0: version "8.0.0" resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== -emojis-list@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" - integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== - -encodeurl@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" - integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= - -end-of-stream@^1.1.0: - version "1.4.4" - resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" - integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== - dependencies: - once "^1.4.0" - engine.io-client@~3.5.0: version "3.5.2" resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-3.5.2.tgz#0ef473621294004e9ceebe73cef0af9e36f2f5fa" @@ -2298,14 +911,6 @@ engine.io-parser@~2.2.0: blob "0.0.5" has-binary2 "~1.0.2" -enhanced-resolve@^5.0.0, enhanced-resolve@^5.8.0: - version "5.8.2" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.8.2.tgz#15ddc779345cbb73e97c611cd00c01c1e7bf4d8b" - integrity sha512-F27oB3WuHDzvR2DOGNTaYy0D5o0cnrv8TeI482VM4kYgQd/FT9lUQwuNsJ0oOHtBUq7eiW5ytqzp7nBFknL+GA== - dependencies: - graceful-fs "^4.2.4" - tapable "^2.2.0" - enquirer@^2.3.5, enquirer@^2.3.6: version "2.3.6" resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" @@ -2313,33 +918,11 @@ enquirer@^2.3.5, enquirer@^2.3.6: dependencies: ansi-colors "^4.1.1" -entities@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56" - integrity sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w== - -entities@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" - integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== - -envinfo@^7.7.3: - version "7.8.1" - resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.8.1.tgz#06377e3e5f4d379fea7ac592d5ad8927e0c4d475" - integrity sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw== - err-code@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/err-code/-/err-code-3.0.1.tgz#a444c7b992705f2b120ee320b09972eef331c920" integrity sha512-GiaH0KJUewYok+eeY05IIgjtAe4Yltygk9Wqp1V5yVWLdhf0hYZchRjNIT9bb0mSwRcIusT3cx7PJUf3zEIfUA== -errno@^0.1.3: - version "0.1.8" - resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.8.tgz#8bb3e9c7d463be4976ff888f76b4809ebc2e811f" - integrity sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A== - dependencies: - prr "~1.0.1" - error-ex@^1.3.1: version "1.3.2" resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" @@ -2347,7 +930,7 @@ error-ex@^1.3.1: dependencies: is-arrayish "^0.2.1" -es-abstract@^1.18.0-next.1, es-abstract@^1.18.0-next.2: +es-abstract@^1.18.0-next.2: version "1.18.0" resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.0.tgz#ab80b359eecb7ede4c298000390bc5ac3ec7b5a4" integrity sha512-LJzK7MrQa8TS0ja2w3YNLzUgJCGPdPOV1yVvezjNnS89D+VR08+Szt2mz3YB2Dck/+w5tfIq/RoUAFqJJGM2yw== @@ -2369,11 +952,6 @@ es-abstract@^1.18.0-next.1, es-abstract@^1.18.0-next.2: string.prototype.trimstart "^1.0.4" unbox-primitive "^1.0.0" -es-module-lexer@^0.4.0: - version "0.4.1" - resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-0.4.1.tgz#dda8c6a14d8f340a24e34331e0fab0cb50438e0e" - integrity sha512-ooYciCUtfw6/d2w56UVeqHPcoCFAiJdz5XOkYpv/Txl1HMUozpXjz/2RIQgqwKdXNDPSF1W7mJCFse3G+HDyAA== - es-to-primitive@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" @@ -2383,11 +961,6 @@ es-to-primitive@^1.2.1: is-date-object "^1.0.1" is-symbol "^1.0.2" -es6-object-assign@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/es6-object-assign/-/es6-object-assign-1.1.0.tgz#c2c3582656247c39ea107cb1e6652b6f9f24523c" - integrity sha1-wsNYJlYkfDnqEHyx5mUrb58kUjw= - es6-promise@^3.1.2: version "3.3.1" resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-3.3.1.tgz#a08cdde84ccdbf34d027a1451bc91d4bcd28a613" @@ -2501,12 +1074,7 @@ esbuild@^0.13.12: esbuild-windows-64 "0.13.15" esbuild-windows-arm64 "0.13.15" -escalade@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" - integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== - -escape-html@^1.0.3, escape-html@~1.0.3: +escape-html@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= @@ -2646,11 +1214,6 @@ esutils@^2.0.2: resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== -etag@~1.8.1: - version "1.8.1" - resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" - integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= - eventemitter3@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-2.0.3.tgz#b5e1079b59fb5e1ba2771c0a993be060a58c99ba" @@ -2661,44 +1224,11 @@ eventemitter3@^3.1.2: resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.1.2.tgz#2d3d48f9c346698fce83a85d7d664e98535df6e7" integrity sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q== -eventemitter3@^4.0.0, eventemitter3@^4.0.7: +eventemitter3@^4.0.7: version "4.0.7" resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== -events@^3.2.0, events@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" - integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== - -eventsource@^1.0.7: - version "1.1.0" - resolved "https://registry.yarnpkg.com/eventsource/-/eventsource-1.1.0.tgz#00e8ca7c92109e94b0ddf32dac677d841028cfaf" - integrity sha512-VSJjT5oCNrFvCS6igjzPAt5hBzQ2qPBFIbJ03zLI9SE0mxwZpMw6BfJrbFHm1a141AavMEB8JHmBhWAd66PfCg== - dependencies: - original "^1.0.0" - -evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" - integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== - dependencies: - md5.js "^1.3.4" - safe-buffer "^5.1.1" - -execa@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" - integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== - dependencies: - cross-spawn "^6.0.0" - get-stream "^4.0.0" - is-stream "^1.1.0" - npm-run-path "^2.0.0" - p-finally "^1.0.0" - signal-exit "^3.0.0" - strip-eof "^1.0.0" - execa@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/execa/-/execa-5.0.0.tgz#4029b0007998a841fbd1032e5f4de86a3c1e3376" @@ -2714,89 +1244,11 @@ execa@^5.0.0: signal-exit "^3.0.3" strip-final-newline "^2.0.0" -expand-brackets@^2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" - integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= - dependencies: - debug "^2.3.3" - define-property "^0.2.5" - extend-shallow "^2.0.1" - posix-character-classes "^0.1.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -express@^4.17.1: - version "4.17.1" - resolved "https://registry.yarnpkg.com/express/-/express-4.17.1.tgz#4491fc38605cf51f8629d39c2b5d026f98a4c134" - integrity sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g== - dependencies: - accepts "~1.3.7" - array-flatten "1.1.1" - body-parser "1.19.0" - content-disposition "0.5.3" - content-type "~1.0.4" - cookie "0.4.0" - cookie-signature "1.0.6" - debug "2.6.9" - depd "~1.1.2" - encodeurl "~1.0.2" - escape-html "~1.0.3" - etag "~1.8.1" - finalhandler "~1.1.2" - fresh "0.5.2" - merge-descriptors "1.0.1" - methods "~1.1.2" - on-finished "~2.3.0" - parseurl "~1.3.3" - path-to-regexp "0.1.7" - proxy-addr "~2.0.5" - qs "6.7.0" - range-parser "~1.2.1" - safe-buffer "5.1.2" - send "0.17.1" - serve-static "1.14.1" - setprototypeof "1.1.1" - statuses "~1.5.0" - type-is "~1.6.18" - utils-merge "1.0.1" - vary "~1.1.2" - -extend-shallow@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" - integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= - dependencies: - is-extendable "^0.1.0" - -extend-shallow@^3.0.0, extend-shallow@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" - integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= - dependencies: - assign-symbols "^1.0.0" - is-extendable "^1.0.1" - extend@^3.0.1, extend@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== -extglob@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" - integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== - dependencies: - array-unique "^0.3.2" - define-property "^1.0.0" - expand-brackets "^2.1.4" - extend-shallow "^2.0.1" - fragment-cache "^0.2.1" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" @@ -2829,11 +1281,6 @@ fast-levenshtein@^2.0.6: resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= -fastest-levenshtein@^1.0.12: - version "1.0.12" - resolved "https://registry.yarnpkg.com/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz#9990f7d3a88cc5a9ffd1f1745745251700d497e2" - integrity sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow== - fastq@^1.6.0: version "1.11.0" resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.11.0.tgz#bb9fb955a07130a918eb63c1f5161cc32a5d0858" @@ -2841,13 +1288,6 @@ fastq@^1.6.0: dependencies: reusify "^1.0.4" -faye-websocket@^0.11.3: - version "0.11.3" - resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.3.tgz#5c0e9a8968e8912c286639fde977a8b209f2508e" - integrity sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA== - dependencies: - websocket-driver ">=0.5.1" - fflate@^0.4.1: version "0.4.8" resolved "https://registry.yarnpkg.com/fflate/-/fflate-0.4.8.tgz#f90b82aefbd8ac174213abb338bd7ef848f0f5ae" @@ -2860,21 +1300,6 @@ file-entry-cache@^6.0.1: dependencies: flat-cache "^3.0.4" -file-uri-to-path@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" - integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== - -fill-range@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" - integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= - dependencies: - extend-shallow "^2.0.1" - is-number "^3.0.0" - repeat-string "^1.6.1" - to-regex-range "^2.1.0" - fill-range@^7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" @@ -2882,39 +1307,6 @@ fill-range@^7.0.1: dependencies: to-regex-range "^5.0.1" -filter-obj@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/filter-obj/-/filter-obj-2.0.2.tgz#fff662368e505d69826abb113f0f6a98f56e9d5f" - integrity sha512-lO3ttPjHZRfjMcxWKb1j1eDhTFsu4meeR3lnMcnBFhk6RuLhvEiuALu2TlfL310ph4lCYYwgF/ElIjdP739tdg== - -finalhandler@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d" - integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA== - dependencies: - debug "2.6.9" - encodeurl "~1.0.2" - escape-html "~1.0.3" - on-finished "~2.3.0" - parseurl "~1.3.3" - statuses "~1.5.0" - unpipe "~1.0.0" - -find-up@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" - integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== - dependencies: - locate-path "^3.0.0" - -find-up@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" - integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== - dependencies: - locate-path "^5.0.0" - path-exists "^4.0.0" - flat-cache@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" @@ -2936,57 +1328,11 @@ focus-trap@^5.1.0: tabbable "^4.0.0" xtend "^4.0.1" -follow-redirects@^1.0.0, follow-redirects@^1.14.0: +follow-redirects@^1.14.0: version "1.14.7" resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.7.tgz#2004c02eb9436eee9a21446a6477debf17e81685" integrity sha512-+hbxoLbFMbRKDwohX8GkTataGqO6Jb7jGwpAlwgy2bIz25XtRm7KEzJM76R1WiNT5SwZkX4Y75SwBolkpmE7iQ== -for-in@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" - integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= - -foreach@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99" - integrity sha1-C+4AUBiusmDQo6865ljdATbsG5k= - -fork-ts-checker-webpack-plugin@^6.5.0: - version "6.5.0" - resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.0.tgz#0282b335fa495a97e167f69018f566ea7d2a2b5e" - integrity sha512-cS178Y+xxtIjEUorcHddKS7yCMlrDPV31mt47blKKRfMd70Kxu5xruAFE2o9sDY6wVC5deuob/u/alD04YYHnw== - dependencies: - "@babel/code-frame" "^7.8.3" - "@types/json-schema" "^7.0.5" - chalk "^4.1.0" - chokidar "^3.4.2" - cosmiconfig "^6.0.0" - deepmerge "^4.2.2" - fs-extra "^9.0.0" - glob "^7.1.6" - memfs "^3.1.2" - minimatch "^3.0.4" - schema-utils "2.7.0" - semver "^7.3.2" - tapable "^1.0.0" - -forwarded@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84" - integrity sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ= - -fragment-cache@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" - integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= - dependencies: - map-cache "^0.2.2" - -fresh@0.5.2: - version "0.5.2" - resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" - integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= - fs-extra@^8.0.1: version "8.1.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" @@ -2996,34 +1342,11 @@ fs-extra@^8.0.1: jsonfile "^4.0.0" universalify "^0.1.0" -fs-extra@^9.0.0: - version "9.1.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" - integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== - dependencies: - at-least-node "^1.0.0" - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^2.0.0" - -fs-monkey@1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/fs-monkey/-/fs-monkey-1.0.3.tgz#ae3ac92d53bb328efe0e9a1d9541f6ad8d48e2d3" - integrity sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q== - fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= -fsevents@^1.2.7: - version "1.2.13" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.13.tgz#f325cb0455592428bcf11b383370ef70e3bfcc38" - integrity sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw== - dependencies: - bindings "^1.5.0" - nan "^2.12.1" - fsevents@~2.3.1, fsevents@~2.3.2: version "2.3.2" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" @@ -3054,11 +1377,6 @@ get-browser-rtc@^1.1.0: resolved "https://registry.yarnpkg.com/get-browser-rtc/-/get-browser-rtc-1.1.0.tgz#d1494e299b00f33fc8e9d6d3343ba4ba99711a2c" integrity sha512-MghbMJ61EJrRsDe7w1Bvqt3ZsBuqhce5nrn/XAwgwOXhcsz53/ltdxOse1h/8eKXj5slzxdsz56g5rzOFSGwfQ== -get-caller-file@^2.0.1: - version "2.0.5" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" - integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== - get-intrinsic@^1.0.2, get-intrinsic@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" @@ -3073,31 +1391,11 @@ get-own-enumerable-property-symbols@^3.0.0: resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz#b5fde77f22cbe35f390b4e089922c50bce6ef664" integrity sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g== -get-stream@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" - integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== - dependencies: - pump "^3.0.0" - get-stream@^6.0.0: version "6.0.1" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== -get-value@^2.0.3, get-value@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" - integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= - -glob-parent@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" - integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4= - dependencies: - is-glob "^3.1.0" - path-dirname "^1.0.0" - glob-parent@^5.1.0, glob-parent@~5.1.0, glob-parent@~5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" @@ -3112,12 +1410,7 @@ glob-parent@^6.0.1: dependencies: is-glob "^4.0.3" -glob-to-regexp@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" - integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== - -glob@^7.0.3, glob@^7.1.3, glob@^7.1.6: +glob@^7.1.3, glob@^7.1.6: version "7.1.7" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90" integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ== @@ -3155,23 +1448,12 @@ globby@^11.0.4: merge2 "^1.3.0" slash "^3.0.0" -globby@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" - integrity sha1-9abXDoOV4hyFj7BInWTfAkJNUGw= - dependencies: - array-union "^1.0.1" - glob "^7.0.3" - object-assign "^4.0.1" - pify "^2.0.0" - pinkie-promise "^2.0.0" - google-protobuf@^3.13.0: version "3.17.0" resolved "https://registry.yarnpkg.com/google-protobuf/-/google-protobuf-3.17.0.tgz#5623215f9d0345649720ae5e5e9713491e2456fc" integrity sha512-xuxzzx6FXmkmddRZci2SmGeZcx+vykmqG60yJf/Rz+NEKaUs+nLhaiUQAWa7Z00a7bHfRjRxSIX9FcELaxWIVA== -graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4: +graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0: version "4.2.6" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.6.tgz#ff040b2b0853b23c3d31027523706f1885d76bee" integrity sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ== @@ -3181,11 +1463,6 @@ graceful-fs@^4.1.3: resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.9.tgz#041b05df45755e587a24942279b9d113146e1c96" integrity sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ== -handle-thing@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.1.tgz#857f79ce359580c340d43081cc648970d0bb234e" - integrity sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg== - has-bigints@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.1.tgz#64fe6acb020673e3b78db035a5af69aa9d07b113" @@ -3218,37 +1495,6 @@ has-symbols@^1.0.1, has-symbols@^1.0.2: resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423" integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw== -has-value@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" - integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= - dependencies: - get-value "^2.0.3" - has-values "^0.1.4" - isobject "^2.0.0" - -has-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" - integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= - dependencies: - get-value "^2.0.6" - has-values "^1.0.0" - isobject "^3.0.0" - -has-values@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" - integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= - -has-values@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" - integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= - dependencies: - is-number "^3.0.0" - kind-of "^4.0.0" - has@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" @@ -3256,192 +1502,21 @@ has@^1.0.3: dependencies: function-bind "^1.1.1" -hash-base@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33" - integrity sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA== - dependencies: - inherits "^2.0.4" - readable-stream "^3.6.0" - safe-buffer "^5.2.0" - -hash.js@^1.0.0, hash.js@^1.0.3: - version "1.1.7" - resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" - integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== - dependencies: - inherits "^2.0.3" - minimalistic-assert "^1.0.1" - -he@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" - integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== - heap@0.2.6: version "0.2.6" resolved "https://registry.yarnpkg.com/heap/-/heap-0.2.6.tgz#087e1f10b046932fc8594dd9e6d378afc9d1e5ac" integrity sha1-CH4fELBGky/IWU3Z5tN4r8nR5aw= -hmac-drbg@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" - integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= - dependencies: - hash.js "^1.0.3" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.1" - hosted-git-info@^2.1.4: version "2.8.9" resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== -hpack.js@^2.1.6: - version "2.1.6" - resolved "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2" - integrity sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI= - dependencies: - inherits "^2.0.1" - obuf "^1.0.0" - readable-stream "^2.0.1" - wbuf "^1.1.0" - -html-entities@^1.3.1: - version "1.4.0" - resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.4.0.tgz#cfbd1b01d2afaf9adca1b10ae7dffab98c71d2dc" - integrity sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA== - -html-minifier-terser@^5.0.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz#922e96f1f3bb60832c2634b79884096389b1f054" - integrity sha512-ZPr5MNObqnV/T9akshPKbVgyOqLmy+Bxo7juKCfTfnjNniTAMdy4hz21YQqoofMBJD2kdREaqPPdThoR78Tgxg== - dependencies: - camel-case "^4.1.1" - clean-css "^4.2.3" - commander "^4.1.1" - he "^1.2.0" - param-case "^3.0.3" - relateurl "^0.2.7" - terser "^4.6.3" - -html-webpack-plugin@^5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-5.3.1.tgz#8797327548e3de438e3494e0c6d06f181a7f20d1" - integrity sha512-rZsVvPXUYFyME0cuGkyOHfx9hmkFa4pWfxY/mdY38PsBEaVNsRoA+Id+8z6DBDgyv3zaw6XQszdF8HLwfQvcdQ== - dependencies: - "@types/html-minifier-terser" "^5.0.0" - html-minifier-terser "^5.0.1" - lodash "^4.17.20" - pretty-error "^2.1.1" - tapable "^2.0.0" - -htmlparser2@^3.10.1: - version "3.10.1" - resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.10.1.tgz#bd679dc3f59897b6a34bb10749c855bb53a9392f" - integrity sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ== - dependencies: - domelementtype "^1.3.1" - domhandler "^2.3.0" - domutils "^1.5.1" - entities "^1.1.1" - inherits "^2.0.1" - readable-stream "^3.1.1" - -http-deceiver@^1.2.7: - version "1.2.7" - resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" - integrity sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc= - -http-errors@1.7.2: - version "1.7.2" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.2.tgz#4f5029cf13239f31036e5b2e55292bcfbcc85c8f" - integrity sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg== - dependencies: - depd "~1.1.2" - inherits "2.0.3" - setprototypeof "1.1.1" - statuses ">= 1.5.0 < 2" - toidentifier "1.0.0" - -http-errors@~1.6.2: - version "1.6.3" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" - integrity sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0= - dependencies: - depd "~1.1.2" - inherits "2.0.3" - setprototypeof "1.1.0" - statuses ">= 1.4.0 < 2" - -http-errors@~1.7.2: - version "1.7.3" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06" - integrity sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw== - dependencies: - depd "~1.1.2" - inherits "2.0.4" - setprototypeof "1.1.1" - statuses ">= 1.5.0 < 2" - toidentifier "1.0.0" - -http-parser-js@>=0.5.1: - version "0.5.3" - resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.3.tgz#01d2709c79d41698bb01d4decc5e9da4e4a033d9" - integrity sha512-t7hjvef/5HEK7RWTdUzVUhl8zkEu+LlaE0IYzdMuvbSDipxBRpOn4Uhw8ZyECEa808iVT8XCjzo6xmYt4CiLZg== - -http-proxy-middleware@0.19.1: - version "0.19.1" - resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz#183c7dc4aa1479150306498c210cdaf96080a43a" - integrity sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q== - dependencies: - http-proxy "^1.17.0" - is-glob "^4.0.0" - lodash "^4.17.11" - micromatch "^3.1.10" - -http-proxy-middleware@^1.0.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-1.3.1.tgz#43700d6d9eecb7419bf086a128d0f7205d9eb665" - integrity sha512-13eVVDYS4z79w7f1+NPllJtOQFx/FdUW4btIvVRMaRlUY9VGstAbo5MOhLEuUgZFRHn3x50ufn25zkj/boZnEg== - dependencies: - "@types/http-proxy" "^1.17.5" - http-proxy "^1.18.1" - is-glob "^4.0.1" - is-plain-obj "^3.0.0" - micromatch "^4.0.2" - -http-proxy@^1.17.0, http-proxy@^1.18.1: - version "1.18.1" - resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.1.tgz#401541f0534884bbf95260334e72f88ee3976549" - integrity sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ== - dependencies: - eventemitter3 "^4.0.0" - follow-redirects "^1.0.0" - requires-port "^1.0.0" - -https-browserify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" - integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM= - human-signals@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== -iconv-lite@0.4.24: - version "0.4.24" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" - integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== - dependencies: - safer-buffer ">= 2.1.2 < 3" - -icss-utils@^5.0.0, icss-utils@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-5.1.0.tgz#c6be6858abd013d768e98366ae47e25d5887b1ae" - integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA== - ieee754@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" @@ -3467,7 +1542,7 @@ immutable@^4.0.0: resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.0.0.tgz#b86f78de6adef3608395efb269a91462797e2c23" integrity sha512-zIE9hX70qew5qTUjSS7wi1iwj/l7+m54KWU247nhM3v806UdGj1yDndXj+IOYxxtW9zyLI+xqFNZjTuDaLUqFw== -import-fresh@^3.0.0, import-fresh@^3.1.0, import-fresh@^3.2.1: +import-fresh@^3.0.0, import-fresh@^3.2.1: version "3.3.0" resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== @@ -3475,22 +1550,6 @@ import-fresh@^3.0.0, import-fresh@^3.1.0, import-fresh@^3.2.1: parent-module "^1.0.0" resolve-from "^4.0.0" -import-local@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-2.0.0.tgz#55070be38a5993cf18ef6db7e961f5bee5c5a09d" - integrity sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ== - dependencies: - pkg-dir "^3.0.0" - resolve-cwd "^2.0.0" - -import-local@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.0.2.tgz#a8cfd0431d1de4a2199703d003e3e62364fa6db6" - integrity sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA== - dependencies: - pkg-dir "^4.2.0" - resolve-cwd "^3.0.0" - imurmurhash@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" @@ -3514,7 +1573,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3, inherits@~2.0.4: +inherits@2, inherits@^2.0.3: version "2.0.4" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== @@ -3524,53 +1583,6 @@ inherits@2.0.3: resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= -internal-ip@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/internal-ip/-/internal-ip-4.3.0.tgz#845452baad9d2ca3b69c635a137acb9a0dad0907" - integrity sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg== - dependencies: - default-gateway "^4.2.0" - ipaddr.js "^1.9.0" - -interpret@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/interpret/-/interpret-2.2.0.tgz#1a78a0b5965c40a5416d007ad6f50ad27c417df9" - integrity sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw== - -ip-regex@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" - integrity sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk= - -ip@^1.1.0, ip@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" - integrity sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo= - -ipaddr.js@1.9.1, ipaddr.js@^1.9.0: - version "1.9.1" - resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" - integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== - -is-absolute-url@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-3.0.3.tgz#96c6a22b6a23929b11ea0afb1836c36ad4a5d698" - integrity sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q== - -is-accessor-descriptor@^0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" - integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= - dependencies: - kind-of "^3.0.2" - -is-accessor-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" - integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== - dependencies: - kind-of "^6.0.0" - is-arguments@^1.0.4: version "1.1.0" resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.0.tgz#62353031dfbee07ceb34656a6bde59efecae8dd9" @@ -3588,13 +1600,6 @@ is-bigint@^1.0.1: resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.2.tgz#ffb381442503235ad245ea89e45b3dbff040ee5a" integrity sha512-0JV5+SOCQkIdzjBK9buARcV804Ddu7A0Qet6sHi3FimE9ne6m4BGQZfRn+NZiXbBk4F4XmHfDZIipLj9pX8dSA== -is-binary-path@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" - integrity sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg= - dependencies: - binary-extensions "^1.0.0" - is-binary-path@~2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" @@ -3609,11 +1614,6 @@ is-boolean-object@^1.1.0: dependencies: call-bind "^1.0.2" -is-buffer@^1.1.5: - version "1.1.6" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" - integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== - is-callable@^1.1.4, is-callable@^1.2.3: version "1.2.3" resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.3.tgz#8b1e0500b73a1d76c70487636f368e519de8db8e" @@ -3633,82 +1633,21 @@ is-core-module@^2.8.1: dependencies: has "^1.0.3" -is-data-descriptor@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" - integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= - dependencies: - kind-of "^3.0.2" - -is-data-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" - integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== - dependencies: - kind-of "^6.0.0" - is-date-object@^1.0.1: version "1.0.4" resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.4.tgz#550cfcc03afada05eea3dd30981c7b09551f73e5" integrity sha512-/b4ZVsG7Z5XVtIxs/h9W8nvfLgSAyKYdtGWQLbqy6jA1icmgjf8WCoTKgeS4wy5tYaPePouzFMANbnj94c2Z+A== -is-descriptor@^0.1.0: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" - integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== - dependencies: - is-accessor-descriptor "^0.1.6" - is-data-descriptor "^0.1.4" - kind-of "^5.0.0" - -is-descriptor@^1.0.0, is-descriptor@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" - integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== - dependencies: - is-accessor-descriptor "^1.0.0" - is-data-descriptor "^1.0.0" - kind-of "^6.0.2" - -is-extendable@^0.1.0, is-extendable@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" - integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= - -is-extendable@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" - integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== - dependencies: - is-plain-object "^2.0.4" - -is-extglob@^2.1.0, is-extglob@^2.1.1: +is-extglob@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= -is-fullwidth-code-point@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" - integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= - is-fullwidth-code-point@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== -is-generator-function@^1.0.7: - version "1.0.9" - resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.9.tgz#e5f82c2323673e7fcad3d12858c83c4039f6399c" - integrity sha512-ZJ34p1uvIfptHCN7sFTjGibB9/oBg17sHqzDLfuwhvmN/qLVvIQXRQ8licZQ35WJ8KuEQt/etnnzQFI9C9Ue/A== - -is-glob@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" - integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo= - dependencies: - is-extglob "^2.1.0" - is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" @@ -3723,14 +1662,6 @@ is-glob@^4.0.3: dependencies: is-extglob "^2.1.1" -is-nan@^1.2.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/is-nan/-/is-nan-1.3.2.tgz#043a54adea31748b55b6cd4e09aadafa69bd9e1d" - integrity sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w== - dependencies: - call-bind "^1.0.0" - define-properties "^1.1.3" - is-negative-zero@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.1.tgz#3de746c18dda2319241a53675908d8f766f11c24" @@ -3741,13 +1672,6 @@ is-number-object@^1.0.4: resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.5.tgz#6edfaeed7950cff19afedce9fbfca9ee6dd289eb" integrity sha512-RU0lI/n95pMoUKu9v1BZP5MBcZuNSVJkMkAG2dJqC4z2GlkGUNeH68SuHuBKBD/XFe+LHZ+f9BKkLET60Niedw== -is-number@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" - integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= - dependencies: - kind-of "^3.0.2" - is-number@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" @@ -3758,37 +1682,6 @@ is-obj@^1.0.1: resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= -is-path-cwd@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-2.2.0.tgz#67d43b82664a7b5191fd9119127eb300048a9fdb" - integrity sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ== - -is-path-in-cwd@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz#bfe2dca26c69f397265a4009963602935a053acb" - integrity sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ== - dependencies: - is-path-inside "^2.1.0" - -is-path-inside@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-2.1.0.tgz#7c9810587d659a40d27bcdb4d5616eab059494b2" - integrity sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg== - dependencies: - path-is-inside "^1.0.2" - -is-plain-obj@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-3.0.0.tgz#af6f2ea14ac5a646183a5bbdb5baabbc156ad9d7" - integrity sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA== - -is-plain-object@^2.0.3, is-plain-object@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" - integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== - dependencies: - isobject "^3.0.1" - is-regex@^1.0.4, is-regex@^1.1.2: version "1.1.3" resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.3.tgz#d029f9aff6448b93ebbe3f33dac71511fdcbef9f" @@ -3802,11 +1695,6 @@ is-regexp@^1.0.0: resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" integrity sha1-/S2INUXEa6xaYz57mgnof6LLUGk= -is-stream@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" - integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= - is-stream@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" @@ -3824,37 +1712,11 @@ is-symbol@^1.0.2, is-symbol@^1.0.3: dependencies: has-symbols "^1.0.2" -is-typed-array@^1.1.3: - version "1.1.5" - resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.5.tgz#f32e6e096455e329eb7b423862456aa213f0eb4e" - integrity sha512-S+GRDgJlR3PyEbsX/Fobd9cqpZBuvUS+8asRqYDMLCb2qMzt1oz5m5oxQCxOgUDxiWsOVNi4yaF+/uvdlHlYug== - dependencies: - available-typed-arrays "^1.0.2" - call-bind "^1.0.2" - es-abstract "^1.18.0-next.2" - foreach "^2.0.5" - has-symbols "^1.0.1" - is-unicode-supported@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== -is-windows@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" - integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== - -is-wsl@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" - integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0= - -isarray@1.0.0, isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= - isarray@2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.1.tgz#a37d94ed9cda2d59865c9f76fe596ee1f338741e" @@ -3865,18 +1727,6 @@ isexe@^2.0.0: resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= -isobject@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" - integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= - dependencies: - isarray "1.0.0" - -isobject@^3.0.0, isobject@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" - integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= - jasmine-core@~3.7.0: version "3.7.1" resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-3.7.1.tgz#0401327f6249eac993d47bbfa18d4e8efacfb561" @@ -3890,24 +1740,6 @@ jasmine@^3.5.0: glob "^7.1.6" jasmine-core "~3.7.0" -jest-worker@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.6.2.tgz#7f72cbc4d643c365e27b9fd775f9d0eaa9c7a8ed" - integrity sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ== - dependencies: - "@types/node" "*" - merge-stream "^2.0.0" - supports-color "^7.0.0" - -jest-worker@^27.0.2: - version "27.4.5" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.4.5.tgz#d696e3e46ae0f24cff3fa7195ffba22889262242" - integrity sha512-f2s8kEdy15cv9r7q4KkzGXvlY0JTcmCbMHZBfSQDwW77REr45IDWwd0lksDFeVHH2jJ5pqb90T77XscrjeGzzg== - dependencies: - "@types/node" "*" - merge-stream "^2.0.0" - supports-color "^8.0.0" - js-tokens@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" @@ -3920,7 +1752,7 @@ js-yaml@^4.1.0: dependencies: argparse "^2.0.1" -json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2: +json-parse-better-errors@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== @@ -3935,21 +1767,11 @@ json-schema-traverse@^0.4.1: resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== -json-schema-traverse@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" - integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== - json-stable-stringify-without-jsonify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= -json3@^3.3.3: - version "3.3.3" - resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.3.tgz#7fc10e375fc5ae42c4705a5cc0aa6f62be305b81" - integrity sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA== - json5@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" @@ -3957,13 +1779,6 @@ json5@^1.0.1: dependencies: minimist "^1.2.0" -json5@^2.1.2: - version "2.2.0" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3" - integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA== - dependencies: - minimist "^1.2.5" - jsonfile@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" @@ -3980,54 +1795,11 @@ jsonfile@^5.0.0: optionalDependencies: graceful-fs "^4.1.6" -jsonfile@^6.0.1: - version "6.1.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" - integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== - dependencies: - universalify "^2.0.0" - optionalDependencies: - graceful-fs "^4.1.6" - -killable@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/killable/-/killable-1.0.1.tgz#4c8ce441187a061c7474fb87ca08e2a638194892" - integrity sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg== - -kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" - integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= - dependencies: - is-buffer "^1.1.5" - -kind-of@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" - integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= - dependencies: - is-buffer "^1.1.5" - -kind-of@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" - integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== - -kind-of@^6.0.0, kind-of@^6.0.2: - version "6.0.3" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" - integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== - kleur@^4.1.4: version "4.1.4" resolved "https://registry.yarnpkg.com/kleur/-/kleur-4.1.4.tgz#8c202987d7e577766d039a8cd461934c01cda04d" integrity sha512-8QADVssbrFjivHWQU7KkMgptGTl6WAcSdlbBPY4uNF+mWr6DGcKrvY2w4FQJoXch7+fKMjj0dRrL75vk3k23OA== -klona@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/klona/-/klona-2.0.4.tgz#7bb1e3affb0cb8624547ef7e8f6708ea2e39dfc0" - integrity sha512-ZRbnvdg/NxqzC7L9Uyqzf4psi1OM4Cuc+sJAkQPjO6XkQIJTNbfK2Rsmbw8fx1p2mkZdp2FZYo2+LwXYY/uwIA== - levn@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" @@ -4036,11 +1808,6 @@ levn@^0.4.1: prelude-ls "^1.2.1" type-check "~0.4.0" -lilconfig@^2.0.3: - version "2.0.4" - resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.0.4.tgz#f4507d043d7058b380b6a8f5cb7bcd4b34cee082" - integrity sha512-bfTIN7lEsiooCocSISTWXkiWJkRqtL9wYtYy+8EK3Y41qh3mpwPU0ycTOgjdY9ErwXCc8QyrQp82bdL0Xkm9yA== - lines-and-columns@^1.1.6: version "1.1.6" resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" @@ -4095,56 +1862,17 @@ load-json-file@^4.0.0: pify "^3.0.0" strip-bom "^3.0.0" -loader-runner@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.2.0.tgz#d7022380d66d14c5fb1d496b89864ebcfd478384" - integrity sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw== - -loader-utils@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.0.tgz#e4cace5b816d425a166b5f097e10cd12b36064b0" - integrity sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ== - dependencies: - big.js "^5.2.2" - emojis-list "^3.0.0" - json5 "^2.1.2" - -locate-path@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" - integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== - dependencies: - p-locate "^3.0.0" - path-exists "^3.0.0" - -locate-path@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" - integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== - dependencies: - p-locate "^4.1.0" - lodash.isequal@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" integrity sha1-QVxEePK8wwEgwizhDtMib30+GOA= -lodash.memoize@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" - integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4= - lodash.merge@^4.6.2: version "4.6.2" resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== -lodash.uniq@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" - integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= - -lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.20: +lodash@^4.17.15: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -4167,11 +1895,6 @@ log-update@^4.0.0: slice-ansi "^4.0.0" wrap-ansi "^6.2.0" -loglevel@^1.6.8: - version "1.7.1" - resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.7.1.tgz#005fde2f5e6e47068f935ff28573e125ef72f197" - integrity sha512-Hesni4s5UkWkwCGJMQGAh71PaLUmKFM60dHvq0zi/vDhhrzuk+4GgNbTXJ12YYQJn6ZKBDNIjYcuQGKudvqrIw== - lokijs@^1.5.12: version "1.5.12" resolved "https://registry.yarnpkg.com/lokijs/-/lokijs-1.5.12.tgz#cb55b37009bdf09ee7952a6adddd555b893653a0" @@ -4182,13 +1905,6 @@ long@^4.0.0: resolved "https://registry.yarnpkg.com/long/-/long-4.0.0.tgz#9a7b71cfb7d361a194ea555241c92f7468d5bf28" integrity sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA== -lower-case@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-2.0.2.tgz#6fa237c63dbdc4a82ca0fd882e4722dc5e634e28" - integrity sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg== - dependencies: - tslib "^2.0.3" - lru-cache@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" @@ -4208,62 +1924,11 @@ make-error@^1.1.1: resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== -map-cache@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" - integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= - -map-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" - integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= - dependencies: - object-visit "^1.0.0" - -md5.js@^1.3.4: - version "1.3.5" - resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" - integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== - dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" - safe-buffer "^5.1.2" - -mdn-data@2.0.14: - version "2.0.14" - resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.14.tgz#7113fc4281917d63ce29b43446f701e68c25ba50" - integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow== - -media-typer@0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" - integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= - -memfs@^3.1.2: - version "3.2.2" - resolved "https://registry.yarnpkg.com/memfs/-/memfs-3.2.2.tgz#5de461389d596e3f23d48bb7c2afb6161f4df40e" - integrity sha512-RE0CwmIM3CEvpcdK3rZ19BC4E6hv9kADkMN5rPduRak58cNArWLi/9jFLsa4rhsjfVxMP3v0jO7FHXq7SvFY5Q== - dependencies: - fs-monkey "1.0.3" - -memory-fs@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" - integrity sha1-OpoguEYlI+RHz7x+i7gO1me/xVI= - dependencies: - errno "^0.1.3" - readable-stream "^2.0.1" - memorystream@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/memorystream/-/memorystream-0.3.1.tgz#86d7090b30ce455d63fbae12dda51a47ddcaf9b2" integrity sha1-htcJCzDORV1j+64S3aUaR93K+bI= -merge-descriptors@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" - integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= - merge-stream@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" @@ -4274,31 +1939,7 @@ merge2@^1.3.0: resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== -methods@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" - integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= - -micromatch@^3.1.10, micromatch@^3.1.4: - version "3.1.10" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" - integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - braces "^2.3.1" - define-property "^2.0.2" - extend-shallow "^3.0.2" - extglob "^2.0.4" - fragment-cache "^0.2.1" - kind-of "^6.0.2" - nanomatch "^1.2.9" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.2" - -micromatch@^4.0.0, micromatch@^4.0.2, micromatch@^4.0.4: +micromatch@^4.0.2, micromatch@^4.0.4: version "4.0.4" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9" integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== @@ -4306,36 +1947,6 @@ micromatch@^4.0.0, micromatch@^4.0.2, micromatch@^4.0.4: braces "^3.0.1" picomatch "^2.2.3" -miller-rabin@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" - integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA== - dependencies: - bn.js "^4.0.0" - brorand "^1.0.1" - -mime-db@1.47.0, "mime-db@>= 1.43.0 < 2": - version "1.47.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.47.0.tgz#8cb313e59965d3c05cfbf898915a267af46a335c" - integrity sha512-QBmA/G2y+IfeS4oktet3qRZ+P5kPhCKRXxXnQEudYqUaEioAU1/Lq2us3D/t1Jfo4hE9REQPrbB7K5sOczJVIw== - -mime-types@^2.1.27, mime-types@~2.1.17, mime-types@~2.1.24: - version "2.1.30" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.30.tgz#6e7be8b4c479825f85ed6326695db73f9305d62d" - integrity sha512-crmjA4bLtR8m9qLpHvgxSChT+XoSlZi8J4n/aIdn3z92e/U47Z0V/yl+Wh9W046GgFVAmoNR/fmdbZYcSSIUeg== - dependencies: - mime-db "1.47.0" - -mime@1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" - integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== - -mime@^2.4.4: - version "2.5.2" - resolved "https://registry.yarnpkg.com/mime/-/mime-2.5.2.tgz#6e3dc6cc2b9510643830e5f19d5cb753da5eeabe" - integrity sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg== - mimic-fn@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" @@ -4346,25 +1957,6 @@ min-indent@^1.0.0: resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== -mini-css-extract-plugin@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-1.6.0.tgz#b4db2525af2624899ed64a23b0016e0036411893" - integrity sha512-nPFKI7NSy6uONUo9yn2hIfb9vyYvkFu95qki0e21DQ9uaqNKDP15DGpK0KnV6wDroWxPHtExrdEwx/yDQ8nVRw== - dependencies: - loader-utils "^2.0.0" - schema-utils "^3.0.0" - webpack-sources "^1.1.0" - -minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" - integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== - -minimalistic-crypto-utils@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" - integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= - minimatch@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" @@ -4377,15 +1969,7 @@ minimist@^1.2.0, minimist@^1.2.5: resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== -mixin-deep@^1.2.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" - integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== - dependencies: - for-in "^1.0.2" - is-extendable "^1.0.1" - -mkdirp@^0.5.1, mkdirp@^0.5.5: +mkdirp@^0.5.1: version "0.5.5" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== @@ -4402,134 +1986,26 @@ ms@2.0.0: resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= -ms@2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" - integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== - ms@2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== -ms@^2.1.1: - version "2.1.3" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - -multicast-dns-service-types@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz#899f11d9686e5e05cb91b35d5f0e63b773cfc901" - integrity sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE= - -multicast-dns@^6.0.1: - version "6.2.3" - resolved "https://registry.yarnpkg.com/multicast-dns/-/multicast-dns-6.2.3.tgz#a0ec7bd9055c4282f790c3c82f4e28db3b31b229" - integrity sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g== - dependencies: - dns-packet "^1.3.1" - thunky "^1.0.2" - -nan@^2.12.1: - version "2.14.2" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.2.tgz#f5376400695168f4cc694ac9393d0c9585eeea19" - integrity sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ== - -nanoid@^3.1.23, nanoid@^3.1.30: +nanoid@^3.1.30: version "3.2.0" resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.2.0.tgz#62667522da6673971cca916a6d3eff3f415ff80c" integrity sha512-fmsZYa9lpn69Ad5eDn7FMcnnSR+8R34W9qJEijxYhTbfOWzr22n1QxCMzXLK+ODyW2973V3Fux959iQoUxzUIA== -nanomatch@^1.2.9: - version "1.2.13" - resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" - integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - define-property "^2.0.2" - extend-shallow "^3.0.2" - fragment-cache "^0.2.1" - is-windows "^1.0.2" - kind-of "^6.0.2" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - natural-compare@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= -negotiator@0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" - integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw== - -neo-async@^2.6.2: - version "2.6.2" - resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" - integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== - nice-try@^1.0.4: version "1.0.5" resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== -no-case@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/no-case/-/no-case-3.0.4.tgz#d361fd5c9800f558551a8369fc0dcd4662b6124d" - integrity sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg== - dependencies: - lower-case "^2.0.2" - tslib "^2.0.3" - -node-forge@^0.10.0: - version "0.10.0" - resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.10.0.tgz#32dea2afb3e9926f02ee5ce8794902691a676bf3" - integrity sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA== - -node-polyfill-webpack-plugin@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/node-polyfill-webpack-plugin/-/node-polyfill-webpack-plugin-1.1.2.tgz#3e8e8640a920b566d5842df84f1c8c077554250e" - integrity sha512-ubwf7M73V13RDlKaDmMh1+giB/D8KL75umXEGabGtxSt/WRCirl01urhK1qsr6Cdt77escQ9SNb5OoTR8IwEHg== - dependencies: - assert "^2.0.0" - browserify-zlib "^0.2.0" - buffer "^6.0.3" - console-browserify "^1.2.0" - constants-browserify "^1.0.0" - crypto-browserify "^3.12.0" - domain-browser "^4.19.0" - events "^3.3.0" - filter-obj "^2.0.2" - https-browserify "^1.0.0" - os-browserify "^0.3.0" - path-browserify "^1.0.1" - process "^0.11.10" - punycode "^2.1.1" - querystring-es3 "^0.2.1" - readable-stream "^3.6.0" - stream-browserify "^3.0.0" - stream-http "^3.2.0" - string_decoder "^1.3.0" - timers-browserify "^2.0.12" - tty-browserify "^0.0.1" - url "^0.11.0" - util "^0.12.3" - vm-browserify "^1.1.2" - -node-releases@^1.1.71: - version "1.1.72" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.72.tgz#14802ab6b1039a79a0c7d662b610a5bbd76eacbe" - integrity sha512-LLUo+PpH3dU6XizX3iVoubUNheF/owjXCZZ5yACDxNnPtgFuludV1ZL3ayK1kVep42Rmm0+R9/Y60NQbZ2bifw== - -node-releases@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.1.tgz#3d1d395f204f1f2f29a54358b9fb678765ad2fc5" - integrity sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA== - normalize-package-data@^2.3.2: version "2.5.0" resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" @@ -4540,23 +2016,11 @@ normalize-package-data@^2.3.2: semver "2 || 3 || 4 || 5" validate-npm-package-license "^3.0.1" -normalize-path@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" - integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= - dependencies: - remove-trailing-separator "^1.0.1" - normalize-path@^3.0.0, normalize-path@~3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== -normalize-url@^6.0.1: - version "6.1.0" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-6.1.0.tgz#40d0885b535deffe3f3147bec877d05fe4c5668a" - integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A== - npm-run-all@^4.1.5: version "4.1.5" resolved "https://registry.yarnpkg.com/npm-run-all/-/npm-run-all-4.1.5.tgz#04476202a15ee0e2e214080861bff12a51d98fba" @@ -4572,13 +2036,6 @@ npm-run-all@^4.1.5: shell-quote "^1.6.1" string.prototype.padend "^3.0.0" -npm-run-path@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" - integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= - dependencies: - path-key "^2.0.0" - npm-run-path@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" @@ -4586,34 +2043,6 @@ npm-run-path@^4.0.1: dependencies: path-key "^3.0.0" -nth-check@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c" - integrity sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg== - dependencies: - boolbase "~1.0.0" - -nth-check@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.0.1.tgz#2efe162f5c3da06a28959fbd3db75dbeea9f0fc2" - integrity sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w== - dependencies: - boolbase "^1.0.0" - -object-assign@^4.0.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" - integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= - -object-copy@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" - integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= - dependencies: - copy-descriptor "^0.1.0" - define-property "^0.2.5" - kind-of "^3.0.3" - object-hash@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-1.3.1.tgz#fde452098a951cb145f039bb7d455449ddc126df" @@ -4637,13 +2066,6 @@ object-keys@^1.0.12, object-keys@^1.1.1: resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== -object-visit@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" - integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= - dependencies: - isobject "^3.0.0" - object.assign@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" @@ -4654,31 +2076,7 @@ object.assign@^4.1.2: has-symbols "^1.0.1" object-keys "^1.1.1" -object.pick@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" - integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= - dependencies: - isobject "^3.0.1" - -obuf@^1.0.0, obuf@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" - integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== - -on-finished@~2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" - integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc= - dependencies: - ee-first "1.1.1" - -on-headers@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f" - integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA== - -once@^1.3.0, once@^1.3.1, once@^1.4.0: +once@^1.3.0: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= @@ -4692,13 +2090,6 @@ onetime@^5.1.0, onetime@^5.1.2: dependencies: mimic-fn "^2.1.0" -opn@^5.5.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/opn/-/opn-5.5.0.tgz#fc7164fab56d235904c51c3b27da6758ca3b9bfc" - integrity sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA== - dependencies: - is-wsl "^1.1.0" - optionator@^0.9.1: version "0.9.1" resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" @@ -4711,56 +2102,6 @@ optionator@^0.9.1: type-check "^0.4.0" word-wrap "^1.2.3" -original@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/original/-/original-1.0.2.tgz#e442a61cffe1c5fd20a65f3261c26663b303f25f" - integrity sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg== - dependencies: - url-parse "^1.4.3" - -os-browserify@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" - integrity sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc= - -p-finally@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" - integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= - -p-limit@^2.0.0, p-limit@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" - integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== - dependencies: - p-try "^2.0.0" - -p-limit@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" - integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== - dependencies: - yocto-queue "^0.1.0" - -p-locate@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" - integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== - dependencies: - p-limit "^2.0.0" - -p-locate@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" - integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== - dependencies: - p-limit "^2.2.0" - -p-map@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/p-map/-/p-map-2.1.0.tgz#310928feef9c9ecc65b68b17693018a665cea175" - integrity sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw== - p-map@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" @@ -4768,36 +2109,11 @@ p-map@^4.0.0: dependencies: aggregate-error "^3.0.0" -p-retry@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/p-retry/-/p-retry-3.0.1.tgz#316b4c8893e2c8dc1cfa891f406c4b422bebf328" - integrity sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w== - dependencies: - retry "^0.12.0" - -p-try@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" - integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== - -pako@~1.0.5: - version "1.0.11" - resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" - integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== - papaparse@^5.3.0: version "5.3.0" resolved "https://registry.yarnpkg.com/papaparse/-/papaparse-5.3.0.tgz#ab1702feb96e79ab4309652f36db9536563ad05a" integrity sha512-Lb7jN/4bTpiuGPrYy4tkKoUS8sTki8zacB5ke1p5zolhcSE4TlWgrlsxjrDTbG/dFVh07ck7X36hUf/b5V68pg== -param-case@^3.0.3: - version "3.0.4" - resolved "https://registry.yarnpkg.com/param-case/-/param-case-3.0.4.tgz#7d17fe4aa12bde34d4a77d91acfb6219caad01c5" - integrity sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A== - dependencies: - dot-case "^3.0.4" - tslib "^2.0.3" - parchment@^1.1.2, parchment@^1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/parchment/-/parchment-1.1.4.tgz#aeded7ab938fe921d4c34bc339ce1168bc2ffde5" @@ -4810,17 +2126,6 @@ parent-module@^1.0.0: dependencies: callsites "^3.0.0" -parse-asn1@^5.0.0, parse-asn1@^5.1.5: - version "5.1.6" - resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.6.tgz#385080a3ec13cb62a62d39409cb3e88844cdaed4" - integrity sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw== - dependencies: - asn1.js "^5.2.0" - browserify-aes "^1.0.0" - evp_bytestokey "^1.0.0" - pbkdf2 "^3.0.3" - safe-buffer "^5.1.1" - parse-json@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" @@ -4849,55 +2154,12 @@ parseuri@0.0.6: resolved "https://registry.yarnpkg.com/parseuri/-/parseuri-0.0.6.tgz#e1496e829e3ac2ff47f39a4dd044b32823c4a25a" integrity sha512-AUjen8sAkGgao7UyCX6Ahv0gIK2fABKmYjvP4xmy5JaKvcbTRueIqIPHLAfq30xJddqSE033IOMUSOMCcK3Sow== -parseurl@~1.3.2, parseurl@~1.3.3: - version "1.3.3" - resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" - integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== - -pascal-case@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/pascal-case/-/pascal-case-3.1.2.tgz#b48e0ef2b98e205e7c1dae747d0b1508237660eb" - integrity sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g== - dependencies: - no-case "^3.0.4" - tslib "^2.0.3" - -pascalcase@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" - integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= - -path-browserify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-1.0.1.tgz#d98454a9c3753d5790860f16f68867b9e46be1fd" - integrity sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g== - -path-dirname@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" - integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA= - -path-exists@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" - integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= - -path-exists@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" - integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== - path-is-absolute@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= -path-is-inside@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" - integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM= - -path-key@^2.0.0, path-key@^2.0.1: +path-key@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= @@ -4912,11 +2174,6 @@ path-parse@^1.0.6, path-parse@^1.0.7: resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== -path-to-regexp@0.1.7: - version "0.1.7" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" - integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= - path-type@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" @@ -4937,17 +2194,6 @@ path@^0.12.7: process "^0.11.1" util "^0.10.3" -pbkdf2@^3.0.3: - version "3.1.2" - resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.2.tgz#dd822aa0887580e52f1a039dc3eda108efae3075" - integrity sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA== - dependencies: - create-hash "^1.1.2" - create-hmac "^1.1.4" - ripemd160 "^2.0.1" - safe-buffer "^5.0.1" - sha.js "^2.4.8" - phaser-animated-tiles@workadventure/phaser-animated-tiles#da68bbededd605925621dd4f03bd27e69284b254: version "2.0.2" resolved "https://codeload.github.com/workadventure/phaser-animated-tiles/tar.gz/da68bbededd605925621dd4f03bd27e69284b254" @@ -4990,47 +2236,11 @@ pidtree@^0.3.0: resolved "https://registry.yarnpkg.com/pidtree/-/pidtree-0.3.1.tgz#ef09ac2cc0533df1f3250ccf2c4d366b0d12114a" integrity sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA== -pify@^2.0.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" - integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= - pify@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= -pify@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" - integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== - -pinkie-promise@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" - integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o= - dependencies: - pinkie "^2.0.0" - -pinkie@^2.0.0: - version "2.0.4" - resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" - integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= - -pkg-dir@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3" - integrity sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw== - dependencies: - find-up "^3.0.0" - -pkg-dir@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" - integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== - dependencies: - find-up "^4.0.0" - please-upgrade-node@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz#aeddd3f994c933e4ad98b99d9a556efa0e2fe942" @@ -5038,287 +2248,7 @@ please-upgrade-node@^3.2.0: dependencies: semver-compare "^1.0.0" -portfinder@^1.0.26: - version "1.0.28" - resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.28.tgz#67c4622852bd5374dd1dd900f779f53462fac778" - integrity sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA== - dependencies: - async "^2.6.2" - debug "^3.1.1" - mkdirp "^0.5.5" - -posix-character-classes@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" - integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= - -postcss-calc@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-8.0.0.tgz#a05b87aacd132740a5db09462a3612453e5df90a" - integrity sha512-5NglwDrcbiy8XXfPM11F3HeC6hoT9W7GUH/Zi5U/p7u3Irv4rHhdDcIZwG0llHXV4ftsBjpfWMXAnXNl4lnt8g== - dependencies: - postcss-selector-parser "^6.0.2" - postcss-value-parser "^4.0.2" - -postcss-colormin@^5.2.2: - version "5.2.2" - resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-5.2.2.tgz#019cd6912bef9e7e0924462c5e4ffae241e2f437" - integrity sha512-tSEe3NpqWARUTidDlF0LntPkdlhXqfDFuA1yslqpvvGAfpZ7oBaw+/QXd935NKm2U9p4PED0HDZlzmMk7fVC6g== - dependencies: - browserslist "^4.16.6" - caniuse-api "^3.0.0" - colord "^2.9.1" - postcss-value-parser "^4.2.0" - -postcss-convert-values@^5.0.2: - version "5.0.2" - resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-5.0.2.tgz#879b849dc3677c7d6bc94b6a2c1a3f0808798059" - integrity sha512-KQ04E2yadmfa1LqXm7UIDwW1ftxU/QWZmz6NKnHnUvJ3LEYbbcX6i329f/ig+WnEByHegulocXrECaZGLpL8Zg== - dependencies: - postcss-value-parser "^4.1.0" - -postcss-discard-comments@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-5.0.1.tgz#9eae4b747cf760d31f2447c27f0619d5718901fe" - integrity sha512-lgZBPTDvWrbAYY1v5GYEv8fEO/WhKOu/hmZqmCYfrpD6eyDWWzAOsl2rF29lpvziKO02Gc5GJQtlpkTmakwOWg== - -postcss-discard-duplicates@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-5.0.1.tgz#68f7cc6458fe6bab2e46c9f55ae52869f680e66d" - integrity sha512-svx747PWHKOGpAXXQkCc4k/DsWo+6bc5LsVrAsw+OU+Ibi7klFZCyX54gjYzX4TH+f2uzXjRviLARxkMurA2bA== - -postcss-discard-empty@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-5.0.1.tgz#ee136c39e27d5d2ed4da0ee5ed02bc8a9f8bf6d8" - integrity sha512-vfU8CxAQ6YpMxV2SvMcMIyF2LX1ZzWpy0lqHDsOdaKKLQVQGVP1pzhrI9JlsO65s66uQTfkQBKBD/A5gp9STFw== - -postcss-discard-overridden@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-5.0.1.tgz#454b41f707300b98109a75005ca4ab0ff2743ac6" - integrity sha512-Y28H7y93L2BpJhrdUR2SR2fnSsT+3TVx1NmVQLbcnZWwIUpJ7mfcTC6Za9M2PG6w8j7UQRfzxqn8jU2VwFxo3Q== - -postcss-merge-longhand@^5.0.4: - version "5.0.4" - resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-5.0.4.tgz#41f4f3270282ea1a145ece078b7679f0cef21c32" - integrity sha512-2lZrOVD+d81aoYkZDpWu6+3dTAAGkCKbV5DoRhnIR7KOULVrI/R7bcMjhrH9KTRy6iiHKqmtG+n/MMj1WmqHFw== - dependencies: - postcss-value-parser "^4.1.0" - stylehacks "^5.0.1" - -postcss-merge-rules@^5.0.3: - version "5.0.3" - resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-5.0.3.tgz#b5cae31f53129812a77e3eb1eeee448f8cf1a1db" - integrity sha512-cEKTMEbWazVa5NXd8deLdCnXl+6cYG7m2am+1HzqH0EnTdy8fRysatkaXb2dEnR+fdaDxTvuZ5zoBdv6efF6hg== - dependencies: - browserslist "^4.16.6" - caniuse-api "^3.0.0" - cssnano-utils "^2.0.1" - postcss-selector-parser "^6.0.5" - -postcss-minify-font-values@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-5.0.1.tgz#a90cefbfdaa075bd3dbaa1b33588bb4dc268addf" - integrity sha512-7JS4qIsnqaxk+FXY1E8dHBDmraYFWmuL6cgt0T1SWGRO5bzJf8sUoelwa4P88LEWJZweHevAiDKxHlofuvtIoA== - dependencies: - postcss-value-parser "^4.1.0" - -postcss-minify-gradients@^5.0.3: - version "5.0.3" - resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-5.0.3.tgz#f970a11cc71e08e9095e78ec3a6b34b91c19550e" - integrity sha512-Z91Ol22nB6XJW+5oe31+YxRsYooxOdFKcbOqY/V8Fxse1Y3vqlNRpi1cxCqoACZTQEhl+xvt4hsbWiV5R+XI9Q== - dependencies: - colord "^2.9.1" - cssnano-utils "^2.0.1" - postcss-value-parser "^4.1.0" - -postcss-minify-params@^5.0.2: - version "5.0.2" - resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-5.0.2.tgz#1b644da903473fbbb18fbe07b8e239883684b85c" - integrity sha512-qJAPuBzxO1yhLad7h2Dzk/F7n1vPyfHfCCh5grjGfjhi1ttCnq4ZXGIW77GSrEbh9Hus9Lc/e/+tB4vh3/GpDg== - dependencies: - alphanum-sort "^1.0.2" - browserslist "^4.16.6" - cssnano-utils "^2.0.1" - postcss-value-parser "^4.1.0" - -postcss-minify-selectors@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-5.1.0.tgz#4385c845d3979ff160291774523ffa54eafd5a54" - integrity sha512-NzGBXDa7aPsAcijXZeagnJBKBPMYLaJJzB8CQh6ncvyl2sIndLVWfbcDi0SBjRWk5VqEjXvf8tYwzoKf4Z07og== - dependencies: - alphanum-sort "^1.0.2" - postcss-selector-parser "^6.0.5" - -postcss-modules-extract-imports@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz#cda1f047c0ae80c97dbe28c3e76a43b88025741d" - integrity sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw== - -postcss-modules-local-by-default@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz#ebbb54fae1598eecfdf691a02b3ff3b390a5a51c" - integrity sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ== - dependencies: - icss-utils "^5.0.0" - postcss-selector-parser "^6.0.2" - postcss-value-parser "^4.1.0" - -postcss-modules-scope@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz#9ef3151456d3bbfa120ca44898dfca6f2fa01f06" - integrity sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg== - dependencies: - postcss-selector-parser "^6.0.4" - -postcss-modules-values@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz#d7c5e7e68c3bb3c9b27cbf48ca0bb3ffb4602c9c" - integrity sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ== - dependencies: - icss-utils "^5.0.0" - -postcss-normalize-charset@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-5.0.1.tgz#121559d1bebc55ac8d24af37f67bd4da9efd91d0" - integrity sha512-6J40l6LNYnBdPSk+BHZ8SF+HAkS4q2twe5jnocgd+xWpz/mx/5Sa32m3W1AA8uE8XaXN+eg8trIlfu8V9x61eg== - -postcss-normalize-display-values@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-5.0.1.tgz#62650b965981a955dffee83363453db82f6ad1fd" - integrity sha512-uupdvWk88kLDXi5HEyI9IaAJTE3/Djbcrqq8YgjvAVuzgVuqIk3SuJWUisT2gaJbZm1H9g5k2w1xXilM3x8DjQ== - dependencies: - cssnano-utils "^2.0.1" - postcss-value-parser "^4.1.0" - -postcss-normalize-positions@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-5.0.1.tgz#868f6af1795fdfa86fbbe960dceb47e5f9492fe5" - integrity sha512-rvzWAJai5xej9yWqlCb1OWLd9JjW2Ex2BCPzUJrbaXmtKtgfL8dBMOOMTX6TnvQMtjk3ei1Lswcs78qKO1Skrg== - dependencies: - postcss-value-parser "^4.1.0" - -postcss-normalize-repeat-style@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.0.1.tgz#cbc0de1383b57f5bb61ddd6a84653b5e8665b2b5" - integrity sha512-syZ2itq0HTQjj4QtXZOeefomckiV5TaUO6ReIEabCh3wgDs4Mr01pkif0MeVwKyU/LHEkPJnpwFKRxqWA/7O3w== - dependencies: - cssnano-utils "^2.0.1" - postcss-value-parser "^4.1.0" - -postcss-normalize-string@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-5.0.1.tgz#d9eafaa4df78c7a3b973ae346ef0e47c554985b0" - integrity sha512-Ic8GaQ3jPMVl1OEn2U//2pm93AXUcF3wz+OriskdZ1AOuYV25OdgS7w9Xu2LO5cGyhHCgn8dMXh9bO7vi3i9pA== - dependencies: - postcss-value-parser "^4.1.0" - -postcss-normalize-timing-functions@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.0.1.tgz#8ee41103b9130429c6cbba736932b75c5e2cb08c" - integrity sha512-cPcBdVN5OsWCNEo5hiXfLUnXfTGtSFiBU9SK8k7ii8UD7OLuznzgNRYkLZow11BkQiiqMcgPyh4ZqXEEUrtQ1Q== - dependencies: - cssnano-utils "^2.0.1" - postcss-value-parser "^4.1.0" - -postcss-normalize-unicode@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-5.0.1.tgz#82d672d648a411814aa5bf3ae565379ccd9f5e37" - integrity sha512-kAtYD6V3pK0beqrU90gpCQB7g6AOfP/2KIPCVBKJM2EheVsBQmx/Iof+9zR9NFKLAx4Pr9mDhogB27pmn354nA== - dependencies: - browserslist "^4.16.0" - postcss-value-parser "^4.1.0" - -postcss-normalize-url@^5.0.4: - version "5.0.4" - resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-5.0.4.tgz#3b0322c425e31dd275174d0d5db0e466f50810fb" - integrity sha512-cNj3RzK2pgQQyNp7dzq0dqpUpQ/wYtdDZM3DepPmFjCmYIfceuD9VIAcOdvrNetjIU65g1B4uwdP/Krf6AFdXg== - dependencies: - normalize-url "^6.0.1" - postcss-value-parser "^4.2.0" - -postcss-normalize-whitespace@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.0.1.tgz#b0b40b5bcac83585ff07ead2daf2dcfbeeef8e9a" - integrity sha512-iPklmI5SBnRvwceb/XH568yyzK0qRVuAG+a1HFUsFRf11lEJTiQQa03a4RSCQvLKdcpX7XsI1Gen9LuLoqwiqA== - dependencies: - postcss-value-parser "^4.1.0" - -postcss-ordered-values@^5.0.2: - version "5.0.2" - resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-5.0.2.tgz#1f351426977be00e0f765b3164ad753dac8ed044" - integrity sha512-8AFYDSOYWebJYLyJi3fyjl6CqMEG/UVworjiyK1r573I56kb3e879sCJLGvR3merj+fAdPpVplXKQZv+ey6CgQ== - dependencies: - cssnano-utils "^2.0.1" - postcss-value-parser "^4.1.0" - -postcss-reduce-initial@^5.0.2: - version "5.0.2" - resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-5.0.2.tgz#fa424ce8aa88a89bc0b6d0f94871b24abe94c048" - integrity sha512-v/kbAAQ+S1V5v9TJvbGkV98V2ERPdU6XvMcKMjqAlYiJ2NtsHGlKYLPjWWcXlaTKNxooId7BGxeraK8qXvzKtw== - dependencies: - browserslist "^4.16.6" - caniuse-api "^3.0.0" - -postcss-reduce-transforms@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-5.0.1.tgz#93c12f6a159474aa711d5269923e2383cedcf640" - integrity sha512-a//FjoPeFkRuAguPscTVmRQUODP+f3ke2HqFNgGPwdYnpeC29RZdCBvGRGTsKpMURb/I3p6jdKoBQ2zI+9Q7kA== - dependencies: - cssnano-utils "^2.0.1" - postcss-value-parser "^4.1.0" - -postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4: - version "6.0.6" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz#2c5bba8174ac2f6981ab631a42ab0ee54af332ea" - integrity sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg== - dependencies: - cssesc "^3.0.0" - util-deprecate "^1.0.2" - -postcss-selector-parser@^6.0.5: - version "6.0.8" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.8.tgz#f023ed7a9ea736cd7ef70342996e8e78645a7914" - integrity sha512-D5PG53d209Z1Uhcc0qAZ5U3t5HagH3cxu+WLZ22jt3gLUpXM4eXXfiO14jiDWST3NNooX/E8wISfOhZ9eIjGTQ== - dependencies: - cssesc "^3.0.0" - util-deprecate "^1.0.2" - -postcss-svgo@^5.0.3: - version "5.0.3" - resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-5.0.3.tgz#d945185756e5dfaae07f9edb0d3cae7ff79f9b30" - integrity sha512-41XZUA1wNDAZrQ3XgWREL/M2zSw8LJPvb5ZWivljBsUQAGoEKMYm6okHsTjJxKYI4M75RQEH4KYlEM52VwdXVA== - dependencies: - postcss-value-parser "^4.1.0" - svgo "^2.7.0" - -postcss-unique-selectors@^5.0.2: - version "5.0.2" - resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-5.0.2.tgz#5d6893daf534ae52626708e0d62250890108c0c1" - integrity sha512-w3zBVlrtZm7loQWRPVC0yjUwwpty7OM6DnEHkxcSQXO1bMS3RJ+JUS5LFMSDZHJcvGsRwhZinCWVqn8Kej4EDA== - dependencies: - alphanum-sort "^1.0.2" - postcss-selector-parser "^6.0.5" - -postcss-value-parser@^4.0.2, postcss-value-parser@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" - integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== - -postcss-value-parser@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb" - integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ== - -postcss@^8.2.10: - version "8.2.15" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.2.15.tgz#9e66ccf07292817d226fc315cbbf9bc148fbca65" - integrity sha512-2zO3b26eJD/8rb106Qu2o7Qgg52ND5HPjcyQiK2B98O388h43A448LCslC0dI2P97wCAQRJsFvwTRcXxTKds+Q== - dependencies: - colorette "^1.2.2" - nanoid "^3.1.23" - source-map "^0.6.1" - -postcss@^8.3.5, postcss@^8.4.5: +postcss@^8.4.5: version "8.4.5" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.5.tgz#bae665764dfd4c6fcc24dc0fdf7e7aa00cc77f95" integrity sha512-jBDboWM8qpaqwkMwItqTQTiFikhs/67OYVvblFFTM7MrZjt6yMKd6r2kgXizEbTTljacm4NldIlZnhbjr84QYg== @@ -5356,20 +2286,7 @@ prettier@^2.3.1: resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.3.1.tgz#76903c3f8c4449bc9ac597acefa24dc5ad4cbea6" integrity sha512-p+vNbgpLjif/+D+DwAZAbndtRrR0md0MwfmOVN9N+2RgyACMT+7tfaRnT+WDPkqnuVwleyuBIG2XBxKDme3hPA== -pretty-error@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.2.tgz#be89f82d81b1c86ec8fdfbc385045882727f93b6" - integrity sha512-EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw== - dependencies: - lodash "^4.17.20" - renderkid "^2.0.4" - -process-nextick-args@~2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" - integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== - -process@^0.11.1, process@^0.11.10: +process@^0.11.1: version "0.11.10" resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI= @@ -5398,69 +2315,11 @@ protobufjs@^6.8.8: "@types/node" ">=13.7.0" long "^4.0.0" -proxy-addr@~2.0.5: - version "2.0.6" - resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.6.tgz#fdc2336505447d3f2f2c638ed272caf614bbb2bf" - integrity sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw== - dependencies: - forwarded "~0.1.2" - ipaddr.js "1.9.1" - -prr@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" - integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY= - -public-encrypt@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" - integrity sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q== - dependencies: - bn.js "^4.1.0" - browserify-rsa "^4.0.0" - create-hash "^1.1.0" - parse-asn1 "^5.0.0" - randombytes "^2.0.1" - safe-buffer "^5.1.2" - -pump@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" - integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - -punycode@1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" - integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0= - -punycode@^2.1.0, punycode@^2.1.1: +punycode@^2.1.0: version "2.1.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== -qs@6.7.0: - version "6.7.0" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc" - integrity sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ== - -querystring-es3@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" - integrity sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM= - -querystring@0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" - integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= - -querystringify@^2.1.1: - version "2.2.0" - resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6" - integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ== - queue-microtask@^1.2.2, queue-microtask@^1.2.3: version "1.2.3" resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" @@ -5501,36 +2360,13 @@ quill@1.3.6: parchment "^1.1.4" quill-delta "^3.6.2" -randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0: +randombytes@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== dependencies: safe-buffer "^5.1.0" -randomfill@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" - integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw== - dependencies: - randombytes "^2.0.5" - safe-buffer "^5.1.0" - -range-parser@^1.2.1, range-parser@~1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" - integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== - -raw-body@2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.0.tgz#a1ce6fb9c9bc356ca52e89256ab59059e13d0332" - integrity sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q== - dependencies: - bytes "3.1.0" - http-errors "1.7.2" - iconv-lite "0.4.24" - unpipe "1.0.0" - read-pkg@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" @@ -5540,20 +2376,7 @@ read-pkg@^3.0.0: normalize-package-data "^2.3.2" path-type "^3.0.0" -readable-stream@^2.0.1, readable-stream@^2.0.2: - version "2.3.7" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" - integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~2.0.0" - safe-buffer "~5.1.1" - string_decoder "~1.1.1" - util-deprecate "~1.0.1" - -readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.5.0, readable-stream@^3.6.0: +readable-stream@^3.6.0: version "3.6.0" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== @@ -5562,15 +2385,6 @@ readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.5.0, readable string_decoder "^1.1.1" util-deprecate "^1.0.1" -readdirp@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" - integrity sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ== - dependencies: - graceful-fs "^4.1.11" - micromatch "^3.1.10" - readable-stream "^2.0.2" - readdirp@~3.5.0: version "3.5.0" resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.5.0.tgz#9ba74c019b15d365278d2e91bb8c48d7b4d42c9e" @@ -5585,26 +2399,11 @@ readdirp@~3.6.0: dependencies: picomatch "^2.2.1" -rechoir@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.7.0.tgz#32650fd52c21ab252aa5d65b19310441c7e03aca" - integrity sha512-ADsDEH2bvbjltXEP+hTIAmeFekTFK0V2BTxMkok6qILyAJEXV0AFfoWcAq4yfll5VdIMd/RVXq0lR+wQi5ZU3Q== - dependencies: - resolve "^1.9.0" - regenerator-runtime@^0.13.4: version "0.13.7" resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz#cac2dacc8a1ea675feaabaeb8ae833898ae46f55" integrity sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew== -regex-not@^1.0.0, regex-not@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" - integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== - dependencies: - extend-shallow "^3.0.2" - safe-regex "^1.1.0" - regexp.prototype.flags@^1.2.0: version "1.3.1" resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz#7ef352ae8d159e758c0eadca6f8fcb4eef07be26" @@ -5618,92 +2417,12 @@ regexpp@^3.2.0: resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== -relateurl@^0.2.7: - version "0.2.7" - resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" - integrity sha1-VNvzd+UUQKypCkzSdGANP/LYiKk= - -remove-trailing-separator@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" - integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= - -renderkid@^2.0.4: - version "2.0.5" - resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-2.0.5.tgz#483b1ac59c6601ab30a7a596a5965cabccfdd0a5" - integrity sha512-ccqoLg+HLOHq1vdfYNm4TBeaCDIi1FLt3wGojTDSvdewUv65oTmI3cnT2E4hRjl1gzKZIPK+KZrXzlUYKnR+vQ== - dependencies: - css-select "^2.0.2" - dom-converter "^0.2" - htmlparser2 "^3.10.1" - lodash "^4.17.20" - strip-ansi "^3.0.0" - -repeat-element@^1.1.2: - version "1.1.4" - resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.4.tgz#be681520847ab58c7568ac75fbfad28ed42d39e9" - integrity sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ== - -repeat-string@^1.6.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" - integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= - -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= - -require-from-string@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" - integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== - -require-main-filename@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" - integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== - -requires-port@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" - integrity sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8= - -resolve-cwd@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a" - integrity sha1-AKn3OHVW4nA46uIyyqNypqWbZlo= - dependencies: - resolve-from "^3.0.0" - -resolve-cwd@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" - integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== - dependencies: - resolve-from "^5.0.0" - -resolve-from@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" - integrity sha1-six699nWiBvItuZTM17rywoYh0g= - resolve-from@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== -resolve-from@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" - integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== - -resolve-url@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" - integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= - -resolve@^1.10.0, resolve@^1.9.0: +resolve@^1.10.0: version "1.20.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== @@ -5728,27 +2447,17 @@ restore-cursor@^3.1.0: onetime "^5.1.0" signal-exit "^3.0.2" -ret@~0.1.10: - version "0.1.15" - resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" - integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== - retry-axios@^2.6.0: version "2.6.0" resolved "https://registry.yarnpkg.com/retry-axios/-/retry-axios-2.6.0.tgz#d4dc5c8a8e73982e26a705e46a33df99a28723e0" integrity sha512-pOLi+Gdll3JekwuFjXO3fTq+L9lzMQGcSq7M5gIjExcl3Gu1hd4XXuf5o3+LuSBsaULQH7DiNbsqPd1chVpQGQ== -retry@^0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/retry/-/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b" - integrity sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs= - reusify@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== -rimraf@^2.5.2, rimraf@^2.6.3: +rimraf@^2.5.2: version "2.7.1" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== @@ -5762,14 +2471,6 @@ rimraf@^3.0.2: dependencies: glob "^7.1.3" -ripemd160@^2.0.0, ripemd160@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" - integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== - dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" - rollup@^2.59.0: version "2.66.1" resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.66.1.tgz#366b0404de353c4331d538c3ad2963934fcb4937" @@ -5803,28 +2504,11 @@ sade@^1.7.4: dependencies: mri "^1.1.0" -safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: - version "5.1.2" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== - -safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0: +safe-buffer@^5.1.0, safe-buffer@~5.2.0: version "5.2.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== -safe-regex@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" - integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= - dependencies: - ret "~0.1.10" - -"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.1.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== - sander@^0.5.0: version "0.5.1" resolved "https://registry.yarnpkg.com/sander/-/sander-0.5.1.tgz#741e245e231f07cafb6fdf0f133adfa216a502ad" @@ -5835,14 +2519,6 @@ sander@^0.5.0: mkdirp "^0.5.1" rimraf "^2.5.2" -sass-loader@^11.1.0: - version "11.1.1" - resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-11.1.1.tgz#0db441bbbe197b2af96125bebb7f4be6476b13a7" - integrity sha512-fOCp/zLmj1V1WHDZbUbPgrZhA7HKXHEqkslzB+05U5K9SbSbcmH91C7QLW31AsXikxUMaxXRhhcqWZAxUMLDyA== - dependencies: - klona "^2.0.4" - neo-async "^2.6.2" - sass@^1.49.7: version "1.49.7" resolved "https://registry.yarnpkg.com/sass/-/sass-1.49.7.tgz#22a86a50552b9b11f71404dfad1b9ff44c6b0c49" @@ -5852,55 +2528,6 @@ sass@^1.49.7: immutable "^4.0.0" source-map-js ">=0.6.2 <2.0.0" -schema-utils@2.7.0: - version "2.7.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.0.tgz#17151f76d8eae67fbbf77960c33c676ad9f4efc7" - integrity sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A== - dependencies: - "@types/json-schema" "^7.0.4" - ajv "^6.12.2" - ajv-keywords "^3.4.1" - -schema-utils@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770" - integrity sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g== - dependencies: - ajv "^6.1.0" - ajv-errors "^1.0.0" - ajv-keywords "^3.1.0" - -schema-utils@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.0.0.tgz#67502f6aa2b66a2d4032b4279a2944978a0913ef" - integrity sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA== - dependencies: - "@types/json-schema" "^7.0.6" - ajv "^6.12.5" - ajv-keywords "^3.5.2" - -schema-utils@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-4.0.0.tgz#60331e9e3ae78ec5d16353c467c34b3a0a1d3df7" - integrity sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg== - dependencies: - "@types/json-schema" "^7.0.9" - ajv "^8.8.0" - ajv-formats "^2.1.1" - ajv-keywords "^5.0.0" - -select-hose@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" - integrity sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo= - -selfsigned@^1.10.8: - version "1.10.11" - resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.11.tgz#24929cd906fe0f44b6d01fb23999a739537acbe9" - integrity sha512-aVmbPOfViZqOZPgRBT0+3u4yZFHpmnIghLMlAcb5/xhp5ZtB/RVnKhz5vl2M32CLXAqR4kha9zfhNg0Lf/sxKA== - dependencies: - node-forge "^0.10.0" - semver-compare@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" @@ -5911,119 +2538,13 @@ semver-compare@^1.0.0: resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== -semver@^6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" - integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== - -semver@^7.2.1, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5: +semver@^7.2.1, semver@^7.3.5: version "7.3.5" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== dependencies: lru-cache "^6.0.0" -send@0.17.1: - version "0.17.1" - resolved "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8" - integrity sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg== - dependencies: - debug "2.6.9" - depd "~1.1.2" - destroy "~1.0.4" - encodeurl "~1.0.2" - escape-html "~1.0.3" - etag "~1.8.1" - fresh "0.5.2" - http-errors "~1.7.2" - mime "1.6.0" - ms "2.1.1" - on-finished "~2.3.0" - range-parser "~1.2.1" - statuses "~1.5.0" - -serialize-javascript@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-5.0.1.tgz#7886ec848049a462467a97d3d918ebb2aaf934f4" - integrity sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA== - dependencies: - randombytes "^2.1.0" - -serialize-javascript@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.0.tgz#efae5d88f45d7924141da8b5c3a7a7e663fefeb8" - integrity sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag== - dependencies: - randombytes "^2.1.0" - -serve-index@^1.9.1: - version "1.9.1" - resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239" - integrity sha1-03aNabHn2C5c4FD/9bRTvqEqkjk= - dependencies: - accepts "~1.3.4" - batch "0.6.1" - debug "2.6.9" - escape-html "~1.0.3" - http-errors "~1.6.2" - mime-types "~2.1.17" - parseurl "~1.3.2" - -serve-static@1.14.1: - version "1.14.1" - resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.1.tgz#666e636dc4f010f7ef29970a88a674320898b2f9" - integrity sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg== - dependencies: - encodeurl "~1.0.2" - escape-html "~1.0.3" - parseurl "~1.3.3" - send "0.17.1" - -set-blocking@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" - integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= - -set-value@^2.0.0, set-value@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" - integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== - dependencies: - extend-shallow "^2.0.1" - is-extendable "^0.1.1" - is-plain-object "^2.0.3" - split-string "^3.0.1" - -setimmediate@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" - integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= - -setprototypeof@1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" - integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ== - -setprototypeof@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683" - integrity sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw== - -sha.js@^2.4.0, sha.js@^2.4.8: - version "2.4.11" - resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" - integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -shallow-clone@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" - integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== - dependencies: - kind-of "^6.0.2" - shebang-command@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" @@ -6053,7 +2574,7 @@ shell-quote@^1.6.1: resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.7.2.tgz#67a7d02c76c9da24f99d20808fcaded0e0e04be2" integrity sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg== -signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3: +signal-exit@^3.0.2, signal-exit@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== @@ -6094,36 +2615,6 @@ slice-ansi@^4.0.0: astral-regex "^2.0.0" is-fullwidth-code-point "^3.0.0" -snapdragon-node@^2.0.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" - integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== - dependencies: - define-property "^1.0.0" - isobject "^3.0.0" - snapdragon-util "^3.0.1" - -snapdragon-util@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" - integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== - dependencies: - kind-of "^3.2.0" - -snapdragon@^0.8.1: - version "0.8.2" - resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" - integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== - dependencies: - base "^0.11.1" - debug "^2.2.0" - define-property "^0.2.5" - extend-shallow "^2.0.1" - map-cache "^0.2.2" - source-map "^0.5.6" - source-map-resolve "^0.5.0" - use "^3.1.0" - socket.io-client@^2.3.0: version "2.4.0" resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-2.4.0.tgz#aafb5d594a3c55a34355562fc8aea22ed9119a35" @@ -6150,27 +2641,6 @@ socket.io-parser@~3.3.0: debug "~3.1.0" isarray "2.0.1" -sockjs-client@^1.5.0: - version "1.5.1" - resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.5.1.tgz#256908f6d5adfb94dabbdbd02c66362cca0f9ea6" - integrity sha512-VnVAb663fosipI/m6pqRXakEOw7nvd7TUgdr3PlR/8V2I95QIdwT8L4nMxhyU8SmDBHYXU1TOElaKOmKLfYzeQ== - dependencies: - debug "^3.2.6" - eventsource "^1.0.7" - faye-websocket "^0.11.3" - inherits "^2.0.4" - json3 "^3.3.3" - url-parse "^1.5.1" - -sockjs@^0.3.21: - version "0.3.21" - resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.21.tgz#b34ffb98e796930b60a0cfa11904d6a339a7d417" - integrity sha512-DhbPFGpxjc6Z3I+uX07Id5ZO2XwYsWOrYjaSeieES78cq+JaJvVe5q/m1uvjIQhXinhIeCFRH6JgXe+mvVMyXw== - dependencies: - faye-websocket "^0.11.3" - uuid "^3.4.0" - websocket-driver "^0.7.4" - sorcery@^0.10.0: version "0.10.0" resolved "https://registry.yarnpkg.com/sorcery/-/sorcery-0.10.0.tgz#8ae90ad7d7cb05fc59f1ab0c637845d5c15a52b7" @@ -6181,11 +2651,6 @@ sorcery@^0.10.0: sander "^0.5.0" sourcemap-codec "^1.3.0" -source-list-map@^2.0.0, source-list-map@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" - integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== - "source-map-js@>=0.6.2 <2.0.0": version "1.0.2" resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" @@ -6196,41 +2661,7 @@ source-map-js@^1.0.1: resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.1.tgz#a1741c131e3c77d048252adfa24e23b908670caf" integrity sha512-4+TN2b3tqOCd/kaGRJ/sTYA0tR0mdXx26ipdolxcwtJVqEnqNYvlCAt1q3ypy4QMlYus+Zh34RNtYLoq2oQ4IA== -source-map-resolve@^0.5.0: - version "0.5.3" - resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" - integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== - dependencies: - atob "^2.1.2" - decode-uri-component "^0.2.0" - resolve-url "^0.2.1" - source-map-url "^0.4.0" - urix "^0.1.0" - -source-map-support@~0.5.12, source-map-support@~0.5.19: - version "0.5.19" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61" - integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map-url@^0.4.0: - version "0.4.1" - resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56" - integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw== - -source-map@^0.5.6: - version "0.5.7" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" - integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= - -source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - -source-map@^0.7.3, source-map@~0.7.2: +source-map@^0.7.3: version "0.7.3" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== @@ -6266,41 +2697,6 @@ spdx-license-ids@^3.0.0: resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.9.tgz#8a595135def9592bda69709474f1cbeea7c2467f" integrity sha512-Ki212dKK4ogX+xDo4CtOZBVIwhsKBEfsEEcwmJfLQzirgc2jIWdzg40Unxz/HzEUqM1WFzVlQSMF9kZZ2HboLQ== -spdy-transport@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-3.0.0.tgz#00d4863a6400ad75df93361a1608605e5dcdcf31" - integrity sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw== - dependencies: - debug "^4.1.0" - detect-node "^2.0.4" - hpack.js "^2.1.6" - obuf "^1.1.2" - readable-stream "^3.0.6" - wbuf "^1.7.3" - -spdy@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/spdy/-/spdy-4.0.2.tgz#b74f466203a3eda452c02492b91fb9e84a27677b" - integrity sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA== - dependencies: - debug "^4.1.0" - handle-thing "^2.0.0" - http-deceiver "^1.2.7" - select-hose "^2.0.0" - spdy-transport "^3.0.0" - -split-string@^3.0.1, split-string@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" - integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== - dependencies: - extend-shallow "^3.0.0" - -stable@^0.1.8: - version "0.1.8" - resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" - integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w== - standardized-audio-context@^25.2.4: version "25.2.4" resolved "https://registry.yarnpkg.com/standardized-audio-context/-/standardized-audio-context-25.2.4.tgz#d64dbdd70615171ec90d1b7151a0d945af94cf3d" @@ -6310,51 +2706,11 @@ standardized-audio-context@^25.2.4: automation-events "^4.0.1" tslib "^2.2.0" -static-extend@^0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" - integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= - dependencies: - define-property "^0.2.5" - object-copy "^0.1.0" - -"statuses@>= 1.4.0 < 2", "statuses@>= 1.5.0 < 2", statuses@~1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" - integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= - -stream-browserify@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-3.0.0.tgz#22b0a2850cdf6503e73085da1fc7b7d0c2122f2f" - integrity sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA== - dependencies: - inherits "~2.0.4" - readable-stream "^3.5.0" - -stream-http@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-3.2.0.tgz#1872dfcf24cb15752677e40e5c3f9cc1926028b5" - integrity sha512-Oq1bLqisTyK3TSCXpPbT4sdeYNdmyZJv1LxpEm2vu1ZhK89kSE5YXwZc3cWk0MagGaKriBh9mCFbVGtO+vY29A== - dependencies: - builtin-status-codes "^3.0.0" - inherits "^2.0.4" - readable-stream "^3.6.0" - xtend "^4.0.2" - string-argv@0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da" integrity sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg== -string-width@^3.0.0, string-width@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" - integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== - dependencies: - emoji-regex "^7.0.1" - is-fullwidth-code-point "^2.0.0" - strip-ansi "^5.1.0" - string-width@^4.1.0, string-width@^4.2.0: version "4.2.2" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.2.tgz#dafd4f9559a7585cfba529c6a0a4f73488ebd4c5" @@ -6389,20 +2745,13 @@ string.prototype.trimstart@^1.0.4: call-bind "^1.0.2" define-properties "^1.1.3" -string_decoder@^1.1.1, string_decoder@^1.3.0: +string_decoder@^1.1.1: version "1.3.0" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== dependencies: safe-buffer "~5.2.0" -string_decoder@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" - integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== - dependencies: - safe-buffer "~5.1.0" - stringify-object@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629" @@ -6412,20 +2761,6 @@ stringify-object@^3.3.0: is-obj "^1.0.1" is-regexp "^1.0.0" -strip-ansi@^3.0.0, strip-ansi@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" - integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= - dependencies: - ansi-regex "^2.0.0" - -strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" - integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== - dependencies: - ansi-regex "^4.1.0" - strip-ansi@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" @@ -6445,11 +2780,6 @@ strip-bom@^3.0.0: resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= -strip-eof@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" - integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= - strip-final-newline@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" @@ -6467,14 +2797,6 @@ strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== -stylehacks@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-5.0.1.tgz#323ec554198520986806388c7fdaebc38d2c06fb" - integrity sha512-Es0rVnHIqbWzveU1b24kbw92HsebBepxfcqe5iix7t9j0PQqhs0IxXVXv0pY2Bxa08CgMkzD6OWql7kbGOuEdA== - dependencies: - browserslist "^4.16.0" - postcss-selector-parser "^6.0.4" - supports-color@^5.3.0: version "5.5.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" @@ -6482,27 +2804,13 @@ supports-color@^5.3.0: dependencies: has-flag "^3.0.0" -supports-color@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3" - integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ== - dependencies: - has-flag "^3.0.0" - -supports-color@^7.0.0, supports-color@^7.1.0: +supports-color@^7.1.0: version "7.2.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== dependencies: has-flag "^4.0.0" -supports-color@^8.0.0: - version "8.1.1" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" - integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== - dependencies: - has-flag "^4.0.0" - supports-preserve-symlinks-flag@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" @@ -6523,30 +2831,11 @@ svelte-check@^2.1.0: svelte-preprocess "^4.0.0" typescript "*" -svelte-dev-helper@^1.1.9: - version "1.1.9" - resolved "https://registry.yarnpkg.com/svelte-dev-helper/-/svelte-dev-helper-1.1.9.tgz#7d187db5c6cdbbd64d75a32f91b8998bde3273c3" - integrity sha1-fRh9tcbNu9ZNdaMvkbiZi94yc8M= - -svelte-hmr@^0.12.3: - version "0.12.9" - resolved "https://registry.yarnpkg.com/svelte-hmr/-/svelte-hmr-0.12.9.tgz#e323b71062a59bf4b73d2d5a7cc80dba256217e1" - integrity sha512-SGE7Odznj4dqZtUVIWcoPCvZ9gHImxVIIjrz+O3DDSi0j4OaSLim6MRF4UdhlBKeW3glSRc+tXNSKYvM5x+Dyw== - svelte-hmr@^0.14.9: version "0.14.9" resolved "https://registry.yarnpkg.com/svelte-hmr/-/svelte-hmr-0.14.9.tgz#35f277efc789e1a6230185717347cddb2f8e9833" integrity sha512-bKE9+4qb4sAnA+TKHiYurUl970rjA0XmlP9TEP7K/ncyWz3m81kA4HOgmlZK/7irGK7gzZlaPDI3cmf8fp/+tg== -svelte-loader@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/svelte-loader/-/svelte-loader-3.1.1.tgz#cb03541214b164edee58e4c98d4303f76df9013d" - integrity sha512-JU7qo1yBdDeJ3Aw23WoGKXrVaSn3KeWkM9KMl43HuMVFrsPNHIzZHTsf1ARJX/Abm3jeqNjigaO35RVbixhmWg== - dependencies: - loader-utils "^2.0.0" - svelte-dev-helper "^1.1.9" - svelte-hmr "^0.12.3" - svelte-preprocess@^4.0.0: version "4.7.3" resolved "https://registry.yarnpkg.com/svelte-preprocess/-/svelte-preprocess-4.7.3.tgz#454fa059c2400b15e7a3caeca18993cff9df0e96" @@ -6574,64 +2863,11 @@ svelte@^3.46.3: resolved "https://registry.yarnpkg.com/svelte/-/svelte-3.46.3.tgz#31202b0c795f276726d95b648b6dd413116257ac" integrity sha512-mTOXvv74CVQqJHqoIZDprVfRKVVmYNadXP0VKnOEA54223kLGCr1nMrifS4Zx29qMt/xRB38Eq1D7dDH/fM8fQ== -svgo@^2.7.0: - version "2.8.0" - resolved "https://registry.yarnpkg.com/svgo/-/svgo-2.8.0.tgz#4ff80cce6710dc2795f0c7c74101e6764cfccd24" - integrity sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg== - dependencies: - "@trysound/sax" "0.2.0" - commander "^7.2.0" - css-select "^4.1.3" - css-tree "^1.1.3" - csso "^4.2.0" - picocolors "^1.0.0" - stable "^0.1.8" - tabbable@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/tabbable/-/tabbable-4.0.0.tgz#5bff1d1135df1482cf0f0206434f15eadbeb9261" integrity sha512-H1XoH1URcBOa/rZZWxLxHCtOdVUEev+9vo5YdYhC9tCY4wnybX+VQrCYuy9ubkg69fCBxCONJOSLGfw0DWMffQ== -tapable@^1.0.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" - integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== - -tapable@^2.0.0, tapable@^2.1.1, tapable@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.0.tgz#5c373d281d9c672848213d0e037d1c4165ab426b" - integrity sha512-FBk4IesMV1rBxX2tfiK8RAmogtWn53puLOQlvO8XuwlgxcYbP4mVPS9Ph4aeamSyyVjOl24aYWAuc8U5kCVwMw== - -terser-webpack-plugin@^5.1.1: - version "5.1.2" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.1.2.tgz#51d295eb7cc56785a67a372575fdc46e42d5c20c" - integrity sha512-6QhDaAiVHIQr5Ab3XUWZyDmrIPCHMiqJVljMF91YKyqwKkL5QHnYMkrMBy96v9Z7ev1hGhSEw1HQZc2p/s5Z8Q== - dependencies: - jest-worker "^26.6.2" - p-limit "^3.1.0" - schema-utils "^3.0.0" - serialize-javascript "^5.0.1" - source-map "^0.6.1" - terser "^5.7.0" - -terser@^4.6.3: - version "4.8.0" - resolved "https://registry.yarnpkg.com/terser/-/terser-4.8.0.tgz#63056343d7c70bb29f3af665865a46fe03a0df17" - integrity sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw== - dependencies: - commander "^2.20.0" - source-map "~0.6.1" - source-map-support "~0.5.12" - -terser@^5.7.0: - version "5.7.0" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.7.0.tgz#a761eeec206bc87b605ab13029876ead938ae693" - integrity sha512-HP5/9hp2UaZt5fYkuhNBR8YyRcT8juw8+uFbAme53iN9hblvKnLUTKkmwJG6ocWpIKf8UK4DoeWG4ty0J6S6/g== - dependencies: - commander "^2.20.0" - source-map "~0.7.2" - source-map-support "~0.5.19" - text-table@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" @@ -6642,23 +2878,6 @@ through@^2.3.8: resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= -thunky@^1.0.2: - version "1.1.0" - resolved "https://registry.yarnpkg.com/thunky/-/thunky-1.1.0.tgz#5abaf714a9405db0504732bbccd2cedd9ef9537d" - integrity sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA== - -timers-browserify@^2.0.12: - version "2.0.12" - resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.12.tgz#44a45c11fbf407f34f97bccd1577c652361b00ee" - integrity sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ== - dependencies: - setimmediate "^1.0.4" - -timsort@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/timsort/-/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4" - integrity sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q= - tiny-emitter@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/tiny-emitter/-/tiny-emitter-2.1.0.tgz#1d1a56edfc51c43e863cbb5382a72330e3555423" @@ -6669,21 +2888,6 @@ to-array@0.1.4: resolved "https://registry.yarnpkg.com/to-array/-/to-array-0.1.4.tgz#17e6c11f73dd4f3d74cda7a4ff3238e9ad9bf890" integrity sha1-F+bBH3PdTz10zaek/zI46a2b+JA= -to-object-path@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" - integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= - dependencies: - kind-of "^3.0.2" - -to-regex-range@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" - integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= - dependencies: - is-number "^3.0.0" - repeat-string "^1.6.1" - to-regex-range@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" @@ -6691,31 +2895,6 @@ to-regex-range@^5.0.1: dependencies: is-number "^7.0.0" -to-regex@^3.0.1, to-regex@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" - integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== - dependencies: - define-property "^2.0.2" - extend-shallow "^3.0.2" - regex-not "^1.0.2" - safe-regex "^1.1.0" - -toidentifier@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" - integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw== - -ts-loader@^9.2.6: - version "9.2.6" - resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-9.2.6.tgz#9937c4dd0a1e3dbbb5e433f8102a6601c6615d74" - integrity sha512-QMTC4UFzHmu9wU2VHZEmWWE9cUajjfcdcws+Gh7FhiO+Dy0RnR1bNz0YCHqhI0yRowCE9arVnNxYHqELOy9Hjw== - dependencies: - chalk "^4.1.0" - enhanced-resolve "^5.0.0" - micromatch "^4.0.0" - semver "^7.3.4" - ts-node@^10.4.0: version "10.4.0" resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.4.0.tgz#680f88945885f4e6cf450e7f0d6223dd404895f7" @@ -6778,7 +2957,7 @@ tslib@^1.8.1, tslib@^1.9.0: resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== -tslib@^2.0.0, tslib@^2.0.3, tslib@^2.2.0: +tslib@^2.0.0, tslib@^2.2.0: version "2.3.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.0.tgz#803b8cdab3e12ba581a4ca41c8839bbb0dacb09e" integrity sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg== @@ -6790,11 +2969,6 @@ tsutils@^3.21.0: dependencies: tslib "^1.8.1" -tty-browserify@^0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.1.tgz#3f05251ee17904dfd0677546670db9651682b811" - integrity sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw== - twemoji-parser@13.1.0: version "13.1.0" resolved "https://registry.yarnpkg.com/twemoji-parser/-/twemoji-parser-13.1.0.tgz#65e7e449c59258791b22ac0b37077349127e3ea4" @@ -6827,14 +3001,6 @@ type-fest@^0.21.3: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== -type-is@~1.6.17, type-is@~1.6.18: - version "1.6.18" - resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" - integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== - dependencies: - media-typer "0.3.0" - mime-types "~2.1.24" - typesafe-i18n@^2.59.0: version "2.59.0" resolved "https://registry.yarnpkg.com/typesafe-i18n/-/typesafe-i18n-2.59.0.tgz#09a9a32e61711418d927a389fa52e1c06a5fa5c4" @@ -6860,44 +3026,11 @@ unbox-primitive@^1.0.0: has-symbols "^1.0.2" which-boxed-primitive "^1.0.2" -union-value@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" - integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== - dependencies: - arr-union "^3.1.0" - get-value "^2.0.6" - is-extendable "^0.1.1" - set-value "^2.0.1" - universalify@^0.1.0, universalify@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== -universalify@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" - integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== - -unpipe@1.0.0, unpipe@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" - integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= - -unset-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" - integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= - dependencies: - has-value "^0.3.1" - isobject "^3.0.0" - -upath@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" - integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== - uri-js@^4.2.2: version "4.4.1" resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" @@ -6905,33 +3038,7 @@ uri-js@^4.2.2: dependencies: punycode "^2.1.0" -urix@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" - integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= - -url-parse@^1.4.3, url-parse@^1.5.1: - version "1.5.3" - resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.3.tgz#71c1303d38fb6639ade183c2992c8cc0686df862" - integrity sha512-IIORyIQD9rvj0A4CLWsHkBBJuNqWpFQe224b6j9t/ABmquIS0qDU2pY6kl6AuOrL5OkCXHMCFNe1jBcuAggjvQ== - dependencies: - querystringify "^2.1.1" - requires-port "^1.0.0" - -url@^0.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" - integrity sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE= - dependencies: - punycode "1.3.2" - querystring "0.2.0" - -use@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" - integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== - -util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: +util-deprecate@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= @@ -6943,38 +3050,11 @@ util@^0.10.3: dependencies: inherits "2.0.3" -util@^0.12.0, util@^0.12.3: - version "0.12.3" - resolved "https://registry.yarnpkg.com/util/-/util-0.12.3.tgz#971bb0292d2cc0c892dab7c6a5d37c2bec707888" - integrity sha512-I8XkoQwE+fPQEhy9v012V+TSdH2kp9ts29i20TaaDUXsg7x/onePbhFJUExBfv/2ay1ZOp/Vsm3nDlmnFGSAog== - dependencies: - inherits "^2.0.3" - is-arguments "^1.0.4" - is-generator-function "^1.0.7" - is-typed-array "^1.1.3" - safe-buffer "^5.1.2" - which-typed-array "^1.1.2" - -utila@~0.4: - version "0.4.0" - resolved "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" - integrity sha1-ihagXURWV6Oupe7MWxKk+lN5dyw= - -utils-merge@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" - integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= - uuid@8.3.2: version "8.3.2" resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== -uuid@^3.3.2, uuid@^3.4.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" - integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== - uuidv4@*, uuidv4@^6.2.10: version "6.2.10" resolved "https://registry.yarnpkg.com/uuidv4/-/uuidv4-6.2.10.tgz#42fc1c12b6f85ad536c2c5c1e836079d1e15003c" @@ -6983,7 +3063,7 @@ uuidv4@*, uuidv4@^6.2.10: "@types/uuid" "8.3.0" uuid "8.3.2" -v8-compile-cache@^2.0.3, v8-compile-cache@^2.2.0: +v8-compile-cache@^2.0.3: version "2.3.0" resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== @@ -6996,11 +3076,6 @@ validate-npm-package-license@^3.0.1: spdx-correct "^3.0.0" spdx-expression-parse "^3.0.0" -vary@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" - integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= - vite-plugin-rewrite-all@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/vite-plugin-rewrite-all/-/vite-plugin-rewrite-all-0.1.2.tgz#312bbcd76c700ceac5153bfc5ad7e3e3e4bc9606" @@ -7020,175 +3095,11 @@ vite@^2.7.13: optionalDependencies: fsevents "~2.3.2" -vm-browserify@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" - integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ== - -watchpack@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.1.1.tgz#e99630550fca07df9f90a06056987baa40a689c7" - integrity sha512-Oo7LXCmc1eE1AjyuSBmtC3+Wy4HcV8PxWh2kP6fOl8yTlNS7r0K9l1ao2lrrUza7V39Y3D/BbJgY8VeSlc5JKw== - dependencies: - glob-to-regexp "^0.4.1" - graceful-fs "^4.1.2" - -wbuf@^1.1.0, wbuf@^1.7.3: - version "1.7.3" - resolved "https://registry.yarnpkg.com/wbuf/-/wbuf-1.7.3.tgz#c1d8d149316d3ea852848895cb6a0bfe887b87df" - integrity sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA== - dependencies: - minimalistic-assert "^1.0.0" - webfontloader@^1.6.28: version "1.6.28" resolved "https://registry.yarnpkg.com/webfontloader/-/webfontloader-1.6.28.tgz#db786129253cb6e8eae54c2fb05f870af6675bae" integrity sha1-23hhKSU8tujq5UwvsF+HCvZnW64= -webpack-cli@^4.7.0: - version "4.7.0" - resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-4.7.0.tgz#3195a777f1f802ecda732f6c95d24c0004bc5a35" - integrity sha512-7bKr9182/sGfjFm+xdZSwgQuFjgEcy0iCTIBxRUeteJ2Kr8/Wz0qNJX+jw60LU36jApt4nmMkep6+W5AKhok6g== - dependencies: - "@discoveryjs/json-ext" "^0.5.0" - "@webpack-cli/configtest" "^1.0.3" - "@webpack-cli/info" "^1.2.4" - "@webpack-cli/serve" "^1.4.0" - colorette "^1.2.1" - commander "^7.0.0" - execa "^5.0.0" - fastest-levenshtein "^1.0.12" - import-local "^3.0.2" - interpret "^2.2.0" - rechoir "^0.7.0" - v8-compile-cache "^2.2.0" - webpack-merge "^5.7.3" - -webpack-dev-middleware@^3.7.2: - version "3.7.3" - resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz#0639372b143262e2b84ab95d3b91a7597061c2c5" - integrity sha512-djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ== - dependencies: - memory-fs "^0.4.1" - mime "^2.4.4" - mkdirp "^0.5.1" - range-parser "^1.2.1" - webpack-log "^2.0.0" - -webpack-dev-server@^3.11.2: - version "3.11.2" - resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-3.11.2.tgz#695ebced76a4929f0d5de7fd73fafe185fe33708" - integrity sha512-A80BkuHRQfCiNtGBS1EMf2ChTUs0x+B3wGDFmOeT4rmJOHhHTCH2naNxIHhmkr0/UillP4U3yeIyv1pNp+QDLQ== - dependencies: - ansi-html "0.0.7" - bonjour "^3.5.0" - chokidar "^2.1.8" - compression "^1.7.4" - connect-history-api-fallback "^1.6.0" - debug "^4.1.1" - del "^4.1.1" - express "^4.17.1" - html-entities "^1.3.1" - http-proxy-middleware "0.19.1" - import-local "^2.0.0" - internal-ip "^4.3.0" - ip "^1.1.5" - is-absolute-url "^3.0.3" - killable "^1.0.1" - loglevel "^1.6.8" - opn "^5.5.0" - p-retry "^3.0.1" - portfinder "^1.0.26" - schema-utils "^1.0.0" - selfsigned "^1.10.8" - semver "^6.3.0" - serve-index "^1.9.1" - sockjs "^0.3.21" - sockjs-client "^1.5.0" - spdy "^4.0.2" - strip-ansi "^3.0.1" - supports-color "^6.1.0" - url "^0.11.0" - webpack-dev-middleware "^3.7.2" - webpack-log "^2.0.0" - ws "^6.2.1" - yargs "^13.3.2" - -webpack-log@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/webpack-log/-/webpack-log-2.0.0.tgz#5b7928e0637593f119d32f6227c1e0ac31e1b47f" - integrity sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg== - dependencies: - ansi-colors "^3.0.0" - uuid "^3.3.2" - -webpack-merge@^5.7.3: - version "5.7.3" - resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.7.3.tgz#2a0754e1877a25a8bbab3d2475ca70a052708213" - integrity sha512-6/JUQv0ELQ1igjGDzHkXbVDRxkfA57Zw7PfiupdLFJYrgFqY5ZP8xxbpp2lU3EPwYx89ht5Z/aDkD40hFCm5AA== - dependencies: - clone-deep "^4.0.1" - wildcard "^2.0.0" - -webpack-sources@^1.1.0: - version "1.4.3" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933" - integrity sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ== - dependencies: - source-list-map "^2.0.0" - source-map "~0.6.1" - -webpack-sources@^2.1.1: - version "2.2.0" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-2.2.0.tgz#058926f39e3d443193b6c31547229806ffd02bac" - integrity sha512-bQsA24JLwcnWGArOKUxYKhX3Mz/nK1Xf6hxullKERyktjNMC4x8koOeaDNTA2fEJ09BdWLbM/iTW0ithREUP0w== - dependencies: - source-list-map "^2.0.1" - source-map "^0.6.1" - -webpack@^5, webpack@^5.37.0: - version "5.37.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.37.0.tgz#2ab00f613faf494504eb2beef278dab7493cc39d" - integrity sha512-yvdhgcI6QkQkDe1hINBAJ1UNevqNGTVaCkD2SSJcB8rcrNNl922RI8i2DXUAuNfANoxwsiXXEA4ZPZI9q2oGLA== - dependencies: - "@types/eslint-scope" "^3.7.0" - "@types/estree" "^0.0.47" - "@webassemblyjs/ast" "1.11.0" - "@webassemblyjs/wasm-edit" "1.11.0" - "@webassemblyjs/wasm-parser" "1.11.0" - acorn "^8.2.1" - browserslist "^4.14.5" - chrome-trace-event "^1.0.2" - enhanced-resolve "^5.8.0" - es-module-lexer "^0.4.0" - eslint-scope "^5.1.1" - events "^3.2.0" - glob-to-regexp "^0.4.1" - graceful-fs "^4.2.4" - json-parse-better-errors "^1.0.2" - loader-runner "^4.2.0" - mime-types "^2.1.27" - neo-async "^2.6.2" - schema-utils "^3.0.0" - tapable "^2.1.1" - terser-webpack-plugin "^5.1.1" - watchpack "^2.0.0" - webpack-sources "^2.1.1" - -websocket-driver@>=0.5.1, websocket-driver@^0.7.4: - version "0.7.4" - resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.4.tgz#89ad5295bbf64b480abcba31e4953aca706f5760" - integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg== - dependencies: - http-parser-js ">=0.5.1" - safe-buffer ">=5.1.0" - websocket-extensions ">=0.1.1" - -websocket-extensions@>=0.1.1: - version "0.1.4" - resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42" - integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg== - which-boxed-primitive@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" @@ -7200,24 +3111,6 @@ which-boxed-primitive@^1.0.2: is-string "^1.0.5" is-symbol "^1.0.3" -which-module@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" - integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= - -which-typed-array@^1.1.2: - version "1.1.4" - resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.4.tgz#8fcb7d3ee5adf2d771066fba7cf37e32fe8711ff" - integrity sha512-49E0SpUe90cjpoc7BOJwyPHRqSAd12c10Qm2amdEZrJPCY2NDxaW01zHITrem+rnETY3dwrbH3UUrUwagfCYDA== - dependencies: - available-typed-arrays "^1.0.2" - call-bind "^1.0.0" - es-abstract "^1.18.0-next.1" - foreach "^2.0.5" - function-bind "^1.1.1" - has-symbols "^1.0.1" - is-typed-array "^1.1.3" - which@^1.2.9: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" @@ -7232,25 +3125,11 @@ which@^2.0.1: dependencies: isexe "^2.0.0" -wildcard@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/wildcard/-/wildcard-2.0.0.tgz#a77d20e5200c6faaac979e4b3aadc7b3dd7f8fec" - integrity sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw== - word-wrap@^1.2.3: version "1.2.3" resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== -wrap-ansi@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" - integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q== - dependencies: - ansi-styles "^3.2.0" - string-width "^3.0.0" - strip-ansi "^5.0.0" - wrap-ansi@^6.2.0: version "6.2.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" @@ -7274,13 +3153,6 @@ wrappy@1: resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= -ws@^6.2.1: - version "6.2.2" - resolved "https://registry.yarnpkg.com/ws/-/ws-6.2.2.tgz#dd5cdbd57a9979916097652d78f1cc5faea0c32e" - integrity sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw== - dependencies: - async-limiter "~1.0.0" - ws@~7.4.2: version "7.4.5" resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.5.tgz#a484dd851e9beb6fdb420027e3885e8ce48986c1" @@ -7291,50 +3163,21 @@ xmlhttprequest-ssl@~1.6.2: resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.6.3.tgz#03b713873b01659dfa2c1c5d056065b27ddc2de6" integrity sha512-3XfeQE/wNkvrIktn2Kf0869fC0BN6UpydVasGIeSm2B1Llihf7/0UfZM+eCkOw3P7bP4+qPgqhm7ZoxuJtFU0Q== -xtend@^4.0.1, xtend@^4.0.2: +xtend@^4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== -y18n@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" - integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== - yallist@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== -yaml@^1.10.0, yaml@^1.10.2, yaml@^1.7.2: +yaml@^1.10.0: version "1.10.2" resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== -yargs-parser@^13.1.2: - version "13.1.2" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" - integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg== - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" - -yargs@^13.3.2: - version "13.3.2" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd" - integrity sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw== - dependencies: - cliui "^5.0.0" - find-up "^3.0.0" - get-caller-file "^2.0.1" - require-directory "^2.1.1" - require-main-filename "^2.0.0" - set-blocking "^2.0.0" - string-width "^3.0.0" - which-module "^2.0.0" - y18n "^4.0.0" - yargs-parser "^13.1.2" - yeast@0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/yeast/-/yeast-0.1.2.tgz#008e06d8094320c372dbc2f8ed76a0ca6c8ac419" @@ -7345,11 +3188,6 @@ yn@3.1.1: resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== -yocto-queue@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" - integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== - zod@^3.11.6: version "3.11.6" resolved "https://registry.yarnpkg.com/zod/-/zod-3.11.6.tgz#e43a5e0c213ae2e02aefe7cb2b1a6fa3d7f1f483" From 2e115efdc50cca5fc17c6a1763f1c4fa3cb4fef9 Mon Sep 17 00:00:00 2001 From: Lukas Hass Date: Thu, 3 Feb 2022 02:40:55 +0100 Subject: [PATCH 30/88] convert lang="typescript" to lang="ts" see https://github.com/sveltejs/vite-plugin-svelte/blob/main/docs/faq.md#why-isnt-vite-detecting-my-imports-correctly-in-svelte-files-with-typescript --- front/src/Components/ActionsMenu/ActionsMenu.svelte | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/front/src/Components/ActionsMenu/ActionsMenu.svelte b/front/src/Components/ActionsMenu/ActionsMenu.svelte index d660a570..d6f4e7e5 100644 --- a/front/src/Components/ActionsMenu/ActionsMenu.svelte +++ b/front/src/Components/ActionsMenu/ActionsMenu.svelte @@ -1,4 +1,4 @@ - -
+
{#each [...Array(NB_BARS).keys()] as i (i)}
{/each} diff --git a/front/src/Components/MyCamera.svelte b/front/src/Components/MyCamera.svelte index e84d763d..f0952084 100644 --- a/front/src/Components/MyCamera.svelte +++ b/front/src/Components/MyCamera.svelte @@ -1,5 +1,5 @@
diff --git a/front/src/Components/Video/VideoMediaBox.svelte b/front/src/Components/Video/VideoMediaBox.svelte index e5199a37..4cf629aa 100644 --- a/front/src/Components/Video/VideoMediaBox.svelte +++ b/front/src/Components/Video/VideoMediaBox.svelte @@ -11,13 +11,14 @@ import type { Streamable } from "../../Stores/StreamableCollectionStore"; import Woka from "../Woka/Woka.svelte"; - import { onMount } from "svelte"; + import { onDestroy, onMount } from "svelte"; import { isMediaBreakpointOnly } from "../../Utils/BreakpointsUtils"; export let clickable = false; export let peer: VideoPeer; let streamStore = peer.streamStore; + let volumeStore = peer.volumeStore; let name = peer.userName; let statusStore = peer.statusStore; let constraintStore = peer.constraintsStore; @@ -29,6 +30,11 @@ let embedScreen: EmbedScreen; let videoContainer: HTMLDivElement; let minimized = isMediaBreakpointOnly("md"); + let volume = 0; + + const unsubscribe = volumeStore.subscribe((value) => { + volume = value ?? 0; + }); if (peer) { embedScreen = { @@ -48,6 +54,10 @@ onMount(() => { resizeObserver.observe(videoContainer); }); + + onDestroy(() => { + unsubscribe(); + });
{#if $constraintStore && $constraintStore.audio !== false} - + {/if}
From d087bc02e951cdaac0396a07b441b6691952dc3b Mon Sep 17 00:00:00 2001 From: Hanusiak Piotr Date: Thu, 3 Feb 2022 16:00:29 +0100 Subject: [PATCH 35/88] TalkIcon animation --- front/src/Phaser/Components/TalkIcon.ts | 57 +++++++++++++++++++++++++ front/src/Phaser/Entity/Character.ts | 13 +++--- front/src/Phaser/Game/GameScene.ts | 7 +-- 3 files changed, 65 insertions(+), 12 deletions(-) create mode 100644 front/src/Phaser/Components/TalkIcon.ts diff --git a/front/src/Phaser/Components/TalkIcon.ts b/front/src/Phaser/Components/TalkIcon.ts new file mode 100644 index 00000000..02fa71fc --- /dev/null +++ b/front/src/Phaser/Components/TalkIcon.ts @@ -0,0 +1,57 @@ +import { Easing } from '../../types'; + +export class TalkIcon extends Phaser.GameObjects.Image { + + private shown: boolean; + private showAnimationTween?: Phaser.Tweens.Tween; + + private defaultPosition: { x: number, y: number }; + private defaultScale: number; + + constructor(scene: Phaser.Scene, x: number, y: number) { + super(scene, x, y, 'iconTalk'); + + this.defaultPosition = { x, y }; + this.defaultScale = 0.15; + + this.shown = false; + this.setAlpha(0); + this.setScale(this.defaultScale); + + this.scene.add.existing(this); + } + + public show(show: boolean = true): void { + if (this.shown === show) { + return; + } + this.showAnimation(show); + } + + private showAnimation(show: boolean = true) { + if (this.showAnimationTween?.isPlaying()) { + return; + } + this.shown = show; + if (show) { + this.y += 50; + this.scale = 0.05; + this.alpha = 0; + } + this.showAnimationTween = this.scene.tweens.add({ + targets: [ this ], + duration: 350, + alpha: show ? 1 : 0, + y: this.defaultPosition.y, + scale: this.defaultScale, + ease: Easing.BackEaseOut, + onComplete: () => { + this.showAnimationTween = undefined; + } + }); + } + + public isShown(): boolean { + return this.shown; + } +} diff --git a/front/src/Phaser/Entity/Character.ts b/front/src/Phaser/Entity/Character.ts index fd264f03..85ba8779 100644 --- a/front/src/Phaser/Entity/Character.ts +++ b/front/src/Phaser/Entity/Character.ts @@ -17,6 +17,7 @@ import { Unsubscriber, Writable, writable } from "svelte/store"; import { createColorStore } from "../../Stores/OutlineColorStore"; import type { OutlineableInterface } from "../Game/OutlineableInterface"; import type CancelablePromise from "cancelable-promise"; +import { TalkIcon } from '../Components/TalkIcon'; const playerNameY = -25; @@ -33,7 +34,7 @@ const interactiveRadius = 35; export abstract class Character extends Container implements OutlineableInterface { private bubble: SpeechBubble | null = null; private readonly playerNameText: Text; - private readonly iconTalk: Phaser.GameObjects.Image; + private readonly talkIcon: TalkIcon; public playerName: string; public sprites: Map; protected lastDirection: PlayerAnimationDirections = PlayerAnimationDirections.Down; @@ -104,10 +105,8 @@ export abstract class Character extends Container implements OutlineableInterfac }, }); - this.iconTalk = new Phaser.GameObjects.Image(scene, 0, -45, 'iconTalk') - .setScale(0.15) - .setVisible(false); - this.add(this.iconTalk); + this.talkIcon = new TalkIcon(scene, 0, -45); + this.add(this.talkIcon); if (isClickable) { this.setInteractive({ @@ -193,8 +192,8 @@ export abstract class Character extends Container implements OutlineableInterfac }); } - public showIconTalk(show: boolean = true): void { - this.iconTalk.setVisible(show); + public showTalkIcon(show: boolean = true): void { + this.talkIcon.show(show); } public addCompanion(name: string, texturePromise?: Promise): void { diff --git a/front/src/Phaser/Game/GameScene.ts b/front/src/Phaser/Game/GameScene.ts index bf762fec..9ddb5b96 100644 --- a/front/src/Phaser/Game/GameScene.ts +++ b/front/src/Phaser/Game/GameScene.ts @@ -647,9 +647,7 @@ export class GameScene extends DirtyScene { for (const [key, videoStream] of peers) { this.volumeStoreUnsubscribers.set(key, videoStream.volumeStore.subscribe((volume) => { if (volume) { - console.log(`${key}: ${volume}`); - this.MapPlayersByKey.get(key)?.showIconTalk(volume > 5); - this.markDirty(); // should be dirty from animation + this.MapPlayersByKey.get(key)?.showTalkIcon(volume > 5); } })); } @@ -663,8 +661,7 @@ export class GameScene extends DirtyScene { if (newPeerNumber > 0) { this.localVolumeStoreUnsubscriber = localVolumeStore.subscribe((volume) => { if (volume) { - this.CurrentPlayer.showIconTalk(volume > 5); - this.markDirty(); // should be dirty from animation + this.CurrentPlayer.showTalkIcon(volume > 5); } }); } else { From faf6be889e0c47fe9a816a9f1c0771096bc43b35 Mon Sep 17 00:00:00 2001 From: Lukas Hass Date: Thu, 3 Feb 2022 18:41:13 +0100 Subject: [PATCH 36/88] add typecheck script --- .github/workflows/continuous_integration.yml | 5 ++++- front/package.json | 1 + 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/continuous_integration.yml b/.github/workflows/continuous_integration.yml index 45bcbfe0..7d643595 100644 --- a/.github/workflows/continuous_integration.yml +++ b/.github/workflows/continuous_integration.yml @@ -56,6 +56,10 @@ jobs: ADMIN_URL: "//localhost:80" working-directory: "front" + - name: "Typecheck" + run: yarn run typecheck + working-directory: "front" + - name: "Svelte check" run: yarn run svelte-check working-directory: "front" @@ -165,4 +169,3 @@ jobs: - name: "Prettier" run: yarn run pretty-check working-directory: "back" - diff --git a/front/package.json b/front/package.json index 1dbf4a99..f9246112 100644 --- a/front/package.json +++ b/front/package.json @@ -76,6 +76,7 @@ "svelte-check": "svelte-check --fail-on-warnings --fail-on-hints --compiler-warnings \"a11y-no-onchange:ignore,a11y-autofocus:ignore,a11y-media-has-caption:ignore\"", "pretty": "yarn prettier --write 'src/**/*.{ts,svelte}'", "pretty-check": "yarn prettier --check 'src/**/*.{ts,svelte}'", + "typecheck": "tsc --noEmit", "typesafe-i18n": "typesafe-i18n --no-watch" }, "lint-staged": { From 8155b774d56d6bc5d3110c28270a91787742c62e Mon Sep 17 00:00:00 2001 From: Lukas Hass Date: Thu, 3 Feb 2022 18:41:38 +0100 Subject: [PATCH 37/88] build iframe-api in ci --- .github/workflows/continuous_integration.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/continuous_integration.yml b/.github/workflows/continuous_integration.yml index 7d643595..ef1015fe 100644 --- a/.github/workflows/continuous_integration.yml +++ b/.github/workflows/continuous_integration.yml @@ -56,6 +56,10 @@ jobs: ADMIN_URL: "//localhost:80" working-directory: "front" + - name: "Build iframe-api" + run: yarn run build-iframe-api + working-directory: "front" + - name: "Typecheck" run: yarn run typecheck working-directory: "front" From e4ca1e97fc6b8ec19b12befe4b423923c86d7a96 Mon Sep 17 00:00:00 2001 From: Lukas Hass Date: Thu, 3 Feb 2022 18:42:02 +0100 Subject: [PATCH 38/88] remove webpack tsconfig --- front/tsconfig-for-webpack.json | 7 ------- 1 file changed, 7 deletions(-) delete mode 100644 front/tsconfig-for-webpack.json diff --git a/front/tsconfig-for-webpack.json b/front/tsconfig-for-webpack.json deleted file mode 100644 index f4195027..00000000 --- a/front/tsconfig-for-webpack.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "compilerOptions": { - "module": "commonjs", - "target": "es5", - "esModuleInterop": true - } -} From c7fa2fc36b4cb6f6c2ae2b1be7b3c2b8ce115fd8 Mon Sep 17 00:00:00 2001 From: Lukas Hass Date: Thu, 3 Feb 2022 18:44:49 +0100 Subject: [PATCH 39/88] remove unnecessary workflow steps iframe-api-typings do not depend on proto messages / i18n and are built into the correct dir --- .github/workflows/push-to-npm.yml | 28 ---------------------------- 1 file changed, 28 deletions(-) diff --git a/.github/workflows/push-to-npm.yml b/.github/workflows/push-to-npm.yml index 750ef224..b6cf4f12 100644 --- a/.github/workflows/push-to-npm.yml +++ b/.github/workflows/push-to-npm.yml @@ -22,31 +22,10 @@ jobs: run: cat package.json working-directory: "front/packages/iframe-api-typings" - - name: Install Protoc - uses: arduino/setup-protoc@v1 - with: - version: '3.x' - - name: "Install dependencies" run: yarn install working-directory: "front" - - name: "Install messages dependencies" - run: yarn install - working-directory: "messages" - - - name: "Build proto messages" - run: yarn run ts-proto && yarn run copy-to-front-ts-proto && yarn run json-copy-to-front - working-directory: "messages" - - - name: "Create index.html" - run: ./templater.sh - working-directory: "front" - - - name: "Generate i18n files" - run: yarn run typesafe-i18n - working-directory: "front" - - name: "Build" run: yarn run build-typings env: @@ -54,13 +33,6 @@ jobs: ADMIN_URL: "//localhost:80" working-directory: "front" - # We build the front to generate the typings of iframe_api, then we copy those typings in a separate package. - - name: Copy typings to package dir - run: cp front/dist/src/iframe_api.d.ts front/packages/iframe-api-typings/iframe_api.d.ts - - - name: Copy typings to package dir (2) - run: cp -R front/dist/src/Api front/packages/iframe-api-typings/Api - - name: Install dependencies in package run: yarn install working-directory: "front/packages/iframe-api-typings" From b6b7d1e66c88fc482e5d946219ac9292b01eb97c Mon Sep 17 00:00:00 2001 From: Lukas Hass Date: Thu, 3 Feb 2022 18:45:26 +0100 Subject: [PATCH 40/88] tsconfig exclude build artifacts --- front/tsconfig.json | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/front/tsconfig.json b/front/tsconfig.json index df902342..b9057d28 100644 --- a/front/tsconfig.json +++ b/front/tsconfig.json @@ -28,5 +28,11 @@ "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */ "noFallthroughCasesInSwitch": true /* Report errors for fallthrough cases in switch statement. */ - } + }, + "exclude": [ + "node_modules", + "dist", + "public/iframe_api.js", + "packages/iframe-api-typings" + ] } From f8d0a917768288182c4dcdbada5ce4afe566a929 Mon Sep 17 00:00:00 2001 From: Lukas Hass Date: Thu, 3 Feb 2022 18:47:51 +0100 Subject: [PATCH 41/88] add generic to pass undefined type --- front/src/Stores/Utils/MapStore.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/front/src/Stores/Utils/MapStore.ts b/front/src/Stores/Utils/MapStore.ts index 54c7b793..53d2c112 100644 --- a/front/src/Stores/Utils/MapStore.ts +++ b/front/src/Stores/Utils/MapStore.ts @@ -89,7 +89,7 @@ export class MapStore extends Map implements Readable> { } } - return readable(initStoreValue, (set) => { + return readable(initStoreValue, (set) => { const storeByKey = this.getStore(key); let unsubscribeDeepStore: Unsubscriber | undefined; From 330b6ea1c58f2869cffec5166ea4424e7957435e Mon Sep 17 00:00:00 2001 From: Hanusiak Piotr Date: Mon, 7 Feb 2022 15:10:20 +0100 Subject: [PATCH 42/88] prettier --- .../EnableCamera/HorizontalSoundMeterWidget.svelte | 1 - front/src/Phaser/Components/TalkIcon.ts | 11 +++++------ front/src/Stores/MediaStore.ts | 6 +++--- front/src/WebRtc/VideoPeer.ts | 8 ++++---- 4 files changed, 12 insertions(+), 14 deletions(-) diff --git a/front/src/Components/EnableCamera/HorizontalSoundMeterWidget.svelte b/front/src/Components/EnableCamera/HorizontalSoundMeterWidget.svelte index 1e8000ba..b468bffd 100644 --- a/front/src/Components/EnableCamera/HorizontalSoundMeterWidget.svelte +++ b/front/src/Components/EnableCamera/HorizontalSoundMeterWidget.svelte @@ -1,5 +1,4 @@
{#if $constraintStore && $constraintStore.audio !== false} - + {/if}
diff --git a/front/src/Phaser/Components/SoundMeter.ts b/front/src/Phaser/Components/SoundMeter.ts index 1d97be50..6e12912f 100644 --- a/front/src/Phaser/Components/SoundMeter.ts +++ b/front/src/Phaser/Components/SoundMeter.ts @@ -1,4 +1,4 @@ -import type { IAnalyserNode, IAudioContext, IMediaStreamAudioSourceNode } from "standardized-audio-context"; +import { AudioContext, IAnalyserNode, IAudioContext, IMediaStreamAudioSourceNode } from "standardized-audio-context"; /** * Class to measure the sound volume of a media stream @@ -6,41 +6,15 @@ import type { IAnalyserNode, IAudioContext, IMediaStreamAudioSourceNode } from " export class SoundMeter { private instant: number; private clip: number; - //private script: ScriptProcessorNode; private analyser: IAnalyserNode | undefined; private dataArray: Uint8Array | undefined; private context: IAudioContext | undefined; private source: IMediaStreamAudioSourceNode | undefined; - constructor() { + constructor(mediaStream: MediaStream) { this.instant = 0.0; this.clip = 0.0; - //this.script = context.createScriptProcessor(2048, 1, 1); - } - - private init(context: IAudioContext) { - this.context = context; - this.analyser = this.context.createAnalyser(); - - this.analyser.fftSize = 2048; - const bufferLength = this.analyser.fftSize; - this.dataArray = new Uint8Array(bufferLength); - } - - public connectToSource(stream: MediaStream, context: IAudioContext): void { - if (this.source !== undefined) { - this.stop(); - } - - this.init(context); - - this.source = this.context?.createMediaStreamSource(stream); - if (this.analyser !== undefined) { - this.source?.connect(this.analyser); - } - //analyser.connect(distortion); - //distortion.connect(this.context.destination); - //this.analyser.connect(this.context.destination); + this.connectToSource(mediaStream, new AudioContext()); } public getVolume(): number { @@ -78,4 +52,29 @@ export class SoundMeter { this.dataArray = undefined; this.source = undefined; } + + private init(context: IAudioContext) { + this.context = context; + this.analyser = this.context.createAnalyser(); + + this.analyser.fftSize = 2048; + const bufferLength = this.analyser.fftSize; + this.dataArray = new Uint8Array(bufferLength); + } + + private connectToSource(stream: MediaStream, context: IAudioContext): void { + if (this.source !== undefined) { + this.stop(); + } + + this.init(context); + + this.source = this.context?.createMediaStreamSource(stream); + if (this.analyser !== undefined) { + this.source?.connect(this.analyser); + } + //analyser.connect(distortion); + //distortion.connect(this.context.destination); + //this.analyser.connect(this.context.destination); + } } diff --git a/front/src/Stores/MediaStore.ts b/front/src/Stores/MediaStore.ts index be36ca3f..9494eb7e 100644 --- a/front/src/Stores/MediaStore.ts +++ b/front/src/Stores/MediaStore.ts @@ -543,23 +543,21 @@ export const obtainedMediaConstraintStore = derived(null, (set) => { +export const localVolumeStore = readable(undefined, (set) => { let timeout: ReturnType; const unsubscribe = localStreamStore.subscribe((localStreamStoreValue) => { clearInterval(timeout); if (localStreamStoreValue.type === "error") { - set(null); + set(undefined); return; } - const soundMeter = new SoundMeter(); const mediaStream = localStreamStoreValue.stream; if (mediaStream === null || mediaStream.getAudioTracks().length <= 0) { - set(null); + set(undefined); return; } - - soundMeter.connectToSource(mediaStream, new AudioContext()); + const soundMeter = new SoundMeter(mediaStream); let error = false; timeout = setInterval(() => { diff --git a/front/src/WebRtc/VideoPeer.ts b/front/src/WebRtc/VideoPeer.ts index 12bd2e57..f0ebffdd 100644 --- a/front/src/WebRtc/VideoPeer.ts +++ b/front/src/WebRtc/VideoPeer.ts @@ -36,7 +36,7 @@ export class VideoPeer extends Peer { private onBlockSubscribe: Subscription; private onUnBlockSubscribe: Subscription; public readonly streamStore: Readable; - public readonly volumeStore: Readable; + public readonly volumeStore: Readable; public readonly statusStore: Readable; public readonly constraintsStore: Readable; private newMessageSubscribtion: Subscription | undefined; @@ -73,15 +73,14 @@ export class VideoPeer extends Peer { }; }); - this.volumeStore = readable(null, (set) => { + this.volumeStore = readable(undefined, (set) => { let timeout: ReturnType; const unsubscribe = this.streamStore.subscribe((mediaStream) => { if (mediaStream === null || mediaStream.getAudioTracks().length <= 0) { - set(null); + set(undefined); return; } - const soundMeter = new SoundMeter(); - soundMeter.connectToSource(mediaStream, new AudioContext()); + const soundMeter = new SoundMeter(mediaStream); let error = false; timeout = setInterval(() => { From 65fb15704e8968298af46d87b5771a0af0e09486 Mon Sep 17 00:00:00 2001 From: Hanusiak Piotr Date: Thu, 10 Feb 2022 17:15:33 +0100 Subject: [PATCH 45/88] calculate cost for exit tiles --- front/src/Phaser/Game/GameMap.ts | 38 +++++ front/src/Phaser/Game/GameScene.ts | 9 +- front/src/Utils/PathfindingManager.ts | 21 ++- maps/tests/PathfinderAvoidExits/map1.json | 177 +++++++++++++++++++++ maps/tests/PathfinderAvoidExits/map2.json | 184 ++++++++++++++++++++++ maps/tests/index.html | 8 + 6 files changed, 427 insertions(+), 10 deletions(-) create mode 100644 maps/tests/PathfinderAvoidExits/map1.json create mode 100644 maps/tests/PathfinderAvoidExits/map2.json diff --git a/front/src/Phaser/Game/GameMap.ts b/front/src/Phaser/Game/GameMap.ts index f4791a8f..53153c6a 100644 --- a/front/src/Phaser/Game/GameMap.ts +++ b/front/src/Phaser/Game/GameMap.ts @@ -133,6 +133,18 @@ export class GameMap { return grid; } + public getWalkingCostGrid(): number[][] { + const grid: number[][] = []; + for (let y = 0; y < this.map.height; y += 1) { + const row: number[] = []; + for (let x = 0; x < this.map.width; x += 1) { + row.push(this.getWalkingCostAt(x, y)); + } + grid.push(row); + } + return grid; + } + public getTileDimensions(): { width: number; height: number } { return { width: this.map.tilewidth, height: this.map.tileheight }; } @@ -339,6 +351,32 @@ export class GameMap { return false; } + private getWalkingCostAt(x: number, y: number): number { + const bigCost = 100; + for (const layer of this.phaserLayers) { + if (!layer.visible) { + continue; + } + const tile = layer.getTileAt(x, y); + if (!tile) { + continue; + } + if ( + tile && + (tile.properties[GameMapProperties.EXIT_URL] || tile.properties[GameMapProperties.EXIT_SCENE_URL]) + ) { + return bigCost; + } + for (const property of layer.layer.properties) { + //@ts-ignore + if (property.name && property.name === "exitUrl") { + return bigCost; + } + } + } + return 0; + } + private triggerAllProperties(): void { const newProps = this.getProperties(this.key ?? 0); const oldProps = this.lastProperties; diff --git a/front/src/Phaser/Game/GameScene.ts b/front/src/Phaser/Game/GameScene.ts index 9b5a9918..45ec3968 100644 --- a/front/src/Phaser/Game/GameScene.ts +++ b/front/src/Phaser/Game/GameScene.ts @@ -570,6 +570,7 @@ export class GameScene extends DirtyScene { this.pathfindingManager = new PathfindingManager( this, this.gameMap.getCollisionGrid(), + this.gameMap.getWalkingCostGrid(), this.gameMap.getTileDimensions() ); @@ -583,12 +584,6 @@ export class GameScene extends DirtyScene { waScaleManager ); - this.pathfindingManager = new PathfindingManager( - this, - this.gameMap.getCollisionGrid(), - this.gameMap.getTileDimensions() - ); - this.activatablesManager = new ActivatablesManager(this.CurrentPlayer); biggestAvailableAreaStore.recompute(); @@ -1530,7 +1525,7 @@ ${escapedMessage} phaserLayers[i].setCollisionByProperty({ collides: true }, visible); } } - this.pathfindingManager.setCollisionGrid(this.gameMap.getCollisionGrid()); + this.pathfindingManager.setCollisionGrid(this.gameMap.getCollisionGrid(), this.gameMap.getWalkingCostGrid()); this.markDirty(); } diff --git a/front/src/Utils/PathfindingManager.ts b/front/src/Utils/PathfindingManager.ts index c5057ed8..496ed112 100644 --- a/front/src/Utils/PathfindingManager.ts +++ b/front/src/Utils/PathfindingManager.ts @@ -8,19 +8,26 @@ export class PathfindingManager { private grid: number[][]; private tileDimensions: { width: number; height: number }; - constructor(scene: Phaser.Scene, collisionsGrid: number[][], tileDimensions: { width: number; height: number }) { + constructor( + scene: Phaser.Scene, + collisionsGrid: number[][], + walkingCostGrid: number[][], + tileDimensions: { width: number; height: number } + ) { this.scene = scene; this.easyStar = new EasyStar.js(); - this.easyStar.enableDiagonals(); + // this.easyStar.enableDiagonals(); this.grid = collisionsGrid; this.tileDimensions = tileDimensions; this.setEasyStarGrid(collisionsGrid); + this.setWalkingCostGrid(walkingCostGrid); } - public setCollisionGrid(collisionGrid: number[][]): void { + public setCollisionGrid(collisionGrid: number[][], walkingCostGrid: number[][]): void { this.setEasyStarGrid(collisionGrid); + this.setWalkingCostGrid(walkingCostGrid); } public async findPath( @@ -115,6 +122,14 @@ export class PathfindingManager { this.easyStar.setAcceptableTiles([0]); // zeroes are walkable } + private setWalkingCostGrid(grid: number[][]): void { + for (let y = 0; y < grid.length; y += 1) { + for (let x = 0; x < grid[y].length; x += 1) { + this.easyStar.setAdditionalPointCost(x, y, grid[y][x]); + } + } + } + private logGridToTheConsole(grid: number[][]): void { let rowNumber = 0; for (const row of grid) { diff --git a/maps/tests/PathfinderAvoidExits/map1.json b/maps/tests/PathfinderAvoidExits/map1.json new file mode 100644 index 00000000..51361ced --- /dev/null +++ b/maps/tests/PathfinderAvoidExits/map1.json @@ -0,0 +1,177 @@ +{ "compressionlevel":-1, + "height":10, + "infinite":false, + "layers":[ + { + "data":[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], + "height":10, + "id":1, + "name":"floor", + "opacity":1, + "type":"tilelayer", + "visible":true, + "width":10, + "x":0, + "y":0 + }, + { + "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + "height":10, + "id":2, + "name":"start", + "opacity":0.9, + "type":"tilelayer", + "visible":true, + "width":10, + "x":0, + "y":0 + }, + { + "data":[17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 0, 0, 0, 0, 0, 0, 0, 0, 17, 17, 0, 0, 0, 0, 0, 0, 0, 0, 17, 17, 0, 0, 0, 0, 0, 0, 0, 0, 17, 17, 0, 0, 0, 0, 0, 0, 0, 0, 17, 17, 0, 0, 0, 0, 0, 0, 0, 0, 17, 17, 0, 0, 0, 0, 0, 0, 0, 0, 17, 17, 0, 0, 0, 0, 0, 0, 0, 0, 17, 17, 0, 0, 0, 0, 0, 0, 0, 0, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17], + "height":10, + "id":7, + "name":"walls", + "opacity":1, + "type":"tilelayer", + "visible":true, + "width":10, + "x":0, + "y":0 + }, + { + "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 34, 34, 34, 34, 34, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 34, 34, 34, 34, 34, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 34, 34, 34, 34, 34, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + "height":10, + "id":8, + "name":"exit", + "opacity":1, + "properties":[ + { + "name":"exitUrl", + "type":"string", + "value":"map2.json" + }], + "type":"tilelayer", + "visible":true, + "width":10, + "x":0, + "y":0 + }, + { + "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + "height":10, + "id":9, + "name":"from_exit2", + "opacity":1, + "properties":[ + { + "name":"startLayer", + "type":"bool", + "value":true + }], + "type":"tilelayer", + "visible":true, + "width":10, + "x":0, + "y":0 + }, + { + "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + "height":10, + "id":10, + "name":"funritures", + "opacity":1, + "type":"tilelayer", + "visible":true, + "width":10, + "x":0, + "y":0 + }, + { + "draworder":"topdown", + "id":3, + "name":"floorLayer", + "objects":[ + { + "height":58.0929629319722, + "id":2, + "name":"", + "rotation":0, + "text": + { + "text":"DO NOT fall into the water or you will drown! Use right-click to move", + "wrap":true + }, + "type":"", + "visible":true, + "width":207.776169358213, + "x":78.9920090369007, + "y":34.4126432934483 + }], + "opacity":1, + "type":"objectgroup", + "visible":true, + "x":0, + "y":0 + }], + "nextlayerid":11, + "nextobjectid":3, + "orientation":"orthogonal", + "renderorder":"right-down", + "tiledversion":"1.7.2", + "tileheight":32, + "tilesets":[ + { + "columns":11, + "firstgid":1, + "image":"..\/tileset1.png", + "imageheight":352, + "imagewidth":352, + "margin":0, + "name":"tileset1", + "spacing":0, + "tilecount":121, + "tileheight":32, + "tiles":[ + { + "id":16, + "properties":[ + { + "name":"collides", + "type":"bool", + "value":true + }] + }, + { + "id":17, + "properties":[ + { + "name":"collides", + "type":"bool", + "value":true + }] + }, + { + "id":18, + "properties":[ + { + "name":"collides", + "type":"bool", + "value":true + }] + }, + { + "id":19, + "properties":[ + { + "name":"collides", + "type":"bool", + "value":true + }] + }], + "tilewidth":32 + }], + "tilewidth":32, + "type":"map", + "version":"1.6", + "width":10 +} \ No newline at end of file diff --git a/maps/tests/PathfinderAvoidExits/map2.json b/maps/tests/PathfinderAvoidExits/map2.json new file mode 100644 index 00000000..449de40f --- /dev/null +++ b/maps/tests/PathfinderAvoidExits/map2.json @@ -0,0 +1,184 @@ +{ "compressionlevel":-1, + "height":10, + "infinite":false, + "layers":[ + { + "data":[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], + "height":10, + "id":1, + "name":"floor", + "opacity":1, + "type":"tilelayer", + "visible":true, + "width":10, + "x":0, + "y":0 + }, + { + "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + "height":10, + "id":2, + "name":"start", + "opacity":1, + "type":"tilelayer", + "visible":true, + "width":10, + "x":0, + "y":0 + }, + { + "data":[17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 0, 0, 0, 0, 0, 0, 0, 0, 17, 17, 0, 0, 0, 0, 0, 0, 0, 0, 17, 17, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 17, 0, 0, 0, 0, 0, 0, 0, 0, 17, 17, 0, 0, 0, 0, 0, 0, 0, 0, 17, 17, 0, 0, 0, 0, 0, 0, 0, 0, 17, 17, 0, 0, 0, 0, 0, 0, 0, 0, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17], + "height":10, + "id":7, + "name":"walls", + "opacity":1, + "type":"tilelayer", + "visible":true, + "width":10, + "x":0, + "y":0 + }, + { + "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + "height":10, + "id":8, + "name":"exit", + "opacity":1, + "properties":[ + { + "name":"exitUrl", + "type":"string", + "value":"map1.json#from_exit2" + }], + "type":"tilelayer", + "visible":true, + "width":10, + "x":0, + "y":0 + }, + { + "draworder":"topdown", + "id":3, + "name":"floorLayer", + "objects":[ + { + "height":19, + "id":2, + "name":"", + "rotation":0, + "text": + { + "text":"YOU ", + "wrap":true + }, + "type":"", + "visible":true, + "width":33.1966362647477, + "x":143.254413856581, + "y":65.4728056229604 + }, + { + "height":39.3497615262321, + "id":3, + "name":"", + "rotation":0, + "text": + { + "fontfamily":"MS Shell Dlg 2", + "pixelsize":32, + "text":"ARE", + "wrap":true + }, + "type":"", + "visible":true, + "width":81.3934036147603, + "x":130.134191004937, + "y":102.423688394277 + }, + { + "height":124.497486386076, + "id":4, + "name":"", + "rotation":0, + "text": + { + "color":"#ff0000", + "fontfamily":"MS Shell Dlg 2", + "pixelsize":96, + "text":"DEAD", + "wrap":true + }, + "type":"", + "visible":true, + "width":246.869092410677, + "x":41.7733861852564, + "y":157.582233294285 + }], + "opacity":1, + "type":"objectgroup", + "visible":true, + "x":0, + "y":0 + }], + "nextlayerid":9, + "nextobjectid":5, + "orientation":"orthogonal", + "renderorder":"right-down", + "tiledversion":"1.7.2", + "tileheight":32, + "tilesets":[ + { + "columns":11, + "firstgid":1, + "image":"..\/tileset1.png", + "imageheight":352, + "imagewidth":352, + "margin":0, + "name":"tileset1", + "spacing":0, + "tilecount":121, + "tileheight":32, + "tiles":[ + { + "id":16, + "properties":[ + { + "name":"collides", + "type":"bool", + "value":true + }] + }, + { + "id":17, + "properties":[ + { + "name":"collides", + "type":"bool", + "value":true + }] + }, + { + "id":18, + "properties":[ + { + "name":"collides", + "type":"bool", + "value":true + }] + }, + { + "id":19, + "properties":[ + { + "name":"collides", + "type":"bool", + "value":true + }] + }], + "tilewidth":32 + }], + "tilewidth":32, + "type":"map", + "version":"1.6", + "width":10 +} \ No newline at end of file diff --git a/maps/tests/index.html b/maps/tests/index.html index e8bf4369..3b3c700a 100644 --- a/maps/tests/index.html +++ b/maps/tests/index.html @@ -88,6 +88,14 @@ Test exits + + + Success Failure Pending + + + Test Pathfinder Avoid Exits + + Success Failure Pending From 639c456540af41a3d63849e75651f93adb44e06c Mon Sep 17 00:00:00 2001 From: Hanusiak Piotr Date: Mon, 14 Feb 2022 10:37:13 +0100 Subject: [PATCH 46/88] use png instead of svg for talk icon --- front/dist/resources/icons/icon_talking.svg | 1 - front/src/Phaser/Components/TalkIcon.ts | 2 +- front/src/Phaser/Game/GameScene.ts | 7 ++++--- 3 files changed, 5 insertions(+), 5 deletions(-) delete mode 100644 front/dist/resources/icons/icon_talking.svg diff --git a/front/dist/resources/icons/icon_talking.svg b/front/dist/resources/icons/icon_talking.svg deleted file mode 100644 index 2f1d03e3..00000000 --- a/front/dist/resources/icons/icon_talking.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/front/src/Phaser/Components/TalkIcon.ts b/front/src/Phaser/Components/TalkIcon.ts index 62257173..78e9379f 100644 --- a/front/src/Phaser/Components/TalkIcon.ts +++ b/front/src/Phaser/Components/TalkIcon.ts @@ -11,7 +11,7 @@ export class TalkIcon extends Phaser.GameObjects.Image { super(scene, x, y, "iconTalk"); this.defaultPosition = { x, y }; - this.defaultScale = 0.15; + this.defaultScale = 0.3; this.shown = false; this.setAlpha(0); diff --git a/front/src/Phaser/Game/GameScene.ts b/front/src/Phaser/Game/GameScene.ts index 6a92f6d1..1de19a9f 100644 --- a/front/src/Phaser/Game/GameScene.ts +++ b/front/src/Phaser/Game/GameScene.ts @@ -251,7 +251,7 @@ export class GameScene extends DirtyScene { loadCustomTexture(this.load, texture).catch((e) => console.error(e)); } } - this.load.svg("iconTalk", "/resources/icons/icon_talking.svg"); + this.load.image("iconTalk", "/resources/icons/icon_talking.png"); if (touchScreenManager.supportTouchScreen) { this.load.image(joystickBaseKey, joystickBaseImg); @@ -646,6 +646,7 @@ export class GameScene extends DirtyScene { this.connect(); } + const talkIconVolumeTreshold = 10; let oldPeerNumber = 0; this.peerStoreUnsubscribe = peerStore.subscribe((peers) => { this.volumeStoreUnsubscribers.forEach((unsubscribe) => unsubscribe()); @@ -656,7 +657,7 @@ export class GameScene extends DirtyScene { key, videoStream.volumeStore.subscribe((volume) => { if (volume) { - this.MapPlayersByKey.get(key)?.showTalkIcon(volume > 5); + this.MapPlayersByKey.get(key)?.showTalkIcon(volume > talkIconVolumeTreshold); } }) ); @@ -671,7 +672,7 @@ export class GameScene extends DirtyScene { if (newPeerNumber > 0) { this.localVolumeStoreUnsubscriber = localVolumeStore.subscribe((volume) => { if (volume) { - this.CurrentPlayer.showTalkIcon(volume > 5); + this.CurrentPlayer.showTalkIcon(volume > talkIconVolumeTreshold); } }); } else { From 6f416222639e8fb17e32269934525f5650c9489a Mon Sep 17 00:00:00 2001 From: Hanusiak Piotr Date: Mon, 14 Feb 2022 16:26:50 +0100 Subject: [PATCH 47/88] unignoring resources directory --- front/dist/.gitignore | 1 + front/dist/resources/icons/icon_talking.png | Bin 0 -> 11283 bytes 2 files changed, 1 insertion(+) create mode 100644 front/dist/resources/icons/icon_talking.png diff --git a/front/dist/.gitignore b/front/dist/.gitignore index bc766e57..beb1ee19 100644 --- a/front/dist/.gitignore +++ b/front/dist/.gitignore @@ -4,3 +4,4 @@ index.html style.*.css !env-config.template.js *.png +!/resources/** diff --git a/front/dist/resources/icons/icon_talking.png b/front/dist/resources/icons/icon_talking.png new file mode 100644 index 0000000000000000000000000000000000000000..9d566f4e418689f8732982f9e4c48e4432562d0a GIT binary patch literal 11283 zcmeHtXH-+&)-}B&RX`94MJXCe2rUqb)PQuP3KBxV2%&{0y%zyNiXcq^=~AWl4$^z? zRgkJEC?Id}DfhYKd;i=qzW3iv#yL4>@3rPyYwo%CIA@Q9YiTG`k};Fv;NVcgR1|cu zzmKqoJ_!-_eBb#<8V83S=%HumtOIugI5^o`p=^-==VuN`0MZ?0g@fZhyO(U@bW5uVvK;#YyWMhE7vWV&f!uXtYWSmpb4y?@OioIryse(rc-rciUyd{)c zN>sE#WxM-0^#NU_^)Ank&%{o>E*IHemmpTwPBeNy%dQu8czXOYdAt-_eb9b}Gi0(A zcP^;qJwV;njSp<@Dv_b2e^YJAFthcIIj@mO^+VWcM&y%r z@$p;MO!N8Uqea?Hn9x3b?3Vq5Z$f|>d*}Qms3+@S_73Yk%YBnsIn<{tqkOk}ig%lvJMrX1v)N6~2NJWm6)iKE`uVf&`Dx=&hBU*) zy7w8>dIB@m&*#BkQ`f-ot*YZJ{3{XX%=iS{_^7u;FlfJU<_sMXJz(fX(Ri>H~&m+Y*P&oLBk<9j>(BJF1TsUOD8Ved;7l zkek=VMTm&VUokFu*B+QTyhylDvZ;2TE&a6X$zT^nMC!!`n1gn(FW-sv{QJ)z-K)uA zZ<7*>6qsMI4pGauJywaadrQYncA!Z~WLkoI@9;se5IYTSCPQoxZ9`Wc`*M$}A0$Wl zsTH+9fR<6ID^-VGRAhGiQRYfI^X)H{Yo0CrJA4W6I&!i#N}U+KC}VDi)^UC0&{4=% zjWg5vsHn#}1P`2@kW*AO>0v!M*ppT$$$c!n zs=`U-m_@Qi<=MpkG4R1Bt~ z$Ee>cLN8b$l0IUFj6sMa$t}#O&1CnH7su0=XIV8818l1dmv-x^!TTvM&qVCrD58y6 zlEo}EuP5tzXZ{p#Qr7It-JTP@w9H5BnHmUmA6Xaiv}msO5341G6bftG03z%XILkl7 z!^&*#ev5y&86NrC=HpA>rU9jIHY>5>PPIKdshQ8e@gL_HiM*vE%B)7(ps_H5JI;XG?U4~l#R+Ru?{+r5f<9e}g-b9^Q z*Us=*@0&0oQh^}9)qup4RAdb9g_1|G*VE`($cq`+CV;A50Al=Dg6%+m+xtW-n{5b> znfpy0eRnYI7A%IwHlt~9G|^kN-f4B_q~ip!9~XE!5*^=G>g!FqRi>g)5J8zefd()g5!@N;wMShMeu0vwLcQidR`bbL?!G1Il;gfZbQ9~(@!ZFC;}`iQOOJM>9p`_}&OGKW zIOEf8PRZLhNxx9ftXuM|Jdr-3P>N?+2Vn^KXOkJS?i+2I;?tkj)PcC_wsd0(lPJCb zNDnpUwS>daH*QO3;eV5B>SJ4vG=o&DHAyrhkqpR zf;pH$@sB8z17{#!y@j@2m4|1i_zH6C^n%7W@}=;`FC(8xYWCkP^Wf@D(qZo}#Q!p# z=?L!ml=;lmlWu20sr@=PTBRabne$zP7^13F1Aaq>t!B>bX24H5e|Z+0wl^hkgdLOX z`?(&@u2IRVW;BgIS>KcpFVCt=VOjgs&^$gUd0n!$f`B$UjAmVaCU>)yUCA|PabTJ> zZsYm;gHY*PBNcbpQ#I$y-zZ%ux7Y^>D4M_P5-}hAB*B_0jT-MORty^UhiyzS&dg~q zdzL&sb8yQI{eV&x{1M`C)0qa0lLpceqwDJg2fgJQ0+iAj;S-mJ*UO&LC?}uIh--`8 zMOPRbeIh8b8&IE2;_Lesp1c>CZ$*G#gnB2@|HO%8K%sD!M#69K(WW|B`EgdNzDiGA z?si#z*?YOf+ecZ>GL(4C3FXVbQd+Y!^%(--6#5pKRqWD|b*HO=w{GZ`Nx_{{ zrdcH&1z6=&-9l&je^~B)V%mV^T|bG0(U@uZS>9g798sr7z0FM17#M2{&A85_^7^#I znA+xUrOC;m4>#qcsQi$+9S@x5BInuwhlTK0kC0)nMNTuBh z)L_Uu@Gzz?e%z0Z)vGt$(?hMgc4Q=PPb6V9)Hh>S)!T^}nkKXTP~gznm&(w$i16gZ z@0-CRm#dr3hbKhu4;!NJMZ=ApIKcQlg+8}dr>d2LoY#jb2JTZtrOq0EVsfy^{FEwG zXfX#Shows7?8ATWd09 z2iUl~m&D}Zh3!+=tXzMY@=|ZEvu7?*v?E; z!JYUh6qID85+Q?XA|dLET13$g{2f+RSM!=a?|Kdq>2}tRnx)o=`Q@7jIy7LQ#_yQ5 z6*<78Lpr%gU6xqxkq(wq;W4^0rhyf56oDtBOs%vc-wY!BP{sg48H_xARV?C>6@b?o zlHmE}Zl>sqP9jY`zUPPAZ+Ga1qx7{+S()7K&+7u?b`nMR2ixh5IeZ>hsl|4=AAERh zU~IJiCck21K}HvqU+iZEt3X8Ou{mr+)|%FiDS zA41r=FU|Laf7yK4kK-LwHj(K+{CK+WNq#!(bJ9rYg>F7u#A~Wr^0vo)Ja-_?zq}tH zmnd>CC=l(D=_t)=<~$!usYO-s&4K4YzTBQ5gNa^=KngD87S$M#8I{ryqrQrNrQADVIQ6E|Mh#+4^MK0*=6VFc%P@%26uEaWO3+%Ru zWF#R@BK(v#HtQ5%S`O0HUJ zK8OTnBhvME_5>>Ztoo9@iK)uw2k7U=pDdTW1Qg$oS;!r z7p8CB(U6ugK(@|*S$l98i7*+rFyUjA^nsFO~~))tz^vi`g?qb(myHdoP;0$VaOOy6h3_=s#Gd;4N+i2CO3?R@Sz zvZ?=&Tzr|xiODt4BTJNbJ#M$S?sL(5yjz5a+#dSd>S%e< zJIOzTNX!Rq!_r6mB4*jD!>U(=+SJ$TTo_q>dFs&2tO9VQf$<>z3jHrL`?k{z;S6LF z{ecmF=67kvOeK)vu56YDj#a>SY8iJv;^CO3nd{4zQTxX`vDz4u!&k1mZ?aiwLxfF* zlH>RF=rV~s$qjS@Gv^HHO7CaCo&nD6zvfSIV-KAxa~da6{aHRKjlTb09|(~GnlwLX zDZB6)?|GT=`4;}twl-x>6@j6KtZZ!Y%+W}C_>*_DjL$gWx}nsyMr6#7Crw(1ZyLmy z*X3X-&h{&i#8H*LY+%1;#e{>W7OPgjTPWhZ*e~{2eIr-hAby+$btxo?@G}CCM z7U{a4aUgXtM$+r`y`icw+!gj(-lCekg-QH;-3s)wq5Ped`8>_#@<%MFV0(+ZsS|ZAs2>=z?u@G zv|*zB#rhdF4}xm%h`nB_kM*z9?ZJ&Gv~No8_WxpBi_8 zzQn`T0$`-+W+M_d!E~R9oQc8zj_NwY0%#a)p*KXR7YY4Ba=UfkrzdLI9EUxVNu{N| zqes|MUrcXW=%&os>p^$W5#$u_G@9NJ*O#vEkwOLnz>*_pr~dsg@r3I#$*o7(*?|LChPs#Uih|W zY-wUH=nTN=AGWsnIR_R#B-#MYIX(^{a5ef6fhV94b<6S&EDh6C9B@O{)plrcUsXA@ zW=ADm{n|XV(X!g&O+8mX!6Uy*`8+0Z-d&Uyqh}j{IQRwQM-Zv|(;9+x!s(pWQkwgG zcual@EhhOB&N%b(KHc?}>&Z|-`V4%X^6wEhPAuzP+@Iz%GAFJ4G|zpt6vElOq~U%I zqgADKp!NQ6%6wlU@#k6l%A-rm+c76!{a8-XZLjeZO#H)a%8lLHdI1Lpu!iug3 zDi8e3bj+v5pf5&{^;1+URllSX$TA+@_eJ>bGi?8w@vvstdCVY9R4ib6k>uthLZ$uH zZh@+cGLH7kyUpmX8?nkxbO0oOo}#cbPkLL!Fk^?yz7|chdMv>N;_K}hApF6TxE0YbcW>TEe^sg-%2k1Ks z>IZ(4Vm4V~u?&(JHV1qFGiDoxndVb276~!V$x)K{&rO+LGxHDCu*fY_cM#dDn4j3b z=`XjpB4tcffM+zmWwwencUl)sW1AN;MA9e6MxX3$>GECnM>$>; z>h-9cH-TrrUDAWMgHCm8@8m~7cXtRXt8MRky(Mi)Bdy-K{a@B%{X`jo{R-q9BUmC39g78KWdoG;#pSge3-HO#6+NKDoxJ! zc~cF}B!1d=%e95~+<2#zMSh`v!QleAWaL%WPBDTi_;V!`TFMmis%_ryaUu0?gvPh# zGH^=@!pZySTgxrQj*V?+?7UyOCOmDWdz+Z*XU{O;qB!UGbYI%h{rw1zADAZjEE8HO z`<&_Wfe5(nx;K6y24;@~+PT_APq*QJa zxK?qMbL4L9F%xt!`@h6LCrJc%de6vJ6B{D@YNi*uzWND`EB110PSwcxN_7vX?TA^~ zie00wc%tpO$;*rn%f1aMEbD7zFimuzqNQRhT~}wM%Ar7=Q~~`9Z@wQGvtsJr7w5}= zxC|roMn|?Q)Ed8*hpXsu5W&K$SK{c1@83TX;rZqSTJhr=@xR9IPqjh#hMQb7wPFUY z4g?V=Ke}T|vN_&z6OZ<-_=(S2h6}N^7&EFjZ_?o`+5f2l>jRZj+Qx}0bUnI_Lm}xs z&~qofN;NC(!y-#To-y%RKwz8xSWOZ2 zS;^QEH_3VA19yM6UM{;;>)SmYRU=dK8)WSM!9<8xFWa~yzSR9f zR|fZds3l?XIMJqMmwS66hXI23v)Vu6b571KZlYw%avXa~`Q0BVvf7)6K1xgRxI}jT z=^`c7UD6tCe)KMtUidd};vt^(n%RHdFP>cd1s(fzK&*4iDcR9y!x_85%Y?#iTb zPSyfK5)u*uf*=792#B=+VxHMK!`*>)7|tt*KQI)K7=#nb!5L+52e`t7TiCleLpeCG z{eZvnLp!Le{|#@4`I7}K9|G=h2LT~|K>;*c;GZ5CXGK>m$e#)QuO1jZ?0&d_4iaPU z;)Fmdx+3kIIsXY^iTK;!!Ntk;cR7{_0i-PwjWxw!qYC|7NM)G1*54ji6j-Cs4!^yy zWdEC`Gs@~;Wc^!iS3SSW`DY?n_rG!f&HAs}e;Z@1)YTyh_6V1&^k525j;r_(OM3*$ z67u^JX=w!#6&3{p5#mTOAXo^D1d2-tivk6$K-i~kON5n}1mYi1FguJh+zx@fg2ICH zqp&yva_^z!~Dxw4~0hRI>WE{6cPo4#f61H zAQ7;LsF0Azzl`*eP8h5fuTX^q`9b2pd#(lsf-MJ2E&NKUSb*Q{*lHm1PDr@3y_253 zy)BgEDh0rm=Wl@nr2ZHd6%+<*@$5?Tf2v*=>G;RpACtfq^}7oI_$^!r9PvjG4BQoI z`8yES?~g9T6S$o<5U`A^s@uZ*+{km9rb%2`OidtrS}gRzkn40r31uChxyzMA$oRkN`Y&Do5d;5`@qg9z|BWuPf4%M??XXWkZrGO@ z&E~J=*cTxp3pHg0oXe~4+s52DYzwJ_iV+3}hn()}z{N>UWx_TRJHyl!i8t}Ck+K7| zlnGpLa7aGD6y)@<|A$F4v8A87(d}#feRZL7%1odtv6GR3V*GurJV{~Sil7hjo-A8uKgKx=8}FDYo=uQ&M=VpM-4KU(A;qWc*a%kgpW~5SL5`fy5D7 z<~w9uE7OjWByRq~d?;Gl9CPvR6M-4jb$xl8*S|WbZFObi=aFRY^R=g& z^rh-wQeM%vG-2J+8E_2d+7+L-Vp{CX@wM>va5Q8kFe^me0*kya=WoGG@g|K;?ynq} zA9|ZRiWa(q24wiFt&3WpRsw<|`RNiqK4A(GDy!-8vp4jAqki2O(tZN7u5d*1ho&vm zi)tHb^KV;e^CfJybu!q6w9$z*+77tk@3KW|@Xgiaq!*}`aHYs!Q>M{G+pWjFsQ*+a z?K(Ewz-#(6zzsj1zMgABs(cPD9$`xtu`t$`ft*gST7RpEm)MfcGtWq-NLKo|k~a6nh|fz*g3@1%|-Uea+IXf7*N znI>k0qU|MDk+)FnjYbE+^JU@do#XB|r;Er!aOGhM zCf-6GS=&GGAJGI9RU%L46%oZaHLUuR28k;!GpPM=dVa=S)#Rwi%F61HtE?uzZ*Ri9aCP=CUWaL!Ne;`(s)VrsjYG& z!^hBD-wh>f8APYzwR<{BDSb}dr|CSbTr?2fflA}9Wd)7N(=&qMjDOiGRV*-yj={Ew3>Ox7!2?@*@ySYE+{ zk75X|tZ%%gyl%yvl3bNSg@Wr%XjPt9x4$dM*x3X{tXOu%FKFqAAjM*|)E7!Q??j*Z z5*BY0Ey#yAxTXb?QpBND=VbAq(T-R;#hzYs2NxXyUdim)u&MNWFXI4DG8J+TtIo=t z<#?yGK{)uxXrI9nh}oIM=i#GzWj?{=S)9;LW=0?!meryNcRd z^4f-6q9~zGlJ}l32k%kdAgmEj$iVq-_c*H0E-lft{%jvddC5K#IF6i^XHy*m7tik| zy>xA;aJfD4a3ch-A!TUVM87SAv3l8cdh_;iMe@pVZ6Da%JzS5^R7-s1mZRNs>Qd`9 zP*t(%HS;i=42OI_{gyZOTPudKRQ%p;KUknfG5`s-b$-`Un>h%>8Q+)Lf~O%%4W6;v zUS%~eeja)X`SDVTFUTK|DAHJIDjpa=sme;1`tz5Q)Nb`DL6fu5dHQ2s0fB(q-=j%n;liWc(yxRbuBt~+_~{ueeiXcCe&E~9`&Op z1>$RX)r_jQY|D6TA3q+d{%(&5=k^R4Jpr_p(QVZ@3WE`GBI>xrBt+*IS+^FeV~7B1 zd{D2i8+%gCIsBiUUPk7OIcEe5TMJM}b6ZiJ@*IC|Sqvs>?6E@(y->Qgx1jKPEPdk6 z_(J!{Ny?|)oiylj*02ERi%mdPu;{#*_SRaIz^>(3dBOWRx_of%pxJs>bV-cA&9OSnj& zLrz-9LBPVi?(&FOyPn-uyKf0DQAPweq(D9&4{SEHlU7_D=>jY>k>vPs${{KMb?rx!nh*}*|Q zq#AG4D-XL%%|9Ad^Mj$tci-+MSd2xu;>ZxDC-0=v=7W7N^Ad6<_wW1X;`$0M53wA- zNotm;2--K6^JNvMxR+eOvhalbYwibwZlH2M{`s3$zsnCf`)rzIhvqGbq(tY<1d}+; zgDx_(vh5(5CF#;Qk;=FdwWz5yboE+}{j?OEjOe@(>m;)LHB##KKmn*aqGW%j&7YOh z5XhOtw{R_eshrOwR~-5MRP&h1!g#iwpTdX4i>h?1oaM#sa0NO&54EznI~)7Zw-ZG8 zB6S3I(r2>-=XleQsD-6#MCT=aF*=4xwRt2*{du{JKQq5uvUiQPb9*H2l2`2k$= v&uazO@UP*P;1v4XEjtJ Date: Mon, 14 Feb 2022 22:07:15 +0100 Subject: [PATCH 48/88] prevent reading property 'collides' of undefined fixes e2e tests --- front/src/Phaser/Game/GameMap.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/front/src/Phaser/Game/GameMap.ts b/front/src/Phaser/Game/GameMap.ts index 3df3cb01..767527a7 100644 --- a/front/src/Phaser/Game/GameMap.ts +++ b/front/src/Phaser/Game/GameMap.ts @@ -336,7 +336,9 @@ export class GameMap { if (!layer.visible) { continue; } - if (layer.getTileAt(x, y)?.properties[GameMapProperties.COLLIDES]) { + // TODO: use optional chaining when https://github.com/DevExpress/testcafe-hammerhead/issues/2714 is fixed + const properties = layer.getTileAt(x, y)?.properties; + if (properties && properties[GameMapProperties.COLLIDES]) { return true; } } From 8c96a986fbce43956b48ab0f1b8827f5d6b8f031 Mon Sep 17 00:00:00 2001 From: Lukas Hass Date: Tue, 15 Feb 2022 11:07:04 +0100 Subject: [PATCH 49/88] remove webpack reference --- front/src/Phaser/Items/Computer/computer.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/front/src/Phaser/Items/Computer/computer.ts b/front/src/Phaser/Items/Computer/computer.ts index 41fb6fc4..c198d7e1 100644 --- a/front/src/Phaser/Items/Computer/computer.ts +++ b/front/src/Phaser/Items/Computer/computer.ts @@ -61,7 +61,6 @@ export default { state = initState; } - // Idée: ESSAYER WebPack? https://paultavares.wordpress.com/2018/07/02/webpack-how-to-generate-an-es-module-bundle/ const computer = new Sprite(scene, object.x, object.y, "computer"); scene.add.existing(computer); if (state.status === "on") { From 0f16d909e7518743bb685840d720111414b092df Mon Sep 17 00:00:00 2001 From: Alexis Faizeau Date: Tue, 15 Feb 2022 11:50:17 +0100 Subject: [PATCH 50/88] The second opened cowebsite must be displayed on highlighted --- front/src/WebRtc/CoWebsiteManager.ts | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/front/src/WebRtc/CoWebsiteManager.ts b/front/src/WebRtc/CoWebsiteManager.ts index a5c57ed6..6173be08 100644 --- a/front/src/WebRtc/CoWebsiteManager.ts +++ b/front/src/WebRtc/CoWebsiteManager.ts @@ -596,12 +596,20 @@ class CoWebsiteManager { .load() .then(() => { const mainCoWebsite = this.getMainCoWebsite(); - if (mainCoWebsite && mainCoWebsite.getId() === coWebsite.getId()) { - this.openMain(); + const highlightedEmbed = get(highlightedEmbedScreen); + if (mainCoWebsite) { + if (mainCoWebsite.getId() === coWebsite.getId()) { + this.openMain(); - setTimeout(() => { - this.fire(); - }, animationTime); + setTimeout(() => { + this.fire(); + }, animationTime); + } else if (!highlightedEmbed) { + highlightedEmbedScreen.toggleHighlight({ + type: "cowebsite", + embed: coWebsite, + }); + } } this.resizeAllIframes(); }) From a52ad233d8583deb3acf99a1b71db8cb0217d9a4 Mon Sep 17 00:00:00 2001 From: Alexis Faizeau Date: Tue, 15 Feb 2022 11:54:58 +0100 Subject: [PATCH 51/88] Fix cowebsite swap --- front/src/WebRtc/CoWebsiteManager.ts | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/front/src/WebRtc/CoWebsiteManager.ts b/front/src/WebRtc/CoWebsiteManager.ts index 6173be08..5a3585f6 100644 --- a/front/src/WebRtc/CoWebsiteManager.ts +++ b/front/src/WebRtc/CoWebsiteManager.ts @@ -159,9 +159,17 @@ class CoWebsiteManager { }); buttonSwipe.addEventListener("click", () => { + const mainCoWebsite = this.getMainCoWebsite(); const highlightedEmbed = get(highlightedEmbedScreen); if (highlightedEmbed?.type === "cowebsite") { this.goToMain(highlightedEmbed.embed); + + if (mainCoWebsite) { + highlightedEmbedScreen.toggleHighlight({ + type: "cowebsite", + embed: mainCoWebsite, + }); + } } }); } From 06dd2202f6e30451ba18bc5c2eab00bd34c17305 Mon Sep 17 00:00:00 2001 From: Alexis Faizeau Date: Tue, 15 Feb 2022 16:00:35 +0100 Subject: [PATCH 52/88] Fix hidden main cowebsite swape --- front/src/Components/EmbedScreens/CamerasContainer.svelte | 2 +- .../Components/EmbedScreens/CoWebsiteThumbnailSlot.svelte | 6 +++--- front/src/Stores/EmbedScreensStore.ts | 6 +++--- front/src/WebRtc/CoWebsiteManager.ts | 7 +++++++ 4 files changed, 14 insertions(+), 7 deletions(-) diff --git a/front/src/Components/EmbedScreens/CamerasContainer.svelte b/front/src/Components/EmbedScreens/CamerasContainer.svelte index 208ae529..6b4382d9 100644 --- a/front/src/Components/EmbedScreens/CamerasContainer.svelte +++ b/front/src/Components/EmbedScreens/CamerasContainer.svelte @@ -3,7 +3,7 @@ import { streamableCollectionStore } from "../../Stores/StreamableCollectionStore"; import MediaBox from "../Video/MediaBox.svelte"; - export let highlightedEmbedScreen: EmbedScreen | null; + export let highlightedEmbedScreen: EmbedScreen | undefined; export let full = false; $: clickable = !full; diff --git a/front/src/Components/EmbedScreens/CoWebsiteThumbnailSlot.svelte b/front/src/Components/EmbedScreens/CoWebsiteThumbnailSlot.svelte index b01dbf0a..e7345223 100644 --- a/front/src/Components/EmbedScreens/CoWebsiteThumbnailSlot.svelte +++ b/front/src/Components/EmbedScreens/CoWebsiteThumbnailSlot.svelte @@ -73,9 +73,9 @@ $mainCoWebsite !== undefined && $mainCoWebsite.getId() === coWebsite.getId(); isHighlight = - $highlightedEmbedScreen !== null && - $highlightedEmbedScreen.type === "cowebsite" && - $highlightedEmbedScreen.embed.getId() === coWebsite.getId(); + $highlightedEmbedScreen !== undefined && + $highlightedEmbedScreen?.type === "cowebsite" && + $highlightedEmbedScreen?.embed.getId() === coWebsite.getId(); } diff --git a/front/src/Stores/EmbedScreensStore.ts b/front/src/Stores/EmbedScreensStore.ts index 724733b3..172ec45b 100644 --- a/front/src/Stores/EmbedScreensStore.ts +++ b/front/src/Stores/EmbedScreensStore.ts @@ -15,7 +15,7 @@ export type EmbedScreen = }; function createHighlightedEmbedScreenStore() { - const { subscribe, set, update } = writable(null); + const { subscribe, set, update } = writable(undefined); return { subscribe, @@ -23,7 +23,7 @@ function createHighlightedEmbedScreenStore() { set(embedScreen); }, removeHighlight: () => { - set(null); + set(undefined); }, toggleHighlight: (embedScreen: EmbedScreen) => { update((currentEmbedScreen) => @@ -36,7 +36,7 @@ function createHighlightedEmbedScreenStore() { currentEmbedScreen.type === "streamable" && embedScreen.embed.uniqueId !== currentEmbedScreen.embed.uniqueId) ? embedScreen - : null + : undefined ); }, }; diff --git a/front/src/WebRtc/CoWebsiteManager.ts b/front/src/WebRtc/CoWebsiteManager.ts index 5a3585f6..a33432dc 100644 --- a/front/src/WebRtc/CoWebsiteManager.ts +++ b/front/src/WebRtc/CoWebsiteManager.ts @@ -561,6 +561,13 @@ class CoWebsiteManager { coWebsites.remove(coWebsite); coWebsites.add(coWebsite, 0); + if (mainCoWebsite) { + const iframe = mainCoWebsite.getIframe(); + if (iframe) { + iframe.style.display = "block"; + } + } + if ( isMediaBreakpointDown("lg") && get(embedScreenLayout) === LayoutMode.Presentation && From 620e2186128aae936d173b1f3c6d9cbdb5f0f5fb Mon Sep 17 00:00:00 2001 From: Lukas Hass Date: Tue, 15 Feb 2022 20:19:45 +0100 Subject: [PATCH 53/88] remove iframe.html --- front/Dockerfile | 4 -- front/public/iframe.html | 21 -------- front/src/Api/IframeListener.ts | 88 ++++++++++++--------------------- 3 files changed, 31 insertions(+), 82 deletions(-) delete mode 100644 front/public/iframe.html diff --git a/front/Dockerfile b/front/Dockerfile index 02bcba4c..7db1e02d 100644 --- a/front/Dockerfile +++ b/front/Dockerfile @@ -14,10 +14,6 @@ RUN cp -r ../messages/JsonMessages/* src/Messages/JsonMessages RUN yarn install && yarn run typesafe-i18n && yarn run build-iframe-api && yarn build -# Removing the iframe.html file from the final image as this adds a XSS attack. -# iframe.html is only in dev mode to circumvent a limitation -RUN rm dist/iframe.html - FROM thecodingmachine/nodejs:14-apache COPY --from=builder --chown=docker:docker /usr/src/front/dist dist diff --git a/front/public/iframe.html b/front/public/iframe.html deleted file mode 100644 index 14e65b6f..00000000 --- a/front/public/iframe.html +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - diff --git a/front/src/Api/IframeListener.ts b/front/src/Api/IframeListener.ts index 65ab1303..0f850360 100644 --- a/front/src/Api/IframeListener.ts +++ b/front/src/Api/IframeListener.ts @@ -289,68 +289,42 @@ class IframeListener { return new Promise((resolve, reject) => { console.info("Loading map related script at ", scriptUrl); - if (!process.env.NODE_ENV || process.env.NODE_ENV === "development") { - // Using external iframe mode ( - const iframe = document.createElement("iframe"); - iframe.id = IframeListener.getIFrameId(scriptUrl); - iframe.style.display = "none"; - iframe.src = - "/iframe.html?script=" + - encodeURIComponent(scriptUrl) + - "&moduleMode=" + - (enableModuleMode ? "true" : "false"); + const iframe = document.createElement("iframe"); + iframe.id = IframeListener.getIFrameId(scriptUrl); + iframe.style.display = "none"; - // We are putting a sandbox on this script because it will run in the same domain as the main website. - iframe.sandbox.add("allow-scripts"); - iframe.sandbox.add("allow-top-navigation-by-user-activation"); + // We are putting a sandbox on this script because it will run in the same domain as the main website. + iframe.sandbox.add("allow-scripts"); + iframe.sandbox.add("allow-top-navigation-by-user-activation"); - iframe.addEventListener("load", () => { - resolve(); - }); + //iframe.src = "data:text/html;charset=utf-8," + escape(html); + iframe.srcdoc = + "\n" + + "\n" + + '\n' + + "\n" + + '\n' + + "\n' + + "\n" + + "\n" + + "\n"; - document.body.prepend(iframe); + iframe.addEventListener("load", () => { + resolve(); + }); - this.scripts.set(scriptUrl, iframe); - this.registerIframe(iframe); - } else { - // production code - const iframe = document.createElement("iframe"); - iframe.id = IframeListener.getIFrameId(scriptUrl); - iframe.style.display = "none"; + document.body.prepend(iframe); - // We are putting a sandbox on this script because it will run in the same domain as the main website. - iframe.sandbox.add("allow-scripts"); - iframe.sandbox.add("allow-top-navigation-by-user-activation"); - - //iframe.src = "data:text/html;charset=utf-8," + escape(html); - iframe.srcdoc = - "\n" + - "\n" + - '\n' + - "\n" + - '\n' + - "\n' + - "\n" + - "\n" + - "\n"; - - iframe.addEventListener("load", () => { - resolve(); - }); - - document.body.prepend(iframe); - - this.scripts.set(scriptUrl, iframe); - this.registerIframe(iframe); - } + this.scripts.set(scriptUrl, iframe); + this.registerIframe(iframe); }); } From 72c35e2d06cffd33f276dbfe47919fb99d341b98 Mon Sep 17 00:00:00 2001 From: Lukas Hass Date: Tue, 15 Feb 2022 20:28:52 +0100 Subject: [PATCH 54/88] remove unused LIVE_RELOAD variable --- .github/workflows/end_to_end_tests.yml | 2 +- CONTRIBUTING.md | 8 ++------ docker-compose.yaml | 1 - 3 files changed, 3 insertions(+), 8 deletions(-) diff --git a/.github/workflows/end_to_end_tests.yml b/.github/workflows/end_to_end_tests.yml index f9dc832c..f236f72b 100644 --- a/.github/workflows/end_to_end_tests.yml +++ b/.github/workflows/end_to_end_tests.yml @@ -69,7 +69,7 @@ jobs: run: sudo chown 1000:1000 -R . - name: "Start environment" - run: LIVE_RELOAD=0 docker-compose up -d + run: docker-compose up -d - name: "Wait for environment to build (and downloading testcafe image)" run: (docker-compose -f docker-compose.testcafe.yml build &) && docker-compose logs -f --tail=0 front | grep -q "Compiled successfully" diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 2d3f5d0b..491c74f4 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -83,16 +83,12 @@ End-to-end tests are available in the "/tests" directory. To run these tests locally: ```console -$ LIVE_RELOAD=0 docker-compose up -d +$ docker-compose up -d $ cd tests $ npm install $ npm run test ``` -Note: If your tests fail on a Javascript error in "sockjs", this is due to the -Webpack live reload. The Webpack live reload feature is conflicting with testcafe. This is why we recommend starting -WorkAdventure with the `LIVE_RELOAD=0` environment variable. - End-to-end tests can take a while to run. To run only one test, use: ```console @@ -103,7 +99,7 @@ You can also run the tests inside a container (but you will not have visual feed the local tests). ```console -$ LIVE_RELOAD=0 docker-compose up -d +$ docker-compose up -d # Wait 2-3 minutes for the environment to start, then: $ PROJECT_DIR=$(pwd) docker-compose -f docker-compose.testcafe.yml up ``` diff --git a/docker-compose.yaml b/docker-compose.yaml index 8489b336..2bbc6c0a 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -52,7 +52,6 @@ services: MAX_USERNAME_LENGTH: "$MAX_USERNAME_LENGTH" DISABLE_ANONYMOUS: "$DISABLE_ANONYMOUS" OPID_LOGIN_SCREEN_PROVIDER: "$OPID_LOGIN_SCREEN_PROVIDER" - LIVE_RELOAD: "$LIVE_RELOAD:-true" command: yarn run start volumes: - ./front:/usr/src/app From 0d58abe6905a4aee4eb55a835c478284bdd646b0 Mon Sep 17 00:00:00 2001 From: JL Euler Date: Wed, 16 Feb 2022 10:53:50 +0100 Subject: [PATCH 55/88] Change default front URL to "play" Previously, the URL was "front". However, this is not in line with the default URL of the dev environments, where it is "play.workadventure.localhost". --- contrib/docker/.env.prod.template | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contrib/docker/.env.prod.template b/contrib/docker/.env.prod.template index 5e9adc87..a6317078 100644 --- a/contrib/docker/.env.prod.template +++ b/contrib/docker/.env.prod.template @@ -13,7 +13,7 @@ DOMAIN=workadventure.localhost # Subdomains # MUST match the DOMAIN variable above -FRONT_HOST=front.workadventure.localhost +FRONT_HOST=play.workadventure.localhost PUSHER_HOST=pusher.workadventure.localhost BACK_HOST=api.workadventure.localhost MAPS_HOST=maps.workadventure.localhost From 74534772acd39b92a245d9c8b4baeedbda283feb Mon Sep 17 00:00:00 2001 From: JL Euler Date: Wed, 16 Feb 2022 11:46:58 +0100 Subject: [PATCH 56/88] prod template: Use docker-hub images by default In production environments, it is more likely for people to use the stable versions from the docker hub. The build parameters were thus removed and the image variables uncommented. --- contrib/docker/docker-compose.prod.yaml | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/contrib/docker/docker-compose.prod.yaml b/contrib/docker/docker-compose.prod.yaml index 80ed192b..02a313fb 100644 --- a/contrib/docker/docker-compose.prod.yaml +++ b/contrib/docker/docker-compose.prod.yaml @@ -27,10 +27,7 @@ services: front: - build: - context: ../.. - dockerfile: front/Dockerfile - #image: thecodingmachine/workadventure-front:${VERSION} + image: thecodingmachine/workadventure-front:${VERSION} environment: - DEBUG_MODE - JITSI_URL @@ -60,10 +57,7 @@ services: restart: ${RESTART_POLICY} pusher: - build: - context: ../.. - dockerfile: pusher/Dockerfile - #image: thecodingmachine/workadventure-pusher:${VERSION} + image: thecodingmachine/workadventure-pusher:${VERSION} command: yarn run runprod environment: - SECRET_JITSI_KEY @@ -85,10 +79,7 @@ services: restart: ${RESTART_POLICY} back: - build: - context: ../.. - dockerfile: back/Dockerfile - #image: thecodingmachine/workadventure-back:${VERSION} + image: thecodingmachine/workadventure-back:${VERSION} command: yarn run runprod environment: - SECRET_JITSI_KEY @@ -119,7 +110,7 @@ services: image: matthiasluedtke/iconserver:v3.13.0 labels: - "traefik.http.routers.icon.rule=Host(`${ICON_HOST}`)" - - "traefik.http.routers.icon.entryPoints=web,traefik" + - "traefik.http.routers.icon.entryPoints=web" - "traefik.http.services.icon.loadbalancer.server.port=8080" - "traefik.http.routers.icon-ssl.rule=Host(`${ICON_HOST}`)" - "traefik.http.routers.icon-ssl.entryPoints=websecure" From fafb0462ad84bad0a7266f3e2763faa9496296ef Mon Sep 17 00:00:00 2001 From: JL Euler Date: Wed, 16 Feb 2022 12:27:17 +0100 Subject: [PATCH 57/88] prod template: fix typo in pusher host rule A typo in the pusher's SSL host rule prevented it from being connected correctly. --- contrib/docker/docker-compose.prod.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contrib/docker/docker-compose.prod.yaml b/contrib/docker/docker-compose.prod.yaml index 80ed192b..72d62453 100644 --- a/contrib/docker/docker-compose.prod.yaml +++ b/contrib/docker/docker-compose.prod.yaml @@ -77,7 +77,7 @@ services: - "traefik.http.routers.pusher.rule=Host(`${PUSHER_HOST}`)" - "traefik.http.routers.pusher.entryPoints=web" - "traefik.http.services.pusher.loadbalancer.server.port=8080" - - "traefik.http.routers.pusher-ssl.rule=Host(${PUSHER_HOST}`)" + - "traefik.http.routers.pusher-ssl.rule=Host(`${PUSHER_HOST}`)" - "traefik.http.routers.pusher-ssl.entryPoints=websecure" - "traefik.http.routers.pusher-ssl.service=pusher" - "traefik.http.routers.pusher-ssl.tls=true" From 3c54e38401ac52a252765191dc138b9698523f14 Mon Sep 17 00:00:00 2001 From: Hanusiak Piotr Date: Wed, 16 Feb 2022 14:28:35 +0100 Subject: [PATCH 58/88] unlock diagonal movement --- front/src/Utils/PathfindingManager.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/front/src/Utils/PathfindingManager.ts b/front/src/Utils/PathfindingManager.ts index 496ed112..a129dae8 100644 --- a/front/src/Utils/PathfindingManager.ts +++ b/front/src/Utils/PathfindingManager.ts @@ -17,7 +17,7 @@ export class PathfindingManager { this.scene = scene; this.easyStar = new EasyStar.js(); - // this.easyStar.enableDiagonals(); + this.easyStar.enableDiagonals(); this.grid = collisionsGrid; this.tileDimensions = tileDimensions; From 0b0d3b5beb78b6ffc546cbd6841635a7f2d4de3e Mon Sep 17 00:00:00 2001 From: Hanusiak Piotr Date: Wed, 16 Feb 2022 14:56:59 +0100 Subject: [PATCH 59/88] fixed issue with chat indicator persisting after being out of conversation --- front/src/Phaser/Game/GameScene.ts | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/front/src/Phaser/Game/GameScene.ts b/front/src/Phaser/Game/GameScene.ts index 3be00836..9dcc4063 100644 --- a/front/src/Phaser/Game/GameScene.ts +++ b/front/src/Phaser/Game/GameScene.ts @@ -670,16 +670,19 @@ export class GameScene extends DirtyScene { this.playSound("audio-webrtc-out"); } if (newPeerNumber > 0) { - this.localVolumeStoreUnsubscriber = localVolumeStore.subscribe((volume) => { - if (volume) { - this.CurrentPlayer.showTalkIcon(volume > talkIconVolumeTreshold); - } - }); + if (!this.localVolumeStoreUnsubscriber) { + this.localVolumeStoreUnsubscriber = localVolumeStore.subscribe((volume) => { + if (volume) { + this.CurrentPlayer.showTalkIcon(volume > talkIconVolumeTreshold); + } + }); + } } else { this.CurrentPlayer.showTalkIcon(false); this.MapPlayersByKey.forEach((remotePlayer) => remotePlayer.showTalkIcon(false)); if (this.localVolumeStoreUnsubscriber) { this.localVolumeStoreUnsubscriber(); + this.localVolumeStoreUnsubscriber = undefined; } } oldPeerNumber = newPeerNumber; From e590cee7536be9e2b3884b34888f3881f487b856 Mon Sep 17 00:00:00 2001 From: Hanusiak Piotr Date: Wed, 16 Feb 2022 15:55:07 +0100 Subject: [PATCH 60/88] forcing close talkIcon indicator when leaving bubble conversation --- front/src/Phaser/Components/TalkIcon.ts | 12 +++++++----- front/src/Phaser/Entity/Character.ts | 4 ++-- front/src/Phaser/Game/GameScene.ts | 4 ++-- 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/front/src/Phaser/Components/TalkIcon.ts b/front/src/Phaser/Components/TalkIcon.ts index 78e9379f..12b4ebe3 100644 --- a/front/src/Phaser/Components/TalkIcon.ts +++ b/front/src/Phaser/Components/TalkIcon.ts @@ -20,15 +20,17 @@ export class TalkIcon extends Phaser.GameObjects.Image { this.scene.add.existing(this); } - public show(show: boolean = true): void { - if (this.shown === show) { + public show(show: boolean = true, forceClose: boolean = false): void { + if (this.shown === show && !forceClose) { return; } - this.showAnimation(show); + this.showAnimation(show, forceClose); } - private showAnimation(show: boolean = true) { - if (this.showAnimationTween?.isPlaying()) { + private showAnimation(show: boolean = true, forceClose: boolean = false) { + if (forceClose && !show) { + this.showAnimationTween?.stop(); + } else if (this.showAnimationTween?.isPlaying()) { return; } this.shown = show; diff --git a/front/src/Phaser/Entity/Character.ts b/front/src/Phaser/Entity/Character.ts index 3987c889..00067897 100644 --- a/front/src/Phaser/Entity/Character.ts +++ b/front/src/Phaser/Entity/Character.ts @@ -213,8 +213,8 @@ export abstract class Character extends Container implements OutlineableInterfac }); } - public showTalkIcon(show: boolean = true): void { - this.talkIcon.show(show); + public showTalkIcon(show: boolean = true, forceClose: boolean = false): void { + this.talkIcon.show(show, forceClose); } public addCompanion(name: string, texturePromise?: CancelablePromise): void { diff --git a/front/src/Phaser/Game/GameScene.ts b/front/src/Phaser/Game/GameScene.ts index 9dcc4063..c377b20b 100644 --- a/front/src/Phaser/Game/GameScene.ts +++ b/front/src/Phaser/Game/GameScene.ts @@ -678,8 +678,8 @@ export class GameScene extends DirtyScene { }); } } else { - this.CurrentPlayer.showTalkIcon(false); - this.MapPlayersByKey.forEach((remotePlayer) => remotePlayer.showTalkIcon(false)); + this.CurrentPlayer.showTalkIcon(false, true); + this.MapPlayersByKey.forEach((remotePlayer) => remotePlayer.showTalkIcon(false, true)); if (this.localVolumeStoreUnsubscriber) { this.localVolumeStoreUnsubscriber(); this.localVolumeStoreUnsubscriber = undefined; From f0c7e4ea8add825a8aa51574d6514e5eafb75786 Mon Sep 17 00:00:00 2001 From: Gregoire Parant Date: Wed, 16 Feb 2022 20:15:16 +0100 Subject: [PATCH 61/88] Update css warning message & add message button Signed-off-by: Gregoire Parant --- front/src/Components/Menu/MenuIcon.svelte | 16 ++++++++-------- .../WarningContainer/WarningContainer.svelte | 4 ++-- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/front/src/Components/Menu/MenuIcon.svelte b/front/src/Components/Menu/MenuIcon.svelte index 22792702..fb057e28 100644 --- a/front/src/Components/Menu/MenuIcon.svelte +++ b/front/src/Components/Menu/MenuIcon.svelte @@ -61,15 +61,15 @@ on:dragstart|preventDefault={noDrag} on:click|preventDefault={showMenu} /> - {$LL.menu.icon.open.chat()} {/if} + {$LL.menu.icon.open.chat()} WorkAdventure diff --git a/front/package.json b/front/package.json index 60d1d8d5..9df7afc4 100644 --- a/front/package.json +++ b/front/package.json @@ -38,6 +38,7 @@ "@types/simple-peer": "^9.11.1", "@types/socket.io-client": "^1.4.32", "axios": "^0.21.2", + "buffer": "^6.0.3", "cancelable-promise": "^4.2.1", "cross-env": "^7.0.3", "deep-copy-ts": "^0.5.0", diff --git a/front/src/WebRtc/ScreenSharingPeer.ts b/front/src/WebRtc/ScreenSharingPeer.ts index ffab1dc1..20384f1a 100644 --- a/front/src/WebRtc/ScreenSharingPeer.ts +++ b/front/src/WebRtc/ScreenSharingPeer.ts @@ -5,7 +5,8 @@ import { Readable, readable, writable, Writable } from "svelte/store"; import { getIceServersConfig } from "../Components/Video/utils"; import { highlightedEmbedScreen } from "../Stores/EmbedScreensStore"; import { isMediaBreakpointUp } from "../Utils/BreakpointsUtils"; -import Peer from "simple-peer"; +import Peer from "simple-peer/simplepeer.min.js"; +import { Buffer } from "buffer"; /** * A peer connection used to transmit video / audio signals between 2 peers. diff --git a/front/src/WebRtc/VideoPeer.ts b/front/src/WebRtc/VideoPeer.ts index 37c315b5..29c5824e 100644 --- a/front/src/WebRtc/VideoPeer.ts +++ b/front/src/WebRtc/VideoPeer.ts @@ -9,7 +9,8 @@ import { playersStore } from "../Stores/PlayersStore"; import { chatMessagesStore, newChatMessageSubject } from "../Stores/ChatStore"; import { getIceServersConfig } from "../Components/Video/utils"; import { isMediaBreakpointUp } from "../Utils/BreakpointsUtils"; -import Peer from "simple-peer"; +import Peer from "simple-peer/simplepeer.min.js"; +import { Buffer } from "buffer"; export type PeerStatus = "connecting" | "connected" | "error" | "closed"; diff --git a/front/src/simple-peer.d.ts b/front/src/simple-peer.d.ts new file mode 100644 index 00000000..3d4d866a --- /dev/null +++ b/front/src/simple-peer.d.ts @@ -0,0 +1,4 @@ +declare module "simple-peer/simplepeer.min.js" { + import SimplePeer from "simple-peer"; + export default SimplePeer; +} From e36a1f1ced70b22d3414ab3d9241adab73afdd3b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20N=C3=A9grier?= Date: Thu, 17 Feb 2022 15:04:51 +0100 Subject: [PATCH 65/88] Continuous Deployment: add connect to admin We can now connect to a remote admin server in the CD environment by using the new "deploy-connect-to-admin" label in the PR. --- .github/workflows/build-and-deploy.yml | 4 ++++ deeployer.libsonnet | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-and-deploy.yml b/.github/workflows/build-and-deploy.yml index 9c91e0ca..bf8d4612 100644 --- a/.github/workflows/build-and-deploy.yml +++ b/.github/workflows/build-and-deploy.yml @@ -149,6 +149,10 @@ jobs: # Create a slugified value of the branch - uses: rlespinasse/github-slug-action@3.1.0 + - name: Set ADMIN_URL if "deploy-connect-to-admin" label is set + run: echo "ADMIN_API_URL=https://${{ github.event_name == 'pull_request' && env.GITHUB_HEAD_REF_SLUG || env.GITHUB_REF_SLUG }}.test.workadventu.re" >> $GITHUB_ENV + if: ${{ github.event_name == 'pull_request' && contains(github.event.pull_request.labels.*.name, 'deploy-connect-to-admin') }} + - name: Write certificate run: echo "${CERTS_PRIVATE_KEY}" > secret.key && chmod 0600 secret.key env: diff --git a/deeployer.libsonnet b/deeployer.libsonnet index 4012b186..72e6dd43 100644 --- a/deeployer.libsonnet +++ b/deeployer.libsonnet @@ -4,7 +4,7 @@ local tag = namespace, local url = namespace+".test.workadventu.re", // develop branch does not use admin because of issue with SSL certificate of admin as of now. - local adminUrl = if std.startsWith(namespace, "admin") then "https://"+url else null, + local adminUrl = if std.objectHas(env, 'ADMIN_API_URL') then env.ADMIN_API_URL else null, "$schema": "https://raw.githubusercontent.com/thecodingmachine/deeployer/master/deeployer.schema.json", "version": "1.0", "containers": { From ea8f791faebc926cb75bc2f6f331039249eb8670 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20N=C3=A9grier?= Date: Thu, 17 Feb 2022 15:34:00 +0100 Subject: [PATCH 66/88] Adding missing ADMIN_SOCKETS_TOKEN environment variable in case we deploy with the connection to the admin --- .github/workflows/build-and-deploy.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build-and-deploy.yml b/.github/workflows/build-and-deploy.yml index bf8d4612..d6a3c49b 100644 --- a/.github/workflows/build-and-deploy.yml +++ b/.github/workflows/build-and-deploy.yml @@ -189,6 +189,7 @@ jobs: env: KUBE_CONFIG_FILE: ${{ secrets.KUBE_CONFIG_FILE }} ADMIN_API_TOKEN: ${{ secrets.ADMIN_API_TOKEN }} + ADMIN_SOCKETS_TOKEN: ${{ secrets.ADMIN_SOCKETS_TOKEN }} JITSI_ISS: ${{ secrets.JITSI_ISS }} JITSI_URL: ${{ secrets.JITSI_URL }} SECRET_JITSI_KEY: ${{ secrets.SECRET_JITSI_KEY }} From 707b78b506f90cd0e5898d929ed5b0b929f19663 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 17 Feb 2022 14:52:03 +0000 Subject: [PATCH 67/88] Bump url-parse from 1.5.3 to 1.5.7 in /front Bumps [url-parse](https://github.com/unshiftio/url-parse) from 1.5.3 to 1.5.7. - [Release notes](https://github.com/unshiftio/url-parse/releases) - [Commits](https://github.com/unshiftio/url-parse/compare/1.5.3...1.5.7) --- updated-dependencies: - dependency-name: url-parse dependency-type: indirect ... Signed-off-by: dependabot[bot] --- front/yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/front/yarn.lock b/front/yarn.lock index 465f1400..9cd2357d 100644 --- a/front/yarn.lock +++ b/front/yarn.lock @@ -6670,9 +6670,9 @@ urix@^0.1.0: integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= url-parse@^1.4.3, url-parse@^1.5.1: - version "1.5.3" - resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.3.tgz#71c1303d38fb6639ade183c2992c8cc0686df862" - integrity sha512-IIORyIQD9rvj0A4CLWsHkBBJuNqWpFQe224b6j9t/ABmquIS0qDU2pY6kl6AuOrL5OkCXHMCFNe1jBcuAggjvQ== + version "1.5.7" + resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.7.tgz#00780f60dbdae90181f51ed85fb24109422c932a" + integrity sha512-HxWkieX+STA38EDk7CE9MEryFeHCKzgagxlGvsdS7WBImq9Mk+PGwiT56w82WI3aicwJA8REp42Cxo98c8FZMA== dependencies: querystringify "^2.1.1" requires-port "^1.0.0" From b1c7e010086116c5239c7f467bf985b50e84c423 Mon Sep 17 00:00:00 2001 From: Lukas Hass Date: Fri, 18 Feb 2022 14:40:20 +0100 Subject: [PATCH 68/88] add playwright and run e2e tests on production like environment --- .github/workflows/end_to_end_tests.yml | 132 +- docker-compose.e2e.yml | 47 + docker-compose.testcafe.yml | 19 - tests/.gitignore | 2 + tests/.testcaferc.js | 30 - tests/package-lock.json | 8332 +++++------------------- tests/package.json | 14 +- tests/playwright.config.ts | 105 + tests/screenshots/.gitignore | 1 - tests/tests/modules.spec.ts | 15 + tests/tests/modules.ts | 44 - tests/tests/reconnect.spec.ts | 26 + tests/tests/reconnect.ts | 63 - tests/tests/translate.spec.ts | 22 + tests/tests/translate.ts | 34 - tests/tests/utils/containers.ts | 7 +- tests/tests/utils/log.ts | 29 +- tests/tests/utils/roles.ts | 30 +- tests/tests/variables.spec.ts | 164 + tests/tests/variables.ts | 202 - 20 files changed, 1987 insertions(+), 7331 deletions(-) create mode 100644 docker-compose.e2e.yml delete mode 100644 docker-compose.testcafe.yml delete mode 100644 tests/.testcaferc.js create mode 100644 tests/playwright.config.ts delete mode 100644 tests/screenshots/.gitignore create mode 100644 tests/tests/modules.spec.ts delete mode 100644 tests/tests/modules.ts create mode 100644 tests/tests/reconnect.spec.ts delete mode 100644 tests/tests/reconnect.ts create mode 100644 tests/tests/translate.spec.ts delete mode 100644 tests/tests/translate.ts create mode 100644 tests/tests/variables.spec.ts delete mode 100644 tests/tests/variables.ts diff --git a/.github/workflows/end_to_end_tests.yml b/.github/workflows/end_to_end_tests.yml index f9dc832c..99d688c5 100644 --- a/.github/workflows/end_to_end_tests.yml +++ b/.github/workflows/end_to_end_tests.yml @@ -1,6 +1,4 @@ -# https://help.github.com/en/categories/automating-your-workflow-with-github-actions - -name: "End to end tests" +name: 'End to end tests' on: push: @@ -10,117 +8,29 @@ on: pull_request: jobs: - - start-runner: - if: github.event_name == 'push' || (github.event_name == 'pull_request' && github.event.pull_request.head.repo.fork == false) - name: Start self-hosted EC2 runner + test: + timeout-minutes: 60 runs-on: ubuntu-latest - outputs: - label: ${{ steps.start-ec2-runner.outputs.label }} - ec2-instance-id: ${{ steps.start-ec2-runner.outputs.ec2-instance-id }} steps: - - name: Configure AWS credentials - uses: aws-actions/configure-aws-credentials@v1 - with: - aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} - aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - aws-region: ${{ secrets.AWS_REGION }} - - name: Start EC2 runner - id: start-ec2-runner - uses: machulav/ec2-github-runner@v2 - with: - mode: start - github-token: ${{ secrets.GH_PERSONAL_ACCESS_TOKEN }} - ec2-image-id: ami-094dbcc53250a2480 - ec2-instance-type: m5.2xlarge - subnet-id: subnet-0ac40025f559df1bc - security-group-id: sg-0e36e96e3b8ed2d64 - #iam-role-name: my-role-name # optional, requires additional permissions - #aws-resource-tags: > # optional, requires additional permissions - # [ - # {"Key": "Name", "Value": "ec2-github-runner"}, - # {"Key": "GitHubRepository", "Value": "${{ github.repository }}"} - # ] - - - end-to-end-tests: - name: "End-to-end testcafe tests" - - needs: start-runner # required to start the main job when the runner is ready - runs-on: ${{ needs.start-runner.outputs.label }} # run the job on the newly created runner - - steps: - - name: "Checkout" - uses: "actions/checkout@v2.0.0" - - - name: "Setup NodeJS" - uses: actions/setup-node@v1 + - uses: actions/checkout@v2 + - uses: actions/setup-node@v2 with: node-version: '14.x' - - - name: "Install dependencies" - run: npm install - working-directory: "tests" - - - name: "Setup .env file" + - name: Install dependencies + run: npm ci + working-directory: tests + - name: Install Playwright + run: npx playwright install --with-deps + - name: 'Setup .env file' run: cp .env.template .env - - - name: "Edit ownership of file for test cases" - run: sudo chown 1000:1000 -R . - - - name: "Start environment" - run: LIVE_RELOAD=0 docker-compose up -d - - - name: "Wait for environment to build (and downloading testcafe image)" - run: (docker-compose -f docker-compose.testcafe.yml build &) && docker-compose logs -f --tail=0 front | grep -q "Compiled successfully" - -# - name: "temp debug: display logs" -# run: docker-compose logs -# -# - name: "Wait for back start" -# run: docker-compose logs -f back | grep -q "WorkAdventure HTTP API starting on port" -# -# - name: "Wait for pusher start" -# run: docker-compose logs -f pusher | grep -q "WorkAdventure starting on port" - - - name: "Run tests" - run: PROJECT_DIR=$(pwd) docker-compose -f docker-compose.testcafe.yml up --exit-code-from testcafe - - - name: Upload failed tests - if: ${{ failure() }} - uses: actions/upload-artifact@v2 + - name: Start WorkAdventure + run: docker-compose -f docker-compose.yaml -f docker-compose.e2e.yml up -d --build + - name: Run Playwright tests + run: npm run test-prod-like + working-directory: tests + - uses: actions/upload-artifact@v2 + if: always() with: - name: my-artifact - path: './tests/screenshots/' - - - name: Display state - if: ${{ failure() }} - run: docker-compose ps - - - name: Display logs - if: ${{ failure() }} - run: docker-compose logs - - stop-runner: - name: Stop self-hosted EC2 runner - needs: - - start-runner # required to get output from the start-runner job - - end-to-end-tests # required to wait when the main job is done - runs-on: ubuntu-latest - if: ${{ always() }} # required to stop the runner even if the error happened in the previous jobs - steps: - - name: Configure AWS credentials - if: github.event_name == 'push' || (github.event_name == 'pull_request' && github.event.pull_request.head.repo.fork == false) - uses: aws-actions/configure-aws-credentials@v1 - with: - aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} - aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - aws-region: ${{ secrets.AWS_REGION }} - - name: Stop EC2 runner - if: github.event_name == 'push' || (github.event_name == 'pull_request' && github.event.pull_request.head.repo.fork == false) - uses: machulav/ec2-github-runner@v2 - with: - mode: stop - github-token: ${{ secrets.GH_PERSONAL_ACCESS_TOKEN }} - label: ${{ needs.start-runner.outputs.label }} - ec2-instance-id: ${{ needs.start-runner.outputs.ec2-instance-id }} + name: playwright-report + path: playwright-report/ + retention-days: 30 diff --git a/docker-compose.e2e.yml b/docker-compose.e2e.yml new file mode 100644 index 00000000..3330202a --- /dev/null +++ b/docker-compose.e2e.yml @@ -0,0 +1,47 @@ +version: '3.5' +services: + # overrides for e2e tests to be closer to production + # use with command: + # docker-compose -f docker-compose.yaml -f docker-compose.e2e.yml up -d --build + + front: + image: 'wa-front-e2e' + build: + context: ./ + dockerfile: front/Dockerfile + environment: + STARTUP_COMMAND_1: 'envsubst < dist/env-config.template.js > dist/env-config.js' + STARTUP_COMMAND_2: '' + command: apache2-foreground + volumes: [] + labels: + - "traefik.enable=true" + - "traefik.http.routers.front.rule=Host(`play.workadventure.localhost`)" + - "traefik.http.routers.front.entryPoints=web" + - "traefik.http.services.front.loadbalancer.server.port=80" + - "traefik.http.routers.front-ssl.rule=Host(`play.workadventure.localhost`)" + - "traefik.http.routers.front-ssl.entryPoints=websecure" + - "traefik.http.routers.front-ssl.tls=true" + - "traefik.http.routers.front-ssl.service=front" + + pusher: + image: 'wa-pusher-e2e' + build: + context: ./ + dockerfile: pusher/Dockerfile + environment: + STARTUP_COMMAND_1: '' + STARTUP_COMMAND_2: '' + command: yarn run runprod + volumes: [] + + back: + image: 'wa-back-e2e' + build: + context: ./ + dockerfile: back/Dockerfile + environment: + STARTUP_COMMAND_1: '' + STARTUP_COMMAND_2: '' + command: yarn run runprod + volumes: [] diff --git a/docker-compose.testcafe.yml b/docker-compose.testcafe.yml deleted file mode 100644 index e61db21d..00000000 --- a/docker-compose.testcafe.yml +++ /dev/null @@ -1,19 +0,0 @@ -version: "3.5" -services: - testcafe: - build: tests/ - working_dir: /project/tests - command: - - --dev - # Run as root to have the right to access /var/run/docker.sock - user: root - environment: - BROWSER: "chromium --use-fake-device-for-media-stream" - PROJECT_DIR: ${PROJECT_DIR} - ADMIN_API_TOKEN: ${ADMIN_API_TOKEN} - volumes: - - ./:/project - - ./maps:/maps - - /var/run/docker.sock:/var/run/docker.sock - # security_opt: - # - seccomp:unconfined diff --git a/tests/.gitignore b/tests/.gitignore index 07e6e472..bf64c2b2 100644 --- a/tests/.gitignore +++ b/tests/.gitignore @@ -1 +1,3 @@ /node_modules +test-results/ +playwright-report/ diff --git a/tests/.testcaferc.js b/tests/.testcaferc.js deleted file mode 100644 index 1c025939..00000000 --- a/tests/.testcaferc.js +++ /dev/null @@ -1,30 +0,0 @@ -const BROWSER = process.env.BROWSER || "chrome --use-fake-ui-for-media-stream --use-fake-device-for-media-stream"; - -module.exports = { - "browsers": BROWSER, - "hostname": "localhost", - "src": "tests/", - "screenshots": { - "path": "screenshots/", - "takeOnFails": true, - "thumbnails": false, - }, - "assertionTimeout": 20000, - "selectorTimeout": 60000, - - - "videoPath": "screenshots/videos", - "videoOptions": { - "failedOnly": true, - } - /*"skipJsErrors": true, - "clientScripts": [ { "content": ` - window.addEventListener('error', function (e) { - if (e instanceof Error && e.message.includes('_jp')) { - console.log('Ignoring sockjs related error'); - return; - } - throw e; - }); - ` } ]*/ -} diff --git a/tests/package-lock.json b/tests/package-lock.json index 0547c2a3..27e30782 100644 --- a/tests/package-lock.json +++ b/tests/package-lock.json @@ -4,14 +4,11 @@ "requires": true, "packages": { "": { - "dependencies": { - "@ffmpeg-installer/ffmpeg": "^1.1.0", - "@types/dockerode": "^3.3.0", - "axios": "^0.24.0" - }, "devDependencies": { - "dockerode": "^3.3.1", - "testcafe": "^1.18.0" + "@playwright/test": "^1.19.1", + "@types/dockerode": "^3.3.0", + "axios": "^0.24.0", + "dockerode": "^3.3.1" } }, "node_modules/@babel/code-frame": { @@ -36,9 +33,9 @@ } }, "node_modules/@babel/core": { - "version": "7.16.10", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.16.10.tgz", - "integrity": "sha512-pbiIdZbCiMx/MM6toR+OfXarYix3uz0oVsnNtfdAGTcCTu3w/JGF8JhirevXLBJUu0WguSZI12qpKnx7EeMyLA==", + "version": "7.16.12", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.16.12.tgz", + "integrity": "sha512-dK5PtG1uiN2ikk++5OzSYsitZKny4wOCD0nrO4TqnW4BVBTQ2NGS3NgilvT/TEyxTST7LNyWV/T4tXDoD3fOgg==", "dev": true, "dependencies": { "@babel/code-frame": "^7.16.7", @@ -46,7 +43,7 @@ "@babel/helper-compilation-targets": "^7.16.7", "@babel/helper-module-transforms": "^7.16.7", "@babel/helpers": "^7.16.7", - "@babel/parser": "^7.16.10", + "@babel/parser": "^7.16.12", "@babel/template": "^7.16.7", "@babel/traverse": "^7.16.10", "@babel/types": "^7.16.8", @@ -100,19 +97,6 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.7.tgz", - "integrity": "sha512-C6FdbRaxYjwVu/geKW4ZeQ0Q31AftgRcdSnZ5/jsH6BzCJbtvXvhpfkbkThYSuutZA7nCXpPR6AD9zd1dprMkA==", - "dev": true, - "dependencies": { - "@babel/helper-explode-assignable-expression": "^7.16.7", - "@babel/types": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/helper-compilation-targets": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.7.tgz", @@ -161,50 +145,6 @@ "@babel/core": "^7.0.0" } }, - "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.16.7.tgz", - "integrity": "sha512-fk5A6ymfp+O5+p2yCkXAu5Kyj6v0xh0RBeNcAkYUMDvvAAoxvSKXn+Jb37t/yWFiQVDFK1ELpUTD8/aLhCPu+g==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.16.7", - "regexpu-core": "^4.7.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.1.tgz", - "integrity": "sha512-J9hGMpJQmtWmj46B3kBHmL38UhJGhYX7eqkcq+2gsstyYt341HmPeWspihX43yVRA0mS+8GGk2Gckc7bY/HCmA==", - "dev": true, - "dependencies": { - "@babel/helper-compilation-targets": "^7.13.0", - "@babel/helper-module-imports": "^7.12.13", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/traverse": "^7.13.0", - "debug": "^4.1.1", - "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2", - "semver": "^6.1.2" - }, - "peerDependencies": { - "@babel/core": "^7.4.0-0" - } - }, - "node_modules/@babel/helper-define-polyfill-provider/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/@babel/helper-environment-visitor": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz", @@ -217,18 +157,6 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/helper-explode-assignable-expression": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.7.tgz", - "integrity": "sha512-KyUenhWMC8VrxzkGP0Jizjo4/Zx+1nNZhgocs+gLzyZyB8SHidhoq9KK/8Ato4anhwsivfkBLftky7gvzbZMtQ==", - "dev": true, - "dependencies": { - "@babel/types": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/helper-function-name": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz", @@ -331,20 +259,6 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.8.tgz", - "integrity": "sha512-fm0gH7Flb8H51LqJHy3HJ3wnE1+qtYR2A99K06ahwrawLdOFsCEWjZOrYricXJHoPSudNKxrMBUPEIPxiIIvBw==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.16.7", - "@babel/helper-wrap-function": "^7.16.8", - "@babel/types": "^7.16.8" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/helper-replace-supers": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.16.7.tgz", @@ -415,21 +329,6 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/helper-wrap-function": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.16.8.tgz", - "integrity": "sha512-8RpyRVIAW1RcDDGTA+GpPAwV22wXCfKOoM9bet6TLkGIFTkRQSkH1nMQ5Yet4MpoXe1ZwHPVtNasc2w0uZMqnw==", - "dev": true, - "dependencies": { - "@babel/helper-function-name": "^7.16.7", - "@babel/template": "^7.16.7", - "@babel/traverse": "^7.16.8", - "@babel/types": "^7.16.8" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/helpers": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.16.7.tgz", @@ -459,9 +358,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.16.10", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.10.tgz", - "integrity": "sha512-Sm/S9Or6nN8uiFsQU1yodyDW3MWXQhFeqzMPM+t8MJjM+pLsnFVxFZzkpXKvUXh+Gz9cbMoYYs484+Jw/NTEFQ==", + "version": "7.17.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.3.tgz", + "integrity": "sha512-7yJPvPV+ESz2IUTPbOL+YkIGyCqOyNIzdguKQuJGnH7bg1WTIifuM21YqokFt/THWh1AkCRn9IgoykTRCBVpzA==", "dev": true, "bin": { "parser": "bin/babel-parser.js" @@ -470,55 +369,6 @@ "node": ">=6.0.0" } }, - "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7.tgz", - "integrity": "sha512-anv/DObl7waiGEnC24O9zqL0pSuI9hljihqiDuFHC8d7/bjr/4RLGPWuc8rYOff/QPzbEPSkzG8wGG9aDuhHRg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.7.tgz", - "integrity": "sha512-di8vUHRdf+4aJ7ltXhaDbPoszdkh59AQtJM5soLsuHpQJdFQZOA4uGj0V2u/CZ8bJ/u8ULDL5yq6FO/bCXnKHw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", - "@babel/plugin-proposal-optional-chaining": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.13.0" - } - }, - "node_modules/@babel/plugin-proposal-async-generator-functions": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.8.tgz", - "integrity": "sha512-71YHIvMuiuqWJQkebWJtdhQTfd4Q4mF76q2IX37uZPkG9+olBxsX+rH1vkhFto4UeJZ9dPY2s+mDvhDm1u2BGQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-remap-async-to-generator": "^7.16.8", - "@babel/plugin-syntax-async-generators": "^7.8.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, "node_modules/@babel/plugin-proposal-class-properties": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.7.tgz", @@ -535,40 +385,6 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-class-static-block": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.16.7.tgz", - "integrity": "sha512-dgqJJrcZoG/4CkMopzhPJjGxsIe9A8RlkQLnL/Vhhx8AA9ZuaRwGSlscSh42hazc7WSrya/IK7mTeoF0DP9tEw==", - "dev": true, - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/plugin-syntax-class-static-block": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.12.0" - } - }, - "node_modules/@babel/plugin-proposal-decorators": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.16.7.tgz", - "integrity": "sha512-DoEpnuXK14XV9btI1k8tzNGCutMclpj4yru8aXKoHlVmbO1s+2A+g2+h4JhcjrxkFJqzbymnLG6j/niOf3iFXQ==", - "dev": true, - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/plugin-syntax-decorators": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, "node_modules/@babel/plugin-proposal-dynamic-import": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.7.tgz", @@ -601,22 +417,6 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-json-strings": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.7.tgz", - "integrity": "sha512-lNZ3EEggsGY78JavgbHsK9u5P3pQaW7k4axlgFLYkMd7UBsiNahCITShLjNQschPyjtO6dADrL24757IdhBrsQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/plugin-syntax-json-strings": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, "node_modules/@babel/plugin-proposal-logical-assignment-operators": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.7.tgz", @@ -665,41 +465,6 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-object-rest-spread": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.16.7.tgz", - "integrity": "sha512-3O0Y4+dw94HA86qSg9IHfyPktgR7q3gpNVAeiKQd+8jBKFaU5NQS1Yatgo4wY+UFNuLjvxcSmzcsHqrhgTyBUA==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.16.4", - "@babel/helper-compilation-targets": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-optional-catch-binding": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.7.tgz", - "integrity": "sha512-eMOH/L4OvWSZAE1VkHbr1vckLG1WUcHGJSLqqQwl2GaUqG6QjddvrOaTUMNYiv77H5IKPMZ9U9P7EaHwvAShfA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, "node_modules/@babel/plugin-proposal-optional-chaining": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.7.tgz", @@ -718,12 +483,12 @@ } }, "node_modules/@babel/plugin-proposal-private-methods": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.7.tgz", - "integrity": "sha512-7twV3pzhrRxSwHeIvFE6coPgvo+exNDOiGUMg39o2LiLo1Y+4aKpfkcLGcg1UHonzorCt7SNXnoMyCnnIOA8Sw==", + "version": "7.16.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.11.tgz", + "integrity": "sha512-F/2uAkPlXDr8+BHpZvo19w3hLFKge+k75XUprE6jaqKxjGkSYcK+4c+bup5PdW/7W/Rpjwql7FTVEDW+fRAQsw==", "dev": true, "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.16.7", + "@babel/helper-create-class-features-plugin": "^7.16.10", "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { @@ -751,22 +516,6 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-unicode-property-regex": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.7.tgz", - "integrity": "sha512-QRK0YI/40VLhNVGIjRNAAQkEHws0cswSdFFjpFyt943YmJIU1da9uW63Iu6NFV6CxTZW5eTDCrwZUstBWgp/Rg==", - "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, "node_modules/@babel/plugin-syntax-async-generators": { "version": "7.8.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", @@ -779,48 +528,6 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-class-static-block": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", - "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-decorators": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.16.7.tgz", - "integrity": "sha512-vQ+PxL+srA7g6Rx6I1e15m55gftknl2X8GCUW1JTlkTaXZLJOS0UcaY0eK9jYT7IYf4awn6qwyghVHLDz1WyMw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, "node_modules/@babel/plugin-syntax-dynamic-import": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", @@ -845,33 +552,6 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-flow": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.16.7.tgz", - "integrity": "sha512-UDo3YGQO0jH6ytzVwgSLv9i/CzMcUjbKenL67dTrAZPPv6GFAtDhe6jqnvmoKzC/7htNTohhos+onPtDMqJwaQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", - "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, "node_modules/@babel/plugin-syntax-json-strings": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", @@ -986,25 +666,10 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-arrow-functions": { + "node_modules/@babel/plugin-syntax-typescript": { "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.7.tgz", - "integrity": "sha512-9ffkFFMbvzTvv+7dTp/66xvZAWASuPD5Tl9LK3Z9vhOmANo6j94rik+5YMBt4CwHVMWLWpMsriIc2zsa3WW3xQ==", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.16.7.tgz", + "integrity": "sha512-YhUIJHHGkqPgEcMYkPCKTyGUdoGKWtopIycQyjJH8OjvRgOYsXsaKehLVPScKJWAULPxMa4N1vCe6szREFlZ7A==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.7" @@ -1016,247 +681,6 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.8.tgz", - "integrity": "sha512-MtmUmTJQHCnyJVrScNzNlofQJ3dLFuobYn3mwOTKHnSCMtbNsqvF71GQmJfFjdrXSsAA7iysFmYWw4bXZ20hOg==", - "dev": true, - "dependencies": { - "@babel/helper-module-imports": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-remap-async-to-generator": "^7.16.8" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.7.tgz", - "integrity": "sha512-JUuzlzmF40Z9cXyytcbZEZKckgrQzChbQJw/5PuEHYeqzCsvebDx0K0jWnIIVcmmDOAVctCgnYs0pMcrYj2zJg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.7.tgz", - "integrity": "sha512-ObZev2nxVAYA4bhyusELdo9hb3H+A56bxH3FZMbEImZFiEDYVHXQSJ1hQKFlDnlt8G9bBrCZ5ZpURZUrV4G5qQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-classes": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.7.tgz", - "integrity": "sha512-WY7og38SFAGYRe64BrjKf8OrE6ulEHtr5jEYaZMwox9KebgqPi67Zqz8K53EKk1fFEJgm96r32rkKZ3qA2nCWQ==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.16.7", - "@babel/helper-environment-visitor": "^7.16.7", - "@babel/helper-function-name": "^7.16.7", - "@babel/helper-optimise-call-expression": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-replace-supers": "^7.16.7", - "@babel/helper-split-export-declaration": "^7.16.7", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.7.tgz", - "integrity": "sha512-gN72G9bcmenVILj//sv1zLNaPyYcOzUho2lIJBMh/iakJ9ygCo/hEF9cpGb61SCMEDxbbyBoVQxrt+bWKu5KGw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.16.7.tgz", - "integrity": "sha512-VqAwhTHBnu5xBVDCvrvqJbtLUa++qZaWC0Fgr2mqokBlulZARGyIvZDoqbPlPaKImQ9dKAcCzbv+ul//uqu70A==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.7.tgz", - "integrity": "sha512-Lyttaao2SjZF6Pf4vk1dVKv8YypMpomAbygW+mU5cYP3S5cWTfCJjG8xV6CFdzGFlfWK81IjL9viiTvpb6G7gQ==", - "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.7.tgz", - "integrity": "sha512-03DvpbRfvWIXyK0/6QiR1KMTWeT6OcQ7tbhjrXyFS02kjuX/mu5Bvnh5SDSWHxyawit2g5aWhKwI86EE7GUnTw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.7.tgz", - "integrity": "sha512-8UYLSlyLgRixQvlYH3J2ekXFHDFLQutdy7FfFAMm3CPZ6q9wHCwnUyiXpQCe3gVVnQlHc5nsuiEVziteRNTXEA==", - "dev": true, - "dependencies": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-flow-strip-types": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.16.7.tgz", - "integrity": "sha512-mzmCq3cNsDpZZu9FADYYyfZJIOrSONmHcop2XEKPdBNMa4PDC4eEvcOvzZaCNcjKu72v0XQlA5y1g58aLRXdYg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/plugin-syntax-flow": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-for-of": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.7.tgz", - "integrity": "sha512-/QZm9W92Ptpw7sjI9Nx1mbcsWz33+l8kuMIQnDwgQBG5s3fAfQvkRjQ7NqXhtNcKOnPkdICmUHyCaWW06HCsqg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-function-name": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.7.tgz", - "integrity": "sha512-SU/C68YVwTRxqWj5kgsbKINakGag0KTgq9f2iZEXdStoAbOzLHEBRYzImmA6yFo8YZhJVflvXmIHUO7GWHmxxA==", - "dev": true, - "dependencies": { - "@babel/helper-compilation-targets": "^7.16.7", - "@babel/helper-function-name": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-literals": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.7.tgz", - "integrity": "sha512-6tH8RTpTWI0s2sV6uq3e/C9wPo4PTqqZps4uF0kzQ9/xPLFQtipynvmT1g/dOfEJ+0EQsHhkQ/zyRId8J2b8zQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.7.tgz", - "integrity": "sha512-mBruRMbktKQwbxaJof32LT9KLy2f3gH+27a5XSuXo6h7R3vqltl0PgZ80C8ZMKw98Bf8bqt6BEVi3svOh2PzMw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.7.tgz", - "integrity": "sha512-KaaEtgBL7FKYwjJ/teH63oAmE3lP34N3kshz8mm4VMAw7U3PxjVwwUmxEFksbgsNUaO3wId9R2AVQYSEGRa2+g==", - "dev": true, - "dependencies": { - "@babel/helper-module-transforms": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", - "babel-plugin-dynamic-import-node": "^2.3.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, "node_modules/@babel/plugin-transform-modules-commonjs": { "version": "7.16.8", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.16.8.tgz", @@ -1275,132 +699,6 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.16.7.tgz", - "integrity": "sha512-DuK5E3k+QQmnOqBR9UkusByy5WZWGRxfzV529s9nPra1GE7olmxfqO2FHobEOYSPIjPBTr4p66YDcjQnt8cBmw==", - "dev": true, - "dependencies": { - "@babel/helper-hoist-variables": "^7.16.7", - "@babel/helper-module-transforms": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-validator-identifier": "^7.16.7", - "babel-plugin-dynamic-import-node": "^2.3.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.7.tgz", - "integrity": "sha512-EMh7uolsC8O4xhudF2F6wedbSHm1HHZ0C6aJ7K67zcDNidMzVcxWdGr+htW9n21klm+bOn+Rx4CBsAntZd3rEQ==", - "dev": true, - "dependencies": { - "@babel/helper-module-transforms": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.8.tgz", - "integrity": "sha512-j3Jw+n5PvpmhRR+mrgIh04puSANCk/T/UA3m3P1MjJkhlK906+ApHhDIqBQDdOgL/r1UYpz4GNclTXxyZrYGSw==", - "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-transform-new-target": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.7.tgz", - "integrity": "sha512-xiLDzWNMfKoGOpc6t3U+etCE2yRnn3SM09BXqWPIZOBpL2gvVrBWUKnsJx0K/ADi5F5YC5f8APFfWrz25TdlGg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-object-super": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.7.tgz", - "integrity": "sha512-14J1feiQVWaGvRxj2WjyMuXS2jsBkgB3MdSN5HuC2G5nRspa5RK9COcs82Pwy5BuGcjb+fYaUj94mYcOj7rCvw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-replace-supers": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-parameters": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.7.tgz", - "integrity": "sha512-AT3MufQ7zZEhU2hwOA11axBnExW0Lszu4RL/tAlUJBuNoRak+wehQW8h6KcXOcgjY42fHtDxswuMhMjFEuv/aw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.7.tgz", - "integrity": "sha512-z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-display-name": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.16.7.tgz", - "integrity": "sha512-qgIg8BcZgd0G/Cz916D5+9kqX0c7nPZyXaP8R2tLNN5tkyIZdG5fEwBrxwplzSnjC1jvQmyMNVwUCZPcbGY7Pg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, "node_modules/@babel/plugin-transform-react-jsx": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.16.7.tgz", @@ -1420,79 +718,15 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-react-jsx-development": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.16.7.tgz", - "integrity": "sha512-RMvQWvpla+xy6MlBpPlrKZCMRs2AGiHOGHY3xRwl0pEeim348dDyxeH4xBsMPbIMhujeq7ihE702eM2Ew0Wo+A==", + "node_modules/@babel/plugin-transform-typescript": { + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.16.8.tgz", + "integrity": "sha512-bHdQ9k7YpBDO2d0NVfkj51DpQcvwIzIusJ7mEUaMlbZq3Kt/U47j24inXZHQ5MDiYpCs+oZiwnXyKedE8+q7AQ==", "dev": true, "dependencies": { - "@babel/plugin-transform-react-jsx": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-pure-annotations": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.16.7.tgz", - "integrity": "sha512-hs71ToC97k3QWxswh2ElzMFABXHvGiJ01IB1TbYQDGeWRKWz/MPUTh5jGExdHvosYKpnJW5Pm3S4+TA3FyX+GA==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.16.7.tgz", - "integrity": "sha512-mF7jOgGYCkSJagJ6XCujSQg+6xC1M77/03K2oBmVJWoFGNUtnVJO4WHKJk3dnPC8HCcj4xBQP1Egm8DWh3Pb3Q==", - "dev": true, - "dependencies": { - "regenerator-transform": "^0.14.2" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.7.tgz", - "integrity": "sha512-KQzzDnZ9hWQBjwi5lpY5v9shmm6IVG0U9pB18zvMu2i4H90xpT4gmqwPYsn8rObiadYe2M0gmgsiOIF5A/2rtg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-runtime": { - "version": "7.16.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.16.10.tgz", - "integrity": "sha512-9nwTiqETv2G7xI4RvXHNfpGdr8pAA+Q/YtN3yLK7OoK7n9OibVm/xymJ838a9A6E/IciOLPj82lZk0fW6O4O7w==", - "dev": true, - "dependencies": { - "@babel/helper-module-imports": "^7.16.7", + "@babel/helper-create-class-features-plugin": "^7.16.7", "@babel/helper-plugin-utils": "^7.16.7", - "babel-plugin-polyfill-corejs2": "^0.3.0", - "babel-plugin-polyfill-corejs3": "^0.5.0", - "babel-plugin-polyfill-regenerator": "^0.3.0", - "semver": "^6.3.0" + "@babel/plugin-syntax-typescript": "^7.16.7" }, "engines": { "node": ">=6.9.0" @@ -1501,228 +735,15 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-runtime/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/plugin-transform-shorthand-properties": { + "node_modules/@babel/preset-typescript": { "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.7.tgz", - "integrity": "sha512-hah2+FEnoRoATdIb05IOXf+4GzXYTq75TVhIn1PewihbpyrNWUt2JbudKQOETWw6QpLe+AIUpJ5MVLYTQbeeUg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-spread": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.7.tgz", - "integrity": "sha512-+pjJpgAngb53L0iaA5gU/1MLXJIfXcYepLgXB3esVRf4fqmj8f2cxM3/FKaHsZms08hFQJkFccEWuIpm429TXg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.7.tgz", - "integrity": "sha512-NJa0Bd/87QV5NZZzTuZG5BPJjLYadeSZ9fO6oOUoL4iQx+9EEuw/eEM92SrsT19Yc2jgB1u1hsjqDtH02c3Drw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.7.tgz", - "integrity": "sha512-VwbkDDUeenlIjmfNeDX/V0aWrQH2QiVyJtwymVQSzItFDTpxfyJh3EVaQiS0rIN/CqbLGr0VcGmuwyTdZtdIsA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.7.tgz", - "integrity": "sha512-p2rOixCKRJzpg9JB4gjnG4gjWkWa89ZoYUnl9snJ1cWIcTH/hvxZqfO+WjG6T8DRBpctEol5jw1O5rA8gkCokQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.7.tgz", - "integrity": "sha512-TAV5IGahIz3yZ9/Hfv35TV2xEm+kaBDaZQCn2S/hG9/CZ0DktxJv9eKfPc7yYCvOYR4JGx1h8C+jcSOvgaaI/Q==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.7.tgz", - "integrity": "sha512-oC5tYYKw56HO75KZVLQ+R/Nl3Hro9kf8iG0hXoaHP7tjAyCpvqBiSNe6vGrZni1Z6MggmUOC6A7VP7AVmw225Q==", - "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/preset-env": { - "version": "7.16.10", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.16.10.tgz", - "integrity": "sha512-iCac3fZn9oOcLqc1N2/copPiX7aoxzsvjeDdXoZobrlbQ6YGgS3bL9HyldOJ8V8AY5P7pFynCATrn7M4dMw0Yg==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.16.8", - "@babel/helper-compilation-targets": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-validator-option": "^7.16.7", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.16.7", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.16.7", - "@babel/plugin-proposal-async-generator-functions": "^7.16.8", - "@babel/plugin-proposal-class-properties": "^7.16.7", - "@babel/plugin-proposal-class-static-block": "^7.16.7", - "@babel/plugin-proposal-dynamic-import": "^7.16.7", - "@babel/plugin-proposal-export-namespace-from": "^7.16.7", - "@babel/plugin-proposal-json-strings": "^7.16.7", - "@babel/plugin-proposal-logical-assignment-operators": "^7.16.7", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.7", - "@babel/plugin-proposal-numeric-separator": "^7.16.7", - "@babel/plugin-proposal-object-rest-spread": "^7.16.7", - "@babel/plugin-proposal-optional-catch-binding": "^7.16.7", - "@babel/plugin-proposal-optional-chaining": "^7.16.7", - "@babel/plugin-proposal-private-methods": "^7.16.7", - "@babel/plugin-proposal-private-property-in-object": "^7.16.7", - "@babel/plugin-proposal-unicode-property-regex": "^7.16.7", - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-class-properties": "^7.12.13", - "@babel/plugin-syntax-class-static-block": "^7.14.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5", - "@babel/plugin-syntax-top-level-await": "^7.14.5", - "@babel/plugin-transform-arrow-functions": "^7.16.7", - "@babel/plugin-transform-async-to-generator": "^7.16.8", - "@babel/plugin-transform-block-scoped-functions": "^7.16.7", - "@babel/plugin-transform-block-scoping": "^7.16.7", - "@babel/plugin-transform-classes": "^7.16.7", - "@babel/plugin-transform-computed-properties": "^7.16.7", - "@babel/plugin-transform-destructuring": "^7.16.7", - "@babel/plugin-transform-dotall-regex": "^7.16.7", - "@babel/plugin-transform-duplicate-keys": "^7.16.7", - "@babel/plugin-transform-exponentiation-operator": "^7.16.7", - "@babel/plugin-transform-for-of": "^7.16.7", - "@babel/plugin-transform-function-name": "^7.16.7", - "@babel/plugin-transform-literals": "^7.16.7", - "@babel/plugin-transform-member-expression-literals": "^7.16.7", - "@babel/plugin-transform-modules-amd": "^7.16.7", - "@babel/plugin-transform-modules-commonjs": "^7.16.8", - "@babel/plugin-transform-modules-systemjs": "^7.16.7", - "@babel/plugin-transform-modules-umd": "^7.16.7", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.16.8", - "@babel/plugin-transform-new-target": "^7.16.7", - "@babel/plugin-transform-object-super": "^7.16.7", - "@babel/plugin-transform-parameters": "^7.16.7", - "@babel/plugin-transform-property-literals": "^7.16.7", - "@babel/plugin-transform-regenerator": "^7.16.7", - "@babel/plugin-transform-reserved-words": "^7.16.7", - "@babel/plugin-transform-shorthand-properties": "^7.16.7", - "@babel/plugin-transform-spread": "^7.16.7", - "@babel/plugin-transform-sticky-regex": "^7.16.7", - "@babel/plugin-transform-template-literals": "^7.16.7", - "@babel/plugin-transform-typeof-symbol": "^7.16.7", - "@babel/plugin-transform-unicode-escapes": "^7.16.7", - "@babel/plugin-transform-unicode-regex": "^7.16.7", - "@babel/preset-modules": "^0.1.5", - "@babel/types": "^7.16.8", - "babel-plugin-polyfill-corejs2": "^0.3.0", - "babel-plugin-polyfill-corejs3": "^0.5.0", - "babel-plugin-polyfill-regenerator": "^0.3.0", - "core-js-compat": "^3.20.2", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/preset-env/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/preset-flow": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.16.7.tgz", - "integrity": "sha512-6ceP7IyZdUYQ3wUVqyRSQXztd1YmFHWI4Xv11MIqAlE4WqxBSd/FZ61V9k+TS5Gd4mkHOtQtPp9ymRpxH4y1Ug==", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.16.7.tgz", + "integrity": "sha512-WbVEmgXdIyvzB77AQjGBEyYPZx+8tTsO50XtfozQrkW8QB2rLJpH2lgx0TRw5EJrBxOZQ+wCcyPVQvS8tjEHpQ==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.7", "@babel/helper-validator-option": "^7.16.7", - "@babel/plugin-transform-flow-strip-types": "^7.16.7" + "@babel/plugin-transform-typescript": "^7.16.7" }, "engines": { "node": ">=6.9.0" @@ -1731,54 +752,6 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/preset-modules": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", - "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", - "@babel/plugin-transform-dotall-regex": "^7.4.4", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/preset-react": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.16.7.tgz", - "integrity": "sha512-fWpyI8UM/HE6DfPBzD8LnhQ/OcH8AgTaqcqP2nGOXEUV+VKBR5JRN9hCk9ai+zQQ57vtm9oWeXguBCPNUjytgA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-validator-option": "^7.16.7", - "@babel/plugin-transform-react-display-name": "^7.16.7", - "@babel/plugin-transform-react-jsx": "^7.16.7", - "@babel/plugin-transform-react-jsx-development": "^7.16.7", - "@babel/plugin-transform-react-pure-annotations": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/runtime": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.16.7.tgz", - "integrity": "sha512-9E9FJowqAsytyOY6LG+1KuueckRL+aQW+mKvXRXnuFGyRAyepJPmEo9vgMfXUA6O9u3IeEdv9MAkppFcaQwogQ==", - "dev": true, - "dependencies": { - "regenerator-runtime": "^0.13.4" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/template": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz", @@ -1827,180 +800,200 @@ "node": ">=6.9.0" } }, - "node_modules/@devexpress/error-stack-parser": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@devexpress/error-stack-parser/-/error-stack-parser-2.0.6.tgz", - "integrity": "sha512-fneVypElGUH6Be39mlRZeAu00pccTlf4oVuzf9xPJD1cdEqI8NyAiQua/EW7lZdrbMUbgyXcJmfKPefhYius3A==", + "node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", "dev": true, "dependencies": { - "stackframe": "^1.1.1" - } - }, - "node_modules/@ffmpeg-installer/darwin-arm64": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@ffmpeg-installer/darwin-arm64/-/darwin-arm64-4.1.5.tgz", - "integrity": "sha512-hYqTiP63mXz7wSQfuqfFwfLOfwwFChUedeCVKkBtl/cliaTM7/ePI9bVzfZ2c+dWu3TqCwLDRWNSJ5pqZl8otA==", - "cpu": [ - "arm64" - ], - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@ffmpeg-installer/darwin-x64": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@ffmpeg-installer/darwin-x64/-/darwin-x64-4.1.0.tgz", - "integrity": "sha512-Z4EyG3cIFjdhlY8wI9aLUXuH8nVt7E9SlMVZtWvSPnm2sm37/yC2CwjUzyCQbJbySnef1tQwGG2Sx+uWhd9IAw==", - "cpu": [ - "x64" - ], - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@ffmpeg-installer/ffmpeg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@ffmpeg-installer/ffmpeg/-/ffmpeg-1.1.0.tgz", - "integrity": "sha512-Uq4rmwkdGxIa9A6Bd/VqqYbT7zqh1GrT5/rFwCwKM70b42W5gIjWeVETq6SdcL0zXqDtY081Ws/iJWhr1+xvQg==", - "optionalDependencies": { - "@ffmpeg-installer/darwin-arm64": "4.1.5", - "@ffmpeg-installer/darwin-x64": "4.1.0", - "@ffmpeg-installer/linux-arm": "4.1.3", - "@ffmpeg-installer/linux-arm64": "4.1.4", - "@ffmpeg-installer/linux-ia32": "4.1.0", - "@ffmpeg-installer/linux-x64": "4.1.0", - "@ffmpeg-installer/win32-ia32": "4.1.0", - "@ffmpeg-installer/win32-x64": "4.1.0" - } - }, - "node_modules/@ffmpeg-installer/linux-arm": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/@ffmpeg-installer/linux-arm/-/linux-arm-4.1.3.tgz", - "integrity": "sha512-NDf5V6l8AfzZ8WzUGZ5mV8O/xMzRag2ETR6+TlGIsMHp81agx51cqpPItXPib/nAZYmo55Bl2L6/WOMI3A5YRg==", - "cpu": [ - "arm" - ], - "hasInstallScript": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@ffmpeg-installer/linux-arm64": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/@ffmpeg-installer/linux-arm64/-/linux-arm64-4.1.4.tgz", - "integrity": "sha512-dljEqAOD0oIM6O6DxBW9US/FkvqvQwgJ2lGHOwHDDwu/pX8+V0YsDL1xqHbj1DMX/+nP9rxw7G7gcUvGspSoKg==", - "cpu": [ - "arm64" - ], - "hasInstallScript": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@ffmpeg-installer/linux-ia32": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@ffmpeg-installer/linux-ia32/-/linux-ia32-4.1.0.tgz", - "integrity": "sha512-0LWyFQnPf+Ij9GQGD034hS6A90URNu9HCtQ5cTqo5MxOEc7Rd8gLXrJvn++UmxhU0J5RyRE9KRYstdCVUjkNOQ==", - "cpu": [ - "ia32" - ], - "hasInstallScript": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@ffmpeg-installer/linux-x64": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@ffmpeg-installer/linux-x64/-/linux-x64-4.1.0.tgz", - "integrity": "sha512-Y5BWhGLU/WpQjOArNIgXD3z5mxxdV8c41C+U15nsE5yF8tVcdCGet5zPs5Zy3Ta6bU7haGpIzryutqCGQA/W8A==", - "cpu": [ - "x64" - ], - "hasInstallScript": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@ffmpeg-installer/win32-ia32": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@ffmpeg-installer/win32-ia32/-/win32-ia32-4.1.0.tgz", - "integrity": "sha512-FV2D7RlaZv/lrtdhaQ4oETwoFUsUjlUiasiZLDxhEUPdNDWcH1OU9K1xTvqz+OXLdsmYelUDuBS/zkMOTtlUAw==", - "cpu": [ - "ia32" - ], - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@ffmpeg-installer/win32-x64": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@ffmpeg-installer/win32-x64/-/win32-x64-4.1.0.tgz", - "integrity": "sha512-Drt5u2vzDnIONf4ZEkKtFlbvwj6rI3kxw1Ck9fpudmtgaZIHD4ucsWB2lCZBXRxJgXR+2IMSti+4rtM4C4rXgg==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@miherlosev/esm": { - "version": "3.2.26", - "resolved": "https://registry.npmjs.org/@miherlosev/esm/-/esm-3.2.26.tgz", - "integrity": "sha512-TaW4jTGVE1/ln2VGFChnheMh589QCAZy1MVnLvjjSzZ4pEAa4WYAWPwFkDVZbSdPQdLfZy7LuTyZjWRkhX9/Gg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" }, "engines": { - "node": ">= 8" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "node_modules/@jest/types/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" + "color-convert": "^2.0.1" }, "engines": { - "node": ">= 8" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/types/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/types/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/types/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/@jest/types/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/types/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@playwright/test": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.19.1.tgz", + "integrity": "sha512-NGWqJWP4N2HFyXlOSDwQSfgmige94p9KQvml62fJ5wg4sknfkyw+CnFeLUze8qvnGlS0PbVISMRV5JOE8EdxjQ==", + "dev": true, + "dependencies": { + "@babel/code-frame": "7.16.7", + "@babel/core": "7.16.12", + "@babel/plugin-proposal-class-properties": "7.16.7", + "@babel/plugin-proposal-dynamic-import": "7.16.7", + "@babel/plugin-proposal-export-namespace-from": "7.16.7", + "@babel/plugin-proposal-logical-assignment-operators": "7.16.7", + "@babel/plugin-proposal-nullish-coalescing-operator": "7.16.7", + "@babel/plugin-proposal-numeric-separator": "7.16.7", + "@babel/plugin-proposal-optional-chaining": "7.16.7", + "@babel/plugin-proposal-private-methods": "7.16.11", + "@babel/plugin-proposal-private-property-in-object": "7.16.7", + "@babel/plugin-syntax-async-generators": "7.8.4", + "@babel/plugin-syntax-json-strings": "7.8.3", + "@babel/plugin-syntax-object-rest-spread": "7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "7.8.3", + "@babel/plugin-transform-modules-commonjs": "7.16.8", + "@babel/plugin-transform-react-jsx": "7.16.7", + "@babel/preset-typescript": "7.16.7", + "babel-plugin-module-resolver": "4.1.0", + "colors": "1.4.0", + "commander": "8.3.0", + "debug": "4.3.3", + "expect": "27.2.5", + "jest-matcher-utils": "27.2.5", + "jpeg-js": "0.4.3", + "json5": "2.2.0", + "mime": "3.0.0", + "minimatch": "3.0.4", + "ms": "2.1.3", + "open": "8.4.0", + "pirates": "4.0.4", + "pixelmatch": "5.2.1", + "playwright-core": "1.19.1", + "pngjs": "6.0.0", + "rimraf": "3.0.2", + "source-map-support": "0.4.18", + "stack-utils": "2.0.5", + "yazl": "2.5.1" + }, + "bin": { + "playwright": "cli.js" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@playwright/test/node_modules/mime": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", + "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==", + "dev": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/@playwright/test/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/@playwright/test/node_modules/pngjs": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-6.0.0.tgz", + "integrity": "sha512-TRzzuFRRmEoSW/p1KVAmiOgPco2Irlah+bGFCeNfJXxxYGwSw7YwAOAcd7X28K/m5bjBWKsC29KyoMfHbypayg==", + "dev": true, + "engines": { + "node": ">=12.13.0" + } + }, + "node_modules/@playwright/test/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@playwright/test/node_modules/source-map-support": { + "version": "0.4.18", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", + "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", + "dev": true, + "dependencies": { + "source-map": "^0.5.6" } }, "node_modules/@types/docker-modem": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/@types/docker-modem/-/docker-modem-3.0.2.tgz", "integrity": "sha512-qC7prjoEYR2QEe6SmCVfB1x3rfcQtUr1n4x89+3e0wSTMQ/KYCyf+/RAA9n2tllkkNc6//JMUZePdFRiGIWfaQ==", + "dev": true, "dependencies": { "@types/node": "*", "@types/ssh2": "*" @@ -2010,58 +1003,47 @@ "version": "3.3.1", "resolved": "https://registry.npmjs.org/@types/dockerode/-/dockerode-3.3.1.tgz", "integrity": "sha512-pjEOl3C/N2viC+nU2iEM6ImFcyu/RoLZvfsAGc3xIW2MlyEox+ZtJgPDXCFfFVh8ZNouxCRL673aa2Ywbx20EQ==", + "dev": true, "dependencies": { "@types/docker-modem": "*", "@types/node": "*" } }, - "node_modules/@types/error-stack-parser": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@types/error-stack-parser/-/error-stack-parser-2.0.0.tgz", - "integrity": "sha512-O2ZQvaCuvqgpSOFzHST/VELij9sm5P84bouCz6z8DysloeY47JpeUyvv00TE0LrZPsG2qleUK00anUaLsvUMHQ==", - "deprecated": "This is a stub types definition for error-stack-parser (https://github.com/stacktracejs/error-stack-parser). error-stack-parser provides its own type definitions, so you don't need @types/error-stack-parser installed!", + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", + "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", + "dev": true + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", "dev": true, "dependencies": { - "error-stack-parser": "*" + "@types/istanbul-lib-coverage": "*" } }, - "node_modules/@types/estree": { - "version": "0.0.46", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.46.tgz", - "integrity": "sha512-laIjwTQaD+5DukBZaygQ79K1Z0jb1bPEMRrkXSLjtCcZm+abyp5YbrqpSLzD42FwWW6gK/aS4NYpJ804nG2brg==", - "dev": true - }, - "node_modules/@types/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", + "node_modules/@types/istanbul-reports": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", + "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", "dev": true, "dependencies": { - "@types/minimatch": "*", - "@types/node": "*" + "@types/istanbul-lib-report": "*" } }, - "node_modules/@types/lodash": { - "version": "4.14.178", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.178.tgz", - "integrity": "sha512-0d5Wd09ItQWH1qFbEyQ7oTQ3GZrMfth5JkbN3EvTKLXcHLRDSXeLnlvlOn0wvxVIwK5o2M8JzP/OWz7T3NRsbw==", - "dev": true - }, - "node_modules/@types/minimatch": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", - "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", - "dev": true - }, "node_modules/@types/node": { "version": "17.0.10", "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.10.tgz", - "integrity": "sha512-S/3xB4KzyFxYGCppyDt68yzBU9ysL88lSdIah4D6cptdcltc4NCPCAMc0+PCpg/lLIyC7IPvj2Z52OJWeIUkog==" + "integrity": "sha512-S/3xB4KzyFxYGCppyDt68yzBU9ysL88lSdIah4D6cptdcltc4NCPCAMc0+PCpg/lLIyC7IPvj2Z52OJWeIUkog==", + "dev": true }, "node_modules/@types/ssh2": { "version": "0.5.50", "resolved": "https://registry.npmjs.org/@types/ssh2/-/ssh2-0.5.50.tgz", "integrity": "sha512-Eu/rzX4L+GhWIKEFQbaeWKECdy8VRdIYOqjMlFp+v4v7tBhvcl30m34BZzVALn/dNXvcB6dmcMtspIW7iPOlPg==", + "dev": true, "dependencies": { "@types/node": "*", "@types/ssh2-streams": "*" @@ -2071,66 +1053,52 @@ "version": "0.1.9", "resolved": "https://registry.npmjs.org/@types/ssh2-streams/-/ssh2-streams-0.1.9.tgz", "integrity": "sha512-I2J9jKqfmvXLR5GomDiCoHrEJ58hAOmFrekfFqmCFd+A6gaEStvWnPykoWUwld1PNg4G5ag1LwdA+Lz1doRJqg==", + "dev": true, "dependencies": { "@types/node": "*" } }, - "node_modules/acorn-hammerhead": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/acorn-hammerhead/-/acorn-hammerhead-0.5.0.tgz", - "integrity": "sha512-TI9TFfJBfduhcM2GggayNhdYvdJ3UgS/Bu3sB7FB2AUmNCmCJ+TSOT6GXu+bodG5/xL74D5zE4XRaqyjgjsYVQ==", + "node_modules/@types/stack-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", + "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", + "dev": true + }, + "node_modules/@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", "dev": true, "dependencies": { - "@types/estree": "0.0.46" + "@types/yargs-parser": "*" } }, - "node_modules/aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "node_modules/@types/yargs-parser": { + "version": "20.2.1", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.1.tgz", + "integrity": "sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw==", + "dev": true + }, + "node_modules/@types/yauzl": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.9.2.tgz", + "integrity": "sha512-8uALY5LTvSuHgloDVUvWP3pIauILm+8/0pDMokuDYIoNsOkSwd5AiHBTSEJjKTDcZr5z8UpgOWZkxBF4iJftoA==", + "dev": true, + "optional": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", "dev": true, "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" + "debug": "4" }, "engines": { - "node": ">=8" - } - }, - "node_modules/aggregate-error/node_modules/indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/amdefine": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", - "dev": true, - "engines": { - "node": ">=0.4.2" - } - }, - "node_modules/ansi-escapes": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-2.0.0.tgz", - "integrity": "sha1-W65SvkJIeN2Xg+iRDj/Cki6DyBs=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true, - "engines": { - "node": ">=0.10.0" + "node": ">= 6.0.0" } }, "node_modules/ansi-styles": { @@ -2145,60 +1113,6 @@ "node": ">=4" } }, - "node_modules/array-find": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-find/-/array-find-1.0.0.tgz", - "integrity": "sha1-bI4obRHtdoMn+OYuzuhzU8o+eLg=", - "dev": true - }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/asar": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/asar/-/asar-2.1.0.tgz", - "integrity": "sha512-d2Ovma+bfqNpvBzY/KU8oPY67ZworixTpkjSx0PCXnQi67c2cXmssaTxpFDUM0ttopXoGx/KRxNg/GDThYbXQA==", - "dev": true, - "dependencies": { - "chromium-pickle-js": "^0.2.0", - "commander": "^2.20.0", - "cuint": "^0.2.2", - "glob": "^7.1.3", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.1", - "tmp-promise": "^1.0.5" - }, - "bin": { - "asar": "bin/asar.js" - }, - "engines": { - "node": ">=8.0" - }, - "optionalDependencies": { - "@types/glob": "^7.1.1" - } - }, - "node_modules/asar/node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true - }, "node_modules/asn1": { "version": "0.2.6", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", @@ -2208,46 +1122,11 @@ "safer-buffer": "~2.1.0" } }, - "node_modules/assertion-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", - "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/async": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/async/-/async-0.2.6.tgz", - "integrity": "sha1-rT83PZJJrjJIgVZVgryQ4VKrvWg=", - "dev": true - }, - "node_modules/async-exit-hook": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/async-exit-hook/-/async-exit-hook-1.1.2.tgz", - "integrity": "sha1-gJXXXkiMKazuBVH+hyUhadeJz7o=", - "dev": true, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", - "dev": true, - "bin": { - "atob": "bin/atob.js" - }, - "engines": { - "node": ">= 4.5.0" - } - }, "node_modules/axios": { "version": "0.24.0", "resolved": "https://registry.npmjs.org/axios/-/axios-0.24.0.tgz", "integrity": "sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==", + "dev": true, "dependencies": { "follow-redirects": "^1.14.4" } @@ -2277,60 +1156,6 @@ "node": ">= 8.0.0" } }, - "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.1.tgz", - "integrity": "sha512-v7/T6EQcNfVLfcN2X8Lulb7DjprieyLWJK/zOWH5DUYcAgex9sP3h25Q+DLsX9TloXe3y1O8l2q2Jv9q8UVB9w==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.13.11", - "@babel/helper-define-polyfill-provider": "^0.3.1", - "semver": "^6.1.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.1.tgz", - "integrity": "sha512-TihqEe4sQcb/QcPJvxe94/9RZuLQuF1+To4WqQcRvc+3J3gLCPIPgDKzGLG6zmQLfH3nn25heRuDNkS2KR4I8A==", - "dev": true, - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.3.1", - "core-js-compat": "^3.20.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz", - "integrity": "sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A==", - "dev": true, - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.3.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/babel-plugin-syntax-trailing-function-commas": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz", - "integrity": "sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM=", - "dev": true - }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", @@ -2366,12 +1191,6 @@ "tweetnacl": "^0.14.3" } }, - "node_modules/bin-v8-flags-filter": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/bin-v8-flags-filter/-/bin-v8-flags-filter-1.2.0.tgz", - "integrity": "sha512-g8aeYkY7GhyyKRvQMBsJQZjhm2iCX3dKYvfrMpwVR8IxmUGrkpCBFoKbB9Rh0o3sTLCjU/1tFpZ4C7j3f+D+3g==", - "dev": true - }, "node_modules/bl": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", @@ -2383,18 +1202,6 @@ "readable-stream": "^3.4.0" } }, - "node_modules/bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", - "dev": true - }, - "node_modules/bowser": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz", - "integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==", - "dev": true - }, "node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -2417,15 +1224,6 @@ "node": ">=8" } }, - "node_modules/brotli": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/brotli/-/brotli-1.3.2.tgz", - "integrity": "sha1-UlqcrU/LqWR119OI9q7LE+7VL0Y=", - "dev": true, - "dependencies": { - "base64-js": "^1.1.2" - } - }, "node_modules/browserslist": { "version": "4.19.1", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.19.1.tgz", @@ -2473,17 +1271,14 @@ "ieee754": "^1.1.13" } }, - "node_modules/buffer-equal-constant-time": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", - "integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=", - "dev": true - }, - "node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true + "node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", + "dev": true, + "engines": { + "node": "*" + } }, "node_modules/call-bind": { "version": "1.0.2", @@ -2498,31 +1293,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/callsite": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", - "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/callsite-record": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/callsite-record/-/callsite-record-4.1.4.tgz", - "integrity": "sha512-dJDrDR/pDvsf7GaDAQB+ZVmM0zEHU7I3km5EtwxmTVBwaJuOy+dmTN63/u3Lbm0gDdQN4skEtKa67Oety2dGIA==", - "dev": true, - "dependencies": { - "@devexpress/error-stack-parser": "^2.0.6", - "@types/error-stack-parser": "^2.0.0", - "@types/lodash": "^4.14.72", - "callsite": "^1.0.0", - "chalk": "^2.4.0", - "highlight-es": "^1.0.0", - "lodash": "4.6.1 || ^4.16.1", - "pinkie-promise": "^2.0.0" - } - }, "node_modules/caniuse-lite": { "version": "1.0.30001300", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001300.tgz", @@ -2533,23 +1303,6 @@ "url": "https://opencollective.com/browserslist" } }, - "node_modules/chai": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.4.tgz", - "integrity": "sha512-yS5H68VYOCtN1cjfwumDSuzn/9c+yza4f3reKXlE5rUg7SFcCEy90gJvydNgOYtblyf4Zi6jIWRnXOgErta0KA==", - "dev": true, - "dependencies": { - "assertion-error": "^1.1.0", - "check-error": "^1.0.2", - "deep-eql": "^3.0.1", - "get-func-name": "^2.0.0", - "pathval": "^1.1.1", - "type-detect": "^4.0.5" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", @@ -2564,83 +1317,12 @@ "node": ">=4" } }, - "node_modules/check-error": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", - "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=", - "dev": true, - "engines": { - "node": "*" - } - }, "node_modules/chownr": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", "dev": true }, - "node_modules/chrome-remote-interface": { - "version": "0.30.1", - "resolved": "https://registry.npmjs.org/chrome-remote-interface/-/chrome-remote-interface-0.30.1.tgz", - "integrity": "sha512-emKaqCjYAgrT35nm6PvTUKJ++2NX9qAmrcNRPRGyryG9Kc7wlkvO0bmvEdNMrr8Bih2e149WctJZFzUiM1UNwg==", - "dev": true, - "dependencies": { - "commander": "2.11.x", - "ws": "^7.2.0" - }, - "bin": { - "chrome-remote-interface": "bin/client.js" - } - }, - "node_modules/chrome-remote-interface/node_modules/commander": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz", - "integrity": "sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ==", - "dev": true - }, - "node_modules/chromium-pickle-js": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/chromium-pickle-js/-/chromium-pickle-js-0.2.0.tgz", - "integrity": "sha1-BKEGZywYsIWrd02YPfo+oTjyIgU=", - "dev": true - }, - "node_modules/ci-info": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz", - "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==", - "dev": true - }, - "node_modules/clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/coffeescript": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/coffeescript/-/coffeescript-2.6.1.tgz", - "integrity": "sha512-GG5nkF93qII8HmHqnnibkgpp/SV7PSnSPiWsbinwya7nNOe95aE/x2xrKZJFks8Qpko3TNrC+/LahaKgrz5YCg==", - "dev": true, - "bin": { - "cake": "bin/cake", - "coffee": "bin/coffee" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", @@ -2656,6 +1338,15 @@ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", "dev": true }, + "node_modules/colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", + "dev": true, + "engines": { + "node": ">=0.1.90" + } + }, "node_modules/commander": { "version": "8.3.0", "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", @@ -2686,35 +1377,6 @@ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "dev": true }, - "node_modules/core-js-compat": { - "version": "3.20.3", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.20.3.tgz", - "integrity": "sha512-c8M5h0IkNZ+I92QhIpuSijOxGAcj3lgpsWdkCqmUTZNwidujF4r3pi6x1DCN+Vcs5qTS2XWWMfWSuCqyupX8gw==", - "dev": true, - "dependencies": { - "browserslist": "^4.19.1", - "semver": "7.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/core-js-compat/node_modules/semver": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", - "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", - "dev": true - }, "node_modules/cpu-features": { "version": "0.0.2", "resolved": "https://registry.npmjs.org/cpu-features/-/cpu-features-0.0.2.tgz", @@ -2729,60 +1391,6 @@ "node": ">=8.0.0" } }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/crypto-md5": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/crypto-md5/-/crypto-md5-1.0.0.tgz", - "integrity": "sha1-zMjadQx1PH7curxUKWdHKjhOhrs=", - "dev": true, - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.5.2" - } - }, - "node_modules/css": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/css/-/css-2.2.3.tgz", - "integrity": "sha512-0W171WccAjQGGTKLhw4m2nnl0zPHUlTO/I8td4XzJgIB8Hg3ZZx71qT4G4eX8OVsSiaAKiUMy73E3nsbPlg2DQ==", - "dev": true, - "dependencies": { - "inherits": "^2.0.1", - "source-map": "^0.1.38", - "source-map-resolve": "^0.5.1", - "urix": "^0.1.0" - } - }, - "node_modules/css/node_modules/source-map": { - "version": "0.1.43", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", - "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", - "dev": true, - "dependencies": { - "amdefine": ">=0.0.4" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/cuint": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/cuint/-/cuint-0.2.2.tgz", - "integrity": "sha1-QICG1AlVDCYxFVYZ6fp7ytw7mRs=", - "dev": true - }, "node_modules/debug": { "version": "4.3.3", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", @@ -2800,31 +1408,13 @@ } } }, - "node_modules/decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "node_modules/define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", "dev": true, "engines": { - "node": ">=0.10" - } - }, - "node_modules/dedent": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.4.0.tgz", - "integrity": "sha1-h979BAvUwVldljKC7FfzwqhSVkI=", - "dev": true - }, - "node_modules/deep-eql": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", - "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==", - "dev": true, - "dependencies": { - "type-detect": "^4.0.0" - }, - "engines": { - "node": ">=0.12" + "node": ">=8" } }, "node_modules/define-properties": { @@ -2839,94 +1429,13 @@ "node": ">= 0.4" } }, - "node_modules/del": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/del/-/del-3.0.0.tgz", - "integrity": "sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU=", - "dev": true, - "dependencies": { - "globby": "^6.1.0", - "is-path-cwd": "^1.0.0", - "is-path-in-cwd": "^1.0.0", - "p-map": "^1.1.1", - "pify": "^3.0.0", - "rimraf": "^2.2.8" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/del/node_modules/array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", - "dev": true, - "dependencies": { - "array-uniq": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/del/node_modules/globby": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", - "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", - "dev": true, - "dependencies": { - "array-union": "^1.0.1", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/del/node_modules/globby/node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "node_modules/diff-sequences": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", + "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", "dev": true, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/del/node_modules/pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/device-specs": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/device-specs/-/device-specs-1.0.0.tgz", - "integrity": "sha512-fYXbFSeilT7bnKWFi4OERSPHdtaEoDGn4aUhV5Nly6/I+Tp6JZ/6Icmd7LVIF5euyodGpxz2e/bfUmDnIdSIDw==", - "dev": true - }, - "node_modules/diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "dev": true, - "engines": { - "node": ">=0.3.1" - } - }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, "node_modules/docker-modem": { @@ -2957,39 +1466,12 @@ "node": ">= 8.0" } }, - "node_modules/ecdsa-sig-formatter": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", - "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", - "dev": true, - "dependencies": { - "safe-buffer": "^5.0.1" - } - }, "node_modules/electron-to-chromium": { "version": "1.4.49", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.49.tgz", "integrity": "sha512-k/0t1TRfonHIp8TJKfjBu2cKj8MqYTiEpOhci+q7CVEE5xnCQnx1pTa+V8b/sdhe4S3PR4p4iceEQWhGrKQORQ==", "dev": true }, - "node_modules/elegant-spinner": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/elegant-spinner/-/elegant-spinner-1.0.1.tgz", - "integrity": "sha1-2wQ1IcldfjA/2PNFvtwzSc+wcp4=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/emittery": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.4.1.tgz", - "integrity": "sha512-r4eRSeStEGf6M5SKdrQhhLK5bOwOBxQhIE3YSTnZE3GpKiLfnnhE+tPtrJE79+eDJgm39BM6LSoI8SCx4HbwlQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/end-of-stream": { "version": "1.4.4", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", @@ -2999,58 +1481,6 @@ "once": "^1.4.0" } }, - "node_modules/endpoint-utils": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/endpoint-utils/-/endpoint-utils-1.0.2.tgz", - "integrity": "sha1-CAjDNppyfNeWejn/NOvJJriBRqg=", - "dev": true, - "dependencies": { - "ip": "^1.1.3", - "pinkie-promise": "^1.0.0" - } - }, - "node_modules/endpoint-utils/node_modules/pinkie": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-1.0.0.tgz", - "integrity": "sha1-Wkfyi6EBXQIBvae/DzWOR77Ix+Q=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/endpoint-utils/node_modules/pinkie-promise": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-1.0.0.tgz", - "integrity": "sha1-0dpn9UglY7t89X8oauKCLs+/NnA=", - "dev": true, - "dependencies": { - "pinkie": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/error-stack-parser": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-1.3.6.tgz", - "integrity": "sha1-4Oc7k+QXE40c18C3RrGkoUhUwpI=", - "dev": true, - "dependencies": { - "stackframe": "^0.3.1" - } - }, - "node_modules/error-stack-parser/node_modules/stackframe": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-0.3.1.tgz", - "integrity": "sha1-M6qE8Rd6VUjIk1Uzy/6zQgl19aQ=", - "dev": true - }, - "node_modules/es6-promise": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", - "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==", - "dev": true - }, "node_modules/escalade": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", @@ -3069,70 +1499,62 @@ "node": ">=0.8.0" } }, - "node_modules/esotope-hammerhead": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/esotope-hammerhead/-/esotope-hammerhead-0.6.1.tgz", - "integrity": "sha512-RG4orJ1xy+zD6fTEKuDYaqCuL1ymYa1/Bp+j9c7b/u7B8yI6+Qgg8o4lT1EDAOG9eBzBtwtTWR0chqt3hr0hZw==", + "node_modules/expect": { + "version": "27.2.5", + "resolved": "https://registry.npmjs.org/expect/-/expect-27.2.5.tgz", + "integrity": "sha512-ZrO0w7bo8BgGoP/bLz+HDCI+0Hfei9jUSZs5yI/Wyn9VkG9w8oJ7rHRgYj+MA7yqqFa0IwHA3flJzZtYugShJA==", "dev": true, "dependencies": { - "@types/estree": "0.0.46" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/execa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", - "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" + "@jest/types": "^27.2.5", + "ansi-styles": "^5.0.0", + "jest-get-type": "^27.0.6", + "jest-matcher-utils": "^27.2.5", + "jest-message-util": "^27.2.5", + "jest-regex-util": "^27.0.6" }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/expect/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/fast-glob": { - "version": "3.2.11", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", - "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", + "node_modules/extract-zip": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", + "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", "dev": true, "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" + "debug": "^4.1.1", + "get-stream": "^5.1.0", + "yauzl": "^2.10.0" + }, + "bin": { + "extract-zip": "cli.js" }, "engines": { - "node": ">=8.6.0" + "node": ">= 10.17.0" + }, + "optionalDependencies": { + "@types/yauzl": "^2.9.1" } }, - "node_modules/fastq": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", - "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", + "node_modules/fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", "dev": true, "dependencies": { - "reusify": "^1.0.4" + "pend": "~1.2.0" } }, "node_modules/fill-range": { @@ -3185,6 +1607,7 @@ "version": "1.14.8", "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.8.tgz", "integrity": "sha512-1x0S9UVJHsQprFcEC/qnNzBLcIxsjAV905f/UkQxbclCsoTWlacCNOpQa/anodLl2uaEKFhfWOvM2Qg77+15zA==", + "dev": true, "funding": [ { "type": "individual", @@ -3200,32 +1623,12 @@ } } }, - "node_modules/fp-ts": { - "version": "2.11.8", - "resolved": "https://registry.npmjs.org/fp-ts/-/fp-ts-2.11.8.tgz", - "integrity": "sha512-WQT6rP6Jt3TxMdQB3IKzvfZKLuldumntgumLhIUhvPrukTHdWNI4JgEHY04Bd0LIOR9IQRpB+7RuxgUU0Vhmcg==", - "dev": true - }, "node_modules/fs-constants": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", "dev": true }, - "node_modules/fs-extra": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz", - "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=12" - } - }, "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -3247,15 +1650,6 @@ "node": ">=6.9.0" } }, - "node_modules/get-func-name": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", - "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=", - "dev": true, - "engines": { - "node": "*" - } - }, "node_modules/get-intrinsic": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", @@ -3270,15 +1664,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/get-stdin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", - "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/get-stream": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", @@ -3314,39 +1699,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/glob-parent/node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/glob-parent/node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/globals": { "version": "11.12.0", "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", @@ -3356,41 +1708,12 @@ "node": ">=4" } }, - "node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dev": true, - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/graceful-fs": { "version": "4.2.9", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==", "dev": true }, - "node_modules/graphlib": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/graphlib/-/graphlib-2.1.8.tgz", - "integrity": "sha512-jcLLfkpoVGmH7/InMC/1hIvOPSUh38oJtGhvrOFGzioE1DZ+0YW16RgmOJhHiuWTvGiJQ9Z1Ik43JvkRPRvE+A==", - "dev": true, - "dependencies": { - "lodash": "^4.17.15" - } - }, "node_modules/has": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", @@ -3424,54 +1747,17 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/highlight-es": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/highlight-es/-/highlight-es-1.0.3.tgz", - "integrity": "sha512-s/SIX6yp/5S1p8aC/NRDC1fwEb+myGIfp8/TzZz0rtAv8fzsdX7vGl3Q1TrXCsczFq8DI3CBFBCySPClfBSdbg==", + "node_modules/https-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", + "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", "dev": true, "dependencies": { - "chalk": "^2.4.0", - "is-es2016-keyword": "^1.0.0", - "js-tokens": "^3.0.0" - } - }, - "node_modules/highlight-es/node_modules/js-tokens": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", - "dev": true - }, - "node_modules/http-cache-semantics": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", - "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==", - "dev": true - }, - "node_modules/human-signals": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", - "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", - "dev": true, - "engines": { - "node": ">=8.12.0" - } - }, - "node_modules/humanize-duration": { - "version": "3.27.1", - "resolved": "https://registry.npmjs.org/humanize-duration/-/humanize-duration-3.27.1.tgz", - "integrity": "sha512-jCVkMl+EaM80rrMrAPl96SGG4NRac53UyI1o/yAzebDntEY6K6/Fj2HOjdPg8omTqIe5Y0wPBai2q5xXrIbarA==", - "dev": true - }, - "node_modules/iconv-lite": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.5.1.tgz", - "integrity": "sha512-ONHr16SQvKZNSqjQT9gy5z24Jw+uqfO02/ngBSBoqChZ+W8qXX7GPRa1RoUnzGADw8K63R1BXUMzarCVQBpY8Q==", - "dev": true, - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" + "agent-base": "6", + "debug": "4" }, "engines": { - "node": ">=0.10.0" + "node": ">= 6" } }, "node_modules/ieee754": { @@ -3494,41 +1780,6 @@ } ] }, - "node_modules/ignore": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", - "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/import-lazy": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-3.1.0.tgz", - "integrity": "sha512-8/gvXvX2JMn0F+CDlSC4l6kOmVaLOO3XLkksI7CI3Ud95KDYJuYur2b9P/PUt/i/pDAMd/DulQsNbbbmRRsDIQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/indent-string": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-1.2.2.tgz", - "integrity": "sha1-25m8xYPrarux5I3LsZmamGBBy2s=", - "dev": true, - "dependencies": { - "get-stdin": "^4.0.1", - "minimist": "^1.1.0", - "repeating": "^1.1.0" - }, - "bin": { - "indent-string": "cli.js" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -3545,45 +1796,12 @@ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true }, - "node_modules/io-ts": { - "version": "2.2.16", - "resolved": "https://registry.npmjs.org/io-ts/-/io-ts-2.2.16.tgz", - "integrity": "sha512-y5TTSa6VP6le0hhmIyN0dqEXkrZeJLeC5KApJq6VLci3UEKF80lZ+KuoUs02RhBxNWlrqSNxzfI7otLX1Euv8Q==", - "dev": true, - "peerDependencies": { - "fp-ts": "^2.5.0" - } - }, - "node_modules/io-ts-types": { - "version": "0.5.16", - "resolved": "https://registry.npmjs.org/io-ts-types/-/io-ts-types-0.5.16.tgz", - "integrity": "sha512-h9noYVfY9rlbmKI902SJdnV/06jgiT2chxG6lYDxaYNp88HscPi+SBCtmcU+m0E7WT5QSwt7sIMj93+qu0FEwQ==", - "dev": true, - "peerDependencies": { - "fp-ts": "^2.0.0", - "io-ts": "^2.0.0", - "monocle-ts": "^2.0.0", - "newtype-ts": "^0.3.2" - } - }, "node_modules/ip": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", "dev": true }, - "node_modules/is-ci": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz", - "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==", - "dev": true, - "dependencies": { - "ci-info": "^1.5.0" - }, - "bin": { - "is-ci": "bin.js" - } - }, "node_modules/is-core-module": { "version": "2.8.1", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz", @@ -3611,63 +1829,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-es2016-keyword": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-es2016-keyword/-/is-es2016-keyword-1.0.0.tgz", - "integrity": "sha1-9uVOEQxeT40mXmnS7Q6vjPX0dxg=", - "dev": true - }, - "node_modules/is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-finite": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", - "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==", - "dev": true, - "engines": { - "node": ">=0.10.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "dependencies": { - "number-is-nan": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", - "dev": true, - "dependencies": { - "is-extglob": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-jquery-obj": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-jquery-obj/-/is-jquery-obj-0.1.1.tgz", - "integrity": "sha512-18toSebUVF7y717dgw/Dzn6djOCqrkiDp3MhB8P6TdKyCVkbD1ZwE7Uz8Hwx6hUPTvKjbyYH9ncXT4ts4qLaSA==", - "dev": true - }, "node_modules/is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", @@ -3677,79 +1838,302 @@ "node": ">=0.12.0" } }, - "node_modules/is-path-cwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", - "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-path-in-cwd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz", - "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", "dev": true, "dependencies": { - "is-path-inside": "^1.0.0" + "is-docker": "^2.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/is-path-inside": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", - "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", + "node_modules/jest-diff": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", + "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", "dev": true, "dependencies": { - "path-is-inside": "^1.0.1" + "chalk": "^4.0.0", + "diff-sequences": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" }, "engines": { - "node": ">=0.10.0" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "node_modules/jest-diff/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, "engines": { "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/is-utf8": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", - "dev": true - }, - "node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true - }, - "node_modules/isomorphic-fetch": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-3.0.0.tgz", - "integrity": "sha512-qvUtwJ3j6qwsF3jLxkZ72qCgjMysPzDfeV240JHiGZsANBYd+EEuu35v7dfrJ9Up0Ak07D7GGSkGhCHTqg/5wA==", + "node_modules/jest-diff/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { - "node-fetch": "^2.6.1", - "whatwg-fetch": "^3.4.1" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, + "node_modules/jest-diff/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-diff/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/jest-diff/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-diff/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "dev": true, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-matcher-utils": { + "version": "27.2.5", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.2.5.tgz", + "integrity": "sha512-qNR/kh6bz0Dyv3m68Ck2g1fLW5KlSOUNcFQh87VXHZwWc/gY6XwnKofx76Qytz3x5LDWT09/2+yXndTkaG4aWg==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^27.2.5", + "jest-get-type": "^27.0.6", + "pretty-format": "^27.2.5" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-matcher-utils/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-matcher-utils/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-matcher-utils/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-matcher-utils/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/jest-matcher-utils/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-matcher-utils/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-message-util/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-message-util/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-message-util/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-message-util/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/jest-message-util/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-message-util/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-regex-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", + "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", + "dev": true, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jpeg-js": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.4.3.tgz", + "integrity": "sha512-ru1HWKek8octvUHFHvE5ZzQ1yAsJmIvRdGWvSoKV52XKyuyYA437QWDttXT8eZXDSbuMpHlLzPDZUPd6idIz+Q==", + "dev": true + }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -3783,70 +2167,6 @@ "node": ">=6" } }, - "node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/jsonwebtoken": { - "version": "8.5.1", - "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz", - "integrity": "sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==", - "dev": true, - "dependencies": { - "jws": "^3.2.2", - "lodash.includes": "^4.3.0", - "lodash.isboolean": "^3.0.3", - "lodash.isinteger": "^4.0.4", - "lodash.isnumber": "^3.0.3", - "lodash.isplainobject": "^4.0.6", - "lodash.isstring": "^4.0.1", - "lodash.once": "^4.0.0", - "ms": "^2.1.1", - "semver": "^5.6.0" - }, - "engines": { - "node": ">=4", - "npm": ">=1.4.28" - } - }, - "node_modules/jwa": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", - "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", - "dev": true, - "dependencies": { - "buffer-equal-constant-time": "1.0.1", - "ecdsa-sig-formatter": "1.0.11", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/jws": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", - "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", - "dev": true, - "dependencies": { - "jwa": "^1.4.1", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/linux-platform-info": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/linux-platform-info/-/linux-platform-info-0.0.3.tgz", - "integrity": "sha1-La4yQ4Xmbj11W+yD+Gx77qYc64M=", - "dev": true, - "dependencies": { - "os-family": "^1.0.0" - } - }, "node_modules/locate-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", @@ -3860,147 +2180,6 @@ "node": ">=6" } }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true - }, - "node_modules/lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", - "dev": true - }, - "node_modules/lodash.includes": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", - "integrity": "sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8=", - "dev": true - }, - "node_modules/lodash.isboolean": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", - "integrity": "sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=", - "dev": true - }, - "node_modules/lodash.isinteger": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", - "integrity": "sha1-YZwK89A/iwTDH1iChAt3sRzWg0M=", - "dev": true - }, - "node_modules/lodash.isnumber": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", - "integrity": "sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w=", - "dev": true - }, - "node_modules/lodash.isplainobject": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=", - "dev": true - }, - "node_modules/lodash.isstring": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", - "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=", - "dev": true - }, - "node_modules/lodash.once": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", - "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=", - "dev": true - }, - "node_modules/log-update-async-hook": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/log-update-async-hook/-/log-update-async-hook-2.0.2.tgz", - "integrity": "sha512-HQwkKFTZeUOrDi1Duf2CSUa/pSpcaCHKLdx3D/Z16DsipzByOBffcg5y0JZA1q0n80dYgLXe2hFM9JGNgBsTDw==", - "dev": true, - "dependencies": { - "ansi-escapes": "^2.0.0", - "async-exit-hook": "^1.1.2", - "onetime": "^2.0.1", - "wrap-ansi": "^2.1.0" - } - }, - "node_modules/log-update-async-hook/node_modules/mimic-fn": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/log-update-async-hook/node_modules/onetime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", - "dev": true, - "dependencies": { - "mimic-fn": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/lru-cache": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.6.3.tgz", - "integrity": "sha1-UczQtPwMhDWH16VwnOTTt2Kb7cU=", - "dev": true - }, - "node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/make-dir/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/match-url-wildcard": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/match-url-wildcard/-/match-url-wildcard-0.0.4.tgz", - "integrity": "sha512-R1XhQaamUZPWLOPtp4ig5j+3jctN+skhgRmEQTUamMzmNtRG69QEirQs0NZKLtHMR7tzWpmtnS4Eqv65DcgXUA==", - "dev": true, - "dependencies": { - "escape-string-regexp": "^1.0.5" - } - }, - "node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, "node_modules/micromatch": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", @@ -4014,33 +2193,6 @@ "node": ">=8.6" } }, - "node_modules/mime": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", - "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==", - "dev": true, - "bin": { - "mime": "cli.js" - } - }, - "node_modules/mime-db": { - "version": "1.51.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz", - "integrity": "sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", @@ -4059,66 +2211,18 @@ "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", "dev": true }, - "node_modules/mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, "node_modules/mkdirp-classic": { "version": "0.5.3", "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", "dev": true }, - "node_modules/moment": { - "version": "2.29.1", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz", - "integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/moment-duration-format-commonjs": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/moment-duration-format-commonjs/-/moment-duration-format-commonjs-1.0.1.tgz", - "integrity": "sha512-KhKZRH21/+ihNRWrmdNFOyBptFi7nAWZFeFsRRpXkzgk/Yublb4fxyP0jU6EY1VDxUL/VUPdCmm/wAnpbfXdfw==", - "dev": true - }, - "node_modules/monocle-ts": { - "version": "2.3.12", - "resolved": "https://registry.npmjs.org/monocle-ts/-/monocle-ts-2.3.12.tgz", - "integrity": "sha512-mf753m69aRNApcL2KCKfLRwfWbraeqQfRRgm3a8D+5lvkhCcMtVp8/vnM04Cmhsd6YXJeInMeQFFETrd7jWYww==", - "dev": true, - "peerDependencies": { - "fp-ts": "^2.5.0" - } - }, "node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, - "node_modules/mustache": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/mustache/-/mustache-2.3.2.tgz", - "integrity": "sha512-KpMNwdQsYz3O/SBS1qJ/o3sqUJ5wSb8gb0pul8CO0S56b9Y2ALm8zCfsjPXsqGFfoNBkDwZuZIAjhsZI03gYVQ==", - "dev": true, - "bin": { - "mustache": "bin/mustache" - }, - "engines": { - "npm": ">=1.4.0" - } - }, "node_modules/nan": { "version": "2.15.0", "resolved": "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz", @@ -4126,78 +2230,12 @@ "dev": true, "optional": true }, - "node_modules/nanoid": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-1.3.4.tgz", - "integrity": "sha512-4ug4BsuHxiVHoRUe1ud6rUFT3WUMmjXt1W0quL0CviZQANdan7D8kqN5/maw53hmAApY/jfzMRkC57BNNs60ZQ==", - "dev": true - }, - "node_modules/newtype-ts": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/newtype-ts/-/newtype-ts-0.3.5.tgz", - "integrity": "sha512-v83UEQMlVR75yf1OUdoSFssjitxzjZlqBAjiGQ4WJaML8Jdc68LJ+BaSAXUmKY4bNzp7hygkKLYTsDi14PxI2g==", - "dev": true, - "peerDependencies": { - "fp-ts": "^2.0.0", - "monocle-ts": "^2.0.0" - } - }, - "node_modules/node-fetch": { - "version": "2.6.7", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", - "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", - "dev": true, - "dependencies": { - "whatwg-url": "^5.0.0" - }, - "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } - } - }, "node_modules/node-releases": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.1.tgz", "integrity": "sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==", "dev": true }, - "node_modules/npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "dev": true, - "dependencies": { - "path-key": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/object-keys": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", @@ -4234,45 +2272,23 @@ "wrappy": "1" } }, - "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "node_modules/open": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.0.tgz", + "integrity": "sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==", "dev": true, "dependencies": { - "mimic-fn": "^2.1.0" + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" }, "engines": { - "node": ">=6" + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/os-family": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/os-family/-/os-family-1.1.0.tgz", - "integrity": "sha512-E3Orl5pvDJXnVmpaAA2TeNNpNhTMl4o5HghuWhOivBjEiTnJSrMYSa5uZMek1lBEvu8kKEsa2YgVcGFVDqX/9w==", - "dev": true - }, - "node_modules/os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/p-finally": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz", - "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/p-limit": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", @@ -4300,15 +2316,6 @@ "node": ">=6" } }, - "node_modules/p-map": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz", - "integrity": "sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==", - "dev": true, - "engines": { - "node": ">=4" - } - }, "node_modules/p-try": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", @@ -4318,12 +2325,6 @@ "node": ">=6" } }, - "node_modules/parse5": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-1.5.1.tgz", - "integrity": "sha1-m387DeMr543CQBsXVzzK8Pb1nZQ=", - "dev": true - }, "node_modules/path-exists": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", @@ -4342,44 +2343,17 @@ "node": ">=0.10.0" } }, - "node_modules/path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", - "dev": true - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/path-parse": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, - "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/pathval": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", - "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", - "dev": true, - "engines": { - "node": "*" - } + "node_modules/pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", + "dev": true }, "node_modules/picocolors": { "version": "1.0.0", @@ -4399,34 +2373,34 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "node_modules/pirates": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.4.tgz", + "integrity": "sha512-ZIrVPH+A52Dw84R0L3/VS9Op04PuQ2SEoJL6bkshmiTic/HldyW9Tf7oH5mhJZBK7NmDx27vSMrYEXPXclpDKw==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">= 6" } }, - "node_modules/pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "node_modules/pixelmatch": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/pixelmatch/-/pixelmatch-5.2.1.tgz", + "integrity": "sha512-WjcAdYSnKrrdDdqTcVEY7aB7UhhwjYQKYhHiBXdJef0MOaQeYpUdQ+iVyBLa5YBKS8MPVPPMX7rpOByISLpeEQ==", "dev": true, "dependencies": { - "pinkie": "^2.0.0" + "pngjs": "^4.0.1" }, + "bin": { + "pixelmatch": "bin/pixelmatch" + } + }, + "node_modules/pixelmatch/node_modules/pngjs": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-4.0.1.tgz", + "integrity": "sha512-rf5+2/ioHeQxR6IxuYNYGFytUyG3lma/WW1nsmjeHlWwtb2aByla6dkVc8pmJ9nplzkTA0q2xx7mMWrOTqT4Gg==", + "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=8.0.0" } }, "node_modules/pkg-up": { @@ -4441,39 +2415,154 @@ "node": ">=8" } }, - "node_modules/pngjs": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-3.4.0.tgz", - "integrity": "sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==", - "dev": true, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/pretty-hrtime": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", - "integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true - }, - "node_modules/promisify-event": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/promisify-event/-/promisify-event-1.0.0.tgz", - "integrity": "sha1-vXUj6ga3AWLzcJeQFrU6aGxg6Q8=", + "node_modules/playwright-core": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.19.1.tgz", + "integrity": "sha512-+ByjhWX39PlINVRXr4ef9Kle85mk5QzA2WLioCoMQc3bSUtZpLV1mbeUDtRp/bvFw6YDIEyptj4QvzzRTXN3vg==", "dev": true, "dependencies": { - "pinkie-promise": "^2.0.0" + "commander": "8.3.0", + "debug": "4.3.3", + "extract-zip": "2.0.1", + "https-proxy-agent": "5.0.0", + "jpeg-js": "0.4.3", + "mime": "3.0.0", + "pngjs": "6.0.0", + "progress": "2.0.3", + "proper-lockfile": "4.1.2", + "proxy-from-env": "1.1.0", + "rimraf": "3.0.2", + "socks-proxy-agent": "6.1.1", + "stack-utils": "2.0.5", + "ws": "8.4.2", + "yauzl": "2.10.0", + "yazl": "2.5.1" + }, + "bin": { + "playwright": "cli.js" + }, + "engines": { + "node": ">=12" } }, + "node_modules/playwright-core/node_modules/mime": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", + "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==", + "dev": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/playwright-core/node_modules/pngjs": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-6.0.0.tgz", + "integrity": "sha512-TRzzuFRRmEoSW/p1KVAmiOgPco2Irlah+bGFCeNfJXxxYGwSw7YwAOAcd7X28K/m5bjBWKsC29KyoMfHbypayg==", + "dev": true, + "engines": { + "node": ">=12.13.0" + } + }, + "node_modules/playwright-core/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/playwright-core/node_modules/ws": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.4.2.tgz", + "integrity": "sha512-Kbk4Nxyq7/ZWqr/tarI9yIt/+iNNFOjBXEWgTb4ydaNHBNGgvf2QHbS9fdfsndfjFlFwEd4Al+mw83YkaD10ZA==", + "dev": true, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/pretty-format/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/proper-lockfile": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/proper-lockfile/-/proper-lockfile-4.1.2.tgz", + "integrity": "sha512-TjNPblN4BwAWMXU8s9AEz4JmQxnD1NNL7bNOY/AKUzyamc379FWASUhc/K1pL2noVb+XmZKLL68cjzLsiOAMaA==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.4", + "retry": "^0.12.0", + "signal-exit": "^3.0.2" + } + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "dev": true + }, "node_modules/pump": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", @@ -4484,50 +2573,12 @@ "once": "^1.3.1" } }, - "node_modules/punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", "dev": true }, - "node_modules/qrcode-terminal": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/qrcode-terminal/-/qrcode-terminal-0.10.0.tgz", - "integrity": "sha1-p2pI4mEKGPl/o6K9UytoKs/4bFM=", - "dev": true, - "bin": { - "qrcode-terminal": "bin/qrcode-terminal.js" - } - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/read-file-relative": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/read-file-relative/-/read-file-relative-1.2.0.tgz", - "integrity": "sha1-mPfZbqoh0rTHov69Y9L8jPNen5s=", - "dev": true, - "dependencies": { - "callsite": "^1.0.0" - } - }, "node_modules/readable-stream": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", @@ -4542,104 +2593,6 @@ "node": ">= 6" } }, - "node_modules/regenerate": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", - "dev": true - }, - "node_modules/regenerate-unicode-properties": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-9.0.0.tgz", - "integrity": "sha512-3E12UeNSPfjrgwjkR81m5J7Aw/T55Tu7nUyZVQYCKEOs+2dkxEY+DpPtZzO4YruuiPb7NkYLVcyJC4+zCbk5pA==", - "dev": true, - "dependencies": { - "regenerate": "^1.4.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/regenerator-runtime": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", - "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==", - "dev": true - }, - "node_modules/regenerator-transform": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz", - "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.8.4" - } - }, - "node_modules/regexpu-core": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.8.0.tgz", - "integrity": "sha512-1F6bYsoYiz6is+oz70NWur2Vlh9KWtswuRuzJOfeYUrfPX2o8n74AnUVaOGDbUqVGO9fNHu48/pjJO4sNVwsOg==", - "dev": true, - "dependencies": { - "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^9.0.0", - "regjsgen": "^0.5.2", - "regjsparser": "^0.7.0", - "unicode-match-property-ecmascript": "^2.0.0", - "unicode-match-property-value-ecmascript": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/regjsgen": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", - "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==", - "dev": true - }, - "node_modules/regjsparser": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.7.0.tgz", - "integrity": "sha512-A4pcaORqmNMDVwUjWoTzuhwMGpP+NykpfqAsEgI1FSH/EzC7lrN5TMd+kN8YCovX+jMpu8eaqXgXPCa0g8FQNQ==", - "dev": true, - "dependencies": { - "jsesc": "~0.5.0" - }, - "bin": { - "regjsparser": "bin/parser" - } - }, - "node_modules/regjsparser/node_modules/jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", - "dev": true, - "bin": { - "jsesc": "bin/jsesc" - } - }, - "node_modules/repeating": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/repeating/-/repeating-1.1.3.tgz", - "integrity": "sha1-PUEUIYh3U3SU+X93+Xhfq4EPpKw=", - "dev": true, - "dependencies": { - "is-finite": "^1.0.0" - }, - "bin": { - "repeating": "cli.js" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/replicator": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/replicator/-/replicator-1.0.5.tgz", - "integrity": "sha512-saxS4y7NFkLMa92BR4bPHR41GD+f/qoDAwD2xZmN+MpDXgibkxwLO2qk7dCHYtskSkd/bWS8Jy6kC5MZUkg1tw==", - "dev": true - }, "node_modules/reselect": { "version": "4.1.5", "resolved": "https://registry.npmjs.org/reselect/-/reselect-4.1.5.tgz", @@ -4663,86 +2616,13 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/resolve-cwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-1.0.0.tgz", - "integrity": "sha1-Tq7qQe0EDRcCRX32SkKysH0kb58=", - "dev": true, - "dependencies": { - "resolve-from": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/resolve-cwd/node_modules/resolve-from": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-2.0.0.tgz", - "integrity": "sha1-lICrIOlP+h2egKgEx+oUdhGWa1c=", + "node_modules/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", "dev": true, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", - "deprecated": "https://github.com/lydell/resolve-url#deprecated", - "dev": true - }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true, - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "queue-microtask": "^1.2.2" + "node": ">= 4" } }, "node_modules/safe-buffer": { @@ -4771,45 +2651,6 @@ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "dev": true }, - "node_modules/sanitize-filename": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/sanitize-filename/-/sanitize-filename-1.6.3.tgz", - "integrity": "sha512-y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg==", - "dev": true, - "dependencies": { - "truncate-utf8-bytes": "^1.0.0" - } - }, - "node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/signal-exit": { "version": "3.0.6", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.6.tgz", @@ -4825,6 +2666,44 @@ "node": ">=8" } }, + "node_modules/smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "dev": true, + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.6.2.tgz", + "integrity": "sha512-zDZhHhZRY9PxRruRMR7kMhnf3I8hDs4S3f9RecfnGxvcBHQcKcIH/oUcEWffsfl1XxdYlA7nnlGbbTvPz9D8gA==", + "dev": true, + "dependencies": { + "ip": "^1.1.5", + "smart-buffer": "^4.2.0" + }, + "engines": { + "node": ">= 10.13.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks-proxy-agent": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.1.1.tgz", + "integrity": "sha512-t8J0kG3csjA4g6FTbsMOWws+7R7vuRC8aQ/wy3/1OWmsgwA68zs/+cExQ0koSitUDXqhufF/YJr9wtNMZHw5Ew==", + "dev": true, + "dependencies": { + "agent-base": "^6.0.2", + "debug": "^4.3.1", + "socks": "^2.6.1" + }, + "engines": { + "node": ">= 10" + } + }, "node_modules/source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", @@ -4834,46 +2713,6 @@ "node": ">=0.10.0" } }, - "node_modules/source-map-resolve": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", - "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", - "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", - "dev": true, - "dependencies": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" - } - }, - "node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dev": true, - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/source-map-support/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-url": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", - "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", - "deprecated": "See https://github.com/lydell/source-map-url#deprecated", - "dev": true - }, "node_modules/split-ca": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/split-ca/-/split-ca-1.0.1.tgz", @@ -4898,11 +2737,26 @@ "nan": "^2.15.0" } }, - "node_modules/stackframe": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.2.0.tgz", - "integrity": "sha512-GrdeshiRmS1YLMYgzF16olf2jJ/IzxXY9lhKOskuVziubpTYcYqyOwYeJKzQkwy7uN0fYSsbsC4RQaXf9LCrYA==", - "dev": true + "node_modules/stack-utils": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz", + "integrity": "sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/stack-utils/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true, + "engines": { + "node": ">=8" + } }, "node_modules/string_decoder": { "version": "1.3.0", @@ -4913,53 +2767,6 @@ "safe-buffer": "~5.2.0" } }, - "node_modules/string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "dependencies": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "dev": true, - "dependencies": { - "is-utf8": "^0.2.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", @@ -5012,533 +2819,6 @@ "node": ">=6" } }, - "node_modules/testcafe": { - "version": "1.18.2", - "resolved": "https://registry.npmjs.org/testcafe/-/testcafe-1.18.2.tgz", - "integrity": "sha512-A9cPNtf4v4gacvaGX5mBmT6ctCmXmYQxYJ51TOSRfnApxVcfjuLSwZNC3p49G/6zuVhe6Xh/pwQJt7iZOdLcaQ==", - "dev": true, - "dependencies": { - "@babel/core": "^7.12.1", - "@babel/plugin-proposal-async-generator-functions": "^7.12.1", - "@babel/plugin-proposal-class-properties": "^7.12.1", - "@babel/plugin-proposal-decorators": "^7.12.1", - "@babel/plugin-proposal-object-rest-spread": "^7.12.1", - "@babel/plugin-proposal-private-methods": "^7.14.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-syntax-import-meta": "^7.10.4", - "@babel/plugin-transform-async-to-generator": "^7.12.1", - "@babel/plugin-transform-exponentiation-operator": "^7.12.1", - "@babel/plugin-transform-for-of": "^7.12.1", - "@babel/plugin-transform-runtime": "^7.12.1", - "@babel/preset-env": "^7.12.1", - "@babel/preset-flow": "^7.12.1", - "@babel/preset-react": "^7.12.1", - "@babel/runtime": "^7.12.5", - "@miherlosev/esm": "3.2.26", - "@types/node": "^12.20.10", - "async-exit-hook": "^1.1.2", - "babel-plugin-module-resolver": "^4.0.0", - "babel-plugin-syntax-trailing-function-commas": "^6.22.0", - "bin-v8-flags-filter": "^1.1.2", - "bowser": "^2.8.1", - "callsite": "^1.0.0", - "callsite-record": "^4.0.0", - "chai": "^4.1.2", - "chalk": "^2.3.0", - "chrome-remote-interface": "^0.30.0", - "coffeescript": "^2.3.1", - "commander": "^8.0.0", - "debug": "^4.3.1", - "dedent": "^0.4.0", - "del": "^3.0.0", - "device-specs": "^1.0.0", - "diff": "^4.0.2", - "elegant-spinner": "^1.0.1", - "emittery": "^0.4.1", - "endpoint-utils": "^1.0.2", - "error-stack-parser": "^1.3.6", - "execa": "^4.0.3", - "globby": "^11.0.4", - "graceful-fs": "^4.1.11", - "graphlib": "^2.1.5", - "humanize-duration": "^3.25.0", - "import-lazy": "^3.1.0", - "indent-string": "^1.2.2", - "is-ci": "^1.0.10", - "is-docker": "^2.0.0", - "is-glob": "^2.0.1", - "is-stream": "^2.0.0", - "json5": "^2.1.0", - "lodash": "^4.17.13", - "log-update-async-hook": "^2.0.2", - "make-dir": "^3.0.0", - "mime-db": "^1.41.0", - "moment": "^2.10.3", - "moment-duration-format-commonjs": "^1.0.0", - "mustache": "^2.1.2", - "nanoid": "^1.0.1", - "os-family": "^1.0.0", - "parse5": "^1.5.0", - "pify": "^2.3.0", - "pinkie": "^2.0.4", - "pngjs": "^3.3.1", - "pretty-hrtime": "^1.0.3", - "promisify-event": "^1.0.0", - "qrcode-terminal": "^0.10.0", - "read-file-relative": "^1.2.0", - "replicator": "^1.0.5", - "resolve-cwd": "^1.0.0", - "resolve-from": "^4.0.0", - "sanitize-filename": "^1.6.0", - "semver": "^5.6.0", - "source-map-support": "^0.5.16", - "strip-bom": "^2.0.0", - "testcafe-browser-tools": "2.0.21", - "testcafe-hammerhead": "24.5.13", - "testcafe-legacy-api": "5.1.2", - "testcafe-reporter-dashboard": "0.2.5", - "testcafe-reporter-json": "^2.1.0", - "testcafe-reporter-list": "^2.1.0", - "testcafe-reporter-minimal": "^2.1.0", - "testcafe-reporter-spec": "^2.1.1", - "testcafe-reporter-xunit": "^2.2.1", - "time-limit-promise": "^1.0.2", - "tmp": "0.0.28", - "tree-kill": "^1.2.2", - "typescript": "^3.3.3", - "unquote": "^1.1.1" - }, - "bin": { - "testcafe": "bin/testcafe-with-v8-flag-filter.js" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/testcafe-browser-tools": { - "version": "2.0.21", - "resolved": "https://registry.npmjs.org/testcafe-browser-tools/-/testcafe-browser-tools-2.0.21.tgz", - "integrity": "sha512-dsaUgUY4i/VLKSexh0w8ZyvDGWd3+LfoEysN/nFCUufseiwGvvbBpsNSAV7XZN12GpExG3mCilaQDuJNBKs4CQ==", - "dev": true, - "dependencies": { - "array-find": "^1.0.0", - "debug": "^4.3.1", - "dedent": "^0.7.0", - "del": "^5.1.0", - "execa": "^3.3.0", - "fs-extra": "^10.0.0", - "graceful-fs": "^4.1.11", - "linux-platform-info": "^0.0.3", - "lodash": "^4.17.15", - "mkdirp": "^0.5.1", - "mustache": "^2.1.2", - "nanoid": "^2.1.3", - "os-family": "^1.0.0", - "pify": "^2.3.0", - "pinkie": "^2.0.1", - "read-file-relative": "^1.2.0", - "which-promise": "^1.0.0" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/testcafe-browser-tools/node_modules/dedent": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", - "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=", - "dev": true - }, - "node_modules/testcafe-browser-tools/node_modules/del": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/del/-/del-5.1.0.tgz", - "integrity": "sha512-wH9xOVHnczo9jN2IW68BabcecVPxacIA3g/7z6vhSU/4stOKQzeCRK0yD0A24WiAAUJmmVpWqrERcTxnLo3AnA==", - "dev": true, - "dependencies": { - "globby": "^10.0.1", - "graceful-fs": "^4.2.2", - "is-glob": "^4.0.1", - "is-path-cwd": "^2.2.0", - "is-path-inside": "^3.0.1", - "p-map": "^3.0.0", - "rimraf": "^3.0.0", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/testcafe-browser-tools/node_modules/execa": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-3.4.0.tgz", - "integrity": "sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "p-finally": "^2.0.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": "^8.12.0 || >=9.7.0" - } - }, - "node_modules/testcafe-browser-tools/node_modules/globby": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz", - "integrity": "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==", - "dev": true, - "dependencies": { - "@types/glob": "^7.1.1", - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.0.3", - "glob": "^7.1.3", - "ignore": "^5.1.1", - "merge2": "^1.2.3", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/testcafe-browser-tools/node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/testcafe-browser-tools/node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/testcafe-browser-tools/node_modules/is-path-cwd": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", - "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/testcafe-browser-tools/node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/testcafe-browser-tools/node_modules/nanoid": { - "version": "2.1.11", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-2.1.11.tgz", - "integrity": "sha512-s/snB+WGm6uwi0WjsZdaVcuf3KJXlfGl2LcxgwkEwJF0D/BWzVWAZW/XY4bFaiR7s0Jk3FPvlnepg1H1b1UwlA==", - "dev": true - }, - "node_modules/testcafe-browser-tools/node_modules/p-map": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", - "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", - "dev": true, - "dependencies": { - "aggregate-error": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/testcafe-browser-tools/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/testcafe-hammerhead": { - "version": "24.5.13", - "resolved": "https://registry.npmjs.org/testcafe-hammerhead/-/testcafe-hammerhead-24.5.13.tgz", - "integrity": "sha512-81P9to2pXBCOy+jnyEaPcjrfKk3wOv7JmZSX3KQp0MxF12X9u6Tg0JEeTMYvnEfCeNhLRYDipAZvI+t9nfx0KA==", - "dev": true, - "dependencies": { - "acorn-hammerhead": "0.5.0", - "asar": "^2.0.1", - "bowser": "1.6.0", - "brotli": "^1.3.1", - "crypto-md5": "^1.0.0", - "css": "2.2.3", - "debug": "4.3.1", - "esotope-hammerhead": "0.6.1", - "http-cache-semantics": "^4.1.0", - "iconv-lite": "0.5.1", - "lodash": "^4.17.20", - "lru-cache": "2.6.3", - "match-url-wildcard": "0.0.4", - "merge-stream": "^1.0.1", - "mime": "~1.4.1", - "mustache": "^2.1.1", - "nanoid": "^3.1.12", - "os-family": "^1.0.0", - "parse5": "2.2.3", - "pinkie": "2.0.4", - "read-file-relative": "^1.2.0", - "semver": "5.5.0", - "tough-cookie": "2.3.3", - "tunnel-agent": "0.6.0", - "webauth": "^1.1.0" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/testcafe-hammerhead/node_modules/bowser": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/bowser/-/bowser-1.6.0.tgz", - "integrity": "sha1-N/w4e2Fstq7zcNq01r1AK3TFxU0=", - "dev": true - }, - "node_modules/testcafe-hammerhead/node_modules/debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/testcafe-hammerhead/node_modules/merge-stream": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.1.tgz", - "integrity": "sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE=", - "dev": true, - "dependencies": { - "readable-stream": "^2.0.1" - } - }, - "node_modules/testcafe-hammerhead/node_modules/nanoid": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.2.0.tgz", - "integrity": "sha512-fmsZYa9lpn69Ad5eDn7FMcnnSR+8R34W9qJEijxYhTbfOWzr22n1QxCMzXLK+ODyW2973V3Fux959iQoUxzUIA==", - "dev": true, - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/testcafe-hammerhead/node_modules/parse5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-2.2.3.tgz", - "integrity": "sha1-DE/EHBAAxea5PUiwP4CDg3g06fY=", - "dev": true - }, - "node_modules/testcafe-hammerhead/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/testcafe-hammerhead/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "node_modules/testcafe-hammerhead/node_modules/semver": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", - "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/testcafe-hammerhead/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/testcafe-legacy-api": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/testcafe-legacy-api/-/testcafe-legacy-api-5.1.2.tgz", - "integrity": "sha512-vc9A4rFUdijlBFnNOVMk0hFfxnrAmtA7FMz1P/LtvNyui5JfkLmbyIQcJbxR2rjTINp0owZ2c+xQvYms/us7Fw==", - "dev": true, - "dependencies": { - "async": "0.2.6", - "dedent": "^0.6.0", - "highlight-es": "^1.0.0", - "is-jquery-obj": "^0.1.0", - "lodash": "^4.14.0", - "moment": "^2.14.1", - "mustache": "^2.2.1", - "os-family": "^1.0.0", - "parse5": "^2.1.5", - "pify": "^2.3.0", - "pinkie": "^2.0.1", - "read-file-relative": "^1.2.0", - "strip-bom": "^2.0.0", - "testcafe-hammerhead": ">=19.4.0" - } - }, - "node_modules/testcafe-legacy-api/node_modules/dedent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.6.0.tgz", - "integrity": "sha1-Dm2o8M5Sg471zsXI+TlrDBtko8s=", - "dev": true - }, - "node_modules/testcafe-legacy-api/node_modules/parse5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-2.2.3.tgz", - "integrity": "sha1-DE/EHBAAxea5PUiwP4CDg3g06fY=", - "dev": true - }, - "node_modules/testcafe-reporter-dashboard": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/testcafe-reporter-dashboard/-/testcafe-reporter-dashboard-0.2.5.tgz", - "integrity": "sha512-vbK8XrpbcFAEgnfWJOfqAnlmj/wt5pXXER/OSYI9RzSw+uwu8voLWbKcUAcnjltk0AM4c0wvI0DhjKmops2y2Q==", - "dev": true, - "dependencies": { - "es6-promise": "^4.2.8", - "fp-ts": "^2.9.5", - "io-ts": "^2.2.14", - "io-ts-types": "^0.5.15", - "isomorphic-fetch": "^3.0.0", - "jsonwebtoken": "^8.5.1", - "monocle-ts": "^2.3.5", - "newtype-ts": "^0.3.4", - "semver": "^5.6.0", - "uuid": "3.3.3" - } - }, - "node_modules/testcafe-reporter-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/testcafe-reporter-json/-/testcafe-reporter-json-2.2.0.tgz", - "integrity": "sha512-wfpNaZgGP2WoqdmnIXOyxcpwSzdH1HvzXSN397lJkXOrQrwhuGUThPDvyzPnZqxZSzXdDUvIPJm55tCMWbfymQ==", - "dev": true, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/testcafe-reporter-list": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/testcafe-reporter-list/-/testcafe-reporter-list-2.1.0.tgz", - "integrity": "sha1-n6ifcbl9Pf5ktDAtXiJ97mmuxrk=", - "dev": true - }, - "node_modules/testcafe-reporter-minimal": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/testcafe-reporter-minimal/-/testcafe-reporter-minimal-2.1.0.tgz", - "integrity": "sha1-Z28DVHY0FDxurzq1KGgnOkvr9CE=", - "dev": true - }, - "node_modules/testcafe-reporter-spec": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/testcafe-reporter-spec/-/testcafe-reporter-spec-2.1.1.tgz", - "integrity": "sha1-gVb87Q9RMkhlWa1WC8gGdkaSdew=", - "dev": true - }, - "node_modules/testcafe-reporter-xunit": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/testcafe-reporter-xunit/-/testcafe-reporter-xunit-2.2.1.tgz", - "integrity": "sha512-ge1msi8RyNVyK0QrsmC79zedV7jHasKpBPeOUZd/ORpbYLeYDnprjIeOuIukw0knnTieeYsOK29/ZD+UI7/tdw==", - "dev": true - }, - "node_modules/testcafe/node_modules/@types/node": { - "version": "12.20.42", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.42.tgz", - "integrity": "sha512-aI3/oo5DzyiI5R/xAhxxRzfZlWlsbbqdgxfTPkqu/Zt+23GXiJvMCyPJT4+xKSXOnLqoL8jJYMLTwvK2M3a5hw==", - "dev": true - }, - "node_modules/time-limit-promise": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/time-limit-promise/-/time-limit-promise-1.0.4.tgz", - "integrity": "sha512-FLHDDsIDducw7MBcRWlFtW2Tm50DoKOSFf0Nzx17qwXj8REXCte0eUkHrJl9QU3Bl9arG3XNYX0PcHpZ9xyuLw==", - "dev": true, - "engines": { - "node": ">= 0.12" - } - }, - "node_modules/tmp": { - "version": "0.0.28", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.28.tgz", - "integrity": "sha1-Fyc1t/YU6nrzlmT6hM8N5OUV0SA=", - "dev": true, - "dependencies": { - "os-tmpdir": "~1.0.1" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/tmp-promise": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/tmp-promise/-/tmp-promise-1.1.0.tgz", - "integrity": "sha512-8+Ah9aB1IRXCnIOxXZ0uFozV1nMU5xiu7hhFVUSxZ3bYu+psD4TzagCzVbexUCgNNGJnsmNDQlS4nG3mTyoNkw==", - "dev": true, - "dependencies": { - "bluebird": "^3.5.0", - "tmp": "0.1.0" - } - }, - "node_modules/tmp-promise/node_modules/tmp": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.1.0.tgz", - "integrity": "sha512-J7Z2K08jbGcdA1kkQpJSqLF6T0tdQqpR2pnSUXsIchbPdTI9v3e85cLW0d6WDhwuAleOV71j2xWs8qMPfK7nKw==", - "dev": true, - "dependencies": { - "rimraf": "^2.6.3" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", @@ -5560,294 +2840,41 @@ "node": ">=8.0" } }, - "node_modules/tough-cookie": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.3.tgz", - "integrity": "sha1-C2GKVWW23qkL80JdBNVe3EdadWE=", - "dev": true, - "dependencies": { - "punycode": "^1.4.1" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=", - "dev": true - }, - "node_modules/tree-kill": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", - "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", - "dev": true, - "bin": { - "tree-kill": "cli.js" - } - }, - "node_modules/truncate-utf8-bytes": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz", - "integrity": "sha1-QFkjkJWS1W94pYGENLC3hInKXys=", - "dev": true, - "dependencies": { - "utf8-byte-length": "^1.0.1" - } - }, - "node_modules/tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "dev": true, - "dependencies": { - "safe-buffer": "^5.0.1" - }, - "engines": { - "node": "*" - } - }, "node_modules/tweetnacl": { "version": "0.14.5", "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", "dev": true }, - "node_modules/type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/typescript": { - "version": "3.9.10", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.10.tgz", - "integrity": "sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q==", - "dev": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=4.2.0" - } - }, - "node_modules/unicode-canonical-property-names-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", - "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-match-property-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", - "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", - "dev": true, - "dependencies": { - "unicode-canonical-property-names-ecmascript": "^2.0.0", - "unicode-property-aliases-ecmascript": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-match-property-value-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz", - "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-property-aliases-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz", - "integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/unquote": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", - "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=", - "dev": true - }, - "node_modules/urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", - "deprecated": "Please see https://github.com/lydell/urix#deprecated", - "dev": true - }, - "node_modules/utf8-byte-length": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz", - "integrity": "sha1-9F8VDExm7uloGGUFq5P8u4rWv2E=", - "dev": true - }, "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", "dev": true }, - "node_modules/uuid": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.3.tgz", - "integrity": "sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ==", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", - "dev": true, - "bin": { - "uuid": "bin/uuid" - } - }, - "node_modules/webauth": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/webauth/-/webauth-1.1.0.tgz", - "integrity": "sha1-ZHBPa4AmmGYFvDymKZUubib90QA=", - "dev": true, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=", - "dev": true - }, - "node_modules/whatwg-fetch": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz", - "integrity": "sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA==", - "dev": true - }, - "node_modules/whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", - "dev": true, - "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/which-promise": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/which-promise/-/which-promise-1.0.0.tgz", - "integrity": "sha1-ILch3wWzW3Bhdv+hCwkJq6RgMDU=", - "dev": true, - "dependencies": { - "pify": "^2.2.0", - "pinkie-promise": "^1.0.0", - "which": "^1.1.2" - } - }, - "node_modules/which-promise/node_modules/pinkie": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-1.0.0.tgz", - "integrity": "sha1-Wkfyi6EBXQIBvae/DzWOR77Ix+Q=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/which-promise/node_modules/pinkie-promise": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-1.0.0.tgz", - "integrity": "sha1-0dpn9UglY7t89X8oauKCLs+/NnA=", - "dev": true, - "dependencies": { - "pinkie": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/which-promise/node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" - } - }, - "node_modules/wrap-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", - "dev": true, - "dependencies": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true }, - "node_modules/ws": { - "version": "7.5.6", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.6.tgz", - "integrity": "sha512-6GLgCqo2cy2A2rjCNFlxQS6ZljG/coZfZXclldI8FB/1G3CCI36Zd8xy2HrFVACi8tfk5XrgLQEk+P0Tnz9UcA==", + "node_modules/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", "dev": true, - "engines": { - "node": ">=8.3.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } + "dependencies": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + }, + "node_modules/yazl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/yazl/-/yazl-2.5.1.tgz", + "integrity": "sha512-phENi2PLiHnHb6QBVot+dJnaAZ0xosj7p3fWl+znIjBDlnMI2PsZCJZ306BPTFOaHf5qdDEI8x5qFrSOBN5vrw==", + "dev": true, + "dependencies": { + "buffer-crc32": "~0.2.3" } } }, @@ -5868,9 +2895,9 @@ "dev": true }, "@babel/core": { - "version": "7.16.10", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.16.10.tgz", - "integrity": "sha512-pbiIdZbCiMx/MM6toR+OfXarYix3uz0oVsnNtfdAGTcCTu3w/JGF8JhirevXLBJUu0WguSZI12qpKnx7EeMyLA==", + "version": "7.16.12", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.16.12.tgz", + "integrity": "sha512-dK5PtG1uiN2ikk++5OzSYsitZKny4wOCD0nrO4TqnW4BVBTQ2NGS3NgilvT/TEyxTST7LNyWV/T4tXDoD3fOgg==", "dev": true, "requires": { "@babel/code-frame": "^7.16.7", @@ -5878,7 +2905,7 @@ "@babel/helper-compilation-targets": "^7.16.7", "@babel/helper-module-transforms": "^7.16.7", "@babel/helpers": "^7.16.7", - "@babel/parser": "^7.16.10", + "@babel/parser": "^7.16.12", "@babel/template": "^7.16.7", "@babel/traverse": "^7.16.10", "@babel/types": "^7.16.8", @@ -5918,16 +2945,6 @@ "@babel/types": "^7.16.7" } }, - "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.7.tgz", - "integrity": "sha512-C6FdbRaxYjwVu/geKW4ZeQ0Q31AftgRcdSnZ5/jsH6BzCJbtvXvhpfkbkThYSuutZA7nCXpPR6AD9zd1dprMkA==", - "dev": true, - "requires": { - "@babel/helper-explode-assignable-expression": "^7.16.7", - "@babel/types": "^7.16.7" - } - }, "@babel/helper-compilation-targets": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.7.tgz", @@ -5963,40 +2980,6 @@ "@babel/helper-split-export-declaration": "^7.16.7" } }, - "@babel/helper-create-regexp-features-plugin": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.16.7.tgz", - "integrity": "sha512-fk5A6ymfp+O5+p2yCkXAu5Kyj6v0xh0RBeNcAkYUMDvvAAoxvSKXn+Jb37t/yWFiQVDFK1ELpUTD8/aLhCPu+g==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.16.7", - "regexpu-core": "^4.7.1" - } - }, - "@babel/helper-define-polyfill-provider": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.1.tgz", - "integrity": "sha512-J9hGMpJQmtWmj46B3kBHmL38UhJGhYX7eqkcq+2gsstyYt341HmPeWspihX43yVRA0mS+8GGk2Gckc7bY/HCmA==", - "dev": true, - "requires": { - "@babel/helper-compilation-targets": "^7.13.0", - "@babel/helper-module-imports": "^7.12.13", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/traverse": "^7.13.0", - "debug": "^4.1.1", - "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2", - "semver": "^6.1.2" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, "@babel/helper-environment-visitor": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz", @@ -6006,15 +2989,6 @@ "@babel/types": "^7.16.7" } }, - "@babel/helper-explode-assignable-expression": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.7.tgz", - "integrity": "sha512-KyUenhWMC8VrxzkGP0Jizjo4/Zx+1nNZhgocs+gLzyZyB8SHidhoq9KK/8Ato4anhwsivfkBLftky7gvzbZMtQ==", - "dev": true, - "requires": { - "@babel/types": "^7.16.7" - } - }, "@babel/helper-function-name": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz", @@ -6093,17 +3067,6 @@ "integrity": "sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==", "dev": true }, - "@babel/helper-remap-async-to-generator": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.8.tgz", - "integrity": "sha512-fm0gH7Flb8H51LqJHy3HJ3wnE1+qtYR2A99K06ahwrawLdOFsCEWjZOrYricXJHoPSudNKxrMBUPEIPxiIIvBw==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.16.7", - "@babel/helper-wrap-function": "^7.16.8", - "@babel/types": "^7.16.8" - } - }, "@babel/helper-replace-supers": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.16.7.tgz", @@ -6156,18 +3119,6 @@ "integrity": "sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==", "dev": true }, - "@babel/helper-wrap-function": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.16.8.tgz", - "integrity": "sha512-8RpyRVIAW1RcDDGTA+GpPAwV22wXCfKOoM9bet6TLkGIFTkRQSkH1nMQ5Yet4MpoXe1ZwHPVtNasc2w0uZMqnw==", - "dev": true, - "requires": { - "@babel/helper-function-name": "^7.16.7", - "@babel/template": "^7.16.7", - "@babel/traverse": "^7.16.8", - "@babel/types": "^7.16.8" - } - }, "@babel/helpers": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.16.7.tgz", @@ -6191,42 +3142,11 @@ } }, "@babel/parser": { - "version": "7.16.10", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.10.tgz", - "integrity": "sha512-Sm/S9Or6nN8uiFsQU1yodyDW3MWXQhFeqzMPM+t8MJjM+pLsnFVxFZzkpXKvUXh+Gz9cbMoYYs484+Jw/NTEFQ==", + "version": "7.17.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.3.tgz", + "integrity": "sha512-7yJPvPV+ESz2IUTPbOL+YkIGyCqOyNIzdguKQuJGnH7bg1WTIifuM21YqokFt/THWh1AkCRn9IgoykTRCBVpzA==", "dev": true }, - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7.tgz", - "integrity": "sha512-anv/DObl7waiGEnC24O9zqL0pSuI9hljihqiDuFHC8d7/bjr/4RLGPWuc8rYOff/QPzbEPSkzG8wGG9aDuhHRg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.16.7" - } - }, - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.7.tgz", - "integrity": "sha512-di8vUHRdf+4aJ7ltXhaDbPoszdkh59AQtJM5soLsuHpQJdFQZOA4uGj0V2u/CZ8bJ/u8ULDL5yq6FO/bCXnKHw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", - "@babel/plugin-proposal-optional-chaining": "^7.16.7" - } - }, - "@babel/plugin-proposal-async-generator-functions": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.8.tgz", - "integrity": "sha512-71YHIvMuiuqWJQkebWJtdhQTfd4Q4mF76q2IX37uZPkG9+olBxsX+rH1vkhFto4UeJZ9dPY2s+mDvhDm1u2BGQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-remap-async-to-generator": "^7.16.8", - "@babel/plugin-syntax-async-generators": "^7.8.4" - } - }, "@babel/plugin-proposal-class-properties": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.7.tgz", @@ -6237,28 +3157,6 @@ "@babel/helper-plugin-utils": "^7.16.7" } }, - "@babel/plugin-proposal-class-static-block": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.16.7.tgz", - "integrity": "sha512-dgqJJrcZoG/4CkMopzhPJjGxsIe9A8RlkQLnL/Vhhx8AA9ZuaRwGSlscSh42hazc7WSrya/IK7mTeoF0DP9tEw==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/plugin-syntax-class-static-block": "^7.14.5" - } - }, - "@babel/plugin-proposal-decorators": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.16.7.tgz", - "integrity": "sha512-DoEpnuXK14XV9btI1k8tzNGCutMclpj4yru8aXKoHlVmbO1s+2A+g2+h4JhcjrxkFJqzbymnLG6j/niOf3iFXQ==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/plugin-syntax-decorators": "^7.16.7" - } - }, "@babel/plugin-proposal-dynamic-import": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.7.tgz", @@ -6279,16 +3177,6 @@ "@babel/plugin-syntax-export-namespace-from": "^7.8.3" } }, - "@babel/plugin-proposal-json-strings": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.7.tgz", - "integrity": "sha512-lNZ3EEggsGY78JavgbHsK9u5P3pQaW7k4axlgFLYkMd7UBsiNahCITShLjNQschPyjtO6dADrL24757IdhBrsQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/plugin-syntax-json-strings": "^7.8.3" - } - }, "@babel/plugin-proposal-logical-assignment-operators": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.7.tgz", @@ -6319,29 +3207,6 @@ "@babel/plugin-syntax-numeric-separator": "^7.10.4" } }, - "@babel/plugin-proposal-object-rest-spread": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.16.7.tgz", - "integrity": "sha512-3O0Y4+dw94HA86qSg9IHfyPktgR7q3gpNVAeiKQd+8jBKFaU5NQS1Yatgo4wY+UFNuLjvxcSmzcsHqrhgTyBUA==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.16.4", - "@babel/helper-compilation-targets": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.16.7" - } - }, - "@babel/plugin-proposal-optional-catch-binding": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.7.tgz", - "integrity": "sha512-eMOH/L4OvWSZAE1VkHbr1vckLG1WUcHGJSLqqQwl2GaUqG6QjddvrOaTUMNYiv77H5IKPMZ9U9P7EaHwvAShfA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" - } - }, "@babel/plugin-proposal-optional-chaining": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.7.tgz", @@ -6354,12 +3219,12 @@ } }, "@babel/plugin-proposal-private-methods": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.7.tgz", - "integrity": "sha512-7twV3pzhrRxSwHeIvFE6coPgvo+exNDOiGUMg39o2LiLo1Y+4aKpfkcLGcg1UHonzorCt7SNXnoMyCnnIOA8Sw==", + "version": "7.16.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.11.tgz", + "integrity": "sha512-F/2uAkPlXDr8+BHpZvo19w3hLFKge+k75XUprE6jaqKxjGkSYcK+4c+bup5PdW/7W/Rpjwql7FTVEDW+fRAQsw==", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.16.7", + "@babel/helper-create-class-features-plugin": "^7.16.10", "@babel/helper-plugin-utils": "^7.16.7" } }, @@ -6375,16 +3240,6 @@ "@babel/plugin-syntax-private-property-in-object": "^7.14.5" } }, - "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.7.tgz", - "integrity": "sha512-QRK0YI/40VLhNVGIjRNAAQkEHws0cswSdFFjpFyt943YmJIU1da9uW63Iu6NFV6CxTZW5eTDCrwZUstBWgp/Rg==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7" - } - }, "@babel/plugin-syntax-async-generators": { "version": "7.8.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", @@ -6394,33 +3249,6 @@ "@babel/helper-plugin-utils": "^7.8.0" } }, - "@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-syntax-class-static-block": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", - "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-decorators": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.16.7.tgz", - "integrity": "sha512-vQ+PxL+srA7g6Rx6I1e15m55gftknl2X8GCUW1JTlkTaXZLJOS0UcaY0eK9jYT7IYf4awn6qwyghVHLDz1WyMw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.16.7" - } - }, "@babel/plugin-syntax-dynamic-import": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", @@ -6439,24 +3267,6 @@ "@babel/helper-plugin-utils": "^7.8.3" } }, - "@babel/plugin-syntax-flow": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.16.7.tgz", - "integrity": "sha512-UDo3YGQO0jH6ytzVwgSLv9i/CzMcUjbKenL67dTrAZPPv6GFAtDhe6jqnvmoKzC/7htNTohhos+onPtDMqJwaQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.16.7" - } - }, - "@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", - "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, "@babel/plugin-syntax-json-strings": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", @@ -6538,175 +3348,15 @@ "@babel/helper-plugin-utils": "^7.14.5" } }, - "@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-arrow-functions": { + "@babel/plugin-syntax-typescript": { "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.7.tgz", - "integrity": "sha512-9ffkFFMbvzTvv+7dTp/66xvZAWASuPD5Tl9LK3Z9vhOmANo6j94rik+5YMBt4CwHVMWLWpMsriIc2zsa3WW3xQ==", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.16.7.tgz", + "integrity": "sha512-YhUIJHHGkqPgEcMYkPCKTyGUdoGKWtopIycQyjJH8OjvRgOYsXsaKehLVPScKJWAULPxMa4N1vCe6szREFlZ7A==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.7" } }, - "@babel/plugin-transform-async-to-generator": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.8.tgz", - "integrity": "sha512-MtmUmTJQHCnyJVrScNzNlofQJ3dLFuobYn3mwOTKHnSCMtbNsqvF71GQmJfFjdrXSsAA7iysFmYWw4bXZ20hOg==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-remap-async-to-generator": "^7.16.8" - } - }, - "@babel/plugin-transform-block-scoped-functions": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.7.tgz", - "integrity": "sha512-JUuzlzmF40Z9cXyytcbZEZKckgrQzChbQJw/5PuEHYeqzCsvebDx0K0jWnIIVcmmDOAVctCgnYs0pMcrYj2zJg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.16.7" - } - }, - "@babel/plugin-transform-block-scoping": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.7.tgz", - "integrity": "sha512-ObZev2nxVAYA4bhyusELdo9hb3H+A56bxH3FZMbEImZFiEDYVHXQSJ1hQKFlDnlt8G9bBrCZ5ZpURZUrV4G5qQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.16.7" - } - }, - "@babel/plugin-transform-classes": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.7.tgz", - "integrity": "sha512-WY7og38SFAGYRe64BrjKf8OrE6ulEHtr5jEYaZMwox9KebgqPi67Zqz8K53EKk1fFEJgm96r32rkKZ3qA2nCWQ==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.16.7", - "@babel/helper-environment-visitor": "^7.16.7", - "@babel/helper-function-name": "^7.16.7", - "@babel/helper-optimise-call-expression": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-replace-supers": "^7.16.7", - "@babel/helper-split-export-declaration": "^7.16.7", - "globals": "^11.1.0" - } - }, - "@babel/plugin-transform-computed-properties": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.7.tgz", - "integrity": "sha512-gN72G9bcmenVILj//sv1zLNaPyYcOzUho2lIJBMh/iakJ9ygCo/hEF9cpGb61SCMEDxbbyBoVQxrt+bWKu5KGw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.16.7" - } - }, - "@babel/plugin-transform-destructuring": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.16.7.tgz", - "integrity": "sha512-VqAwhTHBnu5xBVDCvrvqJbtLUa++qZaWC0Fgr2mqokBlulZARGyIvZDoqbPlPaKImQ9dKAcCzbv+ul//uqu70A==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.16.7" - } - }, - "@babel/plugin-transform-dotall-regex": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.7.tgz", - "integrity": "sha512-Lyttaao2SjZF6Pf4vk1dVKv8YypMpomAbygW+mU5cYP3S5cWTfCJjG8xV6CFdzGFlfWK81IjL9viiTvpb6G7gQ==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7" - } - }, - "@babel/plugin-transform-duplicate-keys": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.7.tgz", - "integrity": "sha512-03DvpbRfvWIXyK0/6QiR1KMTWeT6OcQ7tbhjrXyFS02kjuX/mu5Bvnh5SDSWHxyawit2g5aWhKwI86EE7GUnTw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.16.7" - } - }, - "@babel/plugin-transform-exponentiation-operator": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.7.tgz", - "integrity": "sha512-8UYLSlyLgRixQvlYH3J2ekXFHDFLQutdy7FfFAMm3CPZ6q9wHCwnUyiXpQCe3gVVnQlHc5nsuiEVziteRNTXEA==", - "dev": true, - "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7" - } - }, - "@babel/plugin-transform-flow-strip-types": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.16.7.tgz", - "integrity": "sha512-mzmCq3cNsDpZZu9FADYYyfZJIOrSONmHcop2XEKPdBNMa4PDC4eEvcOvzZaCNcjKu72v0XQlA5y1g58aLRXdYg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/plugin-syntax-flow": "^7.16.7" - } - }, - "@babel/plugin-transform-for-of": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.7.tgz", - "integrity": "sha512-/QZm9W92Ptpw7sjI9Nx1mbcsWz33+l8kuMIQnDwgQBG5s3fAfQvkRjQ7NqXhtNcKOnPkdICmUHyCaWW06HCsqg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.16.7" - } - }, - "@babel/plugin-transform-function-name": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.7.tgz", - "integrity": "sha512-SU/C68YVwTRxqWj5kgsbKINakGag0KTgq9f2iZEXdStoAbOzLHEBRYzImmA6yFo8YZhJVflvXmIHUO7GWHmxxA==", - "dev": true, - "requires": { - "@babel/helper-compilation-targets": "^7.16.7", - "@babel/helper-function-name": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7" - } - }, - "@babel/plugin-transform-literals": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.7.tgz", - "integrity": "sha512-6tH8RTpTWI0s2sV6uq3e/C9wPo4PTqqZps4uF0kzQ9/xPLFQtipynvmT1g/dOfEJ+0EQsHhkQ/zyRId8J2b8zQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.16.7" - } - }, - "@babel/plugin-transform-member-expression-literals": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.7.tgz", - "integrity": "sha512-mBruRMbktKQwbxaJof32LT9KLy2f3gH+27a5XSuXo6h7R3vqltl0PgZ80C8ZMKw98Bf8bqt6BEVi3svOh2PzMw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.16.7" - } - }, - "@babel/plugin-transform-modules-amd": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.7.tgz", - "integrity": "sha512-KaaEtgBL7FKYwjJ/teH63oAmE3lP34N3kshz8mm4VMAw7U3PxjVwwUmxEFksbgsNUaO3wId9R2AVQYSEGRa2+g==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", - "babel-plugin-dynamic-import-node": "^2.3.3" - } - }, "@babel/plugin-transform-modules-commonjs": { "version": "7.16.8", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.16.8.tgz", @@ -6719,84 +3369,6 @@ "babel-plugin-dynamic-import-node": "^2.3.3" } }, - "@babel/plugin-transform-modules-systemjs": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.16.7.tgz", - "integrity": "sha512-DuK5E3k+QQmnOqBR9UkusByy5WZWGRxfzV529s9nPra1GE7olmxfqO2FHobEOYSPIjPBTr4p66YDcjQnt8cBmw==", - "dev": true, - "requires": { - "@babel/helper-hoist-variables": "^7.16.7", - "@babel/helper-module-transforms": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-validator-identifier": "^7.16.7", - "babel-plugin-dynamic-import-node": "^2.3.3" - } - }, - "@babel/plugin-transform-modules-umd": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.7.tgz", - "integrity": "sha512-EMh7uolsC8O4xhudF2F6wedbSHm1HHZ0C6aJ7K67zcDNidMzVcxWdGr+htW9n21klm+bOn+Rx4CBsAntZd3rEQ==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7" - } - }, - "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.8.tgz", - "integrity": "sha512-j3Jw+n5PvpmhRR+mrgIh04puSANCk/T/UA3m3P1MjJkhlK906+ApHhDIqBQDdOgL/r1UYpz4GNclTXxyZrYGSw==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.16.7" - } - }, - "@babel/plugin-transform-new-target": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.7.tgz", - "integrity": "sha512-xiLDzWNMfKoGOpc6t3U+etCE2yRnn3SM09BXqWPIZOBpL2gvVrBWUKnsJx0K/ADi5F5YC5f8APFfWrz25TdlGg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.16.7" - } - }, - "@babel/plugin-transform-object-super": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.7.tgz", - "integrity": "sha512-14J1feiQVWaGvRxj2WjyMuXS2jsBkgB3MdSN5HuC2G5nRspa5RK9COcs82Pwy5BuGcjb+fYaUj94mYcOj7rCvw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-replace-supers": "^7.16.7" - } - }, - "@babel/plugin-transform-parameters": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.7.tgz", - "integrity": "sha512-AT3MufQ7zZEhU2hwOA11axBnExW0Lszu4RL/tAlUJBuNoRak+wehQW8h6KcXOcgjY42fHtDxswuMhMjFEuv/aw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.16.7" - } - }, - "@babel/plugin-transform-property-literals": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.7.tgz", - "integrity": "sha512-z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.16.7" - } - }, - "@babel/plugin-transform-react-display-name": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.16.7.tgz", - "integrity": "sha512-qgIg8BcZgd0G/Cz916D5+9kqX0c7nPZyXaP8R2tLNN5tkyIZdG5fEwBrxwplzSnjC1jvQmyMNVwUCZPcbGY7Pg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.16.7" - } - }, "@babel/plugin-transform-react-jsx": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.16.7.tgz", @@ -6810,265 +3382,26 @@ "@babel/types": "^7.16.7" } }, - "@babel/plugin-transform-react-jsx-development": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.16.7.tgz", - "integrity": "sha512-RMvQWvpla+xy6MlBpPlrKZCMRs2AGiHOGHY3xRwl0pEeim348dDyxeH4xBsMPbIMhujeq7ihE702eM2Ew0Wo+A==", + "@babel/plugin-transform-typescript": { + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.16.8.tgz", + "integrity": "sha512-bHdQ9k7YpBDO2d0NVfkj51DpQcvwIzIusJ7mEUaMlbZq3Kt/U47j24inXZHQ5MDiYpCs+oZiwnXyKedE8+q7AQ==", "dev": true, "requires": { - "@babel/plugin-transform-react-jsx": "^7.16.7" - } - }, - "@babel/plugin-transform-react-pure-annotations": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.16.7.tgz", - "integrity": "sha512-hs71ToC97k3QWxswh2ElzMFABXHvGiJ01IB1TbYQDGeWRKWz/MPUTh5jGExdHvosYKpnJW5Pm3S4+TA3FyX+GA==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7" - } - }, - "@babel/plugin-transform-regenerator": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.16.7.tgz", - "integrity": "sha512-mF7jOgGYCkSJagJ6XCujSQg+6xC1M77/03K2oBmVJWoFGNUtnVJO4WHKJk3dnPC8HCcj4xBQP1Egm8DWh3Pb3Q==", - "dev": true, - "requires": { - "regenerator-transform": "^0.14.2" - } - }, - "@babel/plugin-transform-reserved-words": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.7.tgz", - "integrity": "sha512-KQzzDnZ9hWQBjwi5lpY5v9shmm6IVG0U9pB18zvMu2i4H90xpT4gmqwPYsn8rObiadYe2M0gmgsiOIF5A/2rtg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.16.7" - } - }, - "@babel/plugin-transform-runtime": { - "version": "7.16.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.16.10.tgz", - "integrity": "sha512-9nwTiqETv2G7xI4RvXHNfpGdr8pAA+Q/YtN3yLK7OoK7n9OibVm/xymJ838a9A6E/IciOLPj82lZk0fW6O4O7w==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.16.7", + "@babel/helper-create-class-features-plugin": "^7.16.7", "@babel/helper-plugin-utils": "^7.16.7", - "babel-plugin-polyfill-corejs2": "^0.3.0", - "babel-plugin-polyfill-corejs3": "^0.5.0", - "babel-plugin-polyfill-regenerator": "^0.3.0", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } + "@babel/plugin-syntax-typescript": "^7.16.7" } }, - "@babel/plugin-transform-shorthand-properties": { + "@babel/preset-typescript": { "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.7.tgz", - "integrity": "sha512-hah2+FEnoRoATdIb05IOXf+4GzXYTq75TVhIn1PewihbpyrNWUt2JbudKQOETWw6QpLe+AIUpJ5MVLYTQbeeUg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.16.7" - } - }, - "@babel/plugin-transform-spread": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.7.tgz", - "integrity": "sha512-+pjJpgAngb53L0iaA5gU/1MLXJIfXcYepLgXB3esVRf4fqmj8f2cxM3/FKaHsZms08hFQJkFccEWuIpm429TXg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0" - } - }, - "@babel/plugin-transform-sticky-regex": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.7.tgz", - "integrity": "sha512-NJa0Bd/87QV5NZZzTuZG5BPJjLYadeSZ9fO6oOUoL4iQx+9EEuw/eEM92SrsT19Yc2jgB1u1hsjqDtH02c3Drw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.16.7" - } - }, - "@babel/plugin-transform-template-literals": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.7.tgz", - "integrity": "sha512-VwbkDDUeenlIjmfNeDX/V0aWrQH2QiVyJtwymVQSzItFDTpxfyJh3EVaQiS0rIN/CqbLGr0VcGmuwyTdZtdIsA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.16.7" - } - }, - "@babel/plugin-transform-typeof-symbol": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.7.tgz", - "integrity": "sha512-p2rOixCKRJzpg9JB4gjnG4gjWkWa89ZoYUnl9snJ1cWIcTH/hvxZqfO+WjG6T8DRBpctEol5jw1O5rA8gkCokQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.16.7" - } - }, - "@babel/plugin-transform-unicode-escapes": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.7.tgz", - "integrity": "sha512-TAV5IGahIz3yZ9/Hfv35TV2xEm+kaBDaZQCn2S/hG9/CZ0DktxJv9eKfPc7yYCvOYR4JGx1h8C+jcSOvgaaI/Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.16.7" - } - }, - "@babel/plugin-transform-unicode-regex": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.7.tgz", - "integrity": "sha512-oC5tYYKw56HO75KZVLQ+R/Nl3Hro9kf8iG0hXoaHP7tjAyCpvqBiSNe6vGrZni1Z6MggmUOC6A7VP7AVmw225Q==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7" - } - }, - "@babel/preset-env": { - "version": "7.16.10", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.16.10.tgz", - "integrity": "sha512-iCac3fZn9oOcLqc1N2/copPiX7aoxzsvjeDdXoZobrlbQ6YGgS3bL9HyldOJ8V8AY5P7pFynCATrn7M4dMw0Yg==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.16.8", - "@babel/helper-compilation-targets": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-validator-option": "^7.16.7", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.16.7", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.16.7", - "@babel/plugin-proposal-async-generator-functions": "^7.16.8", - "@babel/plugin-proposal-class-properties": "^7.16.7", - "@babel/plugin-proposal-class-static-block": "^7.16.7", - "@babel/plugin-proposal-dynamic-import": "^7.16.7", - "@babel/plugin-proposal-export-namespace-from": "^7.16.7", - "@babel/plugin-proposal-json-strings": "^7.16.7", - "@babel/plugin-proposal-logical-assignment-operators": "^7.16.7", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.7", - "@babel/plugin-proposal-numeric-separator": "^7.16.7", - "@babel/plugin-proposal-object-rest-spread": "^7.16.7", - "@babel/plugin-proposal-optional-catch-binding": "^7.16.7", - "@babel/plugin-proposal-optional-chaining": "^7.16.7", - "@babel/plugin-proposal-private-methods": "^7.16.7", - "@babel/plugin-proposal-private-property-in-object": "^7.16.7", - "@babel/plugin-proposal-unicode-property-regex": "^7.16.7", - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-class-properties": "^7.12.13", - "@babel/plugin-syntax-class-static-block": "^7.14.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5", - "@babel/plugin-syntax-top-level-await": "^7.14.5", - "@babel/plugin-transform-arrow-functions": "^7.16.7", - "@babel/plugin-transform-async-to-generator": "^7.16.8", - "@babel/plugin-transform-block-scoped-functions": "^7.16.7", - "@babel/plugin-transform-block-scoping": "^7.16.7", - "@babel/plugin-transform-classes": "^7.16.7", - "@babel/plugin-transform-computed-properties": "^7.16.7", - "@babel/plugin-transform-destructuring": "^7.16.7", - "@babel/plugin-transform-dotall-regex": "^7.16.7", - "@babel/plugin-transform-duplicate-keys": "^7.16.7", - "@babel/plugin-transform-exponentiation-operator": "^7.16.7", - "@babel/plugin-transform-for-of": "^7.16.7", - "@babel/plugin-transform-function-name": "^7.16.7", - "@babel/plugin-transform-literals": "^7.16.7", - "@babel/plugin-transform-member-expression-literals": "^7.16.7", - "@babel/plugin-transform-modules-amd": "^7.16.7", - "@babel/plugin-transform-modules-commonjs": "^7.16.8", - "@babel/plugin-transform-modules-systemjs": "^7.16.7", - "@babel/plugin-transform-modules-umd": "^7.16.7", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.16.8", - "@babel/plugin-transform-new-target": "^7.16.7", - "@babel/plugin-transform-object-super": "^7.16.7", - "@babel/plugin-transform-parameters": "^7.16.7", - "@babel/plugin-transform-property-literals": "^7.16.7", - "@babel/plugin-transform-regenerator": "^7.16.7", - "@babel/plugin-transform-reserved-words": "^7.16.7", - "@babel/plugin-transform-shorthand-properties": "^7.16.7", - "@babel/plugin-transform-spread": "^7.16.7", - "@babel/plugin-transform-sticky-regex": "^7.16.7", - "@babel/plugin-transform-template-literals": "^7.16.7", - "@babel/plugin-transform-typeof-symbol": "^7.16.7", - "@babel/plugin-transform-unicode-escapes": "^7.16.7", - "@babel/plugin-transform-unicode-regex": "^7.16.7", - "@babel/preset-modules": "^0.1.5", - "@babel/types": "^7.16.8", - "babel-plugin-polyfill-corejs2": "^0.3.0", - "babel-plugin-polyfill-corejs3": "^0.5.0", - "babel-plugin-polyfill-regenerator": "^0.3.0", - "core-js-compat": "^3.20.2", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "@babel/preset-flow": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.16.7.tgz", - "integrity": "sha512-6ceP7IyZdUYQ3wUVqyRSQXztd1YmFHWI4Xv11MIqAlE4WqxBSd/FZ61V9k+TS5Gd4mkHOtQtPp9ymRpxH4y1Ug==", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.16.7.tgz", + "integrity": "sha512-WbVEmgXdIyvzB77AQjGBEyYPZx+8tTsO50XtfozQrkW8QB2rLJpH2lgx0TRw5EJrBxOZQ+wCcyPVQvS8tjEHpQ==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.7", "@babel/helper-validator-option": "^7.16.7", - "@babel/plugin-transform-flow-strip-types": "^7.16.7" - } - }, - "@babel/preset-modules": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", - "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", - "@babel/plugin-transform-dotall-regex": "^7.4.4", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" - } - }, - "@babel/preset-react": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.16.7.tgz", - "integrity": "sha512-fWpyI8UM/HE6DfPBzD8LnhQ/OcH8AgTaqcqP2nGOXEUV+VKBR5JRN9hCk9ai+zQQ57vtm9oWeXguBCPNUjytgA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-validator-option": "^7.16.7", - "@babel/plugin-transform-react-display-name": "^7.16.7", - "@babel/plugin-transform-react-jsx": "^7.16.7", - "@babel/plugin-transform-react-jsx-development": "^7.16.7", - "@babel/plugin-transform-react-pure-annotations": "^7.16.7" - } - }, - "@babel/runtime": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.16.7.tgz", - "integrity": "sha512-9E9FJowqAsytyOY6LG+1KuueckRL+aQW+mKvXRXnuFGyRAyepJPmEo9vgMfXUA6O9u3IeEdv9MAkppFcaQwogQ==", - "dev": true, - "requires": { - "regenerator-runtime": "^0.13.4" + "@babel/plugin-transform-typescript": "^7.16.7" } }, "@babel/template": { @@ -7110,114 +3443,159 @@ "to-fast-properties": "^2.0.0" } }, - "@devexpress/error-stack-parser": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@devexpress/error-stack-parser/-/error-stack-parser-2.0.6.tgz", - "integrity": "sha512-fneVypElGUH6Be39mlRZeAu00pccTlf4oVuzf9xPJD1cdEqI8NyAiQua/EW7lZdrbMUbgyXcJmfKPefhYius3A==", + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", "dev": true, "requires": { - "stackframe": "^1.1.1" + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } } }, - "@ffmpeg-installer/darwin-arm64": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@ffmpeg-installer/darwin-arm64/-/darwin-arm64-4.1.5.tgz", - "integrity": "sha512-hYqTiP63mXz7wSQfuqfFwfLOfwwFChUedeCVKkBtl/cliaTM7/ePI9bVzfZ2c+dWu3TqCwLDRWNSJ5pqZl8otA==", - "optional": true - }, - "@ffmpeg-installer/darwin-x64": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@ffmpeg-installer/darwin-x64/-/darwin-x64-4.1.0.tgz", - "integrity": "sha512-Z4EyG3cIFjdhlY8wI9aLUXuH8nVt7E9SlMVZtWvSPnm2sm37/yC2CwjUzyCQbJbySnef1tQwGG2Sx+uWhd9IAw==", - "optional": true - }, - "@ffmpeg-installer/ffmpeg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@ffmpeg-installer/ffmpeg/-/ffmpeg-1.1.0.tgz", - "integrity": "sha512-Uq4rmwkdGxIa9A6Bd/VqqYbT7zqh1GrT5/rFwCwKM70b42W5gIjWeVETq6SdcL0zXqDtY081Ws/iJWhr1+xvQg==", - "requires": { - "@ffmpeg-installer/darwin-arm64": "4.1.5", - "@ffmpeg-installer/darwin-x64": "4.1.0", - "@ffmpeg-installer/linux-arm": "4.1.3", - "@ffmpeg-installer/linux-arm64": "4.1.4", - "@ffmpeg-installer/linux-ia32": "4.1.0", - "@ffmpeg-installer/linux-x64": "4.1.0", - "@ffmpeg-installer/win32-ia32": "4.1.0", - "@ffmpeg-installer/win32-x64": "4.1.0" - } - }, - "@ffmpeg-installer/linux-arm": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/@ffmpeg-installer/linux-arm/-/linux-arm-4.1.3.tgz", - "integrity": "sha512-NDf5V6l8AfzZ8WzUGZ5mV8O/xMzRag2ETR6+TlGIsMHp81agx51cqpPItXPib/nAZYmo55Bl2L6/WOMI3A5YRg==", - "optional": true - }, - "@ffmpeg-installer/linux-arm64": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/@ffmpeg-installer/linux-arm64/-/linux-arm64-4.1.4.tgz", - "integrity": "sha512-dljEqAOD0oIM6O6DxBW9US/FkvqvQwgJ2lGHOwHDDwu/pX8+V0YsDL1xqHbj1DMX/+nP9rxw7G7gcUvGspSoKg==", - "optional": true - }, - "@ffmpeg-installer/linux-ia32": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@ffmpeg-installer/linux-ia32/-/linux-ia32-4.1.0.tgz", - "integrity": "sha512-0LWyFQnPf+Ij9GQGD034hS6A90URNu9HCtQ5cTqo5MxOEc7Rd8gLXrJvn++UmxhU0J5RyRE9KRYstdCVUjkNOQ==", - "optional": true - }, - "@ffmpeg-installer/linux-x64": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@ffmpeg-installer/linux-x64/-/linux-x64-4.1.0.tgz", - "integrity": "sha512-Y5BWhGLU/WpQjOArNIgXD3z5mxxdV8c41C+U15nsE5yF8tVcdCGet5zPs5Zy3Ta6bU7haGpIzryutqCGQA/W8A==", - "optional": true - }, - "@ffmpeg-installer/win32-ia32": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@ffmpeg-installer/win32-ia32/-/win32-ia32-4.1.0.tgz", - "integrity": "sha512-FV2D7RlaZv/lrtdhaQ4oETwoFUsUjlUiasiZLDxhEUPdNDWcH1OU9K1xTvqz+OXLdsmYelUDuBS/zkMOTtlUAw==", - "optional": true - }, - "@ffmpeg-installer/win32-x64": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@ffmpeg-installer/win32-x64/-/win32-x64-4.1.0.tgz", - "integrity": "sha512-Drt5u2vzDnIONf4ZEkKtFlbvwj6rI3kxw1Ck9fpudmtgaZIHD4ucsWB2lCZBXRxJgXR+2IMSti+4rtM4C4rXgg==", - "optional": true - }, - "@miherlosev/esm": { - "version": "3.2.26", - "resolved": "https://registry.npmjs.org/@miherlosev/esm/-/esm-3.2.26.tgz", - "integrity": "sha512-TaW4jTGVE1/ln2VGFChnheMh589QCAZy1MVnLvjjSzZ4pEAa4WYAWPwFkDVZbSdPQdLfZy7LuTyZjWRkhX9/Gg==", - "dev": true - }, - "@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "@playwright/test": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.19.1.tgz", + "integrity": "sha512-NGWqJWP4N2HFyXlOSDwQSfgmige94p9KQvml62fJ5wg4sknfkyw+CnFeLUze8qvnGlS0PbVISMRV5JOE8EdxjQ==", "dev": true, "requires": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - } - }, - "@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true - }, - "@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "requires": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" + "@babel/code-frame": "7.16.7", + "@babel/core": "7.16.12", + "@babel/plugin-proposal-class-properties": "7.16.7", + "@babel/plugin-proposal-dynamic-import": "7.16.7", + "@babel/plugin-proposal-export-namespace-from": "7.16.7", + "@babel/plugin-proposal-logical-assignment-operators": "7.16.7", + "@babel/plugin-proposal-nullish-coalescing-operator": "7.16.7", + "@babel/plugin-proposal-numeric-separator": "7.16.7", + "@babel/plugin-proposal-optional-chaining": "7.16.7", + "@babel/plugin-proposal-private-methods": "7.16.11", + "@babel/plugin-proposal-private-property-in-object": "7.16.7", + "@babel/plugin-syntax-async-generators": "7.8.4", + "@babel/plugin-syntax-json-strings": "7.8.3", + "@babel/plugin-syntax-object-rest-spread": "7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "7.8.3", + "@babel/plugin-transform-modules-commonjs": "7.16.8", + "@babel/plugin-transform-react-jsx": "7.16.7", + "@babel/preset-typescript": "7.16.7", + "babel-plugin-module-resolver": "4.1.0", + "colors": "1.4.0", + "commander": "8.3.0", + "debug": "4.3.3", + "expect": "27.2.5", + "jest-matcher-utils": "27.2.5", + "jpeg-js": "0.4.3", + "json5": "2.2.0", + "mime": "3.0.0", + "minimatch": "3.0.4", + "ms": "2.1.3", + "open": "8.4.0", + "pirates": "4.0.4", + "pixelmatch": "5.2.1", + "playwright-core": "1.19.1", + "pngjs": "6.0.0", + "rimraf": "3.0.2", + "source-map-support": "0.4.18", + "stack-utils": "2.0.5", + "yazl": "2.5.1" + }, + "dependencies": { + "mime": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", + "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==", + "dev": true + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "pngjs": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-6.0.0.tgz", + "integrity": "sha512-TRzzuFRRmEoSW/p1KVAmiOgPco2Irlah+bGFCeNfJXxxYGwSw7YwAOAcd7X28K/m5bjBWKsC29KyoMfHbypayg==", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "source-map-support": { + "version": "0.4.18", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", + "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", + "dev": true, + "requires": { + "source-map": "^0.5.6" + } + } } }, "@types/docker-modem": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/@types/docker-modem/-/docker-modem-3.0.2.tgz", "integrity": "sha512-qC7prjoEYR2QEe6SmCVfB1x3rfcQtUr1n4x89+3e0wSTMQ/KYCyf+/RAA9n2tllkkNc6//JMUZePdFRiGIWfaQ==", + "dev": true, "requires": { "@types/node": "*", "@types/ssh2": "*" @@ -7227,57 +3605,47 @@ "version": "3.3.1", "resolved": "https://registry.npmjs.org/@types/dockerode/-/dockerode-3.3.1.tgz", "integrity": "sha512-pjEOl3C/N2viC+nU2iEM6ImFcyu/RoLZvfsAGc3xIW2MlyEox+ZtJgPDXCFfFVh8ZNouxCRL673aa2Ywbx20EQ==", + "dev": true, "requires": { "@types/docker-modem": "*", "@types/node": "*" } }, - "@types/error-stack-parser": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@types/error-stack-parser/-/error-stack-parser-2.0.0.tgz", - "integrity": "sha512-O2ZQvaCuvqgpSOFzHST/VELij9sm5P84bouCz6z8DysloeY47JpeUyvv00TE0LrZPsG2qleUK00anUaLsvUMHQ==", + "@types/istanbul-lib-coverage": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", + "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", + "dev": true + }, + "@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", "dev": true, "requires": { - "error-stack-parser": "*" + "@types/istanbul-lib-coverage": "*" } }, - "@types/estree": { - "version": "0.0.46", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.46.tgz", - "integrity": "sha512-laIjwTQaD+5DukBZaygQ79K1Z0jb1bPEMRrkXSLjtCcZm+abyp5YbrqpSLzD42FwWW6gK/aS4NYpJ804nG2brg==", - "dev": true - }, - "@types/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", + "@types/istanbul-reports": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", + "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", "dev": true, "requires": { - "@types/minimatch": "*", - "@types/node": "*" + "@types/istanbul-lib-report": "*" } }, - "@types/lodash": { - "version": "4.14.178", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.178.tgz", - "integrity": "sha512-0d5Wd09ItQWH1qFbEyQ7oTQ3GZrMfth5JkbN3EvTKLXcHLRDSXeLnlvlOn0wvxVIwK5o2M8JzP/OWz7T3NRsbw==", - "dev": true - }, - "@types/minimatch": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", - "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", - "dev": true - }, "@types/node": { "version": "17.0.10", "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.10.tgz", - "integrity": "sha512-S/3xB4KzyFxYGCppyDt68yzBU9ysL88lSdIah4D6cptdcltc4NCPCAMc0+PCpg/lLIyC7IPvj2Z52OJWeIUkog==" + "integrity": "sha512-S/3xB4KzyFxYGCppyDt68yzBU9ysL88lSdIah4D6cptdcltc4NCPCAMc0+PCpg/lLIyC7IPvj2Z52OJWeIUkog==", + "dev": true }, "@types/ssh2": { "version": "0.5.50", "resolved": "https://registry.npmjs.org/@types/ssh2/-/ssh2-0.5.50.tgz", "integrity": "sha512-Eu/rzX4L+GhWIKEFQbaeWKECdy8VRdIYOqjMlFp+v4v7tBhvcl30m34BZzVALn/dNXvcB6dmcMtspIW7iPOlPg==", + "dev": true, "requires": { "@types/node": "*", "@types/ssh2-streams": "*" @@ -7287,55 +3655,51 @@ "version": "0.1.9", "resolved": "https://registry.npmjs.org/@types/ssh2-streams/-/ssh2-streams-0.1.9.tgz", "integrity": "sha512-I2J9jKqfmvXLR5GomDiCoHrEJ58hAOmFrekfFqmCFd+A6gaEStvWnPykoWUwld1PNg4G5ag1LwdA+Lz1doRJqg==", + "dev": true, "requires": { "@types/node": "*" } }, - "acorn-hammerhead": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/acorn-hammerhead/-/acorn-hammerhead-0.5.0.tgz", - "integrity": "sha512-TI9TFfJBfduhcM2GggayNhdYvdJ3UgS/Bu3sB7FB2AUmNCmCJ+TSOT6GXu+bodG5/xL74D5zE4XRaqyjgjsYVQ==", + "@types/stack-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", + "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", + "dev": true + }, + "@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", "dev": true, "requires": { - "@types/estree": "0.0.46" + "@types/yargs-parser": "*" } }, - "aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "@types/yargs-parser": { + "version": "20.2.1", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.1.tgz", + "integrity": "sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw==", + "dev": true + }, + "@types/yauzl": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.9.2.tgz", + "integrity": "sha512-8uALY5LTvSuHgloDVUvWP3pIauILm+8/0pDMokuDYIoNsOkSwd5AiHBTSEJjKTDcZr5z8UpgOWZkxBF4iJftoA==", + "dev": true, + "optional": true, + "requires": { + "@types/node": "*" + } + }, + "agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", "dev": true, "requires": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - }, - "dependencies": { - "indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true - } + "debug": "4" } }, - "amdefine": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", - "dev": true - }, - "ansi-escapes": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-2.0.0.tgz", - "integrity": "sha1-W65SvkJIeN2Xg+iRDj/Cki6DyBs=", - "dev": true - }, - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - }, "ansi-styles": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", @@ -7345,48 +3709,6 @@ "color-convert": "^1.9.0" } }, - "array-find": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-find/-/array-find-1.0.0.tgz", - "integrity": "sha1-bI4obRHtdoMn+OYuzuhzU8o+eLg=", - "dev": true - }, - "array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true - }, - "array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", - "dev": true - }, - "asar": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/asar/-/asar-2.1.0.tgz", - "integrity": "sha512-d2Ovma+bfqNpvBzY/KU8oPY67ZworixTpkjSx0PCXnQi67c2cXmssaTxpFDUM0ttopXoGx/KRxNg/GDThYbXQA==", - "dev": true, - "requires": { - "@types/glob": "^7.1.1", - "chromium-pickle-js": "^0.2.0", - "commander": "^2.20.0", - "cuint": "^0.2.2", - "glob": "^7.1.3", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.1", - "tmp-promise": "^1.0.5" - }, - "dependencies": { - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true - } - } - }, "asn1": { "version": "0.2.6", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", @@ -7396,34 +3718,11 @@ "safer-buffer": "~2.1.0" } }, - "assertion-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", - "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", - "dev": true - }, - "async": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/async/-/async-0.2.6.tgz", - "integrity": "sha1-rT83PZJJrjJIgVZVgryQ4VKrvWg=", - "dev": true - }, - "async-exit-hook": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/async-exit-hook/-/async-exit-hook-1.1.2.tgz", - "integrity": "sha1-gJXXXkiMKazuBVH+hyUhadeJz7o=", - "dev": true - }, - "atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", - "dev": true - }, "axios": { "version": "0.24.0", "resolved": "https://registry.npmjs.org/axios/-/axios-0.24.0.tgz", "integrity": "sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==", + "dev": true, "requires": { "follow-redirects": "^1.14.4" } @@ -7450,50 +3749,6 @@ "resolve": "^1.13.1" } }, - "babel-plugin-polyfill-corejs2": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.1.tgz", - "integrity": "sha512-v7/T6EQcNfVLfcN2X8Lulb7DjprieyLWJK/zOWH5DUYcAgex9sP3h25Q+DLsX9TloXe3y1O8l2q2Jv9q8UVB9w==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.13.11", - "@babel/helper-define-polyfill-provider": "^0.3.1", - "semver": "^6.1.1" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "babel-plugin-polyfill-corejs3": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.1.tgz", - "integrity": "sha512-TihqEe4sQcb/QcPJvxe94/9RZuLQuF1+To4WqQcRvc+3J3gLCPIPgDKzGLG6zmQLfH3nn25heRuDNkS2KR4I8A==", - "dev": true, - "requires": { - "@babel/helper-define-polyfill-provider": "^0.3.1", - "core-js-compat": "^3.20.0" - } - }, - "babel-plugin-polyfill-regenerator": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz", - "integrity": "sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A==", - "dev": true, - "requires": { - "@babel/helper-define-polyfill-provider": "^0.3.1" - } - }, - "babel-plugin-syntax-trailing-function-commas": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz", - "integrity": "sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM=", - "dev": true - }, "balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", @@ -7515,12 +3770,6 @@ "tweetnacl": "^0.14.3" } }, - "bin-v8-flags-filter": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/bin-v8-flags-filter/-/bin-v8-flags-filter-1.2.0.tgz", - "integrity": "sha512-g8aeYkY7GhyyKRvQMBsJQZjhm2iCX3dKYvfrMpwVR8IxmUGrkpCBFoKbB9Rh0o3sTLCjU/1tFpZ4C7j3f+D+3g==", - "dev": true - }, "bl": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", @@ -7532,18 +3781,6 @@ "readable-stream": "^3.4.0" } }, - "bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", - "dev": true - }, - "bowser": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz", - "integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==", - "dev": true - }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -7563,15 +3800,6 @@ "fill-range": "^7.0.1" } }, - "brotli": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/brotli/-/brotli-1.3.2.tgz", - "integrity": "sha1-UlqcrU/LqWR119OI9q7LE+7VL0Y=", - "dev": true, - "requires": { - "base64-js": "^1.1.2" - } - }, "browserslist": { "version": "4.19.1", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.19.1.tgz", @@ -7595,16 +3823,10 @@ "ieee754": "^1.1.13" } }, - "buffer-equal-constant-time": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", - "integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=", - "dev": true - }, - "buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", "dev": true }, "call-bind": { @@ -7617,48 +3839,12 @@ "get-intrinsic": "^1.0.2" } }, - "callsite": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", - "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=", - "dev": true - }, - "callsite-record": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/callsite-record/-/callsite-record-4.1.4.tgz", - "integrity": "sha512-dJDrDR/pDvsf7GaDAQB+ZVmM0zEHU7I3km5EtwxmTVBwaJuOy+dmTN63/u3Lbm0gDdQN4skEtKa67Oety2dGIA==", - "dev": true, - "requires": { - "@devexpress/error-stack-parser": "^2.0.6", - "@types/error-stack-parser": "^2.0.0", - "@types/lodash": "^4.14.72", - "callsite": "^1.0.0", - "chalk": "^2.4.0", - "highlight-es": "^1.0.0", - "lodash": "4.6.1 || ^4.16.1", - "pinkie-promise": "^2.0.0" - } - }, "caniuse-lite": { "version": "1.0.30001300", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001300.tgz", "integrity": "sha512-cVjiJHWGcNlJi8TZVKNMnvMid3Z3TTdDHmLDzlOdIiZq138Exvo0G+G0wTdVYolxKb4AYwC+38pxodiInVtJSA==", "dev": true }, - "chai": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.4.tgz", - "integrity": "sha512-yS5H68VYOCtN1cjfwumDSuzn/9c+yza4f3reKXlE5rUg7SFcCEy90gJvydNgOYtblyf4Zi6jIWRnXOgErta0KA==", - "dev": true, - "requires": { - "assertion-error": "^1.1.0", - "check-error": "^1.0.2", - "deep-eql": "^3.0.1", - "get-func-name": "^2.0.0", - "pathval": "^1.1.1", - "type-detect": "^4.0.5" - } - }, "chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", @@ -7670,66 +3856,12 @@ "supports-color": "^5.3.0" } }, - "check-error": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", - "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=", - "dev": true - }, "chownr": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", "dev": true }, - "chrome-remote-interface": { - "version": "0.30.1", - "resolved": "https://registry.npmjs.org/chrome-remote-interface/-/chrome-remote-interface-0.30.1.tgz", - "integrity": "sha512-emKaqCjYAgrT35nm6PvTUKJ++2NX9qAmrcNRPRGyryG9Kc7wlkvO0bmvEdNMrr8Bih2e149WctJZFzUiM1UNwg==", - "dev": true, - "requires": { - "commander": "2.11.x", - "ws": "^7.2.0" - }, - "dependencies": { - "commander": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz", - "integrity": "sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ==", - "dev": true - } - } - }, - "chromium-pickle-js": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/chromium-pickle-js/-/chromium-pickle-js-0.2.0.tgz", - "integrity": "sha1-BKEGZywYsIWrd02YPfo+oTjyIgU=", - "dev": true - }, - "ci-info": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz", - "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==", - "dev": true - }, - "clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "dev": true - }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", - "dev": true - }, - "coffeescript": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/coffeescript/-/coffeescript-2.6.1.tgz", - "integrity": "sha512-GG5nkF93qII8HmHqnnibkgpp/SV7PSnSPiWsbinwya7nNOe95aE/x2xrKZJFks8Qpko3TNrC+/LahaKgrz5YCg==", - "dev": true - }, "color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", @@ -7745,6 +3877,12 @@ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", "dev": true }, + "colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", + "dev": true + }, "commander": { "version": "8.3.0", "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", @@ -7774,30 +3912,6 @@ } } }, - "core-js-compat": { - "version": "3.20.3", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.20.3.tgz", - "integrity": "sha512-c8M5h0IkNZ+I92QhIpuSijOxGAcj3lgpsWdkCqmUTZNwidujF4r3pi6x1DCN+Vcs5qTS2XWWMfWSuCqyupX8gw==", - "dev": true, - "requires": { - "browserslist": "^4.19.1", - "semver": "7.0.0" - }, - "dependencies": { - "semver": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", - "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", - "dev": true - } - } - }, - "core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", - "dev": true - }, "cpu-features": { "version": "0.0.2", "resolved": "https://registry.npmjs.org/cpu-features/-/cpu-features-0.0.2.tgz", @@ -7808,52 +3922,6 @@ "nan": "^2.14.1" } }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "crypto-md5": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/crypto-md5/-/crypto-md5-1.0.0.tgz", - "integrity": "sha1-zMjadQx1PH7curxUKWdHKjhOhrs=", - "dev": true - }, - "css": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/css/-/css-2.2.3.tgz", - "integrity": "sha512-0W171WccAjQGGTKLhw4m2nnl0zPHUlTO/I8td4XzJgIB8Hg3ZZx71qT4G4eX8OVsSiaAKiUMy73E3nsbPlg2DQ==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "source-map": "^0.1.38", - "source-map-resolve": "^0.5.1", - "urix": "^0.1.0" - }, - "dependencies": { - "source-map": { - "version": "0.1.43", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", - "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", - "dev": true, - "requires": { - "amdefine": ">=0.0.4" - } - } - } - }, - "cuint": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/cuint/-/cuint-0.2.2.tgz", - "integrity": "sha1-QICG1AlVDCYxFVYZ6fp7ytw7mRs=", - "dev": true - }, "debug": { "version": "4.3.3", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", @@ -7863,27 +3931,12 @@ "ms": "2.1.2" } }, - "decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", "dev": true }, - "dedent": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.4.0.tgz", - "integrity": "sha1-h979BAvUwVldljKC7FfzwqhSVkI=", - "dev": true - }, - "deep-eql": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", - "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==", - "dev": true, - "requires": { - "type-detect": "^4.0.0" - } - }, "define-properties": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", @@ -7893,79 +3946,12 @@ "object-keys": "^1.0.12" } }, - "del": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/del/-/del-3.0.0.tgz", - "integrity": "sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU=", - "dev": true, - "requires": { - "globby": "^6.1.0", - "is-path-cwd": "^1.0.0", - "is-path-in-cwd": "^1.0.0", - "p-map": "^1.1.1", - "pify": "^3.0.0", - "rimraf": "^2.2.8" - }, - "dependencies": { - "array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", - "dev": true, - "requires": { - "array-uniq": "^1.0.1" - } - }, - "globby": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", - "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", - "dev": true, - "requires": { - "array-union": "^1.0.1", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - } - } - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - } - } - }, - "device-specs": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/device-specs/-/device-specs-1.0.0.tgz", - "integrity": "sha512-fYXbFSeilT7bnKWFi4OERSPHdtaEoDGn4aUhV5Nly6/I+Tp6JZ/6Icmd7LVIF5euyodGpxz2e/bfUmDnIdSIDw==", + "diff-sequences": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", + "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", "dev": true }, - "diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "dev": true - }, - "dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "requires": { - "path-type": "^4.0.0" - } - }, "docker-modem": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/docker-modem/-/docker-modem-3.0.3.tgz", @@ -7988,33 +3974,12 @@ "tar-fs": "~2.0.1" } }, - "ecdsa-sig-formatter": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", - "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", - "dev": true, - "requires": { - "safe-buffer": "^5.0.1" - } - }, "electron-to-chromium": { "version": "1.4.49", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.49.tgz", "integrity": "sha512-k/0t1TRfonHIp8TJKfjBu2cKj8MqYTiEpOhci+q7CVEE5xnCQnx1pTa+V8b/sdhe4S3PR4p4iceEQWhGrKQORQ==", "dev": true }, - "elegant-spinner": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/elegant-spinner/-/elegant-spinner-1.0.1.tgz", - "integrity": "sha1-2wQ1IcldfjA/2PNFvtwzSc+wcp4=", - "dev": true - }, - "emittery": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.4.1.tgz", - "integrity": "sha512-r4eRSeStEGf6M5SKdrQhhLK5bOwOBxQhIE3YSTnZE3GpKiLfnnhE+tPtrJE79+eDJgm39BM6LSoI8SCx4HbwlQ==", - "dev": true - }, "end-of-stream": { "version": "1.4.4", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", @@ -8024,56 +3989,6 @@ "once": "^1.4.0" } }, - "endpoint-utils": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/endpoint-utils/-/endpoint-utils-1.0.2.tgz", - "integrity": "sha1-CAjDNppyfNeWejn/NOvJJriBRqg=", - "dev": true, - "requires": { - "ip": "^1.1.3", - "pinkie-promise": "^1.0.0" - }, - "dependencies": { - "pinkie": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-1.0.0.tgz", - "integrity": "sha1-Wkfyi6EBXQIBvae/DzWOR77Ix+Q=", - "dev": true - }, - "pinkie-promise": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-1.0.0.tgz", - "integrity": "sha1-0dpn9UglY7t89X8oauKCLs+/NnA=", - "dev": true, - "requires": { - "pinkie": "^1.0.0" - } - } - } - }, - "error-stack-parser": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-1.3.6.tgz", - "integrity": "sha1-4Oc7k+QXE40c18C3RrGkoUhUwpI=", - "dev": true, - "requires": { - "stackframe": "^0.3.1" - }, - "dependencies": { - "stackframe": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-0.3.1.tgz", - "integrity": "sha1-M6qE8Rd6VUjIk1Uzy/6zQgl19aQ=", - "dev": true - } - } - }, - "es6-promise": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", - "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==", - "dev": true - }, "escalade": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", @@ -8086,58 +4001,47 @@ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", "dev": true }, - "esotope-hammerhead": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/esotope-hammerhead/-/esotope-hammerhead-0.6.1.tgz", - "integrity": "sha512-RG4orJ1xy+zD6fTEKuDYaqCuL1ymYa1/Bp+j9c7b/u7B8yI6+Qgg8o4lT1EDAOG9eBzBtwtTWR0chqt3hr0hZw==", + "expect": { + "version": "27.2.5", + "resolved": "https://registry.npmjs.org/expect/-/expect-27.2.5.tgz", + "integrity": "sha512-ZrO0w7bo8BgGoP/bLz+HDCI+0Hfei9jUSZs5yI/Wyn9VkG9w8oJ7rHRgYj+MA7yqqFa0IwHA3flJzZtYugShJA==", "dev": true, "requires": { - "@types/estree": "0.0.46" + "@jest/types": "^27.2.5", + "ansi-styles": "^5.0.0", + "jest-get-type": "^27.0.6", + "jest-matcher-utils": "^27.2.5", + "jest-message-util": "^27.2.5", + "jest-regex-util": "^27.0.6" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + } } }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true - }, - "execa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", - "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", + "extract-zip": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", + "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", "dev": true, "requires": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" + "@types/yauzl": "^2.9.1", + "debug": "^4.1.1", + "get-stream": "^5.1.0", + "yauzl": "^2.10.0" } }, - "fast-glob": { - "version": "3.2.11", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", - "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", + "fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", "dev": true, "requires": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - } - }, - "fastq": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", - "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", - "dev": true, - "requires": { - "reusify": "^1.0.4" + "pend": "~1.2.0" } }, "fill-range": { @@ -8179,12 +4083,7 @@ "follow-redirects": { "version": "1.14.8", "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.8.tgz", - "integrity": "sha512-1x0S9UVJHsQprFcEC/qnNzBLcIxsjAV905f/UkQxbclCsoTWlacCNOpQa/anodLl2uaEKFhfWOvM2Qg77+15zA==" - }, - "fp-ts": { - "version": "2.11.8", - "resolved": "https://registry.npmjs.org/fp-ts/-/fp-ts-2.11.8.tgz", - "integrity": "sha512-WQT6rP6Jt3TxMdQB3IKzvfZKLuldumntgumLhIUhvPrukTHdWNI4JgEHY04Bd0LIOR9IQRpB+7RuxgUU0Vhmcg==", + "integrity": "sha512-1x0S9UVJHsQprFcEC/qnNzBLcIxsjAV905f/UkQxbclCsoTWlacCNOpQa/anodLl2uaEKFhfWOvM2Qg77+15zA==", "dev": true }, "fs-constants": { @@ -8193,17 +4092,6 @@ "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", "dev": true }, - "fs-extra": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz", - "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - }, "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -8222,12 +4110,6 @@ "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", "dev": true }, - "get-func-name": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", - "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=", - "dev": true - }, "get-intrinsic": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", @@ -8239,12 +4121,6 @@ "has-symbols": "^1.0.1" } }, - "get-stdin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", - "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", - "dev": true - }, "get-stream": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", @@ -8268,67 +4144,18 @@ "path-is-absolute": "^1.0.0" } }, - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "requires": { - "is-glob": "^4.0.1" - }, - "dependencies": { - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true - }, - "is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } - } - } - }, "globals": { "version": "11.12.0", "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", "dev": true }, - "globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dev": true, - "requires": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - } - }, "graceful-fs": { "version": "4.2.9", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==", "dev": true }, - "graphlib": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/graphlib/-/graphlib-2.1.8.tgz", - "integrity": "sha512-jcLLfkpoVGmH7/InMC/1hIvOPSUh38oJtGhvrOFGzioE1DZ+0YW16RgmOJhHiuWTvGiJQ9Z1Ik43JvkRPRvE+A==", - "dev": true, - "requires": { - "lodash": "^4.17.15" - } - }, "has": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", @@ -8350,50 +4177,14 @@ "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", "dev": true }, - "highlight-es": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/highlight-es/-/highlight-es-1.0.3.tgz", - "integrity": "sha512-s/SIX6yp/5S1p8aC/NRDC1fwEb+myGIfp8/TzZz0rtAv8fzsdX7vGl3Q1TrXCsczFq8DI3CBFBCySPClfBSdbg==", + "https-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", + "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", "dev": true, "requires": { - "chalk": "^2.4.0", - "is-es2016-keyword": "^1.0.0", - "js-tokens": "^3.0.0" - }, - "dependencies": { - "js-tokens": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", - "dev": true - } - } - }, - "http-cache-semantics": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", - "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==", - "dev": true - }, - "human-signals": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", - "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", - "dev": true - }, - "humanize-duration": { - "version": "3.27.1", - "resolved": "https://registry.npmjs.org/humanize-duration/-/humanize-duration-3.27.1.tgz", - "integrity": "sha512-jCVkMl+EaM80rrMrAPl96SGG4NRac53UyI1o/yAzebDntEY6K6/Fj2HOjdPg8omTqIe5Y0wPBai2q5xXrIbarA==", - "dev": true - }, - "iconv-lite": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.5.1.tgz", - "integrity": "sha512-ONHr16SQvKZNSqjQT9gy5z24Jw+uqfO02/ngBSBoqChZ+W8qXX7GPRa1RoUnzGADw8K63R1BXUMzarCVQBpY8Q==", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" + "agent-base": "6", + "debug": "4" } }, "ieee754": { @@ -8402,29 +4193,6 @@ "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", "dev": true }, - "ignore": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", - "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", - "dev": true - }, - "import-lazy": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-3.1.0.tgz", - "integrity": "sha512-8/gvXvX2JMn0F+CDlSC4l6kOmVaLOO3XLkksI7CI3Ud95KDYJuYur2b9P/PUt/i/pDAMd/DulQsNbbbmRRsDIQ==", - "dev": true - }, - "indent-string": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-1.2.2.tgz", - "integrity": "sha1-25m8xYPrarux5I3LsZmamGBBy2s=", - "dev": true, - "requires": { - "get-stdin": "^4.0.1", - "minimist": "^1.1.0", - "repeating": "^1.1.0" - } - }, "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -8441,35 +4209,12 @@ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true }, - "io-ts": { - "version": "2.2.16", - "resolved": "https://registry.npmjs.org/io-ts/-/io-ts-2.2.16.tgz", - "integrity": "sha512-y5TTSa6VP6le0hhmIyN0dqEXkrZeJLeC5KApJq6VLci3UEKF80lZ+KuoUs02RhBxNWlrqSNxzfI7otLX1Euv8Q==", - "dev": true, - "requires": {} - }, - "io-ts-types": { - "version": "0.5.16", - "resolved": "https://registry.npmjs.org/io-ts-types/-/io-ts-types-0.5.16.tgz", - "integrity": "sha512-h9noYVfY9rlbmKI902SJdnV/06jgiT2chxG6lYDxaYNp88HscPi+SBCtmcU+m0E7WT5QSwt7sIMj93+qu0FEwQ==", - "dev": true, - "requires": {} - }, "ip": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", "dev": true }, - "is-ci": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz", - "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==", - "dev": true, - "requires": { - "ci-info": "^1.5.0" - } - }, "is-core-module": { "version": "2.8.1", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz", @@ -8485,112 +4230,233 @@ "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", "dev": true }, - "is-es2016-keyword": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-es2016-keyword/-/is-es2016-keyword-1.0.0.tgz", - "integrity": "sha1-9uVOEQxeT40mXmnS7Q6vjPX0dxg=", - "dev": true - }, - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", - "dev": true - }, - "is-finite": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", - "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", - "dev": true, - "requires": { - "is-extglob": "^1.0.0" - } - }, - "is-jquery-obj": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-jquery-obj/-/is-jquery-obj-0.1.1.tgz", - "integrity": "sha512-18toSebUVF7y717dgw/Dzn6djOCqrkiDp3MhB8P6TdKyCVkbD1ZwE7Uz8Hwx6hUPTvKjbyYH9ncXT4ts4qLaSA==", - "dev": true - }, "is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true }, - "is-path-cwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", - "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=", - "dev": true - }, - "is-path-in-cwd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz", - "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", + "is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", "dev": true, "requires": { - "is-path-inside": "^1.0.0" + "is-docker": "^2.0.0" } }, - "is-path-inside": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", - "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", + "jest-diff": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", + "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", "dev": true, "requires": { - "path-is-inside": "^1.0.1" + "chalk": "^4.0.0", + "diff-sequences": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } } }, - "is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", "dev": true }, - "is-utf8": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", - "dev": true - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true - }, - "isomorphic-fetch": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-3.0.0.tgz", - "integrity": "sha512-qvUtwJ3j6qwsF3jLxkZ72qCgjMysPzDfeV240JHiGZsANBYd+EEuu35v7dfrJ9Up0Ak07D7GGSkGhCHTqg/5wA==", + "jest-matcher-utils": { + "version": "27.2.5", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.2.5.tgz", + "integrity": "sha512-qNR/kh6bz0Dyv3m68Ck2g1fLW5KlSOUNcFQh87VXHZwWc/gY6XwnKofx76Qytz3x5LDWT09/2+yXndTkaG4aWg==", "dev": true, "requires": { - "node-fetch": "^2.6.1", - "whatwg-fetch": "^3.4.1" + "chalk": "^4.0.0", + "jest-diff": "^27.2.5", + "jest-get-type": "^27.0.6", + "pretty-format": "^27.2.5" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } } }, + "jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-regex-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", + "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", + "dev": true + }, + "jpeg-js": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.4.3.tgz", + "integrity": "sha512-ru1HWKek8octvUHFHvE5ZzQ1yAsJmIvRdGWvSoKV52XKyuyYA437QWDttXT8eZXDSbuMpHlLzPDZUPd6idIz+Q==", + "dev": true + }, "js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -8612,64 +4478,6 @@ "minimist": "^1.2.5" } }, - "jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^2.0.0" - } - }, - "jsonwebtoken": { - "version": "8.5.1", - "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz", - "integrity": "sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==", - "dev": true, - "requires": { - "jws": "^3.2.2", - "lodash.includes": "^4.3.0", - "lodash.isboolean": "^3.0.3", - "lodash.isinteger": "^4.0.4", - "lodash.isnumber": "^3.0.3", - "lodash.isplainobject": "^4.0.6", - "lodash.isstring": "^4.0.1", - "lodash.once": "^4.0.0", - "ms": "^2.1.1", - "semver": "^5.6.0" - } - }, - "jwa": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", - "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", - "dev": true, - "requires": { - "buffer-equal-constant-time": "1.0.1", - "ecdsa-sig-formatter": "1.0.11", - "safe-buffer": "^5.0.1" - } - }, - "jws": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", - "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", - "dev": true, - "requires": { - "jwa": "^1.4.1", - "safe-buffer": "^5.0.1" - } - }, - "linux-platform-info": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/linux-platform-info/-/linux-platform-info-0.0.3.tgz", - "integrity": "sha1-La4yQ4Xmbj11W+yD+Gx77qYc64M=", - "dev": true, - "requires": { - "os-family": "^1.0.0" - } - }, "locate-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", @@ -8680,133 +4488,6 @@ "path-exists": "^3.0.0" } }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true - }, - "lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", - "dev": true - }, - "lodash.includes": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", - "integrity": "sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8=", - "dev": true - }, - "lodash.isboolean": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", - "integrity": "sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=", - "dev": true - }, - "lodash.isinteger": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", - "integrity": "sha1-YZwK89A/iwTDH1iChAt3sRzWg0M=", - "dev": true - }, - "lodash.isnumber": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", - "integrity": "sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w=", - "dev": true - }, - "lodash.isplainobject": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=", - "dev": true - }, - "lodash.isstring": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", - "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=", - "dev": true - }, - "lodash.once": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", - "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=", - "dev": true - }, - "log-update-async-hook": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/log-update-async-hook/-/log-update-async-hook-2.0.2.tgz", - "integrity": "sha512-HQwkKFTZeUOrDi1Duf2CSUa/pSpcaCHKLdx3D/Z16DsipzByOBffcg5y0JZA1q0n80dYgLXe2hFM9JGNgBsTDw==", - "dev": true, - "requires": { - "ansi-escapes": "^2.0.0", - "async-exit-hook": "^1.1.2", - "onetime": "^2.0.1", - "wrap-ansi": "^2.1.0" - }, - "dependencies": { - "mimic-fn": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", - "dev": true - }, - "onetime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", - "dev": true, - "requires": { - "mimic-fn": "^1.0.0" - } - } - } - }, - "lru-cache": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.6.3.tgz", - "integrity": "sha1-UczQtPwMhDWH16VwnOTTt2Kb7cU=", - "dev": true - }, - "make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "requires": { - "semver": "^6.0.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "match-url-wildcard": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/match-url-wildcard/-/match-url-wildcard-0.0.4.tgz", - "integrity": "sha512-R1XhQaamUZPWLOPtp4ig5j+3jctN+skhgRmEQTUamMzmNtRG69QEirQs0NZKLtHMR7tzWpmtnS4Eqv65DcgXUA==", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.5" - } - }, - "merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, - "merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true - }, "micromatch": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", @@ -8817,24 +4498,6 @@ "picomatch": "^2.2.3" } }, - "mime": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", - "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==", - "dev": true - }, - "mime-db": { - "version": "1.51.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz", - "integrity": "sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==", - "dev": true - }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true - }, "minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", @@ -8850,52 +4513,18 @@ "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", "dev": true }, - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - }, "mkdirp-classic": { "version": "0.5.3", "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", "dev": true }, - "moment": { - "version": "2.29.1", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz", - "integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==", - "dev": true - }, - "moment-duration-format-commonjs": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/moment-duration-format-commonjs/-/moment-duration-format-commonjs-1.0.1.tgz", - "integrity": "sha512-KhKZRH21/+ihNRWrmdNFOyBptFi7nAWZFeFsRRpXkzgk/Yublb4fxyP0jU6EY1VDxUL/VUPdCmm/wAnpbfXdfw==", - "dev": true - }, - "monocle-ts": { - "version": "2.3.12", - "resolved": "https://registry.npmjs.org/monocle-ts/-/monocle-ts-2.3.12.tgz", - "integrity": "sha512-mf753m69aRNApcL2KCKfLRwfWbraeqQfRRgm3a8D+5lvkhCcMtVp8/vnM04Cmhsd6YXJeInMeQFFETrd7jWYww==", - "dev": true, - "requires": {} - }, "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, - "mustache": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/mustache/-/mustache-2.3.2.tgz", - "integrity": "sha512-KpMNwdQsYz3O/SBS1qJ/o3sqUJ5wSb8gb0pul8CO0S56b9Y2ALm8zCfsjPXsqGFfoNBkDwZuZIAjhsZI03gYVQ==", - "dev": true - }, "nan": { "version": "2.15.0", "resolved": "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz", @@ -8903,55 +4532,12 @@ "dev": true, "optional": true }, - "nanoid": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-1.3.4.tgz", - "integrity": "sha512-4ug4BsuHxiVHoRUe1ud6rUFT3WUMmjXt1W0quL0CviZQANdan7D8kqN5/maw53hmAApY/jfzMRkC57BNNs60ZQ==", - "dev": true - }, - "newtype-ts": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/newtype-ts/-/newtype-ts-0.3.5.tgz", - "integrity": "sha512-v83UEQMlVR75yf1OUdoSFssjitxzjZlqBAjiGQ4WJaML8Jdc68LJ+BaSAXUmKY4bNzp7hygkKLYTsDi14PxI2g==", - "dev": true, - "requires": {} - }, - "node-fetch": { - "version": "2.6.7", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", - "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", - "dev": true, - "requires": { - "whatwg-url": "^5.0.0" - } - }, "node-releases": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.1.tgz", "integrity": "sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==", "dev": true }, - "npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "dev": true, - "requires": { - "path-key": "^3.0.0" - } - }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "dev": true - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true - }, "object-keys": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", @@ -8979,33 +4565,17 @@ "wrappy": "1" } }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "open": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.0.tgz", + "integrity": "sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==", "dev": true, "requires": { - "mimic-fn": "^2.1.0" + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" } }, - "os-family": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/os-family/-/os-family-1.1.0.tgz", - "integrity": "sha512-E3Orl5pvDJXnVmpaAA2TeNNpNhTMl4o5HghuWhOivBjEiTnJSrMYSa5uZMek1lBEvu8kKEsa2YgVcGFVDqX/9w==", - "dev": true - }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "dev": true - }, - "p-finally": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz", - "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==", - "dev": true - }, "p-limit": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", @@ -9024,24 +4594,12 @@ "p-limit": "^2.0.0" } }, - "p-map": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz", - "integrity": "sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==", - "dev": true - }, "p-try": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true }, - "parse5": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-1.5.1.tgz", - "integrity": "sha1-m387DeMr543CQBsXVzzK8Pb1nZQ=", - "dev": true - }, "path-exists": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", @@ -9054,34 +4612,16 @@ "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", "dev": true }, - "path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", - "dev": true - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true - }, "path-parse": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, - "path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true - }, - "pathval": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", - "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", + "pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", "dev": true }, "picocolors": { @@ -9096,25 +4636,27 @@ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "pirates": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.4.tgz", + "integrity": "sha512-ZIrVPH+A52Dw84R0L3/VS9Op04PuQ2SEoJL6bkshmiTic/HldyW9Tf7oH5mhJZBK7NmDx27vSMrYEXPXclpDKw==", "dev": true }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", - "dev": true - }, - "pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "pixelmatch": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/pixelmatch/-/pixelmatch-5.2.1.tgz", + "integrity": "sha512-WjcAdYSnKrrdDdqTcVEY7aB7UhhwjYQKYhHiBXdJef0MOaQeYpUdQ+iVyBLa5YBKS8MPVPPMX7rpOByISLpeEQ==", "dev": true, "requires": { - "pinkie": "^2.0.0" + "pngjs": "^4.0.1" + }, + "dependencies": { + "pngjs": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-4.0.1.tgz", + "integrity": "sha512-rf5+2/ioHeQxR6IxuYNYGFytUyG3lma/WW1nsmjeHlWwtb2aByla6dkVc8pmJ9nplzkTA0q2xx7mMWrOTqT4Gg==", + "dev": true + } } }, "pkg-up": { @@ -9126,33 +4668,108 @@ "find-up": "^3.0.0" } }, - "pngjs": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-3.4.0.tgz", - "integrity": "sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==", - "dev": true - }, - "pretty-hrtime": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", - "integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=", - "dev": true - }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true - }, - "promisify-event": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/promisify-event/-/promisify-event-1.0.0.tgz", - "integrity": "sha1-vXUj6ga3AWLzcJeQFrU6aGxg6Q8=", + "playwright-core": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.19.1.tgz", + "integrity": "sha512-+ByjhWX39PlINVRXr4ef9Kle85mk5QzA2WLioCoMQc3bSUtZpLV1mbeUDtRp/bvFw6YDIEyptj4QvzzRTXN3vg==", "dev": true, "requires": { - "pinkie-promise": "^2.0.0" + "commander": "8.3.0", + "debug": "4.3.3", + "extract-zip": "2.0.1", + "https-proxy-agent": "5.0.0", + "jpeg-js": "0.4.3", + "mime": "3.0.0", + "pngjs": "6.0.0", + "progress": "2.0.3", + "proper-lockfile": "4.1.2", + "proxy-from-env": "1.1.0", + "rimraf": "3.0.2", + "socks-proxy-agent": "6.1.1", + "stack-utils": "2.0.5", + "ws": "8.4.2", + "yauzl": "2.10.0", + "yazl": "2.5.1" + }, + "dependencies": { + "mime": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", + "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==", + "dev": true + }, + "pngjs": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-6.0.0.tgz", + "integrity": "sha512-TRzzuFRRmEoSW/p1KVAmiOgPco2Irlah+bGFCeNfJXxxYGwSw7YwAOAcd7X28K/m5bjBWKsC29KyoMfHbypayg==", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "ws": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.4.2.tgz", + "integrity": "sha512-Kbk4Nxyq7/ZWqr/tarI9yIt/+iNNFOjBXEWgTb4ydaNHBNGgvf2QHbS9fdfsndfjFlFwEd4Al+mw83YkaD10ZA==", + "dev": true, + "requires": {} + } } }, + "pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + } + } + }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true + }, + "proper-lockfile": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/proper-lockfile/-/proper-lockfile-4.1.2.tgz", + "integrity": "sha512-TjNPblN4BwAWMXU8s9AEz4JmQxnD1NNL7bNOY/AKUzyamc379FWASUhc/K1pL2noVb+XmZKLL68cjzLsiOAMaA==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.4", + "retry": "^0.12.0", + "signal-exit": "^3.0.2" + } + }, + "proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "dev": true + }, "pump": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", @@ -9163,33 +4780,12 @@ "once": "^1.3.1" } }, - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", "dev": true }, - "qrcode-terminal": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/qrcode-terminal/-/qrcode-terminal-0.10.0.tgz", - "integrity": "sha1-p2pI4mEKGPl/o6K9UytoKs/4bFM=", - "dev": true - }, - "queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true - }, - "read-file-relative": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/read-file-relative/-/read-file-relative-1.2.0.tgz", - "integrity": "sha1-mPfZbqoh0rTHov69Y9L8jPNen5s=", - "dev": true, - "requires": { - "callsite": "^1.0.0" - } - }, "readable-stream": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", @@ -9201,88 +4797,6 @@ "util-deprecate": "^1.0.1" } }, - "regenerate": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", - "dev": true - }, - "regenerate-unicode-properties": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-9.0.0.tgz", - "integrity": "sha512-3E12UeNSPfjrgwjkR81m5J7Aw/T55Tu7nUyZVQYCKEOs+2dkxEY+DpPtZzO4YruuiPb7NkYLVcyJC4+zCbk5pA==", - "dev": true, - "requires": { - "regenerate": "^1.4.2" - } - }, - "regenerator-runtime": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", - "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==", - "dev": true - }, - "regenerator-transform": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz", - "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==", - "dev": true, - "requires": { - "@babel/runtime": "^7.8.4" - } - }, - "regexpu-core": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.8.0.tgz", - "integrity": "sha512-1F6bYsoYiz6is+oz70NWur2Vlh9KWtswuRuzJOfeYUrfPX2o8n74AnUVaOGDbUqVGO9fNHu48/pjJO4sNVwsOg==", - "dev": true, - "requires": { - "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^9.0.0", - "regjsgen": "^0.5.2", - "regjsparser": "^0.7.0", - "unicode-match-property-ecmascript": "^2.0.0", - "unicode-match-property-value-ecmascript": "^2.0.0" - } - }, - "regjsgen": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", - "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==", - "dev": true - }, - "regjsparser": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.7.0.tgz", - "integrity": "sha512-A4pcaORqmNMDVwUjWoTzuhwMGpP+NykpfqAsEgI1FSH/EzC7lrN5TMd+kN8YCovX+jMpu8eaqXgXPCa0g8FQNQ==", - "dev": true, - "requires": { - "jsesc": "~0.5.0" - }, - "dependencies": { - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", - "dev": true - } - } - }, - "repeating": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/repeating/-/repeating-1.1.3.tgz", - "integrity": "sha1-PUEUIYh3U3SU+X93+Xhfq4EPpKw=", - "dev": true, - "requires": { - "is-finite": "^1.0.0" - } - }, - "replicator": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/replicator/-/replicator-1.0.5.tgz", - "integrity": "sha512-saxS4y7NFkLMa92BR4bPHR41GD+f/qoDAwD2xZmN+MpDXgibkxwLO2qk7dCHYtskSkd/bWS8Jy6kC5MZUkg1tw==", - "dev": true - }, "reselect": { "version": "4.1.5", "resolved": "https://registry.npmjs.org/reselect/-/reselect-4.1.5.tgz", @@ -9300,59 +4814,12 @@ "supports-preserve-symlinks-flag": "^1.0.0" } }, - "resolve-cwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-1.0.0.tgz", - "integrity": "sha1-Tq7qQe0EDRcCRX32SkKysH0kb58=", - "dev": true, - "requires": { - "resolve-from": "^2.0.0" - }, - "dependencies": { - "resolve-from": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-2.0.0.tgz", - "integrity": "sha1-lICrIOlP+h2egKgEx+oUdhGWa1c=", - "dev": true - } - } - }, - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", "dev": true }, - "resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", - "dev": true - }, - "reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "requires": { - "queue-microtask": "^1.2.2" - } - }, "safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", @@ -9365,36 +4832,6 @@ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "dev": true }, - "sanitize-filename": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/sanitize-filename/-/sanitize-filename-1.6.3.tgz", - "integrity": "sha512-y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg==", - "dev": true, - "requires": { - "truncate-utf8-bytes": "^1.0.0" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true - }, "signal-exit": { "version": "3.0.6", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.6.tgz", @@ -9407,49 +4844,39 @@ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true }, + "smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "dev": true + }, + "socks": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.6.2.tgz", + "integrity": "sha512-zDZhHhZRY9PxRruRMR7kMhnf3I8hDs4S3f9RecfnGxvcBHQcKcIH/oUcEWffsfl1XxdYlA7nnlGbbTvPz9D8gA==", + "dev": true, + "requires": { + "ip": "^1.1.5", + "smart-buffer": "^4.2.0" + } + }, + "socks-proxy-agent": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.1.1.tgz", + "integrity": "sha512-t8J0kG3csjA4g6FTbsMOWws+7R7vuRC8aQ/wy3/1OWmsgwA68zs/+cExQ0koSitUDXqhufF/YJr9wtNMZHw5Ew==", + "dev": true, + "requires": { + "agent-base": "^6.0.2", + "debug": "^4.3.1", + "socks": "^2.6.1" + } + }, "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true }, - "source-map-resolve": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", - "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", - "dev": true, - "requires": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" - } - }, - "source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "source-map-url": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", - "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", - "dev": true - }, "split-ca": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/split-ca/-/split-ca-1.0.1.tgz", @@ -9468,11 +4895,22 @@ "nan": "^2.15.0" } }, - "stackframe": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.2.0.tgz", - "integrity": "sha512-GrdeshiRmS1YLMYgzF16olf2jJ/IzxXY9lhKOskuVziubpTYcYqyOwYeJKzQkwy7uN0fYSsbsC4RQaXf9LCrYA==", - "dev": true + "stack-utils": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz", + "integrity": "sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==", + "dev": true, + "requires": { + "escape-string-regexp": "^2.0.0" + }, + "dependencies": { + "escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true + } + } }, "string_decoder": { "version": "1.3.0", @@ -9483,41 +4921,6 @@ "safe-buffer": "~5.2.0" } }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "dev": true, - "requires": { - "is-utf8": "^0.2.0" - } - }, - "strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "dev": true - }, "supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", @@ -9558,472 +4961,6 @@ "readable-stream": "^3.1.1" } }, - "testcafe": { - "version": "1.18.2", - "resolved": "https://registry.npmjs.org/testcafe/-/testcafe-1.18.2.tgz", - "integrity": "sha512-A9cPNtf4v4gacvaGX5mBmT6ctCmXmYQxYJ51TOSRfnApxVcfjuLSwZNC3p49G/6zuVhe6Xh/pwQJt7iZOdLcaQ==", - "dev": true, - "requires": { - "@babel/core": "^7.12.1", - "@babel/plugin-proposal-async-generator-functions": "^7.12.1", - "@babel/plugin-proposal-class-properties": "^7.12.1", - "@babel/plugin-proposal-decorators": "^7.12.1", - "@babel/plugin-proposal-object-rest-spread": "^7.12.1", - "@babel/plugin-proposal-private-methods": "^7.14.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-syntax-import-meta": "^7.10.4", - "@babel/plugin-transform-async-to-generator": "^7.12.1", - "@babel/plugin-transform-exponentiation-operator": "^7.12.1", - "@babel/plugin-transform-for-of": "^7.12.1", - "@babel/plugin-transform-runtime": "^7.12.1", - "@babel/preset-env": "^7.12.1", - "@babel/preset-flow": "^7.12.1", - "@babel/preset-react": "^7.12.1", - "@babel/runtime": "^7.12.5", - "@miherlosev/esm": "3.2.26", - "@types/node": "^12.20.10", - "async-exit-hook": "^1.1.2", - "babel-plugin-module-resolver": "^4.0.0", - "babel-plugin-syntax-trailing-function-commas": "^6.22.0", - "bin-v8-flags-filter": "^1.1.2", - "bowser": "^2.8.1", - "callsite": "^1.0.0", - "callsite-record": "^4.0.0", - "chai": "^4.1.2", - "chalk": "^2.3.0", - "chrome-remote-interface": "^0.30.0", - "coffeescript": "^2.3.1", - "commander": "^8.0.0", - "debug": "^4.3.1", - "dedent": "^0.4.0", - "del": "^3.0.0", - "device-specs": "^1.0.0", - "diff": "^4.0.2", - "elegant-spinner": "^1.0.1", - "emittery": "^0.4.1", - "endpoint-utils": "^1.0.2", - "error-stack-parser": "^1.3.6", - "execa": "^4.0.3", - "globby": "^11.0.4", - "graceful-fs": "^4.1.11", - "graphlib": "^2.1.5", - "humanize-duration": "^3.25.0", - "import-lazy": "^3.1.0", - "indent-string": "^1.2.2", - "is-ci": "^1.0.10", - "is-docker": "^2.0.0", - "is-glob": "^2.0.1", - "is-stream": "^2.0.0", - "json5": "^2.1.0", - "lodash": "^4.17.13", - "log-update-async-hook": "^2.0.2", - "make-dir": "^3.0.0", - "mime-db": "^1.41.0", - "moment": "^2.10.3", - "moment-duration-format-commonjs": "^1.0.0", - "mustache": "^2.1.2", - "nanoid": "^1.0.1", - "os-family": "^1.0.0", - "parse5": "^1.5.0", - "pify": "^2.3.0", - "pinkie": "^2.0.4", - "pngjs": "^3.3.1", - "pretty-hrtime": "^1.0.3", - "promisify-event": "^1.0.0", - "qrcode-terminal": "^0.10.0", - "read-file-relative": "^1.2.0", - "replicator": "^1.0.5", - "resolve-cwd": "^1.0.0", - "resolve-from": "^4.0.0", - "sanitize-filename": "^1.6.0", - "semver": "^5.6.0", - "source-map-support": "^0.5.16", - "strip-bom": "^2.0.0", - "testcafe-browser-tools": "2.0.21", - "testcafe-hammerhead": "24.5.13", - "testcafe-legacy-api": "5.1.2", - "testcafe-reporter-dashboard": "0.2.5", - "testcafe-reporter-json": "^2.1.0", - "testcafe-reporter-list": "^2.1.0", - "testcafe-reporter-minimal": "^2.1.0", - "testcafe-reporter-spec": "^2.1.1", - "testcafe-reporter-xunit": "^2.2.1", - "time-limit-promise": "^1.0.2", - "tmp": "0.0.28", - "tree-kill": "^1.2.2", - "typescript": "^3.3.3", - "unquote": "^1.1.1" - }, - "dependencies": { - "@types/node": { - "version": "12.20.42", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.42.tgz", - "integrity": "sha512-aI3/oo5DzyiI5R/xAhxxRzfZlWlsbbqdgxfTPkqu/Zt+23GXiJvMCyPJT4+xKSXOnLqoL8jJYMLTwvK2M3a5hw==", - "dev": true - } - } - }, - "testcafe-browser-tools": { - "version": "2.0.21", - "resolved": "https://registry.npmjs.org/testcafe-browser-tools/-/testcafe-browser-tools-2.0.21.tgz", - "integrity": "sha512-dsaUgUY4i/VLKSexh0w8ZyvDGWd3+LfoEysN/nFCUufseiwGvvbBpsNSAV7XZN12GpExG3mCilaQDuJNBKs4CQ==", - "dev": true, - "requires": { - "array-find": "^1.0.0", - "debug": "^4.3.1", - "dedent": "^0.7.0", - "del": "^5.1.0", - "execa": "^3.3.0", - "fs-extra": "^10.0.0", - "graceful-fs": "^4.1.11", - "linux-platform-info": "^0.0.3", - "lodash": "^4.17.15", - "mkdirp": "^0.5.1", - "mustache": "^2.1.2", - "nanoid": "^2.1.3", - "os-family": "^1.0.0", - "pify": "^2.3.0", - "pinkie": "^2.0.1", - "read-file-relative": "^1.2.0", - "which-promise": "^1.0.0" - }, - "dependencies": { - "dedent": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", - "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=", - "dev": true - }, - "del": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/del/-/del-5.1.0.tgz", - "integrity": "sha512-wH9xOVHnczo9jN2IW68BabcecVPxacIA3g/7z6vhSU/4stOKQzeCRK0yD0A24WiAAUJmmVpWqrERcTxnLo3AnA==", - "dev": true, - "requires": { - "globby": "^10.0.1", - "graceful-fs": "^4.2.2", - "is-glob": "^4.0.1", - "is-path-cwd": "^2.2.0", - "is-path-inside": "^3.0.1", - "p-map": "^3.0.0", - "rimraf": "^3.0.0", - "slash": "^3.0.0" - } - }, - "execa": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-3.4.0.tgz", - "integrity": "sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==", - "dev": true, - "requires": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "p-finally": "^2.0.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" - } - }, - "globby": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz", - "integrity": "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==", - "dev": true, - "requires": { - "@types/glob": "^7.1.1", - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.0.3", - "glob": "^7.1.3", - "ignore": "^5.1.1", - "merge2": "^1.2.3", - "slash": "^3.0.0" - } - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true - }, - "is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-path-cwd": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", - "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", - "dev": true - }, - "is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true - }, - "nanoid": { - "version": "2.1.11", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-2.1.11.tgz", - "integrity": "sha512-s/snB+WGm6uwi0WjsZdaVcuf3KJXlfGl2LcxgwkEwJF0D/BWzVWAZW/XY4bFaiR7s0Jk3FPvlnepg1H1b1UwlA==", - "dev": true - }, - "p-map": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", - "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", - "dev": true, - "requires": { - "aggregate-error": "^3.0.0" - } - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - } - } - }, - "testcafe-hammerhead": { - "version": "24.5.13", - "resolved": "https://registry.npmjs.org/testcafe-hammerhead/-/testcafe-hammerhead-24.5.13.tgz", - "integrity": "sha512-81P9to2pXBCOy+jnyEaPcjrfKk3wOv7JmZSX3KQp0MxF12X9u6Tg0JEeTMYvnEfCeNhLRYDipAZvI+t9nfx0KA==", - "dev": true, - "requires": { - "acorn-hammerhead": "0.5.0", - "asar": "^2.0.1", - "bowser": "1.6.0", - "brotli": "^1.3.1", - "crypto-md5": "^1.0.0", - "css": "2.2.3", - "debug": "4.3.1", - "esotope-hammerhead": "0.6.1", - "http-cache-semantics": "^4.1.0", - "iconv-lite": "0.5.1", - "lodash": "^4.17.20", - "lru-cache": "2.6.3", - "match-url-wildcard": "0.0.4", - "merge-stream": "^1.0.1", - "mime": "~1.4.1", - "mustache": "^2.1.1", - "nanoid": "^3.1.12", - "os-family": "^1.0.0", - "parse5": "2.2.3", - "pinkie": "2.0.4", - "read-file-relative": "^1.2.0", - "semver": "5.5.0", - "tough-cookie": "2.3.3", - "tunnel-agent": "0.6.0", - "webauth": "^1.1.0" - }, - "dependencies": { - "bowser": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/bowser/-/bowser-1.6.0.tgz", - "integrity": "sha1-N/w4e2Fstq7zcNq01r1AK3TFxU0=", - "dev": true - }, - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "merge-stream": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.1.tgz", - "integrity": "sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE=", - "dev": true, - "requires": { - "readable-stream": "^2.0.1" - } - }, - "nanoid": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.2.0.tgz", - "integrity": "sha512-fmsZYa9lpn69Ad5eDn7FMcnnSR+8R34W9qJEijxYhTbfOWzr22n1QxCMzXLK+ODyW2973V3Fux959iQoUxzUIA==", - "dev": true - }, - "parse5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-2.2.3.tgz", - "integrity": "sha1-DE/EHBAAxea5PUiwP4CDg3g06fY=", - "dev": true - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "semver": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", - "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", - "dev": true - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "testcafe-legacy-api": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/testcafe-legacy-api/-/testcafe-legacy-api-5.1.2.tgz", - "integrity": "sha512-vc9A4rFUdijlBFnNOVMk0hFfxnrAmtA7FMz1P/LtvNyui5JfkLmbyIQcJbxR2rjTINp0owZ2c+xQvYms/us7Fw==", - "dev": true, - "requires": { - "async": "0.2.6", - "dedent": "^0.6.0", - "highlight-es": "^1.0.0", - "is-jquery-obj": "^0.1.0", - "lodash": "^4.14.0", - "moment": "^2.14.1", - "mustache": "^2.2.1", - "os-family": "^1.0.0", - "parse5": "^2.1.5", - "pify": "^2.3.0", - "pinkie": "^2.0.1", - "read-file-relative": "^1.2.0", - "strip-bom": "^2.0.0", - "testcafe-hammerhead": ">=19.4.0" - }, - "dependencies": { - "dedent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.6.0.tgz", - "integrity": "sha1-Dm2o8M5Sg471zsXI+TlrDBtko8s=", - "dev": true - }, - "parse5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-2.2.3.tgz", - "integrity": "sha1-DE/EHBAAxea5PUiwP4CDg3g06fY=", - "dev": true - } - } - }, - "testcafe-reporter-dashboard": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/testcafe-reporter-dashboard/-/testcafe-reporter-dashboard-0.2.5.tgz", - "integrity": "sha512-vbK8XrpbcFAEgnfWJOfqAnlmj/wt5pXXER/OSYI9RzSw+uwu8voLWbKcUAcnjltk0AM4c0wvI0DhjKmops2y2Q==", - "dev": true, - "requires": { - "es6-promise": "^4.2.8", - "fp-ts": "^2.9.5", - "io-ts": "^2.2.14", - "io-ts-types": "^0.5.15", - "isomorphic-fetch": "^3.0.0", - "jsonwebtoken": "^8.5.1", - "monocle-ts": "^2.3.5", - "newtype-ts": "^0.3.4", - "semver": "^5.6.0", - "uuid": "3.3.3" - } - }, - "testcafe-reporter-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/testcafe-reporter-json/-/testcafe-reporter-json-2.2.0.tgz", - "integrity": "sha512-wfpNaZgGP2WoqdmnIXOyxcpwSzdH1HvzXSN397lJkXOrQrwhuGUThPDvyzPnZqxZSzXdDUvIPJm55tCMWbfymQ==", - "dev": true - }, - "testcafe-reporter-list": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/testcafe-reporter-list/-/testcafe-reporter-list-2.1.0.tgz", - "integrity": "sha1-n6ifcbl9Pf5ktDAtXiJ97mmuxrk=", - "dev": true - }, - "testcafe-reporter-minimal": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/testcafe-reporter-minimal/-/testcafe-reporter-minimal-2.1.0.tgz", - "integrity": "sha1-Z28DVHY0FDxurzq1KGgnOkvr9CE=", - "dev": true - }, - "testcafe-reporter-spec": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/testcafe-reporter-spec/-/testcafe-reporter-spec-2.1.1.tgz", - "integrity": "sha1-gVb87Q9RMkhlWa1WC8gGdkaSdew=", - "dev": true - }, - "testcafe-reporter-xunit": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/testcafe-reporter-xunit/-/testcafe-reporter-xunit-2.2.1.tgz", - "integrity": "sha512-ge1msi8RyNVyK0QrsmC79zedV7jHasKpBPeOUZd/ORpbYLeYDnprjIeOuIukw0knnTieeYsOK29/ZD+UI7/tdw==", - "dev": true - }, - "time-limit-promise": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/time-limit-promise/-/time-limit-promise-1.0.4.tgz", - "integrity": "sha512-FLHDDsIDducw7MBcRWlFtW2Tm50DoKOSFf0Nzx17qwXj8REXCte0eUkHrJl9QU3Bl9arG3XNYX0PcHpZ9xyuLw==", - "dev": true - }, - "tmp": { - "version": "0.0.28", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.28.tgz", - "integrity": "sha1-Fyc1t/YU6nrzlmT6hM8N5OUV0SA=", - "dev": true, - "requires": { - "os-tmpdir": "~1.0.1" - } - }, - "tmp-promise": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/tmp-promise/-/tmp-promise-1.1.0.tgz", - "integrity": "sha512-8+Ah9aB1IRXCnIOxXZ0uFozV1nMU5xiu7hhFVUSxZ3bYu+psD4TzagCzVbexUCgNNGJnsmNDQlS4nG3mTyoNkw==", - "dev": true, - "requires": { - "bluebird": "^3.5.0", - "tmp": "0.1.0" - }, - "dependencies": { - "tmp": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.1.0.tgz", - "integrity": "sha512-J7Z2K08jbGcdA1kkQpJSqLF6T0tdQqpR2pnSUXsIchbPdTI9v3e85cLW0d6WDhwuAleOV71j2xWs8qMPfK7nKw==", - "dev": true, - "requires": { - "rimraf": "^2.6.3" - } - } - } - }, "to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", @@ -10039,223 +4976,42 @@ "is-number": "^7.0.0" } }, - "tough-cookie": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.3.tgz", - "integrity": "sha1-C2GKVWW23qkL80JdBNVe3EdadWE=", - "dev": true, - "requires": { - "punycode": "^1.4.1" - } - }, - "tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=", - "dev": true - }, - "tree-kill": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", - "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", - "dev": true - }, - "truncate-utf8-bytes": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz", - "integrity": "sha1-QFkjkJWS1W94pYGENLC3hInKXys=", - "dev": true, - "requires": { - "utf8-byte-length": "^1.0.1" - } - }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "dev": true, - "requires": { - "safe-buffer": "^5.0.1" - } - }, "tweetnacl": { "version": "0.14.5", "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", "dev": true }, - "type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "dev": true - }, - "typescript": { - "version": "3.9.10", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.10.tgz", - "integrity": "sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q==", - "dev": true - }, - "unicode-canonical-property-names-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", - "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", - "dev": true - }, - "unicode-match-property-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", - "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", - "dev": true, - "requires": { - "unicode-canonical-property-names-ecmascript": "^2.0.0", - "unicode-property-aliases-ecmascript": "^2.0.0" - } - }, - "unicode-match-property-value-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz", - "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==", - "dev": true - }, - "unicode-property-aliases-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz", - "integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==", - "dev": true - }, - "universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true - }, - "unquote": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", - "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=", - "dev": true - }, - "urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", - "dev": true - }, - "utf8-byte-length": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz", - "integrity": "sha1-9F8VDExm7uloGGUFq5P8u4rWv2E=", - "dev": true - }, "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", "dev": true }, - "uuid": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.3.tgz", - "integrity": "sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ==", - "dev": true - }, - "webauth": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/webauth/-/webauth-1.1.0.tgz", - "integrity": "sha1-ZHBPa4AmmGYFvDymKZUubib90QA=", - "dev": true - }, - "webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=", - "dev": true - }, - "whatwg-fetch": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz", - "integrity": "sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA==", - "dev": true - }, - "whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", - "dev": true, - "requires": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "which-promise": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/which-promise/-/which-promise-1.0.0.tgz", - "integrity": "sha1-ILch3wWzW3Bhdv+hCwkJq6RgMDU=", - "dev": true, - "requires": { - "pify": "^2.2.0", - "pinkie-promise": "^1.0.0", - "which": "^1.1.2" - }, - "dependencies": { - "pinkie": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-1.0.0.tgz", - "integrity": "sha1-Wkfyi6EBXQIBvae/DzWOR77Ix+Q=", - "dev": true - }, - "pinkie-promise": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-1.0.0.tgz", - "integrity": "sha1-0dpn9UglY7t89X8oauKCLs+/NnA=", - "dev": true, - "requires": { - "pinkie": "^1.0.0" - } - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - } - } - }, - "wrap-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", - "dev": true, - "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" - } - }, "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true }, - "ws": { - "version": "7.5.6", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.6.tgz", - "integrity": "sha512-6GLgCqo2cy2A2rjCNFlxQS6ZljG/coZfZXclldI8FB/1G3CCI36Zd8xy2HrFVACi8tfk5XrgLQEk+P0Tnz9UcA==", + "yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", "dev": true, - "requires": {} + "requires": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + }, + "yazl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/yazl/-/yazl-2.5.1.tgz", + "integrity": "sha512-phENi2PLiHnHb6QBVot+dJnaAZ0xosj7p3fWl+znIjBDlnMI2PsZCJZ306BPTFOaHf5qdDEI8x5qFrSOBN5vrw==", + "dev": true, + "requires": { + "buffer-crc32": "~0.2.3" + } } } } diff --git a/tests/package.json b/tests/package.json index cf7087a4..e1bb9a50 100644 --- a/tests/package.json +++ b/tests/package.json @@ -1,14 +1,12 @@ { "devDependencies": { - "dockerode": "^3.3.1", - "testcafe": "^1.18.0" + "@playwright/test": "^1.19.1", + "@types/dockerode": "^3.3.0", + "axios": "^0.24.0", + "dockerode": "^3.3.1" }, "scripts": { - "test": "testcafe" - }, - "dependencies": { - "@ffmpeg-installer/ffmpeg": "^1.1.0", - "@types/dockerode": "^3.3.0", - "axios": "^0.24.0" + "test": "ADMIN_API_TOKEN=123 playwright test", + "test-prod-like": "OVERRIDE_DOCKER_COMPOSE=docker-compose.e2e.yml npm run test" } } diff --git a/tests/playwright.config.ts b/tests/playwright.config.ts new file mode 100644 index 00000000..126f9d14 --- /dev/null +++ b/tests/playwright.config.ts @@ -0,0 +1,105 @@ +import type { PlaywrightTestConfig } from '@playwright/test'; +import { devices } from '@playwright/test'; + +/** + * Read environment variables from file. + * https://github.com/motdotla/dotenv + */ +// require('dotenv').config(); + +/** + * See https://playwright.dev/docs/test-configuration. + */ +const config: PlaywrightTestConfig = { + testDir: './tests', + /* Maximum time one test can run for. */ + timeout: 30 * 1000, + expect: { + /** + * Maximum time expect() should wait for the condition to be met. + * For example in `await expect(locator).toHaveText();` + */ + timeout: 5000 + }, + /* Fail the build on CI if you accidentally left test.only in the source code. */ + forbidOnly: !!process.env.CI, + /* Retry on CI only */ + retries: process.env.CI ? 2 : 0, + /* Opt out of parallel tests. */ + workers: 1, + /* Reporter to use. See https://playwright.dev/docs/test-reporters */ + reporter: 'html', + /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ + use: { + /* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */ + actionTimeout: 0, + /* Base URL to use in actions like `await page.goto('/')`. */ + // baseURL: 'http://localhost:3000', + + /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ + trace: 'on-first-retry', + }, + + /* Configure projects for major browsers */ + projects: [ + { + name: 'chromium', + use: { + ...devices['Desktop Chrome'], + }, + }, + + { + name: 'firefox', + use: { + ...devices['Desktop Firefox'], + }, + }, + + { + name: 'webkit', + use: { + ...devices['Desktop Safari'], + }, + }, + + /* Test against mobile viewports. */ + // { + // name: 'Mobile Chrome', + // use: { + // ...devices['Pixel 5'], + // }, + // }, + // { + // name: 'Mobile Safari', + // use: { + // ...devices['iPhone 12'], + // }, + // }, + + /* Test against branded browsers. */ + // { + // name: 'Microsoft Edge', + // use: { + // channel: 'msedge', + // }, + // }, + // { + // name: 'Google Chrome', + // use: { + // channel: 'chrome', + // }, + // }, + ], + + /* Folder for test artifacts such as screenshots, videos, traces, etc. */ + // outputDir: 'test-results/', + + /* Run your local dev server before starting the tests */ + // webServer: { + // command: 'npm run start', + // port: 3000, + // }, +}; + +export default config; diff --git a/tests/screenshots/.gitignore b/tests/screenshots/.gitignore deleted file mode 100644 index 72e8ffc0..00000000 --- a/tests/screenshots/.gitignore +++ /dev/null @@ -1 +0,0 @@ -* diff --git a/tests/tests/modules.spec.ts b/tests/tests/modules.spec.ts new file mode 100644 index 00000000..046e061f --- /dev/null +++ b/tests/tests/modules.spec.ts @@ -0,0 +1,15 @@ +import { expect, test } from '@playwright/test'; +import { assertLogMessage } from './utils/log'; +import { login } from './utils/roles'; + +test.describe('Module', () => { + test('loading should work out of the box', async ({ page }) => { + await page.goto( + 'http://play.workadventure.localhost/_/global/maps.workadventure.localhost/tests/Modules/with_modules.json' + ); + + await login(page, 'Alice', 2); + + await assertLogMessage(page, 'Successfully loaded module: foo = bar'); + }); +}); diff --git a/tests/tests/modules.ts b/tests/tests/modules.ts deleted file mode 100644 index 86f7a374..00000000 --- a/tests/tests/modules.ts +++ /dev/null @@ -1,44 +0,0 @@ -import {assertLogMessage} from "./utils/log"; - -const fs = require('fs'); -const Docker = require('dockerode'); -import { Selector } from 'testcafe'; -import {login} from "./utils/roles"; -import { - findContainer, - rebootBack, - rebootPusher, - resetRedis, - rebootTraefik, - startContainer, - stopContainer, stopRedis, startRedis -} from "./utils/containers"; -import {getBackDump, getPusherDump} from "./utils/debug"; - -fixture `Modules` - .page `http://play.workadventure.localhost/_/global/maps.workadventure.localhost/tests/Modules/with_modules.json`; - -test("Test that module loading works out of the box", async (t: TestController) => { - - await login(t, 'http://play.workadventure.localhost/_/global/maps.workadventure.localhost/tests/Modules/with_modules.json'); - - - await assertLogMessage(t, 'Successfully loaded module: foo = bar'); - - t.ctx.passed = true; -}).after(async t => { - if (!t.ctx.passed) { - console.log("Test 'Test that module loading works out of the box' failed. Browser logs:") - try { - console.log(await t.getBrowserConsoleMessages()); - } catch (e) { - console.error('Error while fetching browser logs (maybe linked to a closed iframe?)', e); - try { - console.log('Logs from main window:'); - console.log(await t.switchToMainWindow().getBrowserConsoleMessages()); - } catch (e) { - console.error('Unable to retrieve logs', e); - } - } - } -}); diff --git a/tests/tests/reconnect.spec.ts b/tests/tests/reconnect.spec.ts new file mode 100644 index 00000000..f6ae54d8 --- /dev/null +++ b/tests/tests/reconnect.spec.ts @@ -0,0 +1,26 @@ +import { expect, test } from '@playwright/test'; +import { findContainer, startContainer, stopContainer } from './utils/containers'; +import { login } from './utils/roles'; + +test.setTimeout(60000); +test.describe('Connection', () => { + test('can succeed even if WorkAdventure starts while pusher is down', async ({ page }) => { + await page.goto( + 'http://play.workadventure.localhost/_/global/maps.workadventure.localhost/tests/mousewheel.json' + ); + + // Let's stop the pusher + const container = await findContainer('pusher'); + await stopContainer(container); + + await page.goto( + 'http://play.workadventure.localhost/_/global/maps.workadventure.localhost/tests/mousewheel.json' + ); + await expect(page.locator('.error-div')).toContainText('Unable to connect to WorkAdventure'); + + await startContainer(container); + + await page.waitForResponse(response => response.status() === 200, { timeout: 60000 }), + await login(page); + }); +}); diff --git a/tests/tests/reconnect.ts b/tests/tests/reconnect.ts deleted file mode 100644 index 9b17e339..00000000 --- a/tests/tests/reconnect.ts +++ /dev/null @@ -1,63 +0,0 @@ -import {assertLogMessage} from "./utils/log"; - -const fs = require('fs'); -const Docker = require('dockerode'); -import { Selector } from 'testcafe'; -import {login, resetLanguage} from "./utils/roles"; -import {findContainer, rebootBack, rebootPusher, resetRedis, startContainer, stopContainer} from "./utils/containers"; - -fixture `Reconnection` - .page `http://play.workadventure.localhost/_/global/maps.workadventure.localhost/tests/mousewheel.json`; - -test("Test that connection can succeed even if WorkAdventure starts while pusher is down", async (t: TestController) => { - // Let's stop the pusher - const container = await findContainer('pusher'); - await stopContainer(container); - - const errorMessage = Selector('.error-div'); - - await resetLanguage('en-US'); - - await t - .navigateTo('http://play.workadventure.localhost/_/global/maps.workadventure.localhost/tests/mousewheel.json') - .expect(errorMessage.innerText).contains('Unable to connect to WorkAdventure') - - await startContainer(container); - - await login(t, 'http://play.workadventure.localhost/_/global/maps.workadventure.localhost/tests/mousewheel.json'); - - t.ctx.passed = true; -}).after(async t => { - if (!t.ctx.passed) { - console.log("Test failed. Browser logs:") - console.log(await t.getBrowserConsoleMessages()); - } -}); - -/* -test("Test that variables cache in the back don't prevent setting a variable in case the map changes", async (t: TestController) => { - // Let's start by visiting a map that DOES not have the variable. - fs.copyFileSync('../maps/tests/Variables/Cache/variables_cache_1.json', '../maps/tests/Variables/Cache/variables_tmp.json'); - - await t.useRole(userAlice); - //.takeScreenshot('before_switch.png'); - - // Let's REPLACE the map by a map that has a new variable - // At this point, the back server contains a cache of the old map (with no variables) - fs.copyFileSync('../maps/tests/Variables/Cache/variables_cache_2.json', '../maps/tests/Variables/Cache/variables_tmp.json'); - await t.openWindow('http://play.workadventure.localhost/_/global/maps.workadventure.localhost/tests/Variables/Cache/variables_tmp.json') - .resizeWindow(960, 800) - .useRole(userAlice); - //.takeScreenshot('after_switch.png'); - - // Let's check we successfully manage to save the variable value. - await assertLogMessage(t, 'SUCCESS!'); - - t.ctx.passed = true; -}).after(async t => { - if (!t.ctx.passed) { - console.log("Test failed. Browser logs:") - console.log(await t.getBrowserConsoleMessages()); - } -}); -*/ diff --git a/tests/tests/translate.spec.ts b/tests/tests/translate.spec.ts new file mode 100644 index 00000000..bde7963e --- /dev/null +++ b/tests/tests/translate.spec.ts @@ -0,0 +1,22 @@ +import { expect, test } from '@playwright/test'; +import { login } from './utils/roles'; + +test.describe('Translation', () => { + test('can be switched to French', async ({ + page, + }) => { + await page.goto( + 'http://play.workadventure.localhost/_/global/maps.workadventure.localhost/tests/mousewheel.json' + ); + + await login(page); + + await page.click('.menuIcon img:first-child'); + await page.click('button:has-text("Settings")'); + await page.selectOption('.languages-switcher', 'fr-FR'); + await page.click('button:has-text("Save")'); + + await page.click('.menuIcon img:first-child'); + await expect(page.locator('.menu-submenu-container h2')).toHaveText('Paramètres'); + }); +}); diff --git a/tests/tests/translate.ts b/tests/tests/translate.ts deleted file mode 100644 index deb5be0d..00000000 --- a/tests/tests/translate.ts +++ /dev/null @@ -1,34 +0,0 @@ -import { Selector } from "testcafe"; -import { login } from "./utils/roles"; - -fixture`Translation` - .page`http://play.workadventure.localhost/_/global/maps.workadventure.localhost/tests/mousewheel.json`; - -test("Test that I can switch to French", async (t: TestController) => { - const languageSelect = Selector(".languages-switcher"); - const languageOption = languageSelect.find("option"); - - await login( - t, - "http://play.workadventure.localhost/_/global/maps.workadventure.localhost/tests/mousewheel.json" - ); - - await t - .click(".menuIcon img:first-child") - .click(Selector("button").withText("Settings")) - .click(".languages-switcher") - .click(languageOption.withText("Français (France)")) - .click(Selector("button").withText("Save")) - .wait(5000) - - .click(".menuIcon img:first-child") - .expect(Selector("button").withText("Paramètres").innerText) - .contains("Paramètres"); - - t.ctx.passed = true; -}).after(async (t) => { - if (!t.ctx.passed) { - console.log("Test failed. Browser logs:"); - console.log(await t.getBrowserConsoleMessages()); - } -}); diff --git a/tests/tests/utils/containers.ts b/tests/tests/utils/containers.ts index bed2bd48..920fbbc5 100644 --- a/tests/tests/utils/containers.ts +++ b/tests/tests/utils/containers.ts @@ -1,6 +1,6 @@ //import Docker from "dockerode"; //import * as Dockerode from "dockerode"; -import Dockerode = require( 'dockerode') +import Dockerode from 'dockerode'; const util = require('util'); const exec = util.promisify(require('child_process').exec); const { execSync } = require('child_process'); @@ -13,6 +13,7 @@ const fs = require('fs'); export function dockerCompose(command: string): void { let param = ''; const projectDir = process.env.PROJECT_DIR; + const overrideDockerCompose = process.env.OVERRIDE_DOCKER_COMPOSE; if (!projectDir && fs.existsSync('/project')) { // We are probably in the docker-image AND we did not pass PROJECT_DIR env variable @@ -23,6 +24,10 @@ export function dockerCompose(command: string): void { const dirName = path.basename(projectDir); param = '--project-name '+dirName+' --project-directory '+projectDir; } + + if (overrideDockerCompose) { + param += ' -f docker-compose.yaml -f '+overrideDockerCompose; + } let stdout = execSync('docker-compose '+param+' '+command, { cwd: __dirname + '/../../../' diff --git a/tests/tests/utils/log.ts b/tests/tests/utils/log.ts index 95bb4ec6..c07af44f 100644 --- a/tests/tests/utils/log.ts +++ b/tests/tests/utils/log.ts @@ -1,20 +1,21 @@ -import { Selector } from 'testcafe'; +import { expect } from '@playwright/test'; /** * Tries to find a given log message in the logs (for 10 seconds) */ -export async function assertLogMessage(t: TestController, message: string): Promise { - let i = 0; - let logs: string[]|undefined; - do { - const messages = await t.getBrowserConsoleMessages(); - logs = messages['log']; - if (logs.find((str) => str === message)) { - break; - } - await t.wait(1000); - i++; - } while (i < 30); +export async function assertLogMessage(page, substring): Promise { + let logs = []; + await page.on('console', async (msg) => { + logs.push(await msg.text()); + }); - await t.expect(logs).contains(message); + // wait for log to appear + for (let i = 0; i < 10; i++) { + if (logs.includes(substring)) { + break; + } + await page.waitForTimeout(50); + } + + expect(logs).toContain(substring); } diff --git a/tests/tests/utils/roles.ts b/tests/tests/utils/roles.ts index 819446e7..b4e1d4c9 100644 --- a/tests/tests/utils/roles.ts +++ b/tests/tests/utils/roles.ts @@ -1,20 +1,18 @@ -import { Role, ClientFunction } from 'testcafe'; +export async function login( + page, + userName: string = 'Alice', + characterNumber: number = 2, + browserLanguage: string | null = 'en-US' +) { + // window.localStorage.setItem('language', browserLanguage) -export const resetLanguage = ClientFunction((browserLanguage) => window.localStorage.setItem('language', browserLanguage)); + await page.fill('input[name="loginSceneName"]', userName); + await page.click('button.loginSceneFormSubmit'); -export async function login(t: TestController, url: string, userName: string = "Alice", characterNumber: number = 2, browserLanguage: string|null = 'en-US') { + for (let i = 0; i < characterNumber; i++) { + await page.click('button.selectCharacterButtonRight'); + } - await resetLanguage(browserLanguage); - - t = t - .navigateTo(url) - .typeText('input[name="loginSceneName"]', userName) - .click('button.loginSceneFormSubmit'); - - for (let i = 0; i < characterNumber; i++) { - t = t.click('button.selectCharacterButtonRight'); - } - - return t.click('button.selectCharacterSceneFormSubmit') - .click('button.letsgo'); + await page.click('button.selectCharacterSceneFormSubmit'); + await page.click('button.letsgo'); } diff --git a/tests/tests/variables.spec.ts b/tests/tests/variables.spec.ts new file mode 100644 index 00000000..4b6c1f13 --- /dev/null +++ b/tests/tests/variables.spec.ts @@ -0,0 +1,164 @@ +import { expect, test, chromium } from '@playwright/test'; +import fs from 'fs'; +import { + rebootBack, + rebootPusher, + rebootTraefik, + resetRedis, + startRedis, + stopRedis, +} from './utils/containers'; +import { getBackDump, getPusherDump } from './utils/debug'; +import { assertLogMessage } from './utils/log'; +import { login } from './utils/roles'; + +test.setTimeout(180000); +test.describe('Variables', () => { + // WARNING: Since this test restarts traefik and other components, it might fail when run against the vite dev server. + // when running with --headed you can manually reload the page to avoid this issue. + test('storage works', async ({ page }) => { + await resetRedis(); + + await Promise.all([rebootBack(), rebootPusher()]); + + await page.goto( + 'http://play.workadventure.localhost/_/global/maps.workadventure.localhost/tests/Variables/shared_variables.json?somerandomparam=1' + ); + await login(page); + + const textField = page + .frameLocator('#cowebsite-buffer iframe') + .locator('#textField'); + await expect(textField).toHaveValue('default value'); + await textField.fill(''); + await textField.fill('new value'); + await textField.press('Tab'); + + await page.goto( + 'http://play.workadventure.localhost/_/global/maps.workadventure.localhost/tests/Variables/shared_variables.json' + ); + await expect(textField).toHaveValue('new value'); + + // Now, let's kill the reverse proxy to cut the connexion + console.log('Rebooting traefik'); + rebootTraefik(); + console.log('Rebooting done'); + + // Maybe we should: + // 1: stop Traefik + // 2: detect reconnecting screen + // 3: start Traefik again + + await expect(textField).toHaveValue('new value', { timeout: 60000 }); + + stopRedis(); + await textField.fill(''); + await textField.fill('value set while Redis stopped'); + await textField.press('Tab'); + + startRedis(); + await page.goto('http://maps.workadventure.localhost/tests/'); + + const backDump = await getBackDump(); + //console.log('backDump', backDump); + for (const room of backDump) { + if ( + room.roomUrl === + 'http://play.workadventure.localhost/_/global/maps.workadventure.localhost/tests/Variables/shared_variables.json' + ) { + throw new Error('Room still found in back'); + } + } + + const pusherDump = await getPusherDump(); + //console.log('pusherDump', pusherDump); + expect( + pusherDump[ + 'http://play.workadventure.localhost/_/global/maps.workadventure.localhost/tests/Variables/shared_variables.json' + ] + ).toBe(undefined); + + await page.goto( + 'http://play.workadventure.localhost/_/global/maps.workadventure.localhost/tests/Variables/shared_variables.json' + ); + // Redis will reconnect automatically and will store the variable on reconnect! + // So we should see the new value. + await expect(textField).toHaveValue('value set while Redis stopped'); + + // Now, let's try to kill / reboot the back + await rebootBack(); + + await page.goto( + 'http://play.workadventure.localhost/_/global/maps.workadventure.localhost/tests/Variables/shared_variables.json' + ); + await expect(textField).toHaveValue('value set while Redis stopped', { + timeout: 60000, + }); + await textField.fill(''); + await textField.fill('value set after back restart'); + await textField.press('Tab'); + + await page.goto( + 'http://play.workadventure.localhost/_/global/maps.workadventure.localhost/tests/Variables/shared_variables.json' + ); + // Redis will reconnect automatically and will store the variable on reconnect! + // So we should see the new value. + await expect(textField).toHaveValue('value set after back restart'); + + // Now, let's try to kill / reboot the back + await rebootPusher(); + + await page.goto( + 'http://play.workadventure.localhost/_/global/maps.workadventure.localhost/tests/Variables/shared_variables.json' + ); + await expect(textField).toHaveValue('value set after back restart', { + timeout: 60000, + }); + await textField.fill(''); + await textField.fill('value set after pusher restart'); + await textField.press('Tab'); + + await page.goto( + 'http://play.workadventure.localhost/_/global/maps.workadventure.localhost/tests/Variables/shared_variables.json' + ); + // Redis will reconnect automatically and will store the variable on reconnect! + // So we should see the new value. + await expect(textField).toHaveValue('value set after pusher restart'); + }); + + test('cache doesnt prevent setting a variable in case the map changes', async ({ + page, + }) => { + // Let's start by visiting a map that DOES not have the variable. + + fs.copyFileSync( + '../maps/tests/Variables/Cache/variables_cache_1.json', + '../maps/tests/Variables/Cache/variables_tmp.json' + ); + + await page.goto( + 'http://play.workadventure.localhost/_/global/maps.workadventure.localhost/tests/Variables/Cache/variables_tmp.json' + ); + + await login(page, 'Alice', 2); + + // Let's REPLACE the map by a map that has a new variable + // At this point, the back server contains a cache of the old map (with no variables) + fs.copyFileSync( + '../maps/tests/Variables/Cache/variables_cache_2.json', + '../maps/tests/Variables/Cache/variables_tmp.json' + ); + + const browser = await chromium.launch(); + const page2 = await browser.newPage(); + + await page2.goto( + 'http://play.workadventure.localhost/_/global/maps.workadventure.localhost/tests/Variables/Cache/variables_tmp.json' + ); + + await login(page2, 'Alice', 2); + + // Let's check we successfully manage to save the variable value. + await assertLogMessage(page2, 'SUCCESS!'); + }); +}); diff --git a/tests/tests/variables.ts b/tests/tests/variables.ts deleted file mode 100644 index 6181281b..00000000 --- a/tests/tests/variables.ts +++ /dev/null @@ -1,202 +0,0 @@ -import {assertLogMessage} from "./utils/log"; - -const fs = require('fs'); -const Docker = require('dockerode'); -import { Selector } from 'testcafe'; -import {login} from "./utils/roles"; -import { - findContainer, - rebootBack, - rebootPusher, - resetRedis, - rebootTraefik, - startContainer, - stopContainer, stopRedis, startRedis -} from "./utils/containers"; -import {getBackDump, getPusherDump} from "./utils/debug"; - -// Note: we are also testing that passing a random query parameter does not cause any issue. -fixture `Variables` - .page `http://play.workadventure.localhost/_/global/maps.workadventure.localhost/tests/Variables/shared_variables.json?somerandomparam=1`; - -test("Test that variables storage works", async (t: TestController) => { - - const variableInput = Selector('#textField'); - - await resetRedis(); - - await Promise.all([ - rebootBack(), - rebootPusher(), - ]); - - //const mainWindow = await t.getCurrentWindow(); - - await login(t, 'http://play.workadventure.localhost/_/global/maps.workadventure.localhost/tests/Variables/shared_variables.json?somerandomparam=1'); - - await t //.useRole(userAliceOnPage('http://play.workadventure.localhost/_/global/maps.workadventure.localhost/tests/Variables/shared_variables.json?somerandomparam=1')) - .switchToIframe("#cowebsite-buffer iframe") - .expect(variableInput.value).eql('default value') - .selectText(variableInput) - .pressKey('delete') - .typeText(variableInput, 'new value') - .pressKey('tab') - .switchToMainWindow() - //.switchToWindow(mainWindow) - .wait(500) - // reload - .navigateTo('http://play.workadventure.localhost/_/global/maps.workadventure.localhost/tests/Variables/shared_variables.json') - .switchToIframe("#cowebsite-buffer iframe") - .expect(variableInput.value).eql('new value') - //.debug() - .switchToMainWindow() - //.wait(5000) - //.switchToWindow(mainWindow) -/* - .wait(5000) - //.debug() - .switchToIframe("#cowebsite-buffer iframe") - .expect(variableInput.value).eql('new value') - .switchToMainWindow();*/ - - // Now, let's kill the reverse proxy to cut the connexion - //console.log('Rebooting traefik'); - rebootTraefik(); - //console.log('Rebooting done'); - - // Maybe we should: - // 1: stop Traefik - // 2: detect reconnecting screen - // 3: start Traefik again - - - await t - .switchToIframe("#cowebsite-buffer iframe") - .expect(variableInput.value).eql('new value') - - stopRedis(); - - // Redis is stopped, let's try to modify a variable. - await t.selectText(variableInput) - .pressKey('delete') - .typeText(variableInput, 'value set while Redis stopped') - .pressKey('tab') - .switchToMainWindow() - - startRedis(); - - // Navigate to some other map so that the pusher connection is freed. - await t.navigateTo('http://maps.workadventure.localhost/tests/') - .wait(3000); - - - const backDump = await getBackDump(); - //console.log('backDump', backDump); - for (const room of backDump) { - if (room.roomUrl === 'http://play.workadventure.localhost/_/global/maps.workadventure.localhost/tests/Variables/shared_variables.json') { - throw new Error('Room still found in back'); - } - } - - const pusherDump = await getPusherDump(); - //console.log('pusherDump', pusherDump); - await t.expect(pusherDump['http://play.workadventure.localhost/_/global/maps.workadventure.localhost/tests/Variables/shared_variables.json']).eql(undefined); - - await t.navigateTo('http://play.workadventure.localhost/_/global/maps.workadventure.localhost/tests/Variables/shared_variables.json') - .switchToIframe("#cowebsite-buffer iframe") - // Redis will reconnect automatically and will store the variable on reconnect! - // So we should see the new value. - .expect(variableInput.value).eql('value set while Redis stopped') - .switchToMainWindow() - - - // Now, let's try to kill / reboot the back - await rebootBack(); - - await t.navigateTo('http://play.workadventure.localhost/_/global/maps.workadventure.localhost/tests/Variables/shared_variables.json') - .switchToIframe("#cowebsite-buffer iframe") - .expect(variableInput.value).eql('value set while Redis stopped') - .selectText(variableInput) - .pressKey('delete') - .typeText(variableInput, 'value set after back restart') - .pressKey('tab') - .switchToMainWindow() - - .navigateTo('http://play.workadventure.localhost/_/global/maps.workadventure.localhost/tests/Variables/shared_variables.json') - .switchToIframe("#cowebsite-buffer iframe") - // Redis will reconnect automatically and will store the variable on reconnect! - // So we should see the new value. - .expect(variableInput.value).eql('value set after back restart') - .switchToMainWindow() - - // Now, let's try to kill / reboot the back - await rebootPusher(); - - await t.navigateTo('http://play.workadventure.localhost/_/global/maps.workadventure.localhost/tests/Variables/shared_variables.json') - .switchToIframe("#cowebsite-buffer iframe") - .expect(variableInput.value).eql('value set after back restart') - .selectText(variableInput) - .pressKey('delete') - .typeText(variableInput, 'value set after pusher restart') - .pressKey('tab') - .switchToMainWindow() - - .navigateTo('http://play.workadventure.localhost/_/global/maps.workadventure.localhost/tests/Variables/shared_variables.json') - .switchToIframe("#cowebsite-buffer iframe") - // Redis will reconnect automatically and will store the variable on reconnect! - // So we should see the new value. - .expect(variableInput.value).eql('value set after pusher restart') - .switchToMainWindow() - - - t.ctx.passed = true; -}).after(async t => { - if (!t.ctx.passed) { - console.log("Test 'Test that variables storage works' failed. Browser logs:") - try { - console.log(await t.getBrowserConsoleMessages()); - } catch (e) { - console.error('Error while fetching browser logs (maybe linked to a closed iframe?)', e); - try { - console.log('Logs from main window:'); - console.log(await t.switchToMainWindow().getBrowserConsoleMessages()); - } catch (e) { - console.error('Unable to retrieve logs', e); - } - } - } -}); - - -test("Test that variables cache in the back don't prevent setting a variable in case the map changes", async (t: TestController) => { - // Let's start by visiting a map that DOES not have the variable. - fs.copyFileSync('../maps/tests/Variables/Cache/variables_cache_1.json', '../maps/tests/Variables/Cache/variables_tmp.json'); - - //const aliceOnPageTmp = userAliceOnPage('http://play.workadventure.localhost/_/global/maps.workadventure.localhost/tests/Variables/Cache/variables_tmp.json'); - - await login(t, 'http://play.workadventure.localhost/_/global/maps.workadventure.localhost/tests/Variables/Cache/variables_tmp.json', 'Alice', 2); - - //.takeScreenshot('before_switch.png'); - - // Let's REPLACE the map by a map that has a new variable - // At this point, the back server contains a cache of the old map (with no variables) - fs.copyFileSync('../maps/tests/Variables/Cache/variables_cache_2.json', '../maps/tests/Variables/Cache/variables_tmp.json'); - await t.openWindow('http://play.workadventure.localhost/_/global/maps.workadventure.localhost/tests/Variables/Cache/variables_tmp.json') - .resizeWindow(960, 800) - - await login(t, 'http://play.workadventure.localhost/_/global/maps.workadventure.localhost/tests/Variables/Cache/variables_tmp.json', 'Bob', 3); - - //.takeScreenshot('after_switch.png'); - - // Let's check we successfully manage to save the variable value. - await assertLogMessage(t, 'SUCCESS!'); - - t.ctx.passed = true; -}).after(async t => { - if (!t.ctx.passed) { - console.log("Test 'Test that variables cache in the back don't prevent setting a variable in case the map changes' failed. Browser logs:") - console.log(await t.getBrowserConsoleMessages()); - } -}); - - From 6db6dd7e4d6ec67ba298f6c0b91b691c60d32350 Mon Sep 17 00:00:00 2001 From: Lukas Hass Date: Fri, 18 Feb 2022 15:19:05 +0100 Subject: [PATCH 69/88] fix artifact upload --- .github/workflows/end_to_end_tests.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/end_to_end_tests.yml b/.github/workflows/end_to_end_tests.yml index 99d688c5..ad59dfc4 100644 --- a/.github/workflows/end_to_end_tests.yml +++ b/.github/workflows/end_to_end_tests.yml @@ -25,6 +25,8 @@ jobs: run: cp .env.template .env - name: Start WorkAdventure run: docker-compose -f docker-compose.yaml -f docker-compose.e2e.yml up -d --build + - name: Wait for environment to Start + run: sleep 60 - name: Run Playwright tests run: npm run test-prod-like working-directory: tests @@ -32,5 +34,5 @@ jobs: if: always() with: name: playwright-report - path: playwright-report/ + path: tests/playwright-report/ retention-days: 30 From cf6204f0dbd2cd70eddccfdbbfda5c1864eddca9 Mon Sep 17 00:00:00 2001 From: Lukas Hass Date: Fri, 18 Feb 2022 15:41:02 +0100 Subject: [PATCH 70/88] increase log retrieval timeout --- tests/tests/utils/log.ts | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/tests/tests/utils/log.ts b/tests/tests/utils/log.ts index c07af44f..bf0a5e69 100644 --- a/tests/tests/utils/log.ts +++ b/tests/tests/utils/log.ts @@ -1,20 +1,26 @@ import { expect } from '@playwright/test'; +const POLLING_INTERVAL = 50; + /** * Tries to find a given log message in the logs (for 10 seconds) */ -export async function assertLogMessage(page, substring): Promise { +export async function assertLogMessage( + page, + substring: string, + timeout: number = 10000 +): Promise { let logs = []; await page.on('console', async (msg) => { logs.push(await msg.text()); }); // wait for log to appear - for (let i = 0; i < 10; i++) { + for (let i = 0; i < timeout / POLLING_INTERVAL; i++) { if (logs.includes(substring)) { break; } - await page.waitForTimeout(50); + await page.waitForTimeout(POLLING_INTERVAL); } expect(logs).toContain(substring); From 3d86204db639e82817da6b4c6714c5809d02e2fb Mon Sep 17 00:00:00 2001 From: Lukas Hass Date: Fri, 18 Feb 2022 15:43:06 +0100 Subject: [PATCH 71/88] add page type --- tests/tests/utils/log.ts | 4 ++-- tests/tests/utils/roles.ts | 4 +++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/tests/tests/utils/log.ts b/tests/tests/utils/log.ts index bf0a5e69..352c6410 100644 --- a/tests/tests/utils/log.ts +++ b/tests/tests/utils/log.ts @@ -1,4 +1,4 @@ -import { expect } from '@playwright/test'; +import { expect, Page } from '@playwright/test'; const POLLING_INTERVAL = 50; @@ -6,7 +6,7 @@ const POLLING_INTERVAL = 50; * Tries to find a given log message in the logs (for 10 seconds) */ export async function assertLogMessage( - page, + page: Page, substring: string, timeout: number = 10000 ): Promise { diff --git a/tests/tests/utils/roles.ts b/tests/tests/utils/roles.ts index b4e1d4c9..b4d3b8af 100644 --- a/tests/tests/utils/roles.ts +++ b/tests/tests/utils/roles.ts @@ -1,5 +1,7 @@ +import { Page } from '@playwright/test'; + export async function login( - page, + page: Page, userName: string = 'Alice', characterNumber: number = 2, browserLanguage: string | null = 'en-US' From ed0e49d16efcf99009a79f03176e62688bccc2f7 Mon Sep 17 00:00:00 2001 From: Lukas Hass Date: Fri, 18 Feb 2022 16:11:26 +0100 Subject: [PATCH 72/88] update docs and remove references to testcafe --- CONTRIBUTING.md | 34 ++----------- .../Variables/Cache/variables_cache_1.json | 4 +- .../Variables/Cache/variables_cache_2.json | 4 +- tests/Dockerfile | 5 -- tests/README.md | 50 +++++++++++++++---- tests/package.json | 2 +- tests/tests/utils/containers.ts | 13 +---- 7 files changed, 51 insertions(+), 61 deletions(-) delete mode 100644 tests/Dockerfile diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 2d3f5d0b..b700e5c3 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -67,46 +67,20 @@ $ docker-compose exec back yarn run pretty WorkAdventure is based on a video game engine (Phaser), and video games are not the easiest programs to unit test. -Nevertheless, if your code can be unit tested, please provide a unit test (we use Jasmine), or an end-to-end test (we use Testcafe). +Nevertheless, if your code can be unit tested, please provide a unit test (we use Jasmine), or an end-to-end test (we use Playwright). If you are providing a new feature, you should setup a test map in the `maps/tests` directory. The test map should contain some description text describing how to test the feature. * if the features is meant to be manually tested, you should modify the `maps/tests/index.html` file to add a reference to your newly created test map -* if the features can be automatically tested, please provide a testcafe test +* if the features can be automatically tested, please provide an end-to-end test -#### Running testcafe tests +#### Running end-to-end tests End-to-end tests are available in the "/tests" directory. -To run these tests locally: - -```console -$ LIVE_RELOAD=0 docker-compose up -d -$ cd tests -$ npm install -$ npm run test -``` - -Note: If your tests fail on a Javascript error in "sockjs", this is due to the -Webpack live reload. The Webpack live reload feature is conflicting with testcafe. This is why we recommend starting -WorkAdventure with the `LIVE_RELOAD=0` environment variable. - -End-to-end tests can take a while to run. To run only one test, use: - -```console -$ npm run test -- tests/[name of the test file].ts -``` - -You can also run the tests inside a container (but you will not have visual feedbacks on your test, so we recommend using -the local tests). - -```console -$ LIVE_RELOAD=0 docker-compose up -d -# Wait 2-3 minutes for the environment to start, then: -$ PROJECT_DIR=$(pwd) docker-compose -f docker-compose.testcafe.yml up -``` +More information on running end-to-end tests can be found in the [`/tests/README`](/tests/README.md). ### A bad wording or a missing language diff --git a/maps/tests/Variables/Cache/variables_cache_1.json b/maps/tests/Variables/Cache/variables_cache_1.json index f48e9c18..5166f56d 100644 --- a/maps/tests/Variables/Cache/variables_cache_1.json +++ b/maps/tests/Variables/Cache/variables_cache_1.json @@ -40,7 +40,7 @@ { "fontfamily":"Sans Serif", "pixelsize":11, - "text":"Test:\nThis test is to be run automatically using testcafe", + "text":"Test:\nThis test is to be run automatically using playwright", "wrap":true }, "type":"", @@ -79,4 +79,4 @@ "type":"map", "version":1.5, "width":10 -} \ No newline at end of file +} diff --git a/maps/tests/Variables/Cache/variables_cache_2.json b/maps/tests/Variables/Cache/variables_cache_2.json index 068063eb..598d2322 100644 --- a/maps/tests/Variables/Cache/variables_cache_2.json +++ b/maps/tests/Variables/Cache/variables_cache_2.json @@ -40,7 +40,7 @@ { "fontfamily":"Sans Serif", "pixelsize":11, - "text":"Test:\nThis test is to be run automatically using testcafe\n\n(2nd file)", + "text":"Test:\nThis test is to be run automatically using playwright\n\n(2nd file)", "wrap":true }, "type":"", @@ -123,4 +123,4 @@ "type":"map", "version":1.5, "width":10 -} \ No newline at end of file +} diff --git a/tests/Dockerfile b/tests/Dockerfile deleted file mode 100644 index c039434f..00000000 --- a/tests/Dockerfile +++ /dev/null @@ -1,5 +0,0 @@ -FROM testcafe/testcafe:1.18.2 - -USER root -RUN apk add docker-compose -USER user diff --git a/tests/README.md b/tests/README.md index 3aeb046d..99ac2fa0 100644 --- a/tests/README.md +++ b/tests/README.md @@ -1,20 +1,52 @@ -End-to-end tests +# End-to-end tests This directory contains automated end to end tests. -To run them locally: +## Installation -```console -$ npm install -$ ADMIN_API_TOKEN=123 npm test +```bash +npm install +npx playwright install --with-deps +``` + +## Run on development environment + +Start WorkAdventure with: + +```bash +docker-compose up -d +``` + +Wait 2-3 minutes for the environment to start, then: + +Start the tests with: + +```bash +ADMIN_API_TOKEN=123 npm run test ``` You'll need to adapt the `ADMIN_API_TOKEN` to the value you use in your `.env` file. -Alternatively, you can use docker-compose to run the tests: +## Run on production like environment -```console -$ PROJECT_DIR=$(pwd) docker-compose -f docker-compose.testcafe.yml up --exit-code-from testcafe +Start WorkAdventure with: + +```bash +docker-compose -f docker-compose.yaml -f docker-compose.e2e.yml up -d --build ``` -Note: by default, tests are running in Chrome locally and in Chromium in the Docker image. +Start the tests with: + +```bash +ADMIN_API_TOKEN=123 npm run test-prod-like +``` + +You'll need to adapt the `ADMIN_API_TOKEN` to the value you use in your `.env` file. + +## Run selected tests + +End-to-end tests can take a while to run. To run only one test in one browser, use: + +```bash +ADMIN_API_TOKEN=123 npm run test -- [name of the test file] --project=[chromium|firefox|webkit] +``` diff --git a/tests/package.json b/tests/package.json index e1bb9a50..27fe2671 100644 --- a/tests/package.json +++ b/tests/package.json @@ -6,7 +6,7 @@ "dockerode": "^3.3.1" }, "scripts": { - "test": "ADMIN_API_TOKEN=123 playwright test", + "test": "playwright test", "test-prod-like": "OVERRIDE_DOCKER_COMPOSE=docker-compose.e2e.yml npm run test" } } diff --git a/tests/tests/utils/containers.ts b/tests/tests/utils/containers.ts index 920fbbc5..81d52530 100644 --- a/tests/tests/utils/containers.ts +++ b/tests/tests/utils/containers.ts @@ -8,23 +8,12 @@ const path = require("path"); const fs = require('fs'); /** - * Execute Docker compose, passing the correct host directory (in case this is run from the TestCafe container) + * Execute Docker compose, passing the correct host directory */ export function dockerCompose(command: string): void { let param = ''; - const projectDir = process.env.PROJECT_DIR; const overrideDockerCompose = process.env.OVERRIDE_DOCKER_COMPOSE; - if (!projectDir && fs.existsSync('/project')) { - // We are probably in the docker-image AND we did not pass PROJECT_DIR env variable - throw new Error('Incorrect docker-compose command used to fire testcafe tests. You need to add a PROJECT_DIR environment variable. Please refer to the CONTRIBUTING.md guide'); - } - - if (projectDir) { - const dirName = path.basename(projectDir); - param = '--project-name '+dirName+' --project-directory '+projectDir; - } - if (overrideDockerCompose) { param += ' -f docker-compose.yaml -f '+overrideDockerCompose; } From 4eca2cbfaab61b9f4d0fe79c1ab156108f6b5656 Mon Sep 17 00:00:00 2001 From: Lukas Hass Date: Fri, 18 Feb 2022 16:37:50 +0100 Subject: [PATCH 73/88] load ADMIN_API_TOKEN with dotenv-cli --- tests/README.md | 10 +-- tests/package-lock.json | 172 +++++++++++++++++++++++++++++++++++++++- tests/package.json | 5 +- 3 files changed, 177 insertions(+), 10 deletions(-) diff --git a/tests/README.md b/tests/README.md index 99ac2fa0..927d9bc9 100644 --- a/tests/README.md +++ b/tests/README.md @@ -22,11 +22,9 @@ Wait 2-3 minutes for the environment to start, then: Start the tests with: ```bash -ADMIN_API_TOKEN=123 npm run test +npm run test ``` -You'll need to adapt the `ADMIN_API_TOKEN` to the value you use in your `.env` file. - ## Run on production like environment Start WorkAdventure with: @@ -38,15 +36,13 @@ docker-compose -f docker-compose.yaml -f docker-compose.e2e.yml up -d --build Start the tests with: ```bash -ADMIN_API_TOKEN=123 npm run test-prod-like +npm run test-prod-like ``` -You'll need to adapt the `ADMIN_API_TOKEN` to the value you use in your `.env` file. - ## Run selected tests End-to-end tests can take a while to run. To run only one test in one browser, use: ```bash -ADMIN_API_TOKEN=123 npm run test -- [name of the test file] --project=[chromium|firefox|webkit] +npm run test -- [name of the test file] --project=[chromium|firefox|webkit] ``` diff --git a/tests/package-lock.json b/tests/package-lock.json index 27e30782..1036e0b6 100644 --- a/tests/package-lock.json +++ b/tests/package-lock.json @@ -8,7 +8,8 @@ "@playwright/test": "^1.19.1", "@types/dockerode": "^3.3.0", "axios": "^0.24.0", - "dockerode": "^3.3.1" + "dockerode": "^3.3.1", + "dotenv-cli": "^5.0.0" } }, "node_modules/@babel/code-frame": { @@ -1391,6 +1392,20 @@ "node": ">=8.0.0" } }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, "node_modules/debug": { "version": "4.3.3", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", @@ -1466,6 +1481,39 @@ "node": ">= 8.0" } }, + "node_modules/dotenv": { + "version": "16.0.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.0.tgz", + "integrity": "sha512-qD9WU0MPM4SWLPJy/r2Be+2WgQj8plChsyrCNQzW/0WjvcJQiKQJ9mH3ZgB3fxbUUxgc/11ZJ0Fi5KiimWGz2Q==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/dotenv-cli": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/dotenv-cli/-/dotenv-cli-5.0.0.tgz", + "integrity": "sha512-0Cb2WMDJ805hTD7m43gXXFLraoE5KwrKmGW2dAzYvSEB96tlKI2hmcJ/9In4s2FfvkAFk3SjNQcLeKLoRSXhKA==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "dotenv": "^16.0.0", + "dotenv-expand": "^8.0.1", + "minimist": "^1.2.5" + }, + "bin": { + "dotenv": "cli.js" + } + }, + "node_modules/dotenv-expand": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-8.0.1.tgz", + "integrity": "sha512-j/Ih7bIERDR5PzI89Zu8ayd3tXZ6E3dbY0ljQ9Db0K87qBO8zdLsi2dIvDHMWtjC3Yxb8XixOTHAtia0fDHRpg==", + "dev": true, + "engines": { + "node": ">=12" + } + }, "node_modules/electron-to-chromium": { "version": "1.4.49", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.49.tgz", @@ -1850,6 +1898,12 @@ "node": ">=8" } }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, "node_modules/jest-diff": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", @@ -2343,6 +2397,15 @@ "node": ">=0.10.0" } }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/path-parse": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", @@ -2651,6 +2714,27 @@ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "dev": true }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/signal-exit": { "version": "3.0.6", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.6.tgz", @@ -2852,6 +2936,21 @@ "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", "dev": true }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", @@ -3922,6 +4021,17 @@ "nan": "^2.14.1" } }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, "debug": { "version": "4.3.3", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", @@ -3974,6 +4084,30 @@ "tar-fs": "~2.0.1" } }, + "dotenv": { + "version": "16.0.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.0.tgz", + "integrity": "sha512-qD9WU0MPM4SWLPJy/r2Be+2WgQj8plChsyrCNQzW/0WjvcJQiKQJ9mH3ZgB3fxbUUxgc/11ZJ0Fi5KiimWGz2Q==", + "dev": true + }, + "dotenv-cli": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/dotenv-cli/-/dotenv-cli-5.0.0.tgz", + "integrity": "sha512-0Cb2WMDJ805hTD7m43gXXFLraoE5KwrKmGW2dAzYvSEB96tlKI2hmcJ/9In4s2FfvkAFk3SjNQcLeKLoRSXhKA==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.3", + "dotenv": "^16.0.0", + "dotenv-expand": "^8.0.1", + "minimist": "^1.2.5" + } + }, + "dotenv-expand": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-8.0.1.tgz", + "integrity": "sha512-j/Ih7bIERDR5PzI89Zu8ayd3tXZ6E3dbY0ljQ9Db0K87qBO8zdLsi2dIvDHMWtjC3Yxb8XixOTHAtia0fDHRpg==", + "dev": true + }, "electron-to-chromium": { "version": "1.4.49", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.49.tgz", @@ -4245,6 +4379,12 @@ "is-docker": "^2.0.0" } }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, "jest-diff": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", @@ -4612,6 +4752,12 @@ "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", "dev": true }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, "path-parse": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", @@ -4832,6 +4978,21 @@ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "dev": true }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, "signal-exit": { "version": "3.0.6", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.6.tgz", @@ -4988,6 +5149,15 @@ "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", "dev": true }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", diff --git a/tests/package.json b/tests/package.json index 27fe2671..f87e8df8 100644 --- a/tests/package.json +++ b/tests/package.json @@ -3,10 +3,11 @@ "@playwright/test": "^1.19.1", "@types/dockerode": "^3.3.0", "axios": "^0.24.0", - "dockerode": "^3.3.1" + "dockerode": "^3.3.1", + "dotenv-cli": "^5.0.0" }, "scripts": { - "test": "playwright test", + "test": "dotenv -e ../.env -- playwright test", "test-prod-like": "OVERRIDE_DOCKER_COMPOSE=docker-compose.e2e.yml npm run test" } } From 3a734cc2ae6fa06a3072efd0fb0055d1989c2c1f Mon Sep 17 00:00:00 2001 From: Gregoire Parant Date: Fri, 18 Feb 2022 21:33:23 +0100 Subject: [PATCH 74/88] Enable limitation freemium - Fix warning message - Fix post message API pusher Signed-off-by: Gregoire Parant --- .../src/Components/WarningContainer/WarningContainer.svelte | 6 ++---- front/src/i18n/de-DE/warning.ts | 5 ++++- front/src/i18n/en-US/warning.ts | 5 ++++- front/src/i18n/fr-FR/warning.ts | 6 ++++-- pusher/src/Controller/AdminController.ts | 2 ++ 5 files changed, 16 insertions(+), 8 deletions(-) diff --git a/front/src/Components/WarningContainer/WarningContainer.svelte b/front/src/Components/WarningContainer/WarningContainer.svelte index bacb0c1f..5e47cf64 100644 --- a/front/src/Components/WarningContainer/WarningContainer.svelte +++ b/front/src/Components/WarningContainer/WarningContainer.svelte @@ -11,16 +11,14 @@
{#if $userIsAdminStore}

{$LL.warning.title()}

-

- {$LL.warning.content({ upgradeLink })} -

+

{@html $LL.warning.content({ upgradeLink })}

{:else if $limitMapStore}

This map is available for 2 days. You can register your domain here!

{:else}

{$LL.warning.title()}

-

{$LL.warning.limit()}

+

{@html $LL.warning.content()}

{/if}
diff --git a/front/src/i18n/de-DE/warning.ts b/front/src/i18n/de-DE/warning.ts index fb9acd5f..68b7bc88 100644 --- a/front/src/i18n/de-DE/warning.ts +++ b/front/src/i18n/de-DE/warning.ts @@ -1,9 +1,12 @@ import type { Translation } from "../i18n-types"; +import {ADMIN_URL} from "../../Enum/EnvironmentVariable"; + +const upgradeLink = ADMIN_URL + "/pricing"; const warning: NonNullable = { title: "Warnung!", content: - 'Diese Welt erreicht bald die maximale Kapazität. Du kannst die Kapazität hier erhöhen', + `Diese Welt erreicht bald die maximale Kapazität. Du kannst die Kapazität hier erhöhen`, limit: "Diese Welt erreicht bald die maximale Kapazität!", accessDenied: { camera: "Zugriff auf die Kamera verweigert. Hier klicken um deine Browser Berechtigungen zu prüfen.", diff --git a/front/src/i18n/en-US/warning.ts b/front/src/i18n/en-US/warning.ts index 999c2a92..8d6a324d 100644 --- a/front/src/i18n/en-US/warning.ts +++ b/front/src/i18n/en-US/warning.ts @@ -1,9 +1,12 @@ import type { BaseTranslation } from "../i18n-types"; +import {ADMIN_URL} from "../../Enum/EnvironmentVariable"; + +const upgradeLink = ADMIN_URL + "/pricing"; const warning: BaseTranslation = { title: "Warning!", content: - 'This world is close to its limit!. You can upgrade its capacity here', + `This world is close to its limit!. You can upgrade its capacity here`, limit: "This world is close to its limit!", accessDenied: { camera: "Camera access denied. Click here and check your browser permissions.", diff --git a/front/src/i18n/fr-FR/warning.ts b/front/src/i18n/fr-FR/warning.ts index ab0e9d22..45d788ad 100644 --- a/front/src/i18n/fr-FR/warning.ts +++ b/front/src/i18n/fr-FR/warning.ts @@ -1,9 +1,11 @@ import type { Translation } from "../i18n-types"; +import {ADMIN_URL} from "../../Enum/EnvironmentVariable"; + +const upgradeLink = ADMIN_URL + "/pricing"; const warning: NonNullable = { title: "Attention!", - content: - 'Ce monde est proche de sa limite ! Vous pouvez améliorer sa capacité içi', + content: `Ce monde est proche de sa limite ! Vous pouvez améliorer sa capacité içi`, limit: "Ce monde est proche de ses limites!", accessDenied: { camera: "Accès à la caméra refusé. Cliquez ici et vérifiez les autorisations de votre navigateur.", diff --git a/pusher/src/Controller/AdminController.ts b/pusher/src/Controller/AdminController.ts index 6fbf5721..a8e3b593 100644 --- a/pusher/src/Controller/AdminController.ts +++ b/pusher/src/Controller/AdminController.ts @@ -84,11 +84,13 @@ export class AdminController extends BaseController { if (ADMIN_API_TOKEN === "") { res.writeStatus("401 Unauthorized").end("No token configured!"); + res.end(); return; } if (token !== ADMIN_API_TOKEN) { console.error("Admin access refused for token: " + token); res.writeStatus("401 Unauthorized").end("Incorrect token"); + res.end(); return; } From 26f5416b63a32e1a44d9f739686ed944d28b4e03 Mon Sep 17 00:00:00 2001 From: Gregoire Parant Date: Fri, 18 Feb 2022 21:44:17 +0100 Subject: [PATCH 75/88] Fix svelt check Signed-off-by: Gregoire Parant --- front/src/Components/WarningContainer/WarningContainer.svelte | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/front/src/Components/WarningContainer/WarningContainer.svelte b/front/src/Components/WarningContainer/WarningContainer.svelte index 5e47cf64..1843e505 100644 --- a/front/src/Components/WarningContainer/WarningContainer.svelte +++ b/front/src/Components/WarningContainer/WarningContainer.svelte @@ -4,14 +4,13 @@ import { ADMIN_URL } from "../../Enum/EnvironmentVariable"; import LL from "../../i18n/i18n-svelte"; - const upgradeLink = ADMIN_URL + "/pricing"; const registerLink = ADMIN_URL + "/second-step-register";
{#if $userIsAdminStore}

{$LL.warning.title()}

-

{@html $LL.warning.content({ upgradeLink })}

+

{@html $LL.warning.content()}

{:else if $limitMapStore}

This map is available for 2 days. You can register your domain here! From e4f9f89a40d5a9dbbe7bd47b80eac3948dacb819 Mon Sep 17 00:00:00 2001 From: Gregoire Parant Date: Fri, 18 Feb 2022 21:57:11 +0100 Subject: [PATCH 76/88] Fix pretty Signed-off-by: Gregoire Parant --- front/src/i18n/de-DE/warning.ts | 5 ++--- front/src/i18n/en-US/warning.ts | 5 ++--- front/src/i18n/fr-FR/warning.ts | 2 +- 3 files changed, 5 insertions(+), 7 deletions(-) diff --git a/front/src/i18n/de-DE/warning.ts b/front/src/i18n/de-DE/warning.ts index 68b7bc88..4d1f4738 100644 --- a/front/src/i18n/de-DE/warning.ts +++ b/front/src/i18n/de-DE/warning.ts @@ -1,12 +1,11 @@ import type { Translation } from "../i18n-types"; -import {ADMIN_URL} from "../../Enum/EnvironmentVariable"; +import { ADMIN_URL } from "../../Enum/EnvironmentVariable"; const upgradeLink = ADMIN_URL + "/pricing"; const warning: NonNullable = { title: "Warnung!", - content: - `Diese Welt erreicht bald die maximale Kapazität. Du kannst die Kapazität hier erhöhen`, + content: `Diese Welt erreicht bald die maximale Kapazität. Du kannst die Kapazität hier erhöhen`, limit: "Diese Welt erreicht bald die maximale Kapazität!", accessDenied: { camera: "Zugriff auf die Kamera verweigert. Hier klicken um deine Browser Berechtigungen zu prüfen.", diff --git a/front/src/i18n/en-US/warning.ts b/front/src/i18n/en-US/warning.ts index 8d6a324d..7bf83c87 100644 --- a/front/src/i18n/en-US/warning.ts +++ b/front/src/i18n/en-US/warning.ts @@ -1,12 +1,11 @@ import type { BaseTranslation } from "../i18n-types"; -import {ADMIN_URL} from "../../Enum/EnvironmentVariable"; +import { ADMIN_URL } from "../../Enum/EnvironmentVariable"; const upgradeLink = ADMIN_URL + "/pricing"; const warning: BaseTranslation = { title: "Warning!", - content: - `This world is close to its limit!. You can upgrade its capacity here`, + content: `This world is close to its limit!. You can upgrade its capacity here`, limit: "This world is close to its limit!", accessDenied: { camera: "Camera access denied. Click here and check your browser permissions.", diff --git a/front/src/i18n/fr-FR/warning.ts b/front/src/i18n/fr-FR/warning.ts index 45d788ad..11a8ab99 100644 --- a/front/src/i18n/fr-FR/warning.ts +++ b/front/src/i18n/fr-FR/warning.ts @@ -1,5 +1,5 @@ import type { Translation } from "../i18n-types"; -import {ADMIN_URL} from "../../Enum/EnvironmentVariable"; +import { ADMIN_URL } from "../../Enum/EnvironmentVariable"; const upgradeLink = ADMIN_URL + "/pricing"; From cc24fd48d53d053e0bbf87b93e788ee578261b45 Mon Sep 17 00:00:00 2001 From: Lukas Hass Date: Sat, 19 Feb 2022 00:13:25 +0100 Subject: [PATCH 77/88] update generic-type-guard and @geprog/vite-plugin-env-config allows to get rid of node built-in polyfills --- front/index.html | 1 - front/package.json | 4 ++-- front/src/Enum/EnvironmentVariable.ts | 2 +- front/yarn.lock | 16 ++++++++-------- 4 files changed, 11 insertions(+), 12 deletions(-) diff --git a/front/index.html b/front/index.html index 715e1bf7..c941f715 100644 --- a/front/index.html +++ b/front/index.html @@ -28,7 +28,6 @@ - WorkAdventure diff --git a/front/package.json b/front/package.json index 9df7afc4..4a0ea649 100644 --- a/front/package.json +++ b/front/package.json @@ -4,7 +4,7 @@ "main": "index.js", "license": "SEE LICENSE IN LICENSE.txt", "devDependencies": { - "@geprog/vite-plugin-env-config": "^3.0.0", + "@geprog/vite-plugin-env-config": "^4.0.0", "@sveltejs/vite-plugin-svelte": "^1.0.0-next.36", "@tsconfig/svelte": "^1.0.10", "@types/google-protobuf": "^3.7.3", @@ -43,7 +43,7 @@ "cross-env": "^7.0.3", "deep-copy-ts": "^0.5.0", "easystarjs": "^0.4.4", - "generic-type-guard": "^3.2.0", + "generic-type-guard": "^3.4.2", "google-protobuf": "^3.13.0", "phaser": "^3.54.0", "phaser-animated-tiles": "workadventure/phaser-animated-tiles#da68bbededd605925621dd4f03bd27e69284b254", diff --git a/front/src/Enum/EnvironmentVariable.ts b/front/src/Enum/EnvironmentVariable.ts index 1fdd13bf..3e589241 100644 --- a/front/src/Enum/EnvironmentVariable.ts +++ b/front/src/Enum/EnvironmentVariable.ts @@ -1,4 +1,4 @@ -import { getEnvConfig } from "@geprog/vite-plugin-env-config"; +import { getEnvConfig } from "@geprog/vite-plugin-env-config/getEnvConfig"; const DEBUG_MODE: boolean = getEnvConfig("DEBUG_MODE") == "true"; const START_ROOM_URL: string = diff --git a/front/yarn.lock b/front/yarn.lock index e72dea26..083881d5 100644 --- a/front/yarn.lock +++ b/front/yarn.lock @@ -93,10 +93,10 @@ dependencies: "@fortawesome/fontawesome-common-types" "^0.2.35" -"@geprog/vite-plugin-env-config@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@geprog/vite-plugin-env-config/-/vite-plugin-env-config-3.0.0.tgz#b16e57ad16429be7d73d19f13b5b529a78e7f9fa" - integrity sha512-ocIPodgIZAJm+h6As20IB8s5RLV85wvlnXNRFU2oI1owbBLqDjzSleY9+6Ey0abGSu0MNXlJQZL5ApSg6L5qCg== +"@geprog/vite-plugin-env-config@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@geprog/vite-plugin-env-config/-/vite-plugin-env-config-4.0.0.tgz#989d95f23fbab5eae7c4c96d04a18abdc289b81e" + integrity sha512-25ZMNdpssqkyv1sxfa6gBhmL8yCxCqjRRc1c05GJfhPkqD6Cn9dnG6xnHHHfJaEqrDFCViD0Bcnr+tgs76OZ2Q== "@humanwhocodes/config-array@^0.9.2": version "0.9.2" @@ -1377,10 +1377,10 @@ fuzzysort@^1.1.4: resolved "https://registry.yarnpkg.com/fuzzysort/-/fuzzysort-1.1.4.tgz#a0510206ed44532cbb52cf797bf5a3cb12acd4ba" integrity sha512-JzK/lHjVZ6joAg3OnCjylwYXYVjRiwTY6Yb25LvfpJHK8bjisfnZJ5bY8aVWwTwCXgxPNgLAtmHL+Hs5q1ddLQ== -generic-type-guard@^3.2.0: - version "3.4.1" - resolved "https://registry.yarnpkg.com/generic-type-guard/-/generic-type-guard-3.4.1.tgz#0896dc018de915c890562a34763858076e4676da" - integrity sha512-sXce0Lz3Wfy2rR1W8O8kUemgEriTeG1x8shqSJeWGb0FwJu2qBEkB1M2qXbdSLmpgDnHcIXo0Dj/1VLNJkK/QA== +generic-type-guard@^3.4.2: + version "3.4.2" + resolved "https://registry.yarnpkg.com/generic-type-guard/-/generic-type-guard-3.4.2.tgz#fbbafde675dc30f12e701e67d2e0a451d17ccf07" + integrity sha512-k7HLCaToIwCx28Ck0H6SXwjxgV2GLoJuwq8CjgST5CeeFD0dEwE95jRinpv9ubsTPPXOCNdUufUAgJVbiRpMJg== get-browser-rtc@^1.1.0: version "1.1.0" From 3ee9b26650273900a1166ca9c59480ea168a032e Mon Sep 17 00:00:00 2001 From: Lukas Hass Date: Sat, 19 Feb 2022 20:25:17 +0100 Subject: [PATCH 78/88] use optional chaining --- front/src/Phaser/Game/GameMap.ts | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/front/src/Phaser/Game/GameMap.ts b/front/src/Phaser/Game/GameMap.ts index 5ecbf649..67d31776 100644 --- a/front/src/Phaser/Game/GameMap.ts +++ b/front/src/Phaser/Game/GameMap.ts @@ -348,9 +348,7 @@ export class GameMap { if (!layer.visible) { continue; } - // TODO: use optional chaining when https://github.com/DevExpress/testcafe-hammerhead/issues/2714 is fixed - const properties = layer.getTileAt(x, y)?.properties; - if (properties && properties[GameMapProperties.COLLIDES]) { + if (layer.getTileAt(x, y)?.properties?.[GameMapProperties.COLLIDES]) { return true; } } From 23f7d6f08f93d1f2beb35954831509cc7e0871a0 Mon Sep 17 00:00:00 2001 From: Gregoire Parant Date: Sun, 20 Feb 2022 23:28:27 +0100 Subject: [PATCH 79/88] Update CoWebsite Jitsi - Change Jitsi meeting icon - Add Jitsi meeting information Signed-off-by: Gregoire Parant --- .../CoWebsiteThumbnailSlot.svelte | 280 ++++++++++-------- .../EmbedScreens/CoWebsitesContainer.svelte | 3 +- front/src/Phaser/Entity/Character.ts | 2 +- front/src/Phaser/Game/ActivatablesManager.ts | 2 +- front/src/Phaser/Game/GameScene.ts | 2 +- front/src/Phaser/Items/ActionableItem.ts | 2 +- 6 files changed, 163 insertions(+), 128 deletions(-) diff --git a/front/src/Components/EmbedScreens/CoWebsiteThumbnailSlot.svelte b/front/src/Components/EmbedScreens/CoWebsiteThumbnailSlot.svelte index e7345223..4c0c3793 100644 --- a/front/src/Components/EmbedScreens/CoWebsiteThumbnailSlot.svelte +++ b/front/src/Components/EmbedScreens/CoWebsiteThumbnailSlot.svelte @@ -188,137 +188,173 @@ /> + + +

+ +
+
diff --git a/front/src/Components/EmbedScreens/CoWebsitesContainer.svelte b/front/src/Components/EmbedScreens/CoWebsitesContainer.svelte index 602a1625..dad86ad3 100644 --- a/front/src/Components/EmbedScreens/CoWebsitesContainer.svelte +++ b/front/src/Components/EmbedScreens/CoWebsitesContainer.svelte @@ -24,6 +24,7 @@ left: 2%; overflow-x: auto; overflow-y: hidden; + overflow: visible; &.vertical { height: auto !important; @@ -31,8 +32,6 @@ bottom: auto !important; left: auto !important; position: relative; - overflow-x: hidden; - overflow-y: auto; flex-direction: column; align-items: center; padding-top: 4px; diff --git a/front/src/Phaser/Entity/Character.ts b/front/src/Phaser/Entity/Character.ts index b411eee7..35aa3f09 100644 --- a/front/src/Phaser/Entity/Character.ts +++ b/front/src/Phaser/Entity/Character.ts @@ -95,7 +95,7 @@ export abstract class Character extends Container implements OutlineableInterfac fontFamily: '"Press Start 2P"', fontSize: "8px", strokeThickness: 2, - stroke: "gray", + stroke: "black", metrics: { ascent: 20, descent: 10, diff --git a/front/src/Phaser/Game/ActivatablesManager.ts b/front/src/Phaser/Game/ActivatablesManager.ts index 74c637d7..b41c5a72 100644 --- a/front/src/Phaser/Game/ActivatablesManager.ts +++ b/front/src/Phaser/Game/ActivatablesManager.ts @@ -13,7 +13,7 @@ export class ActivatablesManager { private canSelectByDistance: boolean = true; - private readonly outlineColor = 0xffff00; + private readonly outlineColor = 0xf9e81e; private readonly directionalActivationPositionShift = 50; constructor(currentPlayer: Player) { diff --git a/front/src/Phaser/Game/GameScene.ts b/front/src/Phaser/Game/GameScene.ts index 2d887b2a..2b11a782 100644 --- a/front/src/Phaser/Game/GameScene.ts +++ b/front/src/Phaser/Game/GameScene.ts @@ -1687,7 +1687,7 @@ ${escapedMessage} } }); this.CurrentPlayer.on(Phaser.Input.Events.POINTER_OVER, (pointer: Phaser.Input.Pointer) => { - this.CurrentPlayer.pointerOverOutline(0x00ffff); + this.CurrentPlayer.pointerOverOutline(0x365dff); }); this.CurrentPlayer.on(Phaser.Input.Events.POINTER_OUT, (pointer: Phaser.Input.Pointer) => { this.CurrentPlayer.pointerOutOutline(); diff --git a/front/src/Phaser/Items/ActionableItem.ts b/front/src/Phaser/Items/ActionableItem.ts index ff85e232..fa7a87dc 100644 --- a/front/src/Phaser/Items/ActionableItem.ts +++ b/front/src/Phaser/Items/ActionableItem.ts @@ -56,7 +56,7 @@ export class ActionableItem implements ActivatableInterface { this.getOutlinePlugin()?.add(this.sprite, { thickness: 2, - outlineColor: 0xffff00, + outlineColor: 0xf9e81e, }); } From 070ad6b9931a33e192d6733c97701796010d5861 Mon Sep 17 00:00:00 2001 From: Gregoire Parant Date: Sun, 20 Feb 2022 23:38:20 +0100 Subject: [PATCH 80/88] Add jiti logo for Jitsi button meeting --- front/dist/resources/logos/meet.svg | 49 --- .../CoWebsiteThumbnailSlot.svelte | 303 +++++++++--------- 2 files changed, 150 insertions(+), 202 deletions(-) delete mode 100644 front/dist/resources/logos/meet.svg diff --git a/front/dist/resources/logos/meet.svg b/front/dist/resources/logos/meet.svg deleted file mode 100644 index 787134e1..00000000 --- a/front/dist/resources/logos/meet.svg +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/front/src/Components/EmbedScreens/CoWebsiteThumbnailSlot.svelte b/front/src/Components/EmbedScreens/CoWebsiteThumbnailSlot.svelte index 4c0c3793..ecd62b71 100644 --- a/front/src/Components/EmbedScreens/CoWebsiteThumbnailSlot.svelte +++ b/front/src/Components/EmbedScreens/CoWebsiteThumbnailSlot.svelte @@ -21,7 +21,7 @@ onMount(() => { icon.src = isJitsi - ? "/resources/logos/meet.svg" + ? "/resources/logos/jitsi.png" : `${ICON_URL}/icon?url=${coWebsite.getUrl().hostname}&size=64..96..256&fallback_icon_color=14304c`; icon.alt = coWebsite.getUrl().hostname; icon.onload = () => { @@ -190,171 +190,168 @@ -
- +
+

Open / Close Jitsi meeting!

-
From 0943ec89915d9341f04eb1caab34982e8804412a Mon Sep 17 00:00:00 2001 From: Gregoire Parant Date: Mon, 21 Feb 2022 01:09:53 +0100 Subject: [PATCH 81/88] Define color text by brightness Signed-off-by: Gregoire Parant --- .../EmbedScreens/CoWebsiteThumbnailSlot.svelte | 9 +++++---- .../Video/ScreenSharingMediaBox.svelte | 6 ++++-- .../src/Components/Video/VideoMediaBox.svelte | 6 ++++-- front/src/Components/Video/utils.ts | 18 ++++++++++++++++++ front/src/Phaser/Entity/Character.ts | 2 +- 5 files changed, 32 insertions(+), 9 deletions(-) diff --git a/front/src/Components/EmbedScreens/CoWebsiteThumbnailSlot.svelte b/front/src/Components/EmbedScreens/CoWebsiteThumbnailSlot.svelte index ecd62b71..d8431704 100644 --- a/front/src/Components/EmbedScreens/CoWebsiteThumbnailSlot.svelte +++ b/front/src/Components/EmbedScreens/CoWebsiteThumbnailSlot.svelte @@ -326,8 +326,6 @@ } &.jitsi { - filter: invert(100%); - -webkit-filter: invert(100%); padding: 7px; } } @@ -343,15 +341,18 @@ display: none; position: absolute; background-color: rgba(0, 0, 0, 0.6); - top: -30px; + top: -40px; left: -4px; width: 0 !important; min-height: 20px; transition: all 0.2s ease; overflow: hidden; color: white; - padding: 2px; + padding: 4px; border-radius: 4px; + p { + margin-bottom: 0; + } } } diff --git a/front/src/Components/Video/ScreenSharingMediaBox.svelte b/front/src/Components/Video/ScreenSharingMediaBox.svelte index d7609421..73fb792e 100644 --- a/front/src/Components/Video/ScreenSharingMediaBox.svelte +++ b/front/src/Components/Video/ScreenSharingMediaBox.svelte @@ -4,13 +4,15 @@ import type { Streamable } from "../../Stores/StreamableCollectionStore"; import type { ScreenSharingPeer } from "../../WebRtc/ScreenSharingPeer"; - import { getColorByString, srcObject } from "./utils"; + import { getColorByString, srcObject, getTextColorByBackgroundColor } from "./utils"; export let clickable = false; export let peer: ScreenSharingPeer; let streamStore = peer.streamStore; let name = peer.userName; + let backGroundColor = getColorByString(peer.userName); + let textColor = getTextColorByBackgroundColor(backGroundColor); let statusStore = peer.statusStore; let embedScreen: EmbedScreen; @@ -32,7 +34,7 @@ {/if} {#if $streamStore !== null} - {name} + {name}