From a4800cbd3e67a604e30b1137cb59866613908c8f Mon Sep 17 00:00:00 2001 From: Games for Girls Date: Thu, 12 Oct 2023 19:26:58 -0400 Subject: [PATCH] Convert project to use nextjs (#101) * convert to nextjs * chore: bump to v2 --- .babelrc | 9 - .circleci/config.yml | 2 +- .eslintrc | 14 - .eslintrc.json | 14 + .github/workflows/codeql-analysis.yml | 8 +- .github/workflows/nodejs.yml | 7 +- .gitignore | 48 +- LICENSE | 2 +- README.md | 26 +- SECURITY.md | 9 +- app/game/index.tsx | 55 + app/layout.tsx | 68 + app/page.module.css | 0 app/page.tsx | 26 + app/styles/4k.scss | 26 + app/styles/baseline.scss | 107 + app/styles/buttons.scss | 47 + app/styles/desktop.scss | 27 + {css => app/styles}/game.scss | 2 +- app/styles/globals.scss | 8 + app/styles/hud.scss | 89 + {css => app/styles}/interface.scss | 333 +- app/styles/laptop.scss | 31 + app/styles/mobile.scss | 8 + app/styles/tablet.scss | 98 + babel.config.js | 6 + bashrc | 15 - client/config.json | 14 + client/contexts/clientContext.tsx | 50 + client/contexts/gameContext.tsx | 50 + client/contexts/providers/index.tsx | 23 + client/contexts/userContext.tsx | 56 + client/contexts/windowContext.tsx | 93 + .../client/js => client}/controllers/audio.js | 13 +- .../js => client}/controllers/bubble.js | 0 {src/client/js => client}/controllers/chat.js | 0 .../js => client}/controllers/entities.js | 16 +- {src/client/js => client}/controllers/info.js | 0 .../client/js => client}/controllers/input.js | 18 +- .../js => client}/controllers/interface.js | 10 +- .../js => client}/controllers/overlay.js | 0 .../controllers/pickcharacter.js | 10 +- .../js => client}/controllers/pointer.js | 2 +- .../js => client}/controllers/sprites.js | 10 +- .../js => client}/controllers/zoning.js | 0 {src/client/js => client}/entity/animation.js | 0 .../entity/character/character.js | 0 .../js => client}/entity/character/mob/mob.js | 0 .../js => client}/entity/character/npc/npc.js | 0 .../character/player/equipment/armour.js | 0 .../character/player/equipment/boots.js | 0 .../character/player/equipment/equipment.js | 0 .../character/player/equipment/pendant.js | 0 .../entity/character/player/equipment/ring.js | 0 .../character/player/equipment/weapon.js | 0 .../entity/character/player/player.js | 4 +- .../entity/character/player/playerhandler.js | 4 +- {src/client/js => client}/entity/entity.js | 4 +- .../js => client}/entity/entityhandler.js | 2 +- .../js => client}/entity/objects/chest.js | 0 .../js => client}/entity/objects/item.js | 0 .../entity/objects/projectile.js | 0 {src/client/js => client}/entity/sprite.js | 26 +- {src/client/js => client}/game.js | 88 +- src/client/js/app.js => client/index.js | 163 +- client/index.test.js | 83 + .../js => client}/interface/abilities.js | 0 .../client/js => client}/interface/actions.js | 4 +- {src/client/js => client}/interface/bank.js | 16 +- .../interface/container/container.js | 4 +- .../js => client}/interface/container/slot.js | 2 +- .../client/js => client}/interface/enchant.js | 4 +- .../js => client}/interface/inventory.js | 10 +- client/interface/profile/ability.js | 8 + .../interface/profile/gamePage.js | 10 +- .../interface/profile/profile.js | 14 +- .../interface/profile}/quest.js | 6 +- .../interface/profile}/settings.js | 16 +- .../interface/profile}/state.js | 18 +- {src/client/js => client}/interface/warp.js | 4 +- {src/client/js => client}/lib/astar.js | 0 {src/client/js => client}/lib/log.js | 127 +- {src/client/js => client}/lib/stacktrace.js | 9 +- {src/client/js => client}/map/map.js | 20 +- {src/client/js => client}/map/mapworker.js | 2 +- {src/client/js => client}/network/messages.js | 40 +- {src/client/js => client}/network/packets.js | 0 {src/client/js => client}/network/socket.js | 12 +- .../js => client}/renderer/bubbles/blob.js | 0 {src/client/js => client}/renderer/camera.js | 0 {src/client/js => client}/renderer/grids.js | 4 +- .../js => client}/renderer/infos/splat.js | 0 .../renderer/pointers/pointer.js | 4 +- .../client/js => client}/renderer/renderer.js | 46 +- {src/client/js => client}/renderer/tile.js | 0 {src/client/js => client}/renderer/updater.js | 0 .../js => client}/utils/__mocks__/detect.js | 4 +- {src/client/js => client}/utils/detect.js | 17 +- {src/client/js => client}/utils/modules.js | 0 {src/client/js => client}/utils/pathfinder.js | 5 +- {src/client/js => client}/utils/queue.js | 0 {src/client/js => client}/utils/storage.js | 43 +- {src/client/js => client}/utils/timer.js | 0 {src/client/js => client}/utils/transition.js | 0 {src/client/js => client}/utils/util.js | 21 +- components/abilitiesBar/index.tsx | 15 + components/actionsDialog/index.tsx | 13 + components/bank/index.tsx | 19 + components/bubbles/index.tsx | 7 + components/buttonBar/index.tsx | 16 + components/canvas/index.tsx | 17 + {assets => components/chatBar}/img/chat.png | Bin .../chatBar}/img/inventory.png | Bin components/chatBar/index.tsx | 14 + components/chatInput/index.tsx | 29 + components/createCharacter/index.tsx | 36 + components/deathDialog/index.tsx | 10 + components/dropDialog/index.tsx | 28 + components/enchant/index.tsx | 19 + components/footer/index.tsx | 5 + components/hud/index.tsx | 19 + components/inventory/index.tsx | 9 + .../loadCharacter/img}/friends-2.png | Bin .../loadCharacter/img}/hud-guest.png | Bin .../loadCharacter/img}/hud-join.png | Bin .../loadCharacter/img}/lock.png | Bin components/loadCharacter/index.tsx | 48 + {assets => components/loader}/img/coin.gif | Bin components/loader/index.tsx | 13 + components/logo/index.tsx | 17 + .../common => components/logo}/wtfintro.png | Bin components/map/index.tsx | 15 + components/messageDialog/index.tsx | 25 + components/notifications/index.tsx | 19 + components/playerActions/index.tsx | 14 + components/profileDialog/index.tsx | 33 + components/settingsDialog/index.tsx | 50 + components/splash/index.tsx | 27 + components/trade/index.tsx | 11 + .../worldBar}/img/achievements.png | Bin {assets => components/worldBar}/img/world.png | Bin components/worldBar/index.tsx | 14 + coverage/badge.svg | 2 +- coverage/coverage-summary.json | 72 +- coverage/lcov-report/block-navigation.js | 8 + coverage/lcov-report/favicon.png | Bin 540 -> 445 bytes coverage/lcov-report/index.html | 357 +- coverage/lcov-report/sort-arrow-sprite.png | Bin 209 -> 138 bytes coverage/lcov-report/sorter.js | 26 + coverage/lcov.info | 10260 +----- css/desktop.scss | 490 - css/main.scss | 4 - css/vars.scss | 1186 - index.html | 354 - next-env.d.ts | 5 + next.config.js | 10 + package-lock.json | 25943 +++++----------- package.json | 119 +- {assets => public}/audio/music/beach.mp3 | Bin {assets => public}/audio/music/codingroom.mp3 | Bin .../audio/music/meadowofthepast.mp3 | Bin {assets => public}/audio/music/smalltown.mp3 | Bin {assets => public}/audio/music/spookyship.mp3 | Bin {assets => public}/audio/music/village.mp3 | Bin {assets => public}/audio/sfx/achievement.mp3 | Bin {assets => public}/audio/sfx/chat.mp3 | Bin {assets => public}/audio/sfx/chest.mp3 | Bin {assets => public}/audio/sfx/death.mp3 | Bin {assets => public}/audio/sfx/firefox.mp3 | Bin {assets => public}/audio/sfx/heal.mp3 | Bin {assets => public}/audio/sfx/hit1.mp3 | Bin {assets => public}/audio/sfx/hit2.mp3 | Bin {assets => public}/audio/sfx/hurt.mp3 | Bin {assets => public}/audio/sfx/kill1.mp3 | Bin {assets => public}/audio/sfx/kill2.mp3 | Bin {assets => public}/audio/sfx/loot.mp3 | Bin {assets => public}/audio/sfx/noloot.mp3 | Bin {assets => public}/audio/sfx/npc-end.mp3 | Bin {assets => public}/audio/sfx/npc.mp3 | Bin {assets => public}/audio/sfx/npctalk.mp3 | Bin {assets => public}/audio/sfx/revive.mp3 | Bin {assets => public}/audio/sfx/teleport.mp3 | Bin {assets => public}/data/maps/world_client.js | 0 .../data/maps/world_client.json | 0 {assets => public}/data/sprites.json | 0 .../fonts/advocut/advocut-webfont.eot | Bin .../fonts/advocut/advocut-webfont.svg | 0 .../fonts/advocut/advocut-webfont.ttf | Bin .../fonts/advocut/advocut-webfont.woff | Bin {assets => public}/img/1-star.png | Bin {assets => public}/img/1/bank.png | Bin {assets => public}/img/1/border.png | Bin {assets => public}/img/1/buttons.png | Bin .../img/1/characterdialogsheet.png | Bin {assets => public}/img/1/containers.png | Bin {assets => public}/img/1/main.png | Bin {assets => public}/img/1/maintwo.png | Bin {assets => public}/img/1/mapframe.png | Bin {assets => public}/img/1/mapicons.png | Bin {assets => public}/img/1/pointer.png | Bin {assets => public}/img/1/skillicons.png | Bin {assets => public}/img/1/skillslots.png | Bin {assets => public}/img/1/spritesheet.png | Bin {assets => public}/img/1/trade.png | Bin {assets => public}/img/2/achievements.png | Bin {assets => public}/img/2/adherer.png | Bin .../img/2/adhererarcherarmor.png | Bin {assets => public}/img/2/adhererrobe.png | Bin {assets => public}/img/2/adminarmor.png | Bin {assets => public}/img/2/agent.png | Bin .../img/2/ancientmanumentnpc.png | Bin {assets => public}/img/2/angelnpc.png | Bin {assets => public}/img/2/ant.png | Bin {assets => public}/img/2/archerarmor.png | Bin .../img/2/archerschooluniform.png | Bin {assets => public}/img/2/axe.png | Bin {assets => public}/img/2/babyspider.png | Bin {assets => public}/img/2/bamboospear.png | Bin {assets => public}/img/2/bank.png | Bin {assets => public}/img/2/barsheet.png | Bin {assets => public}/img/2/basebarcontainer.png | Bin {assets => public}/img/2/bastardsword.png | Bin {assets => public}/img/2/bat.png | Bin {assets => public}/img/2/beachnpc.png | Bin {assets => public}/img/2/bearseonbiarmor.png | Bin {assets => public}/img/2/beautifullife.png | Bin {assets => public}/img/2/bee.png | Bin {assets => public}/img/2/beearmor.png | Bin {assets => public}/img/2/beetle.png | Bin {assets => public}/img/2/beetlearmor.png | Bin .../img/2/blackpirateskeleton.png | Bin {assets => public}/img/2/blackspiderarmor.png | Bin {assets => public}/img/2/blackwizard.png | Bin {assets => public}/img/2/blazespider.png | Bin {assets => public}/img/2/bloodbow.png | Bin {assets => public}/img/2/bloodsucking.png | Bin .../img/2/bluebikinigirlnpc.png | Bin {assets => public}/img/2/bluecockroach.png | Bin {assets => public}/img/2/bluedamboarmor.png | Bin {assets => public}/img/2/bluepiratearmor.png | Bin {assets => public}/img/2/bluepreta.png | Bin {assets => public}/img/2/bluescimitar.png | Bin {assets => public}/img/2/bluestoremannpc.png | Bin {assets => public}/img/2/bluesword.png | Bin .../img/2/bluewingarcherarmor.png | Bin {assets => public}/img/2/bluewingarmor.png | Bin {assets => public}/img/2/border.png | Bin {assets => public}/img/2/boss.png | Bin {assets => public}/img/2/bow.png | Bin {assets => public}/img/2/boxingman.png | Bin {assets => public}/img/2/breaker.png | Bin {assets => public}/img/2/bridalmask.png | Bin {assets => public}/img/2/bronzemedal.png | Bin {assets => public}/img/2/brownmouse.png | Bin {assets => public}/img/2/bucklerbenef.png | Bin {assets => public}/img/2/burgerarmor.png | Bin {assets => public}/img/2/burningstrike.png | Bin {assets => public}/img/2/butcherknife.png | Bin {assets => public}/img/2/buttons.png | Bin {assets => public}/img/2/cactus.png | Bin {assets => public}/img/2/cactusaxe.png | Bin {assets => public}/img/2/candybar.png | Bin {assets => public}/img/2/captainbow.png | Bin {assets => public}/img/2/cat.png | Bin {assets => public}/img/2/catarmor.png | Bin {assets => public}/img/2/characterbutton.png | Bin .../img/2/characterdialogsheet.png | Bin .../img/2/cheoliarcherarmor.png | Bin {assets => public}/img/2/cheoliarmor.png | Bin {assets => public}/img/2/chest.png | Bin {assets => public}/img/2/christmasarmor.png | Bin {assets => public}/img/2/clam.png | Bin {assets => public}/img/2/clotharmor.png | Bin {assets => public}/img/2/cobra.png | Bin {assets => public}/img/2/cockroachsuit.png | Bin {assets => public}/img/2/coder.png | Bin {assets => public}/img/2/cokearmor.png | Bin {assets => public}/img/2/comb.png | Bin {assets => public}/img/2/combatuniform.png | Bin {assets => public}/img/2/conferencecall.png | Bin {assets => public}/img/2/containers.png | Bin {assets => public}/img/2/crab.png | Bin {assets => public}/img/2/criticaleffect.png | Bin {assets => public}/img/2/criticalstrike.png | Bin .../img/2/crystalarcherarmor.png | Bin {assets => public}/img/2/crystalarmor.png | Bin {assets => public}/img/2/crystalbow.png | Bin {assets => public}/img/2/crystalscolpion.png | Bin {assets => public}/img/2/cursedhahoemask.png | Bin {assets => public}/img/2/cursedjangseung.png | Bin {assets => public}/img/2/damboarmor.png | Bin {assets => public}/img/2/darkogre.png | Bin {assets => public}/img/2/darkregion.png | Bin .../img/2/darkregionillusion.png | Bin {assets => public}/img/2/darkscolpion.png | Bin {assets => public}/img/2/darkskeleton.png | Bin {assets => public}/img/2/daywalker.png | Bin {assets => public}/img/2/death.png | Bin {assets => public}/img/2/deathbow.png | Bin {assets => public}/img/2/deathknight.png | Bin {assets => public}/img/2/desertnpc.png | Bin {assets => public}/img/2/desertscolpion.png | Bin {assets => public}/img/2/devilkazya.png | Bin {assets => public}/img/2/devilkazyaarmor.png | Bin {assets => public}/img/2/devilkazyasword.png | Bin {assets => public}/img/2/dinosaurarmor.png | Bin {assets => public}/img/2/doctor.png | Bin .../img/2/dovakinarcherarmor.png | Bin {assets => public}/img/2/dovakinarmor.png | Bin {assets => public}/img/2/dragonarmor.png | Bin {assets => public}/img/2/earthworm.png | Bin {assets => public}/img/2/elfnpc.png | Bin {assets => public}/img/2/eliminator.png | Bin {assets => public}/img/2/enel.png | Bin {assets => public}/img/2/enelarmor.png | Bin {assets => public}/img/2/eneltrident.png | Bin {assets => public}/img/2/evasion.png | Bin {assets => public}/img/2/evilarmor.png | Bin {assets => public}/img/2/expbar.png | Bin .../img/2/explosion-boulder.png | Bin .../img/2/explosion-fireball.png | Bin {assets => public}/img/2/explosion-heal.png | Bin .../img/2/explosion-iceball.png | Bin .../img/2/explosion-lavaball.png | Bin {assets => public}/img/2/explosion-terror.png | Bin {assets => public}/img/2/eye.png | Bin {assets => public}/img/2/fairynpc.png | Bin .../img/2/fallenarcherarmor.png | Bin {assets => public}/img/2/fallenarmor.png | Bin {assets => public}/img/2/firebenef.png | Bin {assets => public}/img/2/firefox.png | Bin {assets => public}/img/2/fireplay.png | Bin {assets => public}/img/2/fireshot.png | Bin {assets => public}/img/2/firespider.png | Bin {assets => public}/img/2/firesword.png | Bin {assets => public}/img/2/firstsonangelnpc.png | Bin {assets => public}/img/2/fisherman.png | Bin {assets => public}/img/2/flaredance.png | Bin {assets => public}/img/2/flaredanceeffect.png | Bin {assets => public}/img/2/flaredeathknight.png | Bin {assets => public}/img/2/fluffy.png | Bin {assets => public}/img/2/forestbow.png | Bin {assets => public}/img/2/forestdragon.png | Bin .../img/2/forestguardiansword.png | Bin {assets => public}/img/2/forestnpc.png | Bin .../img/2/frankensteinarmor.png | Bin {assets => public}/img/2/friedpotatoarmor.png | Bin {assets => public}/img/2/frog.png | Bin {assets => public}/img/2/frogarmor.png | Bin {assets => public}/img/2/frostarmor.png | Bin {assets => public}/img/2/frostqueen.png | Bin {assets => public}/img/2/gayarcherarmor.png | Bin {assets => public}/img/2/gayarmor.png | Bin {assets => public}/img/2/gaybow.png | Bin .../img/2/gbwingarcherarmor.png | Bin {assets => public}/img/2/gbwingarmor.png | Bin {assets => public}/img/2/ghost.png | Bin {assets => public}/img/2/ghostrider.png | Bin {assets => public}/img/2/goblin.png | Bin {assets => public}/img/2/goldaxe.png | Bin .../img/2/goldenarcherarmor.png | Bin {assets => public}/img/2/goldenarmor.png | Bin {assets => public}/img/2/goldenbow.png | Bin {assets => public}/img/2/goldensword.png | Bin {assets => public}/img/2/goldgolem.png | Bin {assets => public}/img/2/goldmedal.png | Bin {assets => public}/img/2/golem.png | Bin {assets => public}/img/2/greenarcherarmor.png | Bin {assets => public}/img/2/greenarmor.png | Bin {assets => public}/img/2/greenbow.png | Bin {assets => public}/img/2/greendamboarmor.png | Bin {assets => public}/img/2/greenfish.png | Bin {assets => public}/img/2/greenlightbow.png | Bin {assets => public}/img/2/greenlightsaber.png | Bin .../img/2/greenpirateskeleton.png | Bin .../img/2/greenwingarcherarmor.png | Bin {assets => public}/img/2/greenwingarmor.png | Bin {assets => public}/img/2/guard.png | Bin {assets => public}/img/2/guardarcherarmor.png | Bin {assets => public}/img/2/guardarmor.png | Bin {assets => public}/img/2/halberd.png | Bin {assets => public}/img/2/halloweenjkarmor.png | Bin {assets => public}/img/2/hammer.png | Bin {assets => public}/img/2/hand.png | Bin {assets => public}/img/2/heal.png | Bin {assets => public}/img/2/healactiveicon.png | Bin {assets => public}/img/2/healeffect.png | Bin {assets => public}/img/2/hellspider.png | Bin {assets => public}/img/2/helpbutton.png | Bin {assets => public}/img/2/hermitcrab.png | Bin {assets => public}/img/2/hobgoblin.png | Bin {assets => public}/img/2/hongcheol.png | Bin {assets => public}/img/2/hongcheolarmor.png | Bin {assets => public}/img/2/hpbar.png | Bin {assets => public}/img/2/huniarmor.png | Bin {assets => public}/img/2/hunterbow.png | Bin {assets => public}/img/2/iamverycoldnpc.png | Bin {assets => public}/img/2/iceelfnpc.png | Bin {assets => public}/img/2/icegoblin.png | Bin {assets => public}/img/2/icegolem.png | Bin {assets => public}/img/2/iceknight.png | Bin {assets => public}/img/2/icerose.png | Bin {assets => public}/img/2/icevulture.png | Bin {assets => public}/img/2/infectedguard.png | Bin {assets => public}/img/2/inventory.png | Bin {assets => public}/img/2/ironbow.png | Bin {assets => public}/img/2/ironknightarmor.png | Bin {assets => public}/img/2/ironogre.png | Bin .../img/2/item-adhererarcherarmor.png | Bin {assets => public}/img/2/item-adhererrobe.png | Bin {assets => public}/img/2/item-adminarmor.png | Bin {assets => public}/img/2/item-apple.png | Bin {assets => public}/img/2/item-archerarmor.png | Bin .../img/2/item-archerschooluniform.png | Bin .../img/2/item-armorbinding.png | Bin {assets => public}/img/2/item-armorcommon.png | Bin .../img/2/item-armorpatches.png | Bin {assets => public}/img/2/item-armorrare.png | Bin .../img/2/item-armoruncommon.png | Bin {assets => public}/img/2/item-axe.png | Bin {assets => public}/img/2/item-bamboospear.png | Bin {assets => public}/img/2/item-banana.png | Bin .../img/2/item-bastardsword.png | Bin .../img/2/item-bearseonbiarmor.png | Bin .../img/2/item-beautifullife.png | Bin {assets => public}/img/2/item-beearmor.png | Bin {assets => public}/img/2/item-beetlearmor.png | Bin {assets => public}/img/2/item-bigflask.png | Bin {assets => public}/img/2/item-blackpotion.png | Bin .../img/2/item-blackspiderarmor.png | Bin {assets => public}/img/2/item-bloodbow.png | Bin .../img/2/item-bluedamboarmor.png | Bin .../img/2/item-bluepiratearmor.png | Bin .../img/2/item-bluescimitar.png | Bin {assets => public}/img/2/item-bluesword.png | Bin .../img/2/item-bluewingarcherarmor.png | Bin .../img/2/item-bluewingarmor.png | Bin {assets => public}/img/2/item-book.png | Bin {assets => public}/img/2/item-bowcommon.png | Bin {assets => public}/img/2/item-bowlimb.png | Bin {assets => public}/img/2/item-bowrare.png | Bin {assets => public}/img/2/item-bowstring.png | Bin {assets => public}/img/2/item-bowuncommon.png | Bin {assets => public}/img/2/item-branch.png | Bin {assets => public}/img/2/item-breaker.png | Bin {assets => public}/img/2/item-bridalmask.png | Bin {assets => public}/img/2/item-burger.png | Bin {assets => public}/img/2/item-burgerarmor.png | Bin .../img/2/item-butcherknife.png | Bin {assets => public}/img/2/item-cactusaxe.png | Bin {assets => public}/img/2/item-cake.png | Bin {assets => public}/img/2/item-candybar.png | Bin {assets => public}/img/2/item-captainbow.png | Bin {assets => public}/img/2/item-catarmor.png | Bin {assets => public}/img/2/item-cd.png | Bin .../img/2/item-cheoliarcherarmor.png | Bin {assets => public}/img/2/item-cheoliarmor.png | Bin .../img/2/item-christmasarmor.png | Bin {assets => public}/img/2/item-cloth.png | Bin {assets => public}/img/2/item-clotharmor.png | Bin .../img/2/item-cockroachsuit.png | Bin {assets => public}/img/2/item-cokearmor.png | Bin {assets => public}/img/2/item-comb.png | Bin .../img/2/item-combatuniform.png | Bin .../img/2/item-conferencecall.png | Bin .../img/2/item-crystalarcherarmor.png | Bin .../img/2/item-crystalarmor.png | Bin {assets => public}/img/2/item-crystalbow.png | Bin {assets => public}/img/2/item-damboarmor.png | Bin {assets => public}/img/2/item-daywalker.png | Bin {assets => public}/img/2/item-deathbow.png | Bin .../img/2/item-devilkazyaarmor.png | Bin .../img/2/item-devilkazyasword.png | Bin {assets => public}/img/2/item-diamondring.png | Bin .../img/2/item-dinosaurarmor.png | Bin {assets => public}/img/2/item-dolring.png | Bin .../img/2/item-dovakinarcherarmor.png | Bin .../img/2/item-dovakinarmor.png | Bin {assets => public}/img/2/item-dragonarmor.png | Bin {assets => public}/img/2/item-element.png | Bin {assets => public}/img/2/item-emeraldring.png | Bin {assets => public}/img/2/item-enelarmor.png | Bin {assets => public}/img/2/item-eneltrident.png | Bin .../img/2/item-essentialrage.png | Bin {assets => public}/img/2/item-evilarmor.png | Bin .../img/2/item-fallenarcherarmor.png | Bin {assets => public}/img/2/item-fallenarmor.png | Bin {assets => public}/img/2/item-fireplay.png | Bin {assets => public}/img/2/item-firepotion.png | Bin {assets => public}/img/2/item-fireshot.png | Bin {assets => public}/img/2/item-firesword.png | Bin {assets => public}/img/2/item-flask.png | Bin {assets => public}/img/2/item-forestbow.png | Bin .../img/2/item-forestguardiansword.png | Bin .../img/2/item-frankensteinarmor.png | Bin .../img/2/item-friedpotatoarmor.png | Bin {assets => public}/img/2/item-frogarmor.png | Bin {assets => public}/img/2/item-frostarmor.png | Bin .../img/2/item-gayarcherarmor.png | Bin {assets => public}/img/2/item-gayarmor.png | Bin {assets => public}/img/2/item-gaybow.png | Bin .../img/2/item-gbwingarcherarmor.png | Bin {assets => public}/img/2/item-gbwingarmor.png | Bin {assets => public}/img/2/item-ghostrider.png | Bin {assets => public}/img/2/item-gold.png | Bin {assets => public}/img/2/item-goldaxe.png | Bin .../img/2/item-goldenarcherarmor.png | Bin {assets => public}/img/2/item-goldenarmor.png | Bin {assets => public}/img/2/item-goldenbow.png | Bin {assets => public}/img/2/item-goldensword.png | Bin {assets => public}/img/2/item-goldring.png | Bin .../img/2/item-greenarcherarmor.png | Bin {assets => public}/img/2/item-greenarmor.png | Bin {assets => public}/img/2/item-greenbow.png | Bin .../img/2/item-greendamboarmor.png | Bin .../img/2/item-greenlightbow.png | Bin .../img/2/item-greenlightsaber.png | Bin .../img/2/item-greenpendant.png | Bin .../img/2/item-greenwingarcherarmor.png | Bin .../img/2/item-greenwingarmor.png | Bin .../img/2/item-guardarcherarmor.png | Bin {assets => public}/img/2/item-guardarmor.png | Bin {assets => public}/img/2/item-halberd.png | Bin .../img/2/item-halloweenjkarmor.png | Bin {assets => public}/img/2/item-hammer.png | Bin .../img/2/item-hongcheolarmor.png | Bin {assets => public}/img/2/item-huniarmor.png | Bin {assets => public}/img/2/item-hunterbow.png | Bin {assets => public}/img/2/item-icerose.png | Bin {assets => public}/img/2/item-ironbow.png | Bin .../img/2/item-ironknightarmor.png | Bin {assets => public}/img/2/item-justicebow.png | Bin .../img/2/item-justicehammer.png | Bin {assets => public}/img/2/item-leaf.png | Bin .../img/2/item-leatherarcherarmor.png | Bin .../img/2/item-leatherarmor.png | Bin .../img/2/item-legolasarmor.png | Bin {assets => public}/img/2/item-loveactring.png | Bin {assets => public}/img/2/item-machete.png | Bin {assets => public}/img/2/item-magicspear.png | Bin .../img/2/item-mailarcherarmor.png | Bin {assets => public}/img/2/item-mailarmor.png | Bin {assets => public}/img/2/item-manaflask.png | Bin .../img/2/item-marblependant.png | Bin {assets => public}/img/2/item-marinebow.png | Bin {assets => public}/img/2/item-memme.png | Bin {assets => public}/img/2/item-mermaidbow.png | Bin {assets => public}/img/2/item-mineral.png | Bin .../img/2/item-miniseadragonarmor.png | Bin {assets => public}/img/2/item-morningstar.png | Bin .../img/2/item-mountforestdragon.png | Bin .../img/2/item-mountseadragon.png | Bin .../img/2/item-mountwhitetiger.png | Bin {assets => public}/img/2/item-ninjaarmor.png | Bin {assets => public}/img/2/item-orange.png | Bin {assets => public}/img/2/item-paewoldo.png | Bin .../img/2/item-paladinarmor.png | Bin .../img/2/item-pearlpendant.png | Bin {assets => public}/img/2/item-pearlring.png | Bin {assets => public}/img/2/item-pendant1.png | Bin {assets => public}/img/2/item-pickle.png | Bin .../img/2/item-pinkcockroacharmor.png | Bin {assets => public}/img/2/item-pinksword.png | Bin .../img/2/item-piratearcherarmor.png | Bin {assets => public}/img/2/item-pirateking.png | Bin {assets => public}/img/2/item-plasticbow.png | Bin .../img/2/item-platearcherarmor.png | Bin {assets => public}/img/2/item-platearmor.png | Bin {assets => public}/img/2/item-plunger.png | Bin {assets => public}/img/2/item-portalarmor.png | Bin {assets => public}/img/2/item-powerarmour.png | Bin {assets => public}/img/2/item-powersword.png | Bin .../img/2/item-purplecloudkallege.png | Bin {assets => public}/img/2/item-rabbitarmor.png | Bin {assets => public}/img/2/item-radisharmor.png | Bin {assets => public}/img/2/item-rainbowapro.png | Bin .../img/2/item-rainbowsword.png | Bin .../img/2/item-ratarcherarmor.png | Bin {assets => public}/img/2/item-ratarmor.png | Bin .../img/2/item-redarcherarmor.png | Bin {assets => public}/img/2/item-redarmor.png | Bin {assets => public}/img/2/item-redbow.png | Bin .../img/2/item-reddamboarmor.png | Bin {assets => public}/img/2/item-redenelbow.png | Bin .../img/2/item-redguardarcherarmor.png | Bin .../img/2/item-redguardarmor.png | Bin {assets => public}/img/2/item-redlightbow.png | Bin .../img/2/item-redlightsaber.png | Bin {assets => public}/img/2/item-redmetalbow.png | Bin .../img/2/item-redmetalsword.png | Bin {assets => public}/img/2/item-redsickle.png | Bin .../img/2/item-redsicklebow.png | Bin {assets => public}/img/2/item-redsword.png | Bin .../img/2/item-redwingarcherarmor.png | Bin .../img/2/item-redwingarmor.png | Bin {assets => public}/img/2/item-regionarmor.png | Bin {assets => public}/img/2/item-ring1.png | Bin .../img/2/item-robocoparmor.png | Bin {assets => public}/img/2/item-rock.png | Bin {assets => public}/img/2/item-rose.png | Bin {assets => public}/img/2/item-rosebow.png | Bin {assets => public}/img/2/item-royalazalea.png | Bin {assets => public}/img/2/item-rubyring.png | Bin {assets => public}/img/2/item-rudolfarmor.png | Bin .../img/2/item-sapphirering.png | Bin .../img/2/item-schooluniform.png | Bin {assets => public}/img/2/item-scimitar.png | Bin .../img/2/item-seadragonarmor.png | Bin {assets => public}/img/2/item-seahorsebow.png | Bin {assets => public}/img/2/item-searage.png | Bin {assets => public}/img/2/item-seed.png | Bin .../img/2/item-shadowregionarmor.png | Bin {assets => public}/img/2/item-shardt1.png | Bin {assets => public}/img/2/item-shardt2.png | Bin {assets => public}/img/2/item-shardt3.png | Bin {assets => public}/img/2/item-shardt4.png | Bin {assets => public}/img/2/item-shardt5.png | Bin {assets => public}/img/2/item-sickle.png | Bin {assets => public}/img/2/item-sicklebow.png | Bin {assets => public}/img/2/item-sidesword.png | Bin {assets => public}/img/2/item-skylightbow.png | Bin .../img/2/item-skylightsaber.png | Bin .../img/2/item-snowfoxarcherarmor.png | Bin .../img/2/item-snowfoxarmor.png | Bin .../img/2/item-snowmanarmor.png | Bin {assets => public}/img/2/item-snowpotion.png | Bin {assets => public}/img/2/item-spear.png | Bin {assets => public}/img/2/item-spiritring.png | Bin {assets => public}/img/2/item-sproutring.png | Bin .../img/2/item-squeakyhammer.png | Bin {assets => public}/img/2/item-squidarmor.png | Bin {assets => public}/img/2/item-sword1.png | Bin {assets => public}/img/2/item-sword2.png | Bin {assets => public}/img/2/item-taekwondo.png | Bin .../img/2/item-tamagotchiring.png | Bin {assets => public}/img/2/item-thiefarmor.png | Bin {assets => public}/img/2/item-tigerarmor.png | Bin {assets => public}/img/2/item-topazring.png | Bin {assets => public}/img/2/item-trident.png | Bin {assets => public}/img/2/item-typhoon.png | Bin {assets => public}/img/2/item-violetbow.png | Bin {assets => public}/img/2/item-watermelon.png | Bin .../img/2/item-watermelonbow.png | Bin {assets => public}/img/2/item-weaponblade.png | Bin .../img/2/item-weaponcommon.png | Bin {assets => public}/img/2/item-weaponhilt.png | Bin {assets => public}/img/2/item-weaponrare.png | Bin .../img/2/item-weaponuncommon.png | Bin {assets => public}/img/2/item-weastaff.png | Bin {assets => public}/img/2/item-whip.png | Bin .../img/2/item-whitearcherarmor.png | Bin {assets => public}/img/2/item-whitearmor.png | Bin {assets => public}/img/2/item-wizardrobe.png | Bin .../img/2/item-wolfarcherarmor.png | Bin {assets => public}/img/2/item-wolfarmor.png | Bin {assets => public}/img/2/item-wood.png | Bin {assets => public}/img/2/item-woodenbow.png | Bin {assets => public}/img/2/jirisanmoonbear.png | Bin {assets => public}/img/2/justicebow.png | Bin {assets => public}/img/2/justicehammer.png | Bin {assets => public}/img/2/kaonashi.png | Bin {assets => public}/img/2/king.png | Bin {assets => public}/img/2/lavanpc.png | Bin .../img/2/leatherarcherarmor.png | Bin {assets => public}/img/2/leatherarmor.png | Bin {assets => public}/img/2/legolasarmor.png | Bin .../img/2/lightningguardian.png | Bin {assets => public}/img/2/livingarmor.png | Bin {assets => public}/img/2/loot.png | Bin {assets => public}/img/2/machete.png | Bin {assets => public}/img/2/magicspear.png | Bin {assets => public}/img/2/mailarcherarmor.png | Bin {assets => public}/img/2/mailarmor.png | Bin {assets => public}/img/2/main.png | Bin {assets => public}/img/2/maintwo.png | Bin {assets => public}/img/2/mantis.png | Bin {assets => public}/img/2/mapframe.png | Bin {assets => public}/img/2/mapicons.png | Bin {assets => public}/img/2/marinebow.png | Bin {assets => public}/img/2/memme.png | Bin {assets => public}/img/2/mermaid.png | Bin {assets => public}/img/2/mermaidbow.png | Bin {assets => public}/img/2/mermaidnpc.png | Bin {assets => public}/img/2/mimic.png | Bin {assets => public}/img/2/minidragon.png | Bin {assets => public}/img/2/miniemperor.png | Bin {assets => public}/img/2/miniiceknight.png | Bin {assets => public}/img/2/miniknight.png | Bin {assets => public}/img/2/miniseadragon.png | Bin .../img/2/miniseadragonarmor.png | Bin {assets => public}/img/2/mojojojonpc.png | Bin {assets => public}/img/2/moleking.png | Bin {assets => public}/img/2/momangelnpc.png | Bin .../img/2/moreinventorybutton.png | Bin {assets => public}/img/2/morningstar.png | Bin {assets => public}/img/2/nightmareregion.png | Bin {assets => public}/img/2/ninjaarmor.png | Bin {assets => public}/img/2/nyan.png | Bin {assets => public}/img/2/octocat.png | Bin {assets => public}/img/2/octopus.png | Bin {assets => public}/img/2/oddeyecat.png | Bin {assets => public}/img/2/ogre.png | Bin {assets => public}/img/2/ogrelord.png | Bin {assets => public}/img/2/oldogre.png | Bin {assets => public}/img/2/orc.png | Bin {assets => public}/img/2/paewoldo.png | Bin {assets => public}/img/2/pain.png | Bin {assets => public}/img/2/paladinarmor.png | Bin {assets => public}/img/2/penguin.png | Bin {assets => public}/img/2/pickle.png | Bin {assets => public}/img/2/pierrot.png | Bin .../img/2/pinkcockroacharmor.png | Bin {assets => public}/img/2/pinkelf.png | Bin {assets => public}/img/2/pinksword.png | Bin .../img/2/piratearcherarmor.png | Bin {assets => public}/img/2/piratecaptain.png | Bin {assets => public}/img/2/pirategirlnpc.png | Bin {assets => public}/img/2/pirateking.png | Bin {assets => public}/img/2/pirateskeleton.png | Bin {assets => public}/img/2/plasticbow.png | Bin {assets => public}/img/2/platearcherarmor.png | Bin {assets => public}/img/2/platearmor.png | Bin {assets => public}/img/2/plunger.png | Bin {assets => public}/img/2/pointer.png | Bin {assets => public}/img/2/poisonspider.png | Bin {assets => public}/img/2/portalarmor.png | Bin {assets => public}/img/2/powerarmour.png | Bin {assets => public}/img/2/powersword.png | Bin {assets => public}/img/2/preta.png | Bin {assets => public}/img/2/priest.png | Bin .../img/2/projectile-boulder.png | Bin .../img/2/projectile-fireball.png | Bin .../img/2/projectile-iceball.png | Bin {assets => public}/img/2/projectile-none.png | Bin .../img/2/projectile-pinearrow.png | Bin .../img/2/projectile-terror.png | Bin .../img/2/projectile-tornado.png | Bin .../img/2/provocationeffect.png | Bin .../img/2/purplecloudkallege.png | Bin {assets => public}/img/2/purplepreta.png | Bin {assets => public}/img/2/queenant.png | Bin {assets => public}/img/2/queenspider.png | Bin {assets => public}/img/2/rabbitarmor.png | Bin {assets => public}/img/2/radisharmor.png | Bin {assets => public}/img/2/rainbowapro.png | Bin {assets => public}/img/2/rainbowsword.png | Bin {assets => public}/img/2/rat.png | Bin {assets => public}/img/2/ratarcherarmor.png | Bin {assets => public}/img/2/ratarmor.png | Bin {assets => public}/img/2/redarcherarmor.png | Bin {assets => public}/img/2/redarmor.png | Bin {assets => public}/img/2/redbikinigirlnpc.png | Bin {assets => public}/img/2/redbow.png | Bin {assets => public}/img/2/redcockroach.png | Bin {assets => public}/img/2/reddamboarmor.png | Bin {assets => public}/img/2/redelf.png | Bin {assets => public}/img/2/redenelbow.png | Bin {assets => public}/img/2/redfish.png | Bin {assets => public}/img/2/redguard.png | Bin .../img/2/redguardarcherarmor.png | Bin {assets => public}/img/2/redguardarmor.png | Bin {assets => public}/img/2/redlightbow.png | Bin {assets => public}/img/2/redlightsaber.png | Bin {assets => public}/img/2/redmetalbow.png | Bin {assets => public}/img/2/redmetalsword.png | Bin {assets => public}/img/2/redmouse.png | Bin .../img/2/redpirateskeleton.png | Bin {assets => public}/img/2/redsickle.png | Bin {assets => public}/img/2/redsicklebow.png | Bin {assets => public}/img/2/redstoremannpc.png | Bin {assets => public}/img/2/redsword.png | Bin .../img/2/redwingarcherarmor.png | Bin {assets => public}/img/2/redwingarmor.png | Bin {assets => public}/img/2/regionarmor.png | Bin {assets => public}/img/2/regionhenchman.png | Bin {assets => public}/img/2/rhaphidophoridae.png | Bin {assets => public}/img/2/rick.png | Bin {assets => public}/img/2/robocoparmor.png | Bin {assets => public}/img/2/rose.png | Bin {assets => public}/img/2/rosebow.png | Bin {assets => public}/img/2/rudolf.png | Bin {assets => public}/img/2/rudolfarmor.png | Bin {assets => public}/img/2/santa.png | Bin {assets => public}/img/2/santaelf.png | Bin {assets => public}/img/2/schooluniform.png | Bin {assets => public}/img/2/scientist.png | Bin {assets => public}/img/2/scimitar.png | Bin {assets => public}/img/2/scorpion.png | Bin {assets => public}/img/2/seadragon.png | Bin {assets => public}/img/2/seadragonarmor.png | Bin {assets => public}/img/2/seahorsebow.png | Bin {assets => public}/img/2/searage.png | Bin .../img/2/secondsonangelnpc.png | Bin {assets => public}/img/2/shadow16.png | Bin {assets => public}/img/2/shadowregion.png | Bin .../img/2/shadowregionarmor.png | Bin {assets => public}/img/2/shepherdboy.png | Bin {assets => public}/img/2/shieldbenef.png | Bin {assets => public}/img/2/sickle.png | Bin {assets => public}/img/2/sicklebow.png | Bin {assets => public}/img/2/sidesword.png | Bin {assets => public}/img/2/silvermedal.png | Bin {assets => public}/img/2/skeleton.png | Bin {assets => public}/img/2/skeleton2.png | Bin {assets => public}/img/2/skeletonking.png | Bin {assets => public}/img/2/skillicons.png | Bin {assets => public}/img/2/skilllevel.png | Bin {assets => public}/img/2/skillslots.png | Bin {assets => public}/img/2/skydinosaur.png | Bin {assets => public}/img/2/skyelf.png | Bin {assets => public}/img/2/skylightbow.png | Bin {assets => public}/img/2/skylightsaber.png | Bin {assets => public}/img/2/slime.png | Bin {assets => public}/img/2/smalldevil.png | Bin {assets => public}/img/2/snek.png | Bin {assets => public}/img/2/snowelf.png | Bin .../img/2/snowfoxarcherarmor.png | Bin {assets => public}/img/2/snowfoxarmor.png | Bin {assets => public}/img/2/snowlady.png | Bin {assets => public}/img/2/snowman.png | Bin {assets => public}/img/2/snowmanarmor.png | Bin {assets => public}/img/2/snowrabbit.png | Bin {assets => public}/img/2/snowshepherdboy.png | Bin {assets => public}/img/2/snowwolf.png | Bin {assets => public}/img/2/soldier.png | Bin {assets => public}/img/2/soldierant.png | Bin {assets => public}/img/2/sorcerer.png | Bin {assets => public}/img/2/soundbutton.png | Bin {assets => public}/img/2/soybeanbug.png | Bin {assets => public}/img/2/sparks.png | Bin {assets => public}/img/2/spear.png | Bin {assets => public}/img/2/spectre.png | Bin {assets => public}/img/2/spell.png | Bin {assets => public}/img/2/spider.png | Bin {assets => public}/img/2/sponge.png | Bin {assets => public}/img/2/spritesheet.png | Bin {assets => public}/img/2/squeakyhammer.png | Bin {assets => public}/img/2/squid.png | Bin {assets => public}/img/2/squidarmor.png | Bin {assets => public}/img/2/squirrel.png | Bin {assets => public}/img/2/stuneffect.png | Bin {assets => public}/img/2/suicideghost.png | Bin {assets => public}/img/2/supercateffect.png | Bin {assets => public}/img/2/superiorangelnpc.png | Bin {assets => public}/img/2/sword.png | Bin {assets => public}/img/2/sword1.png | Bin {assets => public}/img/2/sword2.png | Bin {assets => public}/img/2/taekwondo.png | Bin {assets => public}/img/2/talk.png | Bin {assets => public}/img/2/target.png | Bin {assets => public}/img/2/thiefarmor.png | Bin {assets => public}/img/2/tigerarmor.png | Bin {assets => public}/img/2/tilesheet.png | Bin {assets => public}/img/2/trade.png | Bin {assets => public}/img/2/trident.png | Bin {assets => public}/img/2/typhoon.png | Bin {assets => public}/img/2/vampire.png | Bin {assets => public}/img/2/vendingmachine.png | Bin {assets => public}/img/2/villagegirl.png | Bin {assets => public}/img/2/villager.png | Bin {assets => public}/img/2/violetbow.png | Bin {assets => public}/img/2/vulture.png | Bin {assets => public}/img/2/watermelonbow.png | Bin {assets => public}/img/2/weastaff.png | Bin {assets => public}/img/2/whip.png | Bin {assets => public}/img/2/whitearcherarmor.png | Bin {assets => public}/img/2/whitearmor.png | Bin {assets => public}/img/2/whitebear.png | Bin {assets => public}/img/2/whitemouse.png | Bin {assets => public}/img/2/whitetiger.png | Bin {assets => public}/img/2/windguardian.png | Bin {assets => public}/img/2/wizard.png | Bin {assets => public}/img/2/wizardrobe.png | Bin {assets => public}/img/2/wolf.png | Bin {assets => public}/img/2/wolfarcherarmor.png | Bin {assets => public}/img/2/wolfarmor.png | Bin {assets => public}/img/2/wood.png | Bin {assets => public}/img/2/wood2.png | Bin {assets => public}/img/2/wood3.png | Bin {assets => public}/img/2/woodenbow.png | Bin {assets => public}/img/2/yellowbat.png | Bin {assets => public}/img/2/yellowfish.png | Bin {assets => public}/img/2/yellowmouse.png | Bin {assets => public}/img/2/yellowpreta.png | Bin {assets => public}/img/2/zombie.png | Bin {assets => public}/img/2/zombiegf.png | Bin {assets => public}/img/3/achievements.png | Bin {assets => public}/img/3/adherer.png | Bin .../img/3/adhererarcherarmor.png | Bin {assets => public}/img/3/adhererrobe.png | Bin {assets => public}/img/3/adminarmor.png | Bin {assets => public}/img/3/agent.png | Bin .../img/3/ancientmanumentnpc.png | Bin {assets => public}/img/3/angelnpc.png | Bin {assets => public}/img/3/ant.png | Bin {assets => public}/img/3/archerarmor.png | Bin .../img/3/archerschooluniform.png | Bin {assets => public}/img/3/axe.png | Bin {assets => public}/img/3/babyspider.png | Bin {assets => public}/img/3/bamboospear.png | Bin {assets => public}/img/3/bank.png | Bin {assets => public}/img/3/barsheet.png | Bin {assets => public}/img/3/basebarcontainer.png | Bin {assets => public}/img/3/bastardsword.png | Bin {assets => public}/img/3/bat.png | Bin {assets => public}/img/3/beachnpc.png | Bin {assets => public}/img/3/bearseonbiarmor.png | Bin {assets => public}/img/3/beautifullife.png | Bin {assets => public}/img/3/bee.png | Bin {assets => public}/img/3/beearmor.png | Bin {assets => public}/img/3/beetle.png | Bin {assets => public}/img/3/beetlearmor.png | Bin .../img/3/blackpirateskeleton.png | Bin {assets => public}/img/3/blackspiderarmor.png | Bin {assets => public}/img/3/blackwizard.png | Bin {assets => public}/img/3/blazespider.png | Bin {assets => public}/img/3/bloodbow.png | Bin {assets => public}/img/3/bloodsucking.png | Bin .../img/3/bluebikinigirlnpc.png | Bin {assets => public}/img/3/bluecockroach.png | Bin {assets => public}/img/3/bluedamboarmor.png | Bin {assets => public}/img/3/bluepiratearmor.png | Bin {assets => public}/img/3/bluepreta.png | Bin {assets => public}/img/3/bluescimitar.png | Bin {assets => public}/img/3/bluestoremannpc.png | Bin {assets => public}/img/3/bluesword.png | Bin .../img/3/bluewingarcherarmor.png | Bin {assets => public}/img/3/bluewingarmor.png | Bin {assets => public}/img/3/border.png | Bin {assets => public}/img/3/boss.png | Bin {assets => public}/img/3/bow.png | Bin {assets => public}/img/3/boxingman.png | Bin {assets => public}/img/3/breaker.png | Bin {assets => public}/img/3/bridalmask.png | Bin {assets => public}/img/3/bronzemedal.png | Bin {assets => public}/img/3/brownmouse.png | Bin {assets => public}/img/3/bucklerbenef.png | Bin {assets => public}/img/3/burgerarmor.png | Bin {assets => public}/img/3/burningstrike.png | Bin {assets => public}/img/3/butcherknife.png | Bin {assets => public}/img/3/buttons.png | Bin {assets => public}/img/3/cactus.png | Bin {assets => public}/img/3/cactusaxe.png | Bin {assets => public}/img/3/candybar.png | Bin {assets => public}/img/3/captainbow.png | Bin {assets => public}/img/3/cat.png | Bin {assets => public}/img/3/catarmor.png | Bin {assets => public}/img/3/characterbutton.png | Bin {assets => public}/img/3/characterdialog.png | Bin .../img/3/characterdialogsheet.png | Bin .../img/3/cheoliarcherarmor.png | Bin {assets => public}/img/3/cheoliarmor.png | Bin {assets => public}/img/3/chest.png | Bin {assets => public}/img/3/christmasarmor.png | Bin {assets => public}/img/3/clam.png | Bin {assets => public}/img/3/clotharmor.png | Bin {assets => public}/img/3/clotharmor2.png | Bin {assets => public}/img/3/clotharmor3.png | Bin {assets => public}/img/3/clotharmor4.png | Bin {assets => public}/img/3/cobra.png | Bin {assets => public}/img/3/cockroachsuit.png | Bin {assets => public}/img/3/coder.png | Bin {assets => public}/img/3/cokearmor.png | Bin {assets => public}/img/3/comb.png | Bin {assets => public}/img/3/combatuniform.png | Bin {assets => public}/img/3/conferencecall.png | Bin {assets => public}/img/3/containers.png | Bin {assets => public}/img/3/crab.png | Bin {assets => public}/img/3/criticaleffect.png | Bin {assets => public}/img/3/criticalstrike.png | Bin .../img/3/crystalarcherarmor.png | Bin {assets => public}/img/3/crystalarmor.png | Bin {assets => public}/img/3/crystalbow.png | Bin {assets => public}/img/3/crystalscolpion.png | Bin {assets => public}/img/3/cursedhahoemask.png | Bin {assets => public}/img/3/cursedjangseung.png | Bin {assets => public}/img/3/damboarmor.png | Bin {assets => public}/img/3/darkogre.png | Bin {assets => public}/img/3/darkregion.png | Bin .../img/3/darkregionillusion.png | Bin {assets => public}/img/3/darkscolpion.png | Bin {assets => public}/img/3/darkskeleton.png | Bin {assets => public}/img/3/daywalker.png | Bin {assets => public}/img/3/death.png | Bin {assets => public}/img/3/deathbow.png | Bin {assets => public}/img/3/deathknight.png | Bin {assets => public}/img/3/desertnpc.png | Bin {assets => public}/img/3/desertscolpion.png | Bin {assets => public}/img/3/devilkazya.png | Bin {assets => public}/img/3/devilkazyaarmor.png | Bin {assets => public}/img/3/devilkazyasword.png | Bin {assets => public}/img/3/dinosaurarmor.png | Bin {assets => public}/img/3/doctor.png | Bin {assets => public}/img/3/dog.png | Bin .../img/3/dovakinarcherarmor.png | Bin {assets => public}/img/3/dovakinarmor.png | Bin {assets => public}/img/3/dragonarmor.png | Bin {assets => public}/img/3/earthworm.png | Bin {assets => public}/img/3/elfnpc.png | Bin {assets => public}/img/3/eliminator.png | Bin {assets => public}/img/3/enel.png | Bin {assets => public}/img/3/enelarmor.png | Bin {assets => public}/img/3/eneltrident.png | Bin {assets => public}/img/3/evasion.png | Bin {assets => public}/img/3/evilarmor.png | Bin {assets => public}/img/3/expbar.png | Bin .../img/3/explosion-boulder.png | Bin .../img/3/explosion-fireball.png | Bin {assets => public}/img/3/explosion-heal.png | Bin .../img/3/explosion-iceball.png | Bin .../img/3/explosion-lavaball.png | Bin {assets => public}/img/3/explosion-terror.png | Bin {assets => public}/img/3/eye.png | Bin {assets => public}/img/3/fairynpc.png | Bin .../img/3/fallenarcherarmor.png | Bin {assets => public}/img/3/fallenarmor.png | Bin {assets => public}/img/3/firebenef.png | Bin {assets => public}/img/3/firefox.png | Bin {assets => public}/img/3/fireplay.png | Bin {assets => public}/img/3/fireshot.png | Bin {assets => public}/img/3/firespider.png | Bin {assets => public}/img/3/firesword.png | Bin {assets => public}/img/3/firstsonangelnpc.png | Bin {assets => public}/img/3/fisherman.png | Bin {assets => public}/img/3/flaredance.png | Bin {assets => public}/img/3/flaredanceeffect.png | Bin {assets => public}/img/3/flaredeathknight.png | Bin {assets => public}/img/3/fluffy.png | Bin {assets => public}/img/3/forestbow.png | Bin {assets => public}/img/3/forestdragon.png | Bin .../img/3/forestguardiansword.png | Bin {assets => public}/img/3/forestnpc.png | Bin .../img/3/frankensteinarmor.png | Bin {assets => public}/img/3/friedpotatoarmor.png | Bin {assets => public}/img/3/frog.png | Bin {assets => public}/img/3/frogarmor.png | Bin {assets => public}/img/3/frostarmor.png | Bin {assets => public}/img/3/frostqueen.png | Bin {assets => public}/img/3/gayarcherarmor.png | Bin {assets => public}/img/3/gayarmor.png | Bin {assets => public}/img/3/gaybow.png | Bin .../img/3/gbwingarcherarmor.png | Bin {assets => public}/img/3/gbwingarmor.png | Bin {assets => public}/img/3/ghost.png | Bin {assets => public}/img/3/ghostrider.png | Bin {assets => public}/img/3/goblin.png | Bin {assets => public}/img/3/goldaxe.png | Bin .../img/3/goldenarcherarmor.png | Bin {assets => public}/img/3/goldenarmor.png | Bin {assets => public}/img/3/goldenbow.png | Bin {assets => public}/img/3/goldensword.png | Bin {assets => public}/img/3/goldgolem.png | Bin {assets => public}/img/3/goldmedal.png | Bin {assets => public}/img/3/golem.png | Bin {assets => public}/img/3/greenarcherarmor.png | Bin {assets => public}/img/3/greenarmor.png | Bin {assets => public}/img/3/greenbow.png | Bin {assets => public}/img/3/greendamboarmor.png | Bin {assets => public}/img/3/greenfish.png | Bin {assets => public}/img/3/greenlightbow.png | Bin {assets => public}/img/3/greenlightsaber.png | Bin .../img/3/greenpirateskeleton.png | Bin .../img/3/greenwingarcherarmor.png | Bin {assets => public}/img/3/greenwingarmor.png | Bin {assets => public}/img/3/guard.png | Bin {assets => public}/img/3/guardarcherarmor.png | Bin {assets => public}/img/3/guardarmor.png | Bin {assets => public}/img/3/halberd.png | Bin {assets => public}/img/3/halloweenjkarmor.png | Bin {assets => public}/img/3/hammer.png | Bin {assets => public}/img/3/hand.png | Bin {assets => public}/img/3/heal.png | Bin {assets => public}/img/3/healactiveicon.png | Bin {assets => public}/img/3/healeffect.png | Bin {assets => public}/img/3/hellspider.png | Bin {assets => public}/img/3/helpbutton.png | Bin {assets => public}/img/3/hermitcrab.png | Bin {assets => public}/img/3/hobgoblin.png | Bin {assets => public}/img/3/hongcheol.png | Bin {assets => public}/img/3/hongcheolarmor.png | Bin {assets => public}/img/3/hpbar.png | Bin {assets => public}/img/3/huniarmor.png | Bin {assets => public}/img/3/hunterbow.png | Bin {assets => public}/img/3/iamverycoldnpc.png | Bin {assets => public}/img/3/iceelfnpc.png | Bin {assets => public}/img/3/icegoblin.png | Bin {assets => public}/img/3/icegolem.png | Bin {assets => public}/img/3/iceknight.png | Bin {assets => public}/img/3/icerose.png | Bin {assets => public}/img/3/icevulture.png | Bin {assets => public}/img/3/infectedguard.png | Bin {assets => public}/img/3/inventory.png | Bin {assets => public}/img/3/ironbow.png | Bin {assets => public}/img/3/ironknightarmor.png | Bin {assets => public}/img/3/ironogre.png | Bin .../img/3/item-adhererarcherarmor.png | Bin {assets => public}/img/3/item-adhererrobe.png | Bin {assets => public}/img/3/item-adminarmor.png | Bin {assets => public}/img/3/item-apple.png | Bin {assets => public}/img/3/item-archerarmor.png | Bin .../img/3/item-archerschooluniform.png | Bin .../img/3/item-armorbinding.png | Bin {assets => public}/img/3/item-armorcommon.png | Bin .../img/3/item-armorpatches.png | Bin {assets => public}/img/3/item-armorrare.png | Bin .../img/3/item-armoruncommon.png | Bin {assets => public}/img/3/item-axe.png | Bin {assets => public}/img/3/item-bamboospear.png | Bin {assets => public}/img/3/item-banana.png | Bin .../img/3/item-bastardsword.png | Bin .../img/3/item-bearseonbiarmor.png | Bin .../img/3/item-beautifullife.png | Bin {assets => public}/img/3/item-beearmor.png | Bin {assets => public}/img/3/item-beetlearmor.png | Bin {assets => public}/img/3/item-bigflask.png | Bin {assets => public}/img/3/item-blackpotion.png | Bin .../img/3/item-blackspiderarmor.png | Bin {assets => public}/img/3/item-bloodbow.png | Bin .../img/3/item-bluedamboarmor.png | Bin .../img/3/item-bluepiratearmor.png | Bin .../img/3/item-bluescimitar.png | Bin {assets => public}/img/3/item-bluesword.png | Bin .../img/3/item-bluewingarcherarmor.png | Bin .../img/3/item-bluewingarmor.png | Bin {assets => public}/img/3/item-book.png | Bin {assets => public}/img/3/item-bowcommon.png | Bin {assets => public}/img/3/item-bowlimb.png | Bin {assets => public}/img/3/item-bowrare.png | Bin {assets => public}/img/3/item-bowstring.png | Bin {assets => public}/img/3/item-bowuncommon.png | Bin {assets => public}/img/3/item-branch.png | Bin {assets => public}/img/3/item-breaker.png | Bin {assets => public}/img/3/item-bridalmask.png | Bin {assets => public}/img/3/item-burger.png | Bin {assets => public}/img/3/item-burgerarmor.png | Bin .../img/3/item-butcherknife.png | Bin {assets => public}/img/3/item-cactusaxe.png | Bin {assets => public}/img/3/item-cake.png | Bin {assets => public}/img/3/item-candybar.png | Bin {assets => public}/img/3/item-captainbow.png | Bin {assets => public}/img/3/item-catarmor.png | Bin {assets => public}/img/3/item-cd.png | Bin .../img/3/item-cheoliarcherarmor.png | Bin {assets => public}/img/3/item-cheoliarmor.png | Bin .../img/3/item-christmasarmor.png | Bin {assets => public}/img/3/item-cloth.png | Bin {assets => public}/img/3/item-clotharmor.png | Bin .../img/3/item-cockroachsuit.png | Bin {assets => public}/img/3/item-cokearmor.png | Bin {assets => public}/img/3/item-comb.png | Bin .../img/3/item-combatuniform.png | Bin .../img/3/item-conferencecall.png | Bin .../img/3/item-crystalarcherarmor.png | Bin .../img/3/item-crystalarmor.png | Bin {assets => public}/img/3/item-crystalbow.png | Bin {assets => public}/img/3/item-damboarmor.png | Bin {assets => public}/img/3/item-daywalker.png | Bin {assets => public}/img/3/item-deathbow.png | Bin .../img/3/item-devilkazyaarmor.png | Bin .../img/3/item-devilkazyasword.png | Bin {assets => public}/img/3/item-diamondring.png | Bin .../img/3/item-dinosaurarmor.png | Bin {assets => public}/img/3/item-dolring.png | Bin .../img/3/item-dovakinarcherarmor.png | Bin .../img/3/item-dovakinarmor.png | Bin {assets => public}/img/3/item-dragonarmor.png | Bin {assets => public}/img/3/item-element.png | Bin {assets => public}/img/3/item-emeraldring.png | Bin {assets => public}/img/3/item-enelarmor.png | Bin {assets => public}/img/3/item-eneltrident.png | Bin .../img/3/item-essentialrage.png | Bin {assets => public}/img/3/item-evilarmor.png | Bin .../img/3/item-fallenarcherarmor.png | Bin {assets => public}/img/3/item-fallenarmor.png | Bin {assets => public}/img/3/item-fireplay.png | Bin {assets => public}/img/3/item-firepotion.png | Bin {assets => public}/img/3/item-fireshot.png | Bin {assets => public}/img/3/item-firesword.png | Bin {assets => public}/img/3/item-flask.png | Bin {assets => public}/img/3/item-forestbow.png | Bin .../img/3/item-forestguardiansword.png | Bin .../img/3/item-frankensteinarmor.png | Bin .../img/3/item-friedpotatoarmor.png | Bin {assets => public}/img/3/item-frogarmor.png | Bin {assets => public}/img/3/item-frostarmor.png | Bin .../img/3/item-gayarcherarmor.png | Bin {assets => public}/img/3/item-gayarmor.png | Bin {assets => public}/img/3/item-gaybow.png | Bin .../img/3/item-gbwingarcherarmor.png | Bin {assets => public}/img/3/item-gbwingarmor.png | Bin {assets => public}/img/3/item-ghostrider.png | Bin {assets => public}/img/3/item-gold.png | Bin {assets => public}/img/3/item-goldaxe.png | Bin .../img/3/item-goldenarcherarmor.png | Bin {assets => public}/img/3/item-goldenarmor.png | Bin {assets => public}/img/3/item-goldenbow.png | Bin {assets => public}/img/3/item-goldensword.png | Bin {assets => public}/img/3/item-goldring.png | Bin .../img/3/item-greenarcherarmor.png | Bin {assets => public}/img/3/item-greenarmor.png | Bin {assets => public}/img/3/item-greenbow.png | Bin .../img/3/item-greendamboarmor.png | Bin .../img/3/item-greenlightbow.png | Bin .../img/3/item-greenlightsaber.png | Bin .../img/3/item-greenpendant.png | Bin .../img/3/item-greenwingarcherarmor.png | Bin .../img/3/item-greenwingarmor.png | Bin .../img/3/item-guardarcherarmor.png | Bin {assets => public}/img/3/item-guardarmor.png | Bin {assets => public}/img/3/item-halberd.png | Bin .../img/3/item-halloweenjkarmor.png | Bin {assets => public}/img/3/item-hammer.png | Bin .../img/3/item-hongcheolarmor.png | Bin {assets => public}/img/3/item-huniarmor.png | Bin {assets => public}/img/3/item-hunterbow.png | Bin {assets => public}/img/3/item-icerose.png | Bin {assets => public}/img/3/item-ironbow.png | Bin .../img/3/item-ironknightarmor.png | Bin {assets => public}/img/3/item-justicebow.png | Bin .../img/3/item-justicehammer.png | Bin {assets => public}/img/3/item-leaf.png | Bin .../img/3/item-leatherarcherarmor.png | Bin .../img/3/item-leatherarmor.png | Bin .../img/3/item-legolasarmor.png | Bin {assets => public}/img/3/item-loveactring.png | Bin {assets => public}/img/3/item-machete.png | Bin {assets => public}/img/3/item-magicspear.png | Bin .../img/3/item-mailarcherarmor.png | Bin {assets => public}/img/3/item-mailarmor.png | Bin {assets => public}/img/3/item-manaflask.png | Bin .../img/3/item-marblependant.png | Bin {assets => public}/img/3/item-marinebow.png | Bin {assets => public}/img/3/item-memme.png | Bin {assets => public}/img/3/item-mermaidbow.png | Bin {assets => public}/img/3/item-mineral.png | Bin .../img/3/item-miniseadragonarmor.png | Bin {assets => public}/img/3/item-morningstar.png | Bin .../img/3/item-mountforestdragon.png | Bin .../img/3/item-mountseadragon.png | Bin .../img/3/item-mountwhitetiger.png | Bin {assets => public}/img/3/item-ninjaarmor.png | Bin {assets => public}/img/3/item-orange.png | Bin {assets => public}/img/3/item-paewoldo.png | Bin .../img/3/item-paladinarmor.png | Bin .../img/3/item-pearlpendant.png | Bin {assets => public}/img/3/item-pearlring.png | Bin {assets => public}/img/3/item-pendant1.png | Bin {assets => public}/img/3/item-pickle.png | Bin .../img/3/item-pinkcockroacharmor.png | Bin {assets => public}/img/3/item-pinksword.png | Bin .../img/3/item-piratearcherarmor.png | Bin {assets => public}/img/3/item-pirateking.png | Bin {assets => public}/img/3/item-plasticbow.png | Bin .../img/3/item-platearcherarmor.png | Bin {assets => public}/img/3/item-platearmor.png | Bin {assets => public}/img/3/item-plunger.png | Bin {assets => public}/img/3/item-portalarmor.png | Bin {assets => public}/img/3/item-powerarmour.png | Bin {assets => public}/img/3/item-powersword.png | Bin .../img/3/item-purplecloudkallege.png | Bin {assets => public}/img/3/item-rabbitarmor.png | Bin {assets => public}/img/3/item-radisharmor.png | Bin {assets => public}/img/3/item-rainbowapro.png | Bin .../img/3/item-rainbowsword.png | Bin .../img/3/item-ratarcherarmor.png | Bin {assets => public}/img/3/item-ratarmor.png | Bin .../img/3/item-redarcherarmor.png | Bin {assets => public}/img/3/item-redarmor.png | Bin {assets => public}/img/3/item-redbow.png | Bin .../img/3/item-reddamboarmor.png | Bin {assets => public}/img/3/item-redenelbow.png | Bin .../img/3/item-redguardarcherarmor.png | Bin .../img/3/item-redguardarmor.png | Bin {assets => public}/img/3/item-redlightbow.png | Bin .../img/3/item-redlightsaber.png | Bin {assets => public}/img/3/item-redmetalbow.png | Bin .../img/3/item-redmetalsword.png | Bin {assets => public}/img/3/item-redsickle.png | Bin .../img/3/item-redsicklebow.png | Bin {assets => public}/img/3/item-redsword.png | Bin .../img/3/item-redwingarcherarmor.png | Bin .../img/3/item-redwingarmor.png | Bin {assets => public}/img/3/item-regionarmor.png | Bin {assets => public}/img/3/item-ring1.png | Bin .../img/3/item-robocoparmor.png | Bin {assets => public}/img/3/item-rock.png | Bin {assets => public}/img/3/item-rose.png | Bin {assets => public}/img/3/item-rosebow.png | Bin {assets => public}/img/3/item-royalazalea.png | Bin {assets => public}/img/3/item-rubyring.png | Bin {assets => public}/img/3/item-rudolfarmor.png | Bin .../img/3/item-sapphirering.png | Bin .../img/3/item-schooluniform.png | Bin {assets => public}/img/3/item-scimitar.png | Bin .../img/3/item-seadragonarmor.png | Bin {assets => public}/img/3/item-seahorsebow.png | Bin {assets => public}/img/3/item-searage.png | Bin {assets => public}/img/3/item-seed.png | Bin .../img/3/item-shadowregionarmor.png | Bin {assets => public}/img/3/item-shardt1.png | Bin {assets => public}/img/3/item-shardt2.png | Bin {assets => public}/img/3/item-shardt3.png | Bin {assets => public}/img/3/item-shardt4.png | Bin {assets => public}/img/3/item-shardt5.png | Bin {assets => public}/img/3/item-sickle.png | Bin {assets => public}/img/3/item-sicklebow.png | Bin {assets => public}/img/3/item-sidesword.png | Bin {assets => public}/img/3/item-skylightbow.png | Bin .../img/3/item-skylightsaber.png | Bin .../img/3/item-snowfoxarcherarmor.png | Bin .../img/3/item-snowfoxarmor.png | Bin .../img/3/item-snowmanarmor.png | Bin {assets => public}/img/3/item-snowpotion.png | Bin {assets => public}/img/3/item-spear.png | Bin {assets => public}/img/3/item-spiritring.png | Bin {assets => public}/img/3/item-sproutring.png | Bin .../img/3/item-squeakyhammer.png | Bin {assets => public}/img/3/item-squidarmor.png | Bin {assets => public}/img/3/item-sword1.png | Bin {assets => public}/img/3/item-sword2.png | Bin {assets => public}/img/3/item-taekwondo.png | Bin .../img/3/item-tamagotchiring.png | Bin {assets => public}/img/3/item-thiefarmor.png | Bin {assets => public}/img/3/item-tigerarmor.png | Bin {assets => public}/img/3/item-topazring.png | Bin {assets => public}/img/3/item-trident.png | Bin {assets => public}/img/3/item-typhoon.png | Bin {assets => public}/img/3/item-violetbow.png | Bin {assets => public}/img/3/item-watermelon.png | Bin .../img/3/item-watermelonbow.png | Bin {assets => public}/img/3/item-weaponblade.png | Bin .../img/3/item-weaponcommon.png | Bin {assets => public}/img/3/item-weaponhilt.png | Bin {assets => public}/img/3/item-weaponrare.png | Bin .../img/3/item-weaponuncommon.png | Bin {assets => public}/img/3/item-weastaff.png | Bin {assets => public}/img/3/item-whip.png | Bin .../img/3/item-whitearcherarmor.png | Bin {assets => public}/img/3/item-whitearmor.png | Bin {assets => public}/img/3/item-wizardrobe.png | Bin .../img/3/item-wolfarcherarmor.png | Bin {assets => public}/img/3/item-wolfarmor.png | Bin {assets => public}/img/3/item-wood.png | Bin {assets => public}/img/3/item-woodenbow.png | Bin {assets => public}/img/3/jirisanmoonbear.png | Bin {assets => public}/img/3/justicebow.png | Bin {assets => public}/img/3/justicehammer.png | Bin {assets => public}/img/3/kaonashi.png | Bin {assets => public}/img/3/king.png | Bin {assets => public}/img/3/lavanpc.png | Bin .../img/3/leatherarcherarmor.png | Bin {assets => public}/img/3/leatherarmor.png | Bin {assets => public}/img/3/legolasarmor.png | Bin .../img/3/lightningguardian.png | Bin {assets => public}/img/3/livingarmor.png | Bin {assets => public}/img/3/login.jpg | Bin {assets => public}/img/3/loot.png | Bin {assets => public}/img/3/machete.png | Bin {assets => public}/img/3/magicspear.png | Bin {assets => public}/img/3/mailarcherarmor.png | Bin {assets => public}/img/3/mailarmor.png | Bin {assets => public}/img/3/main.png | Bin {assets => public}/img/3/maintwo.png | Bin {assets => public}/img/3/mantis.png | Bin {assets => public}/img/3/mapframe.png | Bin {assets => public}/img/3/mapicons.png | Bin {assets => public}/img/3/marinebow.png | Bin {assets => public}/img/3/memme.png | Bin {assets => public}/img/3/mermaid.png | Bin {assets => public}/img/3/mermaidbow.png | Bin {assets => public}/img/3/mermaidnpc.png | Bin {assets => public}/img/3/mimic.png | Bin {assets => public}/img/3/minidragon.png | Bin {assets => public}/img/3/miniemperor.png | Bin {assets => public}/img/3/miniiceknight.png | Bin {assets => public}/img/3/miniknight.png | Bin {assets => public}/img/3/miniseadragon.png | Bin .../img/3/miniseadragonarmor.png | Bin {assets => public}/img/3/mojojojonpc.png | Bin {assets => public}/img/3/moleking.png | Bin {assets => public}/img/3/momangelnpc.png | Bin .../img/3/moreinventorybutton.png | Bin {assets => public}/img/3/morningstar.png | Bin {assets => public}/img/3/newcharacter.jpg | Bin {assets => public}/img/3/nightmareregion.png | Bin {assets => public}/img/3/ninjaarmor.png | Bin {assets => public}/img/3/nyan.png | Bin {assets => public}/img/3/octocat.png | Bin {assets => public}/img/3/octopus.png | Bin {assets => public}/img/3/oddeyecat.png | Bin {assets => public}/img/3/ogre.png | Bin {assets => public}/img/3/ogrelord.png | Bin {assets => public}/img/3/oldogre.png | Bin {assets => public}/img/3/orc.png | Bin {assets => public}/img/3/paewoldo.png | Bin {assets => public}/img/3/pain.png | Bin {assets => public}/img/3/paladinarmor.png | Bin {assets => public}/img/3/penguin.png | Bin {assets => public}/img/3/pickle.png | Bin {assets => public}/img/3/pierrot.png | Bin .../img/3/pinkcockroacharmor.png | Bin {assets => public}/img/3/pinkelf.png | Bin {assets => public}/img/3/pinksword.png | Bin .../img/3/piratearcherarmor.png | Bin {assets => public}/img/3/piratecaptain.png | Bin {assets => public}/img/3/pirategirlnpc.png | Bin {assets => public}/img/3/pirateking.png | Bin {assets => public}/img/3/pirateskeleton.png | Bin {assets => public}/img/3/plasticbow.png | Bin {assets => public}/img/3/platearcherarmor.png | Bin {assets => public}/img/3/platearmor.png | Bin {assets => public}/img/3/plunger.png | Bin {assets => public}/img/3/pointer.png | Bin {assets => public}/img/3/poisonspider.png | Bin {assets => public}/img/3/portalarmor.png | Bin {assets => public}/img/3/powerarmour.png | Bin {assets => public}/img/3/powersword.png | Bin {assets => public}/img/3/preta.png | Bin {assets => public}/img/3/priest.png | Bin .../img/3/projectile-boulder.png | Bin .../img/3/projectile-fireball.png | Bin .../img/3/projectile-iceball.png | Bin {assets => public}/img/3/projectile-none.png | Bin .../img/3/projectile-pinearrow.png | Bin .../img/3/projectile-terror.png | Bin .../img/3/projectile-tornado.png | Bin .../img/3/provocationeffect.png | Bin .../img/3/purplecloudkallege.png | Bin {assets => public}/img/3/purplepreta.png | Bin {assets => public}/img/3/queenant.png | Bin {assets => public}/img/3/queenspider.png | Bin {assets => public}/img/3/rabbitarmor.png | Bin {assets => public}/img/3/radisharmor.png | Bin {assets => public}/img/3/rainbowapro.png | Bin {assets => public}/img/3/rainbowsword.png | Bin {assets => public}/img/3/rat.png | Bin {assets => public}/img/3/ratarcherarmor.png | Bin {assets => public}/img/3/ratarmor.png | Bin {assets => public}/img/3/redarcherarmor.png | Bin {assets => public}/img/3/redarmor.png | Bin {assets => public}/img/3/redbikinigirlnpc.png | Bin {assets => public}/img/3/redbow.png | Bin {assets => public}/img/3/redcockroach.png | Bin {assets => public}/img/3/reddamboarmor.png | Bin {assets => public}/img/3/redelf.png | Bin {assets => public}/img/3/redenelbow.png | Bin {assets => public}/img/3/redfish.png | Bin {assets => public}/img/3/redguard.png | Bin .../img/3/redguardarcherarmor.png | Bin {assets => public}/img/3/redguardarmor.png | Bin {assets => public}/img/3/redlightbow.png | Bin {assets => public}/img/3/redlightsaber.png | Bin {assets => public}/img/3/redmetalbow.png | Bin {assets => public}/img/3/redmetalsword.png | Bin {assets => public}/img/3/redmouse.png | Bin .../img/3/redpirateskeleton.png | Bin {assets => public}/img/3/redsickle.png | Bin {assets => public}/img/3/redsicklebow.png | Bin {assets => public}/img/3/redstoremannpc.png | Bin {assets => public}/img/3/redsword.png | Bin .../img/3/redwingarcherarmor.png | Bin {assets => public}/img/3/redwingarmor.png | Bin {assets => public}/img/3/regionarmor.png | Bin {assets => public}/img/3/regionhenchman.png | Bin {assets => public}/img/3/rhaphidophoridae.png | Bin {assets => public}/img/3/rick.png | Bin {assets => public}/img/3/robocoparmor.png | Bin {assets => public}/img/3/rose.png | Bin {assets => public}/img/3/rosebow.png | Bin {assets => public}/img/3/rudolf.png | Bin {assets => public}/img/3/rudolfarmor.png | Bin {assets => public}/img/3/santa.png | Bin {assets => public}/img/3/santaelf.png | Bin {assets => public}/img/3/schooluniform.png | Bin {assets => public}/img/3/scientist.png | Bin {assets => public}/img/3/scimitar.png | Bin {assets => public}/img/3/scorpion.png | Bin {assets => public}/img/3/seadragon.png | Bin {assets => public}/img/3/seadragonarmor.png | Bin {assets => public}/img/3/seahorsebow.png | Bin {assets => public}/img/3/searage.png | Bin .../img/3/secondsonangelnpc.png | Bin {assets => public}/img/3/shadow16.png | Bin {assets => public}/img/3/shadowregion.png | Bin .../img/3/shadowregionarmor.png | Bin {assets => public}/img/3/shepherdboy.png | Bin {assets => public}/img/3/shieldbenef.png | Bin {assets => public}/img/3/sickle.png | Bin {assets => public}/img/3/sicklebow.png | Bin {assets => public}/img/3/sidesword.png | Bin {assets => public}/img/3/silvermedal.png | Bin {assets => public}/img/3/skeleton.png | Bin {assets => public}/img/3/skeleton2.png | Bin {assets => public}/img/3/skeletonking.png | Bin {assets => public}/img/3/skillicons.png | Bin {assets => public}/img/3/skilllevel.png | Bin {assets => public}/img/3/skillslots.png | Bin {assets => public}/img/3/skydinosaur.png | Bin {assets => public}/img/3/skyelf.png | Bin {assets => public}/img/3/skylightbow.png | Bin {assets => public}/img/3/skylightsaber.png | Bin {assets => public}/img/3/slime.png | Bin {assets => public}/img/3/smalldevil.png | Bin {assets => public}/img/3/snek.png | Bin {assets => public}/img/3/snowelf.png | Bin .../img/3/snowfoxarcherarmor.png | Bin {assets => public}/img/3/snowfoxarmor.png | Bin {assets => public}/img/3/snowlady.png | Bin {assets => public}/img/3/snowman.png | Bin {assets => public}/img/3/snowmanarmor.png | Bin {assets => public}/img/3/snowrabbit.png | Bin {assets => public}/img/3/snowshepherdboy.png | Bin {assets => public}/img/3/snowwolf.png | Bin {assets => public}/img/3/soldier.png | Bin {assets => public}/img/3/soldierant.png | Bin {assets => public}/img/3/sorcerer.png | Bin {assets => public}/img/3/soundbutton.png | Bin {assets => public}/img/3/soybeanbug.png | Bin {assets => public}/img/3/sparks.png | Bin {assets => public}/img/3/spear.png | Bin {assets => public}/img/3/spectre.png | Bin {assets => public}/img/3/spell.png | Bin {assets => public}/img/3/spider.png | Bin {assets => public}/img/3/sponge.png | Bin {assets => public}/img/3/spritesheet.png | Bin {assets => public}/img/3/squeakyhammer.png | Bin {assets => public}/img/3/squid.png | Bin {assets => public}/img/3/squidarmor.png | Bin {assets => public}/img/3/squirrel.png | Bin {assets => public}/img/3/stuneffect.png | Bin {assets => public}/img/3/suicideghost.png | Bin {assets => public}/img/3/supercateffect.png | Bin {assets => public}/img/3/superiorangelnpc.png | Bin {assets => public}/img/3/sword.png | Bin {assets => public}/img/3/sword1.png | Bin {assets => public}/img/3/sword2.png | Bin {assets => public}/img/3/taekwondo.png | Bin {assets => public}/img/3/talk.png | Bin {assets => public}/img/3/target.png | Bin {assets => public}/img/3/thiefarmor.png | Bin {assets => public}/img/3/tigerarmor.png | Bin {assets => public}/img/3/tilesheet.png | Bin {assets => public}/img/3/trade.png | Bin {assets => public}/img/3/trident.png | Bin {assets => public}/img/3/typhoon.png | Bin {assets => public}/img/3/vampire.png | Bin {assets => public}/img/3/vendingmachine.png | Bin {assets => public}/img/3/villagegirl.png | Bin {assets => public}/img/3/villager.png | Bin {assets => public}/img/3/violetbow.png | Bin {assets => public}/img/3/vulture.png | Bin {assets => public}/img/3/watermelonbow.png | Bin {assets => public}/img/3/weastaff.png | Bin {assets => public}/img/3/whip.png | Bin {assets => public}/img/3/whitearcherarmor.png | Bin {assets => public}/img/3/whitearmor.png | Bin {assets => public}/img/3/whitebear.png | Bin {assets => public}/img/3/whitemouse.png | Bin {assets => public}/img/3/whitetiger.png | Bin {assets => public}/img/3/windguardian.png | Bin {assets => public}/img/3/wizard.png | Bin {assets => public}/img/3/wizardrobe.png | Bin {assets => public}/img/3/wolf.png | Bin {assets => public}/img/3/wolfarcherarmor.png | Bin {assets => public}/img/3/wolfarmor.png | Bin {assets => public}/img/3/wood.png | Bin {assets => public}/img/3/wood2.png | Bin {assets => public}/img/3/wood3.png | Bin {assets => public}/img/3/woodenbow.png | Bin {assets => public}/img/3/yellowbat.png | Bin {assets => public}/img/3/yellowfish.png | Bin {assets => public}/img/3/yellowmouse.png | Bin {assets => public}/img/3/yellowpreta.png | Bin {assets => public}/img/3/zombie.png | Bin {assets => public}/img/3/zombiegf.png | Bin {assets => public}/img/adventure.png | Bin {assets => public}/img/amazing.png | Bin {assets => public}/img/background.png | Bin {assets => public}/img/base-button.png | Bin {assets => public}/img/blank-popup.png | Bin {assets => public}/img/box.png | Bin {assets => public}/img/button-green.png | Bin {assets => public}/img/button-red.png | Bin {assets => public}/img/cancel.png | Bin .../img/common/achievement-friends.png | Bin .../img/common/achievement-shield.png | Bin {assets => public}/img/common/add.png | Bin {assets => public}/img/common/arrow-back.png | Bin {assets => public}/img/common/arrow-down.png | Bin {assets => public}/img/common/arrow-left.png | Bin {assets => public}/img/common/arrow-move.png | Bin {assets => public}/img/common/arrow-right.png | Bin {assets => public}/img/common/arrow-up.png | Bin {assets => public}/img/common/bag.png | Bin {assets => public}/img/common/battery.png | Bin {assets => public}/img/common/bomb.png | Bin {assets => public}/img/common/book.png | Bin {assets => public}/img/common/box.png | Bin {assets => public}/img/common/calendar.png | Bin .../img/common/cash-register.png | Bin {assets => public}/img/common/cash.png | Bin {assets => public}/img/common/chat.png | Bin {assets => public}/img/common/check.png | Bin {assets => public}/img/common/coin.png | Bin {assets => public}/img/common/coins-stack.png | Bin {assets => public}/img/common/coins.png | Bin {assets => public}/img/common/cone.png | Bin {assets => public}/img/common/crown.png | Bin {assets => public}/img/common/crystal.png | Bin {assets => public}/img/common/delete.png | Bin {assets => public}/img/common/download.png | Bin {assets => public}/img/common/eye.png | Bin .../img/common/female-avatar-1.png | Bin .../img/common/female-avatar-2.png | Bin {assets => public}/img/common/friends-1.png | Bin {assets => public}/img/common/gem-blue.png | Bin {assets => public}/img/common/gem-red.png | Bin {assets => public}/img/common/gift.png | Bin {assets => public}/img/common/globe.png | Bin {assets => public}/img/common/hammer.png | Bin {assets => public}/img/common/hand-grap.png | Bin {assets => public}/img/common/hand-open.png | Bin .../img/common/hand-pointer.png | Bin {assets => public}/img/common/heart.png | Bin {assets => public}/img/common/helmet.png | Bin {assets => public}/img/common/help.png | Bin {assets => public}/img/common/home.png | Bin .../img/common/hud-active-box.png | Bin {assets => public}/img/common/hud-active.png | Bin .../img/common/hud-banner-green.png | Bin .../img/common/hud-banner-purple.png | Bin .../img/common/hud-banner-red.png | Bin .../img/common/hud-banner-vines.png | Bin {assets => public}/img/common/hud-banner.png | Bin {assets => public}/img/common/hud-bar.png | Bin .../img/common/hud-beam-green.png | Bin .../img/common/hud-beam-purple.png | Bin .../img/common/hud-beam-red.png | Bin .../img/common/hud-box-item.png | Bin .../img/common/hud-box-status.png | Bin .../img/common/hud-box-vine.png | Bin .../img/common/hud-box-vine2.png | Bin {assets => public}/img/common/hud-box.png | Bin .../img/common/hud-button-green.png | Bin .../img/common/hud-button-purple.png | Bin .../img/common/hud-button-red.png | Bin .../img/common/hud-chain-link.png | Bin {assets => public}/img/common/hud-chain.png | Bin .../img/common/hud-checkbox-checked.png | Bin .../img/common/hud-checkbox-empty.png | Bin .../img/common/hud-level-marker-shadow.png | Bin .../img/common/hud-map-position.png | Bin .../img/common/hud-modal-bg.png | Bin .../img/common/hud-modal-chain-right.png | Bin .../img/common/hud-modal-chain.png | Bin .../img/common/hud-modal-highlighted.png | Bin .../img/common/hud-modal-side.png | Bin {assets => public}/img/common/hud-modal.png | Bin .../img/common/hud-mouse-pointer.png | Bin .../img/common/hud-parchment-chain.png | Bin .../img/common/hud-parchment-left-stick.png | Bin .../img/common/hud-parchment-right-stick.png | Bin .../img/common/hud-parchment.png | Bin .../img/common/hud-quest-green.png | Bin .../img/common/hud-quest-purple.png | Bin .../img/common/hud-quest-red.png | Bin .../img/common/hud-ribbon-green.png | Bin .../img/common/hud-ribbon-purple.png | Bin .../img/common/hud-ribbon-red.png | Bin {assets => public}/img/common/hud-scrim.png | Bin {assets => public}/img/common/hud-scroll.png | Bin .../img/common/hud-scrollbar.png | Bin .../img/common/hud-skull-crown.png | Bin {assets => public}/img/common/hud-skull.png | Bin .../img/common/hud-speach-bubble.png | Bin .../img/common/hud-status-banner-purple.png | Bin .../img/common/hud-status-bar.png | Bin .../img/common/hud-status-green.png | Bin .../img/common/hud-status-red.png | Bin .../img/common/hud-stick-cap.png | Bin {assets => public}/img/common/hud-stick.png | Bin .../img/common/hud-switch-green.png | Bin .../img/common/hud-switch-red.png | Bin .../img/common/hud-toggle-off.png | Bin .../img/common/hud-toggle-on.png | Bin {assets => public}/img/common/hud-vines.png | Bin .../img/common/hud-wing-left.png | Bin .../img/common/hud-wing-right.png | Bin {assets => public}/img/common/hud-wings.png | Bin {assets => public}/img/common/hyperlink.png | Bin {assets => public}/img/common/key.png | Bin .../img/common/laural-green.png | Bin .../img/common/laural-yellow.png | Bin {assets => public}/img/common/leaf.png | Bin {assets => public}/img/common/light-off.png | Bin {assets => public}/img/common/light-on.png | Bin {assets => public}/img/common/lightning.png | Bin {assets => public}/img/common/lock2.png | Bin {assets => public}/img/common/magnet.png | Bin .../img/common/mailbox-empty.png | Bin .../img/common/mailbox-full.png | Bin .../img/common/male-avatar-1.png | Bin .../img/common/male-avatar-2.png | Bin {assets => public}/img/common/paintbrush.png | Bin {assets => public}/img/common/pencil.png | Bin {assets => public}/img/common/photo.png | Bin {assets => public}/img/common/plant-pot.png | Bin {assets => public}/img/common/potion.png | Bin .../img/common/red-award-rosette.png | Bin .../img/common/red-award-star.png | Bin {assets => public}/img/common/red-award.png | Bin {assets => public}/img/common/rock.png | Bin {assets => public}/img/common/search.png | Bin {assets => public}/img/common/settings.png | Bin {assets => public}/img/common/shield.png | Bin {assets => public}/img/common/shoe.png | Bin .../img/common/shopping-bag.png | Bin .../img/common/shopping-basket.png | Bin {assets => public}/img/common/shovel.png | Bin {assets => public}/img/common/skull.png | Bin {assets => public}/img/common/smile.png | Bin {assets => public}/img/common/soap.png | Bin {assets => public}/img/common/social.png | Bin {assets => public}/img/common/sound.png | Bin {assets => public}/img/common/speaker.png | Bin {assets => public}/img/common/star.png | Bin {assets => public}/img/common/sword.png | Bin {assets => public}/img/common/task.png | Bin {assets => public}/img/common/timer.png | Bin {assets => public}/img/common/trash-empty.png | Bin {assets => public}/img/common/trash-full.png | Bin {assets => public}/img/common/tree.png | Bin {assets => public}/img/common/trophy.png | Bin {assets => public}/img/common/wand.png | Bin {assets => public}/img/common/wing-left.png | Bin {assets => public}/img/common/wing-right.png | Bin {assets => public}/img/common/world.png | Bin .../img/common/wrench-small.png | Bin .../img/common/wtfspritesheet.png | Bin .../img/common/wtfstylesheet.txt | 0 {assets => public}/img/common/xp.png | Bin {assets => public}/img/confirm.png | Bin {assets => public}/img/defeated.png | Bin {assets => public}/img/double-chain.png | Bin {assets => public}/img/favicon.png | Bin {assets => public}/img/hud-bar-2.png | Bin {assets => public}/img/hud-bar.png | Bin {assets => public}/img/hud-skull.png | Bin {assets => public}/img/left-sidebar.png | Bin {assets => public}/img/lock-base.png | Bin {assets => public}/img/map-bar.png | Bin {assets => public}/img/parchment-chains.png | Bin {assets => public}/img/parchment-cut-big.png | Bin {assets => public}/img/parchment-cut.png | Bin {assets => public}/img/parchment.png | Bin {assets => public}/img/right-sidebar.png | Bin {assets => public}/img/screen-spotlight.png | Bin {assets => public}/img/screen.png | Bin {assets => public}/img/single-chain.png | Bin {assets => public}/img/skull crown.png | Bin {assets => public}/img/skull.png | Bin {assets => public}/img/small-popup.png | Bin {assets => public}/img/spinner.gif | Bin {assets => public}/img/thingy.png | Bin {assets => public}/img/toggle-off.png | Bin {assets => public}/img/toggle-on.png | Bin {assets => public}/img/triple-chain.png | Bin {assets => public}/img/wtfadventure.png | Bin {assets => public}/img/wtfheader.png | Bin {assets => public}/img/wtflogo-small.png | Bin {assets => public}/img/wtflogo.png | Bin public/next.svg | 1 + public/vercel.svg | 1 + server/.eslintrc.json | 13 + {src/server => server}/config.json | 0 {src/server => server}/data/abilities.json | 0 {src/server => server}/data/achievements.json | 0 .../data/combat/greatsquid.js | 0 .../server => server}/data/combat/ogrelord.js | 0 .../data/combat/piratecaptain.js | 0 .../server => server}/data/combat/queenant.js | 0 .../data/combat/skeletonking.js | 0 .../server => server}/data/combat/tenebris.js | 0 {src/server => server}/data/guilds.json | 0 {src/server => server}/data/items.json | 0 .../data/items/healthFlask.js | 0 .../data/map/collisions.json | 0 .../data/map/world_server.json | 0 {src/server => server}/data/minigames.json | 0 {src/server => server}/data/mobs.json | 0 {src/server => server}/data/npcs.json | 0 {src/server => server}/data/quests.json | 0 {src/server => server}/data/shops.json | 0 .../js/controllers/commands.js | 6 +- .../js/controllers/incoming.js | 16 +- .../js/controllers/minigames.js | 0 .../js/controllers/quests.js | 10 +- .../server => server}/js/controllers/shops.js | 0 {src/server => server}/js/database/creator.js | 2 +- {src/server => server}/js/database/loader.js | 2 +- {src/server => server}/js/database/mysql.js | 10 +- .../js/game/entity/character/character.js | 8 +- .../js/game/entity/character/combat/combat.js | 14 +- .../entity/character/combat/combatqueue.js | 0 .../js/game/entity/character/combat/hit.js | 0 .../js/game/entity/character/mob/mob.js | 8 +- .../character/player/ability/abilities.js | 0 .../character/player/ability/misc/ability.js | 0 .../player/ability/misc/firestrike.js | 0 .../player/ability/misc/iceattack.js | 0 .../character/player/ability/misc/run.js | 0 .../entity/character/player/achievement.js | 8 +- .../entity/character/player/checkpoint.js | 0 .../character/player/containers/bank/bank.js | 12 +- .../character/player/containers/container.js | 20 +- .../player/containers/inventory/constants.js | 0 .../player/containers/inventory/inventory.js | 12 +- .../character/player/containers/slot.js | 4 +- .../character/player/enchant/enchant.js | 8 +- .../character/player/equipment/armour.js | 4 +- .../character/player/equipment/boots.js | 4 +- .../character/player/equipment/equipment.js | 2 +- .../character/player/equipment/pendant.js | 4 +- .../entity/character/player/equipment/ring.js | 4 +- .../character/player/equipment/weapon.js | 4 +- .../js/game/entity/character/player/guild.js | 4 +- .../game/entity/character/player/handler.js | 12 +- .../js/game/entity/character/player/player.js | 62 +- .../character/player/points/hitpoints.js | 2 +- .../entity/character/player/points/mana.js | 2 +- .../entity/character/player/points/points.js | 0 .../player/profession/impl/foresting.js | 0 .../character/player/profession/profession.js | 0 .../player/quest/misc/bulkysituation.js | 6 +- .../player/quest/misc/introduction.js | 6 +- .../character/player/quest/misc/thelie.js | 0 .../entity/character/player/quest/quest.js | 6 +- .../js/game/entity/character/player/trade.js | 2 +- .../js/game/entity/character/player/warp.js | 4 +- .../js/game/entity/entity.js | 8 +- .../js/game/entity/npc/npc.js | 2 +- .../js/game/entity/objects/chest.js | 4 +- .../js/game/entity/objects/item.js | 2 +- .../js/game/entity/objects/projectile.js | 2 +- {src/server => server}/js/game/formulas.js | 2 +- {src/server => server}/js/game/world.js | 36 +- src/server/js/main.js => server/js/index.js | 16 +- {src/server => server}/js/map/area.js | 0 .../js/map/areas/chestareas.js | 10 +- .../js/map/areas/musicareas.js | 10 +- .../js/map/areas/pvpareas.js | 10 +- {src/server => server}/js/map/grids.js | 4 +- {src/server => server}/js/map/groups.js | 2 +- {src/server => server}/js/map/map.js | 31 +- .../js/minigames/impl/teamwar.js | 2 +- .../js/minigames/minigame.js | 0 {src/server => server}/js/network/messages.js | 2 +- {src/server => server}/js/network/packets.js | 0 {src/server => server}/js/network/socket.js | 0 .../server => server}/js/network/websocket.js | 14 +- {src/server => server}/js/util/abilities.js | 4 +- {src/tools/bot => server/js/util}/bot.js | 10 +- {src/server => server}/js/util/constants.js | 0 {src/server => server}/js/util/items.js | 4 +- server/js/util/log.js | 7 + {src/server => server}/js/util/mobs.js | 4 +- {src/server => server}/js/util/modules.js | 0 {src/server => server}/js/util/npcs.js | 4 +- {src/server => server}/js/util/parser.js | 27 +- {src/server => server}/js/util/plugins.js | 8 +- {src/server => server}/js/util/shops.js | 4 +- {src/server => server}/js/util/utils.js | 9 +- server/package-lock.json | 6970 +++++ server/package.json | 39 + setupTests.js | 1 - src/client/config.json | 6 - src/client/index.html | 354 - src/client/js/__tests__/app.test.js | 376 - src/client/js/__tests__/main.test.js | 83 - .../js/interface/profile/pages/ability.js | 8 - src/client/js/main.js | 124 - src/server/js/util/log.js | 8 - {src/tools => tools}/api/registrar.js | 0 {src/tools => tools}/database.sql | 0 {src/tools => tools}/file.js | 0 {src/tools => tools}/map/data/empty.json | 0 .../tools => tools}/map/data/extramap/map.tmx | 0 .../map/data/extramap/mobset.png | Bin .../map/data/extramap/tilesheet.png | Bin {src/tools => tools}/map/data/map.json | 0 {src/tools => tools}/map/data/map.tmx | 0 {src/tools => tools}/map/data/mobset.png | Bin {src/tools => tools}/map/data/terrain.tmx | 0 {src/tools => tools}/map/data/tilesheet.png | Bin {src/tools => tools}/map/exportmap.js | 4 +- {src/tools => tools}/map/processmap.js | 0 {src/tools => tools}/map/processmap.log | 0 tsconfig.json | 36 + types.d.ts | 23 + wallaby.config.js | 17 +- webpack.config.js | 155 - 1901 files changed, 17679 insertions(+), 32718 deletions(-) delete mode 100644 .babelrc delete mode 100644 .eslintrc create mode 100644 .eslintrc.json create mode 100644 app/game/index.tsx create mode 100644 app/layout.tsx create mode 100644 app/page.module.css create mode 100644 app/page.tsx create mode 100644 app/styles/4k.scss create mode 100644 app/styles/baseline.scss create mode 100644 app/styles/buttons.scss create mode 100644 app/styles/desktop.scss rename {css => app/styles}/game.scss (99%) create mode 100644 app/styles/globals.scss create mode 100644 app/styles/hud.scss rename {css => app/styles}/interface.scss (77%) create mode 100644 app/styles/laptop.scss create mode 100644 app/styles/mobile.scss create mode 100644 app/styles/tablet.scss create mode 100644 babel.config.js delete mode 100644 bashrc create mode 100644 client/config.json create mode 100644 client/contexts/clientContext.tsx create mode 100644 client/contexts/gameContext.tsx create mode 100644 client/contexts/providers/index.tsx create mode 100644 client/contexts/userContext.tsx create mode 100644 client/contexts/windowContext.tsx rename {src/client/js => client}/controllers/audio.js (97%) rename {src/client/js => client}/controllers/bubble.js (100%) rename {src/client/js => client}/controllers/chat.js (100%) rename {src/client/js => client}/controllers/entities.js (96%) rename {src/client/js => client}/controllers/info.js (100%) rename {src/client/js => client}/controllers/input.js (97%) rename {src/client/js => client}/controllers/interface.js (95%) rename {src/client/js => client}/controllers/overlay.js (100%) rename {src/client/js => client}/controllers/pickcharacter.js (96%) rename {src/client/js => client}/controllers/pointer.js (99%) rename {src/client/js => client}/controllers/sprites.js (88%) rename {src/client/js => client}/controllers/zoning.js (100%) rename {src/client/js => client}/entity/animation.js (100%) rename {src/client/js => client}/entity/character/character.js (100%) rename {src/client/js => client}/entity/character/mob/mob.js (100%) rename {src/client/js => client}/entity/character/npc/npc.js (100%) rename {src/client/js => client}/entity/character/player/equipment/armour.js (100%) rename {src/client/js => client}/entity/character/player/equipment/boots.js (100%) rename {src/client/js => client}/entity/character/player/equipment/equipment.js (100%) rename {src/client/js => client}/entity/character/player/equipment/pendant.js (100%) rename {src/client/js => client}/entity/character/player/equipment/ring.js (100%) rename {src/client/js => client}/entity/character/player/equipment/weapon.js (100%) rename {src/client/js => client}/entity/character/player/player.js (99%) rename {src/client/js => client}/entity/character/player/playerhandler.js (99%) rename {src/client/js => client}/entity/entity.js (99%) rename {src/client/js => client}/entity/entityhandler.js (99%) rename {src/client/js => client}/entity/objects/chest.js (100%) rename {src/client/js => client}/entity/objects/item.js (100%) rename {src/client/js => client}/entity/objects/projectile.js (100%) rename {src/client/js => client}/entity/sprite.js (86%) rename {src/client/js => client}/game.js (95%) rename src/client/js/app.js => client/index.js (85%) create mode 100644 client/index.test.js rename {src/client/js => client}/interface/abilities.js (100%) rename {src/client/js => client}/interface/actions.js (98%) rename {src/client/js => client}/interface/bank.js (95%) rename {src/client/js => client}/interface/container/container.js (89%) rename {src/client/js => client}/interface/container/slot.js (90%) rename {src/client/js => client}/interface/enchant.js (98%) rename {src/client/js => client}/interface/inventory.js (96%) create mode 100644 client/interface/profile/ability.js rename src/client/js/interface/profile/page.js => client/interface/profile/gamePage.js (77%) rename {src/client/js => client}/interface/profile/profile.js (92%) rename {src/client/js/interface/profile/pages => client/interface/profile}/quest.js (96%) rename {src/client/js/interface/profile/pages => client/interface/profile}/settings.js (94%) rename {src/client/js/interface/profile/pages => client/interface/profile}/state.js (91%) rename {src/client/js => client}/interface/warp.js (96%) rename {src/client/js => client}/lib/astar.js (100%) rename {src/client/js => client}/lib/log.js (69%) rename {src/client/js => client}/lib/stacktrace.js (98%) rename {src/client/js => client}/map/map.js (87%) rename {src/client/js => client}/map/mapworker.js (94%) rename {src/client/js => client}/network/messages.js (95%) rename {src/client/js => client}/network/packets.js (100%) rename {src/client/js => client}/network/socket.js (90%) rename {src/client/js => client}/renderer/bubbles/blob.js (100%) rename {src/client/js => client}/renderer/camera.js (100%) rename {src/client/js => client}/renderer/grids.js (98%) rename {src/client/js => client}/renderer/infos/splat.js (100%) rename {src/client/js => client}/renderer/pointers/pointer.js (94%) rename {src/client/js => client}/renderer/renderer.js (96%) rename {src/client/js => client}/renderer/tile.js (100%) rename {src/client/js => client}/renderer/updater.js (100%) rename {src/client/js => client}/utils/__mocks__/detect.js (78%) rename {src/client/js => client}/utils/detect.js (88%) rename {src/client/js => client}/utils/modules.js (100%) rename {src/client/js => client}/utils/pathfinder.js (97%) rename {src/client/js => client}/utils/queue.js (100%) rename {src/client/js => client}/utils/storage.js (67%) rename {src/client/js => client}/utils/timer.js (100%) rename {src/client/js => client}/utils/transition.js (100%) rename {src/client/js => client}/utils/util.js (87%) create mode 100644 components/abilitiesBar/index.tsx create mode 100644 components/actionsDialog/index.tsx create mode 100644 components/bank/index.tsx create mode 100644 components/bubbles/index.tsx create mode 100644 components/buttonBar/index.tsx create mode 100644 components/canvas/index.tsx rename {assets => components/chatBar}/img/chat.png (100%) rename {assets => components/chatBar}/img/inventory.png (100%) create mode 100644 components/chatBar/index.tsx create mode 100644 components/chatInput/index.tsx create mode 100644 components/createCharacter/index.tsx create mode 100644 components/deathDialog/index.tsx create mode 100644 components/dropDialog/index.tsx create mode 100644 components/enchant/index.tsx create mode 100644 components/footer/index.tsx create mode 100644 components/hud/index.tsx create mode 100644 components/inventory/index.tsx rename {assets/img/common => components/loadCharacter/img}/friends-2.png (100%) rename {assets/img/common => components/loadCharacter/img}/hud-guest.png (100%) rename {assets/img/common => components/loadCharacter/img}/hud-join.png (100%) rename {assets/img/common => components/loadCharacter/img}/lock.png (100%) create mode 100644 components/loadCharacter/index.tsx rename {assets => components/loader}/img/coin.gif (100%) create mode 100644 components/loader/index.tsx create mode 100644 components/logo/index.tsx rename {assets/img/common => components/logo}/wtfintro.png (100%) create mode 100644 components/map/index.tsx create mode 100644 components/messageDialog/index.tsx create mode 100644 components/notifications/index.tsx create mode 100644 components/playerActions/index.tsx create mode 100644 components/profileDialog/index.tsx create mode 100644 components/settingsDialog/index.tsx create mode 100644 components/splash/index.tsx create mode 100644 components/trade/index.tsx rename {assets => components/worldBar}/img/achievements.png (100%) rename {assets => components/worldBar}/img/world.png (100%) create mode 100644 components/worldBar/index.tsx delete mode 100644 css/desktop.scss delete mode 100644 css/main.scss delete mode 100644 css/vars.scss delete mode 100644 index.html create mode 100644 next-env.d.ts create mode 100644 next.config.js rename {assets => public}/audio/music/beach.mp3 (100%) rename {assets => public}/audio/music/codingroom.mp3 (100%) rename {assets => public}/audio/music/meadowofthepast.mp3 (100%) rename {assets => public}/audio/music/smalltown.mp3 (100%) rename {assets => public}/audio/music/spookyship.mp3 (100%) rename {assets => public}/audio/music/village.mp3 (100%) rename {assets => public}/audio/sfx/achievement.mp3 (100%) rename {assets => public}/audio/sfx/chat.mp3 (100%) rename {assets => public}/audio/sfx/chest.mp3 (100%) rename {assets => public}/audio/sfx/death.mp3 (100%) rename {assets => public}/audio/sfx/firefox.mp3 (100%) rename {assets => public}/audio/sfx/heal.mp3 (100%) rename {assets => public}/audio/sfx/hit1.mp3 (100%) rename {assets => public}/audio/sfx/hit2.mp3 (100%) rename {assets => public}/audio/sfx/hurt.mp3 (100%) rename {assets => public}/audio/sfx/kill1.mp3 (100%) rename {assets => public}/audio/sfx/kill2.mp3 (100%) rename {assets => public}/audio/sfx/loot.mp3 (100%) rename {assets => public}/audio/sfx/noloot.mp3 (100%) rename {assets => public}/audio/sfx/npc-end.mp3 (100%) rename {assets => public}/audio/sfx/npc.mp3 (100%) rename {assets => public}/audio/sfx/npctalk.mp3 (100%) rename {assets => public}/audio/sfx/revive.mp3 (100%) rename {assets => public}/audio/sfx/teleport.mp3 (100%) rename {assets => public}/data/maps/world_client.js (100%) rename {assets => public}/data/maps/world_client.json (100%) rename {assets => public}/data/sprites.json (100%) rename {assets => public}/fonts/advocut/advocut-webfont.eot (100%) rename {assets => public}/fonts/advocut/advocut-webfont.svg (100%) rename {assets => public}/fonts/advocut/advocut-webfont.ttf (100%) rename {assets => public}/fonts/advocut/advocut-webfont.woff (100%) rename {assets => public}/img/1-star.png (100%) rename {assets => public}/img/1/bank.png (100%) rename {assets => public}/img/1/border.png (100%) rename {assets => public}/img/1/buttons.png (100%) rename {assets => public}/img/1/characterdialogsheet.png (100%) rename {assets => public}/img/1/containers.png (100%) rename {assets => public}/img/1/main.png (100%) rename {assets => public}/img/1/maintwo.png (100%) rename {assets => public}/img/1/mapframe.png (100%) rename {assets => public}/img/1/mapicons.png (100%) rename {assets => public}/img/1/pointer.png (100%) rename {assets => public}/img/1/skillicons.png (100%) rename {assets => public}/img/1/skillslots.png (100%) rename {assets => public}/img/1/spritesheet.png (100%) rename {assets => public}/img/1/trade.png (100%) rename {assets => public}/img/2/achievements.png (100%) rename {assets => public}/img/2/adherer.png (100%) rename {assets => public}/img/2/adhererarcherarmor.png (100%) rename {assets => public}/img/2/adhererrobe.png (100%) rename {assets => public}/img/2/adminarmor.png (100%) rename {assets => public}/img/2/agent.png (100%) rename {assets => public}/img/2/ancientmanumentnpc.png (100%) rename {assets => public}/img/2/angelnpc.png (100%) rename {assets => public}/img/2/ant.png (100%) rename {assets => public}/img/2/archerarmor.png (100%) rename {assets => public}/img/2/archerschooluniform.png (100%) rename {assets => public}/img/2/axe.png (100%) rename {assets => public}/img/2/babyspider.png (100%) rename {assets => public}/img/2/bamboospear.png (100%) rename {assets => public}/img/2/bank.png (100%) rename {assets => public}/img/2/barsheet.png (100%) rename {assets => public}/img/2/basebarcontainer.png (100%) rename {assets => public}/img/2/bastardsword.png (100%) rename {assets => public}/img/2/bat.png (100%) rename {assets => public}/img/2/beachnpc.png (100%) rename {assets => public}/img/2/bearseonbiarmor.png (100%) rename {assets => public}/img/2/beautifullife.png (100%) rename {assets => public}/img/2/bee.png (100%) rename {assets => public}/img/2/beearmor.png (100%) rename {assets => public}/img/2/beetle.png (100%) rename {assets => public}/img/2/beetlearmor.png (100%) rename {assets => public}/img/2/blackpirateskeleton.png (100%) rename {assets => public}/img/2/blackspiderarmor.png (100%) rename {assets => public}/img/2/blackwizard.png (100%) rename {assets => public}/img/2/blazespider.png (100%) rename {assets => public}/img/2/bloodbow.png (100%) rename {assets => public}/img/2/bloodsucking.png (100%) rename {assets => public}/img/2/bluebikinigirlnpc.png (100%) rename {assets => public}/img/2/bluecockroach.png (100%) rename {assets => public}/img/2/bluedamboarmor.png (100%) rename {assets => public}/img/2/bluepiratearmor.png (100%) rename {assets => public}/img/2/bluepreta.png (100%) rename {assets => public}/img/2/bluescimitar.png (100%) rename {assets => public}/img/2/bluestoremannpc.png (100%) rename {assets => public}/img/2/bluesword.png (100%) rename {assets => public}/img/2/bluewingarcherarmor.png (100%) rename {assets => public}/img/2/bluewingarmor.png (100%) rename {assets => public}/img/2/border.png (100%) rename {assets => public}/img/2/boss.png (100%) rename {assets => public}/img/2/bow.png (100%) rename {assets => public}/img/2/boxingman.png (100%) rename {assets => public}/img/2/breaker.png (100%) rename {assets => public}/img/2/bridalmask.png (100%) rename {assets => public}/img/2/bronzemedal.png (100%) rename {assets => public}/img/2/brownmouse.png (100%) rename {assets => public}/img/2/bucklerbenef.png (100%) rename {assets => public}/img/2/burgerarmor.png (100%) rename {assets => public}/img/2/burningstrike.png (100%) rename {assets => public}/img/2/butcherknife.png (100%) rename {assets => public}/img/2/buttons.png (100%) rename {assets => public}/img/2/cactus.png (100%) rename {assets => public}/img/2/cactusaxe.png (100%) rename {assets => public}/img/2/candybar.png (100%) rename {assets => public}/img/2/captainbow.png (100%) rename {assets => public}/img/2/cat.png (100%) rename {assets => public}/img/2/catarmor.png (100%) rename {assets => public}/img/2/characterbutton.png (100%) rename {assets => public}/img/2/characterdialogsheet.png (100%) rename {assets => public}/img/2/cheoliarcherarmor.png (100%) rename {assets => public}/img/2/cheoliarmor.png (100%) rename {assets => public}/img/2/chest.png (100%) rename {assets => public}/img/2/christmasarmor.png (100%) rename {assets => public}/img/2/clam.png (100%) rename {assets => public}/img/2/clotharmor.png (100%) rename {assets => public}/img/2/cobra.png (100%) rename {assets => public}/img/2/cockroachsuit.png (100%) rename {assets => public}/img/2/coder.png (100%) rename {assets => public}/img/2/cokearmor.png (100%) rename {assets => public}/img/2/comb.png (100%) rename {assets => public}/img/2/combatuniform.png (100%) rename {assets => public}/img/2/conferencecall.png (100%) rename {assets => public}/img/2/containers.png (100%) rename {assets => public}/img/2/crab.png (100%) rename {assets => public}/img/2/criticaleffect.png (100%) rename {assets => public}/img/2/criticalstrike.png (100%) rename {assets => public}/img/2/crystalarcherarmor.png (100%) rename {assets => public}/img/2/crystalarmor.png (100%) rename {assets => public}/img/2/crystalbow.png (100%) rename {assets => public}/img/2/crystalscolpion.png (100%) rename {assets => public}/img/2/cursedhahoemask.png (100%) rename {assets => public}/img/2/cursedjangseung.png (100%) rename {assets => public}/img/2/damboarmor.png (100%) rename {assets => public}/img/2/darkogre.png (100%) rename {assets => public}/img/2/darkregion.png (100%) rename {assets => public}/img/2/darkregionillusion.png (100%) rename {assets => public}/img/2/darkscolpion.png (100%) rename {assets => public}/img/2/darkskeleton.png (100%) rename {assets => public}/img/2/daywalker.png (100%) rename {assets => public}/img/2/death.png (100%) rename {assets => public}/img/2/deathbow.png (100%) rename {assets => public}/img/2/deathknight.png (100%) rename {assets => public}/img/2/desertnpc.png (100%) rename {assets => public}/img/2/desertscolpion.png (100%) rename {assets => public}/img/2/devilkazya.png (100%) rename {assets => public}/img/2/devilkazyaarmor.png (100%) rename {assets => public}/img/2/devilkazyasword.png (100%) rename {assets => public}/img/2/dinosaurarmor.png (100%) rename {assets => public}/img/2/doctor.png (100%) rename {assets => public}/img/2/dovakinarcherarmor.png (100%) rename {assets => public}/img/2/dovakinarmor.png (100%) rename {assets => public}/img/2/dragonarmor.png (100%) rename {assets => public}/img/2/earthworm.png (100%) rename {assets => public}/img/2/elfnpc.png (100%) rename {assets => public}/img/2/eliminator.png (100%) rename {assets => public}/img/2/enel.png (100%) rename {assets => public}/img/2/enelarmor.png (100%) rename {assets => public}/img/2/eneltrident.png (100%) rename {assets => public}/img/2/evasion.png (100%) rename {assets => public}/img/2/evilarmor.png (100%) rename {assets => public}/img/2/expbar.png (100%) rename {assets => public}/img/2/explosion-boulder.png (100%) rename {assets => public}/img/2/explosion-fireball.png (100%) rename {assets => public}/img/2/explosion-heal.png (100%) rename {assets => public}/img/2/explosion-iceball.png (100%) rename {assets => public}/img/2/explosion-lavaball.png (100%) rename {assets => public}/img/2/explosion-terror.png (100%) rename {assets => public}/img/2/eye.png (100%) rename {assets => public}/img/2/fairynpc.png (100%) rename {assets => public}/img/2/fallenarcherarmor.png (100%) rename {assets => public}/img/2/fallenarmor.png (100%) rename {assets => public}/img/2/firebenef.png (100%) rename {assets => public}/img/2/firefox.png (100%) rename {assets => public}/img/2/fireplay.png (100%) rename {assets => public}/img/2/fireshot.png (100%) rename {assets => public}/img/2/firespider.png (100%) rename {assets => public}/img/2/firesword.png (100%) rename {assets => public}/img/2/firstsonangelnpc.png (100%) rename {assets => public}/img/2/fisherman.png (100%) rename {assets => public}/img/2/flaredance.png (100%) rename {assets => public}/img/2/flaredanceeffect.png (100%) rename {assets => public}/img/2/flaredeathknight.png (100%) rename {assets => public}/img/2/fluffy.png (100%) rename {assets => public}/img/2/forestbow.png (100%) rename {assets => public}/img/2/forestdragon.png (100%) rename {assets => public}/img/2/forestguardiansword.png (100%) rename {assets => public}/img/2/forestnpc.png (100%) rename {assets => public}/img/2/frankensteinarmor.png (100%) rename {assets => public}/img/2/friedpotatoarmor.png (100%) rename {assets => public}/img/2/frog.png (100%) rename {assets => public}/img/2/frogarmor.png (100%) rename {assets => public}/img/2/frostarmor.png (100%) rename {assets => public}/img/2/frostqueen.png (100%) rename {assets => public}/img/2/gayarcherarmor.png (100%) rename {assets => public}/img/2/gayarmor.png (100%) rename {assets => public}/img/2/gaybow.png (100%) rename {assets => public}/img/2/gbwingarcherarmor.png (100%) rename {assets => public}/img/2/gbwingarmor.png (100%) rename {assets => public}/img/2/ghost.png (100%) rename {assets => public}/img/2/ghostrider.png (100%) rename {assets => public}/img/2/goblin.png (100%) rename {assets => public}/img/2/goldaxe.png (100%) rename {assets => public}/img/2/goldenarcherarmor.png (100%) rename {assets => public}/img/2/goldenarmor.png (100%) rename {assets => public}/img/2/goldenbow.png (100%) rename {assets => public}/img/2/goldensword.png (100%) rename {assets => public}/img/2/goldgolem.png (100%) rename {assets => public}/img/2/goldmedal.png (100%) rename {assets => public}/img/2/golem.png (100%) rename {assets => public}/img/2/greenarcherarmor.png (100%) rename {assets => public}/img/2/greenarmor.png (100%) rename {assets => public}/img/2/greenbow.png (100%) rename {assets => public}/img/2/greendamboarmor.png (100%) rename {assets => public}/img/2/greenfish.png (100%) rename {assets => public}/img/2/greenlightbow.png (100%) rename {assets => public}/img/2/greenlightsaber.png (100%) rename {assets => public}/img/2/greenpirateskeleton.png (100%) rename {assets => public}/img/2/greenwingarcherarmor.png (100%) rename {assets => public}/img/2/greenwingarmor.png (100%) rename {assets => public}/img/2/guard.png (100%) rename {assets => public}/img/2/guardarcherarmor.png (100%) rename {assets => public}/img/2/guardarmor.png (100%) rename {assets => public}/img/2/halberd.png (100%) rename {assets => public}/img/2/halloweenjkarmor.png (100%) rename {assets => public}/img/2/hammer.png (100%) rename {assets => public}/img/2/hand.png (100%) rename {assets => public}/img/2/heal.png (100%) rename {assets => public}/img/2/healactiveicon.png (100%) rename {assets => public}/img/2/healeffect.png (100%) rename {assets => public}/img/2/hellspider.png (100%) rename {assets => public}/img/2/helpbutton.png (100%) rename {assets => public}/img/2/hermitcrab.png (100%) rename {assets => public}/img/2/hobgoblin.png (100%) rename {assets => public}/img/2/hongcheol.png (100%) rename {assets => public}/img/2/hongcheolarmor.png (100%) rename {assets => public}/img/2/hpbar.png (100%) rename {assets => public}/img/2/huniarmor.png (100%) rename {assets => public}/img/2/hunterbow.png (100%) rename {assets => public}/img/2/iamverycoldnpc.png (100%) rename {assets => public}/img/2/iceelfnpc.png (100%) rename {assets => public}/img/2/icegoblin.png (100%) rename {assets => public}/img/2/icegolem.png (100%) rename {assets => public}/img/2/iceknight.png (100%) rename {assets => public}/img/2/icerose.png (100%) rename {assets => public}/img/2/icevulture.png (100%) rename {assets => public}/img/2/infectedguard.png (100%) rename {assets => public}/img/2/inventory.png (100%) rename {assets => public}/img/2/ironbow.png (100%) rename {assets => public}/img/2/ironknightarmor.png (100%) rename {assets => public}/img/2/ironogre.png (100%) rename {assets => public}/img/2/item-adhererarcherarmor.png (100%) rename {assets => public}/img/2/item-adhererrobe.png (100%) rename {assets => public}/img/2/item-adminarmor.png (100%) rename {assets => public}/img/2/item-apple.png (100%) rename {assets => public}/img/2/item-archerarmor.png (100%) rename {assets => public}/img/2/item-archerschooluniform.png (100%) rename {assets => public}/img/2/item-armorbinding.png (100%) rename {assets => public}/img/2/item-armorcommon.png (100%) rename {assets => public}/img/2/item-armorpatches.png (100%) rename {assets => public}/img/2/item-armorrare.png (100%) rename {assets => public}/img/2/item-armoruncommon.png (100%) rename {assets => public}/img/2/item-axe.png (100%) rename {assets => public}/img/2/item-bamboospear.png (100%) rename {assets => public}/img/2/item-banana.png (100%) rename {assets => public}/img/2/item-bastardsword.png (100%) rename {assets => public}/img/2/item-bearseonbiarmor.png (100%) rename {assets => public}/img/2/item-beautifullife.png (100%) rename {assets => public}/img/2/item-beearmor.png (100%) rename {assets => public}/img/2/item-beetlearmor.png (100%) rename {assets => public}/img/2/item-bigflask.png (100%) rename {assets => public}/img/2/item-blackpotion.png (100%) rename {assets => public}/img/2/item-blackspiderarmor.png (100%) rename {assets => public}/img/2/item-bloodbow.png (100%) rename {assets => public}/img/2/item-bluedamboarmor.png (100%) rename {assets => public}/img/2/item-bluepiratearmor.png (100%) rename {assets => public}/img/2/item-bluescimitar.png (100%) rename {assets => public}/img/2/item-bluesword.png (100%) rename {assets => public}/img/2/item-bluewingarcherarmor.png (100%) rename {assets => public}/img/2/item-bluewingarmor.png (100%) rename {assets => public}/img/2/item-book.png (100%) rename {assets => public}/img/2/item-bowcommon.png (100%) rename {assets => public}/img/2/item-bowlimb.png (100%) rename {assets => public}/img/2/item-bowrare.png (100%) rename {assets => public}/img/2/item-bowstring.png (100%) rename {assets => public}/img/2/item-bowuncommon.png (100%) rename {assets => public}/img/2/item-branch.png (100%) rename {assets => public}/img/2/item-breaker.png (100%) rename {assets => public}/img/2/item-bridalmask.png (100%) rename {assets => public}/img/2/item-burger.png (100%) rename {assets => public}/img/2/item-burgerarmor.png (100%) rename {assets => public}/img/2/item-butcherknife.png (100%) rename {assets => public}/img/2/item-cactusaxe.png (100%) rename {assets => public}/img/2/item-cake.png (100%) rename {assets => public}/img/2/item-candybar.png (100%) rename {assets => public}/img/2/item-captainbow.png (100%) rename {assets => public}/img/2/item-catarmor.png (100%) rename {assets => public}/img/2/item-cd.png (100%) rename {assets => public}/img/2/item-cheoliarcherarmor.png (100%) rename {assets => public}/img/2/item-cheoliarmor.png (100%) rename {assets => public}/img/2/item-christmasarmor.png (100%) rename {assets => public}/img/2/item-cloth.png (100%) rename {assets => public}/img/2/item-clotharmor.png (100%) rename {assets => public}/img/2/item-cockroachsuit.png (100%) rename {assets => public}/img/2/item-cokearmor.png (100%) rename {assets => public}/img/2/item-comb.png (100%) rename {assets => public}/img/2/item-combatuniform.png (100%) rename {assets => public}/img/2/item-conferencecall.png (100%) rename {assets => public}/img/2/item-crystalarcherarmor.png (100%) rename {assets => public}/img/2/item-crystalarmor.png (100%) rename {assets => public}/img/2/item-crystalbow.png (100%) rename {assets => public}/img/2/item-damboarmor.png (100%) rename {assets => public}/img/2/item-daywalker.png (100%) rename {assets => public}/img/2/item-deathbow.png (100%) rename {assets => public}/img/2/item-devilkazyaarmor.png (100%) rename {assets => public}/img/2/item-devilkazyasword.png (100%) rename {assets => public}/img/2/item-diamondring.png (100%) rename {assets => public}/img/2/item-dinosaurarmor.png (100%) rename {assets => public}/img/2/item-dolring.png (100%) rename {assets => public}/img/2/item-dovakinarcherarmor.png (100%) rename {assets => public}/img/2/item-dovakinarmor.png (100%) rename {assets => public}/img/2/item-dragonarmor.png (100%) rename {assets => public}/img/2/item-element.png (100%) rename {assets => public}/img/2/item-emeraldring.png (100%) rename {assets => public}/img/2/item-enelarmor.png (100%) rename {assets => public}/img/2/item-eneltrident.png (100%) rename {assets => public}/img/2/item-essentialrage.png (100%) rename {assets => public}/img/2/item-evilarmor.png (100%) rename {assets => public}/img/2/item-fallenarcherarmor.png (100%) rename {assets => public}/img/2/item-fallenarmor.png (100%) rename {assets => public}/img/2/item-fireplay.png (100%) rename {assets => public}/img/2/item-firepotion.png (100%) rename {assets => public}/img/2/item-fireshot.png (100%) rename {assets => public}/img/2/item-firesword.png (100%) rename {assets => public}/img/2/item-flask.png (100%) rename {assets => public}/img/2/item-forestbow.png (100%) rename {assets => public}/img/2/item-forestguardiansword.png (100%) rename {assets => public}/img/2/item-frankensteinarmor.png (100%) rename {assets => public}/img/2/item-friedpotatoarmor.png (100%) rename {assets => public}/img/2/item-frogarmor.png (100%) rename {assets => public}/img/2/item-frostarmor.png (100%) rename {assets => public}/img/2/item-gayarcherarmor.png (100%) rename {assets => public}/img/2/item-gayarmor.png (100%) rename {assets => public}/img/2/item-gaybow.png (100%) rename {assets => public}/img/2/item-gbwingarcherarmor.png (100%) rename {assets => public}/img/2/item-gbwingarmor.png (100%) rename {assets => public}/img/2/item-ghostrider.png (100%) rename {assets => public}/img/2/item-gold.png (100%) rename {assets => public}/img/2/item-goldaxe.png (100%) rename {assets => public}/img/2/item-goldenarcherarmor.png (100%) rename {assets => public}/img/2/item-goldenarmor.png (100%) rename {assets => public}/img/2/item-goldenbow.png (100%) rename {assets => public}/img/2/item-goldensword.png (100%) rename {assets => public}/img/2/item-goldring.png (100%) rename {assets => public}/img/2/item-greenarcherarmor.png (100%) rename {assets => public}/img/2/item-greenarmor.png (100%) rename {assets => public}/img/2/item-greenbow.png (100%) rename {assets => public}/img/2/item-greendamboarmor.png (100%) rename {assets => public}/img/2/item-greenlightbow.png (100%) rename {assets => public}/img/2/item-greenlightsaber.png (100%) rename {assets => public}/img/2/item-greenpendant.png (100%) rename {assets => public}/img/2/item-greenwingarcherarmor.png (100%) rename {assets => public}/img/2/item-greenwingarmor.png (100%) rename {assets => public}/img/2/item-guardarcherarmor.png (100%) rename {assets => public}/img/2/item-guardarmor.png (100%) rename {assets => public}/img/2/item-halberd.png (100%) rename {assets => public}/img/2/item-halloweenjkarmor.png (100%) rename {assets => public}/img/2/item-hammer.png (100%) rename {assets => public}/img/2/item-hongcheolarmor.png (100%) rename {assets => public}/img/2/item-huniarmor.png (100%) rename {assets => public}/img/2/item-hunterbow.png (100%) rename {assets => public}/img/2/item-icerose.png (100%) rename {assets => public}/img/2/item-ironbow.png (100%) rename {assets => public}/img/2/item-ironknightarmor.png (100%) rename {assets => public}/img/2/item-justicebow.png (100%) rename {assets => public}/img/2/item-justicehammer.png (100%) rename {assets => public}/img/2/item-leaf.png (100%) rename {assets => public}/img/2/item-leatherarcherarmor.png (100%) rename {assets => public}/img/2/item-leatherarmor.png (100%) rename {assets => public}/img/2/item-legolasarmor.png (100%) rename {assets => public}/img/2/item-loveactring.png (100%) rename {assets => public}/img/2/item-machete.png (100%) rename {assets => public}/img/2/item-magicspear.png (100%) rename {assets => public}/img/2/item-mailarcherarmor.png (100%) rename {assets => public}/img/2/item-mailarmor.png (100%) rename {assets => public}/img/2/item-manaflask.png (100%) rename {assets => public}/img/2/item-marblependant.png (100%) rename {assets => public}/img/2/item-marinebow.png (100%) rename {assets => public}/img/2/item-memme.png (100%) rename {assets => public}/img/2/item-mermaidbow.png (100%) rename {assets => public}/img/2/item-mineral.png (100%) rename {assets => public}/img/2/item-miniseadragonarmor.png (100%) rename {assets => public}/img/2/item-morningstar.png (100%) rename {assets => public}/img/2/item-mountforestdragon.png (100%) rename {assets => public}/img/2/item-mountseadragon.png (100%) rename {assets => public}/img/2/item-mountwhitetiger.png (100%) rename {assets => public}/img/2/item-ninjaarmor.png (100%) rename {assets => public}/img/2/item-orange.png (100%) rename {assets => public}/img/2/item-paewoldo.png (100%) rename {assets => public}/img/2/item-paladinarmor.png (100%) rename {assets => public}/img/2/item-pearlpendant.png (100%) rename {assets => public}/img/2/item-pearlring.png (100%) rename {assets => public}/img/2/item-pendant1.png (100%) rename {assets => public}/img/2/item-pickle.png (100%) rename {assets => public}/img/2/item-pinkcockroacharmor.png (100%) rename {assets => public}/img/2/item-pinksword.png (100%) rename {assets => public}/img/2/item-piratearcherarmor.png (100%) rename {assets => public}/img/2/item-pirateking.png (100%) rename {assets => public}/img/2/item-plasticbow.png (100%) rename {assets => public}/img/2/item-platearcherarmor.png (100%) rename {assets => public}/img/2/item-platearmor.png (100%) rename {assets => public}/img/2/item-plunger.png (100%) rename {assets => public}/img/2/item-portalarmor.png (100%) rename {assets => public}/img/2/item-powerarmour.png (100%) rename {assets => public}/img/2/item-powersword.png (100%) rename {assets => public}/img/2/item-purplecloudkallege.png (100%) rename {assets => public}/img/2/item-rabbitarmor.png (100%) rename {assets => public}/img/2/item-radisharmor.png (100%) rename {assets => public}/img/2/item-rainbowapro.png (100%) rename {assets => public}/img/2/item-rainbowsword.png (100%) rename {assets => public}/img/2/item-ratarcherarmor.png (100%) rename {assets => public}/img/2/item-ratarmor.png (100%) rename {assets => public}/img/2/item-redarcherarmor.png (100%) rename {assets => public}/img/2/item-redarmor.png (100%) rename {assets => public}/img/2/item-redbow.png (100%) rename {assets => public}/img/2/item-reddamboarmor.png (100%) rename {assets => public}/img/2/item-redenelbow.png (100%) rename {assets => public}/img/2/item-redguardarcherarmor.png (100%) rename {assets => public}/img/2/item-redguardarmor.png (100%) rename {assets => public}/img/2/item-redlightbow.png (100%) rename {assets => public}/img/2/item-redlightsaber.png (100%) rename {assets => public}/img/2/item-redmetalbow.png (100%) rename {assets => public}/img/2/item-redmetalsword.png (100%) rename {assets => public}/img/2/item-redsickle.png (100%) rename {assets => public}/img/2/item-redsicklebow.png (100%) rename {assets => public}/img/2/item-redsword.png (100%) rename {assets => public}/img/2/item-redwingarcherarmor.png (100%) rename {assets => public}/img/2/item-redwingarmor.png (100%) rename {assets => public}/img/2/item-regionarmor.png (100%) rename {assets => public}/img/2/item-ring1.png (100%) rename {assets => public}/img/2/item-robocoparmor.png (100%) rename {assets => public}/img/2/item-rock.png (100%) rename {assets => public}/img/2/item-rose.png (100%) rename {assets => public}/img/2/item-rosebow.png (100%) rename {assets => public}/img/2/item-royalazalea.png (100%) rename {assets => public}/img/2/item-rubyring.png (100%) rename {assets => public}/img/2/item-rudolfarmor.png (100%) rename {assets => public}/img/2/item-sapphirering.png (100%) rename {assets => public}/img/2/item-schooluniform.png (100%) rename {assets => public}/img/2/item-scimitar.png (100%) rename {assets => public}/img/2/item-seadragonarmor.png (100%) rename {assets => public}/img/2/item-seahorsebow.png (100%) rename {assets => public}/img/2/item-searage.png (100%) rename {assets => public}/img/2/item-seed.png (100%) rename {assets => public}/img/2/item-shadowregionarmor.png (100%) rename {assets => public}/img/2/item-shardt1.png (100%) rename {assets => public}/img/2/item-shardt2.png (100%) rename {assets => public}/img/2/item-shardt3.png (100%) rename {assets => public}/img/2/item-shardt4.png (100%) rename {assets => public}/img/2/item-shardt5.png (100%) rename {assets => public}/img/2/item-sickle.png (100%) rename {assets => public}/img/2/item-sicklebow.png (100%) rename {assets => public}/img/2/item-sidesword.png (100%) rename {assets => public}/img/2/item-skylightbow.png (100%) rename {assets => public}/img/2/item-skylightsaber.png (100%) rename {assets => public}/img/2/item-snowfoxarcherarmor.png (100%) rename {assets => public}/img/2/item-snowfoxarmor.png (100%) rename {assets => public}/img/2/item-snowmanarmor.png (100%) rename {assets => public}/img/2/item-snowpotion.png (100%) rename {assets => public}/img/2/item-spear.png (100%) rename {assets => public}/img/2/item-spiritring.png (100%) rename {assets => public}/img/2/item-sproutring.png (100%) rename {assets => public}/img/2/item-squeakyhammer.png (100%) rename {assets => public}/img/2/item-squidarmor.png (100%) rename {assets => public}/img/2/item-sword1.png (100%) rename {assets => public}/img/2/item-sword2.png (100%) rename {assets => public}/img/2/item-taekwondo.png (100%) rename {assets => public}/img/2/item-tamagotchiring.png (100%) rename {assets => public}/img/2/item-thiefarmor.png (100%) rename {assets => public}/img/2/item-tigerarmor.png (100%) rename {assets => public}/img/2/item-topazring.png (100%) rename {assets => public}/img/2/item-trident.png (100%) rename {assets => public}/img/2/item-typhoon.png (100%) rename {assets => public}/img/2/item-violetbow.png (100%) rename {assets => public}/img/2/item-watermelon.png (100%) rename {assets => public}/img/2/item-watermelonbow.png (100%) rename {assets => public}/img/2/item-weaponblade.png (100%) rename {assets => public}/img/2/item-weaponcommon.png (100%) rename {assets => public}/img/2/item-weaponhilt.png (100%) rename {assets => public}/img/2/item-weaponrare.png (100%) rename {assets => public}/img/2/item-weaponuncommon.png (100%) rename {assets => public}/img/2/item-weastaff.png (100%) rename {assets => public}/img/2/item-whip.png (100%) rename {assets => public}/img/2/item-whitearcherarmor.png (100%) rename {assets => public}/img/2/item-whitearmor.png (100%) rename {assets => public}/img/2/item-wizardrobe.png (100%) rename {assets => public}/img/2/item-wolfarcherarmor.png (100%) rename {assets => public}/img/2/item-wolfarmor.png (100%) rename {assets => public}/img/2/item-wood.png (100%) rename {assets => public}/img/2/item-woodenbow.png (100%) rename {assets => public}/img/2/jirisanmoonbear.png (100%) rename {assets => public}/img/2/justicebow.png (100%) rename {assets => public}/img/2/justicehammer.png (100%) rename {assets => public}/img/2/kaonashi.png (100%) rename {assets => public}/img/2/king.png (100%) rename {assets => public}/img/2/lavanpc.png (100%) rename {assets => public}/img/2/leatherarcherarmor.png (100%) rename {assets => public}/img/2/leatherarmor.png (100%) rename {assets => public}/img/2/legolasarmor.png (100%) rename {assets => public}/img/2/lightningguardian.png (100%) rename {assets => public}/img/2/livingarmor.png (100%) rename {assets => public}/img/2/loot.png (100%) rename {assets => public}/img/2/machete.png (100%) rename {assets => public}/img/2/magicspear.png (100%) rename {assets => public}/img/2/mailarcherarmor.png (100%) rename {assets => public}/img/2/mailarmor.png (100%) rename {assets => public}/img/2/main.png (100%) rename {assets => public}/img/2/maintwo.png (100%) rename {assets => public}/img/2/mantis.png (100%) rename {assets => public}/img/2/mapframe.png (100%) rename {assets => public}/img/2/mapicons.png (100%) rename {assets => public}/img/2/marinebow.png (100%) rename {assets => public}/img/2/memme.png (100%) rename {assets => public}/img/2/mermaid.png (100%) rename {assets => public}/img/2/mermaidbow.png (100%) rename {assets => public}/img/2/mermaidnpc.png (100%) rename {assets => public}/img/2/mimic.png (100%) rename {assets => public}/img/2/minidragon.png (100%) rename {assets => public}/img/2/miniemperor.png (100%) rename {assets => public}/img/2/miniiceknight.png (100%) rename {assets => public}/img/2/miniknight.png (100%) rename {assets => public}/img/2/miniseadragon.png (100%) rename {assets => public}/img/2/miniseadragonarmor.png (100%) rename {assets => public}/img/2/mojojojonpc.png (100%) rename {assets => public}/img/2/moleking.png (100%) rename {assets => public}/img/2/momangelnpc.png (100%) rename {assets => public}/img/2/moreinventorybutton.png (100%) rename {assets => public}/img/2/morningstar.png (100%) rename {assets => public}/img/2/nightmareregion.png (100%) rename {assets => public}/img/2/ninjaarmor.png (100%) rename {assets => public}/img/2/nyan.png (100%) rename {assets => public}/img/2/octocat.png (100%) rename {assets => public}/img/2/octopus.png (100%) rename {assets => public}/img/2/oddeyecat.png (100%) rename {assets => public}/img/2/ogre.png (100%) rename {assets => public}/img/2/ogrelord.png (100%) rename {assets => public}/img/2/oldogre.png (100%) rename {assets => public}/img/2/orc.png (100%) rename {assets => public}/img/2/paewoldo.png (100%) rename {assets => public}/img/2/pain.png (100%) rename {assets => public}/img/2/paladinarmor.png (100%) rename {assets => public}/img/2/penguin.png (100%) rename {assets => public}/img/2/pickle.png (100%) rename {assets => public}/img/2/pierrot.png (100%) rename {assets => public}/img/2/pinkcockroacharmor.png (100%) rename {assets => public}/img/2/pinkelf.png (100%) rename {assets => public}/img/2/pinksword.png (100%) rename {assets => public}/img/2/piratearcherarmor.png (100%) rename {assets => public}/img/2/piratecaptain.png (100%) rename {assets => public}/img/2/pirategirlnpc.png (100%) rename {assets => public}/img/2/pirateking.png (100%) rename {assets => public}/img/2/pirateskeleton.png (100%) rename {assets => public}/img/2/plasticbow.png (100%) rename {assets => public}/img/2/platearcherarmor.png (100%) rename {assets => public}/img/2/platearmor.png (100%) rename {assets => public}/img/2/plunger.png (100%) rename {assets => public}/img/2/pointer.png (100%) rename {assets => public}/img/2/poisonspider.png (100%) rename {assets => public}/img/2/portalarmor.png (100%) rename {assets => public}/img/2/powerarmour.png (100%) rename {assets => public}/img/2/powersword.png (100%) rename {assets => public}/img/2/preta.png (100%) rename {assets => public}/img/2/priest.png (100%) rename {assets => public}/img/2/projectile-boulder.png (100%) rename {assets => public}/img/2/projectile-fireball.png (100%) rename {assets => public}/img/2/projectile-iceball.png (100%) rename {assets => public}/img/2/projectile-none.png (100%) rename {assets => public}/img/2/projectile-pinearrow.png (100%) rename {assets => public}/img/2/projectile-terror.png (100%) rename {assets => public}/img/2/projectile-tornado.png (100%) rename {assets => public}/img/2/provocationeffect.png (100%) rename {assets => public}/img/2/purplecloudkallege.png (100%) rename {assets => public}/img/2/purplepreta.png (100%) rename {assets => public}/img/2/queenant.png (100%) rename {assets => public}/img/2/queenspider.png (100%) rename {assets => public}/img/2/rabbitarmor.png (100%) rename {assets => public}/img/2/radisharmor.png (100%) rename {assets => public}/img/2/rainbowapro.png (100%) rename {assets => public}/img/2/rainbowsword.png (100%) rename {assets => public}/img/2/rat.png (100%) rename {assets => public}/img/2/ratarcherarmor.png (100%) rename {assets => public}/img/2/ratarmor.png (100%) rename {assets => public}/img/2/redarcherarmor.png (100%) rename {assets => public}/img/2/redarmor.png (100%) rename {assets => public}/img/2/redbikinigirlnpc.png (100%) rename {assets => public}/img/2/redbow.png (100%) rename {assets => public}/img/2/redcockroach.png (100%) rename {assets => public}/img/2/reddamboarmor.png (100%) rename {assets => public}/img/2/redelf.png (100%) rename {assets => public}/img/2/redenelbow.png (100%) rename {assets => public}/img/2/redfish.png (100%) rename {assets => public}/img/2/redguard.png (100%) rename {assets => public}/img/2/redguardarcherarmor.png (100%) rename {assets => public}/img/2/redguardarmor.png (100%) rename {assets => public}/img/2/redlightbow.png (100%) rename {assets => public}/img/2/redlightsaber.png (100%) rename {assets => public}/img/2/redmetalbow.png (100%) rename {assets => public}/img/2/redmetalsword.png (100%) rename {assets => public}/img/2/redmouse.png (100%) rename {assets => public}/img/2/redpirateskeleton.png (100%) rename {assets => public}/img/2/redsickle.png (100%) rename {assets => public}/img/2/redsicklebow.png (100%) rename {assets => public}/img/2/redstoremannpc.png (100%) rename {assets => public}/img/2/redsword.png (100%) rename {assets => public}/img/2/redwingarcherarmor.png (100%) rename {assets => public}/img/2/redwingarmor.png (100%) rename {assets => public}/img/2/regionarmor.png (100%) rename {assets => public}/img/2/regionhenchman.png (100%) rename {assets => public}/img/2/rhaphidophoridae.png (100%) rename {assets => public}/img/2/rick.png (100%) rename {assets => public}/img/2/robocoparmor.png (100%) rename {assets => public}/img/2/rose.png (100%) rename {assets => public}/img/2/rosebow.png (100%) rename {assets => public}/img/2/rudolf.png (100%) rename {assets => public}/img/2/rudolfarmor.png (100%) rename {assets => public}/img/2/santa.png (100%) rename {assets => public}/img/2/santaelf.png (100%) rename {assets => public}/img/2/schooluniform.png (100%) rename {assets => public}/img/2/scientist.png (100%) rename {assets => public}/img/2/scimitar.png (100%) rename {assets => public}/img/2/scorpion.png (100%) rename {assets => public}/img/2/seadragon.png (100%) rename {assets => public}/img/2/seadragonarmor.png (100%) rename {assets => public}/img/2/seahorsebow.png (100%) rename {assets => public}/img/2/searage.png (100%) rename {assets => public}/img/2/secondsonangelnpc.png (100%) rename {assets => public}/img/2/shadow16.png (100%) rename {assets => public}/img/2/shadowregion.png (100%) rename {assets => public}/img/2/shadowregionarmor.png (100%) rename {assets => public}/img/2/shepherdboy.png (100%) rename {assets => public}/img/2/shieldbenef.png (100%) rename {assets => public}/img/2/sickle.png (100%) rename {assets => public}/img/2/sicklebow.png (100%) rename {assets => public}/img/2/sidesword.png (100%) rename {assets => public}/img/2/silvermedal.png (100%) rename {assets => public}/img/2/skeleton.png (100%) rename {assets => public}/img/2/skeleton2.png (100%) rename {assets => public}/img/2/skeletonking.png (100%) rename {assets => public}/img/2/skillicons.png (100%) rename {assets => public}/img/2/skilllevel.png (100%) rename {assets => public}/img/2/skillslots.png (100%) rename {assets => public}/img/2/skydinosaur.png (100%) rename {assets => public}/img/2/skyelf.png (100%) rename {assets => public}/img/2/skylightbow.png (100%) rename {assets => public}/img/2/skylightsaber.png (100%) rename {assets => public}/img/2/slime.png (100%) rename {assets => public}/img/2/smalldevil.png (100%) rename {assets => public}/img/2/snek.png (100%) rename {assets => public}/img/2/snowelf.png (100%) rename {assets => public}/img/2/snowfoxarcherarmor.png (100%) rename {assets => public}/img/2/snowfoxarmor.png (100%) rename {assets => public}/img/2/snowlady.png (100%) rename {assets => public}/img/2/snowman.png (100%) rename {assets => public}/img/2/snowmanarmor.png (100%) rename {assets => public}/img/2/snowrabbit.png (100%) rename {assets => public}/img/2/snowshepherdboy.png (100%) rename {assets => public}/img/2/snowwolf.png (100%) rename {assets => public}/img/2/soldier.png (100%) rename {assets => public}/img/2/soldierant.png (100%) rename {assets => public}/img/2/sorcerer.png (100%) rename {assets => public}/img/2/soundbutton.png (100%) rename {assets => public}/img/2/soybeanbug.png (100%) rename {assets => public}/img/2/sparks.png (100%) rename {assets => public}/img/2/spear.png (100%) rename {assets => public}/img/2/spectre.png (100%) rename {assets => public}/img/2/spell.png (100%) rename {assets => public}/img/2/spider.png (100%) rename {assets => public}/img/2/sponge.png (100%) rename {assets => public}/img/2/spritesheet.png (100%) rename {assets => public}/img/2/squeakyhammer.png (100%) rename {assets => public}/img/2/squid.png (100%) rename {assets => public}/img/2/squidarmor.png (100%) rename {assets => public}/img/2/squirrel.png (100%) rename {assets => public}/img/2/stuneffect.png (100%) rename {assets => public}/img/2/suicideghost.png (100%) rename {assets => public}/img/2/supercateffect.png (100%) rename {assets => public}/img/2/superiorangelnpc.png (100%) rename {assets => public}/img/2/sword.png (100%) rename {assets => public}/img/2/sword1.png (100%) rename {assets => public}/img/2/sword2.png (100%) rename {assets => public}/img/2/taekwondo.png (100%) rename {assets => public}/img/2/talk.png (100%) rename {assets => public}/img/2/target.png (100%) rename {assets => public}/img/2/thiefarmor.png (100%) rename {assets => public}/img/2/tigerarmor.png (100%) rename {assets => public}/img/2/tilesheet.png (100%) rename {assets => public}/img/2/trade.png (100%) rename {assets => public}/img/2/trident.png (100%) rename {assets => public}/img/2/typhoon.png (100%) rename {assets => public}/img/2/vampire.png (100%) rename {assets => public}/img/2/vendingmachine.png (100%) rename {assets => public}/img/2/villagegirl.png (100%) rename {assets => public}/img/2/villager.png (100%) rename {assets => public}/img/2/violetbow.png (100%) rename {assets => public}/img/2/vulture.png (100%) rename {assets => public}/img/2/watermelonbow.png (100%) rename {assets => public}/img/2/weastaff.png (100%) rename {assets => public}/img/2/whip.png (100%) rename {assets => public}/img/2/whitearcherarmor.png (100%) rename {assets => public}/img/2/whitearmor.png (100%) rename {assets => public}/img/2/whitebear.png (100%) rename {assets => public}/img/2/whitemouse.png (100%) rename {assets => public}/img/2/whitetiger.png (100%) rename {assets => public}/img/2/windguardian.png (100%) rename {assets => public}/img/2/wizard.png (100%) rename {assets => public}/img/2/wizardrobe.png (100%) rename {assets => public}/img/2/wolf.png (100%) rename {assets => public}/img/2/wolfarcherarmor.png (100%) rename {assets => public}/img/2/wolfarmor.png (100%) rename {assets => public}/img/2/wood.png (100%) rename {assets => public}/img/2/wood2.png (100%) rename {assets => public}/img/2/wood3.png (100%) rename {assets => public}/img/2/woodenbow.png (100%) rename {assets => public}/img/2/yellowbat.png (100%) rename {assets => public}/img/2/yellowfish.png (100%) rename {assets => public}/img/2/yellowmouse.png (100%) rename {assets => public}/img/2/yellowpreta.png (100%) rename {assets => public}/img/2/zombie.png (100%) rename {assets => public}/img/2/zombiegf.png (100%) rename {assets => public}/img/3/achievements.png (100%) rename {assets => public}/img/3/adherer.png (100%) rename {assets => public}/img/3/adhererarcherarmor.png (100%) rename {assets => public}/img/3/adhererrobe.png (100%) rename {assets => public}/img/3/adminarmor.png (100%) rename {assets => public}/img/3/agent.png (100%) rename {assets => public}/img/3/ancientmanumentnpc.png (100%) rename {assets => public}/img/3/angelnpc.png (100%) rename {assets => public}/img/3/ant.png (100%) rename {assets => public}/img/3/archerarmor.png (100%) rename {assets => public}/img/3/archerschooluniform.png (100%) rename {assets => public}/img/3/axe.png (100%) rename {assets => public}/img/3/babyspider.png (100%) rename {assets => public}/img/3/bamboospear.png (100%) rename {assets => public}/img/3/bank.png (100%) rename {assets => public}/img/3/barsheet.png (100%) rename {assets => public}/img/3/basebarcontainer.png (100%) rename {assets => public}/img/3/bastardsword.png (100%) rename {assets => public}/img/3/bat.png (100%) rename {assets => public}/img/3/beachnpc.png (100%) rename {assets => public}/img/3/bearseonbiarmor.png (100%) rename {assets => public}/img/3/beautifullife.png (100%) rename {assets => public}/img/3/bee.png (100%) rename {assets => public}/img/3/beearmor.png (100%) rename {assets => public}/img/3/beetle.png (100%) rename {assets => public}/img/3/beetlearmor.png (100%) rename {assets => public}/img/3/blackpirateskeleton.png (100%) rename {assets => public}/img/3/blackspiderarmor.png (100%) rename {assets => public}/img/3/blackwizard.png (100%) rename {assets => public}/img/3/blazespider.png (100%) rename {assets => public}/img/3/bloodbow.png (100%) rename {assets => public}/img/3/bloodsucking.png (100%) rename {assets => public}/img/3/bluebikinigirlnpc.png (100%) rename {assets => public}/img/3/bluecockroach.png (100%) rename {assets => public}/img/3/bluedamboarmor.png (100%) rename {assets => public}/img/3/bluepiratearmor.png (100%) rename {assets => public}/img/3/bluepreta.png (100%) rename {assets => public}/img/3/bluescimitar.png (100%) rename {assets => public}/img/3/bluestoremannpc.png (100%) rename {assets => public}/img/3/bluesword.png (100%) rename {assets => public}/img/3/bluewingarcherarmor.png (100%) rename {assets => public}/img/3/bluewingarmor.png (100%) rename {assets => public}/img/3/border.png (100%) rename {assets => public}/img/3/boss.png (100%) rename {assets => public}/img/3/bow.png (100%) rename {assets => public}/img/3/boxingman.png (100%) rename {assets => public}/img/3/breaker.png (100%) rename {assets => public}/img/3/bridalmask.png (100%) rename {assets => public}/img/3/bronzemedal.png (100%) rename {assets => public}/img/3/brownmouse.png (100%) rename {assets => public}/img/3/bucklerbenef.png (100%) rename {assets => public}/img/3/burgerarmor.png (100%) rename {assets => public}/img/3/burningstrike.png (100%) rename {assets => public}/img/3/butcherknife.png (100%) rename {assets => public}/img/3/buttons.png (100%) rename {assets => public}/img/3/cactus.png (100%) rename {assets => public}/img/3/cactusaxe.png (100%) rename {assets => public}/img/3/candybar.png (100%) rename {assets => public}/img/3/captainbow.png (100%) rename {assets => public}/img/3/cat.png (100%) rename {assets => public}/img/3/catarmor.png (100%) rename {assets => public}/img/3/characterbutton.png (100%) rename {assets => public}/img/3/characterdialog.png (100%) rename {assets => public}/img/3/characterdialogsheet.png (100%) rename {assets => public}/img/3/cheoliarcherarmor.png (100%) rename {assets => public}/img/3/cheoliarmor.png (100%) rename {assets => public}/img/3/chest.png (100%) rename {assets => public}/img/3/christmasarmor.png (100%) rename {assets => public}/img/3/clam.png (100%) rename {assets => public}/img/3/clotharmor.png (100%) rename {assets => public}/img/3/clotharmor2.png (100%) rename {assets => public}/img/3/clotharmor3.png (100%) rename {assets => public}/img/3/clotharmor4.png (100%) rename {assets => public}/img/3/cobra.png (100%) rename {assets => public}/img/3/cockroachsuit.png (100%) rename {assets => public}/img/3/coder.png (100%) rename {assets => public}/img/3/cokearmor.png (100%) rename {assets => public}/img/3/comb.png (100%) rename {assets => public}/img/3/combatuniform.png (100%) rename {assets => public}/img/3/conferencecall.png (100%) rename {assets => public}/img/3/containers.png (100%) rename {assets => public}/img/3/crab.png (100%) rename {assets => public}/img/3/criticaleffect.png (100%) rename {assets => public}/img/3/criticalstrike.png (100%) rename {assets => public}/img/3/crystalarcherarmor.png (100%) rename {assets => public}/img/3/crystalarmor.png (100%) rename {assets => public}/img/3/crystalbow.png (100%) rename {assets => public}/img/3/crystalscolpion.png (100%) rename {assets => public}/img/3/cursedhahoemask.png (100%) rename {assets => public}/img/3/cursedjangseung.png (100%) rename {assets => public}/img/3/damboarmor.png (100%) rename {assets => public}/img/3/darkogre.png (100%) rename {assets => public}/img/3/darkregion.png (100%) rename {assets => public}/img/3/darkregionillusion.png (100%) rename {assets => public}/img/3/darkscolpion.png (100%) rename {assets => public}/img/3/darkskeleton.png (100%) rename {assets => public}/img/3/daywalker.png (100%) rename {assets => public}/img/3/death.png (100%) rename {assets => public}/img/3/deathbow.png (100%) rename {assets => public}/img/3/deathknight.png (100%) rename {assets => public}/img/3/desertnpc.png (100%) rename {assets => public}/img/3/desertscolpion.png (100%) rename {assets => public}/img/3/devilkazya.png (100%) rename {assets => public}/img/3/devilkazyaarmor.png (100%) rename {assets => public}/img/3/devilkazyasword.png (100%) rename {assets => public}/img/3/dinosaurarmor.png (100%) rename {assets => public}/img/3/doctor.png (100%) rename {assets => public}/img/3/dog.png (100%) rename {assets => public}/img/3/dovakinarcherarmor.png (100%) rename {assets => public}/img/3/dovakinarmor.png (100%) rename {assets => public}/img/3/dragonarmor.png (100%) rename {assets => public}/img/3/earthworm.png (100%) rename {assets => public}/img/3/elfnpc.png (100%) rename {assets => public}/img/3/eliminator.png (100%) rename {assets => public}/img/3/enel.png (100%) rename {assets => public}/img/3/enelarmor.png (100%) rename {assets => public}/img/3/eneltrident.png (100%) rename {assets => public}/img/3/evasion.png (100%) rename {assets => public}/img/3/evilarmor.png (100%) rename {assets => public}/img/3/expbar.png (100%) rename {assets => public}/img/3/explosion-boulder.png (100%) rename {assets => public}/img/3/explosion-fireball.png (100%) rename {assets => public}/img/3/explosion-heal.png (100%) rename {assets => public}/img/3/explosion-iceball.png (100%) rename {assets => public}/img/3/explosion-lavaball.png (100%) rename {assets => public}/img/3/explosion-terror.png (100%) rename {assets => public}/img/3/eye.png (100%) rename {assets => public}/img/3/fairynpc.png (100%) rename {assets => public}/img/3/fallenarcherarmor.png (100%) rename {assets => public}/img/3/fallenarmor.png (100%) rename {assets => public}/img/3/firebenef.png (100%) rename {assets => public}/img/3/firefox.png (100%) rename {assets => public}/img/3/fireplay.png (100%) rename {assets => public}/img/3/fireshot.png (100%) rename {assets => public}/img/3/firespider.png (100%) rename {assets => public}/img/3/firesword.png (100%) rename {assets => public}/img/3/firstsonangelnpc.png (100%) rename {assets => public}/img/3/fisherman.png (100%) rename {assets => public}/img/3/flaredance.png (100%) rename {assets => public}/img/3/flaredanceeffect.png (100%) rename {assets => public}/img/3/flaredeathknight.png (100%) rename {assets => public}/img/3/fluffy.png (100%) rename {assets => public}/img/3/forestbow.png (100%) rename {assets => public}/img/3/forestdragon.png (100%) rename {assets => public}/img/3/forestguardiansword.png (100%) rename {assets => public}/img/3/forestnpc.png (100%) rename {assets => public}/img/3/frankensteinarmor.png (100%) rename {assets => public}/img/3/friedpotatoarmor.png (100%) rename {assets => public}/img/3/frog.png (100%) rename {assets => public}/img/3/frogarmor.png (100%) rename {assets => public}/img/3/frostarmor.png (100%) rename {assets => public}/img/3/frostqueen.png (100%) rename {assets => public}/img/3/gayarcherarmor.png (100%) rename {assets => public}/img/3/gayarmor.png (100%) rename {assets => public}/img/3/gaybow.png (100%) rename {assets => public}/img/3/gbwingarcherarmor.png (100%) rename {assets => public}/img/3/gbwingarmor.png (100%) rename {assets => public}/img/3/ghost.png (100%) rename {assets => public}/img/3/ghostrider.png (100%) rename {assets => public}/img/3/goblin.png (100%) rename {assets => public}/img/3/goldaxe.png (100%) rename {assets => public}/img/3/goldenarcherarmor.png (100%) rename {assets => public}/img/3/goldenarmor.png (100%) rename {assets => public}/img/3/goldenbow.png (100%) rename {assets => public}/img/3/goldensword.png (100%) rename {assets => public}/img/3/goldgolem.png (100%) rename {assets => public}/img/3/goldmedal.png (100%) rename {assets => public}/img/3/golem.png (100%) rename {assets => public}/img/3/greenarcherarmor.png (100%) rename {assets => public}/img/3/greenarmor.png (100%) rename {assets => public}/img/3/greenbow.png (100%) rename {assets => public}/img/3/greendamboarmor.png (100%) rename {assets => public}/img/3/greenfish.png (100%) rename {assets => public}/img/3/greenlightbow.png (100%) rename {assets => public}/img/3/greenlightsaber.png (100%) rename {assets => public}/img/3/greenpirateskeleton.png (100%) rename {assets => public}/img/3/greenwingarcherarmor.png (100%) rename {assets => public}/img/3/greenwingarmor.png (100%) rename {assets => public}/img/3/guard.png (100%) rename {assets => public}/img/3/guardarcherarmor.png (100%) rename {assets => public}/img/3/guardarmor.png (100%) rename {assets => public}/img/3/halberd.png (100%) rename {assets => public}/img/3/halloweenjkarmor.png (100%) rename {assets => public}/img/3/hammer.png (100%) rename {assets => public}/img/3/hand.png (100%) rename {assets => public}/img/3/heal.png (100%) rename {assets => public}/img/3/healactiveicon.png (100%) rename {assets => public}/img/3/healeffect.png (100%) rename {assets => public}/img/3/hellspider.png (100%) rename {assets => public}/img/3/helpbutton.png (100%) rename {assets => public}/img/3/hermitcrab.png (100%) rename {assets => public}/img/3/hobgoblin.png (100%) rename {assets => public}/img/3/hongcheol.png (100%) rename {assets => public}/img/3/hongcheolarmor.png (100%) rename {assets => public}/img/3/hpbar.png (100%) rename {assets => public}/img/3/huniarmor.png (100%) rename {assets => public}/img/3/hunterbow.png (100%) rename {assets => public}/img/3/iamverycoldnpc.png (100%) rename {assets => public}/img/3/iceelfnpc.png (100%) rename {assets => public}/img/3/icegoblin.png (100%) rename {assets => public}/img/3/icegolem.png (100%) rename {assets => public}/img/3/iceknight.png (100%) rename {assets => public}/img/3/icerose.png (100%) rename {assets => public}/img/3/icevulture.png (100%) rename {assets => public}/img/3/infectedguard.png (100%) rename {assets => public}/img/3/inventory.png (100%) rename {assets => public}/img/3/ironbow.png (100%) rename {assets => public}/img/3/ironknightarmor.png (100%) rename {assets => public}/img/3/ironogre.png (100%) rename {assets => public}/img/3/item-adhererarcherarmor.png (100%) rename {assets => public}/img/3/item-adhererrobe.png (100%) rename {assets => public}/img/3/item-adminarmor.png (100%) rename {assets => public}/img/3/item-apple.png (100%) rename {assets => public}/img/3/item-archerarmor.png (100%) rename {assets => public}/img/3/item-archerschooluniform.png (100%) rename {assets => public}/img/3/item-armorbinding.png (100%) rename {assets => public}/img/3/item-armorcommon.png (100%) rename {assets => public}/img/3/item-armorpatches.png (100%) rename {assets => public}/img/3/item-armorrare.png (100%) rename {assets => public}/img/3/item-armoruncommon.png (100%) rename {assets => public}/img/3/item-axe.png (100%) rename {assets => public}/img/3/item-bamboospear.png (100%) rename {assets => public}/img/3/item-banana.png (100%) rename {assets => public}/img/3/item-bastardsword.png (100%) rename {assets => public}/img/3/item-bearseonbiarmor.png (100%) rename {assets => public}/img/3/item-beautifullife.png (100%) rename {assets => public}/img/3/item-beearmor.png (100%) rename {assets => public}/img/3/item-beetlearmor.png (100%) rename {assets => public}/img/3/item-bigflask.png (100%) rename {assets => public}/img/3/item-blackpotion.png (100%) rename {assets => public}/img/3/item-blackspiderarmor.png (100%) rename {assets => public}/img/3/item-bloodbow.png (100%) rename {assets => public}/img/3/item-bluedamboarmor.png (100%) rename {assets => public}/img/3/item-bluepiratearmor.png (100%) rename {assets => public}/img/3/item-bluescimitar.png (100%) rename {assets => public}/img/3/item-bluesword.png (100%) rename {assets => public}/img/3/item-bluewingarcherarmor.png (100%) rename {assets => public}/img/3/item-bluewingarmor.png (100%) rename {assets => public}/img/3/item-book.png (100%) rename {assets => public}/img/3/item-bowcommon.png (100%) rename {assets => public}/img/3/item-bowlimb.png (100%) rename {assets => public}/img/3/item-bowrare.png (100%) rename {assets => public}/img/3/item-bowstring.png (100%) rename {assets => public}/img/3/item-bowuncommon.png (100%) rename {assets => public}/img/3/item-branch.png (100%) rename {assets => public}/img/3/item-breaker.png (100%) rename {assets => public}/img/3/item-bridalmask.png (100%) rename {assets => public}/img/3/item-burger.png (100%) rename {assets => public}/img/3/item-burgerarmor.png (100%) rename {assets => public}/img/3/item-butcherknife.png (100%) rename {assets => public}/img/3/item-cactusaxe.png (100%) rename {assets => public}/img/3/item-cake.png (100%) rename {assets => public}/img/3/item-candybar.png (100%) rename {assets => public}/img/3/item-captainbow.png (100%) rename {assets => public}/img/3/item-catarmor.png (100%) rename {assets => public}/img/3/item-cd.png (100%) rename {assets => public}/img/3/item-cheoliarcherarmor.png (100%) rename {assets => public}/img/3/item-cheoliarmor.png (100%) rename {assets => public}/img/3/item-christmasarmor.png (100%) rename {assets => public}/img/3/item-cloth.png (100%) rename {assets => public}/img/3/item-clotharmor.png (100%) rename {assets => public}/img/3/item-cockroachsuit.png (100%) rename {assets => public}/img/3/item-cokearmor.png (100%) rename {assets => public}/img/3/item-comb.png (100%) rename {assets => public}/img/3/item-combatuniform.png (100%) rename {assets => public}/img/3/item-conferencecall.png (100%) rename {assets => public}/img/3/item-crystalarcherarmor.png (100%) rename {assets => public}/img/3/item-crystalarmor.png (100%) rename {assets => public}/img/3/item-crystalbow.png (100%) rename {assets => public}/img/3/item-damboarmor.png (100%) rename {assets => public}/img/3/item-daywalker.png (100%) rename {assets => public}/img/3/item-deathbow.png (100%) rename {assets => public}/img/3/item-devilkazyaarmor.png (100%) rename {assets => public}/img/3/item-devilkazyasword.png (100%) rename {assets => public}/img/3/item-diamondring.png (100%) rename {assets => public}/img/3/item-dinosaurarmor.png (100%) rename {assets => public}/img/3/item-dolring.png (100%) rename {assets => public}/img/3/item-dovakinarcherarmor.png (100%) rename {assets => public}/img/3/item-dovakinarmor.png (100%) rename {assets => public}/img/3/item-dragonarmor.png (100%) rename {assets => public}/img/3/item-element.png (100%) rename {assets => public}/img/3/item-emeraldring.png (100%) rename {assets => public}/img/3/item-enelarmor.png (100%) rename {assets => public}/img/3/item-eneltrident.png (100%) rename {assets => public}/img/3/item-essentialrage.png (100%) rename {assets => public}/img/3/item-evilarmor.png (100%) rename {assets => public}/img/3/item-fallenarcherarmor.png (100%) rename {assets => public}/img/3/item-fallenarmor.png (100%) rename {assets => public}/img/3/item-fireplay.png (100%) rename {assets => public}/img/3/item-firepotion.png (100%) rename {assets => public}/img/3/item-fireshot.png (100%) rename {assets => public}/img/3/item-firesword.png (100%) rename {assets => public}/img/3/item-flask.png (100%) rename {assets => public}/img/3/item-forestbow.png (100%) rename {assets => public}/img/3/item-forestguardiansword.png (100%) rename {assets => public}/img/3/item-frankensteinarmor.png (100%) rename {assets => public}/img/3/item-friedpotatoarmor.png (100%) rename {assets => public}/img/3/item-frogarmor.png (100%) rename {assets => public}/img/3/item-frostarmor.png (100%) rename {assets => public}/img/3/item-gayarcherarmor.png (100%) rename {assets => public}/img/3/item-gayarmor.png (100%) rename {assets => public}/img/3/item-gaybow.png (100%) rename {assets => public}/img/3/item-gbwingarcherarmor.png (100%) rename {assets => public}/img/3/item-gbwingarmor.png (100%) rename {assets => public}/img/3/item-ghostrider.png (100%) rename {assets => public}/img/3/item-gold.png (100%) rename {assets => public}/img/3/item-goldaxe.png (100%) rename {assets => public}/img/3/item-goldenarcherarmor.png (100%) rename {assets => public}/img/3/item-goldenarmor.png (100%) rename {assets => public}/img/3/item-goldenbow.png (100%) rename {assets => public}/img/3/item-goldensword.png (100%) rename {assets => public}/img/3/item-goldring.png (100%) rename {assets => public}/img/3/item-greenarcherarmor.png (100%) rename {assets => public}/img/3/item-greenarmor.png (100%) rename {assets => public}/img/3/item-greenbow.png (100%) rename {assets => public}/img/3/item-greendamboarmor.png (100%) rename {assets => public}/img/3/item-greenlightbow.png (100%) rename {assets => public}/img/3/item-greenlightsaber.png (100%) rename {assets => public}/img/3/item-greenpendant.png (100%) rename {assets => public}/img/3/item-greenwingarcherarmor.png (100%) rename {assets => public}/img/3/item-greenwingarmor.png (100%) rename {assets => public}/img/3/item-guardarcherarmor.png (100%) rename {assets => public}/img/3/item-guardarmor.png (100%) rename {assets => public}/img/3/item-halberd.png (100%) rename {assets => public}/img/3/item-halloweenjkarmor.png (100%) rename {assets => public}/img/3/item-hammer.png (100%) rename {assets => public}/img/3/item-hongcheolarmor.png (100%) rename {assets => public}/img/3/item-huniarmor.png (100%) rename {assets => public}/img/3/item-hunterbow.png (100%) rename {assets => public}/img/3/item-icerose.png (100%) rename {assets => public}/img/3/item-ironbow.png (100%) rename {assets => public}/img/3/item-ironknightarmor.png (100%) rename {assets => public}/img/3/item-justicebow.png (100%) rename {assets => public}/img/3/item-justicehammer.png (100%) rename {assets => public}/img/3/item-leaf.png (100%) rename {assets => public}/img/3/item-leatherarcherarmor.png (100%) rename {assets => public}/img/3/item-leatherarmor.png (100%) rename {assets => public}/img/3/item-legolasarmor.png (100%) rename {assets => public}/img/3/item-loveactring.png (100%) rename {assets => public}/img/3/item-machete.png (100%) rename {assets => public}/img/3/item-magicspear.png (100%) rename {assets => public}/img/3/item-mailarcherarmor.png (100%) rename {assets => public}/img/3/item-mailarmor.png (100%) rename {assets => public}/img/3/item-manaflask.png (100%) rename {assets => public}/img/3/item-marblependant.png (100%) rename {assets => public}/img/3/item-marinebow.png (100%) rename {assets => public}/img/3/item-memme.png (100%) rename {assets => public}/img/3/item-mermaidbow.png (100%) rename {assets => public}/img/3/item-mineral.png (100%) rename {assets => public}/img/3/item-miniseadragonarmor.png (100%) rename {assets => public}/img/3/item-morningstar.png (100%) rename {assets => public}/img/3/item-mountforestdragon.png (100%) rename {assets => public}/img/3/item-mountseadragon.png (100%) rename {assets => public}/img/3/item-mountwhitetiger.png (100%) rename {assets => public}/img/3/item-ninjaarmor.png (100%) rename {assets => public}/img/3/item-orange.png (100%) rename {assets => public}/img/3/item-paewoldo.png (100%) rename {assets => public}/img/3/item-paladinarmor.png (100%) rename {assets => public}/img/3/item-pearlpendant.png (100%) rename {assets => public}/img/3/item-pearlring.png (100%) rename {assets => public}/img/3/item-pendant1.png (100%) rename {assets => public}/img/3/item-pickle.png (100%) rename {assets => public}/img/3/item-pinkcockroacharmor.png (100%) rename {assets => public}/img/3/item-pinksword.png (100%) rename {assets => public}/img/3/item-piratearcherarmor.png (100%) rename {assets => public}/img/3/item-pirateking.png (100%) rename {assets => public}/img/3/item-plasticbow.png (100%) rename {assets => public}/img/3/item-platearcherarmor.png (100%) rename {assets => public}/img/3/item-platearmor.png (100%) rename {assets => public}/img/3/item-plunger.png (100%) rename {assets => public}/img/3/item-portalarmor.png (100%) rename {assets => public}/img/3/item-powerarmour.png (100%) rename {assets => public}/img/3/item-powersword.png (100%) rename {assets => public}/img/3/item-purplecloudkallege.png (100%) rename {assets => public}/img/3/item-rabbitarmor.png (100%) rename {assets => public}/img/3/item-radisharmor.png (100%) rename {assets => public}/img/3/item-rainbowapro.png (100%) rename {assets => public}/img/3/item-rainbowsword.png (100%) rename {assets => public}/img/3/item-ratarcherarmor.png (100%) rename {assets => public}/img/3/item-ratarmor.png (100%) rename {assets => public}/img/3/item-redarcherarmor.png (100%) rename {assets => public}/img/3/item-redarmor.png (100%) rename {assets => public}/img/3/item-redbow.png (100%) rename {assets => public}/img/3/item-reddamboarmor.png (100%) rename {assets => public}/img/3/item-redenelbow.png (100%) rename {assets => public}/img/3/item-redguardarcherarmor.png (100%) rename {assets => public}/img/3/item-redguardarmor.png (100%) rename {assets => public}/img/3/item-redlightbow.png (100%) rename {assets => public}/img/3/item-redlightsaber.png (100%) rename {assets => public}/img/3/item-redmetalbow.png (100%) rename {assets => public}/img/3/item-redmetalsword.png (100%) rename {assets => public}/img/3/item-redsickle.png (100%) rename {assets => public}/img/3/item-redsicklebow.png (100%) rename {assets => public}/img/3/item-redsword.png (100%) rename {assets => public}/img/3/item-redwingarcherarmor.png (100%) rename {assets => public}/img/3/item-redwingarmor.png (100%) rename {assets => public}/img/3/item-regionarmor.png (100%) rename {assets => public}/img/3/item-ring1.png (100%) rename {assets => public}/img/3/item-robocoparmor.png (100%) rename {assets => public}/img/3/item-rock.png (100%) rename {assets => public}/img/3/item-rose.png (100%) rename {assets => public}/img/3/item-rosebow.png (100%) rename {assets => public}/img/3/item-royalazalea.png (100%) rename {assets => public}/img/3/item-rubyring.png (100%) rename {assets => public}/img/3/item-rudolfarmor.png (100%) rename {assets => public}/img/3/item-sapphirering.png (100%) rename {assets => public}/img/3/item-schooluniform.png (100%) rename {assets => public}/img/3/item-scimitar.png (100%) rename {assets => public}/img/3/item-seadragonarmor.png (100%) rename {assets => public}/img/3/item-seahorsebow.png (100%) rename {assets => public}/img/3/item-searage.png (100%) rename {assets => public}/img/3/item-seed.png (100%) rename {assets => public}/img/3/item-shadowregionarmor.png (100%) rename {assets => public}/img/3/item-shardt1.png (100%) rename {assets => public}/img/3/item-shardt2.png (100%) rename {assets => public}/img/3/item-shardt3.png (100%) rename {assets => public}/img/3/item-shardt4.png (100%) rename {assets => public}/img/3/item-shardt5.png (100%) rename {assets => public}/img/3/item-sickle.png (100%) rename {assets => public}/img/3/item-sicklebow.png (100%) rename {assets => public}/img/3/item-sidesword.png (100%) rename {assets => public}/img/3/item-skylightbow.png (100%) rename {assets => public}/img/3/item-skylightsaber.png (100%) rename {assets => public}/img/3/item-snowfoxarcherarmor.png (100%) rename {assets => public}/img/3/item-snowfoxarmor.png (100%) rename {assets => public}/img/3/item-snowmanarmor.png (100%) rename {assets => public}/img/3/item-snowpotion.png (100%) rename {assets => public}/img/3/item-spear.png (100%) rename {assets => public}/img/3/item-spiritring.png (100%) rename {assets => public}/img/3/item-sproutring.png (100%) rename {assets => public}/img/3/item-squeakyhammer.png (100%) rename {assets => public}/img/3/item-squidarmor.png (100%) rename {assets => public}/img/3/item-sword1.png (100%) rename {assets => public}/img/3/item-sword2.png (100%) rename {assets => public}/img/3/item-taekwondo.png (100%) rename {assets => public}/img/3/item-tamagotchiring.png (100%) rename {assets => public}/img/3/item-thiefarmor.png (100%) rename {assets => public}/img/3/item-tigerarmor.png (100%) rename {assets => public}/img/3/item-topazring.png (100%) rename {assets => public}/img/3/item-trident.png (100%) rename {assets => public}/img/3/item-typhoon.png (100%) rename {assets => public}/img/3/item-violetbow.png (100%) rename {assets => public}/img/3/item-watermelon.png (100%) rename {assets => public}/img/3/item-watermelonbow.png (100%) rename {assets => public}/img/3/item-weaponblade.png (100%) rename {assets => public}/img/3/item-weaponcommon.png (100%) rename {assets => public}/img/3/item-weaponhilt.png (100%) rename {assets => public}/img/3/item-weaponrare.png (100%) rename {assets => public}/img/3/item-weaponuncommon.png (100%) rename {assets => public}/img/3/item-weastaff.png (100%) rename {assets => public}/img/3/item-whip.png (100%) rename {assets => public}/img/3/item-whitearcherarmor.png (100%) rename {assets => public}/img/3/item-whitearmor.png (100%) rename {assets => public}/img/3/item-wizardrobe.png (100%) rename {assets => public}/img/3/item-wolfarcherarmor.png (100%) rename {assets => public}/img/3/item-wolfarmor.png (100%) rename {assets => public}/img/3/item-wood.png (100%) rename {assets => public}/img/3/item-woodenbow.png (100%) rename {assets => public}/img/3/jirisanmoonbear.png (100%) rename {assets => public}/img/3/justicebow.png (100%) rename {assets => public}/img/3/justicehammer.png (100%) rename {assets => public}/img/3/kaonashi.png (100%) rename {assets => public}/img/3/king.png (100%) rename {assets => public}/img/3/lavanpc.png (100%) rename {assets => public}/img/3/leatherarcherarmor.png (100%) rename {assets => public}/img/3/leatherarmor.png (100%) rename {assets => public}/img/3/legolasarmor.png (100%) rename {assets => public}/img/3/lightningguardian.png (100%) rename {assets => public}/img/3/livingarmor.png (100%) rename {assets => public}/img/3/login.jpg (100%) rename {assets => public}/img/3/loot.png (100%) rename {assets => public}/img/3/machete.png (100%) rename {assets => public}/img/3/magicspear.png (100%) rename {assets => public}/img/3/mailarcherarmor.png (100%) rename {assets => public}/img/3/mailarmor.png (100%) rename {assets => public}/img/3/main.png (100%) rename {assets => public}/img/3/maintwo.png (100%) rename {assets => public}/img/3/mantis.png (100%) rename {assets => public}/img/3/mapframe.png (100%) rename {assets => public}/img/3/mapicons.png (100%) rename {assets => public}/img/3/marinebow.png (100%) rename {assets => public}/img/3/memme.png (100%) rename {assets => public}/img/3/mermaid.png (100%) rename {assets => public}/img/3/mermaidbow.png (100%) rename {assets => public}/img/3/mermaidnpc.png (100%) rename {assets => public}/img/3/mimic.png (100%) rename {assets => public}/img/3/minidragon.png (100%) rename {assets => public}/img/3/miniemperor.png (100%) rename {assets => public}/img/3/miniiceknight.png (100%) rename {assets => public}/img/3/miniknight.png (100%) rename {assets => public}/img/3/miniseadragon.png (100%) rename {assets => public}/img/3/miniseadragonarmor.png (100%) rename {assets => public}/img/3/mojojojonpc.png (100%) rename {assets => public}/img/3/moleking.png (100%) rename {assets => public}/img/3/momangelnpc.png (100%) rename {assets => public}/img/3/moreinventorybutton.png (100%) rename {assets => public}/img/3/morningstar.png (100%) rename {assets => public}/img/3/newcharacter.jpg (100%) rename {assets => public}/img/3/nightmareregion.png (100%) rename {assets => public}/img/3/ninjaarmor.png (100%) rename {assets => public}/img/3/nyan.png (100%) rename {assets => public}/img/3/octocat.png (100%) rename {assets => public}/img/3/octopus.png (100%) rename {assets => public}/img/3/oddeyecat.png (100%) rename {assets => public}/img/3/ogre.png (100%) rename {assets => public}/img/3/ogrelord.png (100%) rename {assets => public}/img/3/oldogre.png (100%) rename {assets => public}/img/3/orc.png (100%) rename {assets => public}/img/3/paewoldo.png (100%) rename {assets => public}/img/3/pain.png (100%) rename {assets => public}/img/3/paladinarmor.png (100%) rename {assets => public}/img/3/penguin.png (100%) rename {assets => public}/img/3/pickle.png (100%) rename {assets => public}/img/3/pierrot.png (100%) rename {assets => public}/img/3/pinkcockroacharmor.png (100%) rename {assets => public}/img/3/pinkelf.png (100%) rename {assets => public}/img/3/pinksword.png (100%) rename {assets => public}/img/3/piratearcherarmor.png (100%) rename {assets => public}/img/3/piratecaptain.png (100%) rename {assets => public}/img/3/pirategirlnpc.png (100%) rename {assets => public}/img/3/pirateking.png (100%) rename {assets => public}/img/3/pirateskeleton.png (100%) rename {assets => public}/img/3/plasticbow.png (100%) rename {assets => public}/img/3/platearcherarmor.png (100%) rename {assets => public}/img/3/platearmor.png (100%) rename {assets => public}/img/3/plunger.png (100%) rename {assets => public}/img/3/pointer.png (100%) rename {assets => public}/img/3/poisonspider.png (100%) rename {assets => public}/img/3/portalarmor.png (100%) rename {assets => public}/img/3/powerarmour.png (100%) rename {assets => public}/img/3/powersword.png (100%) rename {assets => public}/img/3/preta.png (100%) rename {assets => public}/img/3/priest.png (100%) rename {assets => public}/img/3/projectile-boulder.png (100%) rename {assets => public}/img/3/projectile-fireball.png (100%) rename {assets => public}/img/3/projectile-iceball.png (100%) rename {assets => public}/img/3/projectile-none.png (100%) rename {assets => public}/img/3/projectile-pinearrow.png (100%) rename {assets => public}/img/3/projectile-terror.png (100%) rename {assets => public}/img/3/projectile-tornado.png (100%) rename {assets => public}/img/3/provocationeffect.png (100%) rename {assets => public}/img/3/purplecloudkallege.png (100%) rename {assets => public}/img/3/purplepreta.png (100%) rename {assets => public}/img/3/queenant.png (100%) rename {assets => public}/img/3/queenspider.png (100%) rename {assets => public}/img/3/rabbitarmor.png (100%) rename {assets => public}/img/3/radisharmor.png (100%) rename {assets => public}/img/3/rainbowapro.png (100%) rename {assets => public}/img/3/rainbowsword.png (100%) rename {assets => public}/img/3/rat.png (100%) rename {assets => public}/img/3/ratarcherarmor.png (100%) rename {assets => public}/img/3/ratarmor.png (100%) rename {assets => public}/img/3/redarcherarmor.png (100%) rename {assets => public}/img/3/redarmor.png (100%) rename {assets => public}/img/3/redbikinigirlnpc.png (100%) rename {assets => public}/img/3/redbow.png (100%) rename {assets => public}/img/3/redcockroach.png (100%) rename {assets => public}/img/3/reddamboarmor.png (100%) rename {assets => public}/img/3/redelf.png (100%) rename {assets => public}/img/3/redenelbow.png (100%) rename {assets => public}/img/3/redfish.png (100%) rename {assets => public}/img/3/redguard.png (100%) rename {assets => public}/img/3/redguardarcherarmor.png (100%) rename {assets => public}/img/3/redguardarmor.png (100%) rename {assets => public}/img/3/redlightbow.png (100%) rename {assets => public}/img/3/redlightsaber.png (100%) rename {assets => public}/img/3/redmetalbow.png (100%) rename {assets => public}/img/3/redmetalsword.png (100%) rename {assets => public}/img/3/redmouse.png (100%) rename {assets => public}/img/3/redpirateskeleton.png (100%) rename {assets => public}/img/3/redsickle.png (100%) rename {assets => public}/img/3/redsicklebow.png (100%) rename {assets => public}/img/3/redstoremannpc.png (100%) rename {assets => public}/img/3/redsword.png (100%) rename {assets => public}/img/3/redwingarcherarmor.png (100%) rename {assets => public}/img/3/redwingarmor.png (100%) rename {assets => public}/img/3/regionarmor.png (100%) rename {assets => public}/img/3/regionhenchman.png (100%) rename {assets => public}/img/3/rhaphidophoridae.png (100%) rename {assets => public}/img/3/rick.png (100%) rename {assets => public}/img/3/robocoparmor.png (100%) rename {assets => public}/img/3/rose.png (100%) rename {assets => public}/img/3/rosebow.png (100%) rename {assets => public}/img/3/rudolf.png (100%) rename {assets => public}/img/3/rudolfarmor.png (100%) rename {assets => public}/img/3/santa.png (100%) rename {assets => public}/img/3/santaelf.png (100%) rename {assets => public}/img/3/schooluniform.png (100%) rename {assets => public}/img/3/scientist.png (100%) rename {assets => public}/img/3/scimitar.png (100%) rename {assets => public}/img/3/scorpion.png (100%) rename {assets => public}/img/3/seadragon.png (100%) rename {assets => public}/img/3/seadragonarmor.png (100%) rename {assets => public}/img/3/seahorsebow.png (100%) rename {assets => public}/img/3/searage.png (100%) rename {assets => public}/img/3/secondsonangelnpc.png (100%) rename {assets => public}/img/3/shadow16.png (100%) rename {assets => public}/img/3/shadowregion.png (100%) rename {assets => public}/img/3/shadowregionarmor.png (100%) rename {assets => public}/img/3/shepherdboy.png (100%) rename {assets => public}/img/3/shieldbenef.png (100%) rename {assets => public}/img/3/sickle.png (100%) rename {assets => public}/img/3/sicklebow.png (100%) rename {assets => public}/img/3/sidesword.png (100%) rename {assets => public}/img/3/silvermedal.png (100%) rename {assets => public}/img/3/skeleton.png (100%) rename {assets => public}/img/3/skeleton2.png (100%) rename {assets => public}/img/3/skeletonking.png (100%) rename {assets => public}/img/3/skillicons.png (100%) rename {assets => public}/img/3/skilllevel.png (100%) rename {assets => public}/img/3/skillslots.png (100%) rename {assets => public}/img/3/skydinosaur.png (100%) rename {assets => public}/img/3/skyelf.png (100%) rename {assets => public}/img/3/skylightbow.png (100%) rename {assets => public}/img/3/skylightsaber.png (100%) rename {assets => public}/img/3/slime.png (100%) rename {assets => public}/img/3/smalldevil.png (100%) rename {assets => public}/img/3/snek.png (100%) rename {assets => public}/img/3/snowelf.png (100%) rename {assets => public}/img/3/snowfoxarcherarmor.png (100%) rename {assets => public}/img/3/snowfoxarmor.png (100%) rename {assets => public}/img/3/snowlady.png (100%) rename {assets => public}/img/3/snowman.png (100%) rename {assets => public}/img/3/snowmanarmor.png (100%) rename {assets => public}/img/3/snowrabbit.png (100%) rename {assets => public}/img/3/snowshepherdboy.png (100%) rename {assets => public}/img/3/snowwolf.png (100%) rename {assets => public}/img/3/soldier.png (100%) rename {assets => public}/img/3/soldierant.png (100%) rename {assets => public}/img/3/sorcerer.png (100%) rename {assets => public}/img/3/soundbutton.png (100%) rename {assets => public}/img/3/soybeanbug.png (100%) rename {assets => public}/img/3/sparks.png (100%) rename {assets => public}/img/3/spear.png (100%) rename {assets => public}/img/3/spectre.png (100%) rename {assets => public}/img/3/spell.png (100%) rename {assets => public}/img/3/spider.png (100%) rename {assets => public}/img/3/sponge.png (100%) rename {assets => public}/img/3/spritesheet.png (100%) rename {assets => public}/img/3/squeakyhammer.png (100%) rename {assets => public}/img/3/squid.png (100%) rename {assets => public}/img/3/squidarmor.png (100%) rename {assets => public}/img/3/squirrel.png (100%) rename {assets => public}/img/3/stuneffect.png (100%) rename {assets => public}/img/3/suicideghost.png (100%) rename {assets => public}/img/3/supercateffect.png (100%) rename {assets => public}/img/3/superiorangelnpc.png (100%) rename {assets => public}/img/3/sword.png (100%) rename {assets => public}/img/3/sword1.png (100%) rename {assets => public}/img/3/sword2.png (100%) rename {assets => public}/img/3/taekwondo.png (100%) rename {assets => public}/img/3/talk.png (100%) rename {assets => public}/img/3/target.png (100%) rename {assets => public}/img/3/thiefarmor.png (100%) rename {assets => public}/img/3/tigerarmor.png (100%) rename {assets => public}/img/3/tilesheet.png (100%) rename {assets => public}/img/3/trade.png (100%) rename {assets => public}/img/3/trident.png (100%) rename {assets => public}/img/3/typhoon.png (100%) rename {assets => public}/img/3/vampire.png (100%) rename {assets => public}/img/3/vendingmachine.png (100%) rename {assets => public}/img/3/villagegirl.png (100%) rename {assets => public}/img/3/villager.png (100%) rename {assets => public}/img/3/violetbow.png (100%) rename {assets => public}/img/3/vulture.png (100%) rename {assets => public}/img/3/watermelonbow.png (100%) rename {assets => public}/img/3/weastaff.png (100%) rename {assets => public}/img/3/whip.png (100%) rename {assets => public}/img/3/whitearcherarmor.png (100%) rename {assets => public}/img/3/whitearmor.png (100%) rename {assets => public}/img/3/whitebear.png (100%) rename {assets => public}/img/3/whitemouse.png (100%) rename {assets => public}/img/3/whitetiger.png (100%) rename {assets => public}/img/3/windguardian.png (100%) rename {assets => public}/img/3/wizard.png (100%) rename {assets => public}/img/3/wizardrobe.png (100%) rename {assets => public}/img/3/wolf.png (100%) rename {assets => public}/img/3/wolfarcherarmor.png (100%) rename {assets => public}/img/3/wolfarmor.png (100%) rename {assets => public}/img/3/wood.png (100%) rename {assets => public}/img/3/wood2.png (100%) rename {assets => public}/img/3/wood3.png (100%) rename {assets => public}/img/3/woodenbow.png (100%) rename {assets => public}/img/3/yellowbat.png (100%) rename {assets => public}/img/3/yellowfish.png (100%) rename {assets => public}/img/3/yellowmouse.png (100%) rename {assets => public}/img/3/yellowpreta.png (100%) rename {assets => public}/img/3/zombie.png (100%) rename {assets => public}/img/3/zombiegf.png (100%) rename {assets => public}/img/adventure.png (100%) rename {assets => public}/img/amazing.png (100%) rename {assets => public}/img/background.png (100%) rename {assets => public}/img/base-button.png (100%) rename {assets => public}/img/blank-popup.png (100%) rename {assets => public}/img/box.png (100%) rename {assets => public}/img/button-green.png (100%) rename {assets => public}/img/button-red.png (100%) rename {assets => public}/img/cancel.png (100%) rename {assets => public}/img/common/achievement-friends.png (100%) rename {assets => public}/img/common/achievement-shield.png (100%) rename {assets => public}/img/common/add.png (100%) rename {assets => public}/img/common/arrow-back.png (100%) rename {assets => public}/img/common/arrow-down.png (100%) rename {assets => public}/img/common/arrow-left.png (100%) rename {assets => public}/img/common/arrow-move.png (100%) rename {assets => public}/img/common/arrow-right.png (100%) rename {assets => public}/img/common/arrow-up.png (100%) rename {assets => public}/img/common/bag.png (100%) rename {assets => public}/img/common/battery.png (100%) rename {assets => public}/img/common/bomb.png (100%) rename {assets => public}/img/common/book.png (100%) rename {assets => public}/img/common/box.png (100%) rename {assets => public}/img/common/calendar.png (100%) rename {assets => public}/img/common/cash-register.png (100%) rename {assets => public}/img/common/cash.png (100%) rename {assets => public}/img/common/chat.png (100%) rename {assets => public}/img/common/check.png (100%) rename {assets => public}/img/common/coin.png (100%) rename {assets => public}/img/common/coins-stack.png (100%) rename {assets => public}/img/common/coins.png (100%) rename {assets => public}/img/common/cone.png (100%) rename {assets => public}/img/common/crown.png (100%) rename {assets => public}/img/common/crystal.png (100%) rename {assets => public}/img/common/delete.png (100%) rename {assets => public}/img/common/download.png (100%) rename {assets => public}/img/common/eye.png (100%) rename {assets => public}/img/common/female-avatar-1.png (100%) rename {assets => public}/img/common/female-avatar-2.png (100%) rename {assets => public}/img/common/friends-1.png (100%) rename {assets => public}/img/common/gem-blue.png (100%) rename {assets => public}/img/common/gem-red.png (100%) rename {assets => public}/img/common/gift.png (100%) rename {assets => public}/img/common/globe.png (100%) rename {assets => public}/img/common/hammer.png (100%) rename {assets => public}/img/common/hand-grap.png (100%) rename {assets => public}/img/common/hand-open.png (100%) rename {assets => public}/img/common/hand-pointer.png (100%) rename {assets => public}/img/common/heart.png (100%) rename {assets => public}/img/common/helmet.png (100%) rename {assets => public}/img/common/help.png (100%) rename {assets => public}/img/common/home.png (100%) rename {assets => public}/img/common/hud-active-box.png (100%) rename {assets => public}/img/common/hud-active.png (100%) rename {assets => public}/img/common/hud-banner-green.png (100%) rename {assets => public}/img/common/hud-banner-purple.png (100%) rename {assets => public}/img/common/hud-banner-red.png (100%) rename {assets => public}/img/common/hud-banner-vines.png (100%) rename {assets => public}/img/common/hud-banner.png (100%) rename {assets => public}/img/common/hud-bar.png (100%) rename {assets => public}/img/common/hud-beam-green.png (100%) rename {assets => public}/img/common/hud-beam-purple.png (100%) rename {assets => public}/img/common/hud-beam-red.png (100%) rename {assets => public}/img/common/hud-box-item.png (100%) rename {assets => public}/img/common/hud-box-status.png (100%) rename {assets => public}/img/common/hud-box-vine.png (100%) rename {assets => public}/img/common/hud-box-vine2.png (100%) rename {assets => public}/img/common/hud-box.png (100%) rename {assets => public}/img/common/hud-button-green.png (100%) rename {assets => public}/img/common/hud-button-purple.png (100%) rename {assets => public}/img/common/hud-button-red.png (100%) rename {assets => public}/img/common/hud-chain-link.png (100%) rename {assets => public}/img/common/hud-chain.png (100%) rename {assets => public}/img/common/hud-checkbox-checked.png (100%) rename {assets => public}/img/common/hud-checkbox-empty.png (100%) rename {assets => public}/img/common/hud-level-marker-shadow.png (100%) rename {assets => public}/img/common/hud-map-position.png (100%) rename {assets => public}/img/common/hud-modal-bg.png (100%) rename {assets => public}/img/common/hud-modal-chain-right.png (100%) rename {assets => public}/img/common/hud-modal-chain.png (100%) rename {assets => public}/img/common/hud-modal-highlighted.png (100%) rename {assets => public}/img/common/hud-modal-side.png (100%) rename {assets => public}/img/common/hud-modal.png (100%) rename {assets => public}/img/common/hud-mouse-pointer.png (100%) rename {assets => public}/img/common/hud-parchment-chain.png (100%) rename {assets => public}/img/common/hud-parchment-left-stick.png (100%) rename {assets => public}/img/common/hud-parchment-right-stick.png (100%) rename {assets => public}/img/common/hud-parchment.png (100%) rename {assets => public}/img/common/hud-quest-green.png (100%) rename {assets => public}/img/common/hud-quest-purple.png (100%) rename {assets => public}/img/common/hud-quest-red.png (100%) rename {assets => public}/img/common/hud-ribbon-green.png (100%) rename {assets => public}/img/common/hud-ribbon-purple.png (100%) rename {assets => public}/img/common/hud-ribbon-red.png (100%) rename {assets => public}/img/common/hud-scrim.png (100%) rename {assets => public}/img/common/hud-scroll.png (100%) rename {assets => public}/img/common/hud-scrollbar.png (100%) rename {assets => public}/img/common/hud-skull-crown.png (100%) rename {assets => public}/img/common/hud-skull.png (100%) rename {assets => public}/img/common/hud-speach-bubble.png (100%) rename {assets => public}/img/common/hud-status-banner-purple.png (100%) rename {assets => public}/img/common/hud-status-bar.png (100%) rename {assets => public}/img/common/hud-status-green.png (100%) rename {assets => public}/img/common/hud-status-red.png (100%) rename {assets => public}/img/common/hud-stick-cap.png (100%) rename {assets => public}/img/common/hud-stick.png (100%) rename {assets => public}/img/common/hud-switch-green.png (100%) rename {assets => public}/img/common/hud-switch-red.png (100%) rename {assets => public}/img/common/hud-toggle-off.png (100%) rename {assets => public}/img/common/hud-toggle-on.png (100%) rename {assets => public}/img/common/hud-vines.png (100%) rename {assets => public}/img/common/hud-wing-left.png (100%) rename {assets => public}/img/common/hud-wing-right.png (100%) rename {assets => public}/img/common/hud-wings.png (100%) rename {assets => public}/img/common/hyperlink.png (100%) rename {assets => public}/img/common/key.png (100%) rename {assets => public}/img/common/laural-green.png (100%) rename {assets => public}/img/common/laural-yellow.png (100%) rename {assets => public}/img/common/leaf.png (100%) rename {assets => public}/img/common/light-off.png (100%) rename {assets => public}/img/common/light-on.png (100%) rename {assets => public}/img/common/lightning.png (100%) rename {assets => public}/img/common/lock2.png (100%) rename {assets => public}/img/common/magnet.png (100%) rename {assets => public}/img/common/mailbox-empty.png (100%) rename {assets => public}/img/common/mailbox-full.png (100%) rename {assets => public}/img/common/male-avatar-1.png (100%) rename {assets => public}/img/common/male-avatar-2.png (100%) rename {assets => public}/img/common/paintbrush.png (100%) rename {assets => public}/img/common/pencil.png (100%) rename {assets => public}/img/common/photo.png (100%) rename {assets => public}/img/common/plant-pot.png (100%) rename {assets => public}/img/common/potion.png (100%) rename {assets => public}/img/common/red-award-rosette.png (100%) rename {assets => public}/img/common/red-award-star.png (100%) rename {assets => public}/img/common/red-award.png (100%) rename {assets => public}/img/common/rock.png (100%) rename {assets => public}/img/common/search.png (100%) rename {assets => public}/img/common/settings.png (100%) rename {assets => public}/img/common/shield.png (100%) rename {assets => public}/img/common/shoe.png (100%) rename {assets => public}/img/common/shopping-bag.png (100%) rename {assets => public}/img/common/shopping-basket.png (100%) rename {assets => public}/img/common/shovel.png (100%) rename {assets => public}/img/common/skull.png (100%) rename {assets => public}/img/common/smile.png (100%) rename {assets => public}/img/common/soap.png (100%) rename {assets => public}/img/common/social.png (100%) rename {assets => public}/img/common/sound.png (100%) rename {assets => public}/img/common/speaker.png (100%) rename {assets => public}/img/common/star.png (100%) rename {assets => public}/img/common/sword.png (100%) rename {assets => public}/img/common/task.png (100%) rename {assets => public}/img/common/timer.png (100%) rename {assets => public}/img/common/trash-empty.png (100%) rename {assets => public}/img/common/trash-full.png (100%) rename {assets => public}/img/common/tree.png (100%) rename {assets => public}/img/common/trophy.png (100%) rename {assets => public}/img/common/wand.png (100%) rename {assets => public}/img/common/wing-left.png (100%) rename {assets => public}/img/common/wing-right.png (100%) rename {assets => public}/img/common/world.png (100%) rename {assets => public}/img/common/wrench-small.png (100%) rename {assets => public}/img/common/wtfspritesheet.png (100%) rename {assets => public}/img/common/wtfstylesheet.txt (100%) rename {assets => public}/img/common/xp.png (100%) rename {assets => public}/img/confirm.png (100%) rename {assets => public}/img/defeated.png (100%) rename {assets => public}/img/double-chain.png (100%) rename {assets => public}/img/favicon.png (100%) rename {assets => public}/img/hud-bar-2.png (100%) rename {assets => public}/img/hud-bar.png (100%) rename {assets => public}/img/hud-skull.png (100%) rename {assets => public}/img/left-sidebar.png (100%) rename {assets => public}/img/lock-base.png (100%) rename {assets => public}/img/map-bar.png (100%) rename {assets => public}/img/parchment-chains.png (100%) rename {assets => public}/img/parchment-cut-big.png (100%) rename {assets => public}/img/parchment-cut.png (100%) rename {assets => public}/img/parchment.png (100%) rename {assets => public}/img/right-sidebar.png (100%) rename {assets => public}/img/screen-spotlight.png (100%) rename {assets => public}/img/screen.png (100%) rename {assets => public}/img/single-chain.png (100%) rename {assets => public}/img/skull crown.png (100%) rename {assets => public}/img/skull.png (100%) rename {assets => public}/img/small-popup.png (100%) rename {assets => public}/img/spinner.gif (100%) rename {assets => public}/img/thingy.png (100%) rename {assets => public}/img/toggle-off.png (100%) rename {assets => public}/img/toggle-on.png (100%) rename {assets => public}/img/triple-chain.png (100%) rename {assets => public}/img/wtfadventure.png (100%) rename {assets => public}/img/wtfheader.png (100%) rename {assets => public}/img/wtflogo-small.png (100%) rename {assets => public}/img/wtflogo.png (100%) create mode 100644 public/next.svg create mode 100644 public/vercel.svg create mode 100644 server/.eslintrc.json rename {src/server => server}/config.json (100%) rename {src/server => server}/data/abilities.json (100%) rename {src/server => server}/data/achievements.json (100%) rename {src/server => server}/data/combat/greatsquid.js (100%) rename {src/server => server}/data/combat/ogrelord.js (100%) rename {src/server => server}/data/combat/piratecaptain.js (100%) rename {src/server => server}/data/combat/queenant.js (100%) rename {src/server => server}/data/combat/skeletonking.js (100%) rename {src/server => server}/data/combat/tenebris.js (100%) rename {src/server => server}/data/guilds.json (100%) rename {src/server => server}/data/items.json (100%) rename {src/server => server}/data/items/healthFlask.js (100%) rename {src/server => server}/data/map/collisions.json (100%) rename {src/server => server}/data/map/world_server.json (100%) rename {src/server => server}/data/minigames.json (100%) rename {src/server => server}/data/mobs.json (100%) rename {src/server => server}/data/npcs.json (100%) rename {src/server => server}/data/quests.json (100%) rename {src/server => server}/data/shops.json (100%) rename {src/server => server}/js/controllers/commands.js (97%) rename {src/server => server}/js/controllers/incoming.js (98%) rename {src/server => server}/js/controllers/minigames.js (100%) rename {src/server => server}/js/controllers/quests.js (96%) rename {src/server => server}/js/controllers/shops.js (100%) rename {src/server => server}/js/database/creator.js (99%) rename {src/server => server}/js/database/loader.js (98%) rename {src/server => server}/js/database/mysql.js (95%) rename {src/server => server}/js/game/entity/character/character.js (95%) rename {src/server => server}/js/game/entity/character/combat/combat.js (96%) rename {src/server => server}/js/game/entity/character/combat/combatqueue.js (100%) rename {src/server => server}/js/game/entity/character/combat/hit.js (100%) rename {src/server => server}/js/game/entity/character/mob/mob.js (95%) rename {src/server => server}/js/game/entity/character/player/ability/abilities.js (100%) rename {src/server => server}/js/game/entity/character/player/ability/misc/ability.js (100%) rename {src/server => server}/js/game/entity/character/player/ability/misc/firestrike.js (100%) rename {src/server => server}/js/game/entity/character/player/ability/misc/iceattack.js (100%) rename {src/server => server}/js/game/entity/character/player/ability/misc/run.js (100%) rename {src/server => server}/js/game/entity/character/player/achievement.js (92%) rename {src/server => server}/js/game/entity/character/player/checkpoint.js (100%) rename {src/server => server}/js/game/entity/character/player/containers/bank/bank.js (74%) rename {src/server => server}/js/game/entity/character/player/containers/container.js (89%) rename {src/server => server}/js/game/entity/character/player/containers/inventory/constants.js (100%) rename {src/server => server}/js/game/entity/character/player/containers/inventory/inventory.js (83%) rename {src/server => server}/js/game/entity/character/player/containers/slot.js (91%) rename {src/server => server}/js/game/entity/character/player/enchant/enchant.js (94%) rename {src/server => server}/js/game/entity/character/player/equipment/armour.js (80%) rename {src/server => server}/js/game/entity/character/player/equipment/boots.js (77%) rename {src/server => server}/js/game/entity/character/player/equipment/equipment.js (94%) rename {src/server => server}/js/game/entity/character/player/equipment/pendant.js (77%) rename {src/server => server}/js/game/entity/character/player/equipment/ring.js (76%) rename {src/server => server}/js/game/entity/character/player/equipment/weapon.js (86%) rename {src/server => server}/js/game/entity/character/player/guild.js (70%) rename {src/server => server}/js/game/entity/character/player/handler.js (92%) rename {src/server => server}/js/game/entity/character/player/player.js (93%) rename {src/server => server}/js/game/entity/character/player/points/hitpoints.js (94%) rename {src/server => server}/js/game/entity/character/player/points/mana.js (93%) rename {src/server => server}/js/game/entity/character/player/points/points.js (100%) rename {src/server => server}/js/game/entity/character/player/profession/impl/foresting.js (100%) rename {src/server => server}/js/game/entity/character/player/profession/profession.js (100%) rename {src/server => server}/js/game/entity/character/player/quest/misc/bulkysituation.js (91%) rename {src/server => server}/js/game/entity/character/player/quest/misc/introduction.js (94%) rename {src/server => server}/js/game/entity/character/player/quest/misc/thelie.js (100%) rename {src/server => server}/js/game/entity/character/player/quest/quest.js (95%) rename {src/server => server}/js/game/entity/character/player/trade.js (97%) rename {src/server => server}/js/game/entity/character/player/warp.js (93%) rename {src/server => server}/js/game/entity/entity.js (93%) rename {src/server => server}/js/game/entity/npc/npc.js (88%) rename {src/server => server}/js/game/entity/objects/chest.js (90%) rename {src/server => server}/js/game/entity/objects/item.js (98%) rename {src/server => server}/js/game/entity/objects/projectile.js (96%) rename {src/server => server}/js/game/formulas.js (99%) rename {src/server => server}/js/game/world.js (96%) rename src/server/js/main.js => server/js/index.js (93%) rename {src/server => server}/js/map/area.js (100%) rename {src/server => server}/js/map/areas/chestareas.js (85%) rename {src/server => server}/js/map/areas/musicareas.js (63%) rename {src/server => server}/js/map/areas/pvpareas.js (65%) rename {src/server => server}/js/map/grids.js (98%) rename {src/server => server}/js/map/groups.js (96%) rename {src/server => server}/js/map/map.js (87%) rename {src/server => server}/js/minigames/impl/teamwar.js (74%) rename {src/server => server}/js/minigames/minigame.js (100%) rename {src/server => server}/js/network/messages.js (99%) rename {src/server => server}/js/network/packets.js (100%) rename {src/server => server}/js/network/socket.js (100%) rename {src/server => server}/js/network/websocket.js (91%) rename {src/server => server}/js/util/abilities.js (94%) rename {src/tools/bot => server/js/util}/bot.js (72%) rename {src/server => server}/js/util/constants.js (100%) rename {src/server => server}/js/util/items.js (98%) create mode 100644 server/js/util/log.js rename {src/server => server}/js/util/mobs.js (96%) rename {src/server => server}/js/util/modules.js (100%) rename {src/server => server}/js/util/npcs.js (95%) rename {src/server => server}/js/util/parser.js (86%) rename {src/server => server}/js/util/plugins.js (68%) rename {src/server => server}/js/util/shops.js (96%) rename {src/server => server}/js/util/utils.js (83%) create mode 100644 server/package-lock.json create mode 100644 server/package.json delete mode 100644 src/client/config.json delete mode 100644 src/client/index.html delete mode 100644 src/client/js/__tests__/app.test.js delete mode 100644 src/client/js/__tests__/main.test.js delete mode 100644 src/client/js/interface/profile/pages/ability.js delete mode 100644 src/client/js/main.js delete mode 100644 src/server/js/util/log.js rename {src/tools => tools}/api/registrar.js (100%) rename {src/tools => tools}/database.sql (100%) rename {src/tools => tools}/file.js (100%) rename {src/tools => tools}/map/data/empty.json (100%) rename {src/tools => tools}/map/data/extramap/map.tmx (100%) rename {src/tools => tools}/map/data/extramap/mobset.png (100%) rename {src/tools => tools}/map/data/extramap/tilesheet.png (100%) rename {src/tools => tools}/map/data/map.json (100%) rename {src/tools => tools}/map/data/map.tmx (100%) rename {src/tools => tools}/map/data/mobset.png (100%) rename {src/tools => tools}/map/data/terrain.tmx (100%) rename {src/tools => tools}/map/data/tilesheet.png (100%) rename {src/tools => tools}/map/exportmap.js (91%) rename {src/tools => tools}/map/processmap.js (100%) rename {src/tools => tools}/map/processmap.log (100%) create mode 100644 tsconfig.json create mode 100644 types.d.ts delete mode 100644 webpack.config.js diff --git a/.babelrc b/.babelrc deleted file mode 100644 index b3d609edc..000000000 --- a/.babelrc +++ /dev/null @@ -1,9 +0,0 @@ -{ - "presets": ["@babel/preset-env"], - "plugins": ["@babel/plugin-transform-runtime"], - "env": { - "production": { - "presets": ["minify"] - } - } -} diff --git a/.circleci/config.yml b/.circleci/config.yml index f8a567363..42024ef18 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -3,7 +3,7 @@ version: 2.1 jobs: build: docker: - - image: circleci/node:10.16.2-browsers + - image: cimg/node:18.15.0-browsers working_directory: ~/repo steps: - checkout diff --git a/.eslintrc b/.eslintrc deleted file mode 100644 index 3995fc59a..000000000 --- a/.eslintrc +++ /dev/null @@ -1,14 +0,0 @@ -{ - "extends": "airbnb-base", - "env": { - "jest": true - }, - "rules": { - "class-methods-use-this": [ - "error", - { - "exceptMethods": [], - }, - ], - } -} diff --git a/.eslintrc.json b/.eslintrc.json new file mode 100644 index 000000000..0c70e9c8d --- /dev/null +++ b/.eslintrc.json @@ -0,0 +1,14 @@ +{ + "extends": ["next/core-web-vitals"], + "env": { + "browser": true, + "node": true, + "es6": true + }, + "parser": "@babel/eslint-parser", + "parserOptions": { + "requireConfigFile": false, + "ecmaVersion": "latest", + "sourceType": "module" + } +} diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index b467ddf3d..0ef792f7a 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -28,7 +28,7 @@ jobs: strategy: fail-fast: false matrix: - language: [ 'javascript' ] + language: [ 'javascript-typescript' ] # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ] # Learn more: # https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed @@ -39,7 +39,7 @@ jobs: # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL - uses: github/codeql-action/init@v1 + uses: github/codeql-action/init@v2 with: languages: ${{ matrix.language }} # If you wish to specify custom queries, you can do so here or in a config file. @@ -50,7 +50,7 @@ jobs: # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). # If this step fails, then you should remove it and run the build manually (see below) - name: Autobuild - uses: github/codeql-action/autobuild@v1 + uses: github/codeql-action/autobuild@v2 # ℹ️ Command-line programs to run using the OS shell. # 📚 https://git.io/JvXDl @@ -64,4 +64,4 @@ jobs: # make release - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v1 + uses: github/codeql-action/analyze@v2 diff --git a/.github/workflows/nodejs.yml b/.github/workflows/nodejs.yml index 70aab6c94..b7d95fcc6 100644 --- a/.github/workflows/nodejs.yml +++ b/.github/workflows/nodejs.yml @@ -4,13 +4,10 @@ on: [push] jobs: build: - runs-on: ubuntu-latest - strategy: matrix: - node-version: [8.x, 10.x, 12.x] - + node-version: [16.x, 17.x, 18.x] steps: - uses: actions/checkout@v1 - name: Use Node.js ${{ matrix.node-version }} @@ -18,7 +15,7 @@ jobs: with: node-version: ${{ matrix.node-version }} - name: npm build - run: | + run: npm ci npm run build --if-present - name: Running unit tests diff --git a/.gitignore b/.gitignore index f94b04c60..68a0c8227 100644 --- a/.gitignore +++ b/.gitignore @@ -1,10 +1,40 @@ -build -node_modules -cordova -.idea +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# env configuration +# server/config.json +# client/config.json + +# dependencies +/server/node_modules +/node_modules +/.pnp +.pnp.js + +# testing +/coverage + +# next.js +.next +/out/ + +# production +/build + +# misc .DS_Store -dump.rdb -server/config.json -data/config.json -npm-debug.log -.external-ecmascript.js +*.pem + +# debug +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# local env files +.env*.local + +# vercel +.vercel + +# typescript +*.tsbuildinfo +next-env.d.ts \ No newline at end of file diff --git a/LICENSE b/LICENSE index c67c95e7a..821a899c2 100644 --- a/LICENSE +++ b/LICENSE @@ -6,7 +6,7 @@ of the WTFAdventure. You can purchase one for only $25 from Creative Market: https://creativemarket.com/melissareneepohl/959421-Complete-Fantasy-Game-UI-kit For Everything Else -================================== +================================= DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE Version 2, December 2004 diff --git a/README.md b/README.md index 587ea17b1..16cc5cc2a 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,9 @@ WTF?! Adventure is completely open-source, allowing its community to collaborate ### Features & Functionality -- **Webpack:** Dev and prod config files and now utilizes browserSync for easier client side development. A new build folder is created that contains minified versions of the client side resources. +- **NextJS:** Running on NextJS v13 and using App Router. + +- **Typescript:** Now using typescript ;D - **NodeJS:** Server has been updated to use nodemon for easier restarting and server development @@ -67,15 +69,17 @@ WTF?! Adventure is completely open-source, allowing its community to collaborate Running the server is fairly straightforward, for the most part. If you already have everything installed and configured you can skip directly to step 3. -### Step 1 - Install the dependencies +### Step 1 - Install the client dependencies In the command line run: `npm install` -### Step 2 - Setting the config files +Open the `client/config.json` file and update the ports and settings to meet your needs. + +### Step 2 - Install the server dependencies -Convert the server configuration for local usage, go in both `src/server/config.json` and `src/client/config.json` and update the ports and settings to meet your needs. +In the command line run: `cd ./server && npm install` -In `src/server/config.json` the **secretKey** should be a strong password that has been [base62 encoded](http://encode-base62.nichabi.com/). +Open the `server/config.json` file and update the ports and settings to meet your needs. The **secretKey** should be a strong password that has been [base62 encoded](http://encode-base62.nichabi.com/). ### Step 3 - Install MySQL @@ -101,23 +105,25 @@ Start MySQL and make sure it's running. In the command line type: `npm run wtfserver` -### Step 6 - Run the HTML5 Client Webpack +### Step 6 - Run the NextJS app + +If you've never run the project before then you need to build it first: `npm run build` -Open another terminal and then type: `npm start` +Once you have a build you can start the game using: `npm start` ### Step 7 - View in Browser Now open your browser and navigate to `http://{ip}:{port}/` as defined in your client configuration file. Typically this will be `http://localhost:3000` if you use the default webpack and client configuration settings provided. ## Troubleshooting -* Typically errors with WTF Adventure are due to mysql connection or authentication issues in `src/server/config.json`. +* Typically errors with WTF Adventure are due to mysql connection or authentication issues in `server/config.json`. * If you are using XAMPP or MAMP the correct default values are already configured for you * Check that MySQL is running * Check that your hostname, port number, user name, password and database are correct * Check that your secretKey is base62 encoded -* Make sure you are running the correct IP and port in the client window in `src/client/config.json` +* Make sure you are running the correct IP and port in the client window in `client/config.json` * If you are using MAMP or XAMPP the correct default values are already configured for you * Errors installing dependencies * When this happens you will need to look at the specific error you are getting from the dependency and try to resolve the issue * Sometimes these can be fixed by upgrading to the latest version or bumping back to a previous version - * Try searching on Stack Overflow or in the GitHub repo click on the issues tab for the NPM package causing the issue to see if there is a possible solution + * Try searching on Stack Overflow or in the GitHub repo click on the issues tab for the NPM package causing the issue to see if there is a possible solution \ No newline at end of file diff --git a/SECURITY.md b/SECURITY.md index b557d43f8..c1a150fa1 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -9,11 +9,10 @@ currently being supported with security updates. | Version | Supported | | ------- | ------------------ | -| < 7.x | :x: | -| 8.x | :white_check_mark: | -| 10.x | :white_check_mark: | -| 12.x | :white_check_mark: | +| < 16.x | :x: | +| 16.x | :white_check_mark: | +| 18.x | :white_check_mark: | ## Reporting a Vulnerability -Please create an issue if you notice a security problem and tag it with the Security label. +Please create an issue if you notice a security problem and tag it with the Security label. \ No newline at end of file diff --git a/app/game/index.tsx b/app/game/index.tsx new file mode 100644 index 000000000..d75b5558a --- /dev/null +++ b/app/game/index.tsx @@ -0,0 +1,55 @@ +import Canvas from '@/component/canvas'; +import ChatInput from '@/component/chatInput'; +import ChatBar from '@/component/chatBar'; +import WorldBar from '@/component/worldBar'; +import Bubbles from '@/component/bubbles'; +import Hud from '@/component/hud'; +import ButtonBar from '@/component/buttonBar'; +import DropDialog from '@/component/dropDialog'; +import Map from '@/component/map'; +import ProfileDialog from '@/component/profileDialog'; +import SettingsDialog from '@/component/settingsDialog'; +import Inventory from '@/component/inventory'; +import Bank from '@/component/bank'; +import Trade from '@/component/trade'; +import Enchant from '@/component/enchant'; +import AbilitiesBar from '@/component/abilitiesBar'; +import Notifications from '@/component/notifications'; +import PlayerActions from '@/component/playerActions'; +import ActionsDialog from '@/component/actionsDialog'; + +const GamePage = () => { + return ( +
+
+ +
+ + + + + +
+ + + + + + + + + + + + + + + + + +
+
+ ); +} + +export default GamePage; \ No newline at end of file diff --git a/app/layout.tsx b/app/layout.tsx new file mode 100644 index 000000000..9c8e8de37 --- /dev/null +++ b/app/layout.tsx @@ -0,0 +1,68 @@ +import '@/styles/globals.scss'; +import type { Metadata } from 'next'; +import { Inter } from 'next/font/google'; +import config from '@/client/config.json' assert { type: 'json'}; +import Providers from '@/client/contexts/providers'; + +const inter = Inter({ subsets: ['latin'] }); +const { title, description, keywords, developer, url, favicon, twitter } = config; + +export const metadata: Metadata = { + title, + applicationName: title, + description, + authors: [{ name: developer, url }], + publisher: developer, + generator: "Next.js", + metadataBase: new URL(url), + alternates: { + canonical: '/', + languages: { + 'de-DE': '/de-DE', + }, + }, + keywords: keywords, + viewport: "width=device-width,initial-scale=1,maximum-scale=1,user-scalable=0", + robots: "index,follow", + icons: [ + {rel: "icon", url: favicon }, + { rel: "apple-touch-icon", url: favicon } + ], + openGraph: { + type: "website", + title, + description, + siteName: title, + url: url, + images: [{ + url: favicon, + }] + }, + twitter: { + card: "summary_large_image", + site: twitter, + creator: twitter, + images: favicon + }, + appleWebApp: { + capable: true, + title, + statusBarStyle: "black-translucent" + } +} + +export default function RootLayout({ + children, +}: { + children: React.ReactNode +}) { + return ( + + + + {children} + + + + ) +} diff --git a/app/page.module.css b/app/page.module.css new file mode 100644 index 000000000..e69de29bb diff --git a/app/page.tsx b/app/page.tsx new file mode 100644 index 000000000..4cfee50f9 --- /dev/null +++ b/app/page.tsx @@ -0,0 +1,26 @@ +'use client'; + +import React from 'react'; +import GamePage from './game'; +import SplashPage from '@/component/splash'; +import { useWindowContext } from '@/client/contexts/windowContext'; +import { useClientContext } from '@/client/contexts/clientContext'; + +const HomePage = () => { + + const { clientReady } = useClientContext(); + const { clientHeight, clientWidth, clientOrientation } = useWindowContext(); + + return ( +
+ { clientReady + ?
{clientHeight} {clientWidth} {clientOrientation?.type}
+ : 'server side only' + } + + +
+ ) +} + +export default HomePage; \ No newline at end of file diff --git a/app/styles/4k.scss b/app/styles/4k.scss new file mode 100644 index 000000000..a6654ce82 --- /dev/null +++ b/app/styles/4k.scss @@ -0,0 +1,26 @@ +// XX-Large devices (high res desktops and tv screens, 2560px and up) +@media (min-width: 2560px) { + #border { + position: absolute; + width: 1470px; + height: 780px; + left: 50%; + top: 0; + margin-left: -735px; + border: 0; + padding: 15px; + background: url("/img/3/border.png") no-repeat 0 0; + background-size: 100% 100%; + } + + #hud { + width: 1450px; + } + + #container { + width: 1470px; + height: 798px; + margin: -378px auto auto -735px; + position: absolute; + } +} \ No newline at end of file diff --git a/app/styles/baseline.scss b/app/styles/baseline.scss new file mode 100644 index 000000000..6061c9c8f --- /dev/null +++ b/app/styles/baseline.scss @@ -0,0 +1,107 @@ +html, +body, +div, +span, +applet, +object, +iframe, +h1, +h2, +h3, +h4, +h5, +h6, +p, +blockquote, +pre, +a, +abbr, +acronym, +address, +big, +cite, +code, +del, +dfn, +em, +font, +img, +ins, +kbd, +q, +s, +samp, +small, +strike, +strong, +sub, +sup, +tt, +var, +b, +u, +i, +center, +dl, +dt, +dd, +ol, +ul, +li, +fieldset, +form, +label, +legend, +table, +caption, +tbody, +tfoot, +thead, +tr, +th, +td { + margin: 0; + padding: 0; + border: 0; + outline: 0; + font-size: 100%; + vertical-align: baseline; + background: transparent; +} + +html, body { + margin: 0; + height: 100%; +} + +article, +aside, +details, +figcaption, +figure, +footer, +header, +menu, +nav, +section { + display: block; +} + +body { + overflow-y: scroll; +} + +html { + background: url("/img/background.png") no-repeat center center fixed; + -webkit-background-size: cover; + -moz-background-size: cover; + -o-background-size: cover; + background-size: cover; +} + +canvas { + position: absolute; + image-rendering: optimizeSpeed; + top: 0; + cursor: none; +} \ No newline at end of file diff --git a/app/styles/buttons.scss b/app/styles/buttons.scss new file mode 100644 index 000000000..5bf8adcbc --- /dev/null +++ b/app/styles/buttons.scss @@ -0,0 +1,47 @@ +.button { + padding: 5px 10px 10px 10px; + cursor: pointer; + text-align: center; + max-width: 160px; +} + +.button.green { + background: url("/img/common/hud-button-green.png"); + position: relative; + background-repeat: no-repeat; + background-size: 100% 100%; +} + +.button.red { + background: url("/img/common/hud-button-red.png"); + position: relative; + background-repeat: no-repeat; + background-size: 100% 100%; +} + +.button.purple { + background: url("/img/common/hud-button-purple.png"); + position: relative; + background-repeat: no-repeat; + background-size: 100% 100%; +} + +#buttons { + margin-top: 49%; + margin-left: 83%; + overflow-x: hidden; + overflow-y: hidden; + position: absolute; + z-index: 97; +} + +#buttons ul { + overflow: hidden; + margin: 0; + padding: 0; + list-style-type: none; +} + +#buttons ul li { + float: left; +} \ No newline at end of file diff --git a/app/styles/desktop.scss b/app/styles/desktop.scss new file mode 100644 index 000000000..b09b819be --- /dev/null +++ b/app/styles/desktop.scss @@ -0,0 +1,27 @@ +// X-Large devices (desktops and small tv screens, 1440px and up) +@media (min-width: 1440px) and (max-width: 2559px) { + + #border { + position: absolute; + width: 1470px; + height: 780px; + left: 50%; + top: 0; + margin-left: -735px; + border: 0; + padding: 15px; + background: url("/img/3/border.png") no-repeat 0 0; + background-size: 100% 100%; + } + + #hud { + width: 1450px; + } + + #container { + width: 1470px; + height: 798px; + margin: -378px auto auto -735px; + position: absolute; + } +} \ No newline at end of file diff --git a/css/game.scss b/app/styles/game.scss similarity index 99% rename from css/game.scss rename to app/styles/game.scss index efa394c43..d9e78db62 100644 --- a/css/game.scss +++ b/app/styles/game.scss @@ -59,4 +59,4 @@ body.game { .game #container { opacity: 1; /* background: #000; */ -} +} \ No newline at end of file diff --git a/app/styles/globals.scss b/app/styles/globals.scss new file mode 100644 index 000000000..549be2c62 --- /dev/null +++ b/app/styles/globals.scss @@ -0,0 +1,8 @@ +@import "bootstrap/dist/css/bootstrap.css"; +@import "game.scss"; +@import "interface.scss"; +@import "mobile.scss"; +@import "tablet.scss"; +@import "laptop.scss"; +@import "desktop.scss"; +@import "4k.scss"; \ No newline at end of file diff --git a/app/styles/hud.scss b/app/styles/hud.scss new file mode 100644 index 000000000..64b8c415b --- /dev/null +++ b/app/styles/hud.scss @@ -0,0 +1,89 @@ +#hud-chat, +#hud-inventory, +#hud-world, +#hud-achievements { + cursor: pointer; +} + +#hud-chat { + margin-bottom: 30px; + width: 30%; + height: auto; +} + +#hud-inventory { + margin-top: 10px; + width: 60%; + height: auto; +} + +#hud-chat-input { + margin-top: 25px; + margin-left: -3px; + padding: 10px; + width: 97%; + border: none; + height: 100%; + color: white; + font-family: sans-serif; + background: rgba(0, 0, 0, 0.4); + border-radius: 10px 10px 0px 0px; +} + +#hud-world { + margin-top: 14px; + width: 60%; + height: auto; +} + +#hud-achievements { + margin-bottom: 13px; + width: 30%; + height: auto; +} + +#hud { + margin-top: 42%; + overflow-x: hidden; + overflow-y: hidden; + position: absolute; +} + +#hud-bar { + background: url("/img/hud-bar-2.png"); + background-size: 100% 100%; + height: 90px; + color: #fff; +} + +#hud-bar-right { + float: right; + width: 25%; + height: 100%; + z-index: 96; + position: relative; + overflow: hidden; + padding: 10px 10px 0 10px; +} + +#hud-bar-left { + float: left; + width: 25%; + height: 100%; + z-index: 96; + position: absolute; + overflow: hidden; + padding: 10px 10px 0 10px; + margin-top: -90px; +} + +#hud-bar-center { + margin: auto; + width: 100%; + text-align: center; + height: inherit; + z-index: 95; + /* overflow: hidden; */ + padding-right: 245px; + padding-left: 245px; +} \ No newline at end of file diff --git a/css/interface.scss b/app/styles/interface.scss similarity index 77% rename from css/interface.scss rename to app/styles/interface.scss index 3ac38d904..11ddf1980 100644 --- a/css/interface.scss +++ b/app/styles/interface.scss @@ -1,23 +1,166 @@ -#buttons { - margin-top: 49%; - margin-left: 83%; +@import "baseline.scss"; +@import "hud.scss"; +@import "buttons.scss"; + +.align-center { + margin: auto; +} + +.padding-top { + padding-top: 10px; +} + +#wrapper header { + text-align: center; +} + +#wrapper header img { + margin-top: -75px; + z-index: 9999; + position: relative; +} + +#wrapper footer { + height: 55px; + width: 100%; + color: #ffc58e; + display: flex; + align-items: center; + justify-content: center; +} + +#modal { + margin: auto; + top: 100px; + position: relative; + background-image: url("/img/common/hud-modal.png"); + background-repeat: no-repeat; + background-size: 100% 100%; + z-index: 100; + + input { + width: calc(100% - 19px); + text-align: right; + background-color: #322838; + padding: 10px; + color: #fff; + border: 0px; + border-radius: 5px; + margin-top: 10px; + } +} + +#createCharacter, +#death, +#message, +#loader { + display: none; +} + +.form-field { + display: block; +} + +.form-field img { + height: inherit; + width: 50px; + vertical-align: middle; + margin-right: -55px; + position: relative; + z-index: 3; +} + +#content { + margin: auto; + color: #c3bbb9; +} + +#content h1 { + text-align: center; + margin-top: -20px; +} + +.check { + background: url("/img/common/hud-checkbox-empty.png"); + background-size: cover; + width: 30px; + height: 30px; + cursor: pointer; +} + +.check.active { + background: url("/img/common/hud-checkbox-checked.png"); + background-size: cover; +} + +#rememberMe { + display: inline-block; + vertical-align: middle; + padding-top: 3px; +} + +#rememberMe .check { + margin-right: 10px; +} + +#rememberMeWrapper { + padding-top: 3px; +} + +.loader { + width: 100%; + height: 100%; + z-index: 101; + position: absolute; + top: 0; + left: 0; + bottom: 100%; + background-color: #594858; + align-items: center; + justify-content: center; + display: flex; +} + +#join_guest { + margin-top: 18px; +} + + + +#container { + z-index: 98; + background: rgba(0, 0, 0, 0.8); + top: 48%; + left: 50%; + opacity: 0; +} + +#border { + z-index: 99; +} + +#chat-bar, +#world-bar { + margin-top: 23%; overflow-x: hidden; overflow-y: hidden; position: absolute; - z-index: 97; + color: white; + cursor: none; } -#buttons ul { - overflow: hidden; - margin: 0; - padding: 0; - list-style-type: none; +#chat-bar { + right: -8px; + max-width: 25%; } -#buttons ul li { - float: left; +#world-bar { + left: 5px; + max-width: 25%; } + + #bubbles { z-index: 99999; background-color: #fff; @@ -457,37 +600,37 @@ position: relative; width: 42px; height: 45px; - background: url("../assets/img/3/main.png") no-repeat -714px -942px; + background: url("/img/3/main.png") no-repeat -714px -942px; } #profileButton:hover { - background: url("../assets/img/3/main.png") no-repeat -756px -942px; + background: url("/img/3/main.png") no-repeat -756px -942px; } #profileButton.active { - background: url("../assets/img/3/main.png") no-repeat -798px -942px; + background: url("/img/3/main.png") no-repeat -798px -942px; } #settingsButton { position: relative; width: 42px; height: 45px; - background: url("../assets/img/3/main.png") no-repeat -1218px -942px; + background: url("/img/3/main.png") no-repeat -1218px -942px; } #settingsButton:hover { - background: url("../assets/img/3/main.png") no-repeat -1260px -942px; + background: url("/img/3/main.png") no-repeat -1260px -942px; } #settingsButton.active { - background: url("../assets/img/3/main.png") no-repeat -1302px -942px; + background: url("/img/3/main.png") no-repeat -1302px -942px; } #abilityShortcut { width: 366px; height: 60px; top: 720px; - background: url("../assets/img/3/skillslots.png"); + background: url("/img/3/skillslots.png"); } #inventory { @@ -545,22 +688,22 @@ } #statePage { - background: url("../assets/img/3/characterdialogsheet.png") 0 0; + background: url("/img/3/characterdialogsheet.png") 0 0; display: block; } #skillPage { - background: url("../assets/img/3/characterdialogsheet.png") -372px 0; + background: url("/img/3/characterdialogsheet.png") -372px 0; display: none; } #settingsPage { - background: url("../assets/img/3/characterdialogsheet.png") -744px 0; + background: url("/img/3/characterdialogsheet.png") -744px 0; display: none; } #questPage { - background: url("../assets/img/3/characterdialogsheet.png") -1116px 0; + background: url("/img/3/characterdialogsheet.png") -1116px 0; display: none; } @@ -628,7 +771,7 @@ #previous, #next { - background-image: url("../assets/img/3/characterdialogsheet.png"); + background-image: url("/img/3/characterdialogsheet.png"); position: absolute; left: initial; top: 0; @@ -734,11 +877,11 @@ #bankContainer, #bankInventoryContainer { - background: url("../assets/img/3/bank.png"); + background: url("/img/3/bank.png"); } #enchantContainer { - background: url("../assets/img/3/containers.png"); + background: url("/img/3/containers.png"); } #bankContainer { @@ -768,7 +911,7 @@ .bankSlot { width: 48px; height: 45px; - background: url("../assets/img/3/containers.png") -900px -516px; + background: url("/img/3/containers.png") -900px -516px; } #enchantSelectedItem, @@ -785,7 +928,7 @@ width: 48px; height: 48px; - background: url("../assets/img/3/containers.png") -96px -498px; + background: url("/img/3/containers.png") -96px -498px; } .close.active { @@ -799,7 +942,7 @@ .ok { width: 42px; height: 42px; - background: url("../assets/img/3/containers.png") -1143px -183px; + background: url("/img/3/containers.png") -1143px -183px; } .ok:hover { @@ -838,7 +981,7 @@ #mapFrame { width: 810px; height: 540px; - background: url("../assets/img/3/mapframe.png"); + background: url("/img/3/mapframe.png"); } .mapButton { @@ -849,37 +992,37 @@ #warp1 { top: 120px; left: 360px; - background: url("../assets/img/3/mapicons.png") 0 0; + background: url("/img/3/mapicons.png") 0 0; } #warp2 { top: 165px; left: 75px; - background: url("../assets/img/3/mapicons.png") 51px 0; + background: url("/img/3/mapicons.png") 51px 0; } #warp3 { top: 210px; left: 525px; - background: url("../assets/img/3/mapicons.png") 96px 0; + background: url("/img/3/mapicons.png") 96px 0; } #warp4 { top: 360px; left: 405px; - background: url("../assets/img/3/mapicons.png") 141px 0; + background: url("/img/3/mapicons.png") 141px 0; } #warp5 { top: 360px; left: 225px; - background: url("../assets/img/3/mapicons.png") 186px 0; + background: url("/img/3/mapicons.png") 186px 0; } #warp6 { top: 240px; left: 270px; - background: url("../assets/img/3/mapicons.png") 231px 0; + background: url("/img/3/mapicons.png") 231px 0; } #warp1:hover, @@ -914,44 +1057,44 @@ position: relative; width: 28px; height: 30px; - background: url("../assets/img/2/main.png") no-repeat -476px -628px; + background: url("/img/2/main.png") no-repeat -476px -628px; } #profileButton:hover { - background: url("../assets/img/2/main.png") no-repeat -504px -628px; + background: url("/img/2/main.png") no-repeat -504px -628px; } #profileButton.active { - background: url("../assets/img/2/main.png") no-repeat -532px -628px; + background: url("/img/2/main.png") no-repeat -532px -628px; } #settingsButton { position: relative; width: 28px; height: 30px; - background: url("../assets/img/2/main.png") no-repeat -812px -628px; + background: url("/img/2/main.png") no-repeat -812px -628px; } #settingsButton:hover { - background: url("../assets/img/2/main.png") no-repeat -840px -628px; + background: url("/img/2/main.png") no-repeat -840px -628px; } #settingsButton.active { - background: url("../assets/img/2/main.png") no-repeat -868px -628px; + background: url("/img/2/main.png") no-repeat -868px -628px; } #abilityShortcut { width: 244px; height: 40px; top: 480px; - background: url("../assets/img/2/skillslots.png") no-repeat; + background: url("/img/2/skillslots.png") no-repeat; } #notify, #confirm { width: 333px; height: 94px; - background: url("../assets/img/2/containers.png") -601px 0; + background: url("/img/2/containers.png") -601px 0; } #question, @@ -963,23 +1106,23 @@ } #question { - background: url("../assets/img/2/containers.png") -699px -94px; + background: url("/img/2/containers.png") -699px -94px; } #exclamation { - background: url("../assets/img/2/containers.png") -669px -94px; + background: url("/img/2/containers.png") -669px -94px; } .ok, .done { width: 27px; height: 14px; - background: url("../assets/img/2/containers.png") -642px -108px; + background: url("/img/2/containers.png") -642px -108px; } .ok:hover, .done:hover { - background: url("../assets/img/2/containers.png") -642px -94px; + background: url("/img/2/containers.png") -642px -94px; } #inventory { @@ -1043,22 +1186,22 @@ } #statePage { - background: url("../assets/img/2/characterdialogsheet.png") 0 0; + background: url("/img/2/characterdialogsheet.png") 0 0; display: block; } #skillPage { - background: url("../assets/img/2/characterdialogsheet.png") -248px 0; + background: url("/img/2/characterdialogsheet.png") -248px 0; display: none; } #settingsPage { - background: url("../assets/img/2/characterdialogsheet.png") -496px 0; + background: url("/img/2/characterdialogsheet.png") -496px 0; display: none; } #questPage { - background: url("../assets/img/2/characterdialogsheet.png") -744px 0; + background: url("/img/2/characterdialogsheet.png") -744px 0; display: none; } @@ -1127,7 +1270,7 @@ #previous, #next { - background-image: url("../assets/img/2/characterdialogsheet.png"); + background-image: url("/img/2/characterdialogsheet.png"); position: absolute; left: initial; top: 0; @@ -1233,11 +1376,11 @@ #bankContainer, #bankInventoryContainer { - background: url("../assets/img/2/bank.png"); + background: url("/img/2/bank.png"); } #enchantContainer { - background: url("../assets/img/2/containers.png"); + background: url("/img/2/containers.png"); } #bankContainer { @@ -1267,19 +1410,19 @@ .bankSlot { width: 32px; height: 30px; - background: url("../assets/img/2/containers.png") -600px -344px; + background: url("/img/2/containers.png") -600px -344px; } #enchant { width: 258px; height: 310px; - background: url("../assets/img/2/containers.png") 0 0; + background: url("/img/2/containers.png") 0 0; } #trade { width: 500px; height: 339px; - background: url("../assets/img/2/trade.png") 0 0; + background: url("/img/2/trade.png") 0 0; } #tradePlayerContainer, @@ -1302,7 +1445,7 @@ width: 32px; height: 32px; - background: url("../assets/img/2/containers.png") -64px -332px; + background: url("/img/2/containers.png") -64px -332px; } .close.active { @@ -1316,7 +1459,7 @@ .ok { width: 28px; height: 28px; - background: url("../assets/img/2/containers.png") -762px -122px; + background: url("/img/2/containers.png") -762px -122px; } .ok:hover { @@ -1338,7 +1481,7 @@ width: 32px; height: 32px; - background-image: url("../assets/img/2/skillicons.png"); + background-image: url("/img/2/skillicons.png"); } .questName { @@ -1358,7 +1501,7 @@ #mapFrame { width: 540px; height: 360px; - background: url("../assets/img/2/mapframe.png"); + background: url("/img/2/mapframe.png"); } .mapButton { @@ -1369,38 +1512,38 @@ #warp1 { top: 80px; left: 240px; - background: url("../assets/img/2/mapicons.png") 0 0; + background: url("/img/2/mapicons.png") 0 0; } #warp2 { top: 110px; left: 50px; - background: url("../assets/img/2/mapicons.png") 34px 0; + background: url("/img/2/mapicons.png") 34px 0; } #warp3 { top: 140px; left: 350px; - background: url("../assets/img/2/mapicons.png") 64px 0; + background: url("/img/2/mapicons.png") 64px 0; } #warp4 { top: 240px; left: 270px; - background: url("../assets/img/2/mapicons.png") 94px 0; + background: url("/img/2/mapicons.png") 94px 0; } #warp5 { top: 240px; left: 150px; - background: url("../assets/img/2/mapicons.png") 124px 0; + background: url("/img/2/mapicons.png") 124px 0; } #warp6 { top: 160px; left: 180px; - background: url("../assets/img/2/mapicons.png") 154px 0; + background: url("/img/2/mapicons.png") 154px 0; } #warp1:hover, @@ -1442,44 +1585,44 @@ position: relative; width: 28px; height: 30px; - background: url("../assets/img/2/main.png") no-repeat -476px -628px; + background: url("/img/2/main.png") no-repeat -476px -628px; } #profileButton:hover { - background: url("../assets/img/2/main.png") no-repeat -504px -628px; + background: url("/img/2/main.png") no-repeat -504px -628px; } #profileButton.active { - background: url("../assets/img/2/main.png") no-repeat -532px -628px; + background: url("/img/2/main.png") no-repeat -532px -628px; } #settingsButton { position: relative; width: 28px; height: 30px; - background: url("../assets/img/2/main.png") no-repeat -812px -628px; + background: url("/img/2/main.png") no-repeat -812px -628px; } #settingsButton:hover { - background: url("../assets/img/2/main.png") no-repeat -840px -628px; + background: url("/img/2/main.png") no-repeat -840px -628px; } #settingsButton.active { - background: url("../assets/img/2/main.png") no-repeat -868px -628px; + background: url("/img/2/main.png") no-repeat -868px -628px; } #abilityShortcut { width: 122px; height: 20px; top: 240px; - background: url("../assets/img/1/skillslots.png"); + background: url("/img/1/skillslots.png"); } #notify, #confirm { width: 166px; height: 47px; - background: url("../assets/img/1/containers.png") -300px 0; + background: url("/img/1/containers.png") -300px 0; } #question, @@ -1491,11 +1634,11 @@ } #question { - background: url("../assets/img/1/containers.png") -349px -47px; + background: url("/img/1/containers.png") -349px -47px; } #exclamation { - background: url("../assets/img/1/containers.png") -334px -47px; + background: url("/img/1/containers.png") -334px -47px; } .ok, @@ -1504,12 +1647,12 @@ top: 55%; width: 14px; height: 14px; - background: url("../assets/img/1/containers.png") -387px -79px; + background: url("/img/1/containers.png") -387px -79px; } .ok, .done:hover { - background: url("../assets/img/1/containers.png") -387px -65px; + background: url("/img/1/containers.png") -387px -65px; } #inventory { @@ -1577,22 +1720,22 @@ } #statePage { - background: url("../assets/img/1/characterdialogsheet.png") 0 0; + background: url("/img/1/characterdialogsheet.png") 0 0; display: block; } #skillPage { - background: url("../assets/img/1/characterdialogsheet.png") -124px 0; + background: url("/img/1/characterdialogsheet.png") -124px 0; display: none; } #settingsPage { - background: url("../assets/img/1/characterdialogsheet.png") -248px 0; + background: url("/img/1/characterdialogsheet.png") -248px 0; display: none; } #questPage { - background: url("../assets/img/1/characterdialogsheet.png") -372px 0; + background: url("/img/1/characterdialogsheet.png") -372px 0; display: none; } @@ -1660,7 +1803,7 @@ #previous, #next { - background-image: url("../assets/img/1/characterdialogsheet.png"); + background-image: url("/img/1/characterdialogsheet.png"); position: absolute; left: initial; top: 0; @@ -1768,11 +1911,11 @@ #bankContainer, #bankInventoryContainer { - background: url("../assets/img/1/bank.png"); + background: url("/img/1/bank.png"); } #enchantContainer { - background: url("../assets/img/1/containers.png"); + background: url("/img/1/containers.png"); } #bankContainer { @@ -1802,7 +1945,7 @@ .bankSlot { width: 16px; height: 15px; - background: url("../assets/img/1/containers.png") -300px -172px; + background: url("/img/1/containers.png") -300px -172px; } #enchantSelectedItem, @@ -1819,7 +1962,7 @@ width: 16px; height: 16px; - background: url("../assets/img/1/containers.png") -32px -166px; + background: url("/img/1/containers.png") -32px -166px; } .close.active { @@ -1864,7 +2007,7 @@ #mapFrame { width: 270px; height: 180px; - background: url("../assets/img/1/mapframe.png"); + background: url("/img/1/mapframe.png"); } .mapButton { @@ -1875,37 +2018,37 @@ #warp1 { top: 40px; left: 120px; - background: url("../assets/img/1/mapicons.png") 0 0; + background: url("/img/1/mapicons.png") 0 0; } #warp2 { top: 55px; left: 25px; - background: url("../assets/img/1/mapicons.png") 17px 0; + background: url("/img/1/mapicons.png") 17px 0; } #warp3 { top: 70px; left: 175px; - background: url("../assets/img/1/mapicons.png") 32px 0; + background: url("/img/1/mapicons.png") 32px 0; } #warp4 { top: 120px; left: 135px; - background: url("../assets/img/1/mapicons.png") 47px 0; + background: url("/img/1/mapicons.png") 47px 0; } #warp5 { top: 120px; left: 75px; - background: url("../assets/img/1/mapicons.png") 62px 0; + background: url("/img/1/mapicons.png") 62px 0; } #warp6 { top: 80px; left: 90px; - background: url("../assets/img/1/mapicons.png") 77px 0; + background: url("/img/1/mapicons.png") 77px 0; } #warp1:hover, diff --git a/app/styles/laptop.scss b/app/styles/laptop.scss new file mode 100644 index 000000000..29fc50348 --- /dev/null +++ b/app/styles/laptop.scss @@ -0,0 +1,31 @@ +// laptops and small desktops, 992px and up +@media (min-width: 992px) and (max-width: 1439px) { + #wrapper header img { + max-width: 50%; + height: 10%; + } + + #border { + position: absolute; + width: 980px; + height: 520px; + left: 50%; + top: 0; + margin-left: -490px; + border: 0; + padding: 10px; + background: url("/img/2/border.png") no-repeat 0 0; + background-size: 100% 100%; + } + + #hud { + width: 960px; + } + + #container { + width: 980px; + height: 520px; + margin: -252px auto auto -490px; + position: absolute; + } +} \ No newline at end of file diff --git a/app/styles/mobile.scss b/app/styles/mobile.scss new file mode 100644 index 000000000..14873792f --- /dev/null +++ b/app/styles/mobile.scss @@ -0,0 +1,8 @@ +// Small devices (landscape phones, 576px and up) +@media (min-width: 0px) and (max-width: 767px) { + #wrapper header img { + max-width: 100%; + height: 10%; + } +} + diff --git a/app/styles/tablet.scss b/app/styles/tablet.scss new file mode 100644 index 000000000..203a135e7 --- /dev/null +++ b/app/styles/tablet.scss @@ -0,0 +1,98 @@ +// Medium devices (tablets, 768px and up) +@media (min-width: 768px) and (max-width: 991px) { + #wrapper header img { + max-width: 50%; + height: 10%; + } + + .col-md-12 .hud-img { + max-height: 40px; + max-width: 40px; + } + + #border { + position: absolute; + width: 490px; + height: 260px; + left: 50%; + top: 0; + margin-left: -245px; + border: 0; + padding: 5px; + background: url("/img/1/border.png") no-repeat 0 0; + background-size: 100% 100%; + } + + #hud { + width: 482px; + } + + #hud-bar { + height: 45px; + font-size: 10px; + } + + #hud-bar-right { + padding: 2px 2px 0 2px; + } + + #hud-bar-left { + padding: 2px 2px 0 2px; + } + + #hud-bar-center { + padding-right: 120px; + padding-left: 120px; + } + + .col-md-12 .hud-img { + max-height: 40px; + max-width: 40px; + } + + #modal { + // top: 20%; + } + + #border { + position: absolute; + width: 490px; + height: 260px; + left: 50%; + top: 0; + margin-left: -245px; + border: 0; + padding: 5px; + background: url("/img/1/border.png") no-repeat 0 0; + background-size: 100% 100%; + } + + #hud { + width: 482px; + } + + #hud-bar { + height: 45px; + font-size: 10px; + } + + #hud-bar-right { + padding: 2px 2px 0 2px; + } + + #hud-bar-left { + padding: 2px 2px 0 2px; + } + + #hud-bar-center { + padding-right: 120px; + padding-left: 120px; + } + + #container { + width: 490px; + height: 266px; + margin: -126px auto auto -245px; + position: absolute; + } +} \ No newline at end of file diff --git a/babel.config.js b/babel.config.js new file mode 100644 index 000000000..9ba90d56e --- /dev/null +++ b/babel.config.js @@ -0,0 +1,6 @@ +module.exports = { + presets: [ + ['@babel/preset-env', {targets: {node: 'current'}}], + '@babel/preset-typescript', + ], +}; \ No newline at end of file diff --git a/bashrc b/bashrc deleted file mode 100644 index 2c9801467..000000000 --- a/bashrc +++ /dev/null @@ -1,15 +0,0 @@ -###shorten git commands -alias gs='git status' -alias gc='git commit' -alias ga='git add' -alias gd='git diff' -alias gb='git branch' -alias gl='git log' -alias gsb='git show-branch' -alias gco='git checkout' -alias gg='git grep' -alias gk='gitk --all' -alias gr='git rebase' -alias gri='git rebase --interactive' -alias gp='git push' - diff --git a/client/config.json b/client/config.json new file mode 100644 index 000000000..54c7fe017 --- /dev/null +++ b/client/config.json @@ -0,0 +1,14 @@ +{ + "ip": "localhost", + "port": 8081, + "version": 3, + "ssl": false, + "title": "WTF?! Adventure", + "description": "A HTML5 realtime canvas multiplayer experience", + "developer": "Design1online, LLC", + "url": "http://design1online.com'", + "favicon": "/img/favicon.png?v=2.0", + "twitter": "@design1online", + "keywords": "game,html5,canvas,multiplayer,mmo" +} + \ No newline at end of file diff --git a/client/contexts/clientContext.tsx b/client/contexts/clientContext.tsx new file mode 100644 index 000000000..4a5c50593 --- /dev/null +++ b/client/contexts/clientContext.tsx @@ -0,0 +1,50 @@ +import React, { createContext, useContext, useCallback, useState, useEffect } from "react"; +import Client from '@/client/index'; + +export type ClientType = Client | null; +export type ClientContextProps = { + client: ClientType; + clientReady: Boolean; +} + +const ClientContext = createContext({ client: null, clientReady: false }); + +const useClientContext = () => { + const context = useContext(ClientContext); + + if (context === undefined) { + throw new Error("useClientContext was used outside of its Provider"); + } + + return context; +}; + +const ClientContextProvider = ({ children }: { children: React.ReactNode }) => { + + const createClient = useCallback(() => { + return new Client(); + }, []); + + // the value that will be given to the context + const [client, setClient] = useState(null); + const [clientReady, setClientReady] = useState(false); + + // fetch a user from a fake backend API + useEffect(() => { + const newClient = createClient(); + setClient(newClient); + setClientReady(true); + newClient.loadClient(); + }, []); + + return ( + // the Provider gives access to the context to its children + + {children} + + ); +}; + + + +export { useClientContext, ClientContextProvider }; \ No newline at end of file diff --git a/client/contexts/gameContext.tsx b/client/contexts/gameContext.tsx new file mode 100644 index 000000000..ac048ad27 --- /dev/null +++ b/client/contexts/gameContext.tsx @@ -0,0 +1,50 @@ +import React, { createContext, useContext, useCallback, useState, useEffect } from "react"; +import { useClientContext, ClientContextProps } from './clientContext'; +import Game from '../game'; + +export type GameType = Game | null; +export type GameContextProps = { + game: GameType; + gameReady: Boolean; +} + +const GameContext = createContext({ game: null, gameReady: false }); + +const useGameContext = () => { + const context = useContext(GameContext); + + if (context === undefined) { + throw new Error("useGameContext was used outside of its Provider"); + } + + return context; +}; + +const GameContextProvider = ({ children }: { children: React.ReactNode }) => { + + const { client, clientReady }:ClientContextProps = useClientContext(); + + // the value that will be given to the context + const [game, setGame] = useState(null); + const [gameReady, setGameReady] = useState(false); + + // fetch a user from a fake backend API + useEffect(() => { + if (clientReady && client) { + const newGame = new Game(client); + client.setGame(newGame); + setGame(newGame); + setGameReady(true); + } + + }, [clientReady]); + + return ( + // the Provider gives access to the context to its children + + {children} + + ); +}; + +export { useGameContext, GameContextProvider }; \ No newline at end of file diff --git a/client/contexts/providers/index.tsx b/client/contexts/providers/index.tsx new file mode 100644 index 000000000..9d5868c5c --- /dev/null +++ b/client/contexts/providers/index.tsx @@ -0,0 +1,23 @@ +'use client'; + +import { UserContextProvider } from '@/client/contexts/userContext'; +import { ClientContextProvider } from '@/client/contexts/clientContext'; +import { GameContextProvider } from '@/client/contexts/gameContext'; +import { WindowContextProvider } from '@/client/contexts/windowContext'; + +const Providers = ({children}:{children:any}) => { + + return ( + + + + +
{children}
+
+
+
+
+ ); +} + +export default Providers; \ No newline at end of file diff --git a/client/contexts/userContext.tsx b/client/contexts/userContext.tsx new file mode 100644 index 000000000..75e916e41 --- /dev/null +++ b/client/contexts/userContext.tsx @@ -0,0 +1,56 @@ +import React, { useState, createContext, useContext, useCallback, useEffect, useMemo } from 'react'; + +// create context +const UserContext = createContext({}); + +// context consumer hook +const useUserContext = () => { + // get the context + const context = useContext(UserContext); + + // if `undefined`, throw an error + if (context === undefined) { + throw new Error("useUserContext was used outside of its Provider"); + } + + return context; +}; + +const UserContextProvider = ({ children }: { children: React.ReactNode }) => { + // the value that will be given to the context + const [user, setUser] = useState(null); + + // sign out the user, memoized + const signout = useCallback(() => { + setUser(null); + }, []); + + // fetch a user from a fake backend API + useEffect(() => { + const fetchUser = () => { + // this would usually be your own backend, or localStorage + // for example + fetch("https://randomuser.me/api/") + .then((response) => response.json()) + .then((result) => setUser(result.results[0])) + .catch((error) => console.log("An error occured")); + }; + + fetchUser(); + }, []); + + // memoize the full context value + const contextValue = useMemo(() => ({ + user, + signout + }), [user, signout]) + + return ( + // the Provider gives access to the context to its children + + {children} + + ); +}; + +export { useUserContext, UserContextProvider }; \ No newline at end of file diff --git a/client/contexts/windowContext.tsx b/client/contexts/windowContext.tsx new file mode 100644 index 000000000..0f50ce704 --- /dev/null +++ b/client/contexts/windowContext.tsx @@ -0,0 +1,93 @@ +'use client'; + +import jQuery from 'jquery'; +import React, { createContext, useContext, useCallback, useEffect, useState } from 'react'; + +type WindowContextProps = { + clientHeight: number; + clientWidth: number; + clientOrientation: ScreenOrientation|null; +}; + +const defaultProps = { + clientHeight: 0, + clientWidth: 0, + clientOrientation: null +}; + +const WindowContext = createContext(defaultProps); + +const WindowContextProvider = ({ children }: { children: React.ReactNode }) => { + + const getVh = useCallback(() => { + return Math.max( + document.documentElement.clientHeight || 0, + window.innerHeight || 0 + ); + }, []); + + const getVw = useCallback(() => { + return Math.max( + document.documentElement.clientWidth || 0, + window.innerWidth || 0 + ); + }, []); + + const getOrientation = useCallback(() => { + return typeof window !== "undefined" ? window.screen.orientation : null; + }, []); + + const [clientHeight, setVh] = useState(0); + const [clientWidth, setVw] = useState(0); + const [clientOrientation, setOrientation] = useState(getOrientation()) + + useEffect(() => { + if (clientHeight === 0 && clientWidth === 0) { + setVh(getVh()); + setVw(getVw()); + window.$ = window.jQuery = jQuery; + } + + const handleResize = () => { + setVh(getVh()); + setVw(getVw()); + setOrientation(getOrientation()); + }; + + window.addEventListener('resize', handleResize); + window.addEventListener('orientationchange', handleResize); + window.addEventListener('transitionend', handleResize); + window.addEventListener('webkitTransitionEnd', handleResize); + window.addEventListener('oTransitionEnd', handleResize); + + return () => { + window.removeEventListener('resize', handleResize); + window.removeEventListener('orientationchange', handleResize); + window.removeEventListener('transitionend', handleResize); + window.removeEventListener('webkitTransitionEnd', handleResize); + window.removeEventListener('oTransitionEnd', handleResize); + }; + + }, []); + + return ( + + {children} + + ); +}; + +// context consumer hook +const useWindowContext = () => { + // get the context + const context = useContext(WindowContext); + + // if `undefined`, throw an error + if (context === undefined) { + throw new Error("useWindowContext was used outside of its Provider"); + } + + return context; +}; + +export { useWindowContext, WindowContextProvider }; \ No newline at end of file diff --git a/src/client/js/controllers/audio.js b/client/controllers/audio.js similarity index 97% rename from src/client/js/controllers/audio.js rename to client/controllers/audio.js index 1a7e11b9d..d93173fcb 100644 --- a/src/client/js/controllers/audio.js +++ b/client/controllers/audio.js @@ -1,3 +1,5 @@ +'use client' + /* global document */ import _ from 'underscore'; import log from '../lib/log'; @@ -62,13 +64,15 @@ export default class Audio { */ this.sfx = {}; - this.load(); + this.loadAudio(); } /** * Loads the music and sfx in the game */ - load() { + loadAudio() { + log.debug('Audio - loadAudio()'); + this.music = { codingroom: false, smalltown: false, @@ -160,6 +164,7 @@ export default class Audio { * @return {Boolean} */ play(type, name) { + log.debug('Audio - play()', type, name); if (!this.isEnabled() || !this.fileExists(name)) { log.debug('Audio - play() - audio is disabled'); return false; @@ -184,7 +189,7 @@ export default class Audio { break; case Module.AudioTypes.SFX: if (!this.sfx[name]) { - this.parse('assets/audio/sfx/', name, 4); + this.parse('/audio/sfx/', name, 4); } if (!this.song) { @@ -224,7 +229,7 @@ export default class Audio { } if (song.name in this.music && !this.music[song.name]) { - this.parse('audio/music/', song.name, 1); + this.parse('/audio/music/', song.name, 1); const music = this.audibles[song.name][0]; diff --git a/src/client/js/controllers/bubble.js b/client/controllers/bubble.js similarity index 100% rename from src/client/js/controllers/bubble.js rename to client/controllers/bubble.js diff --git a/src/client/js/controllers/chat.js b/client/controllers/chat.js similarity index 100% rename from src/client/js/controllers/chat.js rename to client/controllers/chat.js diff --git a/src/client/js/controllers/entities.js b/client/controllers/entities.js similarity index 96% rename from src/client/js/controllers/entities.js rename to client/controllers/entities.js index 82549fdb9..1ebcb633f 100644 --- a/src/client/js/controllers/entities.js +++ b/client/controllers/entities.js @@ -71,26 +71,26 @@ export default class Entities { * Load the entities in the game for the current game map * @return null */ - load() { - log.debug('Entities - load()', this.game.renderer); - this.game.app.sendStatus('Lots of monsters ahead...'); + loadEntities() { + log.debug('Entities - loadEntities()', this.game.renderer); + this.game.client.sendStatus('Lots of monsters ahead...'); if (!this.sprites) { - log.debug('Entities - load() - no sprites loaded yet', this.game.renderer); + log.debug('Entities - loadEntities() - no sprites loaded yet', this.game.renderer); this.sprites = new Sprites(this.game.renderer); this.sprites.onLoadedSprites(() => { - log.debug('Entities - load() - sprites done loading, loading cursors'); + log.debug('Entities - loadEntities() - sprites done loading, loading cursors'); this.game.input.loadCursors(); this.game.postLoad(); this.game.start(); }); } - this.game.app.sendStatus('Yes, you are also a monster...'); + this.game.client.sendStatus('Yes, you are also a monster...'); if (!this.grids) { - log.debug('Entities - load() - no grids loaded yet'); + log.debug('Entities - loadEntities() - no grids loaded yet'); this.grids = new Grids(this.game.map); } } @@ -294,7 +294,7 @@ export default class Entities { if (info.type !== 'item' && entity.handler) { entity.handler.setGame(this.game); - entity.handler.load(); + entity.handler.loadEntity(); } } diff --git a/src/client/js/controllers/info.js b/client/controllers/info.js similarity index 100% rename from src/client/js/controllers/info.js rename to client/controllers/info.js diff --git a/src/client/js/controllers/input.js b/client/controllers/input.js similarity index 97% rename from src/client/js/controllers/input.js rename to client/controllers/input.js index 83a902b5b..8501ada4d 100644 --- a/src/client/js/controllers/input.js +++ b/client/controllers/input.js @@ -23,10 +23,10 @@ export default class Input { this.game = game; /** - * An instance of the game app - * @type {App} + * An instance of the client + * @type {Client} */ - this.app = game.app; + this.client = game.client; /** * An instance of the game renderer @@ -145,13 +145,13 @@ export default class Input { y: 0, }; - this.load(); + this.loadInput(); } /** * Load spinner sprite, chat handler and overlay */ - load() { + loadInput() { /** * This is the animation for the target * cell spinner sprite (only on desktop) @@ -470,8 +470,8 @@ export default class Input { * @param {MouseEvent} event the mouse move or mouse click event */ setCoords(event) { - // log.debug('Input - setCoords', event, this.app.canvas); - const offset = this.app.canvas.offset(); + // log.debug('Input - setCoords', event, this.client.canvas); + const offset = this.client.canvas.offset(); const x = event.clientX - offset.left; const y = event.clientY - offset.top; @@ -489,7 +489,7 @@ export default class Input { y, ); - // log.debug('Input - variables', offset, height, width, this.mouse.x, this.mouse.y, this.app.getZoom()); + // log.debug('Input - variables', offset, height, width, this.mouse.x, this.mouse.y, this.client.getZoom()); if (this.mouse.x >= width) { this.mouse.x = width - 1; @@ -580,7 +580,7 @@ export default class Input { const sprite = this.game.getSprite('target'); if (!sprite.loaded) { - sprite.load(); + sprite.loadSprite(); } this.targetData = { diff --git a/src/client/js/controllers/interface.js b/client/controllers/interface.js similarity index 95% rename from src/client/js/controllers/interface.js rename to client/controllers/interface.js index 2ede5714a..a1856bd81 100644 --- a/src/client/js/controllers/interface.js +++ b/client/controllers/interface.js @@ -129,7 +129,7 @@ export default class Interface { */ loadInventory(size, data) { this.inventory = new Inventory(this.game, size); - this.inventory.load(data); + this.inventory.loadInventory(data); } /** @@ -140,7 +140,7 @@ export default class Interface { */ loadBank(size, data) { this.bank = new Bank(this.game, this.inventory.container, size); - this.bank.load(data); + this.bank.loadBank(data); // @TODO why is load enchant in load bank?? this.loadEnchant(); @@ -194,7 +194,7 @@ export default class Interface { * Simple warning dialogue */ ok.click(() => { - log.debug('App - loadNotifications() - dialog ok clicked'); + log.debug('Client - loadNotifications() - dialog ok clicked'); this.hideNotify(); }); @@ -203,7 +203,7 @@ export default class Interface { * Confirmation dialogues */ cancel.click(() => { - log.debug('App - loadNotifications() - dialog cancel clicked'); + log.debug('Client - loadNotifications() - dialog cancel clicked'); this.hideConfirm(); }); @@ -211,7 +211,7 @@ export default class Interface { * Callback responsible for dismissing the dialog box */ done.click(() => { - log.debug('App - loadNotifications() - dialog done clicked'); + log.debug('Client - loadNotifications() - dialog done clicked'); this.hideConfirm(); }); } diff --git a/src/client/js/controllers/overlay.js b/client/controllers/overlay.js similarity index 100% rename from src/client/js/controllers/overlay.js rename to client/controllers/overlay.js diff --git a/src/client/js/controllers/pickcharacter.js b/client/controllers/pickcharacter.js similarity index 96% rename from src/client/js/controllers/pickcharacter.js rename to client/controllers/pickcharacter.js index 3e601499b..d0f2a323d 100644 --- a/src/client/js/controllers/pickcharacter.js +++ b/client/controllers/pickcharacter.js @@ -54,15 +54,15 @@ export default class PickCharacter { /** * Load the character into the game */ - load() { - log.debug('PickCharacter - load()', this.sprites); - this.game.app.sendStatus('Inviting craziness...'); + loadCharacter() { + log.debug('PickCharacter - loadCharacter()', this.sprites); + this.game.client.sendStatus('Inviting craziness...'); if (!this.sprites) { this.sprites = new Sprites(this.game.renderer); } - this.game.app.sendStatus('Lots of spooky monsters...'); + this.game.client.sendStatus('Lots of spooky monsters...'); } /** @@ -93,7 +93,7 @@ export default class PickCharacter { if (entity.handler) { entity.handler.setGame(this.game); - entity.handler.load(); + entity.handler.loadEntity(); } } diff --git a/src/client/js/controllers/pointer.js b/client/controllers/pointer.js similarity index 99% rename from src/client/js/controllers/pointer.js rename to client/controllers/pointer.js index ea9cc9a14..8c0be9467 100644 --- a/src/client/js/controllers/pointer.js +++ b/client/controllers/pointer.js @@ -98,7 +98,7 @@ export default class Cursor { setSize(element) { const width = 8; const height = width + (width * 0.2); - const image = 'url("assets/img/common/hud-active.png")'; + const image = 'url("/img/common/hud-active.png")'; this.updateScale(); diff --git a/src/client/js/controllers/sprites.js b/client/controllers/sprites.js similarity index 88% rename from src/client/js/controllers/sprites.js rename to client/controllers/sprites.js index 4e397a2c9..30490316c 100644 --- a/src/client/js/controllers/sprites.js +++ b/client/controllers/sprites.js @@ -40,8 +40,8 @@ export default class Sprites { */ this.loadedSpritesCallback = null; - $.getJSON('assets/data/sprites.json', (json) => { - this.load(json); + $.getJSON('/data/sprites.json', (json) => { + this.loadSpriteData(json); }); this.loadAnimations(); @@ -51,8 +51,8 @@ export default class Sprites { * Load data for a sprite * @param {Array} spriteData an array of data for the sprites to load */ - load(spriteData) { - log.debug('Sprites - load()', spriteData); + loadSpriteData(spriteData) { + log.debug('Sprites - loadSpriteData()', spriteData); _.each(spriteData, (sprite) => { this.sprites[sprite.id] = new Sprite( @@ -62,7 +62,7 @@ export default class Sprites { }); if (this.loadedSpritesCallback) { - log.debug('Sprites - load() - Finished loading sprite data...', this.sprites); + log.debug('Sprites - loadSpriteData() - Finished loading sprite data...', this.sprites); this.loadedSpritesCallback(); } } diff --git a/src/client/js/controllers/zoning.js b/client/controllers/zoning.js similarity index 100% rename from src/client/js/controllers/zoning.js rename to client/controllers/zoning.js diff --git a/src/client/js/entity/animation.js b/client/entity/animation.js similarity index 100% rename from src/client/js/entity/animation.js rename to client/entity/animation.js diff --git a/src/client/js/entity/character/character.js b/client/entity/character/character.js similarity index 100% rename from src/client/js/entity/character/character.js rename to client/entity/character/character.js diff --git a/src/client/js/entity/character/mob/mob.js b/client/entity/character/mob/mob.js similarity index 100% rename from src/client/js/entity/character/mob/mob.js rename to client/entity/character/mob/mob.js diff --git a/src/client/js/entity/character/npc/npc.js b/client/entity/character/npc/npc.js similarity index 100% rename from src/client/js/entity/character/npc/npc.js rename to client/entity/character/npc/npc.js diff --git a/src/client/js/entity/character/player/equipment/armour.js b/client/entity/character/player/equipment/armour.js similarity index 100% rename from src/client/js/entity/character/player/equipment/armour.js rename to client/entity/character/player/equipment/armour.js diff --git a/src/client/js/entity/character/player/equipment/boots.js b/client/entity/character/player/equipment/boots.js similarity index 100% rename from src/client/js/entity/character/player/equipment/boots.js rename to client/entity/character/player/equipment/boots.js diff --git a/src/client/js/entity/character/player/equipment/equipment.js b/client/entity/character/player/equipment/equipment.js similarity index 100% rename from src/client/js/entity/character/player/equipment/equipment.js rename to client/entity/character/player/equipment/equipment.js diff --git a/src/client/js/entity/character/player/equipment/pendant.js b/client/entity/character/player/equipment/pendant.js similarity index 100% rename from src/client/js/entity/character/player/equipment/pendant.js rename to client/entity/character/player/equipment/pendant.js diff --git a/src/client/js/entity/character/player/equipment/ring.js b/client/entity/character/player/equipment/ring.js similarity index 100% rename from src/client/js/entity/character/player/equipment/ring.js rename to client/entity/character/player/equipment/ring.js diff --git a/src/client/js/entity/character/player/equipment/weapon.js b/client/entity/character/player/equipment/weapon.js similarity index 100% rename from src/client/js/entity/character/player/equipment/weapon.js rename to client/entity/character/player/equipment/weapon.js diff --git a/src/client/js/entity/character/player/player.js b/client/entity/character/player/player.js similarity index 99% rename from src/client/js/entity/character/player/player.js rename to client/entity/character/player/player.js index 0075fd148..227c80a1b 100644 --- a/src/client/js/entity/character/player/player.js +++ b/client/entity/character/player/player.js @@ -241,7 +241,7 @@ export default class Player extends Character { * @param {Number} data.pvpKills the total pvp kills * @param {Number} data.pvpDeaths the total pvp deaths */ - load(data) { + loadPlayer(data) { this.setId(data.instance); this.setGridPosition(data.x, data.y); this.setPointsData(data.hitPoints, data.mana); @@ -260,7 +260,7 @@ export default class Player extends Character { */ loadHandler(game) { this.handler.setGame(game); - this.handler.load(); + this.handler.loadEntity(); } /** diff --git a/src/client/js/entity/character/player/playerhandler.js b/client/entity/character/player/playerhandler.js similarity index 99% rename from src/client/js/entity/character/player/playerhandler.js rename to client/entity/character/player/playerhandler.js index ee033858a..8c61347c3 100644 --- a/src/client/js/entity/character/player/playerhandler.js +++ b/client/entity/character/player/playerhandler.js @@ -55,13 +55,13 @@ export default class PlayerHandler { this.renderer = game.renderer; // load the player handler - this.load(); + this.loadPlayerHandler(); } /** * Load the the callbacks for the player */ - load() { + loadPlayerHandler() { this.player.onRequestPath((x, y) => { if (this.player.dead) { return null; diff --git a/src/client/js/entity/entity.js b/client/entity/entity.js similarity index 99% rename from src/client/js/entity/entity.js rename to client/entity/entity.js index 19838158b..b71ba3577 100644 --- a/src/client/js/entity/entity.js +++ b/client/entity/entity.js @@ -1,5 +1,5 @@ import EntityHandler from './entityhandler'; -import log from '../lib/log'; +import log from '@/client/lib/log'; /** * Initialize a new entity: @@ -360,7 +360,7 @@ export default class Entity { } if (!sprite.loaded) { - sprite.load(); + sprite.loadSprite(); } sprite.name = sprite.id; // eslint-disable-line diff --git a/src/client/js/entity/entityhandler.js b/client/entity/entityhandler.js similarity index 99% rename from src/client/js/entity/entityhandler.js rename to client/entity/entityhandler.js index 43d6eac7b..d34d3257a 100644 --- a/src/client/js/entity/entityhandler.js +++ b/client/entity/entityhandler.js @@ -130,4 +130,4 @@ export default class EntityHandler { this.entities = entities; } } -} +} \ No newline at end of file diff --git a/src/client/js/entity/objects/chest.js b/client/entity/objects/chest.js similarity index 100% rename from src/client/js/entity/objects/chest.js rename to client/entity/objects/chest.js diff --git a/src/client/js/entity/objects/item.js b/client/entity/objects/item.js similarity index 100% rename from src/client/js/entity/objects/item.js rename to client/entity/objects/item.js diff --git a/src/client/js/entity/objects/projectile.js b/client/entity/objects/projectile.js similarity index 100% rename from src/client/js/entity/objects/projectile.js rename to client/entity/objects/projectile.js diff --git a/src/client/js/entity/sprite.js b/client/entity/sprite.js similarity index 86% rename from src/client/js/entity/sprite.js rename to client/entity/sprite.js index 1f302b20e..2a630813a 100644 --- a/src/client/js/entity/sprite.js +++ b/client/entity/sprite.js @@ -1,3 +1,5 @@ +'use client' + /* global Image, document */ import Animation from './animation'; import log from '../lib/log'; @@ -15,33 +17,33 @@ export default class Sprite { this.offsetAngle = 0; this.whiteSprite = { loaded: false }; - this.loadSprite(); + this.loadSpriteImgData(); } - load() { - log.debug('Sprite - load()', this.filepath); + loadSprite() { + // log.debug('Sprite - loadSprite()', this.filepath); this.image = new Image(); this.image.crossOrigin = 'Anonymous'; this.image.src = this.filepath; this.image.onload = () => { - log.debug('Sprite - load() - image loaded', this.filepath); + // log.debug('Sprite - loadSprite() - image loaded', this.filepath); this.loaded = true; if (this.onLoadCallback) { - log.debug('Sprite - load() - image loaded callback', this.onLoadCallback); + // log.debug('Sprite - loadSprite() - image loaded callback', this.onLoadCallback); this.onLoadCallback(); } }; } - loadSprite() { - // log.debug('Sprite - loadSprite()', this.sprite); + loadSpriteImgData() { + log.debug('Sprite - loadSpriteImgData()', this.sprite); const { sprite } = this; - this.filepath = `assets/img/${this.scale}/${this.id}.png`; + this.filepath = `/img/${this.scale}/${this.id}.png`; this.animationData = sprite.animations; this.width = sprite.width; @@ -50,14 +52,14 @@ export default class Sprite { this.offsetX = sprite.offsetX !== undefined ? sprite.offsetX : -16; this.offsetY = sprite.offsetY !== undefined ? sprite.offsetY : -16; this.offfsetAngle = sprite.offsetAngle !== undefined ? sprite.offsetAngle : 0; - this.load(); + this.loadSprite(); } update(newScale) { log.debug('Sprite - update()'); this.scale = newScale; - this.loadSprite(); + this.loadSpriteImgData(); } createAnimations() { @@ -89,7 +91,7 @@ export default class Sprite { createHurtSprite() { if (!this.loaded) { log.debug('Sprite - createHurtSprite()'); - this.load(); + this.loadSprite(); } if (this.whiteSprite.loaded) { @@ -144,7 +146,7 @@ export default class Sprite { try { if (!this.loaded) { - this.load(); + this.loadSprite(); } this.createHurtSprite(); diff --git a/src/client/js/game.js b/client/game.js similarity index 95% rename from src/client/js/game.js rename to client/game.js index 5c629156c..07fd717de 100644 --- a/src/client/js/game.js +++ b/client/game.js @@ -30,16 +30,16 @@ import { requestAnimFrame } from './utils/util'; export default class Game { /** * Keep track of the game logic and the HTML5 canvas - * @param {App} app an instance of the client application + * @param {Client} client an instance of the client application */ - constructor(app) { - log.debug('Game - constructor()', app); + constructor(client) { + log.debug('Game - constructor()', client); /** * An instance of the client application - * @type {App} + * @type {Client} */ - this.app = app; + this.client = client; /** * An ID used to identify the player after they've @@ -228,7 +228,7 @@ export default class Game { return false; } - this.app.fadeMenu(); + this.client.fadeMenu(); this.started = true; this.tick(); @@ -313,7 +313,8 @@ export default class Game { const cursor = document.getElementById('cursor'); log.debug('Game - loadRenderer()', background, entities, foreground, textCanvas, cursor); - this.app.sendStatus('Soul sucking monster...'); + + this.client.sendStatus('Soul sucking monster...'); const renderer = new Renderer(background, entities, foreground, textCanvas, cursor, this); @@ -329,22 +330,22 @@ export default class Game { loadControllers() { log.debug('Game - loadControllers()'); - const hasWorker = this.app.hasWorker(); + const hasWorker = this.client.hasWorker(); - this.app.sendStatus(hasWorker ? 'I tried to tell you...' : null); + this.client.sendStatus(hasWorker ? 'I tried to tell you...' : null); if (hasWorker) { - this.loadMap(); + this.loadGameMap(); } - this.app.sendStatus('Too late now...'); - this.setStorage(new LocalStorage(this.app)); - this.app.sendStatus("You're already doomed..."); + this.client.sendStatus('Too late now...'); + this.setStorage(new LocalStorage(this.client)); + this.client.sendStatus("You're already doomed..."); this.setSocket(new Socket(this)); this.setMessages(this.socket.messages); this.setInput(new Input(this)); - this.app.sendStatus("Stop! Before it's too late..."); + this.client.sendStatus("Stop! Before it's too late..."); const entity = new Entities(this); this.setEntityController(entity); @@ -367,7 +368,7 @@ export default class Game { this.implementStorage(); if (!hasWorker) { // is this for offline mode? - this.app.sendStatus(null); + this.client.sendStatus(null); this.loaded = true; } @@ -378,12 +379,12 @@ export default class Game { * Load the game map data * @return {Boolean} */ - loadMap() { - log.debug('Game - loadMap()'); + loadGameMap() { + log.debug('Game - loadGameMap()'); this.map = new Map(this); this.map.onReady(() => { - log.debug('Game - loadMap() - map ready'); + log.debug('Game - loadGameMap() - map ready'); this.mapReadyCallback(); }); return true; @@ -396,23 +397,23 @@ export default class Game { mapReadyCallback() { log.debug('Game - mapReadyCallback()'); - this.app.sendStatus('Okay I give up...'); + this.client.sendStatus('Okay I give up...'); this.setPathfinder(new Pathfinder(this.map.width, this.map.height)); this.renderer.setMap(this.map); this.renderer.loadCamera(); - this.app.sendStatus("You're beyond help at this point..."); + this.client.sendStatus("You're beyond help at this point..."); this.setUpdater(new Updater(this)); - this.entities.load(); + this.entities.loadEntities(); log.debug('Game - mapReadyCallback() - setting entities', this.entities); this.renderer.setEntities(this.entities); // this.postLoad(); // clears the status message out now that we've loaded everything - this.app.sendStatus(null); + this.client.sendStatus(null); this.ready = true; this.loaded = true; this.postLoad(); @@ -431,7 +432,7 @@ export default class Game { connect() { log.debug('Game - connect()'); - this.app.cleanErrors(); + this.client.cleanErrors(); setTimeout(() => this.socket.connect(), 1000); /** @@ -496,15 +497,15 @@ export default class Game { } if (!this.map) { - this.loadMap(); + this.loadGameMap(); } - this.app.updateLoader('Logging in...'); + this.client.updateLoader('Logging in...'); - if (this.app.isRegistering()) { + if (this.client.isRegistering()) { log.debug('Game - handshakeCallback() - creating an account'); - const registerInfo = this.app.registerFields; + const registerInfo = this.client.registerFields; const username = registerInfo[0].val(); const password = registerInfo[1].val(); const email = registerInfo[3].val(); @@ -515,7 +516,7 @@ export default class Game { password, email, ]); - } else if (this.app.isGuest()) { + } else if (this.client.isGuest()) { log.debug('Game - handshakeCallback() - guest logging in'); this.socket.send(Packets.Intro, [ Packets.IntroOpcode.Guest, @@ -525,7 +526,7 @@ export default class Game { ]); } else { log.debug('Game - handshakeCallback() - player logging in'); - const loginInfo = this.app.loginFields; + const loginInfo = this.client.loginFields; const name = loginInfo[0].val(); const pass = loginInfo[1].val(); @@ -560,7 +561,7 @@ export default class Game { welcomeCallback(playerData) { log.debug('Game - welcomeCallback()', playerData); - this.player.load(playerData); + this.player.loadPlayer(playerData); this.input.setPosition(this.player.getX(), this.player.getY()); // this.start(); @@ -644,7 +645,7 @@ export default class Game { ); // this.entities.clean(); - this.entities.load(); + this.entities.loadEntities(); this.socket.send(Packets.Who, newIds); return true; } @@ -1134,7 +1135,7 @@ export default class Game { break; case Packets.QuestOpcode.Batch: log.debug('Game - questCallback() - batch', info.quests, info.achievements); - this.interface.getQuestPage().load(info.quests, info.achievements); + this.interface.getQuestPage().loadQuest(info.quests, info.achievements); break; case Packets.QuestOpcode.Progress: @@ -1257,7 +1258,7 @@ export default class Game { this.player.dead = true; this.player.removeTarget(); this.player.orientation = Modules.Orientation.Down; - this.app.body.addClass('death'); + this.client.body.addClass('death'); } audioCallback(song) { @@ -1522,7 +1523,7 @@ export default class Game { } if (this.storage.data.welcome !== false) { - this.app.body.addClass('welcomeMessage'); + this.client.body.addClass('welcomeMessage'); } } @@ -1620,25 +1621,25 @@ export default class Game { this.unload(); - this.app.showMenu(); + this.client.showMenu(); if (noError) { - this.app.sendError(null, 'You have been disconnected from the server'); - this.app.statusMessage = null; + this.client.sendError(null, 'You have been disconnected from the server'); + this.client.statusMessage = null; } this.loadRenderer(); this.loadControllers(); - this.app.toggleLogin(false); - this.app.updateLoader(''); + this.client.toggleLogin(false); + this.client.updateLoader(''); } respawn() { log.debug('Game - respawn()'); this.audio.play(Modules.AudioTypes.SFX, 'revive'); - this.app.body.removeClass('death'); + this.client.body.removeClass('death'); this.socket.send(Packets.Respawn, [this.player.id]); } @@ -1670,7 +1671,7 @@ export default class Game { } getScaleFactor() { - return this.app.getScaleFactor(); + return this.client.getScaleFactor(); } getStorage() { @@ -1694,6 +1695,7 @@ export default class Game { getEntityAt(x, y, ignoreSelf) { log.debug('Game - getEntityAt()', x, y, ignoreSelf); + console.log('getEntityAt', this.entities.grids.renderingGrid); const entities = this.entities.grids.renderingGrid[y][x]; if (_.size(entities) > 0) { @@ -1717,13 +1719,13 @@ export default class Game { } getStorageUsername() { - log.debug('Game - getStorageUsername()'); + log.debug('Game - getStorageUsername()', this.storage); return this.storage.data.player.username; } getStoragePassword() { - log.debug('Game - getStoragePassword()'); + log.debug('Game - getStoragePassword()', this.storage); return this.storage.data.player.password; } diff --git a/src/client/js/app.js b/client/index.js similarity index 85% rename from src/client/js/app.js rename to client/index.js index 7b4e6291b..ee8221b3a 100644 --- a/src/client/js/app.js +++ b/client/index.js @@ -4,26 +4,27 @@ import _ from 'underscore'; import Module from './utils/modules'; import log from './lib/log'; import Detect from './utils/detect'; +import config from './config.json'; /** * Controls the client side changes for the application and game * @class */ -export default class App { +export default class Client { /** * Load all the different windows/UI portions on the index page * relevant for use in the game, set the zoom factor, update the * orientation and then load the login screen */ constructor() { - log.debug('App - constructor()'); + log.debug('Client - constructor()', this); /** * Configuration for the client application - * loaded from ./assets/data/config.json + * loaded from ./data/config.json * @type {Object} */ - this.config = null; + this.config = config; /** * An instance of the DOM $('body') element @@ -47,7 +48,7 @@ export default class App { * An instance of the DOM $(window) element * @type {Object} */ - this.window = $(window); + this.window = typeof window !== "undefined" ? $(window) : null; /** * An instance of the DOM $('#canvasLayers') element @@ -203,13 +204,13 @@ export default class App { * The width of the player's browser window * @type {Number} */ - this.width = window.innerWidth; + this.width = this.window.innerWidth; /** * The height of the player's browser window * @type {Number} */ - this.height = window.innerHeight; + this.height = this.window.innerHeight; /** * The orientation of the player's device @@ -234,6 +235,13 @@ export default class App { * @type {Object} */ this.rangeField = null; + } + + /** + * Add click listeners for the different parts of the UI + */ + loadClient() { + log.debug('Client - loadClient()', this); // auto-binding this.keydownEventListener = this.keydownEventListener.bind(this); @@ -243,45 +251,30 @@ export default class App { this.canvasClickEventListener = this.canvasClickEventListener.bind(this); this.sendStatus('You should turn back now...'); - this.zoom(); this.updateOrientation(); - this.load(); - } - - /** - * Add click listeners for the different parts of the UI - */ - load() { - log.debug('App - load()'); - this.loginButton.click(() => this.login()); - this.createButton.click(() => this.login()); - this.loadCharacter(); - this.yes.click(() => this.welcomeContinue()); - this.no.click(() => this.welcomeContinue()); - this.rememberMe.click(() => this.rememberLogin()); - this.guest.click(() => this.loginAsGuest()); - - this.registerButton.click(() => this.displayScreen('loadCharacter', 'createCharacter')); - this.cancelButton.click(() => this.displayScreen('createCharacter', 'loadCharacter')); - this.about.click(() => this.displayScroll('about')); - this.credits.click(() => this.displayScroll('credits')); - this.git.click(() => this.displayScroll('git')); - this.respawn.click(() => this.respawnPlayer()); - - window.scrollTo(0, 1); // why do we do this? + this.loginButton.on("click", () => this.login()); + this.createButton.on("click", () => this.login()); + this.yes.on("click", () => this.welcomeContinue()); + this.no.on("click", () => this.welcomeContinue()); + this.rememberMe.on("click", () => this.rememberLogin()); + this.guest.on("click", () => this.loginAsGuest()); + this.registerButton.on("click", () => this.displayScreen('loadCharacter', 'createCharacter')); + this.cancelButton.on("click", () => this.displayScreen('createCharacter', 'loadCharacter')); + this.about.on("click", () => this.displayScroll('about')); + this.credits.on("click", () => this.displayScroll('credits')); + this.git.on("click", () => this.displayScroll('git')); + this.respawn.on("click", () => this.respawnPlayer()); + + this.window.scrollTop(); // why do we do this? this.window.resize(this.zoom()); - $.getJSON('./src/client/config.json', (json) => { - log.debug('App - loading client config'); - this.config = json; + log.debug('Client - loading client config'); + this.config = config; - if (this.readyCallback) { - log.debug('App - loading client config done - readyCallback()'); - this.readyCallback(); - } - }); + // load the character + this.loadCharacter(); $(document).on('keydown', this.keydownEventListener); $(document).on('keyup', this.keyupEventListener); @@ -293,6 +286,13 @@ export default class App { $('input[type="range"]').on('input', () => { this.updateRange(this); }); + + if (this.readyCallback) { + log.debug('Client - loading client config done - readyCallback()'); + this.readyCallback(); + } else { + setTimeout(this.load, 3000); + } } /** @@ -300,7 +300,7 @@ export default class App { * finished loading */ welcomeContinue() { - log.debug('App - welcomeContinue()'); + log.debug('Client - welcomeContinue()'); if (!this.game) { return false; @@ -319,7 +319,7 @@ export default class App { * @return {Boolean} */ login() { - log.debug('App - login()'); + log.debug('Client - login()'); if ( this.loggingIn @@ -340,9 +340,10 @@ export default class App { * @return {Boolean} */ loginAsGuest() { - log.debug('App - loginAsGuest()'); + log.debug('Client - loginAsGuest()'); if (!this.game) { + log.debug('Client - loginAsGuest() - No Game'); return false; } @@ -357,7 +358,7 @@ export default class App { * @return {Boolean} */ loadCharacter() { - log.debug('App - loadCharacter()'); + log.debug('Client - loadCharacter()'); if ( this.wrapper.hasClass('about') @@ -381,7 +382,7 @@ export default class App { * @return {Boolean} */ rememberLogin() { - log.debug('App - rememberLogin()'); + log.debug('Client - rememberLogin()'); if (!this.game || !this.game.storage) { return false; @@ -400,7 +401,7 @@ export default class App { * @return {Boolean} */ respawnPlayer() { - log.debug('App - respawnPlayer()'); + log.debug('Client - respawnPlayer()'); if (!this.game || !this.game.player || !this.game.player.dead) { return false; @@ -416,7 +417,7 @@ export default class App { * @return {Boolean} */ keydownEventListener(event) { - log.debug('App - keydownEventListener()', event); + log.debug('Client - keydownEventListener()', event); const key = event.which; @@ -444,7 +445,7 @@ export default class App { * @return {Boolean} */ keyupEventListener(event) { - log.debug('App - keyupEventListener()', event); + log.debug('Client - keyupEventListener()', event); const key = event.which; @@ -461,7 +462,7 @@ export default class App { * @param {Object} event mouse event */ mousemoveEventListener(event) { - // log.debug('App - mousemoveEventListener()', event, this); + // log.debug('Client - mousemoveEventListener()', event, this); if (!this.game || !this.game.input || !this.game.started) { return false; @@ -479,7 +480,7 @@ export default class App { * @return {Boolean} */ canvasClickEventListener(event) { - log.debug('App - canvasClickEventListener()'); + log.debug('Client - canvasClickEventListener()'); if (!this.game || !this.game.started) { return false; @@ -496,7 +497,7 @@ export default class App { * game to fit porportionally with the player's window size */ zoom() { - log.debug('App - zoom()'); + log.debug('Client - zoom()'); // const containerWidth = this.container.width(); // const containerHeight = this.container.height(); @@ -525,7 +526,7 @@ export default class App { * Fades the menu */ fadeMenu() { - log.debug('App - fadeMenu()'); + log.debug('Client - fadeMenu()'); this.updateLoader(null); @@ -540,7 +541,7 @@ export default class App { * Shows the menu */ showMenu() { - log.debug('App - showMenu()'); + log.debug('Client - showMenu()'); this.body.removeClass('game'); this.body.removeClass('started'); @@ -553,7 +554,7 @@ export default class App { * @param {String} destination the new screen to show */ displayScreen(origin, destination) { - log.debug('App - displayScreen()', origin, destination); + log.debug('Client - displayScreen()', origin, destination); if (!destination || this.loggingIn) { return false; @@ -571,7 +572,7 @@ export default class App { * @param {String} content - the screen to display */ displayScroll(content) { - log.debug('App - displayScroll()', content); + log.debug('Client - displayScroll()', content); const state = this.wrapper.attr('class'); @@ -595,7 +596,7 @@ export default class App { * Verify the active form */ verifyForm() { - log.debug('App - verifyForm()'); + log.debug('Client - verifyForm()'); const activeForm = this.getActiveForm(); @@ -617,7 +618,7 @@ export default class App { * @return {Boolean} true if valid */ verifyJoinForm() { - log.debug('App - verifyJoinForm()'); + log.debug('Client - verifyJoinForm()'); const characterName = $('#registerNameInput'); const registerPassword = $('#registerPasswordInput'); @@ -665,7 +666,7 @@ export default class App { * @return {Boolean} true if valid */ verifyLoginForm() { - log.debug('App - verifyLoginForm()'); + log.debug('Client - verifyLoginForm()'); const nameInput = $('#loginNameInput'); const passwordInput = $('#loginPasswordInput'); @@ -694,7 +695,7 @@ export default class App { * @return {Boolean} true if valid */ verifyEmail(email) { - log.debug('App - verifyEmail()', email); + log.debug('Client - verifyEmail()', email); return /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test( email, @@ -707,7 +708,7 @@ export default class App { * @param {String} message the message */ sendStatus(message) { - log.debug('App - sendStatus()', message); + log.debug('Client - sendStatus()', message); this.cleanErrors(); @@ -730,7 +731,7 @@ export default class App { * that this field has an issue */ sendError(field, error) { - log.debug('App - sendError()', field, error); + log.debug('Client - sendError()', field, error); this.cleanErrors(); this.errorMsg.html(error); @@ -753,7 +754,7 @@ export default class App { * on the active form's input fields */ cleanErrors() { - log.debug('App - cleanErrors()'); + log.debug('Client - cleanErrors()'); const activeForm = this.getActiveForm(); const fields = activeForm === 'loadCharacter' @@ -773,7 +774,7 @@ export default class App { * @return {String} active form's ID */ getActiveForm() { - log.debug('App - getActiveForm()'); + log.debug('Client - getActiveForm()'); return this.wrapper && this.wrapper[0] && this.wrapper[0].className; } @@ -783,7 +784,7 @@ export default class App { * @return {Boolean} true if on the join form */ isRegistering() { - log.debug('App - isRegistering()'); + log.debug('Client - isRegistering()'); return this.getActiveForm() === 'createCharacter'; } @@ -793,7 +794,7 @@ export default class App { * @return {Boolean} true if player is a guest */ isGuest() { - log.debug('App - isGuest()'); + log.debug('Client - isGuest()'); return this.guestLogin; } @@ -802,7 +803,7 @@ export default class App { * Call the game's resizer function */ resize() { - log.debug('App - resize()'); + log.debug('Client - resize()'); if (this.game) { this.game.resize(); @@ -810,13 +811,13 @@ export default class App { } /** - * Set the app to use a new instance of the game + * Set the client to use a new instance of the game */ setGame(game) { - log.debug('App - setGame()', game); + log.debug('Client - setGame()', game); this.game = game; - window.wtf = this; + this.window.wtf = this; } /** @@ -824,7 +825,7 @@ export default class App { * @return {Boolean} returns true if the window has an active web worker */ hasWorker() { - log.debug('App - hasWorker()'); + log.debug('Client - hasWorker()'); return !!this.window.Worker; } @@ -857,7 +858,7 @@ export default class App { * of 'Connecting to server...' */ revertLoader() { - log.debug('App - revertLoader()'); + log.debug('Client - revertLoader()'); this.updateLoader('Connecting to server...'); } @@ -867,7 +868,7 @@ export default class App { * @param {String} message the loader message to display */ updateLoader(message) { - log.debug('App - updateLoader()', message); + log.debug('Client - updateLoader()', message); if (!message) { this.loading.hide(); @@ -884,7 +885,7 @@ export default class App { * @param {Boolean} toggle true to hide, false to show */ toggleLogin(toggle) { - log.debug('App - toggleLogin()', toggle); + log.debug('Client - toggleLogin()', toggle); this.revertLoader(); this.toggleTyping(toggle); @@ -907,7 +908,7 @@ export default class App { * @param {String} state the state to update the fields to */ toggleTyping(state) { - log.debug('App - toggleTyping()', state); + log.debug('Client - toggleTyping()', state); if (this.loginFields) { _.each(this.loginFields, (field) => { @@ -927,7 +928,7 @@ export default class App { * using a linear gradient on the background color */ updateRange(field) { - log.debug('App - updateRange()', field); + log.debug('Client - updateRange()', field); const obj = $(field); const val = (obj.val() - obj.attr('min')) / (obj.attr('max') - obj.attr('min')); @@ -946,7 +947,7 @@ export default class App { * player is using */ updateOrientation() { - log.debug('App - updateOrientation()'); + log.debug('Client - updateOrientation()'); // this.zoom(); this.orientation = this.getOrientation(); @@ -957,7 +958,7 @@ export default class App { * @return {String} portrait|landscape */ getOrientation() { - log.debug('App - getOrientation()'); + log.debug('Client - getOrientation()'); return this.height > this.width ? 'portrait' : 'landscape'; } @@ -967,7 +968,7 @@ export default class App { * @return {Number} a value from 0 to 1 */ getZoom() { - // log.debug('App - getZoom()'); + // log.debug('Client - getZoom()'); return this.zoomFactor; } @@ -979,7 +980,7 @@ export default class App { * this application class is done loading */ onReady(callback) { - log.debug('App - onReady()', callback); + log.debug('Client - onReady()', callback); this.readyCallback = callback; } @@ -989,7 +990,7 @@ export default class App { * @return {Boolean} true if a phone */ isMobile() { - log.debug('App - isMobile()'); + log.debug('Client - isMobile()'); return this.getScaleFactor() < 2; } @@ -999,7 +1000,7 @@ export default class App { * @return {Boolean} true if a tablet */ isTablet() { - log.debug('App - isTablet()'); + log.debug('Client - isTablet()'); return Detect.isIpad() || (Detect.isAndroid() && this.getScaleFactor() > 1); } diff --git a/client/index.test.js b/client/index.test.js new file mode 100644 index 000000000..f63de04f0 --- /dev/null +++ b/client/index.test.js @@ -0,0 +1,83 @@ +/* global document, window, Event */ +import Client from '.'; + +// mock the Detect import +jest.mock('./utils/detect'); + +/** + * @test {Client} + */ +describe('Client', () => { + const instance = new Client(); + + /** + * @test {Client#constructor} + */ + it('.constructor()', () => { + expect(Client).toBeDefined(); + }); + +// /** +// * @test {WTF#load} +// */ +// it('.load()', () => { +// expect(instance.app).toEqual(null); +// instance.load(); +// expect(instance.app).toBeDefined(); +// expect(instance.body).toBeDefined(); +// expect(instance.chatInput).toBeDefined(); +// }); + +// /** +// * @test {WTF#documentReady} +// */ +// it('.documentReady()', () => { +// expect(instance.app).toEqual(null); +// instance.documentReady(); +// expect(instance.app).toBeDefined(); +// expect(instance.body).toBeDefined(); +// expect(instance.chatInput).toBeDefined(); +// }); + +// /** +// * @test {WTF#addClasses} +// */ +// it('.addClasses()', () => { +// instance.documentReady(); +// instance.addClasses(); +// expect(instance.chatInput).toBeDefined(); +// expect(instance.body[0].className).toEqual('windows opera'); +// }); + +// /** +// * @test {WTF#addResizeListeners} +// */ +// it('.addResizeListeners()', () => { +// instance.documentReady(); +// const map = {}; +// document.addEventListener = jest.fn((event, callback) => { +// map[event] = callback; +// }); + +// instance.addResizeListeners(); +// expect(map.touchstart).toBeDefined(); +// expect(map.touchmove).toBeDefined(); +// expect(map.touchmove(new Event('test'))).toEqual(false); + +// // check window orientation changes +// const updateOrientationMock = jest.spyOn(instance.app, 'updateOrientation'); +// window.dispatchEvent(new Event('orientationchange')); +// expect(updateOrientationMock).toHaveBeenCalled(); +// }); + +// /** +// * @test {WTF#initGame} +// */ +// it('.initGame()', () => { +// const wtf = new WTF(); +// expect(wtf.app).toEqual(null); +// wtf.documentReady(); +// wtf.initGame(); +// expect(wtf.app.readyCallback).toBeDefined(); +// }); +}); \ No newline at end of file diff --git a/src/client/js/interface/abilities.js b/client/interface/abilities.js similarity index 100% rename from src/client/js/interface/abilities.js rename to client/interface/abilities.js diff --git a/src/client/js/interface/actions.js b/client/interface/actions.js similarity index 98% rename from src/client/js/interface/actions.js rename to client/interface/actions.js index 45e668519..c0502ce6f 100644 --- a/src/client/js/interface/actions.js +++ b/client/interface/actions.js @@ -16,10 +16,10 @@ export default class Actions { this.miscButton = null; - this.load(); + this.loadActions(); } - load() { + loadActions() { const dropAccept = $('#dropAccept'); const dropCancel = $('#dropcancel'); diff --git a/src/client/js/interface/bank.js b/client/interface/bank.js similarity index 95% rename from src/client/js/interface/bank.js rename to client/interface/bank.js index 4f0bc16a1..3522255b0 100644 --- a/src/client/js/interface/bank.js +++ b/client/interface/bank.js @@ -18,7 +18,7 @@ export default class Bank { }); } - load(data) { + loadBank(data) { const bankList = this.bankSlots.find('ul'); const inventoryList = this.bankInventorySlots.find('ul'); @@ -46,7 +46,7 @@ export default class Bank { this.click('bank', event); }); - if (this.game.app.isMobile()) { + if (this.game.client.isMobile()) { image.css('background-size', '600%'); } @@ -93,7 +93,7 @@ export default class Bank { this.click('inventory', event); }); - if (this.game.app.isMobile()) { + if (this.game.client.isMobile()) { slotImage.css('background-size', '600%'); } @@ -133,7 +133,7 @@ export default class Bank { 'margin-left': '0', }); - if (this.game.app.isMobile()) { + if (this.game.client.isMobile()) { image.css('background-size', '600%'); } else { image.css( @@ -153,7 +153,7 @@ export default class Bank { 'margin-bottom': `${6 * this.getScale()}px`, }); - if (this.game.app.isMobile()) { + if (this.game.client.isMobile()) { iImage.css('background-size', '600%'); } else { iImage.css( @@ -184,7 +184,7 @@ export default class Bank { } if (slot.isEmpty()) { - slot.load(info.name, info.count, info.ability, info.abilityLevel); + slot.loadSlot(info.name, info.count, info.ability, info.abilityLevel); } slot.setCount(info.count); @@ -198,7 +198,7 @@ export default class Bank { this.container.getImageFormat(this.getDrawingScale(), info.name), ); - if (this.game.app.isMobile()) { + if (this.game.client.isMobile()) { cssSlot.css('background-size', '600%'); } @@ -242,7 +242,7 @@ export default class Bank { this.container.getImageFormat(this.getDrawingScale(), info.name), ); - if (this.game.app.isMobile()) { + if (this.game.client.isMobile()) { image.css('background-size', '600%'); } diff --git a/src/client/js/interface/container/container.js b/client/interface/container/container.js similarity index 89% rename from src/client/js/interface/container/container.js rename to client/interface/container/container.js index 3efd0ee61..bad8a3102 100644 --- a/src/client/js/interface/container/container.js +++ b/client/interface/container/container.js @@ -16,7 +16,7 @@ export default class Container { * we just modify the container directly. */ setSlot(index, info) { - this.slots[index].load( + this.slots[index].loadSlot( info.name, info.count, info.ability, @@ -37,6 +37,6 @@ export default class Container { } getImageFormat(scale, name) { - return `url("assets/img/${scale}/item-${name}.png")`; + return `url("/img/${scale}/item-${name}.png")`; } } diff --git a/src/client/js/interface/container/slot.js b/client/interface/container/slot.js similarity index 90% rename from src/client/js/interface/container/slot.js rename to client/interface/container/slot.js index 591b13824..8cb59dc8b 100644 --- a/src/client/js/interface/container/slot.js +++ b/client/interface/container/slot.js @@ -9,7 +9,7 @@ export default class Slot { this.equippable = false; } - load(name, count, ability, abilityLevel, edible, equippable) { + loadSlot(name, count, ability, abilityLevel, edible, equippable) { this.name = name; this.count = count; this.ability = ability; diff --git a/src/client/js/interface/enchant.js b/client/interface/enchant.js similarity index 98% rename from src/client/js/interface/enchant.js rename to client/interface/enchant.js index 0993b18f5..8f048abab 100644 --- a/src/client/js/interface/enchant.js +++ b/client/interface/enchant.js @@ -107,7 +107,7 @@ export default class Enchant { } } - load() { + loadEnchant() { const list = this.getSlots(); const inventoryList = this.interface.bank.getInventoryList(); @@ -161,7 +161,7 @@ export default class Enchant { display() { this.body.fadeIn('fast'); - this.load(); + this.loadEnchant(); } hide() { diff --git a/src/client/js/interface/inventory.js b/client/interface/inventory.js similarity index 96% rename from src/client/js/interface/inventory.js rename to client/interface/inventory.js index 6ab47e1d9..52f7ae01b 100644 --- a/src/client/js/interface/inventory.js +++ b/client/interface/inventory.js @@ -15,7 +15,7 @@ export default class Inventory { this.selectedItem = null; } - load(data) { + loadInventory(data) { const list = $('#inventory').find('ul'); for (let i = 0; i < data.length; i += 1) { @@ -32,7 +32,7 @@ export default class Inventory { ); } - if (this.game.app.isMobile()) itemSlot.css('background-size', '600%'); + if (this.game.client.isMobile()) itemSlot.css('background-size', '600%'); itemSlot.dblclick((event) => { this.clickDouble(event); @@ -182,7 +182,7 @@ export default class Inventory { } if (slot.isEmpty()) { - slot.load( + slot.loadSlot( info.name, info.count, info.ability, @@ -201,7 +201,7 @@ export default class Inventory { this.container.getImageFormat(this.getScale(), slot.name), ); - if (this.game.app.isMobile()) cssSlot.css('background-size', '600%'); + if (this.game.client.isMobile()) cssSlot.css('background-size', '600%'); item .find(`#itemCount${info.index}`) @@ -235,7 +235,7 @@ export default class Inventory { const slot = this.container.slots[i]; if (slot) { - if (this.game.app.isMobile()) { + if (this.game.client.isMobile()) { item.css('background-size', '600%'); } else { item.css( diff --git a/client/interface/profile/ability.js b/client/interface/profile/ability.js new file mode 100644 index 000000000..66d544ad2 --- /dev/null +++ b/client/interface/profile/ability.js @@ -0,0 +1,8 @@ +import GamePage from './gamePage'; + +export default class Ability extends GamePage { + constructor(game) { + super('#skillPage'); + this.game = game; + } +} diff --git a/src/client/js/interface/profile/page.js b/client/interface/profile/gamePage.js similarity index 77% rename from src/client/js/interface/profile/page.js rename to client/interface/profile/gamePage.js index 9654b04ba..800fa3e96 100644 --- a/src/client/js/interface/profile/page.js +++ b/client/interface/profile/gamePage.js @@ -1,6 +1,8 @@ +'use client' + import $ from 'jquery'; -export default class Page { +export default class GamePage { constructor(element) { this.body = $(element); this.loaded = false; @@ -18,9 +20,9 @@ export default class Page { return this.body.css('display') === 'block'; } - load() { + loadPage() { // @TODO - log.debug('Page - load() - @TODO'); + log.debug('Page - loadPage() - @TODO'); } resize() { @@ -38,6 +40,6 @@ export default class Page { return ''; } - return `url("assets/img/${scale}/item-${name}.png")`; + return `url("/img/${scale}/item-${name}.png")`; } } diff --git a/src/client/js/interface/profile/profile.js b/client/interface/profile/profile.js similarity index 92% rename from src/client/js/interface/profile/profile.js rename to client/interface/profile/profile.js index 52eefd91d..dddb62671 100644 --- a/src/client/js/interface/profile/profile.js +++ b/client/interface/profile/profile.js @@ -1,9 +1,9 @@ import $ from 'jquery'; import _ from 'underscore'; -import State from './pages/state'; -import Ability from './pages/ability'; -import Settings from './pages/settings'; -import Quest from './pages/quest'; +import State from './state'; +import Ability from './ability'; +import Settings from './settings'; +import Quest from './quest'; import Packets from '../../network/packets'; export default class Profile { @@ -16,10 +16,10 @@ export default class Profile { this.activePage = null; this.activeIndex = 0; this.pages = []; - this.load(); + this.loadProfile(); } - load() { + loadProfile() { this.button.click(() => { this.game.interface.hideAll(); this.settings.hide(); @@ -33,7 +33,7 @@ export default class Profile { } if (!this.activePage.loaded) { - this.activePage.load(); + this.activePage.loadPage(); } this.game.socket.send(Packets.Click, [ diff --git a/src/client/js/interface/profile/pages/quest.js b/client/interface/profile/quest.js similarity index 96% rename from src/client/js/interface/profile/pages/quest.js rename to client/interface/profile/quest.js index d0cd46e63..3b03145cd 100644 --- a/src/client/js/interface/profile/pages/quest.js +++ b/client/interface/profile/quest.js @@ -1,8 +1,8 @@ import $ from 'jquery'; import _ from 'underscore'; -import Page from '../page'; +import GamePage from './gamePage'; -export default class Quest extends Page { +export default class Quest extends GamePage { constructor() { super('#questPage'); @@ -16,7 +16,7 @@ export default class Quest extends Page { this.questList = this.quests.find('ul'); } - load(quests, achievements) { + loadQuest(quests, achievements) { let finishedAchievements = 0; let finishedQuests = 0; diff --git a/src/client/js/interface/profile/pages/settings.js b/client/interface/profile/settings.js similarity index 94% rename from src/client/js/interface/profile/pages/settings.js rename to client/interface/profile/settings.js index 3da5c3571..5158f0e9a 100644 --- a/src/client/js/interface/profile/pages/settings.js +++ b/client/interface/profile/settings.js @@ -1,7 +1,7 @@ import $ from 'jquery'; -import Page from '../page'; +import GamePage from './gamePage'; -export default class Settings extends Page { +export default class Settings extends GamePage { constructor(game) { super('#settingsPage'); this.game = game; @@ -22,10 +22,10 @@ export default class Settings extends Page { this.nameCheck = $('#nameCheck'); this.levelCheck = $('#levelCheck'); this.loaded = false; - this.load(); + this.loadSettings(); } - load() { + loadSettings() { if (this.loaded) { return; } @@ -35,10 +35,10 @@ export default class Settings extends Page { this.brightness.val(this.getBrightness()); this.intensity.val(this.getIntensity()); - this.game.app.updateRange(this.volume); - this.game.app.updateRange(this.sfx); - this.game.app.updateRange(this.brightness); - this.game.app.updateRange(this.intensity); + this.game.client.updateRange(this.volume); + this.game.client.updateRange(this.sfx); + this.game.client.updateRange(this.brightness); + this.game.client.updateRange(this.intensity); this.renderer.adjustBrightness(this.getBrightness()); diff --git a/src/client/js/interface/profile/pages/state.js b/client/interface/profile/state.js similarity index 91% rename from src/client/js/interface/profile/pages/state.js rename to client/interface/profile/state.js index 75b618f7f..4671401aa 100644 --- a/src/client/js/interface/profile/pages/state.js +++ b/client/interface/profile/state.js @@ -1,9 +1,9 @@ import $ from 'jquery'; import _ from 'underscore'; -import Page from '../page'; -import Packets from '../../../network/packets'; +import GamePage from './gamePage'; +import Packets from '../../network/packets'; -export default class State extends Page { +export default class State extends GamePage { constructor(game) { super('#statePage'); @@ -30,14 +30,14 @@ export default class State extends Page { this.loaded = false; - this.load(); + this.loadState(); } resize() { - this.loadSlots(); + this.loadStateSlots(); } - load() { + loadState() { if (!this.game.player.armour) { return; } @@ -46,7 +46,7 @@ export default class State extends Page { this.level.text(this.player.level); this.experience.text(this.player.experience); - this.loadSlots(); + this.loadStateSlots(); this.loaded = true; @@ -86,7 +86,7 @@ export default class State extends Page { }); } - loadSlots() { + loadStateSlots() { this.weaponSlot.css( 'background-image', this.getImageFormat(this.getScale(), this.player.weapon.name), @@ -118,7 +118,7 @@ export default class State extends Page { update() { this.level.text(this.player.level); this.experience.text(this.player.experience); - this.loadSlots(); + this.loadStateSlots(); } forEachSlot(callback) { diff --git a/src/client/js/interface/warp.js b/client/interface/warp.js similarity index 96% rename from src/client/js/interface/warp.js rename to client/interface/warp.js index d428080d9..5053f47e5 100644 --- a/src/client/js/interface/warp.js +++ b/client/interface/warp.js @@ -8,10 +8,10 @@ export default class Warp { this.warp = $('#hud-world'); this.close = $('#closeMapFrame'); this.warpCount = 0; - this.load(); + this.loadWarp(); } - load() { + loadWarp() { this.warp.click(() => { this.toggle(); }); diff --git a/src/client/js/lib/astar.js b/client/lib/astar.js similarity index 100% rename from src/client/js/lib/astar.js rename to client/lib/astar.js diff --git a/src/client/js/lib/log.js b/client/lib/log.js similarity index 69% rename from src/client/js/lib/log.js rename to client/lib/log.js index a2285b891..40d29c3fa 100755 --- a/src/client/js/lib/log.js +++ b/client/lib/log.js @@ -1,4 +1,8 @@ -/* global window, printStackTrace */ +'use client'; + +import $ from 'jquery'; + +/* global window, document, printStackTrace */ /* eslint-disable */ class Logger { @@ -7,11 +11,17 @@ class Logger { * @param {String|null} level debug|info|error */ constructor(level) { - this.level = (window && window.debugLevel) || level; + this.level = level; + this.window = typeof window !== "undefined" ? $(window) : null; + + if (this.window) { + this.level = this.window.debugLevel || level; + } + this.classMap = {}; if (["debug", "info", "prod"].includes(this.level)) { - console.log("%c ", "background-image:url('https://raw.githubusercontent.com/design1online/WTF-Adventure/master/assets/img/wtflogo.png');background-repeat:no-repeat;background-position:center center;line-height:.85em;background-size:100% 100%;font-size:200px"); + console.info(`%cWTF`, `font-size: 200px;`); } } @@ -102,20 +112,103 @@ class Logger { * class name */ getColors(className) { - let bgcolor; - let textcolor; + let colors; + const index = Object.keys(this.classMap).indexOf(className); + const nextColorIndex = Object.keys(this.classMap).length; - if (bgcolor = this.classMap[className]) { - textcolor = this.lightOrDark(bgcolor.replace('#', '')); - } else { - bgcolor = this.randomColor(); - textcolor = this.lightOrDark(bgcolor.replace('#', '')); + let colorList = [ + { + textcolor: '#fff', + bgcolor: '#1892ff' // blue + }, + { + textcolor: '#fff', + bgcolor: '#000' // black + }, + { + textcolor: '#fff', + bgcolor: '#ce2e83' // pink + }, + { + textcolor: '#000', + bgcolor: '#3fec6b' // green + }, + { + textcolor: '#000', + bgcolor: '#ff950d' // orange + }, + { + textcolor: '#fff', + bgcolor: '#7a47ff' // purple + }, + { + textcolor: '#000', + bgcolor: '#eed500' // yellow + }, + { + textcolor: '#fff', + bgcolor: '#bd0e05' // red + }, + { + textcolor: '#fff', + bgcolor: '#9c5f01' // brown + }, + { + textcolor: '#fff', + bgcolor: '#6e7171' // gray + }, + { + textcolor: '#000', + bgcolor: '#ffc391' // peach + }, + { + textcolor: '#000', + bgcolor: '#ffb7be' // lavendar + }, + { + textcolor: '#000', + bgcolor: '#96ef98' // mint + }, + { + textcolor: '#000', + bgcolor: '#f0ef95' // cream + }, + { + textcolor: '#fff', + bgcolor: '#025a8e' // dark blue + }, + { + textcolor: '#fff', + bgcolor: '#630d3f' // plum + }, + { + textcolor: '#fff', + bgcolor: '#9d3800' // pumpkin + }, + { + textcolor: '#fff', + bgcolor: '#721c0d' // maroon + }, + { + textcolor: '#fff', + bgcolor: '#3c4f05' // dark khaki + } + ]; - // set the color in the classMap - this.classMap[className] = bgcolor; + // grab the color at the classMap index + if (index !== -1 && index < colorList.length) { + colors = colorList[index]; + } else if (index !== -1 && index > colorList.length) { + colors = colorList[nextColorIndex - index]; + } else if (index === -1 && nextColorIndex < colorList.length) { + colors = colorList[nextColorIndex]; + } else { + colors = colorList[0]; } - return { bgcolor, textcolor }; + this.classMap[className] = colors.bgcolor; + + return colors; } /** @@ -145,7 +238,7 @@ class Logger { */ info(message, ...rest) { if (this.level === 'debug' || this.level === 'info') { - if (window.console) { + if (this.window.console) { this.consoleLog(message, rest); } } @@ -160,9 +253,7 @@ class Logger { */ debug(message, ...rest) { if (this.level === 'debug') { - if (window.console) { - this.consoleLog(message, rest); - } + this.consoleLog(message, rest); } } @@ -175,7 +266,7 @@ class Logger { * instances or variables in the file used for debugging */ error(message, stacktrace, ...rest) { - if (window.console && this.level) { + if (this.window.console && this.level) { console.error(message, rest); // eslint-disable-line if (stacktrace !== undefined && stacktrace === true) { const trace = printStackTrace(); diff --git a/src/client/js/lib/stacktrace.js b/client/lib/stacktrace.js similarity index 98% rename from src/client/js/lib/stacktrace.js rename to client/lib/stacktrace.js index c7674e655..2979a808d 100755 --- a/src/client/js/lib/stacktrace.js +++ b/client/lib/stacktrace.js @@ -89,13 +89,13 @@ printStackTrace.implementation.prototype = { if (e.arguments) { return (this._mode = 'chrome'); } - if (window.opera && e.stacktrace) { + if (typeof window !== "undefined" && window.opera && e.stacktrace) { return (this._mode = 'opera10'); } if (e.stack) { return (this._mode = 'firefox'); } - if (window.opera && !('stacktrace' in e)) { + if (typeof window !== "undefined" && window.opera && !('stacktrace' in e)) { // Opera 9- return (this._mode = 'opera'); } @@ -112,7 +112,10 @@ printStackTrace.implementation.prototype = { * @param {Function} function to call with a stack trace on invocation */ instrumentFunction(context, functionName, callback) { - context = context || window; + if (typeof window !== "undefined") { + context = context || window; + } + context[`_old${functionName}`] = context[functionName]; context[functionName] = function () { callback.call(this, printStackTrace()); diff --git a/src/client/js/map/map.js b/client/map/map.js similarity index 87% rename from src/client/js/map/map.js rename to client/map/map.js index 0f31174b7..eb54912b0 100644 --- a/src/client/js/map/map.js +++ b/client/map/map.js @@ -10,14 +10,14 @@ export default class Map { constructor(game) { this.game = game; this.renderer = this.game.renderer; - this.supportsWorker = this.game.app.hasWorker(); + this.supportsWorker = this.game.client.hasWorker(); this.data = []; this.tilesets = []; this.grid = null; this.tilesetsLoaded = false; this.mapLoaded = false; - this.load(); + this.loadMap(); this.loadTilesets(); this.ready(); } @@ -38,9 +38,9 @@ export default class Map { } } - load() { + loadMap() { if (this.supportsWorker) { - log.debug('Map - load() - Parsing map with Web Workers...'); + log.debug('Map - loadMap() - Parsing map with Web Workers...'); const worker = new Worker('./js/map/mapworker.js'); worker.postMessage(1); @@ -53,10 +53,10 @@ export default class Map { this.mapLoaded = true; }; } else { - log.debug('Map - load() - Parsing map with Ajax...'); + log.debug('Map - loadMap() - Parsing map with Ajax...'); $.get( - 'assets/data/maps/world_client.json', + '/data/maps/world_client.json', (data) => { this.parseMap(data); this.loadCollisions(); @@ -74,7 +74,11 @@ export default class Map { */ async loadTilesets() { const scale = this.renderer.getScale(); - this.tilesets.push(await this.loadTileset(`assets/img/${scale}/tilesheet.png`)); + log.debug('Map - loadTilesets()', scale); + const tileset2 = await this.loadTileset(`/img/2/tilesheet.png`); + const tileset3 = await this.loadTileset(`/img/3/tilesheet.png`); + this.tilesets.push(tileset2); + this.tilesets.push(tileset3); this.renderer.setTileset(this.tilesets[scale - 2]); this.tilesetsLoaded = true; } @@ -83,7 +87,7 @@ export default class Map { const scale = this.renderer.getDrawingScale(); if (scale > 2 && !this.tilesets[1]) { - this.tilesets.push(await this.loadTileset('assets/img/3/tilesheet.png')); + this.tilesets.push(await this.loadTileset('/img/3/tilesheet.png')); } this.renderer.setTileset(this.tilesets[scale - 2]); diff --git a/src/client/js/map/mapworker.js b/client/map/mapworker.js similarity index 94% rename from src/client/js/map/mapworker.js rename to client/map/mapworker.js index 1c0d87e74..5b6dc0853 100644 --- a/src/client/js/map/mapworker.js +++ b/client/map/mapworker.js @@ -1,6 +1,6 @@ /* global postMessage */ import _ from 'underscore'; -import mapData from '../../../../assets/data/maps/world_client'; +import mapData from '../../../../data/maps/world_client'; function loadCollisionGrid() { const tileIndex = 0; diff --git a/src/client/js/network/messages.js b/client/network/messages.js similarity index 95% rename from src/client/js/network/messages.js rename to client/network/messages.js index 4770f5486..d07ea329e 100644 --- a/src/client/js/network/messages.js +++ b/client/network/messages.js @@ -13,10 +13,10 @@ import log from '../lib/log'; * accordingly. */ export default class Messages { - constructor(app) { - log.debug('Messages - constructor()', app); + constructor(client) { + log.debug('Messages - constructor()', client); - this.app = app; + this.client = client; this.messages = []; this.messages[Packets.Handshake] = this.receiveHandshake; // 0 this.messages[Packets.Intro] = null; // 1 @@ -96,91 +96,91 @@ export default class Messages { handleUTF8(message) { log.debug('Messages - handleUTF8()', message); - this.app.toggleLogin(false); + this.client.toggleLogin(false); switch (message) { case 'updated': - this.app.sendError(null, 'The client has been updated!'); + this.client.sendError(null, 'The client has been updated!'); break; case 'full': - this.app.sendError(null, 'The servers are currently full!'); + this.client.sendError(null, 'The servers are currently full!'); break; case 'error': - this.app.sendError(null, 'The server has responded with an error!'); + this.client.sendError(null, 'The server has responded with an error!'); break; case 'development': - this.app.sendError( + this.client.sendError( null, 'The game is currently in development mode.', ); break; case 'disallowed': - this.app.sendError( + this.client.sendError( null, 'The server is currently not accepting connections!', ); break; case 'maintenance': - this.app.sendError( + this.client.sendError( null, 'WTF?! Adventure is currently under construction.', ); break; case 'userexists': - this.app.sendError( + this.client.sendError( null, 'The username you have chosen already exists.', ); break; case 'emailexists': - this.app.sendError( + this.client.sendError( null, 'The email you have chosen is not available.', ); break; case 'loggedin': - this.app.sendError(null, 'The player is already logged in!'); + this.client.sendError(null, 'The player is already logged in!'); break; case 'invalidlogin': - this.app.sendError( + this.client.sendError( null, 'You have entered the wrong username or password.', ); break; case 'toofast': - this.app.sendError( + this.client.sendError( null, 'You are trying to log in too fast from the same connection.', ); break; case 'malform': - this.app.game.handleDisconnection(true); - this.app.sendError(null, 'Client has experienced a malfunction.'); + this.client.game.handleDisconnection(true); + this.client.sendError(null, 'Client has experienced a malfunction.'); break; case 'timeout': - this.app.sendError( + this.client.sendError( null, 'You have been disconnected for being inactive for too long.', ); break; case 'validatingLogin': - this.app.sendError(null, 'Validating login...'); + this.client.sendError(null, 'Validating login...'); break; default: - this.app.sendError(null, `An unknown error has occurred: ${message}`); + this.client.sendError(null, `An unknown error has occurred: ${message}`); break; } } diff --git a/src/client/js/network/packets.js b/client/network/packets.js similarity index 100% rename from src/client/js/network/packets.js rename to client/network/packets.js diff --git a/src/client/js/network/socket.js b/client/network/socket.js similarity index 90% rename from src/client/js/network/socket.js rename to client/network/socket.js index 8cdd4b255..a4d69d159 100644 --- a/src/client/js/network/socket.js +++ b/client/network/socket.js @@ -21,10 +21,10 @@ export default class Socket { this.game = game; /** - * Pulls out the app configuration from the Game instance + * Pulls out the client configuration from the Game instance * @type {Object} */ - this.config = this.game.app.config; + this.config = this.game.client.config; /** * IO websocket connection @@ -48,7 +48,7 @@ export default class Socket { * Array of messages sent from the nodeJS server to the client side game * @type {Messages[]} */ - this.messages = new Messages(this.game.app); + this.messages = new Messages(this.game.client); } /** @@ -81,8 +81,8 @@ export default class Socket { this.listening = false; - this.game.app.toggleLogin(false); - this.game.app.sendError(null, 'Could not connect to the game server.'); + this.game.client.toggleLogin(false); + this.game.client.sendError(null, 'Could not connect to the game server.'); }); // listens for socket connection attempts @@ -90,7 +90,7 @@ export default class Socket { log.debug('Socket - connect() - connecting to server', this.config.ip); this.listening = true; - this.game.app.updateLoader('Preparing handshake...'); + this.game.client.updateLoader('Preparing handshake...'); this.connection.emit('client', { gVer: this.config.version, cType: 'HTML5', diff --git a/src/client/js/renderer/bubbles/blob.js b/client/renderer/bubbles/blob.js similarity index 100% rename from src/client/js/renderer/bubbles/blob.js rename to client/renderer/bubbles/blob.js diff --git a/src/client/js/renderer/camera.js b/client/renderer/camera.js similarity index 100% rename from src/client/js/renderer/camera.js rename to client/renderer/camera.js diff --git a/src/client/js/renderer/grids.js b/client/renderer/grids.js similarity index 98% rename from src/client/js/renderer/grids.js rename to client/renderer/grids.js index 048dfbbdc..5bef84143 100644 --- a/src/client/js/renderer/grids.js +++ b/client/renderer/grids.js @@ -10,10 +10,10 @@ export default class Grids { this.entityGrid = []; this.itemGrid = []; - this.load(); + this.loadGrids(); } - load() { + loadGrids() { for (let i = 0; i < this.map.height; i += 1) { this.renderingGrid[i] = []; this.pathingGrid[i] = []; diff --git a/src/client/js/renderer/infos/splat.js b/client/renderer/infos/splat.js similarity index 100% rename from src/client/js/renderer/infos/splat.js rename to client/renderer/infos/splat.js diff --git a/src/client/js/renderer/pointers/pointer.js b/client/renderer/pointers/pointer.js similarity index 94% rename from src/client/js/renderer/pointers/pointer.js rename to client/renderer/pointers/pointer.js index 7a2235236..d708fe3f2 100644 --- a/src/client/js/renderer/pointers/pointer.js +++ b/client/renderer/pointers/pointer.js @@ -10,10 +10,10 @@ export default class Pointer { this.x = -1; this.y = -1; - this.load(); + this.loadPointer(); } - load() { + loadPointer() { this.blinkInterval = setInterval(() => { if (this.visible) { this.hide(); diff --git a/src/client/js/renderer/renderer.js b/client/renderer/renderer.js similarity index 96% rename from src/client/js/renderer/renderer.js rename to client/renderer/renderer.js index ae091c0ae..b0b3bb86f 100644 --- a/src/client/js/renderer/renderer.js +++ b/client/renderer/renderer.js @@ -86,11 +86,11 @@ export default class Renderer { this.forceRendering = false; this.textCanvas = $('#textCanvas'); - this.load(); + this.loadRenderer(); } stop() { - // log.debug('Renderer - stop()'); + log.debug('Renderer - stop()'); this.camera = null; this.input = null; @@ -102,8 +102,8 @@ export default class Renderer { }); } - load() { - // log.debug('Renderer - load()'); + loadRenderer() { + log.debug('Renderer - loadRenderer()'); this.scale = this.getScale(); this.drawingScale = this.getDrawingScale(); @@ -428,33 +428,33 @@ export default class Renderer { && !entity.teleporting && entity.hasWeapon() ) { - const weapon = this.entities.getSprite(entity.weapon.getName()); + const weaponSprite = this.entities.getSprite(entity.weapon.getName()); - if (weapon) { - if (!weapon.loaded) { - weapon.load(); + if (weaponSprite) { + if (!weaponSprite.loaded) { + weaponSprite.loadSprite(); } - const weaponAnimationData = weapon.animationData[animation.name]; + const weaponAnimationData = weaponSprite.animationData[animation.name]; const index = frame.index < weaponAnimationData.length ? frame.index : frame.index % weaponAnimationData.length; - const weaponX = weapon.width * index * this.drawingScale; - const weaponY = weapon.height * animation.row * this.drawingScale; - const weaponWidth = weapon.width * this.drawingScale; - const weaponHeight = weapon.height * this.drawingScale; + const weaponX = weaponSprite.width * index * this.drawingScale; + const weaponY = weaponSprite.height * animation.row * this.drawingScale; + const weaponWidth = weaponSprite.width * this.drawingScale; + const weaponHeight = weaponSprite.height * this.drawingScale; this.context.drawImage( - weapon.image, + weaponSprite.image, weaponX, weaponY, weaponWidth, weaponHeight, - weapon.offsetX * this.drawingScale, - weapon.offsetY * this.drawingScale, + weaponSprite.offsetX * this.drawingScale, + weaponSprite.offsetY * this.drawingScale, weaponWidth, weaponHeight, ); @@ -522,7 +522,7 @@ export default class Renderer { const sprite = this.entities.getSprite(entity.getActiveEffect()); if (!sprite.loaded) { - sprite.load(); + sprite.loadSprite(); } if (sprite) { @@ -676,7 +676,7 @@ export default class Renderer { if (cursor && this.scale > 1) { if (!cursor.loaded) { - cursor.load(); + cursor.loadSprite(); } if (cursor.loaded) { @@ -1226,13 +1226,13 @@ export default class Renderer { this.shadowSprite = this.entities.getSprite('shadow16'); // if (!this.shadowSprite.loaded) { - // this.shadowSprite.load(); + // this.shadowSprite.loadSprite(); // } this.sparksSprite = this.entities.getSprite('sparks'); // if (!this.sparksSprite.loaded) { - // this.sparksSprite.load(); + // this.sparksSprite.loadSprite(); // } } @@ -1269,8 +1269,8 @@ export default class Renderer { checkDevice() { // log.debug('Renderer - checkDevice()'); - this.mobile = this.game.app.isMobile(); - this.tablet = this.game.app.isTablet(); + this.mobile = this.game.client.isMobile(); + this.tablet = this.game.client.isTablet(); this.firefox = Detect.isFirefox(); } @@ -1291,7 +1291,7 @@ export default class Renderer { */ setTileset(tileset) { - // log.debug('Renderer - setTileset()', tileset); + log.debug('Renderer - setTileset()', tileset); this.tileset = tileset; } diff --git a/src/client/js/renderer/tile.js b/client/renderer/tile.js similarity index 100% rename from src/client/js/renderer/tile.js rename to client/renderer/tile.js diff --git a/src/client/js/renderer/updater.js b/client/renderer/updater.js similarity index 100% rename from src/client/js/renderer/updater.js rename to client/renderer/updater.js diff --git a/src/client/js/utils/__mocks__/detect.js b/client/utils/__mocks__/detect.js similarity index 78% rename from src/client/js/utils/__mocks__/detect.js rename to client/utils/__mocks__/detect.js index 094fe9c1a..5fcd086b2 100644 --- a/src/client/js/utils/__mocks__/detect.js +++ b/client/utils/__mocks__/detect.js @@ -1,5 +1,7 @@ -export default { +const Detect = { isWindows: jest.fn().mockReturnValue(true), isOpera: jest.fn().mockReturnValue(true), isFirefoxAndroid: jest.fn().mockReturnValue(true), }; + +export default Detect; diff --git a/src/client/js/utils/detect.js b/client/utils/detect.js similarity index 88% rename from src/client/js/utils/detect.js rename to client/utils/detect.js index 6081a8647..c505bec56 100644 --- a/src/client/js/utils/detect.js +++ b/client/utils/detect.js @@ -1,8 +1,7 @@ /* global navigator, window */ - const userAgentContains = string => navigator.userAgent.indexOf(string) !== -1; -export default { +const Detect = { isIpad: () => /ipad/i.test(navigator.userAgent.toLowerCase()), isAndroid: () => /Android/i.test(navigator.userAgent), isWindows: () => userAgentContains('Windows'), @@ -21,13 +20,15 @@ export default { }, iOSVersion: () => { - if (window.MSStream) { - // There is some iOS in Windows Phone... - // https://msdn.microsoft.com/en-us/library/hh869301(v=vs.85).aspx - return ''; + if (typeof window !== "undefined") { + if (window.MSStream) { + // There is some iOS in Windows Phone... + // https://msdn.microsoft.com/en-us/library/hh869301(v=vs.85).aspx + return ''; + } } - const match = navigator.appVersion.match(/OS (\d+)_(\d+)_?(\d+)?/); + const match = navigator.appVersion.match(/OS (\d+)_(\d+)_?(\d+)?/); let version; @@ -76,3 +77,5 @@ export default { return false; }, }; + +export default Detect; diff --git a/src/client/js/utils/modules.js b/client/utils/modules.js similarity index 100% rename from src/client/js/utils/modules.js rename to client/utils/modules.js diff --git a/src/client/js/utils/pathfinder.js b/client/utils/pathfinder.js similarity index 97% rename from src/client/js/utils/pathfinder.js rename to client/utils/pathfinder.js index 163fae205..c6d7c7387 100644 --- a/src/client/js/utils/pathfinder.js +++ b/client/utils/pathfinder.js @@ -13,11 +13,10 @@ export default class Pathfinder { this.blankGrid = []; this.ignores = []; - this.load(); + this.loadPathfinder(); } - load() { - + loadPathfinder() { for (let i = 0; i < this.height; i += 1) { this.blankGrid[i] = []; diff --git a/src/client/js/utils/queue.js b/client/utils/queue.js similarity index 100% rename from src/client/js/utils/queue.js rename to client/utils/queue.js diff --git a/src/client/js/utils/storage.js b/client/utils/storage.js similarity index 67% rename from src/client/js/utils/storage.js rename to client/utils/storage.js index 635626eec..1175a08c9 100644 --- a/src/client/js/utils/storage.js +++ b/client/utils/storage.js @@ -1,29 +1,38 @@ +'use client'; + /* global window */ import log from '../lib/log'; - -const storage = window.localStorage; -const name = 'data'; +import $ from "jquery"; export default class Storage { - constructor(app) { - log.debug('Storage - constructor()'); - - this.app = app; + constructor(client) { + log.debug('Storage - constructor()', window.localStorage); + this.data = null; - this.load(); + this.storage = typeof window !== "undefined" + ? window.localStorage + : { + data: this.data, + setItem: (key, value) => this.data[key] = value, + getItem: (key) => this.data[key] + }; + + this.name = 'data'; + this.client = client; + this.loadStorage(); } - load() { - if (storage.data) { - this.data = JSON.parse(storage.getItem(name)); + loadStorage() { + log.debug('Storage - loadStorage()', this.storage); + + if (this.storage && this.storage.data) { + this.data = JSON.parse(this.storage.getItem(this.name)); } else { this.data = this.create(); } - log.debug('Storage - load()', storage.data); - - if (this.data.clientVersion !== this.app.config.version) { + if (this.data.clientVersion !== this.client.config.version) { this.data = this.create(); this.save(); } @@ -35,7 +44,7 @@ export default class Storage { return { new: true, welcome: true, - clientVersion: this.app.config.version, + clientVersion: this.client.config.version, intensity: 0.8, player: { username: '', @@ -62,14 +71,14 @@ export default class Storage { log.debug('Storage - save()'); if (this.data) { - storage.setItem(name, JSON.stringify(this.data)); + this.storage.setItem(this.name, JSON.stringify(this.data)); } } clear() { log.debug('Storage - clear()'); - storage.removeItem(name); + this.storage.removeItem(this.name); this.data = this.create(); } diff --git a/src/client/js/utils/timer.js b/client/utils/timer.js similarity index 100% rename from src/client/js/utils/timer.js rename to client/utils/timer.js diff --git a/src/client/js/utils/transition.js b/client/utils/transition.js similarity index 100% rename from src/client/js/utils/transition.js rename to client/utils/transition.js diff --git a/src/client/js/utils/util.js b/client/utils/util.js similarity index 87% rename from src/client/js/utils/util.js rename to client/utils/util.js index 6e5aba74d..2ef7bb1ae 100644 --- a/src/client/js/utils/util.js +++ b/client/utils/util.js @@ -1,12 +1,19 @@ /* eslint-disable no-unused-vars */ -/* global window */ -export const isInt = n => n % 1 === 0; +import $ from 'jquery'; +export const isInt = n => n % 1 === 0; export const TRANSITIONEND = 'transitionend webkitTransitionEnd oTransitionEnd'; +export const isIntersecting = (rectOne, rectTwo) => ( + rectTwo.left > rectOne.right + || rectTwo.right < rectOne.left + || rectTwo.top > rectOne.bottom + || rectTwo.bottom < rectOne.top +); // http://paulirish.com/2011/requestanimationframe-for-smart-animating/ export const requestAnimFrame = (function requestAnmiF() { - return window.requestAnimationFrame + if (typeof window !== "undefined") { + return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame @@ -14,11 +21,5 @@ export const requestAnimFrame = (function requestAnmiF() { || function (callback, element) { window.setTimeout(callback, 20); }; + } }()); - -export const isIntersecting = (rectOne, rectTwo) => ( - rectTwo.left > rectOne.right - || rectTwo.right < rectOne.left - || rectTwo.top > rectOne.bottom - || rectTwo.bottom < rectOne.top -); diff --git a/components/abilitiesBar/index.tsx b/components/abilitiesBar/index.tsx new file mode 100644 index 000000000..8cbfb133c --- /dev/null +++ b/components/abilitiesBar/index.tsx @@ -0,0 +1,15 @@ +const AbilitiesBar = () => { + return ( +
+
    +
  • +
  • +
  • +
  • +
  • +
+
+ ) +} + +export default AbilitiesBar; \ No newline at end of file diff --git a/components/actionsDialog/index.tsx b/components/actionsDialog/index.tsx new file mode 100644 index 000000000..f39f92a1f --- /dev/null +++ b/components/actionsDialog/index.tsx @@ -0,0 +1,13 @@ +const ActionsDialog = () => { + return ( +
+
    +
  • +
    Drop
    +
  • +
+
+ ) +} + +export default ActionsDialog; \ No newline at end of file diff --git a/components/bank/index.tsx b/components/bank/index.tsx new file mode 100644 index 000000000..b4f5be41f --- /dev/null +++ b/components/bank/index.tsx @@ -0,0 +1,19 @@ +const Bank = () => { + return ( +
+
+
+
+
    +
    +
    +
    +
    +
      +
      +
      +
      + ) +} + +export default Bank; \ No newline at end of file diff --git a/components/bubbles/index.tsx b/components/bubbles/index.tsx new file mode 100644 index 000000000..8cd5d53de --- /dev/null +++ b/components/bubbles/index.tsx @@ -0,0 +1,7 @@ +const Bubbles = () => { + return ( +
      + ); +} + +export default Bubbles; \ No newline at end of file diff --git a/components/buttonBar/index.tsx b/components/buttonBar/index.tsx new file mode 100644 index 000000000..5254f9bbd --- /dev/null +++ b/components/buttonBar/index.tsx @@ -0,0 +1,16 @@ +const ButtonBar = () => { + return ( +
      +
        +
      • +
        +
      • +
      • +
        +
      • +
      +
      + ) +} + +export default ButtonBar; \ No newline at end of file diff --git a/components/canvas/index.tsx b/components/canvas/index.tsx new file mode 100644 index 000000000..8adfae35f --- /dev/null +++ b/components/canvas/index.tsx @@ -0,0 +1,17 @@ +type CanvasProps = { + id: string; + width?: string; + height?: string; +} + +const defaultProps = { + id: "missing-id", + width: "100%", + height: "100%" +}; + +const Canvas = (props:CanvasProps = defaultProps) => { + return +} + +export default Canvas; \ No newline at end of file diff --git a/assets/img/chat.png b/components/chatBar/img/chat.png similarity index 100% rename from assets/img/chat.png rename to components/chatBar/img/chat.png diff --git a/assets/img/inventory.png b/components/chatBar/img/inventory.png similarity index 100% rename from assets/img/inventory.png rename to components/chatBar/img/inventory.png diff --git a/components/chatBar/index.tsx b/components/chatBar/index.tsx new file mode 100644 index 000000000..2d6794d09 --- /dev/null +++ b/components/chatBar/index.tsx @@ -0,0 +1,14 @@ +import Image from "next/image"; +import chatIcon from "./img/chat.png"; +import inventoryIcon from "./img/inventory.png"; + +const ChatBar = () => { + return ( +
      + Chat + Inventory +
      + ) +} + +export default ChatBar; \ No newline at end of file diff --git a/components/chatInput/index.tsx b/components/chatInput/index.tsx new file mode 100644 index 000000000..4030bb811 --- /dev/null +++ b/components/chatInput/index.tsx @@ -0,0 +1,29 @@ +'use client'; +import { ChangeEventHandler } from "react"; + +const ChatInput = () => { + + const onChange:ChangeEventHandler = (e) => { + return e; + } + + return ( +
      +
      +
      + +
      +
      +
      +
      + ) +}; + +export default ChatInput; \ No newline at end of file diff --git a/components/createCharacter/index.tsx b/components/createCharacter/index.tsx new file mode 100644 index 000000000..60e69b9b0 --- /dev/null +++ b/components/createCharacter/index.tsx @@ -0,0 +1,36 @@ +import Canvas from "../canvas"; + +const CreateCharacter = () => { + return ( +
      +

      Create An Account

      +
      +
      +
      + + + + +
      +
      +
      + +
      +
      +

       

      +
      +
      +
      +
      Play
      +
      +
      +
      Cancel
      +
      +
      +
      +
      +
      + ) +} + +export default CreateCharacter; \ No newline at end of file diff --git a/components/deathDialog/index.tsx b/components/deathDialog/index.tsx new file mode 100644 index 000000000..815779430 --- /dev/null +++ b/components/deathDialog/index.tsx @@ -0,0 +1,10 @@ +const DeathDialog = () => { + return ( +
      +

      You have died...

      +
      +
      + ); +} + +export default DeathDialog; \ No newline at end of file diff --git a/components/dropDialog/index.tsx b/components/dropDialog/index.tsx new file mode 100644 index 000000000..92353937a --- /dev/null +++ b/components/dropDialog/index.tsx @@ -0,0 +1,28 @@ +'use client'; +import { ChangeEventHandler } from "react"; + +const DropDialog = () => { + const onChange:ChangeEventHandler = (e) => { + return e; + } + + return ( +
      +
      Input drop count.
      +
      + +  Accept  +  Cancel  +
      +
      + ) +} + +export default DropDialog; \ No newline at end of file diff --git a/components/enchant/index.tsx b/components/enchant/index.tsx new file mode 100644 index 000000000..5970c06e2 --- /dev/null +++ b/components/enchant/index.tsx @@ -0,0 +1,19 @@ +const Enchant = () => { + return ( +
      +
      +
      +
      +
      +
        +
        +
        +
        +
        +
        +
        +
        + ) +} + +export default Enchant; \ No newline at end of file diff --git a/components/footer/index.tsx b/components/footer/index.tsx new file mode 100644 index 000000000..74e83e87e --- /dev/null +++ b/components/footer/index.tsx @@ -0,0 +1,5 @@ +const Footer = () => { + return (
        Games by Design1Online.com, LLC
        ); +} + +export default Footer; \ No newline at end of file diff --git a/components/hud/index.tsx b/components/hud/index.tsx new file mode 100644 index 000000000..5a67a295c --- /dev/null +++ b/components/hud/index.tsx @@ -0,0 +1,19 @@ +const Hud = () => { + return ( +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        + ) +} + +export default Hud; \ No newline at end of file diff --git a/components/inventory/index.tsx b/components/inventory/index.tsx new file mode 100644 index 000000000..52ec31dd9 --- /dev/null +++ b/components/inventory/index.tsx @@ -0,0 +1,9 @@ +const Inventory = () => { + return ( +
        +
          +
          + ) +} + +export default Inventory; \ No newline at end of file diff --git a/assets/img/common/friends-2.png b/components/loadCharacter/img/friends-2.png similarity index 100% rename from assets/img/common/friends-2.png rename to components/loadCharacter/img/friends-2.png diff --git a/assets/img/common/hud-guest.png b/components/loadCharacter/img/hud-guest.png similarity index 100% rename from assets/img/common/hud-guest.png rename to components/loadCharacter/img/hud-guest.png diff --git a/assets/img/common/hud-join.png b/components/loadCharacter/img/hud-join.png similarity index 100% rename from assets/img/common/hud-join.png rename to components/loadCharacter/img/hud-join.png diff --git a/assets/img/common/lock.png b/components/loadCharacter/img/lock.png similarity index 100% rename from assets/img/common/lock.png rename to components/loadCharacter/img/lock.png diff --git a/components/loadCharacter/index.tsx b/components/loadCharacter/index.tsx new file mode 100644 index 000000000..9513af09d --- /dev/null +++ b/components/loadCharacter/index.tsx @@ -0,0 +1,48 @@ +import Image from "next/image"; +import playerIcon from './img/friends-2.png'; +import passwordIcon from './img/lock.png'; +import joinIcon from './img/hud-join.png'; +import guestIcon from './img/hud-guest.png'; + +const LoadCharacter = () => { + return ( +
          +
          +
          + +
          + Player Name Icon + +
          +
          + Password Icon + +
          +
          +
          +
          + Remember Me +
          +
          +
          Login
          +
          +
          +
          +
          +
          +
          +
          + Join Icon +
          Join
          +
          +
          + Guest Icon +
          Guest Login
          +
          +
          +
          +
          + ) +} + +export default LoadCharacter; \ No newline at end of file diff --git a/assets/img/coin.gif b/components/loader/img/coin.gif similarity index 100% rename from assets/img/coin.gif rename to components/loader/img/coin.gif diff --git a/components/loader/index.tsx b/components/loader/index.tsx new file mode 100644 index 000000000..c51e541d4 --- /dev/null +++ b/components/loader/index.tsx @@ -0,0 +1,13 @@ +import Image from "next/image"; +import coinIcon from "./img/coin.gif"; + +const Loader = ({ show = true }:{ show:Boolean }) => { + return show + ? (
          + Loading +

          WTF?! is happening...

          +
          ) + : null; +} + +export default Loader; \ No newline at end of file diff --git a/components/logo/index.tsx b/components/logo/index.tsx new file mode 100644 index 000000000..4c58b9184 --- /dev/null +++ b/components/logo/index.tsx @@ -0,0 +1,17 @@ +import Image from "next/image"; +import logoImg from './wtfintro.png'; + +const Logo = () => { + return ( +
          + +
          + ); +} + +export default Logo; \ No newline at end of file diff --git a/assets/img/common/wtfintro.png b/components/logo/wtfintro.png similarity index 100% rename from assets/img/common/wtfintro.png rename to components/logo/wtfintro.png diff --git a/components/map/index.tsx b/components/map/index.tsx new file mode 100644 index 000000000..1578b75f3 --- /dev/null +++ b/components/map/index.tsx @@ -0,0 +1,15 @@ +const Map = () => { + return ( +
          +
          +
          +
          +
          +
          +
          +
          +
          + ) +} + +export default Map; \ No newline at end of file diff --git a/components/messageDialog/index.tsx b/components/messageDialog/index.tsx new file mode 100644 index 000000000..714969237 --- /dev/null +++ b/components/messageDialog/index.tsx @@ -0,0 +1,25 @@ +const MessageDialog = () => { + return ( +
          +

          + + + Am I Dreaming? + + +

          +
          +

          Last night you were feeling a bit exhausted from a long day at school. You could hardly keep your eyes open as you munched away at dinner. When you finally dragged yourself up to bed you fell asleep as soon as your head hit the pillow. It was nearly noon when you woke up and jumped out of bed because your alarm hadn't gone off... only you're not quite sure where you are. To make matters worse, a creepy guy with a computer is sitting in the corner of your room and you're still in your pajamas. Yikes!

          +

           

          +

          Use the arrow or W A S D keys to move.

          +
          + He's cute, maybe I should go talk to him... +
          +
          + WTF?!?! Kick him where it hurts! +
          +
          + ) +} + +export default MessageDialog; \ No newline at end of file diff --git a/components/notifications/index.tsx b/components/notifications/index.tsx new file mode 100644 index 000000000..112041325 --- /dev/null +++ b/components/notifications/index.tsx @@ -0,0 +1,19 @@ +const Notifications = () => { + return ( +
          +
          +
          +
          +
          +
          +
          +
          +
          +
          +
          +
          +
          + ) +} + +export default Notifications; \ No newline at end of file diff --git a/components/playerActions/index.tsx b/components/playerActions/index.tsx new file mode 100644 index 000000000..e69a10c25 --- /dev/null +++ b/components/playerActions/index.tsx @@ -0,0 +1,14 @@ +const PlayerActions = () => { + return ( +
          +
            +
          • +
            Follow
            +
            Trade
            +
          • +
          +
          + ) +} + +export default PlayerActions; \ No newline at end of file diff --git a/components/profileDialog/index.tsx b/components/profileDialog/index.tsx new file mode 100644 index 000000000..ccca68d45 --- /dev/null +++ b/components/profileDialog/index.tsx @@ -0,0 +1,33 @@ +const ProfileDialog = () => { + return ( +
          +
          +
          +
          +
          +
          +
          +
          +
          +
          +
          +
          +
          +
          +
            +
            +
            +
            +
              +
              +
              +
              + +
              + ) +} + +export default ProfileDialog; \ No newline at end of file diff --git a/components/settingsDialog/index.tsx b/components/settingsDialog/index.tsx new file mode 100644 index 000000000..21809c2a6 --- /dev/null +++ b/components/settingsDialog/index.tsx @@ -0,0 +1,50 @@ +'use client'; +import { ChangeEventHandler } from "react"; + +const SettingsDialog = () => { + const onChange:ChangeEventHandler = (e) => { + return e; + } + + return ( +
              +
              + + + + +
              +
              +

              Volume

              +

              SFX

              +

              Brightness

              +

              Sound

              +

              Centred Camera

              +

              Debugging

              +

              Auto Centre

              +

              Names

              +

              Levels

              +

              Intensity

              +
              +
              +
              +
              +
              +
              +
              +
              +
              +
              +
              + ); +} + +export default SettingsDialog; \ No newline at end of file diff --git a/components/splash/index.tsx b/components/splash/index.tsx new file mode 100644 index 000000000..937c8ac6e --- /dev/null +++ b/components/splash/index.tsx @@ -0,0 +1,27 @@ +import Footer from "../footer"; +import Logo from "../logo"; +import Loader from "../loader"; +import DeathDialog from "../deathDialog"; +import MessageDialog from "../messageDialog"; +import LoadCharacterPage from '../loadCharacter'; +import CreateCharacterPage from "../createCharacter"; + +const SplashPage = () => { + return ( + + ); +} + +export default SplashPage; \ No newline at end of file diff --git a/components/trade/index.tsx b/components/trade/index.tsx new file mode 100644 index 000000000..998071cfa --- /dev/null +++ b/components/trade/index.tsx @@ -0,0 +1,11 @@ +const Trade = () => { + return ( +
              +
              +
              +
              +
              + ) +} + +export default Trade; \ No newline at end of file diff --git a/assets/img/achievements.png b/components/worldBar/img/achievements.png similarity index 100% rename from assets/img/achievements.png rename to components/worldBar/img/achievements.png diff --git a/assets/img/world.png b/components/worldBar/img/world.png similarity index 100% rename from assets/img/world.png rename to components/worldBar/img/world.png diff --git a/components/worldBar/index.tsx b/components/worldBar/index.tsx new file mode 100644 index 000000000..9cb80f779 --- /dev/null +++ b/components/worldBar/index.tsx @@ -0,0 +1,14 @@ +import Image from "next/image"; +import worldIcon from "./img/world.png"; +import achievementIcon from "./img/achievements.png"; + +const WorldBar = () => { + return ( +
              + world + Achievements +
              + ) +} + +export default WorldBar; \ No newline at end of file diff --git a/coverage/badge.svg b/coverage/badge.svg index 7158a0dd5..cc51d7093 100644 --- a/coverage/badge.svg +++ b/coverage/badge.svg @@ -1 +1 @@ -Coverage: 4.15%Coverage4.15% \ No newline at end of file +Coverage: 16.18%Coverage16.18% \ No newline at end of file diff --git a/coverage/coverage-summary.json b/coverage/coverage-summary.json index d6fc20dd3..36f573443 100644 --- a/coverage/coverage-summary.json +++ b/coverage/coverage-summary.json @@ -1,69 +1,5 @@ -{"total": {"lines":{"total":5042,"covered":260,"skipped":0,"pct":5.16},"statements":{"total":5158,"covered":262,"skipped":0,"pct":5.08},"functions":{"total":1073,"covered":41,"skipped":0,"pct":3.82},"branches":{"total":2222,"covered":82,"skipped":0,"pct":3.69}} -,"/Users/krafsigg/Repos/WTF-Adventure/src/client/js/app.js": {"lines":{"total":300,"covered":212,"skipped":0,"pct":70.67},"functions":{"total":60,"covered":28,"skipped":0,"pct":46.67},"statements":{"total":313,"covered":213,"skipped":0,"pct":68.05},"branches":{"total":119,"covered":74,"skipped":0,"pct":62.18}} -,"/Users/krafsigg/Repos/WTF-Adventure/src/client/js/game.js": {"lines":{"total":781,"covered":0,"skipped":0,"pct":0},"functions":{"total":119,"covered":0,"skipped":0,"pct":0},"statements":{"total":814,"covered":0,"skipped":0,"pct":0},"branches":{"total":306,"covered":0,"skipped":0,"pct":0}} -,"/Users/krafsigg/Repos/WTF-Adventure/src/client/js/main.js": {"lines":{"total":34,"covered":31,"skipped":0,"pct":91.18},"functions":{"total":11,"covered":8,"skipped":0,"pct":72.73},"statements":{"total":35,"covered":31,"skipped":0,"pct":88.57},"branches":{"total":6,"covered":3,"skipped":0,"pct":50}} -,"/Users/krafsigg/Repos/WTF-Adventure/src/client/js/controllers/audio.js": {"lines":{"total":145,"covered":0,"skipped":0,"pct":0},"functions":{"total":29,"covered":0,"skipped":0,"pct":0},"statements":{"total":146,"covered":0,"skipped":0,"pct":0},"branches":{"total":93,"covered":0,"skipped":0,"pct":0}} -,"/Users/krafsigg/Repos/WTF-Adventure/src/client/js/controllers/bubble.js": {"lines":{"total":40,"covered":0,"skipped":0,"pct":0},"functions":{"total":9,"covered":0,"skipped":0,"pct":0},"statements":{"total":40,"covered":0,"skipped":0,"pct":0},"branches":{"total":14,"covered":0,"skipped":0,"pct":0}} -,"/Users/krafsigg/Repos/WTF-Adventure/src/client/js/controllers/chat.js": {"lines":{"total":59,"covered":0,"skipped":0,"pct":0},"functions":{"total":13,"covered":0,"skipped":0,"pct":0},"statements":{"total":60,"covered":0,"skipped":0,"pct":0},"branches":{"total":22,"covered":0,"skipped":0,"pct":0}} -,"/Users/krafsigg/Repos/WTF-Adventure/src/client/js/controllers/entities.js": {"lines":{"total":170,"covered":0,"skipped":0,"pct":0},"functions":{"total":22,"covered":0,"skipped":0,"pct":0},"statements":{"total":174,"covered":0,"skipped":0,"pct":0},"branches":{"total":75,"covered":0,"skipped":0,"pct":0}} -,"/Users/krafsigg/Repos/WTF-Adventure/src/client/js/controllers/info.js": {"lines":{"total":54,"covered":0,"skipped":0,"pct":0},"functions":{"total":14,"covered":0,"skipped":0,"pct":0},"statements":{"total":54,"covered":0,"skipped":0,"pct":0},"branches":{"total":26,"covered":0,"skipped":0,"pct":0}} -,"/Users/krafsigg/Repos/WTF-Adventure/src/client/js/controllers/input.js": {"lines":{"total":192,"covered":0,"skipped":0,"pct":0},"functions":{"total":21,"covered":0,"skipped":0,"pct":0},"statements":{"total":192,"covered":0,"skipped":0,"pct":0},"branches":{"total":114,"covered":0,"skipped":0,"pct":0}} -,"/Users/krafsigg/Repos/WTF-Adventure/src/client/js/controllers/interface.js": {"lines":{"total":81,"covered":0,"skipped":0,"pct":0},"functions":{"total":21,"covered":0,"skipped":0,"pct":0},"statements":{"total":81,"covered":0,"skipped":0,"pct":0},"branches":{"total":50,"covered":0,"skipped":0,"pct":0}} -,"/Users/krafsigg/Repos/WTF-Adventure/src/client/js/controllers/overlay.js": {"lines":{"total":37,"covered":0,"skipped":0,"pct":0},"functions":{"total":11,"covered":0,"skipped":0,"pct":0},"statements":{"total":37,"covered":0,"skipped":0,"pct":0},"branches":{"total":23,"covered":0,"skipped":0,"pct":0}} -,"/Users/krafsigg/Repos/WTF-Adventure/src/client/js/controllers/pointer.js": {"lines":{"total":84,"covered":0,"skipped":0,"pct":0},"functions":{"total":19,"covered":0,"skipped":0,"pct":0},"statements":{"total":84,"covered":0,"skipped":0,"pct":0},"branches":{"total":25,"covered":0,"skipped":0,"pct":0}} -,"/Users/krafsigg/Repos/WTF-Adventure/src/client/js/controllers/sprites.js": {"lines":{"total":22,"covered":0,"skipped":0,"pct":0},"functions":{"total":8,"covered":0,"skipped":0,"pct":0},"statements":{"total":22,"covered":0,"skipped":0,"pct":0},"branches":{"total":2,"covered":0,"skipped":0,"pct":0}} -,"/Users/krafsigg/Repos/WTF-Adventure/src/client/js/controllers/zoning.js": {"lines":{"total":11,"covered":0,"skipped":0,"pct":0},"functions":{"total":7,"covered":0,"skipped":0,"pct":0},"statements":{"total":11,"covered":0,"skipped":0,"pct":0},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} -,"/Users/krafsigg/Repos/WTF-Adventure/src/client/js/entity/animation.js": {"lines":{"total":36,"covered":0,"skipped":0,"pct":0},"functions":{"total":8,"covered":0,"skipped":0,"pct":0},"statements":{"total":36,"covered":0,"skipped":0,"pct":0},"branches":{"total":14,"covered":0,"skipped":0,"pct":0}} -,"/Users/krafsigg/Repos/WTF-Adventure/src/client/js/entity/entity.js": {"lines":{"total":113,"covered":0,"skipped":0,"pct":0},"functions":{"total":28,"covered":0,"skipped":0,"pct":0},"statements":{"total":113,"covered":0,"skipped":0,"pct":0},"branches":{"total":83,"covered":0,"skipped":0,"pct":0}} -,"/Users/krafsigg/Repos/WTF-Adventure/src/client/js/entity/entityhandler.js": {"lines":{"total":28,"covered":0,"skipped":0,"pct":0},"functions":{"total":10,"covered":0,"skipped":0,"pct":0},"statements":{"total":31,"covered":0,"skipped":0,"pct":0},"branches":{"total":26,"covered":0,"skipped":0,"pct":0}} -,"/Users/krafsigg/Repos/WTF-Adventure/src/client/js/entity/sprite.js": {"lines":{"total":68,"covered":0,"skipped":0,"pct":0},"functions":{"total":9,"covered":0,"skipped":0,"pct":0},"statements":{"total":69,"covered":0,"skipped":0,"pct":0},"branches":{"total":16,"covered":0,"skipped":0,"pct":0}} -,"/Users/krafsigg/Repos/WTF-Adventure/src/client/js/entity/character/character.js": {"lines":{"total":272,"covered":0,"skipped":0,"pct":0},"functions":{"total":54,"covered":0,"skipped":0,"pct":0},"statements":{"total":272,"covered":0,"skipped":0,"pct":0},"branches":{"total":123,"covered":0,"skipped":0,"pct":0}} -,"/Users/krafsigg/Repos/WTF-Adventure/src/client/js/entity/character/mob/mob.js": {"lines":{"total":6,"covered":0,"skipped":0,"pct":0},"functions":{"total":2,"covered":0,"skipped":0,"pct":0},"statements":{"total":6,"covered":0,"skipped":0,"pct":0},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} -,"/Users/krafsigg/Repos/WTF-Adventure/src/client/js/entity/character/npc/npc.js": {"lines":{"total":10,"covered":0,"skipped":0,"pct":0},"functions":{"total":2,"covered":0,"skipped":0,"pct":0},"statements":{"total":10,"covered":0,"skipped":0,"pct":0},"branches":{"total":4,"covered":0,"skipped":0,"pct":0}} -,"/Users/krafsigg/Repos/WTF-Adventure/src/client/js/entity/character/player/player.js": {"lines":{"total":116,"covered":0,"skipped":0,"pct":0},"functions":{"total":20,"covered":0,"skipped":0,"pct":0},"statements":{"total":116,"covered":0,"skipped":0,"pct":0},"branches":{"total":38,"covered":0,"skipped":0,"pct":0}} -,"/Users/krafsigg/Repos/WTF-Adventure/src/client/js/entity/character/player/playerhandler.js": {"lines":{"total":82,"covered":0,"skipped":0,"pct":0},"functions":{"total":13,"covered":0,"skipped":0,"pct":0},"statements":{"total":83,"covered":0,"skipped":0,"pct":0},"branches":{"total":44,"covered":0,"skipped":0,"pct":0}} -,"/Users/krafsigg/Repos/WTF-Adventure/src/client/js/entity/character/player/equipment/armour.js": {"lines":{"total":5,"covered":0,"skipped":0,"pct":0},"functions":{"total":3,"covered":0,"skipped":0,"pct":0},"statements":{"total":5,"covered":0,"skipped":0,"pct":0},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} -,"/Users/krafsigg/Repos/WTF-Adventure/src/client/js/entity/character/player/equipment/boots.js": {"lines":{"total":0,"covered":0,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":0,"covered":0,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} -,"/Users/krafsigg/Repos/WTF-Adventure/src/client/js/entity/character/player/equipment/equipment.js": {"lines":{"total":13,"covered":0,"skipped":0,"pct":0},"functions":{"total":7,"covered":0,"skipped":0,"pct":0},"statements":{"total":13,"covered":0,"skipped":0,"pct":0},"branches":{"total":2,"covered":0,"skipped":0,"pct":0}} -,"/Users/krafsigg/Repos/WTF-Adventure/src/client/js/entity/character/player/equipment/pendant.js": {"lines":{"total":0,"covered":0,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":0,"covered":0,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} -,"/Users/krafsigg/Repos/WTF-Adventure/src/client/js/entity/character/player/equipment/ring.js": {"lines":{"total":0,"covered":0,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":0,"covered":0,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} -,"/Users/krafsigg/Repos/WTF-Adventure/src/client/js/entity/character/player/equipment/weapon.js": {"lines":{"total":8,"covered":0,"skipped":0,"pct":0},"functions":{"total":5,"covered":0,"skipped":0,"pct":0},"statements":{"total":8,"covered":0,"skipped":0,"pct":0},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} -,"/Users/krafsigg/Repos/WTF-Adventure/src/client/js/entity/objects/chest.js": {"lines":{"total":4,"covered":0,"skipped":0,"pct":0},"functions":{"total":3,"covered":0,"skipped":0,"pct":0},"statements":{"total":4,"covered":0,"skipped":0,"pct":0},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} -,"/Users/krafsigg/Repos/WTF-Adventure/src/client/js/entity/objects/item.js": {"lines":{"total":10,"covered":0,"skipped":0,"pct":0},"functions":{"total":3,"covered":0,"skipped":0,"pct":0},"statements":{"total":10,"covered":0,"skipped":0,"pct":0},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} -,"/Users/krafsigg/Repos/WTF-Adventure/src/client/js/entity/objects/projectile.js": {"lines":{"total":42,"covered":0,"skipped":0,"pct":0},"functions":{"total":12,"covered":0,"skipped":0,"pct":0},"statements":{"total":42,"covered":0,"skipped":0,"pct":0},"branches":{"total":8,"covered":0,"skipped":0,"pct":0}} -,"/Users/krafsigg/Repos/WTF-Adventure/src/client/js/interface/actions.js": {"lines":{"total":59,"covered":0,"skipped":0,"pct":0},"functions":{"total":21,"covered":0,"skipped":0,"pct":0},"statements":{"total":61,"covered":0,"skipped":0,"pct":0},"branches":{"total":13,"covered":0,"skipped":0,"pct":0}} -,"/Users/krafsigg/Repos/WTF-Adventure/src/client/js/interface/bank.js": {"lines":{"total":118,"covered":0,"skipped":0,"pct":0},"functions":{"total":18,"covered":0,"skipped":0,"pct":0},"statements":{"total":122,"covered":0,"skipped":0,"pct":0},"branches":{"total":42,"covered":0,"skipped":0,"pct":0}} -,"/Users/krafsigg/Repos/WTF-Adventure/src/client/js/interface/enchant.js": {"lines":{"total":68,"covered":0,"skipped":0,"pct":0},"functions":{"total":20,"covered":0,"skipped":0,"pct":0},"statements":{"total":71,"covered":0,"skipped":0,"pct":0},"branches":{"total":12,"covered":0,"skipped":0,"pct":0}} -,"/Users/krafsigg/Repos/WTF-Adventure/src/client/js/interface/inventory.js": {"lines":{"total":124,"covered":0,"skipped":0,"pct":0},"functions":{"total":18,"covered":0,"skipped":0,"pct":0},"statements":{"total":133,"covered":0,"skipped":0,"pct":0},"branches":{"total":64,"covered":0,"skipped":0,"pct":0}} -,"/Users/krafsigg/Repos/WTF-Adventure/src/client/js/interface/warp.js": {"lines":{"total":23,"covered":0,"skipped":0,"pct":0},"functions":{"total":10,"covered":0,"skipped":0,"pct":0},"statements":{"total":24,"covered":0,"skipped":0,"pct":0},"branches":{"total":4,"covered":0,"skipped":0,"pct":0}} -,"/Users/krafsigg/Repos/WTF-Adventure/src/client/js/interface/container/container.js": {"lines":{"total":10,"covered":0,"skipped":0,"pct":0},"functions":{"total":4,"covered":0,"skipped":0,"pct":0},"statements":{"total":12,"covered":0,"skipped":0,"pct":0},"branches":{"total":2,"covered":0,"skipped":0,"pct":0}} -,"/Users/krafsigg/Repos/WTF-Adventure/src/client/js/interface/container/slot.js": {"lines":{"total":21,"covered":0,"skipped":0,"pct":0},"functions":{"total":5,"covered":0,"skipped":0,"pct":0},"statements":{"total":21,"covered":0,"skipped":0,"pct":0},"branches":{"total":2,"covered":0,"skipped":0,"pct":0}} -,"/Users/krafsigg/Repos/WTF-Adventure/src/client/js/interface/profile/page.js": {"lines":{"total":11,"covered":0,"skipped":0,"pct":0},"functions":{"total":8,"covered":0,"skipped":0,"pct":0},"statements":{"total":11,"covered":0,"skipped":0,"pct":0},"branches":{"total":4,"covered":0,"skipped":0,"pct":0}} -,"/Users/krafsigg/Repos/WTF-Adventure/src/client/js/interface/profile/profile.js": {"lines":{"total":61,"covered":0,"skipped":0,"pct":0},"functions":{"total":15,"covered":0,"skipped":0,"pct":0},"statements":{"total":63,"covered":0,"skipped":0,"pct":0},"branches":{"total":22,"covered":0,"skipped":0,"pct":0}} -,"/Users/krafsigg/Repos/WTF-Adventure/src/client/js/interface/profile/pages/ability.js": {"lines":{"total":2,"covered":0,"skipped":0,"pct":0},"functions":{"total":1,"covered":0,"skipped":0,"pct":0},"statements":{"total":2,"covered":0,"skipped":0,"pct":0},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} -,"/Users/krafsigg/Repos/WTF-Adventure/src/client/js/interface/profile/pages/quest.js": {"lines":{"total":59,"covered":0,"skipped":0,"pct":0},"functions":{"total":10,"covered":0,"skipped":0,"pct":0},"statements":{"total":65,"covered":0,"skipped":0,"pct":0},"branches":{"total":44,"covered":0,"skipped":0,"pct":0}} -,"/Users/krafsigg/Repos/WTF-Adventure/src/client/js/interface/profile/pages/settings.js": {"lines":{"total":138,"covered":0,"skipped":0,"pct":0},"functions":{"total":38,"covered":0,"skipped":0,"pct":0},"statements":{"total":138,"covered":0,"skipped":0,"pct":0},"branches":{"total":22,"covered":0,"skipped":0,"pct":0}} -,"/Users/krafsigg/Repos/WTF-Adventure/src/client/js/interface/profile/pages/state.js": {"lines":{"total":46,"covered":0,"skipped":0,"pct":0},"functions":{"total":14,"covered":0,"skipped":0,"pct":0},"statements":{"total":46,"covered":0,"skipped":0,"pct":0},"branches":{"total":4,"covered":0,"skipped":0,"pct":0}} -,"/Users/krafsigg/Repos/WTF-Adventure/src/client/js/lib/astar.js": {"lines":{"total":86,"covered":2,"skipped":0,"pct":2.33},"functions":{"total":10,"covered":2,"skipped":0,"pct":20},"statements":{"total":87,"covered":3,"skipped":0,"pct":3.45},"branches":{"total":61,"covered":0,"skipped":0,"pct":0}} -,"/Users/krafsigg/Repos/WTF-Adventure/src/client/js/lib/log.js": {"lines":{"total":48,"covered":4,"skipped":0,"pct":8.33},"functions":{"total":10,"covered":2,"skipped":0,"pct":20},"statements":{"total":49,"covered":4,"skipped":0,"pct":8.16},"branches":{"total":40,"covered":4,"skipped":0,"pct":10}} -,"/Users/krafsigg/Repos/WTF-Adventure/src/client/js/map/map.js": {"lines":{"total":88,"covered":0,"skipped":0,"pct":0},"functions":{"total":26,"covered":0,"skipped":0,"pct":0},"statements":{"total":90,"covered":0,"skipped":0,"pct":0},"branches":{"total":34,"covered":0,"skipped":0,"pct":0}} -,"/Users/krafsigg/Repos/WTF-Adventure/src/client/js/network/messages.js": {"lines":{"total":247,"covered":0,"skipped":0,"pct":0},"functions":{"total":73,"covered":0,"skipped":0,"pct":0},"statements":{"total":247,"covered":0,"skipped":0,"pct":0},"branches":{"total":87,"covered":0,"skipped":0,"pct":0}} -,"/Users/krafsigg/Repos/WTF-Adventure/src/client/js/network/packets.js": {"lines":{"total":1,"covered":1,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":1,"covered":1,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} -,"/Users/krafsigg/Repos/WTF-Adventure/src/client/js/network/socket.js": {"lines":{"total":44,"covered":0,"skipped":0,"pct":0},"functions":{"total":9,"covered":0,"skipped":0,"pct":0},"statements":{"total":44,"covered":0,"skipped":0,"pct":0},"branches":{"total":12,"covered":0,"skipped":0,"pct":0}} -,"/Users/krafsigg/Repos/WTF-Adventure/src/client/js/renderer/camera.js": {"lines":{"total":78,"covered":0,"skipped":0,"pct":0},"functions":{"total":12,"covered":0,"skipped":0,"pct":0},"statements":{"total":82,"covered":0,"skipped":0,"pct":0},"branches":{"total":20,"covered":0,"skipped":0,"pct":0}} -,"/Users/krafsigg/Repos/WTF-Adventure/src/client/js/renderer/grids.js": {"lines":{"total":42,"covered":0,"skipped":0,"pct":0},"functions":{"total":13,"covered":0,"skipped":0,"pct":0},"statements":{"total":53,"covered":0,"skipped":0,"pct":0},"branches":{"total":34,"covered":0,"skipped":0,"pct":0}} -,"/Users/krafsigg/Repos/WTF-Adventure/src/client/js/renderer/renderer.js": {"lines":{"total":490,"covered":1,"skipped":0,"pct":0.2},"functions":{"total":99,"covered":0,"skipped":0,"pct":0},"statements":{"total":492,"covered":1,"skipped":0,"pct":0.2},"branches":{"total":278,"covered":0,"skipped":0,"pct":0}} -,"/Users/krafsigg/Repos/WTF-Adventure/src/client/js/renderer/tile.js": {"lines":{"total":18,"covered":0,"skipped":0,"pct":0},"functions":{"total":5,"covered":0,"skipped":0,"pct":0},"statements":{"total":18,"covered":0,"skipped":0,"pct":0},"branches":{"total":8,"covered":0,"skipped":0,"pct":0}} -,"/Users/krafsigg/Repos/WTF-Adventure/src/client/js/renderer/updater.js": {"lines":{"total":120,"covered":0,"skipped":0,"pct":0},"functions":{"total":21,"covered":0,"skipped":0,"pct":0},"statements":{"total":122,"covered":0,"skipped":0,"pct":0},"branches":{"total":80,"covered":0,"skipped":0,"pct":0}} -,"/Users/krafsigg/Repos/WTF-Adventure/src/client/js/renderer/bubbles/blob.js": {"lines":{"total":9,"covered":0,"skipped":0,"pct":0},"functions":{"total":5,"covered":0,"skipped":0,"pct":0},"statements":{"total":9,"covered":0,"skipped":0,"pct":0},"branches":{"total":2,"covered":0,"skipped":0,"pct":0}} -,"/Users/krafsigg/Repos/WTF-Adventure/src/client/js/renderer/infos/splat.js": {"lines":{"total":24,"covered":0,"skipped":0,"pct":0},"functions":{"total":7,"covered":0,"skipped":0,"pct":0},"statements":{"total":24,"covered":0,"skipped":0,"pct":0},"branches":{"total":8,"covered":0,"skipped":0,"pct":0}} -,"/Users/krafsigg/Repos/WTF-Adventure/src/client/js/renderer/pointers/pointer.js": {"lines":{"total":19,"covered":0,"skipped":0,"pct":0},"functions":{"total":7,"covered":0,"skipped":0,"pct":0},"statements":{"total":19,"covered":0,"skipped":0,"pct":0},"branches":{"total":2,"covered":0,"skipped":0,"pct":0}} -,"/Users/krafsigg/Repos/WTF-Adventure/src/client/js/utils/detect.js": {"lines":{"total":33,"covered":1,"skipped":0,"pct":3.03},"functions":{"total":15,"covered":0,"skipped":0,"pct":0},"statements":{"total":34,"covered":1,"skipped":0,"pct":2.94},"branches":{"total":27,"covered":0,"skipped":0,"pct":0}} -,"/Users/krafsigg/Repos/WTF-Adventure/src/client/js/utils/modules.js": {"lines":{"total":7,"covered":1,"skipped":0,"pct":14.29},"functions":{"total":1,"covered":0,"skipped":0,"pct":0},"statements":{"total":7,"covered":1,"skipped":0,"pct":14.29},"branches":{"total":5,"covered":0,"skipped":0,"pct":0}} -,"/Users/krafsigg/Repos/WTF-Adventure/src/client/js/utils/pathfinder.js": {"lines":{"total":37,"covered":0,"skipped":0,"pct":0},"functions":{"total":8,"covered":0,"skipped":0,"pct":0},"statements":{"total":41,"covered":0,"skipped":0,"pct":0},"branches":{"total":18,"covered":0,"skipped":0,"pct":0}} -,"/Users/krafsigg/Repos/WTF-Adventure/src/client/js/utils/queue.js": {"lines":{"total":6,"covered":0,"skipped":0,"pct":0},"functions":{"total":6,"covered":0,"skipped":0,"pct":0},"statements":{"total":6,"covered":0,"skipped":0,"pct":0},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} -,"/Users/krafsigg/Repos/WTF-Adventure/src/client/js/utils/storage.js": {"lines":{"total":38,"covered":2,"skipped":0,"pct":5.26},"functions":{"total":10,"covered":0,"skipped":0,"pct":0},"statements":{"total":38,"covered":2,"skipped":0,"pct":5.26},"branches":{"total":12,"covered":0,"skipped":0,"pct":0}} -,"/Users/krafsigg/Repos/WTF-Adventure/src/client/js/utils/timer.js": {"lines":{"total":7,"covered":0,"skipped":0,"pct":0},"functions":{"total":2,"covered":0,"skipped":0,"pct":0},"statements":{"total":7,"covered":0,"skipped":0,"pct":0},"branches":{"total":2,"covered":0,"skipped":0,"pct":0}} -,"/Users/krafsigg/Repos/WTF-Adventure/src/client/js/utils/transition.js": {"lines":{"total":30,"covered":0,"skipped":0,"pct":0},"functions":{"total":5,"covered":0,"skipped":0,"pct":0},"statements":{"total":30,"covered":0,"skipped":0,"pct":0},"branches":{"total":14,"covered":0,"skipped":0,"pct":0}} -,"/Users/krafsigg/Repos/WTF-Adventure/src/client/js/utils/util.js": {"lines":{"total":7,"covered":5,"skipped":0,"pct":71.43},"functions":{"total":4,"covered":1,"skipped":0,"pct":25},"statements":{"total":8,"covered":5,"skipped":0,"pct":62.5},"branches":{"total":10,"covered":1,"skipped":0,"pct":10}} +{"total": {"lines":{"total":363,"covered":60,"skipped":0,"pct":16.52},"statements":{"total":377,"covered":61,"skipped":0,"pct":16.18},"functions":{"total":70,"covered":6,"skipped":0,"pct":8.57},"branches":{"total":177,"covered":15,"skipped":0,"pct":8.47},"branchesTrue":{"total":0,"covered":0,"skipped":0,"pct":100}} +,"/Applications/MAMP/htdocs/WTF-Adventure/client/index.js": {"lines":{"total":300,"covered":37,"skipped":0,"pct":12.33},"functions":{"total":59,"covered":1,"skipped":0,"pct":1.69},"statements":{"total":313,"covered":37,"skipped":0,"pct":11.82},"branches":{"total":121,"covered":1,"skipped":0,"pct":0.82}} +,"/Applications/MAMP/htdocs/WTF-Adventure/client/lib/log.js": {"lines":{"total":56,"covered":22,"skipped":0,"pct":39.28},"functions":{"total":10,"covered":5,"skipped":0,"pct":50},"statements":{"total":57,"covered":23,"skipped":0,"pct":40.35},"branches":{"total":51,"covered":14,"skipped":0,"pct":27.45}} +,"/Applications/MAMP/htdocs/WTF-Adventure/client/utils/modules.js": {"lines":{"total":7,"covered":1,"skipped":0,"pct":14.28},"functions":{"total":1,"covered":0,"skipped":0,"pct":0},"statements":{"total":7,"covered":1,"skipped":0,"pct":14.28},"branches":{"total":5,"covered":0,"skipped":0,"pct":0}} } diff --git a/coverage/lcov-report/block-navigation.js b/coverage/lcov-report/block-navigation.js index c7ff5a5ca..cc1213023 100644 --- a/coverage/lcov-report/block-navigation.js +++ b/coverage/lcov-report/block-navigation.js @@ -63,6 +63,14 @@ var jumpToCode = (function init() { } return function jump(event) { + if ( + document.getElementById('fileSearch') === document.activeElement && + document.activeElement != null + ) { + // if we're currently focused on the search input, we don't want to navigate + return; + } + switch (event.which) { case 78: // n case 74: // j diff --git a/coverage/lcov-report/favicon.png b/coverage/lcov-report/favicon.png index 6691817834a957c938e7f09640a37a645fb31457..c1525b811a167671e9de1fa78aab9f5c0b61cef7 100644 GIT binary patch delta 430 zcmV;f0a5;(1ib^08Gix*005AYXf^-<0fb3JK~#7Fwa){L7(o;U;D2ytRNFR!+IGX* zaq2i#+~|VZMqJyrZCmTz_d1zFT=&aF^DO)adH5X?!2d5GV*E@=nhZidb1}g$IC?q; zAaCDGE?oPif}IEB_a8|w8>kfF7M zKiG(hB%+3dfP|ReXY=m$yZ7}4GluxVdpx-3oO{l>_pw^iR)1(?cpF?peI5ZRTTkJ0 zxbvX!=g@6ANqoQVML557aqzcwfuFHD?(z~mb)%5YDYOzpDTV8_L^?|X^bK8sZ|P|k zmliTP*%Yr*RX9qx&^*gx;K^$jDSCF}b>s^kSi9NWdBD_M8J`x)SdZ3FbG)L@DDugf z#CcK@PeRx|9DjC5qEuFJ{)3jkRuSF$*Vy?e;b4z8__5VxaN30(V&)M(s&KDRC<5QN zs~8%vu(oQUyPIs%P01G&!USIWQpNOp0gd&iArJ_Vngzsu)s3}GuK8p;JAhX&89u%f z&{%)C&gSQPJ5$E~p)}>_8SH0x6Y(xfBJq#t{^4p9=;=&_qWl0C|x{qUi_60as#_s120wcrR ztm(;92UoXr4>IIna$KM{-26`kgW948*6-f1g}^W{F-9fPXfxVvghU?!A)4HCkbQVC Q00000Ne4wvM6N<$g5H$)jQ{`u diff --git a/coverage/lcov-report/index.html b/coverage/lcov-report/index.html index f723c7fff..0feefc140 100644 --- a/coverage/lcov-report/index.html +++ b/coverage/lcov-report/index.html @@ -23,30 +23,30 @@

              All files

              - 5.08% + 16.18% Statements - 262/5158 + 61/377
              - 3.69% + 8.47% Branches - 82/2222 + 15/177
              - 3.82% + 8.57% Functions - 41/1073 + 6/70
              - 5.16% + 16.52% Lines - 260/5042 + 60/363
              @@ -54,6 +54,12 @@

              All files

              Press n or j to go to the next uncovered block, b, p or k for the previous block.

              +
              @@ -73,318 +79,48 @@

              All files

              - js - -
              - - 21% - 244/1162 - 17.87% - 77/431 - 18.95% - 36/190 - 21.79% - 243/1115 - - - - js/controllers - -
              - - 0% - 0/901 - 0% - 0/444 - 0% - 0/174 - 0% - 0/895 - - - - js/entity - -
              - - 0% - 0/249 - 0% - 0/139 - 0% - 0/55 - 0% - 0/245 - - - - js/entity/character - -
              - - 0% - 0/272 - 0% - 0/123 - 0% - 0/54 - 0% - 0/272 - - - - js/entity/character/mob - -
              - - 0% - 0/6 - 100% - 0/0 - 0% - 0/2 - 0% - 0/6 - - - - js/entity/character/npc - -
              - - 0% - 0/10 - 0% - 0/4 - 0% - 0/2 - 0% - 0/10 - - - - js/entity/character/player - -
              + client + +
              - 0% - 0/199 - 0% - 0/82 - 0% - 0/33 - 0% - 0/198 + 11.82% + 37/313 + 0.82% + 1/121 + 1.69% + 1/59 + 12.33% + 37/300 - js/entity/character/player/equipment - -
              + client/lib + +
              - 0% - 0/26 - 0% - 0/2 - 0% - 0/15 - 0% - 0/26 + 40.35% + 23/57 + 27.45% + 14/51 + 50% + 5/10 + 39.28% + 22/56 - js/entity/objects - -
              + client/utils + +
              - 0% - 0/56 - 0% - 0/8 - 0% - 0/18 - 0% - 0/56 - - - - js/interface - -
              - - 0% - 0/411 - 0% - 0/135 - 0% - 0/87 - 0% - 0/392 - - - - js/interface/container - -
              - - 0% - 0/33 - 0% - 0/4 - 0% - 0/9 - 0% - 0/31 - - - - js/interface/profile - -
              - - 0% - 0/74 - 0% - 0/26 - 0% - 0/23 - 0% - 0/72 - - - - js/interface/profile/pages - -
              - - 0% - 0/251 - 0% - 0/70 - 0% - 0/63 - 0% - 0/245 - - - - js/lib - -
              - - 5.15% - 7/136 - 3.96% - 4/101 - 20% - 4/20 - 4.48% - 6/134 - - - - js/map - -
              - - 0% - 0/90 - 0% - 0/34 - 0% - 0/26 - 0% - 0/88 - - - - js/network - -
              - - 0.34% - 1/292 - 0% - 0/99 - 0% - 0/82 - 0.34% - 1/292 - - - - js/renderer - -
              - - 0.13% - 1/767 - 0% - 0/420 - 0% - 0/150 - 0.13% - 1/748 - - - - js/renderer/bubbles - -
              - - 0% - 0/9 - 0% - 0/2 + 14.28% + 1/7 0% 0/5 0% - 0/9 - - - - js/renderer/infos - -
              - - 0% - 0/24 - 0% - 0/8 - 0% - 0/7 - 0% - 0/24 - - - - js/renderer/pointers - -
              - - 0% - 0/19 - 0% - 0/2 - 0% - 0/7 - 0% - 0/19 - - - - js/utils - -
              - - 5.26% - 9/171 - 1.14% - 1/88 - 1.96% - 1/51 - 5.45% - 9/165 + 0/1 + 14.28% + 1/7 @@ -394,10 +130,9 @@

              All files

              - - - diff --git a/next-env.d.ts b/next-env.d.ts new file mode 100644 index 000000000..4f11a03dc --- /dev/null +++ b/next-env.d.ts @@ -0,0 +1,5 @@ +/// +/// + +// NOTE: This file should not be edited +// see https://nextjs.org/docs/basic-features/typescript for more information. diff --git a/next.config.js b/next.config.js new file mode 100644 index 000000000..e7b0a1aa6 --- /dev/null +++ b/next.config.js @@ -0,0 +1,10 @@ +/** @type {import('next').NextConfig} */ +const path = require('path'); + +const nextConfig = { + sassOptions: { + includePaths: [path.join(__dirname, 'styles')], + }, +} + +module.exports = nextConfig diff --git a/package-lock.json b/package-lock.json index 793961e14..89904671e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,20179 +1,9016 @@ { "name": "WTF-Adventure", - "version": "1.0.6", - "lockfileVersion": 1, + "version": "2.0.0", + "lockfileVersion": 3, "requires": true, - "dependencies": { - "@babel/cli": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.12.1.tgz", - "integrity": "sha512-eRJREyrfAJ2r42Iaxe8h3v6yyj1wu9OyosaUHW6UImjGf9ahGL9nsFNh7OCopvtcPL8WnEo7tp78wrZaZ6vG9g==", - "dev": true, - "requires": { - "@nicolo-ribaudo/chokidar-2": "^2.1.8", - "chokidar": "^3.4.0", - "commander": "^4.0.1", - "convert-source-map": "^1.1.0", - "fs-readdir-recursive": "^1.1.0", - "glob": "^7.0.0", - "lodash": "^4.17.19", - "make-dir": "^2.1.0", - "slash": "^2.0.0", - "source-map": "^0.5.0" - }, - "dependencies": { - "commander": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", - "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", - "dev": true - }, - "lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", - "dev": true - }, - "make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dev": true, - "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" - } - }, - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } + "packages": { + "": { + "name": "WTF-Adventure", + "version": "2.0.0", + "license": "wtfpl-2.0", + "dependencies": { + "jquery": "^3.7.1", + "next": "13.5.4", + "react": "^18", + "react-dom": "^18", + "socket.io-client": "^4.7.2", + "underscore": "^1.13.6" + }, + "devDependencies": { + "@babel/core": "^7.23.2", + "@babel/eslint-parser": "^7.22.15", + "@babel/preset-env": "^7.23.2", + "@babel/preset-typescript": "^7.23.2", + "@types/jquery": "^3.5.22", + "@types/node": "20.8.2", + "@types/react": "^18", + "@types/react-dom": "^18", + "@types/underscore": "^1.11.9", + "babel-jest": "^29.7.0", + "bootstrap": "^5.3.2", + "eslint": "^8", + "eslint-config-next": "13.5.4", + "jest": "^29.7.0", + "jest-environment-jsdom": "^29.7.0", + "make-coverage-badge": "^1.2.0", + "sass": "^1.69.0", + "typescript": "^5" + }, + "engines": { + "node": ">=18.0" + } + }, + "node_modules/@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", + "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" } }, - "@babel/code-frame": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", - "integrity": "sha1-BuKrGb21NThVWaq7W6WXKUgoAPg=", - "dev": true, - "requires": { - "@babel/highlight": "^7.0.0" - } - }, - "@babel/compat-data": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.12.1.tgz", - "integrity": "sha512-725AQupWJZ8ba0jbKceeFblZTY90McUBWMwHhkFQ9q1zKPJ95GUktljFcgcsIVwRnTnRKlcYzfiNImg5G9m6ZQ==" - }, - "@babel/core": { - "version": "7.12.3", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.3.tgz", - "integrity": "sha512-0qXcZYKZp3/6N2jKYVxZv0aNCsxTSVCiK72DTiTYZAu7sjg73W0/aynWjMbiGd87EQL4WyA8reiJVh92AVla9g==", - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.12.1", - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helpers": "^7.12.1", - "@babel/parser": "^7.12.3", - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.12.1", - "@babel/types": "^7.12.1", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.1", - "json5": "^2.1.2", - "lodash": "^4.17.19", - "resolve": "^1.3.2", - "semver": "^5.4.1", - "source-map": "^0.5.0" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", - "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", - "requires": { - "@babel/highlight": "^7.10.4" - } - }, - "@babel/generator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.1.tgz", - "integrity": "sha512-DB+6rafIdc9o72Yc3/Ph5h+6hUjeOp66pF0naQBgUFFuPqzQwIlPTm3xZR7YNvduIMtkDIj2t21LSQwnbCrXvg==", - "requires": { - "@babel/types": "^7.12.1", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - } - }, - "@babel/highlight": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", - "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.12.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.3.tgz", - "integrity": "sha512-kFsOS0IbsuhO5ojF8Hc8z/8vEIOkylVBrjiZUbLTE3XFe0Qi+uu6HjzQixkFaqr0ZPAMZcBVxEwmsnsLPZ2Xsw==" - }, - "@babel/traverse": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.1.tgz", - "integrity": "sha512-MA3WPoRt1ZHo2ZmoGKNqi20YnPt0B1S0GTZEPhhd+hw2KGUzBlHuVunj6K4sNuK+reEvyiPwtp0cpaqLzJDmAw==", - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.12.1", - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-split-export-declaration": "^7.11.0", - "@babel/parser": "^7.12.1", - "@babel/types": "^7.12.1", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.19" - } - }, - "@babel/types": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.1.tgz", - "integrity": "sha512-BzSY3NJBKM4kyatSOWh3D/JJ2O3CVzBybHWxtgxnggaxEuaSTTDqeiSb/xk9lrkw2Tbqyivw5ZU4rT+EfznQsA==", - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "debug": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", - "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==", - "requires": { - "ms": "2.1.2" - } - }, - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" - }, - "lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==" - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" - } + "node_modules/@babel/code-frame": { + "version": "7.22.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", + "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.22.13", + "chalk": "^2.4.2" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/generator": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.11.0.tgz", - "integrity": "sha512-fEm3Uzw7Mc9Xi//qU20cBKatTfs2aOtKqmvy/Vm7RkJEGFQ4xc9myCfbXxqK//ZS8MR/ciOHw6meGASJuKmDfQ==", - "requires": { - "@babel/types": "^7.11.0", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - }, + "node_modules/@babel/code-frame/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, "dependencies": { - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - } + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" } }, - "@babel/helper-annotate-as-pure": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.4.tgz", - "integrity": "sha512-XQlqKQP4vXFB7BN8fEEerrmYvHp3fK/rBkRFz9jaJbzK0B1DSfej9Kc7ZzE8Z/OnId1jpJdNAZ3BFQjWG68rcA==", - "requires": { - "@babel/types": "^7.10.4" + "node_modules/@babel/code-frame/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" } }, - "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz", - "integrity": "sha512-L0zGlFrGWZK4PbT8AszSfLTM5sDU1+Az/En9VrdT8/LmEiJt4zXt+Jve9DCAnQcbqDhCI+29y/L93mrDzddCcg==", - "requires": { - "@babel/helper-explode-assignable-expression": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-compilation-targets": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.12.1.tgz", - "integrity": "sha512-jtBEif7jsPwP27GPHs06v4WBV0KrE8a/P7n0N0sSvHn2hwUCYnolP/CLmz51IzAW4NlN+HuoBtb9QcwnRo9F/g==", - "requires": { - "@babel/compat-data": "^7.12.1", - "@babel/helper-validator-option": "^7.12.1", - "browserslist": "^4.12.0", - "semver": "^5.5.0" - }, - "dependencies": { - "browserslist": { - "version": "4.14.5", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.14.5.tgz", - "integrity": "sha512-Z+vsCZIvCBvqLoYkBFTwEYH3v5MCQbsAjp50ERycpOjnPmolg1Gjy4+KaWWpm8QOJt9GHkhdqAl14NpCX73CWA==", - "requires": { - "caniuse-lite": "^1.0.30001135", - "electron-to-chromium": "^1.3.571", - "escalade": "^3.1.0", - "node-releases": "^1.1.61" - } - }, - "caniuse-lite": { - "version": "1.0.30001151", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001151.tgz", - "integrity": "sha512-Zh3sHqskX6mHNrqUerh+fkf0N72cMxrmflzje/JyVImfpknscMnkeJrlFGJcqTmaa0iszdYptGpWMJCRQDkBVw==" - }, - "electron-to-chromium": { - "version": "1.3.584", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.584.tgz", - "integrity": "sha512-NB3DzrTzJFhWkUp+nl2KtUtoFzrfGXTir2S+BU4tXGyXH9vlluPuFpE3pTKeH7+PY460tHLjKzh6K2+TWwW+Ww==" - }, - "node-releases": { - "version": "1.1.64", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.64.tgz", - "integrity": "sha512-Iec8O9166/x2HRMJyLLLWkd0sFFLrFNy+Xf+JQfSQsdBJzPcHpNl3JQ9gD4j+aJxmCa25jNsIbM4bmACtSbkSg==" - } + "node_modules/@babel/code-frame/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" } }, - "@babel/helper-create-class-features-plugin": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.12.1.tgz", - "integrity": "sha512-hkL++rWeta/OVOBTRJc9a5Azh5mt5WgZUGAKMD8JM141YsE08K//bp1unBBieO6rUKkIPyUE0USQ30jAy3Sk1w==", - "requires": { - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-member-expression-to-functions": "^7.12.1", - "@babel/helper-optimise-call-expression": "^7.10.4", - "@babel/helper-replace-supers": "^7.12.1", - "@babel/helper-split-export-declaration": "^7.10.4" - } - }, - "@babel/helper-create-regexp-features-plugin": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.1.tgz", - "integrity": "sha512-rsZ4LGvFTZnzdNZR5HZdmJVuXK8834R5QkF3WvcnBhrlVtF0HSIUC6zbreL9MgjTywhKokn8RIYRiq99+DLAxA==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.10.4", - "@babel/helper-regex": "^7.10.4", - "regexpu-core": "^4.7.1" - } - }, - "@babel/helper-define-map": { - "version": "7.10.5", - "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.10.5.tgz", - "integrity": "sha512-fMw4kgFB720aQFXSVaXr79pjjcW5puTCM16+rECJ/plGS+zByelE8l9nCpV1GibxTnFVmUuYG9U8wYfQHdzOEQ==", - "requires": { - "@babel/helper-function-name": "^7.10.4", - "@babel/types": "^7.10.5", - "lodash": "^4.17.19" - }, - "dependencies": { - "lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==" - } - } + "node_modules/@babel/code-frame/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true }, - "@babel/helper-explode-assignable-expression": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.12.1.tgz", - "integrity": "sha512-dmUwH8XmlrUpVqgtZ737tK88v07l840z9j3OEhCLwKTkjlvKpfqXVIZ0wpK3aeOxspwGrf/5AP5qLx4rO3w5rA==", - "requires": { - "@babel/types": "^7.12.1" - }, - "dependencies": { - "@babel/types": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.1.tgz", - "integrity": "sha512-BzSY3NJBKM4kyatSOWh3D/JJ2O3CVzBybHWxtgxnggaxEuaSTTDqeiSb/xk9lrkw2Tbqyivw5ZU4rT+EfznQsA==", - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } - }, - "lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==" - }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" - } + "node_modules/@babel/code-frame/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" } }, - "@babel/helper-function-name": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz", - "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==", - "requires": { - "@babel/helper-get-function-arity": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/types": "^7.10.4" + "node_modules/@babel/code-frame/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" } }, - "@babel/helper-get-function-arity": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz", - "integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==", - "requires": { - "@babel/types": "^7.10.4" + "node_modules/@babel/code-frame/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" } }, - "@babel/helper-hoist-variables": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.4.tgz", - "integrity": "sha512-wljroF5PgCk2juF69kanHVs6vrLwIPNp6DLD+Lrl3hoQ3PpPPikaDRNFA+0t81NOoMt2DL6WW/mdU8k4k6ZzuA==", - "requires": { - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.1.tgz", - "integrity": "sha512-k0CIe3tXUKTRSoEx1LQEPFU9vRQfqHtl+kf8eNnDqb4AUJEy5pz6aIiog+YWtVm2jpggjS1laH68bPsR+KWWPQ==", - "requires": { - "@babel/types": "^7.12.1" - }, - "dependencies": { - "@babel/types": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.1.tgz", - "integrity": "sha512-BzSY3NJBKM4kyatSOWh3D/JJ2O3CVzBybHWxtgxnggaxEuaSTTDqeiSb/xk9lrkw2Tbqyivw5ZU4rT+EfznQsA==", - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } - }, - "lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==" - }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" - } + "node_modules/@babel/compat-data": { + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.2.tgz", + "integrity": "sha512-0S9TQMmDHlqAZ2ITT95irXKfxN9bncq8ZCoJhun3nHL/lLUxd2NKBJYoNGWH7S0hz6fRQwWlAWn/ILM0C70KZQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" } }, - "@babel/helper-module-imports": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.1.tgz", - "integrity": "sha512-ZeC1TlMSvikvJNy1v/wPIazCu3NdOwgYZLIkmIyAsGhqkNpiDoQQRmaCK8YP4Pq3GPTLPV9WXaPCJKvx06JxKA==", - "requires": { - "@babel/types": "^7.12.1" - }, + "node_modules/@babel/core": { + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.2.tgz", + "integrity": "sha512-n7s51eWdaWZ3vGT2tD4T7J6eJs3QoBXydv7vkUM06Bf1cbVD2Kc2UrkzhiQwobfV7NwOnQXYL7UBJ5VPU+RGoQ==", + "dev": true, "dependencies": { - "@babel/types": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.1.tgz", - "integrity": "sha512-BzSY3NJBKM4kyatSOWh3D/JJ2O3CVzBybHWxtgxnggaxEuaSTTDqeiSb/xk9lrkw2Tbqyivw5ZU4rT+EfznQsA==", - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } - }, - "lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==" - }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" - } + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.22.13", + "@babel/generator": "^7.23.0", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-module-transforms": "^7.23.0", + "@babel/helpers": "^7.23.2", + "@babel/parser": "^7.23.0", + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.2", + "@babel/types": "^7.23.0", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" } }, - "@babel/helper-module-transforms": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.12.1.tgz", - "integrity": "sha512-QQzehgFAZ2bbISiCpmVGfiGux8YVFXQ0abBic2Envhej22DVXV9nCFaS5hIQbkyo1AdGb+gNME2TSh3hYJVV/w==", - "requires": { - "@babel/helper-module-imports": "^7.12.1", - "@babel/helper-replace-supers": "^7.12.1", - "@babel/helper-simple-access": "^7.12.1", - "@babel/helper-split-export-declaration": "^7.11.0", - "@babel/helper-validator-identifier": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.12.1", - "@babel/types": "^7.12.1", - "lodash": "^4.17.19" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", - "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", - "requires": { - "@babel/highlight": "^7.10.4" - } - }, - "@babel/generator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.1.tgz", - "integrity": "sha512-DB+6rafIdc9o72Yc3/Ph5h+6hUjeOp66pF0naQBgUFFuPqzQwIlPTm3xZR7YNvduIMtkDIj2t21LSQwnbCrXvg==", - "requires": { - "@babel/types": "^7.12.1", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - } - }, - "@babel/highlight": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", - "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.12.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.3.tgz", - "integrity": "sha512-kFsOS0IbsuhO5ojF8Hc8z/8vEIOkylVBrjiZUbLTE3XFe0Qi+uu6HjzQixkFaqr0ZPAMZcBVxEwmsnsLPZ2Xsw==" - }, - "@babel/traverse": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.1.tgz", - "integrity": "sha512-MA3WPoRt1ZHo2ZmoGKNqi20YnPt0B1S0GTZEPhhd+hw2KGUzBlHuVunj6K4sNuK+reEvyiPwtp0cpaqLzJDmAw==", - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.12.1", - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-split-export-declaration": "^7.11.0", - "@babel/parser": "^7.12.1", - "@babel/types": "^7.12.1", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.19" - } - }, - "@babel/types": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.1.tgz", - "integrity": "sha512-BzSY3NJBKM4kyatSOWh3D/JJ2O3CVzBybHWxtgxnggaxEuaSTTDqeiSb/xk9lrkw2Tbqyivw5ZU4rT+EfznQsA==", - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "debug": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", - "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==", - "requires": { - "ms": "2.1.2" - } - }, - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" - }, - "lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==" - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" - } + "node_modules/@babel/core/node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" } }, - "@babel/helper-optimise-call-expression": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz", - "integrity": "sha512-n3UGKY4VXwXThEiKrgRAoVPBMqeoPgHVqiHZOanAJCG9nQUL2pLRQirUzl0ioKclHGpGqRgIOkgcIJaIWLpygg==", - "requires": { - "@babel/types": "^7.10.4" + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" } }, - "@babel/helper-plugin-utils": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", - "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==" - }, - "@babel/helper-regex": { - "version": "7.10.5", - "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.10.5.tgz", - "integrity": "sha512-68kdUAzDrljqBrio7DYAEgCoJHxppJOERHOgOrDN7WjOzP0ZQ1LsSDRXcemzVZaLvjaJsJEESb6qt+znNuENDg==", - "requires": { - "lodash": "^4.17.19" - }, + "node_modules/@babel/eslint-parser": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.22.15.tgz", + "integrity": "sha512-yc8OOBIQk1EcRrpizuARSQS0TWAcOMpEJ1aafhNznaeYkeL+OhqnDObGFylB8ka8VFF/sZc+S4RzHyO+3LjQxg==", + "dev": true, "dependencies": { - "lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==" - } + "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", + "eslint-visitor-keys": "^2.1.0", + "semver": "^6.3.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || >=14.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.11.0", + "eslint": "^7.5.0 || ^8.0.0" } }, - "@babel/helper-remap-async-to-generator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.12.1.tgz", - "integrity": "sha512-9d0KQCRM8clMPcDwo8SevNs+/9a8yWVVmaE80FGJcEP8N1qToREmWEGnBn8BUlJhYRFz6fqxeRL1sl5Ogsed7A==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.10.4", - "@babel/helper-wrap-function": "^7.10.4", - "@babel/types": "^7.12.1" - }, - "dependencies": { - "@babel/types": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.1.tgz", - "integrity": "sha512-BzSY3NJBKM4kyatSOWh3D/JJ2O3CVzBybHWxtgxnggaxEuaSTTDqeiSb/xk9lrkw2Tbqyivw5ZU4rT+EfznQsA==", - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } - }, - "lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==" - }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" - } + "node_modules/@babel/eslint-parser/node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true, + "engines": { + "node": ">=10" } }, - "@babel/helper-replace-supers": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.1.tgz", - "integrity": "sha512-zJjTvtNJnCFsCXVi5rUInstLd/EIVNmIKA1Q9ynESmMBWPWd+7sdR+G4/wdu+Mppfep0XLyG2m7EBPvjCeFyrw==", - "requires": { - "@babel/helper-member-expression-to-functions": "^7.12.1", - "@babel/helper-optimise-call-expression": "^7.10.4", - "@babel/traverse": "^7.12.1", - "@babel/types": "^7.12.1" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", - "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", - "requires": { - "@babel/highlight": "^7.10.4" - } - }, - "@babel/generator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.1.tgz", - "integrity": "sha512-DB+6rafIdc9o72Yc3/Ph5h+6hUjeOp66pF0naQBgUFFuPqzQwIlPTm3xZR7YNvduIMtkDIj2t21LSQwnbCrXvg==", - "requires": { - "@babel/types": "^7.12.1", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - } - }, - "@babel/highlight": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", - "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.12.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.3.tgz", - "integrity": "sha512-kFsOS0IbsuhO5ojF8Hc8z/8vEIOkylVBrjiZUbLTE3XFe0Qi+uu6HjzQixkFaqr0ZPAMZcBVxEwmsnsLPZ2Xsw==" - }, - "@babel/traverse": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.1.tgz", - "integrity": "sha512-MA3WPoRt1ZHo2ZmoGKNqi20YnPt0B1S0GTZEPhhd+hw2KGUzBlHuVunj6K4sNuK+reEvyiPwtp0cpaqLzJDmAw==", - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.12.1", - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-split-export-declaration": "^7.11.0", - "@babel/parser": "^7.12.1", - "@babel/types": "^7.12.1", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.19" - } - }, - "@babel/types": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.1.tgz", - "integrity": "sha512-BzSY3NJBKM4kyatSOWh3D/JJ2O3CVzBybHWxtgxnggaxEuaSTTDqeiSb/xk9lrkw2Tbqyivw5ZU4rT+EfznQsA==", - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "debug": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", - "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==", - "requires": { - "ms": "2.1.2" - } - }, - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" - }, - "lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==" - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" - } + "node_modules/@babel/eslint-parser/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" } }, - "@babel/helper-simple-access": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.12.1.tgz", - "integrity": "sha512-OxBp7pMrjVewSSC8fXDFrHrBcJATOOFssZwv16F3/6Xtc138GHybBfPbm9kfiqQHKhYQrlamWILwlDCeyMFEaA==", - "requires": { - "@babel/types": "^7.12.1" - }, + "node_modules/@babel/generator": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", + "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", + "dev": true, "dependencies": { - "@babel/types": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.1.tgz", - "integrity": "sha512-BzSY3NJBKM4kyatSOWh3D/JJ2O3CVzBybHWxtgxnggaxEuaSTTDqeiSb/xk9lrkw2Tbqyivw5ZU4rT+EfznQsA==", - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } - }, - "lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==" - }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" - } + "@babel/types": "^7.23.0", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.12.1.tgz", - "integrity": "sha512-Mf5AUuhG1/OCChOJ/HcADmvcHM42WJockombn8ATJG3OnyiSxBK/Mm5x78BQWvmtXZKHgbjdGL2kin/HOLlZGA==", - "requires": { - "@babel/types": "^7.12.1" - }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", + "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", + "dev": true, "dependencies": { - "@babel/types": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.1.tgz", - "integrity": "sha512-BzSY3NJBKM4kyatSOWh3D/JJ2O3CVzBybHWxtgxnggaxEuaSTTDqeiSb/xk9lrkw2Tbqyivw5ZU4rT+EfznQsA==", - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } - }, - "lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==" - }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" - } + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/helper-split-export-declaration": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz", - "integrity": "sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==", - "requires": { - "@babel/types": "^7.11.0" + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz", + "integrity": "sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/helper-validator-identifier": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", - "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==" - }, - "@babel/helper-validator-option": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.1.tgz", - "integrity": "sha512-YpJabsXlJVWP0USHjnC/AQDTLlZERbON577YUVO/wLpqyj6HAtVYnWaQaN0iUN+1/tWn3c+uKKXjRut5115Y2A==" - }, - "@babel/helper-wrap-function": { - "version": "7.12.3", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.12.3.tgz", - "integrity": "sha512-Cvb8IuJDln3rs6tzjW3Y8UeelAOdnpB8xtQ4sme2MSZ9wOxrbThporC0y/EtE16VAtoyEfLM404Xr1e0OOp+ow==", - "requires": { - "@babel/helper-function-name": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/helpers": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.12.1.tgz", - "integrity": "sha512-9JoDSBGoWtmbay98efmT2+mySkwjzeFeAL9BuWNoVQpkPFQF8SIIFUfY5os9u8wVzglzoiPRSW7cuJmBDUt43g==", - "requires": { - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.12.1", - "@babel/types": "^7.12.1" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", - "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", - "requires": { - "@babel/highlight": "^7.10.4" - } - }, - "@babel/generator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.1.tgz", - "integrity": "sha512-DB+6rafIdc9o72Yc3/Ph5h+6hUjeOp66pF0naQBgUFFuPqzQwIlPTm3xZR7YNvduIMtkDIj2t21LSQwnbCrXvg==", - "requires": { - "@babel/types": "^7.12.1", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - } - }, - "@babel/highlight": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", - "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.12.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.3.tgz", - "integrity": "sha512-kFsOS0IbsuhO5ojF8Hc8z/8vEIOkylVBrjiZUbLTE3XFe0Qi+uu6HjzQixkFaqr0ZPAMZcBVxEwmsnsLPZ2Xsw==" - }, - "@babel/traverse": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.1.tgz", - "integrity": "sha512-MA3WPoRt1ZHo2ZmoGKNqi20YnPt0B1S0GTZEPhhd+hw2KGUzBlHuVunj6K4sNuK+reEvyiPwtp0cpaqLzJDmAw==", - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.12.1", - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-split-export-declaration": "^7.11.0", - "@babel/parser": "^7.12.1", - "@babel/types": "^7.12.1", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.19" - } - }, - "@babel/types": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.1.tgz", - "integrity": "sha512-BzSY3NJBKM4kyatSOWh3D/JJ2O3CVzBybHWxtgxnggaxEuaSTTDqeiSb/xk9lrkw2Tbqyivw5ZU4rT+EfznQsA==", - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "debug": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", - "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==", - "requires": { - "ms": "2.1.2" - } - }, - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" - }, - "lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==" - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" - } + "node_modules/@babel/helper-compilation-targets": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz", + "integrity": "sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.22.9", + "@babel/helper-validator-option": "^7.22.15", + "browserslist": "^4.21.9", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/highlight": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", - "integrity": "sha1-9xDDjI1Fjm3ZogGvtjf8t4HOmeQ=", + "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "dev": true, - "requires": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^4.0.0" - }, "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha1-GMSasWoDe26wFSzIPjRxM4IVtm4=", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha1-GSA/tZmR35jjoocFDUZHzerzJJk=", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } + "yallist": "^3.0.2" } }, - "@babel/node": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/node/-/node-7.12.1.tgz", - "integrity": "sha512-S4tWOqo3V3ZuJjJNuheSMFIlDaQd6kbvqnQll+tdJTirksTdFHrauQf3d/xW4rgAM+mHJpxTZMHVeIXjCiDViw==", + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, - "requires": { - "@babel/register": "^7.12.1", - "commander": "^4.0.1", - "core-js": "^3.2.1", - "lodash": "^4.17.19", - "node-environment-flags": "^1.0.5", - "regenerator-runtime": "^0.13.4", - "resolve": "^1.13.1", - "v8flags": "^3.1.1" - }, - "dependencies": { - "commander": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", - "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", - "dev": true - }, - "core-js": { - "version": "3.6.5", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.6.5.tgz", - "integrity": "sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA==", - "dev": true - }, - "lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", - "dev": true - }, - "regenerator-runtime": { - "version": "0.13.7", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", - "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==", - "dev": true - }, - "resolve": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.18.1.tgz", - "integrity": "sha512-lDfCPaMKfOJXjy0dPayzPdF1phampNWr3qFCjAu+rw/qbQmr5jWH5xN2hwh9QKfw9E5v4hwV7A+jrCmL8yjjqA==", - "dev": true, - "requires": { - "is-core-module": "^2.0.0", - "path-parse": "^1.0.6" - } - } + "bin": { + "semver": "bin/semver.js" } }, - "@babel/parser": { - "version": "7.11.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.11.3.tgz", - "integrity": "sha512-REo8xv7+sDxkKvoxEywIdsNFiZLybwdI7hcT5uEPyQrSMB4YQ973BfC9OOrD/81MaIjh6UxdulIQXkjmiH3PcA==" + "node_modules/@babel/helper-compilation-targets/node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true }, - "@babel/plugin-proposal-async-generator-functions": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.12.1.tgz", - "integrity": "sha512-d+/o30tJxFxrA1lhzJqiUcEJdI6jKlNregCv5bASeGf2Q4MXmnwH7viDo7nhx1/ohf09oaH8j1GVYG/e3Yqk6A==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-remap-async-to-generator": "^7.12.1", - "@babel/plugin-syntax-async-generators": "^7.8.0" + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.15.tgz", + "integrity": "sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-member-expression-to-functions": "^7.22.15", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "@babel/plugin-proposal-class-properties": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.12.1.tgz", - "integrity": "sha512-cKp3dlQsFsEs5CWKnN7BnSHOd0EOW8EKpEjkoz1pO2E5KzIDNV9Ros1b0CnmbVgAGXJubOYVBOGCT1OmJwOI7w==", - "requires": { - "@babel/helper-create-class-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" + "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" } }, - "@babel/plugin-proposal-dynamic-import": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.12.1.tgz", - "integrity": "sha512-a4rhUSZFuq5W8/OO8H7BL5zspjnc1FLd9hlOxIK/f7qG4a0qsqk8uvF/ywgBA8/OmjsapjpvaEOYItfGG1qIvQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-dynamic-import": "^7.8.0" + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz", + "integrity": "sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "regexpu-core": "^5.3.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "@babel/plugin-proposal-export-namespace-from": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.12.1.tgz", - "integrity": "sha512-6CThGf0irEkzujYS5LQcjBx8j/4aQGiVv7J9+2f7pGfxqyKh3WnmVJYW3hdrQjyksErMGBPQrCnHfOtna+WLbw==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + "node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" } }, - "@babel/plugin-proposal-json-strings": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.12.1.tgz", - "integrity": "sha512-GoLDUi6U9ZLzlSda2Df++VSqDJg3CG+dR0+iWsv6XRw1rEq+zwt4DirM9yrxW6XWaTpmai1cWJLMfM8qQJf+yw==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-json-strings": "^7.8.0" + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.3.tgz", + "integrity": "sha512-WBrLmuPP47n7PNwsZ57pqam6G/RGo1vw/87b0Blc53tZNGZ4x7YvZ6HgQe2vo1W/FR20OgjeZuGXzudPiXHFug==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-plugin-utils": "^7.22.5", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, - "@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.12.1.tgz", - "integrity": "sha512-k8ZmVv0JU+4gcUGeCDZOGd0lCIamU/sMtIiX3UWnUc5yzgq6YUGyEolNYD+MLYKfSzgECPcqetVcJP9Afe/aCA==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + "node_modules/@babel/helper-environment-visitor": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", + "dev": true, + "engines": { + "node": ">=6.9.0" } }, - "@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.12.1.tgz", - "integrity": "sha512-nZY0ESiaQDI1y96+jk6VxMOaL4LPo/QDHBqL+SF3/vl6dHkTwHlOI8L4ZwuRBHgakRBw5zsVylel7QPbbGuYgg==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0" + "node_modules/@babel/helper-function-name": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", + "dev": true, + "dependencies": { + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/plugin-proposal-numeric-separator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.1.tgz", - "integrity": "sha512-MR7Ok+Af3OhNTCxYVjJZHS0t97ydnJZt/DbR4WISO39iDnhiD8XHrY12xuSJ90FFEGjir0Fzyyn7g/zY6hxbxA==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" + "node_modules/@babel/helper-hoist-variables": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/plugin-proposal-object-rest-spread": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz", - "integrity": "sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.0", - "@babel/plugin-transform-parameters": "^7.12.1" - } - }, - "@babel/plugin-proposal-optional-catch-binding": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.12.1.tgz", - "integrity": "sha512-hFvIjgprh9mMw5v42sJWLI1lzU5L2sznP805zeT6rySVRA0Y18StRhDqhSxlap0oVgItRsB6WSROp4YnJTJz0g==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.0" - } - }, - "@babel/plugin-proposal-optional-chaining": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.1.tgz", - "integrity": "sha512-c2uRpY6WzaVDzynVY9liyykS+kVU+WRZPMPYpkelXH8KBt1oXoI89kPbZKKG/jDT5UK92FTW2fZkZaJhdiBabw==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1", - "@babel/plugin-syntax-optional-chaining": "^7.8.0" - } - }, - "@babel/plugin-proposal-private-methods": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.12.1.tgz", - "integrity": "sha512-mwZ1phvH7/NHK6Kf8LP7MYDogGV+DKB1mryFOEwx5EBNQrosvIczzZFTUmWaeujd5xT6G1ELYWUz3CutMhjE1w==", - "requires": { - "@babel/helper-create-class-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz", + "integrity": "sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.23.0" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.1.tgz", - "integrity": "sha512-MYq+l+PvHuw/rKUz1at/vb6nCnQ2gmJBNaM62z0OgH7B2W1D9pvkpYtlti9bGtizNIU1K3zm4bZF9F91efVY0w==", - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" + "node_modules/@babel/helper-module-imports": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", + "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" } }, - "@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", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "node_modules/@babel/helper-module-transforms": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.0.tgz", + "integrity": "sha512-WhDWw1tdrlT0gMgUJSlX0IQvoO1eN279zrAUbVB+KpV2c3Tylz8+GnKOLllCS6Z/iZQEyVYxhZVUdPTqs2YYPw==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-validator-identifier": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "@babel/plugin-syntax-bigint": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", - "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", + "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/plugin-syntax-class-properties": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.10.4.tgz", - "integrity": "sha512-GCSBF7iUle6rNugfURwNmCGG3Z/2+opxAMLs1nND4bhEG5PuxTIggDBoeYYSujAlLtsupzOHYJQgPS3pivwXIA==", + "node_modules/@babel/helper-plugin-utils": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", + "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "engines": { + "node": ">=6.9.0" } }, - "@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", - "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz", + "integrity": "sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-wrap-function": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "@babel/plugin-syntax-export-namespace-from": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", - "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "node_modules/@babel/helper-replace-supers": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz", + "integrity": "sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-member-expression-to-functions": "^7.22.15", + "@babel/helper-optimise-call-expression": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "@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==", + "node_modules/@babel/helper-simple-access": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" } }, - "@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", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", + "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "node_modules/@babel/helper-string-parser": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", + "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", + "dev": true, + "engines": { + "node": ">=6.9.0" } }, - "@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "node_modules/@babel/helper-validator-identifier": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "dev": true, + "engines": { + "node": ">=6.9.0" } }, - "@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "node_modules/@babel/helper-validator-option": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.15.tgz", + "integrity": "sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==", + "dev": true, + "engines": { + "node": ">=6.9.0" } }, - "@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "node_modules/@babel/helper-wrap-function": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz", + "integrity": "sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==", + "dev": true, + "dependencies": { + "@babel/helper-function-name": "^7.22.5", + "@babel/template": "^7.22.15", + "@babel/types": "^7.22.19" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "node_modules/@babel/helpers": { + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.2.tgz", + "integrity": "sha512-lzchcp8SjTSVe/fPmLwtWVBFC7+Tbn8LGHDVfDp9JGxpAY5opSaEFgt8UQvrnECWOTdji2mOWMz1rOhkHscmGQ==", + "dev": true, + "dependencies": { + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.2", + "@babel/types": "^7.23.0" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/plugin-syntax-top-level-await": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.1.tgz", - "integrity": "sha512-i7ooMZFS+a/Om0crxZodrTzNEPJHZrlMVGMTEpFAj6rYY/bKCddB0Dk/YxfPuYXOopuhKk/e1jV6h+WUU9XN3A==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "node_modules/@babel/highlight": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", + "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/plugin-transform-arrow-functions": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.12.1.tgz", - "integrity": "sha512-5QB50qyN44fzzz4/qxDPQMBCTHgxg3n0xRBLJUmBlLoU/sFvxVWGZF/ZUfMVDQuJUKXaBhbupxIzIfZ6Fwk/0A==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" } }, - "@babel/plugin-transform-async-to-generator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.12.1.tgz", - "integrity": "sha512-SDtqoEcarK1DFlRJ1hHRY5HvJUj5kX4qmtpMAm2QnhOlyuMC4TMdCRgW6WXpv93rZeYNeLP22y8Aq2dbcDRM1A==", - "requires": { - "@babel/helper-module-imports": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-remap-async-to-generator": "^7.12.1" + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" } }, - "@babel/plugin-transform-block-scoped-functions": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.1.tgz", - "integrity": "sha512-5OpxfuYnSgPalRpo8EWGPzIYf0lHBWORCkj5M0oLBwHdlux9Ri36QqGW3/LR13RSVOAoUUMzoPI/jpE4ABcHoA==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "node_modules/@babel/highlight/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" } }, - "@babel/plugin-transform-block-scoping": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.1.tgz", - "integrity": "sha512-zJyAC9sZdE60r1nVQHblcfCj29Dh2Y0DOvlMkcqSo0ckqjiCwNiUezUKw+RjOCwGfpLRwnAeQ2XlLpsnGkvv9w==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/@babel/highlight/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" } }, - "@babel/plugin-transform-classes": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.12.1.tgz", - "integrity": "sha512-/74xkA7bVdzQTBeSUhLLJgYIcxw/dpEpCdRDiHgPJ3Mv6uC11UhjpOhl72CgqbBCmt1qtssCyB2xnJm1+PFjog==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.10.4", - "@babel/helper-define-map": "^7.10.4", - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-optimise-call-expression": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-replace-supers": "^7.12.1", - "@babel/helper-split-export-declaration": "^7.10.4", - "globals": "^11.1.0" - }, - "dependencies": { - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" - } + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" } }, - "@babel/plugin-transform-computed-properties": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.12.1.tgz", - "integrity": "sha512-vVUOYpPWB7BkgUWPo4C44mUQHpTZXakEqFjbv8rQMg7TC6S6ZhGZ3otQcRH6u7+adSlE5i0sp63eMC/XGffrzg==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" } }, - "@babel/plugin-transform-destructuring": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.12.1.tgz", - "integrity": "sha512-fRMYFKuzi/rSiYb2uRLiUENJOKq4Gnl+6qOv5f8z0TZXg3llUwUhsNNwrwaT/6dUhJTzNpBr+CUvEWBtfNY1cw==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "node_modules/@babel/parser": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", + "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" } }, - "@babel/plugin-transform-dotall-regex": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.1.tgz", - "integrity": "sha512-B2pXeRKoLszfEW7J4Hg9LoFaWEbr/kzo3teWHmtFCszjRNa/b40f9mfeqZsIDLLt/FjwQ6pz/Gdlwy85xNckBA==", - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.22.15", + "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.22.15.tgz", + "integrity": "sha512-FB9iYlz7rURmRJyXRKEnalYPPdn87H5no108cyuQQyMwlpJ2SJtpIUBI27kdTin956pz+LPypkPVPUTlxOmrsg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "@babel/plugin-transform-duplicate-keys": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.1.tgz", - "integrity": "sha512-iRght0T0HztAb/CazveUpUQrZY+aGKKaWXMJ4uf9YJtqxSUe09j3wteztCUDRHs+SRAL7yMuFqUsLoAKKzgXjw==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.22.15.tgz", + "integrity": "sha512-Hyph9LseGvAeeXzikV88bczhsrLrIZqDPxO+sSmAunMPaGrBGhfMWzCPYTtiW9t+HzSE2wtV8e5cc5P6r1xMDQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-transform-optional-chaining": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" } }, - "@babel/plugin-transform-exponentiation-operator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.1.tgz", - "integrity": "sha512-7tqwy2bv48q+c1EHbXK0Zx3KXd2RVQp6OC7PbwFNt/dPTAV3Lu5sWtWuAj8owr5wqtWnqHfl2/mJlUmqkChKug==", - "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", + "dev": true, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-for-of": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.12.1.tgz", - "integrity": "sha512-Zaeq10naAsuHo7heQvyV0ptj4dlZJwZgNAtBYBnu5nNKJoW62m0zKcIEyVECrUKErkUkg6ajMy4ZfnVZciSBhg==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "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", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-function-name": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.1.tgz", - "integrity": "sha512-JF3UgJUILoFrFMEnOJLJkRHSk6LUSXLmEFsA23aR2O5CSLUxbeUX1IZ1YQ7Sn0aXb601Ncwjx73a+FVqgcljVw==", - "requires": { - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" + "node_modules/@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-literals": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.1.tgz", - "integrity": "sha512-+PxVGA+2Ag6uGgL0A5f+9rklOnnMccwEBzwYFL3EUaKuiyVnUipyXncFcfjSkbimLrODoqki1U9XxZzTvfN7IQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "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" } }, - "@babel/plugin-transform-member-expression-literals": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.1.tgz", - "integrity": "sha512-1sxePl6z9ad0gFMB9KqmYofk34flq62aqMt9NqliS/7hPEpURUCMbyHXrMPlo282iY7nAvUB1aQd5mg79UD9Jg==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "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" } }, - "@babel/plugin-transform-modules-amd": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.12.1.tgz", - "integrity": "sha512-tDW8hMkzad5oDtzsB70HIQQRBiTKrhfgwC/KkJeGsaNFTdWhKNt/BiE8c5yj19XiGyrxpbkOfH87qkNg1YGlOQ==", - "requires": { - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4", - "babel-plugin-dynamic-import-node": "^2.3.3" - } - }, - "@babel/plugin-transform-modules-commonjs": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.12.1.tgz", - "integrity": "sha512-dY789wq6l0uLY8py9c1B48V8mVL5gZh/+PQ5ZPrylPYsnAvnEMjqsUXkuoDVPeVK+0VyGar+D08107LzDQ6pag==", - "requires": { - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-simple-access": "^7.12.1", - "babel-plugin-dynamic-import-node": "^2.3.3" - } - }, - "@babel/plugin-transform-modules-systemjs": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.12.1.tgz", - "integrity": "sha512-Hn7cVvOavVh8yvW6fLwveFqSnd7rbQN3zJvoPNyNaQSvgfKmDBO9U1YL9+PCXGRlZD9tNdWTy5ACKqMuzyn32Q==", - "requires": { - "@babel/helper-hoist-variables": "^7.10.4", - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-validator-identifier": "^7.10.4", - "babel-plugin-dynamic-import-node": "^2.3.3" - } - }, - "@babel/plugin-transform-modules-umd": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.12.1.tgz", - "integrity": "sha512-aEIubCS0KHKM0zUos5fIoQm+AZUMt1ZvMpqz0/H5qAQ7vWylr9+PLYurT+Ic7ID/bKLd4q8hDovaG3Zch2uz5Q==", - "requires": { - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" + "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", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.1.tgz", - "integrity": "sha512-tB43uQ62RHcoDp9v2Nsf+dSM8sbNodbEicbQNA53zHz8pWUhsgHSJCGpt7daXxRydjb0KnfmB+ChXOv3oADp1Q==", - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.12.1" + "node_modules/@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-new-target": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.1.tgz", - "integrity": "sha512-+eW/VLcUL5L9IvJH7rT1sT0CzkdUTvPrXC2PXTn/7z7tXLBuKvezYbGdxD5WMRoyvyaujOq2fWoKl869heKjhw==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.22.5.tgz", + "integrity": "sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-object-super": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.1.tgz", - "integrity": "sha512-AvypiGJH9hsquNUn+RXVcBdeE3KHPZexWRdimhuV59cSoOt5kFBmqlByorAeUlGG2CJWd0U+4ZtNKga/TB0cAw==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-replace-supers": "^7.12.1" + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.22.5.tgz", + "integrity": "sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-parameters": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.12.1.tgz", - "integrity": "sha512-xq9C5EQhdPK23ZeCdMxl8bbRnAgHFrw5EOC3KJUsSylZqdkCaFEXxGSBuTSObOpiiHHNyb82es8M1QYgfQGfNg==", - "requires": { + "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" } }, - "@babel/plugin-transform-property-literals": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.1.tgz", - "integrity": "sha512-6MTCR/mZ1MQS+AwZLplX4cEySjCpnIF26ToWo942nqn8hXSm7McaHQNeGx/pt7suI1TWOWMfa/NgBhiqSnX0cQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "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", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-regenerator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.12.1.tgz", - "integrity": "sha512-gYrHqs5itw6i4PflFX3OdBPMQdPbF4bj2REIUxlMRUFk0/ZOAIpDFuViuxPjUL7YC8UPnf+XG7/utJvqXdPKng==", - "requires": { - "regenerator-transform": "^0.14.2" + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz", + "integrity": "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-reserved-words": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.1.tgz", - "integrity": "sha512-pOnUfhyPKvZpVyBHhSBoX8vfA09b7r00Pmm1sH+29ae2hMTKVmSp4Ztsr8KBKjLjx17H0eJqaRC3bR2iThM54A==", - "requires": { + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-runtime": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.12.1.tgz", - "integrity": "sha512-Ac/H6G9FEIkS2tXsZjL4RAdS3L3WHxci0usAnz7laPWUmFiGtj7tIASChqKZMHTSQTQY6xDbOq+V1/vIq3QrWg==", + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4", - "resolve": "^1.8.1", - "semver": "^5.5.1" + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-shorthand-properties": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.1.tgz", - "integrity": "sha512-GFZS3c/MhX1OusqB1MZ1ct2xRzX5ppQh2JU1h2Pnfk88HtFTM+TWQqJNfwkmxtPQtb/s1tk87oENfXJlx7rSDw==", - "requires": { + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-spread": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.12.1.tgz", - "integrity": "sha512-vuLp8CP0BE18zVYjsEBZ5xoCecMK6LBMMxYzJnh01rxQRvhNhH1csMMmBfNo5tGpGO+NhdSNW2mzIvBu3K1fng==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1" + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-sticky-regex": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.1.tgz", - "integrity": "sha512-CiUgKQ3AGVk7kveIaPEET1jNDhZZEl1RPMWdTBE1799bdz++SwqDHStmxfCtDfBhQgCl38YRiSnrMuUMZIWSUQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-regex": "^7.10.4" + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-template-literals": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.12.1.tgz", - "integrity": "sha512-b4Zx3KHi+taXB1dVRBhVJtEPi9h1THCeKmae2qP0YdUHIFhVjtpqqNfxeVAa1xeHVhAy4SbHxEwx5cltAu5apw==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-typeof-symbol": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.1.tgz", - "integrity": "sha512-EPGgpGy+O5Kg5pJFNDKuxt9RdmTgj5sgrus2XVeMp/ZIbOESadgILUbm50SNpghOh3/6yrbsH+NB5+WJTmsA7Q==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-unicode-escapes": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.1.tgz", - "integrity": "sha512-I8gNHJLIc7GdApm7wkVnStWssPNbSRMPtgHdmH3sRM1zopz09UWPS4x5V4n1yz/MIWTVnJ9sp6IkuXdWM4w+2Q==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "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" } }, - "@babel/plugin-transform-unicode-regex": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.1.tgz", - "integrity": "sha512-SqH4ClNngh/zGwHZOOQMTD+e8FGWexILV+ePMyiDJttAWRh5dhDL8rcl5lSgU3Huiq6Zn6pWTMvdPAb21Dwdyg==", - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz", + "integrity": "sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/preset-env": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.12.1.tgz", - "integrity": "sha512-H8kxXmtPaAGT7TyBvSSkoSTUK6RHh61So05SyEbpmr0MCZrsNYn7mGMzzeYoOUCdHzww61k8XBft2TaES+xPLg==", - "requires": { - "@babel/compat-data": "^7.12.1", - "@babel/helper-compilation-targets": "^7.12.1", - "@babel/helper-module-imports": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-validator-option": "^7.12.1", - "@babel/plugin-proposal-async-generator-functions": "^7.12.1", - "@babel/plugin-proposal-class-properties": "^7.12.1", - "@babel/plugin-proposal-dynamic-import": "^7.12.1", - "@babel/plugin-proposal-export-namespace-from": "^7.12.1", - "@babel/plugin-proposal-json-strings": "^7.12.1", - "@babel/plugin-proposal-logical-assignment-operators": "^7.12.1", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.1", - "@babel/plugin-proposal-numeric-separator": "^7.12.1", - "@babel/plugin-proposal-object-rest-spread": "^7.12.1", - "@babel/plugin-proposal-optional-catch-binding": "^7.12.1", - "@babel/plugin-proposal-optional-chaining": "^7.12.1", - "@babel/plugin-proposal-private-methods": "^7.12.1", - "@babel/plugin-proposal-unicode-property-regex": "^7.12.1", - "@babel/plugin-syntax-async-generators": "^7.8.0", - "@babel/plugin-syntax-class-properties": "^7.12.1", - "@babel/plugin-syntax-dynamic-import": "^7.8.0", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.0", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0", - "@babel/plugin-syntax-numeric-separator": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.0", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.0", - "@babel/plugin-syntax-optional-chaining": "^7.8.0", - "@babel/plugin-syntax-top-level-await": "^7.12.1", - "@babel/plugin-transform-arrow-functions": "^7.12.1", - "@babel/plugin-transform-async-to-generator": "^7.12.1", - "@babel/plugin-transform-block-scoped-functions": "^7.12.1", - "@babel/plugin-transform-block-scoping": "^7.12.1", - "@babel/plugin-transform-classes": "^7.12.1", - "@babel/plugin-transform-computed-properties": "^7.12.1", - "@babel/plugin-transform-destructuring": "^7.12.1", - "@babel/plugin-transform-dotall-regex": "^7.12.1", - "@babel/plugin-transform-duplicate-keys": "^7.12.1", - "@babel/plugin-transform-exponentiation-operator": "^7.12.1", - "@babel/plugin-transform-for-of": "^7.12.1", - "@babel/plugin-transform-function-name": "^7.12.1", - "@babel/plugin-transform-literals": "^7.12.1", - "@babel/plugin-transform-member-expression-literals": "^7.12.1", - "@babel/plugin-transform-modules-amd": "^7.12.1", - "@babel/plugin-transform-modules-commonjs": "^7.12.1", - "@babel/plugin-transform-modules-systemjs": "^7.12.1", - "@babel/plugin-transform-modules-umd": "^7.12.1", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.12.1", - "@babel/plugin-transform-new-target": "^7.12.1", - "@babel/plugin-transform-object-super": "^7.12.1", - "@babel/plugin-transform-parameters": "^7.12.1", - "@babel/plugin-transform-property-literals": "^7.12.1", - "@babel/plugin-transform-regenerator": "^7.12.1", - "@babel/plugin-transform-reserved-words": "^7.12.1", - "@babel/plugin-transform-shorthand-properties": "^7.12.1", - "@babel/plugin-transform-spread": "^7.12.1", - "@babel/plugin-transform-sticky-regex": "^7.12.1", - "@babel/plugin-transform-template-literals": "^7.12.1", - "@babel/plugin-transform-typeof-symbol": "^7.12.1", - "@babel/plugin-transform-unicode-escapes": "^7.12.1", - "@babel/plugin-transform-unicode-regex": "^7.12.1", - "@babel/preset-modules": "^0.1.3", - "@babel/types": "^7.12.1", - "core-js-compat": "^3.6.2", - "semver": "^5.5.0" - }, - "dependencies": { - "@babel/plugin-syntax-class-properties": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.1.tgz", - "integrity": "sha512-U40A76x5gTwmESz+qiqssqmeEsKvcSyvtgktrm0uzcARAmM9I1jR221f6Oq+GmHrcD+LvZDag1UTOTe2fL3TeA==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/types": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.1.tgz", - "integrity": "sha512-BzSY3NJBKM4kyatSOWh3D/JJ2O3CVzBybHWxtgxnggaxEuaSTTDqeiSb/xk9lrkw2Tbqyivw5ZU4rT+EfznQsA==", - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } - }, - "lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==" - }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" - } + "node_modules/@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "@babel/preset-modules": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.4.tgz", - "integrity": "sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg==", - "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" + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.22.5.tgz", + "integrity": "sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/register": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.12.1.tgz", - "integrity": "sha512-XWcmseMIncOjoydKZnWvWi0/5CUCD+ZYKhRwgYlWOrA8fGZ/FjuLRpqtIhLOVD/fvR1b9DQHtZPn68VvhpYf+Q==", - "dev": true, - "requires": { - "find-cache-dir": "^2.0.0", - "lodash": "^4.17.19", - "make-dir": "^2.1.0", - "pirates": "^4.0.0", - "source-map-support": "^0.5.16" - }, - "dependencies": { - "find-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - } - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", - "dev": true - }, - "make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dev": true, - "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "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 - }, - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true - }, - "pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "dev": true, - "requires": { - "find-up": "^3.0.0" - } - } + "node_modules/@babel/plugin-transform-async-generator-functions": { + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.2.tgz", + "integrity": "sha512-BBYVGxbDVHfoeXbOwcagAkOQAm9NxoTdMGfTqghu1GrvadSaw6iW3Je6IcL5PNOw8VwjxqBECXy50/iCQSY/lQ==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.20", + "@babel/plugin-syntax-async-generators": "^7.8.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/runtime": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.12.1.tgz", - "integrity": "sha512-J5AIf3vPj3UwXaAzb5j1xM4WAQDX3EMgemF8rjCP3SoW09LfRKAXQKt6CoVYl230P6iWdRcBbnLDDdnqWxZSCA==", - "requires": { - "regenerator-runtime": "^0.13.4" - }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.22.5.tgz", + "integrity": "sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==", + "dev": true, "dependencies": { - "regenerator-runtime": { - "version": "0.13.7", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", - "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==" - } + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/template": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz", - "integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==", - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/parser": "^7.10.4", - "@babel/types": "^7.10.4" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", - "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", - "requires": { - "@babel/highlight": "^7.10.4" - } - }, - "@babel/highlight": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", - "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - } + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.22.5.tgz", + "integrity": "sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/traverse": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.11.0.tgz", - "integrity": "sha512-ZB2V+LskoWKNpMq6E5UUCrjtDUh5IOTAyIl0dTjIEoXum/iKWkoIEKIRDnUucO6f+2FzNkE0oD4RLKoPIufDtg==", - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.11.0", - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-split-export-declaration": "^7.11.0", - "@babel/parser": "^7.11.0", - "@babel/types": "^7.11.0", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.19" - }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.0.tgz", + "integrity": "sha512-cOsrbmIOXmf+5YbL99/S49Y3j46k/T16b9ml8bm9lP6N9US5iQ2yBK7gpui1pg0V/WMcXdkfKbTb7HXq9u+v4g==", + "dev": true, "dependencies": { - "@babel/code-frame": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", - "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", - "requires": { - "@babel/highlight": "^7.10.4" - } - }, - "@babel/highlight": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", - "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "requires": { - "ms": "^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==" - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "lodash": { - "version": "4.17.19", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz", - "integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==" - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - } + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/types": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.11.0.tgz", - "integrity": "sha512-O53yME4ZZI0jO1EVGtF1ePGl0LHirG4P1ibcD80XyzZcKhcMFeCXmh4Xb1ifGBIV233Qg12x4rBfQgA+tmOukA==", - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - }, + "node_modules/@babel/plugin-transform-class-properties": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.22.5.tgz", + "integrity": "sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ==", + "dev": true, "dependencies": { - "lodash": { - "version": "4.17.19", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz", - "integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==" - }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" - } + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@bcoe/v8-coverage": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", - "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", - "dev": true - }, - "@cnakazawa/watch": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz", - "integrity": "sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==", + "node_modules/@babel/plugin-transform-class-static-block": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.22.11.tgz", + "integrity": "sha512-GMM8gGmqI7guS/llMFk1bJDkKfn3v3C4KHK9Yg1ey5qcHcOlKb0QvcMrgzvxo+T03/4szNh5lghY+fEC98Kq9g==", "dev": true, - "requires": { - "exec-sh": "^0.3.2", - "minimist": "^1.2.0" + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.11", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" } }, - "@csstools/convert-colors": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@csstools/convert-colors/-/convert-colors-1.4.0.tgz", - "integrity": "sha512-5a6wqoJV/xEdbRNKVo6I4hO3VjyDq//8q2f9I6PBAvMesJHFauXDorcNCsr9RzvsZnaWi5NYCcfyqP1QeFHFbw==", - "dev": true - }, - "@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "node_modules/@babel/plugin-transform-classes": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.22.15.tgz", + "integrity": "sha512-VbbC3PGjBdE0wAWDdHM9G8Gm977pnYI0XpqMd6LrKISj8/DJXEsWqgRuTYaNE9Bv0JGhTZUzHDlMk18IpOuoqw==", "dev": true, - "requires": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" - }, "dependencies": { - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "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 - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - }, - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true - } + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.9", + "@babel/helper-split-export-declaration": "^7.22.6", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@istanbuljs/schema": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.2.tgz", - "integrity": "sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw==", - "dev": true + "node_modules/@babel/plugin-transform-classes/node_modules/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, + "engines": { + "node": ">=4" + } }, - "@jest/console": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.5.0.tgz", - "integrity": "sha512-T48kZa6MK1Y6k4b89sexwmSF4YLeZS/Udqg3Jj3jG/cHH+N/sLFCEoXEDMOKugJQ9FxPN1osxIknvKkxt6MKyw==", + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.22.5.tgz", + "integrity": "sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==", "dev": true, - "requires": { - "@jest/types": "^25.5.0", - "chalk": "^3.0.0", - "jest-message-util": "^25.5.0", - "jest-util": "^25.5.0", - "slash": "^3.0.0" - }, "dependencies": { - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "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 - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/template": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@jest/core": { - "version": "25.5.4", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-25.5.4.tgz", - "integrity": "sha512-3uSo7laYxF00Dg/DMgbn4xMJKmDdWvZnf89n8Xj/5/AeQ2dOQmn6b6Hkj/MleyzZWXpwv+WSdYWl4cLsy2JsoA==", + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.0.tgz", + "integrity": "sha512-vaMdgNXFkYrB+8lbgniSYWHsgqK5gjaMNcc84bMIOMRLH0L9AqYq3hwMdvnyqj1OPqea8UtjPEuS/DCenah1wg==", "dev": true, - "requires": { - "@jest/console": "^25.5.0", - "@jest/reporters": "^25.5.1", - "@jest/test-result": "^25.5.0", - "@jest/transform": "^25.5.1", - "@jest/types": "^25.5.0", - "ansi-escapes": "^4.2.1", - "chalk": "^3.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.4", - "jest-changed-files": "^25.5.0", - "jest-config": "^25.5.4", - "jest-haste-map": "^25.5.1", - "jest-message-util": "^25.5.0", - "jest-regex-util": "^25.2.6", - "jest-resolve": "^25.5.1", - "jest-resolve-dependencies": "^25.5.4", - "jest-runner": "^25.5.4", - "jest-runtime": "^25.5.4", - "jest-snapshot": "^25.5.1", - "jest-util": "^25.5.0", - "jest-validate": "^25.5.0", - "jest-watcher": "^25.5.0", - "micromatch": "^4.0.2", - "p-each-series": "^2.1.0", - "realpath-native": "^2.0.0", - "rimraf": "^3.0.0", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" - }, "dependencies": { - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true - }, - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "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 - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "graceful-fs": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", - "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", - "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 - }, - "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 - }, - "micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", - "dev": true, - "requires": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" - } - }, - "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" - } - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } - } + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@jest/environment": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-25.5.0.tgz", - "integrity": "sha512-U2VXPEqL07E/V7pSZMSQCvV5Ea4lqOlT+0ZFijl/i316cRMHvZ4qC+jBdryd+lmRetjQo0YIQr6cVPNxxK87mA==", + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.22.5.tgz", + "integrity": "sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw==", "dev": true, - "requires": { - "@jest/fake-timers": "^25.5.0", - "@jest/types": "^25.5.0", - "jest-mock": "^25.5.0" + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@jest/fake-timers": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-25.5.0.tgz", - "integrity": "sha512-9y2+uGnESw/oyOI3eww9yaxdZyHq7XvprfP/eeoCsjqKYts2yRlsHS/SgjPDV8FyMfn2nbMy8YzUk6nyvdLOpQ==", + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.22.5.tgz", + "integrity": "sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==", "dev": true, - "requires": { - "@jest/types": "^25.5.0", - "jest-message-util": "^25.5.0", - "jest-mock": "^25.5.0", - "jest-util": "^25.5.0", - "lolex": "^5.0.0" + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@jest/globals": { - "version": "25.5.2", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-25.5.2.tgz", - "integrity": "sha512-AgAS/Ny7Q2RCIj5kZ+0MuKM1wbF0WMLxbCVl/GOMoCNbODRdJ541IxJ98xnZdVSZXivKpJlNPIWa3QmY0l4CXA==", + "node_modules/@babel/plugin-transform-dynamic-import": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.22.11.tgz", + "integrity": "sha512-g/21plo58sfteWjaO0ZNVb+uEOkJNjAaHhbejrnBmu011l/eNDScmkbjCC3l4FKb10ViaGU4aOkFznSu2zRHgA==", "dev": true, - "requires": { - "@jest/environment": "^25.5.0", - "@jest/types": "^25.5.0", - "expect": "^25.5.0" + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@jest/reporters": { - "version": "25.5.1", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-25.5.1.tgz", - "integrity": "sha512-3jbd8pPDTuhYJ7vqiHXbSwTJQNavczPs+f1kRprRDxETeE3u6srJ+f0NPuwvOmk+lmunZzPkYWIFZDLHQPkviw==", + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.22.5.tgz", + "integrity": "sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==", "dev": true, - "requires": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^25.5.0", - "@jest/test-result": "^25.5.0", - "@jest/transform": "^25.5.1", - "@jest/types": "^25.5.0", - "chalk": "^3.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.2", - "graceful-fs": "^4.2.4", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^4.0.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.0.2", - "jest-haste-map": "^25.5.1", - "jest-resolve": "^25.5.1", - "jest-util": "^25.5.0", - "jest-worker": "^25.5.0", - "node-notifier": "^6.0.0", - "slash": "^3.0.0", - "source-map": "^0.6.0", - "string-length": "^3.1.0", - "terminal-link": "^2.0.0", - "v8-to-istanbul": "^4.1.3" - }, - "dependencies": { - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "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 - }, - "graceful-fs": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", - "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", - "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 - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true - }, - "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 - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } + "dependencies": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@jest/source-map": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-25.5.0.tgz", - "integrity": "sha512-eIGx0xN12yVpMcPaVpjXPnn3N30QGJCJQSkEDUt9x1fI1Gdvb07Ml6K5iN2hG7NmMP6FDmtPEssE3z6doOYUwQ==", + "node_modules/@babel/plugin-transform-export-namespace-from": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.22.11.tgz", + "integrity": "sha512-xa7aad7q7OiT8oNZ1mU7NrISjlSkVdMbNxn9IuLZyL9AJEhs1Apba3I+u5riX1dIkdptP5EKDG5XDPByWxtehw==", "dev": true, - "requires": { - "callsites": "^3.0.0", - "graceful-fs": "^4.2.4", - "source-map": "^0.6.0" - }, "dependencies": { - "graceful-fs": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", - "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", - "dev": true - }, - "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 - } + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@jest/test-result": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.5.0.tgz", - "integrity": "sha512-oV+hPJgXN7IQf/fHWkcS99y0smKLU2czLBJ9WA0jHITLst58HpQMtzSYxzaBvYc6U5U6jfoMthqsUlUlbRXs0A==", + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.22.15.tgz", + "integrity": "sha512-me6VGeHsx30+xh9fbDLLPi0J1HzmeIIyenoOQHuw2D4m2SAU3NrspX5XxJLBpqn5yrLzrlw2Iy3RA//Bx27iOA==", "dev": true, - "requires": { - "@jest/console": "^25.5.0", - "@jest/types": "^25.5.0", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@jest/test-sequencer": { - "version": "25.5.4", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-25.5.4.tgz", - "integrity": "sha512-pTJGEkSeg1EkCO2YWq6hbFvKNXk8ejqlxiOg1jBNLnWrgXOkdY6UmqZpwGFXNnRt9B8nO1uWMzLLZ4eCmhkPNA==", + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.22.5.tgz", + "integrity": "sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg==", "dev": true, - "requires": { - "@jest/test-result": "^25.5.0", - "graceful-fs": "^4.2.4", - "jest-haste-map": "^25.5.1", - "jest-runner": "^25.5.4", - "jest-runtime": "^25.5.4" - }, "dependencies": { - "graceful-fs": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", - "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", - "dev": true - } + "@babel/helper-compilation-targets": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@jest/transform": { - "version": "25.5.1", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-25.5.1.tgz", - "integrity": "sha512-Y8CEoVwXb4QwA6Y/9uDkn0Xfz0finGkieuV0xkdF9UtZGJeLukD5nLkaVrVsODB1ojRWlaoD0AJZpVHCSnJEvg==", + "node_modules/@babel/plugin-transform-json-strings": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.22.11.tgz", + "integrity": "sha512-CxT5tCqpA9/jXFlme9xIBCc5RPtdDq3JpkkhgHQqtDdiTnTI0jtZ0QzXhr5DILeYifDPp2wvY2ad+7+hLMW5Pw==", "dev": true, - "requires": { - "@babel/core": "^7.1.0", - "@jest/types": "^25.5.0", - "babel-plugin-istanbul": "^6.0.0", - "chalk": "^3.0.0", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.2.4", - "jest-haste-map": "^25.5.1", - "jest-regex-util": "^25.2.6", - "jest-util": "^25.5.0", - "micromatch": "^4.0.2", - "pirates": "^4.0.1", - "realpath-native": "^2.0.0", - "slash": "^3.0.0", - "source-map": "^0.6.1", - "write-file-atomic": "^3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "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 - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "graceful-fs": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", - "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", - "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 - }, - "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 - }, - "micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", - "dev": true, - "requires": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" - } - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true - }, - "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 - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } - }, - "write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "dev": true, - "requires": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - } + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-json-strings": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@jest/types": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz", - "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==", + "node_modules/@babel/plugin-transform-literals": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.22.5.tgz", + "integrity": "sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==", "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^1.1.1", - "@types/yargs": "^15.0.0", - "chalk": "^3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "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.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@nicolo-ribaudo/chokidar-2": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/chokidar-2/-/chokidar-2-2.1.8.tgz", - "integrity": "sha512-FohwULwAebCUKi/akMFyGi7jfc7JXTeMHzKxuP3umRd9mK/2Y7/SMBSI2jX+YLopPXi+PF9l307NmpfxTdCegA==", + "node_modules/@babel/plugin-transform-logical-assignment-operators": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.22.11.tgz", + "integrity": "sha512-qQwRTP4+6xFCDV5k7gZBF3C31K34ut0tbEcTKxlX/0KXxm9GLcO14p570aWxFvVzx6QAfPgq7gaeIHXJC8LswQ==", "dev": true, - "optional": true, - "requires": { - "chokidar": "2.1.8" - }, - "dependencies": { - "chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", - "dev": true, - "optional": true, - "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "fsevents": "^1.2.7", - "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" - } - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, - "optional": true - } + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@sinonjs/commons": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.1.tgz", - "integrity": "sha512-892K+kWUUi3cl+LlqEWIDrhvLgdL79tECi8JZUyq6IviKy/DNhuzCRlbHUjxK89f4ypPMMaFnFuR9Ie6DoIMsw==", + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.22.5.tgz", + "integrity": "sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==", "dev": true, - "requires": { - "type-detect": "4.0.8" + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@tootallnate/once": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", - "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", - "dev": true - }, - "@types/babel__core": { - "version": "7.1.9", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.9.tgz", - "integrity": "sha512-sY2RsIJ5rpER1u3/aQ8OFSI7qGIy8o1NEEbgb2UaJcvOtXOMpd39ko723NBpjQFg9SIX7TXtjejZVGeIMLhoOw==", + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.0.tgz", + "integrity": "sha512-xWT5gefv2HGSm4QHtgc1sYPbseOyf+FFDo2JbpE25GWl5BqTGO9IMwTYJRoIdjsF85GE+VegHxSCUt5EvoYTAw==", "dev": true, - "requires": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" + "dependencies": { + "@babel/helper-module-transforms": "^7.23.0", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@types/babel__generator": { - "version": "7.6.1", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.1.tgz", - "integrity": "sha512-bBKm+2VPJcMRVwNhxKu8W+5/zT7pwNEqeokFOmbvVSqGzFneNxYcEBro9Ac7/N9tlsaPYnZLK8J1LWKkMsLAew==", + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.0.tgz", + "integrity": "sha512-32Xzss14/UVc7k9g775yMIvkVK8xwKE0DPdP5JTapr3+Z9w4tzeOuLNY6BXDQR6BdnzIlXnCGAzsk/ICHBLVWQ==", "dev": true, - "requires": { - "@babel/types": "^7.0.0" + "dependencies": { + "@babel/helper-module-transforms": "^7.23.0", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@types/babel__template": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.0.2.tgz", - "integrity": "sha512-/K6zCpeW7Imzgab2bLkLEbz0+1JlFSrUMdw7KoIIu+IUdu51GWaBZpd3y1VXGVXzynvGa4DaIaxNZHiON3GXUg==", + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.0.tgz", + "integrity": "sha512-qBej6ctXZD2f+DhlOC9yO47yEYgUh5CZNz/aBoH4j/3NOlRfJXJbY7xDQCqQVf9KbrqGzIWER1f23doHGrIHFg==", "dev": true, - "requires": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" + "dependencies": { + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-module-transforms": "^7.23.0", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@types/babel__traverse": { - "version": "7.0.13", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.0.13.tgz", - "integrity": "sha512-i+zS7t6/s9cdQvbqKDARrcbrPvtJGlbYsMkazo03nTAK3RX9FNrLllXys22uiTGJapPOTZTQ35nHh4ISph4SLQ==", + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.22.5.tgz", + "integrity": "sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==", "dev": true, - "requires": { - "@babel/types": "^7.3.0" + "dependencies": { + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@types/color-name": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz", - "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==" - }, - "@types/graceful-fs": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.3.tgz", - "integrity": "sha512-AiHRaEB50LQg0pZmm659vNBb9f4SJ0qrAnteuzhSeAUcJKxoYgEnprg/83kppCnc2zvtCKbdZry1a5pVY3lOTQ==", + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz", + "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==", "dev": true, - "requires": { - "@types/node": "*" + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "@types/istanbul-lib-coverage": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz", - "integrity": "sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==", - "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==", + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.22.5.tgz", + "integrity": "sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==", "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "*" + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@types/istanbul-reports": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", - "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", + "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.22.11.tgz", + "integrity": "sha512-YZWOw4HxXrotb5xsjMJUDlLgcDXSfO9eCmdl1bgW4+/lAGdkjaEvOnQ4p5WKKdUgSzO39dgPl0pTnfxm0OAXcg==", "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "*", - "@types/istanbul-lib-report": "*" + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@types/json-schema": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.5.tgz", - "integrity": "sha512-7+2BITlgjgDhH0vvwZU/HZJVyk+2XUlvxXe8dFMedNX/aMkaOq++rMAFXc0tM7ij15QaWlbdQASBR9dihi+bDQ==", - "dev": true - }, - "@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=", - "dev": true - }, - "@types/node": { - "version": "10.12.18", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.18.tgz", - "integrity": "sha512-fh+pAqt4xRzPfqA6eh3Z2y6fyZavRIumvjhaCL753+TVkGKGhpPeyrJG2JftD0T9q4GF00KjefsQ+PQNDdWQaQ==", - "dev": true - }, - "@types/normalize-package-data": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz", - "integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==", - "dev": true - }, - "@types/prettier": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-1.19.1.tgz", - "integrity": "sha512-5qOlnZscTn4xxM5MeGXAMOsIOIKIbh9e85zJWfBRVPlRMEVawzoPhINYbRGkBZCI8LxvBe7tJCdWiarA99OZfQ==", - "dev": true - }, - "@types/stack-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz", - "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==", - "dev": true + "node_modules/@babel/plugin-transform-numeric-separator": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.22.11.tgz", + "integrity": "sha512-3dzU4QGPsILdJbASKhF/V2TVP+gJya1PsueQCxIPCEcerqF21oEcrob4mzjsp2Py/1nLfF5m+xYNMDpmA8vffg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } }, - "@types/yargs": { - "version": "15.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.5.tgz", - "integrity": "sha512-Dk/IDOPtOgubt/IaevIUbTgV7doaKkoorvOyYM2CMwuDyP89bekI7H4xLIwunNYiK9jhCkmc6pUrJk3cj2AB9w==", + "node_modules/@babel/plugin-transform-object-rest-spread": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.22.15.tgz", + "integrity": "sha512-fEB+I1+gAmfAyxZcX1+ZUwLeAuuf8VIg67CTznZE0MqVFumWkh8xWtn58I4dxdVf080wn7gzWoF8vndOViJe9Q==", "dev": true, - "requires": { - "@types/yargs-parser": "*" + "dependencies": { + "@babel/compat-data": "^7.22.9", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@types/yargs-parser": { - "version": "15.0.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-15.0.0.tgz", - "integrity": "sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw==", - "dev": true + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.22.5.tgz", + "integrity": "sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } }, - "@webassemblyjs/ast": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", - "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", + "node_modules/@babel/plugin-transform-optional-catch-binding": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.22.11.tgz", + "integrity": "sha512-rli0WxesXUeCJnMYhzAglEjLWVDF6ahb45HuprcmQuLidBJFWjNnOzssk2kuc6e33FlLaiZhG/kUIzUMWdBKaQ==", "dev": true, - "requires": { - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0" + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@webassemblyjs/floating-point-hex-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", - "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==", - "dev": true + "node_modules/@babel/plugin-transform-optional-chaining": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.0.tgz", + "integrity": "sha512-sBBGXbLJjxTzLBF5rFWaikMnOGOk/BmK6vVByIdEggZ7Vn6CvWXZyRkkLFK6WE0IF8jSliyOkUN6SScFgzCM0g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } }, - "@webassemblyjs/helper-api-error": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", - "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", - "dev": true + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.15.tgz", + "integrity": "sha512-hjk7qKIqhyzhhUvRT683TYQOFa/4cQKwQy7ALvTpODswN40MljzNDa0YldevS6tGbxwaEKVn502JmY0dP7qEtQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } }, - "@webassemblyjs/helper-buffer": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", - "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==", - "dev": true + "node_modules/@babel/plugin-transform-private-methods": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.22.5.tgz", + "integrity": "sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } }, - "@webassemblyjs/helper-code-frame": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", - "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==", + "node_modules/@babel/plugin-transform-private-property-in-object": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.22.11.tgz", + "integrity": "sha512-sSCbqZDBKHetvjSwpyWzhuHkmW5RummxJBVbYLkGkaiTOWGxml7SXt0iWa03bzxFIx7wOj3g/ILRd0RcJKBeSQ==", "dev": true, - "requires": { - "@webassemblyjs/wast-printer": "1.9.0" + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.22.11", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@webassemblyjs/helper-fsm": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", - "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==", - "dev": true + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.22.5.tgz", + "integrity": "sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } }, - "@webassemblyjs/helper-module-context": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", - "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==", + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.22.10.tgz", + "integrity": "sha512-F28b1mDt8KcT5bUyJc/U9nwzw6cV+UmTeRlXYIl2TNqMMJif0Jeey9/RQ3C4NOd2zp0/TRsDns9ttj2L523rsw==", "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0" + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "regenerator-transform": "^0.15.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", - "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", - "dev": true + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.22.5.tgz", + "integrity": "sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } }, - "@webassemblyjs/helper-wasm-section": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", - "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.22.5.tgz", + "integrity": "sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==", "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0" + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@webassemblyjs/ieee754": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", - "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", + "node_modules/@babel/plugin-transform-spread": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.22.5.tgz", + "integrity": "sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg==", "dev": true, - "requires": { - "@xtuc/ieee754": "^1.2.0" + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@webassemblyjs/leb128": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", - "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.22.5.tgz", + "integrity": "sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw==", "dev": true, - "requires": { - "@xtuc/long": "4.2.2" + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@webassemblyjs/utf8": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", - "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==", - "dev": true + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.22.5.tgz", + "integrity": "sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } }, - "@webassemblyjs/wasm-edit": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", - "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.22.5.tgz", + "integrity": "sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA==", "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/helper-wasm-section": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0", - "@webassemblyjs/wasm-opt": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "@webassemblyjs/wast-printer": "1.9.0" + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@webassemblyjs/wasm-gen": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", - "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", + "node_modules/@babel/plugin-transform-typescript": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.22.15.tgz", + "integrity": "sha512-1uirS0TnijxvQLnlv5wQBwOX3E1wCFX7ITv+9pBV2wKEk4K+M5tqDaoNXnTH8tjEIYHLO98MwiTWO04Ggz4XuA==", "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/ieee754": "1.9.0", - "@webassemblyjs/leb128": "1.9.0", - "@webassemblyjs/utf8": "1.9.0" + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-typescript": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@webassemblyjs/wasm-opt": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", - "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.22.10.tgz", + "integrity": "sha512-lRfaRKGZCBqDlRU3UIFovdp9c9mEvlylmpod0/OatICsSfuQ9YFthRo1tpTkGsklEefZdqlEFdY4A2dwTb6ohg==", "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0" + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@webassemblyjs/wasm-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", - "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", + "node_modules/@babel/plugin-transform-unicode-property-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.22.5.tgz", + "integrity": "sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A==", "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-api-error": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/ieee754": "1.9.0", - "@webassemblyjs/leb128": "1.9.0", - "@webassemblyjs/utf8": "1.9.0" + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@webassemblyjs/wast-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", - "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==", + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.22.5.tgz", + "integrity": "sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg==", "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/floating-point-hex-parser": "1.9.0", - "@webassemblyjs/helper-api-error": "1.9.0", - "@webassemblyjs/helper-code-frame": "1.9.0", - "@webassemblyjs/helper-fsm": "1.9.0", - "@xtuc/long": "4.2.2" + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@webassemblyjs/wast-printer": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", - "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", + "node_modules/@babel/plugin-transform-unicode-sets-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.22.5.tgz", + "integrity": "sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg==", "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0", - "@xtuc/long": "4.2.2" + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "dev": true + "node_modules/@babel/preset-env": { + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.23.2.tgz", + "integrity": "sha512-BW3gsuDD+rvHL2VO2SjAUNTBe5YrjsTiDyqamPDWY723na3/yPQ65X5oQkFVJZ0o50/2d+svm1rkPoJeR1KxVQ==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.23.2", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.15", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.22.15", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.22.15", + "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", + "@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-import-assertions": "^7.22.5", + "@babel/plugin-syntax-import-attributes": "^7.22.5", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@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-syntax-unicode-sets-regex": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.22.5", + "@babel/plugin-transform-async-generator-functions": "^7.23.2", + "@babel/plugin-transform-async-to-generator": "^7.22.5", + "@babel/plugin-transform-block-scoped-functions": "^7.22.5", + "@babel/plugin-transform-block-scoping": "^7.23.0", + "@babel/plugin-transform-class-properties": "^7.22.5", + "@babel/plugin-transform-class-static-block": "^7.22.11", + "@babel/plugin-transform-classes": "^7.22.15", + "@babel/plugin-transform-computed-properties": "^7.22.5", + "@babel/plugin-transform-destructuring": "^7.23.0", + "@babel/plugin-transform-dotall-regex": "^7.22.5", + "@babel/plugin-transform-duplicate-keys": "^7.22.5", + "@babel/plugin-transform-dynamic-import": "^7.22.11", + "@babel/plugin-transform-exponentiation-operator": "^7.22.5", + "@babel/plugin-transform-export-namespace-from": "^7.22.11", + "@babel/plugin-transform-for-of": "^7.22.15", + "@babel/plugin-transform-function-name": "^7.22.5", + "@babel/plugin-transform-json-strings": "^7.22.11", + "@babel/plugin-transform-literals": "^7.22.5", + "@babel/plugin-transform-logical-assignment-operators": "^7.22.11", + "@babel/plugin-transform-member-expression-literals": "^7.22.5", + "@babel/plugin-transform-modules-amd": "^7.23.0", + "@babel/plugin-transform-modules-commonjs": "^7.23.0", + "@babel/plugin-transform-modules-systemjs": "^7.23.0", + "@babel/plugin-transform-modules-umd": "^7.22.5", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", + "@babel/plugin-transform-new-target": "^7.22.5", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.22.11", + "@babel/plugin-transform-numeric-separator": "^7.22.11", + "@babel/plugin-transform-object-rest-spread": "^7.22.15", + "@babel/plugin-transform-object-super": "^7.22.5", + "@babel/plugin-transform-optional-catch-binding": "^7.22.11", + "@babel/plugin-transform-optional-chaining": "^7.23.0", + "@babel/plugin-transform-parameters": "^7.22.15", + "@babel/plugin-transform-private-methods": "^7.22.5", + "@babel/plugin-transform-private-property-in-object": "^7.22.11", + "@babel/plugin-transform-property-literals": "^7.22.5", + "@babel/plugin-transform-regenerator": "^7.22.10", + "@babel/plugin-transform-reserved-words": "^7.22.5", + "@babel/plugin-transform-shorthand-properties": "^7.22.5", + "@babel/plugin-transform-spread": "^7.22.5", + "@babel/plugin-transform-sticky-regex": "^7.22.5", + "@babel/plugin-transform-template-literals": "^7.22.5", + "@babel/plugin-transform-typeof-symbol": "^7.22.5", + "@babel/plugin-transform-unicode-escapes": "^7.22.10", + "@babel/plugin-transform-unicode-property-regex": "^7.22.5", + "@babel/plugin-transform-unicode-regex": "^7.22.5", + "@babel/plugin-transform-unicode-sets-regex": "^7.22.5", + "@babel/preset-modules": "0.1.6-no-external-plugins", + "@babel/types": "^7.23.0", + "babel-plugin-polyfill-corejs2": "^0.4.6", + "babel-plugin-polyfill-corejs3": "^0.8.5", + "babel-plugin-polyfill-regenerator": "^0.5.3", + "core-js-compat": "^3.31.0", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-env/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/preset-modules": { + "version": "0.1.6-no-external-plugins", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", + "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" + } }, - "@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", - "dev": true + "node_modules/@babel/preset-typescript": { + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.23.2.tgz", + "integrity": "sha512-u4UJc1XsS1GhIGteM8rnGiIvf9rJpiVgMEeCnwlLA7WJPC+jcXWJAGxYmeqs5hOZD8BbAfnV5ezBOxQbb4OUxA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.15", + "@babel/plugin-syntax-jsx": "^7.22.5", + "@babel/plugin-transform-modules-commonjs": "^7.23.0", + "@babel/plugin-transform-typescript": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } }, - "abab": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.4.tgz", - "integrity": "sha512-Eu9ELJWCz/c1e9gTiCY+FceWxcqzjYEbqMgtndnuSqZSUCOL73TWNK2mHfIj4Cw2E/ongOp+JISVNCmovt2KYQ==", + "node_modules/@babel/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==", "dev": true }, - "abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" + "node_modules/@babel/runtime": { + "version": "7.23.1", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.1.tgz", + "integrity": "sha512-hC2v6p8ZSI/W0HUzh3V8C5g+NwSKzKPtJwSpTjwl0o297GP9+ZLQSkdvHz46CM3LqyoXxq+5G9komY+eSqSO0g==", + "dev": true, + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } }, - "accepts": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz", - "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=", - "requires": { - "mime-types": "~2.1.18", - "negotiator": "0.6.1" + "node_modules/@babel/template": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", + "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.22.13", + "@babel/parser": "^7.22.15", + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" } }, - "acorn": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.3.0.tgz", - "integrity": "sha512-/czfa8BwS88b9gWQVhc8eknunSA2DoJpJyTQkhheIf5E48u1N0R4q/YxxsAeqRrmK9TQ/uYfgLDfZo91UlANIA==", - "dev": true + "node_modules/@babel/traverse": { + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz", + "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.22.13", + "@babel/generator": "^7.23.0", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.23.0", + "@babel/types": "^7.23.0", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } }, - "acorn-globals": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.4.tgz", - "integrity": "sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A==", + "node_modules/@babel/traverse/node_modules/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, - "requires": { - "acorn": "^6.0.1", - "acorn-walk": "^6.0.1" + "engines": { + "node": ">=4" } }, - "acorn-jsx": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.1.0.tgz", - "integrity": "sha512-tMUqwBWfLFbJbizRmEcWSLw6HnFzfdJs2sOJEOwwtVPMoH/0Ay+E703oZz78VSXZiiDcZrQ5XKjPIUQixhmgVw==", - "dev": true + "node_modules/@babel/types": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", + "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", + "dev": true, + "dependencies": { + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.20", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } }, - "acorn-walk": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz", - "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==", + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", "dev": true }, - "after": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz", - "integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=" - }, - "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==", + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", "dev": true, - "requires": { - "debug": "4" - }, "dependencies": { - "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" - } - }, - "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 - } + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, - "ajv": { - "version": "6.6.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.6.2.tgz", - "integrity": "sha1-ys7M9HS/P8POOxR0Q3EaJAY8ww0=", + "node_modules/@eslint-community/regexpp": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.9.1.tgz", + "integrity": "sha512-Y27x+MBLjXa+0JWDhykM3+JE+il3kHKAEqabfEWq3SDhZjLYb6/BHL/JKFnH3fe207JaXkyDo685Oc2Glt6ifA==", "dev": true, - "requires": { - "fast-deep-equal": "^2.0.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, - "ajv-errors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", - "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", - "dev": true - }, - "ajv-keywords": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.2.0.tgz", - "integrity": "sha1-6GuBnGAs+IIa1jdBNpjx3sAhhHo=", - "dev": true - }, - "align-text": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", - "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", - "requires": { - "kind-of": "^3.0.2", - "longest": "^1.0.1", - "repeat-string": "^1.5.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } + "node_modules/@eslint/eslintrc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz", + "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "amdefine": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=" + "node_modules/@eslint/js": { + "version": "8.50.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.50.0.tgz", + "integrity": "sha512-NCC3zz2+nvYd+Ckfh87rA47zfu2QsQpvc6k1yzTk+b9KzRj0wkGa8LSoGOXN6Zv4lRf/EIoZ80biDh9HOI+RNQ==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } }, - "ansi-align": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-2.0.0.tgz", - "integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=", + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.11", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.11.tgz", + "integrity": "sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==", "dev": true, - "requires": { - "string-width": "^2.0.0" - }, "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - } + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" } }, - "ansi-escapes": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", - "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", "dev": true, - "requires": { - "type-fest": "^0.11.0" + "engines": { + "node": ">=12.22" }, - "dependencies": { - "type-fest": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", - "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", - "dev": true - } + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" } }, - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" - }, - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "node_modules/@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", "dev": true }, - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha1-vLJLTzeTTZqnrBe0ra+J58du8us=", + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", "dev": true, - "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - } - }, - "aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" - }, - "are-we-there-yet": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", - "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" + "dependencies": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" } }, - "argparse": { + "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "requires": { + "dev": true, + "dependencies": { "sprintf-js": "~1.0.2" } }, - "argv": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/argv/-/argv-0.0.2.tgz", - "integrity": "sha1-7L0W+JSbFXGDcRsb2jNPN4QBhas=", - "dev": true - }, - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", - "dev": true + "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } }, - "arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha1-NgSLv/TntH4TZkQxbJlmnqWukfE=", - "dev": true + "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } }, - "arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", - "dev": true - }, - "array-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", - "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=", - "dev": true - }, - "array-find-index": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", - "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", - "dev": true - }, - "array-includes": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.1.tgz", - "integrity": "sha512-c2VXaCHl7zPsvpkFsw4nxvFie4fh1ur9bpcgsVkIjqn0H/Xwdg+7fv3n2r/isyS8EBj5b06M9kHyZuIr4El6WQ==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0", - "is-string": "^1.0.5" - }, - "dependencies": { - "es-abstract": { - "version": "1.17.7", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", - "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==", - "dev": true, - "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - } - }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dev": true, - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "has-symbols": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", - "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", - "dev": true - }, - "is-callable": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", - "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==", - "dev": true - }, - "is-regex": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", - "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", - "dev": true, - "requires": { - "has-symbols": "^1.0.1" - } - }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true - }, - "object.assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.1.tgz", - "integrity": "sha512-VT/cxmx5yaoHSOTSyrCygIDFco+RsibY2NM0a4RdEeY/4KgqezwFtK1yr3U67xYhqJSlASm2pKhLVzPj2lr4bA==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.0", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - }, - "dependencies": { - "es-abstract": { - "version": "1.18.0-next.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz", - "integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==", - "dev": true, - "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-negative-zero": "^2.0.0", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - } - } - } - } - } - }, - "array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, - "requires": { - "array-uniq": "^1.0.1" - } - }, - "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 - }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", - "dev": true - }, - "array.prototype.flat": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.3.tgz", - "integrity": "sha512-gBlRZV0VSmfPIeWfuuy56XZMvbVfbEUnOXUvt3F/eUUUSyzlgLxhEX4YAEpxNAogRGehPSnfXyPtYyKAhkzQhQ==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1" - }, - "dependencies": { - "es-abstract": { - "version": "1.17.7", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", - "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==", - "dev": true, - "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - } - }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dev": true, - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "has-symbols": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", - "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", - "dev": true - }, - "is-callable": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", - "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==", - "dev": true - }, - "is-regex": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", - "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", - "dev": true, - "requires": { - "has-symbols": "^1.0.1" - } - }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true - }, - "object.assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.1.tgz", - "integrity": "sha512-VT/cxmx5yaoHSOTSyrCygIDFco+RsibY2NM0a4RdEeY/4KgqezwFtK1yr3U67xYhqJSlASm2pKhLVzPj2lr4bA==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.0", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - }, - "dependencies": { - "es-abstract": { - "version": "1.18.0-next.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz", - "integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==", - "dev": true, - "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-negative-zero": "^2.0.0", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - } - } - } - } - } - }, - "arraybuffer.slice": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz", - "integrity": "sha1-O7xCdd1YTMGxCAm4nU6LY6aednU=" - }, - "arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", - "dev": true - }, - "asn1": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", - "requires": { - "safer-buffer": "~2.1.0" + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" } }, - "asn1.js": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", - "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, - "requires": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "safer-buffer": "^2.1.0" - }, "dependencies": { - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true - } + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "assert": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", - "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, - "requires": { - "object-assign": "^4.1.1", - "util": "0.10.3" - }, "dependencies": { - "inherits": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", - "dev": true - }, - "util": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", - "dev": true, - "requires": { - "inherits": "2.0.1" - } - } + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" } }, - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" - }, - "assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", - "dev": true - }, - "astral-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", - "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", - "dev": true - }, - "async": { - "version": "0.2.10", - "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz", - "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=" - }, - "async-each": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz", - "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=", - "dev": true - }, - "async-each-series": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/async-each-series/-/async-each-series-0.1.1.tgz", - "integrity": "sha1-dhfBkXQB/Yykooqtzj266Yr+tDI=", - "dev": true - }, - "async-foreach": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz", - "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=", - "dev": true - }, - "async-limiter": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz", - "integrity": "sha1-ePrtjD0HSrgfIrTphdeehzj3IPg=" - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" - }, - "atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha1-bZUX654DDSQ2ZmZR6GvZ9vE1M8k=", - "dev": true - }, - "autoprefixer": { - "version": "9.7.0", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.7.0.tgz", - "integrity": "sha512-j2IRvaCfrUxIiZun9ba4mhJ2omhw4OY88/yVzLO+lHhGBumAAK72PgM6gkbSN8iregPOn1ZlxGkmZh2CQ7X4AQ==", + "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true, - "requires": { - "browserslist": "^4.7.2", - "caniuse-lite": "^1.0.30001004", - "chalk": "^2.4.2", - "normalize-range": "^0.1.2", - "num2fraction": "^1.2.2", - "postcss": "^7.0.19", - "postcss-value-parser": "^4.0.2" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "postcss": { - "version": "7.0.21", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.21.tgz", - "integrity": "sha512-uIFtJElxJo29QC753JzhidoAhvp/e/Exezkdhfmt8AymWT6/5B7W1WmponYWkHk2eg6sONyTch0A3nkMPun3SQ==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "dependencies": { - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "postcss-value-parser": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.0.2.tgz", - "integrity": "sha512-LmeoohTpp/K4UiyQCwuGWlONxXamGzCMtFxLq4W1nZVGIQLYvMCJx3yAF9qyyuFpflABI9yVdtJAqbihOsCsJQ==", - "dev": true - }, - "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 - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } + "engines": { + "node": ">=8" } }, - "aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" - }, - "aws4": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.10.0.tgz", - "integrity": "sha512-3YDiu347mtVtjpyV3u5kVqQLP242c06zwDOgpeRnybmXlYYsLbtTrUBUm8i8srONt+FWobl5aibnU1030PeeuA==" - }, - "axios": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.19.0.tgz", - "integrity": "sha512-1uvKqKQta3KBxIz14F2v06AEHZ/dIoeKfbTRkK1E5oqjDnuEerLmYTgJB5AiQZHJcljpg1TuRzdjDR06qNk0DQ==", + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", "dev": true, - "requires": { - "follow-redirects": "1.5.10", - "is-buffer": "^2.0.2" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "follow-redirects": { - "version": "1.5.10", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz", - "integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==", - "dev": true, - "requires": { - "debug": "=3.1.0" - } - }, - "is-buffer": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz", - "integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==", - "dev": true - } + "engines": { + "node": ">=8" } }, - "babel-code-frame": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", - "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", + "node_modules/@jest/console": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz", + "integrity": "sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==", "dev": true, - "requires": { - "chalk": "^1.1.3", - "esutils": "^2.0.2", - "js-tokens": "^3.0.2" + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "babel-core": { - "version": "7.0.0-bridge.0", - "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-7.0.0-bridge.0.tgz", - "integrity": "sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==", - "dev": true - }, - "babel-eslint": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.1.0.tgz", - "integrity": "sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg==", + "node_modules/@jest/core": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz", + "integrity": "sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==", "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.7.0", - "@babel/traverse": "^7.7.0", - "@babel/types": "^7.7.0", - "eslint-visitor-keys": "^1.0.0", - "resolve": "^1.12.0" - }, - "dependencies": { - "resolve": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", - "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", - "dev": true, - "requires": { - "path-parse": "^1.0.6" - } + "dependencies": { + "@jest/console": "^29.7.0", + "@jest/reporters": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^29.7.0", + "jest-config": "^29.7.0", + "jest-haste-map": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-resolve-dependencies": "^29.7.0", + "jest-runner": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "jest-watcher": "^29.7.0", + "micromatch": "^4.0.4", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true } } }, - "babel-generator": { - "version": "6.26.1", - "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", - "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", + "node_modules/@jest/environment": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz", + "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==", "dev": true, - "requires": { - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "detect-indent": "^4.0.0", - "jsesc": "^1.3.0", - "lodash": "^4.17.4", - "source-map": "^0.5.7", - "trim-right": "^1.0.1" - }, "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "babel-helper-call-delegate": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz", - "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=", + "node_modules/@jest/expect": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz", + "integrity": "sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==", "dev": true, - "requires": { - "babel-helper-hoist-variables": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" + "dependencies": { + "expect": "^29.7.0", + "jest-snapshot": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "babel-helper-define-map": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz", - "integrity": "sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=", + "node_modules/@jest/expect-utils": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz", + "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==", "dev": true, - "requires": { - "babel-helper-function-name": "^6.24.1", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "lodash": "^4.17.4" + "dependencies": { + "jest-get-type": "^29.6.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "babel-helper-function-name": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", - "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", + "node_modules/@jest/fake-timers": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz", + "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==", "dev": true, - "requires": { - "babel-helper-get-function-arity": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" + "dependencies": { + "@jest/types": "^29.6.3", + "@sinonjs/fake-timers": "^10.0.2", + "@types/node": "*", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "babel-helper-get-function-arity": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", - "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", + "node_modules/@jest/globals": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz", + "integrity": "sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==", "dev": true, - "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/expect": "^29.7.0", + "@jest/types": "^29.6.3", + "jest-mock": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "babel-helper-hoist-variables": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz", - "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=", + "node_modules/@jest/reporters": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz", + "integrity": "sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==", "dev": true, - "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "dependencies": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^6.0.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", + "slash": "^3.0.0", + "string-length": "^4.0.1", + "strip-ansi": "^6.0.0", + "v8-to-istanbul": "^9.0.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "babel-helper-optimise-call-expression": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz", - "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=", + "node_modules/@jest/schemas": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", "dev": true, - "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "dependencies": { + "@sinclair/typebox": "^0.27.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "babel-helper-regex": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz", - "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=", + "node_modules/@jest/source-map": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz", + "integrity": "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==", "dev": true, - "requires": { - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "lodash": "^4.17.4" + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.18", + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "babel-helper-replace-supers": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz", - "integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=", + "node_modules/@jest/test-result": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz", + "integrity": "sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==", "dev": true, - "requires": { - "babel-helper-optimise-call-expression": "^6.24.1", - "babel-messages": "^6.23.0", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" + "dependencies": { + "@jest/console": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "babel-jest": { - "version": "25.5.1", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-25.5.1.tgz", - "integrity": "sha512-9dA9+GmMjIzgPnYtkhBg73gOo/RHqPmLruP3BaGL4KEX3Dwz6pI8auSN8G8+iuEG90+GSswyKvslN+JYSaacaQ==", + "node_modules/@jest/test-sequencer": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz", + "integrity": "sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==", "dev": true, - "requires": { - "@jest/transform": "^25.5.1", - "@jest/types": "^25.5.0", - "@types/babel__core": "^7.1.7", - "babel-plugin-istanbul": "^6.0.0", - "babel-preset-jest": "^25.5.0", - "chalk": "^3.0.0", - "graceful-fs": "^4.2.4", + "dependencies": { + "@jest/test-result": "^29.7.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", "slash": "^3.0.0" }, - "dependencies": { - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "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 - }, - "graceful-fs": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", - "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", - "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 - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "babel-loader": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.1.0.tgz", - "integrity": "sha512-7q7nC1tYOrqvUrN3LQK4GwSk/TQorZSOlO9C+RZDZpODgyN4ZlCqE5q9cDsyWOliN+aU9B4JX01xK9eJXowJLw==", - "dev": true, - "requires": { - "find-cache-dir": "^2.1.0", - "loader-utils": "^1.4.0", - "mkdirp": "^0.5.3", - "pify": "^4.0.1", - "schema-utils": "^2.6.5" - }, - "dependencies": { - "ajv": { - "version": "6.12.3", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.3.tgz", - "integrity": "sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true - }, - "emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", - "dev": true - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "find-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - } - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dev": true, - "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" - } - }, - "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" - }, - "dependencies": { - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true - } - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "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 - }, - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true - }, - "pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "dev": true, - "requires": { - "find-up": "^3.0.0" - } - }, - "schema-utils": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", - "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.4", - "ajv": "^6.12.2", - "ajv-keywords": "^3.4.1" - } - } + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/transform": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz", + "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==", + "dev": true, + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "babel-messages": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", - "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", + "node_modules/@jest/types": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", "dev": true, - "requires": { - "babel-runtime": "^6.22.0" + "dependencies": { + "@jest/schemas": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "babel-plugin-check-es2015-constants": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz", - "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", "dev": true, - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-dynamic-import-node": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", - "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", - "requires": { - "object.assign": "^4.1.0" + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" } }, - "babel-plugin-istanbul": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz", - "integrity": "sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ==", + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-instrument": "^4.0.0", - "test-exclude": "^6.0.0" + "engines": { + "node": ">=6.0.0" } }, - "babel-plugin-jest-hoist": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-25.5.0.tgz", - "integrity": "sha512-u+/W+WAjMlvoocYGTwthAiQSxDcJAyHpQ6oWlHdFZaaN+Rlk8Q7iiwDPg2lN/FyJtAYnKjFxbn7xus4HCFkg5g==", + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", "dev": true, - "requires": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__traverse": "^7.0.6" + "engines": { + "node": ">=6.0.0" } }, - "babel-plugin-transform-es2015-arrow-functions": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz", - "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0" - } + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "dev": true }, - "babel-plugin-transform-es2015-block-scoped-functions": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz", - "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=", + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.19", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz", + "integrity": "sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==", "dev": true, - "requires": { - "babel-runtime": "^6.22.0" + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "babel-plugin-transform-es2015-block-scoping": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz", - "integrity": "sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=", - "dev": true, - "requires": { - "babel-runtime": "^6.26.0", - "babel-template": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "lodash": "^4.17.4" - } + "node_modules/@next/env": { + "version": "13.5.4", + "resolved": "https://registry.npmjs.org/@next/env/-/env-13.5.4.tgz", + "integrity": "sha512-LGegJkMvRNw90WWphGJ3RMHMVplYcOfRWf2Be3td3sUa+1AaxmsYyANsA+znrGCBjXJNi4XAQlSoEfUxs/4kIQ==" }, - "babel-plugin-transform-es2015-classes": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz", - "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=", + "node_modules/@next/eslint-plugin-next": { + "version": "13.5.4", + "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-13.5.4.tgz", + "integrity": "sha512-vI94U+D7RNgX6XypSyjeFrOzxGlZyxOplU0dVE5norIfZGn/LDjJYPHdvdsR5vN1eRtl6PDAsOHmycFEOljK5A==", "dev": true, - "requires": { - "babel-helper-define-map": "^6.24.1", - "babel-helper-function-name": "^6.24.1", - "babel-helper-optimise-call-expression": "^6.24.1", - "babel-helper-replace-supers": "^6.24.1", - "babel-messages": "^6.23.0", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" + "dependencies": { + "glob": "7.1.7" } }, - "babel-plugin-transform-es2015-computed-properties": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz", - "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" + "node_modules/@next/swc-darwin-arm64": { + "version": "13.5.4", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.5.4.tgz", + "integrity": "sha512-Df8SHuXgF1p+aonBMcDPEsaahNo2TCwuie7VXED4FVyECvdXfRT9unapm54NssV9tF3OQFKBFOdlje4T43VO0w==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-darwin-x64": { + "version": "13.5.4", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-13.5.4.tgz", + "integrity": "sha512-siPuUwO45PnNRMeZnSa8n/Lye5ZX93IJom9wQRB5DEOdFrw0JjOMu1GINB8jAEdwa7Vdyn1oJ2xGNaQpdQQ9Pw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-arm64-gnu": { + "version": "13.5.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-13.5.4.tgz", + "integrity": "sha512-l/k/fvRP/zmB2jkFMfefmFkyZbDkYW0mRM/LB+tH5u9pB98WsHXC0WvDHlGCYp3CH/jlkJPL7gN8nkTQVrQ/2w==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-arm64-musl": { + "version": "13.5.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-13.5.4.tgz", + "integrity": "sha512-YYGb7SlLkI+XqfQa8VPErljb7k9nUnhhRrVaOdfJNCaQnHBcvbT7cx/UjDQLdleJcfyg1Hkn5YSSIeVfjgmkTg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-x64-gnu": { + "version": "13.5.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-13.5.4.tgz", + "integrity": "sha512-uE61vyUSClnCH18YHjA8tE1prr/PBFlBFhxBZis4XBRJoR+txAky5d7gGNUIbQ8sZZ7LVkSVgm/5Fc7mwXmRAg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-x64-musl": { + "version": "13.5.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-13.5.4.tgz", + "integrity": "sha512-qVEKFYML/GvJSy9CfYqAdUexA6M5AklYcQCW+8JECmkQHGoPxCf04iMh7CPR7wkHyWWK+XLt4Ja7hhsPJtSnhg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-arm64-msvc": { + "version": "13.5.4", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-13.5.4.tgz", + "integrity": "sha512-mDSQfqxAlfpeZOLPxLymZkX0hYF3juN57W6vFHTvwKlnHfmh12Pt7hPIRLYIShk8uYRsKPtMTth/EzpwRI+u8w==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-ia32-msvc": { + "version": "13.5.4", + "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.5.4.tgz", + "integrity": "sha512-aoqAT2XIekIWoriwzOmGFAvTtVY5O7JjV21giozBTP5c6uZhpvTWRbmHXbmsjZqY4HnEZQRXWkSAppsIBweKqw==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-x64-msvc": { + "version": "13.5.4", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-13.5.4.tgz", + "integrity": "sha512-cyRvlAxwlddlqeB9xtPSfNSCRy8BOa4wtMo0IuI9P7Y0XT2qpDrpFKRyZ7kUngZis59mPVla5k8X1oOJ8RxDYg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" } }, - "babel-plugin-transform-es2015-destructuring": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz", - "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", + "node_modules/@nicolo-ribaudo/eslint-scope-5-internals": { + "version": "5.1.1-v1", + "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", + "integrity": "sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==", "dev": true, - "requires": { - "babel-runtime": "^6.22.0" + "dependencies": { + "eslint-scope": "5.1.1" } }, - "babel-plugin-transform-es2015-duplicate-keys": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz", - "integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=", + "node_modules/@nicolo-ribaudo/eslint-scope-5-internals/node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", "dev": true, - "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" } }, - "babel-plugin-transform-es2015-for-of": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz", - "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=", + "node_modules/@nicolo-ribaudo/eslint-scope-5-internals/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", "dev": true, - "requires": { - "babel-runtime": "^6.22.0" + "engines": { + "node": ">=4.0" } }, - "babel-plugin-transform-es2015-function-name": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz", - "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=", + "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, - "requires": { - "babel-helper-function-name": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" } }, - "babel-plugin-transform-es2015-literals": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz", - "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=", + "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, - "requires": { - "babel-runtime": "^6.22.0" + "engines": { + "node": ">= 8" } }, - "babel-plugin-transform-es2015-modules-amd": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz", - "integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=", + "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==", "dev": true, - "requires": { - "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" } }, - "babel-plugin-transform-es2015-modules-commonjs": { - "version": "6.26.2", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz", - "integrity": "sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==", + "node_modules/@popperjs/core": { + "version": "2.11.8", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz", + "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==", "dev": true, - "requires": { - "babel-plugin-transform-strict-mode": "^6.24.1", - "babel-runtime": "^6.26.0", - "babel-template": "^6.26.0", - "babel-types": "^6.26.0" + "peer": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/popperjs" } }, - "babel-plugin-transform-es2015-modules-systemjs": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz", - "integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=", - "dev": true, - "requires": { - "babel-helper-hoist-variables": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" - } + "node_modules/@rushstack/eslint-patch": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.5.1.tgz", + "integrity": "sha512-6i/8UoL0P5y4leBIGzvkZdS85RDMG9y1ihZzmTZQ5LdHUYmZ7pKFoj8X0236s3lusPs1Fa5HTQUpwI+UfTcmeA==", + "dev": true + }, + "node_modules/@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "dev": true }, - "babel-plugin-transform-es2015-modules-umd": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz", - "integrity": "sha1-rJl+YoXNGO1hdq22B9YCNErThGg=", + "node_modules/@sinonjs/commons": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", + "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", "dev": true, - "requires": { - "babel-plugin-transform-es2015-modules-amd": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" + "dependencies": { + "type-detect": "4.0.8" } }, - "babel-plugin-transform-es2015-object-super": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz", - "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=", + "node_modules/@sinonjs/fake-timers": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", + "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", "dev": true, - "requires": { - "babel-helper-replace-supers": "^6.24.1", - "babel-runtime": "^6.22.0" + "dependencies": { + "@sinonjs/commons": "^3.0.0" } }, - "babel-plugin-transform-es2015-parameters": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz", - "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=", - "dev": true, - "requires": { - "babel-helper-call-delegate": "^6.24.1", - "babel-helper-get-function-arity": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" + "node_modules/@socket.io/component-emitter": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz", + "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==" + }, + "node_modules/@swc/helpers": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.2.tgz", + "integrity": "sha512-E4KcWTpoLHqwPHLxidpOqQbcrZVgi0rsmmZXUle1jXmJfuIf/UWpczUJ7MZZ5tlxytgJXyp0w4PGkkeLiuIdZw==", + "dependencies": { + "tslib": "^2.4.0" } }, - "babel-plugin-transform-es2015-shorthand-properties": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz", - "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=", + "node_modules/@tootallnate/once": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", "dev": true, - "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "engines": { + "node": ">= 10" } }, - "babel-plugin-transform-es2015-spread": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz", - "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", + "node_modules/@types/babel__core": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.2.tgz", + "integrity": "sha512-pNpr1T1xLUc2l3xJKuPtsEky3ybxN3m4fJkknfIpTCTfIZCDW57oAg+EfCgIIp2rvCe0Wn++/FfodDS4YXxBwA==", "dev": true, - "requires": { - "babel-runtime": "^6.22.0" + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" } }, - "babel-plugin-transform-es2015-sticky-regex": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz", - "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=", + "node_modules/@types/babel__generator": { + "version": "7.6.5", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.5.tgz", + "integrity": "sha512-h9yIuWbJKdOPLJTbmSpPzkF67e659PbQDba7ifWm5BJ8xTv+sDmS7rFmywkWOvXedGTivCdeGSIIX8WLcRTz8w==", "dev": true, - "requires": { - "babel-helper-regex": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "dependencies": { + "@babel/types": "^7.0.0" } }, - "babel-plugin-transform-es2015-template-literals": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz", - "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=", + "node_modules/@types/babel__template": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.2.tgz", + "integrity": "sha512-/AVzPICMhMOMYoSx9MoKpGDKdBRsIXMNByh1PXSZoa+v6ZoLa8xxtsT/uLQ/NJm0XVAWl/BvId4MlDeXJaeIZQ==", "dev": true, - "requires": { - "babel-runtime": "^6.22.0" + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" } }, - "babel-plugin-transform-es2015-typeof-symbol": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz", - "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=", + "node_modules/@types/babel__traverse": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.2.tgz", + "integrity": "sha512-ojlGK1Hsfce93J0+kn3H5R73elidKUaZonirN33GSmgTUMpzI/MIFfSpF3haANe3G1bEBS9/9/QEqwTzwqFsKw==", "dev": true, - "requires": { - "babel-runtime": "^6.22.0" + "dependencies": { + "@babel/types": "^7.20.7" } }, - "babel-plugin-transform-es2015-unicode-regex": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz", - "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=", + "node_modules/@types/graceful-fs": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.7.tgz", + "integrity": "sha512-MhzcwU8aUygZroVwL2jeYk6JisJrPl/oov/gsgGCue9mkgl9wjGbzReYQClxiUgFDnib9FuHqTndccKeZKxTRw==", "dev": true, - "requires": { - "babel-helper-regex": "^6.24.1", - "babel-runtime": "^6.22.0", - "regexpu-core": "^2.0.0" - }, "dependencies": { - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", - "dev": true - }, - "regexpu-core": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz", - "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", - "dev": true, - "requires": { - "regenerate": "^1.2.1", - "regjsgen": "^0.2.0", - "regjsparser": "^0.1.4" - } - }, - "regjsgen": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", - "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=", - "dev": true - }, - "regjsparser": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", - "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", - "dev": true, - "requires": { - "jsesc": "~0.5.0" - } - } + "@types/node": "*" } }, - "babel-plugin-transform-regenerator": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz", - "integrity": "sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=", + "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.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-gPQuzaPR5h/djlAv2apEG1HVOyj1IUs7GpfMZixU0/0KXT3pm64ylHuMUI1/Akh+sq/iikxg6Z2j+fcMDXaaTQ==", "dev": true, - "requires": { - "regenerator-transform": "^0.10.0" - }, "dependencies": { - "regenerator-transform": { - "version": "0.10.1", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz", - "integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==", - "dev": true, - "requires": { - "babel-runtime": "^6.18.0", - "babel-types": "^6.19.0", - "private": "^0.1.6" - } - } + "@types/istanbul-lib-coverage": "*" } }, - "babel-plugin-transform-strict-mode": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz", - "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", + "node_modules/@types/istanbul-reports": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.2.tgz", + "integrity": "sha512-kv43F9eb3Lhj+lr/Hn6OcLCs/sSM8bt+fIaP11rCYngfV6NVjzWXJ17owQtDQTL9tQ8WSLUrGsSJ6rJz0F1w1A==", "dev": true, - "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "dependencies": { + "@types/istanbul-lib-report": "*" } }, - "babel-polyfill": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.26.0.tgz", - "integrity": "sha1-N5k3q8Z9eJWXCtxiHyhM2WbPIVM=", + "node_modules/@types/jquery": { + "version": "3.5.22", + "resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-3.5.22.tgz", + "integrity": "sha512-ISQFeUK5GwRftLK4PVvKTWEVCxZ2BpaqBz0TWkIq5w4vGojxZP9+XkqgcPjxoqmPeew+HLyWthCBvK7GdF5NYA==", "dev": true, - "requires": { - "babel-runtime": "^6.26.0", - "core-js": "^2.5.0", - "regenerator-runtime": "^0.10.5" - }, "dependencies": { - "regenerator-runtime": { - "version": "0.10.5", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz", - "integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg=", - "dev": true - } + "@types/sizzle": "*" } }, - "babel-preset-current-node-syntax": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-0.1.3.tgz", - "integrity": "sha512-uyexu1sVwcdFnyq9o8UQYsXwXflIh8LvrF5+cKrYam93ned1CStffB3+BEcsxGSgagoA3GEyjDqO4a/58hyPYQ==", + "node_modules/@types/jsdom": { + "version": "20.0.1", + "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-20.0.1.tgz", + "integrity": "sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==", "dev": true, - "requires": { - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-bigint": "^7.8.3", - "@babel/plugin-syntax-class-properties": "^7.8.3", - "@babel/plugin-syntax-import-meta": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.8.3", - "@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-preset-es2015": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-preset-es2015/-/babel-preset-es2015-6.24.1.tgz", - "integrity": "sha1-1EBQ1rwsn+6nAqrzjXJ6AhBTiTk=", - "dev": true, - "requires": { - "babel-plugin-check-es2015-constants": "^6.22.0", - "babel-plugin-transform-es2015-arrow-functions": "^6.22.0", - "babel-plugin-transform-es2015-block-scoped-functions": "^6.22.0", - "babel-plugin-transform-es2015-block-scoping": "^6.24.1", - "babel-plugin-transform-es2015-classes": "^6.24.1", - "babel-plugin-transform-es2015-computed-properties": "^6.24.1", - "babel-plugin-transform-es2015-destructuring": "^6.22.0", - "babel-plugin-transform-es2015-duplicate-keys": "^6.24.1", - "babel-plugin-transform-es2015-for-of": "^6.22.0", - "babel-plugin-transform-es2015-function-name": "^6.24.1", - "babel-plugin-transform-es2015-literals": "^6.22.0", - "babel-plugin-transform-es2015-modules-amd": "^6.24.1", - "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1", - "babel-plugin-transform-es2015-modules-systemjs": "^6.24.1", - "babel-plugin-transform-es2015-modules-umd": "^6.24.1", - "babel-plugin-transform-es2015-object-super": "^6.24.1", - "babel-plugin-transform-es2015-parameters": "^6.24.1", - "babel-plugin-transform-es2015-shorthand-properties": "^6.24.1", - "babel-plugin-transform-es2015-spread": "^6.22.0", - "babel-plugin-transform-es2015-sticky-regex": "^6.24.1", - "babel-plugin-transform-es2015-template-literals": "^6.22.0", - "babel-plugin-transform-es2015-typeof-symbol": "^6.22.0", - "babel-plugin-transform-es2015-unicode-regex": "^6.24.1", - "babel-plugin-transform-regenerator": "^6.24.1" - } - }, - "babel-preset-jest": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-25.5.0.tgz", - "integrity": "sha512-8ZczygctQkBU+63DtSOKGh7tFL0CeCuz+1ieud9lJ1WPQ9O6A1a/r+LGn6Y705PA6whHQ3T1XuB/PmpfNYf8Fw==", - "dev": true, - "requires": { - "babel-plugin-jest-hoist": "^25.5.0", - "babel-preset-current-node-syntax": "^0.1.2" - } - }, - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "dev": true, - "requires": { - "core-js": "^2.4.0", - "regenerator-runtime": "^0.11.0" - } - }, - "babel-template": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", - "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", - "dev": true, - "requires": { - "babel-runtime": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "lodash": "^4.17.4" - } - }, - "babel-traverse": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", - "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", - "dev": true, - "requires": { - "babel-code-frame": "^6.26.0", - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "debug": "^2.6.8", - "globals": "^9.18.0", - "invariant": "^2.2.2", - "lodash": "^4.17.4" - } - }, - "babel-types": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", - "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", - "dev": true, - "requires": { - "babel-runtime": "^6.26.0", - "esutils": "^2.0.2", - "lodash": "^4.17.4", - "to-fast-properties": "^1.0.3" - } - }, - "babylon": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", - "integrity": "sha1-ry87iPpvXB5MY00aD46sT1WzleM=", - "dev": true - }, - "backo2": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", - "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=" - }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" - }, - "base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha1-e95c7RRbbVUakNuH+DxVi060io8=", - "dev": true, - "requires": { - "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" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } + "dependencies": { + "@types/node": "*", + "@types/tough-cookie": "*", + "parse5": "^7.0.0" } }, - "base64-arraybuffer": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz", - "integrity": "sha1-c5JncZI7Whl0etZmqlzUv5xunOg=", - "dev": true - }, - "base64-js": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", - "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==", + "node_modules/@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", "dev": true }, - "base64id": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/base64id/-/base64id-1.0.0.tgz", - "integrity": "sha1-R2iMuZu2gE8OBtPnY7HDLlfY5rY=", + "node_modules/@types/node": { + "version": "20.8.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.2.tgz", + "integrity": "sha512-Vvycsc9FQdwhxE3y3DzeIxuEJbWGDsnrxvMADzTDF/lcdR9/K+AQIeAghTQsHtotg/q0j3WEOYS/jQgSdWue3w==", "dev": true }, - "batch": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", + "node_modules/@types/prop-types": { + "version": "15.7.8", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.8.tgz", + "integrity": "sha512-kMpQpfZKSCBqltAJwskgePRaYRFukDkm1oItcAbC3gNELR20XIBcN9VRgg4+m8DKsTfkWeA4m4Imp4DDuWy7FQ==", "dev": true }, - "bcrypt": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/bcrypt/-/bcrypt-5.0.0.tgz", - "integrity": "sha512-jB0yCBl4W/kVHM2whjfyqnxTmOHkCX4kHEa5nYKSoGeYe8YrjTYTc87/6bwt1g8cmV0QrbhKriETg9jWtcREhg==", - "requires": { - "node-addon-api": "^3.0.0", - "node-pre-gyp": "0.15.0" - } - }, - "bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", - "requires": { - "tweetnacl": "^0.14.3" + "node_modules/@types/react": { + "version": "18.2.25", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.25.tgz", + "integrity": "sha512-24xqse6+VByVLIr+xWaQ9muX1B4bXJKXBbjszbld/UEDslGLY53+ZucF44HCmLbMPejTzGG9XgR+3m2/Wqu1kw==", + "dev": true, + "dependencies": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" } }, - "better-assert": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz", - "integrity": "sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI=", + "node_modules/@types/react-dom": { + "version": "18.2.10", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.10.tgz", + "integrity": "sha512-5VEC5RgXIk1HHdyN1pHlg0cOqnxHzvPGpMMyGAP5qSaDRmyZNDaQ0kkVAkK6NYlDhP6YBID3llaXlmAS/mdgCA==", "dev": true, - "requires": { - "callsite": "1.0.0" + "dependencies": { + "@types/react": "*" } }, - "big.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "node_modules/@types/scheduler": { + "version": "0.16.4", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.4.tgz", + "integrity": "sha512-2L9ifAGl7wmXwP4v3pN4p2FLhD0O1qsJpvKmNin5VA8+UvNVb447UDaAEV6UdrkA+m/Xs58U1RFps44x6TFsVQ==", "dev": true }, - "bignumber.js": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.0.tgz", - "integrity": "sha512-t/OYhhJ2SD+YGBQcjY8GzzDHEk9f3nerxjtfa6tlMXfe7frs/WozhvCNoGvpM0P3bNf3Gq5ZRMlGr5f3r4/N8A==" + "node_modules/@types/sizzle": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.4.tgz", + "integrity": "sha512-jA2llq2zNkg8HrALI7DtWzhALcVH0l7i89yhY3iBdOz6cBPeACoFq+fkQrjHA39t1hnSFOboZ7A/AY5MMZSlag==", + "dev": true }, - "binary-extensions": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.12.0.tgz", - "integrity": "sha1-wteA9T1Fu6gxeokC1M7q86Y4WxQ=", + "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 }, - "bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", - "dev": true, - "optional": true, - "requires": { - "file-uri-to-path": "1.0.0" - } + "node_modules/@types/tough-cookie": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.3.tgz", + "integrity": "sha512-THo502dA5PzG/sfQH+42Lw3fvmYkceefOspdCwpHRul8ik2Jv1K8I5OZz1AT3/rs46kwgMCe9bSBmDLYkkOMGg==", + "dev": true }, - "blob": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.5.tgz", - "integrity": "sha1-1oDu7yX4zZGtUz9bAe7UjmTK9oM=" + "node_modules/@types/underscore": { + "version": "1.11.9", + "resolved": "https://registry.npmjs.org/@types/underscore/-/underscore-1.11.9.tgz", + "integrity": "sha512-M63wKUdsjDFUfyFt1TCUZHGFk9KDAa5JP0adNUErbm0U45Lr06HtANdYRP+GyleEopEoZ4UyBcdAC5TnW4Uz2w==", + "dev": true }, - "block-stream": { - "version": "0.0.9", - "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", - "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", + "node_modules/@types/yargs": { + "version": "17.0.28", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.28.tgz", + "integrity": "sha512-N3e3fkS86hNhtk6BEnc0rj3zcehaxx8QWhCROJkqpl5Zaoi7nAic3jH8q94jVD3zu5LGk+PUB6KAiDmimYOEQw==", "dev": true, - "requires": { - "inherits": "~2.0.0" + "dependencies": { + "@types/yargs-parser": "*" } }, - "bluebird": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.3.4.tgz", - "integrity": "sha1-94D+Q+GnplEPZ6vX0NeVM6QN3eY=" - }, - "blueimp-tmpl": { - "version": "2.5.7", - "resolved": "https://registry.npmjs.org/blueimp-tmpl/-/blueimp-tmpl-2.5.7.tgz", - "integrity": "sha1-M/sSwTnWVRKuQK+9ji3vjZ25ZJA=" - }, - "bn.js": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.1.3.tgz", - "integrity": "sha512-GkTiFpjFtUzU9CbMeJ5iazkCzGL3jrhzerzZIuqLABjbwRaFt33I9tUdSNryIptM+RxDet6OKm2WnLXzW51KsQ==", - "dev": true - }, - "boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", + "node_modules/@types/yargs-parser": { + "version": "21.0.1", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.1.tgz", + "integrity": "sha512-axdPBuLuEJt0c4yI5OZssC19K2Mq1uKdrfZBzuxLvaztgqUtFYZUNw7lETExPYJR9jdEoIg4mb7RQKRQzOkeGQ==", "dev": true }, - "bootstrap": { - "version": "4.5.3", - "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.5.3.tgz", - "integrity": "sha512-o9ppKQioXGqhw8Z7mah6KdTYpNQY//tipnkxppWhPbiSWdD+1raYsnhwEZjkTHYbGee4cVQ0Rx65EhOY/HNLcQ==" - }, - "boxen": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-1.3.0.tgz", - "integrity": "sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==", - "dev": true, - "requires": { - "ansi-align": "^2.0.0", - "camelcase": "^4.0.0", - "chalk": "^2.0.1", - "cli-boxes": "^1.0.0", - "string-width": "^2.0.0", - "term-size": "^1.2.0", - "widest-line": "^2.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", - "dev": true - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } + "node_modules/@typescript-eslint/parser": { + "version": "6.7.4", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.7.4.tgz", + "integrity": "sha512-I5zVZFY+cw4IMZUeNCU7Sh2PO5O57F7Lr0uyhgCJmhN/BuTlnc55KxPonR4+EM3GBdfiCyGZye6DgMjtubQkmA==", + "dev": true, + "dependencies": { + "@typescript-eslint/scope-manager": "6.7.4", + "@typescript-eslint/types": "6.7.4", + "@typescript-eslint/typescript-estree": "6.7.4", + "@typescript-eslint/visitor-keys": "6.7.4", + "debug": "^4.3.4" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true } } }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0=", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "node_modules/@typescript-eslint/scope-manager": { + "version": "6.7.4", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.7.4.tgz", + "integrity": "sha512-SdGqSLUPTXAXi7c3Ob7peAGVnmMoGzZ361VswK2Mqf8UOYcODiYvs8rs5ILqEdfvX1lE7wEZbLyELCW+Yrql1A==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "6.7.4", + "@typescript-eslint/visitor-keys": "6.7.4" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha1-WXn9PxTNUxVl5fot8av/8d+u5yk=", - "dev": true, - "requires": { - "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" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } + "node_modules/@typescript-eslint/types": { + "version": "6.7.4", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.7.4.tgz", + "integrity": "sha512-o9XWK2FLW6eSS/0r/tgjAGsYasLAnOWg7hvZ/dGYSSNjCh+49k5ocPN8OmG5aZcSJ8pclSOyVKP2x03Sj+RrCA==", + "dev": true, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", - "dev": true - }, - "browser-process-hrtime": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", - "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", - "dev": true - }, - "browser-resolve": { - "version": "1.11.3", - "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz", - "integrity": "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==", + "node_modules/@typescript-eslint/typescript-estree": { + "version": "6.7.4", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.7.4.tgz", + "integrity": "sha512-ty8b5qHKatlNYd9vmpHooQz3Vki3gG+3PchmtsA4TgrZBKWHNjWfkQid7K7xQogBqqc7/BhGazxMD5vr6Ha+iQ==", "dev": true, - "requires": { - "resolve": "1.1.7" - }, "dependencies": { - "resolve": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", - "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", - "dev": true + "@typescript-eslint/types": "6.7.4", + "@typescript-eslint/visitor-keys": "6.7.4", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true } } }, - "browser-sync": { - "version": "2.26.13", - "resolved": "https://registry.npmjs.org/browser-sync/-/browser-sync-2.26.13.tgz", - "integrity": "sha512-JPYLTngIzI+Dzx+StSSlMtF+Q9yjdh58HW6bMFqkFXuzQkJL8FCvp4lozlS6BbECZcsM2Gmlgp0uhEjvl18X4w==", - "dev": true, - "requires": { - "browser-sync-client": "^2.26.13", - "browser-sync-ui": "^2.26.13", - "bs-recipes": "1.3.4", - "bs-snippet-injector": "^2.0.1", - "chokidar": "^3.4.1", - "connect": "3.6.6", - "connect-history-api-fallback": "^1", - "dev-ip": "^1.0.1", - "easy-extender": "^2.3.4", - "eazy-logger": "3.1.0", - "etag": "^1.8.1", - "fresh": "^0.5.2", - "fs-extra": "3.0.1", - "http-proxy": "^1.18.1", - "immutable": "^3", - "localtunnel": "^2.0.0", - "micromatch": "^4.0.2", - "opn": "5.3.0", - "portscanner": "2.1.1", - "qs": "6.2.3", - "raw-body": "^2.3.2", - "resp-modifier": "6.0.2", - "rx": "4.1.0", - "send": "0.16.2", - "serve-index": "1.9.1", - "serve-static": "1.13.2", - "server-destroy": "1.0.1", - "socket.io": "2.1.1", - "ua-parser-js": "^0.7.18", - "yargs": "^15.4.1" - }, - "dependencies": { - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "connect": { - "version": "3.6.6", - "resolved": "https://registry.npmjs.org/connect/-/connect-3.6.6.tgz", - "integrity": "sha1-Ce/2xVr3I24TcTWnJXSFi2eG9SQ=", - "dev": true, - "requires": { - "debug": "2.6.9", - "finalhandler": "1.1.0", - "parseurl": "~1.3.2", - "utils-merge": "1.0.1" - } - }, - "engine.io": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.2.1.tgz", - "integrity": "sha512-+VlKzHzMhaU+GsCIg4AoXF1UdDFjHHwMmMKqMJNDNLlUlejz58FCy4LBqB2YVJskHGYl06BatYWKP2TVdVXE5w==", - "dev": true, - "requires": { - "accepts": "~1.3.4", - "base64id": "1.0.0", - "cookie": "0.3.1", - "debug": "~3.1.0", - "engine.io-parser": "~2.1.0", - "ws": "~3.3.1" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - } - } - }, - "engine.io-client": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.2.1.tgz", - "integrity": "sha512-y5AbkytWeM4jQr7m/koQLc5AxpRKC1hEVUb/s1FUAWEJq5AzJJ4NLvzuKPuxtDi5Mq755WuDvZ6Iv2rXj4PTzw==", - "dev": true, - "requires": { - "component-emitter": "1.2.1", - "component-inherit": "0.0.3", - "debug": "~3.1.0", - "engine.io-parser": "~2.1.1", - "has-cors": "1.1.0", - "indexof": "0.0.1", - "parseqs": "0.0.5", - "parseuri": "0.0.5", - "ws": "~3.3.1", - "xmlhttprequest-ssl": "~1.5.4", - "yeast": "0.1.2" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - } - } - }, - "engine.io-parser": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.1.3.tgz", - "integrity": "sha512-6HXPre2O4Houl7c4g7Ic/XzPnHBvaEmN90vtRO9uLmwtRqQmTOw0QMevL1TOfL2Cpu1VzsaTmMotQgMdkzGkVA==", - "dev": true, - "requires": { - "after": "0.8.2", - "arraybuffer.slice": "~0.0.7", - "base64-arraybuffer": "0.1.5", - "blob": "0.0.5", - "has-binary2": "~1.0.2" - } - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "finalhandler": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.0.tgz", - "integrity": "sha1-zgtoVbRYU+eRsvzGgARtiCU91/U=", - "dev": true, - "requires": { - "debug": "2.6.9", - "encodeurl": "~1.0.1", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.2", - "statuses": "~1.3.1", - "unpipe": "~1.0.0" - } - }, - "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 - }, - "isarray": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", - "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=", - "dev": true - }, - "micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", - "dev": true, - "requires": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" - } - }, - "parseqs": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz", - "integrity": "sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0=", - "dev": true, - "requires": { - "better-assert": "~1.0.0" - } - }, - "parseuri": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.5.tgz", - "integrity": "sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo=", - "dev": true, - "requires": { - "better-assert": "~1.0.0" - } - }, - "serve-static": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz", - "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==", - "dev": true, - "requires": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.2", - "send": "0.16.2" - } - }, - "socket.io": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.1.1.tgz", - "integrity": "sha512-rORqq9c+7W0DAK3cleWNSyfv/qKXV99hV4tZe+gGLfBECw3XEhBy7x85F3wypA9688LKjtwO9pX9L33/xQI8yA==", - "dev": true, - "requires": { - "debug": "~3.1.0", - "engine.io": "~3.2.0", - "has-binary2": "~1.0.2", - "socket.io-adapter": "~1.1.0", - "socket.io-client": "2.1.1", - "socket.io-parser": "~3.2.0" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - } - } - }, - "socket.io-client": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.1.1.tgz", - "integrity": "sha512-jxnFyhAuFxYfjqIgduQlhzqTcOEQSn+OHKVfAxWaNWa7ecP7xSNk2Dx/3UEsDcY7NcFafxvNvKPmmO7HTwTxGQ==", - "dev": true, - "requires": { - "backo2": "1.0.2", - "base64-arraybuffer": "0.1.5", - "component-bind": "1.0.0", - "component-emitter": "1.2.1", - "debug": "~3.1.0", - "engine.io-client": "~3.2.0", - "has-binary2": "~1.0.2", - "has-cors": "1.1.0", - "indexof": "0.0.1", - "object-component": "0.0.3", - "parseqs": "0.0.5", - "parseuri": "0.0.5", - "socket.io-parser": "~3.2.0", - "to-array": "0.1.4" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - } - } - }, - "socket.io-parser": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.2.0.tgz", - "integrity": "sha512-FYiBx7rc/KORMJlgsXysflWx/RIvtqZbyGLlHZvjfmPTPeuD/I8MaW7cfFrj5tRltICJdgwflhfZ3NVVbVLFQA==", - "dev": true, - "requires": { - "component-emitter": "1.2.1", - "debug": "~3.1.0", - "isarray": "2.0.1" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - } - } - }, - "statuses": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz", - "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=", - "dev": true - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } - }, - "ws": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", - "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==", - "dev": true, - "requires": { - "async-limiter": "~1.0.0", - "safe-buffer": "~5.1.0", - "ultron": "~1.1.0" - } - } + "node_modules/@typescript-eslint/visitor-keys": { + "version": "6.7.4", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.7.4.tgz", + "integrity": "sha512-pOW37DUhlTZbvph50x5zZCkFn3xzwkGtNoJHzIM3svpiSkJzwOYr/kVBaXmf+RAQiUDs1AHEZVNPg6UJCJpwRA==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "6.7.4", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "browser-sync-client": { - "version": "2.26.13", - "resolved": "https://registry.npmjs.org/browser-sync-client/-/browser-sync-client-2.26.13.tgz", - "integrity": "sha512-p2VbZoYrpuDhkreq+/Sv1MkToHklh7T1OaIntDwpG6Iy2q/XkBcgwPcWjX+WwRNiZjN8MEehxIjEUh12LweLmQ==", + "node_modules/abab": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", + "dev": true + }, + "node_modules/acorn": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", + "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", "dev": true, - "requires": { - "etag": "1.8.1", - "fresh": "0.5.2", - "mitt": "^1.1.3", - "rxjs": "^5.5.6" + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" } }, - "browser-sync-ui": { - "version": "2.26.13", - "resolved": "https://registry.npmjs.org/browser-sync-ui/-/browser-sync-ui-2.26.13.tgz", - "integrity": "sha512-6NJ/pCnhCnBMzaty1opWo7ipDmFAIk8U71JMQGKJxblCUaGfdsbF2shf6XNZSkXYia1yS0vwKu9LIOzpXqQZCA==", + "node_modules/acorn-globals": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-7.0.1.tgz", + "integrity": "sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==", "dev": true, - "requires": { - "async-each-series": "0.1.1", - "connect-history-api-fallback": "^1", - "immutable": "^3", - "server-destroy": "1.0.1", - "socket.io-client": "^2.0.4", - "stream-throttle": "^0.1.3" + "dependencies": { + "acorn": "^8.1.0", + "acorn-walk": "^8.0.2" } }, - "browser-sync-webpack-plugin": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/browser-sync-webpack-plugin/-/browser-sync-webpack-plugin-2.2.2.tgz", - "integrity": "sha512-x92kl8LdBi4dp6YVXYqrSoDkOCOLCeBOrYSY0h9Sk1VcCDSoZC1Vc62eae6TfC2ljN4/L+aYlkzE46kirHzbgA==", + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", "dev": true, - "requires": { - "lodash": "^4" + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "browserify-aes": { - "version": "1.2.0", - "resolved": "http://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "node_modules/acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", "dev": true, - "requires": { - "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" + "engines": { + "node": ">=0.4.0" } }, - "browserify-cipher": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", - "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "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, - "requires": { - "browserify-aes": "^1.0.4", - "browserify-des": "^1.0.0", - "evp_bytestokey": "^1.0.0" + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" } }, - "browserify-des": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", - "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, - "requires": { - "cipher-base": "^1.0.1", - "des.js": "^1.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "browserify-rsa": { - "version": "4.0.1", - "resolved": "http://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", - "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", "dev": true, - "requires": { - "bn.js": "^4.1.0", - "randombytes": "^2.0.1" - }, "dependencies": { - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true - } + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "browserify-sign": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", - "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", - "dev": true, - "requires": { - "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" - }, - "dependencies": { - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true - } + "node_modules/ansi-escapes/node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "browserify-zlib": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", - "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "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, - "requires": { - "pako": "~1.0.5" + "engines": { + "node": ">=8" } }, - "browserslist": { - "version": "4.7.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.7.2.tgz", - "integrity": "sha512-uZavT/gZXJd2UTi9Ov7/Z340WOSQ3+m1iBVRUknf+okKxonL9P83S3ctiBDtuRmRu8PiCHjqyueqQ9HYlJhxiw==", + "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, - "requires": { - "caniuse-lite": "^1.0.30001004", - "electron-to-chromium": "^1.3.295", - "node-releases": "^1.1.38" + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "bs-recipes": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/bs-recipes/-/bs-recipes-1.3.4.tgz", - "integrity": "sha1-DS1NSKcYyMBEdp/cT4lZLci2lYU=", - "dev": true + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "devOptional": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } }, - "bs-snippet-injector": { + "node_modules/argparse": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/bs-snippet-injector/-/bs-snippet-injector-2.0.1.tgz", - "integrity": "sha1-YbU5PxH1JVntEgaTEANDtu2wTdU=", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, - "bser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "node_modules/aria-query": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", + "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", "dev": true, - "requires": { - "node-int64": "^0.4.0" + "dependencies": { + "dequal": "^2.0.3" } }, - "buffer": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", - "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", + "node_modules/array-buffer-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", + "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", "dev": true, - "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" + "dependencies": { + "call-bind": "^1.0.2", + "is-array-buffer": "^3.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", - "dev": true - }, - "buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", - "dev": true - }, - "builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", - "dev": true - }, - "bytes": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", - "dev": true - }, - "cacache": { - "version": "10.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-10.0.4.tgz", - "integrity": "sha512-Dph0MzuH+rTQzGPNT9fAnrPmMmjKfST6trxJeK7NQuHRaVw24VzPRWTmg9MpcwOVQZO0E1FBICUlFeNaKPIfHA==", - "dev": true, - "requires": { - "bluebird": "^3.5.1", - "chownr": "^1.0.1", - "glob": "^7.1.2", - "graceful-fs": "^4.1.11", - "lru-cache": "^4.1.1", - "mississippi": "^2.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "promise-inflight": "^1.0.1", - "rimraf": "^2.6.2", - "ssri": "^5.2.4", - "unique-filename": "^1.1.0", - "y18n": "^4.0.0" - }, - "dependencies": { - "bluebird": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.3.tgz", - "integrity": "sha512-/qKPUQlaW1OyR51WeCPBvRnAlnZFUJkCSG5HzGnuIqhgyJtF+T94lFnn33eiazjRm2LAHVy2guNnaq48X9SJuw==", - "dev": true - }, - "y18n": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", - "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", - "dev": true - } + "node_modules/array-includes": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.7.tgz", + "integrity": "sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha1-Cn9GQWgxyLZi7jb+TnxZ129marI=", - "dev": true, - "requires": { - "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" - } - }, - "callsite": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", - "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=", - "dev": true - }, - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true - }, - "camel-case": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", - "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", + "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, - "requires": { - "no-case": "^2.2.0", - "upper-case": "^1.1.1" + "engines": { + "node": ">=8" } }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" - }, - "camelcase-keys": { - "version": "2.1.0", - "resolved": "http://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", - "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", + "node_modules/array.prototype.findlastindex": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.3.tgz", + "integrity": "sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==", "dev": true, - "requires": { - "camelcase": "^2.0.0", - "map-obj": "^1.0.0" - }, "dependencies": { - "camelcase": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", - "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", - "dev": true - } + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0", + "get-intrinsic": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "caniuse-lite": { - "version": "1.0.30001005", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001005.tgz", - "integrity": "sha512-g78miZm1Z5njjYR216a5812oPiLgV1ssndgGxITHWUopmjUrCswMisA0a2kSB7a0vZRox6JOKhM51+efmYN8Mg==", - "dev": true + "node_modules/array.prototype.flat": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", + "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "canvas": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/canvas/-/canvas-2.6.1.tgz", - "integrity": "sha512-S98rKsPcuhfTcYbtF53UIJhcbgIAK533d1kJKMwsMwAIFgfd58MOyxRud3kktlzWiEkFliaJtvyZCBtud/XVEA==", + "node_modules/array.prototype.flatmap": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", + "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", "dev": true, - "requires": { - "nan": "^2.14.0", - "node-pre-gyp": "^0.11.0", - "simple-get": "^3.0.3" + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.tosorted": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.2.tgz", + "integrity": "sha512-HuQCHOlk1Weat5jzStICBCd83NxiIMwqDg/dHEsoefabn/hJRj5pVdWcPUSpRrwhwxZOsQassMpgN/xRYFBMIg==", + "dev": true, "dependencies": { - "nan": { - "version": "2.14.1", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.1.tgz", - "integrity": "sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw==", - "dev": true - }, - "node-pre-gyp": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.11.0.tgz", - "integrity": "sha512-TwWAOZb0j7e9eGaf9esRx3ZcLaE5tQ2lvYy1pb5IAaG1a2e2Kv5Lms1Y4hpj+ciXJRofIxxlt5haeQ/2ANeE0Q==", - "dev": true, - "requires": { - "detect-libc": "^1.0.2", - "mkdirp": "^0.5.1", - "needle": "^2.2.1", - "nopt": "^4.0.1", - "npm-packlist": "^1.1.6", - "npmlog": "^4.0.2", - "rc": "^1.2.7", - "rimraf": "^2.6.1", - "semver": "^5.3.0", - "tar": "^4" - } - } + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0", + "get-intrinsic": "^1.2.1" } }, - "capture-exit": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz", - "integrity": "sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==", + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz", + "integrity": "sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==", "dev": true, - "requires": { - "rsvp": "^4.8.4" + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", + "is-array-buffer": "^3.0.2", + "is-shared-array-buffer": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "capture-stack-trace": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz", - "integrity": "sha512-mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw==", + "node_modules/ast-types-flow": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", + "integrity": "sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==", "dev": true }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" - }, - "center-align": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", - "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", - "requires": { - "align-text": "^0.1.3", - "lazy-cache": "^1.0.3" + "node_modules/asynciterator.prototype": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/asynciterator.prototype/-/asynciterator.prototype-1.0.0.tgz", + "integrity": "sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.3" } }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - } - }, - "change-case": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/change-case/-/change-case-2.3.1.tgz", - "integrity": "sha1-LE/ePwY7tB0AzWjg1aCdthy+iU8=", - "requires": { - "camel-case": "^1.1.1", - "constant-case": "^1.1.0", - "dot-case": "^1.1.0", - "is-lower-case": "^1.1.0", - "is-upper-case": "^1.1.0", - "lower-case": "^1.1.1", - "lower-case-first": "^1.0.0", - "param-case": "^1.1.0", - "pascal-case": "^1.1.0", - "path-case": "^1.1.0", - "sentence-case": "^1.1.1", - "snake-case": "^1.1.0", - "swap-case": "^1.1.0", - "title-case": "^1.1.0", - "upper-case": "^1.1.1", - "upper-case-first": "^1.1.0" - }, - "dependencies": { - "camel-case": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-1.2.2.tgz", - "integrity": "sha1-Gsp8TRlTWaLOmVV5NDPG5VQlEfI=", - "requires": { - "sentence-case": "^1.1.1", - "upper-case": "^1.1.1" - } - }, - "param-case": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/param-case/-/param-case-1.1.2.tgz", - "integrity": "sha1-3LCRpDwlm5Io8cNB57akTqC/l0M=", - "requires": { - "sentence-case": "^1.1.2" - } - } - } - }, - "chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", - "dev": true - }, - "cheerio": { - "version": "1.0.0-rc.2", - "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.2.tgz", - "integrity": "sha1-S59TqBsn5NXawxwP/Qz6A8xoMNs=", - "dev": true, - "requires": { - "css-select": "~1.2.0", - "dom-serializer": "~0.1.0", - "entities": "~1.1.1", - "htmlparser2": "^3.9.1", - "lodash": "^4.15.0", - "parse5": "^3.0.1" - } - }, - "chokidar": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.3.tgz", - "integrity": "sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ==", - "dev": true, - "requires": { - "anymatch": "~3.1.1", - "braces": "~3.0.2", - "fsevents": "~2.1.2", - "glob-parent": "~5.1.0", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.5.0" - }, - "dependencies": { - "anymatch": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", - "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", - "dev": true, - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "binary-extensions": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz", - "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==", - "dev": true - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "fsevents": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", - "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", - "dev": true, - "optional": true - }, - "glob-parent": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", - "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", - "dev": true, - "requires": { - "is-glob": "^4.0.1" - } - }, - "is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "requires": { - "binary-extensions": "^2.0.0" - } - }, - "is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } - }, - "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 - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true - }, - "readdirp": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", - "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", - "dev": true, - "requires": { - "picomatch": "^2.2.1" - } - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } - } - } - }, - "chownr": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.1.tgz", - "integrity": "sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==" - }, - "chrome-trace-event": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", - "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } - }, - "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 - }, - "cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha1-+TNprouafOAv1B+q0MqDAzGQxGM=", - "dev": true, - "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, - "clean-css": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.1.tgz", - "integrity": "sha512-4ZxI6dy4lrY6FHzfiy1aEOXgu4LIsW2MhwG0VBKdcoGoH/XLFgaHSdLTGr4O8Be6A8r3MOphEiI8Gc1n0ecf3g==", - "dev": true, - "requires": { - "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 - } - } - }, - "clean-webpack-plugin": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/clean-webpack-plugin/-/clean-webpack-plugin-1.0.1.tgz", - "integrity": "sha512-gvwfMsqu3HBgTVvaBa1H3AZKO03CHpr5uP92SPIktP3827EovAitwW+1xoqXyTxCuXnLYpMHG5ytS4AoukHDWA==", - "dev": true, - "requires": { - "rimraf": "^2.6.1" - } - }, - "cli-boxes": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-1.0.0.tgz", - "integrity": "sha1-T6kXw+WclKAEzWH47lCdplFocUM=", - "dev": true - }, - "cli-cursor": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", - "dev": true, - "requires": { - "restore-cursor": "^2.0.0" - } - }, - "cli-width": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", - "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=", - "dev": true - }, - "cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", - "dev": true, - "requires": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } - } - }, - "clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - } - }, - "co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", - "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=" - }, - "codecov": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/codecov/-/codecov-3.8.1.tgz", - "integrity": "sha512-Qm7ltx1pzLPsliZY81jyaQ80dcNR4/JpcX0IHCIWrHBXgseySqbdbYfkdiXd7o/xmzQpGRVCKGYeTrHUpn6Dcw==", - "dev": true, - "requires": { - "argv": "0.0.2", - "ignore-walk": "3.0.3", - "js-yaml": "3.14.0", - "teeny-request": "6.0.1", - "urlgrey": "0.4.4" - }, - "dependencies": { - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true - }, - "js-yaml": { - "version": "3.14.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", - "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - } - } - }, - "collect-v8-coverage": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", - "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==", - "dev": true - }, - "collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", - "dev": true, - "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha1-u3GFBpDh8TZWfeYp0tVHHe2kweg=", - "requires": { - "color-name": "1.1.3" - } - }, - "color-logger": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/color-logger/-/color-logger-0.0.6.tgz", - "integrity": "sha1-5WJF7ymCJlcRDHy3WpzXhstp7Rs=", - "dev": true - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "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==" - }, - "commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", - "dev": true - }, - "component-bind": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz", - "integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=" - }, - "component-emitter": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", - "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=" - }, - "component-inherit": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz", - "integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=" - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" - }, - "concat-stream": { - "version": "1.6.2", - "resolved": "http://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, - "configstore": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/configstore/-/configstore-3.1.2.tgz", - "integrity": "sha512-vtv5HtGjcYUgFrXc6Kx747B83MRRVS5R1VTEQoXvuP+kMI+if6uywV0nDGoiydJRy4yk7h9od5Og0kxx4zUXmw==", - "dev": true, - "requires": { - "dot-prop": "^4.1.0", - "graceful-fs": "^4.1.2", - "make-dir": "^1.0.0", - "unique-string": "^1.0.0", - "write-file-atomic": "^2.0.0", - "xdg-basedir": "^3.0.0" - } - }, - "confusing-browser-globals": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.9.tgz", - "integrity": "sha512-KbS1Y0jMtyPgIxjO7ZzMAuUpAKMt1SzCL9fsrKsX6b0zJPTaT0SiSPmewwVZg9UAO83HVIlEhZF84LIjZ0lmAw==", - "dev": true - }, - "connect": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", - "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", - "requires": { - "debug": "2.6.9", - "finalhandler": "1.1.2", - "parseurl": "~1.3.3", - "utils-merge": "1.0.1" - }, - "dependencies": { - "parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" - } - } - }, - "connect-history-api-fallback": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", - "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==", - "dev": true - }, - "console-browserify": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", - "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", - "dev": true - }, - "console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" - }, - "constant-case": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/constant-case/-/constant-case-1.1.2.tgz", - "integrity": "sha1-jsLKW6ND4Aqjjb9OIA/VrJB+/WM=", - "requires": { - "snake-case": "^1.1.0", - "upper-case": "^1.1.1" - } - }, - "constants-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", - "dev": true - }, - "contains-path": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz", - "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=", - "dev": true - }, - "convert-source-map": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", - "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", - "requires": { - "safe-buffer": "~5.1.1" - } - }, - "cookie": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", - "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=", - "dev": true - }, - "copy-concurrently": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", - "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", - "dev": true, - "requires": { - "aproba": "^1.1.1", - "fs-write-stream-atomic": "^1.0.8", - "iferr": "^0.1.5", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.0" - } - }, - "copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", - "dev": true - }, - "copy-webpack-plugin": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-4.6.0.tgz", - "integrity": "sha512-Y+SQCF+0NoWQryez2zXn5J5knmr9z/9qSQt7fbL78u83rxmigOy8X5+BFn8CFSuX+nKT8gpYwJX68ekqtQt6ZA==", - "dev": true, - "requires": { - "cacache": "^10.0.4", - "find-cache-dir": "^1.0.0", - "globby": "^7.1.1", - "is-glob": "^4.0.0", - "loader-utils": "^1.1.0", - "minimatch": "^3.0.4", - "p-limit": "^1.0.0", - "serialize-javascript": "^1.4.0" - } - }, - "core-js": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.1.tgz", - "integrity": "sha1-h0Fq6BfelXo/JJs7XKR11KrtYEI=", - "dev": true - }, - "core-js-compat": { - "version": "3.6.5", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.6.5.tgz", - "integrity": "sha512-7ItTKOhOZbznhXAQ2g/slGg1PJV5zDO/WdkTwi7UEOJmkvsE32PWvx6mKtDjiMpjnR2CNf6BAD6sSxIlv7ptng==", - "requires": { - "browserslist": "^4.8.5", - "semver": "7.0.0" - }, - "dependencies": { - "browserslist": { - "version": "4.14.5", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.14.5.tgz", - "integrity": "sha512-Z+vsCZIvCBvqLoYkBFTwEYH3v5MCQbsAjp50ERycpOjnPmolg1Gjy4+KaWWpm8QOJt9GHkhdqAl14NpCX73CWA==", - "requires": { - "caniuse-lite": "^1.0.30001135", - "electron-to-chromium": "^1.3.571", - "escalade": "^3.1.0", - "node-releases": "^1.1.61" - } - }, - "caniuse-lite": { - "version": "1.0.30001151", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001151.tgz", - "integrity": "sha512-Zh3sHqskX6mHNrqUerh+fkf0N72cMxrmflzje/JyVImfpknscMnkeJrlFGJcqTmaa0iszdYptGpWMJCRQDkBVw==" - }, - "electron-to-chromium": { - "version": "1.3.584", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.584.tgz", - "integrity": "sha512-NB3DzrTzJFhWkUp+nl2KtUtoFzrfGXTir2S+BU4tXGyXH9vlluPuFpE3pTKeH7+PY460tHLjKzh6K2+TWwW+Ww==" - }, - "node-releases": { - "version": "1.1.64", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.64.tgz", - "integrity": "sha512-Iec8O9166/x2HRMJyLLLWkd0sFFLrFNy+Xf+JQfSQsdBJzPcHpNl3JQ9gD4j+aJxmCa25jNsIbM4bmACtSbkSg==" - }, - "semver": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", - "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==" - } - } - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" - }, - "cosmiconfig": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-4.0.0.tgz", - "integrity": "sha512-6e5vDdrXZD+t5v0L8CrurPeybg4Fmf+FCSYxXKYVAqLUtyCSbuyqE059d0kDthTNRzKVjL7QMgNpEUlsoYH3iQ==", - "dev": true, - "requires": { - "is-directory": "^0.3.1", - "js-yaml": "^3.9.0", - "parse-json": "^4.0.0", - "require-from-string": "^2.0.1" - }, - "dependencies": { - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dev": true, - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } - } - } - }, - "create-ecdh": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", - "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "elliptic": "^6.5.3" - }, - "dependencies": { - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true - } - } - }, - "create-error-class": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", - "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", - "dev": true, - "requires": { - "capture-stack-trace": "^1.0.0" - } - }, - "create-hash": { - "version": "1.2.0", - "resolved": "http://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", - "dev": true, - "requires": { - "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": { - "version": "1.1.7", - "resolved": "http://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", - "dev": true, - "requires": { - "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" - } - }, - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dev": true, - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "crypto-browserify": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", - "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", - "dev": true, - "requires": { - "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" - } - }, - "crypto-random-string": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz", - "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=", - "dev": true - }, - "css-blank-pseudo": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-0.1.4.tgz", - "integrity": "sha512-LHz35Hr83dnFeipc7oqFDmsjHdljj3TQtxGGiNWSOsTLIAubSm4TEz8qCaKFpk7idaQ1GfWscF4E6mgpBysA1w==", - "dev": true, - "requires": { - "postcss": "^7.0.5" - } - }, - "css-has-pseudo": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-0.10.0.tgz", - "integrity": "sha512-Z8hnfsZu4o/kt+AuFzeGpLVhFOGO9mluyHBaA2bA8aCGTwah5sT3WV/fTHH8UNZUytOIImuGPrl/prlb4oX4qQ==", - "dev": true, - "requires": { - "postcss": "^7.0.6", - "postcss-selector-parser": "^5.0.0-rc.4" - }, - "dependencies": { - "cssesc": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", - "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==", - "dev": true - }, - "postcss-selector-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", - "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", - "dev": true, - "requires": { - "cssesc": "^2.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - } - } - }, - "css-loader": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-2.1.1.tgz", - "integrity": "sha512-OcKJU/lt232vl1P9EEDamhoO9iKY3tIjY5GU+XDLblAykTdgs6Ux9P1hTHve8nFKy5KPpOXOsVI/hIwi3841+w==", - "dev": true, - "requires": { - "camelcase": "^5.2.0", - "icss-utils": "^4.1.0", - "loader-utils": "^1.2.3", - "normalize-path": "^3.0.0", - "postcss": "^7.0.14", - "postcss-modules-extract-imports": "^2.0.0", - "postcss-modules-local-by-default": "^2.0.6", - "postcss-modules-scope": "^2.1.0", - "postcss-modules-values": "^2.0.0", - "postcss-value-parser": "^3.3.0", - "schema-utils": "^1.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "dependencies": { - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true - }, - "postcss": { - "version": "7.0.21", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.21.tgz", - "integrity": "sha512-uIFtJElxJo29QC753JzhidoAhvp/e/Exezkdhfmt8AymWT6/5B7W1WmponYWkHk2eg6sONyTch0A3nkMPun3SQ==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "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 - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "css-prefers-color-scheme": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-3.1.1.tgz", - "integrity": "sha512-MTu6+tMs9S3EUqzmqLXEcgNRbNkkD/TGFvowpeoWJn5Vfq7FMgsmRQs9X5NXAURiOBmOxm/lLjsDNXDE6k9bhg==", - "dev": true, - "requires": { - "postcss": "^7.0.5" - } - }, - "css-select": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", - "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", - "dev": true, - "requires": { - "boolbase": "~1.0.0", - "css-what": "2.1", - "domutils": "1.5.1", - "nth-check": "~1.0.1" - } - }, - "css-what": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.2.tgz", - "integrity": "sha1-wIdtnQSAkn19SSDc1yrzWVZJVU0=", - "dev": true - }, - "cssdb": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-4.4.0.tgz", - "integrity": "sha512-LsTAR1JPEM9TpGhl/0p3nQecC2LJ0kD8X5YARu1hk/9I1gril5vDtMZyNxcEpxxDj34YNck/ucjuoUd66K03oQ==", - "dev": true - }, - "cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "dev": true - }, - "cssom": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.4.tgz", - "integrity": "sha512-+7prCSORpXNeR4/fUP3rL+TzqtiFfhMvTd7uEqMdgPvLPt4+uzFUeufx5RHjGTACCargg/DiEt/moMQmvnfkog==", - "dev": true, - "optional": true - }, - "cssstyle": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", - "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", - "dev": true, - "requires": { - "cssom": "~0.3.6" - }, - "dependencies": { - "cssom": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", - "dev": true - } - } - }, - "currently-unhandled": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", - "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", - "dev": true, - "requires": { - "array-find-index": "^1.0.1" - } - }, - "cyclist": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-0.2.2.tgz", - "integrity": "sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA=", - "dev": true - }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "requires": { - "assert-plus": "^1.0.0" - } - }, - "data-urls": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz", - "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==", - "dev": true, - "requires": { - "abab": "^2.0.0", - "whatwg-mimetype": "^2.2.0", - "whatwg-url": "^7.0.0" - } - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", - "requires": { - "ms": "2.0.0" - } - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" - }, - "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=", - "dev": true - }, - "decompress-response": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-4.2.1.tgz", - "integrity": "sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw==", - "dev": true, - "requires": { - "mimic-response": "^2.0.0" - } - }, - "deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" - }, - "deep-is": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", - "dev": true - }, - "deepmerge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", - "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", - "dev": true - }, - "define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha1-z4jabL7ib+bbcJT2HYcMvYTO6fE=", - "requires": { - "object-keys": "^1.0.12" - } - }, - "define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha1-1Flono1lS6d+AqgX+HENcCyxbp0=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - }, - "dependencies": { - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" - }, - "delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" - }, - "depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" - }, - "des.js": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", - "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } - }, - "destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" - }, - "detect-file": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", - "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=", - "dev": true - }, - "detect-indent": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", - "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", - "dev": true, - "requires": { - "repeating": "^2.0.0" - } - }, - "detect-libc": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", - "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=" - }, - "detect-newline": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", - "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", - "dev": true - }, - "dev-ip": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/dev-ip/-/dev-ip-1.0.1.tgz", - "integrity": "sha1-p2o+0YVb56ASu4rBbLgPPADcKPA=", - "dev": true - }, - "diff-sequences": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-25.2.6.tgz", - "integrity": "sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg==", - "dev": true - }, - "diffie-hellman": { - "version": "5.0.3", - "resolved": "http://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", - "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "miller-rabin": "^4.0.0", - "randombytes": "^2.0.0" - }, - "dependencies": { - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true - } - } - }, - "dir-glob": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz", - "integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==", - "dev": true, - "requires": { - "arrify": "^1.0.1", - "path-type": "^3.0.0" - }, - "dependencies": { - "path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", - "dev": true, - "requires": { - "pify": "^3.0.0" - } - } - } - }, - "dlv": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", - "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", - "dev": true - }, - "doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "requires": { - "esutils": "^2.0.2" - } - }, - "dom-converter": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", - "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", - "dev": true, - "requires": { - "utila": "~0.4" - } - }, - "dom-serializer": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz", - "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=", - "dev": true, - "requires": { - "domelementtype": "~1.1.1", - "entities": "~1.1.1" - }, - "dependencies": { - "domelementtype": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz", - "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=", - "dev": true - } - } - }, - "domain-browser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", - "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", - "dev": true - }, - "domelementtype": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", - "integrity": "sha1-0EjESzew0Qp/Kj1f7j9DM9eQSB8=", - "dev": true - }, - "domexception": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz", - "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==", - "dev": true, - "requires": { - "webidl-conversions": "^4.0.2" - } - }, - "domhandler": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", - "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", - "dev": true, - "requires": { - "domelementtype": "1" - } - }, - "domutils": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", - "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", - "dev": true, - "requires": { - "dom-serializer": "0", - "domelementtype": "1" - } - }, - "dot-case": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-1.1.2.tgz", - "integrity": "sha1-HnOCaQDeKNbeVIC8HeMdCEKwa+w=", - "requires": { - "sentence-case": "^1.1.2" - } - }, - "dot-prop": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.1.tgz", - "integrity": "sha512-l0p4+mIuJIua0mhxGoh4a+iNL9bmeK5DvnSVQa6T0OhrVmaEa1XScX5Etc673FePCJOArq/4Pa2cLGODUWTPOQ==", - "dev": true, - "requires": { - "is-obj": "^1.0.0" - } - }, - "duplexer3": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", - "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", - "dev": true - }, - "duplexify": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.6.1.tgz", - "integrity": "sha512-vM58DwdnKmty+FSPzT14K9JXb90H+j5emaR4KYbr2KTIz00WHGbWOe5ghQTx233ZCLZtrGDALzKwcjEtSt35mA==", - "dev": true, - "requires": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" - } - }, - "easy-extender": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/easy-extender/-/easy-extender-2.3.4.tgz", - "integrity": "sha512-8cAwm6md1YTiPpOvDULYJL4ZS6WfM5/cTeVVh4JsvyYZAoqlRVUpHL9Gr5Fy7HA6xcSZicUia3DeAgO3Us8E+Q==", - "dev": true, - "requires": { - "lodash": "^4.17.10" - } - }, - "eazy-logger": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/eazy-logger/-/eazy-logger-3.1.0.tgz", - "integrity": "sha512-/snsn2JqBtUSSstEl4R0RKjkisGHAhvYj89i7r3ytNUKW12y178KDZwXLXIgwDqLW6E/VRMT9qfld7wvFae8bQ==", - "dev": true, - "requires": { - "tfunk": "^4.0.0" - } - }, - "ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", - "requires": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, - "ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" - }, - "electron-to-chromium": { - "version": "1.3.296", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.296.tgz", - "integrity": "sha512-s5hv+TSJSVRsxH190De66YHb50pBGTweT9XGWYu/LMR20KX6TsjFzObo36CjVAzM+PUeeKSBRtm/mISlCzeojQ==", - "dev": true - }, - "elliptic": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.3.tgz", - "integrity": "sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw==", - "dev": true, - "requires": { - "bn.js": "^4.4.0", - "brorand": "^1.0.1", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.0" - }, - "dependencies": { - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true - } - } - }, - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "emojis-list": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", - "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", - "dev": true - }, - "encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" - }, - "end-of-stream": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", - "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", - "dev": true, - "requires": { - "once": "^1.4.0" - } - }, - "engine.io": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.5.0.tgz", - "integrity": "sha512-21HlvPUKaitDGE4GXNtQ7PLP0Sz4aWLddMPw2VTyFz1FVZqu/kZsJUO8WNpKuE/OCL7nkfRaOui2ZCJloGznGA==", - "requires": { - "accepts": "~1.3.4", - "base64id": "2.0.0", - "cookie": "~0.4.1", - "debug": "~4.1.0", - "engine.io-parser": "~2.2.0", - "ws": "~7.4.2" - }, - "dependencies": { - "base64id": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", - "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==" - }, - "cookie": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz", - "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==" - }, - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" - }, - "ws": { - "version": "7.4.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.2.tgz", - "integrity": "sha512-T4tewALS3+qsrpGI/8dqNMLIVdq/g/85U98HPMa6F0m6xTbvhXU6RCQLqPH3+SlomNV/LdY6RXEbBpMH6EOJnA==" - } - } - }, - "engine.io-client": { - "version": "3.4.4", - "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.4.4.tgz", - "integrity": "sha512-iU4CRr38Fecj8HoZEnFtm2EiKGbYZcPn3cHxqNGl/tmdWRf60KhK+9vE0JeSjgnlS/0oynEfLgKbT9ALpim0sQ==", - "requires": { - "component-emitter": "~1.3.0", - "component-inherit": "0.0.3", - "debug": "~3.1.0", - "engine.io-parser": "~2.2.0", - "has-cors": "1.1.0", - "indexof": "0.0.1", - "parseqs": "0.0.6", - "parseuri": "0.0.6", - "ws": "~6.1.0", - "xmlhttprequest-ssl": "~1.5.4", - "yeast": "0.1.2" - }, - "dependencies": { - "component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" - }, - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "requires": { - "ms": "2.0.0" - } - }, - "ws": { - "version": "6.1.4", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.1.4.tgz", - "integrity": "sha512-eqZfL+NE/YQc1/ZynhojeV8q+H050oR8AZ2uIev7RU10svA9ZnJUddHcOUZTJLinZ9yEfdA2kSATS2qZK5fhJA==", - "requires": { - "async-limiter": "~1.0.0" - } - } - } - }, - "engine.io-parser": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.2.1.tgz", - "integrity": "sha512-x+dN/fBH8Ro8TFwJ+rkB2AmuVw9Yu2mockR/p3W8f8YtExwFgDvBDi0GWyb4ZLkpahtDGZgtr3zLovanJghPqg==", - "requires": { - "after": "0.8.2", - "arraybuffer.slice": "~0.0.7", - "base64-arraybuffer": "0.1.4", - "blob": "0.0.5", - "has-binary2": "~1.0.2" - }, - "dependencies": { - "base64-arraybuffer": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.4.tgz", - "integrity": "sha1-mBjHngWbE1X5fgQooBfIOOkLqBI=" - } - } - }, - "enhanced-resolve": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.3.0.tgz", - "integrity": "sha512-3e87LvavsdxyoCfGusJnrZ5G8SLPOFeHSNpZI/ATL9a5leXo2k0w6MKnbqhdBad9qTobSfB20Ld7UmgoNbAZkQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.5.0", - "tapable": "^1.0.0" - }, - "dependencies": { - "memory-fs": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", - "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", - "dev": true, - "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - } - } - } - }, - "entities": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", - "integrity": "sha1-vfpzUplmTfr9NFKe1PhSKidf6lY=", - "dev": true - }, - "errno": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", - "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", - "dev": true, - "requires": { - "prr": "~1.0.1" - } - }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, - "requires": { - "is-arrayish": "^0.2.1" - } - }, - "es-abstract": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.12.0.tgz", - "integrity": "sha1-nbvdJ8aFbwABQhyhh4LXhr+KYWU=", - "dev": true, - "requires": { - "es-to-primitive": "^1.1.1", - "function-bind": "^1.1.1", - "has": "^1.0.1", - "is-callable": "^1.1.3", - "is-regex": "^1.0.4" - } - }, - "es-to-primitive": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz", - "integrity": "sha1-7fckeAM0VujdqO8J4ArZZQcH83c=", - "dev": true, - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" - }, - "escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" - }, - "escodegen": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.11.0.tgz", - "integrity": "sha512-IeMV45ReixHS53K/OmfKAIztN/igDHzTJUhZM3k1jMhIZWjk45SMwAtBsEXiJp3vSPmTcu6CXn7mDvFHRN66fw==", - "dev": true, - "optional": true, - "requires": { - "esprima": "^3.1.3", - "estraverse": "^4.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.6.1" - }, - "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, - "optional": true - } - } - }, - "esdoc": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/esdoc/-/esdoc-1.1.0.tgz", - "integrity": "sha512-vsUcp52XJkOWg9m1vDYplGZN2iDzvmjDL5M/Mp8qkoDG3p2s0yIQCIjKR5wfPBaM3eV14a6zhQNYiNTCVzPnxA==", - "dev": true, - "requires": { - "babel-generator": "6.26.1", - "babel-traverse": "6.26.0", - "babylon": "6.18.0", - "cheerio": "1.0.0-rc.2", - "color-logger": "0.0.6", - "escape-html": "1.0.3", - "fs-extra": "5.0.0", - "ice-cap": "0.0.4", - "marked": "0.3.19", - "minimist": "1.2.0", - "taffydb": "2.7.3" - }, - "dependencies": { - "fs-extra": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-5.0.0.tgz", - "integrity": "sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6" - } - } - } - }, - "esdoc-accessor-plugin": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/esdoc-accessor-plugin/-/esdoc-accessor-plugin-1.0.0.tgz", - "integrity": "sha1-eRukhy5sQDUVznSbE0jW8Ck62es=", - "dev": true - }, - "esdoc-brand-plugin": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/esdoc-brand-plugin/-/esdoc-brand-plugin-1.0.1.tgz", - "integrity": "sha512-Yv9j3M7qk5PSLmSeD6MbPsfIsEf8K43EdH8qZpE/GZwnJCRVmDPrZJ1cLDj/fPu6P35YqgcEaJK4E2NL/CKA7g==", - "dev": true, - "requires": { - "cheerio": "0.22.0" - }, - "dependencies": { - "cheerio": { - "version": "0.22.0", - "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-0.22.0.tgz", - "integrity": "sha1-qbqoYKP5tZWmuBsahocxIe06Jp4=", - "dev": true, - "requires": { - "css-select": "~1.2.0", - "dom-serializer": "~0.1.0", - "entities": "~1.1.1", - "htmlparser2": "^3.9.1", - "lodash.assignin": "^4.0.9", - "lodash.bind": "^4.1.4", - "lodash.defaults": "^4.0.1", - "lodash.filter": "^4.4.0", - "lodash.flatten": "^4.2.0", - "lodash.foreach": "^4.3.0", - "lodash.map": "^4.4.0", - "lodash.merge": "^4.4.0", - "lodash.pick": "^4.2.1", - "lodash.reduce": "^4.4.0", - "lodash.reject": "^4.4.0", - "lodash.some": "^4.4.0" - } - } - } - }, - "esdoc-coverage-plugin": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/esdoc-coverage-plugin/-/esdoc-coverage-plugin-1.1.0.tgz", - "integrity": "sha1-OGmGnNf4eJH5cmJXh2laKZrs5Fw=", - "dev": true - }, - "esdoc-ecmascript-proposal-plugin": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/esdoc-ecmascript-proposal-plugin/-/esdoc-ecmascript-proposal-plugin-1.0.0.tgz", - "integrity": "sha1-OQ3FZWuoooMOOdujVw15E43y/9k=", - "dev": true - }, - "esdoc-external-ecmascript-plugin": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/esdoc-external-ecmascript-plugin/-/esdoc-external-ecmascript-plugin-1.0.0.tgz", - "integrity": "sha1-ePVl1KDFGFrGMVJhTc4f4ahmiNs=", - "dev": true, - "requires": { - "fs-extra": "1.0.0" - }, - "dependencies": { - "fs-extra": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz", - "integrity": "sha1-zTzl9+fLYUWIP8rjGR6Yd/hYeVA=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^2.1.0", - "klaw": "^1.0.0" - } - }, - "jsonfile": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", - "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6" - } - } - } - }, - "esdoc-integrate-manual-plugin": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/esdoc-integrate-manual-plugin/-/esdoc-integrate-manual-plugin-1.0.0.tgz", - "integrity": "sha1-GFSmqhwIEDXXyMUeO91PtlqkcRw=", - "dev": true - }, - "esdoc-integrate-test-plugin": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/esdoc-integrate-test-plugin/-/esdoc-integrate-test-plugin-1.0.0.tgz", - "integrity": "sha1-4tDQAJD38MNeXS8sAzMnp55T5Ak=", - "dev": true - }, - "esdoc-lint-plugin": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/esdoc-lint-plugin/-/esdoc-lint-plugin-1.0.2.tgz", - "integrity": "sha512-24AYqD2WbZI9We02I7/6dzAa7yUliRTFUaJCZAcYJMQicJT5gUrNFVaI8XmWEN/mhF3szIn1uZBNWeLul4CmNw==", - "dev": true - }, - "esdoc-publish-html-plugin": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/esdoc-publish-html-plugin/-/esdoc-publish-html-plugin-1.1.2.tgz", - "integrity": "sha512-hG1fZmTcEp3P/Hv/qKiMdG1qSp8MjnVZMMkxL5P5ry7I2sX0HQ4P9lt2lms+90Lt0r340HHhSuVx107UL7dphg==", - "dev": true, - "requires": { - "babel-generator": "6.11.4", - "cheerio": "0.22.0", - "escape-html": "1.0.3", - "fs-extra": "1.0.0", - "ice-cap": "0.0.4", - "marked": "0.3.19", - "taffydb": "2.7.2" - }, - "dependencies": { - "babel-generator": { - "version": "6.11.4", - "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.11.4.tgz", - "integrity": "sha1-FPaTOrsgxiZm0n47e59bncBxKpo=", - "dev": true, - "requires": { - "babel-messages": "^6.8.0", - "babel-runtime": "^6.9.0", - "babel-types": "^6.10.2", - "detect-indent": "^3.0.1", - "lodash": "^4.2.0", - "source-map": "^0.5.0" - } - }, - "cheerio": { - "version": "0.22.0", - "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-0.22.0.tgz", - "integrity": "sha1-qbqoYKP5tZWmuBsahocxIe06Jp4=", - "dev": true, - "requires": { - "css-select": "~1.2.0", - "dom-serializer": "~0.1.0", - "entities": "~1.1.1", - "htmlparser2": "^3.9.1", - "lodash.assignin": "^4.0.9", - "lodash.bind": "^4.1.4", - "lodash.defaults": "^4.0.1", - "lodash.filter": "^4.4.0", - "lodash.flatten": "^4.2.0", - "lodash.foreach": "^4.3.0", - "lodash.map": "^4.4.0", - "lodash.merge": "^4.4.0", - "lodash.pick": "^4.2.1", - "lodash.reduce": "^4.4.0", - "lodash.reject": "^4.4.0", - "lodash.some": "^4.4.0" - } - }, - "detect-indent": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-3.0.1.tgz", - "integrity": "sha1-ncXl3bzu+DJXZLlFGwK8bVQIT3U=", - "dev": true, - "requires": { - "get-stdin": "^4.0.1", - "minimist": "^1.1.0", - "repeating": "^1.1.0" - } - }, - "fs-extra": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz", - "integrity": "sha1-zTzl9+fLYUWIP8rjGR6Yd/hYeVA=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^2.1.0", - "klaw": "^1.0.0" - } - }, - "jsonfile": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", - "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "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" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "taffydb": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/taffydb/-/taffydb-2.7.2.tgz", - "integrity": "sha1-e/gQalwaSCUbPjvAoOFzJIn9Dcg=", - "dev": true - } - } - }, - "esdoc-standard-plugin": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/esdoc-standard-plugin/-/esdoc-standard-plugin-1.0.0.tgz", - "integrity": "sha1-ZhIBysfvhokkkCRG/awVJyU8XU0=", - "dev": true, - "requires": { - "esdoc-accessor-plugin": "^1.0.0", - "esdoc-brand-plugin": "^1.0.0", - "esdoc-coverage-plugin": "^1.0.0", - "esdoc-external-ecmascript-plugin": "^1.0.0", - "esdoc-integrate-manual-plugin": "^1.0.0", - "esdoc-integrate-test-plugin": "^1.0.0", - "esdoc-lint-plugin": "^1.0.0", - "esdoc-publish-html-plugin": "^1.0.0", - "esdoc-type-inference-plugin": "^1.0.0", - "esdoc-undocumented-identifier-plugin": "^1.0.0", - "esdoc-unexported-identifier-plugin": "^1.0.0" - } - }, - "esdoc-type-inference-plugin": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/esdoc-type-inference-plugin/-/esdoc-type-inference-plugin-1.0.2.tgz", - "integrity": "sha512-tMIcEHNe1uhUGA7lT1UTWc9hs2dzthnTgmqXpmeUhurk7fL2tinvoH+IVvG/sLROzwOGZQS9zW/F9KWnpMzLIQ==", - "dev": true - }, - "esdoc-undocumented-identifier-plugin": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/esdoc-undocumented-identifier-plugin/-/esdoc-undocumented-identifier-plugin-1.0.0.tgz", - "integrity": "sha1-guBdNxwy0ShxFA8dXIHsmf2cwsg=", - "dev": true - }, - "esdoc-unexported-identifier-plugin": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/esdoc-unexported-identifier-plugin/-/esdoc-unexported-identifier-plugin-1.0.0.tgz", - "integrity": "sha1-H5h0xqfCvr+a05fDzrdcnGnaurE=", - "dev": true - }, - "eslint": { - "version": "5.16.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.16.0.tgz", - "integrity": "sha512-S3Rz11i7c8AA5JPv7xAH+dOyq/Cu/VXHiHXBPOU1k/JAM5dXqQPt3qcrhpHSorXmrpu2g0gkIBVXAqCpzfoZIg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "ajv": "^6.9.1", - "chalk": "^2.1.0", - "cross-spawn": "^6.0.5", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "eslint-scope": "^4.0.3", - "eslint-utils": "^1.3.1", - "eslint-visitor-keys": "^1.0.0", - "espree": "^5.0.1", - "esquery": "^1.0.1", - "esutils": "^2.0.2", - "file-entry-cache": "^5.0.1", - "functional-red-black-tree": "^1.0.1", - "glob": "^7.1.2", - "globals": "^11.7.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "inquirer": "^6.2.2", - "js-yaml": "^3.13.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.3.0", - "lodash": "^4.17.11", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.1", - "natural-compare": "^1.4.0", - "optionator": "^0.8.2", - "path-is-inside": "^1.0.2", - "progress": "^2.0.0", - "regexpp": "^2.0.1", - "semver": "^5.5.1", - "strip-ansi": "^4.0.0", - "strip-json-comments": "^2.0.1", - "table": "^5.2.3", - "text-table": "^0.2.0" - }, - "dependencies": { - "ajv": { - "version": "6.10.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz", - "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==", - "dev": true, - "requires": { - "fast-deep-equal": "^2.0.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "requires": { - "ms": "^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 - }, - "ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "dev": true - }, - "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 - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "eslint-config-airbnb-base": { - "version": "13.2.0", - "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-13.2.0.tgz", - "integrity": "sha512-1mg/7eoB4AUeB0X1c/ho4vb2gYkNH8Trr/EgCT/aGmKhhG+F6vF5s8+iRBlWAzFIAphxIdp3YfEKgEl0f9Xg+w==", - "dev": true, - "requires": { - "confusing-browser-globals": "^1.0.5", - "object.assign": "^4.1.0", - "object.entries": "^1.1.0" - } - }, - "eslint-import-resolver-node": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz", - "integrity": "sha512-ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA==", - "dev": true, - "requires": { - "debug": "^2.6.9", - "resolve": "^1.13.1" - }, - "dependencies": { - "resolve": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.18.1.tgz", - "integrity": "sha512-lDfCPaMKfOJXjy0dPayzPdF1phampNWr3qFCjAu+rw/qbQmr5jWH5xN2hwh9QKfw9E5v4hwV7A+jrCmL8yjjqA==", - "dev": true, - "requires": { - "is-core-module": "^2.0.0", - "path-parse": "^1.0.6" - } - } - } - }, - "eslint-module-utils": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz", - "integrity": "sha512-6j9xxegbqe8/kZY8cYpcp0xhbK0EgJlg3g9mib3/miLaExuuwc3n5UEfSnU6hWMbT0FAYVvDbL9RrRgpUeQIvA==", - "dev": true, - "requires": { - "debug": "^2.6.9", - "pkg-dir": "^2.0.0" - } - }, - "eslint-plugin-import": { - "version": "2.22.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.22.1.tgz", - "integrity": "sha512-8K7JjINHOpH64ozkAhpT3sd+FswIZTfMZTjdx052pnWrgRCVfp8op9tbjpAk3DdUeI/Ba4C8OjdC0r90erHEOw==", - "dev": true, - "requires": { - "array-includes": "^3.1.1", - "array.prototype.flat": "^1.2.3", - "contains-path": "^0.1.0", - "debug": "^2.6.9", - "doctrine": "1.5.0", - "eslint-import-resolver-node": "^0.3.4", - "eslint-module-utils": "^2.6.0", - "has": "^1.0.3", - "minimatch": "^3.0.4", - "object.values": "^1.1.1", - "read-pkg-up": "^2.0.0", - "resolve": "^1.17.0", - "tsconfig-paths": "^3.9.0" - }, - "dependencies": { - "doctrine": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", - "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", - "dev": true, - "requires": { - "esutils": "^2.0.2", - "isarray": "^1.0.0" - } - }, - "resolve": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.18.1.tgz", - "integrity": "sha512-lDfCPaMKfOJXjy0dPayzPdF1phampNWr3qFCjAu+rw/qbQmr5jWH5xN2hwh9QKfw9E5v4hwV7A+jrCmL8yjjqA==", - "dev": true, - "requires": { - "is-core-module": "^2.0.0", - "path-parse": "^1.0.6" - } - } - } - }, - "eslint-scope": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", - "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", - "dev": true, - "requires": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" - } - }, - "eslint-utils": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", - "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", - "dev": true, - "requires": { - "eslint-visitor-keys": "^1.1.0" - } - }, - "eslint-visitor-keys": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz", - "integrity": "sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==", - "dev": true - }, - "espree": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-5.0.1.tgz", - "integrity": "sha512-qWAZcWh4XE/RwzLJejfcofscgMc9CamR6Tn1+XRXNzrvUSSbiAjGOI/fggztjIi7y9VLPqnICMIPiGyr8JaZ0A==", - "dev": true, - "requires": { - "acorn": "^6.0.7", - "acorn-jsx": "^5.0.0", - "eslint-visitor-keys": "^1.0.0" - } - }, - "esprima": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", - "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=", - "dev": true, - "optional": true - }, - "esquery": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz", - "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==", - "dev": true, - "requires": { - "estraverse": "^4.0.0" - } - }, - "esrecurse": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", - "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", - "dev": true, - "requires": { - "estraverse": "^4.1.0" - } - }, - "estraverse": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", - "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", - "dev": true - }, - "esutils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", - "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=" - }, - "etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" - }, - "eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", - "dev": true - }, - "events": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.2.0.tgz", - "integrity": "sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg==", - "dev": true - }, - "evp_bytestokey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", - "dev": true, - "requires": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" - } - }, - "exec-sh": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.4.tgz", - "integrity": "sha512-sEFIkc61v75sWeOe72qyrqg2Qg0OuLESziUDk/O/z2qgS15y2gWVFrI6f2Qn/qw/0/NCfCEsmNA4zOjkwEZT1A==", - "dev": true - }, - "execa": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", - "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", - "dev": true, - "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.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" - }, - "dependencies": { - "cross-spawn": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", - "dev": true, - "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - } - } - }, - "exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", - "dev": true - }, - "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", - "dev": true, - "requires": { - "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" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "expand-tilde": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", - "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", - "dev": true, - "requires": { - "homedir-polyfill": "^1.0.1" - } - }, - "expect": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/expect/-/expect-25.5.0.tgz", - "integrity": "sha512-w7KAXo0+6qqZZhovCaBVPSIqQp7/UTcx4M9uKt2m6pd2VB1voyC8JizLRqeEqud3AAVP02g+hbErDu5gu64tlA==", - "dev": true, - "requires": { - "@jest/types": "^25.5.0", - "ansi-styles": "^4.0.0", - "jest-get-type": "^25.2.6", - "jest-matcher-utils": "^25.5.0", - "jest-message-util": "^25.5.0", - "jest-regex-util": "^25.2.6" - }, - "dependencies": { - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "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 - } - } - }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" - }, - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dev": true, - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "external-editor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", - "dev": true, - "requires": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - } - }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha1-rQD+TcYSqSMuhxhxHcXLWrAoVUM=", - "dev": true, - "requires": { - "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" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" - }, - "fast-deep-equal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", - "dev": true - }, - "fast-json-stable-stringify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", - "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=" - }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", - "dev": true - }, - "fb-watchman": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", - "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", - "dev": true, - "requires": { - "bser": "2.1.1" - } - }, - "figgy-pudding": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", - "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==", - "dev": true - }, - "figures": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", - "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.5" - } - }, - "file": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/file/-/file-0.2.2.tgz", - "integrity": "sha1-w9/Y+M81Na5FXCtCPC5SY112tNM=" - }, - "file-entry-cache": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", - "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", - "dev": true, - "requires": { - "flat-cache": "^2.0.1" - } - }, - "file-loader": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-3.0.1.tgz", - "integrity": "sha512-4sNIOXgtH/9WZq4NvlfU3Opn5ynUsqBwSLyM+I7UOwdGigTBYfVVQEwe/msZNX/j4pCJTIM14Fsw66Svo1oVrw==", - "dev": true, - "requires": { - "loader-utils": "^1.0.2", - "schema-utils": "^1.0.0" - } - }, - "file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", - "dev": true, - "optional": true - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "finalhandler": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", - "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", - "requires": { - "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" - }, - "dependencies": { - "parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" - } - } - }, - "find-cache-dir": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz", - "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^1.0.0", - "pkg-dir": "^2.0.0" - } - }, - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "requires": { - "locate-path": "^2.0.0" - } - }, - "findup-sync": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz", - "integrity": "sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==", - "dev": true, - "requires": { - "detect-file": "^1.0.0", - "is-glob": "^4.0.0", - "micromatch": "^3.0.4", - "resolve-dir": "^1.0.1" - } - }, - "flat-cache": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", - "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", - "dev": true, - "requires": { - "flatted": "^2.0.0", - "rimraf": "2.6.3", - "write": "1.0.3" - }, - "dependencies": { - "rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - } - } - }, - "flatted": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.1.tgz", - "integrity": "sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg==", - "dev": true - }, - "flatten": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/flatten/-/flatten-1.0.2.tgz", - "integrity": "sha1-2uRqnXj74lKSJYzB54CkHZXAN4I=", - "dev": true - }, - "flush-write-stream": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.0.3.tgz", - "integrity": "sha512-calZMC10u0FMUqoiunI2AiGIIUtUIvifNwkHhNupZH4cbNnW1Itkoh/Nf5HFYmDrwWPjrUxpkZT0KhuCq0jmGw==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.4" - } - }, - "follow-redirects": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.0.tgz", - "integrity": "sha512-aq6gF1BEKje4a9i9+5jimNFIpq4Q1WiwBToeRK5NvZBd/TRsmW8BsJfOEGkr76TbOyPVD3OVDN910EcUNtRYEA==", - "dev": true - }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", - "dev": true - }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" - }, - "form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - } - }, - "fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", - "dev": true, - "requires": { - "map-cache": "^0.2.2" - } - }, - "fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" - }, - "from2": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", - "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" - } - }, - "fs": { - "version": "0.0.1-security", - "resolved": "https://registry.npmjs.org/fs/-/fs-0.0.1-security.tgz", - "integrity": "sha1-invTcYa23d84E/I4WLV+yq9eQdQ=", - "dev": true - }, - "fs-extra": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-3.0.1.tgz", - "integrity": "sha1-N5TzeMWLNC6n27sjCVEJxLO2IpE=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^3.0.0", - "universalify": "^0.1.0" - } - }, - "fs-minipass": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz", - "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", - "requires": { - "minipass": "^2.6.0" - } - }, - "fs-readdir-recursive": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz", - "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==", - "dev": true - }, - "fs-write-stream-atomic": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", - "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "iferr": "^0.1.5", - "imurmurhash": "^0.1.4", - "readable-stream": "1 || 2" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "fsevents": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", - "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", - "dev": true, - "optional": true, - "requires": { - "bindings": "^1.5.0", - "nan": "^2.12.1" - } - }, - "fstream": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz", - "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "inherits": "~2.0.0", - "mkdirp": ">=0.5 0", - "rimraf": "2" - } - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0=" - }, - "functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", - "dev": true - }, - "gauge": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", - "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - } - }, - "gaze": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz", - "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==", - "dev": true, - "requires": { - "globule": "^1.0.0" - } - }, - "gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==" - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" - }, - "get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", - "dev": true - }, - "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": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", - "dev": true - }, - "get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", - "dev": true - }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "requires": { - "assert-plus": "^1.0.0" - } - }, - "glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", - "integrity": "sha1-OWCDLT8VdBCDQtr9OmezMsCWnfE=", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dev": true, - "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "requires": { - "is-extglob": "^2.1.0" - } - } - } - }, - "global-dirs": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", - "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=", - "dev": true, - "requires": { - "ini": "^1.3.4" - } - }, - "global-modules": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", - "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", - "dev": true, - "requires": { - "global-prefix": "^3.0.0" - }, - "dependencies": { - "global-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", - "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", - "dev": true, - "requires": { - "ini": "^1.3.5", - "kind-of": "^6.0.2", - "which": "^1.3.1" - } - } - } - }, - "global-prefix": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", - "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", - "dev": true, - "requires": { - "expand-tilde": "^2.0.2", - "homedir-polyfill": "^1.0.1", - "ini": "^1.3.4", - "is-windows": "^1.0.1", - "which": "^1.2.14" - } - }, - "globals": { - "version": "9.18.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", - "integrity": "sha1-qjiWs+abSH8X4x7SFD1pqOMMLYo=", - "dev": true - }, - "globby": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz", - "integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=", - "dev": true, - "requires": { - "array-union": "^1.0.1", - "dir-glob": "^2.0.0", - "glob": "^7.1.2", - "ignore": "^3.3.5", - "pify": "^3.0.0", - "slash": "^1.0.0" - }, - "dependencies": { - "slash": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", - "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", - "dev": true - } - } - }, - "globule": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/globule/-/globule-1.3.2.tgz", - "integrity": "sha512-7IDTQTIu2xzXkT+6mlluidnWo+BypnbSoEVVQCGfzqnl5Ik8d3e1d4wycb8Rj9tWW+Z39uPWsdlquqiqPCd/pA==", - "dev": true, - "requires": { - "glob": "~7.1.1", - "lodash": "~4.17.10", - "minimatch": "~3.0.2" - } - }, - "got": { - "version": "6.7.1", - "resolved": "https://registry.npmjs.org/got/-/got-6.7.1.tgz", - "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=", - "dev": true, - "requires": { - "create-error-class": "^3.0.0", - "duplexer3": "^0.1.4", - "get-stream": "^3.0.0", - "is-redirect": "^1.0.0", - "is-retry-allowed": "^1.0.0", - "is-stream": "^1.0.0", - "lowercase-keys": "^1.0.0", - "safe-buffer": "^5.0.1", - "timed-out": "^4.0.0", - "unzip-response": "^2.0.1", - "url-parse-lax": "^1.0.0" - } - }, - "graceful-fs": { - "version": "4.1.15", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", - "integrity": "sha1-/7cD4QZuig7qpMi4C6klPu77+wA=", - "dev": true - }, - "graceful-readlink": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", - "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=" - }, - "growly": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", - "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=", - "dev": true, - "optional": true - }, - "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" - }, - "har-validator": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", - "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", - "requires": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" - }, - "dependencies": { - "ajv": { - "version": "6.12.3", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.3.tgz", - "integrity": "sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA==", - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" - } - } - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha1-ci18v8H2qoJB8W3YFOAR4fQeh5Y=", - "dev": true, - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "has-binary2": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.3.tgz", - "integrity": "sha1-d3asYn8+p3JQz8My2rfd9eT10R0=", - "requires": { - "isarray": "2.0.1" - }, - "dependencies": { - "isarray": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", - "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=" - } - } - }, - "has-cors": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz", - "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=" - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" - }, - "has-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", - "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=" - }, - "has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" - }, - "has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", - "dev": true, - "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - } - }, - "has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "dependencies": { - "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "hash-base": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", - "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", - "dev": true, - "requires": { - "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - }, - "dependencies": { - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true - } - } - }, - "hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "dev": true - }, - "hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", - "dev": true, - "requires": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "homedir-polyfill": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", - "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", - "dev": true, - "requires": { - "parse-passwd": "^1.0.0" - } - }, - "hosted-git-info": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", - "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==", - "dev": true - }, - "html-encoding-sniffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz", - "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==", - "dev": true, - "requires": { - "whatwg-encoding": "^1.0.1" - } - }, - "html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true - }, - "html-minifier": { - "version": "3.5.21", - "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.21.tgz", - "integrity": "sha512-LKUKwuJDhxNa3uf/LPR/KVjm/l3rBqtYeCOAekvG8F1vItxMUpueGd94i/asDDr8/1u7InxzFA5EeGjhhG5mMA==", - "dev": true, - "requires": { - "camel-case": "3.0.x", - "clean-css": "4.2.x", - "commander": "2.17.x", - "he": "1.2.x", - "param-case": "2.1.x", - "relateurl": "0.2.x", - "uglify-js": "3.4.x" - }, - "dependencies": { - "commander": { - "version": "2.17.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", - "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==", - "dev": true - }, - "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 - }, - "uglify-js": { - "version": "3.4.9", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.9.tgz", - "integrity": "sha512-8CJsbKOtEbnJsTyv6LE6m6ZKniqMiFWmm9sRbopbkGs3gMPPfd3Fh8iIA4Ykv5MgaTbqHr4BaoGLJLZNhsrW1Q==", - "dev": true, - "requires": { - "commander": "~2.17.1", - "source-map": "~0.6.1" - } - } - } - }, - "html-webpack-plugin": { - "version": "3.2.0", - "resolved": "http://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-3.2.0.tgz", - "integrity": "sha1-sBq71yOsqqeze2r0SS69oD2d03s=", - "dev": true, - "requires": { - "html-minifier": "^3.2.3", - "loader-utils": "^0.2.16", - "lodash": "^4.17.3", - "pretty-error": "^2.0.2", - "tapable": "^1.0.0", - "toposort": "^1.0.0", - "util.promisify": "1.0.0" - }, - "dependencies": { - "big.js": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", - "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==", - "dev": true - }, - "json5": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", - "dev": true - }, - "loader-utils": { - "version": "0.2.17", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", - "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", - "dev": true, - "requires": { - "big.js": "^3.1.3", - "emojis-list": "^2.0.0", - "json5": "^0.5.0", - "object-assign": "^4.0.1" - } - } - } - }, - "htmlparser2": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.0.tgz", - "integrity": "sha512-J1nEUGv+MkXS0weHNWVKJJ+UrLfePxRWpN3C9bEi9fLxL2+ggW94DQvgYVXsaT30PGwYRIZKNZXuyMhp3Di4bQ==", - "dev": true, - "requires": { - "domelementtype": "^1.3.0", - "domhandler": "^2.3.0", - "domutils": "^1.5.1", - "entities": "^1.1.1", - "inherits": "^2.0.1", - "readable-stream": "^3.0.6" - }, - "dependencies": { - "readable-stream": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.1.1.tgz", - "integrity": "sha512-DkN66hPyqDhnIQ6Jcsvx9bFjhw214O4poMBcIMgPVpQvNy9a0e0Uhg5SqySyDKAmUlwt8LonTBz1ezOnM8pUdA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "http": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/http/-/http-0.0.0.tgz", - "integrity": "sha1-huYybSnF0Dnen6xYSkVon5KfT3I=" - }, - "http-errors": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz", - "integrity": "sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==", - "dev": true, - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.4", - "setprototypeof": "1.1.1", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" - }, - "dependencies": { - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - } - } - }, - "http-proxy": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", - "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", - "dev": true, - "requires": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" - } - }, - "http-proxy-agent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", - "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", - "dev": true, - "requires": { - "@tootallnate/once": "1", - "agent-base": "6", - "debug": "4" - }, - "dependencies": { - "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" - } - }, - "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 - } - } - }, - "http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", - "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - } - }, - "https-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", - "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", - "dev": true - }, - "https-proxy-agent": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-4.0.0.tgz", - "integrity": "sha512-zoDhWrkR3of1l9QAL8/scJZyLu8j/gBkcwcaQOZh7Gyh/+uJQzGVETdgT30akuwkpL8HTRfssqI3BZuV18teDg==", - "dev": true, - "requires": { - "agent-base": "5", - "debug": "4" - }, - "dependencies": { - "agent-base": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-5.1.1.tgz", - "integrity": "sha512-TMeqbNl2fMW0nMjTEPOwe3J/PRFP4vqeoNuQMG0HlMrtm5QxKqdvAkZ1pRBQ/ulIyDD5Yq0nJ7YbdD8ey0TO3g==", - "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" - } - }, - "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 - } - } - }, - "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 - }, - "ice-cap": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/ice-cap/-/ice-cap-0.0.4.tgz", - "integrity": "sha1-im0xq0ysjUtW3k+pRt8zUlYbbhg=", - "dev": true, - "requires": { - "cheerio": "0.20.0", - "color-logger": "0.0.3" - }, - "dependencies": { - "abab": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/abab/-/abab-1.0.4.tgz", - "integrity": "sha1-X6rZwsB/YN12dw9xzwJbYqY8/U4=", - "dev": true, - "optional": true - }, - "acorn": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-2.7.0.tgz", - "integrity": "sha1-q259nYhqrKiwhbwzEreaGYQz8Oc=", - "dev": true, - "optional": true - }, - "acorn-globals": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-1.0.9.tgz", - "integrity": "sha1-VbtemGkVB7dFedBRNBMhfDgMVM8=", - "dev": true, - "optional": true, - "requires": { - "acorn": "^2.1.0" - } - }, - "cheerio": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-0.20.0.tgz", - "integrity": "sha1-XHEPK6uVZTJyhCugHG6mGzVF7DU=", - "dev": true, - "requires": { - "css-select": "~1.2.0", - "dom-serializer": "~0.1.0", - "entities": "~1.1.1", - "htmlparser2": "~3.8.1", - "jsdom": "^7.0.2", - "lodash": "^4.1.0" - }, - "dependencies": { - "jsdom": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-7.2.2.tgz", - "integrity": "sha1-QLQCdwwr2iNGkJa+6Rq2deOx/G4=", - "dev": true, - "optional": true, - "requires": { - "abab": "^1.0.0", - "acorn": "^2.4.0", - "acorn-globals": "^1.0.4", - "cssom": ">= 0.3.0 < 0.4.0", - "cssstyle": ">= 0.2.29 < 0.3.0", - "escodegen": "^1.6.1", - "nwmatcher": ">= 1.3.7 < 2.0.0", - "parse5": "^1.5.1", - "request": "^2.55.0", - "sax": "^1.1.4", - "symbol-tree": ">= 3.1.0 < 4.0.0", - "tough-cookie": "^2.2.0", - "webidl-conversions": "^2.0.0", - "whatwg-url-compat": "~0.6.5", - "xml-name-validator": ">= 2.0.1 < 3.0.0" - } - } - } - }, - "color-logger": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/color-logger/-/color-logger-0.0.3.tgz", - "integrity": "sha1-2bIt0dlz4Waxi/MT+fSBu6TfIBg=", - "dev": true - }, - "cssstyle": { - "version": "0.2.37", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-0.2.37.tgz", - "integrity": "sha1-VBCXI0yyUTyDzu06zdwn/yeYfVQ=", - "dev": true, - "optional": true, - "requires": { - "cssom": "0.3.x" - } - }, - "domhandler": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz", - "integrity": "sha1-LeWaCCLVAn+r/28DLCsloqir5zg=", - "dev": true, - "requires": { - "domelementtype": "1" - } - }, - "htmlparser2": { - "version": "3.8.3", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz", - "integrity": "sha1-mWwosZFRaovoZQGn15dX5ccMEGg=", - "dev": true, - "requires": { - "domelementtype": "1", - "domhandler": "2.3", - "domutils": "1.5", - "entities": "1.0", - "readable-stream": "1.1" - }, - "dependencies": { - "entities": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.0.0.tgz", - "integrity": "sha1-sph6o4ITR/zeZCsk/fyeT7cSvyY=", - "dev": true - } - } - }, - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true - }, - "parse5": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-1.5.1.tgz", - "integrity": "sha1-m387DeMr543CQBsXVzzK8Pb1nZQ=", - "dev": true, - "optional": true - }, - "readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true - }, - "webidl-conversions": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-2.0.1.tgz", - "integrity": "sha1-O/glj30xjHRDw28uFpQCoaZwNQY=", - "dev": true, - "optional": true - }, - "xml-name-validator": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-2.0.1.tgz", - "integrity": "sha1-TYuPHszTQZqjYgYb7O9RXh5VljU=", - "dev": true, - "optional": true - } - } - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "icss-replace-symbols": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz", - "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=", - "dev": true - }, - "icss-utils": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-4.1.1.tgz", - "integrity": "sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA==", - "dev": true, - "requires": { - "postcss": "^7.0.14" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "dependencies": { - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "postcss": { - "version": "7.0.21", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.21.tgz", - "integrity": "sha512-uIFtJElxJo29QC753JzhidoAhvp/e/Exezkdhfmt8AymWT6/5B7W1WmponYWkHk2eg6sONyTch0A3nkMPun3SQ==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "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 - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "dev": true - }, - "iferr": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", - "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", - "dev": true - }, - "ignore": { - "version": "3.3.10", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", - "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", - "dev": true - }, - "ignore-by-default": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz", - "integrity": "sha1-SMptcvbGo68Aqa1K5odr44ieKwk=", - "dev": true - }, - "ignore-walk": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.3.tgz", - "integrity": "sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==", - "requires": { - "minimatch": "^3.0.4" - } - }, - "immutable": { - "version": "3.8.2", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.8.2.tgz", - "integrity": "sha1-wkOZUUVbs5kT2vKBN28VMOEErfM=", - "dev": true - }, - "import-cwd": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz", - "integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=", - "dev": true, - "requires": { - "import-from": "^2.1.0" - } - }, - "import-fresh": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.1.0.tgz", - "integrity": "sha512-PpuksHKGt8rXfWEr9m9EHIpgyyaltBy8+eF6GJM0QCAxMgxCfucMF3mjecK2QsJr0amJW7gTqh5/wht0z2UhEQ==", - "dev": true, - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - } - }, - "import-from": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz", - "integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=", - "dev": true, - "requires": { - "resolve-from": "^3.0.0" - }, - "dependencies": { - "resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", - "dev": true - } - } - }, - "import-lazy": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", - "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=", - "dev": true - }, - "import-local": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz", - "integrity": "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==", - "dev": true, - "requires": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - }, - "dependencies": { - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "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 - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - }, - "pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "requires": { - "find-up": "^4.0.0" - } - } - } - }, - "imports-loader": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/imports-loader/-/imports-loader-0.8.0.tgz", - "integrity": "sha512-kXWL7Scp8KQ4552ZcdVTeaQCZSLW+e6nJfp3cwUMB673T7Hr98Xjx5JK+ql7ADlJUvj1JS5O01RLbKoutN5QDQ==", - "dev": true, - "requires": { - "loader-utils": "^1.0.2", - "source-map": "^0.6.1" - }, - "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 - } - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true - }, - "in-publish": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.1.tgz", - "integrity": "sha512-oDM0kUSNFC31ShNxHKUyfZKy8ZeXZBWMjMdZHKLOk13uvT27VTL/QzRGfRUcevJhpkZAvlhPYuXkF7eNWrtyxQ==", - "dev": true - }, - "indent-string": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", - "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", - "dev": true, - "requires": { - "repeating": "^2.0.0" - } - }, - "indexes-of": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", - "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", - "dev": true - }, - "indexof": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", - "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=" - }, - "infer-owner": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", - "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" - }, - "ini": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.7.tgz", - "integrity": "sha512-iKpRpXP+CrP2jyrxvg1kMUpXDyRUFDWurxbnVT1vQPx+Wz9uCYsMIqYuSBLV+PAaZG/d7kRLKRFc9oDMsH+mFQ==" - }, - "inquirer": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz", - "integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==", - "dev": true, - "requires": { - "ansi-escapes": "^3.2.0", - "chalk": "^2.4.2", - "cli-cursor": "^2.1.0", - "cli-width": "^2.0.0", - "external-editor": "^3.0.3", - "figures": "^2.0.0", - "lodash": "^4.17.12", - "mute-stream": "0.0.7", - "run-async": "^2.2.0", - "rxjs": "^6.4.0", - "string-width": "^2.1.0", - "strip-ansi": "^5.1.0", - "through": "^2.3.6" - }, - "dependencies": { - "ansi-escapes": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", - "dev": true - }, - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "lodash": { - "version": "4.17.15", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", - "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", - "dev": true - }, - "rxjs": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz", - "integrity": "sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, - "dependencies": { - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - } - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - } - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "interpret": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", - "dev": true - }, - "invariant": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", - "integrity": "sha1-YQ88ksk1nOHbYW5TgAjSP/NRWOY=", - "dev": true, - "requires": { - "loose-envify": "^1.0.0" - } - }, - "ip-regex": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", - "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=", - "dev": true - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true - }, - "is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "dev": true, - "requires": { - "binary-extensions": "^1.0.0" - } - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha1-76ouqdqg16suoTqXsritUf776L4=" - }, - "is-callable": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz", - "integrity": "sha1-HhrfIZ4e62hNaR+dagX/DTCiTXU=", - "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.0.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.0.0.tgz", - "integrity": "sha512-jq1AH6C8MuteOoBPwkxHafmByhL9j5q4OaPGdbuD+ZtQJVzH+i6E3BJDQcBA09k57i2Hh2yQbEG8yObZ0jdlWw==", - "dev": true, - "requires": { - "has": "^1.0.3" - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-date-object": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", - "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=", - "dev": true - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco=", - "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha1-cpyR4thXt6QZofmqZWhcTDP1hF0=", - "dev": true - } - } - }, - "is-directory": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", - "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", - "dev": true - }, - "is-docker": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.1.1.tgz", - "integrity": "sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw==", - "dev": true, - "optional": true - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true - }, - "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-finite": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", - "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "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=", - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "is-generator-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", - "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", - "dev": true - }, - "is-glob": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", - "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-installed-globally": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.1.0.tgz", - "integrity": "sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA=", - "dev": true, - "requires": { - "global-dirs": "^0.1.0", - "is-path-inside": "^1.0.0" - } - }, - "is-lower-case": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/is-lower-case/-/is-lower-case-1.1.3.tgz", - "integrity": "sha1-fhR75HaNxGbbO/shzGCzHmrWk5M=", - "requires": { - "lower-case": "^1.1.0" - } - }, - "is-negative-zero": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.0.tgz", - "integrity": "sha1-lVOxIbD6wohp2p7UWeIMdUN4hGE=", - "dev": true - }, - "is-npm": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz", - "integrity": "sha1-8vtjpl5JBbQGyGBydloaTceTufQ=", - "dev": true - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-number-like": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/is-number-like/-/is-number-like-1.0.8.tgz", - "integrity": "sha512-6rZi3ezCyFcn5L71ywzz2bS5b2Igl1En3eTlZlvKjpz1n3IZLAYMbKYAIQgFmEu0GENg92ziU/faEOA/aixjbA==", - "dev": true, - "requires": { - "lodash.isfinite": "^3.3.2" - } - }, - "is-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", - "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", - "dev": true - }, - "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=", - "dev": true, - "requires": { - "path-is-inside": "^1.0.1" - } - }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha1-LBY7P6+xtgbZ0Xko8FwqHDjgdnc=", - "dev": true, - "requires": { - "isobject": "^3.0.1" - } - }, - "is-promise": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", - "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", - "dev": true - }, - "is-redirect": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz", - "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=", - "dev": true - }, - "is-regex": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", - "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", - "dev": true, - "requires": { - "has": "^1.0.1" - } - }, - "is-retry-allowed": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz", - "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==", - "dev": true - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "dev": true - }, - "is-string": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz", - "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==", - "dev": true - }, - "is-symbol": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz", - "integrity": "sha1-oFX2rlcZLK7jKeeoYBGLSXqVDzg=", - "dev": true, - "requires": { - "has-symbols": "^1.0.0" - } - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" - }, - "is-upper-case": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-upper-case/-/is-upper-case-1.1.2.tgz", - "integrity": "sha1-jQsfp+eTOh5YSDYA7H2WYcuvdW8=", - "requires": { - "upper-case": "^1.1.0" - } - }, - "is-utf8": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", - "dev": true - }, - "is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha1-0YUOuXkezRjmGCzhKjDzlmNLsZ0=", - "dev": true - }, - "is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", - "dev": true - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" - }, - "istanbul-lib-coverage": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz", - "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==", - "dev": true - }, - "istanbul-lib-instrument": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", - "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", - "dev": true, - "requires": { - "@babel/core": "^7.7.5", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.0.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 - } - } - }, - "istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", - "dev": true, - "requires": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", - "supports-color": "^7.1.0" - }, - "dependencies": { - "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 - }, - "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" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "istanbul-lib-source-maps": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz", - "integrity": "sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==", - "dev": true, - "requires": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - }, - "dependencies": { - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "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 - }, - "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 - } - } - }, - "istanbul-reports": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz", - "integrity": "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==", - "dev": true, - "requires": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - } - }, - "jest": { - "version": "25.5.4", - "resolved": "https://registry.npmjs.org/jest/-/jest-25.5.4.tgz", - "integrity": "sha512-hHFJROBTqZahnO+X+PMtT6G2/ztqAZJveGqz//FnWWHurizkD05PQGzRZOhF3XP6z7SJmL+5tCfW8qV06JypwQ==", - "dev": true, - "requires": { - "@jest/core": "^25.5.4", - "import-local": "^3.0.2", - "jest-cli": "^25.5.4" - }, - "dependencies": { - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", - "dev": true - }, - "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 - }, - "graceful-fs": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", - "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", - "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 - }, - "is-ci": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", - "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", - "dev": true, - "requires": { - "ci-info": "^2.0.0" - } - }, - "jest-cli": { - "version": "25.5.4", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-25.5.4.tgz", - "integrity": "sha512-rG8uJkIiOUpnREh1768/N3n27Cm+xPFkSNFO91tgg+8o2rXeVLStz+vkXkGr4UtzH6t1SNbjwoiswd7p4AhHTw==", - "dev": true, - "requires": { - "@jest/core": "^25.5.4", - "@jest/test-result": "^25.5.0", - "@jest/types": "^25.5.0", - "chalk": "^3.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.4", - "import-local": "^3.0.2", - "is-ci": "^2.0.0", - "jest-config": "^25.5.4", - "jest-util": "^25.5.0", - "jest-validate": "^25.5.0", - "prompts": "^2.0.1", - "realpath-native": "^2.0.0", - "yargs": "^15.3.1" - } - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true }, - "jest-changed-files": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-25.5.0.tgz", - "integrity": "sha512-EOw9QEqapsDT7mKF162m8HFzRPbmP8qJQny6ldVOdOVBz3ACgPm/1nAn5fPQ/NDaYhX/AHkrGwwkCncpAVSXcw==", + "node_modules/available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", "dev": true, - "requires": { - "@jest/types": "^25.5.0", - "execa": "^3.2.0", - "throat": "^5.0.0" + "engines": { + "node": ">= 0.4" }, - "dependencies": { - "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" - } - }, - "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" - } - }, - "get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - }, - "is-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", - "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", - "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 - }, - "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" - } - }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "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 - }, - "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 - }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "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 - }, - "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" - } - } + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "jest-config": { - "version": "25.5.4", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-25.5.4.tgz", - "integrity": "sha512-SZwR91SwcdK6bz7Gco8qL7YY2sx8tFJYzvg216DLihTWf+LKY/DoJXpM9nTzYakSyfblbqeU48p/p7Jzy05Atg==", + "node_modules/axe-core": { + "version": "4.8.2", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.8.2.tgz", + "integrity": "sha512-/dlp0fxyM3R8YW7MFzaHWXrf4zzbr0vaYb23VBFCl83R7nWNPg/yaQw2Dc8jzCMmDVLhSdzH8MjrsuIUuvX+6g==", "dev": true, - "requires": { - "@babel/core": "^7.1.0", - "@jest/test-sequencer": "^25.5.4", - "@jest/types": "^25.5.0", - "babel-jest": "^25.5.1", - "chalk": "^3.0.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.1", - "graceful-fs": "^4.2.4", - "jest-environment-jsdom": "^25.5.0", - "jest-environment-node": "^25.5.0", - "jest-get-type": "^25.2.6", - "jest-jasmine2": "^25.5.4", - "jest-regex-util": "^25.2.6", - "jest-resolve": "^25.5.1", - "jest-util": "^25.5.0", - "jest-validate": "^25.5.0", - "micromatch": "^4.0.2", - "pretty-format": "^25.5.0", - "realpath-native": "^2.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "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 - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "graceful-fs": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", - "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", - "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 - }, - "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 - }, - "micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", - "dev": true, - "requires": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" - } - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } - } + "engines": { + "node": ">=4" } }, - "jest-diff": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-25.5.0.tgz", - "integrity": "sha512-z1kygetuPiREYdNIumRpAHY6RXiGmp70YHptjdaxTWGmA085W3iCnXNx0DhflK3vwrKmrRWyY1wUpkPMVxMK7A==", + "node_modules/axobject-query": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.2.1.tgz", + "integrity": "sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==", "dev": true, - "requires": { - "chalk": "^3.0.0", - "diff-sequences": "^25.2.6", - "jest-get-type": "^25.2.6", - "pretty-format": "^25.5.0" - }, "dependencies": { - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "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.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } + "dequal": "^2.0.3" } }, - "jest-docblock": { - "version": "25.3.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-25.3.0.tgz", - "integrity": "sha512-aktF0kCar8+zxRHxQZwxMy70stc9R1mOmrLsT5VO3pIT0uzGRSDAXxSlz4NqQWpuLjPpuMhPRl7H+5FRsvIQAg==", + "node_modules/babel-jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz", + "integrity": "sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==", "dev": true, - "requires": { - "detect-newline": "^3.0.0" - } - }, - "jest-each": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-25.5.0.tgz", - "integrity": "sha512-QBogUxna3D8vtiItvn54xXde7+vuzqRrEeaw8r1s+1TG9eZLVJE5ZkKoSUlqFwRjnlaA4hyKGiu9OlkFIuKnjA==", - "dev": true, - "requires": { - "@jest/types": "^25.5.0", - "chalk": "^3.0.0", - "jest-get-type": "^25.2.6", - "jest-util": "^25.5.0", - "pretty-format": "^25.5.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "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.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } + "dependencies": { + "@jest/transform": "^29.7.0", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^29.6.3", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.8.0" } }, - "jest-environment-jsdom": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-25.5.0.tgz", - "integrity": "sha512-7Jr02ydaq4jaWMZLY+Skn8wL5nVIYpWvmeatOHL3tOcV3Zw8sjnPpx+ZdeBfc457p8jCR9J6YCc+Lga0oIy62A==", + "node_modules/babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", "dev": true, - "requires": { - "@jest/environment": "^25.5.0", - "@jest/fake-timers": "^25.5.0", - "@jest/types": "^25.5.0", - "jest-mock": "^25.5.0", - "jest-util": "^25.5.0", - "jsdom": "^15.2.1" + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + }, + "engines": { + "node": ">=8" } }, - "jest-environment-node": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-25.5.0.tgz", - "integrity": "sha512-iuxK6rQR2En9EID+2k+IBs5fCFd919gVVK5BeND82fYeLWPqvRcFNPKu9+gxTwfB5XwBGBvZ0HFQa+cHtIoslA==", + "node_modules/babel-plugin-istanbul/node_modules/istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", "dev": true, - "requires": { - "@jest/environment": "^25.5.0", - "@jest/fake-timers": "^25.5.0", - "@jest/types": "^25.5.0", - "jest-mock": "^25.5.0", - "jest-util": "^25.5.0", + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.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 - } - } - }, - "jest-get-type": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", - "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", - "dev": true - }, - "jest-haste-map": { - "version": "25.5.1", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-25.5.1.tgz", - "integrity": "sha512-dddgh9UZjV7SCDQUrQ+5t9yy8iEgKc1AKqZR9YDww8xsVOtzPQSMVLDChc21+g29oTRexb9/B0bIlZL+sWmvAQ==", - "dev": true, - "requires": { - "@jest/types": "^25.5.0", - "@types/graceful-fs": "^4.1.2", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "fsevents": "^2.1.2", - "graceful-fs": "^4.2.4", - "jest-serializer": "^25.5.0", - "jest-util": "^25.5.0", - "jest-worker": "^25.5.0", - "micromatch": "^4.0.2", - "sane": "^4.0.3", - "walker": "^1.0.7", - "which": "^2.0.2" - }, - "dependencies": { - "anymatch": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", - "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", - "dev": true, - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "fsevents": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", - "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", - "dev": true, - "optional": true - }, - "graceful-fs": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", - "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", - "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 - }, - "micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", - "dev": true, - "requires": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" - } - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "requires": { - "is-number": "^7.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" - } - } - } - }, - "jest-jasmine2": { - "version": "25.5.4", - "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-25.5.4.tgz", - "integrity": "sha512-9acbWEfbmS8UpdcfqnDO+uBUgKa/9hcRh983IHdM+pKmJPL77G0sWAAK0V0kr5LK3a8cSBfkFSoncXwQlRZfkQ==", - "dev": true, - "requires": { - "@babel/traverse": "^7.1.0", - "@jest/environment": "^25.5.0", - "@jest/source-map": "^25.5.0", - "@jest/test-result": "^25.5.0", - "@jest/types": "^25.5.0", - "chalk": "^3.0.0", - "co": "^4.6.0", - "expect": "^25.5.0", - "is-generator-fn": "^2.0.0", - "jest-each": "^25.5.0", - "jest-matcher-utils": "^25.5.0", - "jest-message-util": "^25.5.0", - "jest-runtime": "^25.5.4", - "jest-snapshot": "^25.5.1", - "jest-util": "^25.5.0", - "pretty-format": "^25.5.0", - "throat": "^5.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "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.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } + "engines": { + "node": ">=8" } }, - "jest-leak-detector": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-25.5.0.tgz", - "integrity": "sha512-rV7JdLsanS8OkdDpZtgBf61L5xZ4NnYLBq72r6ldxahJWWczZjXawRsoHyXzibM5ed7C2QRjpp6ypgwGdKyoVA==", + "node_modules/babel-plugin-istanbul/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, - "requires": { - "jest-get-type": "^25.2.6", - "pretty-format": "^25.5.0" + "bin": { + "semver": "bin/semver.js" } }, - "jest-matcher-utils": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-25.5.0.tgz", - "integrity": "sha512-VWI269+9JS5cpndnpCwm7dy7JtGQT30UHfrnM3mXl22gHGt/b7NkjBqXfbhZ8V4B7ANUsjK18PlSBmG0YH7gjw==", + "node_modules/babel-plugin-jest-hoist": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz", + "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==", "dev": true, - "requires": { - "chalk": "^3.0.0", - "jest-diff": "^25.5.0", - "jest-get-type": "^25.2.6", - "pretty-format": "^25.5.0" - }, "dependencies": { - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "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.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-message-util": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", - "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "@jest/types": "^25.5.0", - "@types/stack-utils": "^1.0.1", - "chalk": "^3.0.0", - "graceful-fs": "^4.2.4", - "micromatch": "^4.0.2", - "slash": "^3.0.0", - "stack-utils": "^1.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "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 - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "graceful-fs": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", - "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", - "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 - }, - "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 - }, - "micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", - "dev": true, - "requires": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" - } - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } - } - } - }, - "jest-mock": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-25.5.0.tgz", - "integrity": "sha512-eXWuTV8mKzp/ovHc5+3USJMYsTBhyQ+5A1Mak35dey/RG8GlM4YWVylZuGgVXinaW6tpvk/RSecmF37FKUlpXA==", - "dev": true, - "requires": { - "@jest/types": "^25.5.0" + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "jest-pnp-resolver": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", - "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==", - "dev": true - }, - "jest-regex-util": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-25.2.6.tgz", - "integrity": "sha512-KQqf7a0NrtCkYmZZzodPftn7fL1cq3GQAFVMn5Hg8uKx/fIenLEobNanUxb7abQ1sjADHBseG/2FGpsv/wr+Qw==", - "dev": true - }, - "jest-resolve": { - "version": "25.5.1", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-25.5.1.tgz", - "integrity": "sha512-Hc09hYch5aWdtejsUZhA+vSzcotf7fajSlPA6EZPE1RmPBAD39XtJhvHWFStid58iit4IPDLI/Da4cwdDmAHiQ==", + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.6.tgz", + "integrity": "sha512-jhHiWVZIlnPbEUKSSNb9YoWcQGdlTLq7z1GHL4AjFxaoOUMuuEVJ+Y4pAaQUGOGk93YsVCKPbqbfw3m0SM6H8Q==", "dev": true, - "requires": { - "@jest/types": "^25.5.0", - "browser-resolve": "^1.11.3", - "chalk": "^3.0.0", - "graceful-fs": "^4.2.4", - "jest-pnp-resolver": "^1.2.1", - "read-pkg-up": "^7.0.1", - "realpath-native": "^2.0.0", - "resolve": "^1.17.0", - "slash": "^3.0.0" - }, "dependencies": { - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "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 - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "graceful-fs": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", - "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", - "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 - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "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 - }, - "parse-json": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.0.1.tgz", - "integrity": "sha512-ztoZ4/DYeXQq4E21v169sC8qWINGpcosGv9XhTDvg9/hWvx/zrFkc9BiWxR58OJLHGk28j5BL0SDLeV2WmFZlQ==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1", - "lines-and-columns": "^1.1.6" - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - }, - "read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", - "dev": true, - "requires": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, - "dependencies": { - "type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", - "dev": true - } - } - }, - "read-pkg-up": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", - "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", - "dev": true, - "requires": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" - } - }, - "resolve": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", - "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", - "dev": true, - "requires": { - "path-parse": "^1.0.6" - } - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.4.3", + "semver": "^6.3.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, - "jest-resolve-dependencies": { - "version": "25.5.4", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-25.5.4.tgz", - "integrity": "sha512-yFmbPd+DAQjJQg88HveObcGBA32nqNZ02fjYmtL16t1xw9bAttSn5UGRRhzMHIQbsep7znWvAvnD4kDqOFM0Uw==", + "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, - "requires": { - "@jest/types": "^25.5.0", - "jest-regex-util": "^25.2.6", - "jest-snapshot": "^25.5.1" + "bin": { + "semver": "bin/semver.js" } }, - "jest-runner": { - "version": "25.5.4", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-25.5.4.tgz", - "integrity": "sha512-V/2R7fKZo6blP8E9BL9vJ8aTU4TH2beuqGNxHbxi6t14XzTb+x90B3FRgdvuHm41GY8ch4xxvf0ATH4hdpjTqg==", + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.5.tgz", + "integrity": "sha512-Q6CdATeAvbScWPNLB8lzSO7fgUVBkQt6zLgNlfyeCr/EQaEQR+bWiBYYPYAFyE528BMjRhL+1QBMOI4jc/c5TA==", "dev": true, - "requires": { - "@jest/console": "^25.5.0", - "@jest/environment": "^25.5.0", - "@jest/test-result": "^25.5.0", - "@jest/types": "^25.5.0", - "chalk": "^3.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.4", - "jest-config": "^25.5.4", - "jest-docblock": "^25.3.0", - "jest-haste-map": "^25.5.1", - "jest-jasmine2": "^25.5.4", - "jest-leak-detector": "^25.5.0", - "jest-message-util": "^25.5.0", - "jest-resolve": "^25.5.1", - "jest-runtime": "^25.5.4", - "jest-util": "^25.5.0", - "jest-worker": "^25.5.0", - "source-map-support": "^0.5.6", - "throat": "^5.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "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 - }, - "graceful-fs": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", - "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", - "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.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-runtime": { - "version": "25.5.4", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-25.5.4.tgz", - "integrity": "sha512-RWTt8LeWh3GvjYtASH2eezkc8AehVoWKK20udV6n3/gC87wlTbE1kIA+opCvNWyyPeBs6ptYsc6nyHUb1GlUVQ==", - "dev": true, - "requires": { - "@jest/console": "^25.5.0", - "@jest/environment": "^25.5.0", - "@jest/globals": "^25.5.2", - "@jest/source-map": "^25.5.0", - "@jest/test-result": "^25.5.0", - "@jest/transform": "^25.5.1", - "@jest/types": "^25.5.0", - "@types/yargs": "^15.0.0", - "chalk": "^3.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.4", - "jest-config": "^25.5.4", - "jest-haste-map": "^25.5.1", - "jest-message-util": "^25.5.0", - "jest-mock": "^25.5.0", - "jest-regex-util": "^25.2.6", - "jest-resolve": "^25.5.1", - "jest-snapshot": "^25.5.1", - "jest-util": "^25.5.0", - "jest-validate": "^25.5.0", - "realpath-native": "^2.0.0", - "slash": "^3.0.0", - "strip-bom": "^4.0.0", - "yargs": "^15.3.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "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 - }, - "graceful-fs": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", - "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", - "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 - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true - }, - "strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", - "dev": true - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.4.3", + "core-js-compat": "^3.32.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, - "jest-serializer": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-25.5.0.tgz", - "integrity": "sha512-LxD8fY1lByomEPflwur9o4e2a5twSQ7TaVNLlFUuToIdoJuBt8tzHfCsZ42Ok6LkKXWzFWf3AGmheuLAA7LcCA==", + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.3.tgz", + "integrity": "sha512-8sHeDOmXC8csczMrYEOf0UTNa4yE2SxV5JGeT/LP1n0OYVDUUFPxG9vdk2AlDlIit4t+Kf0xCtpgXPBwnn/9pw==", "dev": true, - "requires": { - "graceful-fs": "^4.2.4" - }, "dependencies": { - "graceful-fs": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", - "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", - "dev": true - } + "@babel/helper-define-polyfill-provider": "^0.4.3" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, - "jest-snapshot": { - "version": "25.5.1", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-25.5.1.tgz", - "integrity": "sha512-C02JE1TUe64p2v1auUJ2ze5vcuv32tkv9PyhEb318e8XOKF7MOyXdJ7kdjbvrp3ChPLU2usI7Rjxs97Dj5P0uQ==", + "node_modules/babel-preset-current-node-syntax": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", + "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", "dev": true, - "requires": { - "@babel/types": "^7.0.0", - "@jest/types": "^25.5.0", - "@types/prettier": "^1.19.0", - "chalk": "^3.0.0", - "expect": "^25.5.0", - "graceful-fs": "^4.2.4", - "jest-diff": "^25.5.0", - "jest-get-type": "^25.2.6", - "jest-matcher-utils": "^25.5.0", - "jest-message-util": "^25.5.0", - "jest-resolve": "^25.5.1", - "make-dir": "^3.0.0", - "natural-compare": "^1.4.0", - "pretty-format": "^25.5.0", - "semver": "^6.3.0" - }, "dependencies": { - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "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 - }, - "graceful-fs": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", - "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", - "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 - }, - "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" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@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-top-level-await": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "jest-util": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", - "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", + "node_modules/babel-preset-jest": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz", + "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==", "dev": true, - "requires": { - "@jest/types": "^25.5.0", - "chalk": "^3.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^2.0.0", - "make-dir": "^3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", - "dev": true - }, - "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 - }, - "graceful-fs": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", - "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", - "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 - }, - "is-ci": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", - "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", - "dev": true, - "requires": { - "ci-info": "^2.0.0" - } - }, - "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" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } + "dependencies": { + "babel-plugin-jest-hoist": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "jest-validate": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-25.5.0.tgz", - "integrity": "sha512-okUFKqhZIpo3jDdtUXUZ2LxGUZJIlfdYBvZb1aczzxrlyMlqdnnws9MOxezoLGhSaFc2XYaHNReNQfj5zPIWyQ==", - "dev": true, - "requires": { - "@jest/types": "^25.5.0", - "camelcase": "^5.3.1", - "chalk": "^3.0.0", - "jest-get-type": "^25.2.6", - "leven": "^3.1.0", - "pretty-format": "^25.5.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "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.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true }, - "jest-watcher": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-25.5.0.tgz", - "integrity": "sha512-XrSfJnVASEl+5+bb51V0Q7WQx65dTSk7NL4yDdVjPnRNpM0hG+ncFmDYJo9O8jaSRcAitVbuVawyXCRoxGrT5Q==", - "dev": true, - "requires": { - "@jest/test-result": "^25.5.0", - "@jest/types": "^25.5.0", - "ansi-escapes": "^4.2.1", - "chalk": "^3.0.0", - "jest-util": "^25.5.0", - "string-length": "^3.1.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "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.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "devOptional": true, + "engines": { + "node": ">=8" } }, - "jest-worker": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.5.0.tgz", - "integrity": "sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw==", + "node_modules/bootstrap": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.3.2.tgz", + "integrity": "sha512-D32nmNWiQHo94BKHLmOrdjlL05q1c8oxbtBphQFb9Z5to6eGRDCm0QgeaZ4zFBHzfg2++rqa2JkqCcxDy0sH0g==", "dev": true, - "requires": { - "merge-stream": "^2.0.0", - "supports-color": "^7.0.0" - }, - "dependencies": { - "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 + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/twbs" }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } + { + "type": "opencollective", + "url": "https://opencollective.com/bootstrap" } + ], + "peerDependencies": { + "@popperjs/core": "^2.11.8" } }, - "jquery": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.5.1.tgz", - "integrity": "sha512-XwIBPqcMn57FxfT+Go5pzySnm4KWkT1Tv7gjrpT1srtf8Weynl6R273VJ5GjkRb51IzMp5nbaPjJXMWeju2MKg==" - }, - "js-base64": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz", - "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==", - "dev": true + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } }, - "js-tokens": { + "node_modules/braces": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", - "dev": true - }, - "js-yaml": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "devOptional": true, "dependencies": { - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true - } + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" } }, - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" - }, - "jsdom": { - "version": "15.2.1", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-15.2.1.tgz", - "integrity": "sha512-fAl1W0/7T2G5vURSyxBzrJ1LSdQn6Tr5UX/xD4PXDx/PDgwygedfW6El/KIj3xJ7FU61TTYnc/l/B7P49Eqt6g==", - "dev": true, - "requires": { - "abab": "^2.0.0", - "acorn": "^7.1.0", - "acorn-globals": "^4.3.2", - "array-equal": "^1.0.0", - "cssom": "^0.4.1", - "cssstyle": "^2.0.0", - "data-urls": "^1.1.0", - "domexception": "^1.0.1", - "escodegen": "^1.11.1", - "html-encoding-sniffer": "^1.0.2", - "nwsapi": "^2.2.0", - "parse5": "5.1.0", - "pn": "^1.1.0", - "request": "^2.88.0", - "request-promise-native": "^1.0.7", - "saxes": "^3.1.9", - "symbol-tree": "^3.2.2", - "tough-cookie": "^3.0.1", - "w3c-hr-time": "^1.0.1", - "w3c-xmlserializer": "^1.1.2", - "webidl-conversions": "^4.0.2", - "whatwg-encoding": "^1.0.5", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^7.0.0", - "ws": "^7.0.0", - "xml-name-validator": "^3.0.0" - }, - "dependencies": { - "acorn": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.0.tgz", - "integrity": "sha512-+G7P8jJmCHr+S+cLfQxygbWhXy+8YTVGzAkpEbcLo2mLoL7tij/VG41QSHACSf5QgYRhMZYHuNc6drJaO0Da+w==", - "dev": true - }, - "cssom": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", - "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", - "dev": true - }, - "escodegen": { - "version": "1.14.3", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", - "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", - "dev": true, - "requires": { - "esprima": "^4.0.1", - "estraverse": "^4.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.6.1" - } - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true - }, - "parse5": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.0.tgz", - "integrity": "sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ==", - "dev": true + "node_modules/browserslist": { + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.1.tgz", + "integrity": "sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" }, - "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, - "optional": true + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" }, - "tough-cookie": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-3.0.1.tgz", - "integrity": "sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg==", - "dev": true, - "requires": { - "ip-regex": "^2.1.0", - "psl": "^1.1.28", - "punycode": "^2.1.1" - } + { + "type": "github", + "url": "https://github.com/sponsors/ai" } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001541", + "electron-to-chromium": "^1.4.535", + "node-releases": "^2.0.13", + "update-browserslist-db": "^1.0.13" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, - "jsesc": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", - "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", - "dev": true - }, - "json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", - "dev": true - }, - "json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA=" + "node_modules/bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "dev": true, + "dependencies": { + "node-int64": "^0.4.0" + } }, - "json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "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 }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" + "node_modules/bufferutil": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.7.tgz", + "integrity": "sha512-kukuqc39WOHtdxtw4UScxF/WVnMFVSQVKhtx3AjZJzhd0RGZZldcrfSEbVsWWe6KNH253574cq5F+wpv0G9pJw==", + "hasInstallScript": true, + "optional": true, + "peer": true, + "dependencies": { + "node-gyp-build": "^4.3.0" + }, + "engines": { + "node": ">=6.14.2" + } }, - "json5": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", - "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", - "requires": { - "minimist": "^1.2.5" + "node_modules/busboy": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", + "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", + "dependencies": { + "streamsearch": "^1.1.0" }, + "engines": { + "node": ">=10.16.0" + } + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, "dependencies": { - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" - } + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "jsonfile": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-3.0.1.tgz", - "integrity": "sha1-pezG9l9T9mLEQVx2daAzHQmS7GY=", + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true, - "requires": { - "graceful-fs": "^4.1.6" + "engines": { + "node": ">=6" } }, - "jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" } }, - "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha1-ARRrNqYhjmTljzqNZt5df8b20FE=", - "dev": true + "node_modules/caniuse-lite": { + "version": "1.0.30001543", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001543.tgz", + "integrity": "sha512-qxdO8KPWPQ+Zk6bvNpPeQIOH47qZSYdFZd6dXQzb2KzhnSXju4Kd7H1PkSJx6NICSMgo/IhRZRhhfPTHYpJUCA==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] }, - "klaw": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", - "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", + "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, - "requires": { - "graceful-fs": "^4.1.9" + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", - "dev": true - }, - "latest-version": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-3.1.0.tgz", - "integrity": "sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU=", + "node_modules/char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", "dev": true, - "requires": { - "package-json": "^4.0.0" + "engines": { + "node": ">=10" } }, - "lazy-cache": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", - "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=" + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "devOptional": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } }, - "leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", - "dev": true + "node_modules/chokidar/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==", + "devOptional": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } }, - "levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", "dev": true, - "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" } }, - "limiter": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/limiter/-/limiter-1.1.5.tgz", - "integrity": "sha512-FWWMIEOxz3GwUI4Ts/IvgVy6LPvoMPgjMdQ185nN6psJyBJ4yOpzqm695/h5umdLJg2vW3GR5iG11MAkR2AzJA==", + "node_modules/cjs-module-lexer": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", + "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==", "dev": true }, - "lines-and-columns": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", - "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", - "dev": true + "node_modules/client-only": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", + "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==" }, - "linkify-it": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-2.2.0.tgz", - "integrity": "sha512-GnAl/knGn+i1U/wjBz3akz2stz+HrHLsxMwHQGofCDfPvlf+gDKN58UtfmUquTY4/MXeE2x7k19KQmeoZi94Iw==", - "requires": { - "uc.micro": "^1.0.1" + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" } }, - "load-json-file": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", - "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "strip-bom": "^3.0.0" - }, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - } + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" } }, - "loader-runner": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", - "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", + "node_modules/collect-v8-coverage": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", + "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", "dev": true }, - "loader-utils": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", - "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^2.0.0", - "json5": "^1.0.1" - }, - "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - } - } - }, - "localtunnel": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/localtunnel/-/localtunnel-2.0.0.tgz", - "integrity": "sha512-g6E0aLgYYDvQDxIjIXkgJo2+pHj3sGg4Wz/XP3h2KtZnRsWPbOQY+hw1H8Z91jep998fkcVE9l+kghO+97vllg==", + "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, - "requires": { - "axios": "0.19.0", - "debug": "4.1.1", - "openurl": "1.1.1", - "yargs": "13.3.0" - }, "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "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 - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "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 - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - }, - "yargs": { - "version": "13.3.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.0.tgz", - "integrity": "sha512-2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA==", - "dev": true, - "requires": { - "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.1" - } - } + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "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/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", "dev": true, - "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" } }, - "lodash": { - "version": "4.17.15", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", - "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==" - }, - "lodash._reinterpolate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", - "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=", + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", "dev": true }, - "lodash.assignin": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.assignin/-/lodash.assignin-4.2.0.tgz", - "integrity": "sha1-uo31+4QesKPoBEIysOJjqNxqKKI=", + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", "dev": true }, - "lodash.bind": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/lodash.bind/-/lodash.bind-4.2.1.tgz", - "integrity": "sha1-euMBfpOWIqwxt9fX3LGzTbFpDTU=", - "dev": true + "node_modules/core-js-compat": { + "version": "3.33.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.33.0.tgz", + "integrity": "sha512-0w4LcLXsVEuNkIqwjjf9rjCoPhK8uqA4tMRh4Ge26vfLtUutshn+aRJU21I9LCJlh2QQHfisNToLjw1XEJLTWw==", + "dev": true, + "dependencies": { + "browserslist": "^4.22.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } }, - "lodash.defaults": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", - "integrity": "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=", - "dev": true + "node_modules/create-jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz", + "integrity": "sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-config": "^29.7.0", + "jest-util": "^29.7.0", + "prompts": "^2.0.1" + }, + "bin": { + "create-jest": "bin/create-jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } }, - "lodash.filter": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.filter/-/lodash.filter-4.6.0.tgz", - "integrity": "sha1-ZosdSYFgOuHMWm+nYBQ+SAtMSs4=", - "dev": true + "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" + } }, - "lodash.flatten": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", - "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=", + "node_modules/cssom": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz", + "integrity": "sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==", "dev": true }, - "lodash.foreach": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.foreach/-/lodash.foreach-4.5.0.tgz", - "integrity": "sha1-Gmo16s5AEoDH8G3d7DUWWrJ+PlM=", + "node_modules/csstype": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", + "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==", "dev": true }, - "lodash.isfinite": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/lodash.isfinite/-/lodash.isfinite-3.3.2.tgz", - "integrity": "sha1-+4m2WpqAKBgz8LdHizpRBPiY67M=", + "node_modules/damerau-levenshtein": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", + "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", "dev": true }, - "lodash.map": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.map/-/lodash.map-4.6.0.tgz", - "integrity": "sha1-dx7Hg540c9nEzeKLGTlMNWL09tM=", - "dev": true + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } }, - "lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "node_modules/decimal.js": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", + "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==", "dev": true }, - "lodash.pick": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz", - "integrity": "sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM=", - "dev": true + "node_modules/dedent": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.1.tgz", + "integrity": "sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==", + "dev": true, + "peerDependencies": { + "babel-plugin-macros": "^3.1.0" + }, + "peerDependenciesMeta": { + "babel-plugin-macros": { + "optional": true + } + } }, - "lodash.reduce": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.reduce/-/lodash.reduce-4.6.0.tgz", - "integrity": "sha1-8atrg5KZrUj3hKu/R2WW8DuRTTs=", + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", "dev": true }, - "lodash.reject": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.reject/-/lodash.reject-4.6.0.tgz", - "integrity": "sha1-gNZJLcFHCGS79YNTO2UfQqn1JBU=", - "dev": true + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "lodash.some": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.some/-/lodash.some-4.6.0.tgz", - "integrity": "sha1-G7nzFO9ri63tE7VJFpsqlF62jk0=", - "dev": true + "node_modules/define-data-property": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.0.tgz", + "integrity": "sha512-UzGwzcjyv3OtAvolTj1GoyNYzfFR+iqbGjcnBEENZVCpM4/Ng1yhGNvS3lR/xDS74Tb2wGG9WzNSNIOS9UVb2g==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } }, - "lodash.sortby": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", - "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=", - "dev": true + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dev": true, + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "lodash.template": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", - "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==", + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", "dev": true, - "requires": { - "lodash._reinterpolate": "^3.0.0", - "lodash.templatesettings": "^4.0.0" + "engines": { + "node": ">=0.4.0" } }, - "lodash.templatesettings": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz", - "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==", + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", "dev": true, - "requires": { - "lodash._reinterpolate": "^3.0.0" + "engines": { + "node": ">=6" } }, - "log": { - "version": "1.4.0", - "resolved": "http://registry.npmjs.org/log/-/log-1.4.0.tgz", - "integrity": "sha1-S6HYkP3iSbAx3KA7w36q8yVlbxw=" + "node_modules/detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "dev": true, + "engines": { + "node": ">=8" + } }, - "lolex": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/lolex/-/lolex-5.1.2.tgz", - "integrity": "sha512-h4hmjAvHTmd+25JSwrtTIuwbKdwg5NzZVRMLn9saij4SZaepCrTCxPr35H/3bjwfMJtN+t3CX8672UIkglz28A==", + "node_modules/diff-sequences": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", + "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", "dev": true, - "requires": { - "@sinonjs/commons": "^1.7.0" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "longest": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", - "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=" + "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" + } }, - "loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha1-ce5R+nvkyuwaY4OffmgtgTLTDK8=", + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", "dev": true, - "requires": { - "js-tokens": "^3.0.0 || ^4.0.0" + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" } }, - "loud-rejection": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", - "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", + "node_modules/domexception": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz", + "integrity": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==", "dev": true, - "requires": { - "currently-unhandled": "^0.4.1", - "signal-exit": "^3.0.0" + "dependencies": { + "webidl-conversions": "^7.0.0" + }, + "engines": { + "node": ">=12" } }, - "lower-case": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", - "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=" + "node_modules/electron-to-chromium": { + "version": "1.4.542", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.542.tgz", + "integrity": "sha512-6+cpa00G09N3sfh2joln4VUXHquWrOFx3FLZqiVQvl45+zS9DskDBTPvob+BhvFRmTBkyDSk0vvLMMRo/qc6mQ==", + "dev": true }, - "lower-case-first": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/lower-case-first/-/lower-case-first-1.0.2.tgz", - "integrity": "sha1-5dp8JvKacHO+AtUrrJmA5ZIq36E=", - "requires": { - "lower-case": "^1.1.2" + "node_modules/emittery": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", + "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" } }, - "lowercase-keys": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", - "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", "dev": true }, - "lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", - "dev": true, - "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" + "node_modules/engine.io-client": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.5.2.tgz", + "integrity": "sha512-CQZqbrpEYnrpGqC07a9dJDz4gePZUgTPMU3NKJPSeQOyw27Tst4Pl3FemKoFGAlHzgZmKjoRmiJvbWfhCXUlIg==", + "dependencies": { + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.3.1", + "engine.io-parser": "~5.2.1", + "ws": "~8.11.0", + "xmlhttprequest-ssl": "~2.0.0" } }, - "make-coverage-badge": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/make-coverage-badge/-/make-coverage-badge-1.2.0.tgz", - "integrity": "sha512-nA1eQZJ9vcY2UoQLVIdzqyRoNtAZHWlXJfrHkaMB/pQgTYBPmbImkykfxWeAtUQuLJXzb6eAhbR7nEgrt+S7FA==", - "dev": true, - "requires": { - "mri": "1.1.4" + "node_modules/engine.io-parser": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.1.tgz", + "integrity": "sha512-9JktcM3u18nU9N2Lz3bWeBgxVgOKpw7yhRaoxQA3FUDZzzw+9WlA6p4G4u0RixNkg14fH7EfEc/RhpurtiROTQ==", + "engines": { + "node": ">=10.0.0" } }, - "make-dir": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", - "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "node_modules/enhanced-resolve": { + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", + "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", "dev": true, - "requires": { - "pify": "^3.0.0" + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" } }, - "makeerror": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", - "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", "dev": true, - "requires": { - "tmpl": "1.0.x" + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" } }, - "map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", - "dev": true - }, - "map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", - "dev": true - }, - "map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", "dev": true, - "requires": { - "object-visit": "^1.0.0" + "dependencies": { + "is-arrayish": "^0.2.1" } }, - "markdown-it": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-10.0.0.tgz", - "integrity": "sha512-YWOP1j7UbDNz+TumYP1kpwnP0aEa711cJjrAQrzd0UXlbJfc5aAq0F/PZHjiioqDC1NKgvIMX+o+9Bk7yuM2dg==", - "requires": { - "argparse": "^1.0.7", - "entities": "~2.0.0", - "linkify-it": "^2.0.0", - "mdurl": "^1.0.1", - "uc.micro": "^1.0.5" - }, + "node_modules/es-abstract": { + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.2.tgz", + "integrity": "sha512-YoxfFcDmhjOgWPWsV13+2RNjq1F6UQnfs+8TftwNqtzlmFzEXvlUwdrNrYeaizfjQzRMxkZ6ElWMOJIFKdVqwA==", + "dev": true, "dependencies": { - "entities": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.3.tgz", - "integrity": "sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ==" - } + "array-buffer-byte-length": "^1.0.0", + "arraybuffer.prototype.slice": "^1.0.2", + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "es-set-tostringtag": "^2.0.1", + "es-to-primitive": "^1.2.1", + "function.prototype.name": "^1.1.6", + "get-intrinsic": "^1.2.1", + "get-symbol-description": "^1.0.0", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", + "has": "^1.0.3", + "has-property-descriptors": "^1.0.0", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.5", + "is-array-buffer": "^3.0.2", + "is-callable": "^1.2.7", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "is-string": "^1.0.7", + "is-typed-array": "^1.1.12", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.3", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.5.1", + "safe-array-concat": "^1.0.1", + "safe-regex-test": "^1.0.0", + "string.prototype.trim": "^1.2.8", + "string.prototype.trimend": "^1.0.7", + "string.prototype.trimstart": "^1.0.7", + "typed-array-buffer": "^1.0.0", + "typed-array-byte-length": "^1.0.0", + "typed-array-byte-offset": "^1.0.0", + "typed-array-length": "^1.0.4", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.11" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-iterator-helpers": { + "version": "1.0.15", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.15.tgz", + "integrity": "sha512-GhoY8uYqd6iwUl2kgjTm4CZAf6oo5mHK7BPqx3rKgx893YSsy0LGHV6gfqqQvZt/8xM8xeOnfXBCfqclMKkJ5g==", + "dev": true, + "dependencies": { + "asynciterator.prototype": "^1.0.0", + "call-bind": "^1.0.2", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.1", + "es-set-tostringtag": "^2.0.1", + "function-bind": "^1.1.1", + "get-intrinsic": "^1.2.1", + "globalthis": "^1.0.3", + "has-property-descriptors": "^1.0.0", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.5", + "iterator.prototype": "^1.1.2", + "safe-array-concat": "^1.0.1" } }, - "marked": { - "version": "0.3.19", - "resolved": "https://registry.npmjs.org/marked/-/marked-0.3.19.tgz", - "integrity": "sha512-ea2eGWOqNxPcXv8dyERdSr/6FmzvWwzjMxpfGB/sbMccXoct+xY+YukPD+QTUZwyvK7BZwcr4m21WBOW41pAkg==", - "dev": true - }, - "md5.js": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "node_modules/es-set-tostringtag": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", + "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", "dev": true, - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" + "dependencies": { + "get-intrinsic": "^1.1.3", + "has": "^1.0.3", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" } }, - "mdurl": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", - "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=" - }, - "memcache": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/memcache/-/memcache-0.3.0.tgz", - "integrity": "sha1-vbuXjqS+4P3TFmmXsYg9KX4IWdw=" - }, - "memory-fs": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", - "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", - "dev": true, - "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - } - }, - "meow": { - "version": "3.7.0", - "resolved": "http://registry.npmjs.org/meow/-/meow-3.7.0.tgz", - "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", - "dev": true, - "requires": { - "camelcase-keys": "^2.0.0", - "decamelize": "^1.1.2", - "loud-rejection": "^1.0.0", - "map-obj": "^1.0.1", - "minimist": "^1.1.3", - "normalize-package-data": "^2.3.4", - "object-assign": "^4.0.1", - "read-pkg-up": "^1.0.1", - "redent": "^1.0.0", - "trim-newlines": "^1.0.0" - }, - "dependencies": { - "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "dev": true, - "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "load-json-file": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" - } - }, - "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "dev": true, - "requires": { - "pinkie-promise": "^2.0.0" - } - }, - "path-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - }, - "read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", - "dev": true, - "requires": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" - } - }, - "read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", - "dev": true, - "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.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" - } - } + "node_modules/es-shim-unscopables": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", + "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", + "dev": true, + "dependencies": { + "has": "^1.0.3" } }, - "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 - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha1-cIWbyVyYQJUvNZoGij/En57PrCM=", - "dev": true, - "requires": { - "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" - } - }, - "miller-rabin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", - "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", "dev": true, - "requires": { - "bn.js": "^4.0.0", - "brorand": "^1.0.1" - }, "dependencies": { - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true - } + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "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.37.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.37.0.tgz", - "integrity": "sha1-C2oM5v2+lXbiXx8tL96IMNwK0Ng=" - }, - "mime-types": { - "version": "2.1.21", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.21.tgz", - "integrity": "sha1-KJlaoey3cHQv5q5+WPkYHHRLP5Y=", - "requires": { - "mime-db": "~1.37.0" + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "engines": { + "node": ">=6" } }, - "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 + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "mimic-response": { + "node_modules/escodegen": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-2.1.0.tgz", - "integrity": "sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==", - "dev": true - }, - "mini-css-extract-plugin": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.5.0.tgz", - "integrity": "sha512-IuaLjruM0vMKhUUT51fQdQzBYTX49dLj8w68ALEAe2A4iYNpIC4eMac67mt3NzycvjOlf07/kYxJDc0RTl1Wqw==", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", + "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", "dev": true, - "requires": { - "loader-utils": "^1.1.0", - "schema-utils": "^1.0.0", - "webpack-sources": "^1.1.0" + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=6.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" } }, - "minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", - "dev": true - }, - "minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", - "dev": true - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=", - "requires": { - "brace-expansion": "^1.1.7" + "node_modules/eslint": { + "version": "8.50.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.50.0.tgz", + "integrity": "sha512-FOnOGSuFuFLv/Sa+FDVRZl4GGVAAFFi8LecRsI5a1tMO5HIE8nCm4ivAlzt4dT3ol/PaaGC0rJEEXQmHJBGoOg==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.2", + "@eslint/js": "8.50.0", + "@humanwhocodes/config-array": "^0.11.11", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" - }, - "minipass": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", - "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", - "requires": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" - }, - "dependencies": { - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + "node_modules/eslint-config-next": { + "version": "13.5.4", + "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-13.5.4.tgz", + "integrity": "sha512-FzQGIj4UEszRX7fcRSJK6L1LrDiVZvDFW320VVntVKh3BSU8Fb9kpaoxQx0cdFgf3MQXdeSbrCXJ/5Z/NndDkQ==", + "dev": true, + "dependencies": { + "@next/eslint-plugin-next": "13.5.4", + "@rushstack/eslint-patch": "^1.3.3", + "@typescript-eslint/parser": "^5.4.2 || ^6.0.0", + "eslint-import-resolver-node": "^0.3.6", + "eslint-import-resolver-typescript": "^3.5.2", + "eslint-plugin-import": "^2.28.1", + "eslint-plugin-jsx-a11y": "^6.7.1", + "eslint-plugin-react": "^7.33.2", + "eslint-plugin-react-hooks": "^4.5.0 || 5.0.0-canary-7118f5dd7-20230705" + }, + "peerDependencies": { + "eslint": "^7.23.0 || ^8.0.0", + "typescript": ">=3.3.1" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true } } }, - "minizlib": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz", - "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", - "requires": { - "minipass": "^2.9.0" + "node_modules/eslint-import-resolver-node": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", + "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", + "dev": true, + "dependencies": { + "debug": "^3.2.7", + "is-core-module": "^2.13.0", + "resolve": "^1.22.4" } }, - "mississippi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-2.0.0.tgz", - "integrity": "sha512-zHo8v+otD1J10j/tC+VNoGK9keCuByhKovAvdn74dmxJl9+mWHnx6EMsDN4lgRoMI/eYo2nchAxniIbUPb5onw==", - "dev": true, - "requires": { - "concat-stream": "^1.5.0", - "duplexify": "^3.4.2", - "end-of-stream": "^1.1.0", - "flush-write-stream": "^1.0.0", - "from2": "^2.1.0", - "parallel-transform": "^1.1.0", - "pump": "^2.0.1", - "pumpify": "^1.3.3", - "stream-each": "^1.1.0", - "through2": "^2.0.0" - } - }, - "mitt": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mitt/-/mitt-1.2.0.tgz", - "integrity": "sha512-r6lj77KlwqLhIUku9UWYes7KJtsczvolZkzp8hbaDPPaE24OmWl5s539Mytlj22siEQKosZ26qCBgda2PKwoJw==", - "dev": true - }, - "mixin-deep": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", - "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", - "dev": true, - "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" } }, - "mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "requires": { - "minimist": "0.0.8" - }, + "node_modules/eslint-import-resolver-typescript": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.6.1.tgz", + "integrity": "sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==", + "dev": true, "dependencies": { - "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" - } + "debug": "^4.3.4", + "enhanced-resolve": "^5.12.0", + "eslint-module-utils": "^2.7.4", + "fast-glob": "^3.3.1", + "get-tsconfig": "^4.5.0", + "is-core-module": "^2.11.0", + "is-glob": "^4.0.3" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts/projects/eslint-import-resolver-ts" + }, + "peerDependencies": { + "eslint": "*", + "eslint-plugin-import": "*" } }, - "modernizr": { - "version": "3.11.3", - "resolved": "https://registry.npmjs.org/modernizr/-/modernizr-3.11.3.tgz", - "integrity": "sha512-912QnDnkDxs1w1EbFD3btEGI67rssfjWwJsVXpyoLBvHUwr0r8x6KN0IUCZFH/5xnK0000YxI0N3qcqHVzWjcQ==", - "requires": { - "doctrine": "^3.0.0", - "file": "^0.2.2", - "lodash": "^4.17.15", - "markdown-it": "^10.0.0", - "mkdirp": "0.5.5", - "requirejs": "^2.3.6", - "yargs": "^15.3.1" - }, - "dependencies": { - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" - }, - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "requires": { - "minimist": "^1.2.5" - } + "node_modules/eslint-module-utils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz", + "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==", + "dev": true, + "dependencies": { + "debug": "^3.2.7" + }, + "engines": { + "node": ">=4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true } } }, - "modernizr-webpack-plugin": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/modernizr-webpack-plugin/-/modernizr-webpack-plugin-1.0.7.tgz", - "integrity": "sha512-ddqiytD3VsDzZn1W/gZX/+yxm/sM1WGkIKGxTGP6y1QsakjZK6w2qnk1fx9nZuCKgWeWELX4zgh7qXPRSQWJHw==", - "requires": { - "html-webpack-plugin": "^1.6.2", - "modernizr": "^3.5.0", - "object-assign": "^4.0.1", - "uglify-js": "^2.4.24", - "webpack-core": "^0.6.7" - }, - "dependencies": { - "camelcase": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", - "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=" - }, - "clean-css": { - "version": "3.4.28", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-3.4.28.tgz", - "integrity": "sha1-vxlF6C/ICPVWlebd6uwBQA79A/8=", - "requires": { - "commander": "2.8.x", - "source-map": "0.4.x" - }, - "dependencies": { - "commander": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz", - "integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=", - "requires": { - "graceful-readlink": ">= 1.0.0" - } - } - } - }, - "cliui": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", - "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", - "requires": { - "center-align": "^0.1.1", - "right-align": "^0.1.1", - "wordwrap": "0.0.2" - } - }, - "commander": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", - "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=", - "requires": { - "graceful-readlink": ">= 1.0.0" - } - }, - "concat-stream": { - "version": "1.5.2", - "resolved": "http://registry.npmjs.org/concat-stream/-/concat-stream-1.5.2.tgz", - "integrity": "sha1-cIl4Yk2FavQaWnQd790mHadSwmY=", - "requires": { - "inherits": "~2.0.1", - "readable-stream": "~2.0.0", - "typedarray": "~0.0.5" - } - }, - "he": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.0.0.tgz", - "integrity": "sha1-baWyZdfyw7XkgHSRaODhWdBXKNo=" - }, - "html-minifier": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-1.5.0.tgz", - "integrity": "sha1-vrBf2cw0CUWGXBD0Cu30aa9LFTQ=", - "requires": { - "change-case": "2.3.x", - "clean-css": "3.4.x", - "commander": "2.9.x", - "concat-stream": "1.5.x", - "he": "1.0.x", - "ncname": "1.0.x", - "relateurl": "0.2.x", - "uglify-js": "2.6.x" - }, - "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - }, - "uglify-js": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.6.4.tgz", - "integrity": "sha1-ZeovswWck5RpLxX+2HwrNsFrmt8=", - "requires": { - "async": "~0.2.6", - "source-map": "~0.5.1", - "uglify-to-browserify": "~1.0.0", - "yargs": "~3.10.0" - } - } - } - }, - "html-webpack-plugin": { - "version": "1.7.0", - "resolved": "http://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-1.7.0.tgz", - "integrity": "sha1-zQxzx5G9DIxFsk4wAb4zSmt0KXs=", - "requires": { - "bluebird": "^3.0.5", - "blueimp-tmpl": "^2.5.5", - "html-minifier": "^1.0.0", - "lodash": "^3.10.1" - } - }, - "lodash": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", - "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=" - }, - "process-nextick-args": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", - "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=" - }, - "readable-stream": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", - "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "~1.0.0", - "process-nextick-args": "~1.0.6", - "string_decoder": "~0.10.x", - "util-deprecate": "~1.0.1" - } - }, - "source-map": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", - "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", - "requires": { - "amdefine": ">=0.0.4" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" - }, - "uglify-js": { - "version": "2.8.29", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", - "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", - "requires": { - "source-map": "~0.5.1", - "uglify-to-browserify": "~1.0.0", - "yargs": "~3.10.0" - }, - "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - } - } - }, - "window-size": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", - "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=" - }, - "wordwrap": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", - "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=" - }, - "yargs": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", - "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", - "requires": { - "camelcase": "^1.0.2", - "cliui": "^2.1.0", - "decamelize": "^1.0.0", - "window-size": "0.1.0" - } - } + "node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" } }, - "move-concurrently": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", - "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", + "node_modules/eslint-plugin-import": { + "version": "2.28.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.28.1.tgz", + "integrity": "sha512-9I9hFlITvOV55alzoKBI+K9q74kv0iKMeY6av5+umsNwayt59fz692daGyjR+oStBQgx6nwR9rXldDev3Clw+A==", "dev": true, - "requires": { - "aproba": "^1.1.1", - "copy-concurrently": "^1.0.0", - "fs-write-stream-atomic": "^1.0.8", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.3" + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.findlastindex": "^1.2.2", + "array.prototype.flat": "^1.3.1", + "array.prototype.flatmap": "^1.3.1", + "debug": "^3.2.7", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.7", + "eslint-module-utils": "^2.8.0", + "has": "^1.0.3", + "is-core-module": "^2.13.0", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.6", + "object.groupby": "^1.0.0", + "object.values": "^1.1.6", + "semver": "^6.3.1", + "tsconfig-paths": "^3.14.2" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" } }, - "mri": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/mri/-/mri-1.1.4.tgz", - "integrity": "sha512-6y7IjGPm8AzlvoUrwAaw1tLnUBudaS3752vcd8JtrpGGQn+rXIe63LFVHm/YMwtqAuh+LJPCFdlLYPWM1nYn6w==", - "dev": true - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "mute-stream": { - "version": "0.0.7", - "resolved": "http://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", - "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", - "dev": true - }, - "mysql": { - "version": "2.18.1", - "resolved": "https://registry.npmjs.org/mysql/-/mysql-2.18.1.tgz", - "integrity": "sha512-Bca+gk2YWmqp2Uf6k5NFEurwY/0td0cpebAucFpY/3jhrwrVGuxU2uQFCHjU19SJfje0yQvi+rVWdq78hR5lig==", - "requires": { - "bignumber.js": "9.0.0", - "readable-stream": "2.3.7", - "safe-buffer": "5.1.2", - "sqlstring": "2.3.1" - }, - "dependencies": { - "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==", - "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" - } - } + "node_modules/eslint-plugin-import/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" } }, - "nan": { - "version": "2.12.1", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.12.1.tgz", - "integrity": "sha1-exqhk+mqhgV+PHu9CsRI53CSVVI=", + "node_modules/eslint-plugin-import/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dev": true, - "optional": true + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } }, - "nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha1-uHqKpPwN6P5r6IiVs4mD/yZb0Rk=", + "node_modules/eslint-plugin-import/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, - "requires": { - "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" + "bin": { + "semver": "bin/semver.js" } }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", - "dev": true + "node_modules/eslint-plugin-jsx-a11y": { + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.7.1.tgz", + "integrity": "sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.20.7", + "aria-query": "^5.1.3", + "array-includes": "^3.1.6", + "array.prototype.flatmap": "^1.3.1", + "ast-types-flow": "^0.0.7", + "axe-core": "^4.6.2", + "axobject-query": "^3.1.1", + "damerau-levenshtein": "^1.0.8", + "emoji-regex": "^9.2.2", + "has": "^1.0.3", + "jsx-ast-utils": "^3.3.3", + "language-tags": "=1.0.5", + "minimatch": "^3.1.2", + "object.entries": "^1.1.6", + "object.fromentries": "^2.0.6", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=4.0" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + } }, - "ncname": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/ncname/-/ncname-1.0.0.tgz", - "integrity": "sha1-W1etGLHKCShk72Kwse2BlPODtxw=", - "requires": { - "xml-char-classes": "^1.0.0" - } - }, - "needle": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/needle/-/needle-2.5.0.tgz", - "integrity": "sha512-o/qITSDR0JCyCKEQ1/1bnUXMmznxabbwi/Y4WwJElf+evwJNFNwIDMCCt5IigFVxgeGBJESLohGtIS9gEzo1fA==", - "requires": { - "debug": "^3.2.6", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" - }, - "dependencies": { - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } + "node_modules/eslint-plugin-jsx-a11y/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" } }, - "negotiator": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", - "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=" + "node_modules/eslint-plugin-react": { + "version": "7.33.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.33.2.tgz", + "integrity": "sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.flatmap": "^1.3.1", + "array.prototype.tosorted": "^1.1.1", + "doctrine": "^2.1.0", + "es-iterator-helpers": "^1.0.12", + "estraverse": "^5.3.0", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.6", + "object.fromentries": "^2.0.6", + "object.hasown": "^1.1.2", + "object.values": "^1.1.6", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.4", + "semver": "^6.3.1", + "string.prototype.matchall": "^4.0.8" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + } }, - "neo-async": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz", - "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==", - "dev": true + "node_modules/eslint-plugin-react-hooks": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", + "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", + "dev": true, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" + } }, - "nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", - "dev": true + "node_modules/eslint-plugin-react/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } }, - "no-case": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", - "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", + "node_modules/eslint-plugin-react/node_modules/resolve": { + "version": "2.0.0-next.4", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz", + "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==", "dev": true, - "requires": { - "lower-case": "^1.1.1" + "dependencies": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node-addon-api": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.0.2.tgz", - "integrity": "sha512-+D4s2HCnxPd5PjjI0STKwncjXTUKKqm74MDMz9OPXavjsGmjkvwgLtA5yoxJUdmpj52+2u+RrXgPipahKczMKg==" + "node_modules/eslint-plugin-react/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } }, - "node-environment-flags": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.6.tgz", - "integrity": "sha512-5Evy2epuL+6TM0lCQGpFIj6KwiEsGh1SrHUhTbNX+sLbBtjidPZFAnVK9y5yU1+h//RitLbRHTIMyxQPtxMdHw==", + "node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", "dev": true, - "requires": { - "object.getownpropertydescriptors": "^2.0.3", - "semver": "^5.7.0" + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node-fetch": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", - "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==", - "dev": true + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } }, - "node-gyp": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz", - "integrity": "sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==", - "dev": true, - "requires": { - "fstream": "^1.0.0", - "glob": "^7.0.3", - "graceful-fs": "^4.1.2", - "mkdirp": "^0.5.0", - "nopt": "2 || 3", - "npmlog": "0 || 1 || 2 || 3 || 4", - "osenv": "0", - "request": "^2.87.0", - "rimraf": "2", - "semver": "~5.3.0", - "tar": "^2.0.0", - "which": "1" - }, - "dependencies": { - "nopt": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", - "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", - "dev": true, - "requires": { - "abbrev": "1" - } - }, - "semver": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", - "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", - "dev": true - }, - "tar": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.2.tgz", - "integrity": "sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA==", - "dev": true, - "requires": { - "block-stream": "*", - "fstream": "^1.0.12", - "inherits": "2" - } - } + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=", - "dev": true + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } }, - "node-libs-browser": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", - "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", - "dev": true, - "requires": { - "assert": "^1.1.1", - "browserify-zlib": "^0.2.0", - "buffer": "^4.3.0", - "console-browserify": "^1.1.0", - "constants-browserify": "^1.0.0", - "crypto-browserify": "^3.11.0", - "domain-browser": "^1.1.1", - "events": "^3.0.0", - "https-browserify": "^1.0.0", - "os-browserify": "^0.3.0", - "path-browserify": "0.0.1", - "process": "^0.11.10", - "punycode": "^1.2.4", - "querystring-es3": "^0.2.0", - "readable-stream": "^2.3.3", - "stream-browserify": "^2.0.1", - "stream-http": "^2.7.2", - "string_decoder": "^1.0.0", - "timers-browserify": "^2.0.4", - "tty-browserify": "0.0.0", - "url": "^0.11.0", - "util": "^0.11.0", - "vm-browserify": "^1.0.1" - }, - "dependencies": { - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true - } + "node_modules/esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" } }, - "node-modules-regexp": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz", - "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=", - "dev": true + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } }, - "node-notifier": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-6.0.0.tgz", - "integrity": "sha512-SVfQ/wMw+DesunOm5cKqr6yDcvUTDl/yc97ybGHMrteNEY6oekXpNpS3lZwgLlwz0FLgHoiW28ZpmBHUDg37cw==", + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, - "optional": true, - "requires": { - "growly": "^1.3.0", - "is-wsl": "^2.1.1", - "semver": "^6.3.0", - "shellwords": "^0.1.1", - "which": "^1.3.1" - }, - "dependencies": { - "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, - "optional": true, - "requires": { - "is-docker": "^2.0.0" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "optional": true - } + "engines": { + "node": ">=4.0" } }, - "node-pre-gyp": { - "version": "0.15.0", - "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.15.0.tgz", - "integrity": "sha512-7QcZa8/fpaU/BKenjcaeFF9hLz2+7S9AqyXFhlH/rilsQ/hPZKK32RtR5EQHJElgu+q5RfbJ34KriI79UWaorA==", - "requires": { - "detect-libc": "^1.0.2", - "mkdirp": "^0.5.3", - "needle": "^2.5.0", - "nopt": "^4.0.1", - "npm-packlist": "^1.1.6", - "npmlog": "^4.0.2", - "rc": "^1.2.7", - "rimraf": "^2.6.1", - "semver": "^5.3.0", - "tar": "^4.4.2" - }, - "dependencies": { - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" - }, - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "requires": { - "minimist": "^1.2.5" - } - } + "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-releases": { - "version": "1.1.39", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.39.tgz", - "integrity": "sha512-8MRC/ErwNCHOlAFycy9OPca46fQYUjbJRDcZTHVWIGXIjYLM73k70vv3WkYutVnM4cCo4hE0MqBVVZjP6vjISA==", + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", "dev": true, - "requires": { - "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 - } + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node-sass": { - "version": "4.14.1", - "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.14.1.tgz", - "integrity": "sha512-sjCuOlvGyCJS40R8BscF5vhVlQjNN069NtQ1gSxyK1u9iqvn6tf7O1R4GNowVZfiZUCRt5MmMs1xd+4V/7Yr0g==", - "dev": true, - "requires": { - "async-foreach": "^0.1.3", - "chalk": "^1.1.1", - "cross-spawn": "^3.0.0", - "gaze": "^1.0.0", - "get-stdin": "^4.0.1", - "glob": "^7.0.3", - "in-publish": "^2.0.0", - "lodash": "^4.17.15", - "meow": "^3.7.0", - "mkdirp": "^0.5.1", - "nan": "^2.13.2", - "node-gyp": "^3.8.0", - "npmlog": "^4.0.0", - "request": "^2.88.0", - "sass-graph": "2.2.5", - "stdout-stream": "^1.4.0", - "true-case-path": "^1.0.2" - }, - "dependencies": { - "cross-spawn": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz", - "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=", - "dev": true, - "requires": { - "lru-cache": "^4.0.1", - "which": "^1.2.9" - } - }, - "nan": { - "version": "2.14.1", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.1.tgz", - "integrity": "sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw==", - "dev": true - } + "node_modules/exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "dev": true, + "engines": { + "node": ">= 0.8.0" } }, - "nodemon": { - "version": "1.19.4", - "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-1.19.4.tgz", - "integrity": "sha512-VGPaqQBNk193lrJFotBU8nvWZPqEZY2eIzymy2jjY0fJ9qIsxA0sxQ8ATPl0gZC645gijYEc1jtZvpS8QWzJGQ==", + "node_modules/expect": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz", + "integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==", "dev": true, - "requires": { - "chokidar": "^2.1.8", - "debug": "^3.2.6", - "ignore-by-default": "^1.0.1", - "minimatch": "^3.0.4", - "pstree.remy": "^1.1.7", - "semver": "^5.7.1", - "supports-color": "^5.5.0", - "touch": "^3.1.0", - "undefsafe": "^2.0.2", - "update-notifier": "^2.5.0" - }, - "dependencies": { - "chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", - "dev": true, - "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "fsevents": "^1.2.7", - "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" - } - }, - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "fsevents": { - "version": "1.2.9", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.9.tgz", - "integrity": "sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw==", - "dev": true, - "optional": true, - "requires": { - "nan": "^2.12.1", - "node-pre-gyp": "^0.12.0" - }, - "dependencies": { - "abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "dev": true, - "optional": 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, - "optional": true - }, - "aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", - "dev": true, - "optional": true - }, - "are-we-there-yet": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", - "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", - "dev": true, - "optional": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - } - }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "dev": true, - "optional": true - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "optional": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "chownr": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.1.tgz", - "integrity": "sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==", - "dev": true, - "optional": 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, - "optional": true - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true, - "optional": true - }, - "console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", - "dev": true, - "optional": true - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "dev": true, - "optional": true - }, - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "optional": true, - "requires": { - "ms": "^2.1.1" - } - }, - "deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "dev": true, - "optional": true - }, - "delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", - "dev": true, - "optional": true - }, - "detect-libc": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", - "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=", - "dev": true, - "optional": true - }, - "fs-minipass": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.5.tgz", - "integrity": "sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ==", - "dev": true, - "optional": true, - "requires": { - "minipass": "^2.2.1" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true, - "optional": true - }, - "gauge": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", - "dev": true, - "optional": true, - "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - } - }, - "glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", - "dev": true, - "optional": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", - "dev": true, - "optional": true - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, - "optional": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "ignore-walk": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.1.tgz", - "integrity": "sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==", - "dev": true, - "optional": true, - "requires": { - "minimatch": "^3.0.4" - } - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, - "optional": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true, - "optional": 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, - "optional": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true, - "optional": true - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, - "optional": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "dev": true, - "optional": true - }, - "minipass": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.3.5.tgz", - "integrity": "sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA==", - "dev": true, - "optional": true, - "requires": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" - } - }, - "minizlib": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.2.1.tgz", - "integrity": "sha512-7+4oTUOWKg7AuL3vloEWekXY2/D20cevzsrNT2kGWm+39J9hGTCBv8VI5Pm5lXZ/o3/mdR4f8rflAPhnQb8mPA==", - "dev": true, - "optional": true, - "requires": { - "minipass": "^2.2.1" - } - }, - "mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "dev": true, - "optional": true, - "requires": { - "minimist": "0.0.8" - } - }, - "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", - "dev": true, - "optional": true - }, - "needle": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/needle/-/needle-2.3.0.tgz", - "integrity": "sha512-QBZu7aAFR0522EyaXZM0FZ9GLpq6lvQ3uq8gteiDUp7wKdy0lSd2hPlgFwVuW1CBkfEs9PfDQsQzZghLs/psdg==", - "dev": true, - "optional": true, - "requires": { - "debug": "^4.1.0", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" - } - }, - "node-pre-gyp": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.12.0.tgz", - "integrity": "sha512-4KghwV8vH5k+g2ylT+sLTjy5wmUOb9vPhnM8NHvRf9dHmnW/CndrFXy2aRPaPST6dugXSdHXfeaHQm77PIz/1A==", - "dev": true, - "optional": true, - "requires": { - "detect-libc": "^1.0.2", - "mkdirp": "^0.5.1", - "needle": "^2.2.1", - "nopt": "^4.0.1", - "npm-packlist": "^1.1.6", - "npmlog": "^4.0.2", - "rc": "^1.2.7", - "rimraf": "^2.6.1", - "semver": "^5.3.0", - "tar": "^4" - } - }, - "nopt": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz", - "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", - "dev": true, - "optional": true, - "requires": { - "abbrev": "1", - "osenv": "^0.1.4" - } - }, - "npm-bundled": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.0.6.tgz", - "integrity": "sha512-8/JCaftHwbd//k6y2rEWp6k1wxVfpFzB6t1p825+cUb7Ym2XQfhwIC5KwhrvzZRJu+LtDE585zVaS32+CGtf0g==", - "dev": true, - "optional": true - }, - "npm-packlist": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.1.tgz", - "integrity": "sha512-+TcdO7HJJ8peiiYhvPxsEDhF3PJFGUGRcFsGve3vxvxdcpO2Z4Z7rkosRM0kWj6LfbK/P0gu3dzk5RU1ffvFcw==", - "dev": true, - "optional": true, - "requires": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1" - } - }, - "npmlog": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", - "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", - "dev": true, - "optional": true, - "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.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, - "optional": 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, - "optional": true - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, - "optional": true, - "requires": { - "wrappy": "1" - } - }, - "os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", - "dev": true, - "optional": 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, - "optional": true - }, - "osenv": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", - "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", - "dev": true, - "optional": true, - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true, - "optional": true - }, - "process-nextick-args": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", - "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", - "dev": true, - "optional": true - }, - "rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "dev": true, - "optional": true, - "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true, - "optional": true - } - } - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": true, - "optional": 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" - } - }, - "rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", - "dev": true, - "optional": true, - "requires": { - "glob": "^7.1.3" - } - }, - "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, - "optional": true - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true, - "optional": true - }, - "sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", - "dev": true, - "optional": true - }, - "semver": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz", - "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==", - "dev": true, - "optional": true - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "dev": true, - "optional": true - }, - "signal-exit": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", - "dev": true, - "optional": true - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "optional": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "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, - "optional": true, - "requires": { - "safe-buffer": "~5.1.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, - "optional": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", - "dev": true, - "optional": true - }, - "tar": { - "version": "4.4.8", - "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.8.tgz", - "integrity": "sha512-LzHF64s5chPQQS0IYBn9IN5h3i98c12bo4NCO7e0sGM2llXQ3p2FGC5sdENN4cTW48O915Sh+x+EXx7XW96xYQ==", - "dev": true, - "optional": true, - "requires": { - "chownr": "^1.1.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.3.4", - "minizlib": "^1.1.1", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.2", - "yallist": "^3.0.2" - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true, - "optional": true - }, - "wide-align": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", - "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", - "dev": true, - "optional": true, - "requires": { - "string-width": "^1.0.2 || 2" - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true, - "optional": true - }, - "yallist": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz", - "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==", - "dev": true, - "optional": true - } - } - }, - "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 - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "upath": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", - "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", - "dev": true - } + "dependencies": { + "@jest/expect-utils": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "nopt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz", - "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==", - "requires": { - "abbrev": "1", - "osenv": "^0.1.4" - } - }, - "normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "dev": true, - "requires": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - }, - "dependencies": { - "resolve": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", - "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", - "dev": true, - "requires": { - "path-parse": "^1.0.6" - } - } + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-glob": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", + "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", + "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" + }, + "engines": { + "node": ">=8.6.0" } }, - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "node_modules/fast-glob/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, - "requires": { - "remove-trailing-separator": "^1.0.1" + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" } }, - "normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", "dev": true }, - "npm-bundled": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.1.tgz", - "integrity": "sha512-gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA==", - "requires": { - "npm-normalize-package-bin": "^1.0.1" - } - }, - "npm-normalize-package-bin": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz", - "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==" + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true }, - "npm-packlist": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.8.tgz", - "integrity": "sha512-5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A==", - "requires": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1", - "npm-normalize-package-bin": "^1.0.1" + "node_modules/fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" } }, - "npm-run-path": { + "node_modules/fb-watchman": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", "dev": true, - "requires": { - "path-key": "^2.0.0" - } - }, - "npmlog": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", - "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", - "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" + "dependencies": { + "bser": "2.1.1" } }, - "nth-check": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", - "integrity": "sha1-sr0pXDfj3VijvwcAN2Zjuk2c8Fw=", + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", "dev": true, - "requires": { - "boolbase": "~1.0.0" + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" } }, - "num2fraction": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", - "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=", - "dev": true + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "devOptional": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } }, - "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=" + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "nwmatcher": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/nwmatcher/-/nwmatcher-1.4.4.tgz", - "integrity": "sha512-3iuY4N5dhgMpCUrOVnuAdGrgxVqV2cJpM+XNccjR2DKOB1RUP0aA+wGXEiNziG/UKboFyGBIoKOaNlJxx8bciQ==", + "node_modules/flat-cache": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.1.0.tgz", + "integrity": "sha512-OHx4Qwrrt0E4jEIcI5/Xb+f+QmJYNj2rrK8wiIdQOIrB9WrrJL8cjZvXdXuBTkkEwEqLycb5BeZDV1o2i9bTew==", "dev": true, - "optional": true + "dependencies": { + "flatted": "^3.2.7", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": ">=12.0.0" + } }, - "nwsapi": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", - "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==", + "node_modules/flatted": { + "version": "3.2.9", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", + "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", "dev": true }, - "oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" + "node_modules/for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.3" + } }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + "node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dev": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } }, - "object-component": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz", - "integrity": "sha1-8MaapQ78lbhmwYb0AKM3acsvEpE=", + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", "dev": true }, - "object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", - "dev": true, - "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, - "object-inspect": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz", - "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==", + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", "dev": true }, - "object-keys": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.12.tgz", - "integrity": "sha1-CcU4VTd1dTEMymL1W7M0q/97PtI=" + "node_modules/function.prototype.name": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", + "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "functions-have-names": "^1.2.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", "dev": true, - "requires": { - "isobject": "^3.0.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "object.assign": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", - "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", - "requires": { - "define-properties": "^1.1.2", - "function-bind": "^1.1.1", - "has-symbols": "^1.0.0", - "object-keys": "^1.0.11" + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "engines": { + "node": ">=6.9.0" } }, - "object.entries": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.0.tgz", - "integrity": "sha512-l+H6EQ8qzGRxbkHOd5I/aHRhHDKoQXQ8g0BYt4uSweQU1/J6dZUOyWh9a2Vky35YCKjzmgxOzta2hH6kf9HuXA==", + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.12.0", - "function-bind": "^1.1.1", - "has": "^1.0.3" + "engines": { + "node": "6.* || 8.* || >= 10.*" } }, - "object.getownpropertydescriptors": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz", - "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=", + "node_modules/get-intrinsic": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", + "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", "dev": true, - "requires": { - "define-properties": "^1.1.2", - "es-abstract": "^1.5.1" + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", "dev": true, - "requires": { - "isobject": "^3.0.1" + "engines": { + "node": ">=8.0.0" } }, - "object.values": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.1.tgz", - "integrity": "sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA==", + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1", - "function-bind": "^1.1.1", - "has": "^1.0.3" + "engines": { + "node": ">=10" }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "dev": true, "dependencies": { - "es-abstract": { - "version": "1.17.7", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", - "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==", - "dev": true, - "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - } - }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dev": true, - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "has-symbols": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", - "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", - "dev": true - }, - "is-callable": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", - "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==", - "dev": true - }, - "is-regex": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", - "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", - "dev": true, - "requires": { - "has-symbols": "^1.0.1" - } - }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true - }, - "object.assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.1.tgz", - "integrity": "sha512-VT/cxmx5yaoHSOTSyrCygIDFco+RsibY2NM0a4RdEeY/4KgqezwFtK1yr3U67xYhqJSlASm2pKhLVzPj2lr4bA==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.0", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - }, - "dependencies": { - "es-abstract": { - "version": "1.18.0-next.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz", - "integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==", - "dev": true, - "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-negative-zero": "^2.0.0", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - } - } - } - } + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", - "requires": { - "ee-first": "1.1.1" + "node_modules/get-tsconfig": { + "version": "4.7.2", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.2.tgz", + "integrity": "sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==", + "dev": true, + "dependencies": { + "resolve-pkg-maps": "^1.0.0" + }, + "funding": { + "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" } }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "requires": { - "wrappy": "1" + "node_modules/glob": { + "version": "7.1.7", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", + "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "onetime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dev": true, - "requires": { - "mimic-fn": "^1.0.0" + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" } }, - "openurl": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/openurl/-/openurl-1.1.1.tgz", - "integrity": "sha1-OHW0sO96UsFW8NtB1GCduw+Us4c=", - "dev": true + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" }, - "opn": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/opn/-/opn-5.3.0.tgz", - "integrity": "sha512-bYJHo/LOmoTd+pfiYhfZDnf9zekVJrY+cnS2a5F2x+w5ppvTqObojTP7WiFG+kVZs9Inw+qQ/lw7TroWwhdd2g==", + "node_modules/globals": { + "version": "13.22.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.22.0.tgz", + "integrity": "sha512-H1Ddc/PbZHTDVJSnj8kWptIRSD6AM3pK+mKytuIVF4uoBV7rshFlhhvA58ceJ5wp3Er58w6zj7bykMpYXt3ETw==", "dev": true, - "requires": { - "is-wsl": "^1.1.0" + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "optimist": { - "version": "0.3.7", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz", - "integrity": "sha1-yQlBrVnkJzMokjB00s8ufLxuwNk=", - "requires": { - "wordwrap": "~0.0.2" + "node_modules/globalthis": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "optionator": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", - "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", "dev": true, - "requires": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.4", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "wordwrap": "~1.0.0" + "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/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dev": true, "dependencies": { - "wordwrap": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", - "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", - "dev": true - } + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "os-browserify": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", - "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", "dev": true }, - "os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" + "node_modules/has": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.4.tgz", + "integrity": "sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==", + "dev": true, + "engines": { + "node": ">= 0.4.0" + } }, - "os-tmpdir": { + "node_modules/has-bigints": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" - }, - "osenv": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", - "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "p-each-series": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-2.1.0.tgz", - "integrity": "sha512-ZuRs1miPT4HrjFa+9fRfOFXxGJfORgelKV9f9nNOWw2gl6gVsRaVDOQP0+MI0G0wGKns1Yacsu0GjOFbTK0JFQ==", - "dev": true + "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" + } }, - "p-finally": { + "node_modules/has-property-descriptors": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "dev": true + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "node_modules/has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", "dev": true, - "requires": { - "p-try": "^1.0.0" + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", "dev": true, - "requires": { - "p-limit": "^1.1.0" + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "p-try": { + "node_modules/has-tostringtag": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "package-json": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/package-json/-/package-json-4.0.1.tgz", - "integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=", + "node_modules/html-encoding-sniffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", + "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", "dev": true, - "requires": { - "got": "^6.7.1", - "registry-auth-token": "^3.0.1", - "registry-url": "^3.0.3", - "semver": "^5.1.0" + "dependencies": { + "whatwg-encoding": "^2.0.0" + }, + "engines": { + "node": ">=12" } }, - "pako": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", "dev": true }, - "parallel-transform": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.1.0.tgz", - "integrity": "sha1-1BDwZbBdojCB/NEPKIVMKb2jOwY=", + "node_modules/http-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", + "dev": true, + "dependencies": { + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dev": true, + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", "dev": true, - "requires": { - "cyclist": "~0.2.2", - "inherits": "^2.0.3", - "readable-stream": "^2.1.5" + "engines": { + "node": ">=10.17.0" } }, - "param-case": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", - "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", "dev": true, - "requires": { - "no-case": "^2.2.0" + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "node_modules/ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", "dev": true, - "requires": { - "callsites": "^3.0.0" + "engines": { + "node": ">= 4" } }, - "parse-asn1": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", - "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", + "node_modules/immutable": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.4.tgz", + "integrity": "sha512-fsXeu4J4i6WNWSikpI88v/PcVflZz+6kMhUfIwc5SY+poQRPnaf5V7qds6SUyUN3cVxEzuCab7QIoLOQ+DQ1wA==", + "devOptional": true + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "dev": true, - "requires": { - "asn1.js": "^5.2.0", - "browserify-aes": "^1.0.0", - "evp_bytestokey": "^1.0.0", - "pbkdf2": "^3.0.3", - "safe-buffer": "^5.1.1" + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "node_modules/import-local": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", "dev": true, - "requires": { - "error-ex": "^1.2.0" + "dependencies": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "parse-passwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", - "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", - "dev": true - }, - "parse5": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-3.0.3.tgz", - "integrity": "sha512-rgO9Zg5LLLkfJF9E6CCmXlSE4UVceloys8JrFqCcHloC3usd/kJCyPDwH2SOlzix2j3xaP9sUX3e8+kvkuleAA==", + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", "dev": true, - "requires": { - "@types/node": "*" + "engines": { + "node": ">=0.8.19" } }, - "parseqs": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.6.tgz", - "integrity": "sha512-jeAGzMDbfSHHA091hr0r31eYfTig+29g3GKKE/PPbEQ65X0lmMwlEoqmhzu0iztID5uJpZsFlUPDP8ThPL7M8w==" - }, - "parseuri": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.6.tgz", - "integrity": "sha512-AUjen8sAkGgao7UyCX6Ahv0gIK2fABKmYjvP4xmy5JaKvcbTRueIqIPHLAfq30xJddqSE033IOMUSOMCcK3Sow==" - }, - "parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "dev": true - }, - "pascal-case": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-1.1.2.tgz", - "integrity": "sha1-Pl1kogBDgwp8STRMLXS0G+DJyZs=", - "requires": { - "camel-case": "^1.1.1", - "upper-case-first": "^1.1.0" - }, - "dependencies": { - "camel-case": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-1.2.2.tgz", - "integrity": "sha1-Gsp8TRlTWaLOmVV5NDPG5VQlEfI=", - "requires": { - "sentence-case": "^1.1.1", - "upper-case": "^1.1.1" - } - } + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" } }, - "pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", - "dev": true - }, - "path-browserify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", - "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true }, - "path-case": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/path-case/-/path-case-1.1.2.tgz", - "integrity": "sha1-UM5roNO+090LXCqcRVNpdDRAlRQ=", - "requires": { - "sentence-case": "^1.1.2" + "node_modules/internal-slot": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", + "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" } }, - "path-dirname": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", - "dev": true - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" - }, - "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/is-array-buffer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", + "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "is-typed-array": "^1.1.10" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", "dev": true }, - "path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha1-1i27VnlAXXLEc37FhgDp3c8G0kw=" - }, - "path-type": { + "node_modules/is-async-function": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", - "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz", + "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==", "dev": true, - "requires": { - "pify": "^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 - } + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "pbkdf2": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.1.tgz", - "integrity": "sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg==", + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", "dev": true, - "requires": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "performance-now": { + "node_modules/is-binary-path": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" - }, - "picomatch": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", - "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", - "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 - }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", - "dev": true + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "devOptional": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } }, - "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/is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", "dev": true, - "requires": { - "pinkie": "^2.0.0" + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "pirates": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz", - "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==", + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", "dev": true, - "requires": { - "node-modules-regexp": "^1.0.0" + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "pkg-dir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", - "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "node_modules/is-core-module": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", + "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", "dev": true, - "requires": { - "find-up": "^2.1.0" + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "pn": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz", - "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==", - "dev": true - }, - "popper.js": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1.tgz", - "integrity": "sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ==" - }, - "portscanner": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/portscanner/-/portscanner-2.1.1.tgz", - "integrity": "sha1-6rtAnk3iSVD1oqUW01rnaTQ/u5Y=", + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", "dev": true, - "requires": { - "async": "1.5.2", - "is-number-like": "^1.0.3" - }, "dependencies": { - "async": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", - "dev": true - } + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", - "dev": true - }, - "postcss": { - "version": "7.0.7", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.7.tgz", - "integrity": "sha512-HThWSJEPkupqew2fnuQMEI2YcTj/8gMV3n80cMdJsKxfIh5tHf7nM5JigNX6LxVMqo6zkgQNAI88hyFvBk41Pg==", - "dev": true, - "requires": { - "chalk": "^2.4.1", - "source-map": "^0.6.1", - "supports-color": "^5.5.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "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 - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "devOptional": true, + "engines": { + "node": ">=0.10.0" } }, - "postcss-attribute-case-insensitive": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-4.0.1.tgz", - "integrity": "sha512-L2YKB3vF4PetdTIthQVeT+7YiSzMoNMLLYxPXXppOOP7NoazEAy45sh2LvJ8leCQjfBcfkYQs8TtCcQjeZTp8A==", + "node_modules/is-finalizationregistry": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz", + "integrity": "sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==", "dev": true, - "requires": { - "postcss": "^7.0.2", - "postcss-selector-parser": "^5.0.0" - }, "dependencies": { - "cssesc": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", - "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==", - "dev": true - }, - "postcss-selector-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", - "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", - "dev": true, - "requires": { - "cssesc": "^2.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - } + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "postcss-color-functional-notation": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-2.0.1.tgz", - "integrity": "sha512-ZBARCypjEDofW4P6IdPVTLhDNXPRn8T2s1zHbZidW6rPaaZvcnCS2soYFIQJrMZSxiePJ2XIYTlcb2ztr/eT2g==", + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true, - "requires": { - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" + "engines": { + "node": ">=8" } }, - "postcss-color-gray": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-color-gray/-/postcss-color-gray-5.0.0.tgz", - "integrity": "sha512-q6BuRnAGKM/ZRpfDascZlIZPjvwsRye7UDNalqVz3s7GDxMtqPY6+Q871liNxsonUw8oC61OG+PSaysYpl1bnw==", + "node_modules/is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", "dev": true, - "requires": { - "@csstools/convert-colors": "^1.4.0", - "postcss": "^7.0.5", - "postcss-values-parser": "^2.0.0" + "engines": { + "node": ">=6" } }, - "postcss-color-hex-alpha": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-5.0.3.tgz", - "integrity": "sha512-PF4GDel8q3kkreVXKLAGNpHKilXsZ6xuu+mOQMHWHLPNyjiUBOr75sp5ZKJfmv1MCus5/DWUGcK9hm6qHEnXYw==", + "node_modules/is-generator-function": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", + "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", "dev": true, - "requires": { - "postcss": "^7.0.14", - "postcss-values-parser": "^2.0.1" - }, "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "dependencies": { - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "postcss": { - "version": "7.0.21", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.21.tgz", - "integrity": "sha512-uIFtJElxJo29QC753JzhidoAhvp/e/Exezkdhfmt8AymWT6/5B7W1WmponYWkHk2eg6sONyTch0A3nkMPun3SQ==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "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 - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "postcss-color-mod-function": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/postcss-color-mod-function/-/postcss-color-mod-function-3.0.3.tgz", - "integrity": "sha512-YP4VG+xufxaVtzV6ZmhEtc+/aTXH3d0JLpnYfxqTvwZPbJhWqp8bSY3nfNzNRFLgB4XSaBA82OE4VjOOKpCdVQ==", - "dev": true, - "requires": { - "@csstools/convert-colors": "^1.4.0", - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" + "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==", + "devOptional": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "postcss-color-rebeccapurple": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-4.0.1.tgz", - "integrity": "sha512-aAe3OhkS6qJXBbqzvZth2Au4V3KieR5sRQ4ptb2b2O8wgvB3SJBsdG+jsn2BZbbwekDG8nTfcCNKcSfe/lEy8g==", + "node_modules/is-map": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", + "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==", "dev": true, - "requires": { - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "postcss-custom-media": { - "version": "7.0.8", - "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-7.0.8.tgz", - "integrity": "sha512-c9s5iX0Ge15o00HKbuRuTqNndsJUbaXdiNsksnVH8H4gdc+zbLzr/UasOwNG6CTDpLFekVY4672eWdiiWu2GUg==", + "node_modules/is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", "dev": true, - "requires": { - "postcss": "^7.0.14" + "engines": { + "node": ">= 0.4" }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "dependencies": { - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "postcss": { - "version": "7.0.21", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.21.tgz", - "integrity": "sha512-uIFtJElxJo29QC753JzhidoAhvp/e/Exezkdhfmt8AymWT6/5B7W1WmponYWkHk2eg6sONyTch0A3nkMPun3SQ==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "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 - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "postcss-custom-properties": { - "version": "8.0.11", - "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-8.0.11.tgz", - "integrity": "sha512-nm+o0eLdYqdnJ5abAJeXp4CEU1c1k+eB2yMCvhgzsds/e0umabFrN6HoTy/8Q4K5ilxERdl/JD1LO5ANoYBeMA==", - "dev": true, - "requires": { - "postcss": "^7.0.17", - "postcss-values-parser": "^2.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "dependencies": { - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "postcss": { - "version": "7.0.21", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.21.tgz", - "integrity": "sha512-uIFtJElxJo29QC753JzhidoAhvp/e/Exezkdhfmt8AymWT6/5B7W1WmponYWkHk2eg6sONyTch0A3nkMPun3SQ==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "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 - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "devOptional": true, + "engines": { + "node": ">=0.12.0" } }, - "postcss-custom-selectors": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-5.1.2.tgz", - "integrity": "sha512-DSGDhqinCqXqlS4R7KGxL1OSycd1lydugJ1ky4iRXPHdBRiozyMHrdu0H3o7qNOCiZwySZTUI5MV0T8QhCLu+w==", + "node_modules/is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", "dev": true, - "requires": { - "postcss": "^7.0.2", - "postcss-selector-parser": "^5.0.0-rc.3" - }, "dependencies": { - "cssesc": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", - "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==", - "dev": true - }, - "postcss-selector-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", - "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", - "dev": true, - "requires": { - "cssesc": "^2.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - } - } - }, - "postcss-dir-pseudo-class": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-5.0.0.tgz", - "integrity": "sha512-3pm4oq8HYWMZePJY+5ANriPs3P07q+LW6FAdTlkFH2XqDdP4HeeJYMOzn0HYLhRSjBO3fhiqSwwU9xEULSrPgw==", - "dev": true, - "requires": { - "postcss": "^7.0.2", - "postcss-selector-parser": "^5.0.0-rc.3" + "has-tostringtag": "^1.0.0" }, - "dependencies": { - "cssesc": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", - "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==", - "dev": true - }, - "postcss-selector-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", - "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", - "dev": true, - "requires": { - "cssesc": "^2.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - } + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "postcss-double-position-gradients": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-1.0.0.tgz", - "integrity": "sha512-G+nV8EnQq25fOI8CH/B6krEohGWnF5+3A6H/+JEpOncu5dCnkS1QQ6+ct3Jkaepw1NGVqqOZH6lqrm244mCftA==", + "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, - "requires": { - "postcss": "^7.0.5", - "postcss-values-parser": "^2.0.0" + "engines": { + "node": ">=8" } }, - "postcss-env-function": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-2.0.2.tgz", - "integrity": "sha512-rwac4BuZlITeUbiBq60h/xbLzXY43qOsIErngWa4l7Mt+RaSkT7QBjXVGTcBHupykkblHMDrBFh30zchYPaOUw==", - "dev": true, - "requires": { - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" - } + "node_modules/is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", + "dev": true }, - "postcss-focus-visible": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-4.0.0.tgz", - "integrity": "sha512-Z5CkWBw0+idJHSV6+Bgf2peDOFf/x4o+vX/pwcNYrWpXFrSfTkQ3JQ1ojrq9yS+upnAlNRHeg8uEwFTgorjI8g==", + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", "dev": true, - "requires": { - "postcss": "^7.0.2" + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "postcss-focus-within": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-3.0.0.tgz", - "integrity": "sha512-W0APui8jQeBKbCGZudW37EeMCjDeVxKgiYfIIEo8Bdh5SpB9sxds/Iq8SEuzS0Q4YFOlG7EPFulbbxujpkrV2w==", + "node_modules/is-set": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", + "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==", "dev": true, - "requires": { - "postcss": "^7.0.2" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "postcss-font-variant": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-4.0.0.tgz", - "integrity": "sha512-M8BFYKOvCrI2aITzDad7kWuXXTm0YhGdP9Q8HanmN4EF1Hmcgs1KK5rSHylt/lUJe8yLxiSwWAHdScoEiIxztg==", + "node_modules/is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", "dev": true, - "requires": { - "postcss": "^7.0.2" + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "postcss-gap-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-2.0.0.tgz", - "integrity": "sha512-QZSqDaMgXCHuHTEzMsS2KfVDOq7ZFiknSpkrPJY6jmxbugUPTuSzs/vuE5I3zv0WAS+3vhrlqhijiprnuQfzmg==", + "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==", "dev": true, - "requires": { - "postcss": "^7.0.2" + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "postcss-image-set-function": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-3.0.1.tgz", - "integrity": "sha512-oPTcFFip5LZy8Y/whto91L9xdRHCWEMs3e1MdJxhgt4jy2WYXfhkng59fH5qLXSCPN8k4n94p1Czrfe5IOkKUw==", + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", "dev": true, - "requires": { - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "postcss-import": { - "version": "12.0.1", - "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-12.0.1.tgz", - "integrity": "sha512-3Gti33dmCjyKBgimqGxL3vcV8w9+bsHwO5UrBawp796+jdardbcFl4RP5w/76BwNL7aGzpKstIfF9I+kdE8pTw==", + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", "dev": true, - "requires": { - "postcss": "^7.0.1", - "postcss-value-parser": "^3.2.3", - "read-cache": "^1.0.0", - "resolve": "^1.1.7" + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "postcss-initial": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-3.0.1.tgz", - "integrity": "sha512-I2Sz83ZSHybMNh02xQDK609lZ1/QOyYeuizCjzEhlMgeV/HcDJapQiH4yTqLjZss0X6/6VvKFXUeObaHpJoINw==", + "node_modules/is-typed-array": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", + "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", "dev": true, - "requires": { - "lodash.template": "^4.5.0", - "postcss": "^7.0.2" + "dependencies": { + "which-typed-array": "^1.1.11" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "postcss-lab-function": { + "node_modules/is-weakmap": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-2.0.1.tgz", - "integrity": "sha512-whLy1IeZKY+3fYdqQFuDBf8Auw+qFuVnChWjmxm/UhHWqNHZx+B99EwxTvGYmUBqe3Fjxs4L1BoZTJmPu6usVg==", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", + "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==", "dev": true, - "requires": { - "@csstools/convert-colors": "^1.4.0", - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "postcss-load-config": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.0.0.tgz", - "integrity": "sha512-V5JBLzw406BB8UIfsAWSK2KSwIJ5yoEIVFb4gVkXci0QdKgA24jLmHZ/ghe/GgX0lJ0/D1uUK1ejhzEY94MChQ==", + "node_modules/is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", "dev": true, - "requires": { - "cosmiconfig": "^4.0.0", - "import-cwd": "^2.0.0" + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "postcss-loader": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-3.0.0.tgz", - "integrity": "sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA==", + "node_modules/is-weakset": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz", + "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", "dev": true, - "requires": { - "loader-utils": "^1.1.0", - "postcss": "^7.0.0", - "postcss-load-config": "^2.0.0", - "schema-utils": "^1.0.0" + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "postcss-logical": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-3.0.0.tgz", - "integrity": "sha512-1SUKdJc2vuMOmeItqGuNaC+N8MzBWFWEkAnRnLpFYj1tGGa7NqyVBujfRtgNa2gXR+6RkGUiB2O5Vmh7E2RmiA==", + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", + "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", "dev": true, - "requires": { - "postcss": "^7.0.2" + "engines": { + "node": ">=8" } }, - "postcss-media-minmax": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-4.0.0.tgz", - "integrity": "sha512-fo9moya6qyxsjbFAYl97qKO9gyre3qvbMnkOZeZwlsW6XYFsvs2DMGDlchVLfAd8LHPZDxivu/+qW2SMQeTHBw==", + "node_modules/istanbul-lib-instrument": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.1.tgz", + "integrity": "sha512-EAMEJBsYuyyztxMxW3g7ugGPkrZsV57v0Hmv3mm1uQsmB+QnZuepg731CRaIgeUVSdmsTngOkSnauNF8p7FIhA==", "dev": true, - "requires": { - "postcss": "^7.0.2" + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^7.5.4" + }, + "engines": { + "node": ">=10" } }, - "postcss-modules-extract-imports": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz", - "integrity": "sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ==", + "node_modules/istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", "dev": true, - "requires": { - "postcss": "^7.0.5" + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" } }, - "postcss-modules-local-by-default": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-2.0.6.tgz", - "integrity": "sha512-oLUV5YNkeIBa0yQl7EYnxMgy4N6noxmiwZStaEJUSe2xPMcdNc8WmBQuQCx18H5psYbVxz8zoHk0RAAYZXP9gA==", + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", "dev": true, - "requires": { - "postcss": "^7.0.6", - "postcss-selector-parser": "^6.0.0", - "postcss-value-parser": "^3.3.1" + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=10" } }, - "postcss-modules-scope": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-2.1.0.tgz", - "integrity": "sha512-91Rjps0JnmtUB0cujlc8KIKCsJXWjzuxGeT/+Q2i2HXKZ7nBUeF9YQTZZTNvHVoNYj1AthsjnGLtqDUE0Op79A==", + "node_modules/istanbul-reports": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.6.tgz", + "integrity": "sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==", "dev": true, - "requires": { - "postcss": "^7.0.6", - "postcss-selector-parser": "^6.0.0" + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" } }, - "postcss-modules-values": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-2.0.0.tgz", - "integrity": "sha512-Ki7JZa7ff1N3EIMlPnGTZfUMe69FFwiQPnVSXC9mnn3jozCRBYIxiZd44yJOV2AmabOo4qFf8s0dC/+lweG7+w==", + "node_modules/iterator.prototype": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.2.tgz", + "integrity": "sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==", "dev": true, - "requires": { - "icss-replace-symbols": "^1.1.0", - "postcss": "^7.0.6" + "dependencies": { + "define-properties": "^1.2.1", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "reflect.getprototypeof": "^1.0.4", + "set-function-name": "^2.0.1" } }, - "postcss-nesting": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-7.0.1.tgz", - "integrity": "sha512-FrorPb0H3nuVq0Sff7W2rnc3SmIcruVC6YwpcS+k687VxyxO33iE1amna7wHuRVzM8vfiYofXSBHNAZ3QhLvYg==", + "node_modules/jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz", + "integrity": "sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==", "dev": true, - "requires": { - "postcss": "^7.0.2" + "dependencies": { + "@jest/core": "^29.7.0", + "@jest/types": "^29.6.3", + "import-local": "^3.0.2", + "jest-cli": "^29.7.0" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "postcss-overflow-shorthand": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-2.0.0.tgz", - "integrity": "sha512-aK0fHc9CBNx8jbzMYhshZcEv8LtYnBIRYQD5i7w/K/wS9c2+0NSR6B3OVMu5y0hBHYLcMGjfU+dmWYNKH0I85g==", + "node_modules/jest-changed-files": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz", + "integrity": "sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==", "dev": true, - "requires": { - "postcss": "^7.0.2" + "dependencies": { + "execa": "^5.0.0", + "jest-util": "^29.7.0", + "p-limit": "^3.1.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "postcss-page-break": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-2.0.0.tgz", - "integrity": "sha512-tkpTSrLpfLfD9HvgOlJuigLuk39wVTbbd8RKcy8/ugV2bNBUW3xU+AIqyxhDrQr1VUj1RmyJrBn1YWrqUm9zAQ==", + "node_modules/jest-circus": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz", + "integrity": "sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==", "dev": true, - "requires": { - "postcss": "^7.0.2" + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/expect": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^1.0.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^29.7.0", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "p-limit": "^3.1.0", + "pretty-format": "^29.7.0", + "pure-rand": "^6.0.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "postcss-place": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-4.0.1.tgz", - "integrity": "sha512-Zb6byCSLkgRKLODj/5mQugyuj9bvAAw9LqJJjgwz5cYryGeXfFZfSXoP1UfveccFmeq0b/2xxwcTEVScnqGxBg==", - "dev": true, - "requires": { - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" - } - }, - "postcss-preset-env": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-6.7.0.tgz", - "integrity": "sha512-eU4/K5xzSFwUFJ8hTdTQzo2RBLbDVt83QZrAvI07TULOkmyQlnYlpwep+2yIK+K+0KlZO4BvFcleOCCcUtwchg==", - "dev": true, - "requires": { - "autoprefixer": "^9.6.1", - "browserslist": "^4.6.4", - "caniuse-lite": "^1.0.30000981", - "css-blank-pseudo": "^0.1.4", - "css-has-pseudo": "^0.10.0", - "css-prefers-color-scheme": "^3.1.1", - "cssdb": "^4.4.0", - "postcss": "^7.0.17", - "postcss-attribute-case-insensitive": "^4.0.1", - "postcss-color-functional-notation": "^2.0.1", - "postcss-color-gray": "^5.0.0", - "postcss-color-hex-alpha": "^5.0.3", - "postcss-color-mod-function": "^3.0.3", - "postcss-color-rebeccapurple": "^4.0.1", - "postcss-custom-media": "^7.0.8", - "postcss-custom-properties": "^8.0.11", - "postcss-custom-selectors": "^5.1.2", - "postcss-dir-pseudo-class": "^5.0.0", - "postcss-double-position-gradients": "^1.0.0", - "postcss-env-function": "^2.0.2", - "postcss-focus-visible": "^4.0.0", - "postcss-focus-within": "^3.0.0", - "postcss-font-variant": "^4.0.0", - "postcss-gap-properties": "^2.0.0", - "postcss-image-set-function": "^3.0.1", - "postcss-initial": "^3.0.0", - "postcss-lab-function": "^2.0.1", - "postcss-logical": "^3.0.0", - "postcss-media-minmax": "^4.0.0", - "postcss-nesting": "^7.0.0", - "postcss-overflow-shorthand": "^2.0.0", - "postcss-page-break": "^2.0.0", - "postcss-place": "^4.0.1", - "postcss-pseudo-class-any-link": "^6.0.0", - "postcss-replace-overflow-wrap": "^3.0.0", - "postcss-selector-matches": "^4.0.0", - "postcss-selector-not": "^4.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "dependencies": { - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "postcss": { - "version": "7.0.21", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.21.tgz", - "integrity": "sha512-uIFtJElxJo29QC753JzhidoAhvp/e/Exezkdhfmt8AymWT6/5B7W1WmponYWkHk2eg6sONyTch0A3nkMPun3SQ==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "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 - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } + "node_modules/jest-cli": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz", + "integrity": "sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==", + "dev": true, + "dependencies": { + "@jest/core": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "create-jest": "^29.7.0", + "exit": "^0.1.2", + "import-local": "^3.0.2", + "jest-config": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "yargs": "^17.3.1" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true } } }, - "postcss-pseudo-class-any-link": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-6.0.0.tgz", - "integrity": "sha512-lgXW9sYJdLqtmw23otOzrtbDXofUdfYzNm4PIpNE322/swES3VU9XlXHeJS46zT2onFO7V1QFdD4Q9LiZj8mew==", + "node_modules/jest-config": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz", + "integrity": "sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==", "dev": true, - "requires": { - "postcss": "^7.0.2", - "postcss-selector-parser": "^5.0.0-rc.3" - }, "dependencies": { - "cssesc": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", - "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==", - "dev": true + "@babel/core": "^7.11.6", + "@jest/test-sequencer": "^29.7.0", + "@jest/types": "^29.6.3", + "babel-jest": "^29.7.0", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-circus": "^29.7.0", + "jest-environment-node": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-runner": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@types/node": "*", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true }, - "postcss-selector-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", - "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", - "dev": true, - "requires": { - "cssesc": "^2.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } + "ts-node": { + "optional": true } } }, - "postcss-replace-overflow-wrap": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-3.0.0.tgz", - "integrity": "sha512-2T5hcEHArDT6X9+9dVSPQdo7QHzG4XKclFT8rU5TzJPDN7RIRTbO9c4drUISOVemLj03aezStHCR2AIcr8XLpw==", + "node_modules/jest-diff": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", + "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", "dev": true, - "requires": { - "postcss": "^7.0.2" + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^29.6.3", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "postcss-scss": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-2.1.1.tgz", - "integrity": "sha512-jQmGnj0hSGLd9RscFw9LyuSVAa5Bl1/KBPqG1NQw9w8ND55nY4ZEsdlVuYJvLPpV+y0nwTV5v/4rHPzZRihQbA==", + "node_modules/jest-docblock": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz", + "integrity": "sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==", "dev": true, - "requires": { - "postcss": "^7.0.6" + "dependencies": { + "detect-newline": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "postcss-selector-matches": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-matches/-/postcss-selector-matches-4.0.0.tgz", - "integrity": "sha512-LgsHwQR/EsRYSqlwdGzeaPKVT0Ml7LAT6E75T8W8xLJY62CE4S/l03BWIt3jT8Taq22kXP08s2SfTSzaraoPww==", + "node_modules/jest-each": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz", + "integrity": "sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==", "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "postcss": "^7.0.2" + "dependencies": { + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "jest-util": "^29.7.0", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "postcss-selector-not": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-4.0.0.tgz", - "integrity": "sha512-W+bkBZRhqJaYN8XAnbbZPLWMvZD1wKTu0UxtFKdhtGjWYmxhkUneoeOhRJKdAE5V7ZTlnbHfCR+6bNwK9e1dTQ==", + "node_modules/jest-environment-jsdom": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-29.7.0.tgz", + "integrity": "sha512-k9iQbsf9OyOfdzWH8HDmrRT0gSIcX+FLNW7IQq94tFX0gynPwqDTW0Ho6iMVNjGz/nb+l/vW3dWM2bbLLpkbXA==", "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "postcss": "^7.0.2" + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/jsdom": "^20.0.0", + "@types/node": "*", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0", + "jsdom": "^20.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "canvas": "^2.5.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } } }, - "postcss-selector-parser": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz", - "integrity": "sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg==", + "node_modules/jest-environment-jsdom/node_modules/cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", "dev": true, - "requires": { - "cssesc": "^3.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" + "dependencies": { + "cssom": "~0.3.6" + }, + "engines": { + "node": ">=8" } }, - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "node_modules/jest-environment-jsdom/node_modules/cssstyle/node_modules/cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", "dev": true }, - "postcss-values-parser": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/postcss-values-parser/-/postcss-values-parser-2.0.1.tgz", - "integrity": "sha512-2tLuBsA6P4rYTNKCXYG/71C7j1pU6pK503suYOmn4xYrQIzW+opD+7FAFNuGSdZC/3Qfy334QbeMu7MEb8gOxg==", - "dev": true, - "requires": { - "flatten": "^1.0.2", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" + "node_modules/jest-environment-jsdom/node_modules/data-urls": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz", + "integrity": "sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==", + "dev": true, + "dependencies": { + "abab": "^2.0.6", + "whatwg-mimetype": "^3.0.0", + "whatwg-url": "^11.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/jest-environment-jsdom/node_modules/jsdom": { + "version": "20.0.3", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-20.0.3.tgz", + "integrity": "sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==", + "dev": true, + "dependencies": { + "abab": "^2.0.6", + "acorn": "^8.8.1", + "acorn-globals": "^7.0.0", + "cssom": "^0.5.0", + "cssstyle": "^2.3.0", + "data-urls": "^3.0.2", + "decimal.js": "^10.4.2", + "domexception": "^4.0.0", + "escodegen": "^2.0.0", + "form-data": "^4.0.0", + "html-encoding-sniffer": "^3.0.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.1", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.2", + "parse5": "^7.1.1", + "saxes": "^6.0.0", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.1.2", + "w3c-xmlserializer": "^4.0.0", + "webidl-conversions": "^7.0.0", + "whatwg-encoding": "^2.0.0", + "whatwg-mimetype": "^3.0.0", + "whatwg-url": "^11.0.0", + "ws": "^8.11.0", + "xml-name-validator": "^4.0.0" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "canvas": "^2.5.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } } }, - "prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", - "dev": true - }, - "prepend-http": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", - "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", - "dev": true - }, - "pretty-error": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.1.tgz", - "integrity": "sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM=", + "node_modules/jest-environment-jsdom/node_modules/tr46": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", + "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", "dev": true, - "requires": { - "renderkid": "^2.0.1", - "utila": "~0.4" + "dependencies": { + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=12" } }, - "pretty-format": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", - "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", + "node_modules/jest-environment-jsdom/node_modules/whatwg-url": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", + "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", "dev": true, - "requires": { - "@jest/types": "^25.5.0", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^16.12.0" - }, "dependencies": { - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true - }, - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "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 - } + "tr46": "^3.0.0", + "webidl-conversions": "^7.0.0" + }, + "engines": { + "node": ">=12" } }, - "private": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", - "integrity": "sha1-I4Hts2ifelPWUxkAYPz4ItLzaP8=", - "dev": true - }, - "process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", - "dev": true - }, - "process-nextick-args": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", - "integrity": "sha1-o31zL0JxtKsa0HDTVQjoKQeI/6o=" - }, - "progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "dev": true - }, - "promise-inflight": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", - "dev": true - }, - "prompts": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.3.2.tgz", - "integrity": "sha512-Q06uKs2CkNYVID0VqwfAl9mipo99zkBv/n2JtWY89Yxa3ZabWSrs0e2KTudKVa3peLUvYXMefDqIleLPVUBZMA==", + "node_modules/jest-environment-node": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", + "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==", "dev": true, - "requires": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.4" + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "prr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", - "dev": true - }, - "pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", - "dev": true - }, - "psl": { - "version": "1.1.31", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.31.tgz", - "integrity": "sha1-6aqG0BAbWxBcvpOsa3hM1UcnYYQ=" - }, - "pstree.remy": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.7.tgz", - "integrity": "sha512-xsMgrUwRpuGskEzBFkH8NmTimbZ5PcPup0LA8JJkHIm2IMUbQcpo3yeLNWVrufEYjh8YwtSVh0xz6UeWc5Oh5A==", - "dev": true - }, - "public-encrypt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", - "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", - "dev": true, - "requires": { - "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" - }, - "dependencies": { - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true - } + "node_modules/jest-get-type": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", + "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", + "dev": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "pump": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", - "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "node_modules/jest-haste-map": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz", + "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==", "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" + "dependencies": { + "@jest/types": "^29.6.3", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", + "micromatch": "^4.0.4", + "walker": "^1.0.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" } }, - "pumpify": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", - "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "node_modules/jest-leak-detector": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz", + "integrity": "sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==", "dev": true, - "requires": { - "duplexify": "^3.6.0", - "inherits": "^2.0.3", - "pump": "^2.0.0" + "dependencies": { + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha1-tYsBCsQMIsVldhbI0sLALHv0eew=" - }, - "qs": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.2.3.tgz", - "integrity": "sha1-HPyyXBCpsrSDBT/zn138kjOQjP4=", - "dev": true - }, - "querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" - }, - "querystring-es3": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", - "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", - "dev": true - }, - "randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "node_modules/jest-matcher-utils": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", + "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", "dev": true, - "requires": { - "safe-buffer": "^5.1.0" + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "randomfill": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", - "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "node_modules/jest-message-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", + "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", "dev": true, - "requires": { - "randombytes": "^2.0.5", - "safe-buffer": "^5.1.0" + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.6.3", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "dev": true - }, - "raw-body": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.1.tgz", - "integrity": "sha512-9WmIKF6mkvA0SLmA2Knm9+qj89e+j1zqgyn8aXGd7+nAduPoqgI9lO57SAZNn/Byzo5P7JhXTyg9PzaJbH73bA==", + "node_modules/jest-mock": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", + "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==", "dev": true, - "requires": { - "bytes": "3.1.0", - "http-errors": "1.7.3", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "raw-loader": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/raw-loader/-/raw-loader-1.0.0.tgz", - "integrity": "sha512-Uqy5AqELpytJTRxYT4fhltcKPj0TyaEpzJDcGz7DFJi+pQOOi3GjR/DOdxTkTsF+NzhnldIoG6TORaBlInUuqA==", + "node_modules/jest-pnp-resolver": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", "dev": true, - "requires": { - "loader-utils": "^1.1.0", - "schema-utils": "^1.0.0" + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { + "optional": true + } } }, - "rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" + "node_modules/jest-regex-util": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", + "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", + "dev": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", - "dev": true - }, - "read-cache": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", - "integrity": "sha1-5mTvMRYRZsl1HNvo28+GtftY93Q=", + "node_modules/jest-resolve": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz", + "integrity": "sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==", "dev": true, - "requires": { - "pify": "^2.3.0" - }, "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - } + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "resolve": "^1.20.0", + "resolve.exports": "^2.0.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-resolve-dependencies": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz", + "integrity": "sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==", + "dev": true, + "dependencies": { + "jest-regex-util": "^29.6.3", + "jest-snapshot": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-runner": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz", + "integrity": "sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==", + "dev": true, + "dependencies": { + "@jest/console": "^29.7.0", + "@jest/environment": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^29.7.0", + "jest-environment-node": "^29.7.0", + "jest-haste-map": "^29.7.0", + "jest-leak-detector": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-resolve": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-util": "^29.7.0", + "jest-watcher": "^29.7.0", + "jest-worker": "^29.7.0", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-runtime": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz", + "integrity": "sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/globals": "^29.7.0", + "@jest/source-map": "^29.6.3", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "read-pkg": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", - "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", + "node_modules/jest-runtime/node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", "dev": true, - "requires": { - "load-json-file": "^2.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^2.0.0" + "engines": { + "node": ">=8" } }, - "read-pkg-up": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", - "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", + "node_modules/jest-snapshot": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz", + "integrity": "sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==", "dev": true, - "requires": { - "find-up": "^2.0.0", - "read-pkg": "^2.0.0" + "dependencies": { + "@babel/core": "^7.11.6", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-jsx": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/types": "^7.3.3", + "@jest/expect-utils": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^29.7.0", + "graceful-fs": "^4.2.9", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "natural-compare": "^1.4.0", + "pretty-format": "^29.7.0", + "semver": "^7.5.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha1-sRwn2IuP8fvgcGQ8+UsMea4bCq8=", - "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" + "node_modules/jest-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", + "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha1-DodiKjMlqjPokihcr4tOhGUppSU=", + "node_modules/jest-validate": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz", + "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==", "dev": true, - "requires": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" + "dependencies": { + "@jest/types": "^29.6.3", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "leven": "^3.1.0", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "realpath-native": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/realpath-native/-/realpath-native-2.0.0.tgz", - "integrity": "sha512-v1SEYUOXXdbBZK8ZuNgO4TBjamPsiSgcFr0aP+tEKpQZK8vooEUqV6nm6Cv502mX4NF2EfsnVqtNAHG+/6Ur1Q==", - "dev": true - }, - "redent": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", - "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", + "node_modules/jest-validate/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", "dev": true, - "requires": { - "indent-string": "^2.1.0", - "strip-indent": "^1.0.1" + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "regenerate": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz", - "integrity": "sha1-SoVuxLVuQHfFV1icroXnpMiGmhE=" - }, - "regenerate-unicode-properties": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz", - "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==", - "requires": { - "regenerate": "^1.4.0" + "node_modules/jest-watcher": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz", + "integrity": "sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==", + "dev": true, + "dependencies": { + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "jest-util": "^29.7.0", + "string-length": "^4.0.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "regenerator-runtime": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "integrity": "sha1-vgWtf5v30i4Fb5cmzuUBf78Z4uk=", - "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==", - "requires": { - "@babel/runtime": "^7.8.4" + "node_modules/jest-worker": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", + "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", + "dev": true, + "dependencies": { + "@types/node": "*", + "jest-util": "^29.7.0", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha1-H07OJ+ALC2XgJHpoEOaoXYOldSw=", + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, - "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "regexpp": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", - "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", - "dev": true + "node_modules/jquery": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.7.1.tgz", + "integrity": "sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg==" }, - "regexpu-core": { - "version": "4.7.1", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.1.tgz", - "integrity": "sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ==", - "requires": { - "regenerate": "^1.4.0", - "regenerate-unicode-properties": "^8.2.0", - "regjsgen": "^0.5.1", - "regjsparser": "^0.6.4", - "unicode-match-property-ecmascript": "^1.0.4", - "unicode-match-property-value-ecmascript": "^1.2.0" - } + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, - "registry-auth-token": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.4.0.tgz", - "integrity": "sha512-4LM6Fw8eBQdwMYcES4yTnn2TqIasbXuwDx3um+QRs7S55aMKCBKBxvPXl2RiUjHwuJLTyYfxSpmfSAjQpcuP+A==", + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, - "requires": { - "rc": "^1.1.6", - "safe-buffer": "^5.0.1" + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "registry-url": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", - "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", "dev": true, - "requires": { - "rc": "^1.0.1" - } - }, - "regjsgen": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", - "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==" - }, - "regjsparser": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.4.tgz", - "integrity": "sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==", - "requires": { - "jsesc": "~0.5.0" + "bin": { + "jsesc": "bin/jsesc" }, - "dependencies": { - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=" - } + "engines": { + "node": ">=4" } }, - "relateurl": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", - "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=" - }, - "remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", "dev": true }, - "renderkid": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.2.tgz", - "integrity": "sha512-FsygIxevi1jSiPY9h7vZmBFUbAOcbYm9UwyiLNdVsLRs/5We9Ob5NMPbGYUTWiLq5L+ezlVdE0A8bbME5CWTpg==", - "dev": true, - "requires": { - "css-select": "^1.1.0", - "dom-converter": "~0.2", - "htmlparser2": "~3.3.0", - "strip-ansi": "^3.0.0", - "utila": "^0.4.0" - }, - "dependencies": { - "domhandler": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.1.0.tgz", - "integrity": "sha1-0mRvXlf2w7qxHPbLBdPArPdBJZQ=", - "dev": true, - "requires": { - "domelementtype": "1" - } - }, - "domutils": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.1.6.tgz", - "integrity": "sha1-vdw94Jm5ou+sxRxiPyj0FuzFdIU=", - "dev": true, - "requires": { - "domelementtype": "1" - } - }, - "htmlparser2": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.3.0.tgz", - "integrity": "sha1-zHDQWln2VC5D8OaFyYLhTJJKnv4=", - "dev": true, - "requires": { - "domelementtype": "1", - "domhandler": "2.1", - "domutils": "1.1", - "readable-stream": "1.0" - } - }, - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true - }, - "readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true - } - } + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true }, - "repeat-element": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", - "integrity": "sha1-eC4NglwMWjuzlzH4Tv7mt0Lmsc4=", + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true }, - "repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true }, - "repeating": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", - "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", - "dev": true, - "requires": { - "is-finite": "^1.0.0" - } - }, - "request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - }, - "dependencies": { - "qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" - }, - "tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "requires": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - } - } + "node_modules/json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" } }, - "request-promise-core": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz", - "integrity": "sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==", + "node_modules/jsx-ast-utils": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", + "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", "dev": true, - "requires": { - "lodash": "^4.17.19" - }, "dependencies": { - "lodash": { - "version": "4.17.19", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz", - "integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==", - "dev": true - } + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "object.assign": "^4.1.4", + "object.values": "^1.1.6" + }, + "engines": { + "node": ">=4.0" } }, - "request-promise-native": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.9.tgz", - "integrity": "sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==", + "node_modules/keyv": { + "version": "4.5.3", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.3.tgz", + "integrity": "sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug==", "dev": true, - "requires": { - "request-promise-core": "1.1.4", - "stealthy-require": "^1.1.1", - "tough-cookie": "^2.3.3" + "dependencies": { + "json-buffer": "3.0.1" } }, - "require": { - "version": "2.4.20", - "resolved": "https://registry.npmjs.org/require/-/require-2.4.20.tgz", - "integrity": "sha1-Zstrqqu2XeinHXk/XGX9GE83mLY=", - "requires": { - "std": "0.1.40", - "uglify-js": "2.3.0" + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true, + "engines": { + "node": ">=6" } }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" - }, - "require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "dev": true - }, - "require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" - }, - "requirejs": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/requirejs/-/requirejs-2.3.6.tgz", - "integrity": "sha512-ipEzlWQe6RK3jkzikgCupiTbTvm4S0/CAU5GlgptkN5SO6F3u0UD0K18wy6ErDqiCyP4J4YYe1HuAShvsxePLg==" - }, - "requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", + "node_modules/language-subtag-registry": { + "version": "0.3.22", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz", + "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==", "dev": true }, - "resolve": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.9.0.tgz", - "integrity": "sha1-oUxv36j5Kn3x2ZbLcQX6dEZY6gY=", - "requires": { - "path-parse": "^1.0.6" - } - }, - "resolve-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "node_modules/language-tags": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz", + "integrity": "sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==", "dev": true, - "requires": { - "resolve-from": "^5.0.0" - }, "dependencies": { - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true - } + "language-subtag-registry": "~0.3.2" } }, - "resolve-dir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", - "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", - "dev": true, - "requires": { - "expand-tilde": "^2.0.0", - "global-modules": "^1.0.0" - }, - "dependencies": { - "global-modules": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", - "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", - "dev": true, - "requires": { - "global-prefix": "^1.0.1", - "is-windows": "^1.0.1", - "resolve-dir": "^1.0.0" - } - } + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true, + "engines": { + "node": ">=6" } }, - "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 + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } }, - "resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", "dev": true }, - "resp-modifier": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/resp-modifier/-/resp-modifier-6.0.2.tgz", - "integrity": "sha1-sSTeXE+6/LpUH0j/pzlw9KpFa08=", + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, - "requires": { - "debug": "^2.2.0", - "minimatch": "^3.0.2" + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "restore-cursor": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", - "dev": true, - "requires": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" - } + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "dev": true }, - "ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha1-uKSCXVvbH8P29Twrwz+BOIaBx7w=", + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "dev": true }, - "right-align": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", - "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", - "requires": { - "align-text": "^0.1.1" + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" } }, - "rimraf": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", - "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", - "requires": { - "glob": "^7.0.5" + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" } }, - "ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "node_modules/make-coverage-badge": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/make-coverage-badge/-/make-coverage-badge-1.2.0.tgz", + "integrity": "sha512-nA1eQZJ9vcY2UoQLVIdzqyRoNtAZHWlXJfrHkaMB/pQgTYBPmbImkykfxWeAtUQuLJXzb6eAhbR7nEgrt+S7FA==", "dev": true, - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" + "dependencies": { + "mri": "1.1.4" + }, + "bin": { + "make-coverage-badge": "cli.js" + }, + "engines": { + "node": ">=6.11", + "npm": ">=5.3" } }, - "rsvp": { - "version": "4.8.5", - "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", - "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==", - "dev": true - }, - "run-async": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", - "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", + "node_modules/make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", "dev": true, - "requires": { - "is-promise": "^2.1.0" + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "run-queue": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", - "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", + "node_modules/makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", "dev": true, - "requires": { - "aproba": "^1.1.1" + "dependencies": { + "tmpl": "1.0.5" } }, - "rx": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/rx/-/rx-4.1.0.tgz", - "integrity": "sha1-pfE/957zt0D+MKqAP7CfmIBdR4I=", + "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 }, - "rxjs": { - "version": "5.5.12", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.12.tgz", - "integrity": "sha512-xx2itnL5sBbqeeiVgNPVuQQ1nC8Jp2WfNJhXWHmElW9YmrpS9UVnNzhP3EH3HFqexO5Tlp8GhYY+WEcqcVMvGw==", + "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, - "requires": { - "symbol-observable": "1.0.1" + "engines": { + "node": ">= 8" } }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha1-mR7GnSluAxN0fVm9/St0XDX4go0=" - }, - "safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", "dev": true, - "requires": { - "ret": "~0.1.10" - } - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo=" - }, - "sane": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz", - "integrity": "sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==", - "dev": true, - "requires": { - "@cnakazawa/watch": "^1.0.3", - "anymatch": "^2.0.0", - "capture-exit": "^2.0.0", - "exec-sh": "^0.3.2", - "execa": "^1.0.0", - "fb-watchman": "^2.0.0", - "micromatch": "^3.1.4", - "minimist": "^1.1.1", - "walker": "~1.0.5" - }, - "dependencies": { - "execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "dev": true, - "requires": { - "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" - } - }, - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - } + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" } }, - "sanitizer": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/sanitizer/-/sanitizer-0.1.3.tgz", - "integrity": "sha1-1PCvdHXZp7ryqeWmEXGLqheKOeE=" - }, - "sass-graph": { - "version": "2.2.5", - "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.5.tgz", - "integrity": "sha512-VFWDAHOe6mRuT4mZRd4eKE+d8Uedrk6Xnh7Sh9b4NGufQLQjOrvf/MQoOdx+0s92L89FeyUUNfU597j/3uNpag==", - "dev": true, - "requires": { - "glob": "^7.0.0", - "lodash": "^4.0.0", - "scss-tokenizer": "^0.2.3", - "yargs": "^13.3.2" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "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 - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - }, - "yargs": { - "version": "13.3.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", - "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", - "dev": true, - "requires": { - "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" - } - } + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "engines": { + "node": ">= 0.6" } }, - "sass-loader": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-7.3.1.tgz", - "integrity": "sha512-tuU7+zm0pTCynKYHpdqaPpe+MMTQ76I9TPZ7i4/5dZsigE350shQWe5EZNl5dBidM49TPET75tNqRbcsUZWeNA==", + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "dev": true, - "requires": { - "clone-deep": "^4.0.1", - "loader-utils": "^1.0.1", - "neo-async": "^2.5.0", - "pify": "^4.0.1", - "semver": "^6.3.0" - }, "dependencies": { - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" } }, - "sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" - }, - "saxes": { - "version": "3.1.11", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-3.1.11.tgz", - "integrity": "sha512-Ydydq3zC+WYDJK1+gRxRapLIED9PWeSuuS41wqyoRmzvhhh9nc+QQrVMKJYzJFULazeGhzSV0QleN2wD3boh2g==", + "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, - "requires": { - "xmlchars": "^2.1.1" + "engines": { + "node": ">=6" } }, - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } - }, - "scss-tokenizer": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz", - "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=", - "dev": true, - "requires": { - "js-base64": "^2.1.8", - "source-map": "^0.4.2" - }, - "dependencies": { - "source-map": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", - "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", - "dev": true, - "requires": { - "amdefine": ">=0.0.4" - } - } + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" } }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - }, - "semver-diff": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-2.1.0.tgz", - "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=", - "dev": true, - "requires": { - "semver": "^5.0.3" - } - }, - "send": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz", - "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==", - "dev": true, - "requires": { - "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.6.2", - "mime": "1.4.1", - "ms": "2.0.0", - "on-finished": "~2.3.0", - "range-parser": "~1.2.0", - "statuses": "~1.4.0" - }, - "dependencies": { - "http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", - "dev": true, - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" - } - }, - "setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", - "dev": true - }, - "statuses": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", - "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==", - "dev": true - } + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "sentence-case": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/sentence-case/-/sentence-case-1.1.3.tgz", - "integrity": "sha1-gDSq/CFFdy06vhUJqkLJ4QQtwTk=", - "requires": { - "lower-case": "^1.1.1" + "node_modules/mri": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/mri/-/mri-1.1.4.tgz", + "integrity": "sha512-6y7IjGPm8AzlvoUrwAaw1tLnUBudaS3752vcd8JtrpGGQn+rXIe63LFVHm/YMwtqAuh+LJPCFdlLYPWM1nYn6w==", + "dev": true, + "engines": { + "node": ">=4" } }, - "serialize-javascript": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.6.1.tgz", - "integrity": "sha512-A5MOagrPFga4YaKQSWHryl7AXvbQkEqpw4NNYMTNYUNV51bA8ABHgYFpqKx+YFFrw59xMV1qGH1R4AgoNIVgCw==", - "dev": true + "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==" }, - "serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", - "dev": true, - "requires": { - "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" - }, - "dependencies": { - "http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", - "dev": true, - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" - } - }, - "setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", - "dev": true + "node_modules/nanoid": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", + "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, - "serve-static": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", - "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", - "requires": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.17.1" - }, - "dependencies": { - "http-errors": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz", - "integrity": "sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==", - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.4", - "setprototypeof": "1.1.1", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" - }, - "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" - }, - "parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" - }, - "range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" - }, - "send": { - "version": "0.17.1", - "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", - "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", - "requires": { - "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" - } + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "node_modules/next": { + "version": "13.5.4", + "resolved": "https://registry.npmjs.org/next/-/next-13.5.4.tgz", + "integrity": "sha512-+93un5S779gho8y9ASQhb/bTkQF17FNQOtXLKAj3lsNgltEcF0C5PMLLncDmH+8X1EnJH1kbqAERa29nRXqhjA==", + "dependencies": { + "@next/env": "13.5.4", + "@swc/helpers": "0.5.2", + "busboy": "1.6.0", + "caniuse-lite": "^1.0.30001406", + "postcss": "8.4.31", + "styled-jsx": "5.1.1", + "watchpack": "2.4.0" + }, + "bin": { + "next": "dist/bin/next" + }, + "engines": { + "node": ">=16.14.0" + }, + "optionalDependencies": { + "@next/swc-darwin-arm64": "13.5.4", + "@next/swc-darwin-x64": "13.5.4", + "@next/swc-linux-arm64-gnu": "13.5.4", + "@next/swc-linux-arm64-musl": "13.5.4", + "@next/swc-linux-x64-gnu": "13.5.4", + "@next/swc-linux-x64-musl": "13.5.4", + "@next/swc-win32-arm64-msvc": "13.5.4", + "@next/swc-win32-ia32-msvc": "13.5.4", + "@next/swc-win32-x64-msvc": "13.5.4" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.1.0", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "sass": "^1.3.0" + }, + "peerDependenciesMeta": { + "@opentelemetry/api": { + "optional": true }, - "setprototypeof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", - "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" + "sass": { + "optional": true } } }, - "server-destroy": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/server-destroy/-/server-destroy-1.0.1.tgz", - "integrity": "sha1-8Tv5KOQrnD55OD5hzDmYtdFObN0=", - "dev": true - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" - }, - "set-value": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", - "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } + "node_modules/node-gyp-build": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.6.1.tgz", + "integrity": "sha512-24vnklJmyRS8ViBNI8KbtK/r/DmXQMRiOMXTNz2nrTnAYUwjmEEbnnpB/+kt+yWRv73bPsSPRFddrcIbAxSiMQ==", + "optional": true, + "peer": true, + "bin": { + "node-gyp-build": "bin.js", + "node-gyp-build-optional": "optional.js", + "node-gyp-build-test": "build-test.js" } }, - "setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", + "node_modules/node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", "dev": true }, - "setprototypeof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", - "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", + "node_modules/node-releases": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", + "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==", "dev": true }, - "sha.js": { - "version": "2.4.11", - "resolved": "http://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "shallow-clone": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", - "dev": true, - "requires": { - "kind-of": "^6.0.2" - } - }, - "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "dev": true, - "requires": { - "shebang-regex": "^1.0.0" + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "devOptional": true, + "engines": { + "node": ">=0.10.0" } }, - "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "dev": true - }, - "shellwords": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", - "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", + "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, - "optional": true - }, - "shutdown-hook": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/shutdown-hook/-/shutdown-hook-1.1.7.tgz", - "integrity": "sha512-SbQ/SJNVbjsMwZ/XZ52VIpJqJvC3QmIlmApqgGiyQ/sF4NWdyLUaV9yKrulORgSML7nKj5puOaGOITyw/LPttw==", - "requires": { - "bluebird": "3.3.4", - "lodash": "4.17.19" - }, "dependencies": { - "lodash": { - "version": "4.17.19", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz", - "integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==" - } + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" } }, - "signal-exit": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" - }, - "simple-concat": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", - "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", + "node_modules/nwsapi": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.7.tgz", + "integrity": "sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==", "dev": true }, - "simple-get": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-3.1.0.tgz", - "integrity": "sha512-bCR6cP+aTdScaQCnQKbPKtJOKDp/hj9EDLJo3Nw4y1QksqaovlW/bnptB6/c1e+qmNIDHRK+oXFDdEqBT8WzUA==", + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", "dev": true, - "requires": { - "decompress-response": "^4.2.0", - "once": "^1.3.1", - "simple-concat": "^1.0.0" + "engines": { + "node": ">=0.10.0" } }, - "sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", - "dev": true - }, - "slash": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", - "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", - "dev": true - }, - "slice-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", - "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.0", - "astral-regex": "^1.0.0", - "is-fullwidth-code-point": "^2.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - } + "node_modules/object-inspect": { + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "snake-case": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-1.1.2.tgz", - "integrity": "sha1-DC8l4wUVjZoY09l3BmGH/vilpmo=", - "requires": { - "sentence-case": "^1.1.2" - } - }, - "snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha1-ZJIufFZbDhQgS6GqfWlkJ40lGC0=", - "dev": true, - "requires": { - "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" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "engines": { + "node": ">= 0.4" } }, - "snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha1-bBdfhv8UvbByRWPo88GwIaKGhTs=", - "dev": true, - "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } + "node_modules/object.assign": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha1-+VZHlIbyrNeXAGk/b3uAXkWrVuI=", + "node_modules/object.entries": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.7.tgz", + "integrity": "sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA==", "dev": true, - "requires": { - "kind-of": "^3.2.0" - }, "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "engines": { + "node": ">= 0.4" } }, - "socket.io": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.4.0.tgz", - "integrity": "sha512-9UPJ1UTvKayuQfVv2IQ3k7tCQC/fboDyIK62i99dAQIyHKaBsNdTpwHLgKJ6guRWxRtC9H+138UwpaGuQO9uWQ==", - "requires": { - "debug": "~4.1.0", - "engine.io": "~3.5.0", - "has-binary2": "~1.0.2", - "socket.io-adapter": "~1.1.0", - "socket.io-client": "2.4.0", - "socket.io-parser": "~3.4.0" - }, - "dependencies": { - "component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" - }, - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "requires": { - "ms": "^2.1.1" - } - }, - "engine.io-client": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.5.0.tgz", - "integrity": "sha512-12wPRfMrugVw/DNyJk34GQ5vIVArEcVMXWugQGGuw2XxUSztFNmJggZmv8IZlLyEdnpO1QB9LkcjeWewO2vxtA==", - "requires": { - "component-emitter": "~1.3.0", - "component-inherit": "0.0.3", - "debug": "~3.1.0", - "engine.io-parser": "~2.2.0", - "has-cors": "1.1.0", - "indexof": "0.0.1", - "parseqs": "0.0.6", - "parseuri": "0.0.6", - "ws": "~7.4.2", - "xmlhttprequest-ssl": "~1.5.4", - "yeast": "0.1.2" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } - } - }, - "isarray": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", - "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=" - }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" - }, - "socket.io-client": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.4.0.tgz", - "integrity": "sha512-M6xhnKQHuuZd4Ba9vltCLT9oa+YvTsP8j9NcEiLElfIg8KeYPyhWOes6x4t+LTAC8enQbE/995AdTem2uNyKKQ==", - "requires": { - "backo2": "1.0.2", - "component-bind": "1.0.0", - "component-emitter": "~1.3.0", - "debug": "~3.1.0", - "engine.io-client": "~3.5.0", - "has-binary2": "~1.0.2", - "indexof": "0.0.1", - "parseqs": "0.0.6", - "parseuri": "0.0.6", - "socket.io-parser": "~3.3.0", - "to-array": "0.1.4" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "socket.io-parser": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.3.2.tgz", - "integrity": "sha512-FJvDBuOALxdCI9qwRrO/Rfp9yfndRtc1jSgVgV8FDraihmSP/MLGD5PEuJrNfjALvcQ+vMDM/33AWOYP/JSjDg==", - "requires": { - "component-emitter": "~1.3.0", - "debug": "~3.1.0", - "isarray": "2.0.1" - } - } - } - }, - "ws": { - "version": "7.4.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.2.tgz", - "integrity": "sha512-T4tewALS3+qsrpGI/8dqNMLIVdq/g/85U98HPMa6F0m6xTbvhXU6RCQLqPH3+SlomNV/LdY6RXEbBpMH6EOJnA==" - } + "node_modules/object.fromentries": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.7.tgz", + "integrity": "sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "socket.io-adapter": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-1.1.1.tgz", - "integrity": "sha1-KoBeihTWNyEk3ZFZrUUC+MsH8Gs=" - }, - "socket.io-client": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.3.1.tgz", - "integrity": "sha512-YXmXn3pA8abPOY//JtYxou95Ihvzmg8U6kQyolArkIyLd0pgVhrfor/iMsox8cn07WCOOvvuJ6XKegzIucPutQ==", - "requires": { - "backo2": "1.0.2", - "component-bind": "1.0.0", - "component-emitter": "~1.3.0", - "debug": "~3.1.0", - "engine.io-client": "~3.4.0", - "has-binary2": "~1.0.2", - "indexof": "0.0.1", - "parseqs": "0.0.6", - "parseuri": "0.0.6", - "socket.io-parser": "~3.3.0", - "to-array": "0.1.4" - }, - "dependencies": { - "component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" - }, - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "requires": { - "ms": "2.0.0" - } - }, - "isarray": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", - "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=" - }, - "socket.io-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.3.1.tgz", - "integrity": "sha512-1QLvVAe8dTz+mKmZ07Swxt+LAo4Y1ff50rlyoEx00TQmDFVQYPfcqGvIDJLGaBdhdNCecXtyKpD+EgKGcmmbuQ==", - "requires": { - "component-emitter": "~1.3.0", - "debug": "~3.1.0", - "isarray": "2.0.1" - } - } + "node_modules/object.groupby": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.1.tgz", + "integrity": "sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1" } }, - "socket.io-parser": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.4.1.tgz", - "integrity": "sha512-11hMgzL+WCLWf1uFtHSNvliI++tcRUWdoeYuwIl+Axvwy9z2gQM+7nJyN3STj1tLj5JyIUH8/gpDGxzAlDdi0A==", - "requires": { - "component-emitter": "1.2.1", - "debug": "~4.1.0", - "isarray": "2.0.1" - }, + "node_modules/object.hasown": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.3.tgz", + "integrity": "sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA==", + "dev": true, "dependencies": { - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "requires": { - "ms": "^2.1.1" - } - }, - "isarray": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", - "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=" - }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" - } + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "source-list-map": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", - "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", - "dev": true - }, - "source-map": { - "version": "0.1.43", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", - "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", - "requires": { - "amdefine": ">=0.0.4" + "node_modules/object.values": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.7.tgz", + "integrity": "sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "source-map-resolve": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", - "integrity": "sha1-cuLMNAlVQ+Q7LGKyxMENSpBU8lk=", + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "dev": true, - "requires": { - "atob": "^2.1.1", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" + "dependencies": { + "wrappy": "1" } }, - "source-map-support": { - "version": "0.5.19", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", - "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", "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 - } + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "source-map-url": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", - "dev": true - }, - "spdx-correct": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", - "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "node_modules/optionator": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", "dev": true, - "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" + "dependencies": { + "@aashutoshrathi/word-wrap": "^1.2.3", + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0" + }, + "engines": { + "node": ">= 0.8.0" } }, - "spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", - "dev": true - }, - "spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, - "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "spdx-license-ids": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz", - "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==", - "dev": true - }, - "split-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha1-fLCd2jqGWFcFxks5pkZgOGguj+I=", + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, - "requires": { - "extend-shallow": "^3.0.0" + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "http://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + "node_modules/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, + "engines": { + "node": ">=6" + } }, - "sqlstring": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/sqlstring/-/sqlstring-2.3.1.tgz", - "integrity": "sha1-R1OT/56RR5rqYtyvDKPRSYOn+0A=" - }, - "sshpk": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", - "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", - "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - } - }, - "ssri": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-5.3.0.tgz", - "integrity": "sha512-XRSIPqLij52MtgoQavH/x/dU1qVKtWUAAZeOHsR9c2Ddi4XerFy3mc1alf+dLJKl9EUIm/Ht+EowFkTUOA6GAQ==", + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, - "requires": { - "safe-buffer": "^5.1.1" + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" } }, - "stack-utils": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.2.tgz", - "integrity": "sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA==", - "dev": true + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", - "dev": true, - "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - } + "node_modules/parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "dev": true, + "dependencies": { + "entities": "^4.4.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" } }, - "statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } }, - "std": { - "version": "0.1.40", - "resolved": "https://registry.npmjs.org/std/-/std-0.1.40.tgz", - "integrity": "sha1-Nnil9lCU2eG2teJu2/wCErg0K3E=" + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "stdout-stream": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.1.tgz", - "integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==", + "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, - "requires": { - "readable-stream": "^2.0.1" + "engines": { + "node": ">=8" } }, - "stealthy-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", - "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=", + "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 }, - "stream-browserify": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", - "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", + "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, - "requires": { - "inherits": "~2.0.1", - "readable-stream": "^2.0.2" + "engines": { + "node": ">=8" } }, - "stream-each": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", - "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "stream-shift": "^1.0.0" + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "devOptional": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" } }, - "stream-events": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/stream-events/-/stream-events-1.0.5.tgz", - "integrity": "sha512-E1GUzBSgvct8Jsb3v2X15pjzN1tYebtbLaMg+eBOUOAxgbLoSbT2NS91ckc5lJD1KfLjId+jXJRgo0qnV5Nerg==", + "node_modules/pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", "dev": true, - "requires": { - "stubs": "^3.0.0" + "engines": { + "node": ">= 6" } }, - "stream-http": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", - "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", "dev": true, - "requires": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.3.6", - "to-arraybuffer": "^1.0.0", - "xtend": "^4.0.0" + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "stream-shift": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz", - "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=", - "dev": true - }, - "stream-throttle": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/stream-throttle/-/stream-throttle-0.1.3.tgz", - "integrity": "sha1-rdV8jXzHOoFjDTHNVdOWHPr7qcM=", + "node_modules/pkg-dir/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, - "requires": { - "commander": "^2.2.0", - "limiter": "^1.0.5" + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "string-length": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-3.1.0.tgz", - "integrity": "sha512-Ttp5YvkGm5v9Ijagtaz1BnN+k9ObpvS0eIBblPMp2YWL8FBmi9qblQ9fexc2k/CXFgrTIteU3jAw3payCnwSTA==", + "node_modules/pkg-dir/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, - "requires": { - "astral-regex": "^1.0.0", - "strip-ansi": "^5.2.0" - }, "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" } }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "node_modules/pkg-dir/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "string.prototype.trimend": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.2.tgz", - "integrity": "sha512-8oAG/hi14Z4nOVP0z6mdiVZ/wqjDtWSLygMigTzAb+7aPEDTleeFf+WrF+alzecxIRkckkJVn+dTlwzJXORATw==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1" - }, - "dependencies": { - "es-abstract": { - "version": "1.18.0-next.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz", - "integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==", - "dev": true, - "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-negative-zero": "^2.0.0", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - } - }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dev": true, - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "has-symbols": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", - "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", - "dev": true - }, - "is-callable": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", - "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==", - "dev": true - }, - "is-regex": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", - "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", - "dev": true, - "requires": { - "has-symbols": "^1.0.1" - } - }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true - }, - "object.assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.1.tgz", - "integrity": "sha512-VT/cxmx5yaoHSOTSyrCygIDFco+RsibY2NM0a4RdEeY/4KgqezwFtK1yr3U67xYhqJSlASm2pKhLVzPj2lr4bA==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.0", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - } - } + "node_modules/pkg-dir/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" } }, - "string.prototype.trimstart": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.2.tgz", - "integrity": "sha512-7F6CdBTl5zyu30BJFdzSTlSlLPwODC23Od+iLoVH8X6+3fvDPPuBVVj9iaB1GOsSTSIgVfsfm27R2FGrAPznWg==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1" - }, - "dependencies": { - "es-abstract": { - "version": "1.18.0-next.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz", - "integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==", - "dev": true, - "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-negative-zero": "^2.0.0", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - } - }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dev": true, - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "has-symbols": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", - "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", - "dev": true - }, - "is-callable": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", - "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==", - "dev": true + "node_modules/postcss": { + "version": "8.4.31", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", + "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" }, - "is-regex": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", - "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", - "dev": true, - "requires": { - "has-symbols": "^1.0.1" - } + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true - }, - "object.assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.1.tgz", - "integrity": "sha512-VT/cxmx5yaoHSOTSyrCygIDFco+RsibY2NM0a4RdEeY/4KgqezwFtK1yr3U67xYhqJSlASm2pKhLVzPj2lr4bA==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.0", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - } + { + "type": "github", + "url": "https://github.com/sponsors/ai" } + ], + "dependencies": { + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" } }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=", - "requires": { - "safe-buffer": "~5.1.0" + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "engines": { + "node": ">= 0.8.0" } }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "requires": { - "ansi-regex": "^2.0.0" + "node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true - }, - "strip-eof": { - "version": "1.0.0", - "resolved": "http://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", - "dev": true + "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" + } }, - "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==", + "node_modules/pretty-format/node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", "dev": true }, - "strip-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", - "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", "dev": true, - "requires": { - "get-stdin": "^4.0.1" + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" } }, - "strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dev": true, + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } }, - "stubs": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/stubs/-/stubs-3.0.0.tgz", - "integrity": "sha1-6NK6H6nJBXAwPAMLaQD31fiavls=", + "node_modules/psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", "dev": true }, - "style-loader": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.23.1.tgz", - "integrity": "sha512-XK+uv9kWwhZMZ1y7mysB+zoihsEj4wneFWAS5qoiLwzW0WzSqMrrsIy+a3zkQJq0ipFtBpX5W3MqyRIBF/WFGg==", + "node_modules/punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", "dev": true, - "requires": { - "loader-utils": "^1.1.0", - "schema-utils": "^1.0.0" + "engines": { + "node": ">=6" } }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - }, - "supports-hyperlinks": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.1.0.tgz", - "integrity": "sha512-zoE5/e+dnEijk6ASB6/qrK+oYdm2do1hjoLWrqUC/8WEIW1gbxFcKuBof7sW8ArN6e+AYvsE8HBGiVRWL/F5CA==", + "node_modules/pure-rand": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.0.4.tgz", + "integrity": "sha512-LA0Y9kxMYv47GIPJy6MI84fqTd2HmYZI83W/kM/SkKfDlajnZYfmXFTxkbY+xSBPkLJxltMa9hIkmdc29eguMA==", "dev": true, - "requires": { - "has-flag": "^4.0.0", - "supports-color": "^7.0.0" - }, - "dependencies": { - "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 + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/dubzzz" }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } + { + "type": "opencollective", + "url": "https://opencollective.com/fast-check" } - } - }, - "swap-case": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/swap-case/-/swap-case-1.1.2.tgz", - "integrity": "sha1-w5IDpFhzhfrTyFCgvRvK+ggZdOM=", - "requires": { - "lower-case": "^1.1.1", - "upper-case": "^1.1.1" - } - }, - "symbol-observable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.1.tgz", - "integrity": "sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ=", - "dev": true + ] }, - "symbol-tree": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.2.tgz", - "integrity": "sha1-rifbOPZgp64uHDt9G8KQgZuFGeY=", + "node_modules/querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", "dev": true }, - "table": { - "version": "5.4.6", - "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", - "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", - "dev": true, - "requires": { - "ajv": "^6.10.2", - "lodash": "^4.17.14", - "slice-ansi": "^2.1.0", - "string-width": "^3.0.0" - }, - "dependencies": { - "ajv": { - "version": "6.10.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz", - "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==", - "dev": true, - "requires": { - "fast-deep-equal": "^2.0.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "lodash": { - "version": "4.17.15", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", - "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", - "dev": true + "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" }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } + { + "type": "patreon", + "url": "https://www.patreon.com/feross" }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } + { + "type": "consulting", + "url": "https://feross.org/support" } + ] + }, + "node_modules/react": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "taffydb": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/taffydb/-/taffydb-2.7.3.tgz", - "integrity": "sha1-KtNxaWKUmPylvIQkMJbTzeDsOjQ=", - "dev": true + "node_modules/react-dom": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", + "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" + }, + "peerDependencies": { + "react": "^18.2.0" + } }, - "tapable": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.1.tgz", - "integrity": "sha512-9I2ydhj8Z9veORCw5PRm4u9uebCn0mcCa6scWoNcbZ6dAtoo2618u9UUzxgmsCOreJpqDDuv61LvwofW7hLcBA==", + "node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", "dev": true }, - "tar": { - "version": "4.4.13", - "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.13.tgz", - "integrity": "sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==", - "requires": { - "chownr": "^1.1.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.8.6", - "minizlib": "^1.2.1", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.2", - "yallist": "^3.0.3" - }, - "dependencies": { - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" - } + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "devOptional": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" } }, - "teeny-request": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/teeny-request/-/teeny-request-6.0.1.tgz", - "integrity": "sha512-TAK0c9a00ELOqLrZ49cFxvPVogMUFaWY8dUsQc/0CuQPGF+BOxOQzXfE413BAk2kLomwNplvdtMpeaeGWmoc2g==", + "node_modules/reflect.getprototypeof": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.4.tgz", + "integrity": "sha512-ECkTw8TmJwW60lOTR+ZkODISW6RQ8+2CL3COqtiJKLd6MmB45hN51HprHFziKLGkAuTGQhBb91V8cy+KHlaCjw==", "dev": true, - "requires": { - "http-proxy-agent": "^4.0.0", - "https-proxy-agent": "^4.0.0", - "node-fetch": "^2.2.0", - "stream-events": "^1.0.5", - "uuid": "^3.3.2" + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", + "globalthis": "^1.0.3", + "which-builtin-type": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "term-size": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz", - "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=", + "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": "10.1.1", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz", + "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==", "dev": true, - "requires": { - "execa": "^0.7.0" + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" } }, - "terminal-link": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", - "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", + "node_modules/regenerator-runtime": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", + "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==", + "dev": true + }, + "node_modules/regenerator-transform": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", + "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", "dev": true, - "requires": { - "ansi-escapes": "^4.2.1", - "supports-hyperlinks": "^2.0.0" + "dependencies": { + "@babel/runtime": "^7.8.4" } }, - "terser": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", - "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", + "node_modules/regexp.prototype.flags": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz", + "integrity": "sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==", "dev": true, - "requires": { - "commander": "^2.20.0", - "source-map": "~0.6.1", - "source-map-support": "~0.5.12" - }, "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 - } + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "set-function-name": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "terser-webpack-plugin": { - "version": "1.4.5", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", - "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", - "dev": true, - "requires": { - "cacache": "^12.0.2", - "find-cache-dir": "^2.1.0", - "is-wsl": "^1.1.0", - "schema-utils": "^1.0.0", - "serialize-javascript": "^4.0.0", - "source-map": "^0.6.1", - "terser": "^4.1.2", - "webpack-sources": "^1.4.0", - "worker-farm": "^1.7.0" - }, - "dependencies": { - "bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", - "dev": true - }, - "cacache": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", - "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", - "dev": true, - "requires": { - "bluebird": "^3.5.5", - "chownr": "^1.1.1", - "figgy-pudding": "^3.5.1", - "glob": "^7.1.4", - "graceful-fs": "^4.1.15", - "infer-owner": "^1.0.3", - "lru-cache": "^5.1.1", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "promise-inflight": "^1.0.1", - "rimraf": "^2.6.3", - "ssri": "^6.0.1", - "unique-filename": "^1.1.1", - "y18n": "^4.0.0" - } - }, - "find-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - } - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "requires": { - "yallist": "^3.0.2" - } - }, - "make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dev": true, - "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" - } - }, - "mississippi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", - "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", - "dev": true, - "requires": { - "concat-stream": "^1.5.0", - "duplexify": "^3.4.2", - "end-of-stream": "^1.1.0", - "flush-write-stream": "^1.0.0", - "from2": "^2.1.0", - "parallel-transform": "^1.1.0", - "pump": "^3.0.0", - "pumpify": "^1.3.3", - "stream-each": "^1.1.0", - "through2": "^2.0.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "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 - }, - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true - }, - "pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "dev": true, - "requires": { - "find-up": "^3.0.0" - } - }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "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" - } - }, - "serialize-javascript": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", - "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", - "dev": true, - "requires": { - "randombytes": "^2.1.0" - } - }, - "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 - }, - "ssri": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", - "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", - "dev": true, - "requires": { - "figgy-pudding": "^3.5.1" - } - }, - "webpack-sources": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", - "dev": true, - "requires": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - } - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - } + "node_modules/regexpu-core": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", + "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", + "dev": true, + "dependencies": { + "@babel/regjsgen": "^0.8.0", + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsparser": "^0.9.1", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.1.0" + }, + "engines": { + "node": ">=4" } }, - "test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "node_modules/regjsparser": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", "dev": true, - "requires": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - }, "dependencies": { - "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - } + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" } }, - "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", - "dev": true + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + } }, - "tfunk": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/tfunk/-/tfunk-4.0.0.tgz", - "integrity": "sha512-eJQ0dGfDIzWNiFNYFVjJ+Ezl/GmwHaFTBTjrtqNPW0S7cuVDBrZrmzUz6VkMeCR4DZFqhd4YtLwsw3i2wYHswQ==", + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", "dev": true, - "requires": { - "chalk": "^1.1.3", - "dlv": "^1.1.3" + "engines": { + "node": ">=0.10.0" } }, - "throat": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", - "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==", + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", "dev": true }, - "through": { - "version": "2.3.8", - "resolved": "http://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", - "dev": true + "node_modules/resolve": { + "version": "1.22.6", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.6.tgz", + "integrity": "sha512-njhxM7mV12JfufShqGy3Rz8j11RPdLy4xi15UurGJeoHLfJpVXKdh3ueuOqbYUcDZnffr6X739JBo5LzyahEsw==", + "dev": true, + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "node_modules/resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", "dev": true, - "requires": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" } }, - "timed-out": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", - "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=", - "dev": true + "node_modules/resolve-cwd/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } }, - "timers-browserify": { - "version": "2.0.12", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", - "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", + "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, - "requires": { - "setimmediate": "^1.0.4" + "engines": { + "node": ">=4" } }, - "title-case": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/title-case/-/title-case-1.1.2.tgz", - "integrity": "sha1-+uSmrlRr+iLQg6DuqRCkDRLtT1o=", - "requires": { - "sentence-case": "^1.1.1", - "upper-case": "^1.0.3" + "node_modules/resolve-pkg-maps": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", + "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", + "dev": true, + "funding": { + "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" } }, - "tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "node_modules/resolve.exports": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", + "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", "dev": true, - "requires": { - "os-tmpdir": "~1.0.2" + "engines": { + "node": ">=10" } }, - "tmpl": { + "node_modules/reusify": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz", - "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=", - "dev": true - }, - "to-array": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz", - "integrity": "sha1-F+bBH3PdTz10zaek/zI46a2b+JA=" - }, - "to-arraybuffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", - "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", - "dev": true - }, - "to-fast-properties": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", - "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", - "dev": true + "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" + } }, - "to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "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, - "requires": { - "kind-of": "^3.0.2" - }, "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha1-E8/dmzNlUvMLUfM6iuG0Knp1mc4=", + "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, - "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" + "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" } }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "node_modules/safe-array-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.1.tgz", + "integrity": "sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==", "dev": true, - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "toidentifier": { + "node_modules/safe-regex-test": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", - "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", + "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "toposort": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/toposort/-/toposort-1.0.7.tgz", - "integrity": "sha1-LmhELZ9k7HILjMieZEOsbKqVACk=", + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "dev": true }, - "touch": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz", - "integrity": "sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==", - "dev": true, - "requires": { - "nopt": "~1.0.10" - }, + "node_modules/sass": { + "version": "1.69.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.69.0.tgz", + "integrity": "sha512-l3bbFpfTOGgQZCLU/gvm1lbsQ5mC/WnLz3djL2v4WCJBDrWm58PO+jgngcGRNnKUh6wSsdm50YaovTqskZ0xDQ==", + "devOptional": true, "dependencies": { - "nopt": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", - "integrity": "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=", - "dev": true, - "requires": { - "abbrev": "1" - } - } + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=14.0.0" } }, - "tough-cookie": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", - "integrity": "sha1-U/Nto/R3g7CSWvoG/587FlKA94E=", + "node_modules/saxes": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", + "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", "dev": true, - "requires": { - "psl": "^1.1.24", - "punycode": "^1.4.1" + "dependencies": { + "xmlchars": "^2.2.0" }, + "engines": { + "node": ">=v12.22.7" + } + }, + "node_modules/scheduler": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", + "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", "dependencies": { - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true - } + "loose-envify": "^1.1.0" } }, - "tr46": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", - "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", + "node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, - "requires": { - "punycode": "^2.1.0" + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, - "trim-newlines": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", - "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", - "dev": true + "node_modules/set-function-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz", + "integrity": "sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==", + "dev": true, + "dependencies": { + "define-data-property": "^1.0.1", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } }, - "trim-right": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", - "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", - "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" + } }, - "true-case-path": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.3.tgz", - "integrity": "sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==", + "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, - "requires": { - "glob": "^7.1.2" + "engines": { + "node": ">=8" } }, - "tsconfig-paths": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.9.0.tgz", - "integrity": "sha512-dRcuzokWhajtZWkQsDVKbWyY+jgcLC5sqJhg2PSgf4ZkH2aHPvaOY8YWGhmjb68b5qqTfasSsDO9k7RUiEmZAw==", + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", "dev": true, - "requires": { - "@types/json5": "^0.0.29", - "json5": "^1.0.1", - "minimist": "^1.2.0", - "strip-bom": "^3.0.0" - }, "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - } + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "tslib": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz", - "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==", + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", "dev": true }, - "tty-browserify": { - "version": "0.0.0", - "resolved": "http://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", - "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", "dev": true }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "requires": { - "safe-buffer": "^5.0.1" + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/socket.io-client": { + "version": "4.7.2", + "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.7.2.tgz", + "integrity": "sha512-vtA0uD4ibrYD793SOIAwlo8cj6haOeMHrGvwPxJsxH7CeIksqJ+3Zc06RvWTIFgiSqx4A3sOnTXpfAEE2Zyz6w==", + "dependencies": { + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.3.2", + "engine.io-client": "~6.5.2", + "socket.io-parser": "~4.2.4" + }, + "engines": { + "node": ">=10.0.0" } }, - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" + "node_modules/socket.io-parser": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.4.tgz", + "integrity": "sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==", + "dependencies": { + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.3.1" + }, + "engines": { + "node": ">=10.0.0" + } }, - "type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "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, - "requires": { - "prelude-ls": "~1.1.2" + "engines": { + "node": ">=0.10.0" } }, - "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 + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "engines": { + "node": ">=0.10.0" + } }, - "type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true + "node_modules/source-map-support": { + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true }, - "typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "node_modules/stack-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", "dev": true, - "requires": { - "is-typedarray": "^1.0.0" + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=10" } }, - "ua-parser-js": { - "version": "0.7.22", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.22.tgz", - "integrity": "sha512-YUxzMjJ5T71w6a8WWVcMGM6YWOTX27rCoIQgLXiWaxqXSx9D7DNjiGWn1aJIRSQ5qr0xuhra77bSIh6voR/46Q==", - "dev": true + "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" + } }, - "uc.micro": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", - "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==" + "node_modules/streamsearch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", + "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", + "engines": { + "node": ">=10.0.0" + } }, - "uglify-js": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.3.0.tgz", - "integrity": "sha1-LN7BbTeKiituz7aYl4TPi3rlSR8=", - "requires": { - "async": "~0.2.6", - "optimist": "~0.3.5", - "source-map": "~0.1.7" + "node_modules/string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "dev": true, + "dependencies": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" } }, - "uglify-to-browserify": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", - "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=" + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } }, - "ultron": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz", - "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==", + "node_modules/string-width/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true }, - "undefsafe": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.2.tgz", - "integrity": "sha1-Il9rngM3Zj4Njnz9aG/Cg2zKznY=", + "node_modules/string.prototype.matchall": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.10.tgz", + "integrity": "sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==", "dev": true, - "requires": { - "debug": "^2.2.0" + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.5", + "regexp.prototype.flags": "^1.5.0", + "set-function-name": "^2.0.0", + "side-channel": "^1.0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "underscore": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.11.0.tgz", - "integrity": "sha512-xY96SsN3NA461qIRKZ/+qox37YXPtSBswMGfiNptr+wrt6ds4HaMw23TP612fEyGekRE6LNRiLYr/aqbHXNedw==" - }, - "unicode-canonical-property-names-ecmascript": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", - "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==" + "node_modules/string.prototype.trim": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz", + "integrity": "sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "unicode-match-property-ecmascript": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", - "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", - "requires": { - "unicode-canonical-property-names-ecmascript": "^1.0.4", - "unicode-property-aliases-ecmascript": "^1.0.4" + "node_modules/string.prototype.trimend": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz", + "integrity": "sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "unicode-match-property-value-ecmascript": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz", - "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==" + "node_modules/string.prototype.trimstart": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz", + "integrity": "sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "unicode-property-aliases-ecmascript": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz", - "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==" + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } }, - "union-value": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", - "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", "dev": true, - "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^2.0.1" + "engines": { + "node": ">=4" } }, - "uniq": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", - "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", - "dev": true + "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" + } }, - "unique-filename": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", - "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true, - "requires": { - "unique-slug": "^2.0.0" + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "unique-slug": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.1.tgz", - "integrity": "sha512-n9cU6+gITaVu7VGj1Z8feKMmfAjEAQGhwD9fE3zvpRRa0wEIx8ODYkVGfSc94M2OX00tUFV8wH3zYbm1I8mxFg==", + "node_modules/styled-jsx": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.1.tgz", + "integrity": "sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==", + "dependencies": { + "client-only": "0.0.1" + }, + "engines": { + "node": ">= 12.0.0" + }, + "peerDependencies": { + "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "babel-plugin-macros": { + "optional": true + } + } + }, + "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, - "requires": { - "imurmurhash": "^0.1.4" + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "unique-string": { + "node_modules/supports-preserve-symlinks-flag": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz", - "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", "dev": true, - "requires": { - "crypto-random-string": "^1.0.0" + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "node_modules/symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", "dev": true }, - "unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true, + "engines": { + "node": ">=6" + } }, - "unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", - "dev": true, - "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "dependencies": { - "has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", - "dev": true, - "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "dependencies": { - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dev": true, - "requires": { - "isarray": "1.0.0" - } - } - } - }, - "has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", - "dev": true - } + "node_modules/test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dev": true, + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" } }, - "unzip-response": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-2.0.1.tgz", - "integrity": "sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c=", + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", "dev": true }, - "upath": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", - "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", - "dev": true, - "optional": true - }, - "update-notifier": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-2.5.0.tgz", - "integrity": "sha512-gwMdhgJHGuj/+wHJJs9e6PcCszpxR1b236igrOkUofGhqJuG+amlIKwApH1IW1WWl7ovZxsX49lMBWLxSdm5Dw==", - "dev": true, - "requires": { - "boxen": "^1.2.1", - "chalk": "^2.0.1", - "configstore": "^3.0.0", - "import-lazy": "^2.1.0", - "is-ci": "^1.0.10", - "is-installed-globally": "^0.1.0", - "is-npm": "^1.0.0", - "latest-version": "^3.0.0", - "semver-diff": "^2.0.0", - "xdg-basedir": "^3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } + "node_modules/tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", + "dev": true + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "dev": true, + "engines": { + "node": ">=4" } }, - "upper-case": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", - "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=" + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "devOptional": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/tough-cookie": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", + "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", + "dev": true, + "dependencies": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" + }, + "engines": { + "node": ">=6" + } }, - "upper-case-first": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/upper-case-first/-/upper-case-first-1.1.2.tgz", - "integrity": "sha1-XXm+3P8UQZUY/S7bCgUHybaFkRU=", - "requires": { - "upper-case": "^1.1.1" + "node_modules/ts-api-utils": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.0.3.tgz", + "integrity": "sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==", + "dev": true, + "engines": { + "node": ">=16.13.0" + }, + "peerDependencies": { + "typescript": ">=4.2.0" } }, - "uri-js": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", - "integrity": "sha1-lMVA4f93KVbiKZUHwBCupsiDjrA=", - "requires": { - "punycode": "^2.1.0" + "node_modules/tsconfig-paths": { + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz", + "integrity": "sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==", + "dev": true, + "dependencies": { + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" } }, - "urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", - "dev": true + "node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" }, - "url": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", - "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", - "requires": { - "punycode": "1.3.2", - "querystring": "0.2.0" - }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, "dependencies": { - "punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" - } + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" } }, - "url-parse-lax": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", - "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", + "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, - "requires": { - "prepend-http": "^1.0.1" + "engines": { + "node": ">=4" } }, - "urlgrey": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/urlgrey/-/urlgrey-0.4.4.tgz", - "integrity": "sha1-iS/pWWCAXoVRnxzUOJ8stMu3ZS8=", - "dev": true - }, - "use": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha1-1QyMrHmhn7wg8pEfVuuXP04QBw8=", - "dev": true - }, - "util": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", - "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "dev": true, - "requires": { - "inherits": "2.0.3" + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - }, - "util.promisify": { + "node_modules/typed-array-buffer": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", - "integrity": "sha1-RA9xZaRZyaFtwUXrjnLzVocJcDA=", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz", + "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==", "dev": true, - "requires": { - "define-properties": "^1.1.2", - "object.getownpropertydescriptors": "^2.0.3" + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" } }, - "utila": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", - "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=", - "dev": true - }, - "utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" - }, - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" - }, - "v8-compile-cache": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.1.tgz", - "integrity": "sha512-8OQ9CL+VWyt3JStj7HX7/ciTL2V3Rl1Wf5OL+SNTm0yK1KvtReVulksyeRnCANHHuUxHlQig+JJDlUhBt1NQDQ==", - "dev": true - }, - "v8-to-istanbul": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-4.1.4.tgz", - "integrity": "sha512-Rw6vJHj1mbdK8edjR7+zuJrpDtKIgNdAvTSAcpYfgMIw+u2dPDntD3dgN4XQFLU2/fvFQdzj+EeSGfd/jnY5fQ==", + "node_modules/typed-array-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz", + "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==", "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^1.6.0", - "source-map": "^0.7.3" - }, "dependencies": { - "source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "dev": true - } + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "has-proto": "^1.0.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "v8flags": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.2.0.tgz", - "integrity": "sha512-mH8etigqMfiGWdeXpaaqGfs6BndypxusHHcv2qSHyZkGEznCd/qAXCWWRzeowtL54147cktFOC4P5y+kl8d8Jg==", + "node_modules/typed-array-byte-offset": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz", + "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==", "dev": true, - "requires": { - "homedir-polyfill": "^1.0.1" + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "has-proto": "^1.0.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "node_modules/typed-array-length": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", + "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", "dev": true, - "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" + "dependencies": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "is-typed-array": "^1.1.9" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "requires": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" + "node_modules/typescript": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", + "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" } }, - "vm-browserify": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", - "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", - "dev": true - }, - "w3c-hr-time": { + "node_modules/unbox-primitive": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", - "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", "dev": true, - "requires": { - "browser-process-hrtime": "^1.0.0" + "dependencies": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "w3c-xmlserializer": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-1.1.2.tgz", - "integrity": "sha512-p10l/ayESzrBMYWRID6xbuCKh2Fp77+sA0doRuGn4tTIMrrZVeqfpKjXHY+oDh3K4nLdPgNwMTVP6Vp4pvqbNg==", + "node_modules/underscore": { + "version": "1.13.6", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.6.tgz", + "integrity": "sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==" + }, + "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, - "requires": { - "domexception": "^1.0.1", - "webidl-conversions": "^4.0.2", - "xml-name-validator": "^3.0.0" + "engines": { + "node": ">=4" } }, - "walker": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", - "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", + "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, - "requires": { - "makeerror": "1.0.x" + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" } }, - "watchpack": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.4.tgz", - "integrity": "sha512-aWAgTW4MoSJzZPAicljkO1hsi1oKj/RRq/OJQh2PKI2UKL04c2Bs+MBOB+BBABHTXJpf9mCwHN7ANCvYsvY2sg==", + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", + "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", "dev": true, - "requires": { - "chokidar": "^3.4.1", - "graceful-fs": "^4.1.2", - "neo-async": "^2.5.0", - "watchpack-chokidar2": "^2.0.0" + "engines": { + "node": ">=4" } }, - "watchpack-chokidar2": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.0.tgz", - "integrity": "sha512-9TyfOyN/zLUbA288wZ8IsMZ+6cbzvsNyEzSBp6e/zkifi6xxbl8SmQ/CxQq32k8NNqrdVEVUVSEf56L4rQ/ZxA==", + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", "dev": true, - "optional": true, - "requires": { - "chokidar": "^2.1.8" - }, - "dependencies": { - "chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", - "dev": true, - "optional": true, - "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "fsevents": "^1.2.7", - "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" - } - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, - "optional": true - } + "engines": { + "node": ">=4" } }, - "webidl-conversions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", - "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", - "dev": true + "node_modules/universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } }, - "webpack": { - "version": "4.44.2", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.44.2.tgz", - "integrity": "sha512-6KJVGlCxYdISyurpQ0IPTklv+DULv05rs2hseIXer6D7KrUicRDLFb4IUM1S6LUAKypPM/nSiVSuv8jHu1m3/Q==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/wasm-edit": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "acorn": "^6.4.1", - "ajv": "^6.10.2", - "ajv-keywords": "^3.4.1", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^4.3.0", - "eslint-scope": "^4.0.3", - "json-parse-better-errors": "^1.0.2", - "loader-runner": "^2.4.0", - "loader-utils": "^1.2.3", - "memory-fs": "^0.4.1", - "micromatch": "^3.1.10", - "mkdirp": "^0.5.3", - "neo-async": "^2.6.1", - "node-libs-browser": "^2.2.1", - "schema-utils": "^1.0.0", - "tapable": "^1.1.3", - "terser-webpack-plugin": "^1.4.3", - "watchpack": "^1.7.4", - "webpack-sources": "^1.4.1" - }, - "dependencies": { - "acorn": { - "version": "6.4.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", - "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", - "dev": true - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "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" - } - }, - "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 + "node_modules/update-browserslist-db": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", + "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" }, - "tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", - "dev": true + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" }, - "webpack-sources": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", - "dev": true, - "requires": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - } + { + "type": "github", + "url": "https://github.com/sponsors/ai" } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" } }, - "webpack-cli": { - "version": "3.3.12", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.3.12.tgz", - "integrity": "sha512-NVWBaz9k839ZH/sinurM+HcDvJOTXwSjYp1ku+5XKeOC03z8v5QitnK/x+lAxGXFyhdayoIf/GOpv85z3/xPag==", + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, - "requires": { - "chalk": "^2.4.2", - "cross-spawn": "^6.0.5", - "enhanced-resolve": "^4.1.1", - "findup-sync": "^3.0.0", - "global-modules": "^2.0.0", - "import-local": "^2.0.0", - "interpret": "^1.4.0", - "loader-utils": "^1.4.0", - "supports-color": "^6.1.0", - "v8-compile-cache": "^2.1.1", - "yargs": "^13.3.2" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "dependencies": { - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", - "dev": true - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "import-local": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", - "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", - "dev": true, - "requires": { - "pkg-dir": "^3.0.0", - "resolve-cwd": "^2.0.0" - } - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "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 - }, - "pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "dev": true, - "requires": { - "find-up": "^3.0.0" - } - }, - "resolve-cwd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", - "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", - "dev": true, - "requires": { - "resolve-from": "^3.0.0" - } - }, - "resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "yargs": { - "version": "13.3.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", - "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", - "dev": true, - "requires": { - "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" - } - } + "dependencies": { + "punycode": "^2.1.0" } }, - "webpack-core": { - "version": "0.6.9", - "resolved": "https://registry.npmjs.org/webpack-core/-/webpack-core-0.6.9.tgz", - "integrity": "sha1-/FcViMhVjad76e+23r3Fo7FyvcI=", - "requires": { - "source-list-map": "~0.1.7", - "source-map": "~0.4.1" - }, + "node_modules/url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "dev": true, "dependencies": { - "source-list-map": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-0.1.8.tgz", - "integrity": "sha1-xVCyq1Qn9rPyH1r+rYjE9Vh7IQY=" - }, - "source-map": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", - "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", - "requires": { - "amdefine": ">=0.0.4" - } - } + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "node_modules/utf-8-validate": { + "version": "5.0.10", + "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.10.tgz", + "integrity": "sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ==", + "hasInstallScript": true, + "optional": true, + "peer": true, + "dependencies": { + "node-gyp-build": "^4.3.0" + }, + "engines": { + "node": ">=6.14.2" } }, - "webpack-sources": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.3.0.tgz", - "integrity": "sha512-OiVgSrbGu7NEnEvQJJgdSFPl2qWKkWq5lHMhgiToIiN9w34EBnjYzSYs+VbL5KoYiLNtFFa7BZIKxRED3I32pA==", + "node_modules/v8-to-istanbul": { + "version": "9.1.3", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.1.3.tgz", + "integrity": "sha512-9lDD+EVI2fjFsMWXc6dy5JJzBsVTcQ2fVkfBvncZ6xJWG9wtBhOldG+mHkSL0+V1K/xgZz0JDO5UT5hFwHUghg==", "dev": true, - "requires": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.12", + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^2.0.0" }, + "engines": { + "node": ">=10.12.0" + } + }, + "node_modules/w3c-xmlserializer": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz", + "integrity": "sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==", + "dev": true, "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 - } + "xml-name-validator": "^4.0.0" + }, + "engines": { + "node": ">=14" } }, - "whatwg-encoding": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", - "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "node_modules/walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", "dev": true, - "requires": { - "iconv-lite": "0.4.24" + "dependencies": { + "makeerror": "1.0.12" } }, - "whatwg-mimetype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", - "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", - "dev": true + "node_modules/watchpack": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } }, - "whatwg-url": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", - "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "node_modules/webidl-conversions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", + "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", "dev": true, - "requires": { - "lodash.sortby": "^4.7.0", - "tr46": "^1.0.1", - "webidl-conversions": "^4.0.2" + "engines": { + "node": ">=12" } }, - "whatwg-url-compat": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/whatwg-url-compat/-/whatwg-url-compat-0.6.5.tgz", - "integrity": "sha1-AImBEa9om7CXVBzVpFymyHmERb8=", + "node_modules/whatwg-encoding": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", + "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", "dev": true, - "optional": true, - "requires": { - "tr46": "~0.0.1" - }, "dependencies": { - "tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=", - "dev": true, - "optional": true - } + "iconv-lite": "0.6.3" + }, + "engines": { + "node": ">=12" } }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "node_modules/whatwg-mimetype": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", + "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "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, - "requires": { + "dependencies": { "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" } }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "wide-align": { + "node_modules/which-builtin-type": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", - "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", - "requires": { - "string-width": "^1.0.2 || 2" + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.3.tgz", + "integrity": "sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==", + "dev": true, + "dependencies": { + "function.prototype.name": "^1.1.5", + "has-tostringtag": "^1.0.0", + "is-async-function": "^2.0.0", + "is-date-object": "^1.0.5", + "is-finalizationregistry": "^1.0.2", + "is-generator-function": "^1.0.10", + "is-regex": "^1.1.4", + "is-weakref": "^1.0.2", + "isarray": "^2.0.5", + "which-boxed-primitive": "^1.0.2", + "which-collection": "^1.0.1", + "which-typed-array": "^1.1.9" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "widest-line": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-2.0.1.tgz", - "integrity": "sha512-Ba5m9/Fa4Xt9eb2ELXt77JxVDV8w7qQrH0zS/TWSJdLyAwQjWoOzpzj5lwVftDz6n/EOu3tNACS84v509qwnJA==", + "node_modules/which-collection": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", + "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", "dev": true, - "requires": { - "string-width": "^2.1.1" - }, "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - } + "is-map": "^2.0.1", + "is-set": "^2.0.1", + "is-weakmap": "^2.0.1", + "is-weakset": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "wordwrap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=" - }, - "worker-farm": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", - "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", + "node_modules/which-typed-array": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.11.tgz", + "integrity": "sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==", "dev": true, - "requires": { - "errno": "~0.1.7" + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, - "requires": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" - }, "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "wrappy": { + "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true }, - "write": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", - "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", + "node_modules/write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", "dev": true, - "requires": { - "mkdirp": "^0.5.1" + "dependencies": { + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "write-file-atomic": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.3.0.tgz", - "integrity": "sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.2" + "node_modules/ws": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz", + "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } } }, - "ws": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.2.0.tgz", - "integrity": "sha512-+SqNqFbwTm/0DC18KYzIsMTnEWpLwJsiasW/O17la4iDRRIO9uaHbvKiAS3AHgTiuuWerK/brj4O6MYZkei9xg==", + "node_modules/xml-name-validator": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", + "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", "dev": true, - "requires": { - "async-limiter": "^1.0.0" + "engines": { + "node": ">=12" } }, - "xdg-basedir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz", - "integrity": "sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ=", - "dev": true - }, - "xml-char-classes": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/xml-char-classes/-/xml-char-classes-1.0.0.tgz", - "integrity": "sha1-ZGV4SKIP/F31g6Qq2KJ3tFErvE0=" - }, - "xml-name-validator": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", - "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", - "dev": true - }, - "xmlchars": { + "node_modules/xmlchars": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", "dev": true }, - "xmlhttprequest-ssl": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz", - "integrity": "sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4=" + "node_modules/xmlhttprequest-ssl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz", + "integrity": "sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A==", + "engines": { + "node": ">=0.4.0" + } }, - "xtend": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", - "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", - "dev": true + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "engines": { + "node": ">=10" + } }, - "y18n": { + "node_modules/yallist": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", - "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==" - }, - "yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, - "yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", - "requires": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" }, - "dependencies": { - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" - }, - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.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==", - "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==" - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "requires": { - "p-limit": "^2.2.0" - } - }, - "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==" - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" - }, - "string-width": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", - "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "requires": { - "ansi-regex": "^5.0.0" - } - }, - "wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } + "engines": { + "node": ">=12" } }, - "yargs-parser": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", - "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" + "engines": { + "node": ">=12" } }, - "yarn": { - "version": "1.22.10", - "resolved": "https://registry.npmjs.org/yarn/-/yarn-1.22.10.tgz", - "integrity": "sha512-IanQGI9RRPAN87VGTF7zs2uxkSyQSrSPsju0COgbsKQOOXr5LtcVPeyXWgwVa0ywG3d8dg6kSYKGBuYK021qeA==", - "dev": true - }, - "yeast": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz", - "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=" + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } } } } diff --git a/package.json b/package.json index b1905ece7..c3c85990c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "WTF-Adventure", - "version": "1.0.6", + "version": "2.0.0", "description": "A modern HTML5 multiplayer adventure!", "keywords": [ "mmo", @@ -8,6 +8,8 @@ "html5", "multiplayer", "nodejs", + "nextjs", + "hackathon", "browserquest", "javascript", "es6", @@ -45,38 +47,32 @@ ], "license": "wtfpl-2.0", "scripts": { - "start": "webpack --mode=development", - "wtfserver": "nodemon --exec babel-node src/server/js/main.js", - "deploy": "webpack --mode=production --config webpack.production.config.js", - "lint": "eslint ./src/**/**.js", + "dev": "next dev", + "build": "next build", + "start": "next start", + "lint": "next lint", + "wtf": "next start", + "wtfserver": "cd ../server && npm start", "mac-install-mysql": "brew install mysql", "apt-install-mysql": "sudo apt-get update && sudo apt-get install mysql-apt-config && sudo apt-get install mysql-shell", "yum-install-mysql": "sudo yum remove mysql-community-release && sudo yum install mysql-shell", "dnf-install-mysql": "sudo dnf erase mysql-community-release && sudo dnf install mysql-shell", "mac-mysql-start": "brew services start mysql", "nix-mysql-start": "mysql-ctl start", - "wtf": "npm run mysql-start && npm start", "esdocs": "./node_modules/.bin/esdoc", "docs": "open ./docs/index.html", "test": "jest --env=jsdom --coverage && npm run badges", "badges": "make-coverage-badge" }, "engines": { - "node": ">=8.0" + "node": ">=16.0" }, "engineStrict": true, - "nodemonConfig": { - "ignore": [ - "src/client/*", - "assets/*", - "build/*", - "css/*" - ], - "delay": "2500" - }, "jest": { "transform": { - "^.+\\.jsx?$": "babel-jest" + "^.+\\.js?$": "babel-jest", + "^.+\\.ts?$": "babel-jest", + "^.+\\.tsx?$": "babel-jest" }, "testEnvironment": "jsdom", "coverageDirectory": "./coverage/", @@ -88,7 +84,8 @@ ], "moduleFileExtensions": [ "js", - "jsx" + "ts", + "tsx" ], "moduleDirectories": [ "node_modules" @@ -98,71 +95,31 @@ ] }, "dependencies": { - "@babel/core": "^7.12.3", - "@babel/preset-env": "^7.12.1", - "bcrypt": "^5.0.0", - "bootstrap": "^4.5.3", - "commander": "^2.20.3", - "connect": "^3.7.0", - "http": "0.0.0", - "jquery": "^3.5.1", - "log": "^1.4.0", - "memcache": "^0.3.0", - "modernizr": "^3.11.3", - "modernizr-webpack-plugin": "^1.0.7", - "mysql": "^2.18.1", - "popper.js": "^1.16.1", - "request": "^2.88.2", - "require": "^2.4.20", - "sanitizer": "^0.1.3", - "semver": "^5.7.1", - "serve-static": "^1.14.1", - "shutdown-hook": "^1.1.7", - "socket.io": "^2.4.0", - "socket.io-client": "^2.3.1", - "underscore": "^1.11.0", - "url": "^0.11.0" + "jquery": "^3.7.1", + "next": "13.5.4", + "react": "^18", + "react-dom": "^18", + "socket.io-client": "^4.7.2", + "underscore": "^1.13.6" }, "devDependencies": { - "@babel/cli": "^7.12.1", - "@babel/node": "^7.12.1", - "@babel/plugin-transform-runtime": "^7.12.1", - "babel-core": "^7.0.0-bridge.0", - "babel-eslint": "^10.1.0", - "babel-loader": "^8.1.0", - "babel-polyfill": "^6.26.0", - "babel-preset-es2015": "^6.24.1", - "browser-sync": "^2.26.13", - "browser-sync-webpack-plugin": "^2.2.2", - "canvas": "^2.6.1", - "clean-webpack-plugin": "^1.0.1", - "codecov": "^3.8.1", - "copy-webpack-plugin": "^4.6.0", - "css-loader": "^2.1.1", - "esdoc": "^1.1.0", - "esdoc-ecmascript-proposal-plugin": "^1.0.0", - "esdoc-standard-plugin": "^1.0.0", - "eslint": "^5.16.0", - "eslint-config-airbnb-base": "^13.2.0", - "eslint-plugin-import": "^2.22.1", - "file-loader": "^3.0.1", - "fs": "0.0.1-security", - "html-webpack-plugin": "^3.2.0", - "imports-loader": "^0.8.0", - "jest": "^25.5.4", + "@babel/core": "^7.23.2", + "@babel/eslint-parser": "^7.22.15", + "@babel/preset-env": "^7.23.2", + "@babel/preset-typescript": "^7.23.2", + "@types/jquery": "^3.5.22", + "@types/node": "20.8.2", + "@types/react": "^18", + "@types/react-dom": "^18", + "@types/underscore": "^1.11.9", + "babel-jest": "^29.7.0", + "bootstrap": "^5.3.2", + "eslint": "^8", + "eslint-config-next": "13.5.4", + "jest": "^29.7.0", + "jest-environment-jsdom": "^29.7.0", "make-coverage-badge": "^1.2.0", - "mini-css-extract-plugin": "^0.5.0", - "node-sass": "^4.14.1", - "nodemon": "^1.19.4", - "postcss-import": "^12.0.1", - "postcss-loader": "^3.0.0", - "postcss-preset-env": "^6.7.0", - "postcss-scss": "^2.1.1", - "raw-loader": "^1.0.0", - "sass-loader": "^7.3.1", - "style-loader": "^0.23.1", - "webpack": "^4.44.2", - "webpack-cli": "^3.3.12", - "yarn": "^1.22.10" + "sass": "^1.69.0", + "typescript": "^5" } } diff --git a/assets/audio/music/beach.mp3 b/public/audio/music/beach.mp3 similarity index 100% rename from assets/audio/music/beach.mp3 rename to public/audio/music/beach.mp3 diff --git a/assets/audio/music/codingroom.mp3 b/public/audio/music/codingroom.mp3 similarity index 100% rename from assets/audio/music/codingroom.mp3 rename to public/audio/music/codingroom.mp3 diff --git a/assets/audio/music/meadowofthepast.mp3 b/public/audio/music/meadowofthepast.mp3 similarity index 100% rename from assets/audio/music/meadowofthepast.mp3 rename to public/audio/music/meadowofthepast.mp3 diff --git a/assets/audio/music/smalltown.mp3 b/public/audio/music/smalltown.mp3 similarity index 100% rename from assets/audio/music/smalltown.mp3 rename to public/audio/music/smalltown.mp3 diff --git a/assets/audio/music/spookyship.mp3 b/public/audio/music/spookyship.mp3 similarity index 100% rename from assets/audio/music/spookyship.mp3 rename to public/audio/music/spookyship.mp3 diff --git a/assets/audio/music/village.mp3 b/public/audio/music/village.mp3 similarity index 100% rename from assets/audio/music/village.mp3 rename to public/audio/music/village.mp3 diff --git a/assets/audio/sfx/achievement.mp3 b/public/audio/sfx/achievement.mp3 similarity index 100% rename from assets/audio/sfx/achievement.mp3 rename to public/audio/sfx/achievement.mp3 diff --git a/assets/audio/sfx/chat.mp3 b/public/audio/sfx/chat.mp3 similarity index 100% rename from assets/audio/sfx/chat.mp3 rename to public/audio/sfx/chat.mp3 diff --git a/assets/audio/sfx/chest.mp3 b/public/audio/sfx/chest.mp3 similarity index 100% rename from assets/audio/sfx/chest.mp3 rename to public/audio/sfx/chest.mp3 diff --git a/assets/audio/sfx/death.mp3 b/public/audio/sfx/death.mp3 similarity index 100% rename from assets/audio/sfx/death.mp3 rename to public/audio/sfx/death.mp3 diff --git a/assets/audio/sfx/firefox.mp3 b/public/audio/sfx/firefox.mp3 similarity index 100% rename from assets/audio/sfx/firefox.mp3 rename to public/audio/sfx/firefox.mp3 diff --git a/assets/audio/sfx/heal.mp3 b/public/audio/sfx/heal.mp3 similarity index 100% rename from assets/audio/sfx/heal.mp3 rename to public/audio/sfx/heal.mp3 diff --git a/assets/audio/sfx/hit1.mp3 b/public/audio/sfx/hit1.mp3 similarity index 100% rename from assets/audio/sfx/hit1.mp3 rename to public/audio/sfx/hit1.mp3 diff --git a/assets/audio/sfx/hit2.mp3 b/public/audio/sfx/hit2.mp3 similarity index 100% rename from assets/audio/sfx/hit2.mp3 rename to public/audio/sfx/hit2.mp3 diff --git a/assets/audio/sfx/hurt.mp3 b/public/audio/sfx/hurt.mp3 similarity index 100% rename from assets/audio/sfx/hurt.mp3 rename to public/audio/sfx/hurt.mp3 diff --git a/assets/audio/sfx/kill1.mp3 b/public/audio/sfx/kill1.mp3 similarity index 100% rename from assets/audio/sfx/kill1.mp3 rename to public/audio/sfx/kill1.mp3 diff --git a/assets/audio/sfx/kill2.mp3 b/public/audio/sfx/kill2.mp3 similarity index 100% rename from assets/audio/sfx/kill2.mp3 rename to public/audio/sfx/kill2.mp3 diff --git a/assets/audio/sfx/loot.mp3 b/public/audio/sfx/loot.mp3 similarity index 100% rename from assets/audio/sfx/loot.mp3 rename to public/audio/sfx/loot.mp3 diff --git a/assets/audio/sfx/noloot.mp3 b/public/audio/sfx/noloot.mp3 similarity index 100% rename from assets/audio/sfx/noloot.mp3 rename to public/audio/sfx/noloot.mp3 diff --git a/assets/audio/sfx/npc-end.mp3 b/public/audio/sfx/npc-end.mp3 similarity index 100% rename from assets/audio/sfx/npc-end.mp3 rename to public/audio/sfx/npc-end.mp3 diff --git a/assets/audio/sfx/npc.mp3 b/public/audio/sfx/npc.mp3 similarity index 100% rename from assets/audio/sfx/npc.mp3 rename to public/audio/sfx/npc.mp3 diff --git a/assets/audio/sfx/npctalk.mp3 b/public/audio/sfx/npctalk.mp3 similarity index 100% rename from assets/audio/sfx/npctalk.mp3 rename to public/audio/sfx/npctalk.mp3 diff --git a/assets/audio/sfx/revive.mp3 b/public/audio/sfx/revive.mp3 similarity index 100% rename from assets/audio/sfx/revive.mp3 rename to public/audio/sfx/revive.mp3 diff --git a/assets/audio/sfx/teleport.mp3 b/public/audio/sfx/teleport.mp3 similarity index 100% rename from assets/audio/sfx/teleport.mp3 rename to public/audio/sfx/teleport.mp3 diff --git a/assets/data/maps/world_client.js b/public/data/maps/world_client.js similarity index 100% rename from assets/data/maps/world_client.js rename to public/data/maps/world_client.js diff --git a/assets/data/maps/world_client.json b/public/data/maps/world_client.json similarity index 100% rename from assets/data/maps/world_client.json rename to public/data/maps/world_client.json diff --git a/assets/data/sprites.json b/public/data/sprites.json similarity index 100% rename from assets/data/sprites.json rename to public/data/sprites.json diff --git a/assets/fonts/advocut/advocut-webfont.eot b/public/fonts/advocut/advocut-webfont.eot similarity index 100% rename from assets/fonts/advocut/advocut-webfont.eot rename to public/fonts/advocut/advocut-webfont.eot diff --git a/assets/fonts/advocut/advocut-webfont.svg b/public/fonts/advocut/advocut-webfont.svg similarity index 100% rename from assets/fonts/advocut/advocut-webfont.svg rename to public/fonts/advocut/advocut-webfont.svg diff --git a/assets/fonts/advocut/advocut-webfont.ttf b/public/fonts/advocut/advocut-webfont.ttf similarity index 100% rename from assets/fonts/advocut/advocut-webfont.ttf rename to public/fonts/advocut/advocut-webfont.ttf diff --git a/assets/fonts/advocut/advocut-webfont.woff b/public/fonts/advocut/advocut-webfont.woff similarity index 100% rename from assets/fonts/advocut/advocut-webfont.woff rename to public/fonts/advocut/advocut-webfont.woff diff --git a/assets/img/1-star.png b/public/img/1-star.png similarity index 100% rename from assets/img/1-star.png rename to public/img/1-star.png diff --git a/assets/img/1/bank.png b/public/img/1/bank.png similarity index 100% rename from assets/img/1/bank.png rename to public/img/1/bank.png diff --git a/assets/img/1/border.png b/public/img/1/border.png similarity index 100% rename from assets/img/1/border.png rename to public/img/1/border.png diff --git a/assets/img/1/buttons.png b/public/img/1/buttons.png similarity index 100% rename from assets/img/1/buttons.png rename to public/img/1/buttons.png diff --git a/assets/img/1/characterdialogsheet.png b/public/img/1/characterdialogsheet.png similarity index 100% rename from assets/img/1/characterdialogsheet.png rename to public/img/1/characterdialogsheet.png diff --git a/assets/img/1/containers.png b/public/img/1/containers.png similarity index 100% rename from assets/img/1/containers.png rename to public/img/1/containers.png diff --git a/assets/img/1/main.png b/public/img/1/main.png similarity index 100% rename from assets/img/1/main.png rename to public/img/1/main.png diff --git a/assets/img/1/maintwo.png b/public/img/1/maintwo.png similarity index 100% rename from assets/img/1/maintwo.png rename to public/img/1/maintwo.png diff --git a/assets/img/1/mapframe.png b/public/img/1/mapframe.png similarity index 100% rename from assets/img/1/mapframe.png rename to public/img/1/mapframe.png diff --git a/assets/img/1/mapicons.png b/public/img/1/mapicons.png similarity index 100% rename from assets/img/1/mapicons.png rename to public/img/1/mapicons.png diff --git a/assets/img/1/pointer.png b/public/img/1/pointer.png similarity index 100% rename from assets/img/1/pointer.png rename to public/img/1/pointer.png diff --git a/assets/img/1/skillicons.png b/public/img/1/skillicons.png similarity index 100% rename from assets/img/1/skillicons.png rename to public/img/1/skillicons.png diff --git a/assets/img/1/skillslots.png b/public/img/1/skillslots.png similarity index 100% rename from assets/img/1/skillslots.png rename to public/img/1/skillslots.png diff --git a/assets/img/1/spritesheet.png b/public/img/1/spritesheet.png similarity index 100% rename from assets/img/1/spritesheet.png rename to public/img/1/spritesheet.png diff --git a/assets/img/1/trade.png b/public/img/1/trade.png similarity index 100% rename from assets/img/1/trade.png rename to public/img/1/trade.png diff --git a/assets/img/2/achievements.png b/public/img/2/achievements.png similarity index 100% rename from assets/img/2/achievements.png rename to public/img/2/achievements.png diff --git a/assets/img/2/adherer.png b/public/img/2/adherer.png similarity index 100% rename from assets/img/2/adherer.png rename to public/img/2/adherer.png diff --git a/assets/img/2/adhererarcherarmor.png b/public/img/2/adhererarcherarmor.png similarity index 100% rename from assets/img/2/adhererarcherarmor.png rename to public/img/2/adhererarcherarmor.png diff --git a/assets/img/2/adhererrobe.png b/public/img/2/adhererrobe.png similarity index 100% rename from assets/img/2/adhererrobe.png rename to public/img/2/adhererrobe.png diff --git a/assets/img/2/adminarmor.png b/public/img/2/adminarmor.png similarity index 100% rename from assets/img/2/adminarmor.png rename to public/img/2/adminarmor.png diff --git a/assets/img/2/agent.png b/public/img/2/agent.png similarity index 100% rename from assets/img/2/agent.png rename to public/img/2/agent.png diff --git a/assets/img/2/ancientmanumentnpc.png b/public/img/2/ancientmanumentnpc.png similarity index 100% rename from assets/img/2/ancientmanumentnpc.png rename to public/img/2/ancientmanumentnpc.png diff --git a/assets/img/2/angelnpc.png b/public/img/2/angelnpc.png similarity index 100% rename from assets/img/2/angelnpc.png rename to public/img/2/angelnpc.png diff --git a/assets/img/2/ant.png b/public/img/2/ant.png similarity index 100% rename from assets/img/2/ant.png rename to public/img/2/ant.png diff --git a/assets/img/2/archerarmor.png b/public/img/2/archerarmor.png similarity index 100% rename from assets/img/2/archerarmor.png rename to public/img/2/archerarmor.png diff --git a/assets/img/2/archerschooluniform.png b/public/img/2/archerschooluniform.png similarity index 100% rename from assets/img/2/archerschooluniform.png rename to public/img/2/archerschooluniform.png diff --git a/assets/img/2/axe.png b/public/img/2/axe.png similarity index 100% rename from assets/img/2/axe.png rename to public/img/2/axe.png diff --git a/assets/img/2/babyspider.png b/public/img/2/babyspider.png similarity index 100% rename from assets/img/2/babyspider.png rename to public/img/2/babyspider.png diff --git a/assets/img/2/bamboospear.png b/public/img/2/bamboospear.png similarity index 100% rename from assets/img/2/bamboospear.png rename to public/img/2/bamboospear.png diff --git a/assets/img/2/bank.png b/public/img/2/bank.png similarity index 100% rename from assets/img/2/bank.png rename to public/img/2/bank.png diff --git a/assets/img/2/barsheet.png b/public/img/2/barsheet.png similarity index 100% rename from assets/img/2/barsheet.png rename to public/img/2/barsheet.png diff --git a/assets/img/2/basebarcontainer.png b/public/img/2/basebarcontainer.png similarity index 100% rename from assets/img/2/basebarcontainer.png rename to public/img/2/basebarcontainer.png diff --git a/assets/img/2/bastardsword.png b/public/img/2/bastardsword.png similarity index 100% rename from assets/img/2/bastardsword.png rename to public/img/2/bastardsword.png diff --git a/assets/img/2/bat.png b/public/img/2/bat.png similarity index 100% rename from assets/img/2/bat.png rename to public/img/2/bat.png diff --git a/assets/img/2/beachnpc.png b/public/img/2/beachnpc.png similarity index 100% rename from assets/img/2/beachnpc.png rename to public/img/2/beachnpc.png diff --git a/assets/img/2/bearseonbiarmor.png b/public/img/2/bearseonbiarmor.png similarity index 100% rename from assets/img/2/bearseonbiarmor.png rename to public/img/2/bearseonbiarmor.png diff --git a/assets/img/2/beautifullife.png b/public/img/2/beautifullife.png similarity index 100% rename from assets/img/2/beautifullife.png rename to public/img/2/beautifullife.png diff --git a/assets/img/2/bee.png b/public/img/2/bee.png similarity index 100% rename from assets/img/2/bee.png rename to public/img/2/bee.png diff --git a/assets/img/2/beearmor.png b/public/img/2/beearmor.png similarity index 100% rename from assets/img/2/beearmor.png rename to public/img/2/beearmor.png diff --git a/assets/img/2/beetle.png b/public/img/2/beetle.png similarity index 100% rename from assets/img/2/beetle.png rename to public/img/2/beetle.png diff --git a/assets/img/2/beetlearmor.png b/public/img/2/beetlearmor.png similarity index 100% rename from assets/img/2/beetlearmor.png rename to public/img/2/beetlearmor.png diff --git a/assets/img/2/blackpirateskeleton.png b/public/img/2/blackpirateskeleton.png similarity index 100% rename from assets/img/2/blackpirateskeleton.png rename to public/img/2/blackpirateskeleton.png diff --git a/assets/img/2/blackspiderarmor.png b/public/img/2/blackspiderarmor.png similarity index 100% rename from assets/img/2/blackspiderarmor.png rename to public/img/2/blackspiderarmor.png diff --git a/assets/img/2/blackwizard.png b/public/img/2/blackwizard.png similarity index 100% rename from assets/img/2/blackwizard.png rename to public/img/2/blackwizard.png diff --git a/assets/img/2/blazespider.png b/public/img/2/blazespider.png similarity index 100% rename from assets/img/2/blazespider.png rename to public/img/2/blazespider.png diff --git a/assets/img/2/bloodbow.png b/public/img/2/bloodbow.png similarity index 100% rename from assets/img/2/bloodbow.png rename to public/img/2/bloodbow.png diff --git a/assets/img/2/bloodsucking.png b/public/img/2/bloodsucking.png similarity index 100% rename from assets/img/2/bloodsucking.png rename to public/img/2/bloodsucking.png diff --git a/assets/img/2/bluebikinigirlnpc.png b/public/img/2/bluebikinigirlnpc.png similarity index 100% rename from assets/img/2/bluebikinigirlnpc.png rename to public/img/2/bluebikinigirlnpc.png diff --git a/assets/img/2/bluecockroach.png b/public/img/2/bluecockroach.png similarity index 100% rename from assets/img/2/bluecockroach.png rename to public/img/2/bluecockroach.png diff --git a/assets/img/2/bluedamboarmor.png b/public/img/2/bluedamboarmor.png similarity index 100% rename from assets/img/2/bluedamboarmor.png rename to public/img/2/bluedamboarmor.png diff --git a/assets/img/2/bluepiratearmor.png b/public/img/2/bluepiratearmor.png similarity index 100% rename from assets/img/2/bluepiratearmor.png rename to public/img/2/bluepiratearmor.png diff --git a/assets/img/2/bluepreta.png b/public/img/2/bluepreta.png similarity index 100% rename from assets/img/2/bluepreta.png rename to public/img/2/bluepreta.png diff --git a/assets/img/2/bluescimitar.png b/public/img/2/bluescimitar.png similarity index 100% rename from assets/img/2/bluescimitar.png rename to public/img/2/bluescimitar.png diff --git a/assets/img/2/bluestoremannpc.png b/public/img/2/bluestoremannpc.png similarity index 100% rename from assets/img/2/bluestoremannpc.png rename to public/img/2/bluestoremannpc.png diff --git a/assets/img/2/bluesword.png b/public/img/2/bluesword.png similarity index 100% rename from assets/img/2/bluesword.png rename to public/img/2/bluesword.png diff --git a/assets/img/2/bluewingarcherarmor.png b/public/img/2/bluewingarcherarmor.png similarity index 100% rename from assets/img/2/bluewingarcherarmor.png rename to public/img/2/bluewingarcherarmor.png diff --git a/assets/img/2/bluewingarmor.png b/public/img/2/bluewingarmor.png similarity index 100% rename from assets/img/2/bluewingarmor.png rename to public/img/2/bluewingarmor.png diff --git a/assets/img/2/border.png b/public/img/2/border.png similarity index 100% rename from assets/img/2/border.png rename to public/img/2/border.png diff --git a/assets/img/2/boss.png b/public/img/2/boss.png similarity index 100% rename from assets/img/2/boss.png rename to public/img/2/boss.png diff --git a/assets/img/2/bow.png b/public/img/2/bow.png similarity index 100% rename from assets/img/2/bow.png rename to public/img/2/bow.png diff --git a/assets/img/2/boxingman.png b/public/img/2/boxingman.png similarity index 100% rename from assets/img/2/boxingman.png rename to public/img/2/boxingman.png diff --git a/assets/img/2/breaker.png b/public/img/2/breaker.png similarity index 100% rename from assets/img/2/breaker.png rename to public/img/2/breaker.png diff --git a/assets/img/2/bridalmask.png b/public/img/2/bridalmask.png similarity index 100% rename from assets/img/2/bridalmask.png rename to public/img/2/bridalmask.png diff --git a/assets/img/2/bronzemedal.png b/public/img/2/bronzemedal.png similarity index 100% rename from assets/img/2/bronzemedal.png rename to public/img/2/bronzemedal.png diff --git a/assets/img/2/brownmouse.png b/public/img/2/brownmouse.png similarity index 100% rename from assets/img/2/brownmouse.png rename to public/img/2/brownmouse.png diff --git a/assets/img/2/bucklerbenef.png b/public/img/2/bucklerbenef.png similarity index 100% rename from assets/img/2/bucklerbenef.png rename to public/img/2/bucklerbenef.png diff --git a/assets/img/2/burgerarmor.png b/public/img/2/burgerarmor.png similarity index 100% rename from assets/img/2/burgerarmor.png rename to public/img/2/burgerarmor.png diff --git a/assets/img/2/burningstrike.png b/public/img/2/burningstrike.png similarity index 100% rename from assets/img/2/burningstrike.png rename to public/img/2/burningstrike.png diff --git a/assets/img/2/butcherknife.png b/public/img/2/butcherknife.png similarity index 100% rename from assets/img/2/butcherknife.png rename to public/img/2/butcherknife.png diff --git a/assets/img/2/buttons.png b/public/img/2/buttons.png similarity index 100% rename from assets/img/2/buttons.png rename to public/img/2/buttons.png diff --git a/assets/img/2/cactus.png b/public/img/2/cactus.png similarity index 100% rename from assets/img/2/cactus.png rename to public/img/2/cactus.png diff --git a/assets/img/2/cactusaxe.png b/public/img/2/cactusaxe.png similarity index 100% rename from assets/img/2/cactusaxe.png rename to public/img/2/cactusaxe.png diff --git a/assets/img/2/candybar.png b/public/img/2/candybar.png similarity index 100% rename from assets/img/2/candybar.png rename to public/img/2/candybar.png diff --git a/assets/img/2/captainbow.png b/public/img/2/captainbow.png similarity index 100% rename from assets/img/2/captainbow.png rename to public/img/2/captainbow.png diff --git a/assets/img/2/cat.png b/public/img/2/cat.png similarity index 100% rename from assets/img/2/cat.png rename to public/img/2/cat.png diff --git a/assets/img/2/catarmor.png b/public/img/2/catarmor.png similarity index 100% rename from assets/img/2/catarmor.png rename to public/img/2/catarmor.png diff --git a/assets/img/2/characterbutton.png b/public/img/2/characterbutton.png similarity index 100% rename from assets/img/2/characterbutton.png rename to public/img/2/characterbutton.png diff --git a/assets/img/2/characterdialogsheet.png b/public/img/2/characterdialogsheet.png similarity index 100% rename from assets/img/2/characterdialogsheet.png rename to public/img/2/characterdialogsheet.png diff --git a/assets/img/2/cheoliarcherarmor.png b/public/img/2/cheoliarcherarmor.png similarity index 100% rename from assets/img/2/cheoliarcherarmor.png rename to public/img/2/cheoliarcherarmor.png diff --git a/assets/img/2/cheoliarmor.png b/public/img/2/cheoliarmor.png similarity index 100% rename from assets/img/2/cheoliarmor.png rename to public/img/2/cheoliarmor.png diff --git a/assets/img/2/chest.png b/public/img/2/chest.png similarity index 100% rename from assets/img/2/chest.png rename to public/img/2/chest.png diff --git a/assets/img/2/christmasarmor.png b/public/img/2/christmasarmor.png similarity index 100% rename from assets/img/2/christmasarmor.png rename to public/img/2/christmasarmor.png diff --git a/assets/img/2/clam.png b/public/img/2/clam.png similarity index 100% rename from assets/img/2/clam.png rename to public/img/2/clam.png diff --git a/assets/img/2/clotharmor.png b/public/img/2/clotharmor.png similarity index 100% rename from assets/img/2/clotharmor.png rename to public/img/2/clotharmor.png diff --git a/assets/img/2/cobra.png b/public/img/2/cobra.png similarity index 100% rename from assets/img/2/cobra.png rename to public/img/2/cobra.png diff --git a/assets/img/2/cockroachsuit.png b/public/img/2/cockroachsuit.png similarity index 100% rename from assets/img/2/cockroachsuit.png rename to public/img/2/cockroachsuit.png diff --git a/assets/img/2/coder.png b/public/img/2/coder.png similarity index 100% rename from assets/img/2/coder.png rename to public/img/2/coder.png diff --git a/assets/img/2/cokearmor.png b/public/img/2/cokearmor.png similarity index 100% rename from assets/img/2/cokearmor.png rename to public/img/2/cokearmor.png diff --git a/assets/img/2/comb.png b/public/img/2/comb.png similarity index 100% rename from assets/img/2/comb.png rename to public/img/2/comb.png diff --git a/assets/img/2/combatuniform.png b/public/img/2/combatuniform.png similarity index 100% rename from assets/img/2/combatuniform.png rename to public/img/2/combatuniform.png diff --git a/assets/img/2/conferencecall.png b/public/img/2/conferencecall.png similarity index 100% rename from assets/img/2/conferencecall.png rename to public/img/2/conferencecall.png diff --git a/assets/img/2/containers.png b/public/img/2/containers.png similarity index 100% rename from assets/img/2/containers.png rename to public/img/2/containers.png diff --git a/assets/img/2/crab.png b/public/img/2/crab.png similarity index 100% rename from assets/img/2/crab.png rename to public/img/2/crab.png diff --git a/assets/img/2/criticaleffect.png b/public/img/2/criticaleffect.png similarity index 100% rename from assets/img/2/criticaleffect.png rename to public/img/2/criticaleffect.png diff --git a/assets/img/2/criticalstrike.png b/public/img/2/criticalstrike.png similarity index 100% rename from assets/img/2/criticalstrike.png rename to public/img/2/criticalstrike.png diff --git a/assets/img/2/crystalarcherarmor.png b/public/img/2/crystalarcherarmor.png similarity index 100% rename from assets/img/2/crystalarcherarmor.png rename to public/img/2/crystalarcherarmor.png diff --git a/assets/img/2/crystalarmor.png b/public/img/2/crystalarmor.png similarity index 100% rename from assets/img/2/crystalarmor.png rename to public/img/2/crystalarmor.png diff --git a/assets/img/2/crystalbow.png b/public/img/2/crystalbow.png similarity index 100% rename from assets/img/2/crystalbow.png rename to public/img/2/crystalbow.png diff --git a/assets/img/2/crystalscolpion.png b/public/img/2/crystalscolpion.png similarity index 100% rename from assets/img/2/crystalscolpion.png rename to public/img/2/crystalscolpion.png diff --git a/assets/img/2/cursedhahoemask.png b/public/img/2/cursedhahoemask.png similarity index 100% rename from assets/img/2/cursedhahoemask.png rename to public/img/2/cursedhahoemask.png diff --git a/assets/img/2/cursedjangseung.png b/public/img/2/cursedjangseung.png similarity index 100% rename from assets/img/2/cursedjangseung.png rename to public/img/2/cursedjangseung.png diff --git a/assets/img/2/damboarmor.png b/public/img/2/damboarmor.png similarity index 100% rename from assets/img/2/damboarmor.png rename to public/img/2/damboarmor.png diff --git a/assets/img/2/darkogre.png b/public/img/2/darkogre.png similarity index 100% rename from assets/img/2/darkogre.png rename to public/img/2/darkogre.png diff --git a/assets/img/2/darkregion.png b/public/img/2/darkregion.png similarity index 100% rename from assets/img/2/darkregion.png rename to public/img/2/darkregion.png diff --git a/assets/img/2/darkregionillusion.png b/public/img/2/darkregionillusion.png similarity index 100% rename from assets/img/2/darkregionillusion.png rename to public/img/2/darkregionillusion.png diff --git a/assets/img/2/darkscolpion.png b/public/img/2/darkscolpion.png similarity index 100% rename from assets/img/2/darkscolpion.png rename to public/img/2/darkscolpion.png diff --git a/assets/img/2/darkskeleton.png b/public/img/2/darkskeleton.png similarity index 100% rename from assets/img/2/darkskeleton.png rename to public/img/2/darkskeleton.png diff --git a/assets/img/2/daywalker.png b/public/img/2/daywalker.png similarity index 100% rename from assets/img/2/daywalker.png rename to public/img/2/daywalker.png diff --git a/assets/img/2/death.png b/public/img/2/death.png similarity index 100% rename from assets/img/2/death.png rename to public/img/2/death.png diff --git a/assets/img/2/deathbow.png b/public/img/2/deathbow.png similarity index 100% rename from assets/img/2/deathbow.png rename to public/img/2/deathbow.png diff --git a/assets/img/2/deathknight.png b/public/img/2/deathknight.png similarity index 100% rename from assets/img/2/deathknight.png rename to public/img/2/deathknight.png diff --git a/assets/img/2/desertnpc.png b/public/img/2/desertnpc.png similarity index 100% rename from assets/img/2/desertnpc.png rename to public/img/2/desertnpc.png diff --git a/assets/img/2/desertscolpion.png b/public/img/2/desertscolpion.png similarity index 100% rename from assets/img/2/desertscolpion.png rename to public/img/2/desertscolpion.png diff --git a/assets/img/2/devilkazya.png b/public/img/2/devilkazya.png similarity index 100% rename from assets/img/2/devilkazya.png rename to public/img/2/devilkazya.png diff --git a/assets/img/2/devilkazyaarmor.png b/public/img/2/devilkazyaarmor.png similarity index 100% rename from assets/img/2/devilkazyaarmor.png rename to public/img/2/devilkazyaarmor.png diff --git a/assets/img/2/devilkazyasword.png b/public/img/2/devilkazyasword.png similarity index 100% rename from assets/img/2/devilkazyasword.png rename to public/img/2/devilkazyasword.png diff --git a/assets/img/2/dinosaurarmor.png b/public/img/2/dinosaurarmor.png similarity index 100% rename from assets/img/2/dinosaurarmor.png rename to public/img/2/dinosaurarmor.png diff --git a/assets/img/2/doctor.png b/public/img/2/doctor.png similarity index 100% rename from assets/img/2/doctor.png rename to public/img/2/doctor.png diff --git a/assets/img/2/dovakinarcherarmor.png b/public/img/2/dovakinarcherarmor.png similarity index 100% rename from assets/img/2/dovakinarcherarmor.png rename to public/img/2/dovakinarcherarmor.png diff --git a/assets/img/2/dovakinarmor.png b/public/img/2/dovakinarmor.png similarity index 100% rename from assets/img/2/dovakinarmor.png rename to public/img/2/dovakinarmor.png diff --git a/assets/img/2/dragonarmor.png b/public/img/2/dragonarmor.png similarity index 100% rename from assets/img/2/dragonarmor.png rename to public/img/2/dragonarmor.png diff --git a/assets/img/2/earthworm.png b/public/img/2/earthworm.png similarity index 100% rename from assets/img/2/earthworm.png rename to public/img/2/earthworm.png diff --git a/assets/img/2/elfnpc.png b/public/img/2/elfnpc.png similarity index 100% rename from assets/img/2/elfnpc.png rename to public/img/2/elfnpc.png diff --git a/assets/img/2/eliminator.png b/public/img/2/eliminator.png similarity index 100% rename from assets/img/2/eliminator.png rename to public/img/2/eliminator.png diff --git a/assets/img/2/enel.png b/public/img/2/enel.png similarity index 100% rename from assets/img/2/enel.png rename to public/img/2/enel.png diff --git a/assets/img/2/enelarmor.png b/public/img/2/enelarmor.png similarity index 100% rename from assets/img/2/enelarmor.png rename to public/img/2/enelarmor.png diff --git a/assets/img/2/eneltrident.png b/public/img/2/eneltrident.png similarity index 100% rename from assets/img/2/eneltrident.png rename to public/img/2/eneltrident.png diff --git a/assets/img/2/evasion.png b/public/img/2/evasion.png similarity index 100% rename from assets/img/2/evasion.png rename to public/img/2/evasion.png diff --git a/assets/img/2/evilarmor.png b/public/img/2/evilarmor.png similarity index 100% rename from assets/img/2/evilarmor.png rename to public/img/2/evilarmor.png diff --git a/assets/img/2/expbar.png b/public/img/2/expbar.png similarity index 100% rename from assets/img/2/expbar.png rename to public/img/2/expbar.png diff --git a/assets/img/2/explosion-boulder.png b/public/img/2/explosion-boulder.png similarity index 100% rename from assets/img/2/explosion-boulder.png rename to public/img/2/explosion-boulder.png diff --git a/assets/img/2/explosion-fireball.png b/public/img/2/explosion-fireball.png similarity index 100% rename from assets/img/2/explosion-fireball.png rename to public/img/2/explosion-fireball.png diff --git a/assets/img/2/explosion-heal.png b/public/img/2/explosion-heal.png similarity index 100% rename from assets/img/2/explosion-heal.png rename to public/img/2/explosion-heal.png diff --git a/assets/img/2/explosion-iceball.png b/public/img/2/explosion-iceball.png similarity index 100% rename from assets/img/2/explosion-iceball.png rename to public/img/2/explosion-iceball.png diff --git a/assets/img/2/explosion-lavaball.png b/public/img/2/explosion-lavaball.png similarity index 100% rename from assets/img/2/explosion-lavaball.png rename to public/img/2/explosion-lavaball.png diff --git a/assets/img/2/explosion-terror.png b/public/img/2/explosion-terror.png similarity index 100% rename from assets/img/2/explosion-terror.png rename to public/img/2/explosion-terror.png diff --git a/assets/img/2/eye.png b/public/img/2/eye.png similarity index 100% rename from assets/img/2/eye.png rename to public/img/2/eye.png diff --git a/assets/img/2/fairynpc.png b/public/img/2/fairynpc.png similarity index 100% rename from assets/img/2/fairynpc.png rename to public/img/2/fairynpc.png diff --git a/assets/img/2/fallenarcherarmor.png b/public/img/2/fallenarcherarmor.png similarity index 100% rename from assets/img/2/fallenarcherarmor.png rename to public/img/2/fallenarcherarmor.png diff --git a/assets/img/2/fallenarmor.png b/public/img/2/fallenarmor.png similarity index 100% rename from assets/img/2/fallenarmor.png rename to public/img/2/fallenarmor.png diff --git a/assets/img/2/firebenef.png b/public/img/2/firebenef.png similarity index 100% rename from assets/img/2/firebenef.png rename to public/img/2/firebenef.png diff --git a/assets/img/2/firefox.png b/public/img/2/firefox.png similarity index 100% rename from assets/img/2/firefox.png rename to public/img/2/firefox.png diff --git a/assets/img/2/fireplay.png b/public/img/2/fireplay.png similarity index 100% rename from assets/img/2/fireplay.png rename to public/img/2/fireplay.png diff --git a/assets/img/2/fireshot.png b/public/img/2/fireshot.png similarity index 100% rename from assets/img/2/fireshot.png rename to public/img/2/fireshot.png diff --git a/assets/img/2/firespider.png b/public/img/2/firespider.png similarity index 100% rename from assets/img/2/firespider.png rename to public/img/2/firespider.png diff --git a/assets/img/2/firesword.png b/public/img/2/firesword.png similarity index 100% rename from assets/img/2/firesword.png rename to public/img/2/firesword.png diff --git a/assets/img/2/firstsonangelnpc.png b/public/img/2/firstsonangelnpc.png similarity index 100% rename from assets/img/2/firstsonangelnpc.png rename to public/img/2/firstsonangelnpc.png diff --git a/assets/img/2/fisherman.png b/public/img/2/fisherman.png similarity index 100% rename from assets/img/2/fisherman.png rename to public/img/2/fisherman.png diff --git a/assets/img/2/flaredance.png b/public/img/2/flaredance.png similarity index 100% rename from assets/img/2/flaredance.png rename to public/img/2/flaredance.png diff --git a/assets/img/2/flaredanceeffect.png b/public/img/2/flaredanceeffect.png similarity index 100% rename from assets/img/2/flaredanceeffect.png rename to public/img/2/flaredanceeffect.png diff --git a/assets/img/2/flaredeathknight.png b/public/img/2/flaredeathknight.png similarity index 100% rename from assets/img/2/flaredeathknight.png rename to public/img/2/flaredeathknight.png diff --git a/assets/img/2/fluffy.png b/public/img/2/fluffy.png similarity index 100% rename from assets/img/2/fluffy.png rename to public/img/2/fluffy.png diff --git a/assets/img/2/forestbow.png b/public/img/2/forestbow.png similarity index 100% rename from assets/img/2/forestbow.png rename to public/img/2/forestbow.png diff --git a/assets/img/2/forestdragon.png b/public/img/2/forestdragon.png similarity index 100% rename from assets/img/2/forestdragon.png rename to public/img/2/forestdragon.png diff --git a/assets/img/2/forestguardiansword.png b/public/img/2/forestguardiansword.png similarity index 100% rename from assets/img/2/forestguardiansword.png rename to public/img/2/forestguardiansword.png diff --git a/assets/img/2/forestnpc.png b/public/img/2/forestnpc.png similarity index 100% rename from assets/img/2/forestnpc.png rename to public/img/2/forestnpc.png diff --git a/assets/img/2/frankensteinarmor.png b/public/img/2/frankensteinarmor.png similarity index 100% rename from assets/img/2/frankensteinarmor.png rename to public/img/2/frankensteinarmor.png diff --git a/assets/img/2/friedpotatoarmor.png b/public/img/2/friedpotatoarmor.png similarity index 100% rename from assets/img/2/friedpotatoarmor.png rename to public/img/2/friedpotatoarmor.png diff --git a/assets/img/2/frog.png b/public/img/2/frog.png similarity index 100% rename from assets/img/2/frog.png rename to public/img/2/frog.png diff --git a/assets/img/2/frogarmor.png b/public/img/2/frogarmor.png similarity index 100% rename from assets/img/2/frogarmor.png rename to public/img/2/frogarmor.png diff --git a/assets/img/2/frostarmor.png b/public/img/2/frostarmor.png similarity index 100% rename from assets/img/2/frostarmor.png rename to public/img/2/frostarmor.png diff --git a/assets/img/2/frostqueen.png b/public/img/2/frostqueen.png similarity index 100% rename from assets/img/2/frostqueen.png rename to public/img/2/frostqueen.png diff --git a/assets/img/2/gayarcherarmor.png b/public/img/2/gayarcherarmor.png similarity index 100% rename from assets/img/2/gayarcherarmor.png rename to public/img/2/gayarcherarmor.png diff --git a/assets/img/2/gayarmor.png b/public/img/2/gayarmor.png similarity index 100% rename from assets/img/2/gayarmor.png rename to public/img/2/gayarmor.png diff --git a/assets/img/2/gaybow.png b/public/img/2/gaybow.png similarity index 100% rename from assets/img/2/gaybow.png rename to public/img/2/gaybow.png diff --git a/assets/img/2/gbwingarcherarmor.png b/public/img/2/gbwingarcherarmor.png similarity index 100% rename from assets/img/2/gbwingarcherarmor.png rename to public/img/2/gbwingarcherarmor.png diff --git a/assets/img/2/gbwingarmor.png b/public/img/2/gbwingarmor.png similarity index 100% rename from assets/img/2/gbwingarmor.png rename to public/img/2/gbwingarmor.png diff --git a/assets/img/2/ghost.png b/public/img/2/ghost.png similarity index 100% rename from assets/img/2/ghost.png rename to public/img/2/ghost.png diff --git a/assets/img/2/ghostrider.png b/public/img/2/ghostrider.png similarity index 100% rename from assets/img/2/ghostrider.png rename to public/img/2/ghostrider.png diff --git a/assets/img/2/goblin.png b/public/img/2/goblin.png similarity index 100% rename from assets/img/2/goblin.png rename to public/img/2/goblin.png diff --git a/assets/img/2/goldaxe.png b/public/img/2/goldaxe.png similarity index 100% rename from assets/img/2/goldaxe.png rename to public/img/2/goldaxe.png diff --git a/assets/img/2/goldenarcherarmor.png b/public/img/2/goldenarcherarmor.png similarity index 100% rename from assets/img/2/goldenarcherarmor.png rename to public/img/2/goldenarcherarmor.png diff --git a/assets/img/2/goldenarmor.png b/public/img/2/goldenarmor.png similarity index 100% rename from assets/img/2/goldenarmor.png rename to public/img/2/goldenarmor.png diff --git a/assets/img/2/goldenbow.png b/public/img/2/goldenbow.png similarity index 100% rename from assets/img/2/goldenbow.png rename to public/img/2/goldenbow.png diff --git a/assets/img/2/goldensword.png b/public/img/2/goldensword.png similarity index 100% rename from assets/img/2/goldensword.png rename to public/img/2/goldensword.png diff --git a/assets/img/2/goldgolem.png b/public/img/2/goldgolem.png similarity index 100% rename from assets/img/2/goldgolem.png rename to public/img/2/goldgolem.png diff --git a/assets/img/2/goldmedal.png b/public/img/2/goldmedal.png similarity index 100% rename from assets/img/2/goldmedal.png rename to public/img/2/goldmedal.png diff --git a/assets/img/2/golem.png b/public/img/2/golem.png similarity index 100% rename from assets/img/2/golem.png rename to public/img/2/golem.png diff --git a/assets/img/2/greenarcherarmor.png b/public/img/2/greenarcherarmor.png similarity index 100% rename from assets/img/2/greenarcherarmor.png rename to public/img/2/greenarcherarmor.png diff --git a/assets/img/2/greenarmor.png b/public/img/2/greenarmor.png similarity index 100% rename from assets/img/2/greenarmor.png rename to public/img/2/greenarmor.png diff --git a/assets/img/2/greenbow.png b/public/img/2/greenbow.png similarity index 100% rename from assets/img/2/greenbow.png rename to public/img/2/greenbow.png diff --git a/assets/img/2/greendamboarmor.png b/public/img/2/greendamboarmor.png similarity index 100% rename from assets/img/2/greendamboarmor.png rename to public/img/2/greendamboarmor.png diff --git a/assets/img/2/greenfish.png b/public/img/2/greenfish.png similarity index 100% rename from assets/img/2/greenfish.png rename to public/img/2/greenfish.png diff --git a/assets/img/2/greenlightbow.png b/public/img/2/greenlightbow.png similarity index 100% rename from assets/img/2/greenlightbow.png rename to public/img/2/greenlightbow.png diff --git a/assets/img/2/greenlightsaber.png b/public/img/2/greenlightsaber.png similarity index 100% rename from assets/img/2/greenlightsaber.png rename to public/img/2/greenlightsaber.png diff --git a/assets/img/2/greenpirateskeleton.png b/public/img/2/greenpirateskeleton.png similarity index 100% rename from assets/img/2/greenpirateskeleton.png rename to public/img/2/greenpirateskeleton.png diff --git a/assets/img/2/greenwingarcherarmor.png b/public/img/2/greenwingarcherarmor.png similarity index 100% rename from assets/img/2/greenwingarcherarmor.png rename to public/img/2/greenwingarcherarmor.png diff --git a/assets/img/2/greenwingarmor.png b/public/img/2/greenwingarmor.png similarity index 100% rename from assets/img/2/greenwingarmor.png rename to public/img/2/greenwingarmor.png diff --git a/assets/img/2/guard.png b/public/img/2/guard.png similarity index 100% rename from assets/img/2/guard.png rename to public/img/2/guard.png diff --git a/assets/img/2/guardarcherarmor.png b/public/img/2/guardarcherarmor.png similarity index 100% rename from assets/img/2/guardarcherarmor.png rename to public/img/2/guardarcherarmor.png diff --git a/assets/img/2/guardarmor.png b/public/img/2/guardarmor.png similarity index 100% rename from assets/img/2/guardarmor.png rename to public/img/2/guardarmor.png diff --git a/assets/img/2/halberd.png b/public/img/2/halberd.png similarity index 100% rename from assets/img/2/halberd.png rename to public/img/2/halberd.png diff --git a/assets/img/2/halloweenjkarmor.png b/public/img/2/halloweenjkarmor.png similarity index 100% rename from assets/img/2/halloweenjkarmor.png rename to public/img/2/halloweenjkarmor.png diff --git a/assets/img/2/hammer.png b/public/img/2/hammer.png similarity index 100% rename from assets/img/2/hammer.png rename to public/img/2/hammer.png diff --git a/assets/img/2/hand.png b/public/img/2/hand.png similarity index 100% rename from assets/img/2/hand.png rename to public/img/2/hand.png diff --git a/assets/img/2/heal.png b/public/img/2/heal.png similarity index 100% rename from assets/img/2/heal.png rename to public/img/2/heal.png diff --git a/assets/img/2/healactiveicon.png b/public/img/2/healactiveicon.png similarity index 100% rename from assets/img/2/healactiveicon.png rename to public/img/2/healactiveicon.png diff --git a/assets/img/2/healeffect.png b/public/img/2/healeffect.png similarity index 100% rename from assets/img/2/healeffect.png rename to public/img/2/healeffect.png diff --git a/assets/img/2/hellspider.png b/public/img/2/hellspider.png similarity index 100% rename from assets/img/2/hellspider.png rename to public/img/2/hellspider.png diff --git a/assets/img/2/helpbutton.png b/public/img/2/helpbutton.png similarity index 100% rename from assets/img/2/helpbutton.png rename to public/img/2/helpbutton.png diff --git a/assets/img/2/hermitcrab.png b/public/img/2/hermitcrab.png similarity index 100% rename from assets/img/2/hermitcrab.png rename to public/img/2/hermitcrab.png diff --git a/assets/img/2/hobgoblin.png b/public/img/2/hobgoblin.png similarity index 100% rename from assets/img/2/hobgoblin.png rename to public/img/2/hobgoblin.png diff --git a/assets/img/2/hongcheol.png b/public/img/2/hongcheol.png similarity index 100% rename from assets/img/2/hongcheol.png rename to public/img/2/hongcheol.png diff --git a/assets/img/2/hongcheolarmor.png b/public/img/2/hongcheolarmor.png similarity index 100% rename from assets/img/2/hongcheolarmor.png rename to public/img/2/hongcheolarmor.png diff --git a/assets/img/2/hpbar.png b/public/img/2/hpbar.png similarity index 100% rename from assets/img/2/hpbar.png rename to public/img/2/hpbar.png diff --git a/assets/img/2/huniarmor.png b/public/img/2/huniarmor.png similarity index 100% rename from assets/img/2/huniarmor.png rename to public/img/2/huniarmor.png diff --git a/assets/img/2/hunterbow.png b/public/img/2/hunterbow.png similarity index 100% rename from assets/img/2/hunterbow.png rename to public/img/2/hunterbow.png diff --git a/assets/img/2/iamverycoldnpc.png b/public/img/2/iamverycoldnpc.png similarity index 100% rename from assets/img/2/iamverycoldnpc.png rename to public/img/2/iamverycoldnpc.png diff --git a/assets/img/2/iceelfnpc.png b/public/img/2/iceelfnpc.png similarity index 100% rename from assets/img/2/iceelfnpc.png rename to public/img/2/iceelfnpc.png diff --git a/assets/img/2/icegoblin.png b/public/img/2/icegoblin.png similarity index 100% rename from assets/img/2/icegoblin.png rename to public/img/2/icegoblin.png diff --git a/assets/img/2/icegolem.png b/public/img/2/icegolem.png similarity index 100% rename from assets/img/2/icegolem.png rename to public/img/2/icegolem.png diff --git a/assets/img/2/iceknight.png b/public/img/2/iceknight.png similarity index 100% rename from assets/img/2/iceknight.png rename to public/img/2/iceknight.png diff --git a/assets/img/2/icerose.png b/public/img/2/icerose.png similarity index 100% rename from assets/img/2/icerose.png rename to public/img/2/icerose.png diff --git a/assets/img/2/icevulture.png b/public/img/2/icevulture.png similarity index 100% rename from assets/img/2/icevulture.png rename to public/img/2/icevulture.png diff --git a/assets/img/2/infectedguard.png b/public/img/2/infectedguard.png similarity index 100% rename from assets/img/2/infectedguard.png rename to public/img/2/infectedguard.png diff --git a/assets/img/2/inventory.png b/public/img/2/inventory.png similarity index 100% rename from assets/img/2/inventory.png rename to public/img/2/inventory.png diff --git a/assets/img/2/ironbow.png b/public/img/2/ironbow.png similarity index 100% rename from assets/img/2/ironbow.png rename to public/img/2/ironbow.png diff --git a/assets/img/2/ironknightarmor.png b/public/img/2/ironknightarmor.png similarity index 100% rename from assets/img/2/ironknightarmor.png rename to public/img/2/ironknightarmor.png diff --git a/assets/img/2/ironogre.png b/public/img/2/ironogre.png similarity index 100% rename from assets/img/2/ironogre.png rename to public/img/2/ironogre.png diff --git a/assets/img/2/item-adhererarcherarmor.png b/public/img/2/item-adhererarcherarmor.png similarity index 100% rename from assets/img/2/item-adhererarcherarmor.png rename to public/img/2/item-adhererarcherarmor.png diff --git a/assets/img/2/item-adhererrobe.png b/public/img/2/item-adhererrobe.png similarity index 100% rename from assets/img/2/item-adhererrobe.png rename to public/img/2/item-adhererrobe.png diff --git a/assets/img/2/item-adminarmor.png b/public/img/2/item-adminarmor.png similarity index 100% rename from assets/img/2/item-adminarmor.png rename to public/img/2/item-adminarmor.png diff --git a/assets/img/2/item-apple.png b/public/img/2/item-apple.png similarity index 100% rename from assets/img/2/item-apple.png rename to public/img/2/item-apple.png diff --git a/assets/img/2/item-archerarmor.png b/public/img/2/item-archerarmor.png similarity index 100% rename from assets/img/2/item-archerarmor.png rename to public/img/2/item-archerarmor.png diff --git a/assets/img/2/item-archerschooluniform.png b/public/img/2/item-archerschooluniform.png similarity index 100% rename from assets/img/2/item-archerschooluniform.png rename to public/img/2/item-archerschooluniform.png diff --git a/assets/img/2/item-armorbinding.png b/public/img/2/item-armorbinding.png similarity index 100% rename from assets/img/2/item-armorbinding.png rename to public/img/2/item-armorbinding.png diff --git a/assets/img/2/item-armorcommon.png b/public/img/2/item-armorcommon.png similarity index 100% rename from assets/img/2/item-armorcommon.png rename to public/img/2/item-armorcommon.png diff --git a/assets/img/2/item-armorpatches.png b/public/img/2/item-armorpatches.png similarity index 100% rename from assets/img/2/item-armorpatches.png rename to public/img/2/item-armorpatches.png diff --git a/assets/img/2/item-armorrare.png b/public/img/2/item-armorrare.png similarity index 100% rename from assets/img/2/item-armorrare.png rename to public/img/2/item-armorrare.png diff --git a/assets/img/2/item-armoruncommon.png b/public/img/2/item-armoruncommon.png similarity index 100% rename from assets/img/2/item-armoruncommon.png rename to public/img/2/item-armoruncommon.png diff --git a/assets/img/2/item-axe.png b/public/img/2/item-axe.png similarity index 100% rename from assets/img/2/item-axe.png rename to public/img/2/item-axe.png diff --git a/assets/img/2/item-bamboospear.png b/public/img/2/item-bamboospear.png similarity index 100% rename from assets/img/2/item-bamboospear.png rename to public/img/2/item-bamboospear.png diff --git a/assets/img/2/item-banana.png b/public/img/2/item-banana.png similarity index 100% rename from assets/img/2/item-banana.png rename to public/img/2/item-banana.png diff --git a/assets/img/2/item-bastardsword.png b/public/img/2/item-bastardsword.png similarity index 100% rename from assets/img/2/item-bastardsword.png rename to public/img/2/item-bastardsword.png diff --git a/assets/img/2/item-bearseonbiarmor.png b/public/img/2/item-bearseonbiarmor.png similarity index 100% rename from assets/img/2/item-bearseonbiarmor.png rename to public/img/2/item-bearseonbiarmor.png diff --git a/assets/img/2/item-beautifullife.png b/public/img/2/item-beautifullife.png similarity index 100% rename from assets/img/2/item-beautifullife.png rename to public/img/2/item-beautifullife.png diff --git a/assets/img/2/item-beearmor.png b/public/img/2/item-beearmor.png similarity index 100% rename from assets/img/2/item-beearmor.png rename to public/img/2/item-beearmor.png diff --git a/assets/img/2/item-beetlearmor.png b/public/img/2/item-beetlearmor.png similarity index 100% rename from assets/img/2/item-beetlearmor.png rename to public/img/2/item-beetlearmor.png diff --git a/assets/img/2/item-bigflask.png b/public/img/2/item-bigflask.png similarity index 100% rename from assets/img/2/item-bigflask.png rename to public/img/2/item-bigflask.png diff --git a/assets/img/2/item-blackpotion.png b/public/img/2/item-blackpotion.png similarity index 100% rename from assets/img/2/item-blackpotion.png rename to public/img/2/item-blackpotion.png diff --git a/assets/img/2/item-blackspiderarmor.png b/public/img/2/item-blackspiderarmor.png similarity index 100% rename from assets/img/2/item-blackspiderarmor.png rename to public/img/2/item-blackspiderarmor.png diff --git a/assets/img/2/item-bloodbow.png b/public/img/2/item-bloodbow.png similarity index 100% rename from assets/img/2/item-bloodbow.png rename to public/img/2/item-bloodbow.png diff --git a/assets/img/2/item-bluedamboarmor.png b/public/img/2/item-bluedamboarmor.png similarity index 100% rename from assets/img/2/item-bluedamboarmor.png rename to public/img/2/item-bluedamboarmor.png diff --git a/assets/img/2/item-bluepiratearmor.png b/public/img/2/item-bluepiratearmor.png similarity index 100% rename from assets/img/2/item-bluepiratearmor.png rename to public/img/2/item-bluepiratearmor.png diff --git a/assets/img/2/item-bluescimitar.png b/public/img/2/item-bluescimitar.png similarity index 100% rename from assets/img/2/item-bluescimitar.png rename to public/img/2/item-bluescimitar.png diff --git a/assets/img/2/item-bluesword.png b/public/img/2/item-bluesword.png similarity index 100% rename from assets/img/2/item-bluesword.png rename to public/img/2/item-bluesword.png diff --git a/assets/img/2/item-bluewingarcherarmor.png b/public/img/2/item-bluewingarcherarmor.png similarity index 100% rename from assets/img/2/item-bluewingarcherarmor.png rename to public/img/2/item-bluewingarcherarmor.png diff --git a/assets/img/2/item-bluewingarmor.png b/public/img/2/item-bluewingarmor.png similarity index 100% rename from assets/img/2/item-bluewingarmor.png rename to public/img/2/item-bluewingarmor.png diff --git a/assets/img/2/item-book.png b/public/img/2/item-book.png similarity index 100% rename from assets/img/2/item-book.png rename to public/img/2/item-book.png diff --git a/assets/img/2/item-bowcommon.png b/public/img/2/item-bowcommon.png similarity index 100% rename from assets/img/2/item-bowcommon.png rename to public/img/2/item-bowcommon.png diff --git a/assets/img/2/item-bowlimb.png b/public/img/2/item-bowlimb.png similarity index 100% rename from assets/img/2/item-bowlimb.png rename to public/img/2/item-bowlimb.png diff --git a/assets/img/2/item-bowrare.png b/public/img/2/item-bowrare.png similarity index 100% rename from assets/img/2/item-bowrare.png rename to public/img/2/item-bowrare.png diff --git a/assets/img/2/item-bowstring.png b/public/img/2/item-bowstring.png similarity index 100% rename from assets/img/2/item-bowstring.png rename to public/img/2/item-bowstring.png diff --git a/assets/img/2/item-bowuncommon.png b/public/img/2/item-bowuncommon.png similarity index 100% rename from assets/img/2/item-bowuncommon.png rename to public/img/2/item-bowuncommon.png diff --git a/assets/img/2/item-branch.png b/public/img/2/item-branch.png similarity index 100% rename from assets/img/2/item-branch.png rename to public/img/2/item-branch.png diff --git a/assets/img/2/item-breaker.png b/public/img/2/item-breaker.png similarity index 100% rename from assets/img/2/item-breaker.png rename to public/img/2/item-breaker.png diff --git a/assets/img/2/item-bridalmask.png b/public/img/2/item-bridalmask.png similarity index 100% rename from assets/img/2/item-bridalmask.png rename to public/img/2/item-bridalmask.png diff --git a/assets/img/2/item-burger.png b/public/img/2/item-burger.png similarity index 100% rename from assets/img/2/item-burger.png rename to public/img/2/item-burger.png diff --git a/assets/img/2/item-burgerarmor.png b/public/img/2/item-burgerarmor.png similarity index 100% rename from assets/img/2/item-burgerarmor.png rename to public/img/2/item-burgerarmor.png diff --git a/assets/img/2/item-butcherknife.png b/public/img/2/item-butcherknife.png similarity index 100% rename from assets/img/2/item-butcherknife.png rename to public/img/2/item-butcherknife.png diff --git a/assets/img/2/item-cactusaxe.png b/public/img/2/item-cactusaxe.png similarity index 100% rename from assets/img/2/item-cactusaxe.png rename to public/img/2/item-cactusaxe.png diff --git a/assets/img/2/item-cake.png b/public/img/2/item-cake.png similarity index 100% rename from assets/img/2/item-cake.png rename to public/img/2/item-cake.png diff --git a/assets/img/2/item-candybar.png b/public/img/2/item-candybar.png similarity index 100% rename from assets/img/2/item-candybar.png rename to public/img/2/item-candybar.png diff --git a/assets/img/2/item-captainbow.png b/public/img/2/item-captainbow.png similarity index 100% rename from assets/img/2/item-captainbow.png rename to public/img/2/item-captainbow.png diff --git a/assets/img/2/item-catarmor.png b/public/img/2/item-catarmor.png similarity index 100% rename from assets/img/2/item-catarmor.png rename to public/img/2/item-catarmor.png diff --git a/assets/img/2/item-cd.png b/public/img/2/item-cd.png similarity index 100% rename from assets/img/2/item-cd.png rename to public/img/2/item-cd.png diff --git a/assets/img/2/item-cheoliarcherarmor.png b/public/img/2/item-cheoliarcherarmor.png similarity index 100% rename from assets/img/2/item-cheoliarcherarmor.png rename to public/img/2/item-cheoliarcherarmor.png diff --git a/assets/img/2/item-cheoliarmor.png b/public/img/2/item-cheoliarmor.png similarity index 100% rename from assets/img/2/item-cheoliarmor.png rename to public/img/2/item-cheoliarmor.png diff --git a/assets/img/2/item-christmasarmor.png b/public/img/2/item-christmasarmor.png similarity index 100% rename from assets/img/2/item-christmasarmor.png rename to public/img/2/item-christmasarmor.png diff --git a/assets/img/2/item-cloth.png b/public/img/2/item-cloth.png similarity index 100% rename from assets/img/2/item-cloth.png rename to public/img/2/item-cloth.png diff --git a/assets/img/2/item-clotharmor.png b/public/img/2/item-clotharmor.png similarity index 100% rename from assets/img/2/item-clotharmor.png rename to public/img/2/item-clotharmor.png diff --git a/assets/img/2/item-cockroachsuit.png b/public/img/2/item-cockroachsuit.png similarity index 100% rename from assets/img/2/item-cockroachsuit.png rename to public/img/2/item-cockroachsuit.png diff --git a/assets/img/2/item-cokearmor.png b/public/img/2/item-cokearmor.png similarity index 100% rename from assets/img/2/item-cokearmor.png rename to public/img/2/item-cokearmor.png diff --git a/assets/img/2/item-comb.png b/public/img/2/item-comb.png similarity index 100% rename from assets/img/2/item-comb.png rename to public/img/2/item-comb.png diff --git a/assets/img/2/item-combatuniform.png b/public/img/2/item-combatuniform.png similarity index 100% rename from assets/img/2/item-combatuniform.png rename to public/img/2/item-combatuniform.png diff --git a/assets/img/2/item-conferencecall.png b/public/img/2/item-conferencecall.png similarity index 100% rename from assets/img/2/item-conferencecall.png rename to public/img/2/item-conferencecall.png diff --git a/assets/img/2/item-crystalarcherarmor.png b/public/img/2/item-crystalarcherarmor.png similarity index 100% rename from assets/img/2/item-crystalarcherarmor.png rename to public/img/2/item-crystalarcherarmor.png diff --git a/assets/img/2/item-crystalarmor.png b/public/img/2/item-crystalarmor.png similarity index 100% rename from assets/img/2/item-crystalarmor.png rename to public/img/2/item-crystalarmor.png diff --git a/assets/img/2/item-crystalbow.png b/public/img/2/item-crystalbow.png similarity index 100% rename from assets/img/2/item-crystalbow.png rename to public/img/2/item-crystalbow.png diff --git a/assets/img/2/item-damboarmor.png b/public/img/2/item-damboarmor.png similarity index 100% rename from assets/img/2/item-damboarmor.png rename to public/img/2/item-damboarmor.png diff --git a/assets/img/2/item-daywalker.png b/public/img/2/item-daywalker.png similarity index 100% rename from assets/img/2/item-daywalker.png rename to public/img/2/item-daywalker.png diff --git a/assets/img/2/item-deathbow.png b/public/img/2/item-deathbow.png similarity index 100% rename from assets/img/2/item-deathbow.png rename to public/img/2/item-deathbow.png diff --git a/assets/img/2/item-devilkazyaarmor.png b/public/img/2/item-devilkazyaarmor.png similarity index 100% rename from assets/img/2/item-devilkazyaarmor.png rename to public/img/2/item-devilkazyaarmor.png diff --git a/assets/img/2/item-devilkazyasword.png b/public/img/2/item-devilkazyasword.png similarity index 100% rename from assets/img/2/item-devilkazyasword.png rename to public/img/2/item-devilkazyasword.png diff --git a/assets/img/2/item-diamondring.png b/public/img/2/item-diamondring.png similarity index 100% rename from assets/img/2/item-diamondring.png rename to public/img/2/item-diamondring.png diff --git a/assets/img/2/item-dinosaurarmor.png b/public/img/2/item-dinosaurarmor.png similarity index 100% rename from assets/img/2/item-dinosaurarmor.png rename to public/img/2/item-dinosaurarmor.png diff --git a/assets/img/2/item-dolring.png b/public/img/2/item-dolring.png similarity index 100% rename from assets/img/2/item-dolring.png rename to public/img/2/item-dolring.png diff --git a/assets/img/2/item-dovakinarcherarmor.png b/public/img/2/item-dovakinarcherarmor.png similarity index 100% rename from assets/img/2/item-dovakinarcherarmor.png rename to public/img/2/item-dovakinarcherarmor.png diff --git a/assets/img/2/item-dovakinarmor.png b/public/img/2/item-dovakinarmor.png similarity index 100% rename from assets/img/2/item-dovakinarmor.png rename to public/img/2/item-dovakinarmor.png diff --git a/assets/img/2/item-dragonarmor.png b/public/img/2/item-dragonarmor.png similarity index 100% rename from assets/img/2/item-dragonarmor.png rename to public/img/2/item-dragonarmor.png diff --git a/assets/img/2/item-element.png b/public/img/2/item-element.png similarity index 100% rename from assets/img/2/item-element.png rename to public/img/2/item-element.png diff --git a/assets/img/2/item-emeraldring.png b/public/img/2/item-emeraldring.png similarity index 100% rename from assets/img/2/item-emeraldring.png rename to public/img/2/item-emeraldring.png diff --git a/assets/img/2/item-enelarmor.png b/public/img/2/item-enelarmor.png similarity index 100% rename from assets/img/2/item-enelarmor.png rename to public/img/2/item-enelarmor.png diff --git a/assets/img/2/item-eneltrident.png b/public/img/2/item-eneltrident.png similarity index 100% rename from assets/img/2/item-eneltrident.png rename to public/img/2/item-eneltrident.png diff --git a/assets/img/2/item-essentialrage.png b/public/img/2/item-essentialrage.png similarity index 100% rename from assets/img/2/item-essentialrage.png rename to public/img/2/item-essentialrage.png diff --git a/assets/img/2/item-evilarmor.png b/public/img/2/item-evilarmor.png similarity index 100% rename from assets/img/2/item-evilarmor.png rename to public/img/2/item-evilarmor.png diff --git a/assets/img/2/item-fallenarcherarmor.png b/public/img/2/item-fallenarcherarmor.png similarity index 100% rename from assets/img/2/item-fallenarcherarmor.png rename to public/img/2/item-fallenarcherarmor.png diff --git a/assets/img/2/item-fallenarmor.png b/public/img/2/item-fallenarmor.png similarity index 100% rename from assets/img/2/item-fallenarmor.png rename to public/img/2/item-fallenarmor.png diff --git a/assets/img/2/item-fireplay.png b/public/img/2/item-fireplay.png similarity index 100% rename from assets/img/2/item-fireplay.png rename to public/img/2/item-fireplay.png diff --git a/assets/img/2/item-firepotion.png b/public/img/2/item-firepotion.png similarity index 100% rename from assets/img/2/item-firepotion.png rename to public/img/2/item-firepotion.png diff --git a/assets/img/2/item-fireshot.png b/public/img/2/item-fireshot.png similarity index 100% rename from assets/img/2/item-fireshot.png rename to public/img/2/item-fireshot.png diff --git a/assets/img/2/item-firesword.png b/public/img/2/item-firesword.png similarity index 100% rename from assets/img/2/item-firesword.png rename to public/img/2/item-firesword.png diff --git a/assets/img/2/item-flask.png b/public/img/2/item-flask.png similarity index 100% rename from assets/img/2/item-flask.png rename to public/img/2/item-flask.png diff --git a/assets/img/2/item-forestbow.png b/public/img/2/item-forestbow.png similarity index 100% rename from assets/img/2/item-forestbow.png rename to public/img/2/item-forestbow.png diff --git a/assets/img/2/item-forestguardiansword.png b/public/img/2/item-forestguardiansword.png similarity index 100% rename from assets/img/2/item-forestguardiansword.png rename to public/img/2/item-forestguardiansword.png diff --git a/assets/img/2/item-frankensteinarmor.png b/public/img/2/item-frankensteinarmor.png similarity index 100% rename from assets/img/2/item-frankensteinarmor.png rename to public/img/2/item-frankensteinarmor.png diff --git a/assets/img/2/item-friedpotatoarmor.png b/public/img/2/item-friedpotatoarmor.png similarity index 100% rename from assets/img/2/item-friedpotatoarmor.png rename to public/img/2/item-friedpotatoarmor.png diff --git a/assets/img/2/item-frogarmor.png b/public/img/2/item-frogarmor.png similarity index 100% rename from assets/img/2/item-frogarmor.png rename to public/img/2/item-frogarmor.png diff --git a/assets/img/2/item-frostarmor.png b/public/img/2/item-frostarmor.png similarity index 100% rename from assets/img/2/item-frostarmor.png rename to public/img/2/item-frostarmor.png diff --git a/assets/img/2/item-gayarcherarmor.png b/public/img/2/item-gayarcherarmor.png similarity index 100% rename from assets/img/2/item-gayarcherarmor.png rename to public/img/2/item-gayarcherarmor.png diff --git a/assets/img/2/item-gayarmor.png b/public/img/2/item-gayarmor.png similarity index 100% rename from assets/img/2/item-gayarmor.png rename to public/img/2/item-gayarmor.png diff --git a/assets/img/2/item-gaybow.png b/public/img/2/item-gaybow.png similarity index 100% rename from assets/img/2/item-gaybow.png rename to public/img/2/item-gaybow.png diff --git a/assets/img/2/item-gbwingarcherarmor.png b/public/img/2/item-gbwingarcherarmor.png similarity index 100% rename from assets/img/2/item-gbwingarcherarmor.png rename to public/img/2/item-gbwingarcherarmor.png diff --git a/assets/img/2/item-gbwingarmor.png b/public/img/2/item-gbwingarmor.png similarity index 100% rename from assets/img/2/item-gbwingarmor.png rename to public/img/2/item-gbwingarmor.png diff --git a/assets/img/2/item-ghostrider.png b/public/img/2/item-ghostrider.png similarity index 100% rename from assets/img/2/item-ghostrider.png rename to public/img/2/item-ghostrider.png diff --git a/assets/img/2/item-gold.png b/public/img/2/item-gold.png similarity index 100% rename from assets/img/2/item-gold.png rename to public/img/2/item-gold.png diff --git a/assets/img/2/item-goldaxe.png b/public/img/2/item-goldaxe.png similarity index 100% rename from assets/img/2/item-goldaxe.png rename to public/img/2/item-goldaxe.png diff --git a/assets/img/2/item-goldenarcherarmor.png b/public/img/2/item-goldenarcherarmor.png similarity index 100% rename from assets/img/2/item-goldenarcherarmor.png rename to public/img/2/item-goldenarcherarmor.png diff --git a/assets/img/2/item-goldenarmor.png b/public/img/2/item-goldenarmor.png similarity index 100% rename from assets/img/2/item-goldenarmor.png rename to public/img/2/item-goldenarmor.png diff --git a/assets/img/2/item-goldenbow.png b/public/img/2/item-goldenbow.png similarity index 100% rename from assets/img/2/item-goldenbow.png rename to public/img/2/item-goldenbow.png diff --git a/assets/img/2/item-goldensword.png b/public/img/2/item-goldensword.png similarity index 100% rename from assets/img/2/item-goldensword.png rename to public/img/2/item-goldensword.png diff --git a/assets/img/2/item-goldring.png b/public/img/2/item-goldring.png similarity index 100% rename from assets/img/2/item-goldring.png rename to public/img/2/item-goldring.png diff --git a/assets/img/2/item-greenarcherarmor.png b/public/img/2/item-greenarcherarmor.png similarity index 100% rename from assets/img/2/item-greenarcherarmor.png rename to public/img/2/item-greenarcherarmor.png diff --git a/assets/img/2/item-greenarmor.png b/public/img/2/item-greenarmor.png similarity index 100% rename from assets/img/2/item-greenarmor.png rename to public/img/2/item-greenarmor.png diff --git a/assets/img/2/item-greenbow.png b/public/img/2/item-greenbow.png similarity index 100% rename from assets/img/2/item-greenbow.png rename to public/img/2/item-greenbow.png diff --git a/assets/img/2/item-greendamboarmor.png b/public/img/2/item-greendamboarmor.png similarity index 100% rename from assets/img/2/item-greendamboarmor.png rename to public/img/2/item-greendamboarmor.png diff --git a/assets/img/2/item-greenlightbow.png b/public/img/2/item-greenlightbow.png similarity index 100% rename from assets/img/2/item-greenlightbow.png rename to public/img/2/item-greenlightbow.png diff --git a/assets/img/2/item-greenlightsaber.png b/public/img/2/item-greenlightsaber.png similarity index 100% rename from assets/img/2/item-greenlightsaber.png rename to public/img/2/item-greenlightsaber.png diff --git a/assets/img/2/item-greenpendant.png b/public/img/2/item-greenpendant.png similarity index 100% rename from assets/img/2/item-greenpendant.png rename to public/img/2/item-greenpendant.png diff --git a/assets/img/2/item-greenwingarcherarmor.png b/public/img/2/item-greenwingarcherarmor.png similarity index 100% rename from assets/img/2/item-greenwingarcherarmor.png rename to public/img/2/item-greenwingarcherarmor.png diff --git a/assets/img/2/item-greenwingarmor.png b/public/img/2/item-greenwingarmor.png similarity index 100% rename from assets/img/2/item-greenwingarmor.png rename to public/img/2/item-greenwingarmor.png diff --git a/assets/img/2/item-guardarcherarmor.png b/public/img/2/item-guardarcherarmor.png similarity index 100% rename from assets/img/2/item-guardarcherarmor.png rename to public/img/2/item-guardarcherarmor.png diff --git a/assets/img/2/item-guardarmor.png b/public/img/2/item-guardarmor.png similarity index 100% rename from assets/img/2/item-guardarmor.png rename to public/img/2/item-guardarmor.png diff --git a/assets/img/2/item-halberd.png b/public/img/2/item-halberd.png similarity index 100% rename from assets/img/2/item-halberd.png rename to public/img/2/item-halberd.png diff --git a/assets/img/2/item-halloweenjkarmor.png b/public/img/2/item-halloweenjkarmor.png similarity index 100% rename from assets/img/2/item-halloweenjkarmor.png rename to public/img/2/item-halloweenjkarmor.png diff --git a/assets/img/2/item-hammer.png b/public/img/2/item-hammer.png similarity index 100% rename from assets/img/2/item-hammer.png rename to public/img/2/item-hammer.png diff --git a/assets/img/2/item-hongcheolarmor.png b/public/img/2/item-hongcheolarmor.png similarity index 100% rename from assets/img/2/item-hongcheolarmor.png rename to public/img/2/item-hongcheolarmor.png diff --git a/assets/img/2/item-huniarmor.png b/public/img/2/item-huniarmor.png similarity index 100% rename from assets/img/2/item-huniarmor.png rename to public/img/2/item-huniarmor.png diff --git a/assets/img/2/item-hunterbow.png b/public/img/2/item-hunterbow.png similarity index 100% rename from assets/img/2/item-hunterbow.png rename to public/img/2/item-hunterbow.png diff --git a/assets/img/2/item-icerose.png b/public/img/2/item-icerose.png similarity index 100% rename from assets/img/2/item-icerose.png rename to public/img/2/item-icerose.png diff --git a/assets/img/2/item-ironbow.png b/public/img/2/item-ironbow.png similarity index 100% rename from assets/img/2/item-ironbow.png rename to public/img/2/item-ironbow.png diff --git a/assets/img/2/item-ironknightarmor.png b/public/img/2/item-ironknightarmor.png similarity index 100% rename from assets/img/2/item-ironknightarmor.png rename to public/img/2/item-ironknightarmor.png diff --git a/assets/img/2/item-justicebow.png b/public/img/2/item-justicebow.png similarity index 100% rename from assets/img/2/item-justicebow.png rename to public/img/2/item-justicebow.png diff --git a/assets/img/2/item-justicehammer.png b/public/img/2/item-justicehammer.png similarity index 100% rename from assets/img/2/item-justicehammer.png rename to public/img/2/item-justicehammer.png diff --git a/assets/img/2/item-leaf.png b/public/img/2/item-leaf.png similarity index 100% rename from assets/img/2/item-leaf.png rename to public/img/2/item-leaf.png diff --git a/assets/img/2/item-leatherarcherarmor.png b/public/img/2/item-leatherarcherarmor.png similarity index 100% rename from assets/img/2/item-leatherarcherarmor.png rename to public/img/2/item-leatherarcherarmor.png diff --git a/assets/img/2/item-leatherarmor.png b/public/img/2/item-leatherarmor.png similarity index 100% rename from assets/img/2/item-leatherarmor.png rename to public/img/2/item-leatherarmor.png diff --git a/assets/img/2/item-legolasarmor.png b/public/img/2/item-legolasarmor.png similarity index 100% rename from assets/img/2/item-legolasarmor.png rename to public/img/2/item-legolasarmor.png diff --git a/assets/img/2/item-loveactring.png b/public/img/2/item-loveactring.png similarity index 100% rename from assets/img/2/item-loveactring.png rename to public/img/2/item-loveactring.png diff --git a/assets/img/2/item-machete.png b/public/img/2/item-machete.png similarity index 100% rename from assets/img/2/item-machete.png rename to public/img/2/item-machete.png diff --git a/assets/img/2/item-magicspear.png b/public/img/2/item-magicspear.png similarity index 100% rename from assets/img/2/item-magicspear.png rename to public/img/2/item-magicspear.png diff --git a/assets/img/2/item-mailarcherarmor.png b/public/img/2/item-mailarcherarmor.png similarity index 100% rename from assets/img/2/item-mailarcherarmor.png rename to public/img/2/item-mailarcherarmor.png diff --git a/assets/img/2/item-mailarmor.png b/public/img/2/item-mailarmor.png similarity index 100% rename from assets/img/2/item-mailarmor.png rename to public/img/2/item-mailarmor.png diff --git a/assets/img/2/item-manaflask.png b/public/img/2/item-manaflask.png similarity index 100% rename from assets/img/2/item-manaflask.png rename to public/img/2/item-manaflask.png diff --git a/assets/img/2/item-marblependant.png b/public/img/2/item-marblependant.png similarity index 100% rename from assets/img/2/item-marblependant.png rename to public/img/2/item-marblependant.png diff --git a/assets/img/2/item-marinebow.png b/public/img/2/item-marinebow.png similarity index 100% rename from assets/img/2/item-marinebow.png rename to public/img/2/item-marinebow.png diff --git a/assets/img/2/item-memme.png b/public/img/2/item-memme.png similarity index 100% rename from assets/img/2/item-memme.png rename to public/img/2/item-memme.png diff --git a/assets/img/2/item-mermaidbow.png b/public/img/2/item-mermaidbow.png similarity index 100% rename from assets/img/2/item-mermaidbow.png rename to public/img/2/item-mermaidbow.png diff --git a/assets/img/2/item-mineral.png b/public/img/2/item-mineral.png similarity index 100% rename from assets/img/2/item-mineral.png rename to public/img/2/item-mineral.png diff --git a/assets/img/2/item-miniseadragonarmor.png b/public/img/2/item-miniseadragonarmor.png similarity index 100% rename from assets/img/2/item-miniseadragonarmor.png rename to public/img/2/item-miniseadragonarmor.png diff --git a/assets/img/2/item-morningstar.png b/public/img/2/item-morningstar.png similarity index 100% rename from assets/img/2/item-morningstar.png rename to public/img/2/item-morningstar.png diff --git a/assets/img/2/item-mountforestdragon.png b/public/img/2/item-mountforestdragon.png similarity index 100% rename from assets/img/2/item-mountforestdragon.png rename to public/img/2/item-mountforestdragon.png diff --git a/assets/img/2/item-mountseadragon.png b/public/img/2/item-mountseadragon.png similarity index 100% rename from assets/img/2/item-mountseadragon.png rename to public/img/2/item-mountseadragon.png diff --git a/assets/img/2/item-mountwhitetiger.png b/public/img/2/item-mountwhitetiger.png similarity index 100% rename from assets/img/2/item-mountwhitetiger.png rename to public/img/2/item-mountwhitetiger.png diff --git a/assets/img/2/item-ninjaarmor.png b/public/img/2/item-ninjaarmor.png similarity index 100% rename from assets/img/2/item-ninjaarmor.png rename to public/img/2/item-ninjaarmor.png diff --git a/assets/img/2/item-orange.png b/public/img/2/item-orange.png similarity index 100% rename from assets/img/2/item-orange.png rename to public/img/2/item-orange.png diff --git a/assets/img/2/item-paewoldo.png b/public/img/2/item-paewoldo.png similarity index 100% rename from assets/img/2/item-paewoldo.png rename to public/img/2/item-paewoldo.png diff --git a/assets/img/2/item-paladinarmor.png b/public/img/2/item-paladinarmor.png similarity index 100% rename from assets/img/2/item-paladinarmor.png rename to public/img/2/item-paladinarmor.png diff --git a/assets/img/2/item-pearlpendant.png b/public/img/2/item-pearlpendant.png similarity index 100% rename from assets/img/2/item-pearlpendant.png rename to public/img/2/item-pearlpendant.png diff --git a/assets/img/2/item-pearlring.png b/public/img/2/item-pearlring.png similarity index 100% rename from assets/img/2/item-pearlring.png rename to public/img/2/item-pearlring.png diff --git a/assets/img/2/item-pendant1.png b/public/img/2/item-pendant1.png similarity index 100% rename from assets/img/2/item-pendant1.png rename to public/img/2/item-pendant1.png diff --git a/assets/img/2/item-pickle.png b/public/img/2/item-pickle.png similarity index 100% rename from assets/img/2/item-pickle.png rename to public/img/2/item-pickle.png diff --git a/assets/img/2/item-pinkcockroacharmor.png b/public/img/2/item-pinkcockroacharmor.png similarity index 100% rename from assets/img/2/item-pinkcockroacharmor.png rename to public/img/2/item-pinkcockroacharmor.png diff --git a/assets/img/2/item-pinksword.png b/public/img/2/item-pinksword.png similarity index 100% rename from assets/img/2/item-pinksword.png rename to public/img/2/item-pinksword.png diff --git a/assets/img/2/item-piratearcherarmor.png b/public/img/2/item-piratearcherarmor.png similarity index 100% rename from assets/img/2/item-piratearcherarmor.png rename to public/img/2/item-piratearcherarmor.png diff --git a/assets/img/2/item-pirateking.png b/public/img/2/item-pirateking.png similarity index 100% rename from assets/img/2/item-pirateking.png rename to public/img/2/item-pirateking.png diff --git a/assets/img/2/item-plasticbow.png b/public/img/2/item-plasticbow.png similarity index 100% rename from assets/img/2/item-plasticbow.png rename to public/img/2/item-plasticbow.png diff --git a/assets/img/2/item-platearcherarmor.png b/public/img/2/item-platearcherarmor.png similarity index 100% rename from assets/img/2/item-platearcherarmor.png rename to public/img/2/item-platearcherarmor.png diff --git a/assets/img/2/item-platearmor.png b/public/img/2/item-platearmor.png similarity index 100% rename from assets/img/2/item-platearmor.png rename to public/img/2/item-platearmor.png diff --git a/assets/img/2/item-plunger.png b/public/img/2/item-plunger.png similarity index 100% rename from assets/img/2/item-plunger.png rename to public/img/2/item-plunger.png diff --git a/assets/img/2/item-portalarmor.png b/public/img/2/item-portalarmor.png similarity index 100% rename from assets/img/2/item-portalarmor.png rename to public/img/2/item-portalarmor.png diff --git a/assets/img/2/item-powerarmour.png b/public/img/2/item-powerarmour.png similarity index 100% rename from assets/img/2/item-powerarmour.png rename to public/img/2/item-powerarmour.png diff --git a/assets/img/2/item-powersword.png b/public/img/2/item-powersword.png similarity index 100% rename from assets/img/2/item-powersword.png rename to public/img/2/item-powersword.png diff --git a/assets/img/2/item-purplecloudkallege.png b/public/img/2/item-purplecloudkallege.png similarity index 100% rename from assets/img/2/item-purplecloudkallege.png rename to public/img/2/item-purplecloudkallege.png diff --git a/assets/img/2/item-rabbitarmor.png b/public/img/2/item-rabbitarmor.png similarity index 100% rename from assets/img/2/item-rabbitarmor.png rename to public/img/2/item-rabbitarmor.png diff --git a/assets/img/2/item-radisharmor.png b/public/img/2/item-radisharmor.png similarity index 100% rename from assets/img/2/item-radisharmor.png rename to public/img/2/item-radisharmor.png diff --git a/assets/img/2/item-rainbowapro.png b/public/img/2/item-rainbowapro.png similarity index 100% rename from assets/img/2/item-rainbowapro.png rename to public/img/2/item-rainbowapro.png diff --git a/assets/img/2/item-rainbowsword.png b/public/img/2/item-rainbowsword.png similarity index 100% rename from assets/img/2/item-rainbowsword.png rename to public/img/2/item-rainbowsword.png diff --git a/assets/img/2/item-ratarcherarmor.png b/public/img/2/item-ratarcherarmor.png similarity index 100% rename from assets/img/2/item-ratarcherarmor.png rename to public/img/2/item-ratarcherarmor.png diff --git a/assets/img/2/item-ratarmor.png b/public/img/2/item-ratarmor.png similarity index 100% rename from assets/img/2/item-ratarmor.png rename to public/img/2/item-ratarmor.png diff --git a/assets/img/2/item-redarcherarmor.png b/public/img/2/item-redarcherarmor.png similarity index 100% rename from assets/img/2/item-redarcherarmor.png rename to public/img/2/item-redarcherarmor.png diff --git a/assets/img/2/item-redarmor.png b/public/img/2/item-redarmor.png similarity index 100% rename from assets/img/2/item-redarmor.png rename to public/img/2/item-redarmor.png diff --git a/assets/img/2/item-redbow.png b/public/img/2/item-redbow.png similarity index 100% rename from assets/img/2/item-redbow.png rename to public/img/2/item-redbow.png diff --git a/assets/img/2/item-reddamboarmor.png b/public/img/2/item-reddamboarmor.png similarity index 100% rename from assets/img/2/item-reddamboarmor.png rename to public/img/2/item-reddamboarmor.png diff --git a/assets/img/2/item-redenelbow.png b/public/img/2/item-redenelbow.png similarity index 100% rename from assets/img/2/item-redenelbow.png rename to public/img/2/item-redenelbow.png diff --git a/assets/img/2/item-redguardarcherarmor.png b/public/img/2/item-redguardarcherarmor.png similarity index 100% rename from assets/img/2/item-redguardarcherarmor.png rename to public/img/2/item-redguardarcherarmor.png diff --git a/assets/img/2/item-redguardarmor.png b/public/img/2/item-redguardarmor.png similarity index 100% rename from assets/img/2/item-redguardarmor.png rename to public/img/2/item-redguardarmor.png diff --git a/assets/img/2/item-redlightbow.png b/public/img/2/item-redlightbow.png similarity index 100% rename from assets/img/2/item-redlightbow.png rename to public/img/2/item-redlightbow.png diff --git a/assets/img/2/item-redlightsaber.png b/public/img/2/item-redlightsaber.png similarity index 100% rename from assets/img/2/item-redlightsaber.png rename to public/img/2/item-redlightsaber.png diff --git a/assets/img/2/item-redmetalbow.png b/public/img/2/item-redmetalbow.png similarity index 100% rename from assets/img/2/item-redmetalbow.png rename to public/img/2/item-redmetalbow.png diff --git a/assets/img/2/item-redmetalsword.png b/public/img/2/item-redmetalsword.png similarity index 100% rename from assets/img/2/item-redmetalsword.png rename to public/img/2/item-redmetalsword.png diff --git a/assets/img/2/item-redsickle.png b/public/img/2/item-redsickle.png similarity index 100% rename from assets/img/2/item-redsickle.png rename to public/img/2/item-redsickle.png diff --git a/assets/img/2/item-redsicklebow.png b/public/img/2/item-redsicklebow.png similarity index 100% rename from assets/img/2/item-redsicklebow.png rename to public/img/2/item-redsicklebow.png diff --git a/assets/img/2/item-redsword.png b/public/img/2/item-redsword.png similarity index 100% rename from assets/img/2/item-redsword.png rename to public/img/2/item-redsword.png diff --git a/assets/img/2/item-redwingarcherarmor.png b/public/img/2/item-redwingarcherarmor.png similarity index 100% rename from assets/img/2/item-redwingarcherarmor.png rename to public/img/2/item-redwingarcherarmor.png diff --git a/assets/img/2/item-redwingarmor.png b/public/img/2/item-redwingarmor.png similarity index 100% rename from assets/img/2/item-redwingarmor.png rename to public/img/2/item-redwingarmor.png diff --git a/assets/img/2/item-regionarmor.png b/public/img/2/item-regionarmor.png similarity index 100% rename from assets/img/2/item-regionarmor.png rename to public/img/2/item-regionarmor.png diff --git a/assets/img/2/item-ring1.png b/public/img/2/item-ring1.png similarity index 100% rename from assets/img/2/item-ring1.png rename to public/img/2/item-ring1.png diff --git a/assets/img/2/item-robocoparmor.png b/public/img/2/item-robocoparmor.png similarity index 100% rename from assets/img/2/item-robocoparmor.png rename to public/img/2/item-robocoparmor.png diff --git a/assets/img/2/item-rock.png b/public/img/2/item-rock.png similarity index 100% rename from assets/img/2/item-rock.png rename to public/img/2/item-rock.png diff --git a/assets/img/2/item-rose.png b/public/img/2/item-rose.png similarity index 100% rename from assets/img/2/item-rose.png rename to public/img/2/item-rose.png diff --git a/assets/img/2/item-rosebow.png b/public/img/2/item-rosebow.png similarity index 100% rename from assets/img/2/item-rosebow.png rename to public/img/2/item-rosebow.png diff --git a/assets/img/2/item-royalazalea.png b/public/img/2/item-royalazalea.png similarity index 100% rename from assets/img/2/item-royalazalea.png rename to public/img/2/item-royalazalea.png diff --git a/assets/img/2/item-rubyring.png b/public/img/2/item-rubyring.png similarity index 100% rename from assets/img/2/item-rubyring.png rename to public/img/2/item-rubyring.png diff --git a/assets/img/2/item-rudolfarmor.png b/public/img/2/item-rudolfarmor.png similarity index 100% rename from assets/img/2/item-rudolfarmor.png rename to public/img/2/item-rudolfarmor.png diff --git a/assets/img/2/item-sapphirering.png b/public/img/2/item-sapphirering.png similarity index 100% rename from assets/img/2/item-sapphirering.png rename to public/img/2/item-sapphirering.png diff --git a/assets/img/2/item-schooluniform.png b/public/img/2/item-schooluniform.png similarity index 100% rename from assets/img/2/item-schooluniform.png rename to public/img/2/item-schooluniform.png diff --git a/assets/img/2/item-scimitar.png b/public/img/2/item-scimitar.png similarity index 100% rename from assets/img/2/item-scimitar.png rename to public/img/2/item-scimitar.png diff --git a/assets/img/2/item-seadragonarmor.png b/public/img/2/item-seadragonarmor.png similarity index 100% rename from assets/img/2/item-seadragonarmor.png rename to public/img/2/item-seadragonarmor.png diff --git a/assets/img/2/item-seahorsebow.png b/public/img/2/item-seahorsebow.png similarity index 100% rename from assets/img/2/item-seahorsebow.png rename to public/img/2/item-seahorsebow.png diff --git a/assets/img/2/item-searage.png b/public/img/2/item-searage.png similarity index 100% rename from assets/img/2/item-searage.png rename to public/img/2/item-searage.png diff --git a/assets/img/2/item-seed.png b/public/img/2/item-seed.png similarity index 100% rename from assets/img/2/item-seed.png rename to public/img/2/item-seed.png diff --git a/assets/img/2/item-shadowregionarmor.png b/public/img/2/item-shadowregionarmor.png similarity index 100% rename from assets/img/2/item-shadowregionarmor.png rename to public/img/2/item-shadowregionarmor.png diff --git a/assets/img/2/item-shardt1.png b/public/img/2/item-shardt1.png similarity index 100% rename from assets/img/2/item-shardt1.png rename to public/img/2/item-shardt1.png diff --git a/assets/img/2/item-shardt2.png b/public/img/2/item-shardt2.png similarity index 100% rename from assets/img/2/item-shardt2.png rename to public/img/2/item-shardt2.png diff --git a/assets/img/2/item-shardt3.png b/public/img/2/item-shardt3.png similarity index 100% rename from assets/img/2/item-shardt3.png rename to public/img/2/item-shardt3.png diff --git a/assets/img/2/item-shardt4.png b/public/img/2/item-shardt4.png similarity index 100% rename from assets/img/2/item-shardt4.png rename to public/img/2/item-shardt4.png diff --git a/assets/img/2/item-shardt5.png b/public/img/2/item-shardt5.png similarity index 100% rename from assets/img/2/item-shardt5.png rename to public/img/2/item-shardt5.png diff --git a/assets/img/2/item-sickle.png b/public/img/2/item-sickle.png similarity index 100% rename from assets/img/2/item-sickle.png rename to public/img/2/item-sickle.png diff --git a/assets/img/2/item-sicklebow.png b/public/img/2/item-sicklebow.png similarity index 100% rename from assets/img/2/item-sicklebow.png rename to public/img/2/item-sicklebow.png diff --git a/assets/img/2/item-sidesword.png b/public/img/2/item-sidesword.png similarity index 100% rename from assets/img/2/item-sidesword.png rename to public/img/2/item-sidesword.png diff --git a/assets/img/2/item-skylightbow.png b/public/img/2/item-skylightbow.png similarity index 100% rename from assets/img/2/item-skylightbow.png rename to public/img/2/item-skylightbow.png diff --git a/assets/img/2/item-skylightsaber.png b/public/img/2/item-skylightsaber.png similarity index 100% rename from assets/img/2/item-skylightsaber.png rename to public/img/2/item-skylightsaber.png diff --git a/assets/img/2/item-snowfoxarcherarmor.png b/public/img/2/item-snowfoxarcherarmor.png similarity index 100% rename from assets/img/2/item-snowfoxarcherarmor.png rename to public/img/2/item-snowfoxarcherarmor.png diff --git a/assets/img/2/item-snowfoxarmor.png b/public/img/2/item-snowfoxarmor.png similarity index 100% rename from assets/img/2/item-snowfoxarmor.png rename to public/img/2/item-snowfoxarmor.png diff --git a/assets/img/2/item-snowmanarmor.png b/public/img/2/item-snowmanarmor.png similarity index 100% rename from assets/img/2/item-snowmanarmor.png rename to public/img/2/item-snowmanarmor.png diff --git a/assets/img/2/item-snowpotion.png b/public/img/2/item-snowpotion.png similarity index 100% rename from assets/img/2/item-snowpotion.png rename to public/img/2/item-snowpotion.png diff --git a/assets/img/2/item-spear.png b/public/img/2/item-spear.png similarity index 100% rename from assets/img/2/item-spear.png rename to public/img/2/item-spear.png diff --git a/assets/img/2/item-spiritring.png b/public/img/2/item-spiritring.png similarity index 100% rename from assets/img/2/item-spiritring.png rename to public/img/2/item-spiritring.png diff --git a/assets/img/2/item-sproutring.png b/public/img/2/item-sproutring.png similarity index 100% rename from assets/img/2/item-sproutring.png rename to public/img/2/item-sproutring.png diff --git a/assets/img/2/item-squeakyhammer.png b/public/img/2/item-squeakyhammer.png similarity index 100% rename from assets/img/2/item-squeakyhammer.png rename to public/img/2/item-squeakyhammer.png diff --git a/assets/img/2/item-squidarmor.png b/public/img/2/item-squidarmor.png similarity index 100% rename from assets/img/2/item-squidarmor.png rename to public/img/2/item-squidarmor.png diff --git a/assets/img/2/item-sword1.png b/public/img/2/item-sword1.png similarity index 100% rename from assets/img/2/item-sword1.png rename to public/img/2/item-sword1.png diff --git a/assets/img/2/item-sword2.png b/public/img/2/item-sword2.png similarity index 100% rename from assets/img/2/item-sword2.png rename to public/img/2/item-sword2.png diff --git a/assets/img/2/item-taekwondo.png b/public/img/2/item-taekwondo.png similarity index 100% rename from assets/img/2/item-taekwondo.png rename to public/img/2/item-taekwondo.png diff --git a/assets/img/2/item-tamagotchiring.png b/public/img/2/item-tamagotchiring.png similarity index 100% rename from assets/img/2/item-tamagotchiring.png rename to public/img/2/item-tamagotchiring.png diff --git a/assets/img/2/item-thiefarmor.png b/public/img/2/item-thiefarmor.png similarity index 100% rename from assets/img/2/item-thiefarmor.png rename to public/img/2/item-thiefarmor.png diff --git a/assets/img/2/item-tigerarmor.png b/public/img/2/item-tigerarmor.png similarity index 100% rename from assets/img/2/item-tigerarmor.png rename to public/img/2/item-tigerarmor.png diff --git a/assets/img/2/item-topazring.png b/public/img/2/item-topazring.png similarity index 100% rename from assets/img/2/item-topazring.png rename to public/img/2/item-topazring.png diff --git a/assets/img/2/item-trident.png b/public/img/2/item-trident.png similarity index 100% rename from assets/img/2/item-trident.png rename to public/img/2/item-trident.png diff --git a/assets/img/2/item-typhoon.png b/public/img/2/item-typhoon.png similarity index 100% rename from assets/img/2/item-typhoon.png rename to public/img/2/item-typhoon.png diff --git a/assets/img/2/item-violetbow.png b/public/img/2/item-violetbow.png similarity index 100% rename from assets/img/2/item-violetbow.png rename to public/img/2/item-violetbow.png diff --git a/assets/img/2/item-watermelon.png b/public/img/2/item-watermelon.png similarity index 100% rename from assets/img/2/item-watermelon.png rename to public/img/2/item-watermelon.png diff --git a/assets/img/2/item-watermelonbow.png b/public/img/2/item-watermelonbow.png similarity index 100% rename from assets/img/2/item-watermelonbow.png rename to public/img/2/item-watermelonbow.png diff --git a/assets/img/2/item-weaponblade.png b/public/img/2/item-weaponblade.png similarity index 100% rename from assets/img/2/item-weaponblade.png rename to public/img/2/item-weaponblade.png diff --git a/assets/img/2/item-weaponcommon.png b/public/img/2/item-weaponcommon.png similarity index 100% rename from assets/img/2/item-weaponcommon.png rename to public/img/2/item-weaponcommon.png diff --git a/assets/img/2/item-weaponhilt.png b/public/img/2/item-weaponhilt.png similarity index 100% rename from assets/img/2/item-weaponhilt.png rename to public/img/2/item-weaponhilt.png diff --git a/assets/img/2/item-weaponrare.png b/public/img/2/item-weaponrare.png similarity index 100% rename from assets/img/2/item-weaponrare.png rename to public/img/2/item-weaponrare.png diff --git a/assets/img/2/item-weaponuncommon.png b/public/img/2/item-weaponuncommon.png similarity index 100% rename from assets/img/2/item-weaponuncommon.png rename to public/img/2/item-weaponuncommon.png diff --git a/assets/img/2/item-weastaff.png b/public/img/2/item-weastaff.png similarity index 100% rename from assets/img/2/item-weastaff.png rename to public/img/2/item-weastaff.png diff --git a/assets/img/2/item-whip.png b/public/img/2/item-whip.png similarity index 100% rename from assets/img/2/item-whip.png rename to public/img/2/item-whip.png diff --git a/assets/img/2/item-whitearcherarmor.png b/public/img/2/item-whitearcherarmor.png similarity index 100% rename from assets/img/2/item-whitearcherarmor.png rename to public/img/2/item-whitearcherarmor.png diff --git a/assets/img/2/item-whitearmor.png b/public/img/2/item-whitearmor.png similarity index 100% rename from assets/img/2/item-whitearmor.png rename to public/img/2/item-whitearmor.png diff --git a/assets/img/2/item-wizardrobe.png b/public/img/2/item-wizardrobe.png similarity index 100% rename from assets/img/2/item-wizardrobe.png rename to public/img/2/item-wizardrobe.png diff --git a/assets/img/2/item-wolfarcherarmor.png b/public/img/2/item-wolfarcherarmor.png similarity index 100% rename from assets/img/2/item-wolfarcherarmor.png rename to public/img/2/item-wolfarcherarmor.png diff --git a/assets/img/2/item-wolfarmor.png b/public/img/2/item-wolfarmor.png similarity index 100% rename from assets/img/2/item-wolfarmor.png rename to public/img/2/item-wolfarmor.png diff --git a/assets/img/2/item-wood.png b/public/img/2/item-wood.png similarity index 100% rename from assets/img/2/item-wood.png rename to public/img/2/item-wood.png diff --git a/assets/img/2/item-woodenbow.png b/public/img/2/item-woodenbow.png similarity index 100% rename from assets/img/2/item-woodenbow.png rename to public/img/2/item-woodenbow.png diff --git a/assets/img/2/jirisanmoonbear.png b/public/img/2/jirisanmoonbear.png similarity index 100% rename from assets/img/2/jirisanmoonbear.png rename to public/img/2/jirisanmoonbear.png diff --git a/assets/img/2/justicebow.png b/public/img/2/justicebow.png similarity index 100% rename from assets/img/2/justicebow.png rename to public/img/2/justicebow.png diff --git a/assets/img/2/justicehammer.png b/public/img/2/justicehammer.png similarity index 100% rename from assets/img/2/justicehammer.png rename to public/img/2/justicehammer.png diff --git a/assets/img/2/kaonashi.png b/public/img/2/kaonashi.png similarity index 100% rename from assets/img/2/kaonashi.png rename to public/img/2/kaonashi.png diff --git a/assets/img/2/king.png b/public/img/2/king.png similarity index 100% rename from assets/img/2/king.png rename to public/img/2/king.png diff --git a/assets/img/2/lavanpc.png b/public/img/2/lavanpc.png similarity index 100% rename from assets/img/2/lavanpc.png rename to public/img/2/lavanpc.png diff --git a/assets/img/2/leatherarcherarmor.png b/public/img/2/leatherarcherarmor.png similarity index 100% rename from assets/img/2/leatherarcherarmor.png rename to public/img/2/leatherarcherarmor.png diff --git a/assets/img/2/leatherarmor.png b/public/img/2/leatherarmor.png similarity index 100% rename from assets/img/2/leatherarmor.png rename to public/img/2/leatherarmor.png diff --git a/assets/img/2/legolasarmor.png b/public/img/2/legolasarmor.png similarity index 100% rename from assets/img/2/legolasarmor.png rename to public/img/2/legolasarmor.png diff --git a/assets/img/2/lightningguardian.png b/public/img/2/lightningguardian.png similarity index 100% rename from assets/img/2/lightningguardian.png rename to public/img/2/lightningguardian.png diff --git a/assets/img/2/livingarmor.png b/public/img/2/livingarmor.png similarity index 100% rename from assets/img/2/livingarmor.png rename to public/img/2/livingarmor.png diff --git a/assets/img/2/loot.png b/public/img/2/loot.png similarity index 100% rename from assets/img/2/loot.png rename to public/img/2/loot.png diff --git a/assets/img/2/machete.png b/public/img/2/machete.png similarity index 100% rename from assets/img/2/machete.png rename to public/img/2/machete.png diff --git a/assets/img/2/magicspear.png b/public/img/2/magicspear.png similarity index 100% rename from assets/img/2/magicspear.png rename to public/img/2/magicspear.png diff --git a/assets/img/2/mailarcherarmor.png b/public/img/2/mailarcherarmor.png similarity index 100% rename from assets/img/2/mailarcherarmor.png rename to public/img/2/mailarcherarmor.png diff --git a/assets/img/2/mailarmor.png b/public/img/2/mailarmor.png similarity index 100% rename from assets/img/2/mailarmor.png rename to public/img/2/mailarmor.png diff --git a/assets/img/2/main.png b/public/img/2/main.png similarity index 100% rename from assets/img/2/main.png rename to public/img/2/main.png diff --git a/assets/img/2/maintwo.png b/public/img/2/maintwo.png similarity index 100% rename from assets/img/2/maintwo.png rename to public/img/2/maintwo.png diff --git a/assets/img/2/mantis.png b/public/img/2/mantis.png similarity index 100% rename from assets/img/2/mantis.png rename to public/img/2/mantis.png diff --git a/assets/img/2/mapframe.png b/public/img/2/mapframe.png similarity index 100% rename from assets/img/2/mapframe.png rename to public/img/2/mapframe.png diff --git a/assets/img/2/mapicons.png b/public/img/2/mapicons.png similarity index 100% rename from assets/img/2/mapicons.png rename to public/img/2/mapicons.png diff --git a/assets/img/2/marinebow.png b/public/img/2/marinebow.png similarity index 100% rename from assets/img/2/marinebow.png rename to public/img/2/marinebow.png diff --git a/assets/img/2/memme.png b/public/img/2/memme.png similarity index 100% rename from assets/img/2/memme.png rename to public/img/2/memme.png diff --git a/assets/img/2/mermaid.png b/public/img/2/mermaid.png similarity index 100% rename from assets/img/2/mermaid.png rename to public/img/2/mermaid.png diff --git a/assets/img/2/mermaidbow.png b/public/img/2/mermaidbow.png similarity index 100% rename from assets/img/2/mermaidbow.png rename to public/img/2/mermaidbow.png diff --git a/assets/img/2/mermaidnpc.png b/public/img/2/mermaidnpc.png similarity index 100% rename from assets/img/2/mermaidnpc.png rename to public/img/2/mermaidnpc.png diff --git a/assets/img/2/mimic.png b/public/img/2/mimic.png similarity index 100% rename from assets/img/2/mimic.png rename to public/img/2/mimic.png diff --git a/assets/img/2/minidragon.png b/public/img/2/minidragon.png similarity index 100% rename from assets/img/2/minidragon.png rename to public/img/2/minidragon.png diff --git a/assets/img/2/miniemperor.png b/public/img/2/miniemperor.png similarity index 100% rename from assets/img/2/miniemperor.png rename to public/img/2/miniemperor.png diff --git a/assets/img/2/miniiceknight.png b/public/img/2/miniiceknight.png similarity index 100% rename from assets/img/2/miniiceknight.png rename to public/img/2/miniiceknight.png diff --git a/assets/img/2/miniknight.png b/public/img/2/miniknight.png similarity index 100% rename from assets/img/2/miniknight.png rename to public/img/2/miniknight.png diff --git a/assets/img/2/miniseadragon.png b/public/img/2/miniseadragon.png similarity index 100% rename from assets/img/2/miniseadragon.png rename to public/img/2/miniseadragon.png diff --git a/assets/img/2/miniseadragonarmor.png b/public/img/2/miniseadragonarmor.png similarity index 100% rename from assets/img/2/miniseadragonarmor.png rename to public/img/2/miniseadragonarmor.png diff --git a/assets/img/2/mojojojonpc.png b/public/img/2/mojojojonpc.png similarity index 100% rename from assets/img/2/mojojojonpc.png rename to public/img/2/mojojojonpc.png diff --git a/assets/img/2/moleking.png b/public/img/2/moleking.png similarity index 100% rename from assets/img/2/moleking.png rename to public/img/2/moleking.png diff --git a/assets/img/2/momangelnpc.png b/public/img/2/momangelnpc.png similarity index 100% rename from assets/img/2/momangelnpc.png rename to public/img/2/momangelnpc.png diff --git a/assets/img/2/moreinventorybutton.png b/public/img/2/moreinventorybutton.png similarity index 100% rename from assets/img/2/moreinventorybutton.png rename to public/img/2/moreinventorybutton.png diff --git a/assets/img/2/morningstar.png b/public/img/2/morningstar.png similarity index 100% rename from assets/img/2/morningstar.png rename to public/img/2/morningstar.png diff --git a/assets/img/2/nightmareregion.png b/public/img/2/nightmareregion.png similarity index 100% rename from assets/img/2/nightmareregion.png rename to public/img/2/nightmareregion.png diff --git a/assets/img/2/ninjaarmor.png b/public/img/2/ninjaarmor.png similarity index 100% rename from assets/img/2/ninjaarmor.png rename to public/img/2/ninjaarmor.png diff --git a/assets/img/2/nyan.png b/public/img/2/nyan.png similarity index 100% rename from assets/img/2/nyan.png rename to public/img/2/nyan.png diff --git a/assets/img/2/octocat.png b/public/img/2/octocat.png similarity index 100% rename from assets/img/2/octocat.png rename to public/img/2/octocat.png diff --git a/assets/img/2/octopus.png b/public/img/2/octopus.png similarity index 100% rename from assets/img/2/octopus.png rename to public/img/2/octopus.png diff --git a/assets/img/2/oddeyecat.png b/public/img/2/oddeyecat.png similarity index 100% rename from assets/img/2/oddeyecat.png rename to public/img/2/oddeyecat.png diff --git a/assets/img/2/ogre.png b/public/img/2/ogre.png similarity index 100% rename from assets/img/2/ogre.png rename to public/img/2/ogre.png diff --git a/assets/img/2/ogrelord.png b/public/img/2/ogrelord.png similarity index 100% rename from assets/img/2/ogrelord.png rename to public/img/2/ogrelord.png diff --git a/assets/img/2/oldogre.png b/public/img/2/oldogre.png similarity index 100% rename from assets/img/2/oldogre.png rename to public/img/2/oldogre.png diff --git a/assets/img/2/orc.png b/public/img/2/orc.png similarity index 100% rename from assets/img/2/orc.png rename to public/img/2/orc.png diff --git a/assets/img/2/paewoldo.png b/public/img/2/paewoldo.png similarity index 100% rename from assets/img/2/paewoldo.png rename to public/img/2/paewoldo.png diff --git a/assets/img/2/pain.png b/public/img/2/pain.png similarity index 100% rename from assets/img/2/pain.png rename to public/img/2/pain.png diff --git a/assets/img/2/paladinarmor.png b/public/img/2/paladinarmor.png similarity index 100% rename from assets/img/2/paladinarmor.png rename to public/img/2/paladinarmor.png diff --git a/assets/img/2/penguin.png b/public/img/2/penguin.png similarity index 100% rename from assets/img/2/penguin.png rename to public/img/2/penguin.png diff --git a/assets/img/2/pickle.png b/public/img/2/pickle.png similarity index 100% rename from assets/img/2/pickle.png rename to public/img/2/pickle.png diff --git a/assets/img/2/pierrot.png b/public/img/2/pierrot.png similarity index 100% rename from assets/img/2/pierrot.png rename to public/img/2/pierrot.png diff --git a/assets/img/2/pinkcockroacharmor.png b/public/img/2/pinkcockroacharmor.png similarity index 100% rename from assets/img/2/pinkcockroacharmor.png rename to public/img/2/pinkcockroacharmor.png diff --git a/assets/img/2/pinkelf.png b/public/img/2/pinkelf.png similarity index 100% rename from assets/img/2/pinkelf.png rename to public/img/2/pinkelf.png diff --git a/assets/img/2/pinksword.png b/public/img/2/pinksword.png similarity index 100% rename from assets/img/2/pinksword.png rename to public/img/2/pinksword.png diff --git a/assets/img/2/piratearcherarmor.png b/public/img/2/piratearcherarmor.png similarity index 100% rename from assets/img/2/piratearcherarmor.png rename to public/img/2/piratearcherarmor.png diff --git a/assets/img/2/piratecaptain.png b/public/img/2/piratecaptain.png similarity index 100% rename from assets/img/2/piratecaptain.png rename to public/img/2/piratecaptain.png diff --git a/assets/img/2/pirategirlnpc.png b/public/img/2/pirategirlnpc.png similarity index 100% rename from assets/img/2/pirategirlnpc.png rename to public/img/2/pirategirlnpc.png diff --git a/assets/img/2/pirateking.png b/public/img/2/pirateking.png similarity index 100% rename from assets/img/2/pirateking.png rename to public/img/2/pirateking.png diff --git a/assets/img/2/pirateskeleton.png b/public/img/2/pirateskeleton.png similarity index 100% rename from assets/img/2/pirateskeleton.png rename to public/img/2/pirateskeleton.png diff --git a/assets/img/2/plasticbow.png b/public/img/2/plasticbow.png similarity index 100% rename from assets/img/2/plasticbow.png rename to public/img/2/plasticbow.png diff --git a/assets/img/2/platearcherarmor.png b/public/img/2/platearcherarmor.png similarity index 100% rename from assets/img/2/platearcherarmor.png rename to public/img/2/platearcherarmor.png diff --git a/assets/img/2/platearmor.png b/public/img/2/platearmor.png similarity index 100% rename from assets/img/2/platearmor.png rename to public/img/2/platearmor.png diff --git a/assets/img/2/plunger.png b/public/img/2/plunger.png similarity index 100% rename from assets/img/2/plunger.png rename to public/img/2/plunger.png diff --git a/assets/img/2/pointer.png b/public/img/2/pointer.png similarity index 100% rename from assets/img/2/pointer.png rename to public/img/2/pointer.png diff --git a/assets/img/2/poisonspider.png b/public/img/2/poisonspider.png similarity index 100% rename from assets/img/2/poisonspider.png rename to public/img/2/poisonspider.png diff --git a/assets/img/2/portalarmor.png b/public/img/2/portalarmor.png similarity index 100% rename from assets/img/2/portalarmor.png rename to public/img/2/portalarmor.png diff --git a/assets/img/2/powerarmour.png b/public/img/2/powerarmour.png similarity index 100% rename from assets/img/2/powerarmour.png rename to public/img/2/powerarmour.png diff --git a/assets/img/2/powersword.png b/public/img/2/powersword.png similarity index 100% rename from assets/img/2/powersword.png rename to public/img/2/powersword.png diff --git a/assets/img/2/preta.png b/public/img/2/preta.png similarity index 100% rename from assets/img/2/preta.png rename to public/img/2/preta.png diff --git a/assets/img/2/priest.png b/public/img/2/priest.png similarity index 100% rename from assets/img/2/priest.png rename to public/img/2/priest.png diff --git a/assets/img/2/projectile-boulder.png b/public/img/2/projectile-boulder.png similarity index 100% rename from assets/img/2/projectile-boulder.png rename to public/img/2/projectile-boulder.png diff --git a/assets/img/2/projectile-fireball.png b/public/img/2/projectile-fireball.png similarity index 100% rename from assets/img/2/projectile-fireball.png rename to public/img/2/projectile-fireball.png diff --git a/assets/img/2/projectile-iceball.png b/public/img/2/projectile-iceball.png similarity index 100% rename from assets/img/2/projectile-iceball.png rename to public/img/2/projectile-iceball.png diff --git a/assets/img/2/projectile-none.png b/public/img/2/projectile-none.png similarity index 100% rename from assets/img/2/projectile-none.png rename to public/img/2/projectile-none.png diff --git a/assets/img/2/projectile-pinearrow.png b/public/img/2/projectile-pinearrow.png similarity index 100% rename from assets/img/2/projectile-pinearrow.png rename to public/img/2/projectile-pinearrow.png diff --git a/assets/img/2/projectile-terror.png b/public/img/2/projectile-terror.png similarity index 100% rename from assets/img/2/projectile-terror.png rename to public/img/2/projectile-terror.png diff --git a/assets/img/2/projectile-tornado.png b/public/img/2/projectile-tornado.png similarity index 100% rename from assets/img/2/projectile-tornado.png rename to public/img/2/projectile-tornado.png diff --git a/assets/img/2/provocationeffect.png b/public/img/2/provocationeffect.png similarity index 100% rename from assets/img/2/provocationeffect.png rename to public/img/2/provocationeffect.png diff --git a/assets/img/2/purplecloudkallege.png b/public/img/2/purplecloudkallege.png similarity index 100% rename from assets/img/2/purplecloudkallege.png rename to public/img/2/purplecloudkallege.png diff --git a/assets/img/2/purplepreta.png b/public/img/2/purplepreta.png similarity index 100% rename from assets/img/2/purplepreta.png rename to public/img/2/purplepreta.png diff --git a/assets/img/2/queenant.png b/public/img/2/queenant.png similarity index 100% rename from assets/img/2/queenant.png rename to public/img/2/queenant.png diff --git a/assets/img/2/queenspider.png b/public/img/2/queenspider.png similarity index 100% rename from assets/img/2/queenspider.png rename to public/img/2/queenspider.png diff --git a/assets/img/2/rabbitarmor.png b/public/img/2/rabbitarmor.png similarity index 100% rename from assets/img/2/rabbitarmor.png rename to public/img/2/rabbitarmor.png diff --git a/assets/img/2/radisharmor.png b/public/img/2/radisharmor.png similarity index 100% rename from assets/img/2/radisharmor.png rename to public/img/2/radisharmor.png diff --git a/assets/img/2/rainbowapro.png b/public/img/2/rainbowapro.png similarity index 100% rename from assets/img/2/rainbowapro.png rename to public/img/2/rainbowapro.png diff --git a/assets/img/2/rainbowsword.png b/public/img/2/rainbowsword.png similarity index 100% rename from assets/img/2/rainbowsword.png rename to public/img/2/rainbowsword.png diff --git a/assets/img/2/rat.png b/public/img/2/rat.png similarity index 100% rename from assets/img/2/rat.png rename to public/img/2/rat.png diff --git a/assets/img/2/ratarcherarmor.png b/public/img/2/ratarcherarmor.png similarity index 100% rename from assets/img/2/ratarcherarmor.png rename to public/img/2/ratarcherarmor.png diff --git a/assets/img/2/ratarmor.png b/public/img/2/ratarmor.png similarity index 100% rename from assets/img/2/ratarmor.png rename to public/img/2/ratarmor.png diff --git a/assets/img/2/redarcherarmor.png b/public/img/2/redarcherarmor.png similarity index 100% rename from assets/img/2/redarcherarmor.png rename to public/img/2/redarcherarmor.png diff --git a/assets/img/2/redarmor.png b/public/img/2/redarmor.png similarity index 100% rename from assets/img/2/redarmor.png rename to public/img/2/redarmor.png diff --git a/assets/img/2/redbikinigirlnpc.png b/public/img/2/redbikinigirlnpc.png similarity index 100% rename from assets/img/2/redbikinigirlnpc.png rename to public/img/2/redbikinigirlnpc.png diff --git a/assets/img/2/redbow.png b/public/img/2/redbow.png similarity index 100% rename from assets/img/2/redbow.png rename to public/img/2/redbow.png diff --git a/assets/img/2/redcockroach.png b/public/img/2/redcockroach.png similarity index 100% rename from assets/img/2/redcockroach.png rename to public/img/2/redcockroach.png diff --git a/assets/img/2/reddamboarmor.png b/public/img/2/reddamboarmor.png similarity index 100% rename from assets/img/2/reddamboarmor.png rename to public/img/2/reddamboarmor.png diff --git a/assets/img/2/redelf.png b/public/img/2/redelf.png similarity index 100% rename from assets/img/2/redelf.png rename to public/img/2/redelf.png diff --git a/assets/img/2/redenelbow.png b/public/img/2/redenelbow.png similarity index 100% rename from assets/img/2/redenelbow.png rename to public/img/2/redenelbow.png diff --git a/assets/img/2/redfish.png b/public/img/2/redfish.png similarity index 100% rename from assets/img/2/redfish.png rename to public/img/2/redfish.png diff --git a/assets/img/2/redguard.png b/public/img/2/redguard.png similarity index 100% rename from assets/img/2/redguard.png rename to public/img/2/redguard.png diff --git a/assets/img/2/redguardarcherarmor.png b/public/img/2/redguardarcherarmor.png similarity index 100% rename from assets/img/2/redguardarcherarmor.png rename to public/img/2/redguardarcherarmor.png diff --git a/assets/img/2/redguardarmor.png b/public/img/2/redguardarmor.png similarity index 100% rename from assets/img/2/redguardarmor.png rename to public/img/2/redguardarmor.png diff --git a/assets/img/2/redlightbow.png b/public/img/2/redlightbow.png similarity index 100% rename from assets/img/2/redlightbow.png rename to public/img/2/redlightbow.png diff --git a/assets/img/2/redlightsaber.png b/public/img/2/redlightsaber.png similarity index 100% rename from assets/img/2/redlightsaber.png rename to public/img/2/redlightsaber.png diff --git a/assets/img/2/redmetalbow.png b/public/img/2/redmetalbow.png similarity index 100% rename from assets/img/2/redmetalbow.png rename to public/img/2/redmetalbow.png diff --git a/assets/img/2/redmetalsword.png b/public/img/2/redmetalsword.png similarity index 100% rename from assets/img/2/redmetalsword.png rename to public/img/2/redmetalsword.png diff --git a/assets/img/2/redmouse.png b/public/img/2/redmouse.png similarity index 100% rename from assets/img/2/redmouse.png rename to public/img/2/redmouse.png diff --git a/assets/img/2/redpirateskeleton.png b/public/img/2/redpirateskeleton.png similarity index 100% rename from assets/img/2/redpirateskeleton.png rename to public/img/2/redpirateskeleton.png diff --git a/assets/img/2/redsickle.png b/public/img/2/redsickle.png similarity index 100% rename from assets/img/2/redsickle.png rename to public/img/2/redsickle.png diff --git a/assets/img/2/redsicklebow.png b/public/img/2/redsicklebow.png similarity index 100% rename from assets/img/2/redsicklebow.png rename to public/img/2/redsicklebow.png diff --git a/assets/img/2/redstoremannpc.png b/public/img/2/redstoremannpc.png similarity index 100% rename from assets/img/2/redstoremannpc.png rename to public/img/2/redstoremannpc.png diff --git a/assets/img/2/redsword.png b/public/img/2/redsword.png similarity index 100% rename from assets/img/2/redsword.png rename to public/img/2/redsword.png diff --git a/assets/img/2/redwingarcherarmor.png b/public/img/2/redwingarcherarmor.png similarity index 100% rename from assets/img/2/redwingarcherarmor.png rename to public/img/2/redwingarcherarmor.png diff --git a/assets/img/2/redwingarmor.png b/public/img/2/redwingarmor.png similarity index 100% rename from assets/img/2/redwingarmor.png rename to public/img/2/redwingarmor.png diff --git a/assets/img/2/regionarmor.png b/public/img/2/regionarmor.png similarity index 100% rename from assets/img/2/regionarmor.png rename to public/img/2/regionarmor.png diff --git a/assets/img/2/regionhenchman.png b/public/img/2/regionhenchman.png similarity index 100% rename from assets/img/2/regionhenchman.png rename to public/img/2/regionhenchman.png diff --git a/assets/img/2/rhaphidophoridae.png b/public/img/2/rhaphidophoridae.png similarity index 100% rename from assets/img/2/rhaphidophoridae.png rename to public/img/2/rhaphidophoridae.png diff --git a/assets/img/2/rick.png b/public/img/2/rick.png similarity index 100% rename from assets/img/2/rick.png rename to public/img/2/rick.png diff --git a/assets/img/2/robocoparmor.png b/public/img/2/robocoparmor.png similarity index 100% rename from assets/img/2/robocoparmor.png rename to public/img/2/robocoparmor.png diff --git a/assets/img/2/rose.png b/public/img/2/rose.png similarity index 100% rename from assets/img/2/rose.png rename to public/img/2/rose.png diff --git a/assets/img/2/rosebow.png b/public/img/2/rosebow.png similarity index 100% rename from assets/img/2/rosebow.png rename to public/img/2/rosebow.png diff --git a/assets/img/2/rudolf.png b/public/img/2/rudolf.png similarity index 100% rename from assets/img/2/rudolf.png rename to public/img/2/rudolf.png diff --git a/assets/img/2/rudolfarmor.png b/public/img/2/rudolfarmor.png similarity index 100% rename from assets/img/2/rudolfarmor.png rename to public/img/2/rudolfarmor.png diff --git a/assets/img/2/santa.png b/public/img/2/santa.png similarity index 100% rename from assets/img/2/santa.png rename to public/img/2/santa.png diff --git a/assets/img/2/santaelf.png b/public/img/2/santaelf.png similarity index 100% rename from assets/img/2/santaelf.png rename to public/img/2/santaelf.png diff --git a/assets/img/2/schooluniform.png b/public/img/2/schooluniform.png similarity index 100% rename from assets/img/2/schooluniform.png rename to public/img/2/schooluniform.png diff --git a/assets/img/2/scientist.png b/public/img/2/scientist.png similarity index 100% rename from assets/img/2/scientist.png rename to public/img/2/scientist.png diff --git a/assets/img/2/scimitar.png b/public/img/2/scimitar.png similarity index 100% rename from assets/img/2/scimitar.png rename to public/img/2/scimitar.png diff --git a/assets/img/2/scorpion.png b/public/img/2/scorpion.png similarity index 100% rename from assets/img/2/scorpion.png rename to public/img/2/scorpion.png diff --git a/assets/img/2/seadragon.png b/public/img/2/seadragon.png similarity index 100% rename from assets/img/2/seadragon.png rename to public/img/2/seadragon.png diff --git a/assets/img/2/seadragonarmor.png b/public/img/2/seadragonarmor.png similarity index 100% rename from assets/img/2/seadragonarmor.png rename to public/img/2/seadragonarmor.png diff --git a/assets/img/2/seahorsebow.png b/public/img/2/seahorsebow.png similarity index 100% rename from assets/img/2/seahorsebow.png rename to public/img/2/seahorsebow.png diff --git a/assets/img/2/searage.png b/public/img/2/searage.png similarity index 100% rename from assets/img/2/searage.png rename to public/img/2/searage.png diff --git a/assets/img/2/secondsonangelnpc.png b/public/img/2/secondsonangelnpc.png similarity index 100% rename from assets/img/2/secondsonangelnpc.png rename to public/img/2/secondsonangelnpc.png diff --git a/assets/img/2/shadow16.png b/public/img/2/shadow16.png similarity index 100% rename from assets/img/2/shadow16.png rename to public/img/2/shadow16.png diff --git a/assets/img/2/shadowregion.png b/public/img/2/shadowregion.png similarity index 100% rename from assets/img/2/shadowregion.png rename to public/img/2/shadowregion.png diff --git a/assets/img/2/shadowregionarmor.png b/public/img/2/shadowregionarmor.png similarity index 100% rename from assets/img/2/shadowregionarmor.png rename to public/img/2/shadowregionarmor.png diff --git a/assets/img/2/shepherdboy.png b/public/img/2/shepherdboy.png similarity index 100% rename from assets/img/2/shepherdboy.png rename to public/img/2/shepherdboy.png diff --git a/assets/img/2/shieldbenef.png b/public/img/2/shieldbenef.png similarity index 100% rename from assets/img/2/shieldbenef.png rename to public/img/2/shieldbenef.png diff --git a/assets/img/2/sickle.png b/public/img/2/sickle.png similarity index 100% rename from assets/img/2/sickle.png rename to public/img/2/sickle.png diff --git a/assets/img/2/sicklebow.png b/public/img/2/sicklebow.png similarity index 100% rename from assets/img/2/sicklebow.png rename to public/img/2/sicklebow.png diff --git a/assets/img/2/sidesword.png b/public/img/2/sidesword.png similarity index 100% rename from assets/img/2/sidesword.png rename to public/img/2/sidesword.png diff --git a/assets/img/2/silvermedal.png b/public/img/2/silvermedal.png similarity index 100% rename from assets/img/2/silvermedal.png rename to public/img/2/silvermedal.png diff --git a/assets/img/2/skeleton.png b/public/img/2/skeleton.png similarity index 100% rename from assets/img/2/skeleton.png rename to public/img/2/skeleton.png diff --git a/assets/img/2/skeleton2.png b/public/img/2/skeleton2.png similarity index 100% rename from assets/img/2/skeleton2.png rename to public/img/2/skeleton2.png diff --git a/assets/img/2/skeletonking.png b/public/img/2/skeletonking.png similarity index 100% rename from assets/img/2/skeletonking.png rename to public/img/2/skeletonking.png diff --git a/assets/img/2/skillicons.png b/public/img/2/skillicons.png similarity index 100% rename from assets/img/2/skillicons.png rename to public/img/2/skillicons.png diff --git a/assets/img/2/skilllevel.png b/public/img/2/skilllevel.png similarity index 100% rename from assets/img/2/skilllevel.png rename to public/img/2/skilllevel.png diff --git a/assets/img/2/skillslots.png b/public/img/2/skillslots.png similarity index 100% rename from assets/img/2/skillslots.png rename to public/img/2/skillslots.png diff --git a/assets/img/2/skydinosaur.png b/public/img/2/skydinosaur.png similarity index 100% rename from assets/img/2/skydinosaur.png rename to public/img/2/skydinosaur.png diff --git a/assets/img/2/skyelf.png b/public/img/2/skyelf.png similarity index 100% rename from assets/img/2/skyelf.png rename to public/img/2/skyelf.png diff --git a/assets/img/2/skylightbow.png b/public/img/2/skylightbow.png similarity index 100% rename from assets/img/2/skylightbow.png rename to public/img/2/skylightbow.png diff --git a/assets/img/2/skylightsaber.png b/public/img/2/skylightsaber.png similarity index 100% rename from assets/img/2/skylightsaber.png rename to public/img/2/skylightsaber.png diff --git a/assets/img/2/slime.png b/public/img/2/slime.png similarity index 100% rename from assets/img/2/slime.png rename to public/img/2/slime.png diff --git a/assets/img/2/smalldevil.png b/public/img/2/smalldevil.png similarity index 100% rename from assets/img/2/smalldevil.png rename to public/img/2/smalldevil.png diff --git a/assets/img/2/snek.png b/public/img/2/snek.png similarity index 100% rename from assets/img/2/snek.png rename to public/img/2/snek.png diff --git a/assets/img/2/snowelf.png b/public/img/2/snowelf.png similarity index 100% rename from assets/img/2/snowelf.png rename to public/img/2/snowelf.png diff --git a/assets/img/2/snowfoxarcherarmor.png b/public/img/2/snowfoxarcherarmor.png similarity index 100% rename from assets/img/2/snowfoxarcherarmor.png rename to public/img/2/snowfoxarcherarmor.png diff --git a/assets/img/2/snowfoxarmor.png b/public/img/2/snowfoxarmor.png similarity index 100% rename from assets/img/2/snowfoxarmor.png rename to public/img/2/snowfoxarmor.png diff --git a/assets/img/2/snowlady.png b/public/img/2/snowlady.png similarity index 100% rename from assets/img/2/snowlady.png rename to public/img/2/snowlady.png diff --git a/assets/img/2/snowman.png b/public/img/2/snowman.png similarity index 100% rename from assets/img/2/snowman.png rename to public/img/2/snowman.png diff --git a/assets/img/2/snowmanarmor.png b/public/img/2/snowmanarmor.png similarity index 100% rename from assets/img/2/snowmanarmor.png rename to public/img/2/snowmanarmor.png diff --git a/assets/img/2/snowrabbit.png b/public/img/2/snowrabbit.png similarity index 100% rename from assets/img/2/snowrabbit.png rename to public/img/2/snowrabbit.png diff --git a/assets/img/2/snowshepherdboy.png b/public/img/2/snowshepherdboy.png similarity index 100% rename from assets/img/2/snowshepherdboy.png rename to public/img/2/snowshepherdboy.png diff --git a/assets/img/2/snowwolf.png b/public/img/2/snowwolf.png similarity index 100% rename from assets/img/2/snowwolf.png rename to public/img/2/snowwolf.png diff --git a/assets/img/2/soldier.png b/public/img/2/soldier.png similarity index 100% rename from assets/img/2/soldier.png rename to public/img/2/soldier.png diff --git a/assets/img/2/soldierant.png b/public/img/2/soldierant.png similarity index 100% rename from assets/img/2/soldierant.png rename to public/img/2/soldierant.png diff --git a/assets/img/2/sorcerer.png b/public/img/2/sorcerer.png similarity index 100% rename from assets/img/2/sorcerer.png rename to public/img/2/sorcerer.png diff --git a/assets/img/2/soundbutton.png b/public/img/2/soundbutton.png similarity index 100% rename from assets/img/2/soundbutton.png rename to public/img/2/soundbutton.png diff --git a/assets/img/2/soybeanbug.png b/public/img/2/soybeanbug.png similarity index 100% rename from assets/img/2/soybeanbug.png rename to public/img/2/soybeanbug.png diff --git a/assets/img/2/sparks.png b/public/img/2/sparks.png similarity index 100% rename from assets/img/2/sparks.png rename to public/img/2/sparks.png diff --git a/assets/img/2/spear.png b/public/img/2/spear.png similarity index 100% rename from assets/img/2/spear.png rename to public/img/2/spear.png diff --git a/assets/img/2/spectre.png b/public/img/2/spectre.png similarity index 100% rename from assets/img/2/spectre.png rename to public/img/2/spectre.png diff --git a/assets/img/2/spell.png b/public/img/2/spell.png similarity index 100% rename from assets/img/2/spell.png rename to public/img/2/spell.png diff --git a/assets/img/2/spider.png b/public/img/2/spider.png similarity index 100% rename from assets/img/2/spider.png rename to public/img/2/spider.png diff --git a/assets/img/2/sponge.png b/public/img/2/sponge.png similarity index 100% rename from assets/img/2/sponge.png rename to public/img/2/sponge.png diff --git a/assets/img/2/spritesheet.png b/public/img/2/spritesheet.png similarity index 100% rename from assets/img/2/spritesheet.png rename to public/img/2/spritesheet.png diff --git a/assets/img/2/squeakyhammer.png b/public/img/2/squeakyhammer.png similarity index 100% rename from assets/img/2/squeakyhammer.png rename to public/img/2/squeakyhammer.png diff --git a/assets/img/2/squid.png b/public/img/2/squid.png similarity index 100% rename from assets/img/2/squid.png rename to public/img/2/squid.png diff --git a/assets/img/2/squidarmor.png b/public/img/2/squidarmor.png similarity index 100% rename from assets/img/2/squidarmor.png rename to public/img/2/squidarmor.png diff --git a/assets/img/2/squirrel.png b/public/img/2/squirrel.png similarity index 100% rename from assets/img/2/squirrel.png rename to public/img/2/squirrel.png diff --git a/assets/img/2/stuneffect.png b/public/img/2/stuneffect.png similarity index 100% rename from assets/img/2/stuneffect.png rename to public/img/2/stuneffect.png diff --git a/assets/img/2/suicideghost.png b/public/img/2/suicideghost.png similarity index 100% rename from assets/img/2/suicideghost.png rename to public/img/2/suicideghost.png diff --git a/assets/img/2/supercateffect.png b/public/img/2/supercateffect.png similarity index 100% rename from assets/img/2/supercateffect.png rename to public/img/2/supercateffect.png diff --git a/assets/img/2/superiorangelnpc.png b/public/img/2/superiorangelnpc.png similarity index 100% rename from assets/img/2/superiorangelnpc.png rename to public/img/2/superiorangelnpc.png diff --git a/assets/img/2/sword.png b/public/img/2/sword.png similarity index 100% rename from assets/img/2/sword.png rename to public/img/2/sword.png diff --git a/assets/img/2/sword1.png b/public/img/2/sword1.png similarity index 100% rename from assets/img/2/sword1.png rename to public/img/2/sword1.png diff --git a/assets/img/2/sword2.png b/public/img/2/sword2.png similarity index 100% rename from assets/img/2/sword2.png rename to public/img/2/sword2.png diff --git a/assets/img/2/taekwondo.png b/public/img/2/taekwondo.png similarity index 100% rename from assets/img/2/taekwondo.png rename to public/img/2/taekwondo.png diff --git a/assets/img/2/talk.png b/public/img/2/talk.png similarity index 100% rename from assets/img/2/talk.png rename to public/img/2/talk.png diff --git a/assets/img/2/target.png b/public/img/2/target.png similarity index 100% rename from assets/img/2/target.png rename to public/img/2/target.png diff --git a/assets/img/2/thiefarmor.png b/public/img/2/thiefarmor.png similarity index 100% rename from assets/img/2/thiefarmor.png rename to public/img/2/thiefarmor.png diff --git a/assets/img/2/tigerarmor.png b/public/img/2/tigerarmor.png similarity index 100% rename from assets/img/2/tigerarmor.png rename to public/img/2/tigerarmor.png diff --git a/assets/img/2/tilesheet.png b/public/img/2/tilesheet.png similarity index 100% rename from assets/img/2/tilesheet.png rename to public/img/2/tilesheet.png diff --git a/assets/img/2/trade.png b/public/img/2/trade.png similarity index 100% rename from assets/img/2/trade.png rename to public/img/2/trade.png diff --git a/assets/img/2/trident.png b/public/img/2/trident.png similarity index 100% rename from assets/img/2/trident.png rename to public/img/2/trident.png diff --git a/assets/img/2/typhoon.png b/public/img/2/typhoon.png similarity index 100% rename from assets/img/2/typhoon.png rename to public/img/2/typhoon.png diff --git a/assets/img/2/vampire.png b/public/img/2/vampire.png similarity index 100% rename from assets/img/2/vampire.png rename to public/img/2/vampire.png diff --git a/assets/img/2/vendingmachine.png b/public/img/2/vendingmachine.png similarity index 100% rename from assets/img/2/vendingmachine.png rename to public/img/2/vendingmachine.png diff --git a/assets/img/2/villagegirl.png b/public/img/2/villagegirl.png similarity index 100% rename from assets/img/2/villagegirl.png rename to public/img/2/villagegirl.png diff --git a/assets/img/2/villager.png b/public/img/2/villager.png similarity index 100% rename from assets/img/2/villager.png rename to public/img/2/villager.png diff --git a/assets/img/2/violetbow.png b/public/img/2/violetbow.png similarity index 100% rename from assets/img/2/violetbow.png rename to public/img/2/violetbow.png diff --git a/assets/img/2/vulture.png b/public/img/2/vulture.png similarity index 100% rename from assets/img/2/vulture.png rename to public/img/2/vulture.png diff --git a/assets/img/2/watermelonbow.png b/public/img/2/watermelonbow.png similarity index 100% rename from assets/img/2/watermelonbow.png rename to public/img/2/watermelonbow.png diff --git a/assets/img/2/weastaff.png b/public/img/2/weastaff.png similarity index 100% rename from assets/img/2/weastaff.png rename to public/img/2/weastaff.png diff --git a/assets/img/2/whip.png b/public/img/2/whip.png similarity index 100% rename from assets/img/2/whip.png rename to public/img/2/whip.png diff --git a/assets/img/2/whitearcherarmor.png b/public/img/2/whitearcherarmor.png similarity index 100% rename from assets/img/2/whitearcherarmor.png rename to public/img/2/whitearcherarmor.png diff --git a/assets/img/2/whitearmor.png b/public/img/2/whitearmor.png similarity index 100% rename from assets/img/2/whitearmor.png rename to public/img/2/whitearmor.png diff --git a/assets/img/2/whitebear.png b/public/img/2/whitebear.png similarity index 100% rename from assets/img/2/whitebear.png rename to public/img/2/whitebear.png diff --git a/assets/img/2/whitemouse.png b/public/img/2/whitemouse.png similarity index 100% rename from assets/img/2/whitemouse.png rename to public/img/2/whitemouse.png diff --git a/assets/img/2/whitetiger.png b/public/img/2/whitetiger.png similarity index 100% rename from assets/img/2/whitetiger.png rename to public/img/2/whitetiger.png diff --git a/assets/img/2/windguardian.png b/public/img/2/windguardian.png similarity index 100% rename from assets/img/2/windguardian.png rename to public/img/2/windguardian.png diff --git a/assets/img/2/wizard.png b/public/img/2/wizard.png similarity index 100% rename from assets/img/2/wizard.png rename to public/img/2/wizard.png diff --git a/assets/img/2/wizardrobe.png b/public/img/2/wizardrobe.png similarity index 100% rename from assets/img/2/wizardrobe.png rename to public/img/2/wizardrobe.png diff --git a/assets/img/2/wolf.png b/public/img/2/wolf.png similarity index 100% rename from assets/img/2/wolf.png rename to public/img/2/wolf.png diff --git a/assets/img/2/wolfarcherarmor.png b/public/img/2/wolfarcherarmor.png similarity index 100% rename from assets/img/2/wolfarcherarmor.png rename to public/img/2/wolfarcherarmor.png diff --git a/assets/img/2/wolfarmor.png b/public/img/2/wolfarmor.png similarity index 100% rename from assets/img/2/wolfarmor.png rename to public/img/2/wolfarmor.png diff --git a/assets/img/2/wood.png b/public/img/2/wood.png similarity index 100% rename from assets/img/2/wood.png rename to public/img/2/wood.png diff --git a/assets/img/2/wood2.png b/public/img/2/wood2.png similarity index 100% rename from assets/img/2/wood2.png rename to public/img/2/wood2.png diff --git a/assets/img/2/wood3.png b/public/img/2/wood3.png similarity index 100% rename from assets/img/2/wood3.png rename to public/img/2/wood3.png diff --git a/assets/img/2/woodenbow.png b/public/img/2/woodenbow.png similarity index 100% rename from assets/img/2/woodenbow.png rename to public/img/2/woodenbow.png diff --git a/assets/img/2/yellowbat.png b/public/img/2/yellowbat.png similarity index 100% rename from assets/img/2/yellowbat.png rename to public/img/2/yellowbat.png diff --git a/assets/img/2/yellowfish.png b/public/img/2/yellowfish.png similarity index 100% rename from assets/img/2/yellowfish.png rename to public/img/2/yellowfish.png diff --git a/assets/img/2/yellowmouse.png b/public/img/2/yellowmouse.png similarity index 100% rename from assets/img/2/yellowmouse.png rename to public/img/2/yellowmouse.png diff --git a/assets/img/2/yellowpreta.png b/public/img/2/yellowpreta.png similarity index 100% rename from assets/img/2/yellowpreta.png rename to public/img/2/yellowpreta.png diff --git a/assets/img/2/zombie.png b/public/img/2/zombie.png similarity index 100% rename from assets/img/2/zombie.png rename to public/img/2/zombie.png diff --git a/assets/img/2/zombiegf.png b/public/img/2/zombiegf.png similarity index 100% rename from assets/img/2/zombiegf.png rename to public/img/2/zombiegf.png diff --git a/assets/img/3/achievements.png b/public/img/3/achievements.png similarity index 100% rename from assets/img/3/achievements.png rename to public/img/3/achievements.png diff --git a/assets/img/3/adherer.png b/public/img/3/adherer.png similarity index 100% rename from assets/img/3/adherer.png rename to public/img/3/adherer.png diff --git a/assets/img/3/adhererarcherarmor.png b/public/img/3/adhererarcherarmor.png similarity index 100% rename from assets/img/3/adhererarcherarmor.png rename to public/img/3/adhererarcherarmor.png diff --git a/assets/img/3/adhererrobe.png b/public/img/3/adhererrobe.png similarity index 100% rename from assets/img/3/adhererrobe.png rename to public/img/3/adhererrobe.png diff --git a/assets/img/3/adminarmor.png b/public/img/3/adminarmor.png similarity index 100% rename from assets/img/3/adminarmor.png rename to public/img/3/adminarmor.png diff --git a/assets/img/3/agent.png b/public/img/3/agent.png similarity index 100% rename from assets/img/3/agent.png rename to public/img/3/agent.png diff --git a/assets/img/3/ancientmanumentnpc.png b/public/img/3/ancientmanumentnpc.png similarity index 100% rename from assets/img/3/ancientmanumentnpc.png rename to public/img/3/ancientmanumentnpc.png diff --git a/assets/img/3/angelnpc.png b/public/img/3/angelnpc.png similarity index 100% rename from assets/img/3/angelnpc.png rename to public/img/3/angelnpc.png diff --git a/assets/img/3/ant.png b/public/img/3/ant.png similarity index 100% rename from assets/img/3/ant.png rename to public/img/3/ant.png diff --git a/assets/img/3/archerarmor.png b/public/img/3/archerarmor.png similarity index 100% rename from assets/img/3/archerarmor.png rename to public/img/3/archerarmor.png diff --git a/assets/img/3/archerschooluniform.png b/public/img/3/archerschooluniform.png similarity index 100% rename from assets/img/3/archerschooluniform.png rename to public/img/3/archerschooluniform.png diff --git a/assets/img/3/axe.png b/public/img/3/axe.png similarity index 100% rename from assets/img/3/axe.png rename to public/img/3/axe.png diff --git a/assets/img/3/babyspider.png b/public/img/3/babyspider.png similarity index 100% rename from assets/img/3/babyspider.png rename to public/img/3/babyspider.png diff --git a/assets/img/3/bamboospear.png b/public/img/3/bamboospear.png similarity index 100% rename from assets/img/3/bamboospear.png rename to public/img/3/bamboospear.png diff --git a/assets/img/3/bank.png b/public/img/3/bank.png similarity index 100% rename from assets/img/3/bank.png rename to public/img/3/bank.png diff --git a/assets/img/3/barsheet.png b/public/img/3/barsheet.png similarity index 100% rename from assets/img/3/barsheet.png rename to public/img/3/barsheet.png diff --git a/assets/img/3/basebarcontainer.png b/public/img/3/basebarcontainer.png similarity index 100% rename from assets/img/3/basebarcontainer.png rename to public/img/3/basebarcontainer.png diff --git a/assets/img/3/bastardsword.png b/public/img/3/bastardsword.png similarity index 100% rename from assets/img/3/bastardsword.png rename to public/img/3/bastardsword.png diff --git a/assets/img/3/bat.png b/public/img/3/bat.png similarity index 100% rename from assets/img/3/bat.png rename to public/img/3/bat.png diff --git a/assets/img/3/beachnpc.png b/public/img/3/beachnpc.png similarity index 100% rename from assets/img/3/beachnpc.png rename to public/img/3/beachnpc.png diff --git a/assets/img/3/bearseonbiarmor.png b/public/img/3/bearseonbiarmor.png similarity index 100% rename from assets/img/3/bearseonbiarmor.png rename to public/img/3/bearseonbiarmor.png diff --git a/assets/img/3/beautifullife.png b/public/img/3/beautifullife.png similarity index 100% rename from assets/img/3/beautifullife.png rename to public/img/3/beautifullife.png diff --git a/assets/img/3/bee.png b/public/img/3/bee.png similarity index 100% rename from assets/img/3/bee.png rename to public/img/3/bee.png diff --git a/assets/img/3/beearmor.png b/public/img/3/beearmor.png similarity index 100% rename from assets/img/3/beearmor.png rename to public/img/3/beearmor.png diff --git a/assets/img/3/beetle.png b/public/img/3/beetle.png similarity index 100% rename from assets/img/3/beetle.png rename to public/img/3/beetle.png diff --git a/assets/img/3/beetlearmor.png b/public/img/3/beetlearmor.png similarity index 100% rename from assets/img/3/beetlearmor.png rename to public/img/3/beetlearmor.png diff --git a/assets/img/3/blackpirateskeleton.png b/public/img/3/blackpirateskeleton.png similarity index 100% rename from assets/img/3/blackpirateskeleton.png rename to public/img/3/blackpirateskeleton.png diff --git a/assets/img/3/blackspiderarmor.png b/public/img/3/blackspiderarmor.png similarity index 100% rename from assets/img/3/blackspiderarmor.png rename to public/img/3/blackspiderarmor.png diff --git a/assets/img/3/blackwizard.png b/public/img/3/blackwizard.png similarity index 100% rename from assets/img/3/blackwizard.png rename to public/img/3/blackwizard.png diff --git a/assets/img/3/blazespider.png b/public/img/3/blazespider.png similarity index 100% rename from assets/img/3/blazespider.png rename to public/img/3/blazespider.png diff --git a/assets/img/3/bloodbow.png b/public/img/3/bloodbow.png similarity index 100% rename from assets/img/3/bloodbow.png rename to public/img/3/bloodbow.png diff --git a/assets/img/3/bloodsucking.png b/public/img/3/bloodsucking.png similarity index 100% rename from assets/img/3/bloodsucking.png rename to public/img/3/bloodsucking.png diff --git a/assets/img/3/bluebikinigirlnpc.png b/public/img/3/bluebikinigirlnpc.png similarity index 100% rename from assets/img/3/bluebikinigirlnpc.png rename to public/img/3/bluebikinigirlnpc.png diff --git a/assets/img/3/bluecockroach.png b/public/img/3/bluecockroach.png similarity index 100% rename from assets/img/3/bluecockroach.png rename to public/img/3/bluecockroach.png diff --git a/assets/img/3/bluedamboarmor.png b/public/img/3/bluedamboarmor.png similarity index 100% rename from assets/img/3/bluedamboarmor.png rename to public/img/3/bluedamboarmor.png diff --git a/assets/img/3/bluepiratearmor.png b/public/img/3/bluepiratearmor.png similarity index 100% rename from assets/img/3/bluepiratearmor.png rename to public/img/3/bluepiratearmor.png diff --git a/assets/img/3/bluepreta.png b/public/img/3/bluepreta.png similarity index 100% rename from assets/img/3/bluepreta.png rename to public/img/3/bluepreta.png diff --git a/assets/img/3/bluescimitar.png b/public/img/3/bluescimitar.png similarity index 100% rename from assets/img/3/bluescimitar.png rename to public/img/3/bluescimitar.png diff --git a/assets/img/3/bluestoremannpc.png b/public/img/3/bluestoremannpc.png similarity index 100% rename from assets/img/3/bluestoremannpc.png rename to public/img/3/bluestoremannpc.png diff --git a/assets/img/3/bluesword.png b/public/img/3/bluesword.png similarity index 100% rename from assets/img/3/bluesword.png rename to public/img/3/bluesword.png diff --git a/assets/img/3/bluewingarcherarmor.png b/public/img/3/bluewingarcherarmor.png similarity index 100% rename from assets/img/3/bluewingarcherarmor.png rename to public/img/3/bluewingarcherarmor.png diff --git a/assets/img/3/bluewingarmor.png b/public/img/3/bluewingarmor.png similarity index 100% rename from assets/img/3/bluewingarmor.png rename to public/img/3/bluewingarmor.png diff --git a/assets/img/3/border.png b/public/img/3/border.png similarity index 100% rename from assets/img/3/border.png rename to public/img/3/border.png diff --git a/assets/img/3/boss.png b/public/img/3/boss.png similarity index 100% rename from assets/img/3/boss.png rename to public/img/3/boss.png diff --git a/assets/img/3/bow.png b/public/img/3/bow.png similarity index 100% rename from assets/img/3/bow.png rename to public/img/3/bow.png diff --git a/assets/img/3/boxingman.png b/public/img/3/boxingman.png similarity index 100% rename from assets/img/3/boxingman.png rename to public/img/3/boxingman.png diff --git a/assets/img/3/breaker.png b/public/img/3/breaker.png similarity index 100% rename from assets/img/3/breaker.png rename to public/img/3/breaker.png diff --git a/assets/img/3/bridalmask.png b/public/img/3/bridalmask.png similarity index 100% rename from assets/img/3/bridalmask.png rename to public/img/3/bridalmask.png diff --git a/assets/img/3/bronzemedal.png b/public/img/3/bronzemedal.png similarity index 100% rename from assets/img/3/bronzemedal.png rename to public/img/3/bronzemedal.png diff --git a/assets/img/3/brownmouse.png b/public/img/3/brownmouse.png similarity index 100% rename from assets/img/3/brownmouse.png rename to public/img/3/brownmouse.png diff --git a/assets/img/3/bucklerbenef.png b/public/img/3/bucklerbenef.png similarity index 100% rename from assets/img/3/bucklerbenef.png rename to public/img/3/bucklerbenef.png diff --git a/assets/img/3/burgerarmor.png b/public/img/3/burgerarmor.png similarity index 100% rename from assets/img/3/burgerarmor.png rename to public/img/3/burgerarmor.png diff --git a/assets/img/3/burningstrike.png b/public/img/3/burningstrike.png similarity index 100% rename from assets/img/3/burningstrike.png rename to public/img/3/burningstrike.png diff --git a/assets/img/3/butcherknife.png b/public/img/3/butcherknife.png similarity index 100% rename from assets/img/3/butcherknife.png rename to public/img/3/butcherknife.png diff --git a/assets/img/3/buttons.png b/public/img/3/buttons.png similarity index 100% rename from assets/img/3/buttons.png rename to public/img/3/buttons.png diff --git a/assets/img/3/cactus.png b/public/img/3/cactus.png similarity index 100% rename from assets/img/3/cactus.png rename to public/img/3/cactus.png diff --git a/assets/img/3/cactusaxe.png b/public/img/3/cactusaxe.png similarity index 100% rename from assets/img/3/cactusaxe.png rename to public/img/3/cactusaxe.png diff --git a/assets/img/3/candybar.png b/public/img/3/candybar.png similarity index 100% rename from assets/img/3/candybar.png rename to public/img/3/candybar.png diff --git a/assets/img/3/captainbow.png b/public/img/3/captainbow.png similarity index 100% rename from assets/img/3/captainbow.png rename to public/img/3/captainbow.png diff --git a/assets/img/3/cat.png b/public/img/3/cat.png similarity index 100% rename from assets/img/3/cat.png rename to public/img/3/cat.png diff --git a/assets/img/3/catarmor.png b/public/img/3/catarmor.png similarity index 100% rename from assets/img/3/catarmor.png rename to public/img/3/catarmor.png diff --git a/assets/img/3/characterbutton.png b/public/img/3/characterbutton.png similarity index 100% rename from assets/img/3/characterbutton.png rename to public/img/3/characterbutton.png diff --git a/assets/img/3/characterdialog.png b/public/img/3/characterdialog.png similarity index 100% rename from assets/img/3/characterdialog.png rename to public/img/3/characterdialog.png diff --git a/assets/img/3/characterdialogsheet.png b/public/img/3/characterdialogsheet.png similarity index 100% rename from assets/img/3/characterdialogsheet.png rename to public/img/3/characterdialogsheet.png diff --git a/assets/img/3/cheoliarcherarmor.png b/public/img/3/cheoliarcherarmor.png similarity index 100% rename from assets/img/3/cheoliarcherarmor.png rename to public/img/3/cheoliarcherarmor.png diff --git a/assets/img/3/cheoliarmor.png b/public/img/3/cheoliarmor.png similarity index 100% rename from assets/img/3/cheoliarmor.png rename to public/img/3/cheoliarmor.png diff --git a/assets/img/3/chest.png b/public/img/3/chest.png similarity index 100% rename from assets/img/3/chest.png rename to public/img/3/chest.png diff --git a/assets/img/3/christmasarmor.png b/public/img/3/christmasarmor.png similarity index 100% rename from assets/img/3/christmasarmor.png rename to public/img/3/christmasarmor.png diff --git a/assets/img/3/clam.png b/public/img/3/clam.png similarity index 100% rename from assets/img/3/clam.png rename to public/img/3/clam.png diff --git a/assets/img/3/clotharmor.png b/public/img/3/clotharmor.png similarity index 100% rename from assets/img/3/clotharmor.png rename to public/img/3/clotharmor.png diff --git a/assets/img/3/clotharmor2.png b/public/img/3/clotharmor2.png similarity index 100% rename from assets/img/3/clotharmor2.png rename to public/img/3/clotharmor2.png diff --git a/assets/img/3/clotharmor3.png b/public/img/3/clotharmor3.png similarity index 100% rename from assets/img/3/clotharmor3.png rename to public/img/3/clotharmor3.png diff --git a/assets/img/3/clotharmor4.png b/public/img/3/clotharmor4.png similarity index 100% rename from assets/img/3/clotharmor4.png rename to public/img/3/clotharmor4.png diff --git a/assets/img/3/cobra.png b/public/img/3/cobra.png similarity index 100% rename from assets/img/3/cobra.png rename to public/img/3/cobra.png diff --git a/assets/img/3/cockroachsuit.png b/public/img/3/cockroachsuit.png similarity index 100% rename from assets/img/3/cockroachsuit.png rename to public/img/3/cockroachsuit.png diff --git a/assets/img/3/coder.png b/public/img/3/coder.png similarity index 100% rename from assets/img/3/coder.png rename to public/img/3/coder.png diff --git a/assets/img/3/cokearmor.png b/public/img/3/cokearmor.png similarity index 100% rename from assets/img/3/cokearmor.png rename to public/img/3/cokearmor.png diff --git a/assets/img/3/comb.png b/public/img/3/comb.png similarity index 100% rename from assets/img/3/comb.png rename to public/img/3/comb.png diff --git a/assets/img/3/combatuniform.png b/public/img/3/combatuniform.png similarity index 100% rename from assets/img/3/combatuniform.png rename to public/img/3/combatuniform.png diff --git a/assets/img/3/conferencecall.png b/public/img/3/conferencecall.png similarity index 100% rename from assets/img/3/conferencecall.png rename to public/img/3/conferencecall.png diff --git a/assets/img/3/containers.png b/public/img/3/containers.png similarity index 100% rename from assets/img/3/containers.png rename to public/img/3/containers.png diff --git a/assets/img/3/crab.png b/public/img/3/crab.png similarity index 100% rename from assets/img/3/crab.png rename to public/img/3/crab.png diff --git a/assets/img/3/criticaleffect.png b/public/img/3/criticaleffect.png similarity index 100% rename from assets/img/3/criticaleffect.png rename to public/img/3/criticaleffect.png diff --git a/assets/img/3/criticalstrike.png b/public/img/3/criticalstrike.png similarity index 100% rename from assets/img/3/criticalstrike.png rename to public/img/3/criticalstrike.png diff --git a/assets/img/3/crystalarcherarmor.png b/public/img/3/crystalarcherarmor.png similarity index 100% rename from assets/img/3/crystalarcherarmor.png rename to public/img/3/crystalarcherarmor.png diff --git a/assets/img/3/crystalarmor.png b/public/img/3/crystalarmor.png similarity index 100% rename from assets/img/3/crystalarmor.png rename to public/img/3/crystalarmor.png diff --git a/assets/img/3/crystalbow.png b/public/img/3/crystalbow.png similarity index 100% rename from assets/img/3/crystalbow.png rename to public/img/3/crystalbow.png diff --git a/assets/img/3/crystalscolpion.png b/public/img/3/crystalscolpion.png similarity index 100% rename from assets/img/3/crystalscolpion.png rename to public/img/3/crystalscolpion.png diff --git a/assets/img/3/cursedhahoemask.png b/public/img/3/cursedhahoemask.png similarity index 100% rename from assets/img/3/cursedhahoemask.png rename to public/img/3/cursedhahoemask.png diff --git a/assets/img/3/cursedjangseung.png b/public/img/3/cursedjangseung.png similarity index 100% rename from assets/img/3/cursedjangseung.png rename to public/img/3/cursedjangseung.png diff --git a/assets/img/3/damboarmor.png b/public/img/3/damboarmor.png similarity index 100% rename from assets/img/3/damboarmor.png rename to public/img/3/damboarmor.png diff --git a/assets/img/3/darkogre.png b/public/img/3/darkogre.png similarity index 100% rename from assets/img/3/darkogre.png rename to public/img/3/darkogre.png diff --git a/assets/img/3/darkregion.png b/public/img/3/darkregion.png similarity index 100% rename from assets/img/3/darkregion.png rename to public/img/3/darkregion.png diff --git a/assets/img/3/darkregionillusion.png b/public/img/3/darkregionillusion.png similarity index 100% rename from assets/img/3/darkregionillusion.png rename to public/img/3/darkregionillusion.png diff --git a/assets/img/3/darkscolpion.png b/public/img/3/darkscolpion.png similarity index 100% rename from assets/img/3/darkscolpion.png rename to public/img/3/darkscolpion.png diff --git a/assets/img/3/darkskeleton.png b/public/img/3/darkskeleton.png similarity index 100% rename from assets/img/3/darkskeleton.png rename to public/img/3/darkskeleton.png diff --git a/assets/img/3/daywalker.png b/public/img/3/daywalker.png similarity index 100% rename from assets/img/3/daywalker.png rename to public/img/3/daywalker.png diff --git a/assets/img/3/death.png b/public/img/3/death.png similarity index 100% rename from assets/img/3/death.png rename to public/img/3/death.png diff --git a/assets/img/3/deathbow.png b/public/img/3/deathbow.png similarity index 100% rename from assets/img/3/deathbow.png rename to public/img/3/deathbow.png diff --git a/assets/img/3/deathknight.png b/public/img/3/deathknight.png similarity index 100% rename from assets/img/3/deathknight.png rename to public/img/3/deathknight.png diff --git a/assets/img/3/desertnpc.png b/public/img/3/desertnpc.png similarity index 100% rename from assets/img/3/desertnpc.png rename to public/img/3/desertnpc.png diff --git a/assets/img/3/desertscolpion.png b/public/img/3/desertscolpion.png similarity index 100% rename from assets/img/3/desertscolpion.png rename to public/img/3/desertscolpion.png diff --git a/assets/img/3/devilkazya.png b/public/img/3/devilkazya.png similarity index 100% rename from assets/img/3/devilkazya.png rename to public/img/3/devilkazya.png diff --git a/assets/img/3/devilkazyaarmor.png b/public/img/3/devilkazyaarmor.png similarity index 100% rename from assets/img/3/devilkazyaarmor.png rename to public/img/3/devilkazyaarmor.png diff --git a/assets/img/3/devilkazyasword.png b/public/img/3/devilkazyasword.png similarity index 100% rename from assets/img/3/devilkazyasword.png rename to public/img/3/devilkazyasword.png diff --git a/assets/img/3/dinosaurarmor.png b/public/img/3/dinosaurarmor.png similarity index 100% rename from assets/img/3/dinosaurarmor.png rename to public/img/3/dinosaurarmor.png diff --git a/assets/img/3/doctor.png b/public/img/3/doctor.png similarity index 100% rename from assets/img/3/doctor.png rename to public/img/3/doctor.png diff --git a/assets/img/3/dog.png b/public/img/3/dog.png similarity index 100% rename from assets/img/3/dog.png rename to public/img/3/dog.png diff --git a/assets/img/3/dovakinarcherarmor.png b/public/img/3/dovakinarcherarmor.png similarity index 100% rename from assets/img/3/dovakinarcherarmor.png rename to public/img/3/dovakinarcherarmor.png diff --git a/assets/img/3/dovakinarmor.png b/public/img/3/dovakinarmor.png similarity index 100% rename from assets/img/3/dovakinarmor.png rename to public/img/3/dovakinarmor.png diff --git a/assets/img/3/dragonarmor.png b/public/img/3/dragonarmor.png similarity index 100% rename from assets/img/3/dragonarmor.png rename to public/img/3/dragonarmor.png diff --git a/assets/img/3/earthworm.png b/public/img/3/earthworm.png similarity index 100% rename from assets/img/3/earthworm.png rename to public/img/3/earthworm.png diff --git a/assets/img/3/elfnpc.png b/public/img/3/elfnpc.png similarity index 100% rename from assets/img/3/elfnpc.png rename to public/img/3/elfnpc.png diff --git a/assets/img/3/eliminator.png b/public/img/3/eliminator.png similarity index 100% rename from assets/img/3/eliminator.png rename to public/img/3/eliminator.png diff --git a/assets/img/3/enel.png b/public/img/3/enel.png similarity index 100% rename from assets/img/3/enel.png rename to public/img/3/enel.png diff --git a/assets/img/3/enelarmor.png b/public/img/3/enelarmor.png similarity index 100% rename from assets/img/3/enelarmor.png rename to public/img/3/enelarmor.png diff --git a/assets/img/3/eneltrident.png b/public/img/3/eneltrident.png similarity index 100% rename from assets/img/3/eneltrident.png rename to public/img/3/eneltrident.png diff --git a/assets/img/3/evasion.png b/public/img/3/evasion.png similarity index 100% rename from assets/img/3/evasion.png rename to public/img/3/evasion.png diff --git a/assets/img/3/evilarmor.png b/public/img/3/evilarmor.png similarity index 100% rename from assets/img/3/evilarmor.png rename to public/img/3/evilarmor.png diff --git a/assets/img/3/expbar.png b/public/img/3/expbar.png similarity index 100% rename from assets/img/3/expbar.png rename to public/img/3/expbar.png diff --git a/assets/img/3/explosion-boulder.png b/public/img/3/explosion-boulder.png similarity index 100% rename from assets/img/3/explosion-boulder.png rename to public/img/3/explosion-boulder.png diff --git a/assets/img/3/explosion-fireball.png b/public/img/3/explosion-fireball.png similarity index 100% rename from assets/img/3/explosion-fireball.png rename to public/img/3/explosion-fireball.png diff --git a/assets/img/3/explosion-heal.png b/public/img/3/explosion-heal.png similarity index 100% rename from assets/img/3/explosion-heal.png rename to public/img/3/explosion-heal.png diff --git a/assets/img/3/explosion-iceball.png b/public/img/3/explosion-iceball.png similarity index 100% rename from assets/img/3/explosion-iceball.png rename to public/img/3/explosion-iceball.png diff --git a/assets/img/3/explosion-lavaball.png b/public/img/3/explosion-lavaball.png similarity index 100% rename from assets/img/3/explosion-lavaball.png rename to public/img/3/explosion-lavaball.png diff --git a/assets/img/3/explosion-terror.png b/public/img/3/explosion-terror.png similarity index 100% rename from assets/img/3/explosion-terror.png rename to public/img/3/explosion-terror.png diff --git a/assets/img/3/eye.png b/public/img/3/eye.png similarity index 100% rename from assets/img/3/eye.png rename to public/img/3/eye.png diff --git a/assets/img/3/fairynpc.png b/public/img/3/fairynpc.png similarity index 100% rename from assets/img/3/fairynpc.png rename to public/img/3/fairynpc.png diff --git a/assets/img/3/fallenarcherarmor.png b/public/img/3/fallenarcherarmor.png similarity index 100% rename from assets/img/3/fallenarcherarmor.png rename to public/img/3/fallenarcherarmor.png diff --git a/assets/img/3/fallenarmor.png b/public/img/3/fallenarmor.png similarity index 100% rename from assets/img/3/fallenarmor.png rename to public/img/3/fallenarmor.png diff --git a/assets/img/3/firebenef.png b/public/img/3/firebenef.png similarity index 100% rename from assets/img/3/firebenef.png rename to public/img/3/firebenef.png diff --git a/assets/img/3/firefox.png b/public/img/3/firefox.png similarity index 100% rename from assets/img/3/firefox.png rename to public/img/3/firefox.png diff --git a/assets/img/3/fireplay.png b/public/img/3/fireplay.png similarity index 100% rename from assets/img/3/fireplay.png rename to public/img/3/fireplay.png diff --git a/assets/img/3/fireshot.png b/public/img/3/fireshot.png similarity index 100% rename from assets/img/3/fireshot.png rename to public/img/3/fireshot.png diff --git a/assets/img/3/firespider.png b/public/img/3/firespider.png similarity index 100% rename from assets/img/3/firespider.png rename to public/img/3/firespider.png diff --git a/assets/img/3/firesword.png b/public/img/3/firesword.png similarity index 100% rename from assets/img/3/firesword.png rename to public/img/3/firesword.png diff --git a/assets/img/3/firstsonangelnpc.png b/public/img/3/firstsonangelnpc.png similarity index 100% rename from assets/img/3/firstsonangelnpc.png rename to public/img/3/firstsonangelnpc.png diff --git a/assets/img/3/fisherman.png b/public/img/3/fisherman.png similarity index 100% rename from assets/img/3/fisherman.png rename to public/img/3/fisherman.png diff --git a/assets/img/3/flaredance.png b/public/img/3/flaredance.png similarity index 100% rename from assets/img/3/flaredance.png rename to public/img/3/flaredance.png diff --git a/assets/img/3/flaredanceeffect.png b/public/img/3/flaredanceeffect.png similarity index 100% rename from assets/img/3/flaredanceeffect.png rename to public/img/3/flaredanceeffect.png diff --git a/assets/img/3/flaredeathknight.png b/public/img/3/flaredeathknight.png similarity index 100% rename from assets/img/3/flaredeathknight.png rename to public/img/3/flaredeathknight.png diff --git a/assets/img/3/fluffy.png b/public/img/3/fluffy.png similarity index 100% rename from assets/img/3/fluffy.png rename to public/img/3/fluffy.png diff --git a/assets/img/3/forestbow.png b/public/img/3/forestbow.png similarity index 100% rename from assets/img/3/forestbow.png rename to public/img/3/forestbow.png diff --git a/assets/img/3/forestdragon.png b/public/img/3/forestdragon.png similarity index 100% rename from assets/img/3/forestdragon.png rename to public/img/3/forestdragon.png diff --git a/assets/img/3/forestguardiansword.png b/public/img/3/forestguardiansword.png similarity index 100% rename from assets/img/3/forestguardiansword.png rename to public/img/3/forestguardiansword.png diff --git a/assets/img/3/forestnpc.png b/public/img/3/forestnpc.png similarity index 100% rename from assets/img/3/forestnpc.png rename to public/img/3/forestnpc.png diff --git a/assets/img/3/frankensteinarmor.png b/public/img/3/frankensteinarmor.png similarity index 100% rename from assets/img/3/frankensteinarmor.png rename to public/img/3/frankensteinarmor.png diff --git a/assets/img/3/friedpotatoarmor.png b/public/img/3/friedpotatoarmor.png similarity index 100% rename from assets/img/3/friedpotatoarmor.png rename to public/img/3/friedpotatoarmor.png diff --git a/assets/img/3/frog.png b/public/img/3/frog.png similarity index 100% rename from assets/img/3/frog.png rename to public/img/3/frog.png diff --git a/assets/img/3/frogarmor.png b/public/img/3/frogarmor.png similarity index 100% rename from assets/img/3/frogarmor.png rename to public/img/3/frogarmor.png diff --git a/assets/img/3/frostarmor.png b/public/img/3/frostarmor.png similarity index 100% rename from assets/img/3/frostarmor.png rename to public/img/3/frostarmor.png diff --git a/assets/img/3/frostqueen.png b/public/img/3/frostqueen.png similarity index 100% rename from assets/img/3/frostqueen.png rename to public/img/3/frostqueen.png diff --git a/assets/img/3/gayarcherarmor.png b/public/img/3/gayarcherarmor.png similarity index 100% rename from assets/img/3/gayarcherarmor.png rename to public/img/3/gayarcherarmor.png diff --git a/assets/img/3/gayarmor.png b/public/img/3/gayarmor.png similarity index 100% rename from assets/img/3/gayarmor.png rename to public/img/3/gayarmor.png diff --git a/assets/img/3/gaybow.png b/public/img/3/gaybow.png similarity index 100% rename from assets/img/3/gaybow.png rename to public/img/3/gaybow.png diff --git a/assets/img/3/gbwingarcherarmor.png b/public/img/3/gbwingarcherarmor.png similarity index 100% rename from assets/img/3/gbwingarcherarmor.png rename to public/img/3/gbwingarcherarmor.png diff --git a/assets/img/3/gbwingarmor.png b/public/img/3/gbwingarmor.png similarity index 100% rename from assets/img/3/gbwingarmor.png rename to public/img/3/gbwingarmor.png diff --git a/assets/img/3/ghost.png b/public/img/3/ghost.png similarity index 100% rename from assets/img/3/ghost.png rename to public/img/3/ghost.png diff --git a/assets/img/3/ghostrider.png b/public/img/3/ghostrider.png similarity index 100% rename from assets/img/3/ghostrider.png rename to public/img/3/ghostrider.png diff --git a/assets/img/3/goblin.png b/public/img/3/goblin.png similarity index 100% rename from assets/img/3/goblin.png rename to public/img/3/goblin.png diff --git a/assets/img/3/goldaxe.png b/public/img/3/goldaxe.png similarity index 100% rename from assets/img/3/goldaxe.png rename to public/img/3/goldaxe.png diff --git a/assets/img/3/goldenarcherarmor.png b/public/img/3/goldenarcherarmor.png similarity index 100% rename from assets/img/3/goldenarcherarmor.png rename to public/img/3/goldenarcherarmor.png diff --git a/assets/img/3/goldenarmor.png b/public/img/3/goldenarmor.png similarity index 100% rename from assets/img/3/goldenarmor.png rename to public/img/3/goldenarmor.png diff --git a/assets/img/3/goldenbow.png b/public/img/3/goldenbow.png similarity index 100% rename from assets/img/3/goldenbow.png rename to public/img/3/goldenbow.png diff --git a/assets/img/3/goldensword.png b/public/img/3/goldensword.png similarity index 100% rename from assets/img/3/goldensword.png rename to public/img/3/goldensword.png diff --git a/assets/img/3/goldgolem.png b/public/img/3/goldgolem.png similarity index 100% rename from assets/img/3/goldgolem.png rename to public/img/3/goldgolem.png diff --git a/assets/img/3/goldmedal.png b/public/img/3/goldmedal.png similarity index 100% rename from assets/img/3/goldmedal.png rename to public/img/3/goldmedal.png diff --git a/assets/img/3/golem.png b/public/img/3/golem.png similarity index 100% rename from assets/img/3/golem.png rename to public/img/3/golem.png diff --git a/assets/img/3/greenarcherarmor.png b/public/img/3/greenarcherarmor.png similarity index 100% rename from assets/img/3/greenarcherarmor.png rename to public/img/3/greenarcherarmor.png diff --git a/assets/img/3/greenarmor.png b/public/img/3/greenarmor.png similarity index 100% rename from assets/img/3/greenarmor.png rename to public/img/3/greenarmor.png diff --git a/assets/img/3/greenbow.png b/public/img/3/greenbow.png similarity index 100% rename from assets/img/3/greenbow.png rename to public/img/3/greenbow.png diff --git a/assets/img/3/greendamboarmor.png b/public/img/3/greendamboarmor.png similarity index 100% rename from assets/img/3/greendamboarmor.png rename to public/img/3/greendamboarmor.png diff --git a/assets/img/3/greenfish.png b/public/img/3/greenfish.png similarity index 100% rename from assets/img/3/greenfish.png rename to public/img/3/greenfish.png diff --git a/assets/img/3/greenlightbow.png b/public/img/3/greenlightbow.png similarity index 100% rename from assets/img/3/greenlightbow.png rename to public/img/3/greenlightbow.png diff --git a/assets/img/3/greenlightsaber.png b/public/img/3/greenlightsaber.png similarity index 100% rename from assets/img/3/greenlightsaber.png rename to public/img/3/greenlightsaber.png diff --git a/assets/img/3/greenpirateskeleton.png b/public/img/3/greenpirateskeleton.png similarity index 100% rename from assets/img/3/greenpirateskeleton.png rename to public/img/3/greenpirateskeleton.png diff --git a/assets/img/3/greenwingarcherarmor.png b/public/img/3/greenwingarcherarmor.png similarity index 100% rename from assets/img/3/greenwingarcherarmor.png rename to public/img/3/greenwingarcherarmor.png diff --git a/assets/img/3/greenwingarmor.png b/public/img/3/greenwingarmor.png similarity index 100% rename from assets/img/3/greenwingarmor.png rename to public/img/3/greenwingarmor.png diff --git a/assets/img/3/guard.png b/public/img/3/guard.png similarity index 100% rename from assets/img/3/guard.png rename to public/img/3/guard.png diff --git a/assets/img/3/guardarcherarmor.png b/public/img/3/guardarcherarmor.png similarity index 100% rename from assets/img/3/guardarcherarmor.png rename to public/img/3/guardarcherarmor.png diff --git a/assets/img/3/guardarmor.png b/public/img/3/guardarmor.png similarity index 100% rename from assets/img/3/guardarmor.png rename to public/img/3/guardarmor.png diff --git a/assets/img/3/halberd.png b/public/img/3/halberd.png similarity index 100% rename from assets/img/3/halberd.png rename to public/img/3/halberd.png diff --git a/assets/img/3/halloweenjkarmor.png b/public/img/3/halloweenjkarmor.png similarity index 100% rename from assets/img/3/halloweenjkarmor.png rename to public/img/3/halloweenjkarmor.png diff --git a/assets/img/3/hammer.png b/public/img/3/hammer.png similarity index 100% rename from assets/img/3/hammer.png rename to public/img/3/hammer.png diff --git a/assets/img/3/hand.png b/public/img/3/hand.png similarity index 100% rename from assets/img/3/hand.png rename to public/img/3/hand.png diff --git a/assets/img/3/heal.png b/public/img/3/heal.png similarity index 100% rename from assets/img/3/heal.png rename to public/img/3/heal.png diff --git a/assets/img/3/healactiveicon.png b/public/img/3/healactiveicon.png similarity index 100% rename from assets/img/3/healactiveicon.png rename to public/img/3/healactiveicon.png diff --git a/assets/img/3/healeffect.png b/public/img/3/healeffect.png similarity index 100% rename from assets/img/3/healeffect.png rename to public/img/3/healeffect.png diff --git a/assets/img/3/hellspider.png b/public/img/3/hellspider.png similarity index 100% rename from assets/img/3/hellspider.png rename to public/img/3/hellspider.png diff --git a/assets/img/3/helpbutton.png b/public/img/3/helpbutton.png similarity index 100% rename from assets/img/3/helpbutton.png rename to public/img/3/helpbutton.png diff --git a/assets/img/3/hermitcrab.png b/public/img/3/hermitcrab.png similarity index 100% rename from assets/img/3/hermitcrab.png rename to public/img/3/hermitcrab.png diff --git a/assets/img/3/hobgoblin.png b/public/img/3/hobgoblin.png similarity index 100% rename from assets/img/3/hobgoblin.png rename to public/img/3/hobgoblin.png diff --git a/assets/img/3/hongcheol.png b/public/img/3/hongcheol.png similarity index 100% rename from assets/img/3/hongcheol.png rename to public/img/3/hongcheol.png diff --git a/assets/img/3/hongcheolarmor.png b/public/img/3/hongcheolarmor.png similarity index 100% rename from assets/img/3/hongcheolarmor.png rename to public/img/3/hongcheolarmor.png diff --git a/assets/img/3/hpbar.png b/public/img/3/hpbar.png similarity index 100% rename from assets/img/3/hpbar.png rename to public/img/3/hpbar.png diff --git a/assets/img/3/huniarmor.png b/public/img/3/huniarmor.png similarity index 100% rename from assets/img/3/huniarmor.png rename to public/img/3/huniarmor.png diff --git a/assets/img/3/hunterbow.png b/public/img/3/hunterbow.png similarity index 100% rename from assets/img/3/hunterbow.png rename to public/img/3/hunterbow.png diff --git a/assets/img/3/iamverycoldnpc.png b/public/img/3/iamverycoldnpc.png similarity index 100% rename from assets/img/3/iamverycoldnpc.png rename to public/img/3/iamverycoldnpc.png diff --git a/assets/img/3/iceelfnpc.png b/public/img/3/iceelfnpc.png similarity index 100% rename from assets/img/3/iceelfnpc.png rename to public/img/3/iceelfnpc.png diff --git a/assets/img/3/icegoblin.png b/public/img/3/icegoblin.png similarity index 100% rename from assets/img/3/icegoblin.png rename to public/img/3/icegoblin.png diff --git a/assets/img/3/icegolem.png b/public/img/3/icegolem.png similarity index 100% rename from assets/img/3/icegolem.png rename to public/img/3/icegolem.png diff --git a/assets/img/3/iceknight.png b/public/img/3/iceknight.png similarity index 100% rename from assets/img/3/iceknight.png rename to public/img/3/iceknight.png diff --git a/assets/img/3/icerose.png b/public/img/3/icerose.png similarity index 100% rename from assets/img/3/icerose.png rename to public/img/3/icerose.png diff --git a/assets/img/3/icevulture.png b/public/img/3/icevulture.png similarity index 100% rename from assets/img/3/icevulture.png rename to public/img/3/icevulture.png diff --git a/assets/img/3/infectedguard.png b/public/img/3/infectedguard.png similarity index 100% rename from assets/img/3/infectedguard.png rename to public/img/3/infectedguard.png diff --git a/assets/img/3/inventory.png b/public/img/3/inventory.png similarity index 100% rename from assets/img/3/inventory.png rename to public/img/3/inventory.png diff --git a/assets/img/3/ironbow.png b/public/img/3/ironbow.png similarity index 100% rename from assets/img/3/ironbow.png rename to public/img/3/ironbow.png diff --git a/assets/img/3/ironknightarmor.png b/public/img/3/ironknightarmor.png similarity index 100% rename from assets/img/3/ironknightarmor.png rename to public/img/3/ironknightarmor.png diff --git a/assets/img/3/ironogre.png b/public/img/3/ironogre.png similarity index 100% rename from assets/img/3/ironogre.png rename to public/img/3/ironogre.png diff --git a/assets/img/3/item-adhererarcherarmor.png b/public/img/3/item-adhererarcherarmor.png similarity index 100% rename from assets/img/3/item-adhererarcherarmor.png rename to public/img/3/item-adhererarcherarmor.png diff --git a/assets/img/3/item-adhererrobe.png b/public/img/3/item-adhererrobe.png similarity index 100% rename from assets/img/3/item-adhererrobe.png rename to public/img/3/item-adhererrobe.png diff --git a/assets/img/3/item-adminarmor.png b/public/img/3/item-adminarmor.png similarity index 100% rename from assets/img/3/item-adminarmor.png rename to public/img/3/item-adminarmor.png diff --git a/assets/img/3/item-apple.png b/public/img/3/item-apple.png similarity index 100% rename from assets/img/3/item-apple.png rename to public/img/3/item-apple.png diff --git a/assets/img/3/item-archerarmor.png b/public/img/3/item-archerarmor.png similarity index 100% rename from assets/img/3/item-archerarmor.png rename to public/img/3/item-archerarmor.png diff --git a/assets/img/3/item-archerschooluniform.png b/public/img/3/item-archerschooluniform.png similarity index 100% rename from assets/img/3/item-archerschooluniform.png rename to public/img/3/item-archerschooluniform.png diff --git a/assets/img/3/item-armorbinding.png b/public/img/3/item-armorbinding.png similarity index 100% rename from assets/img/3/item-armorbinding.png rename to public/img/3/item-armorbinding.png diff --git a/assets/img/3/item-armorcommon.png b/public/img/3/item-armorcommon.png similarity index 100% rename from assets/img/3/item-armorcommon.png rename to public/img/3/item-armorcommon.png diff --git a/assets/img/3/item-armorpatches.png b/public/img/3/item-armorpatches.png similarity index 100% rename from assets/img/3/item-armorpatches.png rename to public/img/3/item-armorpatches.png diff --git a/assets/img/3/item-armorrare.png b/public/img/3/item-armorrare.png similarity index 100% rename from assets/img/3/item-armorrare.png rename to public/img/3/item-armorrare.png diff --git a/assets/img/3/item-armoruncommon.png b/public/img/3/item-armoruncommon.png similarity index 100% rename from assets/img/3/item-armoruncommon.png rename to public/img/3/item-armoruncommon.png diff --git a/assets/img/3/item-axe.png b/public/img/3/item-axe.png similarity index 100% rename from assets/img/3/item-axe.png rename to public/img/3/item-axe.png diff --git a/assets/img/3/item-bamboospear.png b/public/img/3/item-bamboospear.png similarity index 100% rename from assets/img/3/item-bamboospear.png rename to public/img/3/item-bamboospear.png diff --git a/assets/img/3/item-banana.png b/public/img/3/item-banana.png similarity index 100% rename from assets/img/3/item-banana.png rename to public/img/3/item-banana.png diff --git a/assets/img/3/item-bastardsword.png b/public/img/3/item-bastardsword.png similarity index 100% rename from assets/img/3/item-bastardsword.png rename to public/img/3/item-bastardsword.png diff --git a/assets/img/3/item-bearseonbiarmor.png b/public/img/3/item-bearseonbiarmor.png similarity index 100% rename from assets/img/3/item-bearseonbiarmor.png rename to public/img/3/item-bearseonbiarmor.png diff --git a/assets/img/3/item-beautifullife.png b/public/img/3/item-beautifullife.png similarity index 100% rename from assets/img/3/item-beautifullife.png rename to public/img/3/item-beautifullife.png diff --git a/assets/img/3/item-beearmor.png b/public/img/3/item-beearmor.png similarity index 100% rename from assets/img/3/item-beearmor.png rename to public/img/3/item-beearmor.png diff --git a/assets/img/3/item-beetlearmor.png b/public/img/3/item-beetlearmor.png similarity index 100% rename from assets/img/3/item-beetlearmor.png rename to public/img/3/item-beetlearmor.png diff --git a/assets/img/3/item-bigflask.png b/public/img/3/item-bigflask.png similarity index 100% rename from assets/img/3/item-bigflask.png rename to public/img/3/item-bigflask.png diff --git a/assets/img/3/item-blackpotion.png b/public/img/3/item-blackpotion.png similarity index 100% rename from assets/img/3/item-blackpotion.png rename to public/img/3/item-blackpotion.png diff --git a/assets/img/3/item-blackspiderarmor.png b/public/img/3/item-blackspiderarmor.png similarity index 100% rename from assets/img/3/item-blackspiderarmor.png rename to public/img/3/item-blackspiderarmor.png diff --git a/assets/img/3/item-bloodbow.png b/public/img/3/item-bloodbow.png similarity index 100% rename from assets/img/3/item-bloodbow.png rename to public/img/3/item-bloodbow.png diff --git a/assets/img/3/item-bluedamboarmor.png b/public/img/3/item-bluedamboarmor.png similarity index 100% rename from assets/img/3/item-bluedamboarmor.png rename to public/img/3/item-bluedamboarmor.png diff --git a/assets/img/3/item-bluepiratearmor.png b/public/img/3/item-bluepiratearmor.png similarity index 100% rename from assets/img/3/item-bluepiratearmor.png rename to public/img/3/item-bluepiratearmor.png diff --git a/assets/img/3/item-bluescimitar.png b/public/img/3/item-bluescimitar.png similarity index 100% rename from assets/img/3/item-bluescimitar.png rename to public/img/3/item-bluescimitar.png diff --git a/assets/img/3/item-bluesword.png b/public/img/3/item-bluesword.png similarity index 100% rename from assets/img/3/item-bluesword.png rename to public/img/3/item-bluesword.png diff --git a/assets/img/3/item-bluewingarcherarmor.png b/public/img/3/item-bluewingarcherarmor.png similarity index 100% rename from assets/img/3/item-bluewingarcherarmor.png rename to public/img/3/item-bluewingarcherarmor.png diff --git a/assets/img/3/item-bluewingarmor.png b/public/img/3/item-bluewingarmor.png similarity index 100% rename from assets/img/3/item-bluewingarmor.png rename to public/img/3/item-bluewingarmor.png diff --git a/assets/img/3/item-book.png b/public/img/3/item-book.png similarity index 100% rename from assets/img/3/item-book.png rename to public/img/3/item-book.png diff --git a/assets/img/3/item-bowcommon.png b/public/img/3/item-bowcommon.png similarity index 100% rename from assets/img/3/item-bowcommon.png rename to public/img/3/item-bowcommon.png diff --git a/assets/img/3/item-bowlimb.png b/public/img/3/item-bowlimb.png similarity index 100% rename from assets/img/3/item-bowlimb.png rename to public/img/3/item-bowlimb.png diff --git a/assets/img/3/item-bowrare.png b/public/img/3/item-bowrare.png similarity index 100% rename from assets/img/3/item-bowrare.png rename to public/img/3/item-bowrare.png diff --git a/assets/img/3/item-bowstring.png b/public/img/3/item-bowstring.png similarity index 100% rename from assets/img/3/item-bowstring.png rename to public/img/3/item-bowstring.png diff --git a/assets/img/3/item-bowuncommon.png b/public/img/3/item-bowuncommon.png similarity index 100% rename from assets/img/3/item-bowuncommon.png rename to public/img/3/item-bowuncommon.png diff --git a/assets/img/3/item-branch.png b/public/img/3/item-branch.png similarity index 100% rename from assets/img/3/item-branch.png rename to public/img/3/item-branch.png diff --git a/assets/img/3/item-breaker.png b/public/img/3/item-breaker.png similarity index 100% rename from assets/img/3/item-breaker.png rename to public/img/3/item-breaker.png diff --git a/assets/img/3/item-bridalmask.png b/public/img/3/item-bridalmask.png similarity index 100% rename from assets/img/3/item-bridalmask.png rename to public/img/3/item-bridalmask.png diff --git a/assets/img/3/item-burger.png b/public/img/3/item-burger.png similarity index 100% rename from assets/img/3/item-burger.png rename to public/img/3/item-burger.png diff --git a/assets/img/3/item-burgerarmor.png b/public/img/3/item-burgerarmor.png similarity index 100% rename from assets/img/3/item-burgerarmor.png rename to public/img/3/item-burgerarmor.png diff --git a/assets/img/3/item-butcherknife.png b/public/img/3/item-butcherknife.png similarity index 100% rename from assets/img/3/item-butcherknife.png rename to public/img/3/item-butcherknife.png diff --git a/assets/img/3/item-cactusaxe.png b/public/img/3/item-cactusaxe.png similarity index 100% rename from assets/img/3/item-cactusaxe.png rename to public/img/3/item-cactusaxe.png diff --git a/assets/img/3/item-cake.png b/public/img/3/item-cake.png similarity index 100% rename from assets/img/3/item-cake.png rename to public/img/3/item-cake.png diff --git a/assets/img/3/item-candybar.png b/public/img/3/item-candybar.png similarity index 100% rename from assets/img/3/item-candybar.png rename to public/img/3/item-candybar.png diff --git a/assets/img/3/item-captainbow.png b/public/img/3/item-captainbow.png similarity index 100% rename from assets/img/3/item-captainbow.png rename to public/img/3/item-captainbow.png diff --git a/assets/img/3/item-catarmor.png b/public/img/3/item-catarmor.png similarity index 100% rename from assets/img/3/item-catarmor.png rename to public/img/3/item-catarmor.png diff --git a/assets/img/3/item-cd.png b/public/img/3/item-cd.png similarity index 100% rename from assets/img/3/item-cd.png rename to public/img/3/item-cd.png diff --git a/assets/img/3/item-cheoliarcherarmor.png b/public/img/3/item-cheoliarcherarmor.png similarity index 100% rename from assets/img/3/item-cheoliarcherarmor.png rename to public/img/3/item-cheoliarcherarmor.png diff --git a/assets/img/3/item-cheoliarmor.png b/public/img/3/item-cheoliarmor.png similarity index 100% rename from assets/img/3/item-cheoliarmor.png rename to public/img/3/item-cheoliarmor.png diff --git a/assets/img/3/item-christmasarmor.png b/public/img/3/item-christmasarmor.png similarity index 100% rename from assets/img/3/item-christmasarmor.png rename to public/img/3/item-christmasarmor.png diff --git a/assets/img/3/item-cloth.png b/public/img/3/item-cloth.png similarity index 100% rename from assets/img/3/item-cloth.png rename to public/img/3/item-cloth.png diff --git a/assets/img/3/item-clotharmor.png b/public/img/3/item-clotharmor.png similarity index 100% rename from assets/img/3/item-clotharmor.png rename to public/img/3/item-clotharmor.png diff --git a/assets/img/3/item-cockroachsuit.png b/public/img/3/item-cockroachsuit.png similarity index 100% rename from assets/img/3/item-cockroachsuit.png rename to public/img/3/item-cockroachsuit.png diff --git a/assets/img/3/item-cokearmor.png b/public/img/3/item-cokearmor.png similarity index 100% rename from assets/img/3/item-cokearmor.png rename to public/img/3/item-cokearmor.png diff --git a/assets/img/3/item-comb.png b/public/img/3/item-comb.png similarity index 100% rename from assets/img/3/item-comb.png rename to public/img/3/item-comb.png diff --git a/assets/img/3/item-combatuniform.png b/public/img/3/item-combatuniform.png similarity index 100% rename from assets/img/3/item-combatuniform.png rename to public/img/3/item-combatuniform.png diff --git a/assets/img/3/item-conferencecall.png b/public/img/3/item-conferencecall.png similarity index 100% rename from assets/img/3/item-conferencecall.png rename to public/img/3/item-conferencecall.png diff --git a/assets/img/3/item-crystalarcherarmor.png b/public/img/3/item-crystalarcherarmor.png similarity index 100% rename from assets/img/3/item-crystalarcherarmor.png rename to public/img/3/item-crystalarcherarmor.png diff --git a/assets/img/3/item-crystalarmor.png b/public/img/3/item-crystalarmor.png similarity index 100% rename from assets/img/3/item-crystalarmor.png rename to public/img/3/item-crystalarmor.png diff --git a/assets/img/3/item-crystalbow.png b/public/img/3/item-crystalbow.png similarity index 100% rename from assets/img/3/item-crystalbow.png rename to public/img/3/item-crystalbow.png diff --git a/assets/img/3/item-damboarmor.png b/public/img/3/item-damboarmor.png similarity index 100% rename from assets/img/3/item-damboarmor.png rename to public/img/3/item-damboarmor.png diff --git a/assets/img/3/item-daywalker.png b/public/img/3/item-daywalker.png similarity index 100% rename from assets/img/3/item-daywalker.png rename to public/img/3/item-daywalker.png diff --git a/assets/img/3/item-deathbow.png b/public/img/3/item-deathbow.png similarity index 100% rename from assets/img/3/item-deathbow.png rename to public/img/3/item-deathbow.png diff --git a/assets/img/3/item-devilkazyaarmor.png b/public/img/3/item-devilkazyaarmor.png similarity index 100% rename from assets/img/3/item-devilkazyaarmor.png rename to public/img/3/item-devilkazyaarmor.png diff --git a/assets/img/3/item-devilkazyasword.png b/public/img/3/item-devilkazyasword.png similarity index 100% rename from assets/img/3/item-devilkazyasword.png rename to public/img/3/item-devilkazyasword.png diff --git a/assets/img/3/item-diamondring.png b/public/img/3/item-diamondring.png similarity index 100% rename from assets/img/3/item-diamondring.png rename to public/img/3/item-diamondring.png diff --git a/assets/img/3/item-dinosaurarmor.png b/public/img/3/item-dinosaurarmor.png similarity index 100% rename from assets/img/3/item-dinosaurarmor.png rename to public/img/3/item-dinosaurarmor.png diff --git a/assets/img/3/item-dolring.png b/public/img/3/item-dolring.png similarity index 100% rename from assets/img/3/item-dolring.png rename to public/img/3/item-dolring.png diff --git a/assets/img/3/item-dovakinarcherarmor.png b/public/img/3/item-dovakinarcherarmor.png similarity index 100% rename from assets/img/3/item-dovakinarcherarmor.png rename to public/img/3/item-dovakinarcherarmor.png diff --git a/assets/img/3/item-dovakinarmor.png b/public/img/3/item-dovakinarmor.png similarity index 100% rename from assets/img/3/item-dovakinarmor.png rename to public/img/3/item-dovakinarmor.png diff --git a/assets/img/3/item-dragonarmor.png b/public/img/3/item-dragonarmor.png similarity index 100% rename from assets/img/3/item-dragonarmor.png rename to public/img/3/item-dragonarmor.png diff --git a/assets/img/3/item-element.png b/public/img/3/item-element.png similarity index 100% rename from assets/img/3/item-element.png rename to public/img/3/item-element.png diff --git a/assets/img/3/item-emeraldring.png b/public/img/3/item-emeraldring.png similarity index 100% rename from assets/img/3/item-emeraldring.png rename to public/img/3/item-emeraldring.png diff --git a/assets/img/3/item-enelarmor.png b/public/img/3/item-enelarmor.png similarity index 100% rename from assets/img/3/item-enelarmor.png rename to public/img/3/item-enelarmor.png diff --git a/assets/img/3/item-eneltrident.png b/public/img/3/item-eneltrident.png similarity index 100% rename from assets/img/3/item-eneltrident.png rename to public/img/3/item-eneltrident.png diff --git a/assets/img/3/item-essentialrage.png b/public/img/3/item-essentialrage.png similarity index 100% rename from assets/img/3/item-essentialrage.png rename to public/img/3/item-essentialrage.png diff --git a/assets/img/3/item-evilarmor.png b/public/img/3/item-evilarmor.png similarity index 100% rename from assets/img/3/item-evilarmor.png rename to public/img/3/item-evilarmor.png diff --git a/assets/img/3/item-fallenarcherarmor.png b/public/img/3/item-fallenarcherarmor.png similarity index 100% rename from assets/img/3/item-fallenarcherarmor.png rename to public/img/3/item-fallenarcherarmor.png diff --git a/assets/img/3/item-fallenarmor.png b/public/img/3/item-fallenarmor.png similarity index 100% rename from assets/img/3/item-fallenarmor.png rename to public/img/3/item-fallenarmor.png diff --git a/assets/img/3/item-fireplay.png b/public/img/3/item-fireplay.png similarity index 100% rename from assets/img/3/item-fireplay.png rename to public/img/3/item-fireplay.png diff --git a/assets/img/3/item-firepotion.png b/public/img/3/item-firepotion.png similarity index 100% rename from assets/img/3/item-firepotion.png rename to public/img/3/item-firepotion.png diff --git a/assets/img/3/item-fireshot.png b/public/img/3/item-fireshot.png similarity index 100% rename from assets/img/3/item-fireshot.png rename to public/img/3/item-fireshot.png diff --git a/assets/img/3/item-firesword.png b/public/img/3/item-firesword.png similarity index 100% rename from assets/img/3/item-firesword.png rename to public/img/3/item-firesword.png diff --git a/assets/img/3/item-flask.png b/public/img/3/item-flask.png similarity index 100% rename from assets/img/3/item-flask.png rename to public/img/3/item-flask.png diff --git a/assets/img/3/item-forestbow.png b/public/img/3/item-forestbow.png similarity index 100% rename from assets/img/3/item-forestbow.png rename to public/img/3/item-forestbow.png diff --git a/assets/img/3/item-forestguardiansword.png b/public/img/3/item-forestguardiansword.png similarity index 100% rename from assets/img/3/item-forestguardiansword.png rename to public/img/3/item-forestguardiansword.png diff --git a/assets/img/3/item-frankensteinarmor.png b/public/img/3/item-frankensteinarmor.png similarity index 100% rename from assets/img/3/item-frankensteinarmor.png rename to public/img/3/item-frankensteinarmor.png diff --git a/assets/img/3/item-friedpotatoarmor.png b/public/img/3/item-friedpotatoarmor.png similarity index 100% rename from assets/img/3/item-friedpotatoarmor.png rename to public/img/3/item-friedpotatoarmor.png diff --git a/assets/img/3/item-frogarmor.png b/public/img/3/item-frogarmor.png similarity index 100% rename from assets/img/3/item-frogarmor.png rename to public/img/3/item-frogarmor.png diff --git a/assets/img/3/item-frostarmor.png b/public/img/3/item-frostarmor.png similarity index 100% rename from assets/img/3/item-frostarmor.png rename to public/img/3/item-frostarmor.png diff --git a/assets/img/3/item-gayarcherarmor.png b/public/img/3/item-gayarcherarmor.png similarity index 100% rename from assets/img/3/item-gayarcherarmor.png rename to public/img/3/item-gayarcherarmor.png diff --git a/assets/img/3/item-gayarmor.png b/public/img/3/item-gayarmor.png similarity index 100% rename from assets/img/3/item-gayarmor.png rename to public/img/3/item-gayarmor.png diff --git a/assets/img/3/item-gaybow.png b/public/img/3/item-gaybow.png similarity index 100% rename from assets/img/3/item-gaybow.png rename to public/img/3/item-gaybow.png diff --git a/assets/img/3/item-gbwingarcherarmor.png b/public/img/3/item-gbwingarcherarmor.png similarity index 100% rename from assets/img/3/item-gbwingarcherarmor.png rename to public/img/3/item-gbwingarcherarmor.png diff --git a/assets/img/3/item-gbwingarmor.png b/public/img/3/item-gbwingarmor.png similarity index 100% rename from assets/img/3/item-gbwingarmor.png rename to public/img/3/item-gbwingarmor.png diff --git a/assets/img/3/item-ghostrider.png b/public/img/3/item-ghostrider.png similarity index 100% rename from assets/img/3/item-ghostrider.png rename to public/img/3/item-ghostrider.png diff --git a/assets/img/3/item-gold.png b/public/img/3/item-gold.png similarity index 100% rename from assets/img/3/item-gold.png rename to public/img/3/item-gold.png diff --git a/assets/img/3/item-goldaxe.png b/public/img/3/item-goldaxe.png similarity index 100% rename from assets/img/3/item-goldaxe.png rename to public/img/3/item-goldaxe.png diff --git a/assets/img/3/item-goldenarcherarmor.png b/public/img/3/item-goldenarcherarmor.png similarity index 100% rename from assets/img/3/item-goldenarcherarmor.png rename to public/img/3/item-goldenarcherarmor.png diff --git a/assets/img/3/item-goldenarmor.png b/public/img/3/item-goldenarmor.png similarity index 100% rename from assets/img/3/item-goldenarmor.png rename to public/img/3/item-goldenarmor.png diff --git a/assets/img/3/item-goldenbow.png b/public/img/3/item-goldenbow.png similarity index 100% rename from assets/img/3/item-goldenbow.png rename to public/img/3/item-goldenbow.png diff --git a/assets/img/3/item-goldensword.png b/public/img/3/item-goldensword.png similarity index 100% rename from assets/img/3/item-goldensword.png rename to public/img/3/item-goldensword.png diff --git a/assets/img/3/item-goldring.png b/public/img/3/item-goldring.png similarity index 100% rename from assets/img/3/item-goldring.png rename to public/img/3/item-goldring.png diff --git a/assets/img/3/item-greenarcherarmor.png b/public/img/3/item-greenarcherarmor.png similarity index 100% rename from assets/img/3/item-greenarcherarmor.png rename to public/img/3/item-greenarcherarmor.png diff --git a/assets/img/3/item-greenarmor.png b/public/img/3/item-greenarmor.png similarity index 100% rename from assets/img/3/item-greenarmor.png rename to public/img/3/item-greenarmor.png diff --git a/assets/img/3/item-greenbow.png b/public/img/3/item-greenbow.png similarity index 100% rename from assets/img/3/item-greenbow.png rename to public/img/3/item-greenbow.png diff --git a/assets/img/3/item-greendamboarmor.png b/public/img/3/item-greendamboarmor.png similarity index 100% rename from assets/img/3/item-greendamboarmor.png rename to public/img/3/item-greendamboarmor.png diff --git a/assets/img/3/item-greenlightbow.png b/public/img/3/item-greenlightbow.png similarity index 100% rename from assets/img/3/item-greenlightbow.png rename to public/img/3/item-greenlightbow.png diff --git a/assets/img/3/item-greenlightsaber.png b/public/img/3/item-greenlightsaber.png similarity index 100% rename from assets/img/3/item-greenlightsaber.png rename to public/img/3/item-greenlightsaber.png diff --git a/assets/img/3/item-greenpendant.png b/public/img/3/item-greenpendant.png similarity index 100% rename from assets/img/3/item-greenpendant.png rename to public/img/3/item-greenpendant.png diff --git a/assets/img/3/item-greenwingarcherarmor.png b/public/img/3/item-greenwingarcherarmor.png similarity index 100% rename from assets/img/3/item-greenwingarcherarmor.png rename to public/img/3/item-greenwingarcherarmor.png diff --git a/assets/img/3/item-greenwingarmor.png b/public/img/3/item-greenwingarmor.png similarity index 100% rename from assets/img/3/item-greenwingarmor.png rename to public/img/3/item-greenwingarmor.png diff --git a/assets/img/3/item-guardarcherarmor.png b/public/img/3/item-guardarcherarmor.png similarity index 100% rename from assets/img/3/item-guardarcherarmor.png rename to public/img/3/item-guardarcherarmor.png diff --git a/assets/img/3/item-guardarmor.png b/public/img/3/item-guardarmor.png similarity index 100% rename from assets/img/3/item-guardarmor.png rename to public/img/3/item-guardarmor.png diff --git a/assets/img/3/item-halberd.png b/public/img/3/item-halberd.png similarity index 100% rename from assets/img/3/item-halberd.png rename to public/img/3/item-halberd.png diff --git a/assets/img/3/item-halloweenjkarmor.png b/public/img/3/item-halloweenjkarmor.png similarity index 100% rename from assets/img/3/item-halloweenjkarmor.png rename to public/img/3/item-halloweenjkarmor.png diff --git a/assets/img/3/item-hammer.png b/public/img/3/item-hammer.png similarity index 100% rename from assets/img/3/item-hammer.png rename to public/img/3/item-hammer.png diff --git a/assets/img/3/item-hongcheolarmor.png b/public/img/3/item-hongcheolarmor.png similarity index 100% rename from assets/img/3/item-hongcheolarmor.png rename to public/img/3/item-hongcheolarmor.png diff --git a/assets/img/3/item-huniarmor.png b/public/img/3/item-huniarmor.png similarity index 100% rename from assets/img/3/item-huniarmor.png rename to public/img/3/item-huniarmor.png diff --git a/assets/img/3/item-hunterbow.png b/public/img/3/item-hunterbow.png similarity index 100% rename from assets/img/3/item-hunterbow.png rename to public/img/3/item-hunterbow.png diff --git a/assets/img/3/item-icerose.png b/public/img/3/item-icerose.png similarity index 100% rename from assets/img/3/item-icerose.png rename to public/img/3/item-icerose.png diff --git a/assets/img/3/item-ironbow.png b/public/img/3/item-ironbow.png similarity index 100% rename from assets/img/3/item-ironbow.png rename to public/img/3/item-ironbow.png diff --git a/assets/img/3/item-ironknightarmor.png b/public/img/3/item-ironknightarmor.png similarity index 100% rename from assets/img/3/item-ironknightarmor.png rename to public/img/3/item-ironknightarmor.png diff --git a/assets/img/3/item-justicebow.png b/public/img/3/item-justicebow.png similarity index 100% rename from assets/img/3/item-justicebow.png rename to public/img/3/item-justicebow.png diff --git a/assets/img/3/item-justicehammer.png b/public/img/3/item-justicehammer.png similarity index 100% rename from assets/img/3/item-justicehammer.png rename to public/img/3/item-justicehammer.png diff --git a/assets/img/3/item-leaf.png b/public/img/3/item-leaf.png similarity index 100% rename from assets/img/3/item-leaf.png rename to public/img/3/item-leaf.png diff --git a/assets/img/3/item-leatherarcherarmor.png b/public/img/3/item-leatherarcherarmor.png similarity index 100% rename from assets/img/3/item-leatherarcherarmor.png rename to public/img/3/item-leatherarcherarmor.png diff --git a/assets/img/3/item-leatherarmor.png b/public/img/3/item-leatherarmor.png similarity index 100% rename from assets/img/3/item-leatherarmor.png rename to public/img/3/item-leatherarmor.png diff --git a/assets/img/3/item-legolasarmor.png b/public/img/3/item-legolasarmor.png similarity index 100% rename from assets/img/3/item-legolasarmor.png rename to public/img/3/item-legolasarmor.png diff --git a/assets/img/3/item-loveactring.png b/public/img/3/item-loveactring.png similarity index 100% rename from assets/img/3/item-loveactring.png rename to public/img/3/item-loveactring.png diff --git a/assets/img/3/item-machete.png b/public/img/3/item-machete.png similarity index 100% rename from assets/img/3/item-machete.png rename to public/img/3/item-machete.png diff --git a/assets/img/3/item-magicspear.png b/public/img/3/item-magicspear.png similarity index 100% rename from assets/img/3/item-magicspear.png rename to public/img/3/item-magicspear.png diff --git a/assets/img/3/item-mailarcherarmor.png b/public/img/3/item-mailarcherarmor.png similarity index 100% rename from assets/img/3/item-mailarcherarmor.png rename to public/img/3/item-mailarcherarmor.png diff --git a/assets/img/3/item-mailarmor.png b/public/img/3/item-mailarmor.png similarity index 100% rename from assets/img/3/item-mailarmor.png rename to public/img/3/item-mailarmor.png diff --git a/assets/img/3/item-manaflask.png b/public/img/3/item-manaflask.png similarity index 100% rename from assets/img/3/item-manaflask.png rename to public/img/3/item-manaflask.png diff --git a/assets/img/3/item-marblependant.png b/public/img/3/item-marblependant.png similarity index 100% rename from assets/img/3/item-marblependant.png rename to public/img/3/item-marblependant.png diff --git a/assets/img/3/item-marinebow.png b/public/img/3/item-marinebow.png similarity index 100% rename from assets/img/3/item-marinebow.png rename to public/img/3/item-marinebow.png diff --git a/assets/img/3/item-memme.png b/public/img/3/item-memme.png similarity index 100% rename from assets/img/3/item-memme.png rename to public/img/3/item-memme.png diff --git a/assets/img/3/item-mermaidbow.png b/public/img/3/item-mermaidbow.png similarity index 100% rename from assets/img/3/item-mermaidbow.png rename to public/img/3/item-mermaidbow.png diff --git a/assets/img/3/item-mineral.png b/public/img/3/item-mineral.png similarity index 100% rename from assets/img/3/item-mineral.png rename to public/img/3/item-mineral.png diff --git a/assets/img/3/item-miniseadragonarmor.png b/public/img/3/item-miniseadragonarmor.png similarity index 100% rename from assets/img/3/item-miniseadragonarmor.png rename to public/img/3/item-miniseadragonarmor.png diff --git a/assets/img/3/item-morningstar.png b/public/img/3/item-morningstar.png similarity index 100% rename from assets/img/3/item-morningstar.png rename to public/img/3/item-morningstar.png diff --git a/assets/img/3/item-mountforestdragon.png b/public/img/3/item-mountforestdragon.png similarity index 100% rename from assets/img/3/item-mountforestdragon.png rename to public/img/3/item-mountforestdragon.png diff --git a/assets/img/3/item-mountseadragon.png b/public/img/3/item-mountseadragon.png similarity index 100% rename from assets/img/3/item-mountseadragon.png rename to public/img/3/item-mountseadragon.png diff --git a/assets/img/3/item-mountwhitetiger.png b/public/img/3/item-mountwhitetiger.png similarity index 100% rename from assets/img/3/item-mountwhitetiger.png rename to public/img/3/item-mountwhitetiger.png diff --git a/assets/img/3/item-ninjaarmor.png b/public/img/3/item-ninjaarmor.png similarity index 100% rename from assets/img/3/item-ninjaarmor.png rename to public/img/3/item-ninjaarmor.png diff --git a/assets/img/3/item-orange.png b/public/img/3/item-orange.png similarity index 100% rename from assets/img/3/item-orange.png rename to public/img/3/item-orange.png diff --git a/assets/img/3/item-paewoldo.png b/public/img/3/item-paewoldo.png similarity index 100% rename from assets/img/3/item-paewoldo.png rename to public/img/3/item-paewoldo.png diff --git a/assets/img/3/item-paladinarmor.png b/public/img/3/item-paladinarmor.png similarity index 100% rename from assets/img/3/item-paladinarmor.png rename to public/img/3/item-paladinarmor.png diff --git a/assets/img/3/item-pearlpendant.png b/public/img/3/item-pearlpendant.png similarity index 100% rename from assets/img/3/item-pearlpendant.png rename to public/img/3/item-pearlpendant.png diff --git a/assets/img/3/item-pearlring.png b/public/img/3/item-pearlring.png similarity index 100% rename from assets/img/3/item-pearlring.png rename to public/img/3/item-pearlring.png diff --git a/assets/img/3/item-pendant1.png b/public/img/3/item-pendant1.png similarity index 100% rename from assets/img/3/item-pendant1.png rename to public/img/3/item-pendant1.png diff --git a/assets/img/3/item-pickle.png b/public/img/3/item-pickle.png similarity index 100% rename from assets/img/3/item-pickle.png rename to public/img/3/item-pickle.png diff --git a/assets/img/3/item-pinkcockroacharmor.png b/public/img/3/item-pinkcockroacharmor.png similarity index 100% rename from assets/img/3/item-pinkcockroacharmor.png rename to public/img/3/item-pinkcockroacharmor.png diff --git a/assets/img/3/item-pinksword.png b/public/img/3/item-pinksword.png similarity index 100% rename from assets/img/3/item-pinksword.png rename to public/img/3/item-pinksword.png diff --git a/assets/img/3/item-piratearcherarmor.png b/public/img/3/item-piratearcherarmor.png similarity index 100% rename from assets/img/3/item-piratearcherarmor.png rename to public/img/3/item-piratearcherarmor.png diff --git a/assets/img/3/item-pirateking.png b/public/img/3/item-pirateking.png similarity index 100% rename from assets/img/3/item-pirateking.png rename to public/img/3/item-pirateking.png diff --git a/assets/img/3/item-plasticbow.png b/public/img/3/item-plasticbow.png similarity index 100% rename from assets/img/3/item-plasticbow.png rename to public/img/3/item-plasticbow.png diff --git a/assets/img/3/item-platearcherarmor.png b/public/img/3/item-platearcherarmor.png similarity index 100% rename from assets/img/3/item-platearcherarmor.png rename to public/img/3/item-platearcherarmor.png diff --git a/assets/img/3/item-platearmor.png b/public/img/3/item-platearmor.png similarity index 100% rename from assets/img/3/item-platearmor.png rename to public/img/3/item-platearmor.png diff --git a/assets/img/3/item-plunger.png b/public/img/3/item-plunger.png similarity index 100% rename from assets/img/3/item-plunger.png rename to public/img/3/item-plunger.png diff --git a/assets/img/3/item-portalarmor.png b/public/img/3/item-portalarmor.png similarity index 100% rename from assets/img/3/item-portalarmor.png rename to public/img/3/item-portalarmor.png diff --git a/assets/img/3/item-powerarmour.png b/public/img/3/item-powerarmour.png similarity index 100% rename from assets/img/3/item-powerarmour.png rename to public/img/3/item-powerarmour.png diff --git a/assets/img/3/item-powersword.png b/public/img/3/item-powersword.png similarity index 100% rename from assets/img/3/item-powersword.png rename to public/img/3/item-powersword.png diff --git a/assets/img/3/item-purplecloudkallege.png b/public/img/3/item-purplecloudkallege.png similarity index 100% rename from assets/img/3/item-purplecloudkallege.png rename to public/img/3/item-purplecloudkallege.png diff --git a/assets/img/3/item-rabbitarmor.png b/public/img/3/item-rabbitarmor.png similarity index 100% rename from assets/img/3/item-rabbitarmor.png rename to public/img/3/item-rabbitarmor.png diff --git a/assets/img/3/item-radisharmor.png b/public/img/3/item-radisharmor.png similarity index 100% rename from assets/img/3/item-radisharmor.png rename to public/img/3/item-radisharmor.png diff --git a/assets/img/3/item-rainbowapro.png b/public/img/3/item-rainbowapro.png similarity index 100% rename from assets/img/3/item-rainbowapro.png rename to public/img/3/item-rainbowapro.png diff --git a/assets/img/3/item-rainbowsword.png b/public/img/3/item-rainbowsword.png similarity index 100% rename from assets/img/3/item-rainbowsword.png rename to public/img/3/item-rainbowsword.png diff --git a/assets/img/3/item-ratarcherarmor.png b/public/img/3/item-ratarcherarmor.png similarity index 100% rename from assets/img/3/item-ratarcherarmor.png rename to public/img/3/item-ratarcherarmor.png diff --git a/assets/img/3/item-ratarmor.png b/public/img/3/item-ratarmor.png similarity index 100% rename from assets/img/3/item-ratarmor.png rename to public/img/3/item-ratarmor.png diff --git a/assets/img/3/item-redarcherarmor.png b/public/img/3/item-redarcherarmor.png similarity index 100% rename from assets/img/3/item-redarcherarmor.png rename to public/img/3/item-redarcherarmor.png diff --git a/assets/img/3/item-redarmor.png b/public/img/3/item-redarmor.png similarity index 100% rename from assets/img/3/item-redarmor.png rename to public/img/3/item-redarmor.png diff --git a/assets/img/3/item-redbow.png b/public/img/3/item-redbow.png similarity index 100% rename from assets/img/3/item-redbow.png rename to public/img/3/item-redbow.png diff --git a/assets/img/3/item-reddamboarmor.png b/public/img/3/item-reddamboarmor.png similarity index 100% rename from assets/img/3/item-reddamboarmor.png rename to public/img/3/item-reddamboarmor.png diff --git a/assets/img/3/item-redenelbow.png b/public/img/3/item-redenelbow.png similarity index 100% rename from assets/img/3/item-redenelbow.png rename to public/img/3/item-redenelbow.png diff --git a/assets/img/3/item-redguardarcherarmor.png b/public/img/3/item-redguardarcherarmor.png similarity index 100% rename from assets/img/3/item-redguardarcherarmor.png rename to public/img/3/item-redguardarcherarmor.png diff --git a/assets/img/3/item-redguardarmor.png b/public/img/3/item-redguardarmor.png similarity index 100% rename from assets/img/3/item-redguardarmor.png rename to public/img/3/item-redguardarmor.png diff --git a/assets/img/3/item-redlightbow.png b/public/img/3/item-redlightbow.png similarity index 100% rename from assets/img/3/item-redlightbow.png rename to public/img/3/item-redlightbow.png diff --git a/assets/img/3/item-redlightsaber.png b/public/img/3/item-redlightsaber.png similarity index 100% rename from assets/img/3/item-redlightsaber.png rename to public/img/3/item-redlightsaber.png diff --git a/assets/img/3/item-redmetalbow.png b/public/img/3/item-redmetalbow.png similarity index 100% rename from assets/img/3/item-redmetalbow.png rename to public/img/3/item-redmetalbow.png diff --git a/assets/img/3/item-redmetalsword.png b/public/img/3/item-redmetalsword.png similarity index 100% rename from assets/img/3/item-redmetalsword.png rename to public/img/3/item-redmetalsword.png diff --git a/assets/img/3/item-redsickle.png b/public/img/3/item-redsickle.png similarity index 100% rename from assets/img/3/item-redsickle.png rename to public/img/3/item-redsickle.png diff --git a/assets/img/3/item-redsicklebow.png b/public/img/3/item-redsicklebow.png similarity index 100% rename from assets/img/3/item-redsicklebow.png rename to public/img/3/item-redsicklebow.png diff --git a/assets/img/3/item-redsword.png b/public/img/3/item-redsword.png similarity index 100% rename from assets/img/3/item-redsword.png rename to public/img/3/item-redsword.png diff --git a/assets/img/3/item-redwingarcherarmor.png b/public/img/3/item-redwingarcherarmor.png similarity index 100% rename from assets/img/3/item-redwingarcherarmor.png rename to public/img/3/item-redwingarcherarmor.png diff --git a/assets/img/3/item-redwingarmor.png b/public/img/3/item-redwingarmor.png similarity index 100% rename from assets/img/3/item-redwingarmor.png rename to public/img/3/item-redwingarmor.png diff --git a/assets/img/3/item-regionarmor.png b/public/img/3/item-regionarmor.png similarity index 100% rename from assets/img/3/item-regionarmor.png rename to public/img/3/item-regionarmor.png diff --git a/assets/img/3/item-ring1.png b/public/img/3/item-ring1.png similarity index 100% rename from assets/img/3/item-ring1.png rename to public/img/3/item-ring1.png diff --git a/assets/img/3/item-robocoparmor.png b/public/img/3/item-robocoparmor.png similarity index 100% rename from assets/img/3/item-robocoparmor.png rename to public/img/3/item-robocoparmor.png diff --git a/assets/img/3/item-rock.png b/public/img/3/item-rock.png similarity index 100% rename from assets/img/3/item-rock.png rename to public/img/3/item-rock.png diff --git a/assets/img/3/item-rose.png b/public/img/3/item-rose.png similarity index 100% rename from assets/img/3/item-rose.png rename to public/img/3/item-rose.png diff --git a/assets/img/3/item-rosebow.png b/public/img/3/item-rosebow.png similarity index 100% rename from assets/img/3/item-rosebow.png rename to public/img/3/item-rosebow.png diff --git a/assets/img/3/item-royalazalea.png b/public/img/3/item-royalazalea.png similarity index 100% rename from assets/img/3/item-royalazalea.png rename to public/img/3/item-royalazalea.png diff --git a/assets/img/3/item-rubyring.png b/public/img/3/item-rubyring.png similarity index 100% rename from assets/img/3/item-rubyring.png rename to public/img/3/item-rubyring.png diff --git a/assets/img/3/item-rudolfarmor.png b/public/img/3/item-rudolfarmor.png similarity index 100% rename from assets/img/3/item-rudolfarmor.png rename to public/img/3/item-rudolfarmor.png diff --git a/assets/img/3/item-sapphirering.png b/public/img/3/item-sapphirering.png similarity index 100% rename from assets/img/3/item-sapphirering.png rename to public/img/3/item-sapphirering.png diff --git a/assets/img/3/item-schooluniform.png b/public/img/3/item-schooluniform.png similarity index 100% rename from assets/img/3/item-schooluniform.png rename to public/img/3/item-schooluniform.png diff --git a/assets/img/3/item-scimitar.png b/public/img/3/item-scimitar.png similarity index 100% rename from assets/img/3/item-scimitar.png rename to public/img/3/item-scimitar.png diff --git a/assets/img/3/item-seadragonarmor.png b/public/img/3/item-seadragonarmor.png similarity index 100% rename from assets/img/3/item-seadragonarmor.png rename to public/img/3/item-seadragonarmor.png diff --git a/assets/img/3/item-seahorsebow.png b/public/img/3/item-seahorsebow.png similarity index 100% rename from assets/img/3/item-seahorsebow.png rename to public/img/3/item-seahorsebow.png diff --git a/assets/img/3/item-searage.png b/public/img/3/item-searage.png similarity index 100% rename from assets/img/3/item-searage.png rename to public/img/3/item-searage.png diff --git a/assets/img/3/item-seed.png b/public/img/3/item-seed.png similarity index 100% rename from assets/img/3/item-seed.png rename to public/img/3/item-seed.png diff --git a/assets/img/3/item-shadowregionarmor.png b/public/img/3/item-shadowregionarmor.png similarity index 100% rename from assets/img/3/item-shadowregionarmor.png rename to public/img/3/item-shadowregionarmor.png diff --git a/assets/img/3/item-shardt1.png b/public/img/3/item-shardt1.png similarity index 100% rename from assets/img/3/item-shardt1.png rename to public/img/3/item-shardt1.png diff --git a/assets/img/3/item-shardt2.png b/public/img/3/item-shardt2.png similarity index 100% rename from assets/img/3/item-shardt2.png rename to public/img/3/item-shardt2.png diff --git a/assets/img/3/item-shardt3.png b/public/img/3/item-shardt3.png similarity index 100% rename from assets/img/3/item-shardt3.png rename to public/img/3/item-shardt3.png diff --git a/assets/img/3/item-shardt4.png b/public/img/3/item-shardt4.png similarity index 100% rename from assets/img/3/item-shardt4.png rename to public/img/3/item-shardt4.png diff --git a/assets/img/3/item-shardt5.png b/public/img/3/item-shardt5.png similarity index 100% rename from assets/img/3/item-shardt5.png rename to public/img/3/item-shardt5.png diff --git a/assets/img/3/item-sickle.png b/public/img/3/item-sickle.png similarity index 100% rename from assets/img/3/item-sickle.png rename to public/img/3/item-sickle.png diff --git a/assets/img/3/item-sicklebow.png b/public/img/3/item-sicklebow.png similarity index 100% rename from assets/img/3/item-sicklebow.png rename to public/img/3/item-sicklebow.png diff --git a/assets/img/3/item-sidesword.png b/public/img/3/item-sidesword.png similarity index 100% rename from assets/img/3/item-sidesword.png rename to public/img/3/item-sidesword.png diff --git a/assets/img/3/item-skylightbow.png b/public/img/3/item-skylightbow.png similarity index 100% rename from assets/img/3/item-skylightbow.png rename to public/img/3/item-skylightbow.png diff --git a/assets/img/3/item-skylightsaber.png b/public/img/3/item-skylightsaber.png similarity index 100% rename from assets/img/3/item-skylightsaber.png rename to public/img/3/item-skylightsaber.png diff --git a/assets/img/3/item-snowfoxarcherarmor.png b/public/img/3/item-snowfoxarcherarmor.png similarity index 100% rename from assets/img/3/item-snowfoxarcherarmor.png rename to public/img/3/item-snowfoxarcherarmor.png diff --git a/assets/img/3/item-snowfoxarmor.png b/public/img/3/item-snowfoxarmor.png similarity index 100% rename from assets/img/3/item-snowfoxarmor.png rename to public/img/3/item-snowfoxarmor.png diff --git a/assets/img/3/item-snowmanarmor.png b/public/img/3/item-snowmanarmor.png similarity index 100% rename from assets/img/3/item-snowmanarmor.png rename to public/img/3/item-snowmanarmor.png diff --git a/assets/img/3/item-snowpotion.png b/public/img/3/item-snowpotion.png similarity index 100% rename from assets/img/3/item-snowpotion.png rename to public/img/3/item-snowpotion.png diff --git a/assets/img/3/item-spear.png b/public/img/3/item-spear.png similarity index 100% rename from assets/img/3/item-spear.png rename to public/img/3/item-spear.png diff --git a/assets/img/3/item-spiritring.png b/public/img/3/item-spiritring.png similarity index 100% rename from assets/img/3/item-spiritring.png rename to public/img/3/item-spiritring.png diff --git a/assets/img/3/item-sproutring.png b/public/img/3/item-sproutring.png similarity index 100% rename from assets/img/3/item-sproutring.png rename to public/img/3/item-sproutring.png diff --git a/assets/img/3/item-squeakyhammer.png b/public/img/3/item-squeakyhammer.png similarity index 100% rename from assets/img/3/item-squeakyhammer.png rename to public/img/3/item-squeakyhammer.png diff --git a/assets/img/3/item-squidarmor.png b/public/img/3/item-squidarmor.png similarity index 100% rename from assets/img/3/item-squidarmor.png rename to public/img/3/item-squidarmor.png diff --git a/assets/img/3/item-sword1.png b/public/img/3/item-sword1.png similarity index 100% rename from assets/img/3/item-sword1.png rename to public/img/3/item-sword1.png diff --git a/assets/img/3/item-sword2.png b/public/img/3/item-sword2.png similarity index 100% rename from assets/img/3/item-sword2.png rename to public/img/3/item-sword2.png diff --git a/assets/img/3/item-taekwondo.png b/public/img/3/item-taekwondo.png similarity index 100% rename from assets/img/3/item-taekwondo.png rename to public/img/3/item-taekwondo.png diff --git a/assets/img/3/item-tamagotchiring.png b/public/img/3/item-tamagotchiring.png similarity index 100% rename from assets/img/3/item-tamagotchiring.png rename to public/img/3/item-tamagotchiring.png diff --git a/assets/img/3/item-thiefarmor.png b/public/img/3/item-thiefarmor.png similarity index 100% rename from assets/img/3/item-thiefarmor.png rename to public/img/3/item-thiefarmor.png diff --git a/assets/img/3/item-tigerarmor.png b/public/img/3/item-tigerarmor.png similarity index 100% rename from assets/img/3/item-tigerarmor.png rename to public/img/3/item-tigerarmor.png diff --git a/assets/img/3/item-topazring.png b/public/img/3/item-topazring.png similarity index 100% rename from assets/img/3/item-topazring.png rename to public/img/3/item-topazring.png diff --git a/assets/img/3/item-trident.png b/public/img/3/item-trident.png similarity index 100% rename from assets/img/3/item-trident.png rename to public/img/3/item-trident.png diff --git a/assets/img/3/item-typhoon.png b/public/img/3/item-typhoon.png similarity index 100% rename from assets/img/3/item-typhoon.png rename to public/img/3/item-typhoon.png diff --git a/assets/img/3/item-violetbow.png b/public/img/3/item-violetbow.png similarity index 100% rename from assets/img/3/item-violetbow.png rename to public/img/3/item-violetbow.png diff --git a/assets/img/3/item-watermelon.png b/public/img/3/item-watermelon.png similarity index 100% rename from assets/img/3/item-watermelon.png rename to public/img/3/item-watermelon.png diff --git a/assets/img/3/item-watermelonbow.png b/public/img/3/item-watermelonbow.png similarity index 100% rename from assets/img/3/item-watermelonbow.png rename to public/img/3/item-watermelonbow.png diff --git a/assets/img/3/item-weaponblade.png b/public/img/3/item-weaponblade.png similarity index 100% rename from assets/img/3/item-weaponblade.png rename to public/img/3/item-weaponblade.png diff --git a/assets/img/3/item-weaponcommon.png b/public/img/3/item-weaponcommon.png similarity index 100% rename from assets/img/3/item-weaponcommon.png rename to public/img/3/item-weaponcommon.png diff --git a/assets/img/3/item-weaponhilt.png b/public/img/3/item-weaponhilt.png similarity index 100% rename from assets/img/3/item-weaponhilt.png rename to public/img/3/item-weaponhilt.png diff --git a/assets/img/3/item-weaponrare.png b/public/img/3/item-weaponrare.png similarity index 100% rename from assets/img/3/item-weaponrare.png rename to public/img/3/item-weaponrare.png diff --git a/assets/img/3/item-weaponuncommon.png b/public/img/3/item-weaponuncommon.png similarity index 100% rename from assets/img/3/item-weaponuncommon.png rename to public/img/3/item-weaponuncommon.png diff --git a/assets/img/3/item-weastaff.png b/public/img/3/item-weastaff.png similarity index 100% rename from assets/img/3/item-weastaff.png rename to public/img/3/item-weastaff.png diff --git a/assets/img/3/item-whip.png b/public/img/3/item-whip.png similarity index 100% rename from assets/img/3/item-whip.png rename to public/img/3/item-whip.png diff --git a/assets/img/3/item-whitearcherarmor.png b/public/img/3/item-whitearcherarmor.png similarity index 100% rename from assets/img/3/item-whitearcherarmor.png rename to public/img/3/item-whitearcherarmor.png diff --git a/assets/img/3/item-whitearmor.png b/public/img/3/item-whitearmor.png similarity index 100% rename from assets/img/3/item-whitearmor.png rename to public/img/3/item-whitearmor.png diff --git a/assets/img/3/item-wizardrobe.png b/public/img/3/item-wizardrobe.png similarity index 100% rename from assets/img/3/item-wizardrobe.png rename to public/img/3/item-wizardrobe.png diff --git a/assets/img/3/item-wolfarcherarmor.png b/public/img/3/item-wolfarcherarmor.png similarity index 100% rename from assets/img/3/item-wolfarcherarmor.png rename to public/img/3/item-wolfarcherarmor.png diff --git a/assets/img/3/item-wolfarmor.png b/public/img/3/item-wolfarmor.png similarity index 100% rename from assets/img/3/item-wolfarmor.png rename to public/img/3/item-wolfarmor.png diff --git a/assets/img/3/item-wood.png b/public/img/3/item-wood.png similarity index 100% rename from assets/img/3/item-wood.png rename to public/img/3/item-wood.png diff --git a/assets/img/3/item-woodenbow.png b/public/img/3/item-woodenbow.png similarity index 100% rename from assets/img/3/item-woodenbow.png rename to public/img/3/item-woodenbow.png diff --git a/assets/img/3/jirisanmoonbear.png b/public/img/3/jirisanmoonbear.png similarity index 100% rename from assets/img/3/jirisanmoonbear.png rename to public/img/3/jirisanmoonbear.png diff --git a/assets/img/3/justicebow.png b/public/img/3/justicebow.png similarity index 100% rename from assets/img/3/justicebow.png rename to public/img/3/justicebow.png diff --git a/assets/img/3/justicehammer.png b/public/img/3/justicehammer.png similarity index 100% rename from assets/img/3/justicehammer.png rename to public/img/3/justicehammer.png diff --git a/assets/img/3/kaonashi.png b/public/img/3/kaonashi.png similarity index 100% rename from assets/img/3/kaonashi.png rename to public/img/3/kaonashi.png diff --git a/assets/img/3/king.png b/public/img/3/king.png similarity index 100% rename from assets/img/3/king.png rename to public/img/3/king.png diff --git a/assets/img/3/lavanpc.png b/public/img/3/lavanpc.png similarity index 100% rename from assets/img/3/lavanpc.png rename to public/img/3/lavanpc.png diff --git a/assets/img/3/leatherarcherarmor.png b/public/img/3/leatherarcherarmor.png similarity index 100% rename from assets/img/3/leatherarcherarmor.png rename to public/img/3/leatherarcherarmor.png diff --git a/assets/img/3/leatherarmor.png b/public/img/3/leatherarmor.png similarity index 100% rename from assets/img/3/leatherarmor.png rename to public/img/3/leatherarmor.png diff --git a/assets/img/3/legolasarmor.png b/public/img/3/legolasarmor.png similarity index 100% rename from assets/img/3/legolasarmor.png rename to public/img/3/legolasarmor.png diff --git a/assets/img/3/lightningguardian.png b/public/img/3/lightningguardian.png similarity index 100% rename from assets/img/3/lightningguardian.png rename to public/img/3/lightningguardian.png diff --git a/assets/img/3/livingarmor.png b/public/img/3/livingarmor.png similarity index 100% rename from assets/img/3/livingarmor.png rename to public/img/3/livingarmor.png diff --git a/assets/img/3/login.jpg b/public/img/3/login.jpg similarity index 100% rename from assets/img/3/login.jpg rename to public/img/3/login.jpg diff --git a/assets/img/3/loot.png b/public/img/3/loot.png similarity index 100% rename from assets/img/3/loot.png rename to public/img/3/loot.png diff --git a/assets/img/3/machete.png b/public/img/3/machete.png similarity index 100% rename from assets/img/3/machete.png rename to public/img/3/machete.png diff --git a/assets/img/3/magicspear.png b/public/img/3/magicspear.png similarity index 100% rename from assets/img/3/magicspear.png rename to public/img/3/magicspear.png diff --git a/assets/img/3/mailarcherarmor.png b/public/img/3/mailarcherarmor.png similarity index 100% rename from assets/img/3/mailarcherarmor.png rename to public/img/3/mailarcherarmor.png diff --git a/assets/img/3/mailarmor.png b/public/img/3/mailarmor.png similarity index 100% rename from assets/img/3/mailarmor.png rename to public/img/3/mailarmor.png diff --git a/assets/img/3/main.png b/public/img/3/main.png similarity index 100% rename from assets/img/3/main.png rename to public/img/3/main.png diff --git a/assets/img/3/maintwo.png b/public/img/3/maintwo.png similarity index 100% rename from assets/img/3/maintwo.png rename to public/img/3/maintwo.png diff --git a/assets/img/3/mantis.png b/public/img/3/mantis.png similarity index 100% rename from assets/img/3/mantis.png rename to public/img/3/mantis.png diff --git a/assets/img/3/mapframe.png b/public/img/3/mapframe.png similarity index 100% rename from assets/img/3/mapframe.png rename to public/img/3/mapframe.png diff --git a/assets/img/3/mapicons.png b/public/img/3/mapicons.png similarity index 100% rename from assets/img/3/mapicons.png rename to public/img/3/mapicons.png diff --git a/assets/img/3/marinebow.png b/public/img/3/marinebow.png similarity index 100% rename from assets/img/3/marinebow.png rename to public/img/3/marinebow.png diff --git a/assets/img/3/memme.png b/public/img/3/memme.png similarity index 100% rename from assets/img/3/memme.png rename to public/img/3/memme.png diff --git a/assets/img/3/mermaid.png b/public/img/3/mermaid.png similarity index 100% rename from assets/img/3/mermaid.png rename to public/img/3/mermaid.png diff --git a/assets/img/3/mermaidbow.png b/public/img/3/mermaidbow.png similarity index 100% rename from assets/img/3/mermaidbow.png rename to public/img/3/mermaidbow.png diff --git a/assets/img/3/mermaidnpc.png b/public/img/3/mermaidnpc.png similarity index 100% rename from assets/img/3/mermaidnpc.png rename to public/img/3/mermaidnpc.png diff --git a/assets/img/3/mimic.png b/public/img/3/mimic.png similarity index 100% rename from assets/img/3/mimic.png rename to public/img/3/mimic.png diff --git a/assets/img/3/minidragon.png b/public/img/3/minidragon.png similarity index 100% rename from assets/img/3/minidragon.png rename to public/img/3/minidragon.png diff --git a/assets/img/3/miniemperor.png b/public/img/3/miniemperor.png similarity index 100% rename from assets/img/3/miniemperor.png rename to public/img/3/miniemperor.png diff --git a/assets/img/3/miniiceknight.png b/public/img/3/miniiceknight.png similarity index 100% rename from assets/img/3/miniiceknight.png rename to public/img/3/miniiceknight.png diff --git a/assets/img/3/miniknight.png b/public/img/3/miniknight.png similarity index 100% rename from assets/img/3/miniknight.png rename to public/img/3/miniknight.png diff --git a/assets/img/3/miniseadragon.png b/public/img/3/miniseadragon.png similarity index 100% rename from assets/img/3/miniseadragon.png rename to public/img/3/miniseadragon.png diff --git a/assets/img/3/miniseadragonarmor.png b/public/img/3/miniseadragonarmor.png similarity index 100% rename from assets/img/3/miniseadragonarmor.png rename to public/img/3/miniseadragonarmor.png diff --git a/assets/img/3/mojojojonpc.png b/public/img/3/mojojojonpc.png similarity index 100% rename from assets/img/3/mojojojonpc.png rename to public/img/3/mojojojonpc.png diff --git a/assets/img/3/moleking.png b/public/img/3/moleking.png similarity index 100% rename from assets/img/3/moleking.png rename to public/img/3/moleking.png diff --git a/assets/img/3/momangelnpc.png b/public/img/3/momangelnpc.png similarity index 100% rename from assets/img/3/momangelnpc.png rename to public/img/3/momangelnpc.png diff --git a/assets/img/3/moreinventorybutton.png b/public/img/3/moreinventorybutton.png similarity index 100% rename from assets/img/3/moreinventorybutton.png rename to public/img/3/moreinventorybutton.png diff --git a/assets/img/3/morningstar.png b/public/img/3/morningstar.png similarity index 100% rename from assets/img/3/morningstar.png rename to public/img/3/morningstar.png diff --git a/assets/img/3/newcharacter.jpg b/public/img/3/newcharacter.jpg similarity index 100% rename from assets/img/3/newcharacter.jpg rename to public/img/3/newcharacter.jpg diff --git a/assets/img/3/nightmareregion.png b/public/img/3/nightmareregion.png similarity index 100% rename from assets/img/3/nightmareregion.png rename to public/img/3/nightmareregion.png diff --git a/assets/img/3/ninjaarmor.png b/public/img/3/ninjaarmor.png similarity index 100% rename from assets/img/3/ninjaarmor.png rename to public/img/3/ninjaarmor.png diff --git a/assets/img/3/nyan.png b/public/img/3/nyan.png similarity index 100% rename from assets/img/3/nyan.png rename to public/img/3/nyan.png diff --git a/assets/img/3/octocat.png b/public/img/3/octocat.png similarity index 100% rename from assets/img/3/octocat.png rename to public/img/3/octocat.png diff --git a/assets/img/3/octopus.png b/public/img/3/octopus.png similarity index 100% rename from assets/img/3/octopus.png rename to public/img/3/octopus.png diff --git a/assets/img/3/oddeyecat.png b/public/img/3/oddeyecat.png similarity index 100% rename from assets/img/3/oddeyecat.png rename to public/img/3/oddeyecat.png diff --git a/assets/img/3/ogre.png b/public/img/3/ogre.png similarity index 100% rename from assets/img/3/ogre.png rename to public/img/3/ogre.png diff --git a/assets/img/3/ogrelord.png b/public/img/3/ogrelord.png similarity index 100% rename from assets/img/3/ogrelord.png rename to public/img/3/ogrelord.png diff --git a/assets/img/3/oldogre.png b/public/img/3/oldogre.png similarity index 100% rename from assets/img/3/oldogre.png rename to public/img/3/oldogre.png diff --git a/assets/img/3/orc.png b/public/img/3/orc.png similarity index 100% rename from assets/img/3/orc.png rename to public/img/3/orc.png diff --git a/assets/img/3/paewoldo.png b/public/img/3/paewoldo.png similarity index 100% rename from assets/img/3/paewoldo.png rename to public/img/3/paewoldo.png diff --git a/assets/img/3/pain.png b/public/img/3/pain.png similarity index 100% rename from assets/img/3/pain.png rename to public/img/3/pain.png diff --git a/assets/img/3/paladinarmor.png b/public/img/3/paladinarmor.png similarity index 100% rename from assets/img/3/paladinarmor.png rename to public/img/3/paladinarmor.png diff --git a/assets/img/3/penguin.png b/public/img/3/penguin.png similarity index 100% rename from assets/img/3/penguin.png rename to public/img/3/penguin.png diff --git a/assets/img/3/pickle.png b/public/img/3/pickle.png similarity index 100% rename from assets/img/3/pickle.png rename to public/img/3/pickle.png diff --git a/assets/img/3/pierrot.png b/public/img/3/pierrot.png similarity index 100% rename from assets/img/3/pierrot.png rename to public/img/3/pierrot.png diff --git a/assets/img/3/pinkcockroacharmor.png b/public/img/3/pinkcockroacharmor.png similarity index 100% rename from assets/img/3/pinkcockroacharmor.png rename to public/img/3/pinkcockroacharmor.png diff --git a/assets/img/3/pinkelf.png b/public/img/3/pinkelf.png similarity index 100% rename from assets/img/3/pinkelf.png rename to public/img/3/pinkelf.png diff --git a/assets/img/3/pinksword.png b/public/img/3/pinksword.png similarity index 100% rename from assets/img/3/pinksword.png rename to public/img/3/pinksword.png diff --git a/assets/img/3/piratearcherarmor.png b/public/img/3/piratearcherarmor.png similarity index 100% rename from assets/img/3/piratearcherarmor.png rename to public/img/3/piratearcherarmor.png diff --git a/assets/img/3/piratecaptain.png b/public/img/3/piratecaptain.png similarity index 100% rename from assets/img/3/piratecaptain.png rename to public/img/3/piratecaptain.png diff --git a/assets/img/3/pirategirlnpc.png b/public/img/3/pirategirlnpc.png similarity index 100% rename from assets/img/3/pirategirlnpc.png rename to public/img/3/pirategirlnpc.png diff --git a/assets/img/3/pirateking.png b/public/img/3/pirateking.png similarity index 100% rename from assets/img/3/pirateking.png rename to public/img/3/pirateking.png diff --git a/assets/img/3/pirateskeleton.png b/public/img/3/pirateskeleton.png similarity index 100% rename from assets/img/3/pirateskeleton.png rename to public/img/3/pirateskeleton.png diff --git a/assets/img/3/plasticbow.png b/public/img/3/plasticbow.png similarity index 100% rename from assets/img/3/plasticbow.png rename to public/img/3/plasticbow.png diff --git a/assets/img/3/platearcherarmor.png b/public/img/3/platearcherarmor.png similarity index 100% rename from assets/img/3/platearcherarmor.png rename to public/img/3/platearcherarmor.png diff --git a/assets/img/3/platearmor.png b/public/img/3/platearmor.png similarity index 100% rename from assets/img/3/platearmor.png rename to public/img/3/platearmor.png diff --git a/assets/img/3/plunger.png b/public/img/3/plunger.png similarity index 100% rename from assets/img/3/plunger.png rename to public/img/3/plunger.png diff --git a/assets/img/3/pointer.png b/public/img/3/pointer.png similarity index 100% rename from assets/img/3/pointer.png rename to public/img/3/pointer.png diff --git a/assets/img/3/poisonspider.png b/public/img/3/poisonspider.png similarity index 100% rename from assets/img/3/poisonspider.png rename to public/img/3/poisonspider.png diff --git a/assets/img/3/portalarmor.png b/public/img/3/portalarmor.png similarity index 100% rename from assets/img/3/portalarmor.png rename to public/img/3/portalarmor.png diff --git a/assets/img/3/powerarmour.png b/public/img/3/powerarmour.png similarity index 100% rename from assets/img/3/powerarmour.png rename to public/img/3/powerarmour.png diff --git a/assets/img/3/powersword.png b/public/img/3/powersword.png similarity index 100% rename from assets/img/3/powersword.png rename to public/img/3/powersword.png diff --git a/assets/img/3/preta.png b/public/img/3/preta.png similarity index 100% rename from assets/img/3/preta.png rename to public/img/3/preta.png diff --git a/assets/img/3/priest.png b/public/img/3/priest.png similarity index 100% rename from assets/img/3/priest.png rename to public/img/3/priest.png diff --git a/assets/img/3/projectile-boulder.png b/public/img/3/projectile-boulder.png similarity index 100% rename from assets/img/3/projectile-boulder.png rename to public/img/3/projectile-boulder.png diff --git a/assets/img/3/projectile-fireball.png b/public/img/3/projectile-fireball.png similarity index 100% rename from assets/img/3/projectile-fireball.png rename to public/img/3/projectile-fireball.png diff --git a/assets/img/3/projectile-iceball.png b/public/img/3/projectile-iceball.png similarity index 100% rename from assets/img/3/projectile-iceball.png rename to public/img/3/projectile-iceball.png diff --git a/assets/img/3/projectile-none.png b/public/img/3/projectile-none.png similarity index 100% rename from assets/img/3/projectile-none.png rename to public/img/3/projectile-none.png diff --git a/assets/img/3/projectile-pinearrow.png b/public/img/3/projectile-pinearrow.png similarity index 100% rename from assets/img/3/projectile-pinearrow.png rename to public/img/3/projectile-pinearrow.png diff --git a/assets/img/3/projectile-terror.png b/public/img/3/projectile-terror.png similarity index 100% rename from assets/img/3/projectile-terror.png rename to public/img/3/projectile-terror.png diff --git a/assets/img/3/projectile-tornado.png b/public/img/3/projectile-tornado.png similarity index 100% rename from assets/img/3/projectile-tornado.png rename to public/img/3/projectile-tornado.png diff --git a/assets/img/3/provocationeffect.png b/public/img/3/provocationeffect.png similarity index 100% rename from assets/img/3/provocationeffect.png rename to public/img/3/provocationeffect.png diff --git a/assets/img/3/purplecloudkallege.png b/public/img/3/purplecloudkallege.png similarity index 100% rename from assets/img/3/purplecloudkallege.png rename to public/img/3/purplecloudkallege.png diff --git a/assets/img/3/purplepreta.png b/public/img/3/purplepreta.png similarity index 100% rename from assets/img/3/purplepreta.png rename to public/img/3/purplepreta.png diff --git a/assets/img/3/queenant.png b/public/img/3/queenant.png similarity index 100% rename from assets/img/3/queenant.png rename to public/img/3/queenant.png diff --git a/assets/img/3/queenspider.png b/public/img/3/queenspider.png similarity index 100% rename from assets/img/3/queenspider.png rename to public/img/3/queenspider.png diff --git a/assets/img/3/rabbitarmor.png b/public/img/3/rabbitarmor.png similarity index 100% rename from assets/img/3/rabbitarmor.png rename to public/img/3/rabbitarmor.png diff --git a/assets/img/3/radisharmor.png b/public/img/3/radisharmor.png similarity index 100% rename from assets/img/3/radisharmor.png rename to public/img/3/radisharmor.png diff --git a/assets/img/3/rainbowapro.png b/public/img/3/rainbowapro.png similarity index 100% rename from assets/img/3/rainbowapro.png rename to public/img/3/rainbowapro.png diff --git a/assets/img/3/rainbowsword.png b/public/img/3/rainbowsword.png similarity index 100% rename from assets/img/3/rainbowsword.png rename to public/img/3/rainbowsword.png diff --git a/assets/img/3/rat.png b/public/img/3/rat.png similarity index 100% rename from assets/img/3/rat.png rename to public/img/3/rat.png diff --git a/assets/img/3/ratarcherarmor.png b/public/img/3/ratarcherarmor.png similarity index 100% rename from assets/img/3/ratarcherarmor.png rename to public/img/3/ratarcherarmor.png diff --git a/assets/img/3/ratarmor.png b/public/img/3/ratarmor.png similarity index 100% rename from assets/img/3/ratarmor.png rename to public/img/3/ratarmor.png diff --git a/assets/img/3/redarcherarmor.png b/public/img/3/redarcherarmor.png similarity index 100% rename from assets/img/3/redarcherarmor.png rename to public/img/3/redarcherarmor.png diff --git a/assets/img/3/redarmor.png b/public/img/3/redarmor.png similarity index 100% rename from assets/img/3/redarmor.png rename to public/img/3/redarmor.png diff --git a/assets/img/3/redbikinigirlnpc.png b/public/img/3/redbikinigirlnpc.png similarity index 100% rename from assets/img/3/redbikinigirlnpc.png rename to public/img/3/redbikinigirlnpc.png diff --git a/assets/img/3/redbow.png b/public/img/3/redbow.png similarity index 100% rename from assets/img/3/redbow.png rename to public/img/3/redbow.png diff --git a/assets/img/3/redcockroach.png b/public/img/3/redcockroach.png similarity index 100% rename from assets/img/3/redcockroach.png rename to public/img/3/redcockroach.png diff --git a/assets/img/3/reddamboarmor.png b/public/img/3/reddamboarmor.png similarity index 100% rename from assets/img/3/reddamboarmor.png rename to public/img/3/reddamboarmor.png diff --git a/assets/img/3/redelf.png b/public/img/3/redelf.png similarity index 100% rename from assets/img/3/redelf.png rename to public/img/3/redelf.png diff --git a/assets/img/3/redenelbow.png b/public/img/3/redenelbow.png similarity index 100% rename from assets/img/3/redenelbow.png rename to public/img/3/redenelbow.png diff --git a/assets/img/3/redfish.png b/public/img/3/redfish.png similarity index 100% rename from assets/img/3/redfish.png rename to public/img/3/redfish.png diff --git a/assets/img/3/redguard.png b/public/img/3/redguard.png similarity index 100% rename from assets/img/3/redguard.png rename to public/img/3/redguard.png diff --git a/assets/img/3/redguardarcherarmor.png b/public/img/3/redguardarcherarmor.png similarity index 100% rename from assets/img/3/redguardarcherarmor.png rename to public/img/3/redguardarcherarmor.png diff --git a/assets/img/3/redguardarmor.png b/public/img/3/redguardarmor.png similarity index 100% rename from assets/img/3/redguardarmor.png rename to public/img/3/redguardarmor.png diff --git a/assets/img/3/redlightbow.png b/public/img/3/redlightbow.png similarity index 100% rename from assets/img/3/redlightbow.png rename to public/img/3/redlightbow.png diff --git a/assets/img/3/redlightsaber.png b/public/img/3/redlightsaber.png similarity index 100% rename from assets/img/3/redlightsaber.png rename to public/img/3/redlightsaber.png diff --git a/assets/img/3/redmetalbow.png b/public/img/3/redmetalbow.png similarity index 100% rename from assets/img/3/redmetalbow.png rename to public/img/3/redmetalbow.png diff --git a/assets/img/3/redmetalsword.png b/public/img/3/redmetalsword.png similarity index 100% rename from assets/img/3/redmetalsword.png rename to public/img/3/redmetalsword.png diff --git a/assets/img/3/redmouse.png b/public/img/3/redmouse.png similarity index 100% rename from assets/img/3/redmouse.png rename to public/img/3/redmouse.png diff --git a/assets/img/3/redpirateskeleton.png b/public/img/3/redpirateskeleton.png similarity index 100% rename from assets/img/3/redpirateskeleton.png rename to public/img/3/redpirateskeleton.png diff --git a/assets/img/3/redsickle.png b/public/img/3/redsickle.png similarity index 100% rename from assets/img/3/redsickle.png rename to public/img/3/redsickle.png diff --git a/assets/img/3/redsicklebow.png b/public/img/3/redsicklebow.png similarity index 100% rename from assets/img/3/redsicklebow.png rename to public/img/3/redsicklebow.png diff --git a/assets/img/3/redstoremannpc.png b/public/img/3/redstoremannpc.png similarity index 100% rename from assets/img/3/redstoremannpc.png rename to public/img/3/redstoremannpc.png diff --git a/assets/img/3/redsword.png b/public/img/3/redsword.png similarity index 100% rename from assets/img/3/redsword.png rename to public/img/3/redsword.png diff --git a/assets/img/3/redwingarcherarmor.png b/public/img/3/redwingarcherarmor.png similarity index 100% rename from assets/img/3/redwingarcherarmor.png rename to public/img/3/redwingarcherarmor.png diff --git a/assets/img/3/redwingarmor.png b/public/img/3/redwingarmor.png similarity index 100% rename from assets/img/3/redwingarmor.png rename to public/img/3/redwingarmor.png diff --git a/assets/img/3/regionarmor.png b/public/img/3/regionarmor.png similarity index 100% rename from assets/img/3/regionarmor.png rename to public/img/3/regionarmor.png diff --git a/assets/img/3/regionhenchman.png b/public/img/3/regionhenchman.png similarity index 100% rename from assets/img/3/regionhenchman.png rename to public/img/3/regionhenchman.png diff --git a/assets/img/3/rhaphidophoridae.png b/public/img/3/rhaphidophoridae.png similarity index 100% rename from assets/img/3/rhaphidophoridae.png rename to public/img/3/rhaphidophoridae.png diff --git a/assets/img/3/rick.png b/public/img/3/rick.png similarity index 100% rename from assets/img/3/rick.png rename to public/img/3/rick.png diff --git a/assets/img/3/robocoparmor.png b/public/img/3/robocoparmor.png similarity index 100% rename from assets/img/3/robocoparmor.png rename to public/img/3/robocoparmor.png diff --git a/assets/img/3/rose.png b/public/img/3/rose.png similarity index 100% rename from assets/img/3/rose.png rename to public/img/3/rose.png diff --git a/assets/img/3/rosebow.png b/public/img/3/rosebow.png similarity index 100% rename from assets/img/3/rosebow.png rename to public/img/3/rosebow.png diff --git a/assets/img/3/rudolf.png b/public/img/3/rudolf.png similarity index 100% rename from assets/img/3/rudolf.png rename to public/img/3/rudolf.png diff --git a/assets/img/3/rudolfarmor.png b/public/img/3/rudolfarmor.png similarity index 100% rename from assets/img/3/rudolfarmor.png rename to public/img/3/rudolfarmor.png diff --git a/assets/img/3/santa.png b/public/img/3/santa.png similarity index 100% rename from assets/img/3/santa.png rename to public/img/3/santa.png diff --git a/assets/img/3/santaelf.png b/public/img/3/santaelf.png similarity index 100% rename from assets/img/3/santaelf.png rename to public/img/3/santaelf.png diff --git a/assets/img/3/schooluniform.png b/public/img/3/schooluniform.png similarity index 100% rename from assets/img/3/schooluniform.png rename to public/img/3/schooluniform.png diff --git a/assets/img/3/scientist.png b/public/img/3/scientist.png similarity index 100% rename from assets/img/3/scientist.png rename to public/img/3/scientist.png diff --git a/assets/img/3/scimitar.png b/public/img/3/scimitar.png similarity index 100% rename from assets/img/3/scimitar.png rename to public/img/3/scimitar.png diff --git a/assets/img/3/scorpion.png b/public/img/3/scorpion.png similarity index 100% rename from assets/img/3/scorpion.png rename to public/img/3/scorpion.png diff --git a/assets/img/3/seadragon.png b/public/img/3/seadragon.png similarity index 100% rename from assets/img/3/seadragon.png rename to public/img/3/seadragon.png diff --git a/assets/img/3/seadragonarmor.png b/public/img/3/seadragonarmor.png similarity index 100% rename from assets/img/3/seadragonarmor.png rename to public/img/3/seadragonarmor.png diff --git a/assets/img/3/seahorsebow.png b/public/img/3/seahorsebow.png similarity index 100% rename from assets/img/3/seahorsebow.png rename to public/img/3/seahorsebow.png diff --git a/assets/img/3/searage.png b/public/img/3/searage.png similarity index 100% rename from assets/img/3/searage.png rename to public/img/3/searage.png diff --git a/assets/img/3/secondsonangelnpc.png b/public/img/3/secondsonangelnpc.png similarity index 100% rename from assets/img/3/secondsonangelnpc.png rename to public/img/3/secondsonangelnpc.png diff --git a/assets/img/3/shadow16.png b/public/img/3/shadow16.png similarity index 100% rename from assets/img/3/shadow16.png rename to public/img/3/shadow16.png diff --git a/assets/img/3/shadowregion.png b/public/img/3/shadowregion.png similarity index 100% rename from assets/img/3/shadowregion.png rename to public/img/3/shadowregion.png diff --git a/assets/img/3/shadowregionarmor.png b/public/img/3/shadowregionarmor.png similarity index 100% rename from assets/img/3/shadowregionarmor.png rename to public/img/3/shadowregionarmor.png diff --git a/assets/img/3/shepherdboy.png b/public/img/3/shepherdboy.png similarity index 100% rename from assets/img/3/shepherdboy.png rename to public/img/3/shepherdboy.png diff --git a/assets/img/3/shieldbenef.png b/public/img/3/shieldbenef.png similarity index 100% rename from assets/img/3/shieldbenef.png rename to public/img/3/shieldbenef.png diff --git a/assets/img/3/sickle.png b/public/img/3/sickle.png similarity index 100% rename from assets/img/3/sickle.png rename to public/img/3/sickle.png diff --git a/assets/img/3/sicklebow.png b/public/img/3/sicklebow.png similarity index 100% rename from assets/img/3/sicklebow.png rename to public/img/3/sicklebow.png diff --git a/assets/img/3/sidesword.png b/public/img/3/sidesword.png similarity index 100% rename from assets/img/3/sidesword.png rename to public/img/3/sidesword.png diff --git a/assets/img/3/silvermedal.png b/public/img/3/silvermedal.png similarity index 100% rename from assets/img/3/silvermedal.png rename to public/img/3/silvermedal.png diff --git a/assets/img/3/skeleton.png b/public/img/3/skeleton.png similarity index 100% rename from assets/img/3/skeleton.png rename to public/img/3/skeleton.png diff --git a/assets/img/3/skeleton2.png b/public/img/3/skeleton2.png similarity index 100% rename from assets/img/3/skeleton2.png rename to public/img/3/skeleton2.png diff --git a/assets/img/3/skeletonking.png b/public/img/3/skeletonking.png similarity index 100% rename from assets/img/3/skeletonking.png rename to public/img/3/skeletonking.png diff --git a/assets/img/3/skillicons.png b/public/img/3/skillicons.png similarity index 100% rename from assets/img/3/skillicons.png rename to public/img/3/skillicons.png diff --git a/assets/img/3/skilllevel.png b/public/img/3/skilllevel.png similarity index 100% rename from assets/img/3/skilllevel.png rename to public/img/3/skilllevel.png diff --git a/assets/img/3/skillslots.png b/public/img/3/skillslots.png similarity index 100% rename from assets/img/3/skillslots.png rename to public/img/3/skillslots.png diff --git a/assets/img/3/skydinosaur.png b/public/img/3/skydinosaur.png similarity index 100% rename from assets/img/3/skydinosaur.png rename to public/img/3/skydinosaur.png diff --git a/assets/img/3/skyelf.png b/public/img/3/skyelf.png similarity index 100% rename from assets/img/3/skyelf.png rename to public/img/3/skyelf.png diff --git a/assets/img/3/skylightbow.png b/public/img/3/skylightbow.png similarity index 100% rename from assets/img/3/skylightbow.png rename to public/img/3/skylightbow.png diff --git a/assets/img/3/skylightsaber.png b/public/img/3/skylightsaber.png similarity index 100% rename from assets/img/3/skylightsaber.png rename to public/img/3/skylightsaber.png diff --git a/assets/img/3/slime.png b/public/img/3/slime.png similarity index 100% rename from assets/img/3/slime.png rename to public/img/3/slime.png diff --git a/assets/img/3/smalldevil.png b/public/img/3/smalldevil.png similarity index 100% rename from assets/img/3/smalldevil.png rename to public/img/3/smalldevil.png diff --git a/assets/img/3/snek.png b/public/img/3/snek.png similarity index 100% rename from assets/img/3/snek.png rename to public/img/3/snek.png diff --git a/assets/img/3/snowelf.png b/public/img/3/snowelf.png similarity index 100% rename from assets/img/3/snowelf.png rename to public/img/3/snowelf.png diff --git a/assets/img/3/snowfoxarcherarmor.png b/public/img/3/snowfoxarcherarmor.png similarity index 100% rename from assets/img/3/snowfoxarcherarmor.png rename to public/img/3/snowfoxarcherarmor.png diff --git a/assets/img/3/snowfoxarmor.png b/public/img/3/snowfoxarmor.png similarity index 100% rename from assets/img/3/snowfoxarmor.png rename to public/img/3/snowfoxarmor.png diff --git a/assets/img/3/snowlady.png b/public/img/3/snowlady.png similarity index 100% rename from assets/img/3/snowlady.png rename to public/img/3/snowlady.png diff --git a/assets/img/3/snowman.png b/public/img/3/snowman.png similarity index 100% rename from assets/img/3/snowman.png rename to public/img/3/snowman.png diff --git a/assets/img/3/snowmanarmor.png b/public/img/3/snowmanarmor.png similarity index 100% rename from assets/img/3/snowmanarmor.png rename to public/img/3/snowmanarmor.png diff --git a/assets/img/3/snowrabbit.png b/public/img/3/snowrabbit.png similarity index 100% rename from assets/img/3/snowrabbit.png rename to public/img/3/snowrabbit.png diff --git a/assets/img/3/snowshepherdboy.png b/public/img/3/snowshepherdboy.png similarity index 100% rename from assets/img/3/snowshepherdboy.png rename to public/img/3/snowshepherdboy.png diff --git a/assets/img/3/snowwolf.png b/public/img/3/snowwolf.png similarity index 100% rename from assets/img/3/snowwolf.png rename to public/img/3/snowwolf.png diff --git a/assets/img/3/soldier.png b/public/img/3/soldier.png similarity index 100% rename from assets/img/3/soldier.png rename to public/img/3/soldier.png diff --git a/assets/img/3/soldierant.png b/public/img/3/soldierant.png similarity index 100% rename from assets/img/3/soldierant.png rename to public/img/3/soldierant.png diff --git a/assets/img/3/sorcerer.png b/public/img/3/sorcerer.png similarity index 100% rename from assets/img/3/sorcerer.png rename to public/img/3/sorcerer.png diff --git a/assets/img/3/soundbutton.png b/public/img/3/soundbutton.png similarity index 100% rename from assets/img/3/soundbutton.png rename to public/img/3/soundbutton.png diff --git a/assets/img/3/soybeanbug.png b/public/img/3/soybeanbug.png similarity index 100% rename from assets/img/3/soybeanbug.png rename to public/img/3/soybeanbug.png diff --git a/assets/img/3/sparks.png b/public/img/3/sparks.png similarity index 100% rename from assets/img/3/sparks.png rename to public/img/3/sparks.png diff --git a/assets/img/3/spear.png b/public/img/3/spear.png similarity index 100% rename from assets/img/3/spear.png rename to public/img/3/spear.png diff --git a/assets/img/3/spectre.png b/public/img/3/spectre.png similarity index 100% rename from assets/img/3/spectre.png rename to public/img/3/spectre.png diff --git a/assets/img/3/spell.png b/public/img/3/spell.png similarity index 100% rename from assets/img/3/spell.png rename to public/img/3/spell.png diff --git a/assets/img/3/spider.png b/public/img/3/spider.png similarity index 100% rename from assets/img/3/spider.png rename to public/img/3/spider.png diff --git a/assets/img/3/sponge.png b/public/img/3/sponge.png similarity index 100% rename from assets/img/3/sponge.png rename to public/img/3/sponge.png diff --git a/assets/img/3/spritesheet.png b/public/img/3/spritesheet.png similarity index 100% rename from assets/img/3/spritesheet.png rename to public/img/3/spritesheet.png diff --git a/assets/img/3/squeakyhammer.png b/public/img/3/squeakyhammer.png similarity index 100% rename from assets/img/3/squeakyhammer.png rename to public/img/3/squeakyhammer.png diff --git a/assets/img/3/squid.png b/public/img/3/squid.png similarity index 100% rename from assets/img/3/squid.png rename to public/img/3/squid.png diff --git a/assets/img/3/squidarmor.png b/public/img/3/squidarmor.png similarity index 100% rename from assets/img/3/squidarmor.png rename to public/img/3/squidarmor.png diff --git a/assets/img/3/squirrel.png b/public/img/3/squirrel.png similarity index 100% rename from assets/img/3/squirrel.png rename to public/img/3/squirrel.png diff --git a/assets/img/3/stuneffect.png b/public/img/3/stuneffect.png similarity index 100% rename from assets/img/3/stuneffect.png rename to public/img/3/stuneffect.png diff --git a/assets/img/3/suicideghost.png b/public/img/3/suicideghost.png similarity index 100% rename from assets/img/3/suicideghost.png rename to public/img/3/suicideghost.png diff --git a/assets/img/3/supercateffect.png b/public/img/3/supercateffect.png similarity index 100% rename from assets/img/3/supercateffect.png rename to public/img/3/supercateffect.png diff --git a/assets/img/3/superiorangelnpc.png b/public/img/3/superiorangelnpc.png similarity index 100% rename from assets/img/3/superiorangelnpc.png rename to public/img/3/superiorangelnpc.png diff --git a/assets/img/3/sword.png b/public/img/3/sword.png similarity index 100% rename from assets/img/3/sword.png rename to public/img/3/sword.png diff --git a/assets/img/3/sword1.png b/public/img/3/sword1.png similarity index 100% rename from assets/img/3/sword1.png rename to public/img/3/sword1.png diff --git a/assets/img/3/sword2.png b/public/img/3/sword2.png similarity index 100% rename from assets/img/3/sword2.png rename to public/img/3/sword2.png diff --git a/assets/img/3/taekwondo.png b/public/img/3/taekwondo.png similarity index 100% rename from assets/img/3/taekwondo.png rename to public/img/3/taekwondo.png diff --git a/assets/img/3/talk.png b/public/img/3/talk.png similarity index 100% rename from assets/img/3/talk.png rename to public/img/3/talk.png diff --git a/assets/img/3/target.png b/public/img/3/target.png similarity index 100% rename from assets/img/3/target.png rename to public/img/3/target.png diff --git a/assets/img/3/thiefarmor.png b/public/img/3/thiefarmor.png similarity index 100% rename from assets/img/3/thiefarmor.png rename to public/img/3/thiefarmor.png diff --git a/assets/img/3/tigerarmor.png b/public/img/3/tigerarmor.png similarity index 100% rename from assets/img/3/tigerarmor.png rename to public/img/3/tigerarmor.png diff --git a/assets/img/3/tilesheet.png b/public/img/3/tilesheet.png similarity index 100% rename from assets/img/3/tilesheet.png rename to public/img/3/tilesheet.png diff --git a/assets/img/3/trade.png b/public/img/3/trade.png similarity index 100% rename from assets/img/3/trade.png rename to public/img/3/trade.png diff --git a/assets/img/3/trident.png b/public/img/3/trident.png similarity index 100% rename from assets/img/3/trident.png rename to public/img/3/trident.png diff --git a/assets/img/3/typhoon.png b/public/img/3/typhoon.png similarity index 100% rename from assets/img/3/typhoon.png rename to public/img/3/typhoon.png diff --git a/assets/img/3/vampire.png b/public/img/3/vampire.png similarity index 100% rename from assets/img/3/vampire.png rename to public/img/3/vampire.png diff --git a/assets/img/3/vendingmachine.png b/public/img/3/vendingmachine.png similarity index 100% rename from assets/img/3/vendingmachine.png rename to public/img/3/vendingmachine.png diff --git a/assets/img/3/villagegirl.png b/public/img/3/villagegirl.png similarity index 100% rename from assets/img/3/villagegirl.png rename to public/img/3/villagegirl.png diff --git a/assets/img/3/villager.png b/public/img/3/villager.png similarity index 100% rename from assets/img/3/villager.png rename to public/img/3/villager.png diff --git a/assets/img/3/violetbow.png b/public/img/3/violetbow.png similarity index 100% rename from assets/img/3/violetbow.png rename to public/img/3/violetbow.png diff --git a/assets/img/3/vulture.png b/public/img/3/vulture.png similarity index 100% rename from assets/img/3/vulture.png rename to public/img/3/vulture.png diff --git a/assets/img/3/watermelonbow.png b/public/img/3/watermelonbow.png similarity index 100% rename from assets/img/3/watermelonbow.png rename to public/img/3/watermelonbow.png diff --git a/assets/img/3/weastaff.png b/public/img/3/weastaff.png similarity index 100% rename from assets/img/3/weastaff.png rename to public/img/3/weastaff.png diff --git a/assets/img/3/whip.png b/public/img/3/whip.png similarity index 100% rename from assets/img/3/whip.png rename to public/img/3/whip.png diff --git a/assets/img/3/whitearcherarmor.png b/public/img/3/whitearcherarmor.png similarity index 100% rename from assets/img/3/whitearcherarmor.png rename to public/img/3/whitearcherarmor.png diff --git a/assets/img/3/whitearmor.png b/public/img/3/whitearmor.png similarity index 100% rename from assets/img/3/whitearmor.png rename to public/img/3/whitearmor.png diff --git a/assets/img/3/whitebear.png b/public/img/3/whitebear.png similarity index 100% rename from assets/img/3/whitebear.png rename to public/img/3/whitebear.png diff --git a/assets/img/3/whitemouse.png b/public/img/3/whitemouse.png similarity index 100% rename from assets/img/3/whitemouse.png rename to public/img/3/whitemouse.png diff --git a/assets/img/3/whitetiger.png b/public/img/3/whitetiger.png similarity index 100% rename from assets/img/3/whitetiger.png rename to public/img/3/whitetiger.png diff --git a/assets/img/3/windguardian.png b/public/img/3/windguardian.png similarity index 100% rename from assets/img/3/windguardian.png rename to public/img/3/windguardian.png diff --git a/assets/img/3/wizard.png b/public/img/3/wizard.png similarity index 100% rename from assets/img/3/wizard.png rename to public/img/3/wizard.png diff --git a/assets/img/3/wizardrobe.png b/public/img/3/wizardrobe.png similarity index 100% rename from assets/img/3/wizardrobe.png rename to public/img/3/wizardrobe.png diff --git a/assets/img/3/wolf.png b/public/img/3/wolf.png similarity index 100% rename from assets/img/3/wolf.png rename to public/img/3/wolf.png diff --git a/assets/img/3/wolfarcherarmor.png b/public/img/3/wolfarcherarmor.png similarity index 100% rename from assets/img/3/wolfarcherarmor.png rename to public/img/3/wolfarcherarmor.png diff --git a/assets/img/3/wolfarmor.png b/public/img/3/wolfarmor.png similarity index 100% rename from assets/img/3/wolfarmor.png rename to public/img/3/wolfarmor.png diff --git a/assets/img/3/wood.png b/public/img/3/wood.png similarity index 100% rename from assets/img/3/wood.png rename to public/img/3/wood.png diff --git a/assets/img/3/wood2.png b/public/img/3/wood2.png similarity index 100% rename from assets/img/3/wood2.png rename to public/img/3/wood2.png diff --git a/assets/img/3/wood3.png b/public/img/3/wood3.png similarity index 100% rename from assets/img/3/wood3.png rename to public/img/3/wood3.png diff --git a/assets/img/3/woodenbow.png b/public/img/3/woodenbow.png similarity index 100% rename from assets/img/3/woodenbow.png rename to public/img/3/woodenbow.png diff --git a/assets/img/3/yellowbat.png b/public/img/3/yellowbat.png similarity index 100% rename from assets/img/3/yellowbat.png rename to public/img/3/yellowbat.png diff --git a/assets/img/3/yellowfish.png b/public/img/3/yellowfish.png similarity index 100% rename from assets/img/3/yellowfish.png rename to public/img/3/yellowfish.png diff --git a/assets/img/3/yellowmouse.png b/public/img/3/yellowmouse.png similarity index 100% rename from assets/img/3/yellowmouse.png rename to public/img/3/yellowmouse.png diff --git a/assets/img/3/yellowpreta.png b/public/img/3/yellowpreta.png similarity index 100% rename from assets/img/3/yellowpreta.png rename to public/img/3/yellowpreta.png diff --git a/assets/img/3/zombie.png b/public/img/3/zombie.png similarity index 100% rename from assets/img/3/zombie.png rename to public/img/3/zombie.png diff --git a/assets/img/3/zombiegf.png b/public/img/3/zombiegf.png similarity index 100% rename from assets/img/3/zombiegf.png rename to public/img/3/zombiegf.png diff --git a/assets/img/adventure.png b/public/img/adventure.png similarity index 100% rename from assets/img/adventure.png rename to public/img/adventure.png diff --git a/assets/img/amazing.png b/public/img/amazing.png similarity index 100% rename from assets/img/amazing.png rename to public/img/amazing.png diff --git a/assets/img/background.png b/public/img/background.png similarity index 100% rename from assets/img/background.png rename to public/img/background.png diff --git a/assets/img/base-button.png b/public/img/base-button.png similarity index 100% rename from assets/img/base-button.png rename to public/img/base-button.png diff --git a/assets/img/blank-popup.png b/public/img/blank-popup.png similarity index 100% rename from assets/img/blank-popup.png rename to public/img/blank-popup.png diff --git a/assets/img/box.png b/public/img/box.png similarity index 100% rename from assets/img/box.png rename to public/img/box.png diff --git a/assets/img/button-green.png b/public/img/button-green.png similarity index 100% rename from assets/img/button-green.png rename to public/img/button-green.png diff --git a/assets/img/button-red.png b/public/img/button-red.png similarity index 100% rename from assets/img/button-red.png rename to public/img/button-red.png diff --git a/assets/img/cancel.png b/public/img/cancel.png similarity index 100% rename from assets/img/cancel.png rename to public/img/cancel.png diff --git a/assets/img/common/achievement-friends.png b/public/img/common/achievement-friends.png similarity index 100% rename from assets/img/common/achievement-friends.png rename to public/img/common/achievement-friends.png diff --git a/assets/img/common/achievement-shield.png b/public/img/common/achievement-shield.png similarity index 100% rename from assets/img/common/achievement-shield.png rename to public/img/common/achievement-shield.png diff --git a/assets/img/common/add.png b/public/img/common/add.png similarity index 100% rename from assets/img/common/add.png rename to public/img/common/add.png diff --git a/assets/img/common/arrow-back.png b/public/img/common/arrow-back.png similarity index 100% rename from assets/img/common/arrow-back.png rename to public/img/common/arrow-back.png diff --git a/assets/img/common/arrow-down.png b/public/img/common/arrow-down.png similarity index 100% rename from assets/img/common/arrow-down.png rename to public/img/common/arrow-down.png diff --git a/assets/img/common/arrow-left.png b/public/img/common/arrow-left.png similarity index 100% rename from assets/img/common/arrow-left.png rename to public/img/common/arrow-left.png diff --git a/assets/img/common/arrow-move.png b/public/img/common/arrow-move.png similarity index 100% rename from assets/img/common/arrow-move.png rename to public/img/common/arrow-move.png diff --git a/assets/img/common/arrow-right.png b/public/img/common/arrow-right.png similarity index 100% rename from assets/img/common/arrow-right.png rename to public/img/common/arrow-right.png diff --git a/assets/img/common/arrow-up.png b/public/img/common/arrow-up.png similarity index 100% rename from assets/img/common/arrow-up.png rename to public/img/common/arrow-up.png diff --git a/assets/img/common/bag.png b/public/img/common/bag.png similarity index 100% rename from assets/img/common/bag.png rename to public/img/common/bag.png diff --git a/assets/img/common/battery.png b/public/img/common/battery.png similarity index 100% rename from assets/img/common/battery.png rename to public/img/common/battery.png diff --git a/assets/img/common/bomb.png b/public/img/common/bomb.png similarity index 100% rename from assets/img/common/bomb.png rename to public/img/common/bomb.png diff --git a/assets/img/common/book.png b/public/img/common/book.png similarity index 100% rename from assets/img/common/book.png rename to public/img/common/book.png diff --git a/assets/img/common/box.png b/public/img/common/box.png similarity index 100% rename from assets/img/common/box.png rename to public/img/common/box.png diff --git a/assets/img/common/calendar.png b/public/img/common/calendar.png similarity index 100% rename from assets/img/common/calendar.png rename to public/img/common/calendar.png diff --git a/assets/img/common/cash-register.png b/public/img/common/cash-register.png similarity index 100% rename from assets/img/common/cash-register.png rename to public/img/common/cash-register.png diff --git a/assets/img/common/cash.png b/public/img/common/cash.png similarity index 100% rename from assets/img/common/cash.png rename to public/img/common/cash.png diff --git a/assets/img/common/chat.png b/public/img/common/chat.png similarity index 100% rename from assets/img/common/chat.png rename to public/img/common/chat.png diff --git a/assets/img/common/check.png b/public/img/common/check.png similarity index 100% rename from assets/img/common/check.png rename to public/img/common/check.png diff --git a/assets/img/common/coin.png b/public/img/common/coin.png similarity index 100% rename from assets/img/common/coin.png rename to public/img/common/coin.png diff --git a/assets/img/common/coins-stack.png b/public/img/common/coins-stack.png similarity index 100% rename from assets/img/common/coins-stack.png rename to public/img/common/coins-stack.png diff --git a/assets/img/common/coins.png b/public/img/common/coins.png similarity index 100% rename from assets/img/common/coins.png rename to public/img/common/coins.png diff --git a/assets/img/common/cone.png b/public/img/common/cone.png similarity index 100% rename from assets/img/common/cone.png rename to public/img/common/cone.png diff --git a/assets/img/common/crown.png b/public/img/common/crown.png similarity index 100% rename from assets/img/common/crown.png rename to public/img/common/crown.png diff --git a/assets/img/common/crystal.png b/public/img/common/crystal.png similarity index 100% rename from assets/img/common/crystal.png rename to public/img/common/crystal.png diff --git a/assets/img/common/delete.png b/public/img/common/delete.png similarity index 100% rename from assets/img/common/delete.png rename to public/img/common/delete.png diff --git a/assets/img/common/download.png b/public/img/common/download.png similarity index 100% rename from assets/img/common/download.png rename to public/img/common/download.png diff --git a/assets/img/common/eye.png b/public/img/common/eye.png similarity index 100% rename from assets/img/common/eye.png rename to public/img/common/eye.png diff --git a/assets/img/common/female-avatar-1.png b/public/img/common/female-avatar-1.png similarity index 100% rename from assets/img/common/female-avatar-1.png rename to public/img/common/female-avatar-1.png diff --git a/assets/img/common/female-avatar-2.png b/public/img/common/female-avatar-2.png similarity index 100% rename from assets/img/common/female-avatar-2.png rename to public/img/common/female-avatar-2.png diff --git a/assets/img/common/friends-1.png b/public/img/common/friends-1.png similarity index 100% rename from assets/img/common/friends-1.png rename to public/img/common/friends-1.png diff --git a/assets/img/common/gem-blue.png b/public/img/common/gem-blue.png similarity index 100% rename from assets/img/common/gem-blue.png rename to public/img/common/gem-blue.png diff --git a/assets/img/common/gem-red.png b/public/img/common/gem-red.png similarity index 100% rename from assets/img/common/gem-red.png rename to public/img/common/gem-red.png diff --git a/assets/img/common/gift.png b/public/img/common/gift.png similarity index 100% rename from assets/img/common/gift.png rename to public/img/common/gift.png diff --git a/assets/img/common/globe.png b/public/img/common/globe.png similarity index 100% rename from assets/img/common/globe.png rename to public/img/common/globe.png diff --git a/assets/img/common/hammer.png b/public/img/common/hammer.png similarity index 100% rename from assets/img/common/hammer.png rename to public/img/common/hammer.png diff --git a/assets/img/common/hand-grap.png b/public/img/common/hand-grap.png similarity index 100% rename from assets/img/common/hand-grap.png rename to public/img/common/hand-grap.png diff --git a/assets/img/common/hand-open.png b/public/img/common/hand-open.png similarity index 100% rename from assets/img/common/hand-open.png rename to public/img/common/hand-open.png diff --git a/assets/img/common/hand-pointer.png b/public/img/common/hand-pointer.png similarity index 100% rename from assets/img/common/hand-pointer.png rename to public/img/common/hand-pointer.png diff --git a/assets/img/common/heart.png b/public/img/common/heart.png similarity index 100% rename from assets/img/common/heart.png rename to public/img/common/heart.png diff --git a/assets/img/common/helmet.png b/public/img/common/helmet.png similarity index 100% rename from assets/img/common/helmet.png rename to public/img/common/helmet.png diff --git a/assets/img/common/help.png b/public/img/common/help.png similarity index 100% rename from assets/img/common/help.png rename to public/img/common/help.png diff --git a/assets/img/common/home.png b/public/img/common/home.png similarity index 100% rename from assets/img/common/home.png rename to public/img/common/home.png diff --git a/assets/img/common/hud-active-box.png b/public/img/common/hud-active-box.png similarity index 100% rename from assets/img/common/hud-active-box.png rename to public/img/common/hud-active-box.png diff --git a/assets/img/common/hud-active.png b/public/img/common/hud-active.png similarity index 100% rename from assets/img/common/hud-active.png rename to public/img/common/hud-active.png diff --git a/assets/img/common/hud-banner-green.png b/public/img/common/hud-banner-green.png similarity index 100% rename from assets/img/common/hud-banner-green.png rename to public/img/common/hud-banner-green.png diff --git a/assets/img/common/hud-banner-purple.png b/public/img/common/hud-banner-purple.png similarity index 100% rename from assets/img/common/hud-banner-purple.png rename to public/img/common/hud-banner-purple.png diff --git a/assets/img/common/hud-banner-red.png b/public/img/common/hud-banner-red.png similarity index 100% rename from assets/img/common/hud-banner-red.png rename to public/img/common/hud-banner-red.png diff --git a/assets/img/common/hud-banner-vines.png b/public/img/common/hud-banner-vines.png similarity index 100% rename from assets/img/common/hud-banner-vines.png rename to public/img/common/hud-banner-vines.png diff --git a/assets/img/common/hud-banner.png b/public/img/common/hud-banner.png similarity index 100% rename from assets/img/common/hud-banner.png rename to public/img/common/hud-banner.png diff --git a/assets/img/common/hud-bar.png b/public/img/common/hud-bar.png similarity index 100% rename from assets/img/common/hud-bar.png rename to public/img/common/hud-bar.png diff --git a/assets/img/common/hud-beam-green.png b/public/img/common/hud-beam-green.png similarity index 100% rename from assets/img/common/hud-beam-green.png rename to public/img/common/hud-beam-green.png diff --git a/assets/img/common/hud-beam-purple.png b/public/img/common/hud-beam-purple.png similarity index 100% rename from assets/img/common/hud-beam-purple.png rename to public/img/common/hud-beam-purple.png diff --git a/assets/img/common/hud-beam-red.png b/public/img/common/hud-beam-red.png similarity index 100% rename from assets/img/common/hud-beam-red.png rename to public/img/common/hud-beam-red.png diff --git a/assets/img/common/hud-box-item.png b/public/img/common/hud-box-item.png similarity index 100% rename from assets/img/common/hud-box-item.png rename to public/img/common/hud-box-item.png diff --git a/assets/img/common/hud-box-status.png b/public/img/common/hud-box-status.png similarity index 100% rename from assets/img/common/hud-box-status.png rename to public/img/common/hud-box-status.png diff --git a/assets/img/common/hud-box-vine.png b/public/img/common/hud-box-vine.png similarity index 100% rename from assets/img/common/hud-box-vine.png rename to public/img/common/hud-box-vine.png diff --git a/assets/img/common/hud-box-vine2.png b/public/img/common/hud-box-vine2.png similarity index 100% rename from assets/img/common/hud-box-vine2.png rename to public/img/common/hud-box-vine2.png diff --git a/assets/img/common/hud-box.png b/public/img/common/hud-box.png similarity index 100% rename from assets/img/common/hud-box.png rename to public/img/common/hud-box.png diff --git a/assets/img/common/hud-button-green.png b/public/img/common/hud-button-green.png similarity index 100% rename from assets/img/common/hud-button-green.png rename to public/img/common/hud-button-green.png diff --git a/assets/img/common/hud-button-purple.png b/public/img/common/hud-button-purple.png similarity index 100% rename from assets/img/common/hud-button-purple.png rename to public/img/common/hud-button-purple.png diff --git a/assets/img/common/hud-button-red.png b/public/img/common/hud-button-red.png similarity index 100% rename from assets/img/common/hud-button-red.png rename to public/img/common/hud-button-red.png diff --git a/assets/img/common/hud-chain-link.png b/public/img/common/hud-chain-link.png similarity index 100% rename from assets/img/common/hud-chain-link.png rename to public/img/common/hud-chain-link.png diff --git a/assets/img/common/hud-chain.png b/public/img/common/hud-chain.png similarity index 100% rename from assets/img/common/hud-chain.png rename to public/img/common/hud-chain.png diff --git a/assets/img/common/hud-checkbox-checked.png b/public/img/common/hud-checkbox-checked.png similarity index 100% rename from assets/img/common/hud-checkbox-checked.png rename to public/img/common/hud-checkbox-checked.png diff --git a/assets/img/common/hud-checkbox-empty.png b/public/img/common/hud-checkbox-empty.png similarity index 100% rename from assets/img/common/hud-checkbox-empty.png rename to public/img/common/hud-checkbox-empty.png diff --git a/assets/img/common/hud-level-marker-shadow.png b/public/img/common/hud-level-marker-shadow.png similarity index 100% rename from assets/img/common/hud-level-marker-shadow.png rename to public/img/common/hud-level-marker-shadow.png diff --git a/assets/img/common/hud-map-position.png b/public/img/common/hud-map-position.png similarity index 100% rename from assets/img/common/hud-map-position.png rename to public/img/common/hud-map-position.png diff --git a/assets/img/common/hud-modal-bg.png b/public/img/common/hud-modal-bg.png similarity index 100% rename from assets/img/common/hud-modal-bg.png rename to public/img/common/hud-modal-bg.png diff --git a/assets/img/common/hud-modal-chain-right.png b/public/img/common/hud-modal-chain-right.png similarity index 100% rename from assets/img/common/hud-modal-chain-right.png rename to public/img/common/hud-modal-chain-right.png diff --git a/assets/img/common/hud-modal-chain.png b/public/img/common/hud-modal-chain.png similarity index 100% rename from assets/img/common/hud-modal-chain.png rename to public/img/common/hud-modal-chain.png diff --git a/assets/img/common/hud-modal-highlighted.png b/public/img/common/hud-modal-highlighted.png similarity index 100% rename from assets/img/common/hud-modal-highlighted.png rename to public/img/common/hud-modal-highlighted.png diff --git a/assets/img/common/hud-modal-side.png b/public/img/common/hud-modal-side.png similarity index 100% rename from assets/img/common/hud-modal-side.png rename to public/img/common/hud-modal-side.png diff --git a/assets/img/common/hud-modal.png b/public/img/common/hud-modal.png similarity index 100% rename from assets/img/common/hud-modal.png rename to public/img/common/hud-modal.png diff --git a/assets/img/common/hud-mouse-pointer.png b/public/img/common/hud-mouse-pointer.png similarity index 100% rename from assets/img/common/hud-mouse-pointer.png rename to public/img/common/hud-mouse-pointer.png diff --git a/assets/img/common/hud-parchment-chain.png b/public/img/common/hud-parchment-chain.png similarity index 100% rename from assets/img/common/hud-parchment-chain.png rename to public/img/common/hud-parchment-chain.png diff --git a/assets/img/common/hud-parchment-left-stick.png b/public/img/common/hud-parchment-left-stick.png similarity index 100% rename from assets/img/common/hud-parchment-left-stick.png rename to public/img/common/hud-parchment-left-stick.png diff --git a/assets/img/common/hud-parchment-right-stick.png b/public/img/common/hud-parchment-right-stick.png similarity index 100% rename from assets/img/common/hud-parchment-right-stick.png rename to public/img/common/hud-parchment-right-stick.png diff --git a/assets/img/common/hud-parchment.png b/public/img/common/hud-parchment.png similarity index 100% rename from assets/img/common/hud-parchment.png rename to public/img/common/hud-parchment.png diff --git a/assets/img/common/hud-quest-green.png b/public/img/common/hud-quest-green.png similarity index 100% rename from assets/img/common/hud-quest-green.png rename to public/img/common/hud-quest-green.png diff --git a/assets/img/common/hud-quest-purple.png b/public/img/common/hud-quest-purple.png similarity index 100% rename from assets/img/common/hud-quest-purple.png rename to public/img/common/hud-quest-purple.png diff --git a/assets/img/common/hud-quest-red.png b/public/img/common/hud-quest-red.png similarity index 100% rename from assets/img/common/hud-quest-red.png rename to public/img/common/hud-quest-red.png diff --git a/assets/img/common/hud-ribbon-green.png b/public/img/common/hud-ribbon-green.png similarity index 100% rename from assets/img/common/hud-ribbon-green.png rename to public/img/common/hud-ribbon-green.png diff --git a/assets/img/common/hud-ribbon-purple.png b/public/img/common/hud-ribbon-purple.png similarity index 100% rename from assets/img/common/hud-ribbon-purple.png rename to public/img/common/hud-ribbon-purple.png diff --git a/assets/img/common/hud-ribbon-red.png b/public/img/common/hud-ribbon-red.png similarity index 100% rename from assets/img/common/hud-ribbon-red.png rename to public/img/common/hud-ribbon-red.png diff --git a/assets/img/common/hud-scrim.png b/public/img/common/hud-scrim.png similarity index 100% rename from assets/img/common/hud-scrim.png rename to public/img/common/hud-scrim.png diff --git a/assets/img/common/hud-scroll.png b/public/img/common/hud-scroll.png similarity index 100% rename from assets/img/common/hud-scroll.png rename to public/img/common/hud-scroll.png diff --git a/assets/img/common/hud-scrollbar.png b/public/img/common/hud-scrollbar.png similarity index 100% rename from assets/img/common/hud-scrollbar.png rename to public/img/common/hud-scrollbar.png diff --git a/assets/img/common/hud-skull-crown.png b/public/img/common/hud-skull-crown.png similarity index 100% rename from assets/img/common/hud-skull-crown.png rename to public/img/common/hud-skull-crown.png diff --git a/assets/img/common/hud-skull.png b/public/img/common/hud-skull.png similarity index 100% rename from assets/img/common/hud-skull.png rename to public/img/common/hud-skull.png diff --git a/assets/img/common/hud-speach-bubble.png b/public/img/common/hud-speach-bubble.png similarity index 100% rename from assets/img/common/hud-speach-bubble.png rename to public/img/common/hud-speach-bubble.png diff --git a/assets/img/common/hud-status-banner-purple.png b/public/img/common/hud-status-banner-purple.png similarity index 100% rename from assets/img/common/hud-status-banner-purple.png rename to public/img/common/hud-status-banner-purple.png diff --git a/assets/img/common/hud-status-bar.png b/public/img/common/hud-status-bar.png similarity index 100% rename from assets/img/common/hud-status-bar.png rename to public/img/common/hud-status-bar.png diff --git a/assets/img/common/hud-status-green.png b/public/img/common/hud-status-green.png similarity index 100% rename from assets/img/common/hud-status-green.png rename to public/img/common/hud-status-green.png diff --git a/assets/img/common/hud-status-red.png b/public/img/common/hud-status-red.png similarity index 100% rename from assets/img/common/hud-status-red.png rename to public/img/common/hud-status-red.png diff --git a/assets/img/common/hud-stick-cap.png b/public/img/common/hud-stick-cap.png similarity index 100% rename from assets/img/common/hud-stick-cap.png rename to public/img/common/hud-stick-cap.png diff --git a/assets/img/common/hud-stick.png b/public/img/common/hud-stick.png similarity index 100% rename from assets/img/common/hud-stick.png rename to public/img/common/hud-stick.png diff --git a/assets/img/common/hud-switch-green.png b/public/img/common/hud-switch-green.png similarity index 100% rename from assets/img/common/hud-switch-green.png rename to public/img/common/hud-switch-green.png diff --git a/assets/img/common/hud-switch-red.png b/public/img/common/hud-switch-red.png similarity index 100% rename from assets/img/common/hud-switch-red.png rename to public/img/common/hud-switch-red.png diff --git a/assets/img/common/hud-toggle-off.png b/public/img/common/hud-toggle-off.png similarity index 100% rename from assets/img/common/hud-toggle-off.png rename to public/img/common/hud-toggle-off.png diff --git a/assets/img/common/hud-toggle-on.png b/public/img/common/hud-toggle-on.png similarity index 100% rename from assets/img/common/hud-toggle-on.png rename to public/img/common/hud-toggle-on.png diff --git a/assets/img/common/hud-vines.png b/public/img/common/hud-vines.png similarity index 100% rename from assets/img/common/hud-vines.png rename to public/img/common/hud-vines.png diff --git a/assets/img/common/hud-wing-left.png b/public/img/common/hud-wing-left.png similarity index 100% rename from assets/img/common/hud-wing-left.png rename to public/img/common/hud-wing-left.png diff --git a/assets/img/common/hud-wing-right.png b/public/img/common/hud-wing-right.png similarity index 100% rename from assets/img/common/hud-wing-right.png rename to public/img/common/hud-wing-right.png diff --git a/assets/img/common/hud-wings.png b/public/img/common/hud-wings.png similarity index 100% rename from assets/img/common/hud-wings.png rename to public/img/common/hud-wings.png diff --git a/assets/img/common/hyperlink.png b/public/img/common/hyperlink.png similarity index 100% rename from assets/img/common/hyperlink.png rename to public/img/common/hyperlink.png diff --git a/assets/img/common/key.png b/public/img/common/key.png similarity index 100% rename from assets/img/common/key.png rename to public/img/common/key.png diff --git a/assets/img/common/laural-green.png b/public/img/common/laural-green.png similarity index 100% rename from assets/img/common/laural-green.png rename to public/img/common/laural-green.png diff --git a/assets/img/common/laural-yellow.png b/public/img/common/laural-yellow.png similarity index 100% rename from assets/img/common/laural-yellow.png rename to public/img/common/laural-yellow.png diff --git a/assets/img/common/leaf.png b/public/img/common/leaf.png similarity index 100% rename from assets/img/common/leaf.png rename to public/img/common/leaf.png diff --git a/assets/img/common/light-off.png b/public/img/common/light-off.png similarity index 100% rename from assets/img/common/light-off.png rename to public/img/common/light-off.png diff --git a/assets/img/common/light-on.png b/public/img/common/light-on.png similarity index 100% rename from assets/img/common/light-on.png rename to public/img/common/light-on.png diff --git a/assets/img/common/lightning.png b/public/img/common/lightning.png similarity index 100% rename from assets/img/common/lightning.png rename to public/img/common/lightning.png diff --git a/assets/img/common/lock2.png b/public/img/common/lock2.png similarity index 100% rename from assets/img/common/lock2.png rename to public/img/common/lock2.png diff --git a/assets/img/common/magnet.png b/public/img/common/magnet.png similarity index 100% rename from assets/img/common/magnet.png rename to public/img/common/magnet.png diff --git a/assets/img/common/mailbox-empty.png b/public/img/common/mailbox-empty.png similarity index 100% rename from assets/img/common/mailbox-empty.png rename to public/img/common/mailbox-empty.png diff --git a/assets/img/common/mailbox-full.png b/public/img/common/mailbox-full.png similarity index 100% rename from assets/img/common/mailbox-full.png rename to public/img/common/mailbox-full.png diff --git a/assets/img/common/male-avatar-1.png b/public/img/common/male-avatar-1.png similarity index 100% rename from assets/img/common/male-avatar-1.png rename to public/img/common/male-avatar-1.png diff --git a/assets/img/common/male-avatar-2.png b/public/img/common/male-avatar-2.png similarity index 100% rename from assets/img/common/male-avatar-2.png rename to public/img/common/male-avatar-2.png diff --git a/assets/img/common/paintbrush.png b/public/img/common/paintbrush.png similarity index 100% rename from assets/img/common/paintbrush.png rename to public/img/common/paintbrush.png diff --git a/assets/img/common/pencil.png b/public/img/common/pencil.png similarity index 100% rename from assets/img/common/pencil.png rename to public/img/common/pencil.png diff --git a/assets/img/common/photo.png b/public/img/common/photo.png similarity index 100% rename from assets/img/common/photo.png rename to public/img/common/photo.png diff --git a/assets/img/common/plant-pot.png b/public/img/common/plant-pot.png similarity index 100% rename from assets/img/common/plant-pot.png rename to public/img/common/plant-pot.png diff --git a/assets/img/common/potion.png b/public/img/common/potion.png similarity index 100% rename from assets/img/common/potion.png rename to public/img/common/potion.png diff --git a/assets/img/common/red-award-rosette.png b/public/img/common/red-award-rosette.png similarity index 100% rename from assets/img/common/red-award-rosette.png rename to public/img/common/red-award-rosette.png diff --git a/assets/img/common/red-award-star.png b/public/img/common/red-award-star.png similarity index 100% rename from assets/img/common/red-award-star.png rename to public/img/common/red-award-star.png diff --git a/assets/img/common/red-award.png b/public/img/common/red-award.png similarity index 100% rename from assets/img/common/red-award.png rename to public/img/common/red-award.png diff --git a/assets/img/common/rock.png b/public/img/common/rock.png similarity index 100% rename from assets/img/common/rock.png rename to public/img/common/rock.png diff --git a/assets/img/common/search.png b/public/img/common/search.png similarity index 100% rename from assets/img/common/search.png rename to public/img/common/search.png diff --git a/assets/img/common/settings.png b/public/img/common/settings.png similarity index 100% rename from assets/img/common/settings.png rename to public/img/common/settings.png diff --git a/assets/img/common/shield.png b/public/img/common/shield.png similarity index 100% rename from assets/img/common/shield.png rename to public/img/common/shield.png diff --git a/assets/img/common/shoe.png b/public/img/common/shoe.png similarity index 100% rename from assets/img/common/shoe.png rename to public/img/common/shoe.png diff --git a/assets/img/common/shopping-bag.png b/public/img/common/shopping-bag.png similarity index 100% rename from assets/img/common/shopping-bag.png rename to public/img/common/shopping-bag.png diff --git a/assets/img/common/shopping-basket.png b/public/img/common/shopping-basket.png similarity index 100% rename from assets/img/common/shopping-basket.png rename to public/img/common/shopping-basket.png diff --git a/assets/img/common/shovel.png b/public/img/common/shovel.png similarity index 100% rename from assets/img/common/shovel.png rename to public/img/common/shovel.png diff --git a/assets/img/common/skull.png b/public/img/common/skull.png similarity index 100% rename from assets/img/common/skull.png rename to public/img/common/skull.png diff --git a/assets/img/common/smile.png b/public/img/common/smile.png similarity index 100% rename from assets/img/common/smile.png rename to public/img/common/smile.png diff --git a/assets/img/common/soap.png b/public/img/common/soap.png similarity index 100% rename from assets/img/common/soap.png rename to public/img/common/soap.png diff --git a/assets/img/common/social.png b/public/img/common/social.png similarity index 100% rename from assets/img/common/social.png rename to public/img/common/social.png diff --git a/assets/img/common/sound.png b/public/img/common/sound.png similarity index 100% rename from assets/img/common/sound.png rename to public/img/common/sound.png diff --git a/assets/img/common/speaker.png b/public/img/common/speaker.png similarity index 100% rename from assets/img/common/speaker.png rename to public/img/common/speaker.png diff --git a/assets/img/common/star.png b/public/img/common/star.png similarity index 100% rename from assets/img/common/star.png rename to public/img/common/star.png diff --git a/assets/img/common/sword.png b/public/img/common/sword.png similarity index 100% rename from assets/img/common/sword.png rename to public/img/common/sword.png diff --git a/assets/img/common/task.png b/public/img/common/task.png similarity index 100% rename from assets/img/common/task.png rename to public/img/common/task.png diff --git a/assets/img/common/timer.png b/public/img/common/timer.png similarity index 100% rename from assets/img/common/timer.png rename to public/img/common/timer.png diff --git a/assets/img/common/trash-empty.png b/public/img/common/trash-empty.png similarity index 100% rename from assets/img/common/trash-empty.png rename to public/img/common/trash-empty.png diff --git a/assets/img/common/trash-full.png b/public/img/common/trash-full.png similarity index 100% rename from assets/img/common/trash-full.png rename to public/img/common/trash-full.png diff --git a/assets/img/common/tree.png b/public/img/common/tree.png similarity index 100% rename from assets/img/common/tree.png rename to public/img/common/tree.png diff --git a/assets/img/common/trophy.png b/public/img/common/trophy.png similarity index 100% rename from assets/img/common/trophy.png rename to public/img/common/trophy.png diff --git a/assets/img/common/wand.png b/public/img/common/wand.png similarity index 100% rename from assets/img/common/wand.png rename to public/img/common/wand.png diff --git a/assets/img/common/wing-left.png b/public/img/common/wing-left.png similarity index 100% rename from assets/img/common/wing-left.png rename to public/img/common/wing-left.png diff --git a/assets/img/common/wing-right.png b/public/img/common/wing-right.png similarity index 100% rename from assets/img/common/wing-right.png rename to public/img/common/wing-right.png diff --git a/assets/img/common/world.png b/public/img/common/world.png similarity index 100% rename from assets/img/common/world.png rename to public/img/common/world.png diff --git a/assets/img/common/wrench-small.png b/public/img/common/wrench-small.png similarity index 100% rename from assets/img/common/wrench-small.png rename to public/img/common/wrench-small.png diff --git a/assets/img/common/wtfspritesheet.png b/public/img/common/wtfspritesheet.png similarity index 100% rename from assets/img/common/wtfspritesheet.png rename to public/img/common/wtfspritesheet.png diff --git a/assets/img/common/wtfstylesheet.txt b/public/img/common/wtfstylesheet.txt similarity index 100% rename from assets/img/common/wtfstylesheet.txt rename to public/img/common/wtfstylesheet.txt diff --git a/assets/img/common/xp.png b/public/img/common/xp.png similarity index 100% rename from assets/img/common/xp.png rename to public/img/common/xp.png diff --git a/assets/img/confirm.png b/public/img/confirm.png similarity index 100% rename from assets/img/confirm.png rename to public/img/confirm.png diff --git a/assets/img/defeated.png b/public/img/defeated.png similarity index 100% rename from assets/img/defeated.png rename to public/img/defeated.png diff --git a/assets/img/double-chain.png b/public/img/double-chain.png similarity index 100% rename from assets/img/double-chain.png rename to public/img/double-chain.png diff --git a/assets/img/favicon.png b/public/img/favicon.png similarity index 100% rename from assets/img/favicon.png rename to public/img/favicon.png diff --git a/assets/img/hud-bar-2.png b/public/img/hud-bar-2.png similarity index 100% rename from assets/img/hud-bar-2.png rename to public/img/hud-bar-2.png diff --git a/assets/img/hud-bar.png b/public/img/hud-bar.png similarity index 100% rename from assets/img/hud-bar.png rename to public/img/hud-bar.png diff --git a/assets/img/hud-skull.png b/public/img/hud-skull.png similarity index 100% rename from assets/img/hud-skull.png rename to public/img/hud-skull.png diff --git a/assets/img/left-sidebar.png b/public/img/left-sidebar.png similarity index 100% rename from assets/img/left-sidebar.png rename to public/img/left-sidebar.png diff --git a/assets/img/lock-base.png b/public/img/lock-base.png similarity index 100% rename from assets/img/lock-base.png rename to public/img/lock-base.png diff --git a/assets/img/map-bar.png b/public/img/map-bar.png similarity index 100% rename from assets/img/map-bar.png rename to public/img/map-bar.png diff --git a/assets/img/parchment-chains.png b/public/img/parchment-chains.png similarity index 100% rename from assets/img/parchment-chains.png rename to public/img/parchment-chains.png diff --git a/assets/img/parchment-cut-big.png b/public/img/parchment-cut-big.png similarity index 100% rename from assets/img/parchment-cut-big.png rename to public/img/parchment-cut-big.png diff --git a/assets/img/parchment-cut.png b/public/img/parchment-cut.png similarity index 100% rename from assets/img/parchment-cut.png rename to public/img/parchment-cut.png diff --git a/assets/img/parchment.png b/public/img/parchment.png similarity index 100% rename from assets/img/parchment.png rename to public/img/parchment.png diff --git a/assets/img/right-sidebar.png b/public/img/right-sidebar.png similarity index 100% rename from assets/img/right-sidebar.png rename to public/img/right-sidebar.png diff --git a/assets/img/screen-spotlight.png b/public/img/screen-spotlight.png similarity index 100% rename from assets/img/screen-spotlight.png rename to public/img/screen-spotlight.png diff --git a/assets/img/screen.png b/public/img/screen.png similarity index 100% rename from assets/img/screen.png rename to public/img/screen.png diff --git a/assets/img/single-chain.png b/public/img/single-chain.png similarity index 100% rename from assets/img/single-chain.png rename to public/img/single-chain.png diff --git a/assets/img/skull crown.png b/public/img/skull crown.png similarity index 100% rename from assets/img/skull crown.png rename to public/img/skull crown.png diff --git a/assets/img/skull.png b/public/img/skull.png similarity index 100% rename from assets/img/skull.png rename to public/img/skull.png diff --git a/assets/img/small-popup.png b/public/img/small-popup.png similarity index 100% rename from assets/img/small-popup.png rename to public/img/small-popup.png diff --git a/assets/img/spinner.gif b/public/img/spinner.gif similarity index 100% rename from assets/img/spinner.gif rename to public/img/spinner.gif diff --git a/assets/img/thingy.png b/public/img/thingy.png similarity index 100% rename from assets/img/thingy.png rename to public/img/thingy.png diff --git a/assets/img/toggle-off.png b/public/img/toggle-off.png similarity index 100% rename from assets/img/toggle-off.png rename to public/img/toggle-off.png diff --git a/assets/img/toggle-on.png b/public/img/toggle-on.png similarity index 100% rename from assets/img/toggle-on.png rename to public/img/toggle-on.png diff --git a/assets/img/triple-chain.png b/public/img/triple-chain.png similarity index 100% rename from assets/img/triple-chain.png rename to public/img/triple-chain.png diff --git a/assets/img/wtfadventure.png b/public/img/wtfadventure.png similarity index 100% rename from assets/img/wtfadventure.png rename to public/img/wtfadventure.png diff --git a/assets/img/wtfheader.png b/public/img/wtfheader.png similarity index 100% rename from assets/img/wtfheader.png rename to public/img/wtfheader.png diff --git a/assets/img/wtflogo-small.png b/public/img/wtflogo-small.png similarity index 100% rename from assets/img/wtflogo-small.png rename to public/img/wtflogo-small.png diff --git a/assets/img/wtflogo.png b/public/img/wtflogo.png similarity index 100% rename from assets/img/wtflogo.png rename to public/img/wtflogo.png diff --git a/public/next.svg b/public/next.svg new file mode 100644 index 000000000..5174b28c5 --- /dev/null +++ b/public/next.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/vercel.svg b/public/vercel.svg new file mode 100644 index 000000000..d2f842227 --- /dev/null +++ b/public/vercel.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/server/.eslintrc.json b/server/.eslintrc.json new file mode 100644 index 000000000..c4f341923 --- /dev/null +++ b/server/.eslintrc.json @@ -0,0 +1,13 @@ +{ + "root": true, + "env": { + "node": true, + "es6": true + }, + "parser": "@babel/eslint-parser", + "parserOptions": { + "requireConfigFile": false, + "ecmaVersion": "latest", + "sourceType": "module" + } +} \ No newline at end of file diff --git a/src/server/config.json b/server/config.json similarity index 100% rename from src/server/config.json rename to server/config.json diff --git a/src/server/data/abilities.json b/server/data/abilities.json similarity index 100% rename from src/server/data/abilities.json rename to server/data/abilities.json diff --git a/src/server/data/achievements.json b/server/data/achievements.json similarity index 100% rename from src/server/data/achievements.json rename to server/data/achievements.json diff --git a/src/server/data/combat/greatsquid.js b/server/data/combat/greatsquid.js similarity index 100% rename from src/server/data/combat/greatsquid.js rename to server/data/combat/greatsquid.js diff --git a/src/server/data/combat/ogrelord.js b/server/data/combat/ogrelord.js similarity index 100% rename from src/server/data/combat/ogrelord.js rename to server/data/combat/ogrelord.js diff --git a/src/server/data/combat/piratecaptain.js b/server/data/combat/piratecaptain.js similarity index 100% rename from src/server/data/combat/piratecaptain.js rename to server/data/combat/piratecaptain.js diff --git a/src/server/data/combat/queenant.js b/server/data/combat/queenant.js similarity index 100% rename from src/server/data/combat/queenant.js rename to server/data/combat/queenant.js diff --git a/src/server/data/combat/skeletonking.js b/server/data/combat/skeletonking.js similarity index 100% rename from src/server/data/combat/skeletonking.js rename to server/data/combat/skeletonking.js diff --git a/src/server/data/combat/tenebris.js b/server/data/combat/tenebris.js similarity index 100% rename from src/server/data/combat/tenebris.js rename to server/data/combat/tenebris.js diff --git a/src/server/data/guilds.json b/server/data/guilds.json similarity index 100% rename from src/server/data/guilds.json rename to server/data/guilds.json diff --git a/src/server/data/items.json b/server/data/items.json similarity index 100% rename from src/server/data/items.json rename to server/data/items.json diff --git a/src/server/data/items/healthFlask.js b/server/data/items/healthFlask.js similarity index 100% rename from src/server/data/items/healthFlask.js rename to server/data/items/healthFlask.js diff --git a/src/server/data/map/collisions.json b/server/data/map/collisions.json similarity index 100% rename from src/server/data/map/collisions.json rename to server/data/map/collisions.json diff --git a/src/server/data/map/world_server.json b/server/data/map/world_server.json similarity index 100% rename from src/server/data/map/world_server.json rename to server/data/map/world_server.json diff --git a/src/server/data/minigames.json b/server/data/minigames.json similarity index 100% rename from src/server/data/minigames.json rename to server/data/minigames.json diff --git a/src/server/data/mobs.json b/server/data/mobs.json similarity index 100% rename from src/server/data/mobs.json rename to server/data/mobs.json diff --git a/src/server/data/npcs.json b/server/data/npcs.json similarity index 100% rename from src/server/data/npcs.json rename to server/data/npcs.json diff --git a/src/server/data/quests.json b/server/data/quests.json similarity index 100% rename from src/server/data/quests.json rename to server/data/quests.json diff --git a/src/server/data/shops.json b/server/data/shops.json similarity index 100% rename from src/server/data/shops.json rename to server/data/shops.json diff --git a/src/server/js/controllers/commands.js b/server/js/controllers/commands.js similarity index 97% rename from src/server/js/controllers/commands.js rename to server/js/controllers/commands.js index bdbaa8ae8..3ab5a833d 100644 --- a/src/server/js/controllers/commands.js +++ b/server/js/controllers/commands.js @@ -1,7 +1,7 @@ import _ from 'underscore'; -import log from '../util/log'; -import Messages from '../network/messages'; -import Packets from '../network/packets'; +import log from '../util/log.js'; +import Messages from '../network/messages.js'; +import Packets from '../network/packets.js'; export default class Commands { constructor(player) { diff --git a/src/server/js/controllers/incoming.js b/server/js/controllers/incoming.js similarity index 98% rename from src/server/js/controllers/incoming.js rename to server/js/controllers/incoming.js index e9b3449b4..58fa46b51 100644 --- a/src/server/js/controllers/incoming.js +++ b/server/js/controllers/incoming.js @@ -1,14 +1,14 @@ import Request from 'request'; import _ from 'underscore'; import sanitizer from 'sanitizer'; -import log from '../util/log'; -import Packets from '../network/packets'; -import config from '../../config.json'; -import Creator from '../database/creator'; -import Messages from '../network/messages'; -import Commands from './commands'; -import Items from '../util/items'; -import Utils from '../util/utils'; +import log from '../util/log.js'; +import Packets from '../network/packets.js'; +import config from '../../config.json' assert { type: 'json' }; +import Creator from '../database/creator.js'; +import Messages from '../network/messages.js'; +import Commands from './commands.js'; +import Items from '../util/items.js'; +import Utils from '../util/utils.js'; export default class Incoming { constructor(player) { diff --git a/src/server/js/controllers/minigames.js b/server/js/controllers/minigames.js similarity index 100% rename from src/server/js/controllers/minigames.js rename to server/js/controllers/minigames.js diff --git a/src/server/js/controllers/quests.js b/server/js/controllers/quests.js similarity index 96% rename from src/server/js/controllers/quests.js rename to server/js/controllers/quests.js index 030de8420..3f39fb98b 100644 --- a/src/server/js/controllers/quests.js +++ b/server/js/controllers/quests.js @@ -1,9 +1,9 @@ import _ from 'underscore'; -import Introduction from '../game/entity/character/player/quest/misc/introduction'; -import BulkySituation from '../game/entity/character/player/quest/misc/bulkysituation'; -import QuestData from '../../data/quests.json'; -import AchievementData from '../../data/achievements.json'; -import Achievement from '../game/entity/character/player/achievement'; +import Introduction from '../game/entity/character/player/quest/misc/introduction.js'; +import BulkySituation from '../game/entity/character/player/quest/misc/bulkysituation.js'; +import QuestData from '../../data/quests.json' assert { type: 'json' }; +import AchievementData from '../../data/achievements.json' assert { type: 'json' }; +import Achievement from '../game/entity/character/player/achievement.js'; export default class Quests { constructor(player) { diff --git a/src/server/js/controllers/shops.js b/server/js/controllers/shops.js similarity index 100% rename from src/server/js/controllers/shops.js rename to server/js/controllers/shops.js diff --git a/src/server/js/database/creator.js b/server/js/database/creator.js similarity index 99% rename from src/server/js/database/creator.js rename to server/js/database/creator.js index bd698a68d..74f03b0e7 100644 --- a/src/server/js/database/creator.js +++ b/server/js/database/creator.js @@ -1,4 +1,4 @@ -import log from '../util/log'; +import log from '../util/log.js'; export default class Creator { constructor(mysql) { diff --git a/src/server/js/database/loader.js b/server/js/database/loader.js similarity index 98% rename from src/server/js/database/loader.js rename to server/js/database/loader.js index ea169ce99..e2ed90a9a 100644 --- a/src/server/js/database/loader.js +++ b/server/js/database/loader.js @@ -1,4 +1,4 @@ -import log from '../util/log'; +import log from '../util/log.js'; export default class Loader { constructor(mysql) { diff --git a/src/server/js/database/mysql.js b/server/js/database/mysql.js similarity index 95% rename from src/server/js/database/mysql.js rename to server/js/database/mysql.js index 2cab1852b..69ecdcc3a 100644 --- a/src/server/js/database/mysql.js +++ b/server/js/database/mysql.js @@ -1,9 +1,9 @@ import mysql from 'mysql'; import _ from 'underscore'; -import log from '../util/log'; -import Creator from './creator'; -import Loader from './loader'; -import Config from '../../config.json'; +import log from '../util/log.js'; +import Creator from './creator.js'; +import Loader from './loader.js'; +import Config from '../../config.json' assert { type: 'json' }; export default class MySQL { constructor(host, port, user, pass, database) { @@ -147,7 +147,7 @@ export default class MySQL { log.notice(`No player data found for: ${player.username}`); player.isNew = true; // eslint-disable-line - player.load(this.creator.getPlayerData(player)); + player.loadPlayer(this.creator.getPlayerData(player)); this.creator.save(player); diff --git a/src/server/js/game/entity/character/character.js b/server/js/game/entity/character/character.js similarity index 95% rename from src/server/js/game/entity/character/character.js rename to server/js/game/entity/character/character.js index a202a0cc1..755a53a48 100644 --- a/src/server/js/game/entity/character/character.js +++ b/server/js/game/entity/character/character.js @@ -1,7 +1,7 @@ -import Entity from '../entity'; -import Combat from './combat/combat'; -import Modules from '../../../util/modules'; -import MobsDictionary from '../../../util/mobs'; +import Entity from '../entity.js'; +import Combat from './combat/combat.js'; +import Modules from '../../../util/modules.js'; +import MobsDictionary from '../../../util/mobs.js'; export default class Character extends Entity { constructor(id, type, instance, x, y) { diff --git a/src/server/js/game/entity/character/combat/combat.js b/server/js/game/entity/character/combat/combat.js similarity index 96% rename from src/server/js/game/entity/character/combat/combat.js rename to server/js/game/entity/character/combat/combat.js index ab72f0271..cfbe0b7ea 100644 --- a/src/server/js/game/entity/character/combat/combat.js +++ b/server/js/game/entity/character/combat/combat.js @@ -1,11 +1,11 @@ import _ from 'underscore'; -import CombatQueue from './combatqueue'; -import Utils from '../../../../util/utils'; -import Formulas from '../../../formulas'; -import Hit from './hit'; -import Modules from '../../../../util/modules'; -import Messages from '../../../../network/messages'; -import Packets from '../../../../network/packets'; +import CombatQueue from './combatqueue.js'; +import Utils from '../../../../util/utils.js'; +import Formulas from '../../../formulas.js'; +import Hit from './hit.js'; +import Modules from '../../../../util/modules.js'; +import Messages from '../../../../network/messages.js'; +import Packets from '../../../../network/packets.js'; export default class Combat { constructor(character) { diff --git a/src/server/js/game/entity/character/combat/combatqueue.js b/server/js/game/entity/character/combat/combatqueue.js similarity index 100% rename from src/server/js/game/entity/character/combat/combatqueue.js rename to server/js/game/entity/character/combat/combatqueue.js diff --git a/src/server/js/game/entity/character/combat/hit.js b/server/js/game/entity/character/combat/hit.js similarity index 100% rename from src/server/js/game/entity/character/combat/hit.js rename to server/js/game/entity/character/combat/hit.js diff --git a/src/server/js/game/entity/character/mob/mob.js b/server/js/game/entity/character/mob/mob.js similarity index 95% rename from src/server/js/game/entity/character/mob/mob.js rename to server/js/game/entity/character/mob/mob.js index 1a7ce7d5b..0b8dbfe4b 100644 --- a/src/server/js/game/entity/character/mob/mob.js +++ b/server/js/game/entity/character/mob/mob.js @@ -1,8 +1,8 @@ import _ from 'underscore'; -import Character from '../character'; -import MobsDictionary from '../../../../util/mobs'; -import Utils from '../../../../util/utils'; -import ItemsDictionary from '../../../../util/items'; +import Character from '../character.js'; +import MobsDictionary from '../../../../util/mobs.js'; +import Utils from '../../../../util/utils.js'; +import ItemsDictionary from '../../../../util/items.js'; export default class Mob extends Character { constructor(id, instance, x, y) { diff --git a/src/server/js/game/entity/character/player/ability/abilities.js b/server/js/game/entity/character/player/ability/abilities.js similarity index 100% rename from src/server/js/game/entity/character/player/ability/abilities.js rename to server/js/game/entity/character/player/ability/abilities.js diff --git a/src/server/js/game/entity/character/player/ability/misc/ability.js b/server/js/game/entity/character/player/ability/misc/ability.js similarity index 100% rename from src/server/js/game/entity/character/player/ability/misc/ability.js rename to server/js/game/entity/character/player/ability/misc/ability.js diff --git a/src/server/js/game/entity/character/player/ability/misc/firestrike.js b/server/js/game/entity/character/player/ability/misc/firestrike.js similarity index 100% rename from src/server/js/game/entity/character/player/ability/misc/firestrike.js rename to server/js/game/entity/character/player/ability/misc/firestrike.js diff --git a/src/server/js/game/entity/character/player/ability/misc/iceattack.js b/server/js/game/entity/character/player/ability/misc/iceattack.js similarity index 100% rename from src/server/js/game/entity/character/player/ability/misc/iceattack.js rename to server/js/game/entity/character/player/ability/misc/iceattack.js diff --git a/src/server/js/game/entity/character/player/ability/misc/run.js b/server/js/game/entity/character/player/ability/misc/run.js similarity index 100% rename from src/server/js/game/entity/character/player/ability/misc/run.js rename to server/js/game/entity/character/player/ability/misc/run.js diff --git a/src/server/js/game/entity/character/player/achievement.js b/server/js/game/entity/character/player/achievement.js similarity index 92% rename from src/server/js/game/entity/character/player/achievement.js rename to server/js/game/entity/character/player/achievement.js index b5461293d..241ecd7d8 100644 --- a/src/server/js/game/entity/character/player/achievement.js +++ b/server/js/game/entity/character/player/achievement.js @@ -1,7 +1,7 @@ -import Data from '../../../../../data/achievements.json'; -import Messages from '../../../../network/messages'; -import Packets from '../../../../network/packets'; -import Modules from '../../../../util/modules'; +import Data from '../../../../../data/achievements.json' assert { type: 'json' }; +import Messages from '../../../../network/messages.js'; +import Packets from '../../../../network/packets.js'; +import Modules from '../../../../util/modules.js'; /** * TODO: Change the conditionals to use Modules to clarify what is done where. diff --git a/src/server/js/game/entity/character/player/checkpoint.js b/server/js/game/entity/character/player/checkpoint.js similarity index 100% rename from src/server/js/game/entity/character/player/checkpoint.js rename to server/js/game/entity/character/player/checkpoint.js diff --git a/src/server/js/game/entity/character/player/containers/bank/bank.js b/server/js/game/entity/character/player/containers/bank/bank.js similarity index 74% rename from src/server/js/game/entity/character/player/containers/bank/bank.js rename to server/js/game/entity/character/player/containers/bank/bank.js index 8bc767aff..8d2b224dc 100644 --- a/src/server/js/game/entity/character/player/containers/bank/bank.js +++ b/server/js/game/entity/character/player/containers/bank/bank.js @@ -1,15 +1,15 @@ -import Container from '../container'; -import Messages from '../../../../../../network/messages'; -import Packets from '../../../../../../network/packets'; +import Container from '../container.js'; +import Messages from '../../../../../../network/messages.js'; +import Packets from '../../../../../../network/packets.js'; -export default class Slot extends Container { +export default class Bank extends Container { constructor(owner, size) { super('Bank', owner, size); this.open = false; } - load(ids, counts, abilities, abilityLevels) { - super.load(ids, counts, abilities, abilityLevels); + loadBank(ids, counts, abilities, abilityLevels) { + super.loadContainer(ids, counts, abilities, abilityLevels); this.owner.send( new Messages.Bank(Packets.BankOpcode.Batch, [this.size, this.slots]), diff --git a/src/server/js/game/entity/character/player/containers/container.js b/server/js/game/entity/character/player/containers/container.js similarity index 89% rename from src/server/js/game/entity/character/player/containers/container.js rename to server/js/game/entity/character/player/containers/container.js index 390bdb62a..326ea20f1 100644 --- a/src/server/js/game/entity/character/player/containers/container.js +++ b/server/js/game/entity/character/player/containers/container.js @@ -1,8 +1,8 @@ import _ from 'underscore'; -import log from '../../../../../util/log'; -import Slot from './slot'; -import Items from '../../../../../util/items'; -import Constants from '../../../../../util/constants'; +import log from '../../../../../util/log.js'; +import Slot from './slot.js'; +import Items from '../../../../../util/items.js'; +import Constants from '../../../../../util/constants.js'; export default class Container { constructor(type, owner, size) { @@ -19,13 +19,13 @@ export default class Container { /** * Fill each slot with manual data or the database */ - load(ids, counts, abilities, abilityLevels) { + loadContainer(ids, counts, abilities, abilityLevels) { if (ids.length !== this.slots.length) { log.error(`[${this.type}] Mismatch in container size.`); } for (let i = 0; i < this.slots.length; i += 1) { - this.slots[i].load(ids[i], counts[i], abilities[i], abilityLevels[i]); + this.slots[i].loadSlot(ids[i], counts[i], abilities[i], abilityLevels[i]); } } @@ -39,7 +39,7 @@ export default class Container { for (let i = 0; i < this.size; i += 1) data.push(-1); - this.load(data, data, data, data); + this.loadContainer(data, data, data, data); } add(id, count, ability, abilityLevel) { @@ -55,7 +55,7 @@ export default class Container { if (this.hasSpace()) { const nsSlot = this.slots[this.getEmptySlot()]; // non-stackable slot - nsSlot.load(id, count, ability, abilityLevel); + nsSlot.loadSlot(id, count, ability, abilityLevel); return nsSlot; } @@ -69,7 +69,7 @@ export default class Container { if (this.hasSpace()) { const slot = this.slots[this.getEmptySlot()]; - slot.load(id, count, ability, abilityLevel); + slot.loadSlot(id, count, ability, abilityLevel); return slot; } @@ -97,7 +97,7 @@ export default class Container { if (remainingItems > 0 && this.hasSpace()) { const rrSlot = this.slots[this.getEmptySlot()]; - rrSlot.load(id, remainingItems, ability, abilityLevel); + rrSlot.loadSlot(id, remainingItems, ability, abilityLevel); return rrSlot; } diff --git a/src/server/js/game/entity/character/player/containers/inventory/constants.js b/server/js/game/entity/character/player/containers/inventory/constants.js similarity index 100% rename from src/server/js/game/entity/character/player/containers/inventory/constants.js rename to server/js/game/entity/character/player/containers/inventory/constants.js diff --git a/src/server/js/game/entity/character/player/containers/inventory/inventory.js b/server/js/game/entity/character/player/containers/inventory/inventory.js similarity index 83% rename from src/server/js/game/entity/character/player/containers/inventory/inventory.js rename to server/js/game/entity/character/player/containers/inventory/inventory.js index 60bb89e68..11ccc8958 100644 --- a/src/server/js/game/entity/character/player/containers/inventory/inventory.js +++ b/server/js/game/entity/character/player/containers/inventory/inventory.js @@ -1,7 +1,7 @@ -import Container from '../container'; -import Messages from '../../../../../../network/messages'; -import Packets from '../../../../../../network/packets'; -import Constants from './constants'; +import Container from '../container.js'; +import Messages from '../../../../../../network/messages.js'; +import Packets from '../../../../../../network/packets.js'; +import Constants from './constants.js'; /** * Not particularly sure whether or not this class will @@ -14,8 +14,8 @@ export default class Inventory extends Container { super('Inventory', owner, size); } - load(ids, counts, abilities, abilityLevels) { - super.load(ids, counts, abilities, abilityLevels); + loadInventory(ids, counts, abilities, abilityLevels) { + super.loadContainer(ids, counts, abilities, abilityLevels); this.owner.send( new Messages.Inventory(Packets.InventoryOpcode.Batch, [ diff --git a/src/server/js/game/entity/character/player/containers/slot.js b/server/js/game/entity/character/player/containers/slot.js similarity index 91% rename from src/server/js/game/entity/character/player/containers/slot.js rename to server/js/game/entity/character/player/containers/slot.js index 0ee7a17cd..61fd6b011 100644 --- a/src/server/js/game/entity/character/player/containers/slot.js +++ b/server/js/game/entity/character/player/containers/slot.js @@ -1,4 +1,4 @@ -import Items from '../../../../../util/items'; +import Items from '../../../../../util/items.js'; export default class Slot { constructor(index) { @@ -10,7 +10,7 @@ export default class Slot { this.name = null; } - load(id, count, ability, abilityLevel) { + loadSlot(id, count, ability, abilityLevel) { this.id = parseInt(id, 10); this.count = parseInt(count, 10); this.ability = parseInt(ability, 10); diff --git a/src/server/js/game/entity/character/player/enchant/enchant.js b/server/js/game/entity/character/player/enchant/enchant.js similarity index 94% rename from src/server/js/game/entity/character/player/enchant/enchant.js rename to server/js/game/entity/character/player/enchant/enchant.js index d39e8330a..b3d636703 100644 --- a/src/server/js/game/entity/character/player/enchant/enchant.js +++ b/server/js/game/entity/character/player/enchant/enchant.js @@ -1,7 +1,7 @@ -import Items from '../../../../../util/items'; -import Messages from '../../../../../network/messages'; -import Packets from '../../../../../network/packets'; -import Utils from '../../../../../util/utils'; +import Items from '../../../../../util/items.js'; +import Messages from '../../../../../network/messages.js'; +import Packets from '../../../../../network/packets.js'; +import Utils from '../../../../../util/utils.js'; /** * Tier 1 - Damage/Armour boost (1-5%) diff --git a/src/server/js/game/entity/character/player/equipment/armour.js b/server/js/game/entity/character/player/equipment/armour.js similarity index 80% rename from src/server/js/game/entity/character/player/equipment/armour.js rename to server/js/game/entity/character/player/equipment/armour.js index 54b47366e..b6978cd98 100644 --- a/src/server/js/game/entity/character/player/equipment/armour.js +++ b/server/js/game/entity/character/player/equipment/armour.js @@ -1,5 +1,5 @@ -import Equipment from './equipment'; -import ItemsDictionary from '../../../../../util/items'; +import Equipment from './equipment.js'; +import ItemsDictionary from '../../../../../util/items.js'; export default class Armour extends Equipment { constructor(name, id, count, ability, abilityLevel) { diff --git a/src/server/js/game/entity/character/player/equipment/boots.js b/server/js/game/entity/character/player/equipment/boots.js similarity index 77% rename from src/server/js/game/entity/character/player/equipment/boots.js rename to server/js/game/entity/character/player/equipment/boots.js index 2e0981891..c1460881c 100644 --- a/src/server/js/game/entity/character/player/equipment/boots.js +++ b/server/js/game/entity/character/player/equipment/boots.js @@ -1,5 +1,5 @@ -import Equipment from './equipment'; -import ItemsDictionary from '../../../../../util/items'; +import Equipment from './equipment.js'; +import ItemsDictionary from '../../../../../util/items.js'; export default class Boots extends Equipment { constructor(name, id, count, ability, abilityLevel) { diff --git a/src/server/js/game/entity/character/player/equipment/equipment.js b/server/js/game/entity/character/player/equipment/equipment.js similarity index 94% rename from src/server/js/game/entity/character/player/equipment/equipment.js rename to server/js/game/entity/character/player/equipment/equipment.js index 67eea85e8..600742282 100644 --- a/src/server/js/game/entity/character/player/equipment/equipment.js +++ b/server/js/game/entity/character/player/equipment/equipment.js @@ -1,4 +1,4 @@ -import ItemsDictionary from '../../../../../util/items'; +import ItemsDictionary from '../../../../../util/items.js'; /** * Count represents the enchantment level of diff --git a/src/server/js/game/entity/character/player/equipment/pendant.js b/server/js/game/entity/character/player/equipment/pendant.js similarity index 77% rename from src/server/js/game/entity/character/player/equipment/pendant.js rename to server/js/game/entity/character/player/equipment/pendant.js index 424d81137..b58fa0923 100644 --- a/src/server/js/game/entity/character/player/equipment/pendant.js +++ b/server/js/game/entity/character/player/equipment/pendant.js @@ -1,5 +1,5 @@ -import Equipment from './equipment'; -import ItemsDictionary from '../../../../../util/items'; +import Equipment from './equipment.js'; +import ItemsDictionary from '../../../../../util/items.js'; export default class Pendant extends Equipment { constructor(name, id, count, ability, abilityLevel) { diff --git a/src/server/js/game/entity/character/player/equipment/ring.js b/server/js/game/entity/character/player/equipment/ring.js similarity index 76% rename from src/server/js/game/entity/character/player/equipment/ring.js rename to server/js/game/entity/character/player/equipment/ring.js index 0cbffd9e3..bded81cb6 100644 --- a/src/server/js/game/entity/character/player/equipment/ring.js +++ b/server/js/game/entity/character/player/equipment/ring.js @@ -1,5 +1,5 @@ -import Equipment from './equipment'; -import ItemsDictionary from '../../../../../util/items'; +import Equipment from './equipment.js'; +import ItemsDictionary from '../../../../../util/items.js'; export default class Ring extends Equipment { constructor(name, id, count, ability, abilityLevel) { diff --git a/src/server/js/game/entity/character/player/equipment/weapon.js b/server/js/game/entity/character/player/equipment/weapon.js similarity index 86% rename from src/server/js/game/entity/character/player/equipment/weapon.js rename to server/js/game/entity/character/player/equipment/weapon.js index 1e3638412..e5afbbeba 100644 --- a/src/server/js/game/entity/character/player/equipment/weapon.js +++ b/server/js/game/entity/character/player/equipment/weapon.js @@ -1,5 +1,5 @@ -import Equipment from './equipment'; -import ItemsDictionary from '../../../../../util/items'; +import Equipment from './equipment.js'; +import ItemsDictionary from '../../../../../util/items.js'; export default class Weapon extends Equipment { constructor(name, id, count, ability, abilityLevel) { diff --git a/src/server/js/game/entity/character/player/guild.js b/server/js/game/entity/character/player/guild.js similarity index 70% rename from src/server/js/game/entity/character/player/guild.js rename to server/js/game/entity/character/player/guild.js index f16e0d0fd..6e05586f6 100644 --- a/src/server/js/game/entity/character/player/guild.js +++ b/server/js/game/entity/character/player/guild.js @@ -1,5 +1,5 @@ -import log from '../../../../util/log'; -import Guilds from '../../../../../data/guilds.json'; +import log from '../../../../util/log.js'; +import Guilds from '../../../../../data/guilds.json' assert { type: 'json' }; export default class Guild { constructor(name, leader) { diff --git a/src/server/js/game/entity/character/player/handler.js b/server/js/game/entity/character/player/handler.js similarity index 92% rename from src/server/js/game/entity/character/player/handler.js rename to server/js/game/entity/character/player/handler.js index 65f81ec11..37d6d84b8 100644 --- a/src/server/js/game/entity/character/player/handler.js +++ b/server/js/game/entity/character/player/handler.js @@ -1,16 +1,16 @@ import _ from 'underscore'; -import Messages from '../../../../network/messages'; -import Packets from '../../../../network/packets'; -import Npcs from '../../../../util/npcs'; +import Messages from '../../../../network/messages.js'; +import Packets from '../../../../network/packets.js'; +import Npcs from '../../../../util/npcs.js'; -export default class Handler { +export default class PlayerHandler { constructor(player) { this.player = player; this.world = player.world; - this.load(); + this.loadPlayerHandler(); } - load() { + loadPlayerHandler() { this.player.onMovement((x, y) => { this.player.checkGroups(); this.detectAggro(); diff --git a/src/server/js/game/entity/character/player/player.js b/server/js/game/entity/character/player/player.js similarity index 93% rename from src/server/js/game/entity/character/player/player.js rename to server/js/game/entity/character/player/player.js index 3ca916e81..842c416cb 100644 --- a/src/server/js/game/entity/character/player/player.js +++ b/server/js/game/entity/character/player/player.js @@ -1,30 +1,30 @@ -import log from '../../../../util/log'; -import Character from '../character'; -import Incoming from '../../../../controllers/incoming'; -import Armour from './equipment/armour'; -import Weapon from './equipment/weapon'; -import Pendant from './equipment/pendant'; -import Ring from './equipment/ring'; -import Boots from './equipment/boots'; -import ItemsDictionary from '../../../../util/items'; -import Messages from '../../../../network/messages'; -import Formulas from '../../../formulas'; -import Hitpoints from './points/hitpoints'; -import Mana from './points/mana'; -import Packets from '../../../../network/packets'; -import Modules from '../../../../util/modules'; -import Handler from './handler'; -import Quests from '../../../../controllers/quests'; -import Inventory from './containers/inventory/inventory'; -import Abilities from './ability/abilities'; -import Bank from './containers/bank/bank'; -import config from '../../../../../config.json'; -import Enchant from './enchant/enchant'; -import Guild from './guild'; -import Utils from '../../../../util/utils'; -import Hit from '../combat/hit'; -import Trade from './trade'; -import Warp from './warp'; +import log from '../../../../util/log.js'; +import Character from '../character.js'; +import Incoming from '../../../../controllers/incoming.js'; +import Armour from './equipment/armour.js'; +import Weapon from './equipment/weapon.js'; +import Pendant from './equipment/pendant.js'; +import Ring from './equipment/ring.js'; +import Boots from './equipment/boots.js'; +import ItemsDictionary from '../../../../util/items.js'; +import Messages from '../../../../network/messages.js'; +import Formulas from '../../../formulas.js'; +import Hitpoints from './points/hitpoints.js'; +import Mana from './points/mana.js'; +import Packets from '../../../../network/packets.js'; +import Modules from '../../../../util/modules.js'; +import PlayerHandler from './handler.js'; +import Quests from '../../../../controllers/quests.js'; +import Inventory from './containers/inventory/inventory.js'; +import Abilities from './ability/abilities.js'; +import Bank from './containers/bank/bank.js'; +import config from '../../../../../config.json' assert { type: 'json' }; +import Enchant from './enchant/enchant.js'; +import Guild from './guild.js'; +import Utils from '../../../../util/utils.js'; +import Hit from '../combat/hit.js'; +import Trade from './trade.js'; +import Warp from './warp.js'; export default class Player extends Character { constructor(world, database, connection, clientId) { @@ -51,7 +51,7 @@ export default class Player extends Character { this.disconnectTimeout = null; this.timeoutDuration = 1000 * 60 * 10; // 10 minutes - this.handler = new Handler(this); + this.handler = new PlayerHandler(this); this.inventory = new Inventory(this, 20); this.bank = new Bank(this, 56); @@ -77,7 +77,7 @@ export default class Player extends Character { this.profileDialogOpen = false; } - load(data) { + loadPlayer(data) { this.loaded = true; this.kind = data.kind; this.rights = data.rights; @@ -132,7 +132,7 @@ export default class Player extends Character { this.save(); } - this.inventory.load(ids, counts, skills, skillLevels); + this.inventory.loadInventory(ids, counts, skills, skillLevels); this.inventory.check(); }); } @@ -148,7 +148,7 @@ export default class Player extends Character { this.save(); } - this.bank.load(ids, counts, skills, skillLevels); + this.bank.loadBank(ids, counts, skills, skillLevels); this.bank.check(); }); } diff --git a/src/server/js/game/entity/character/player/points/hitpoints.js b/server/js/game/entity/character/player/points/hitpoints.js similarity index 94% rename from src/server/js/game/entity/character/player/points/hitpoints.js rename to server/js/game/entity/character/player/points/hitpoints.js index 41eda2721..92337827f 100644 --- a/src/server/js/game/entity/character/player/points/hitpoints.js +++ b/server/js/game/entity/character/player/points/hitpoints.js @@ -1,4 +1,4 @@ -import Points from './points'; +import Points from './points.js'; export default class HitPoints extends Points { setHitPoints(hitPoints) { diff --git a/src/server/js/game/entity/character/player/points/mana.js b/server/js/game/entity/character/player/points/mana.js similarity index 93% rename from src/server/js/game/entity/character/player/points/mana.js rename to server/js/game/entity/character/player/points/mana.js index 4cca3b7d6..6259c3726 100644 --- a/src/server/js/game/entity/character/player/points/mana.js +++ b/server/js/game/entity/character/player/points/mana.js @@ -1,4 +1,4 @@ -import Points from './points'; +import Points from './points.js'; export default class Mana extends Points { getMana() { diff --git a/src/server/js/game/entity/character/player/points/points.js b/server/js/game/entity/character/player/points/points.js similarity index 100% rename from src/server/js/game/entity/character/player/points/points.js rename to server/js/game/entity/character/player/points/points.js diff --git a/src/server/js/game/entity/character/player/profession/impl/foresting.js b/server/js/game/entity/character/player/profession/impl/foresting.js similarity index 100% rename from src/server/js/game/entity/character/player/profession/impl/foresting.js rename to server/js/game/entity/character/player/profession/impl/foresting.js diff --git a/src/server/js/game/entity/character/player/profession/profession.js b/server/js/game/entity/character/player/profession/profession.js similarity index 100% rename from src/server/js/game/entity/character/player/profession/profession.js rename to server/js/game/entity/character/player/profession/profession.js diff --git a/src/server/js/game/entity/character/player/quest/misc/bulkysituation.js b/server/js/game/entity/character/player/quest/misc/bulkysituation.js similarity index 91% rename from src/server/js/game/entity/character/player/quest/misc/bulkysituation.js rename to server/js/game/entity/character/player/quest/misc/bulkysituation.js index f3e0ec8c3..c5a620fcc 100644 --- a/src/server/js/game/entity/character/player/quest/misc/bulkysituation.js +++ b/server/js/game/entity/character/player/quest/misc/bulkysituation.js @@ -1,6 +1,6 @@ -import Quest from '../quest'; -import Messages from '../../../../../../network/messages'; -import Packets from '../../../../../../network/packets'; +import Quest from '../quest.js'; +import Messages from '../../../../../../network/messages.js'; +import Packets from '../../../../../../network/packets.js'; export default class BulkySituation extends Quest { constructor(player, data) { diff --git a/src/server/js/game/entity/character/player/quest/misc/introduction.js b/server/js/game/entity/character/player/quest/misc/introduction.js similarity index 94% rename from src/server/js/game/entity/character/player/quest/misc/introduction.js rename to server/js/game/entity/character/player/quest/misc/introduction.js index cbbda5238..f22f08421 100644 --- a/src/server/js/game/entity/character/player/quest/misc/introduction.js +++ b/server/js/game/entity/character/player/quest/misc/introduction.js @@ -1,6 +1,6 @@ -import Quest from '../quest'; -import Messages from '../../../../../../network/messages'; -import Packets from '../../../../../../network/packets'; +import Quest from '../quest.js'; +import Messages from '../../../../../../network/messages.js'; +import Packets from '../../../../../../network/packets.js'; export default class Introduction extends Quest { constructor(player, data) { diff --git a/src/server/js/game/entity/character/player/quest/misc/thelie.js b/server/js/game/entity/character/player/quest/misc/thelie.js similarity index 100% rename from src/server/js/game/entity/character/player/quest/misc/thelie.js rename to server/js/game/entity/character/player/quest/misc/thelie.js diff --git a/src/server/js/game/entity/character/player/quest/quest.js b/server/js/game/entity/character/player/quest/quest.js similarity index 95% rename from src/server/js/game/entity/character/player/quest/quest.js rename to server/js/game/entity/character/player/quest/quest.js index a02357aef..aa9871f98 100644 --- a/src/server/js/game/entity/character/player/quest/quest.js +++ b/server/js/game/entity/character/player/quest/quest.js @@ -1,6 +1,6 @@ -import Messages from '../../../../../network/messages'; -import Packets from '../../../../../network/packets'; -import Utils from '../../../../../util/utils'; +import Messages from '../../../../../network/messages.js'; +import Packets from '../../../../../network/packets.js'; +import Utils from '../../../../../util/utils.js'; export default class Quest { constructor(player, data, description) { diff --git a/src/server/js/game/entity/character/player/trade.js b/server/js/game/entity/character/player/trade.js similarity index 97% rename from src/server/js/game/entity/character/player/trade.js rename to server/js/game/entity/character/player/trade.js index 823692590..705c2bd38 100644 --- a/src/server/js/game/entity/character/player/trade.js +++ b/server/js/game/entity/character/player/trade.js @@ -1,4 +1,4 @@ -import Modules from '../../../../util/modules'; +import Modules from '../../../../util/modules.js'; /** * We maintain a trade instance for every player, diff --git a/src/server/js/game/entity/character/player/warp.js b/server/js/game/entity/character/player/warp.js similarity index 93% rename from src/server/js/game/entity/character/player/warp.js rename to server/js/game/entity/character/player/warp.js index a30afb912..572152661 100644 --- a/src/server/js/game/entity/character/player/warp.js +++ b/server/js/game/entity/character/player/warp.js @@ -1,5 +1,5 @@ -import Modules from '../../../../util/modules'; -import Utils from '../../../../util/utils'; +import Modules from '../../../../util/modules.js'; +import Utils from '../../../../util/utils.js'; export default class Warp { constructor(player) { diff --git a/src/server/js/game/entity/entity.js b/server/js/game/entity/entity.js similarity index 93% rename from src/server/js/game/entity/entity.js rename to server/js/game/entity/entity.js index 7e15b2721..26b9610fe 100644 --- a/src/server/js/game/entity/entity.js +++ b/server/js/game/entity/entity.js @@ -1,8 +1,8 @@ // import log from '../../util/log'; -import Messages from '../../network/messages'; -import Mobs from '../../util/mobs'; -import NPCs from '../../util/npcs'; -import Items from '../../util/items'; +import Messages from '../../network/messages.js'; +import Mobs from '../../util/mobs.js'; +import NPCs from '../../util/npcs.js'; +import Items from '../../util/items.js'; export default class Entity { constructor(id, type, instance, x, y) { diff --git a/src/server/js/game/entity/npc/npc.js b/server/js/game/entity/npc/npc.js similarity index 88% rename from src/server/js/game/entity/npc/npc.js rename to server/js/game/entity/npc/npc.js index 986798340..0b1056c16 100644 --- a/src/server/js/game/entity/npc/npc.js +++ b/server/js/game/entity/npc/npc.js @@ -1,4 +1,4 @@ -import Entity from '../entity'; +import Entity from '../entity.js'; export default class NPC extends Entity { constructor(id, instance, x, y) { diff --git a/src/server/js/game/entity/objects/chest.js b/server/js/game/entity/objects/chest.js similarity index 90% rename from src/server/js/game/entity/objects/chest.js rename to server/js/game/entity/objects/chest.js index ffd170b80..905ec5e95 100644 --- a/src/server/js/game/entity/objects/chest.js +++ b/server/js/game/entity/objects/chest.js @@ -1,5 +1,5 @@ -import Entity from '../entity'; -import Utils from '../../../util/utils'; +import Entity from '../entity.js'; +import Utils from '../../../util/utils.js'; export default class Chest extends Entity { constructor(id, instance, x, y) { diff --git a/src/server/js/game/entity/objects/item.js b/server/js/game/entity/objects/item.js similarity index 98% rename from src/server/js/game/entity/objects/item.js rename to server/js/game/entity/objects/item.js index 03acfbb49..321fcb37b 100644 --- a/src/server/js/game/entity/objects/item.js +++ b/server/js/game/entity/objects/item.js @@ -1,4 +1,4 @@ -import Entity from '../entity'; +import Entity from '../entity.js'; export default class Item extends Entity { constructor(id, instance, x, y) { diff --git a/src/server/js/game/entity/objects/projectile.js b/server/js/game/entity/objects/projectile.js similarity index 96% rename from src/server/js/game/entity/objects/projectile.js rename to server/js/game/entity/objects/projectile.js index e9454b84d..23b9745b8 100644 --- a/src/server/js/game/entity/objects/projectile.js +++ b/server/js/game/entity/objects/projectile.js @@ -1,4 +1,4 @@ -import Entity from '../entity'; +import Entity from '../entity.js'; export default class Projectile extends Entity { constructor(id, instance) { diff --git a/src/server/js/game/formulas.js b/server/js/game/formulas.js similarity index 99% rename from src/server/js/game/formulas.js rename to server/js/game/formulas.js index dc155b45e..0a72b6ccb 100644 --- a/src/server/js/game/formulas.js +++ b/server/js/game/formulas.js @@ -1,4 +1,4 @@ -import Utils from '../util/utils'; +import Utils from '../util/utils.js'; const LevelExp = []; diff --git a/src/server/js/game/world.js b/server/js/game/world.js similarity index 96% rename from src/server/js/game/world.js rename to server/js/game/world.js index 31e26382f..e6ace30d3 100644 --- a/src/server/js/game/world.js +++ b/server/js/game/world.js @@ -1,22 +1,22 @@ import _ from 'underscore'; -import log from '../util/log'; -import config from '../../config.json'; -import Player from './entity/character/player/player'; -import Map from '../map/map'; -import Messages from '../network/messages'; -import Utils from '../util/utils'; -import MobsDictionary from '../util/mobs'; -import Mob from './entity/character/mob/mob'; -import NpcsDictionary from '../util/npcs'; -import NPC from './entity/npc/npc'; -import ItemsDictionary from '../util/items'; -import Item from './entity/objects/item'; -import Chest from './entity/objects/chest'; -import Character from './entity/character/character'; -import Projectile from './entity/objects/projectile'; -import Packets from '../network/packets'; -import Formulas from './formulas'; -import Modules from '../util/modules'; +import log from '../util/log.js'; +import config from '../../config.json' assert { type: 'json' }; +import Player from './entity/character/player/player.js'; +import Map from '../map/map.js'; +import Messages from '../network/messages.js'; +import Utils from '../util/utils.js'; +import MobsDictionary from '../util/mobs.js'; +import Mob from './entity/character/mob/mob.js'; +import NpcsDictionary from '../util/npcs.js'; +import NPC from './entity/npc/npc.js'; +import ItemsDictionary from '../util/items.js'; +import Item from './entity/objects/item.js'; +import Chest from './entity/objects/chest.js'; +import Character from './entity/character/character.js'; +import Projectile from './entity/objects/projectile.js'; +import Packets from '../network/packets.js'; +import Formulas from './formulas.js'; +import Modules from '../util/modules.js'; export default class World { constructor(id, socket, database) { diff --git a/src/server/js/main.js b/server/js/index.js similarity index 93% rename from src/server/js/main.js rename to server/js/index.js index 18a1eb877..73ae771d6 100644 --- a/src/server/js/main.js +++ b/server/js/index.js @@ -1,13 +1,13 @@ import _ from 'underscore'; import ShutdownHook from 'shutdown-hook'; -import log from './util/log'; -import config from '../config.json'; -import MySQL from './database/mysql'; -import WebSocket from './network/websocket'; -import Parser from './util/parser'; -import Bot from '../../tools/bot/bot'; -import Utils from './util/utils'; -import World from './game/world'; +import log from './util/log.js'; +import config from '../config.json' assert { type: 'json' }; +import MySQL from './database/mysql.js'; +import WebSocket from './network/websocket.js'; +import Parser from './util/parser.js'; +import Bot from './util/bot.js'; +import Utils from './util/utils.js'; +import World from './game/world.js'; let allowConnections = false; const worlds = []; diff --git a/src/server/js/map/area.js b/server/js/map/area.js similarity index 100% rename from src/server/js/map/area.js rename to server/js/map/area.js diff --git a/src/server/js/map/areas/chestareas.js b/server/js/map/areas/chestareas.js similarity index 85% rename from src/server/js/map/areas/chestareas.js rename to server/js/map/areas/chestareas.js index 2f3685fa8..e4553ef32 100644 --- a/src/server/js/map/areas/chestareas.js +++ b/server/js/map/areas/chestareas.js @@ -1,7 +1,7 @@ import _ from 'underscore'; -import log from '../../util/log'; -import Area from '../area'; -import map from '../../../data/map/world_server.json'; +import log from '../../util/log.js'; +import Area from '../area.js'; +import map from '../../../data/map/world_server.json' assert { type: 'json' }; export default class ChestAreas { constructor(world) { @@ -9,10 +9,10 @@ export default class ChestAreas { this.chestAreas = []; - this.load(); + this.loadChestArea(); } - load() { + loadChestArea() { _.each(map.chestAreas, (m) => { const chestArea = new Area(m.id, m.x, m.y, m.width, m.height); diff --git a/src/server/js/map/areas/musicareas.js b/server/js/map/areas/musicareas.js similarity index 63% rename from src/server/js/map/areas/musicareas.js rename to server/js/map/areas/musicareas.js index 38982802e..fde72d506 100644 --- a/src/server/js/map/areas/musicareas.js +++ b/server/js/map/areas/musicareas.js @@ -1,15 +1,15 @@ import _ from 'underscore'; -import log from '../../util/log'; -import map from '../../../data/map/world_server.json'; -import Area from '../area'; +import log from '../../util/log.js'; +import map from '../../../data/map/world_server.json' assert { type: 'json' }; +import Area from '../area.js'; export default class MusicAreas { constructor() { this.musicAreas = []; - this.load(); + this.loadMusicArea(); } - load() { + loadMusicArea() { _.each(map.musicAreas, (m) => { const musicArea = new Area(m.id, m.x, m.y, m.width, m.height); diff --git a/src/server/js/map/areas/pvpareas.js b/server/js/map/areas/pvpareas.js similarity index 65% rename from src/server/js/map/areas/pvpareas.js rename to server/js/map/areas/pvpareas.js index 1beeb3e1b..5eaf67bf4 100644 --- a/src/server/js/map/areas/pvpareas.js +++ b/server/js/map/areas/pvpareas.js @@ -1,15 +1,15 @@ import _ from 'underscore'; -import log from '../../util/log'; -import Area from '../area'; -import map from '../../../data/map/world_server.json'; +import log from '../../util/log.js'; +import Area from '../area.js'; +import map from '../../../data/map/world_server.json' assert { type: 'json' }; export default class PVPAreas { constructor() { this.pvpAreas = []; - this.load(); + this.loadPvpArea(); } - load() { + loadPvpArea() { const list = map.pvpAreas; diff --git a/src/server/js/map/grids.js b/server/js/map/grids.js similarity index 98% rename from src/server/js/map/grids.js rename to server/js/map/grids.js index 8b2c18563..5e50fc66b 100644 --- a/src/server/js/map/grids.js +++ b/server/js/map/grids.js @@ -11,10 +11,10 @@ export default class Grids { this.entityGrid = []; - this.load(); + this.loadGrid(); } - load() { + loadGrid() { for (let i = 0; i < this.map.height; i += 1) { this.entityGrid[i] = []; diff --git a/src/server/js/map/groups.js b/server/js/map/groups.js similarity index 96% rename from src/server/js/map/groups.js rename to server/js/map/groups.js index 48d158861..2357ef6dc 100644 --- a/src/server/js/map/groups.js +++ b/server/js/map/groups.js @@ -1,5 +1,5 @@ import _ from 'underscore'; -import map from '../../data/map/world_server.json'; +import map from '../../data/map/world_server.json' assert { type: 'json' }; export default class Groups { constructor(mapData) { diff --git a/src/server/js/map/map.js b/server/js/map/map.js similarity index 87% rename from src/server/js/map/map.js rename to server/js/map/map.js index ecccfe872..9226e5644 100644 --- a/src/server/js/map/map.js +++ b/server/js/map/map.js @@ -1,28 +1,31 @@ import fs from 'fs'; import _ from 'underscore'; -import log from '../util/log'; -import Modules from '../util/modules'; -import Utils from '../util/utils'; -import Groups from './groups'; -import PVPAreas from './areas/pvpareas'; -import MusicAreas from './areas/musicareas'; -import ChestAreas from './areas/chestareas'; -import Grids from './grids'; - -import gridData from '../../data/map/collisions.json'; -import map from '../../data/map/world_server.json'; -import config from '../../config.json'; +import log from '../util/log.js'; +import Modules from '../util/modules.js'; +import Utils from '../util/utils.js'; +import Groups from './groups.js'; +import PVPAreas from './areas/pvpareas.js'; +import MusicAreas from './areas/musicareas.js'; +import ChestAreas from './areas/chestareas.js'; +import Grids from './grids.js'; +import utils from '../util/utils.js'; + +import gridData from '../../data/map/collisions.json' assert { type: 'json' }; +import map from '../../data/map/world_server.json' assert { type: 'json' }; +import config from '../../config.json' assert { type: 'json' }; + +const __dirname = utils.dirName(import.meta.url); export default class Map { constructor(world) { this.world = world; this.ready = false; - this.load(); + this.loadServerMap(); this.groups = new Groups(this); this.grids = new Grids(this); } - load() { + loadServerMap() { this.width = map.width; this.height = map.height; this.collisions = map.collisions; diff --git a/src/server/js/minigames/impl/teamwar.js b/server/js/minigames/impl/teamwar.js similarity index 74% rename from src/server/js/minigames/impl/teamwar.js rename to server/js/minigames/impl/teamwar.js index 26329ea91..ae4f37098 100644 --- a/src/server/js/minigames/impl/teamwar.js +++ b/server/js/minigames/impl/teamwar.js @@ -1,5 +1,5 @@ import Minigame from '../minigame'; -import Data from '../../../data/minigames.json'; +import Data from '../../../data/minigames.json' assert { type: 'json' }; export default class TeamWar extends Minigame { constructor(world) { diff --git a/src/server/js/minigames/minigame.js b/server/js/minigames/minigame.js similarity index 100% rename from src/server/js/minigames/minigame.js rename to server/js/minigames/minigame.js diff --git a/src/server/js/network/messages.js b/server/js/network/messages.js similarity index 99% rename from src/server/js/network/messages.js rename to server/js/network/messages.js index 2f68e8e57..8b6cef912 100644 --- a/src/server/js/network/messages.js +++ b/server/js/network/messages.js @@ -1,4 +1,4 @@ -import Packets from './packets'; +import Packets from './packets.js'; /** * Abstract class wrapper for all message classes diff --git a/src/server/js/network/packets.js b/server/js/network/packets.js similarity index 100% rename from src/server/js/network/packets.js rename to server/js/network/packets.js diff --git a/src/server/js/network/socket.js b/server/js/network/socket.js similarity index 100% rename from src/server/js/network/socket.js rename to server/js/network/socket.js diff --git a/src/server/js/network/websocket.js b/server/js/network/websocket.js similarity index 91% rename from src/server/js/network/websocket.js rename to server/js/network/websocket.js index 906e4a406..b79c8fb31 100644 --- a/src/server/js/network/websocket.js +++ b/server/js/network/websocket.js @@ -1,10 +1,10 @@ import serve from 'serve-static'; import http from 'http'; import StaticConnection from 'connect'; -import SocketIO from 'socket.io'; -import log from '../util/log'; -import Socket from './socket'; -import Utils from '../util/utils'; +import { Server as SocketIO } from "socket.io"; +import log from '../util/log.js'; +import Socket from './socket.js'; +import Utils from '../util/utils.js'; class Connection { constructor(id, socket, server) { @@ -65,14 +65,14 @@ class Server extends Socket { this.ips = {}; // Serve statically for faster development - const app = StaticConnection(); + const connect = StaticConnection(); - app.use(serve('client', { + connect.use(serve('client', { index: ['index.html'], }), null); this.httpServer = http - .createServer(app) + .createServer(connect) .listen(port, host, () => { log.notice(`Server is now listening on: ${port}`); if (this.webSocketReadyCallback) { diff --git a/src/server/js/util/abilities.js b/server/js/util/abilities.js similarity index 94% rename from src/server/js/util/abilities.js rename to server/js/util/abilities.js index e166e812a..b7b257134 100644 --- a/src/server/js/util/abilities.js +++ b/server/js/util/abilities.js @@ -1,5 +1,5 @@ -import log from './log'; -import PluginLoader from './plugins'; +import log from './log.js'; +import PluginLoader from './plugins.js'; const AbilityDictionary = { data: {}, diff --git a/src/tools/bot/bot.js b/server/js/util/bot.js similarity index 72% rename from src/tools/bot/bot.js rename to server/js/util/bot.js index 9caf0d570..01fda7ef6 100644 --- a/src/tools/bot/bot.js +++ b/server/js/util/bot.js @@ -1,5 +1,5 @@ -import Player from '../../server/js/game/entity/character/player/player'; -import Creator from '../../server/js/database/creator'; +import Player from '../game/entity/character/player/player.js'; +import Creator from '../database/creator.js'; export default class Bot { constructor(world, count) { @@ -10,10 +10,10 @@ export default class Bot { this.players = []; - this.load(); + this.loadBot(); } - load() { + loadBot() { for (let i = 0; i < this.count; i += 1) { const connection = { id: i, @@ -26,7 +26,7 @@ export default class Bot { player.username = `Bot${i}`; - player.load(this.creator.getPlayerData(player)); + player.loadPlayer(this.creator.getPlayerData(player)); player.intro(); diff --git a/src/server/js/util/constants.js b/server/js/util/constants.js similarity index 100% rename from src/server/js/util/constants.js rename to server/js/util/constants.js diff --git a/src/server/js/util/items.js b/server/js/util/items.js similarity index 98% rename from src/server/js/util/items.js rename to server/js/util/items.js index cbb615298..7fd700bae 100644 --- a/src/server/js/util/items.js +++ b/server/js/util/items.js @@ -1,5 +1,5 @@ -import log from './log'; -import PluginLoader from './plugins'; +import log from './log.js'; +import PluginLoader from './plugins.js'; const ItemsDictionary = { data: {}, diff --git a/server/js/util/log.js b/server/js/util/log.js new file mode 100644 index 000000000..e4be080b1 --- /dev/null +++ b/server/js/util/log.js @@ -0,0 +1,7 @@ +// process.env.LOG_LEVEL = 'info'; +import logNode from 'log-node'; +import log from 'log'; + +logNode(); + +export default log; diff --git a/src/server/js/util/mobs.js b/server/js/util/mobs.js similarity index 96% rename from src/server/js/util/mobs.js rename to server/js/util/mobs.js index 662cca8e4..2a3287453 100644 --- a/src/server/js/util/mobs.js +++ b/server/js/util/mobs.js @@ -1,5 +1,5 @@ -import log from './log'; -import PluginLoader from './plugins'; +import log from './log.js'; +import PluginLoader from './plugins.js'; const MobsDictionary = { data: {}, diff --git a/src/server/js/util/modules.js b/server/js/util/modules.js similarity index 100% rename from src/server/js/util/modules.js rename to server/js/util/modules.js diff --git a/src/server/js/util/npcs.js b/server/js/util/npcs.js similarity index 95% rename from src/server/js/util/npcs.js rename to server/js/util/npcs.js index 9cd8a0967..f7bf8c6a3 100644 --- a/src/server/js/util/npcs.js +++ b/server/js/util/npcs.js @@ -1,5 +1,5 @@ -import log from './log'; -import PluginLoader from './plugins'; +import log from './log.js'; +import PluginLoader from './plugins.js'; const NpcsDictionary = { data: {}, diff --git a/src/server/js/util/parser.js b/server/js/util/parser.js similarity index 86% rename from src/server/js/util/parser.js rename to server/js/util/parser.js index 9bd0b39f2..6544bb8ba 100644 --- a/src/server/js/util/parser.js +++ b/server/js/util/parser.js @@ -1,17 +1,20 @@ /* eslint-disable */ import _ from 'underscore'; -import log from '../util/log'; -import NPCData from '../../data/npcs.json'; -import ItemData from '../../data/items.json'; -import MobData from '../../data/mobs.json'; -import AbilityData from '../../data/abilities.json'; -import ShopsData from '../../data/shops.json'; -import ItemsDictionary from './items'; -import NpcsDictionary from './npcs'; -import MobsDictionary from './mobs'; -import AbilitiesDictionary from './abilities'; -import ShopsDictionary from './shops'; -import Formulas from '../game/formulas'; +import log from './log.js'; +import NPCData from '../../data/npcs.json' assert { type: 'json' }; +import ItemData from '../../data/items.json' assert { type: 'json' }; +import MobData from '../../data/mobs.json' assert { type: 'json' }; +import AbilityData from '../../data/abilities.json' assert { type: 'json' }; +import ShopsData from '../../data/shops.json' assert { type: 'json' }; +import ItemsDictionary from './items.js'; +import NpcsDictionary from './npcs.js'; +import MobsDictionary from './mobs.js'; +import AbilitiesDictionary from './abilities.js'; +import ShopsDictionary from './shops.js'; +import Formulas from '../game/formulas.js'; +import utils from './utils.js'; + +const __dirname = utils.dirName(import.meta.url); export default class Parser { constructor() { diff --git a/src/server/js/util/plugins.js b/server/js/util/plugins.js similarity index 68% rename from src/server/js/util/plugins.js rename to server/js/util/plugins.js index b39b20d16..515f5b314 100644 --- a/src/server/js/util/plugins.js +++ b/server/js/util/plugins.js @@ -1,21 +1,17 @@ import fs from 'fs'; +import path from 'path'; const Filter = /^([^\.].*)\.js$/; -function identity(val) { - return val; -} - export default function requireItems(directory) { const files = fs.readdirSync(directory); const modules = {}; - const resolve = identity; files.forEach((file) => { const match = file.match(Filter); if (match) { - modules[match[1]] = resolve(require(directory + file)); + modules[match[1]] = path.resolve(directory + file); } }); diff --git a/src/server/js/util/shops.js b/server/js/util/shops.js similarity index 96% rename from src/server/js/util/shops.js rename to server/js/util/shops.js index 4c10a94b0..f3b29fd91 100644 --- a/src/server/js/util/shops.js +++ b/server/js/util/shops.js @@ -1,6 +1,6 @@ import _ from 'underscore'; -import log from './log'; -import PluginLoader from './plugins'; +import log from './log.js'; +import PluginLoader from './plugins.js'; const ShopsDictionary = { data: [], diff --git a/src/server/js/util/utils.js b/server/js/util/utils.js similarity index 83% rename from src/server/js/util/utils.js rename to server/js/util/utils.js index ffa7106a0..360be1e8e 100644 --- a/src/server/js/util/utils.js +++ b/server/js/util/utils.js @@ -1,9 +1,16 @@ -import Packets from '../network/packets'; +import Packets from '../network/packets.js'; +import { fileURLToPath } from 'url'; +import { dirname } from 'path'; const randomInt = (min, max) => min + Math.floor(Math.random() * (max - min + 1)); const random = range => Math.floor(Math.random() * range); export default { + dirName: val => { + const __filename = fileURLToPath(val); + return dirname(__filename); + }, + fileName: val => fileURLToPath(val), isInt: n => n % 1 === 0, random, randomRange: (min, max) => min + Math.random() * (max - min), diff --git a/server/package-lock.json b/server/package-lock.json new file mode 100644 index 000000000..4eaae6659 --- /dev/null +++ b/server/package-lock.json @@ -0,0 +1,6970 @@ +{ + "name": "wtf-adventure-server", + "version": "0.1.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "wtf-adventure-server", + "version": "0.1.0", + "dependencies": { + "connect": "^3.7.0", + "fs": "^0.0.1-security", + "log-node": "^8.0.3", + "mysql": "^2.18.1", + "next": "13.5.4", + "nodemon": "^3.0.1", + "path": "^0.12.7", + "request": "^2.88.2", + "sanitizer": "^0.1.3", + "serve-static": "^1.15.0", + "shutdown-hook": "^1.1.8", + "socket.io": "^4.7.2", + "underscore": "^1.13.6", + "url": "^0.11.3" + }, + "devDependencies": { + "@babel/core": "^7.23.0", + "@babel/node": "^7.22.19", + "@types/log": "^6.3.1", + "@types/mysql": "^2.15.22", + "@types/node": "^20", + "@types/request": "^2.48.9", + "@types/underscore": "^1.11.9", + "eslint": "^8.50.0", + "eslint-config-node": "^4.1.0", + "typescript": "^5" + } + }, + "node_modules/@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", + "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.22.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", + "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.22.13", + "chalk": "^2.4.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/code-frame/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/code-frame/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/@babel/code-frame/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/code-frame/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.20.tgz", + "integrity": "sha512-BQYjKbpXjoXwFW5jGqiizJQQT/aC7pFm9Ok1OWssonuguICi264lbgMzRp2ZMmRSlfkX6DsWDDcsrctK8Rwfiw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.0.tgz", + "integrity": "sha512-97z/ju/Jy1rZmDxybphrBuI+jtJjFVoz7Mr9yUQVVVi+DNZE333uFQeMOqcCIy1x3WYBIbWftUSLmbNXNT7qFQ==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.22.13", + "@babel/generator": "^7.23.0", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-module-transforms": "^7.23.0", + "@babel/helpers": "^7.23.0", + "@babel/parser": "^7.23.0", + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.0", + "@babel/types": "^7.23.0", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@babel/core/node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@babel/core/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/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", + "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", + "dev": true, + "dependencies": { + "@babel/types": "^7.23.0", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz", + "integrity": "sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.22.9", + "@babel/helper-validator-option": "^7.22.15", + "browserslist": "^4.21.9", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", + "dev": true, + "dependencies": { + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", + "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.0.tgz", + "integrity": "sha512-WhDWw1tdrlT0gMgUJSlX0IQvoO1eN279zrAUbVB+KpV2c3Tylz8+GnKOLllCS6Z/iZQEyVYxhZVUdPTqs2YYPw==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-validator-identifier": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", + "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.15.tgz", + "integrity": "sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.23.1", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.1.tgz", + "integrity": "sha512-chNpneuK18yW5Oxsr+t553UZzzAs3aZnFm4bxhebsNTeshrC95yA7l5yl7GBAG+JG1rF0F7zzD2EixK9mWSDoA==", + "dev": true, + "dependencies": { + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.0", + "@babel/types": "^7.23.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", + "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/@babel/highlight/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/node": { + "version": "7.22.19", + "resolved": "https://registry.npmjs.org/@babel/node/-/node-7.22.19.tgz", + "integrity": "sha512-VsKSO9aEHdO16NdtqkJfrXZ9Sxlna1BVnBbToWr1KGdI3cyIk6KqOoa8mWvpK280lJDOwJqxvnl994KmLhq1Yw==", + "dev": true, + "dependencies": { + "@babel/register": "^7.22.15", + "commander": "^4.0.1", + "core-js": "^3.30.2", + "node-environment-flags": "^1.0.5", + "regenerator-runtime": "^0.14.0", + "v8flags": "^3.1.1" + }, + "bin": { + "babel-node": "bin/babel-node.js" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/parser": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", + "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/register": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.22.15.tgz", + "integrity": "sha512-V3Q3EqoQdn65RCgTLwauZaTfd1ShhwPmbBv+1dkZV/HpCGMKVyn6oFcRlI7RaKqiDQjX2Qd3AuoEguBgdjIKlg==", + "dev": true, + "dependencies": { + "clone-deep": "^4.0.1", + "find-cache-dir": "^2.0.0", + "make-dir": "^2.1.0", + "pirates": "^4.0.5", + "source-map-support": "^0.5.16" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/template": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", + "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.22.13", + "@babel/parser": "^7.22.15", + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.0.tgz", + "integrity": "sha512-t/QaEvyIoIkwzpiZ7aoSKK8kObQYeF7T2v+dazAYCb8SXtp58zEVkWW7zAnju8FNKNdr4ScAOEDmMItbyOmEYw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.22.13", + "@babel/generator": "^7.23.0", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.23.0", + "@babel/types": "^7.23.0", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@babel/traverse/node_modules/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, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/traverse/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/@babel/types": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", + "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", + "dev": true, + "dependencies": { + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.20", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.9.1.tgz", + "integrity": "sha512-Y27x+MBLjXa+0JWDhykM3+JE+il3kHKAEqabfEWq3SDhZjLYb6/BHL/JKFnH3fe207JaXkyDo685Oc2Glt6ifA==", + "dev": true, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz", + "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@eslint/eslintrc/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/@eslint/js": { + "version": "8.50.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.50.0.tgz", + "integrity": "sha512-NCC3zz2+nvYd+Ckfh87rA47zfu2QsQpvc6k1yzTk+b9KzRj0wkGa8LSoGOXN6Zv4lRf/EIoZ80biDh9HOI+RNQ==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.11", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.11.tgz", + "integrity": "sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==", + "dev": true, + "dependencies": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/config-array/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@humanwhocodes/config-array/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/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "dev": true + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.19", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz", + "integrity": "sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@next/env": { + "version": "13.5.4", + "resolved": "https://registry.npmjs.org/@next/env/-/env-13.5.4.tgz", + "integrity": "sha512-LGegJkMvRNw90WWphGJ3RMHMVplYcOfRWf2Be3td3sUa+1AaxmsYyANsA+znrGCBjXJNi4XAQlSoEfUxs/4kIQ==" + }, + "node_modules/@next/swc-darwin-arm64": { + "version": "13.5.4", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.5.4.tgz", + "integrity": "sha512-Df8SHuXgF1p+aonBMcDPEsaahNo2TCwuie7VXED4FVyECvdXfRT9unapm54NssV9tF3OQFKBFOdlje4T43VO0w==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-darwin-x64": { + "version": "13.5.4", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-13.5.4.tgz", + "integrity": "sha512-siPuUwO45PnNRMeZnSa8n/Lye5ZX93IJom9wQRB5DEOdFrw0JjOMu1GINB8jAEdwa7Vdyn1oJ2xGNaQpdQQ9Pw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-arm64-gnu": { + "version": "13.5.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-13.5.4.tgz", + "integrity": "sha512-l/k/fvRP/zmB2jkFMfefmFkyZbDkYW0mRM/LB+tH5u9pB98WsHXC0WvDHlGCYp3CH/jlkJPL7gN8nkTQVrQ/2w==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-arm64-musl": { + "version": "13.5.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-13.5.4.tgz", + "integrity": "sha512-YYGb7SlLkI+XqfQa8VPErljb7k9nUnhhRrVaOdfJNCaQnHBcvbT7cx/UjDQLdleJcfyg1Hkn5YSSIeVfjgmkTg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-x64-gnu": { + "version": "13.5.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-13.5.4.tgz", + "integrity": "sha512-uE61vyUSClnCH18YHjA8tE1prr/PBFlBFhxBZis4XBRJoR+txAky5d7gGNUIbQ8sZZ7LVkSVgm/5Fc7mwXmRAg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-x64-musl": { + "version": "13.5.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-13.5.4.tgz", + "integrity": "sha512-qVEKFYML/GvJSy9CfYqAdUexA6M5AklYcQCW+8JECmkQHGoPxCf04iMh7CPR7wkHyWWK+XLt4Ja7hhsPJtSnhg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-arm64-msvc": { + "version": "13.5.4", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-13.5.4.tgz", + "integrity": "sha512-mDSQfqxAlfpeZOLPxLymZkX0hYF3juN57W6vFHTvwKlnHfmh12Pt7hPIRLYIShk8uYRsKPtMTth/EzpwRI+u8w==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-ia32-msvc": { + "version": "13.5.4", + "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.5.4.tgz", + "integrity": "sha512-aoqAT2XIekIWoriwzOmGFAvTtVY5O7JjV21giozBTP5c6uZhpvTWRbmHXbmsjZqY4HnEZQRXWkSAppsIBweKqw==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-x64-msvc": { + "version": "13.5.4", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-13.5.4.tgz", + "integrity": "sha512-cyRvlAxwlddlqeB9xtPSfNSCRy8BOa4wtMo0IuI9P7Y0XT2qpDrpFKRyZ7kUngZis59mPVla5k8X1oOJ8RxDYg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "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" + }, + "engines": { + "node": ">= 8" + } + }, + "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==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@socket.io/component-emitter": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz", + "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==" + }, + "node_modules/@swc/helpers": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.2.tgz", + "integrity": "sha512-E4KcWTpoLHqwPHLxidpOqQbcrZVgi0rsmmZXUle1jXmJfuIf/UWpczUJ7MZZ5tlxytgJXyp0w4PGkkeLiuIdZw==", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@types/caseless": { + "version": "0.12.3", + "resolved": "https://registry.npmjs.org/@types/caseless/-/caseless-0.12.3.tgz", + "integrity": "sha512-ZD/NsIJYq/2RH+hY7lXmstfp/v9djGt9ah+xRQ3pcgR79qiKsG4pLl25AI7IcXxVO8dH9GiBE5rAknC0ePntlw==", + "dev": true + }, + "node_modules/@types/cookie": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz", + "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==" + }, + "node_modules/@types/cors": { + "version": "2.8.14", + "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.14.tgz", + "integrity": "sha512-RXHUvNWYICtbP6s18PnOCaqToK8y14DnLd75c6HfyKf228dxy7pHNOQkxPtvXKp/hINFMDjbYzsj63nnpPMSRQ==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", + "dev": true + }, + "node_modules/@types/log": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/@types/log/-/log-6.3.1.tgz", + "integrity": "sha512-E4iILDGXcD+B65c0ovFFtg+JJXpAfPIYYzPXAHh8LPIoxIANaLJaAJ98azT5IbFXdelUPqKeGd5zUpNzKuJScg==", + "dev": true + }, + "node_modules/@types/mysql": { + "version": "2.15.22", + "resolved": "https://registry.npmjs.org/@types/mysql/-/mysql-2.15.22.tgz", + "integrity": "sha512-wK1pzsJVVAjYCSZWQoWHziQZbNggXFDUEIGf54g4ZM/ERuP86uGdWeKZWMYlqTPMZfHJJvLPyogXGvCOg87yLQ==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/node": { + "version": "20.8.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.2.tgz", + "integrity": "sha512-Vvycsc9FQdwhxE3y3DzeIxuEJbWGDsnrxvMADzTDF/lcdR9/K+AQIeAghTQsHtotg/q0j3WEOYS/jQgSdWue3w==" + }, + "node_modules/@types/request": { + "version": "2.48.9", + "resolved": "https://registry.npmjs.org/@types/request/-/request-2.48.9.tgz", + "integrity": "sha512-4mi2hYsvPAhe8RXjk5DKB09sAUzbK68T2XjORehHdWyxFoX2zUnfi1VQ5wU4Md28H/5+uB4DkxY9BS4B87N/0A==", + "dev": true, + "dependencies": { + "@types/caseless": "*", + "@types/node": "*", + "@types/tough-cookie": "*", + "form-data": "^2.5.0" + } + }, + "node_modules/@types/tough-cookie": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.3.tgz", + "integrity": "sha512-THo502dA5PzG/sfQH+42Lw3fvmYkceefOspdCwpHRul8ik2Jv1K8I5OZz1AT3/rs46kwgMCe9bSBmDLYkkOMGg==", + "dev": true + }, + "node_modules/@types/underscore": { + "version": "1.11.9", + "resolved": "https://registry.npmjs.org/@types/underscore/-/underscore-1.11.9.tgz", + "integrity": "sha512-M63wKUdsjDFUfyFt1TCUZHGFk9KDAa5JP0adNUErbm0U45Lr06HtANdYRP+GyleEopEoZ4UyBcdAC5TnW4Uz2w==", + "dev": true + }, + "node_modules/abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", + "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-escapes/node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "engines": { + "node": ">=8" + } + }, + "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/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", + "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "is-array-buffer": "^3.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-includes": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.7.tgz", + "integrity": "sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.findlastindex": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.3.tgz", + "integrity": "sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0", + "get-intrinsic": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flat": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", + "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flatmap": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", + "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.reduce": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.6.tgz", + "integrity": "sha512-UW+Mz8LG/sPSU8jRDCjVr6J/ZKAGpHfwrZ6kWTG5qCxIEiXdVshqGnu5vEZA8S1y6X4aCSbQZ0/EEsfvEvBiSg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-array-method-boxes-properly": "^1.0.0", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz", + "integrity": "sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", + "is-array-buffer": "^3.0.2", + "is-shared-array-buffer": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/asn1": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", + "dependencies": { + "safer-buffer": "~2.1.0" + } + }, + "node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/astral-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", + "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "node_modules/available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", + "engines": { + "node": "*" + } + }, + "node_modules/aws4": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", + "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==" + }, + "node_modules/babel-eslint": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.1.0.tgz", + "integrity": "sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg==", + "deprecated": "babel-eslint is now @babel/eslint-parser. This package will no longer receive updates.", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.7.0", + "@babel/traverse": "^7.7.0", + "@babel/types": "^7.7.0", + "eslint-visitor-keys": "^1.0.0", + "resolve": "^1.12.0" + }, + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "eslint": ">= 4.12.1" + } + }, + "node_modules/babel-eslint/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "node_modules/base64id": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", + "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==", + "engines": { + "node": "^4.5.0 || >= 5.9" + } + }, + "node_modules/bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", + "dependencies": { + "tweetnacl": "^0.14.3" + } + }, + "node_modules/bignumber.js": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.0.tgz", + "integrity": "sha512-t/OYhhJ2SD+YGBQcjY8GzzDHEk9f3nerxjtfa6tlMXfe7frs/WozhvCNoGvpM0P3bNf3Gq5ZRMlGr5f3r4/N8A==", + "engines": { + "node": "*" + } + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/bluebird": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.3.4.tgz", + "integrity": "sha512-sCXkOlWh201V9KAs6lXtzbPQHmVhys/wC0I1vaCjZzZtiskEeNJljIRqirGJ+M+WOf/KL7P7KSpUaqaR6BCq7w==" + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.1.tgz", + "integrity": "sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001541", + "electron-to-chromium": "^1.4.535", + "node-releases": "^2.0.13", + "update-browserslist-db": "^1.0.13" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "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/busboy": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", + "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", + "dependencies": { + "streamsearch": "^1.1.0" + }, + "engines": { + "node": ">=10.16.0" + } + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001543", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001543.tgz", + "integrity": "sha512-qxdO8KPWPQ+Zk6bvNpPeQIOH47qZSYdFZd6dXQzb2KzhnSXju4Kd7H1PkSJx6NICSMgo/IhRZRhhfPTHYpJUCA==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "node_modules/caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" + }, + "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/chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chokidar/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==", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/cli-color": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/cli-color/-/cli-color-2.0.3.tgz", + "integrity": "sha512-OkoZnxyC4ERN3zLzZaY9Emb7f/MhBOIpePv0Ycok0fJYT+Ouo00UBEIwsVsr0yoow++n5YWlSUgST9GKhNHiRQ==", + "dependencies": { + "d": "^1.0.1", + "es5-ext": "^0.10.61", + "es6-iterator": "^2.0.3", + "memoizee": "^0.4.15", + "timers-ext": "^0.1.7" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-sprintf-format": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/cli-sprintf-format/-/cli-sprintf-format-1.1.1.tgz", + "integrity": "sha512-BbEjY9BEdA6wagVwTqPvmAwGB24U93rQPBFZUT8lNCDxXzre5LFHQUTJc70czjgUomVg8u8R5kW8oY9DYRFNeg==", + "dependencies": { + "cli-color": "^2.0.1", + "es5-ext": "^0.10.53", + "sprintf-kit": "^2.0.1", + "supports-color": "^6.1.0" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/cli-sprintf-format/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/cli-sprintf-format/node_modules/supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/cli-width": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/client-only": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", + "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==" + }, + "node_modules/clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "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/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/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "dev": true + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "node_modules/connect": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", + "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", + "dependencies": { + "debug": "2.6.9", + "finalhandler": "1.1.2", + "parseurl": "~1.3.3", + "utils-merge": "1.0.1" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true + }, + "node_modules/cookie": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", + "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/core-js": { + "version": "3.33.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.33.0.tgz", + "integrity": "sha512-HoZr92+ZjFEKar5HS6MC776gYslNOKHt75mEBKWKnPeFDpZ6nH5OeF3S6HFT1mUAUZKrzkez05VboaX8myjSuw==", + "dev": true, + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-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==" + }, + "node_modules/cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/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/d": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", + "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", + "dependencies": { + "es5-ext": "^0.10.50", + "type": "^1.0.1" + } + }, + "node_modules/d/node_modules/type": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", + "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==" + }, + "node_modules/dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", + "dependencies": { + "assert-plus": "^1.0.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "node_modules/define-data-property": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.0.tgz", + "integrity": "sha512-UzGwzcjyv3OtAvolTj1GoyNYzfFR+iqbGjcnBEENZVCpM4/Ng1yhGNvS3lR/xDS74Tb2wGG9WzNSNIOS9UVb2g==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dev": true, + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/duration": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/duration/-/duration-0.2.2.tgz", + "integrity": "sha512-06kgtea+bGreF5eKYgI/36A6pLXggY7oR4p1pq4SmdFBn1ReOL5D8RhG64VrqfTTKNucqqtBAwEj8aB88mcqrg==", + "peer": true, + "dependencies": { + "d": "1", + "es5-ext": "~0.10.46" + } + }, + "node_modules/ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", + "dependencies": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" + }, + "node_modules/electron-to-chromium": { + "version": "1.4.544", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.544.tgz", + "integrity": "sha512-54z7squS1FyFRSUqq/knOFSptjjogLZXbKcYk3B0qkE1KZzvqASwRZnY2KzZQJqIYLVD38XZeoiMRflYSwyO4w==", + "dev": true + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/engine.io": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.5.2.tgz", + "integrity": "sha512-IXsMcGpw/xRfjra46sVZVHiSWo/nJ/3g1337q9KNXtS6YRzbW5yIzTCb9DjhrBe7r3GZQR0I4+nq+4ODk5g/cA==", + "dependencies": { + "@types/cookie": "^0.4.1", + "@types/cors": "^2.8.12", + "@types/node": ">=10.0.0", + "accepts": "~1.3.4", + "base64id": "2.0.0", + "cookie": "~0.4.1", + "cors": "~2.8.5", + "debug": "~4.3.1", + "engine.io-parser": "~5.2.1", + "ws": "~8.11.0" + }, + "engines": { + "node": ">=10.2.0" + } + }, + "node_modules/engine.io-parser": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.1.tgz", + "integrity": "sha512-9JktcM3u18nU9N2Lz3bWeBgxVgOKpw7yhRaoxQA3FUDZzzw+9WlA6p4G4u0RixNkg14fH7EfEc/RhpurtiROTQ==", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/engine.io/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/engine.io/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==" + }, + "node_modules/es-abstract": { + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.2.tgz", + "integrity": "sha512-YoxfFcDmhjOgWPWsV13+2RNjq1F6UQnfs+8TftwNqtzlmFzEXvlUwdrNrYeaizfjQzRMxkZ6ElWMOJIFKdVqwA==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "arraybuffer.prototype.slice": "^1.0.2", + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "es-set-tostringtag": "^2.0.1", + "es-to-primitive": "^1.2.1", + "function.prototype.name": "^1.1.6", + "get-intrinsic": "^1.2.1", + "get-symbol-description": "^1.0.0", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", + "has": "^1.0.3", + "has-property-descriptors": "^1.0.0", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.5", + "is-array-buffer": "^3.0.2", + "is-callable": "^1.2.7", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "is-string": "^1.0.7", + "is-typed-array": "^1.1.12", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.3", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.5.1", + "safe-array-concat": "^1.0.1", + "safe-regex-test": "^1.0.0", + "string.prototype.trim": "^1.2.8", + "string.prototype.trimend": "^1.0.7", + "string.prototype.trimstart": "^1.0.7", + "typed-array-buffer": "^1.0.0", + "typed-array-byte-length": "^1.0.0", + "typed-array-byte-offset": "^1.0.0", + "typed-array-length": "^1.0.4", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.11" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-array-method-boxes-properly": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", + "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==", + "dev": true + }, + "node_modules/es-set-tostringtag": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", + "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.3", + "has": "^1.0.3", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-shim-unscopables": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", + "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + } + }, + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es5-ext": { + "version": "0.10.62", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.62.tgz", + "integrity": "sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==", + "hasInstallScript": true, + "dependencies": { + "es6-iterator": "^2.0.3", + "es6-symbol": "^3.1.3", + "next-tick": "^1.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==", + "dependencies": { + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" + } + }, + "node_modules/es6-symbol": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", + "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", + "dependencies": { + "d": "^1.0.1", + "ext": "^1.1.2" + } + }, + "node_modules/es6-weak-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz", + "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==", + "dependencies": { + "d": "1", + "es5-ext": "^0.10.46", + "es6-iterator": "^2.0.3", + "es6-symbol": "^3.1.1" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "8.50.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.50.0.tgz", + "integrity": "sha512-FOnOGSuFuFLv/Sa+FDVRZl4GGVAAFFi8LecRsI5a1tMO5HIE8nCm4ivAlzt4dT3ol/PaaGC0rJEEXQmHJBGoOg==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.2", + "@eslint/js": "8.50.0", + "@humanwhocodes/config-array": "^0.11.11", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-config-esnext": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-esnext/-/eslint-config-esnext-4.1.0.tgz", + "integrity": "sha512-GhfVEXdqYKEIIj7j+Fw2SQdL9qyZMekgXfq6PyXM66cQw0B435ddjz3P3kxOBVihMRJ0xGYjosaveQz5Y6z0uA==", + "dev": true, + "dependencies": { + "babel-eslint": "^10.0.1", + "eslint": "^6.8.0", + "eslint-plugin-babel": "^5.2.1", + "eslint-plugin-import": "^2.14.0" + }, + "peerDependencies": { + "eslint": "^6.0.0" + } + }, + "node_modules/eslint-config-esnext/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/eslint-config-esnext/node_modules/ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/eslint-config-esnext/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-config-esnext/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/eslint-config-esnext/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-config-esnext/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/eslint-config-esnext/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/eslint-config-esnext/node_modules/cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "dependencies": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "engines": { + "node": ">=4.8" + } + }, + "node_modules/eslint-config-esnext/node_modules/cross-spawn/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/eslint-config-esnext/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/eslint-config-esnext/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/eslint-config-esnext/node_modules/eslint": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz", + "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "ajv": "^6.10.0", + "chalk": "^2.1.0", + "cross-spawn": "^6.0.5", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "eslint-scope": "^5.0.0", + "eslint-utils": "^1.4.3", + "eslint-visitor-keys": "^1.1.0", + "espree": "^6.1.2", + "esquery": "^1.0.1", + "esutils": "^2.0.2", + "file-entry-cache": "^5.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.0.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "inquirer": "^7.0.0", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.3.0", + "lodash": "^4.17.14", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "optionator": "^0.8.3", + "progress": "^2.0.0", + "regexpp": "^2.0.1", + "semver": "^6.1.2", + "strip-ansi": "^5.2.0", + "strip-json-comments": "^3.0.1", + "table": "^5.2.3", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-config-esnext/node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/eslint-config-esnext/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-config-esnext/node_modules/espree": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz", + "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==", + "dev": true, + "dependencies": { + "acorn": "^7.1.1", + "acorn-jsx": "^5.2.0", + "eslint-visitor-keys": "^1.1.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/eslint-config-esnext/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/eslint-config-esnext/node_modules/file-entry-cache": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", + "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", + "dev": true, + "dependencies": { + "flat-cache": "^2.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-config-esnext/node_modules/flat-cache": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", + "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", + "dev": true, + "dependencies": { + "flatted": "^2.0.0", + "rimraf": "2.6.3", + "write": "1.0.3" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-config-esnext/node_modules/flatted": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", + "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", + "dev": true + }, + "node_modules/eslint-config-esnext/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/eslint-config-esnext/node_modules/globals": { + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", + "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", + "dev": true, + "dependencies": { + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint-config-esnext/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-config-esnext/node_modules/ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/eslint-config-esnext/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/eslint-config-esnext/node_modules/levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", + "dev": true, + "dependencies": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/eslint-config-esnext/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/eslint-config-esnext/node_modules/optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dev": true, + "dependencies": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/eslint-config-esnext/node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-config-esnext/node_modules/prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/eslint-config-esnext/node_modules/rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/eslint-config-esnext/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-config-esnext/node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "dev": true, + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-config-esnext/node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-config-esnext/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/eslint-config-esnext/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-config-esnext/node_modules/type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", + "dev": true, + "dependencies": { + "prelude-ls": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/eslint-config-esnext/node_modules/type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint-config-esnext/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/eslint-config-node": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-node/-/eslint-config-node-4.1.0.tgz", + "integrity": "sha512-Wz17xV5O2WFG8fGdMYEBdbiL6TL7YNJSJvSX9V4sXQownewfYmoqlly7wxqLkOUv/57pq6LnnotMiQQrrPjCqQ==", + "dev": true, + "dependencies": { + "eslint": "^6.8.0", + "eslint-config-esnext": "^4.1.0" + }, + "peerDependencies": { + "eslint": "^6.0.0" + } + }, + "node_modules/eslint-config-node/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/eslint-config-node/node_modules/ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/eslint-config-node/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-config-node/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/eslint-config-node/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-config-node/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/eslint-config-node/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/eslint-config-node/node_modules/cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "dependencies": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "engines": { + "node": ">=4.8" + } + }, + "node_modules/eslint-config-node/node_modules/cross-spawn/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/eslint-config-node/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/eslint-config-node/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/eslint-config-node/node_modules/eslint": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz", + "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "ajv": "^6.10.0", + "chalk": "^2.1.0", + "cross-spawn": "^6.0.5", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "eslint-scope": "^5.0.0", + "eslint-utils": "^1.4.3", + "eslint-visitor-keys": "^1.1.0", + "espree": "^6.1.2", + "esquery": "^1.0.1", + "esutils": "^2.0.2", + "file-entry-cache": "^5.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.0.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "inquirer": "^7.0.0", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.3.0", + "lodash": "^4.17.14", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "optionator": "^0.8.3", + "progress": "^2.0.0", + "regexpp": "^2.0.1", + "semver": "^6.1.2", + "strip-ansi": "^5.2.0", + "strip-json-comments": "^3.0.1", + "table": "^5.2.3", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-config-node/node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/eslint-config-node/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-config-node/node_modules/espree": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz", + "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==", + "dev": true, + "dependencies": { + "acorn": "^7.1.1", + "acorn-jsx": "^5.2.0", + "eslint-visitor-keys": "^1.1.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/eslint-config-node/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/eslint-config-node/node_modules/file-entry-cache": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", + "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", + "dev": true, + "dependencies": { + "flat-cache": "^2.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-config-node/node_modules/flat-cache": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", + "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", + "dev": true, + "dependencies": { + "flatted": "^2.0.0", + "rimraf": "2.6.3", + "write": "1.0.3" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-config-node/node_modules/flatted": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", + "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", + "dev": true + }, + "node_modules/eslint-config-node/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/eslint-config-node/node_modules/globals": { + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", + "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", + "dev": true, + "dependencies": { + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint-config-node/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-config-node/node_modules/ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/eslint-config-node/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/eslint-config-node/node_modules/levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", + "dev": true, + "dependencies": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/eslint-config-node/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/eslint-config-node/node_modules/optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dev": true, + "dependencies": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/eslint-config-node/node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-config-node/node_modules/prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/eslint-config-node/node_modules/rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/eslint-config-node/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-config-node/node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "dev": true, + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-config-node/node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-config-node/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/eslint-config-node/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-config-node/node_modules/type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", + "dev": true, + "dependencies": { + "prelude-ls": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/eslint-config-node/node_modules/type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint-config-node/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/eslint-import-resolver-node": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", + "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", + "dev": true, + "dependencies": { + "debug": "^3.2.7", + "is-core-module": "^2.13.0", + "resolve": "^1.22.4" + } + }, + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-import-resolver-node/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/eslint-module-utils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz", + "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==", + "dev": true, + "dependencies": { + "debug": "^3.2.7" + }, + "engines": { + "node": ">=4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } + } + }, + "node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-module-utils/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/eslint-plugin-babel": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-babel/-/eslint-plugin-babel-5.3.1.tgz", + "integrity": "sha512-VsQEr6NH3dj664+EyxJwO4FCYm/00JhYb3Sk3ft8o+fpKuIfQ9TaW6uVUfvwMXHcf/lsnRIoyFPsLMyiWCSL/g==", + "dev": true, + "dependencies": { + "eslint-rule-composer": "^0.3.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": ">=4.0.0" + } + }, + "node_modules/eslint-plugin-import": { + "version": "2.28.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.28.1.tgz", + "integrity": "sha512-9I9hFlITvOV55alzoKBI+K9q74kv0iKMeY6av5+umsNwayt59fz692daGyjR+oStBQgx6nwR9rXldDev3Clw+A==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.findlastindex": "^1.2.2", + "array.prototype.flat": "^1.3.1", + "array.prototype.flatmap": "^1.3.1", + "debug": "^3.2.7", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.7", + "eslint-module-utils": "^2.8.0", + "has": "^1.0.3", + "is-core-module": "^2.13.0", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.6", + "object.groupby": "^1.0.0", + "object.values": "^1.1.6", + "semver": "^6.3.1", + "tsconfig-paths": "^3.14.2" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" + } + }, + "node_modules/eslint-plugin-import/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-import/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-import/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/eslint-plugin-import/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-rule-composer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/eslint-rule-composer/-/eslint-rule-composer-0.3.0.tgz", + "integrity": "sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg==", + "dev": true, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-utils": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", + "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^1.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/eslint/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/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "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/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/event-emitter": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", + "integrity": "sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==", + "dependencies": { + "d": "1", + "es5-ext": "~0.10.14" + } + }, + "node_modules/ext": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz", + "integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==", + "dependencies": { + "type": "^2.7.2" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "node_modules/external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dev": true, + "dependencies": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", + "engines": [ + "node >=0.6.0" + ] + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "node_modules/fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/figures/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "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" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "dev": true, + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.1.0.tgz", + "integrity": "sha512-OHx4Qwrrt0E4jEIcI5/Xb+f+QmJYNj2rrK8wiIdQOIrB9WrrJL8cjZvXdXuBTkkEwEqLycb5BeZDV1o2i9bTew==", + "dev": true, + "dependencies": { + "flatted": "^3.2.7", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.2.9", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", + "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", + "dev": true + }, + "node_modules/for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.3" + } + }, + "node_modules/forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", + "engines": { + "node": "*" + } + }, + "node_modules/form-data": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz", + "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==", + "dev": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fs": { + "version": "0.0.1-security", + "resolved": "https://registry.npmjs.org/fs/-/fs-0.0.1-security.tgz", + "integrity": "sha512-3XY9e1pP0CVEUCdj5BmfIZxRBTSDycnbqhIOGec9QYtmVH2fbLpj86CFWkrNOkt/Fvty4KZG5lTglL9j/gJ87w==" + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "node_modules/function.prototype.name": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", + "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "functions-have-names": "^1.2.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", + "dev": true + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", + "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", + "dependencies": { + "assert-plus": "^1.0.0" + } + }, + "node_modules/glob": { + "version": "7.1.7", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", + "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" + }, + "node_modules/globals": { + "version": "13.22.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.22.0.tgz", + "integrity": "sha512-H1Ddc/PbZHTDVJSnj8kWptIRSD6AM3pK+mKytuIVF4uoBV7rshFlhhvA58ceJ5wp3Er58w6zj7bykMpYXt3ETw==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globalthis": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, + "node_modules/har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==", + "engines": { + "node": ">=4" + } + }, + "node_modules/har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "deprecated": "this library is no longer supported", + "dependencies": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/has": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.4.tgz", + "integrity": "sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/homedir-polyfill": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", + "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", + "dev": true, + "dependencies": { + "parse-passwd": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-errors/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", + "dependencies": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + }, + "engines": { + "node": ">=0.8", + "npm": ">=1.3.7" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/ignore-by-default": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz", + "integrity": "sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==" + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/inquirer": { + "version": "7.3.3", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", + "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", + "dev": true, + "dependencies": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.19", + "mute-stream": "0.0.8", + "run-async": "^2.4.0", + "rxjs": "^6.6.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/internal-slot": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", + "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", + "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "is-typed-array": "^1.1.10" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-core-module": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", + "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "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==", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-promise": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz", + "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==" + }, + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", + "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", + "dev": true, + "dependencies": { + "which-typed-array": "^1.1.11" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" + }, + "node_modules/is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==" + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==" + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, + "node_modules/json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==" + }, + "node_modules/json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/jsprim": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", + "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", + "dependencies": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/keyv": { + "version": "4.5.3", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.3.tgz", + "integrity": "sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug==", + "dev": true, + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash": { + "version": "4.17.19", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz", + "integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==" + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "node_modules/log": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/log/-/log-6.3.1.tgz", + "integrity": "sha512-McG47rJEWOkXTDioZzQNydAVvZNeEkSyLJ1VWkFwfW+o1knW+QSi8D1KjPn/TnctV+q99lkvJNe1f0E1IjfY2A==", + "peer": true, + "dependencies": { + "d": "^1.0.1", + "duration": "^0.2.2", + "es5-ext": "^0.10.53", + "event-emitter": "^0.3.5", + "sprintf-kit": "^2.0.1", + "type": "^2.5.0", + "uni-global": "^1.0.0" + } + }, + "node_modules/log-node": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/log-node/-/log-node-8.0.3.tgz", + "integrity": "sha512-1UBwzgYiCIDFs8A0rM2QdBFo8Wd8UQ0HrSTu/MNI+/2zN3NoHRj2fhplurAyuxTYUXu3Oohugq1jAn5s05u1MQ==", + "dependencies": { + "ansi-regex": "^5.0.1", + "cli-color": "^2.0.1", + "cli-sprintf-format": "^1.1.1", + "d": "^1.0.1", + "es5-ext": "^0.10.53", + "sprintf-kit": "^2.0.1", + "supports-color": "^8.1.1", + "type": "^2.5.0" + }, + "engines": { + "node": ">=10.0" + }, + "peerDependencies": { + "log": "^6.0.0" + } + }, + "node_modules/log-node/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "peer": true, + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/lru-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz", + "integrity": "sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ==", + "dependencies": { + "es5-ext": "~0.10.2" + } + }, + "node_modules/make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "dependencies": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/memoizee": { + "version": "0.4.15", + "resolved": "https://registry.npmjs.org/memoizee/-/memoizee-0.4.15.tgz", + "integrity": "sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ==", + "dependencies": { + "d": "^1.0.1", + "es5-ext": "^0.10.53", + "es6-weak-map": "^2.0.3", + "event-emitter": "^0.3.5", + "is-promise": "^2.2.2", + "lru-queue": "^0.1.0", + "next-tick": "^1.1.0", + "timers-ext": "^0.1.7" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "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.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "dev": true + }, + "node_modules/mysql": { + "version": "2.18.1", + "resolved": "https://registry.npmjs.org/mysql/-/mysql-2.18.1.tgz", + "integrity": "sha512-Bca+gk2YWmqp2Uf6k5NFEurwY/0td0cpebAucFpY/3jhrwrVGuxU2uQFCHjU19SJfje0yQvi+rVWdq78hR5lig==", + "dependencies": { + "bignumber.js": "9.0.0", + "readable-stream": "2.3.7", + "safe-buffer": "5.1.2", + "sqlstring": "2.3.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/nanoid": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", + "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/next": { + "version": "13.5.4", + "resolved": "https://registry.npmjs.org/next/-/next-13.5.4.tgz", + "integrity": "sha512-+93un5S779gho8y9ASQhb/bTkQF17FNQOtXLKAj3lsNgltEcF0C5PMLLncDmH+8X1EnJH1kbqAERa29nRXqhjA==", + "dependencies": { + "@next/env": "13.5.4", + "@swc/helpers": "0.5.2", + "busboy": "1.6.0", + "caniuse-lite": "^1.0.30001406", + "postcss": "8.4.31", + "styled-jsx": "5.1.1", + "watchpack": "2.4.0" + }, + "bin": { + "next": "dist/bin/next" + }, + "engines": { + "node": ">=16.14.0" + }, + "optionalDependencies": { + "@next/swc-darwin-arm64": "13.5.4", + "@next/swc-darwin-x64": "13.5.4", + "@next/swc-linux-arm64-gnu": "13.5.4", + "@next/swc-linux-arm64-musl": "13.5.4", + "@next/swc-linux-x64-gnu": "13.5.4", + "@next/swc-linux-x64-musl": "13.5.4", + "@next/swc-win32-arm64-msvc": "13.5.4", + "@next/swc-win32-ia32-msvc": "13.5.4", + "@next/swc-win32-x64-msvc": "13.5.4" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.1.0", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "sass": "^1.3.0" + }, + "peerDependenciesMeta": { + "@opentelemetry/api": { + "optional": true + }, + "sass": { + "optional": true + } + } + }, + "node_modules/next-tick": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", + "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==" + }, + "node_modules/nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, + "node_modules/node-environment-flags": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.6.tgz", + "integrity": "sha512-5Evy2epuL+6TM0lCQGpFIj6KwiEsGh1SrHUhTbNX+sLbBtjidPZFAnVK9y5yU1+h//RitLbRHTIMyxQPtxMdHw==", + "dev": true, + "dependencies": { + "object.getownpropertydescriptors": "^2.0.3", + "semver": "^5.7.0" + } + }, + "node_modules/node-environment-flags/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/node-releases": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", + "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==", + "dev": true + }, + "node_modules/nodemon": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-3.0.1.tgz", + "integrity": "sha512-g9AZ7HmkhQkqXkRc20w+ZfQ73cHLbE8hnPbtaFbFtCumZsjyMhKk9LajQ07U5Ux28lvFjZ5X7HvWR1xzU8jHVw==", + "dependencies": { + "chokidar": "^3.5.2", + "debug": "^3.2.7", + "ignore-by-default": "^1.0.1", + "minimatch": "^3.1.2", + "pstree.remy": "^1.1.8", + "semver": "^7.5.3", + "simple-update-notifier": "^2.0.0", + "supports-color": "^5.5.0", + "touch": "^3.1.0", + "undefsafe": "^2.0.5" + }, + "bin": { + "nodemon": "bin/nodemon.js" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/nodemon" + } + }, + "node_modules/nodemon/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/nodemon/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/nodemon/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==" + }, + "node_modules/nodemon/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/nopt": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", + "integrity": "sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==", + "dependencies": { + "abbrev": "1" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": "*" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "engines": { + "node": "*" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.fromentries": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.7.tgz", + "integrity": "sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.getownpropertydescriptors": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.7.tgz", + "integrity": "sha512-PrJz0C2xJ58FNn11XV2lr4Jt5Gzl94qpy9Lu0JlfEj14z88sqbSBJCBEzdlNUCzY2gburhbrwOZ5BHCmuNUy0g==", + "dev": true, + "dependencies": { + "array.prototype.reduce": "^1.0.6", + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "safe-array-concat": "^1.0.0" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.groupby": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.1.tgz", + "integrity": "sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1" + } + }, + "node_modules/object.values": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.7.tgz", + "integrity": "sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "dependencies": { + "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==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/optionator": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "dev": true, + "dependencies": { + "@aashutoshrathi/word-wrap": "^1.2.3", + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/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, + "engines": { + "node": ">=6" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-passwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/path": { + "version": "0.12.7", + "resolved": "https://registry.npmjs.org/path/-/path-0.12.7.tgz", + "integrity": "sha512-aXXC6s+1w7otVF9UletFkFcDsJeO7lSZBPUQhtb5O0xJe8LtYhj/GxldoL09bBj9+ZmE2hNoHqQSFMN5fikh4Q==", + "dependencies": { + "process": "^0.11.1", + "util": "^0.10.3" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "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", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, + "dependencies": { + "find-up": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-dir/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-dir/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-dir/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-dir/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-dir/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss": { + "version": "8.4.31", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", + "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "engines": { + "node": ">= 0.6.0" + } + }, + "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==" + }, + "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/psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" + }, + "node_modules/pstree.remy": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz", + "integrity": "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==" + }, + "node_modules/punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/qs": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", + "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", + "engines": { + "node": ">=0.6" + } + }, + "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/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/react": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", + "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" + }, + "peerDependencies": { + "react": "^18.2.0" + } + }, + "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==", + "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/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", + "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==", + "dev": true + }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz", + "integrity": "sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "set-function-name": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexpp": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", + "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", + "dev": true, + "engines": { + "node": ">=6.5.0" + } + }, + "node_modules/request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", + "dependencies": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/request/node_modules/form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" + } + }, + "node_modules/resolve": { + "version": "1.22.6", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.6.tgz", + "integrity": "sha512-njhxM7mV12JfufShqGy3Rz8j11RPdLy4xi15UurGJeoHLfJpVXKdh3ueuOqbYUcDZnffr6X739JBo5LzyahEsw==", + "dev": true, + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "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": "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/run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "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_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/rxjs/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/safe-array-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.1.tgz", + "integrity": "sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-array-concat/node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true + }, + "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==" + }, + "node_modules/safe-regex-test": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", + "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "node_modules/sanitizer": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/sanitizer/-/sanitizer-0.1.3.tgz", + "integrity": "sha512-j05vL56tR90rsYqm9ZD05v6K4HI7t4yMDEvvU0x4f+IADXM9Jx1x9mzatxOs5drJq6dGhugxDW99mcPvXVLl+Q==" + }, + "node_modules/scheduler": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", + "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/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==" + }, + "node_modules/send/node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/send/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/set-function-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz", + "integrity": "sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==", + "dev": true, + "dependencies": { + "define-data-property": "^1.0.1", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "node_modules/shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "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/shutdown-hook": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/shutdown-hook/-/shutdown-hook-1.1.8.tgz", + "integrity": "sha512-jUlKGybU3R4rfZT/WQy18p3T9rHuO0d3EV5wjFvllgFXRPUmnKvmk1gCVMFgwLbbntW/dVHryD5vepZJwZnDAA==", + "dependencies": { + "bluebird": "3.3.4", + "lodash": "4.17.19" + } + }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/simple-update-notifier": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-2.0.0.tgz", + "integrity": "sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w==", + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/slice-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", + "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.0", + "astral-regex": "^1.0.0", + "is-fullwidth-code-point": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/slice-ansi/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/slice-ansi/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/slice-ansi/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/slice-ansi/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/socket.io": { + "version": "4.7.2", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.7.2.tgz", + "integrity": "sha512-bvKVS29/I5fl2FGLNHuXlQaUH/BlzX1IN6S+NKLNZpBsPZIDH+90eQmCs2Railn4YUiww4SzUedJ6+uzwFnKLw==", + "dependencies": { + "accepts": "~1.3.4", + "base64id": "~2.0.0", + "cors": "~2.8.5", + "debug": "~4.3.2", + "engine.io": "~6.5.2", + "socket.io-adapter": "~2.5.2", + "socket.io-parser": "~4.2.4" + }, + "engines": { + "node": ">=10.2.0" + } + }, + "node_modules/socket.io-adapter": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.5.2.tgz", + "integrity": "sha512-87C3LO/NOMc+eMcpcxUBebGjkpMDkNBS9tf7KJqcDsmL936EChtVva71Dw2q4tQcuVC+hAUy4an2NO/sYXmwRA==", + "dependencies": { + "ws": "~8.11.0" + } + }, + "node_modules/socket.io-parser": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.4.tgz", + "integrity": "sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==", + "dependencies": { + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.3.1" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/socket.io-parser/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/socket.io-parser/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==" + }, + "node_modules/socket.io/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/socket.io/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==" + }, + "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-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "engines": { + "node": ">=0.10.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/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true + }, + "node_modules/sprintf-kit": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/sprintf-kit/-/sprintf-kit-2.0.1.tgz", + "integrity": "sha512-2PNlcs3j5JflQKcg4wpdqpZ+AjhQJ2OZEo34NXDtlB0tIPG84xaaXhpA8XFacFiwjKA4m49UOYG83y3hbMn/gQ==", + "dependencies": { + "es5-ext": "^0.10.53" + } + }, + "node_modules/sqlstring": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/sqlstring/-/sqlstring-2.3.1.tgz", + "integrity": "sha512-ooAzh/7dxIG5+uDik1z/Rd1vli0+38izZhGzSa34FwR7IbelPWCCKSNIl8jlL/F7ERvy8CB2jNeM1E9i9mXMAQ==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/sshpk": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", + "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", + "dependencies": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + }, + "bin": { + "sshpk-conv": "bin/sshpk-conv", + "sshpk-sign": "bin/sshpk-sign", + "sshpk-verify": "bin/sshpk-verify" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/streamsearch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", + "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", + "engines": { + "node": ">=10.0.0" + } + }, + "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==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/string.prototype.trim": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz", + "integrity": "sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz", + "integrity": "sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz", + "integrity": "sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/styled-jsx": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.1.tgz", + "integrity": "sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==", + "dependencies": { + "client-only": "0.0.1" + }, + "engines": { + "node": ">= 12.0.0" + }, + "peerDependencies": { + "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "babel-plugin-macros": { + "optional": true + } + } + }, + "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/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/table": { + "version": "5.4.6", + "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", + "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", + "dev": true, + "dependencies": { + "ajv": "^6.10.2", + "lodash": "^4.17.14", + "slice-ansi": "^2.1.0", + "string-width": "^3.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/table/node_modules/ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/table/node_modules/emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "node_modules/table/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/table/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/table/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true + }, + "node_modules/timers-ext": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.7.tgz", + "integrity": "sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==", + "dependencies": { + "es5-ext": "~0.10.46", + "next-tick": "1" + } + }, + "node_modules/tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "dependencies": { + "os-tmpdir": "~1.0.2" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/touch": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz", + "integrity": "sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==", + "dependencies": { + "nopt": "~1.0.10" + }, + "bin": { + "nodetouch": "bin/nodetouch.js" + } + }, + "node_modules/tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dependencies": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/tsconfig-paths": { + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz", + "integrity": "sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==", + "dev": true, + "dependencies": { + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } + }, + "node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "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": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" + }, + "node_modules/type": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/type/-/type-2.7.2.tgz", + "integrity": "sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==" + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typed-array-buffer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz", + "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typed-array-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz", + "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "has-proto": "^1.0.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-byte-offset": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz", + "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "has-proto": "^1.0.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", + "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "is-typed-array": "^1.1.9" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typescript": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", + "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/undefsafe": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz", + "integrity": "sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==" + }, + "node_modules/underscore": { + "version": "1.13.6", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.6.tgz", + "integrity": "sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==" + }, + "node_modules/uni-global": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/uni-global/-/uni-global-1.0.0.tgz", + "integrity": "sha512-WWM3HP+siTxzIWPNUg7hZ4XO8clKi6NoCAJJWnuRL+BAqyFXF8gC03WNyTefGoUXYc47uYgXxpKLIEvo65PEHw==", + "peer": true, + "dependencies": { + "type": "^2.5.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", + "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/url": { + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.3.tgz", + "integrity": "sha512-6hxOLGfZASQK/cijlZnZJTq8OXAkt/3YGfQX45vvMYXpZoo8NdWZcY73K108Jf759lS1Bv/8wXnHDTSz17dSRw==", + "dependencies": { + "punycode": "^1.4.1", + "qs": "^6.11.2" + } + }, + "node_modules/url/node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==" + }, + "node_modules/url/node_modules/qs": { + "version": "6.11.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", + "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/util": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", + "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", + "dependencies": { + "inherits": "2.0.3" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "node_modules/util/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "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.", + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/v8-compile-cache": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.4.0.tgz", + "integrity": "sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw==", + "dev": true + }, + "node_modules/v8flags": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.2.0.tgz", + "integrity": "sha512-mH8etigqMfiGWdeXpaaqGfs6BndypxusHHcv2qSHyZkGEznCd/qAXCWWRzeowtL54147cktFOC4P5y+kl8d8Jg==", + "dev": true, + "dependencies": { + "homedir-polyfill": "^1.0.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "node_modules/verror/node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==" + }, + "node_modules/watchpack": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.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-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-typed-array": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.11.tgz", + "integrity": "sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "node_modules/write": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", + "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", + "dev": true, + "dependencies": { + "mkdirp": "^0.5.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ws": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz", + "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/server/package.json b/server/package.json new file mode 100644 index 000000000..25716affc --- /dev/null +++ b/server/package.json @@ -0,0 +1,39 @@ +{ + "name": "wtf-adventure-server", + "version": "0.1.0", + "private": true, + "type": "module", + "scripts": { + "start": "babel-node js/index.js", + "dev": "nodemon --exec npm start", + "lint": "eslint ." + }, + "dependencies": { + "connect": "^3.7.0", + "fs": "^0.0.1-security", + "log-node": "^8.0.3", + "mysql": "^2.18.1", + "next": "13.5.4", + "nodemon": "^3.0.1", + "path": "^0.12.7", + "request": "^2.88.2", + "sanitizer": "^0.1.3", + "serve-static": "^1.15.0", + "shutdown-hook": "^1.1.8", + "socket.io": "^4.7.2", + "underscore": "^1.13.6", + "url": "^0.11.3" + }, + "devDependencies": { + "@babel/core": "^7.23.0", + "@babel/node": "^7.22.19", + "@types/log": "^6.3.1", + "@types/mysql": "^2.15.22", + "@types/node": "^20", + "@types/request": "^2.48.9", + "@types/underscore": "^1.11.9", + "eslint": "^8.50.0", + "eslint-config-node": "^4.1.0", + "typescript": "^5" + } +} diff --git a/setupTests.js b/setupTests.js index d132a2c3e..c3a2b8663 100644 --- a/setupTests.js +++ b/setupTests.js @@ -1,4 +1,3 @@ - // mock the window.scrollTo function global.scrollTo = jest.fn(); diff --git a/src/client/config.json b/src/client/config.json deleted file mode 100644 index 6bbfdcd4d..000000000 --- a/src/client/config.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "ip": "localhost", - "port": 8081, - "version": 3, - "ssl": false -} diff --git a/src/client/index.html b/src/client/index.html deleted file mode 100644 index c53d9c977..000000000 --- a/src/client/index.html +++ /dev/null @@ -1,354 +0,0 @@ - - - - - - - - - - - - - - - - WTF?! Adventure - - - - - - -
              -
              -
              -
              - - - - - -
              -
              - - -
              -
              - - -
              -
              -
              -
              -
              -
              -
              -
              -
              -
              -
              -
              -
              -
              -
              -
                -
              • -
                -
              • -
              • -
                -
              • -
              -
              -
              -
                -
              • -
                Drop
                -
              • -
              -
              - -
              -
                -
              • -
                Follow
                -
                Trade
                -
              • -
              -
              - -
              -
              Input drop count.
              -
              - -  Accept  -  Cancel  -
              -
              - -
              -
              -
              -
              -
              - -
              -
              -
              -
              -
              - -
              - -
              -
              -
              -
                -
                - -
                -
                -
                  -
                  -
                  -
                  - - -
                  - -
                  -
                  - - - - -
                  - -
                  -

                  Volume

                  -

                  SFX

                  -

                  Brightness

                  -

                  Sound

                  -

                  Centred Camera

                  -

                  Debugging

                  -

                  Auto Centre

                  -

                  Names

                  -

                  Levels

                  -

                  Intensity

                  -
                  - -
                  -
                  -
                  -
                  -
                  -
                  -
                  -
                  -
                  -
                  - -
                  -
                  -
                  -
                  -
                  -
                  -
                  - -
                  -
                  -
                  -
                    -
                    -
                    -
                    - -
                    -
                    -
                      -
                      -
                      -
                      -
                      -
                        -
                        -
                        -
                        - -
                        -
                        - -
                        -
                        -
                        -
                        -
                        -
                        - -
                        -
                        -
                          -
                          -
                          - -
                          -
                          -
                          -
                          - -
                          - -
                          -
                          - -
                          -
                          -
                          -
                          - -
                          -
                          - -
                          -
                          -
                          - -
                          -
                          -
                          -
                          -
                          - -
                          -
                          -
                          -
                          - -
                          -
                          - -
                          - - - diff --git a/src/client/js/__tests__/app.test.js b/src/client/js/__tests__/app.test.js deleted file mode 100644 index 20daa492d..000000000 --- a/src/client/js/__tests__/app.test.js +++ /dev/null @@ -1,376 +0,0 @@ -/* global document, Event */ -import $ from 'jquery'; -import App from '../app'; -// import Game from '../game'; - -/** - * @test {App} - */ -describe('App', () => { - const instance = new App(); - - /** - * @test {App#constructor} - */ - it('.constructor()', () => { - expect(instance).toBeDefined(); - }); - - /** - * @test {App#load} - */ - it('.load()', () => { - instance.readyCallback = jest.fn(); - instance.load(); - expect(instance.loginButton.click).toBeDefined(); - expect(instance.createButton.click).toBeDefined(); - expect(instance.wrapper.click).toBeDefined(); - expect(instance.yes.click).toBeDefined(); - expect(instance.no.click).toBeDefined(); - expect(instance.rememberMe.click).toBeDefined(); - expect(instance.guest.click).toBeDefined(); - expect(instance.registerButton.click).toBeDefined(); - expect(instance.cancelButton.click).toBeDefined(); - expect(instance.about.click).toBeDefined(); - expect(instance.credits.click).toBeDefined(); - expect(instance.git.click).toBeDefined(); - expect(instance.respawn.click).toBeDefined(); - expect(instance.canvas.click).toBeDefined(); - }); - - /** - * @test {App#welcomeContinue} - */ - it('.welcomeContinue()', () => { - expect(instance.welcomeContinue()).toEqual(false); - instance.game = { - storage: { - data: {}, - save: jest.fn(), - }, - }; - instance.body.addClass('welcomeMessage'); - expect(instance.game.storage.data.welcome).toEqual(undefined); - expect(instance.body[0].className).toEqual('welcomeMessage'); - - expect(instance.welcomeContinue()).toEqual(true); - expect(instance.game.storage.data.welcome).toEqual(false); - expect(instance.body[0].className).toEqual(''); - }); - - /** - * @test {App#login} - */ - it('.login()', () => { - expect(instance.login()).toEqual(false); - - instance.logginIn = false; - expect(instance.logginIn).toEqual(false); - - instance.game = { - loaded: true, - connect: jest.fn(), - }; - - expect(instance.statusMessage).toEqual('You should turn back now...'); - instance.statusMessage = null; - - expect(instance.login()).toEqual(true); - }); - - /** - * @test {App#loginAsGuest} - */ - it('.loginAsGuest()', () => { - instance.game = null; - expect(instance.loginAsGuest()).toEqual(false); - instance.game = {}; - expect(instance.loginAsGuest()).toEqual(true); - }); - - /** - * @test {App#loadCharacter} - */ - it('.loadCharacter()', () => { - expect(instance.loadCharacter()).toEqual(false); - }); - - /** - * @test {App#rememberLogin} - */ - it('.rememberMe()', () => { - expect(instance.rememberLogin()).toEqual(false); - instance.game = { - storage: { - toggleRemember: jest.fn(), - }, - }; - expect(instance.rememberLogin()).toEqual(true); - }); - - /** - * @test {App#respawnPlayer} - */ - it('.respawn()', () => { - expect(instance.respawnPlayer()).toEqual(false); - instance.game = { - player: { - dead: true, - }, - respawn: jest.fn(), - }; - expect(instance.respawnPlayer()).toEqual(true); - }); - - /** - * @test {App#keydownEventListener} - */ - it('.keydownEventListener()', () => { - instance.game = false; - expect(instance.keydownEventListener(new Event('keydown'))).toEqual(false); - instance.game = {}; - expect(instance.keydownEventListener(new Event('keydown'))).toEqual(true); - }); - - /** - * @test {App#keyupEventListener} - */ - it('.keyupEventListener()', () => { - expect(instance.keyupEventListener(new Event('keyup'))).toEqual(false); - instance.game = { - started: true, - input: { - keyUp: jest.fn(), - }, - }; - expect(instance.keyupEventListener(new Event('keyup'))).toEqual(true); - }); - - /** - * @test {App#mousemoveEventListener} - */ - it('.keyupEventListener()', () => { - instance.game = null; - expect(instance.mousemoveEventListener(new Event('mousemove'))).toEqual(false); - - const setCoords = jest.fn(); - const moveCursor = jest.fn(); - instance.game = { - started: true, - input: { - setCoords, - moveCursor, - }, - }; - - expect(instance.mousemoveEventListener(new Event('mousemove'))).toEqual(true); - expect(moveCursor).toBeCalled(); - expect(setCoords).toBeCalled(); - }); - - /** - * @test {App#canvasClickEventListener} - */ - it('.canvasClickEventListener()', () => { - const event = { - button: 0, - }; - - instance.game = null; - expect(instance.canvasClickEventListener(event)).toEqual(false); - - instance.game = { - started: true, - input: { - handle: jest.fn(), - }, - }; - - expect(instance.canvasClickEventListener(event)).toEqual(true); - }); - - /** - * @test {App#zoom} - */ - it('.zoom()', () => { - instance.border.css = jest.fn(); - instance.zoom(); - expect(instance.border.css).toHaveBeenCalled(); - }); - - /** - * #test {App#fadeMenu} - */ - it('.fadeMenu()', () => { - instance.updateLoader = jest.fn(); - instance.fadeMenu(); - expect(instance.updateLoader).toHaveBeenCalled(); - }); - - /** - * @test {App#showMenu} - */ - it('.showMenu()', () => { - const addClass = jest.spyOn(instance.body, 'addClass'); - const removeClass = jest.spyOn(instance.body, 'removeClass'); - - instance.showMenu(); - expect(removeClass).toHaveBeenCalled(); - expect(addClass).toHaveBeenCalled(); - }); - - /** - * @test {App#displayScreen} - */ - it('.displayScreen()', () => { - expect(instance.displayScreen()).toEqual(false); - - instance.loggingIn = true; - expect(instance.displayScreen('logging in fail')).toEqual(false); - instance.loggingIn = false; - - // make our DOM elments since this is headless... - const loadCharacter = document.createElement('div'); - loadCharacter.setAttribute('id', 'loadCharacter'); - document.body.appendChild(loadCharacter); - - const createCharacter = document.createElement('div'); - createCharacter.setAttribute('id', 'createCharacter'); - document.body.appendChild(createCharacter); - - // toggle off loading character - expect(instance.displayScreen('loadCharacter', 'createCharacter')).toEqual(true); - expect(loadCharacter.style.display).toEqual('none'); - expect(createCharacter.style.display).toEqual('block'); - - // toggle off creating character - expect(instance.displayScreen('createCharacter', 'loadCharacter')).toEqual(true); - expect(loadCharacter.style.display).toEqual('block'); - expect(createCharacter.style.display).toEqual('none'); - }); - - /** - * @test {App#displayScroll} - */ - it('.displayScroll()', () => { - // mock the displayScreen function - const displayScreen = jest.spyOn(instance, 'displayScreen'); - - // make sure the wrapper has a valid DOM element - const mockWrapper = document.createElement('div'); - mockWrapper.setAttribute('id', 'wrapper'); - document.body.appendChild(mockWrapper); - instance.wrapper = $(mockWrapper); - - // make sure the wrapper has a valid DOM element - const mockHelpButton = document.createElement('button'); - mockHelpButton.setAttribute('id', 'helpButton'); - document.body.appendChild(mockHelpButton); - instance.helpButton = $(mockHelpButton); - - // game is not started - instance.game.started = false; - - // state is not set - expect(instance.wrapper.attr('class')).not.toEqual('animate'); - - instance.displayScroll('createCharacter'); - expect(displayScreen).toHaveBeenCalled(); - expect(displayScreen.mock.calls[0]).toEqual([undefined, 'createCharacter']); - - // state is set to animate - instance.wrapper.removeClass().addClass('animate'); - expect(instance.wrapper.attr('class')).toEqual('animate'); - - instance.displayScroll('createCharacter'); - expect(displayScreen).toHaveBeenCalled(); - expect(displayScreen.mock.calls[0]).toEqual([undefined, 'createCharacter']); - - // game has started - instance.game.started = true; - - // expect the body to have no class - expect(instance.body.attr('class')).toEqual('intro'); - - // help button should have an active class - instance.helpButton.addClass('active'); - expect(instance.helpButton.attr('class')).toEqual('active'); - - instance.displayScroll('createCharacter'); - expect(displayScreen).toHaveBeenCalled(); - expect(displayScreen.mock.calls[0]).toEqual([undefined, 'createCharacter']); - - // help button should have no active class - expect(instance.helpButton.attr('class')).toEqual(''); - - // the game has a player - instance.game.player = {}; - instance.displayScroll('createCharacter'); - expect(displayScreen).toHaveBeenCalled(); - expect(displayScreen.mock.calls[0]).toEqual([undefined, 'createCharacter']); - - // expect the body to have the player death class - expect(instance.body.attr('class')).toEqual('intro death'); - }); - - /** - * @test {App#verifyForm} - */ - it('.verifyForm()', () => { - instance.getActiveForm = jest.fn().mockReturnValue('null'); - expect(instance.verifyForm()).toEqual(true); - }); - - /** - * @test {App#verifyJoinForm} - */ - it('.verifyJoinForm', () => { - const sendError = jest.spyOn(instance, 'sendError'); - expect(instance.verifyJoinForm()).toEqual(false); - expect(sendError).toHaveBeenCalledWith({}, 'A username is necessary you silly.'); - }); - - /** - * @test {App#verifyLoginForm} - */ - it('.verifyLoginForm', () => { - const sendError = jest.spyOn(instance, 'sendError'); - instance.isGuest = jest.fn().mockReturnValue(true); - expect(instance.verifyLoginForm()).toEqual(true); - - instance.isGuest = jest.fn().mockReturnValue(false); - expect(instance.verifyLoginForm()).toEqual(false); - expect(sendError).toHaveBeenCalledWith({}, 'Please enter a username.'); - }); - - /** - * @test {App#cleanErrors} - */ - it('.cleanErrors()', () => { - expect(instance.loginFields).toBeDefined(); - expect(instance.registerFields).toBeDefined(); - instance.cleanErrors(); - - expect(document.querySelectorAll('.field-error').length).toEqual(0); - expect(document.querySelectorAll('.validation-error').length).toEqual(0); - expect(document.querySelectorAll('.status').length).toEqual(0); - }); - - - /** - * @test {App#updateRange} - */ - it('.updateRange()', () => { - instance.updateRange('test'); - expect(instance.rangeField).toEqual('test'); - }); - - /** - * @test {App#updateOrientation} - */ - it('.updateOrientation()', () => { - instance.orientation = 'mobile'; - instance.updateOrientation(); - expect(instance.orientation).toEqual('landscape'); - }); -}); diff --git a/src/client/js/__tests__/main.test.js b/src/client/js/__tests__/main.test.js deleted file mode 100644 index eaeec5cdb..000000000 --- a/src/client/js/__tests__/main.test.js +++ /dev/null @@ -1,83 +0,0 @@ -/* global document, window, Event */ -import WTF from '../main'; - -// mock the Detect import -jest.mock('../utils/detect'); - -/** - * @test {WTF} - */ -describe('WTF', () => { - const instance = new WTF(); - - /** - * @test {WTF#constructor} - */ - it('.constructor()', () => { - expect(WTF).toBeDefined(); - }); - - /** - * @test {WTF#load} - */ - it('.load()', () => { - expect(instance.app).toEqual(null); - instance.load(); - expect(instance.app).toBeDefined(); - expect(instance.body).toBeDefined(); - expect(instance.chatInput).toBeDefined(); - }); - - /** - * @test {WTF#documentReady} - */ - it('.documentReady()', () => { - expect(instance.app).toEqual(null); - instance.documentReady(); - expect(instance.app).toBeDefined(); - expect(instance.body).toBeDefined(); - expect(instance.chatInput).toBeDefined(); - }); - - /** - * @test {WTF#addClasses} - */ - it('.addClasses()', () => { - instance.documentReady(); - instance.addClasses(); - expect(instance.chatInput).toBeDefined(); - expect(instance.body[0].className).toEqual('windows opera'); - }); - - /** - * @test {WTF#addResizeListeners} - */ - it('.addResizeListeners()', () => { - instance.documentReady(); - const map = {}; - document.addEventListener = jest.fn((event, callback) => { - map[event] = callback; - }); - - instance.addResizeListeners(); - expect(map.touchstart).toBeDefined(); - expect(map.touchmove).toBeDefined(); - expect(map.touchmove(new Event('test'))).toEqual(false); - - // check window orientation changes - const updateOrientationMock = jest.spyOn(instance.app, 'updateOrientation'); - window.dispatchEvent(new Event('orientationchange')); - expect(updateOrientationMock).toHaveBeenCalled(); - }); - - /** - * @test {WTF#initGame} - */ - it('.initGame()', () => { - const wtf = new WTF(); - expect(wtf.app).toEqual(null); - wtf.documentReady(); - wtf.initGame(); - expect(wtf.app.readyCallback).toBeDefined(); - }); -}); diff --git a/src/client/js/interface/profile/pages/ability.js b/src/client/js/interface/profile/pages/ability.js deleted file mode 100644 index c605124ef..000000000 --- a/src/client/js/interface/profile/pages/ability.js +++ /dev/null @@ -1,8 +0,0 @@ -import Page from '../page'; - -export default class Ability extends Page { - constructor(game) { - super('#skillPage'); - this.game = game; - } -} diff --git a/src/client/js/main.js b/src/client/js/main.js deleted file mode 100644 index e2d5a2059..000000000 --- a/src/client/js/main.js +++ /dev/null @@ -1,124 +0,0 @@ -/* global document, window */ -import $ from 'jquery'; -import Detect from './utils/detect'; -import App from './app'; -import Game from './game'; - -/** - * Launch the WTF client application and start the game - * @class - */ -export default class WTF { - /** - * Keep track of the instance of the app, document body, chat input and the game - */ - constructor() { - /** - * Instance of the client application - * @type {App} - */ - this.app = null; - - /** - * Instance of the DOM $('body') element - * @type {Object} - */ - this.body = null; - - /** - * Instance of the DOM $('#chatInput') DOM element - * @type {Object} - */ - this.chatInput = null; - - /** - * Instance of the game class running on the HTML5 Canvas - * @type {Game} - */ - this.game = null; - - this.documentReady = this.documentReady.bind(this); - } - - /** - * Initialize the application and the game as soon as the DOM is ready - */ - load() { - $(document).ready(() => this.documentReady()); - } - - /** - * Document in jQuery is ready to go - */ - documentReady() { - this.app = new App(); - this.body = $('body'); - this.chatInput = $('#chatInput'); - this.addClasses(); - this.initGame(); - this.addResizeListeners(); - } - - /** - * Add classes to the body element after detecting the user's browser or device - */ - addClasses() { - if (Detect.isWindows()) { - this.body.addClass('windows'); - } - - if (Detect.isOpera()) { - this.body.addClass('opera'); - } - - if (Detect.isFirefoxAndroid()) { - this.chatInput.removeAttr('placeholder'); - } - } - - /** - * Adds event listeners for a resize check - * @listens {touchstart} - touching start - * @listens {touchmove} - touching move/drag - * @listens {transitionend} - transition ends - * @listens {webkitTransitionEnd} - webkit transition ends - * @listens {oTransitionEnd} - opera transition ends - * @listens {orientationchange} - device orientation change - */ - addResizeListeners() { - const resizeCheck = $('#resizeCheck'); - - document.addEventListener('touchstart', () => {}, false); - document.addEventListener('touchmove', (e) => { - e.preventDefault(); - return false; - }); - - window.onresize = this.app.resize.bind(this); - - resizeCheck.bind('transitionend', this.app.resize.bind(this)); - resizeCheck.bind('webkitTransitionEnd', this.app.resize.bind(this)); - resizeCheck.bind('oTransitionEnd', this.app.resize.bind(this)); - - // @TODO see on why this should use resize instead - // {@link https://davidwalsh.name/orientation-change} - $(window).on('orientationchange', () => { - this.app.updateOrientation(); - }); - } - - /** - * Initialize the game once the client application is ready - * @listens {App.onReady} - when App is done loading - */ - initGame() { - this.app.onReady(() => { - this.app.sendStatus('Welcome, welcome...'); - - const game = new Game(this.app); - this.app.setGame(game); - }); - } -} - -new WTF().load(); diff --git a/src/server/js/util/log.js b/src/server/js/util/log.js deleted file mode 100644 index 80727a128..000000000 --- a/src/server/js/util/log.js +++ /dev/null @@ -1,8 +0,0 @@ -import Log from 'log'; -import fs from 'fs'; -import config from '../../config.json'; - -export default new Log( - config.worlds > 1 ? 'notice' : config.debugLevel, - config.localDebug ? fs.createWriteStream('runtime.log') : null, -); diff --git a/src/tools/api/registrar.js b/tools/api/registrar.js similarity index 100% rename from src/tools/api/registrar.js rename to tools/api/registrar.js diff --git a/src/tools/database.sql b/tools/database.sql similarity index 100% rename from src/tools/database.sql rename to tools/database.sql diff --git a/src/tools/file.js b/tools/file.js similarity index 100% rename from src/tools/file.js rename to tools/file.js diff --git a/src/tools/map/data/empty.json b/tools/map/data/empty.json similarity index 100% rename from src/tools/map/data/empty.json rename to tools/map/data/empty.json diff --git a/src/tools/map/data/extramap/map.tmx b/tools/map/data/extramap/map.tmx similarity index 100% rename from src/tools/map/data/extramap/map.tmx rename to tools/map/data/extramap/map.tmx diff --git a/src/tools/map/data/extramap/mobset.png b/tools/map/data/extramap/mobset.png similarity index 100% rename from src/tools/map/data/extramap/mobset.png rename to tools/map/data/extramap/mobset.png diff --git a/src/tools/map/data/extramap/tilesheet.png b/tools/map/data/extramap/tilesheet.png similarity index 100% rename from src/tools/map/data/extramap/tilesheet.png rename to tools/map/data/extramap/tilesheet.png diff --git a/src/tools/map/data/map.json b/tools/map/data/map.json similarity index 100% rename from src/tools/map/data/map.json rename to tools/map/data/map.json diff --git a/src/tools/map/data/map.tmx b/tools/map/data/map.tmx similarity index 100% rename from src/tools/map/data/map.tmx rename to tools/map/data/map.tmx diff --git a/src/tools/map/data/mobset.png b/tools/map/data/mobset.png similarity index 100% rename from src/tools/map/data/mobset.png rename to tools/map/data/mobset.png diff --git a/src/tools/map/data/terrain.tmx b/tools/map/data/terrain.tmx similarity index 100% rename from src/tools/map/data/terrain.tmx rename to tools/map/data/terrain.tmx diff --git a/src/tools/map/data/tilesheet.png b/tools/map/data/tilesheet.png similarity index 100% rename from src/tools/map/data/tilesheet.png rename to tools/map/data/tilesheet.png diff --git a/src/tools/map/exportmap.js b/tools/map/exportmap.js similarity index 91% rename from src/tools/map/exportmap.js rename to tools/map/exportmap.js index b121dbbad..b573271a0 100755 --- a/src/tools/map/exportmap.js +++ b/tools/map/exportmap.js @@ -48,8 +48,8 @@ function parseServer(data, destination) { } function onMap(data) { - parseClient(data, '../../../assets/data/maps/world_client'); - parseServer(data, '../../../assets/data/map/world_server'); + parseClient(data, '../../../data/maps/world_client'); + parseServer(data, '../../../data/map/world_server'); } function getMap() { diff --git a/src/tools/map/processmap.js b/tools/map/processmap.js similarity index 100% rename from src/tools/map/processmap.js rename to tools/map/processmap.js diff --git a/src/tools/map/processmap.log b/tools/map/processmap.log similarity index 100% rename from src/tools/map/processmap.log rename to tools/map/processmap.log diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 000000000..7f3eff196 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,36 @@ +{ + "compilerOptions": { + "target": "es6", + "lib": ["dom", "dom.iterable", "esnext"], + "allowJs": true, + "skipLibCheck": true, + "strict": true, + "noEmit": true, + "esModuleInterop": true, + "module": "esnext", + "moduleResolution": "bundler", + "resolveJsonModule": true, + "isolatedModules": true, + "jsx": "preserve", + "incremental": true, + "allowSyntheticDefaultImports": true, + "plugins": [ + { + "name": "next" + } + ], + "paths": { + "@/styles/*": ["./app/styles/*"], + "@/client/*": ["./client/*"], + "@/component/*": ["./components/*"] + } + }, + "include": [ + "next-env.d.ts", + "types.d.ts", + "**/*.ts", + "**/*.tsx", + ".next/types/**/*.ts" + ], + "exclude": ["node_modules", "server"] +} diff --git a/types.d.ts b/types.d.ts new file mode 100644 index 000000000..ffa31a06e --- /dev/null +++ b/types.d.ts @@ -0,0 +1,23 @@ +export {}; + +declare global { + interface Window { // ⚠️ notice that "Window" is capitalized here + $: any + jQuery: any + } +} + +declare module "*.png" { + const value: any; + export = value; +} + +declare module "*.jpg" { + const value: any; + export = value; +} + +declare module "*.gif" { + const value: any; + export = value; +} \ No newline at end of file diff --git a/wallaby.config.js b/wallaby.config.js index 94c2e2259..1f2168313 100644 --- a/wallaby.config.js +++ b/wallaby.config.js @@ -1,9 +1,20 @@ /* eslint-disable */ module.exports = function (wallaby) { return { - files: ['src/**/*.js', '!src/**/__tests__/*.js', 'setupTests.js'], + files: [ + 'src/**/*.js', + '!src/**/__tests__/*.js', + 'src/**/*.ts', + 'src/**/*.tsx', + '!src/**/__tests__/*.ts', + '!src/**/__tests__/*.tsx', + 'setupTests.js'], - tests: ['src/**/__tests__/*.js'], + tests: [ + 'src/**/__tests__/*.js', + 'src/**/__tests__/*.ts', + 'src/**/__tests__/*.tsx' + ], env: { type: 'node', @@ -12,6 +23,8 @@ module.exports = function (wallaby) { compilers: { '**/*.js': wallaby.compilers.babel(), + '**/*.ts': wallaby.compilers.babel(), + '**/*.tsx': wallaby.compilers.babel(), }, testFramework: 'jest', diff --git a/webpack.config.js b/webpack.config.js deleted file mode 100644 index 9cdec24b7..000000000 --- a/webpack.config.js +++ /dev/null @@ -1,155 +0,0 @@ -const path = require('path'); -const webpack = require('webpack'); -const HtmlWebpackPlugin = require('html-webpack-plugin'); -const BrowserSyncPlugin = require('browser-sync-webpack-plugin'); -const ModernizrWebpackPlugin = require('modernizr-webpack-plugin'); -const MiniCssExtractPlugin = require('mini-css-extract-plugin'); -const CleanWebpackPlugin = require('clean-webpack-plugin'); - -module.exports = { - entry: { - app: [ - 'babel-polyfill', - path.resolve(__dirname, './src/client/js/main.js'), - path.resolve(__dirname, './assets/data/maps/world_client.js'), - ], - assets: [ - // stylesheets - path.resolve(__dirname, './css/main.scss'), - // client config - path.resolve(__dirname, './src/client/config.json'), - // data - path.resolve(__dirname, './assets/data/sprites.json'), - // maps - path.resolve(__dirname, './assets/data/maps/world_client.json'), - ], - vendor: [ - 'socket.io-client', - 'jquery', - 'bootstrap', - 'popper.js', - 'underscore', - ], - }, - resolve: { - alias: { - jquery: 'jquery/src/jquery', - }, - }, - devtool: 'cheap-source-map', - output: { - pathinfo: true, - path: path.resolve(__dirname, 'build'), - publicPath: './', - library: '[name]', - libraryTarget: 'umd', - filename: '[name].js', - }, - watch: true, - plugins: [ - new CleanWebpackPlugin(['build']), - new webpack.ProvidePlugin({ - $: 'jquery', - jQuery: 'jquery', - 'windows.jQuery': 'jquery', - }), - new HtmlWebpackPlugin({ - filename: '../index.html', - template: './src/client/index.html', - chunks: ['vendor', 'app', 'assets'], - chunksSortMode: 'manual', - minify: { - removeAttributeQuotes: false, - collapseWhitespace: false, - html5: false, - minifyCSS: false, - minifyJS: false, - minifyURLs: false, - removeComments: false, - removeEmptyAttributes: false, - }, - hash: false, - }), - new MiniCssExtractPlugin({ - // Options similar to the same options in webpackOptions.output - // both options are optional - filename: '[name].css', - chunkFilename: '[id].css', - }), - new BrowserSyncPlugin({ - host: process.env.IP || 'localhost', - port: process.env.PORT || 3000, - // proxy: 'http://localhost:3100/', - server: { - baseDir: ['./build', './', './assets'], - }, - socket: { - clients: { - heartbeatTimeout: 80000, - }, - }, - watchOptions: { - awaitWriteFinish: true, - }, - }), - new ModernizrWebpackPlugin({ - 'feature-detects': ['input', 'canvas', 'css/resize'], - output: { - comments: true, - beautify: true, - }, - }), - ], - module: { - rules: [ - // javascript files - { - test: /\.js$/, - use: ['babel-loader'], - include: path.join(__dirname, 'src'), - }, - // raw files - { - test: [/\.vert$/, /\.frag$/], - use: 'raw-loader', - }, - // css - { - test: /\.(sa|sc|c)ss$/, - use: ['style-loader', 'css-loader', 'sass-loader'], - }, - // images - { - test: /.(jpg|png|gif)(\?[a-z0-9]+)?$/, - use: [{ - loader: 'file-loader', - options: { - name: '[path][name].[ext]', - }, - }], - }, - // audio - { - test: /\.mp3$/, - use: [{ - loader: 'file-loader', - options: { - name: '[path][name].[ext]', - }, - }], - include: path.join(__dirname, 'assets'), - }, - // fonts - { - test: /.(ttf|otf|eot|svg|woff(2)?)(\?[a-z0-9]+)?$/, - use: [{ - loader: 'file-loader', - options: { - name: '[path][name].[ext]', - }, - }], - include: path.join(__dirname, 'assets/fonts'), - }, - ], - }, -};