summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--.github/CODEOWNERS5
-rw-r--r--doc/contributing/contributing-to-documentation.chapter.md22
-rw-r--r--doc/hooks/index.md1
-rw-r--r--doc/hooks/zig.section.md59
-rw-r--r--doc/languages-frameworks/maven.section.md159
-rw-r--r--lib/meta.nix6
-rwxr-xr-xlib/tests/modules.sh22
-rw-r--r--lib/tests/modules/module-argument-default.nix9
-rw-r--r--maintainers/maintainer-list.nix137
-rw-r--r--maintainers/team-list.nix13
-rw-r--r--nixos/doc/manual/release-notes/rl-2311.section.md10
-rw-r--r--nixos/lib/eval-config.nix10
-rw-r--r--nixos/lib/test-driver/test_driver/machine.py3
-rw-r--r--nixos/modules/i18n/input-method/fcitx5.nix34
-rw-r--r--nixos/modules/image/repart.nix4
-rwxr-xr-xnixos/modules/installer/tools/nixos-install.sh2
-rw-r--r--nixos/modules/module-list.nix2
-rw-r--r--nixos/modules/programs/fish.nix2
-rw-r--r--nixos/modules/programs/ns-usbloader.nix18
-rw-r--r--nixos/modules/programs/oddjobd.nix7
-rw-r--r--nixos/modules/rename.nix10
-rw-r--r--nixos/modules/services/computing/boinc/client.nix1
-rw-r--r--nixos/modules/services/hardware/udisks2.nix14
-rw-r--r--nixos/modules/services/home-automation/home-assistant.nix1
-rw-r--r--nixos/modules/services/matrix/appservice-irc.nix11
-rw-r--r--nixos/modules/services/misc/atuin.nix69
-rw-r--r--nixos/modules/services/misc/gitlab.nix2
-rw-r--r--nixos/modules/services/misc/gogs.nix2
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/ipmi.nix1
-rw-r--r--nixos/modules/services/networking/bird.nix2
-rw-r--r--nixos/modules/services/networking/dhcpd.nix230
-rw-r--r--nixos/modules/services/networking/tailscale.nix18
-rw-r--r--nixos/modules/services/security/kanidm.nix17
-rw-r--r--nixos/modules/services/web-apps/hedgedoc.nix24
-rw-r--r--nixos/modules/services/web-servers/nginx/default.nix39
-rw-r--r--nixos/modules/system/boot/initrd-network.nix21
-rw-r--r--nixos/modules/system/boot/systemd.nix5
-rw-r--r--nixos/modules/system/boot/systemd/shutdown.nix6
-rw-r--r--nixos/modules/tasks/filesystems/zfs.nix5
-rw-r--r--nixos/modules/virtualisation/proxmox-image.nix2
-rw-r--r--nixos/tests/all-tests.nix3
-rw-r--r--nixos/tests/atuin.nix2
-rw-r--r--nixos/tests/binary-cache.nix10
-rw-r--r--nixos/tests/budgie.nix10
-rw-r--r--nixos/tests/buildkite-agents.nix6
-rw-r--r--nixos/tests/deepin.nix4
-rw-r--r--nixos/tests/gnome-flashback.nix14
-rw-r--r--nixos/tests/hibernate.nix142
-rw-r--r--nixos/tests/initrd-network-ssh/default.nix18
-rw-r--r--nixos/tests/kanidm.nix9
-rw-r--r--nixos/tests/nextcloud/basic.nix6
-rw-r--r--nixos/tests/nextcloud/openssl-sse.nix2
-rw-r--r--nixos/tests/nextcloud/with-declarative-redis-and-secrets.nix14
-rw-r--r--nixos/tests/nextcloud/with-mysql-and-memcached.nix2
-rw-r--r--nixos/tests/nextcloud/with-postgresql-and-redis.nix2
-rw-r--r--nixos/tests/nginx-status-page.nix72
-rw-r--r--nixos/tests/osquery.nix6
-rw-r--r--nixos/tests/sftpgo.nix10
-rw-r--r--nixos/tests/sing-box.nix5
-rw-r--r--nixos/tests/systemd-initrd-networkd-ssh.nix17
-rw-r--r--nixos/tests/systemd-shutdown.nix2
-rw-r--r--nixos/tests/terminal-emulators.nix4
-rw-r--r--pkgs/applications/audio/alsa-scarlett-gui/default.nix4
-rw-r--r--pkgs/applications/audio/bambootracker/default.nix26
-rw-r--r--pkgs/applications/audio/espeak-ng/default.nix1
-rw-r--r--pkgs/applications/audio/feishin/darwin.nix41
-rw-r--r--pkgs/applications/audio/feishin/default.nix26
-rw-r--r--pkgs/applications/audio/feishin/linux.nix71
-rw-r--r--pkgs/applications/audio/musescore/default.nix7
-rw-r--r--pkgs/applications/backup/ludusavi/default.nix6
-rw-r--r--pkgs/applications/backup/unifi-protect-backup/default.nix5
-rw-r--r--pkgs/applications/blockchains/btcpayserver/default.nix4
-rw-r--r--pkgs/applications/blockchains/btcpayserver/deps.nix4
-rw-r--r--pkgs/applications/blockchains/ledger-live-desktop/default.nix4
-rw-r--r--pkgs/applications/display-managers/greetd/default.nix6
-rw-r--r--pkgs/applications/display-managers/greetd/regreet.nix1
-rw-r--r--pkgs/applications/display-managers/lemurs/default.nix33
-rw-r--r--pkgs/applications/editors/android-studio/default.nix12
-rw-r--r--pkgs/applications/editors/jupyter-kernels/clojupyter/deps.edn2
-rw-r--r--pkgs/applications/editors/jupyter-kernels/clojupyter/deps.nix252
-rw-r--r--pkgs/applications/editors/rehex/default.nix4
-rw-r--r--pkgs/applications/editors/texstudio/default.nix36
-rw-r--r--pkgs/applications/editors/textadept/default.nix50
-rw-r--r--pkgs/applications/editors/textadept/deps.nix44
-rw-r--r--pkgs/applications/editors/tijolo/default.nix6
-rw-r--r--pkgs/applications/editors/tijolo/shards.nix (renamed from pkgs/applications/editors/tijolo/tijolo-shards.nix)0
-rw-r--r--pkgs/applications/editors/vim/plugins/generated.nix342
-rw-r--r--pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix102
-rw-r--r--pkgs/applications/editors/vim/plugins/overrides.nix13
-rw-r--r--pkgs/applications/editors/vim/plugins/vim-plugin-names1
-rw-r--r--pkgs/applications/editors/vscode/extensions/default.nix159
-rw-r--r--pkgs/applications/editors/vscode/extensions/rust-lang.rust-analyzer/build-deps/package.json2
-rw-r--r--pkgs/applications/editors/vscode/extensions/rust-lang.rust-analyzer/default.nix5
-rw-r--r--pkgs/applications/editors/vscode/generic.nix9
-rw-r--r--pkgs/applications/editors/vscode/vscodium.nix12
-rw-r--r--pkgs/applications/editors/vscode/with-extensions.nix2
-rw-r--r--pkgs/applications/emulators/darling/default.nix1
-rw-r--r--pkgs/applications/emulators/mame/default.nix4
-rw-r--r--pkgs/applications/emulators/rpcs3/0001-llvm-ExecutionEngine-IntelJITEvents-only-use-ITTAPI_.patch62
-rw-r--r--pkgs/applications/emulators/rpcs3/default.nix68
-rwxr-xr-xpkgs/applications/emulators/rpcs3/update.sh9
-rw-r--r--pkgs/applications/emulators/tamatool/default.nix78
-rw-r--r--pkgs/applications/emulators/uxn/default.nix19
-rw-r--r--pkgs/applications/emulators/wine/sources.nix4
-rw-r--r--pkgs/applications/emulators/xemu/default.nix4
-rw-r--r--pkgs/applications/emulators/yuzu/generic.nix2
-rw-r--r--pkgs/applications/emulators/yuzu/sources.nix14
-rw-r--r--pkgs/applications/emulators/yuzu/vulkan_version.patch13
-rw-r--r--pkgs/applications/file-managers/mucommander/default.nix6
-rw-r--r--pkgs/applications/file-managers/nnn/darwin-fix-file-mime-opts.patch15
-rw-r--r--pkgs/applications/file-managers/nnn/default.nix4
-rw-r--r--pkgs/applications/graphics/ImageMagick/default.nix4
-rw-r--r--pkgs/applications/graphics/inkscape/default.nix16
-rw-r--r--pkgs/applications/graphics/inkscape/fix-ps2pdf-path.patch36
-rw-r--r--pkgs/applications/graphics/ipe/default.nix9
-rw-r--r--pkgs/applications/graphics/ipe/headers-lookup.patch13
-rw-r--r--pkgs/applications/graphics/openscad/default.nix1
-rw-r--r--pkgs/applications/graphics/processing/default.nix8
-rw-r--r--pkgs/applications/graphics/tesseract/tesseract5.nix1
-rw-r--r--pkgs/applications/graphics/vengi-tools/default.nix4
-rw-r--r--pkgs/applications/graphics/xournalpp/default.nix11
-rw-r--r--pkgs/applications/kde/spectacle.nix12
-rw-r--r--pkgs/applications/misc/acpic/default.nix29
-rw-r--r--pkgs/applications/misc/ausweisapp2/default.nix4
-rw-r--r--pkgs/applications/misc/blender/default.nix5
-rw-r--r--pkgs/applications/misc/blender/draco.patch26
-rw-r--r--pkgs/applications/misc/bloodhound/default.nix127
-rw-r--r--pkgs/applications/misc/confy/default.nix26
-rw-r--r--pkgs/applications/misc/dbeaver/default.nix1
-rw-r--r--pkgs/applications/misc/fuzzel/default.nix4
-rw-r--r--pkgs/applications/misc/goldendict-ng/default.nix83
-rw-r--r--pkgs/applications/misc/hugo/default.nix8
-rw-r--r--pkgs/applications/misc/iptsd/default.nix4
-rw-r--r--pkgs/applications/misc/joplin-desktop/default.nix4
-rw-r--r--pkgs/applications/misc/josm/default.nix6
-rw-r--r--pkgs/applications/misc/kbt/default.nix6
-rw-r--r--pkgs/applications/misc/logseq/default.nix12
-rw-r--r--pkgs/applications/misc/mainsail/default.nix4
-rw-r--r--pkgs/applications/misc/mysql-workbench/default.nix4
-rw-r--r--pkgs/applications/misc/ns-usbloader/99-ns-usbloader.rules4
-rw-r--r--pkgs/applications/misc/ns-usbloader/default.nix88
-rw-r--r--pkgs/applications/misc/ns-usbloader/make-deterministic.patch130
-rw-r--r--pkgs/applications/misc/ns-usbloader/no-launch4j.patch70
-rw-r--r--pkgs/applications/misc/nwg-displays/default.nix59
-rw-r--r--pkgs/applications/misc/obsidian/default.nix4
-rw-r--r--pkgs/applications/misc/onthespot/default.nix64
-rw-r--r--pkgs/applications/misc/organicmaps/default.nix7
-rw-r--r--pkgs/applications/misc/owmods-cli/Cargo.lock (renamed from pkgs/servers/kanidm/Cargo.lock)5005
-rw-r--r--pkgs/applications/misc/owmods-cli/default.nix65
-rw-r--r--pkgs/applications/misc/plots/default.nix77
-rw-r--r--pkgs/applications/misc/process-compose/default.nix6
-rw-r--r--pkgs/applications/misc/rofi-screenshot/default.nix58
-rw-r--r--pkgs/applications/misc/rofi/wayland.nix4
-rw-r--r--pkgs/applications/misc/shipments/default.nix10
-rw-r--r--pkgs/applications/misc/syncthingtray/default.nix3
-rw-r--r--pkgs/applications/misc/tellico/default.nix4
-rw-r--r--pkgs/applications/misc/tickrs/default.nix6
-rw-r--r--pkgs/applications/misc/toot/default.nix6
-rw-r--r--pkgs/applications/misc/transifex-cli/default.nix6
-rw-r--r--pkgs/applications/misc/ttdl/default.nix6
-rw-r--r--pkgs/applications/misc/valent/default.nix6
-rw-r--r--pkgs/applications/misc/vhs/default.nix6
-rw-r--r--pkgs/applications/misc/yambar/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/chromium/README.md10
-rw-r--r--pkgs/applications/networking/browsers/chromium/common.nix7
-rw-r--r--pkgs/applications/networking/browsers/chromium/default.nix18
-rwxr-xr-xpkgs/applications/networking/browsers/chromium/update.py31
-rw-r--r--pkgs/applications/networking/browsers/chromium/upstream-info.json64
-rw-r--r--pkgs/applications/networking/browsers/chromium/upstream-info.nix65
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix810
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix810
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/release_sources.nix810
-rw-r--r--pkgs/applications/networking/browsers/firefox/packages.nix25
-rw-r--r--pkgs/applications/networking/browsers/lagrange/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/librewolf/src.json10
-rw-r--r--pkgs/applications/networking/browsers/netsurf/browser.nix112
-rw-r--r--pkgs/applications/networking/browsers/netsurf/buildsystem.nix24
-rw-r--r--pkgs/applications/networking/browsers/netsurf/default.nix25
-rw-r--r--pkgs/applications/networking/browsers/netsurf/libcss.nix35
-rw-r--r--pkgs/applications/networking/browsers/netsurf/libdom.nix30
-rw-r--r--pkgs/applications/networking/browsers/netsurf/libhubbub.nix28
-rw-r--r--pkgs/applications/networking/browsers/netsurf/libnsbmp.nix24
-rw-r--r--pkgs/applications/networking/browsers/netsurf/libnsfb.nix29
-rw-r--r--pkgs/applications/networking/browsers/netsurf/libnsgif.nix27
-rw-r--r--pkgs/applications/networking/browsers/netsurf/libnslog.nix32
-rw-r--r--pkgs/applications/networking/browsers/netsurf/libnspsl.nix24
-rw-r--r--pkgs/applications/networking/browsers/netsurf/libnsutils.nix24
-rw-r--r--pkgs/applications/networking/browsers/netsurf/libparserutils.nix30
-rw-r--r--pkgs/applications/networking/browsers/netsurf/libsvgtiny.nix35
-rw-r--r--pkgs/applications/networking/browsers/netsurf/libutf8proc.nix16
-rw-r--r--pkgs/applications/networking/browsers/netsurf/libwapcaplet.nix24
-rw-r--r--pkgs/applications/networking/browsers/netsurf/nsgenbind.nix32
-rw-r--r--pkgs/applications/networking/browsers/offpunk/default.nix5
-rw-r--r--pkgs/applications/networking/clash-verge/default.nix1
-rw-r--r--pkgs/applications/networking/cluster/argocd/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/eks-node-viewer/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/helmfile/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/helmsman/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/istioctl/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/k3d/default.nix11
-rw-r--r--pkgs/applications/networking/cluster/kubecfg/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/kubectl-cnpg/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/kubectl-explore/default.nix24
-rw-r--r--pkgs/applications/networking/cluster/kubernetes-metrics-server/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/kubernetes/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/kubeshark/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/kubevpn/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/kyverno/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/minikube/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/nerdctl/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/pluto/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/terraform-providers/providers.json111
-rw-r--r--pkgs/applications/networking/cluster/tilt/default.nix22
-rw-r--r--pkgs/applications/networking/cluster/velero/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/weave-gitops/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/werf/default.nix6
-rw-r--r--pkgs/applications/networking/deck/default.nix8
-rw-r--r--pkgs/applications/networking/flexget/default.nix4
-rw-r--r--pkgs/applications/networking/freefilesync/default.nix15
-rw-r--r--pkgs/applications/networking/ids/suricata/default.nix11
-rw-r--r--pkgs/applications/networking/instant-messengers/armcord/default.nix6
-rw-r--r--pkgs/applications/networking/instant-messengers/discord/linux.nix1
-rw-r--r--pkgs/applications/networking/instant-messengers/element/pin.nix10
-rw-r--r--pkgs/applications/networking/instant-messengers/fluffychat/default.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/jami/default.nix11
-rw-r--r--pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/teamspeak/client.nix1
-rw-r--r--pkgs/applications/networking/instant-messengers/threema-desktop/default.nix6
-rw-r--r--pkgs/applications/networking/irc/thelounge/default.nix1
-rw-r--r--pkgs/applications/networking/irc/weechat/default.nix1
-rw-r--r--pkgs/applications/networking/onionshare/default.nix8
-rw-r--r--pkgs/applications/networking/onionshare/fix-qrcode-gui.patch14
-rw-r--r--pkgs/applications/networking/pjsip/default.nix17
-rw-r--r--pkgs/applications/networking/remote/dayon/default.nix67
-rw-r--r--pkgs/applications/networking/remote/vmware-horizon-client/default.nix17
-rw-r--r--pkgs/applications/networking/sync/backintime/common.nix2
-rw-r--r--pkgs/applications/office/iotas/default.nix6
-rw-r--r--pkgs/applications/office/notes/default.nix54
-rw-r--r--pkgs/applications/office/treesheets/default.nix6
-rw-r--r--pkgs/applications/office/vnote/default.nix6
-rw-r--r--pkgs/applications/science/astronomy/stellarium/default.nix9
-rw-r--r--pkgs/applications/science/biology/bcftools/default.nix4
-rw-r--r--pkgs/applications/science/biology/paml/default.nix35
-rw-r--r--pkgs/applications/science/biology/veryfasttree/default.nix35
-rw-r--r--pkgs/applications/science/chemistry/cp2k/default.nix4
-rw-r--r--pkgs/applications/science/electronics/digital/default.nix4
-rw-r--r--pkgs/applications/science/electronics/nvc/default.nix4
-rw-r--r--pkgs/applications/science/logic/beluga/default.nix35
-rw-r--r--pkgs/applications/science/logic/cbmc/default.nix4
-rw-r--r--pkgs/applications/science/logic/dafny/default.nix6
-rw-r--r--pkgs/applications/science/logic/dafny/deps.nix25
-rw-r--r--pkgs/applications/science/math/geogebra/default.nix2
-rw-r--r--pkgs/applications/science/math/mxnet/default.nix1
-rw-r--r--pkgs/applications/science/misc/boinc/default.nix10
-rw-r--r--pkgs/applications/science/misc/gephi/default.nix2
-rw-r--r--pkgs/applications/science/molecular-dynamics/lammps/default.nix12
-rw-r--r--pkgs/applications/system/psitop/default.nix4
-rw-r--r--pkgs/applications/terminal-emulators/foot/default.nix15
-rw-r--r--pkgs/applications/version-management/dvc/default.nix4
-rw-r--r--pkgs/applications/version-management/forgejo/default.nix13
-rw-r--r--pkgs/applications/version-management/ghorg/default.nix4
-rw-r--r--pkgs/applications/version-management/git-cinnabar/default.nix55
-rw-r--r--pkgs/applications/version-management/gitea/default.nix1
-rw-r--r--pkgs/applications/version-management/gitlab/data.json14
-rw-r--r--pkgs/applications/version-management/gitlab/gitaly/default.nix4
-rw-r--r--pkgs/applications/version-management/gitlab/gitlab-container-registry/default.nix6
-rw-r--r--pkgs/applications/version-management/gitlab/gitlab-pages/default.nix4
-rw-r--r--pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix2
-rw-r--r--pkgs/applications/version-management/lefthook/default.nix4
-rw-r--r--pkgs/applications/video/davinci-resolve/default.nix2
-rw-r--r--pkgs/applications/video/frigate/default.nix4
-rw-r--r--pkgs/applications/video/multiviewer-for-f1/default.nix6
-rw-r--r--pkgs/applications/video/obs-studio/Provide-runtime-plugin-destination-as-relative-path.patch26
-rw-r--r--pkgs/applications/video/obs-studio/default.nix23
-rw-r--r--pkgs/applications/video/obs-studio/fix-nix-plugin-path.patch13
-rw-r--r--pkgs/applications/video/obs-studio/plugins/obs-source-record.nix18
-rw-r--r--pkgs/applications/video/xine/lib.nix92
-rw-r--r--pkgs/applications/video/xine/ui.nix (renamed from pkgs/applications/video/xine-ui/default.nix)58
-rw-r--r--pkgs/applications/virtualization/containerd/default.nix4
-rw-r--r--pkgs/applications/virtualization/docker/default.nix38
-rw-r--r--pkgs/applications/virtualization/kvmtool/default.nix1
-rw-r--r--pkgs/applications/virtualization/nixpacks/default.nix6
-rw-r--r--pkgs/applications/window-managers/cage/default.nix13
-rw-r--r--pkgs/applications/window-managers/i3/status-rust.nix6
-rw-r--r--pkgs/build-support/fetch9front/default.nix36
-rw-r--r--pkgs/build-support/fetchfirefoxaddon/default.nix3
-rw-r--r--pkgs/build-support/writers/scripts.nix24
-rw-r--r--pkgs/common-updater/unstable-updater.nix15
-rw-r--r--pkgs/data/fonts/commit-mono/default.nix34
-rw-r--r--pkgs/data/fonts/maple-font/default.nix22
-rw-r--r--pkgs/data/fonts/scheherazade/default.nix3
-rw-r--r--pkgs/data/icons/papirus-icon-theme/default.nix4
-rw-r--r--pkgs/data/misc/dbip-country-lite/default.nix13
-rw-r--r--pkgs/data/misc/v2ray-domain-list-community/default.nix4
-rw-r--r--pkgs/data/themes/catppuccin-sddm-corners/default.nix36
-rw-r--r--pkgs/data/themes/graphite-gtk-theme/default.nix4
-rw-r--r--pkgs/desktops/budgie/budgie-control-center/default.nix4
-rw-r--r--pkgs/desktops/deepin/apps/deepin-clone/default.nix6
-rw-r--r--pkgs/desktops/deepin/apps/deepin-terminal/default.nix3
-rw-r--r--pkgs/desktops/deepin/core/dde-calendar/default.nix59
-rw-r--r--pkgs/desktops/deepin/core/dde-calendar/fix-wrapped-name-not-in-whitelist.diff13
-rw-r--r--pkgs/desktops/gnome/apps/file-roller/default.nix1
-rw-r--r--pkgs/desktops/gnome/core/epiphany/default.nix4
-rw-r--r--pkgs/desktops/pantheon/apps/elementary-code/default.nix21
-rw-r--r--pkgs/desktops/pantheon/apps/elementary-mail/default.nix18
-rw-r--r--pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/default.nix11
-rw-r--r--pkgs/desktops/plasma-5/3rdparty/kwin/scripts/kzones.nix4
-rw-r--r--pkgs/desktops/plasma-5/fetch.sh2
-rw-r--r--pkgs/desktops/plasma-5/plasma-sdk.nix11
-rw-r--r--pkgs/desktops/plasma-5/srcs.nix472
-rw-r--r--pkgs/desktops/xfce/core/xfce4-power-manager/default.nix8
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-clipman-plugin/default.nix4
-rw-r--r--pkgs/development/compilers/assemblyscript/default.nix4
-rw-r--r--pkgs/development/compilers/circt/default.nix7
-rw-r--r--pkgs/development/compilers/flix/default.nix4
-rw-r--r--pkgs/development/compilers/gambit/bootstrap.nix6
-rw-r--r--pkgs/development/compilers/gambit/build.nix27
-rw-r--r--pkgs/development/compilers/gambit/default.nix6
-rw-r--r--pkgs/development/compilers/gambit/gambit-support.nix37
-rw-r--r--pkgs/development/compilers/gambit/unstable.nix12
-rw-r--r--pkgs/development/compilers/go/1.19.nix4
-rw-r--r--pkgs/development/compilers/nim/default.nix3
-rw-r--r--pkgs/development/compilers/p4c/default.nix20
-rw-r--r--pkgs/development/compilers/sbcl/2.x.nix8
-rw-r--r--pkgs/development/compilers/zig/hook.nix17
-rw-r--r--pkgs/development/compilers/zig/setup-hook.sh90
-rw-r--r--pkgs/development/coq-modules/coquelicot/default.nix3
-rw-r--r--pkgs/development/coq-modules/interval/default.nix3
-rw-r--r--pkgs/development/coq-modules/iris/default.nix2
-rw-r--r--pkgs/development/coq-modules/paco/default.nix2
-rw-r--r--pkgs/development/embedded/avrdude/default.nix4
-rw-r--r--pkgs/development/interpreters/erlang/25.nix4
-rw-r--r--pkgs/development/interpreters/luau/default.nix4
-rw-r--r--pkgs/development/interpreters/perl/intepreter.nix1
-rw-r--r--pkgs/development/interpreters/python/cpython/default.nix1
-rw-r--r--pkgs/development/interpreters/ruby/default.nix7
-rw-r--r--pkgs/development/interpreters/trealla/default.nix4
-rw-r--r--pkgs/development/libraries/aravis/default.nix4
-rw-r--r--pkgs/development/libraries/botan/generic.nix5
-rw-r--r--pkgs/development/libraries/cegui/default.nix54
-rw-r--r--pkgs/development/libraries/cpp-utilities/default.nix3
-rw-r--r--pkgs/development/libraries/ffmpeg/generic.nix6
-rw-r--r--pkgs/development/libraries/fmt/default.nix9
-rw-r--r--pkgs/development/libraries/gspell/default.nix4
-rw-r--r--pkgs/development/libraries/gstreamer/rs/Cargo.lock328
-rw-r--r--pkgs/development/libraries/gstreamer/rs/default.nix6
-rw-r--r--pkgs/development/libraries/kronosnet/default.nix4
-rw-r--r--pkgs/development/libraries/ldb/default.nix4
-rw-r--r--pkgs/development/libraries/libblockdev/default.nix85
-rw-r--r--pkgs/development/libraries/libcef/default.nix10
-rw-r--r--pkgs/development/libraries/libgpiod/0001-Drop-AC_FUNC_MALLOC-and-_REALLOC-and-check-for-them-.patch31
-rw-r--r--pkgs/development/libraries/libgpiod/default.nix10
-rw-r--r--pkgs/development/libraries/libgudev/default.nix1
-rw-r--r--pkgs/development/libraries/libzim/default.nix4
-rw-r--r--pkgs/development/libraries/mlt/default.nix4
-rw-r--r--pkgs/development/libraries/mongocxx/default.nix53
-rw-r--r--pkgs/development/libraries/ogre/1.10.x.nix110
-rw-r--r--pkgs/development/libraries/ogre/default.nix125
-rw-r--r--pkgs/development/libraries/onnxruntime/default.nix144
-rw-r--r--pkgs/development/libraries/openssl/default.nix18
-rw-r--r--pkgs/development/libraries/physics/pythia/default.nix4
-rw-r--r--pkgs/development/libraries/piper-phonemize/default.nix60
-rw-r--r--pkgs/development/libraries/piper-phonemize/espeak-mbrola.patch26
-rw-r--r--pkgs/development/libraries/qrcodegen/default.nix34
-rw-r--r--pkgs/development/libraries/qtutilities/default.nix2
-rw-r--r--pkgs/development/libraries/science/astronomy/cfitsio/default.nix30
-rw-r--r--pkgs/development/libraries/science/astronomy/indilib/default.nix17
-rw-r--r--pkgs/development/libraries/science/astronomy/indilib/indi-3rdparty.nix18
-rw-r--r--pkgs/development/libraries/science/astronomy/indilib/indi-firmware.nix5
-rw-r--r--pkgs/development/libraries/science/astronomy/indilib/indi-full.nix19
-rw-r--r--pkgs/development/libraries/science/chemistry/simple-dftd3/default.nix4
-rw-r--r--pkgs/development/libraries/stb/default.nix6
-rw-r--r--pkgs/development/libraries/sundials/default.nix4
-rw-r--r--pkgs/development/libraries/tracker/default.nix3
-rw-r--r--pkgs/development/libraries/webkitgtk/default.nix4
-rw-r--r--pkgs/development/libraries/wlroots/default.nix11
-rw-r--r--pkgs/development/libraries/wt/default.nix2
-rw-r--r--pkgs/development/libraries/xdg-dbus-proxy/default.nix1
-rw-r--r--pkgs/development/libraries/xdg-desktop-portal-gnome/default.nix4
-rw-r--r--pkgs/development/libraries/xine-lib/default.nix92
-rw-r--r--pkgs/development/libraries/zziplib/default.nix5
-rw-r--r--pkgs/development/nim-packages/eris/default.nix18
-rw-r--r--pkgs/development/nim-packages/noise/default.nix24
-rw-r--r--pkgs/development/nim-packages/regex/default.nix26
-rw-r--r--pkgs/development/nim-packages/segmentation/default.nix25
-rw-r--r--pkgs/development/nim-packages/unicodedb/default.nix24
-rw-r--r--pkgs/development/nim-packages/unicodeplus/default.nix25
-rw-r--r--pkgs/development/nim-packages/ws/default.nix21
-rw-r--r--pkgs/development/node-packages/aliases.nix3
-rw-r--r--pkgs/development/node-packages/node-packages.json3
-rw-r--r--pkgs/development/node-packages/node-packages.nix8477
-rw-r--r--pkgs/development/ocaml-modules/cohttp/default.nix6
-rw-r--r--pkgs/development/ocaml-modules/http-mirage-client/default.nix5
-rw-r--r--pkgs/development/ocaml-modules/ptime/default.nix37
-rw-r--r--pkgs/development/ocaml-modules/rfc7748/default.nix7
-rw-r--r--pkgs/development/ocaml-modules/sosa/default.nix12
-rw-r--r--pkgs/development/ocaml-modules/unix-errno/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/x509/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/xenstore-tool/default.nix8
-rw-r--r--pkgs/development/perl-modules/Data-UUID-CVE-2013-4184.patch214
-rw-r--r--pkgs/development/python-modules/accelerate/default.nix35
-rw-r--r--pkgs/development/python-modules/adafruit-platformdetect/default.nix4
-rw-r--r--pkgs/development/python-modules/ailment/default.nix4
-rw-r--r--pkgs/development/python-modules/aioairzone-cloud/default.nix4
-rw-r--r--pkgs/development/python-modules/aioesphomeapi/default.nix4
-rw-r--r--pkgs/development/python-modules/aiohomekit/default.nix4
-rw-r--r--pkgs/development/python-modules/aiomqtt/default.nix67
-rw-r--r--pkgs/development/python-modules/aiomysensors/default.nix12
-rw-r--r--pkgs/development/python-modules/aiopvpc/default.nix4
-rw-r--r--pkgs/development/python-modules/aiounifi/default.nix8
-rw-r--r--pkgs/development/python-modules/androidtvremote2/default.nix4
-rw-r--r--pkgs/development/python-modules/angr/default.nix4
-rw-r--r--pkgs/development/python-modules/archinfo/default.nix4
-rw-r--r--pkgs/development/python-modules/async-lru/default.nix4
-rw-r--r--pkgs/development/python-modules/awesomeversion/default.nix4
-rw-r--r--pkgs/development/python-modules/azure-mgmt-authorization/default.nix4
-rw-r--r--pkgs/development/python-modules/azure-mgmt-compute/default.nix4
-rw-r--r--pkgs/development/python-modules/azure-mgmt-network/default.nix4
-rw-r--r--pkgs/development/python-modules/bentoml/default.nix4
-rw-r--r--pkgs/development/python-modules/bleak-retry-connector/default.nix4
-rw-r--r--pkgs/development/python-modules/bluetooth-auto-recovery/default.nix6
-rw-r--r--pkgs/development/python-modules/bthome-ble/default.nix10
-rw-r--r--pkgs/development/python-modules/chess/default.nix4
-rw-r--r--pkgs/development/python-modules/claripy/default.nix4
-rw-r--r--pkgs/development/python-modules/cle/default.nix4
-rw-r--r--pkgs/development/python-modules/coredis/default.nix59
-rw-r--r--pkgs/development/python-modules/dask-awkward/default.nix4
-rw-r--r--pkgs/development/python-modules/dbus-fast/default.nix4
-rw-r--r--pkgs/development/python-modules/django-stubs/default.nix4
-rw-r--r--pkgs/development/python-modules/django/4.nix4
-rw-r--r--pkgs/development/python-modules/dvc-data/default.nix4
-rw-r--r--pkgs/development/python-modules/dvc-objects/default.nix4
-rw-r--r--pkgs/development/python-modules/dvclive/default.nix4
-rw-r--r--pkgs/development/python-modules/flake8/default.nix1
-rw-r--r--pkgs/development/python-modules/fnv-hash-fast/default.nix4
-rw-r--r--pkgs/development/python-modules/fritzconnection/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-container/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-translate/default.nix4
-rw-r--r--pkgs/development/python-modules/gptcache/default.nix42
-rw-r--r--pkgs/development/python-modules/graphene/default.nix4
-rw-r--r--pkgs/development/python-modules/guidance/default.nix80
-rw-r--r--pkgs/development/python-modules/hap-python/default.nix6
-rw-r--r--pkgs/development/python-modules/hassil/default.nix4
-rw-r--r--pkgs/development/python-modules/hnswlib/default.nix32
-rw-r--r--pkgs/development/python-modules/imap-tools/default.nix8
-rw-r--r--pkgs/development/python-modules/insightface/default.nix77
-rw-r--r--pkgs/development/python-modules/jc/default.nix4
-rw-r--r--pkgs/development/python-modules/jsonmerge/default.nix7
-rw-r--r--pkgs/development/python-modules/lektor/default.nix47
-rw-r--r--pkgs/development/python-modules/librespot/default.nix61
-rw-r--r--pkgs/development/python-modules/life360/default.nix4
-rw-r--r--pkgs/development/python-modules/losant-rest/default.nix4
-rw-r--r--pkgs/development/python-modules/mcstatus/default.nix22
-rw-r--r--pkgs/development/python-modules/music-tag/default.nix41
-rw-r--r--pkgs/development/python-modules/mwdblib/default.nix4
-rw-r--r--pkgs/development/python-modules/mxnet/default.nix3
-rw-r--r--pkgs/development/python-modules/mypy-boto3-builder/default.nix4
-rw-r--r--pkgs/development/python-modules/mypy-boto3-ebs/default.nix4
-rw-r--r--pkgs/development/python-modules/mypy-boto3-s3/default.nix4
-rw-r--r--pkgs/development/python-modules/myst-nb/default.nix27
-rw-r--r--pkgs/development/python-modules/nclib/default.nix4
-rw-r--r--pkgs/development/python-modules/nexia/default.nix6
-rw-r--r--pkgs/development/python-modules/onnxruntime/default.nix6
-rw-r--r--pkgs/development/python-modules/opentelemetry-api/default.nix13
-rw-r--r--pkgs/development/python-modules/opentelemetry-exporter-otlp-proto-common/default.nix18
-rw-r--r--pkgs/development/python-modules/opentelemetry-exporter-otlp-proto-grpc/default.nix18
-rw-r--r--pkgs/development/python-modules/opentelemetry-exporter-otlp-proto-http/default.nix18
-rw-r--r--pkgs/development/python-modules/opentelemetry-exporter-otlp/default.nix18
-rw-r--r--pkgs/development/python-modules/opentelemetry-exporter-prometheus/default.nix17
-rw-r--r--pkgs/development/python-modules/opentelemetry-instrumentation-aiohttp-client/default.nix21
-rw-r--r--pkgs/development/python-modules/opentelemetry-instrumentation-asgi/default.nix17
-rw-r--r--pkgs/development/python-modules/opentelemetry-instrumentation-django/default.nix17
-rw-r--r--pkgs/development/python-modules/opentelemetry-instrumentation-grpc/default.nix17
-rw-r--r--pkgs/development/python-modules/opentelemetry-instrumentation-wsgi/default.nix17
-rw-r--r--pkgs/development/python-modules/opentelemetry-instrumentation/default.nix11
-rw-r--r--pkgs/development/python-modules/opentelemetry-proto/default.nix18
-rw-r--r--pkgs/development/python-modules/opentelemetry-sdk/default.nix19
-rw-r--r--pkgs/development/python-modules/opentelemetry-semantic-conventions/default.nix18
-rw-r--r--pkgs/development/python-modules/opentelemetry-test-utils/default.nix17
-rw-r--r--pkgs/development/python-modules/opentelemetry-util-http/default.nix17
-rw-r--r--pkgs/development/python-modules/opower/default.nix4
-rw-r--r--pkgs/development/python-modules/pgvector/default.nix6
-rw-r--r--pkgs/development/python-modules/pipdeptree/default.nix4
-rw-r--r--pkgs/development/python-modules/piper-phonemize/default.nix34
-rw-r--r--pkgs/development/python-modules/plaid-python/default.nix4
-rw-r--r--pkgs/development/python-modules/plugwise/default.nix4
-rw-r--r--pkgs/development/python-modules/potentials/default.nix4
-rw-r--r--pkgs/development/python-modules/ppft/default.nix4
-rw-r--r--pkgs/development/python-modules/py-radix-sr/default.nix34
-rw-r--r--pkgs/development/python-modules/pydata-google-auth/default.nix4
-rw-r--r--pkgs/development/python-modules/pyemd/default.nix34
-rw-r--r--pkgs/development/python-modules/pyglm/default.nix23
-rw-r--r--pkgs/development/python-modules/pyqt/6.x.nix4
-rw-r--r--pkgs/development/python-modules/pyschlage/default.nix4
-rw-r--r--pkgs/development/python-modules/pysensibo/default.nix4
-rw-r--r--pkgs/development/python-modules/python-homewizard-energy/default.nix4
-rw-r--r--pkgs/development/python-modules/python-kasa/default.nix6
-rw-r--r--pkgs/development/python-modules/python-matter-server/default.nix4
-rw-r--r--pkgs/development/python-modules/python-roborock/default.nix4
-rw-r--r--pkgs/development/python-modules/pyturbojpeg/default.nix4
-rw-r--r--pkgs/development/python-modules/pyvex/default.nix4
-rw-r--r--pkgs/development/python-modules/pyvista/default.nix4
-rw-r--r--pkgs/development/python-modules/pywemo/default.nix4
-rw-r--r--pkgs/development/python-modules/reolink-aio/default.nix33
-rw-r--r--pkgs/development/python-modules/riscv-isac/default.nix4
-rw-r--r--pkgs/development/python-modules/rst2pdf/default.nix5
-rw-r--r--pkgs/development/python-modules/shtab/default.nix4
-rw-r--r--pkgs/development/python-modules/smart-meter-texas/default.nix6
-rw-r--r--pkgs/development/python-modules/sphinx-basic-ng/default.nix4
-rw-r--r--pkgs/development/python-modules/sqlalchemy-mixins/default.nix4
-rw-r--r--pkgs/development/python-modules/sqlite-utils/default.nix8
-rw-r--r--pkgs/development/python-modules/subarulink/default.nix4
-rw-r--r--pkgs/development/python-modules/sure/default.nix18
-rw-r--r--pkgs/development/python-modules/tensorflow/default.nix2
-rw-r--r--pkgs/development/python-modules/tpm2-pytss/default.nix23
-rw-r--r--pkgs/development/python-modules/tpm2-pytss/fapi-config.patch12
-rw-r--r--pkgs/development/python-modules/transformers/default.nix11
-rw-r--r--pkgs/development/python-modules/ttstokenizer/default.nix38
-rw-r--r--pkgs/development/python-modules/types-pillow/default.nix4
-rw-r--r--pkgs/development/python-modules/types-tabulate/default.nix4
-rw-r--r--pkgs/development/python-modules/ulid-transform/default.nix4
-rw-r--r--pkgs/development/python-modules/unstructured-inference/default.nix6
-rw-r--r--pkgs/development/python-modules/vsure/default.nix4
-rw-r--r--pkgs/development/python-modules/whirlpool-sixth-sense/default.nix4
-rw-r--r--pkgs/development/python-modules/wyoming/default.nix4
-rw-r--r--pkgs/development/python-modules/xiaomi-ble/default.nix19
-rw-r--r--pkgs/development/python-modules/yabadaba/default.nix4
-rw-r--r--pkgs/development/python-modules/yeelight/default.nix7
-rw-r--r--pkgs/development/python-modules/yolink-api/default.nix8
-rw-r--r--pkgs/development/python-modules/zeroconf/default.nix4
-rw-r--r--pkgs/development/python-modules/zha-quirks/default.nix4
-rw-r--r--pkgs/development/ruby-modules/with-packages/Gemfile1
-rw-r--r--pkgs/development/tools/allure/default.nix4
-rw-r--r--pkgs/development/tools/analysis/codeql/default.nix4
-rw-r--r--pkgs/development/tools/analysis/ikos/default.nix11
-rw-r--r--pkgs/development/tools/api-linter/default.nix8
-rw-r--r--pkgs/development/tools/apkid/default.nix4
-rw-r--r--pkgs/development/tools/azcopy/default.nix6
-rw-r--r--pkgs/development/tools/bacon/default.nix6
-rw-r--r--pkgs/development/tools/bearer/default.nix6
-rw-r--r--pkgs/development/tools/build-managers/apache-maven/build-package.nix15
-rw-r--r--pkgs/development/tools/build-managers/buck2/default.nix2
-rw-r--r--pkgs/development/tools/build-managers/buck2/hashes.json8
-rw-r--r--pkgs/development/tools/codespelunker/default.nix4
-rw-r--r--pkgs/development/tools/continuous-integration/dagger/default.nix6
-rw-r--r--pkgs/development/tools/continuous-integration/github-runner/default.nix4
-rw-r--r--pkgs/development/tools/continuous-integration/woodpecker/agent.nix6
-rw-r--r--pkgs/development/tools/continuous-integration/woodpecker/cli.nix5
-rw-r--r--pkgs/development/tools/continuous-integration/woodpecker/common.nix13
-rw-r--r--pkgs/development/tools/continuous-integration/woodpecker/frontend.nix23
-rw-r--r--pkgs/development/tools/continuous-integration/woodpecker/server.nix6
-rwxr-xr-xpkgs/development/tools/continuous-integration/woodpecker/update.sh16
-rw-r--r--pkgs/development/tools/continuous-integration/woodpecker/woodpecker-package.json92
-rw-r--r--pkgs/development/tools/continuous-integration/woodpecker/yarn.lock3219
-rw-r--r--pkgs/development/tools/convco/default.nix6
-rw-r--r--pkgs/development/tools/database/litefs/default.nix4
-rw-r--r--pkgs/development/tools/database/schemaspy/default.nix1
-rw-r--r--pkgs/development/tools/database/sqlcl/default.nix13
-rw-r--r--pkgs/development/tools/database/trino-cli/default.nix4
-rw-r--r--pkgs/development/tools/doc2go/default.nix49
-rw-r--r--pkgs/development/tools/doctl/default.nix4
-rw-r--r--pkgs/development/tools/dprint/default.nix6
-rw-r--r--pkgs/development/tools/efm-langserver/default.nix6
-rw-r--r--pkgs/development/tools/esbuild/default.nix1
-rw-r--r--pkgs/development/tools/esbuild/netlify.nix1
-rw-r--r--pkgs/development/tools/espup/default.nix82
-rw-r--r--pkgs/development/tools/geckodriver/default.nix1
-rw-r--r--pkgs/development/tools/global-platform-pro/default.nix7
-rw-r--r--pkgs/development/tools/go-task/default.nix6
-rw-r--r--pkgs/development/tools/goa/default.nix6
-rw-r--r--pkgs/development/tools/goimports-reviser/default.nix45
-rw-r--r--pkgs/development/tools/grpc-gateway/default.nix6
-rw-r--r--pkgs/development/tools/java/java-language-server/default.nix5
-rw-r--r--pkgs/development/tools/language-servers/gopls/default.nix6
-rw-r--r--pkgs/development/tools/language-servers/jdt-language-server/default.nix7
-rw-r--r--pkgs/development/tools/language-servers/pylyzer/default.nix9
-rw-r--r--pkgs/development/tools/ldid-procursus/default.nix29
-rw-r--r--pkgs/development/tools/memray/default.nix4
-rw-r--r--pkgs/development/tools/misc/ast-grep/default.nix6
-rw-r--r--pkgs/development/tools/misc/ccache/default.nix6
-rw-r--r--pkgs/development/tools/misc/ccache/fix-objdump-path.patch (renamed from pkgs/development/tools/misc/ccache/force-objdump-on-darwin.patch)0
-rw-r--r--pkgs/development/tools/misc/circleci-cli/default.nix6
-rw-r--r--pkgs/development/tools/misc/grcov/default.nix6
-rw-r--r--pkgs/development/tools/misc/libtool/default.nix2
-rw-r--r--pkgs/development/tools/misc/libtool/libtool2.nix1
-rw-r--r--pkgs/development/tools/misc/rsonpath/default.nix6
-rw-r--r--pkgs/development/tools/misc/runme/default.nix6
-rw-r--r--pkgs/development/tools/misc/rustywind/default.nix6
-rw-r--r--pkgs/development/tools/misc/seer/default.nix7
-rw-r--r--pkgs/development/tools/misc/texlab/default.nix6
-rw-r--r--pkgs/development/tools/misc/tokei/default.nix1
-rw-r--r--pkgs/development/tools/mysql-shell/default.nix6
-rw-r--r--pkgs/development/tools/ocaml/dune/3.nix4
-rw-r--r--pkgs/development/tools/open-policy-agent/default.nix4
-rw-r--r--pkgs/development/tools/pscale/default.nix6
-rw-r--r--pkgs/development/tools/rubyfmt/0001-cargo-lock-update-version.patch25
-rw-r--r--pkgs/development/tools/rubyfmt/0002-remove-dependency-on-git.patch62
-rw-r--r--pkgs/development/tools/rubyfmt/default.nix78
-rw-r--r--pkgs/development/tools/ruff/Cargo.lock492
-rw-r--r--pkgs/development/tools/ruff/default.nix5
-rw-r--r--pkgs/development/tools/rust/cargo-all-features/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-deny/default.nix22
-rw-r--r--pkgs/development/tools/rust/cargo-guppy/default.nix8
-rw-r--r--pkgs/development/tools/rust/cargo-hakari/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-llvm-cov/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-llvm-lines/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-nextest/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-shuttle/Cargo.lock532
-rw-r--r--pkgs/development/tools/rust/cargo-shuttle/default.nix4
-rw-r--r--pkgs/development/tools/rust/cargo-zigbuild/default.nix6
-rw-r--r--pkgs/development/tools/rust/probe-run/default.nix6
-rw-r--r--pkgs/development/tools/rust/rustycli/default.nix33
-rw-r--r--pkgs/development/tools/rust/specr-transpile/default.nix23
-rw-r--r--pkgs/development/tools/selenium/chromedriver/default.nix3
-rw-r--r--pkgs/development/tools/supabase-cli/default.nix6
-rw-r--r--pkgs/development/tools/typos/default.nix6
-rw-r--r--pkgs/development/web/bun/default.nix10
-rw-r--r--pkgs/development/web/cypress/default.nix4
-rw-r--r--pkgs/development/web/edge-runtime/default.nix6
-rw-r--r--pkgs/development/web/mailcatcher/Gemfile.lock144
-rw-r--r--pkgs/development/web/mailcatcher/default.nix3
-rw-r--r--pkgs/development/web/mailcatcher/gemset.nix591
-rw-r--r--pkgs/development/web/minify/default.nix9
-rw-r--r--pkgs/development/web/minify/update-go-version-mod.patch12
-rw-r--r--pkgs/development/web/pnpm-lock-export/default.nix10
-rw-r--r--pkgs/development/web/pnpm-lock-export/package-lock.json3434
-rwxr-xr-xpkgs/development/web/pnpm-lock-export/update.sh15
-rw-r--r--pkgs/development/web/twitter-bootstrap/default.nix21
-rw-r--r--pkgs/games/aaaaxy/default.nix6
-rw-r--r--pkgs/games/ferium/default.nix2
-rw-r--r--pkgs/games/forge-mtg/default.nix3
-rw-r--r--pkgs/games/freeciv/default.nix7
-rw-r--r--pkgs/games/gnubg/default.nix23
-rw-r--r--pkgs/games/hmcl/default.nix97
-rw-r--r--pkgs/games/jfsw/default.nix57
-rw-r--r--pkgs/games/opendungeons/default.nix54
-rw-r--r--pkgs/games/stuntrally/default.nix6
-rw-r--r--pkgs/games/unciv/default.nix4
-rw-r--r--pkgs/misc/fastly/default.nix6
-rw-r--r--pkgs/misc/uboot/0001-rpi-Copy-properties-from-firmware-dtb-to-the-loaded-.patch92
-rw-r--r--pkgs/misc/uboot/default.nix14
-rw-r--r--pkgs/os-specific/bsd/netbsd/default.nix2
-rw-r--r--pkgs/os-specific/darwin/airbuddy/default.nix4
-rw-r--r--pkgs/os-specific/darwin/apple-sdk-11.0/private-frameworks.nix7
-rw-r--r--pkgs/os-specific/darwin/sketchybar/default.nix43
-rw-r--r--pkgs/os-specific/darwin/skhd/default.nix36
-rw-r--r--pkgs/os-specific/linux/below/default.nix1
-rw-r--r--pkgs/os-specific/linux/iio-sensor-proxy/default.nix59
-rw-r--r--pkgs/os-specific/linux/kernel/common-config.nix2
-rw-r--r--pkgs/os-specific/linux/kernel/hardened/patches.json60
-rw-r--r--pkgs/os-specific/linux/kernel/linux-5.10.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-5.15.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-5.4.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-6.1.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-6.4.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-testing.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/xanmod-kernels.nix8
-rw-r--r--pkgs/os-specific/linux/kernel/zen-kernels.nix8
-rw-r--r--pkgs/os-specific/linux/ksmbd-tools/default.nix4
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/default.nix6
-rw-r--r--pkgs/os-specific/linux/rdma-core/default.nix52
-rw-r--r--pkgs/os-specific/linux/rtl8812au/default.nix6
-rw-r--r--pkgs/os-specific/linux/rtl88x2bu/default.nix8
-rw-r--r--pkgs/os-specific/linux/systemd/default.nix19
-rw-r--r--pkgs/os-specific/linux/udisks/2-default.nix5
-rw-r--r--pkgs/os-specific/linux/uhk-agent/default.nix4
-rw-r--r--pkgs/servers/adguardhome/bins.nix28
-rw-r--r--pkgs/servers/adguardhome/default.nix2
-rw-r--r--pkgs/servers/audiobookshelf/default.nix11
-rw-r--r--pkgs/servers/bazarr/default.nix4
-rw-r--r--pkgs/servers/code-server/default.nix9
-rw-r--r--pkgs/servers/consul/default.nix1
-rw-r--r--pkgs/servers/dns/acme-dns/default.nix1
-rw-r--r--pkgs/servers/heisenbridge/default.nix4
-rw-r--r--pkgs/servers/home-assistant/component-packages.nix139
-rw-r--r--pkgs/servers/home-assistant/default.nix23
-rw-r--r--pkgs/servers/home-assistant/frontend.nix4
-rw-r--r--pkgs/servers/home-assistant/intents.nix23
-rw-r--r--pkgs/servers/home-assistant/stubs.nix4
-rw-r--r--pkgs/servers/home-assistant/tests.nix10
-rw-r--r--pkgs/servers/http/envoy/default.nix10
-rw-r--r--pkgs/servers/http/nginx/generic.nix2
-rw-r--r--pkgs/servers/kanidm/default.nix33
-rw-r--r--pkgs/servers/keycloak/keycloak-metrics-spi/default.nix21
-rw-r--r--pkgs/servers/keycloak/scim-for-keycloak/default.nix4
-rw-r--r--pkgs/servers/keycloak/scim-keycloak-user-storage-spi/default.nix12
-rw-r--r--pkgs/servers/ldap/389/default.nix6
-rw-r--r--pkgs/servers/ldap/lldap/default.nix1
-rw-r--r--pkgs/servers/mail/stalwart/Cargo.lock68
-rw-r--r--pkgs/servers/mail/stalwart/default.nix9
-rw-r--r--pkgs/servers/mastodon/source.nix4
-rw-r--r--pkgs/servers/mastodon/version.nix2
-rw-r--r--pkgs/servers/matrix-synapse/default.nix6
-rw-r--r--pkgs/servers/matrix-synapse/matrix-appservice-irc/default.nix72
-rw-r--r--pkgs/servers/matrix-synapse/matrix-appservice-slack/package.json7
-rw-r--r--pkgs/servers/matrix-synapse/matrix-appservice-slack/pin.json6
-rw-r--r--pkgs/servers/matrix-synapse/matrix-hookshot/package.json4
-rw-r--r--pkgs/servers/matrix-synapse/matrix-hookshot/pin.json8
-rw-r--r--pkgs/servers/matrix-synapse/plugins/default.nix1
-rw-r--r--pkgs/servers/matrix-synapse/plugins/s3-storage-provider.nix33
-rw-r--r--pkgs/servers/matrix-synapse/sliding-sync/default.nix4
-rw-r--r--pkgs/servers/misc/irrd/default.nix159
-rw-r--r--pkgs/servers/misc/irrd/irrd-asgiref-3.8.0.diff51
-rw-r--r--pkgs/servers/misc/oven-media-engine/default.nix4
-rw-r--r--pkgs/servers/monitoring/cadvisor/default.nix12
-rw-r--r--pkgs/servers/monitoring/grafana-agent/default.nix1
-rw-r--r--pkgs/servers/monitoring/grafana/default.nix8
-rw-r--r--pkgs/servers/monitoring/karma/default.nix63
-rwxr-xr-xpkgs/servers/monitoring/karma/generate-dependencies.sh30
-rw-r--r--pkgs/servers/monitoring/karma/node-composition.nix17
-rw-r--r--pkgs/servers/monitoring/karma/node-env.nix686
-rw-r--r--pkgs/servers/monitoring/karma/node-packages.nix21059
-rw-r--r--pkgs/servers/monitoring/karma/package.json138
-rw-r--r--pkgs/servers/monitoring/prometheus/default.nix8
-rw-r--r--pkgs/servers/monitoring/prometheus/sachet.nix6
-rw-r--r--pkgs/servers/monitoring/prometheus/varnish-exporter.nix2
-rw-r--r--pkgs/servers/nosql/ferretdb/default.nix4
-rw-r--r--pkgs/servers/nosql/mongodb/mongodb.nix3
-rw-r--r--pkgs/servers/openvscode-server/default.nix1
-rw-r--r--pkgs/servers/owncast/default.nix46
-rw-r--r--pkgs/servers/pocketbase/default.nix4
-rw-r--r--pkgs/servers/polaris/Cargo.lock2497
-rw-r--r--pkgs/servers/polaris/default.nix30
-rwxr-xr-xpkgs/servers/polaris/update.sh18
-rw-r--r--pkgs/servers/pufferpanel/default.nix1
-rw-r--r--pkgs/servers/samba/4.x.nix4
-rw-r--r--pkgs/servers/samba/build-find-pre-built-heimdal-build-tools-in-case-of-.patch40
-rw-r--r--pkgs/servers/search/manticoresearch/default.nix47
-rw-r--r--pkgs/servers/search/weaviate/default.nix6
-rw-r--r--pkgs/servers/spicedb/zed.nix6
-rw-r--r--pkgs/servers/sql/cockroachdb/cockroachdb-bin.nix42
-rw-r--r--pkgs/servers/sql/dolt/default.nix6
-rw-r--r--pkgs/servers/sql/pgcat/default.nix50
-rw-r--r--pkgs/servers/sql/postgresql/ext/plv8/default.nix2
-rw-r--r--pkgs/servers/sql/proxysql/default.nix24
-rw-r--r--pkgs/servers/static-web-server/default.nix6
-rw-r--r--pkgs/servers/uwsgi/default.nix186
-rw-r--r--pkgs/servers/uxplay/default.nix20
-rw-r--r--pkgs/servers/web-apps/hedgedoc/default.nix15
-rw-r--r--pkgs/servers/web-apps/kavita/default.nix1
-rw-r--r--pkgs/servers/web-apps/shiori/default.nix6
-rw-r--r--pkgs/servers/wishlist/default.nix6
-rw-r--r--pkgs/servers/x11/xorg/overrides.nix10
-rw-r--r--pkgs/shells/carapace/default.nix6
-rw-r--r--pkgs/shells/nix-your-shell/default.nix6
-rw-r--r--pkgs/shells/nushell/default.nix6
-rw-r--r--pkgs/shells/nushell/nu_scripts/default.nix6
-rw-r--r--pkgs/shells/nushell/plugins/gstat.nix4
-rw-r--r--pkgs/shells/nushell/plugins/query.nix4
-rw-r--r--pkgs/shells/rc-9front/default.nix14
-rw-r--r--pkgs/shells/zsh/zsh-history-substring-search/default.nix4
-rw-r--r--pkgs/tools/X11/kdocker/default.nix54
-rw-r--r--pkgs/tools/X11/pmenu/default.nix20
-rw-r--r--pkgs/tools/admin/aliyun-cli/default.nix4
-rw-r--r--pkgs/tools/admin/aws-sso-cli/default.nix4
-rw-r--r--pkgs/tools/admin/awscli2/default.nix4
-rw-r--r--pkgs/tools/admin/copilot-cli/default.nix6
-rw-r--r--pkgs/tools/admin/credhub-cli/default.nix4
-rw-r--r--pkgs/tools/admin/docker-credential-helpers/default.nix6
-rw-r--r--pkgs/tools/admin/drawterm/default.nix12
-rw-r--r--pkgs/tools/admin/fits-cloudctl/default.nix6
-rw-r--r--pkgs/tools/admin/oxidized/default.nix2
-rw-r--r--pkgs/tools/admin/qovery-cli/default.nix8
-rw-r--r--pkgs/tools/admin/trivy/default.nix8
-rw-r--r--pkgs/tools/admin/wander/default.nix4
-rw-r--r--pkgs/tools/audio/piper/default.nix28
-rw-r--r--pkgs/tools/audio/piper/fix-compilation-with-newer-onnxruntime.patch18
-rw-r--r--pkgs/tools/audio/piper/train.nix (renamed from pkgs/development/python-modules/piper-train/default.nix)44
-rw-r--r--pkgs/tools/audio/wyoming/faster-whisper-entrypoint.patch17
-rw-r--r--pkgs/tools/audio/wyoming/faster-whisper.nix4
-rw-r--r--pkgs/tools/audio/wyoming/piper-entrypoint.patch20
-rw-r--r--pkgs/tools/audio/wyoming/piper.nix4
-rw-r--r--pkgs/tools/backup/restic/0001-Skip-testing-restore-with-permission-failure.patch16
-rw-r--r--pkgs/tools/backup/restic/default.nix8
-rw-r--r--pkgs/tools/backup/tarsnap/default.nix1
-rw-r--r--pkgs/tools/backup/zfs-autobackup/default.nix30
-rw-r--r--pkgs/tools/bluetooth/blueman/default.nix4
-rw-r--r--pkgs/tools/filesystems/squashfuse/default.nix4
-rw-r--r--pkgs/tools/filesystems/stratisd/Cargo.lock339
-rw-r--r--pkgs/tools/filesystems/stratisd/default.nix8
-rw-r--r--pkgs/tools/games/dualsensectl/default.nix4
-rw-r--r--pkgs/tools/games/slipstream/default.nix5
-rw-r--r--pkgs/tools/inputmethods/fcitx5/fcitx5-qt.nix2
-rw-r--r--pkgs/tools/misc/alt-server/default.nix41
-rw-r--r--pkgs/tools/misc/bat/default.nix3
-rw-r--r--pkgs/tools/misc/bdf2psf/default.nix4
-rw-r--r--pkgs/tools/misc/chezmoi/default.nix6
-rw-r--r--pkgs/tools/misc/clipboard-jh/default.nix6
-rw-r--r--pkgs/tools/misc/coreboot-utils/default.nix1
-rw-r--r--pkgs/tools/misc/diffoscope/default.nix4
-rw-r--r--pkgs/tools/misc/direnv/default.nix1
-rw-r--r--pkgs/tools/misc/engage/default.nix17
-rw-r--r--pkgs/tools/misc/farge/default.nix57
-rw-r--r--pkgs/tools/misc/fastfetch/default.nix123
-rw-r--r--pkgs/tools/misc/file/default.nix1
-rw-r--r--pkgs/tools/misc/fluent-bit/default.nix34
-rw-r--r--pkgs/tools/misc/fw/default.nix28
-rw-r--r--pkgs/tools/misc/fwup/default.nix4
-rw-r--r--pkgs/tools/misc/gh-dash/default.nix8
-rw-r--r--pkgs/tools/misc/goose/default.nix6
-rw-r--r--pkgs/tools/misc/hwatch/default.nix5
-rw-r--r--pkgs/tools/misc/killport/default.nix6
-rw-r--r--pkgs/tools/misc/license-cli/default.nix6
-rw-r--r--pkgs/tools/misc/melody/default.nix6
-rw-r--r--pkgs/tools/misc/nurl/default.nix1
-rw-r--r--pkgs/tools/misc/ollama/default.nix35
-rw-r--r--pkgs/tools/misc/phrase-cli/default.nix6
-rw-r--r--pkgs/tools/misc/sagoin/default.nix6
-rw-r--r--pkgs/tools/misc/shadowenv/Cargo.lock.patch13
-rw-r--r--pkgs/tools/misc/shadowenv/default.nix8
-rw-r--r--pkgs/tools/misc/spigot/default.nix30
-rw-r--r--pkgs/tools/misc/starship/default.nix6
-rw-r--r--pkgs/tools/misc/twspace-crawler/default.nix8
-rw-r--r--pkgs/tools/misc/urn-timer/default.nix10
-rw-r--r--pkgs/tools/misc/vector/default.nix1
-rw-r--r--pkgs/tools/misc/vtm/default.nix4
-rw-r--r--pkgs/tools/misc/xvfb-run/default.nix1
-rw-r--r--pkgs/tools/misc/yt-dlp/default.nix1
-rw-r--r--pkgs/tools/networking/airgeddon/default.nix2
-rw-r--r--pkgs/tools/networking/amass/default.nix6
-rw-r--r--pkgs/tools/networking/clash-meta/default.nix1
-rw-r--r--pkgs/tools/networking/clash/default.nix1
-rw-r--r--pkgs/tools/networking/dae/default.nix8
-rw-r--r--pkgs/tools/networking/ddns-go/default.nix32
-rw-r--r--pkgs/tools/networking/dhcp/default.nix102
-rw-r--r--pkgs/tools/networking/dhcp/set-hostname.patch12
-rw-r--r--pkgs/tools/networking/dnsproxy/default.nix4
-rw-r--r--pkgs/tools/networking/frp/default.nix6
-rw-r--r--pkgs/tools/networking/gping/default.nix13
-rw-r--r--pkgs/tools/networking/gvproxy/default.nix4
-rw-r--r--pkgs/tools/networking/haproxy/default.nix41
-rw-r--r--pkgs/tools/networking/juicity/default.nix46
-rw-r--r--pkgs/tools/networking/kapp/default.nix4
-rw-r--r--pkgs/tools/networking/lftp/default.nix5
-rw-r--r--pkgs/tools/networking/minio-client/default.nix6
-rw-r--r--pkgs/tools/networking/ntp/default.nix13
-rw-r--r--pkgs/tools/networking/ntp/glibc-2.34-fix.patch28
-rw-r--r--pkgs/tools/networking/pgrok/default.nix41
-rw-r--r--pkgs/tools/networking/proxify/default.nix6
-rw-r--r--pkgs/tools/networking/sing-box/default.nix6
-rw-r--r--pkgs/tools/networking/sitespeed-io/default.nix1
-rw-r--r--pkgs/tools/networking/subfinder/default.nix6
-rw-r--r--pkgs/tools/networking/vegeta/default.nix6
-rw-r--r--pkgs/tools/networking/wgautomesh/default.nix1
-rw-r--r--pkgs/tools/networking/zap/default.nix4
-rw-r--r--pkgs/tools/nix/nixdoc/default.nix10
-rw-r--r--pkgs/tools/package-management/harmonia/default.nix1
-rw-r--r--pkgs/tools/package-management/nix-update/default.nix4
-rw-r--r--pkgs/tools/package-management/nix/common.nix1
-rw-r--r--pkgs/tools/security/cryptomator/default.nix1
-rw-r--r--pkgs/tools/security/dnsrecon/default.nix10
-rw-r--r--pkgs/tools/security/doppler/default.nix4
-rw-r--r--pkgs/tools/security/exploitdb/default.nix4
-rw-r--r--pkgs/tools/security/fulcio/default.nix6
-rw-r--r--pkgs/tools/security/gopass/default.nix6
-rw-r--r--pkgs/tools/security/grype/default.nix17
-rw-r--r--pkgs/tools/security/jd-cli/default.nix5
-rw-r--r--pkgs/tools/security/libmodsecurity/default.nix4
-rw-r--r--pkgs/tools/security/metasploit/Gemfile2
-rw-r--r--pkgs/tools/security/metasploit/Gemfile.lock34
-rw-r--r--pkgs/tools/security/metasploit/default.nix4
-rw-r--r--pkgs/tools/security/metasploit/gemset.nix58
-rw-r--r--pkgs/tools/security/nuclei/default.nix6
-rw-r--r--pkgs/tools/security/osv-scanner/default.nix6
-rw-r--r--pkgs/tools/security/proxmark3/default.nix131
-rw-r--r--pkgs/tools/security/proxmark3/proxmark3-rrg.nix86
-rw-r--r--pkgs/tools/security/semgrep/common.nix14
-rw-r--r--pkgs/tools/security/semgrep/default.nix4
-rw-r--r--pkgs/tools/security/semgrep/semgrep-core.nix2
-rwxr-xr-xpkgs/tools/security/semgrep/update.sh5
-rw-r--r--pkgs/tools/security/sequoia-sq/default.nix6
-rw-r--r--pkgs/tools/security/solo2-cli/default.nix3
-rw-r--r--pkgs/tools/security/spectre-meltdown-checker/default.nix34
-rw-r--r--pkgs/tools/security/spire/default.nix6
-rw-r--r--pkgs/tools/security/terrascan/default.nix6
-rw-r--r--pkgs/tools/security/tor/default.nix4
-rw-r--r--pkgs/tools/security/trufflehog/default.nix6
-rw-r--r--pkgs/tools/security/vals/default.nix4
-rw-r--r--pkgs/tools/system/amdgpu_top/Cargo.lock242
-rw-r--r--pkgs/tools/system/amdgpu_top/default.nix9
-rw-r--r--pkgs/tools/system/auto-cpufreq/default.nix1
-rw-r--r--pkgs/tools/system/gtop/default.nix27
-rw-r--r--pkgs/tools/system/htop/default.nix1
-rw-r--r--pkgs/tools/system/kanata/default.nix7
-rw-r--r--pkgs/tools/system/osquery/default.nix4
-rw-r--r--pkgs/tools/system/stacer/default.nix49
-rw-r--r--pkgs/tools/system/zx/default.nix25
-rw-r--r--pkgs/tools/text/base16384/default.nix4
-rw-r--r--pkgs/tools/text/chroma/default.nix4
-rw-r--r--pkgs/tools/text/chroma/src.json8
-rw-r--r--pkgs/tools/text/d2/default.nix4
-rw-r--r--pkgs/tools/text/languagetool-rust/default.nix35
-rw-r--r--pkgs/tools/text/mdbook-toc/default.nix6
-rw-r--r--pkgs/tools/text/tesh/default.nix26
-rw-r--r--pkgs/tools/text/to-html/default.nix30
-rw-r--r--pkgs/tools/typesetting/bibtex-tidy/default.nix35
-rw-r--r--pkgs/tools/typesetting/bibtex-tidy/remove-google-font-loader.patch52
-rw-r--r--pkgs/tools/typesetting/tex/texlive/bin.nix9
-rw-r--r--pkgs/tools/typesetting/tex/texlive/fix-implicit-int.patch22
-rw-r--r--pkgs/tools/virtualization/cloud-init/default.nix4
-rw-r--r--pkgs/tools/virtualization/google-guest-agent/default.nix8
-rw-r--r--pkgs/tools/virtualization/kubevirt/default.nix4
-rw-r--r--pkgs/tools/wayland/clapboard/default.nix26
-rw-r--r--pkgs/top-level/aliases.nix7
-rw-r--r--pkgs/top-level/all-packages.nix192
-rw-r--r--pkgs/top-level/coq-packages.nix5
-rw-r--r--pkgs/top-level/nim-packages.nix2
-rw-r--r--pkgs/top-level/ocaml-packages.nix5
-rw-r--r--pkgs/top-level/perl-packages.nix3
-rw-r--r--pkgs/top-level/python-aliases.nix1
-rw-r--r--pkgs/top-level/python-packages.nix29
-rw-r--r--pkgs/top-level/release-small.nix1
-rw-r--r--pkgs/top-level/release.nix2
-rw-r--r--pkgs/top-level/ruby-packages.nix200
914 files changed, 27317 insertions, 38525 deletions
diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
index c15fccd28f812..98a7022088eb2 100644
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -231,11 +231,6 @@ pkgs/development/python-modules/buildcatrust/ @ajs124 @lukegb @mweinelt
 # VsCode Extensions
 /pkgs/applications/editors/vscode/extensions   @jonringer
 
-# Prometheus exporter modules and tests
-/nixos/modules/services/monitoring/prometheus/exporters.nix  @WilliButz
-/nixos/modules/services/monitoring/prometheus/exporters.xml  @WilliButz
-/nixos/tests/prometheus-exporters.nix                        @WilliButz
-
 # PHP interpreter, packages, extensions, tests and documentation
 /doc/languages-frameworks/php.section.md          @aanderse @drupol @etu @globin @ma27 @talyz
 /nixos/tests/php                                  @aanderse @drupol @etu @globin @ma27 @talyz
diff --git a/doc/contributing/contributing-to-documentation.chapter.md b/doc/contributing/contributing-to-documentation.chapter.md
index 0b7b49bf7dda1..557473555f8ab 100644
--- a/doc/contributing/contributing-to-documentation.chapter.md
+++ b/doc/contributing/contributing-to-documentation.chapter.md
@@ -1,24 +1,12 @@
 # Contributing to this documentation {#chap-contributing}
 
-The sources of the Nixpkgs manual are in the [doc](https://github.com/NixOS/nixpkgs/tree/master/doc) subdirectory of the Nixpkgs repository. The manual is still partially written in DocBook but it is progressively being converted to [Markdown](#sec-contributing-markup).
+The sources of the Nixpkgs manual are in the [doc](https://github.com/NixOS/nixpkgs/tree/master/doc) subdirectory of the Nixpkgs repository.
 
-You can quickly check your edits with `make`:
+You can quickly check your edits with `nix-build`:
 
 ```ShellSession
-$ cd /path/to/nixpkgs/doc
-$ nix-shell
-[nix-shell]$ make
-```
-
-If you experience problems, run `make debug` to help understand the docbook errors.
-
-After making modifications to the manual, it's important to build it before committing. You can do that as follows:
-
-```ShellSession
-$ cd /path/to/nixpkgs/doc
-$ nix-shell
-[nix-shell]$ make clean
-[nix-shell]$ nix-build .
+$ cd /path/to/nixpkgs
+$ nix-build doc
 ```
 
 If the build succeeds, the manual will be in `./result/share/doc/nixpkgs/manual.html`.
@@ -122,5 +110,3 @@ Additional syntax extensions are available, all of which can be used in NixOS op
   >
   > watermelon
   > :   green fruit with red flesh
-
-For contributing to the legacy parts, please see [DocBook: The Definitive Guide](https://tdg.docbook.org/) or the [DocBook rocks! primer](https://web.archive.org/web/20200816233747/https://docbook.rocks/).
diff --git a/doc/hooks/index.md b/doc/hooks/index.md
index c1e86a3033073..602febaf9d9ba 100644
--- a/doc/hooks/index.md
+++ b/doc/hooks/index.md
@@ -29,5 +29,6 @@ tetex-tex-live.section.md
 unzip.section.md
 validatePkgConfig.section.md
 waf.section.md
+zig.section.md
 xcbuild.section.md
 ```
diff --git a/doc/hooks/zig.section.md b/doc/hooks/zig.section.md
new file mode 100644
index 0000000000000..78b8262f4749d
--- /dev/null
+++ b/doc/hooks/zig.section.md
@@ -0,0 +1,59 @@
+# zigHook {#zighook}
+
+[Zig](https://ziglang.org/) is a general-purpose programming language and toolchain for maintaining robust, optimal and reusable software.
+
+In Nixpkgs, `zigHook` overrides the default build, check and install phases.
+
+## Example code snippet {#example-code-snippet}
+
+```nix
+{ lib
+, stdenv
+, zigHook
+}:
+
+stdenv.mkDerivation {
+  # . . .
+
+  nativeBuildInputs = [
+    zigHook
+  ];
+
+  zigBuildFlags = [ "-Dman-pages=true" ];
+
+  dontUseZigCheck = true;
+
+  # . . .
+}
+```
+
+## Variables controlling zigHook {#variables-controlling-zighook}
+
+### `dontUseZigBuild` {#dontUseZigBuild}
+
+Disables using `zigBuildPhase`.
+
+### `zigBuildFlags` {#zigBuildFlags}
+
+Controls the flags passed to the build phase.
+
+### `dontUseZigCheck` {#dontUseZigCheck}
+
+Disables using `zigCheckPhase`.
+
+### `zigCheckFlags` {#zigCheckFlags}
+
+Controls the flags passed to the check phase.
+
+### `dontUseZigInstall` {#dontUseZigInstall}
+
+Disables using `zigInstallPhase`.
+
+### `zigInstallFlags` {#zigInstallFlags}
+
+Controls the flags passed to the install phase.
+
+### Variables honored by zigHook {#variablesHonoredByZigHook}
+
+- `prefixKey`
+- `dontAddPrefix`
diff --git a/doc/languages-frameworks/maven.section.md b/doc/languages-frameworks/maven.section.md
index 3b5e2e14ee644..7e287a097c7e0 100644
--- a/doc/languages-frameworks/maven.section.md
+++ b/doc/languages-frameworks/maven.section.md
@@ -4,6 +4,87 @@ Maven is a well-known build tool for the Java ecosystem however it has some chal
 
 The following provides a list of common patterns with how to package a Maven project (or any JVM language that can export to Maven) as a Nix package.
 
+## Building a package using `maven.buildMavenPackage` {#maven-buildmavenpackage}
+
+Consider the following package:
+
+```nix
+{ lib, fetchFromGitHub, jre, makeWrapper, maven }:
+
+maven.buildMavenPackage rec {
+  pname = "jd-cli";
+  version = "1.2.1";
+
+  src = fetchFromGitHub {
+    owner = "intoolswetrust";
+    repo = pname;
+    rev = "${pname}-${version}";
+    hash = "sha256-rRttA5H0A0c44loBzbKH7Waoted3IsOgxGCD2VM0U/Q=";
+  };
+
+  mvnHash = "sha256-kLpjMj05uC94/5vGMwMlFzLKNFOKeyNvq/vmB6pHTAo=";
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  installPhase = ''
+    mkdir -p $out/bin $out/share/jd-cli
+    install -Dm644 jd-cli/target/jd-cli.jar $out/share/jd-cli
+
+    makeWrapper ${jre}/bin/java $out/bin/jd-cli \
+      --add-flags "-jar $out/share/jd-cli/jd-cli.jar"
+  '';
+
+  meta = with lib; {
+    description = "Simple command line wrapper around JD Core Java Decompiler project";
+    homepage = "https://github.com/intoolswetrust/jd-cli";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ majiir ];
+  };
+}:
+```
+
+This package calls `maven.buildMavenPackage` to do its work. The primary difference from `stdenv.mkDerivation` is the `mvnHash` variable, which is a hash of all of the Maven dependencies.
+
+::: {.tip}
+After setting `maven.buildMavenPackage`, we then do standard Java `.jar` installation by saving the `.jar` to `$out/share/java` and then making a wrapper which allows executing that file; see [](#sec-language-java) for additional generic information about packaging Java applications.
+:::
+
+### Stable Maven plugins {#stable-maven-plugins}
+
+Maven defines default versions for its core plugins, e.g. `maven-compiler-plugin`. If your project does not override these versions, an upgrade of Maven will change the version of the used plugins, and therefore the derivation and hash.
+
+When `maven` is upgraded, `mvnHash` for the derivation must be updated as well: otherwise, the project will simply be built on the derivation of old plugins, and fail because the requested plugins are missing.
+
+This clearly prevents automatic upgrades of Maven: a manual effort must be made throughout nixpkgs by any maintainer wishing to push the upgrades.
+
+To make sure that your package does not add extra manual effort when upgrading Maven, explicitly define versions for all plugins. You can check if this is the case by adding the following plugin to your (parent) POM:
+
+```xml
+<plugin>
+  <groupId>org.apache.maven.plugins</groupId>
+  <artifactId>maven-enforcer-plugin</artifactId>
+  <version>3.3.0</version>
+  <executions>
+    <execution>
+      <id>enforce-plugin-versions</id>
+      <goals>
+        <goal>enforce</goal>
+      </goals>
+      <configuration>
+        <rules>
+          <requirePluginVersions />
+        </rules>
+      </configuration>
+    </execution>
+  </executions>
+</plugin>
+```
+
+## Manually using `mvn2nix` {#maven-mvn2nix}
+::: {.warning}
+This way is no longer recommended; see [](#maven-buildmavenpackage) for the simpler and preferred way.
+:::
+
 For the purposes of this example let's consider a very basic Maven project with the following `pom.xml` with a single dependency on [emoji-java](https://github.com/vdurmont/emoji-java).
 
 ```xml
@@ -41,14 +122,11 @@ public class Main {
 }
 ```
 
-You find this demo project at https://github.com/fzakaria/nixos-maven-example
-
-## Solving for dependencies {#solving-for-dependencies}
+You find this demo project at [https://github.com/fzakaria/nixos-maven-example](https://github.com/fzakaria/nixos-maven-example).
 
-### buildMaven with NixOS/mvn2nix-maven-plugin {#buildmaven-with-nixosmvn2nix-maven-plugin}
-
-> ⚠️ Although `buildMaven` is the "blessed" way within nixpkgs, as of 2020, it hasn't seen much activity in quite a while.
+### Solving for dependencies {#solving-for-dependencies}
 
+#### buildMaven with NixOS/mvn2nix-maven-plugin {#buildmaven-with-nixosmvn2nix-maven-plugin}
 `buildMaven` is an alternative method that tries to follow similar patterns of other programming languages by generating a lock file. It relies on the maven plugin [mvn2nix-maven-plugin](https://github.com/NixOS/mvn2nix-maven-plugin).
 
 First you generate a `project-info.json` file using the maven plugin.
@@ -105,9 +183,10 @@ The benefit over the _double invocation_ as we will see below, is that the _/nix
 │           ├── avalon-framework-4.1.3.jar -> /nix/store/iv5fp3955w3nq28ff9xfz86wvxbiw6n9-avalon-framework-4.1.3.jar
 ```
 
-### Double Invocation {#double-invocation}
-
-> ⚠️ This pattern is the simplest but may cause unnecessary rebuilds due to the output hash changing.
+#### Double Invocation {#double-invocation}
+::: {.note}
+This pattern is the simplest but may cause unnecessary rebuilds due to the output hash changing.
+:::
 
 The double invocation is a _simple_ way to get around the problem that `nix-build` may be sandboxed and have no Internet connectivity.
 
@@ -115,7 +194,9 @@ It treats the entire Maven repository as a single source to be downloaded, relyi
 
 The first step will be to build the Maven project as a fixed-output derivation in order to collect the Maven repository -- below is an [example](https://github.com/fzakaria/nixos-maven-example/blob/main/double-invocation-repository.nix).
 
-> Traditionally the Maven repository is at `~/.m2/repository`. We will override this to be the `$out` directory.
+::: {.note}
+Traditionally the Maven repository is at `~/.m2/repository`. We will override this to be the `$out` directory.
+:::
 
 ```nix
 { lib, stdenv, maven }:
@@ -147,7 +228,9 @@ stdenv.mkDerivation {
 
 The build will fail, and tell you the expected `outputHash` to place. When you've set the hash, the build will return with a `/nix/store` entry whose contents are the full Maven repository.
 
-> Some additional files are deleted that would cause the output hash to change potentially on subsequent runs.
+::: {.warning}
+Some additional files are deleted that would cause the output hash to change potentially on subsequent runs.
+:::
 
 ```bash
 ❯ tree $(nix-build --no-out-link double-invocation-repository.nix) | head
@@ -165,40 +248,7 @@ The build will fail, and tell you the expected `outputHash` to place. When you'v
 
 If your package uses _SNAPSHOT_ dependencies or _version ranges_; there is a strong likelihood that over-time your output hash will change since the resolved dependencies may change. Hence this method is less recommended then using `buildMaven`.
 
-#### Stable Maven plugins {#stable-maven-plugins}
-
-Maven defines default versions for its core plugins, e.g. `maven-compiler-plugin`.
-If your project does not override these versions, an upgrade of Maven will change the version of the used plugins.
-This changes the output of the first invocation and the plugins required by the second invocation.
-However, since a hash is given for the output of the first invocation, the second invocation will simply fail
-because the requested plugins are missing.
-This will prevent automatic upgrades of Maven: the manual fix for this is to change the hash of the first invocation.
-
-To make sure that your package does not add manual effort when upgrading Maven, explicitly define versions for all
-plugins. You can check if this is the case by adding the following plugin to your (parent) POM:
-
-```xml
-<plugin>
-  <groupId>org.apache.maven.plugins</groupId>
-  <artifactId>maven-enforcer-plugin</artifactId>
-  <version>3.3.0</version>
-  <executions>
-    <execution>
-      <id>enforce-plugin-versions</id>
-      <goals>
-        <goal>enforce</goal>
-      </goals>
-      <configuration>
-        <rules>
-          <requirePluginVersions />
-        </rules>
-      </configuration>
-    </execution>
-  </executions>
-</plugin>
-```
-
-## Building a JAR {#building-a-jar}
+### Building a JAR {#building-a-jar}
 
 Regardless of which strategy is chosen above, the step to build the derivation is the same.
 
@@ -224,7 +274,9 @@ in stdenv.mkDerivation rec {
 }
 ```
 
-> We place the library in `$out/share/java` since JDK package has a _stdenv setup hook_ that adds any JARs in the `share/java` directories of the build inputs to the CLASSPATH environment.
+::: {.tip}
+We place the library in `$out/share/java` since JDK package has a _stdenv setup hook_ that adds any JARs in the `share/java` directories of the build inputs to the CLASSPATH environment.
+:::
 
 ```bash
 ❯ tree $(nix-build --no-out-link build-jar.nix)
@@ -236,7 +288,7 @@ in stdenv.mkDerivation rec {
 2 directories, 1 file
 ```
 
-## Runnable JAR {#runnable-jar}
+### Runnable JAR {#runnable-jar}
 
 The previous example builds a `jar` file but that's not a file one can run.
 
@@ -248,9 +300,9 @@ We will use the same repository we built above (either _double invocation_ or _b
 
 The following two methods are more suited to Nix then building an [UberJar](https://imagej.net/Uber-JAR) which may be the more traditional approach.
 
-### CLASSPATH {#classpath}
+#### CLASSPATH {#classpath}
 
-> This is ideal if you are providing a derivation for _nixpkgs_ and don't want to patch the project's `pom.xml`.
+This method is ideal if you are providing a derivation for _nixpkgs_ and don't want to patch the project's `pom.xml`.
 
 We will read the Maven repository and flatten it to a single list. This list will then be concatenated with the _CLASSPATH_ separator to create the full classpath.
 
@@ -288,9 +340,9 @@ in stdenv.mkDerivation rec {
 }
 ```
 
-### MANIFEST file via Maven Plugin {#manifest-file-via-maven-plugin}
+#### MANIFEST file via Maven Plugin {#manifest-file-via-maven-plugin}
 
-> This is ideal if you are the project owner and want to change your `pom.xml` to set the CLASSPATH within it.
+This method is ideal if you are the project owner and want to change your `pom.xml` to set the CLASSPATH within it.
 
 Augment the `pom.xml` to create a JAR with the following manifest:
 
@@ -366,8 +418,9 @@ in stdenv.mkDerivation rec {
   '';
 }
 ```
-
-> Our script produces a dependency on `jre` rather than `jdk` to restrict the runtime closure necessary to run the application.
+::: {.note}
+Our script produces a dependency on `jre` rather than `jdk` to restrict the runtime closure necessary to run the application.
+:::
 
 This will give you an executable shell-script that launches your JAR with all the dependencies available.
 
diff --git a/lib/meta.nix b/lib/meta.nix
index 5fd55c4e90d69..d32a37fe61d72 100644
--- a/lib/meta.nix
+++ b/lib/meta.nix
@@ -144,5 +144,9 @@ rec {
        => "/nix/store/am9ml4f4ywvivxnkiaqwr0hyxka1xjsf-mustache-go-1.3.0/bin/mustache"
   */
   getExe = x:
-    "${lib.getBin x}/bin/${x.meta.mainProgram or (lib.getName x)}";
+    "${lib.getBin x}/bin/${x.meta.mainProgram or (
+      # This could be turned into an error when 23.05 is at end of life
+      lib.warn "getExe: Package ${lib.strings.escapeNixIdentifier x.meta.name or x.pname or x.name} does not have the meta.mainProgram attribute. We'll assume that the main program has the same name for now, but this behavior is deprecated, because it leads to surprising errors when the assumption does not hold. If the package has a main program, please set `meta.mainProgram` in its definition to make this warning go away. Otherwise, if the package does not have a main program, or if you don't control its definition, specify the full path to the program, such as \"\${lib.getBin foo}/bin/bar\"."
+      lib.getName x
+    )}";
 }
diff --git a/lib/tests/modules.sh b/lib/tests/modules.sh
index 4adbd69effbb8..b933a24a57a12 100755
--- a/lib/tests/modules.sh
+++ b/lib/tests/modules.sh
@@ -69,6 +69,28 @@ checkConfigOutput '^"one two"$' config.result ./shorthand-meta.nix
 
 checkConfigOutput '^true$' config.result ./test-mergeAttrDefinitionsWithPrio.nix
 
+# Check that a module argument is passed, also when a default is available
+# (but not needed)
+#
+# When the default is needed, we currently fail to do what the users expect, as
+# we pass our own argument anyway, even if it *turns out* not to exist.
+#
+# The reason for this is that we don't know at invocation time what is in the
+# _module.args option. That value is only available *after* all modules have been
+# invoked.
+#
+# Hypothetically, Nix could help support this by giving access to the default
+# values, through a new built-in function.
+# However the default values are allowed to depend on other arguments, so those
+# would have to be passed in somehow, making this not just a getter but
+# something more complicated.
+#
+# At that point we have to wonder whether the extra complexity is worth the cost.
+# Another - subjective - reason not to support it is that default values
+# contradict the notion that an option has a single value, where _module.args
+# is the option.
+checkConfigOutput '^true$' config.result ./module-argument-default.nix
+
 # types.pathInStore
 checkConfigOutput '".*/store/0lz9p8xhf89kb1c1kk6jxrzskaiygnlh-bash-5.2-p15.drv"' config.pathInStore.ok1 ./types.nix
 checkConfigOutput '".*/store/0fb3ykw9r5hpayd05sr0cizwadzq1d8q-bash-5.2-p15"' config.pathInStore.ok2 ./types.nix
diff --git a/lib/tests/modules/module-argument-default.nix b/lib/tests/modules/module-argument-default.nix
new file mode 100644
index 0000000000000..8dbb783e2df1f
--- /dev/null
+++ b/lib/tests/modules/module-argument-default.nix
@@ -0,0 +1,9 @@
+{ a ? false, lib, ... }: {
+  options = {
+    result = lib.mkOption {};
+  };
+  config = {
+    _module.args.a = true;
+    result = a;
+  };
+}
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index cc5b8172d8d79..c4247443f566a 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -418,6 +418,12 @@
     githubId = 1250775;
     name = "Adolfo E. García Castro";
   };
+  adriandole = {
+    email = "adrian@dole.tech";
+    github = "adriandole";
+    githubId = 25236206;
+    name = "Adrian Dole";
+  };
   AdsonCicilioti = {
     name = "Adson Cicilioti";
     email = "adson.cicilioti@live.com";
@@ -1154,6 +1160,9 @@
     githubId = 48802534;
     name = "Anselm Schüler";
     matrix = "@schuelermine:matrix.org";
+    keys = [{
+      fingerprint = "CDBF ECA8 36FE E340 1CEB  58FF BA34 EE1A BA3A 0955";
+    }];
   };
   anthonyroussel = {
     email = "anthony@roussel.dev";
@@ -2592,7 +2601,7 @@
   };
   cafkafk = {
     email = "christina@cafkafk.com";
-    matrix = "@cafkafk:m.cafkafk.com";
+    matrix = "@cafkafk:nixos.dev";
     name = "Christina Sørensen";
     github = "cafkafk";
     githubId = 89321978;
@@ -2601,7 +2610,7 @@
         fingerprint = "7B9E E848 D074 AE03 7A0C  651A 8ED4 DEF7 375A 30C8";
       }
       {
-        fingerprint = "208A 2A66 8A2F CDE7 B5D3 8F64 CDDC 792F 6552 51ED";
+        fingerprint = "208A 2A66 8A2F CDE7 B5D3  8F64 CDDC 792F 6552 51ED";
       }
     ];
   };
@@ -2775,6 +2784,12 @@
     githubId = 3471749;
     name = "Claudio Bley";
   };
+  cbourjau = {
+    email = "christianb@posteo.de";
+    github = "cbourjau";
+    githubId = 3288058;
+    name = "Christian Bourjau";
+  };
   cbrewster = {
     email = "cbrewster@hey.com";
     github = "cbrewster";
@@ -3909,6 +3924,12 @@
     githubId = 75067;
     name = "Daniel Duan";
   };
+  de11n = {
+    email = "nixpkgs-commits@deshaw.com";
+    github = "de11n";
+    githubId = 130508846;
+    name = "Elliot Cameron";
+  };
   dearrude = {
     name = "Ebrahim Nejati";
     email = "dearrude@tfwno.gf";
@@ -6042,6 +6063,12 @@
       fingerprint = "D0CF 440A A703 E0F9 73CB  A078 82BB 70D5 41AE 2DB4";
     }];
   };
+  gerg-l = {
+    email = "gregleyda@proton.me";
+    github = "Gerg-L";
+    githubId = 88247690;
+    name = "Greg Leyda";
+  };
   geri1701 = {
     email = "geri@sdf.org";
     github = "geri1701";
@@ -6673,6 +6700,12 @@
     githubId = 41522204;
     name = "hexchen";
   };
+  hexclover = {
+    email = "hexclover@outlook.com";
+    github = "hexclover";
+    githubId = 47456195;
+    name = "hexclover";
+  };
   heyimnova = {
     email = "git@heyimnova.dev";
     github = "heyimnova";
@@ -7166,12 +7199,6 @@
       fingerprint = "F5B2 BE1B 9AAD 98FE 2916  5597 3665 FFF7 9D38 7BAA";
     }];
   };
-  imsofi = {
-    email = "sofi+git@mailbox.org";
-    github = "imsofi";
-    githubId = 20756843;
-    name = "Sofi";
-  };
   imuli = {
     email = "i@imu.li";
     github = "imuli";
@@ -7237,6 +7264,12 @@
       fingerprint = "5CB5 9AA0 D180 1997 2FB3  E0EC 943A 1DE9 372E BE4E";
     }];
   };
+  invokes-su = {
+    email = "nixpkgs-commits@deshaw.com";
+    github = "invokes-su";
+    githubId = 88038050;
+    name = "Souvik Sen";
+  };
   ionutnechita = {
     email = "ionut_n2001@yahoo.com";
     github = "ionutnechita";
@@ -7712,6 +7745,13 @@
     githubId = 1608697;
     name = "Jens Binkert";
   };
+  jeremiahs = {
+    email = "jeremiah@secrist.xyz";
+    github = "JeremiahSecrist";
+    githubId = 26032621;
+    matrix = "@jeremiahs:matrix.org";
+    name = "Jeremiah Secrist";
+  };
   jeremyschlatter = {
     email = "github@jeremyschlatter.com";
     github = "jeremyschlatter";
@@ -8337,6 +8377,12 @@
     name = "John Soo";
     githubId = 10039785;
   };
+  jtbx = {
+    email = "jtbx@duck.com";
+    name = "Jeremy Baxter";
+    github = "jtbx";
+    githubId = 92071952;
+  };
   jtcoolen = {
     email = "jtcoolen@pm.me";
     name = "Julien Coolen";
@@ -8439,6 +8485,12 @@
     githubId = 662666;
     name = "Justinas Stankevičius";
   };
+  justinlime = {
+    email = "justinlime1999@gmail.com";
+    github = "justinlime";
+    githubId = 119710965;
+    name = "Justin Fields";
+  };
   justinlovinger = {
     email = "git@justinlovinger.com";
     github = "JustinLovinger";
@@ -8683,6 +8735,11 @@
     githubId = 762421;
     name = "Pierre Thierry";
   };
+  keto = {
+    github = "TheRealKeto";
+    githubId = 24854941;
+    name = "Keto";
+  };
   ketzacoatl = {
     email = "ketzacoatl@protonmail.com";
     github = "ketzacoatl";
@@ -8962,6 +9019,12 @@
     githubId = 3287933;
     name = "Josef Kemetmüller";
   };
+  knightpp = {
+    email = "knightpp@proton.me";
+    github = "knightpp";
+    githubId = 28928944;
+    name = "Danylo Kondratiev";
+  };
   knl = {
     email = "nikola@knezevic.co";
     github = "knl";
@@ -9017,6 +9080,12 @@
     githubId = 524268;
     name = "Koral";
   };
+  koralowiec = {
+    email = "qnlgzyrw@anonaddy.me";
+    github = "koralowiec";
+    githubId = 36413794;
+    name = "Arek Kalandyk";
+  };
   koslambrou = {
     email = "koslambrou@gmail.com";
     github = "koslambrou";
@@ -9655,6 +9724,12 @@
       fingerprint = "1763 9903 2D7C 5B82 5D5A  0EAD A2BC 3C6F 1435 1991";
     }];
   };
+  locochoco = {
+    email = "contact@locochoco.dev";
+    github = "loco-choco";
+    githubId = 58634087;
+    name = "Ivan Pancheniak";
+  };
   lodi = {
     email = "anthony.lodi@gmail.com";
     github = "lodi";
@@ -10265,6 +10340,13 @@
     githubId = 105451387;
     name = "Maria";
   };
+  marie = {
+    email = "tabmeier12+nix@gmail.com";
+    github = "nycodeghg";
+    githubId = 37078297;
+    matrix = "@marie:marie.cologne";
+    name = "Marie Ramlow";
+  };
   marijanp = {
     name = "Marijan Petričević";
     email = "marijan.petricevic94@gmail.com";
@@ -10499,6 +10581,12 @@
       fingerprint = "CAEC A12D CE23 37A6 6DFD  17B0 7AC7 631D 70D6 C898";
     }];
   };
+  max-amb = {
+    email = "maxpeterambaum@gmail.com";
+    github = "max-amb";
+    githubId = 137820334;
+    name = "Max Ambaum";
+  };
   maxbrunet = {
     email = "max@brnt.mx";
     github = "maxbrunet";
@@ -10642,12 +10730,6 @@
     githubId = 10420834;
     name = "Mihai-Drosi Caju";
   };
-  mcbeth = {
-    email = "mcbeth@broggs.org";
-    github = "mcbeth";
-    githubId = 683809;
-    name = "Jeffrey Brent McBeth";
-  };
   mccurdyc = {
     email = "mccurdyc22@gmail.com";
     github = "mccurdyc";
@@ -14464,6 +14546,15 @@
     }];
     name = "Rahul Butani";
   };
+  rs0vere = {
+    email = "rs0vere@outlook.com";
+    github = "rs0vere";
+    githubId = 140035635;
+    keys = [{
+      fingerprint = "C6D8 B5C2 FA79 901B DCCF  95E1 FEC4 5C5A ED00 C58D";
+    }];
+    name = "Red Star Over Earth";
+  };
   rski = {
     name = "rski";
     email = "rom.skiad+nix@gmail.com";
@@ -15462,6 +15553,12 @@
     githubId = 3789764;
     name = "skykanin";
   };
+  slbtty = {
+    email = "shenlebantongying@gmail.com";
+    github = "shenlebantongying";
+    githubId = 20123683;
+    name = "Shenleban Tongying";
+  };
   sleexyz = {
     email = "freshdried@gmail.com";
     github = "sleexyz";
@@ -15639,6 +15736,12 @@
     githubId = 6277322;
     name = "Wei Tang";
   };
+  soupglasses = {
+    email = "sofi+git@mailbox.org";
+    github = "soupglasses";
+    githubId = 20756843;
+    name = "Sofi";
+  };
   soywod = {
     name = "Clément DOUIN";
     email = "clement.douin@posteo.net";
@@ -18346,6 +18449,12 @@
     github = "ymeister";
     githubId = 47071325;
   };
+  yoavlavi = {
+    email = "yoav@yoavlavi.com";
+    github = "yoav-lavi";
+    githubId = 14347895;
+    name = "Yoav Lavi";
+  };
   yochai = {
     email = "yochai@titat.info";
     github = "yochai";
diff --git a/maintainers/team-list.nix b/maintainers/team-list.nix
index 5c0f0373d2062..f541d01a684bc 100644
--- a/maintainers/team-list.nix
+++ b/maintainers/team-list.nix
@@ -193,10 +193,11 @@ with lib.maintainers; {
   deshaw = {
     # Verify additions to this team with at least one already existing member of the team.
     members = [
-      limeytexan
+      de11n
+      invokes-su
     ];
     scope = "Group registration for D. E. Shaw employees who collectively maintain packages.";
-    shortName = "Shaw employees";
+    shortName = "D. E. Shaw employees";
   };
 
   determinatesystems = {
@@ -410,6 +411,14 @@ with lib.maintainers; {
     shortName = "Jitsi";
   };
 
+  jupyter = {
+    members = [
+      natsukium
+    ];
+    scope = "Maintain Jupyter and related packages.";
+    shortName = "Jupyter";
+  };
+
   kubernetes = {
     members = [
       johanot
diff --git a/nixos/doc/manual/release-notes/rl-2311.section.md b/nixos/doc/manual/release-notes/rl-2311.section.md
index 780f7b51719c1..593298af9fd13 100644
--- a/nixos/doc/manual/release-notes/rl-2311.section.md
+++ b/nixos/doc/manual/release-notes/rl-2311.section.md
@@ -22,6 +22,8 @@
 
 - [Typesense](https://github.com/typesense/typesense), a fast, typo-tolerant search engine for building delightful search experiences. Available as [services.typesense](#opt-services.typesense.enable).
 
+* [NS-USBLoader](https://github.com/developersu/ns-usbloader/), an all-in-one tool for managing Nintendo Switch homebrew. Available as [programs.ns-usbloader](#opt-programs.ns-usbloader.enable).
+
 - [Anuko Time Tracker](https://github.com/anuko/timetracker), a simple, easy to use, open source time tracking system. Available as [services.anuko-time-tracker](#opt-services.anuko-time-tracker.enable).
 
 - [sitespeed-io](https://sitespeed.io), a tool that can generate metrics (timings, diagnostics) for websites. Available as [services.sitespeed-io](#opt-services.sitespeed-io.enable).
@@ -74,6 +76,8 @@
 
 - PHP now defaults to PHP 8.2, updated from 8.1.
 
+- The ISC DHCP package and corresponding module have been removed, because they are end of life upstream. See https://www.isc.org/blogs/isc-dhcp-eol/ for details and switch to a different DHCP implementation like kea or dnsmasq.
+
 - `util-linux` is now supported on Darwin and is no longer an alias to `unixtools`. Use the `unixtools.util-linux` package for access to the Apple variants of the utilities.
 
 - `services.keyd` changed API. Now you can create multiple configuration files.
@@ -100,6 +104,8 @@
 
 - The binary of the package `cloud-sql-proxy` has changed from `cloud_sql_proxy` to `cloud-sql-proxy`.
 
+- The `woodpecker-*` CI packages have been updated to 1.0.0. This release is wildly incompatible with the 0.15.X versions that were previously packaged. Please read [upstream's documentation](https://woodpecker-ci.org/docs/next/migrations#100) to learn how to update your CI configurations.
+
 - The Caddy module gained a new option named `services.caddy.enableReload` which is enabled by default. It allows reloading the service instead of restarting it, if only a config file has changed. This option must be disabled if you have turned off the [Caddy admin API](https://caddyserver.com/docs/caddyfile/options#admin). If you keep this option enabled, you should consider setting [`grace_period`](https://caddyserver.com/docs/caddyfile/options#grace-period) to a non-infinite value to prevent Caddy from delaying the reload indefinitely.
 
 - mdraid support is now optional. This reduces initramfs size and prevents the potentially undesired automatic detection and activation of software RAID pools. It is disabled by default in new configurations (determined by `stateVersion`), but the appropriate settings will be generated by `nixos-generate-config` when installing to a software RAID device, so the standard installation procedure should be unaffected. If you have custom configs relying on mdraid, ensure that you use `stateVersion` correctly or set `boot.swraid.enable` manually.
@@ -148,6 +154,10 @@ The module update takes care of the new config syntax and the data itself (user
 
 - `wrapHelm` now exposes `passthru.pluginsDir` which can be passed to `helmfile`. For convenience, a top-level package `helmfile-wrapped` has been added, which inherits `passthru.pluginsDir` from `kubernetes-helm-wrapped`. See [#217768](https://github.com/NixOS/nixpkgs/issues/217768) for details.
 
+- `boot.initrd.network.udhcp.enable` allows control over dhcp during stage 1 regardless of what `networking.useDHCP` is set to.
+
+- Suricata was upgraded from 6.0 to 7.0 and no longer considers HTTP/2 support as experimental, see [upstream release notes](https://forum.suricata.io/t/suricata-7-0-0-released/3715) for more details.
+
 ## Nixpkgs internals {#sec-release-23.11-nixpkgs-internals}
 
 - The `qemu-vm.nix` module by default now identifies block devices via
diff --git a/nixos/lib/eval-config.nix b/nixos/lib/eval-config.nix
index e1242276a74d4..81a5ea1750dec 100644
--- a/nixos/lib/eval-config.nix
+++ b/nixos/lib/eval-config.nix
@@ -109,8 +109,10 @@ let
 
   nixosWithUserModules = noUserModules.extendModules { modules = allUserModules; };
 
+  withExtraArgs = nixosSystem: nixosSystem // {
+    inherit extraArgs;
+    inherit (nixosSystem._module.args) pkgs;
+    extendModules = args: withExtraArgs (nixosSystem.extendModules args);
+  };
 in
-withWarnings nixosWithUserModules // {
-  inherit extraArgs;
-  inherit (nixosWithUserModules._module.args) pkgs;
-}
+withWarnings (withExtraArgs nixosWithUserModules)
diff --git a/nixos/lib/test-driver/test_driver/machine.py b/nixos/lib/test-driver/test_driver/machine.py
index 789dee101f0ca..809fd690d7173 100644
--- a/nixos/lib/test-driver/test_driver/machine.py
+++ b/nixos/lib/test-driver/test_driver/machine.py
@@ -833,6 +833,9 @@ class Machine:
             # TODO: do we want to bail after a set number of attempts?
             while not shell_ready(timeout_secs=30):
                 self.log("Guest root shell did not produce any data yet...")
+                self.log(
+                    "  To debug, enter the VM and run 'systemctl status backdoor.service'."
+                )
 
             while True:
                 chunk = self.shell.recv(1024)
diff --git a/nixos/modules/i18n/input-method/fcitx5.nix b/nixos/modules/i18n/input-method/fcitx5.nix
index 7251240d26ac3..39952d6c3999e 100644
--- a/nixos/modules/i18n/input-method/fcitx5.nix
+++ b/nixos/modules/i18n/input-method/fcitx5.nix
@@ -12,12 +12,34 @@ in
     i18n.inputMethod.fcitx5 = {
       addons = mkOption {
         type = with types; listOf package;
-        default = [];
+        default = [ ];
         example = literalExpression "with pkgs; [ fcitx5-rime ]";
         description = lib.mdDoc ''
           Enabled Fcitx5 addons.
         '';
       };
+      quickPhrase = mkOption {
+        type = with types; attrsOf string;
+        default = { };
+        example = literalExpression ''
+          {
+            smile = "(・∀・)";
+            angry = "( ̄ー ̄)";
+          }
+        '';
+        description = lib.mdDoc "Quick phrases.";
+      };
+      quickPhraseFiles = mkOption {
+        type = with types; attrsOf path;
+        default = { };
+        example = literalExpression ''
+          {
+            words = ./words.mb;
+            numbers = ./numbers.mb;
+          }
+        '';
+        description = lib.mdDoc "Quick phrase files.";
+      };
     };
   };
 
@@ -30,6 +52,16 @@ in
   config = mkIf (im.enabled == "fcitx5") {
     i18n.inputMethod.package = fcitx5Package;
 
+    i18n.inputMethod.fcitx5.addons = lib.optionals (cfg.quickPhrase != { }) [
+      (pkgs.writeTextDir "share/fcitx5/data/QuickPhrase.mb"
+        (lib.concatStringsSep "\n"
+          (lib.mapAttrsToList (name: value: "${name} ${value}") cfg.quickPhrase)))
+    ] ++ lib.optionals (cfg.quickPhraseFiles != { }) [
+      (pkgs.linkFarm "quickPhraseFiles" (lib.mapAttrs'
+        (name: value: lib.nameValuePair ("share/fcitx5/data/quickphrase.d/${name}.mb") value)
+        cfg.quickPhraseFiles))
+    ];
+
     environment.variables = {
       GTK_IM_MODULE = "fcitx";
       QT_IM_MODULE = "fcitx";
diff --git a/nixos/modules/image/repart.nix b/nixos/modules/image/repart.nix
index 9e7fe6932b317..4362982f5bac7 100644
--- a/nixos/modules/image/repart.nix
+++ b/nixos/modules/image/repart.nix
@@ -195,7 +195,9 @@ in
           --seed="${cfg.seed}" \
           --definitions="$amendedRepartDefinitions" \
           --split="${lib.boolToString cfg.split}" \
-          image.raw
+          --json=pretty \
+          image.raw \
+          | tee repart-output.json
       '';
 
     meta = {
diff --git a/nixos/modules/installer/tools/nixos-install.sh b/nixos/modules/installer/tools/nixos-install.sh
index 20fec525e70bd..4e42875c03650 100755
--- a/nixos/modules/installer/tools/nixos-install.sh
+++ b/nixos/modules/installer/tools/nixos-install.sh
@@ -206,7 +206,7 @@ if [[ -z $noBootLoader ]]; then
       mount --rbind --mkdir / "$mountPoint"
       mount --make-rslave "$mountPoint"
       /run/current-system/bin/switch-to-configuration boot
-      umount -R "$mountPoint" && rmdir "$mountPoint"
+      umount -R "$mountPoint" && (rmdir "$mountPoint" 2>/dev/null || true)
 EOF
 )"
 fi
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index e4e5fa97608a4..29fcabaefad51 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -221,6 +221,7 @@
   ./programs/nncp.nix
   ./programs/noisetorch.nix
   ./programs/npm.nix
+  ./programs/ns-usbloader.nix
   ./programs/oblogout.nix
   ./programs/oddjobd.nix
   ./programs/openvpn3.nix
@@ -864,7 +865,6 @@
   ./services/networking/croc.nix
   ./services/networking/dante.nix
   ./services/networking/dhcpcd.nix
-  ./services/networking/dhcpd.nix
   ./services/networking/dnscache.nix
   ./services/networking/dnscrypt-proxy2.nix
   ./services/networking/dnscrypt-wrapper.nix
diff --git a/nixos/modules/programs/fish.nix b/nixos/modules/programs/fish.nix
index 478f07d013107..8b78d3d9e2b29 100644
--- a/nixos/modules/programs/fish.nix
+++ b/nixos/modules/programs/fish.nix
@@ -37,7 +37,7 @@ let
   babelfishTranslate = path: name:
     pkgs.runCommandLocal "${name}.fish" {
       nativeBuildInputs = [ pkgs.babelfish ];
-    } "${pkgs.babelfish}/bin/babelfish < ${path} > $out;";
+    } "babelfish < ${path} > $out;";
 
 in
 
diff --git a/nixos/modules/programs/ns-usbloader.nix b/nixos/modules/programs/ns-usbloader.nix
new file mode 100644
index 0000000000000..8d0b698d6b4cc
--- /dev/null
+++ b/nixos/modules/programs/ns-usbloader.nix
@@ -0,0 +1,18 @@
+{ config, lib, pkgs, ... }:
+let
+  cfg = config.programs.ns-usbloader;
+in
+{
+  options = {
+    programs.ns-usbloader = {
+      enable = lib.mkEnableOption (lib.mdDoc "ns-usbloader application with udev rules applied");
+    };
+  };
+
+  config = lib.mkIf cfg.enable {
+    environment.systemPackages = [ pkgs.ns-usbloader ];
+    services.udev.packages = [ pkgs.ns-usbloader ];
+  };
+
+  meta.maintainers = pkgs.ns-usbloader.meta.maintainers;
+}
diff --git a/nixos/modules/programs/oddjobd.nix b/nixos/modules/programs/oddjobd.nix
index a37df0482c9aa..b0920d007c9eb 100644
--- a/nixos/modules/programs/oddjobd.nix
+++ b/nixos/modules/programs/oddjobd.nix
@@ -10,6 +10,11 @@ in
   };
 
   config = lib.mkIf cfg.enable {
+    assertions = [
+      { assertion = false;
+        message = "The oddjob service was found to be broken without NixOS test or maintainer. Please take ownership of this service.";
+      }
+    ];
     systemd.packages = [ cfg.package ];
 
     systemd.services.oddjobd = {
@@ -21,7 +26,7 @@ in
       serviceConfig = {
         Type = "dbus";
         BusName = "org.freedesktop.oddjob";
-        ExecStart = "${lib.getExe cfg.package}/bin/oddjobd";
+        ExecStart = "${lib.getBin cfg.package}/bin/oddjobd";
       };
     };
   };
diff --git a/nixos/modules/rename.nix b/nixos/modules/rename.nix
index a32d433bbddee..45014ed3c68ee 100644
--- a/nixos/modules/rename.nix
+++ b/nixos/modules/rename.nix
@@ -114,6 +114,16 @@ in
     (mkRemovedOptionModule [ "services" "rtsp-simple-server" ] "Package has been completely rebranded by upstream as mediamtx, and thus the service and the package were renamed in NixOS as well.")
 
     (mkRemovedOptionModule [ "i18n" "inputMethod" "fcitx" ] "The fcitx module has been removed. Please use fcitx5 instead")
+    (mkRemovedOptionModule [ "services" "dhcpd4" ] ''
+      The dhcpd4 module has been removed because ISC DHCP reached its end of life.
+      See https://www.isc.org/blogs/isc-dhcp-eol/ for details.
+      Please switch to a different implementation like kea or dnsmasq.
+    '')
+    (mkRemovedOptionModule [ "services" "dhcpd6" ] ''
+      The dhcpd6 module has been removed because ISC DHCP reached its end of life.
+      See https://www.isc.org/blogs/isc-dhcp-eol/ for details.
+      Please switch to a different implementation like kea or dnsmasq.
+    '')
 
     # Do NOT add any option renames here, see top of the file
   ];
diff --git a/nixos/modules/services/computing/boinc/client.nix b/nixos/modules/services/computing/boinc/client.nix
index 1879fef9666f7..51475171bf3f9 100644
--- a/nixos/modules/services/computing/boinc/client.nix
+++ b/nixos/modules/services/computing/boinc/client.nix
@@ -31,6 +31,7 @@ in
         type = types.package;
         default = pkgs.boinc;
         defaultText = literalExpression "pkgs.boinc";
+        example = literalExpression "pkgs.boinc-headless";
         description = lib.mdDoc ''
           Which BOINC package to use.
         '';
diff --git a/nixos/modules/services/hardware/udisks2.nix b/nixos/modules/services/hardware/udisks2.nix
index c53dbf477742d..5c058f1f0a6fb 100644
--- a/nixos/modules/services/hardware/udisks2.nix
+++ b/nixos/modules/services/hardware/udisks2.nix
@@ -71,12 +71,16 @@ in
 
     environment.systemPackages = [ pkgs.udisks2 ];
 
-    environment.etc = (mapAttrs' (name: value: nameValuePair "udisks2/${name}" { source = value; } ) configFiles) // {
-      # We need to make sure /etc/libblockdev/conf.d is populated to avoid
+    environment.etc = (mapAttrs' (name: value: nameValuePair "udisks2/${name}" { source = value; } ) configFiles) // (
+    let
+      libblockdev = pkgs.udisks2.libblockdev;
+      majorVer = versions.major libblockdev.version;
+    in {
+      # We need to make sure /etc/libblockdev/@major_ver@/conf.d is populated to avoid
       # warnings
-      "libblockdev/conf.d/00-default.cfg".source = "${pkgs.libblockdev}/etc/libblockdev/conf.d/00-default.cfg";
-      "libblockdev/conf.d/10-lvm-dbus.cfg".source = "${pkgs.libblockdev}/etc/libblockdev/conf.d/10-lvm-dbus.cfg";
-    };
+      "libblockdev/${majorVer}/conf.d/00-default.cfg".source = "${libblockdev}/etc/libblockdev/${majorVer}/conf.d/00-default.cfg";
+      "libblockdev/${majorVer}/conf.d/10-lvm-dbus.cfg".source = "${libblockdev}/etc/libblockdev/${majorVer}/conf.d/10-lvm-dbus.cfg";
+    });
 
     security.polkit.enable = true;
 
diff --git a/nixos/modules/services/home-automation/home-assistant.nix b/nixos/modules/services/home-automation/home-assistant.nix
index abe0b93e412cb..0b8b1d7194187 100644
--- a/nixos/modules/services/home-automation/home-assistant.nix
+++ b/nixos/modules/services/home-automation/home-assistant.nix
@@ -451,6 +451,7 @@ in {
           "eufylife_ble"
           "esphome"
           "fjaraskupan"
+          "gardena_bluetooth"
           "govee_ble"
           "homekit_controller"
           "inkbird"
diff --git a/nixos/modules/services/matrix/appservice-irc.nix b/nixos/modules/services/matrix/appservice-irc.nix
index 5526df785c356..d153ffc2ace87 100644
--- a/nixos/modules/services/matrix/appservice-irc.nix
+++ b/nixos/modules/services/matrix/appservice-irc.nix
@@ -12,16 +12,14 @@ let
 
   configFile = pkgs.runCommand "matrix-appservice-irc.yml" {
     # Because this program will be run at build time, we need `nativeBuildInputs`
-    nativeBuildInputs = [ (pkgs.python3.withPackages (ps: [ ps.pyyaml ps.jsonschema ])) ];
+    nativeBuildInputs = [ (pkgs.python3.withPackages (ps: [ ps.jsonschema ])) pkgs.remarshal ];
     preferLocalBuild = true;
 
     config = builtins.toJSON cfg.settings;
     passAsFile = [ "config" ];
   } ''
     # The schema is given as yaml, we need to convert it to json
-    python -c 'import json; import yaml; import sys; json.dump(yaml.safe_load(sys.stdin), sys.stdout)' \
-      < ${pkg}/lib/node_modules/matrix-appservice-irc/config.schema.yml \
-      > config.schema.json
+    remarshal --if yaml --of json -i ${pkg}/config.schema.yml -o config.schema.json
     python -m jsonschema config.schema.json -i $configPath
     cp "$configPath" "$out"
   '';
@@ -215,7 +213,10 @@ in {
         LockPersonality = true;
         RestrictRealtime = true;
         PrivateMounts = true;
-        SystemCallFilter = "~@aio @clock @cpu-emulation @debug @keyring @memlock @module @mount @obsolete @raw-io @setuid @swap";
+        SystemCallFilter = [
+          "@system-service @pkey"
+          "~@privileged @resources"
+        ];
         SystemCallArchitectures = "native";
         # AF_UNIX is required to connect to a postgres socket.
         RestrictAddressFamilies = "AF_UNIX AF_INET AF_INET6";
diff --git a/nixos/modules/services/misc/atuin.nix b/nixos/modules/services/misc/atuin.nix
index 202bd4dfca11e..57ff02df7d68b 100644
--- a/nixos/modules/services/misc/atuin.nix
+++ b/nixos/modules/services/misc/atuin.nix
@@ -1,14 +1,12 @@
 { config, pkgs, lib, ... }:
-
-with lib;
-
 let
+  inherit (lib) mkOption types mdDoc mkIf;
   cfg = config.services.atuin;
 in
 {
   options = {
     services.atuin = {
-      enable = mkEnableOption (mdDoc "Enable server for shell history sync with atuin");
+      enable = lib.mkEnableOption (mdDoc "Enable server for shell history sync with atuin");
 
       openRegistration = mkOption {
         type = types.bool;
@@ -50,16 +48,28 @@ in
         createLocally = mkOption {
           type = types.bool;
           default = true;
-          description = lib.mdDoc "Create the database and database user locally.";
+          description = mdDoc "Create the database and database user locally.";
+        };
+
+        uri = mkOption {
+          type = types.str;
+          default = "postgresql:///atuin?host=/run/postgresql";
+          example = "postgresql://atuin@localhost:5432/atuin";
+          description = mdDoc "URI to the database";
         };
       };
     };
   };
 
   config = mkIf cfg.enable {
-
-    # enable postgres to host atuin db
-    services.postgresql = {
+    assertions = [
+      {
+        assertion = cfg.database.createLocally -> config.services.postgresql.enable;
+        message = "Postgresql must be enabled to create a local database";
+      }
+    ];
+
+    services.postgresql = mkIf cfg.database.createLocally {
       enable = true;
       ensureUsers = [{
         name = "atuin";
@@ -73,7 +83,7 @@ in
     systemd.services.atuin = {
       description = "atuin server";
       requires = lib.optionals cfg.database.createLocally [ "postgresql.service" ];
-      after = [ "network.target" ] ++ lib.optionals cfg.database.createLocally [ "postgresql.service" ] ;
+      after = [ "network.target" ] ++ lib.optionals cfg.database.createLocally [ "postgresql.service" ];
       wantedBy = [ "multi-user.target" ];
 
       serviceConfig = {
@@ -81,20 +91,55 @@ in
         RuntimeDirectory = "atuin";
         RuntimeDirectoryMode = "0700";
         DynamicUser = true;
+
+        # Hardening
+        CapabilityBoundingSet = "";
+        LockPersonality = true;
+        NoNewPrivileges = true;
+        MemoryDenyWriteExecute = true;
+        PrivateDevices = true;
+        PrivateMounts = true;
+        PrivateTmp = true;
+        PrivateUsers = true;
+        ProcSubset = "pid";
+        ProtectClock = true;
+        ProtectControlGroups = true;
+        ProtectHome = true;
+        ProtectHostname = true;
+        ProtectKernelLogs = true;
+        ProtectKernelModules = true;
+        ProtectKernelTunables = true;
+        ProtectProc = "invisible";
+        ProtectSystem = "full";
+        RemoveIPC = true;
+        RestrictAddressFamilies = [
+          "AF_INET"
+          "AF_INET6"
+          # Required for connecting to database sockets,
+          "AF_UNIX"
+        ];
+        RestrictNamespaces = true;
+        RestrictRealtime = true;
+        RestrictSUIDSGID = true;
+        SystemCallArchitectures = "native";
+        SystemCallFilter = [
+          "@system-service"
+          "~@privileged"
+        ];
+        UMask = "0077";
       };
 
       environment = {
         ATUIN_HOST = cfg.host;
         ATUIN_PORT = toString cfg.port;
         ATUIN_MAX_HISTORY_LENGTH = toString cfg.maxHistoryLength;
-        ATUIN_OPEN_REGISTRATION = boolToString cfg.openRegistration;
-        ATUIN_DB_URI =  mkIf cfg.database.createLocally "postgresql:///atuin";
+        ATUIN_OPEN_REGISTRATION = lib.boolToString cfg.openRegistration;
+        ATUIN_DB_URI = cfg.database.uri;
         ATUIN_PATH = cfg.path;
         ATUIN_CONFIG_DIR = "/run/atuin"; # required to start, but not used as configuration is via environment variables
       };
     };
 
     networking.firewall.allowedTCPPorts = mkIf cfg.openFirewall [ cfg.port ];
-
   };
 }
diff --git a/nixos/modules/services/misc/gitlab.nix b/nixos/modules/services/misc/gitlab.nix
index a497fbb300d63..c5e38b4988298 100644
--- a/nixos/modules/services/misc/gitlab.nix
+++ b/nixos/modules/services/misc/gitlab.nix
@@ -1635,7 +1635,7 @@ in {
         "gitlab-config.service"
         "gitlab-db-config.service"
       ] ++ optional (cfg.databaseHost == "") "postgresql.service";
-      wantedBy = [ "gitlab.target" ];
+      requiredBy = [ "gitlab.target" ];
       partOf = [ "gitlab.target" ];
       environment = gitlabEnv;
       path = with pkgs; [
diff --git a/nixos/modules/services/misc/gogs.nix b/nixos/modules/services/misc/gogs.nix
index dabcdc4866882..9bf7e4aab8148 100644
--- a/nixos/modules/services/misc/gogs.nix
+++ b/nixos/modules/services/misc/gogs.nix
@@ -25,7 +25,7 @@ let
     DOMAIN = ${cfg.domain}
     HTTP_ADDR = ${cfg.httpAddress}
     HTTP_PORT = ${toString cfg.httpPort}
-    ROOT_URL = ${cfg.rootUrl}
+    EXTERNAL_URL = ${cfg.rootUrl}
 
     [session]
     COOKIE_NAME = session
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/ipmi.nix b/nixos/modules/services/monitoring/prometheus/exporters/ipmi.nix
index 55c4f4aa48263..9adbe31d84d69 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/ipmi.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/ipmi.nix
@@ -37,5 +37,6 @@ in {
     ] ++ extraFlags);
 
     ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
+    RestrictAddressFamilies = [ "AF_INET" "AF_INET6" "AF_UNIX" ];
   };
 }
diff --git a/nixos/modules/services/networking/bird.nix b/nixos/modules/services/networking/bird.nix
index 77e0b3f8af9b8..9deeb7694d2ac 100644
--- a/nixos/modules/services/networking/bird.nix
+++ b/nixos/modules/services/networking/bird.nix
@@ -61,7 +61,7 @@ in
       checkPhase = optionalString cfg.checkConfig ''
         ln -s $out bird2.conf
         ${cfg.preCheckConfig}
-        ${pkgs.bird}/bin/bird -d -p -c bird2.conf
+        ${pkgs.buildPackages.bird}/bin/bird -d -p -c bird2.conf
       '';
     };
 
diff --git a/nixos/modules/services/networking/dhcpd.nix b/nixos/modules/services/networking/dhcpd.nix
deleted file mode 100644
index a981a255c3eea..0000000000000
--- a/nixos/modules/services/networking/dhcpd.nix
+++ /dev/null
@@ -1,230 +0,0 @@
-{ config, lib, pkgs, ... }:
-
-with lib;
-
-let
-
-  cfg4 = config.services.dhcpd4;
-  cfg6 = config.services.dhcpd6;
-
-  writeConfig = postfix: cfg: pkgs.writeText "dhcpd.conf"
-    ''
-      default-lease-time 600;
-      max-lease-time 7200;
-      ${optionalString (!cfg.authoritative) "not "}authoritative;
-      ddns-update-style interim;
-      log-facility local1; # see dhcpd.nix
-
-      ${cfg.extraConfig}
-
-      ${lib.concatMapStrings
-          (machine: ''
-            host ${machine.hostName} {
-              hardware ethernet ${machine.ethernetAddress};
-              fixed-address${
-                optionalString (postfix == "6") postfix
-              } ${machine.ipAddress};
-            }
-          '')
-          cfg.machines
-      }
-    '';
-
-  dhcpdService = postfix: cfg:
-    let
-      configFile =
-        if cfg.configFile != null
-          then cfg.configFile
-          else writeConfig postfix cfg;
-      leaseFile = "/var/lib/dhcpd${postfix}/dhcpd.leases";
-      args = [
-        "@${pkgs.dhcp}/sbin/dhcpd" "dhcpd${postfix}" "-${postfix}"
-        "-pf" "/run/dhcpd${postfix}/dhcpd.pid"
-        "-cf" configFile
-        "-lf" leaseFile
-      ] ++ cfg.extraFlags
-        ++ cfg.interfaces;
-    in
-      optionalAttrs cfg.enable {
-        "dhcpd${postfix}" = {
-          description = "DHCPv${postfix} server";
-          wantedBy = [ "multi-user.target" ];
-          after = [ "network.target" ];
-
-          preStart = "touch ${leaseFile}";
-          serviceConfig = {
-            ExecStart = concatMapStringsSep " " escapeShellArg args;
-            Type = "forking";
-            Restart = "always";
-            DynamicUser = true;
-            User = "dhcpd";
-            Group = "dhcpd";
-            AmbientCapabilities = [
-              "CAP_NET_RAW"          # to send ICMP messages
-              "CAP_NET_BIND_SERVICE" # to bind on DHCP port (67)
-            ];
-            StateDirectory   = "dhcpd${postfix}";
-            RuntimeDirectory = "dhcpd${postfix}";
-            PIDFile = "/run/dhcpd${postfix}/dhcpd.pid";
-          };
-        };
-      };
-
-  machineOpts = { ... }: {
-
-    options = {
-
-      hostName = mkOption {
-        type = types.str;
-        example = "foo";
-        description = lib.mdDoc ''
-          Hostname which is assigned statically to the machine.
-        '';
-      };
-
-      ethernetAddress = mkOption {
-        type = types.str;
-        example = "00:16:76:9a:32:1d";
-        description = lib.mdDoc ''
-          MAC address of the machine.
-        '';
-      };
-
-      ipAddress = mkOption {
-        type = types.str;
-        example = "192.168.1.10";
-        description = lib.mdDoc ''
-          IP address of the machine.
-        '';
-      };
-
-    };
-  };
-
-  dhcpConfig = postfix: {
-
-    enable = mkOption {
-      type = types.bool;
-      default = false;
-      description = lib.mdDoc ''
-        Whether to enable the DHCPv${postfix} server.
-      '';
-    };
-
-    extraConfig = mkOption {
-      type = types.lines;
-      default = "";
-      example = ''
-        option subnet-mask 255.255.255.0;
-        option broadcast-address 192.168.1.255;
-        option routers 192.168.1.5;
-        option domain-name-servers 130.161.158.4, 130.161.33.17, 130.161.180.1;
-        option domain-name "example.org";
-        subnet 192.168.1.0 netmask 255.255.255.0 {
-          range 192.168.1.100 192.168.1.200;
-        }
-      '';
-      description = lib.mdDoc ''
-        Extra text to be appended to the DHCP server configuration
-        file. Currently, you almost certainly need to specify something
-        there, such as the options specifying the subnet mask, DNS servers,
-        etc.
-      '';
-    };
-
-    extraFlags = mkOption {
-      type = types.listOf types.str;
-      default = [];
-      description = lib.mdDoc ''
-        Additional command line flags to be passed to the dhcpd daemon.
-      '';
-    };
-
-    configFile = mkOption {
-      type = types.nullOr types.path;
-      default = null;
-      description = lib.mdDoc ''
-        The path of the DHCP server configuration file.  If no file
-        is specified, a file is generated using the other options.
-      '';
-    };
-
-    interfaces = mkOption {
-      type = types.listOf types.str;
-      default = ["eth0"];
-      description = lib.mdDoc ''
-        The interfaces on which the DHCP server should listen.
-      '';
-    };
-
-    machines = mkOption {
-      type = with types; listOf (submodule machineOpts);
-      default = [];
-      example = [
-        { hostName = "foo";
-          ethernetAddress = "00:16:76:9a:32:1d";
-          ipAddress = "192.168.1.10";
-        }
-        { hostName = "bar";
-          ethernetAddress = "00:19:d1:1d:c4:9a";
-          ipAddress = "192.168.1.11";
-        }
-      ];
-      description = lib.mdDoc ''
-        A list mapping Ethernet addresses to IPv${postfix} addresses for the
-        DHCP server.
-      '';
-    };
-
-    authoritative = mkOption {
-      type = types.bool;
-      default = true;
-      description = lib.mdDoc ''
-        Whether the DHCP server shall send DHCPNAK messages to misconfigured
-        clients. If this is not done, clients may be unable to get a correct
-        IP address after changing subnets until their old lease has expired.
-      '';
-    };
-
-  };
-
-in
-
-{
-
-  imports = [
-    (mkRenamedOptionModule [ "services" "dhcpd" ] [ "services" "dhcpd4" ])
-  ] ++ flip map [ "4" "6" ] (postfix:
-    mkRemovedOptionModule [ "services" "dhcpd${postfix}" "stateDir" ] ''
-      The DHCP server state directory is now managed with the systemd's DynamicUser mechanism.
-      This means the directory is named after the service (dhcpd${postfix}), created under
-      /var/lib/private/ and symlinked to /var/lib/.
-    ''
-  );
-
-  ###### interface
-
-  options = {
-
-    services.dhcpd4 = dhcpConfig "4";
-    services.dhcpd6 = dhcpConfig "6";
-
-  };
-
-
-  ###### implementation
-
-  config = mkIf (cfg4.enable || cfg6.enable) {
-
-    systemd.services = dhcpdService "4" cfg4 // dhcpdService "6" cfg6;
-
-    warnings = [
-      ''
-        The dhcpd4 and dhcpd6 modules will be removed from NixOS 23.11, because ISC DHCP reached its end of life.
-        See https://www.isc.org/blogs/isc-dhcp-eol/ for details.
-        Please switch to a different implementation like kea, systemd-networkd or dnsmasq.
-      ''
-    ];
-  };
-
-}
diff --git a/nixos/modules/services/networking/tailscale.nix b/nixos/modules/services/networking/tailscale.nix
index dfb5422a1e9a0..f308b7e331140 100644
--- a/nixos/modules/services/networking/tailscale.nix
+++ b/nixos/modules/services/networking/tailscale.nix
@@ -29,12 +29,7 @@ in {
       description = lib.mdDoc "Username or user ID of the user allowed to to fetch Tailscale TLS certificates for the node.";
     };
 
-    package = mkOption {
-      type = types.package;
-      default = pkgs.tailscale;
-      defaultText = literalExpression "pkgs.tailscale";
-      description = lib.mdDoc "The package to use for tailscale";
-    };
+    package = lib.mkPackageOptionMD pkgs "tailscale" {};
 
     useRoutingFeatures = mkOption {
       type = types.enum [ "none" "client" "server" "both" ];
@@ -58,6 +53,13 @@ in {
         A file containing the auth key.
       '';
     };
+
+    extraUpFlags = mkOption {
+      description = lib.mdDoc "Extra flags to pass to {command}`tailscale up`.";
+      type = types.listOf types.str;
+      default = [];
+      example = ["--ssh"];
+    };
   };
 
   config = mkIf cfg.enable {
@@ -98,10 +100,10 @@ in {
       serviceConfig = {
         Type = "oneshot";
       };
-      script = with pkgs; ''
+      script = ''
         status=$(${config.systemd.package}/bin/systemctl show -P StatusText tailscaled.service)
         if [[ $status != Connected* ]]; then
-          ${pkgs.tailscale}/bin/tailscale up --auth-key 'file:${cfg.authKeyFile}'
+          ${cfg.package}/bin/tailscale up --auth-key 'file:${cfg.authKeyFile}' ${escapeShellArgs cfg.extraUpFlags}
         fi
       '';
     };
diff --git a/nixos/modules/services/security/kanidm.nix b/nixos/modules/services/security/kanidm.nix
index cea2a56bdcd1b..6fb9f71a489e2 100644
--- a/nixos/modules/services/security/kanidm.nix
+++ b/nixos/modules/services/security/kanidm.nix
@@ -122,8 +122,8 @@ in
           };
           log_level = lib.mkOption {
             description = lib.mdDoc "Log level of the server.";
-            default = "default";
-            type = lib.types.enum [ "default" "verbose" "perfbasic" "perffull" ];
+            default = "info";
+            type = lib.types.enum [ "info" "debug" "trace" ];
           };
           role = lib.mkOption {
             description = lib.mdDoc "The role of this server. This affects the replication relationship and thereby available features.";
@@ -236,17 +236,23 @@ in
         {
           StateDirectory = "kanidm";
           StateDirectoryMode = "0700";
+          RuntimeDirectory = "kanidmd";
           ExecStart = "${pkgs.kanidm}/bin/kanidmd server -c ${serverConfigFile}";
           User = "kanidm";
           Group = "kanidm";
 
+          BindPaths = [
+            # To create the socket
+            "/run/kanidmd:/run/kanidmd"
+          ];
+
           AmbientCapabilities = [ "CAP_NET_BIND_SERVICE" ];
           CapabilityBoundingSet = [ "CAP_NET_BIND_SERVICE" ];
           # This would otherwise override the CAP_NET_BIND_SERVICE capability.
           PrivateUsers = lib.mkForce false;
           # Port needs to be exposed to the host network
           PrivateNetwork = lib.mkForce false;
-          RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ];
+          RestrictAddressFamilies = [ "AF_INET" "AF_INET6" "AF_UNIX" ];
           TemporaryFileSystem = "/:ro";
         }
       ];
@@ -273,6 +279,8 @@ in
             "-/etc/static/kanidm"
             "-/etc/ssl"
             "-/etc/static/ssl"
+            "-/etc/passwd"
+            "-/etc/group"
           ];
           BindPaths = [
             # To create the socket
@@ -327,6 +335,9 @@ in
 
     # These paths are hardcoded
     environment.etc = lib.mkMerge [
+      (lib.mkIf cfg.enableServer {
+        "kanidm/server.toml".source = serverConfigFile;
+      })
       (lib.mkIf options.services.kanidm.clientSettings.isDefined {
         "kanidm/config".source = clientConfigFile;
       })
diff --git a/nixos/modules/services/web-apps/hedgedoc.nix b/nixos/modules/services/web-apps/hedgedoc.nix
index e2014a9b7e351..bfa5fd5aff25f 100644
--- a/nixos/modules/services/web-apps/hedgedoc.nix
+++ b/nixos/modules/services/web-apps/hedgedoc.nix
@@ -1,8 +1,8 @@
 { config, lib, pkgs, ... }:
 
-with lib;
-
 let
+  inherit (lib) literalExpression mdDoc mkEnableOption mkIf mkOption mkPackageOptionMD mkRenamedOptionModule types versionAtLeast;
+
   cfg = config.services.hedgedoc;
 
   # 21.03 will not be an official release - it was instead 21.05.  This
@@ -32,6 +32,7 @@ in
   ];
 
   options.services.hedgedoc = {
+    package = mkPackageOptionMD pkgs "hedgedoc" { };
     enable = mkEnableOption (lib.mdDoc "the HedgeDoc Markdown Editor");
 
     groups = mkOption {
@@ -107,6 +108,13 @@ in
           {option}`protocolUseSSL`.
         '';
       };
+      enableStatsApi = mkOption {
+        type = types.bool;
+        default = false;
+        description = lib.mdDoc ''
+          Enables or disables the /status and /metrics endpoint.
+        '';
+      };
       hsts = {
         enable = mkOption {
           type = types.bool;
@@ -1018,16 +1026,6 @@ in
         `HedgeDoc` is running.
       '';
     };
-
-    package = mkOption {
-      type = types.package;
-      default = pkgs.hedgedoc;
-      defaultText = literalExpression "pkgs.hedgedoc";
-      description = lib.mdDoc ''
-        Package that provides HedgeDoc.
-      '';
-    };
-
   };
 
   config = mkIf cfg.enable {
@@ -1060,7 +1058,7 @@ in
       serviceConfig = {
         WorkingDirectory = cfg.workDir;
         StateDirectory = [ cfg.workDir cfg.settings.uploadsPath ];
-        ExecStart = "${cfg.package}/bin/hedgedoc";
+        ExecStart = "${lib.getExe cfg.package}";
         EnvironmentFile = mkIf (cfg.environmentFile != null) [ cfg.environmentFile ];
         Environment = [
           "CMD_CONFIG_FILE=${cfg.workDir}/config.json"
diff --git a/nixos/modules/services/web-servers/nginx/default.nix b/nixos/modules/services/web-servers/nginx/default.nix
index 74a00f20b653c..fccc31b5116cb 100644
--- a/nixos/modules/services/web-servers/nginx/default.nix
+++ b/nixos/modules/services/web-servers/nginx/default.nix
@@ -261,23 +261,6 @@ let
 
       ${proxyCachePathConfig}
 
-      ${optionalString cfg.statusPage ''
-        server {
-          listen ${toString cfg.defaultHTTPListenPort};
-          ${optionalString enableIPv6 "listen [::]:${toString cfg.defaultHTTPListenPort};" }
-
-          server_name localhost;
-
-          location /nginx_status {
-            stub_status on;
-            access_log off;
-            allow 127.0.0.1;
-            ${optionalString enableIPv6 "allow ::1;"}
-            deny all;
-          }
-        }
-      ''}
-
       ${vhosts}
 
       ${cfg.appendHttpConfig}
@@ -352,7 +335,7 @@ let
           + ";"))
           + "
             listen ${addr}:${toString port} "
-          + optionalString (ssl && vhost.http2) "http2 "
+          + optionalString (ssl && vhost.http2 && oldHTTP2) "http2 "
           + optionalString ssl "ssl "
           + optionalString vhost.default "default_server "
           + optionalString vhost.reuseport "reuseport "
@@ -397,6 +380,9 @@ let
         server {
           ${concatMapStringsSep "\n" listenString hostListen}
           server_name ${vhost.serverName} ${concatStringsSep " " vhost.serverAliases};
+          ${optionalString (hasSSL && vhost.http2 && !oldHTTP2) ''
+            http2 on;
+          ''}
           ${optionalString (hasSSL && vhost.quic) ''
             http3 ${if vhost.http3 then "on" else "off"};
             http3_hq ${if vhost.http3_hq then "on" else "off"};
@@ -480,6 +466,8 @@ let
   );
 
   mkCertOwnershipAssertion = import ../../../security/acme/mk-cert-ownership-assertion.nix;
+
+  oldHTTP2 = versionOlder cfg.package.version "1.25.1";
 in
 
 {
@@ -1177,6 +1165,21 @@ in
     services.nginx.additionalModules = optional cfg.recommendedBrotliSettings pkgs.nginxModules.brotli
       ++ lib.optional cfg.recommendedZstdSettings pkgs.nginxModules.zstd;
 
+    services.nginx.virtualHosts.localhost = mkIf cfg.statusPage {
+      listenAddresses = lib.mkDefault ([
+        "0.0.0.0"
+      ] ++ lib.optional enableIPv6 "[::]");
+      locations."/nginx_status" = {
+        extraConfig = ''
+          stub_status on;
+          access_log off;
+          allow 127.0.0.1;
+          ${optionalString enableIPv6 "allow ::1;"}
+          deny all;
+        '';
+      };
+    };
+
     systemd.services.nginx = {
       description = "Nginx Web Server";
       wantedBy = [ "multi-user.target" ];
diff --git a/nixos/modules/system/boot/initrd-network.nix b/nixos/modules/system/boot/initrd-network.nix
index e8bbf1d040329..1d95742face34 100644
--- a/nixos/modules/system/boot/initrd-network.nix
+++ b/nixos/modules/system/boot/initrd-network.nix
@@ -7,8 +7,8 @@ let
   cfg = config.boot.initrd.network;
 
   dhcpInterfaces = lib.attrNames (lib.filterAttrs (iface: v: v.useDHCP == true) (config.networking.interfaces or {}));
-  doDhcp = config.networking.useDHCP || dhcpInterfaces != [];
-  dhcpIfShellExpr = if config.networking.useDHCP
+  doDhcp = cfg.udhcpc.enable || dhcpInterfaces != [];
+  dhcpIfShellExpr = if config.networking.useDHCP || cfg.udhcpc.enable
                       then "$(ls /sys/class/net/ | grep -v ^lo$)"
                       else lib.concatMapStringsSep " " lib.escapeShellArg dhcpInterfaces;
 
@@ -79,13 +79,24 @@ in
       '';
     };
 
+    boot.initrd.network.udhcpc.enable = mkOption {
+      default = config.networking.useDHCP;
+      defaultText = "networking.useDHCP";
+      type = types.bool;
+      description = lib.mdDoc ''
+        Enables the udhcpc service during stage 1 of the boot process. This
+        defaults to {option}`networking.useDHCP`. Therefore, this useful if
+        useDHCP is off but the initramfs should do dhcp.
+      '';
+    };
+
     boot.initrd.network.udhcpc.extraArgs = mkOption {
       default = [];
       type = types.listOf types.str;
       description = lib.mdDoc ''
-        Additional command-line arguments passed verbatim to udhcpc if
-        {option}`boot.initrd.network.enable` and {option}`networking.useDHCP`
-        are enabled.
+        Additional command-line arguments passed verbatim to
+        udhcpc if {option}`boot.initrd.network.enable` and
+        {option}`boot.initrd.network.udhcpc.enable` are enabled.
       '';
     };
 
diff --git a/nixos/modules/system/boot/systemd.nix b/nixos/modules/system/boot/systemd.nix
index 9557cf45d562f..ac55461107fb9 100644
--- a/nixos/modules/system/boot/systemd.nix
+++ b/nixos/modules/system/boot/systemd.nix
@@ -597,6 +597,11 @@ in
       # drop-in in /etc, it does apply.
       overrideStrategy = "asDropin";
     };
+    systemd.services."systemd-mkswap@" = {
+      restartIfChanged = false;
+      path = [ pkgs.util-linux ];
+      overrideStrategy = "asDropin";
+    };
     systemd.services.systemd-random-seed.restartIfChanged = false;
     systemd.services.systemd-remount-fs.restartIfChanged = false;
     systemd.services.systemd-update-utmp.restartIfChanged = false;
diff --git a/nixos/modules/system/boot/systemd/shutdown.nix b/nixos/modules/system/boot/systemd/shutdown.nix
index b4b750fa9aafe..d7300e940af20 100644
--- a/nixos/modules/system/boot/systemd/shutdown.nix
+++ b/nixos/modules/system/boot/systemd/shutdown.nix
@@ -30,7 +30,11 @@ in {
   };
 
   config = lib.mkIf cfg.enable {
-    systemd.shutdownRamfs.contents."/shutdown".source = "${config.systemd.package}/lib/systemd/systemd-shutdown";
+    systemd.shutdownRamfs.contents = {
+      "/shutdown".source = "${config.systemd.package}/lib/systemd/systemd-shutdown";
+      "/etc/initrd-release".source = config.environment.etc.os-release.source;
+      "/etc/os-release".source = config.environment.etc.os-release.source;
+    };
     systemd.shutdownRamfs.storePaths = [pkgs.runtimeShell "${pkgs.coreutils}/bin"];
 
     systemd.mounts = [{
diff --git a/nixos/modules/tasks/filesystems/zfs.nix b/nixos/modules/tasks/filesystems/zfs.nix
index e148446540bde..21d604bee6e3f 100644
--- a/nixos/modules/tasks/filesystems/zfs.nix
+++ b/nixos/modules/tasks/filesystems/zfs.nix
@@ -110,10 +110,11 @@ let
   createImportService = { pool, systemd, force, prefix ? "" }:
     nameValuePair "zfs-import-${pool}" {
       description = "Import ZFS pool \"${pool}\"";
-      # we need systemd-udev-settle to ensure devices are available
+      # We wait for systemd-udev-settle to ensure devices are available,
+      # but don't *require* it, because mounts shouldn't be killed if it's stopped.
       # In the future, hopefully someone will complete this:
       # https://github.com/zfsonlinux/zfs/pull/4943
-      requires = [ "systemd-udev-settle.service" ];
+      wants = [ "systemd-udev-settle.service" ];
       after = [
         "systemd-udev-settle.service"
         "systemd-modules-load.service"
diff --git a/nixos/modules/virtualisation/proxmox-image.nix b/nixos/modules/virtualisation/proxmox-image.nix
index 1ea5434c84267..62778f2626f8e 100644
--- a/nixos/modules/virtualisation/proxmox-image.nix
+++ b/nixos/modules/virtualisation/proxmox-image.nix
@@ -197,7 +197,7 @@ with lib;
     ];
     system.build.VMA = import ../../lib/make-disk-image.nix {
       name = "proxmox-${cfg.filenameSuffix}";
-      inherit partitionTableType;
+      inherit (cfg) partitionTableType;
       postVM = let
         # Build qemu with PVE's patch that adds support for the VMA format
         vma = (pkgs.qemu_kvm.override {
diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix
index c707200def09c..3b4a39f5ff96b 100644
--- a/nixos/tests/all-tests.nix
+++ b/nixos/tests/all-tests.nix
@@ -535,11 +535,12 @@ in {
   nginx-http3 = handleTest ./nginx-http3.nix {};
   nginx-modsecurity = handleTest ./nginx-modsecurity.nix {};
   nginx-njs = handleTest ./nginx-njs.nix {};
+  nginx-proxyprotocol = handleTest ./nginx-proxyprotocol {};
   nginx-pubhtml = handleTest ./nginx-pubhtml.nix {};
   nginx-sandbox = handleTestOn ["x86_64-linux"] ./nginx-sandbox.nix {};
   nginx-sso = handleTest ./nginx-sso.nix {};
+  nginx-status-page = handleTest ./nginx-status-page.nix {};
   nginx-variants = handleTest ./nginx-variants.nix {};
-  nginx-proxyprotocol = handleTest ./nginx-proxyprotocol {};
   nifi = handleTestOn ["x86_64-linux"] ./web-apps/nifi.nix {};
   nitter = handleTest ./nitter.nix {};
   nix-ld = handleTest ./nix-ld.nix {};
diff --git a/nixos/tests/atuin.nix b/nixos/tests/atuin.nix
index 9f23a3cf6713f..3164c83c683dc 100644
--- a/nixos/tests/atuin.nix
+++ b/nixos/tests/atuin.nix
@@ -14,6 +14,8 @@ in
     server =
       { ... }:
       {
+        services.postgresql.enable = true;
+
         services.atuin = {
           enable = true;
           port = testPort;
diff --git a/nixos/tests/binary-cache.nix b/nixos/tests/binary-cache.nix
index 0809e59e5a115..bc1c6fb9a2671 100644
--- a/nixos/tests/binary-cache.nix
+++ b/nixos/tests/binary-cache.nix
@@ -1,16 +1,14 @@
-import ./make-test-python.nix ({ lib, ... }:
-
-with lib;
+import ./make-test-python.nix ({ lib, pkgs, ... }:
 
 {
   name = "binary-cache";
-  meta.maintainers = with maintainers; [ thomasjm ];
+  meta.maintainers = with lib.maintainers; [ thomasjm ];
 
   nodes.machine =
     { pkgs, ... }: {
       imports = [ ../modules/installer/cd-dvd/channel.nix ];
-      environment.systemPackages = with pkgs; [python3];
-      system.extraDependencies = with pkgs; [hello.inputDerivation];
+      environment.systemPackages = [ pkgs.python3 ];
+      system.extraDependencies = [ pkgs.hello.inputDerivation ];
       nix.extraOptions = ''
         experimental-features = nix-command
       '';
diff --git a/nixos/tests/budgie.nix b/nixos/tests/budgie.nix
index b1b0e618c884c..34ee1e303de9f 100644
--- a/nixos/tests/budgie.nix
+++ b/nixos/tests/budgie.nix
@@ -32,7 +32,15 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
     in
     ''
       with subtest("Wait for login"):
-          machine.wait_for_x()
+          # wait_for_x() checks graphical-session.target, which is expected to be
+          # inactive on Budgie before #228946 (i.e. systemd managed gnome-session) is
+          # done on upstream.
+          # https://github.com/BuddiesOfBudgie/budgie-desktop/blob/v10.7.2/src/session/budgie-desktop.in#L16
+          #
+          # Previously this was unconditionally touched by xsessionWrapper but was
+          # changed in #233981 (we have Budgie:GNOME in XDG_CURRENT_DESKTOP).
+          # machine.wait_for_x()
+          machine.wait_until_succeeds('journalctl -t gnome-session-binary --grep "Entering running state"')
           machine.wait_for_file("${user.home}/.Xauthority")
           machine.succeed("xauth merge ${user.home}/.Xauthority")
 
diff --git a/nixos/tests/buildkite-agents.nix b/nixos/tests/buildkite-agents.nix
index 2c5593323e873..a5abfdb5e2e5d 100644
--- a/nixos/tests/buildkite-agents.nix
+++ b/nixos/tests/buildkite-agents.nix
@@ -1,10 +1,8 @@
-import ./make-test-python.nix ({ pkgs, ... }:
+import ./make-test-python.nix ({ lib, pkgs, ... }:
 
 {
   name = "buildkite-agent";
-  meta = with pkgs.lib.maintainers; {
-    maintainers = [ flokli ];
-  };
+  meta.maintainers = with lib.maintainers; [ flokli ];
 
   nodes.machine = { pkgs, ... }: {
     services.buildkite-agents = {
diff --git a/nixos/tests/deepin.nix b/nixos/tests/deepin.nix
index acec27ca1c42a..7b2e2430f31c7 100644
--- a/nixos/tests/deepin.nix
+++ b/nixos/tests/deepin.nix
@@ -1,9 +1,7 @@
 import ./make-test-python.nix ({ pkgs, lib, ... }: {
   name = "deepin";
 
-  meta = with lib; {
-    maintainers = teams.deepin.members;
-  };
+  meta.maintainers = lib.teams.deepin.members;
 
   nodes.machine = { ... }: {
     imports = [
diff --git a/nixos/tests/gnome-flashback.nix b/nixos/tests/gnome-flashback.nix
index 70569db797ec9..876d36477c1a9 100644
--- a/nixos/tests/gnome-flashback.nix
+++ b/nixos/tests/gnome-flashback.nix
@@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, lib, ...} : {
 
   nodes.machine = { nodes, ... }:
     let
-      user = nodes.machine.config.users.users.alice;
+      user = nodes.machine.users.users.alice;
     in
 
     { imports = [ ./common/user-account.nix ];
@@ -27,12 +27,20 @@ import ./make-test-python.nix ({ pkgs, lib, ...} : {
     };
 
   testScript = { nodes, ... }: let
-    user = nodes.machine.config.users.users.alice;
+    user = nodes.machine.users.users.alice;
     uid = toString user.uid;
     xauthority = "/run/user/${uid}/gdm/Xauthority";
   in ''
       with subtest("Login to GNOME Flashback with GDM"):
-          machine.wait_for_x()
+          # wait_for_x() checks graphical-session.target, which is expected to be
+          # inactive on gnome-flashback before #228946 (i.e. systemd managed
+          # gnome-session) is done.
+          # https://github.com/NixOS/nixpkgs/pull/208060
+          #
+          # Previously this was unconditionally touched by xsessionWrapper but was
+          # changed in #233981 (we have GNOME-Flashback:GNOME in XDG_CURRENT_DESKTOP).
+          # machine.wait_for_x()
+          machine.wait_until_succeeds('journalctl -t gnome-session-binary --grep "Entering running state"')
           # Wait for alice to be logged in"
           machine.wait_for_unit("default.target", "${user.name}")
           machine.wait_for_file("${xauthority}")
diff --git a/nixos/tests/hibernate.nix b/nixos/tests/hibernate.nix
index cd8c436ee2b37..296aa9ba68b92 100644
--- a/nixos/tests/hibernate.nix
+++ b/nixos/tests/hibernate.nix
@@ -8,128 +8,48 @@
 
 with import ../lib/testing-python.nix { inherit system pkgs; };
 
-let
-  # System configuration of the installed system, which is used for the actual
-  # hibernate testing.
-  installedConfig = with pkgs.lib; {
-    imports = [
-      ../modules/testing/test-instrumentation.nix
-      ../modules/profiles/qemu-guest.nix
-      ../modules/profiles/minimal.nix
-    ];
-
-    hardware.enableAllFirmware = mkForce false;
-    documentation.nixos.enable = false;
-    boot.loader.grub.device = "/dev/vda";
-
-    systemd.services.backdoor.conflicts = [ "sleep.target" ];
-
-    powerManagement.resumeCommands = "systemctl --no-block restart backdoor.service";
-
-    fileSystems."/" = {
-      device = "/dev/vda2";
-      fsType = "ext3";
-    };
-    swapDevices = mkOverride 0 [ { device = "/dev/vda1"; } ];
-    boot.resumeDevice = mkIf systemdStage1 "/dev/vda1";
-    boot.initrd.systemd = mkIf systemdStage1 {
-      enable = true;
-      emergencyAccess = true;
-    };
-  };
-  installedSystem = (import ../lib/eval-config.nix {
-    inherit system;
-    modules = [ installedConfig ];
-  }).config.system.build.toplevel;
-in makeTest {
+makeTest {
   name = "hibernate";
 
   nodes = {
-    # System configuration used for installing the installedConfig from above.
     machine = { config, lib, pkgs, ... }: {
       imports = [
-        ../modules/profiles/installation-device.nix
-        ../modules/profiles/base.nix
         ./common/auto-format-root-device.nix
       ];
 
-      nix.settings = {
-        substituters = lib.mkForce [];
-        hashed-mirrors = null;
-        connect-timeout = 1;
-      };
+      systemd.services.backdoor.conflicts = [ "sleep.target" ];
+      powerManagement.resumeCommands = "systemctl --no-block restart backdoor.service";
 
-      virtualisation.diskSize = 8 * 1024;
-      virtualisation.emptyDiskImages = [
-        # Small root disk for installer
-        512
-      ];
-      virtualisation.rootDevice = "/dev/vdb";
+      virtualisation.emptyDiskImages = [ (2 * config.virtualisation.memorySize) ];
+      virtualisation.useNixStoreImage = true;
+
+      swapDevices = lib.mkOverride 0 [ { device = "/dev/vdc"; options = [ "x-systemd.makefs" ]; } ];
+      boot.resumeDevice = "/dev/vdc";
+      boot.initrd.systemd.enable = systemdStage1;
     };
   };
 
-  # 9P doesn't support reconnection to virtio transport after a hibernation.
-  # Therefore, machine just hangs on any Nix store access.
-  # To avoid this, we install NixOS onto a temporary disk with everything we need
-  # included into the store.
-
-  testScript =
-    ''
-      def create_named_machine(name):
-          machine = create_machine(
-              {
-                  "qemuFlags": "-cpu max ${
-                    if system == "x86_64-linux" then "-m 1024"
-                    else "-m 768 -enable-kvm -machine virt,gic-version=host"}",
-                  "hdaInterface": "virtio",
-                  "hda": "vm-state-machine/machine.qcow2",
-                  "name": name,
-              }
-          )
-          driver.machines.append(machine)
-          return machine
-
-
-      # Install NixOS
-      machine.start()
-      machine.succeed(
-          # Partition /dev/vda
-          "flock /dev/vda parted --script /dev/vda -- mklabel msdos"
-          + " mkpart primary linux-swap 1M 1024M"
-          + " mkpart primary ext2 1024M -1s",
-          "udevadm settle",
-          "mkfs.ext3 -L nixos /dev/vda2",
-          "mount LABEL=nixos /mnt",
-          "mkswap /dev/vda1 -L swap",
-          # Install onto /mnt
-          "nix-store --load-db < ${pkgs.closureInfo {rootPaths = [installedSystem];}}/registration",
-          "nixos-install --root /mnt --system ${installedSystem} --no-root-passwd --no-channel-copy >&2",
-      )
-      machine.shutdown()
-
-      # Start up
-      hibernate = create_named_machine("hibernate")
-
-      # Drop in file that checks if we un-hibernated properly (and not booted fresh)
-      hibernate.succeed(
-          "mkdir /run/test",
-          "mount -t ramfs -o size=1m ramfs /run/test",
-          "echo not persisted to disk > /run/test/suspended",
-      )
-
-      # Hibernate machine
-      hibernate.execute("systemctl hibernate >&2 &", check_return=False)
-      hibernate.wait_for_shutdown()
-
-      # Restore machine from hibernation, validate our ramfs file is there.
-      resume = create_named_machine("resume")
-      resume.start()
-      resume.succeed("grep 'not persisted to disk' /run/test/suspended")
-
-      # Ensure we don't restore from hibernation when booting again
-      resume.crash()
-      resume.wait_for_unit("default.target")
-      resume.fail("grep 'not persisted to disk' /run/test/suspended")
-    '';
+  testScript = ''
+    # Drop in file that checks if we un-hibernated properly (and not booted fresh)
+    machine.wait_for_unit("default.target")
+    machine.succeed(
+        "mkdir /run/test",
+        "mount -t ramfs -o size=1m ramfs /run/test",
+        "echo not persisted to disk > /run/test/suspended",
+    )
+
+    # Hibernate machine
+    machine.execute("systemctl hibernate >&2 &", check_return=False)
+    machine.wait_for_shutdown()
+
+    # Restore machine from hibernation, validate our ramfs file is there.
+    machine.start()
+    machine.succeed("grep 'not persisted to disk' /run/test/suspended")
+
+    # Ensure we don't restore from hibernation when booting again
+    machine.crash()
+    machine.wait_for_unit("default.target")
+    machine.fail("grep 'not persisted to disk' /run/test/suspended")
+  '';
 
 }
diff --git a/nixos/tests/initrd-network-ssh/default.nix b/nixos/tests/initrd-network-ssh/default.nix
index 017de6882081d..17b6c21ff1e99 100644
--- a/nixos/tests/initrd-network-ssh/default.nix
+++ b/nixos/tests/initrd-network-ssh/default.nix
@@ -1,12 +1,10 @@
-import ../make-test-python.nix ({ lib, ... }:
+import ../make-test-python.nix ({ lib, pkgs, ... }:
 
 {
   name = "initrd-network-ssh";
-  meta = with lib.maintainers; {
-    maintainers = [ willibutz emily ];
-  };
+  meta.maintainers = with lib.maintainers; [ willibutz emily ];
 
-  nodes = with lib; {
+  nodes = {
     server =
       { config, ... }:
       {
@@ -17,7 +15,7 @@ import ../make-test-python.nix ({ lib, ... }:
           enable = true;
           ssh = {
             enable = true;
-            authorizedKeys = [ (readFile ./id_ed25519.pub) ];
+            authorizedKeys = [ (lib.readFile ./id_ed25519.pub) ];
             port = 22;
             hostKeys = [ ./ssh_host_ed25519_key ];
           };
@@ -37,12 +35,12 @@ import ../make-test-python.nix ({ lib, ... }:
       {
         environment.etc = {
           knownHosts = {
-            text = concatStrings [
+            text = lib.concatStrings [
               "server,"
-              "${toString (head (splitString " " (
-                toString (elemAt (splitString "\n" config.networking.extraHosts) 2)
+              "${toString (lib.head (lib.splitString " " (
+                toString (lib.elemAt (lib.splitString "\n" config.networking.extraHosts) 2)
               )))} "
-              "${readFile ./ssh_host_ed25519_key.pub}"
+              "${lib.readFile ./ssh_host_ed25519_key.pub}"
             ];
           };
           sshKey = {
diff --git a/nixos/tests/kanidm.nix b/nixos/tests/kanidm.nix
index 673a65174dfee..3f5bca397740e 100644
--- a/nixos/tests/kanidm.nix
+++ b/nixos/tests/kanidm.nix
@@ -67,9 +67,10 @@ import ./make-test-python.nix ({ pkgs, ... }:
       ''
         start_all()
         server.wait_for_unit("kanidm.service")
+        client.wait_for_unit("network-online.target")
 
         with subtest("Test HTTP interface"):
-            server.wait_until_succeeds("curl -sf https://${serverDomain} | grep Kanidm")
+            server.wait_until_succeeds("curl -Lsf https://${serverDomain} | grep Kanidm")
 
         with subtest("Test LDAP interface"):
             server.succeed("ldapsearch -H ldaps://${serverDomain}:636 -b '${ldapBaseDN}' -x '(name=test)'")
@@ -80,15 +81,11 @@ import ./make-test-python.nix ({ pkgs, ... }:
             client.succeed("kanidm logout")
 
         with subtest("Recover idm_admin account"):
-            # Must stop the server for account recovery or else kanidmd fails with
-            # "unable to lock kanidm exclusive lock at /var/lib/kanidm/kanidm.db.klock".
-            server.succeed("systemctl stop kanidm")
             idm_admin_password = server.succeed("su - kanidm -c 'kanidmd recover-account -c ${serverConfigFile} idm_admin 2>&1 | rg -o \'[A-Za-z0-9]{48}\' '").strip().removeprefix("'").removesuffix("'")
-            server.succeed("systemctl start kanidm")
 
         with subtest("Test unixd connection"):
             client.wait_for_unit("kanidm-unixd.service")
-            # TODO: client.wait_for_file("/run/kanidm-unixd/sock")
+            client.wait_for_file("/run/kanidm-unixd/sock")
             client.wait_until_succeeds("kanidm-unix status | grep working!")
 
         with subtest("Test user creation"):
diff --git a/nixos/tests/nextcloud/basic.nix b/nixos/tests/nextcloud/basic.nix
index e17f701c54b7d..db5cee9f6584e 100644
--- a/nixos/tests/nextcloud/basic.nix
+++ b/nixos/tests/nextcloud/basic.nix
@@ -14,12 +14,12 @@ in {
     client = { ... }: {
       services.davfs2.enable = true;
       system.activationScripts.davfs2-secrets = ''
-        echo "http://nextcloud/remote.php/webdav/ ${adminuser} ${adminpass}" > /tmp/davfs2-secrets
+        echo "http://nextcloud/remote.php/dav/files/${adminuser} ${adminuser} ${adminpass}" > /tmp/davfs2-secrets
         chmod 600 /tmp/davfs2-secrets
       '';
       virtualisation.fileSystems = {
         "/mnt/dav" = {
-          device = "http://nextcloud/remote.php/webdav/";
+          device = "http://nextcloud/remote.php/dav/files/${adminuser}";
           fsType = "davfs";
           options = let
             davfs2Conf = (pkgs.writeText "davfs2.conf" "secrets /tmp/davfs2-secrets");
@@ -70,7 +70,7 @@ in {
     withRcloneEnv = pkgs.writeScript "with-rclone-env" ''
       #!${pkgs.runtimeShell}
       export RCLONE_CONFIG_NEXTCLOUD_TYPE=webdav
-      export RCLONE_CONFIG_NEXTCLOUD_URL="http://nextcloud/remote.php/webdav/"
+      export RCLONE_CONFIG_NEXTCLOUD_URL="http://nextcloud/remote.php/dav/files/${adminuser}"
       export RCLONE_CONFIG_NEXTCLOUD_VENDOR="nextcloud"
       export RCLONE_CONFIG_NEXTCLOUD_USER="${adminuser}"
       export RCLONE_CONFIG_NEXTCLOUD_PASS="$(${pkgs.rclone}/bin/rclone obscure ${adminpass})"
diff --git a/nixos/tests/nextcloud/openssl-sse.nix b/nixos/tests/nextcloud/openssl-sse.nix
index 659a4311cdddd..92beb869eb035 100644
--- a/nixos/tests/nextcloud/openssl-sse.nix
+++ b/nixos/tests/nextcloud/openssl-sse.nix
@@ -33,7 +33,7 @@ in {
     withRcloneEnv = host: pkgs.writeScript "with-rclone-env" ''
       #!${pkgs.runtimeShell}
       export RCLONE_CONFIG_NEXTCLOUD_TYPE=webdav
-      export RCLONE_CONFIG_NEXTCLOUD_URL="http://${host}/remote.php/webdav/"
+      export RCLONE_CONFIG_NEXTCLOUD_URL="http://${host}/remote.php/dav/files/${adminuser}"
       export RCLONE_CONFIG_NEXTCLOUD_VENDOR="nextcloud"
       export RCLONE_CONFIG_NEXTCLOUD_USER="${adminuser}"
       export RCLONE_CONFIG_NEXTCLOUD_PASS="$(${pkgs.rclone}/bin/rclone obscure ${adminpass})"
diff --git a/nixos/tests/nextcloud/with-declarative-redis-and-secrets.nix b/nixos/tests/nextcloud/with-declarative-redis-and-secrets.nix
index 915fa58ab1458..e638f2e5b861f 100644
--- a/nixos/tests/nextcloud/with-declarative-redis-and-secrets.nix
+++ b/nixos/tests/nextcloud/with-declarative-redis-and-secrets.nix
@@ -1,6 +1,6 @@
 args@{ nextcloudVersion ? 27, ... }:
 (import ../make-test-python.nix ({ pkgs, ...}: let
-  username = "custom_admin_username";
+  adminuser = "custom_admin_username";
   # This will be used both for redis and postgresql
   pass = "hunter2";
   # Don't do this at home, use a file outside of the nix store instead
@@ -34,9 +34,9 @@ in {
         config = {
           dbtype = "pgsql";
           dbname = "nextcloud";
-          dbuser = username;
+          dbuser = adminuser;
           dbpassFile = passFile;
-          adminuser = username;
+          adminuser = adminuser;
           adminpassFile = passFile;
         };
         secretFile = "/etc/nextcloud-secrets.json";
@@ -66,9 +66,9 @@ in {
       systemd.services.postgresql.postStart = pkgs.lib.mkAfter ''
         password=$(cat ${passFile})
         ${config.services.postgresql.package}/bin/psql <<EOF
-          CREATE ROLE ${username} WITH LOGIN PASSWORD '$password' CREATEDB;
+          CREATE ROLE ${adminuser} WITH LOGIN PASSWORD '$password' CREATEDB;
           CREATE DATABASE nextcloud;
-          GRANT ALL PRIVILEGES ON DATABASE nextcloud TO ${username};
+          GRANT ALL PRIVILEGES ON DATABASE nextcloud TO ${adminuser};
         EOF
       '';
 
@@ -89,9 +89,9 @@ in {
     withRcloneEnv = pkgs.writeScript "with-rclone-env" ''
       #!${pkgs.runtimeShell}
       export RCLONE_CONFIG_NEXTCLOUD_TYPE=webdav
-      export RCLONE_CONFIG_NEXTCLOUD_URL="http://nextcloud/remote.php/webdav/"
+      export RCLONE_CONFIG_NEXTCLOUD_URL="http://nextcloud/remote.php/dav/files/${adminuser}"
       export RCLONE_CONFIG_NEXTCLOUD_VENDOR="nextcloud"
-      export RCLONE_CONFIG_NEXTCLOUD_USER="${username}"
+      export RCLONE_CONFIG_NEXTCLOUD_USER="${adminuser}"
       export RCLONE_CONFIG_NEXTCLOUD_PASS="$(${pkgs.rclone}/bin/rclone obscure ${pass})"
       "''${@}"
     '';
diff --git a/nixos/tests/nextcloud/with-mysql-and-memcached.nix b/nixos/tests/nextcloud/with-mysql-and-memcached.nix
index e57aabfaf86b5..035a7fdcb0c80 100644
--- a/nixos/tests/nextcloud/with-mysql-and-memcached.nix
+++ b/nixos/tests/nextcloud/with-mysql-and-memcached.nix
@@ -49,7 +49,7 @@ in {
     withRcloneEnv = pkgs.writeScript "with-rclone-env" ''
       #!${pkgs.runtimeShell}
       export RCLONE_CONFIG_NEXTCLOUD_TYPE=webdav
-      export RCLONE_CONFIG_NEXTCLOUD_URL="http://nextcloud/remote.php/webdav/"
+      export RCLONE_CONFIG_NEXTCLOUD_URL="http://nextcloud/remote.php/dav/files/${adminuser}"
       export RCLONE_CONFIG_NEXTCLOUD_VENDOR="nextcloud"
       export RCLONE_CONFIG_NEXTCLOUD_USER="${adminuser}"
       export RCLONE_CONFIG_NEXTCLOUD_PASS="$(${pkgs.rclone}/bin/rclone obscure ${adminpass})"
diff --git a/nixos/tests/nextcloud/with-postgresql-and-redis.nix b/nixos/tests/nextcloud/with-postgresql-and-redis.nix
index a91208e6cdc4e..586bf50fd939c 100644
--- a/nixos/tests/nextcloud/with-postgresql-and-redis.nix
+++ b/nixos/tests/nextcloud/with-postgresql-and-redis.nix
@@ -60,7 +60,7 @@ in {
     withRcloneEnv = pkgs.writeScript "with-rclone-env" ''
       #!${pkgs.runtimeShell}
       export RCLONE_CONFIG_NEXTCLOUD_TYPE=webdav
-      export RCLONE_CONFIG_NEXTCLOUD_URL="http://nextcloud/remote.php/webdav/"
+      export RCLONE_CONFIG_NEXTCLOUD_URL="http://nextcloud/remote.php/dav/files/${adminuser}"
       export RCLONE_CONFIG_NEXTCLOUD_VENDOR="nextcloud"
       export RCLONE_CONFIG_NEXTCLOUD_USER="${adminuser}"
       export RCLONE_CONFIG_NEXTCLOUD_PASS="$(${pkgs.rclone}/bin/rclone obscure ${adminpass})"
diff --git a/nixos/tests/nginx-status-page.nix b/nixos/tests/nginx-status-page.nix
new file mode 100644
index 0000000000000..ff2c0940379c7
--- /dev/null
+++ b/nixos/tests/nginx-status-page.nix
@@ -0,0 +1,72 @@
+import ./make-test-python.nix ({ pkgs, ... }: {
+  name = "nginx-status-page";
+  meta = with pkgs.lib.maintainers; {
+    maintainers = [ h7x4 ];
+  };
+
+  nodes = {
+    webserver = { ... }: {
+      virtualisation.vlans = [ 1 ];
+
+      networking = {
+        useNetworkd = true;
+        useDHCP = false;
+        firewall.enable = false;
+      };
+
+      systemd.network.networks."01-eth1" = {
+        name = "eth1";
+        networkConfig.Address = "10.0.0.1/24";
+      };
+
+      services.nginx = {
+        enable = true;
+        statusPage = true;
+        virtualHosts."localhost".locations."/index.html".return = "200 'hello world\n'";
+      };
+
+      environment.systemPackages = with pkgs; [ curl ];
+    };
+
+    client = { ... }: {
+      virtualisation.vlans = [ 1 ];
+
+      networking = {
+        useNetworkd = true;
+        useDHCP = false;
+        firewall.enable = false;
+      };
+
+      systemd.network.networks."01-eth1" = {
+        name = "eth1";
+        networkConfig.Address = "10.0.0.2/24";
+      };
+
+      environment.systemPackages = with pkgs; [ curl ];
+    };
+  };
+
+  testScript = { nodes, ... }: ''
+    start_all()
+
+    webserver.wait_for_unit("nginx")
+    webserver.wait_for_open_port(80)
+
+    def expect_http_code(node, code, url):
+        http_code = node.succeed(f"curl -w '%{{http_code}}' '{url}'")
+        assert http_code.split("\n")[-1].strip() == code, \
+          f"expected {code} but got following response:\n{http_code}"
+
+    with subtest("localhost can access status page"):
+        expect_http_code(webserver, "200", "http://localhost/nginx_status")
+
+    with subtest("localhost can access other page"):
+        expect_http_code(webserver, "200", "http://localhost/index.html")
+
+    with subtest("client can not access status page"):
+        expect_http_code(client, "403", "http://10.0.0.1/nginx_status")
+
+    with subtest("client can access other page"):
+        expect_http_code(client, "200", "http://10.0.0.1/index.html")
+  '';
+})
diff --git a/nixos/tests/osquery.nix b/nixos/tests/osquery.nix
index dc55fa82f8d19..9aa9820e50c52 100644
--- a/nixos/tests/osquery.nix
+++ b/nixos/tests/osquery.nix
@@ -1,7 +1,5 @@
 import ./make-test-python.nix ({ lib, pkgs, ... }:
 
-with lib;
-
 let
   config_refresh = "10";
   nullvalue = "NULL";
@@ -9,9 +7,7 @@ let
 in
 {
   name = "osquery";
-  meta = with maintainers; {
-    maintainers = [ znewman01 lewo ];
-  };
+  meta.maintainers = with lib.maintainers; [ znewman01 lewo ];
 
   nodes.machine = { config, pkgs, ... }: {
     services.osquery = {
diff --git a/nixos/tests/sftpgo.nix b/nixos/tests/sftpgo.nix
index ca55b9c962a07..8cd5675c1d4d4 100644
--- a/nixos/tests/sftpgo.nix
+++ b/nixos/tests/sftpgo.nix
@@ -12,8 +12,6 @@
 # would be a nice to have for the future.
 { pkgs, lib, ...  }:
 
-with lib;
-
 let
   inherit (import ./ssh-keys.nix pkgs) snakeOilPrivateKey snakeOilPublicKey;
 
@@ -54,7 +52,7 @@ let
       # inside the dataprovider they will be automatically created.
       # You have to create the folder on the filesystem yourself
       virtual_folders =
-        optional (isMemberOf config sharedFolderName user) {
+        lib.optional (lib.isMemberOf config sharedFolderName user) {
           name = sharedFolderName;
           mapped_path = "${config.services.sftpgo.dataDir}/${sharedFolderName}";
           virtual_path = "/${sharedFolderName}";
@@ -62,10 +60,10 @@ let
 
       # Defines the ACL on the virtual filesystem
       permissions =
-        recursiveUpdate {
+        lib.recursiveUpdate {
           "/" = [ "list" ];     # read-only top level directory
           "/private" = [ "*" ]; # private subdirectory, not shared with others
-        } (optionalAttrs (isMemberOf config "shared" user) {
+        } (lib.optionalAttrs (lib.isMemberOf config "shared" user) {
           "/shared" = [ "*" ];
         });
 
@@ -91,7 +89,7 @@ let
   # of users and folders to import to SFTPGo.
   loadDataJson = config: pkgs.writeText "users-and-folders.json" (builtins.toJSON {
     users =
-      mapAttrsToList (name: user: generateUserAttrSet config user) (normalUsers config);
+      lib.mapAttrsToList (name: user: lib.generateUserAttrSet config user) (normalUsers config);
 
     folders = [
       {
diff --git a/nixos/tests/sing-box.nix b/nixos/tests/sing-box.nix
index 43be89317642c..582d594be3fdb 100644
--- a/nixos/tests/sing-box.nix
+++ b/nixos/tests/sing-box.nix
@@ -8,7 +8,10 @@ import ./make-test-python.nix ({ lib, pkgs, ... }: {
 
   nodes.machine = { pkgs, ... }: {
     environment.systemPackages = [ pkgs.curl ];
-    services.nginx.enable = true;
+    services.nginx = {
+      enable = true;
+      statusPage = true;
+    };
     services.sing-box = {
       enable = true;
       settings = {
diff --git a/nixos/tests/systemd-initrd-networkd-ssh.nix b/nixos/tests/systemd-initrd-networkd-ssh.nix
index 30bd1950de242..6aaa6c828f7bd 100644
--- a/nixos/tests/systemd-initrd-networkd-ssh.nix
+++ b/nixos/tests/systemd-initrd-networkd-ssh.nix
@@ -2,15 +2,16 @@ import ./make-test-python.nix ({ lib, ... }: {
   name = "systemd-initrd-network-ssh";
   meta.maintainers = [ lib.maintainers.elvishjerricco ];
 
-  nodes = with lib; {
+  nodes = {
     server = { config, pkgs, ... }: {
-      environment.systemPackages = [pkgs.cryptsetup];
+      environment.systemPackages = [ pkgs.cryptsetup ];
       boot.loader.systemd-boot.enable = true;
       boot.loader.timeout = 0;
       virtualisation = {
         emptyDiskImages = [ 4096 ];
         useBootLoader = true;
-        # Booting off the encrypted disk requires an available init script from the Nix store
+        # Booting off the encrypted disk requires an available init script from
+        # the Nix store
         mountHostNixStore = true;
         useEFIBoot = true;
       };
@@ -26,7 +27,7 @@ import ./make-test-python.nix ({ lib, ... }: {
           enable = true;
           ssh = {
             enable = true;
-            authorizedKeys = [ (readFile ./initrd-network-ssh/id_ed25519.pub) ];
+            authorizedKeys = [ (lib.readFile ./initrd-network-ssh/id_ed25519.pub) ];
             port = 22;
             # Terrible hack so it works with useBootLoader
             hostKeys = [ { outPath = "${./initrd-network-ssh/ssh_host_ed25519_key}"; } ];
@@ -38,13 +39,13 @@ import ./make-test-python.nix ({ lib, ... }: {
     client = { config, ... }: {
       environment.etc = {
         knownHosts = {
-          text = concatStrings [
+          text = lib.concatStrings [
             "server,"
             "${
-              toString (head (splitString " " (toString
-                (elemAt (splitString "\n" config.networking.extraHosts) 2))))
+              toString (lib.head (lib.splitString " " (toString
+                (lib.elemAt (lib.splitString "\n" config.networking.extraHosts) 2))))
             } "
-            "${readFile ./initrd-network-ssh/ssh_host_ed25519_key.pub}"
+            "${lib.readFile ./initrd-network-ssh/ssh_host_ed25519_key.pub}"
           ];
         };
         sshKey = {
diff --git a/nixos/tests/systemd-shutdown.nix b/nixos/tests/systemd-shutdown.nix
index dad8167f198fc..ca6754046f57a 100644
--- a/nixos/tests/systemd-shutdown.nix
+++ b/nixos/tests/systemd-shutdown.nix
@@ -22,6 +22,6 @@ in {
     machine.wait_for_console_text("Unmounting '/oldroot'")
     machine.wait_for_console_text("${msg}")
     # Don't try to sync filesystems
-    machine.booted = False
+    machine.wait_for_shutdown()
   '';
 })
diff --git a/nixos/tests/terminal-emulators.nix b/nixos/tests/terminal-emulators.nix
index 1651fd54400ff..6d76cc8e57412 100644
--- a/nixos/tests/terminal-emulators.nix
+++ b/nixos/tests/terminal-emulators.nix
@@ -35,6 +35,8 @@ let tests = {
 
       darktile.pkg = p: p.darktile;
 
+      deepin-terminal.pkg = p: p.deepin.deepin-terminal;
+
       eterm.pkg = p: p.eterm;
       eterm.executable = "Eterm";
       eterm.pinkValue = "#D40055";
@@ -121,7 +123,7 @@ in mapAttrs (name: { pkg, executable ? name, cmd ? "SHELL=$command ${executable}
     maintainers = [ jjjollyjim ];
   };
 
-  machine = { pkgsInner, ... }:
+  nodes.machine = { pkgsInner, ... }:
 
   {
     imports = [ ./common/x11.nix ./common/user-account.nix ];
diff --git a/pkgs/applications/audio/alsa-scarlett-gui/default.nix b/pkgs/applications/audio/alsa-scarlett-gui/default.nix
index 80db9e85d3db8..fec5cd3044765 100644
--- a/pkgs/applications/audio/alsa-scarlett-gui/default.nix
+++ b/pkgs/applications/audio/alsa-scarlett-gui/default.nix
@@ -24,6 +24,10 @@ stdenv.mkDerivation rec {
   sourceRoot = "source/src";
   nativeBuildInputs = [ pkg-config wrapGAppsHook4 ];
   buildInputs = [ gtk4 alsa-lib ];
+  postInstall = ''
+      substituteInPlace $out/share/applications/vu.b4.${pname}.desktop \
+        --replace "Exec=/bin/alsa-scarlett-gui" "Exec=$out/bin/${pname}"
+  '';
 
   # causes redefinition of _FORTIFY_SOURCE
   hardeningDisable = [ "fortify3" ];
diff --git a/pkgs/applications/audio/bambootracker/default.nix b/pkgs/applications/audio/bambootracker/default.nix
index 0cb33062bd0ed..e805dd1f90cc6 100644
--- a/pkgs/applications/audio/bambootracker/default.nix
+++ b/pkgs/applications/audio/bambootracker/default.nix
@@ -1,11 +1,13 @@
 { stdenv
 , lib
 , fetchFromGitHub
+, gitUpdater
 , pkg-config
 , qmake
 , qt5compat ? null
 , qtbase
 , qttools
+, qtwayland
 , rtaudio
 , rtmidi
 , wrapQtAppsHook
@@ -13,16 +15,16 @@
 
 assert lib.versionAtLeast qtbase.version "6.0" -> qt5compat != null;
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "bambootracker";
-  version = "0.6.1";
+  version = "0.6.2";
 
   src = fetchFromGitHub {
     owner = "BambooTracker";
     repo = "BambooTracker";
-    rev = "v${version}";
+    rev = "v${finalAttrs.version}";
     fetchSubmodules = true;
-    hash = "sha256-Ymi1tjJCgStF0Rtseelq/YuTtBs2PrbF898TlbjyYUw=";
+    hash = "sha256-rn6PNxVsLEXz8q3nvMMhKV1/Woq2CxROf0qsQJykyUs=";
   };
 
   postPatch = lib.optionalString (lib.versionAtLeast qtbase.version "6.0") ''
@@ -41,14 +43,16 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     qtbase
-    rtaudio
     rtmidi
+  ] ++ lib.optionals stdenv.hostPlatform.isLinux [
+    qtwayland
   ] ++ lib.optionals (lib.versionAtLeast qtbase.version "6.0") [
     qt5compat
-  ];
+  ] ++ rtaudio.buildInputs;
 
   qmakeFlags = [
-    "CONFIG+=system_rtaudio"
+    # we don't have RtAudio 6 yet: https://github.com/NixOS/nixpkgs/pull/245075
+    # "CONFIG+=system_rtaudio"
     "CONFIG+=system_rtmidi"
   ];
 
@@ -64,6 +68,12 @@ stdenv.mkDerivation rec {
     wrapQtApp $out/Applications/BambooTracker.app/Contents/MacOS/BambooTracker
   '';
 
+  passthru = {
+    updateScript = gitUpdater {
+      rev-prefix = "v";
+    };
+  };
+
   meta = with lib; {
     description = "A tracker for YM2608 (OPNA) which was used in NEC PC-8801/9801 series computers";
     homepage = "https://bambootracker.github.io/BambooTracker/";
@@ -71,4 +81,4 @@ stdenv.mkDerivation rec {
     platforms = platforms.all;
     maintainers = with maintainers; [ OPNA2608 ];
   };
-}
+})
diff --git a/pkgs/applications/audio/espeak-ng/default.nix b/pkgs/applications/audio/espeak-ng/default.nix
index d53c0ac1caff4..5e62399c8a483 100644
--- a/pkgs/applications/audio/espeak-ng/default.nix
+++ b/pkgs/applications/audio/espeak-ng/default.nix
@@ -75,5 +75,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ aske ];
     platforms = platforms.all;
+    mainProgram = "espeak-ng";
   };
 }
diff --git a/pkgs/applications/audio/feishin/darwin.nix b/pkgs/applications/audio/feishin/darwin.nix
new file mode 100644
index 0000000000000..b8b28f4768216
--- /dev/null
+++ b/pkgs/applications/audio/feishin/darwin.nix
@@ -0,0 +1,41 @@
+{ stdenv
+, lib
+, meta
+, fetchurl
+, unzip
+, mpv
+, electron_24
+, makeDesktopItem
+, makeWrapper
+, pname
+, appname
+, version
+}:
+
+stdenv.mkDerivation {
+  inherit pname version;
+
+  src = fetchurl {
+    url = "https://github.com/jeffvli/feishin/releases/download/v${version}/${appname}-${version}-mac-x64.zip";
+    hash = "sha256-WzU/Yd3cNMIpmkKWC29mQlviYXiYV5k8+80iyzilPGc=";
+  };
+
+  nativeBuildInputs = [ makeWrapper unzip ];
+
+  # Installs mpv as a requirement
+  propagatedBuildInputs = [ mpv ];
+
+  installPhase = ''
+    runHook preInstall
+    mkdir -p $out/{Applications/${appname}.app,bin}
+    cp -R . $out/Applications/${appname}.app
+    makeWrapper $out/Applications/${appname}.app/Contents/MacOS/${appname} $out/bin/${pname}
+    runHook postInstall
+  '';
+
+  shellHook = ''
+    set -x
+    export LD_LIBRARY_PATH=${mpv}/lib
+    set +x
+  '';
+}
diff --git a/pkgs/applications/audio/feishin/default.nix b/pkgs/applications/audio/feishin/default.nix
new file mode 100644
index 0000000000000..f9a670dbfa3e7
--- /dev/null
+++ b/pkgs/applications/audio/feishin/default.nix
@@ -0,0 +1,26 @@
+{ lib
+, stdenv
+, callPackage
+, ...
+}@args:
+
+let
+  extraArgs = removeAttrs args [ "callPackage" ];
+
+  pname = "feishin";
+  version = "0.2.0";
+  appname = "Feishin";
+
+  meta = with lib; {
+    description = "Full-featured Subsonic/Jellyfin compatible desktop music player";
+    homepage = "https://github.com/jeffvli/feishin";
+    changelog = "https://github.com/jeffvli/feishin/releases/tag/v${version}";
+    sourceProvenance = with sourceTypes; [ binaryNativeCode ];
+    license = licenses.mit;
+    platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ];
+    maintainers = with maintainers; [ onny ];
+  };
+
+in if stdenv.isDarwin
+then callPackage ./darwin.nix (extraArgs // { inherit pname appname version meta; })
+else callPackage ./linux.nix (extraArgs // { inherit pname appname version meta; })
diff --git a/pkgs/applications/audio/feishin/linux.nix b/pkgs/applications/audio/feishin/linux.nix
new file mode 100644
index 0000000000000..08adc69bb7ee9
--- /dev/null
+++ b/pkgs/applications/audio/feishin/linux.nix
@@ -0,0 +1,71 @@
+{ stdenv
+, meta
+, lib
+, fetchurl
+, mpv
+, graphicsmagick
+, electron_24
+, makeDesktopItem
+, makeWrapper
+, pname
+, appname
+, version
+}:
+
+let
+  icon = fetchurl {
+    url =
+      "https://github.com/jeffvli/feishin/raw/development/assets/icons/1024x1024.png";
+    sha256 = "sha256-8Qigt1CNMa3SDVK2cdqWJuMSl19yfy6nPQfME4qA48I=";
+  };
+
+  desktopItem = makeDesktopItem {
+    name = "feishin";
+    desktopName = "Feishin";
+    comment = "Full-featured Subsonic/Jellyfin compatible desktop music player";
+    icon = "feishin";
+    exec = "feishin %u";
+    categories = [ "Audio" ];
+    mimeTypes = [ "x-scheme-handler/feishin" ];
+  };
+in
+
+stdenv.mkDerivation {
+  inherit pname version;
+
+  src = fetchurl {
+    url = "https://github.com/jeffvli/feishin/releases/download/v${version}/${appname}-${version}-linux-x64.tar.xz";
+    hash = "sha256-o+fEjdG2iN84FEchyAKWZCpsrqDm1K1k+Q2K+cwYBZE=";
+  };
+
+
+  nativeBuildInputs = [ makeWrapper graphicsmagick ];
+
+  # Installs mpv as a requirement
+  propagatedBuildInputs = [ mpv ];
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/bin
+    mkdir -p $out/share
+    cp -r resources $out/share/${pname}/
+    cp -r locales $out/share/${pname}/
+
+    makeWrapper ${electron_24}/bin/electron $out/bin/${pname} \
+      --add-flags $out/share/${pname}/app.asar
+    install -m 444 -D "${desktopItem}/share/applications/"* \
+      -t $out/share/applications/
+    for size in 16 24 32 48 64 128 256 512; do
+      mkdir -p $out/share/icons/hicolor/"$size"x"$size"/apps
+      gm convert -resize "$size"x"$size" ${icon} $out/share/icons/hicolor/"$size"x"$size"/apps/${appname}.png
+    done
+    runHook postInstall
+  '';
+
+  shellHook = ''
+    set -x
+    export LD_LIBRARY_PATH=${mpv}/lib
+    set +x
+  '';
+}
diff --git a/pkgs/applications/audio/musescore/default.nix b/pkgs/applications/audio/musescore/default.nix
index fa166051db61e..ecc2ccf875f27 100644
--- a/pkgs/applications/audio/musescore/default.nix
+++ b/pkgs/applications/audio/musescore/default.nix
@@ -7,6 +7,7 @@
 , pkg-config
 , ninja
 , alsa-lib
+, alsa-plugins
 , freetype
 , libjack2
 , lame
@@ -47,13 +48,13 @@ let
   } else portaudio;
 in stdenv'.mkDerivation rec {
   pname = "musescore";
-  version = "4.1.0";
+  version = "4.1.1";
 
   src = fetchFromGitHub {
     owner = "musescore";
     repo = "MuseScore";
     rev = "v${version}";
-    sha256 = "sha256-CqW1f0VsF2lW79L3FY2ev+6FoHLbYOJ9LWHeBlWegeU=";
+    sha256 = "sha256-jXievVIA0tqLdKLy6oPaOHPIbDoFstveEQBri9M0Aoo=";
   };
   patches = [
     # Upstream from some reason wants to install qml files from qtbase in
@@ -85,6 +86,8 @@ in stdenv'.mkDerivation rec {
   qtWrapperArgs = [
     # MuseScore JACK backend loads libjack at runtime.
     "--prefix ${lib.optionalString stdenv.isDarwin "DY"}LD_LIBRARY_PATH : ${lib.makeLibraryPath [ libjack2 ]}"
+  ] ++ lib.optionals (stdenv.isLinux) [
+    "--set ALSA_PLUGIN_DIR ${alsa-plugins}/lib/alsa-lib"
   ] ++ lib.optionals (!stdenv.isDarwin) [
     # There are some issues with using the wayland backend, see:
     # https://musescore.org/en/node/321936
diff --git a/pkgs/applications/backup/ludusavi/default.nix b/pkgs/applications/backup/ludusavi/default.nix
index f55ba109ba125..efe99f845531f 100644
--- a/pkgs/applications/backup/ludusavi/default.nix
+++ b/pkgs/applications/backup/ludusavi/default.nix
@@ -18,16 +18,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "ludusavi";
-  version = "0.19.0";
+  version = "0.20.0";
 
   src = fetchFromGitHub {
     owner = "mtkennerly";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-1Na+xGcb15/ZRbuy96qJwPg6Zo7FsGwCUXD3XgzWXo0=";
+    hash = "sha256-6wwBXgR0jutkM3L7Ihi4qryuOeBRItQTyKn2lNcvfdQ=";
   };
 
-  cargoSha256 = "sha256-JjeOODm5xsRM5cJgCDb89cN60SuEeDzTVe6siKVDdcU=";
+  cargoSha256 = "sha256-9ksstWNqc2Rq5fdb4/LLHGMUXQgri9BAo2LlkFl3Irg=";
 
   nativeBuildInputs = [
     cmake
diff --git a/pkgs/applications/backup/unifi-protect-backup/default.nix b/pkgs/applications/backup/unifi-protect-backup/default.nix
index 77cf29eb4d89a..d801d81f86f50 100644
--- a/pkgs/applications/backup/unifi-protect-backup/default.nix
+++ b/pkgs/applications/backup/unifi-protect-backup/default.nix
@@ -5,7 +5,7 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "unifi-protect-backup";
-  version = "0.9.1";
+  version = "0.9.4";
 
   format = "pyproject";
 
@@ -13,7 +13,7 @@ python3.pkgs.buildPythonApplication rec {
     owner = "ep1cman";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-L7uM5v2CYGFHYxzBUKlMF+ChtjBM24GZ8NuyoQaOU6U=";
+    hash = "sha256-MFg518iodxdHbr7k5kpkTWI59Kk7pPwyIVswVcjasl8=";
   };
 
   pythonRelaxDeps = [
@@ -33,6 +33,7 @@ python3.pkgs.buildPythonApplication rec {
     aiorun
     aiosqlite
     apprise
+    async-lru
     click
     expiring-dict
     python-dateutil
diff --git a/pkgs/applications/blockchains/btcpayserver/default.nix b/pkgs/applications/blockchains/btcpayserver/default.nix
index c98e3e85ed722..5a8ab4f0a44ef 100644
--- a/pkgs/applications/blockchains/btcpayserver/default.nix
+++ b/pkgs/applications/blockchains/btcpayserver/default.nix
@@ -6,13 +6,13 @@
 
 buildDotnetModule rec {
   pname = "btcpayserver";
-  version = "1.10.3";
+  version = "1.11.1";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-a2+Rh+Pxy4pCU9eo4L3986+yVvjrNZY2bFQiUpVuYqM=";
+    sha256 = "sha256-fKw1RKylpbejzSTO3Ti2toJiSwqtmNC1e2XDAYa9L/0=";
   };
 
   projectFile = "BTCPayServer/BTCPayServer.csproj";
diff --git a/pkgs/applications/blockchains/btcpayserver/deps.nix b/pkgs/applications/blockchains/btcpayserver/deps.nix
index 58bf97870f24e..54ef0abbe57e2 100644
--- a/pkgs/applications/blockchains/btcpayserver/deps.nix
+++ b/pkgs/applications/blockchains/btcpayserver/deps.nix
@@ -8,9 +8,9 @@
   (fetchNuGet { pname = "AWSSDK.S3"; version = "3.3.110.10"; sha256 = "1lf1hfbx792dpa1hxgn0a0jrrvldd16hgbxx229dk2qcz5qlnc38"; })
   (fetchNuGet { pname = "BIP78.Sender"; version = "0.2.2"; sha256 = "12pm2s35c0qzc06099q2z1pxwq94rq85n74yz8fs8gwvm2ksgp4p"; })
   (fetchNuGet { pname = "BTCPayServer.Hwi"; version = "2.0.2"; sha256 = "0lh3n1qncqs4kbrmx65xs271f0d9c7irrs9qnsa9q51cbbqbljh9"; })
-  (fetchNuGet { pname = "BTCPayServer.Lightning.All"; version = "1.4.28"; sha256 = "1zwixvm22nh76ril7w2rkwdvikm76b822iscscpyp6nrfl8mzqi0"; })
+  (fetchNuGet { pname = "BTCPayServer.Lightning.All"; version = "1.4.29"; sha256 = "1kd07n0l0h6cmfxb5mdkawjsbmjynz2dknnj8c22wvk1jchif956"; })
   (fetchNuGet { pname = "BTCPayServer.Lightning.Charge"; version = "1.3.20"; sha256 = "0nk82hkgs67mxfxkgbav8yxxd79m0xyqaan7vay00gg33pjqdjvj"; })
-  (fetchNuGet { pname = "BTCPayServer.Lightning.CLightning"; version = "1.3.27"; sha256 = "14bgi3p31v8ypf1lqnc5xkpzfd2cj5a23v2wv1m38jl6ng2v6vqp"; })
+  (fetchNuGet { pname = "BTCPayServer.Lightning.CLightning"; version = "1.3.28"; sha256 = "05jkdds1g0xfvf8spakwbyndz8an2kadwybg6dwz6q5rlk0aj7m8"; })
   (fetchNuGet { pname = "BTCPayServer.Lightning.Common"; version = "1.3.16"; sha256 = "1g37736b4k0ncpyy2qycbk4l85fqvgwac3k98nbdj0dvhfghp1dn"; })
   (fetchNuGet { pname = "BTCPayServer.Lightning.Common"; version = "1.3.21"; sha256 = "042xwfsxd30zgwiz0w14ynb755w5sldkplxgw1fkw68lrz66x5s4"; })
   (fetchNuGet { pname = "BTCPayServer.Lightning.Eclair"; version = "1.3.20"; sha256 = "093w82mcxxxbvx66j0sp3lsfm2bkbi3igm80iz9zdghy85845kc9"; })
diff --git a/pkgs/applications/blockchains/ledger-live-desktop/default.nix b/pkgs/applications/blockchains/ledger-live-desktop/default.nix
index ce51c4284b3f1..bf84ab1ba45e3 100644
--- a/pkgs/applications/blockchains/ledger-live-desktop/default.nix
+++ b/pkgs/applications/blockchains/ledger-live-desktop/default.nix
@@ -2,11 +2,11 @@
 
 let
   pname = "ledger-live-desktop";
-  version = "2.64.1";
+  version = "2.64.2";
 
   src = fetchurl {
     url = "https://download.live.ledger.com/${pname}-${version}-linux-x86_64.AppImage";
-    hash = "sha256-EdrJcu3xv+Q31ps3pcjfQh+Kf6C/sidGpk2XM8qBEr0=";
+    hash = "sha256-8cb5FA/Ogd6GI0AclxHicZGV3K5bVsZuIl/3A03r5qQ=";
   };
 
 
diff --git a/pkgs/applications/display-managers/greetd/default.nix b/pkgs/applications/display-managers/greetd/default.nix
index 744b43f6f8aa4..3a4d385f4f6c6 100644
--- a/pkgs/applications/display-managers/greetd/default.nix
+++ b/pkgs/applications/display-managers/greetd/default.nix
@@ -8,16 +8,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "greetd";
-  version = "0.8.0";
+  version = "0.9.0";
 
   src = fetchFromSourcehut {
     owner = "~kennylevinsen";
     repo = pname;
     rev = version;
-    sha256 = "sha256-20D6HanUeAc0S9czkNJFmhsrfEqodpafkHsmwKccrHQ=";
+    sha256 = "sha256-w68iKabVVIHB+ujCd5q+L4T6+Tfqedou3wXOuMGi6aw=";
   };
 
-  cargoHash = "sha256-8nMQ81Y0DnPs9WmxNASlcjTEVw5lh+nZtZ7vmmBCu2g=";
+  cargoHash = "sha256-vn1ih4YXsltR1zdy7BzS3CSJO9Uewx/654lRTSkWV0k=";
 
   nativeBuildInputs = [
     scdoc
diff --git a/pkgs/applications/display-managers/greetd/regreet.nix b/pkgs/applications/display-managers/greetd/regreet.nix
index a520ad88d6e11..6cd336821cca1 100644
--- a/pkgs/applications/display-managers/greetd/regreet.nix
+++ b/pkgs/applications/display-managers/greetd/regreet.nix
@@ -31,5 +31,6 @@ rustPlatform.buildRustPackage rec {
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ fufexan ];
     platforms = platforms.linux;
+    mainProgram = "regreet";
   };
 }
diff --git a/pkgs/applications/display-managers/lemurs/default.nix b/pkgs/applications/display-managers/lemurs/default.nix
new file mode 100644
index 0000000000000..9973099b1f590
--- /dev/null
+++ b/pkgs/applications/display-managers/lemurs/default.nix
@@ -0,0 +1,33 @@
+{
+  fetchFromGitHub,
+  lib,
+  linux-pam,
+  rustPlatform,
+}:
+rustPlatform.buildRustPackage rec {
+  pname = "lemurs";
+  version = "0.3.1";
+
+  src = fetchFromGitHub {
+    owner = "coastalwhite";
+    repo = "lemurs";
+    rev = "v${version}";
+    hash = "sha256-6mNSLEWafw8yDGnemOhEiK8FTrBC+6+PuhlbOXTGmN0=";
+  };
+
+  cargoHash = "sha256-nfUBC1HSs7PcIbD7MViJFkfFAPda83XbAupNeShfwOs=";
+
+  # Fixes a lock issue
+  preConfigure = "cargo update --offline";
+
+  buildInputs = [
+    linux-pam
+  ];
+
+  meta = with lib; {
+    description = "A customizable TUI display/login manager written in Rust";
+    homepage = "https://github.com/coastalwhite/lemurs";
+    license = with licenses; [asl20 mit];
+    maintainers = with maintainers; [jeremiahs];
+  };
+}
diff --git a/pkgs/applications/editors/android-studio/default.nix b/pkgs/applications/editors/android-studio/default.nix
index fc8600abb1afe..e71677c130e6a 100644
--- a/pkgs/applications/editors/android-studio/default.nix
+++ b/pkgs/applications/editors/android-studio/default.nix
@@ -10,16 +10,16 @@ let
     inherit tiling_wm;
   };
   stableVersion = {
-    version = "2022.2.1.20"; # "Android Studio Flamingo (2022.2.1) Patch 2"
-    sha256Hash = "sha256-X+ZuH4cHKfQtfvOF0kLk+QjQ5AR3pTEparczHEUk+uY=";
+    version = "2022.3.1.18"; # "Android Studio Giraffe (2022.3.1)"
+    sha256Hash = "sha256-JCFeEySmrJEYELLMGvstc1z3Rd+8BpGKQrjW+8a/dDM=";
   };
   betaVersion = {
-    version = "2022.3.1.16"; # "Android Studio Giraffe (2022.3.1) Beta 5"
-    sha256Hash = "sha256-D+Hoa50fzvtO0/6DsExmGSDzcgDIT2Bg+HvI6mCle14=";
+    version = "2022.3.1.17"; # "Android Studio Giraffe (2022.3.1) RC 1"
+    sha256Hash = "sha256-Bpur9ytiwa0udiyYVxlfLT4M+ZcO5atQUQg/ForATP4=";
   };
   latestVersion = {
-    version = "2023.1.1.12"; # Android Studio Hedgehog (2023.1.1) Canary 12
-    sha256Hash = "sha256-/BKtjX3O6PCqtzVfVMPICcip6tf6W/JV5UzWgON+kZY=";
+    version = "2023.1.1.14"; # Android Studio Hedgehog (2023.1.1) Canary 14
+    sha256Hash = "sha256-MgZDUpRyM0XDfgqfYjtJJyG2CBaNB06PgtoJltDwNwk=";
   };
 in {
   # Attributes are named by their corresponding release channels
diff --git a/pkgs/applications/editors/jupyter-kernels/clojupyter/deps.edn b/pkgs/applications/editors/jupyter-kernels/clojupyter/deps.edn
index be5a54fb06c17..7162053d19713 100644
--- a/pkgs/applications/editors/jupyter-kernels/clojupyter/deps.edn
+++ b/pkgs/applications/editors/jupyter-kernels/clojupyter/deps.edn
@@ -1 +1 @@
-{:deps {clojupyter/clojupyter {:mvn/version "0.3.3"}}}
+{:deps {clojupyter/clojupyter {:mvn/version "0.3.6"}}}
diff --git a/pkgs/applications/editors/jupyter-kernels/clojupyter/deps.nix b/pkgs/applications/editors/jupyter-kernels/clojupyter/deps.nix
index 2be3bf7a33e39..99299e2715094 100644
--- a/pkgs/applications/editors/jupyter-kernels/clojupyter/deps.nix
+++ b/pkgs/applications/editors/jupyter-kernels/clojupyter/deps.nix
@@ -31,8 +31,8 @@
       inherit repos;
       artifactId = "data.json";
       groupId = "org.clojure";
-      sha512 = "b767973db8b5b36aeb5c55f082e020a5c3f657bee1eede018e68ccaa2c535005759bc8a162fce7bb63eee1c14c6f29ec1c6080978a08817189864cbd40f154fa";
-      version = "2.3.1";
+      sha512 = "04b7c0c90cb26d643a0b3e7e1ffa2d2d423e977c1454ee5ea7c2e75547ecbc113838df17b797902a975f5ea2184a81a45b605a4d82970805e2bbb02feebc578d";
+      version = "2.4.0";
     };
   }
 
@@ -42,8 +42,8 @@
       inherit repos;
       artifactId = "clojure";
       groupId = "org.clojure";
-      sha512 = "f28178179483531862afae13e246386f8fda081afa523d3c4ea3a083ab607d23575d38ecb9ec0ee7f4d65cbe39a119f680e6de4669bc9cf593aa92be0c61562b";
-      version = "1.10.1";
+      sha512 = "1925300a0fe4cc9fc3985910bb04ae65a19ce274dacc5ec76e708cfa87a7952a0a77282b083d0aebb2206afff619af73a57f0d661a3423601586f0829cc7956b";
+      version = "1.11.1";
     };
   }
 
@@ -64,8 +64,8 @@
       inherit repos;
       artifactId = "clojupyter";
       groupId = "clojupyter";
-      sha512 = "d030ae69cdadecbcec9a052e4ad91ba4f47cdc4bb3fb780317f337af62d8c34d12ef05d132d6c9a4ce790008c979919c22162432c1b9bcf4e0a470020d585dbe";
-      version = "0.3.3";
+      sha512 = "9a4f001cbde7a4de2d27859b25e508ba649225acf9dabad4c1c274e86674e0dcde250a49cacd0767bb99f5b15a61e2f1c829fb2fe7b7dfc4b87681b7ae0b04ae";
+      version = "0.3.6";
     };
   }
 
@@ -86,8 +86,8 @@
       inherit repos;
       artifactId = "tools.analyzer";
       groupId = "org.clojure";
-      sha512 = "e02d7baec926e0e0a7d9c71f09fee627fbde59ae7f3cbd4abcdf0533c8a87fba8c7cf4503df34bf33777063f4b6353a022552fd003fdbea9fad5752d53609bb8";
-      version = "1.0.0";
+      sha512 = "c51752a714848247b05c6f98b54276b4fe8fd44b3d970070b0f30cd755ac6656030fd8943a1ffd08279af8eeff160365be47791e48f05ac9cc2488b6e2dfe504";
+      version = "1.1.0";
     };
   }
 
@@ -130,8 +130,8 @@
       inherit repos;
       artifactId = "core.specs.alpha";
       groupId = "org.clojure";
-      sha512 = "348c0ea0911bc0dcb08655e61b97ba040649b4b46c32a62aa84d0c29c245a8af5c16d44a4fa5455d6ab076f4bb5bbbe1ad3064a7befe583f13aeb9e32a169bf4";
-      version = "0.2.44";
+      sha512 = "f521f95b362a47bb35f7c85528c34537f905fb3dd24f2284201e445635a0df701b35d8419d53c6507cc78d3717c1f83cda35ea4c82abd8943cd2ab3de3fcad70";
+      version = "0.2.62";
     };
   }
 
@@ -152,8 +152,8 @@
       inherit repos;
       artifactId = "jeromq";
       groupId = "org.zeromq";
-      sha512 = "0965b82a10136a656dfe48268008536a57b26be9190ff2f3d5dbf3fa298e21bc754e70b1e7fae1aca782d25c397c9ce8fa3832783665391142b31dc4a1bd0233";
-      version = "0.5.1";
+      sha512 = "bd502d345926160b1a09e45f60eb81254dc67d6d9d7b79e025c08018dd16a18d32ff85b2440c352d530e61c96cd3b2d88fee2a8a912b436015ed31039e308ff4";
+      version = "0.5.2";
     };
   }
 
@@ -163,8 +163,8 @@
       inherit repos;
       artifactId = "spec.alpha";
       groupId = "org.clojure";
-      sha512 = "18c97fb2b74c0bc2ff4f6dc722a3edec539f882ee85d0addf22bbf7e6fe02605d63f40c2b8a2905868ccd6f96cfc36a65f5fb70ddac31c6ec93da228a456edbd";
-      version = "0.2.176";
+      sha512 = "ddfe4fa84622abd8ac56e2aa565a56e6bdc0bf330f377ff3e269ddc241bb9dbcac332c13502dfd4c09c2c08fe24d8d2e8cf3d04a1bc819ca5657b4e41feaa7c2";
+      version = "0.3.218";
     };
   }
 
@@ -174,8 +174,8 @@
       inherit repos;
       artifactId = "pandect";
       groupId = "pandect";
-      sha512 = "8c265289f46a94cf2400f05223cdd3f9faee9a39e6ed5a55a3e89b09334a61e928c0f27e2db834edf3b544e2148a511bccf1ef73132bd9263659bed381abb59a";
-      version = "0.6.1";
+      sha512 = "6179967af34e1abbe0dda2bd0961f101d016df6b1ce5bf4bb823794b07ee551d245d09e957a9c47bc3a15d306cca80ad1b9b11be99e1b3feb245c26e1b9154a3";
+      version = "1.0.2";
     };
   }
 
@@ -185,8 +185,8 @@
       inherit repos;
       artifactId = "tools.cli";
       groupId = "org.clojure";
-      sha512 = "9baf3fafe2e92b846404ef1bd897a4a335fe4bc1f78a2408ee93c09dc960a630f58a0e863b2d299624783f2851bb5d83f93fa627276d28d66c92764c46f27efe";
-      version = "0.4.2";
+      sha512 = "1d88aa03eb6a664bf2c0ce22c45e7296d54d716e29b11904115be80ea1661623cf3e81fc222d164047058239010eb678af92ffedc7c3006475cceb59f3b21265";
+      version = "1.0.206";
     };
   }
 
@@ -196,8 +196,8 @@
       inherit repos;
       artifactId = "encore";
       groupId = "com.taoensso";
-      sha512 = "bb9510a88bca86f9cfc4a2e5c8a85782bc71d961a0a639735edafb61df130422488ee40d1db4cb6ad961e40acdb07259052937391c32f1e54c71f09dd63d33e5";
-      version = "3.12.1";
+      sha512 = "43dbec081c4ad7b21526371bc78844877d50dd08580c4c039c4dac7e854247a6b145bda835460863fa91d270e81783ddcdad3aaa1a902575be5b21ac0a95c7d0";
+      version = "3.21.0";
     };
   }
 
@@ -218,8 +218,8 @@
       inherit repos;
       artifactId = "jcl-over-slf4j";
       groupId = "org.slf4j";
-      sha512 = "d9c08c3e4cb18b2d69ba8bcd4bbf3955dbc287e20141d244486f6237c36e8e2cf86ae48c295b5dd579219b5c7b1197658153f10fce73d155a4a1d4e6c7943952";
-      version = "1.7.22";
+      sha512 = "17aca766b01f136d39bda982a6046d01d296ee076d9628e9776256bd931bbd88437377d5f1cc196d75bd7fa1672dd131311dbf567b4c3a618dd538a6905fbb64";
+      version = "2.0.3";
     };
   }
 
@@ -229,8 +229,8 @@
       inherit repos;
       artifactId = "tools.analyzer.jvm";
       groupId = "org.clojure";
-      sha512 = "ce9c7b51fa61c12c539f3c5c1c7fa1caf123497553d4e566c13895312faad2d2657fe6e54fe88110a6c87accb10c4c3b6ccfa87a035a7321da6c859da1d192d0";
-      version = "1.1.0";
+      sha512 = "36ad50a7a79c47dea16032fc4b927bd7b56b8bedcbd20cc9c1b9c85edede3a455369b8806509b56a48457dcd32e1f708f74228bce2b4492bd6ff6fc4f1219d56";
+      version = "1.2.2";
     };
   }
 
@@ -251,19 +251,8 @@
       inherit repos;
       artifactId = "pedestal.log";
       groupId = "io.pedestal";
-      sha512 = "f6c4d8e1b202af9ef7950ec6d02b96f0e598e8d1f9ffffe8e5650e8ffdebd6c4919166aa83e34f47407870473024d28e7a49a2a0ad2b9af221514e42c518baae";
-      version = "0.5.7";
-    };
-  }
-
-  {
-    name = "org.clojure/tools.macro";
-    path = pkgs.fetchMavenArtifact {
-      inherit repos;
-      artifactId = "tools.macro";
-      groupId = "org.clojure";
-      sha512 = "18fb889ec7f0c8f23084f01587582be3c1baaa475249c40cfa8edc78c75079807ed49f2fb714a5c79b16bcf233142abcf571b12fff4e29cd78850c0016d6b4b9";
-      version = "0.1.1";
+      sha512 = "229c6c73dc7ec39aee15f54ce81cf2b33301e444241f2dff2066b4c10ff47968f3caa95a8a918601e8f3e7563b34da6925e533615e7ce8b1f39bdb97ca082757";
+      version = "0.5.10";
     };
   }
 
@@ -273,19 +262,8 @@
       inherit repos;
       artifactId = "jackson-dataformat-cbor";
       groupId = "com.fasterxml.jackson.dataformat";
-      sha512 = "575a00fec1760571403aaadbe0aa6c74f8bb01f40feae00741df6604e7c2bf199ac739a789bbd5d83af75ec6d9fcc55f5a1515b05aef33e0d3cc3046acad9e89";
-      version = "2.10.2";
-    };
-  }
-
-  {
-    name = "org.flatland/useful";
-    path = pkgs.fetchMavenArtifact {
-      inherit repos;
-      artifactId = "useful";
-      groupId = "org.flatland";
-      sha512 = "b97c92692e36be3e4bdfe4a6b1f1ecb2729c960c25884d1cb12218d0b807789dc37120022b4dd0fd5daba1dd16f892ac134576f84ef301c23525ba55cb041e2d";
-      version = "0.11.6";
+      sha512 = "b6e16c43fb3e71f82f8e7dc558f53cbcc8fea31efa59f40d22220f6e40167cf32c150efa18a81f839008d6a042e201bf17d8fd52a4fecbe8f356454f2d6a6170";
+      version = "2.13.3";
     };
   }
 
@@ -339,8 +317,8 @@
       inherit repos;
       artifactId = "pretty";
       groupId = "io.aviso";
-      sha512 = "512454e5296c54e2d2f3ddb3122e99edae3286b7e7f9a63dd453c96225b6aa5d0fb0972d58d7dac434b297f47a1f27d1b2021c126064af020f0c3040097226d6";
-      version = "0.1.37";
+      sha512 = "416433ae5c5773a3a12e7cff3f75a43f1a2d3f4454aad04d065c1e4e13627130f289dbb41355a5665236082b6535939fc4c40a2fddcc22a40d0d4ba290544bfb";
+      version = "1.1.1";
     };
   }
 
@@ -350,8 +328,8 @@
       inherit repos;
       artifactId = "rewrite-clj";
       groupId = "rewrite-clj";
-      sha512 = "14018072e5c9466e8cafc08d68633f0d0a410ceb6631bd48cf7d67056e5bc972618f1b3f80ba00c4fdf88ad884fe58b636945ec6f053cbe14aee61ef173e12d3";
-      version = "0.6.1";
+      sha512 = "04850f7b29be722be6c01760705be43e1b5b93315baa096925ceac94835b58702913c45c8166dadf193fb8f5150ff2c5539ae3ec85c37331727e5d0accfefcca";
+      version = "1.1.45";
     };
   }
 
@@ -394,8 +372,8 @@
       inherit repos;
       artifactId = "ordered";
       groupId = "org.flatland";
-      sha512 = "16ba9c232cefcf363c603af95343db3f86538e3829dce9fba9adce48c3bf2e80c24e4e30a4583750d124aeb9f1031cdbe93d08796366484495b1b22857de3045";
-      version = "1.5.7";
+      sha512 = "849f115d8dc22122577bb6c2af383663488a84125303ba90559f4f5d8538693a5797d95aca608e6844413b925ea6e12112f0cf2d3dcacfcc603b50d749f7a25e";
+      version = "1.15.10";
     };
   }
 
@@ -427,8 +405,8 @@
       inherit repos;
       artifactId = "jackson-core";
       groupId = "com.fasterxml.jackson.core";
-      sha512 = "5055943790cea2c3abbacbe91e63634e6d2e977cd59b08ce102c0ee7d859995eb5d150d530da3848235b2b1b751a8df55cff2c33d43da695659248187ddf1bff";
-      version = "2.10.2";
+      sha512 = "d5337db908b2c56dcb911e3d1a5f671456c13f254fe8d2a620823bc15b2db6aaa8325a86b436b5d181f2584b533158fd14d140b98305ac252f8dfd9a627da859";
+      version = "2.13.3";
     };
   }
 
@@ -438,8 +416,8 @@
       inherit repos;
       artifactId = "snakeyaml";
       groupId = "org.yaml";
-      sha512 = "b7ef491ded21c61260d6ad68b1541d0c753f01f3f065b66a31c8e4d8f5f6b5eff31e82a7cc68562567811cc0d540c980e8a42714574f50e7713b4799192f50f9";
-      version = "1.19";
+      sha512 = "4322e41c6fc5114521da21787ab313fa74bf8449ab0c23ec830627b8121504f70d4522e880aec64df227164729d40b2fbd9670e3a046dd5a5aabc1f71e91c16c";
+      version = "1.25";
     };
   }
 
@@ -449,8 +427,8 @@
       inherit repos;
       artifactId = "asm";
       groupId = "org.ow2.asm";
-      sha512 = "40614e658138f2eb95bc26999545f996794c622c4d68efb9e10093743504c4b58bf22590767bc6bd93b77cdfb202c507144ba867bbc8b54d74fe7621cbc55e3a";
-      version = "5.2";
+      sha512 = "876eac7406e60ab8b9bd6cd3c221960eaa53febea176a88ae02f4fa92dbcfe80a3c764ba390d96b909c87269a30a69b1ee037a4c642c2f535df4ea2e0dd499f2";
+      version = "9.2";
     };
   }
 
@@ -460,8 +438,8 @@
       inherit repos;
       artifactId = "jul-to-slf4j";
       groupId = "org.slf4j";
-      sha512 = "e76ee7ee3e1852be55c18ccb7a8f4a7005807da3cbd97f4b4895632fee92cc64785491d4f6384ae4ebd0f73a1ee4893dc1adf7119da056300f21eb2e7d3f233f";
-      version = "1.7.14";
+      sha512 = "152f153c42e5f69c95e3caeed5ab519e975d7ad79ac0199f31699646299b7ddab58068d5964fbd2170eed29966c3d8d1b00b0a1a4a6f698f9a9eb9c9b9d30dcb";
+      version = "2.0.3";
     };
   }
 
@@ -482,8 +460,8 @@
       inherit repos;
       artifactId = "pedestal.interceptor";
       groupId = "io.pedestal";
-      sha512 = "9767bb8df4ec3d1ee1468c22afd64adc689bb0ae15e98dfc04ef98e65f237f67ded3ade9c1514d2e44e1dd56dbff6cafbc9795a5c57e166cb924f43175c3be83";
-      version = "0.5.7";
+      sha512 = "b6d99300e2c656fc63841449067d74893c63f884d282ff1af40510e5e53baac0f17ac869212e0023dc01d3766248ce28e93e32a57239926254e3af0240c82178";
+      version = "0.5.10";
     };
   }
 
@@ -504,19 +482,8 @@
       inherit repos;
       artifactId = "omniconf";
       groupId = "com.grammarly";
-      sha512 = "f9b162b98676cb5073310309aac9678725cb4a7eec3fe00803b21ce4abcea3cc1c41df5e970105ed18352619dfab40c0736ae78e9206165f17b0094107b2594b";
-      version = "0.3.2";
-    };
-  }
-
-  {
-    name = "clj-tuple/clj-tuple";
-    path = pkgs.fetchMavenArtifact {
-      inherit repos;
-      artifactId = "clj-tuple";
-      groupId = "clj-tuple";
-      sha512 = "dd626944d0aba679a21b164ed0c77ea84449359361496cba810f83b9fdeab751e5889963888098ce4bf8afa112dbda0a46ed60348a9c01ad36a2e255deb7ab6d";
-      version = "0.2.2";
+      sha512 = "2b13138090c9706af014b7d22b316af5300f41bfc70ee1f604ee6d817f70ca6227951f673231830c81888db2c50533f9c53de3e314d725a60b8eee99718655af";
+      version = "0.4.3";
     };
   }
 
@@ -537,8 +504,8 @@
       inherit repos;
       artifactId = "zprint";
       groupId = "zprint";
-      sha512 = "379b6f9228ec0b5ae1a24b0cce4c41e273534b456cf356ac67b7f72a7506345eddf7f7ac75c2c200864d5372c1fb0331d2b31bc22a21c496cafdfe839241e9f9";
-      version = "0.4.15";
+      sha512 = "2f29288a1d9dd7e76689b32616049af8ebc0e98f0994f1eae1c8e6e725084df23de11a4d6231d2712167ef4adfdfffe494cea2c11b6e752f81acd641381516eb";
+      version = "1.2.4";
     };
   }
 
@@ -625,8 +592,8 @@
       inherit repos;
       artifactId = "slf4j-timbre";
       groupId = "com.fzakaria";
-      sha512 = "93ecc0e133a3f02f521cac125fd8842f94f2c284000b6b9f1cda7ef2841567bd674facea1f8c4e32da2321f414c1f2590ac58abf37f23347f6f551fcd9039339";
-      version = "0.3.14";
+      sha512 = "9a25ed545a7dac8fb74096ed531fa4362989a1ed68350e63f403a871fdf19ab582c6f2c1c8e08978a431d8da31d8226bf34f1d0263ac5f6a14955ff56fdf9e17";
+      version = "0.3.21";
     };
   }
 
@@ -636,8 +603,8 @@
       inherit repos;
       artifactId = "clojure.java-time";
       groupId = "clojure.java-time";
-      sha512 = "a7111b5c78d7f920d74793d410f81c9ca3c9a8c4d652f132be55eb15f6d03a413cee1ae46bad6d3189c045d422a33c7320fbd02055c351779c379f75db48cbbd";
-      version = "0.3.2";
+      sha512 = "cd27eddad69554fcc443603bb69ab7dbe5d4cc937080f4b4d1ef3590e855faef2366dda77724da6c9b8941c340f8b5c5cb1345855f946718bd3ceb9c124a226a";
+      version = "1.1.0";
     };
   }
 
@@ -664,13 +631,24 @@
   }
 
   {
+    name = "borkdude/edamame";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "edamame";
+      groupId = "borkdude";
+      sha512 = "5f5f36a85521464e97c0ada94581b37d7ffc7d1b9adaf7b3b509447bc0d6cedf339f12ae75d6bf679b69f9e1b582d0ee1a995bfd039657b17ec9a85516700fbe";
+      version = "0.0.19";
+    };
+  }
+
+  {
     name = "com.taoensso/timbre";
     path = pkgs.fetchMavenArtifact {
       inherit repos;
       artifactId = "timbre";
       groupId = "com.taoensso";
-      sha512 = "2570f1d59d98034d8425598ab676f4c1e17f9da9926def2e142296377ddccf0fe3a894ba023114d614ca728c77c11d50927a709bfa896e9c5cce0854be31e32d";
-      version = "5.1.2";
+      sha512 = "8c88eea8f0a94a3fc14f450a03e76ce0573d31f6c301252d3f9afc177f87a03326966197e8508e766f3caab61ef356142c6dc002e07ed09771f341dd6b290edf";
+      version = "5.2.1";
     };
   }
 
@@ -680,8 +658,8 @@
       inherit repos;
       artifactId = "java.jdbc";
       groupId = "org.clojure";
-      sha512 = "50c263853f0b88d4b46746bf8f5efb8536f38dde2a08c26e5d26c2bd3bd851c0c0f0814d7899019c3879de2667b3b432a23de091bd8f8cea3e28bd00f0b715cb";
-      version = "0.7.9";
+      sha512 = "19e37ee3a16ccfdeb299e72ee0ae64a557b20296dd9461bf2288d0507e1d915ad6fcc56e4aadd712340f5c21e2c764ed7d4ad074eb8e4c82dc6ba5fe96111930";
+      version = "0.7.12";
     };
   }
 
@@ -768,8 +746,8 @@
       inherit repos;
       artifactId = "cheshire";
       groupId = "cheshire";
-      sha512 = "5b2a339f8d90951a80105729a080b841e0de671f576bfa164a78bccc08691d548cff6a7124224444f7b3a267c9aca69c18e347657f1d66e407167c9b5b8b52cb";
-      version = "5.10.0";
+      sha512 = "2262573047d194bba28b3d2ca4b00b12f8171d6f8f7f5449df35f10ab1ef5902a9ba2f9937399d6e4b54a78bda919fa205a22a44cde998019bc0cfc508e90f29";
+      version = "5.11.0";
     };
   }
 
@@ -801,8 +779,8 @@
       inherit repos;
       artifactId = "tools.reader";
       groupId = "org.clojure";
-      sha512 = "03677c7eb85d294f878f13066bbd841e788ec1267285690e65c2eb342b02aecd028679509b7f1d192cf5631b0839a92abfe36e93237bf5e2544c14e6cebe7452";
-      version = "1.3.3";
+      sha512 = "3481259c7a1eac719db2921e60173686726a0c2b65879d51a64d516a37f6120db8ffbb74b8bd273404285d7b25143ab5c7ced37e7c0eaf4ab1e44586ccd3c651";
+      version = "1.3.6";
     };
   }
 
@@ -818,6 +796,17 @@
   }
 
   {
+    name = "org.babashka/sci";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "sci";
+      groupId = "org.babashka";
+      sha512 = "2897029dba4917facf93935229f1288d9e90973e8dbc8ff84448335452815274c23371ab643c35df0b1854ff6de1574c37880267fd0edd900039f5a1678d73c5";
+      version = "0.3.4";
+    };
+  }
+
+  {
     name = "io.opentracing/opentracing-util";
     path = pkgs.fetchMavenArtifact {
       inherit repos;
@@ -845,8 +834,8 @@
       inherit repos;
       artifactId = "nrepl";
       groupId = "nrepl";
-      sha512 = "663906ff1c8768c4a73fa9f32619da4c244cc86c93d86e8439eb8de81c79486be5a04140c1df6199ba475b3a3e7fd36304faef8b330672dd644945820cc6eb67";
-      version = "0.8.3";
+      sha512 = "92534555cc5fa45e8990b8566996fe784df368849e0938fbc7a89909ccbb62dd7d4fca9b7aa3c615702ec30f9962a460c500f6b60abc72661c5f4c66414fc395";
+      version = "1.0.0";
     };
   }
 
@@ -867,8 +856,8 @@
       inherit repos;
       artifactId = "sqlite-jdbc";
       groupId = "org.xerial";
-      sha512 = "efd1ea26d7f4f9bc66bf0d5f80234a0c535829bd498e4c5a0cab42873b58ac69133497d8c45689a1d3a39e657a2d0474d6b930c7bc415dd623801ee4a7354ffb";
-      version = "3.25.2";
+      sha512 = "f4c27027fe3cb7914aaf155a1afaa0c8b455e5d142b4e5f31d87bfe619c9949e1981ba7eed1f7a8a3cd27edba1321cc4cd74cf4321ae800e8a911b4d94e03930";
+      version = "3.39.3.0";
     };
   }
 
@@ -889,8 +878,8 @@
       inherit repos;
       artifactId = "slf4j-api";
       groupId = "org.slf4j";
-      sha512 = "a944468440a883bb3bde1f78d39abe43a90b6091fd9f1a70430ac10ea91b308b2ef035e4836d68ba97afdba2b04f62edece204278aaa416276a5f8596f8688af";
-      version = "1.7.26";
+      sha512 = "cf50d5cc86404fefa49730da36147db5f6d65c8b06163bbf62311e6874c20ca46db02ab6bda27c9c1485a5c57fe63b89fd3000b8d838c429240ee95734f5901e";
+      version = "2.0.3";
     };
   }
 
@@ -911,8 +900,8 @@
       inherit repos;
       artifactId = "test.check";
       groupId = "org.clojure";
-      sha512 = "ba7b5c915c1e7bd5e9e398f8cd9d74340ca3c4846483bae8f2191e40ea42bdd4d8019ec108c2bd64451f418abebed2258cf0ee5be597cc0bc8a02d772c6385ed";
-      version = "0.10.0-RC1";
+      sha512 = "b8d7a330b0b5514cd6a00c4382052fab51c3c9d3bc53133f8506791fa670e7c5ecd65094977ea5ced91f59623b0abd1ab8feeec96d63c5c6e459b265a655c577";
+      version = "1.1.1";
     };
   }
 
@@ -944,8 +933,8 @@
       inherit repos;
       artifactId = "yaml";
       groupId = "io.forward";
-      sha512 = "561cfe0e92689b95008948a0a8aa839b9932ffd13791fdbd9ce55e0b0e3c895be6441ccd050b62ff671c747373fcba1199246c8bfb4206cb05584d06dea99b7c";
-      version = "1.0.9";
+      sha512 = "e2d3b7aea260346a1db44bcc3c363877d0ff2b327c4fd287759782949b1a498bc8019f06ddabee84443b96b07ea4765443f8190e04f5f903de049e2cc0fd63e9";
+      version = "1.0.11";
     };
   }
 
@@ -966,19 +955,8 @@
       inherit repos;
       artifactId = "core.memoize";
       groupId = "org.clojure";
-      sha512 = "37308fcbbe64d0a2802917ef5a589075f81086d63e08c71a9a1b648b73dd362e5bdc8f756084fde1f4b1964ba82a6dc06b2119460281b7949a271d82e6a47a7e";
-      version = "1.0.236";
-    };
-  }
-
-  {
-    name = "camel-snake-kebab/camel-snake-kebab";
-    path = pkgs.fetchMavenArtifact {
-      inherit repos;
-      artifactId = "camel-snake-kebab";
-      groupId = "camel-snake-kebab";
-      sha512 = "3108a207378e8b6199ae6c71517fcc65dde97d2bab67d533a618c7ff50ea8b849ead3880857d00629d6c269499384b564ed43b631e6b06f283af94e8cae89144";
-      version = "0.4.0";
+      sha512 = "67196537084b7cc34a01454d2a3b72de3fddce081b72d7a6dc1592d269a6c2728b79630bd2d52c1bf2d2f903c12add6f23df954c02ef8237f240d7394ccc3dde";
+      version = "1.0.253";
     };
   }
 
@@ -1010,8 +988,19 @@
       inherit repos;
       artifactId = "data.priority-map";
       groupId = "org.clojure";
-      sha512 = "fb2d703468fb6d5f28c38f25e8e7acdaf02d2fa1ac23c14a9ff065873e88c9b74e155e73e5069436d674d7ef8547f01bc9777b7ae3b9dcde67cbd327d4a20c06";
-      version = "1.0.0";
+      sha512 = "bb8bc5dbfd3738c36b99a51880ac3f1381d6564e67601549ef5e7ae2b900e53cdcdfb8d0fa4bf32fb8ebc4de89d954bfa3ab7e8a1122bc34ee5073c7c707ac13";
+      version = "1.1.0";
+    };
+  }
+
+  {
+    name = "borkdude/sci.impl.reflector";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "sci.impl.reflector";
+      groupId = "borkdude";
+      sha512 = "c747fd347e6aba9578d105298b7c7402f53e8639d5c8e6dc83b127f3c413feeb1b9dead7405ac2c4345f02290902e8a2affbec749474481e9c9f19b3d049f18f";
+      version = "0.0.1";
     };
   }
 
@@ -1032,8 +1021,8 @@
       inherit repos;
       artifactId = "log4j-over-slf4j";
       groupId = "org.slf4j";
-      sha512 = "d0a13ae82823b921b308c897ec9a11ef86cb1b52dd81343f856224c65851f70eae0890a88550daa3a4ed57e7e2c150018a3cdc2345924a4e489a88827fc639b6";
-      version = "1.7.14";
+      sha512 = "a1f90d8ea338660cc0e38073752cf32e46a042bc408477d841ba7ad69ad0d066bbbf9d4c399a34352d620ba9d2402c7a51574a88f314ddcc796c35adc99c37f4";
+      version = "2.0.3";
     };
   }
 
@@ -1043,19 +1032,8 @@
       inherit repos;
       artifactId = "core.cache";
       groupId = "org.clojure";
-      sha512 = "6e4e126f23b20120c50a4dbefbe1b3b9bd98f0a7b8fa83affa267ff7f0de09542d2727243859a1ea346bda5b782d4ae0110f6c2b169c298261707a1fdadaedb0";
-      version = "1.0.207";
-    };
-  }
-
-  {
-    name = "rewrite-cljs/rewrite-cljs";
-    path = pkgs.fetchMavenArtifact {
-      inherit repos;
-      artifactId = "rewrite-cljs";
-      groupId = "rewrite-cljs";
-      sha512 = "d87c07d510247e1b13dcb505436b3a43d8bb9a4bfebbd2ae0430249d2c8a859032affe2b2a4cda8f987e983f584fd999a3f9b87944d44b8837cdf4e2560c5ab9";
-      version = "0.4.4";
+      sha512 = "0a07ceffc2fa3a536b23773eefc7ef5e1108913b93c3a5416116a6566de76dd5c218f3fb0cc19415cbaa8843838de310b76282f20bf1fc3467006c9ec373667e";
+      version = "1.0.225";
     };
   }
 
@@ -1065,8 +1043,8 @@
       inherit repos;
       artifactId = "core.async";
       groupId = "org.clojure";
-      sha512 = "7c8640769a68256f5cf131ed2436713c3c63bba2c4167f3593a1671ef65931d67b9b43eccfa6e5a20467ca7c6f5efd9cbf58d6c14e035757714f71220a754d0b";
-      version = "1.3.618";
+      sha512 = "160a77da25382d7c257eee56cfe83538620576a331e025a2d672fc26d9f04e606666032395f3c2e26247c782544816a5862348f3a921b1ffffcd309c62ac64f5";
+      version = "1.5.648";
     };
   }
 
@@ -1076,8 +1054,8 @@
       inherit repos;
       artifactId = "jackson-dataformat-smile";
       groupId = "com.fasterxml.jackson.dataformat";
-      sha512 = "8998346f7039df868f3387d219efa0c04fc022a948d098296f3d7ac3f7a9a82bde6ec4a8f83b11994ad50318b5aca37781faacb1f20a65ba2ecc6d6d6eb9468e";
-      version = "2.10.2";
+      sha512 = "4c1566aa4fac309de8fba08ea355165cf2a888b7bcec98e7035ac8acd7315e340415a10b8deec6497fc4eea5ba9319fc989676170d8c4c0d0bbc3d4f3cc4d681";
+      version = "2.13.3";
     };
   }
 
diff --git a/pkgs/applications/editors/rehex/default.nix b/pkgs/applications/editors/rehex/default.nix
index ef1ae88902cfc..0d4d171d98281 100644
--- a/pkgs/applications/editors/rehex/default.nix
+++ b/pkgs/applications/editors/rehex/default.nix
@@ -19,13 +19,13 @@
 
 stdenv.mkDerivation rec {
   pname = "rehex";
-  version = "0.5.4";
+  version = "0.60.1";
 
   src = fetchFromGitHub {
     owner = "solemnwarning";
     repo = pname;
     rev = version;
-    hash = "sha256-UgwCfy2ssaPuSWeN2SXHBDXv/uLdrDoGr/Q9wXiuCnc=";
+    hash = "sha256-oF8XtxKqyo6c2lNH6WDq6aEPeZw8RqBinDVhPpaDAWg=";
   };
 
   nativeBuildInputs = [ pkg-config which zip ]
diff --git a/pkgs/applications/editors/texstudio/default.nix b/pkgs/applications/editors/texstudio/default.nix
index 35b06fde1f2c8..97f51014d0b6a 100644
--- a/pkgs/applications/editors/texstudio/default.nix
+++ b/pkgs/applications/editors/texstudio/default.nix
@@ -1,19 +1,33 @@
-{ lib, mkDerivation, fetchFromGitHub, cmake, qtbase, qtscript, qtsvg,
-  wrapQtAppsHook, poppler, zlib, pkg-config }:
+{ stdenv, lib, fetchFromGitHub, cmake, qtbase, qttools, qtsvg, qt5compat, quazip
+, hunspell
+, wrapQtAppsHook, poppler, zlib, pkg-config }:
 
-mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "texstudio";
-  version = "4.5.2";
+  version = "4.6.2";
 
   src = fetchFromGitHub {
-    owner = "${pname}-org";
-    repo = pname;
-    rev = version;
-    hash = "sha256-L+q4+k4XWywnxIvhfXPCBeCqnGj4E9BhAmgcAZhm7S8=";
+    owner = "texstudio-org";
+    repo = "texstudio";
+    rev = finalAttrs.version;
+    hash = "sha256-2bvKB/8HcZoTk2J6FQXXJREqGp6EZ95C2Aqcx9o/eho=";
   };
 
-  nativeBuildInputs = [ cmake wrapQtAppsHook pkg-config ];
-  buildInputs = [ qtbase qtscript qtsvg poppler zlib ];
+  nativeBuildInputs = [
+    cmake
+    wrapQtAppsHook
+    pkg-config
+  ];
+  buildInputs = [
+    hunspell
+    poppler
+    qt5compat
+    qtbase
+    qtsvg
+    qttools
+    quazip
+    zlib
+  ];
 
   meta = with lib; {
     description = "TeX and LaTeX editor";
@@ -28,4 +42,4 @@ mkDerivation rec {
     platforms = platforms.linux;
     maintainers = with maintainers; [ ajs124 cfouche ];
   };
-}
+})
diff --git a/pkgs/applications/editors/textadept/default.nix b/pkgs/applications/editors/textadept/default.nix
index a1ff1b8817fcd..c2b82321d4e96 100644
--- a/pkgs/applications/editors/textadept/default.nix
+++ b/pkgs/applications/editors/textadept/default.nix
@@ -1,52 +1,30 @@
-{ lib, stdenv, fetchFromGitHub, fetchurl, gtk2, glib, pkg-config, unzip, ncurses, zip }:
-
+{ lib, stdenv, fetchFromGitHub, fetchurl, cmake, qtbase, wrapQtAppsHook }:
 stdenv.mkDerivation rec {
-  version = "11.4";
+  version = "12.0";
   pname = "textadept";
 
-  nativeBuildInputs = [ pkg-config unzip zip ];
-  buildInputs = [
-    gtk2 ncurses glib
-  ];
-
-  enableParallelBuilding = true;
-
   src = fetchFromGitHub {
     name = "textadept11";
     owner = "orbitalquark";
     repo = "textadept";
     rev = "textadept_${version}";
-    sha256 = "sha256-1we2NC4N8oY4QmmqIIWGSpTBuLx3MEFkZK+BjmNEfD0=";
+    sha256 = "sha256-KziVN0Fl/IvSnIJKK5s7UikXi3iP5mTauP0YxffKy9c=";
   };
 
-  preConfigure =
-    lib.concatStringsSep "\n" (lib.mapAttrsToList (name: params:
-      "ln -s ${fetchurl params} $PWD/src/${name}"
-    ) (import ./deps.nix)) + ''
-
-    cd src
-    make deps
-  '';
-
-  postBuild = ''
-    make curses
-  '';
+  nativeBuildInputs = [ cmake wrapQtAppsHook ];
+  buildInputs = [ qtbase ];
 
-  preInstall = ''
-    mkdir -p $out/share/applications
-    mkdir -p $out/share/pixmaps
-  '';
+  cmakeFlags = [
+    "CMAKE_INSTALL_PREFIX=build/install"
+  ];
 
-  postInstall = ''
-    make curses install PREFIX=$out MAKECMDGOALS=curses
-  '';
+  preConfigure = ''
+    mkdir -p $PWD/build/_deps
 
-  makeFlags = [
-    "PREFIX=$(out)"
-    "WGET=true"
-    "PIXMAPS_DIR=$(out)/share/pixmaps"
-    "GTK2=1"
-  ];
+    '' +
+    lib.concatStringsSep "\n" (lib.mapAttrsToList (name: params:
+      "ln -s ${fetchurl params} $PWD/build/_deps/${name}"
+    ) (import ./deps.nix));
 
   meta = with lib; {
     description = "An extensible text editor based on Scintilla with Lua scripting.";
diff --git a/pkgs/applications/editors/textadept/deps.nix b/pkgs/applications/editors/textadept/deps.nix
index 1baac73df8d43..b0117f40224d3 100644
--- a/pkgs/applications/editors/textadept/deps.nix
+++ b/pkgs/applications/editors/textadept/deps.nix
@@ -1,39 +1,32 @@
 {
-  "scintilla524.tgz" = {
-    url = "https://www.scintilla.org/scintilla524.tgz";
-    sha256 = "sha256-Su8UiMmkOxcuBat2JWYEnhNdG5HKnV1fn1ClnJhazGY=";
+  "scintilla536.tgz" = {
+    url = "https://www.scintilla.org/scintilla536.tgz";
+    sha256 = "sha256-ib6CeKg+eBOSWq/il32quH0r1r69F7AXn+cq/dVIyyQ=";
   };
   "lexilla510.tgz" = {
     url = "https://www.scintilla.org/lexilla510.tgz";
     sha256 = "sha256-azWVJ0AFSYZxuFTPV73uwiVJZvNxcS/POnFtl6p/P9g=";
   };
-  "9088723504b19f8611b66c119933a4dc7939d7b8.zip" = {
-    url =
-      "https://github.com/orbitalquark/scintillua/archive/9088723504b19f8611b66c119933a4dc7939d7b8.zip";
-    sha256 = "sha256-V2t1kt6+SpZQvQSzLhh8n+WiAnA32SRVFnrbTaJrHRo=";
+  "scinterm_5.0.zip" = {
+    url = "https://github.com/orbitalquark/scinterm/archive/scinterm_5.0.zip";
+    sha256 = "sha256-l1qeLMCrhyoZA/GfmXFR20rY5EsUoO5e+1vZJtYdb24=";
   };
-  "475d8d43f3418590c28bd2fb07ee9229d1fa2d07.zip" = {
-    url =
-      "https://github.com/orbitalquark/scinterm/archive/475d8d43f3418590c28bd2fb07ee9229d1fa2d07.zip";
-    sha256 = "sha256-lNMK0RFcOLg9RRE5a6VelhSzUYVl5TiAiXcje2JOedE=";
+  "scintillua_6.2.zip" = {
+    url = "https://github.com/orbitalquark/scintillua/archive/scintillua_6.2.zip";
+    sha256 = "sha256-vjlN6MBz0xjBwWd8dpx/ks37WvdXt2vE1A71YM3uDik=";
   };
-  "lua-5.4.4.tar.gz" = {
-    url = "http://www.lua.org/ftp/lua-5.4.4.tar.gz";
-    sha256 = "sha256-Fkx4SWU7gK5nvsS3RzuIS/XMjS3KBWU0dewu0nuev2E=";
+  "lua-5.4.6.tar.gz" = {
+    url = "http://www.lua.org/ftp/lua-5.4.6.tar.gz";
+    sha256 = "sha256-fV6huctqoLWco93hxq3LV++DobqOVDLA7NBr9DmzrYg=";
   };
-  "lpeg-1.0.2.tar.gz" = {
-    url = "http://www.inf.puc-rio.br/~roberto/lpeg/lpeg-1.0.2.tar.gz";
-    sha256 = "sha256-SNZldgUbbHg4j6rQm3BJMJMmRYj80PJY3aqxzdShX/4=";
+  "lpeg-1.1.0.tar.gz" = {
+    url = "http://www.inf.puc-rio.br/~roberto/lpeg/lpeg-1.1.0.tar.gz";
+    sha256 = "sha256-SxVdZ9IkbB/6ete8RmweqJm7xA/vAlfMnAPOy67UNSo=";
   };
   "v1_8_0.zip" = {
     url = "https://github.com/keplerproject/luafilesystem/archive/v1_8_0.zip";
     sha256 = "sha256-46a+ynqKkFIu7THbbM3F7WWkM4JlAMaGJ4TidnG54Yo=";
   };
-  "444af9ca8a73151dbf759e6676d1035af469f01a.zip" = {
-    url =
-      "https://github.com/orbitalquark/gtdialog/archive/444af9ca8a73151dbf759e6676d1035af469f01a.zip";
-    sha256 = "sha256-7AkX7OWXJtzKq3h4uJeLzHpf6mrsz67SXtPvmyA5xxg=";
-  };
   "cdk-5.0-20200923.tgz" = {
     url = "http://invisible-mirror.net/archives/cdk/cdk-5.0-20200923.tgz";
     sha256 = "sha256-AH9d6IDLLuvYVW335M2Gc9XmTJlwFH7uaSOoFMKfqu0=";
@@ -42,4 +35,11 @@
     url = "http://www.leonerd.org.uk/code/libtermkey/libtermkey-0.22.tar.gz";
     sha256 = "sha256-aUW9PEqqg9qD2AoEXFVj2k7dfQN0xiwNNa7AnrMBRgA=";
   };
+  # lua-std-regex
+  "1.0.zip" = {
+    url = "https://github.com/orbitalquark/lua-std-regex/archive/1.0.zip";
+    sha256 = "sha256-W2hKHOfqYyo3qk+YvPJlzZfZ1wxZmMVphSlcaql+dOE=";
+  };
 }
+
+
diff --git a/pkgs/applications/editors/tijolo/default.nix b/pkgs/applications/editors/tijolo/default.nix
index fbed493f2f8cb..c3605691ad869 100644
--- a/pkgs/applications/editors/tijolo/default.nix
+++ b/pkgs/applications/editors/tijolo/default.nix
@@ -11,13 +11,13 @@
 }:
 crystal.buildCrystalPackage rec {
   pname = "tijolo";
-  version = "0.7.3";
+  version = "0.7.4";
 
   src = fetchFromGitHub {
     owner = "hugopl";
     repo = "tijolo";
     rev = "v${version}";
-    hash = "sha256-15not/B+O+wIZ/fvLFy26/dyvq0E+bZUeoSZ6HxMMKg=";
+    hash = "sha256-3TfXvRVP3lu43qF3RWCHnZ3czTaSl5EzrhuTlpnMfKo=";
   };
 
   nativeBuildInputs = [ wrapGAppsHook ]
@@ -27,7 +27,7 @@ crystal.buildCrystalPackage rec {
   buildTargets = [ "all" ];
   doCheck = false;
 
-  shardsFile = ./tijolo-shards.nix;
+  shardsFile = ./shards.nix;
 
   installTargets = [ "install" "install-fonts"];
   doInstallCheck = false;
diff --git a/pkgs/applications/editors/tijolo/tijolo-shards.nix b/pkgs/applications/editors/tijolo/shards.nix
index 480251e777552..480251e777552 100644
--- a/pkgs/applications/editors/tijolo/tijolo-shards.nix
+++ b/pkgs/applications/editors/tijolo/shards.nix
diff --git a/pkgs/applications/editors/vim/plugins/generated.nix b/pkgs/applications/editors/vim/plugins/generated.nix
index ef7f26c0d273e..2d5a4754af768 100644
--- a/pkgs/applications/editors/vim/plugins/generated.nix
+++ b/pkgs/applications/editors/vim/plugins/generated.nix
@@ -173,12 +173,12 @@ final: prev:
 
   LazyVim = buildVimPluginFrom2Nix {
     pname = "LazyVim";
-    version = "2023-07-25";
+    version = "2023-07-26";
     src = fetchFromGitHub {
       owner = "LazyVim";
       repo = "LazyVim";
-      rev = "aa1cccf230a01bd85d5173f7d87f782fd83caa88";
-      sha256 = "1kx8n6rn9vgsp7j9kmdz2f6yg812i64nclii0y2cjpnb8h1aa0cf";
+      rev = "9264c54ae96d1d56f029ad9b561326c7b991c53b";
+      sha256 = "1lcq6gwh31w1fg2cw5bzihjalfvagr6gf86kprd83vpjzwvp3237";
     };
     meta.homepage = "https://github.com/LazyVim/LazyVim/";
   };
@@ -305,12 +305,12 @@ final: prev:
 
   SchemaStore-nvim = buildVimPluginFrom2Nix {
     pname = "SchemaStore.nvim";
-    version = "2023-07-23";
+    version = "2023-07-27";
     src = fetchFromGitHub {
       owner = "b0o";
       repo = "SchemaStore.nvim";
-      rev = "f33af3051c79f084824753f9852ed4db95b43c8d";
-      sha256 = "00jqh51jmc3xbfpsanhkln1bmrbr65ipbcnaicsac97751xclymr";
+      rev = "fba131b5ef7a54a8f8d71ef2a2e8d2263b87daac";
+      sha256 = "138k6slpv8xxjl8sggqcgmly2byifwa9842y2w73hwc956fx9clr";
     };
     meta.homepage = "https://github.com/b0o/SchemaStore.nvim/";
   };
@@ -967,12 +967,12 @@ final: prev:
 
   base46 = buildVimPluginFrom2Nix {
     pname = "base46";
-    version = "2023-07-25";
+    version = "2023-07-27";
     src = fetchFromGitHub {
       owner = "nvchad";
       repo = "base46";
-      rev = "cb012feef7ce8c0bb8cdcb2b858393aa92834f46";
-      sha256 = "1zg0pw2jhx8w21yfky3icai0wq87884ybls34hhn9rwkzn78m4n9";
+      rev = "a88ada931feecc22dfdcaae00ff98f412b863f9a";
+      sha256 = "1zqaqd2byzfqgy36jwjimcrvgs2wds9dx18kza41c3in9b9243rd";
     };
     meta.homepage = "https://github.com/nvchad/base46/";
   };
@@ -1231,12 +1231,12 @@ final: prev:
 
   chadtree = buildVimPluginFrom2Nix {
     pname = "chadtree";
-    version = "2023-07-23";
+    version = "2023-07-26";
     src = fetchFromGitHub {
       owner = "ms-jpq";
       repo = "chadtree";
-      rev = "3664cb28461a30f8b1627180a19b8b22a10331ab";
-      sha256 = "13941i4860gkj0vri7zxs7wj2lf9q04scn3v0c57lcbn9ca1kk70";
+      rev = "a12f2d375a06b0b10137462820efd5962425333e";
+      sha256 = "02p1wfkc6d5ysgv05ifazk3yswikan3j16fdcc07mfjp2y2cs5vk";
     };
     meta.homepage = "https://github.com/ms-jpq/chadtree/";
   };
@@ -1987,12 +1987,12 @@ final: prev:
 
   coc-nvim = buildVimPluginFrom2Nix {
     pname = "coc.nvim";
-    version = "2023-01-29";
+    version = "2023-07-26";
     src = fetchFromGitHub {
       owner = "neoclide";
       repo = "coc.nvim";
-      rev = "bbaa1d5d1ff3cbd9d26bb37cfda1a990494c4043";
-      sha256 = "116h45vnz98ni60i12f2z6rwz9gkpp1k4ysp1ry0qpjgmb5fcbsy";
+      rev = "9332d2ab1154dedc9dbcd3e1c873886abaf061a6";
+      sha256 = "1aq1bz2pl6wfhxawkdwkrcvc18dgs0x3p5fwivfmnhaqislkx4lf";
     };
     meta.homepage = "https://github.com/neoclide/coc.nvim/";
   };
@@ -2011,12 +2011,12 @@ final: prev:
 
   codeium-vim = buildVimPluginFrom2Nix {
     pname = "codeium.vim";
-    version = "2023-07-24";
+    version = "2023-07-28";
     src = fetchFromGitHub {
       owner = "Exafunction";
       repo = "codeium.vim";
-      rev = "9bf87e33fdb85d9f423f49450079561557ea6f3d";
-      sha256 = "0kighzhclzx7gd2kqzsy28483spr36pnl3m4p7b4cdrkgn9g99rh";
+      rev = "ddf848e8647e85774766ea8bdcd5a2258ea44006";
+      sha256 = "0l0bp9d4z0i8yfbnrpydvagzk3q0wc82r5wp3kbqk195qzykflx3";
     };
     meta.homepage = "https://github.com/Exafunction/codeium.vim/";
   };
@@ -2311,12 +2311,12 @@ final: prev:
 
   coq-artifacts = buildVimPluginFrom2Nix {
     pname = "coq.artifacts";
-    version = "2023-07-23";
+    version = "2023-07-28";
     src = fetchFromGitHub {
       owner = "ms-jpq";
       repo = "coq.artifacts";
-      rev = "39bdecdcb3df41ba7f93c2b5acd4c6e25d80ba07";
-      sha256 = "0axs9fk6i81zp748zb9ldvg914w94j38kk04adma6b75py5r9max";
+      rev = "2b27da78d6eb74fa9fd565e845e2381c51e59675";
+      sha256 = "0mawmz0i4nny1vdvahfb0b6hymil5vc4sa5yhj38yqcnwzbndzzv";
     };
     meta.homepage = "https://github.com/ms-jpq/coq.artifacts/";
   };
@@ -2347,12 +2347,12 @@ final: prev:
 
   coq_nvim = buildVimPluginFrom2Nix {
     pname = "coq_nvim";
-    version = "2023-07-23";
+    version = "2023-07-28";
     src = fetchFromGitHub {
       owner = "ms-jpq";
       repo = "coq_nvim";
-      rev = "a8ff103b50a9a4ba3dec9a485699b3382b59ab92";
-      sha256 = "1ia2ibqvmv89ijn8xkdrh7n1j4mg6majami4cj1smvrn1jscbjg5";
+      rev = "8ad8815816657e6be07f6c47ae50f6e8a70e9a59";
+      sha256 = "1i1264czx49qs30i788nr8ryawrlk8gnvyw3p7psb58p6mc6gsih";
     };
     meta.homepage = "https://github.com/ms-jpq/coq_nvim/";
   };
@@ -2503,12 +2503,12 @@ final: prev:
 
   dashboard-nvim = buildVimPluginFrom2Nix {
     pname = "dashboard-nvim";
-    version = "2023-06-14";
+    version = "2023-07-26";
     src = fetchFromGitHub {
       owner = "nvimdev";
       repo = "dashboard-nvim";
-      rev = "ab84915f7cfd7bc7a5bfe7409c3eccf8d09c162a";
-      sha256 = "1bmi9hxchjs1s0d5gc02akyxzixq1f0k2hhr2jisj9xx8d0x8fjh";
+      rev = "c17d3210b3dec8798b4fc82a11c542989251f85d";
+      sha256 = "1ay3jap0darihkwd71iszw939k8vpjb0chs58p75kxh07212wlv9";
     };
     meta.homepage = "https://github.com/nvimdev/dashboard-nvim/";
   };
@@ -2997,12 +2997,12 @@ final: prev:
 
   edge = buildVimPluginFrom2Nix {
     pname = "edge";
-    version = "2023-04-24";
+    version = "2023-07-28";
     src = fetchFromGitHub {
       owner = "sainnhe";
       repo = "edge";
-      rev = "358cb6688ac577470a4eafcb53bdd63899dfc937";
-      sha256 = "1jz3c5z4cdgi5a50c6wlhz23rapfqchm79n9f3mgc9ss1aisqv0y";
+      rev = "4fead634946186a21ca7f406b213896e596fbd93";
+      sha256 = "02xbjblsy384ld1002hc6mc9b9i9rxlsi692s8qp1sks0v0bjmag";
     };
     meta.homepage = "https://github.com/sainnhe/edge/";
   };
@@ -3058,12 +3058,12 @@ final: prev:
 
   elixir-tools-nvim = buildVimPluginFrom2Nix {
     pname = "elixir-tools.nvim";
-    version = "2023-07-20";
+    version = "2023-07-28";
     src = fetchFromGitHub {
       owner = "elixir-tools";
       repo = "elixir-tools.nvim";
-      rev = "1c7452bd93cf77946cb838a39f0cbd02c782f1e6";
-      sha256 = "0k8j0wcm1xxwlsb5q6iww84yx2fkh76dk6dhj63vxyfpg473snzi";
+      rev = "0930654e8c83c6adbb479f75882ae5fd0caf9723";
+      sha256 = "1w0367p2hrhknka2kald0c35bzmvdn1h3b8gvqrl6k3mpr4v8qal";
     };
     meta.homepage = "https://github.com/elixir-tools/elixir-tools.nvim/";
   };
@@ -3131,12 +3131,12 @@ final: prev:
 
   everforest = buildVimPluginFrom2Nix {
     pname = "everforest";
-    version = "2023-05-19";
+    version = "2023-07-27";
     src = fetchFromGitHub {
       owner = "sainnhe";
       repo = "everforest";
-      rev = "1db527e770deb8cbb3b5b60d8921f80bd2a4c12c";
-      sha256 = "0jg53zzgv417v8c079cay11nwy8mi6v5svdslcl4iq84cr7l5qfq";
+      rev = "b8ef2d0bde98645250a8997393aefba38e8c6ff3";
+      sha256 = "0q8jji19abfqmbd30iha2h0bf15k12az6wh2b9nlcdhjzki81cdl";
     };
     meta.homepage = "https://github.com/sainnhe/everforest/";
   };
@@ -3708,12 +3708,12 @@ final: prev:
 
   gitsigns-nvim = buildNeovimPlugin {
     pname = "gitsigns.nvim";
-    version = "2023-07-25";
+    version = "2023-07-27";
     src = fetchFromGitHub {
       owner = "lewis6991";
       repo = "gitsigns.nvim";
-      rev = "11b80e7eea249affc8776483272bcfc627b5552a";
-      sha256 = "0mwmyci65w4rzrvlcws7s6yw4m801vdcqr585harccifyrvpslls";
+      rev = "5d73da785a3c05fd63ac31769079db05169a6ec7";
+      sha256 = "16xdc4nf9i39bi9diin5v3782gnlp0ln95aphydv2s7rcg88mdlj";
     };
     meta.homepage = "https://github.com/lewis6991/gitsigns.nvim/";
   };
@@ -3756,24 +3756,24 @@ final: prev:
 
   glow-nvim = buildVimPluginFrom2Nix {
     pname = "glow.nvim";
-    version = "2023-05-05";
+    version = "2023-07-28";
     src = fetchFromGitHub {
       owner = "ellisonleao";
       repo = "glow.nvim";
-      rev = "bbd0473d72a45094495ee5600b5577823543eefe";
-      sha256 = "13l7xd71nnvm643pc15zvi5yc2hig2x6s8dfv7bz9ygf3q7wyzy4";
+      rev = "0bd87753b052205d271a790b48a09882a9e79f35";
+      sha256 = "1sgarwqc8l8gygz90f408cljpcqrw1gsyzvfg6afih90214nfk95";
     };
     meta.homepage = "https://github.com/ellisonleao/glow.nvim/";
   };
 
   go-nvim = buildVimPluginFrom2Nix {
     pname = "go.nvim";
-    version = "2023-07-25";
+    version = "2023-07-27";
     src = fetchFromGitHub {
       owner = "ray-x";
       repo = "go.nvim";
-      rev = "816fbe43b5dc15edcafa0b32785a4972fb34e67f";
-      sha256 = "0fs3rf3l0dp0141rc0g75alq89z9khjcvhfz7brn291bik7xm56b";
+      rev = "7e5602dd51a230581f43c42559d7acc2fbca23cf";
+      sha256 = "1090n4rdgjfgzfabdmmi0rxd4xk1h2y5jmhy9z7ncs0qpplhnbq2";
     };
     meta.homepage = "https://github.com/ray-x/go.nvim/";
   };
@@ -3888,12 +3888,12 @@ final: prev:
 
   gruvbox-material = buildVimPluginFrom2Nix {
     pname = "gruvbox-material";
-    version = "2023-04-24";
+    version = "2023-07-28";
     src = fetchFromGitHub {
       owner = "sainnhe";
       repo = "gruvbox-material";
-      rev = "3fff63b0d6a425ad1076a260cd4f6da61d1632b1";
-      sha256 = "0207p4qg6s31957jbfb0k5yabgadzn6wf3z43m5skvp5w1al5a2b";
+      rev = "b17daceec6ed9a5fb46e0f293f2ac666c90e5459";
+      sha256 = "16kg8plbav8vd97a3kix5043f538kkqiv29kmwq6aa971vjxyp9g";
     };
     meta.homepage = "https://github.com/sainnhe/gruvbox-material/";
   };
@@ -4017,6 +4017,18 @@ final: prev:
     meta.homepage = "https://github.com/travitch/hasksyn/";
   };
 
+  headlines-nvim = buildVimPluginFrom2Nix {
+    pname = "headlines.nvim";
+    version = "2023-07-27";
+    src = fetchFromGitHub {
+      owner = "lukas-reineke";
+      repo = "headlines.nvim";
+      rev = "74a083a3c32a08be24f7dfcc6f448ecf47857f46";
+      sha256 = "1ak7j159c0lv6pxiq4nld6svzx3465r6f1xwpawwrxlzhi5a14yz";
+    };
+    meta.homepage = "https://github.com/lukas-reineke/headlines.nvim/";
+  };
+
   heirline-nvim = buildVimPluginFrom2Nix {
     pname = "heirline.nvim";
     version = "2023-07-24";
@@ -4643,12 +4655,12 @@ final: prev:
 
   lean-nvim = buildVimPluginFrom2Nix {
     pname = "lean.nvim";
-    version = "2023-07-19";
+    version = "2023-07-27";
     src = fetchFromGitHub {
       owner = "Julian";
       repo = "lean.nvim";
-      rev = "bb2ac98df0ca24b334d0d634a12c7ce90c8f4b4d";
-      sha256 = "0w7h0ilypwf3skqd750bpg66kxrzkv1i3av0k4zjwc1r6q9g24ap";
+      rev = "b82d1e8d5f6f33bd89af95e795f6877a7a6cbf7c";
+      sha256 = "0npa97h0d31p0sagkssc2gag239gssawjd0n0q3mxbhfs6jyayck";
     };
     meta.homepage = "https://github.com/Julian/lean.nvim/";
   };
@@ -5027,12 +5039,12 @@ final: prev:
 
   lsp-zero-nvim = buildVimPluginFrom2Nix {
     pname = "lsp-zero.nvim";
-    version = "2023-07-16";
+    version = "2023-07-28";
     src = fetchFromGitHub {
       owner = "VonHeikemen";
       repo = "lsp-zero.nvim";
-      rev = "7e1675e9e90ee08b859d75aa65609e480e55f752";
-      sha256 = "0qfznb6zc5gd65zz04h6qzd214xwaqgb7828fpnml7r5a2jnqv18";
+      rev = "7bcbd67298237d4c7a958715bc99f25f20702c6e";
+      sha256 = "0q61hfk3dsa6pgx25iqxz4r1r25mcizi0lbyvv88nn5fdvg8lv74";
     };
     meta.homepage = "https://github.com/VonHeikemen/lsp-zero.nvim/";
   };
@@ -5146,12 +5158,12 @@ final: prev:
 
   luasnip = buildVimPluginFrom2Nix {
     pname = "luasnip";
-    version = "2023-07-18";
+    version = "2023-07-26";
     src = fetchFromGitHub {
       owner = "l3mon4d3";
       repo = "luasnip";
-      rev = "0b4950a237ce441a6a3a947d501622453f6860ea";
-      sha256 = "062cfa2ckfca2i87l8p6k1lagrygb0lnbihp4y3dpxp4sbdppyl0";
+      rev = "e81cbe6004051c390721d8570a4a0541ceb0df10";
+      sha256 = "1smr62hm7id8j2j7cra8rcjn9xwdpayak9cfgyx4hs58w5g8hvbj";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/l3mon4d3/luasnip/";
@@ -5699,12 +5711,12 @@ final: prev:
 
   neo-tree-nvim = buildVimPluginFrom2Nix {
     pname = "neo-tree.nvim";
-    version = "2023-07-19";
+    version = "2023-07-26";
     src = fetchFromGitHub {
       owner = "nvim-neo-tree";
       repo = "neo-tree.nvim";
-      rev = "3c68ae5968b75aea8d445b3bb024e007b0bd0b65";
-      sha256 = "04c3lirpywwc7qlwgh8r5d1x01ggnb5f1ma3m62q9xpqd04hxmaz";
+      rev = "93fcf0a3056c60829c0a210fe35523cda7ef0369";
+      sha256 = "1gyb0y0dalam3s7gj8179kkgpjkn05wv15gkjhy0r16b7xyfk6vh";
     };
     meta.homepage = "https://github.com/nvim-neo-tree/neo-tree.nvim/";
   };
@@ -5747,12 +5759,12 @@ final: prev:
 
   neodev-nvim = buildVimPluginFrom2Nix {
     pname = "neodev.nvim";
-    version = "2023-07-22";
+    version = "2023-07-27";
     src = fetchFromGitHub {
       owner = "folke";
       repo = "neodev.nvim";
-      rev = "866b6b6e687a93ba98851a03a74bf6d9211b7299";
-      sha256 = "1a99622n34h855fw3ayib40zv7v3w05qldwa44gy69zfbvgw8z4s";
+      rev = "f57e5210d450b47aa02ea6d9e50a37414f570b4c";
+      sha256 = "1mx41pwdrnxbzgwx478fcdp8v7qljh9z06jn5qs0706lsw05pkci";
     };
     meta.homepage = "https://github.com/folke/neodev.nvim/";
   };
@@ -5783,12 +5795,12 @@ final: prev:
 
   neogit = buildVimPluginFrom2Nix {
     pname = "neogit";
-    version = "2023-07-25";
+    version = "2023-07-27";
     src = fetchFromGitHub {
       owner = "NeogitOrg";
       repo = "neogit";
-      rev = "e94b15969e65eafbf31749700828cac117cc1336";
-      sha256 = "1anzm10mc94lwnhlcxp4qkxnvf1kwr1bxb4kjq1a2c6v05sx5jfb";
+      rev = "2118729749a5b500e6d52bfeac22559c5a0866cc";
+      sha256 = "1qfh68md3wv5bchpip450fnmgwzxlylgb8kf5p7i8gkkzz7qdg3q";
     };
     meta.homepage = "https://github.com/NeogitOrg/neogit/";
   };
@@ -5999,12 +6011,12 @@ final: prev:
 
   neotest-jest = buildVimPluginFrom2Nix {
     pname = "neotest-jest";
-    version = "2023-04-16";
+    version = "2023-07-28";
     src = fetchFromGitHub {
       owner = "nvim-neotest";
       repo = "neotest-jest";
-      rev = "22b1050dda3ebd401780ec4b8e193cf52523a4da";
-      sha256 = "0vg433x68c9h0nzws6lwb4xcgqzm8ss5dkmi8df4fa55m2ll8iaw";
+      rev = "e60280f53ef9f84fd827aecae1e2f732ba4326b1";
+      sha256 = "1j4q8z3vpbcmgsmv2nvlr7dziqr4kl65prapqlr6zj0w30lr3gzn";
     };
     meta.homepage = "https://github.com/nvim-neotest/neotest-jest/";
   };
@@ -6431,12 +6443,12 @@ final: prev:
 
   nvchad = buildVimPluginFrom2Nix {
     pname = "nvchad";
-    version = "2023-07-24";
+    version = "2023-07-26";
     src = fetchFromGitHub {
       owner = "nvchad";
       repo = "nvchad";
-      rev = "f18488d41cb74321377631f691a3247bc59cb064";
-      sha256 = "1sz57jxzv64g1669pj5xa1kp64bbkr8gksq0wkrrmp5cjdky31bm";
+      rev = "0e27cb4b44fbba69f8646d1f88555737d2b6aedf";
+      sha256 = "00a4wazmxmrnb2da0x4im4iwr0df0kh5jn73hclp517r73m3fi4w";
     };
     meta.homepage = "https://github.com/nvchad/nvchad/";
   };
@@ -6515,12 +6527,12 @@ final: prev:
 
   nvim-bqf = buildVimPluginFrom2Nix {
     pname = "nvim-bqf";
-    version = "2023-06-24";
+    version = "2023-07-27";
     src = fetchFromGitHub {
       owner = "kevinhwang91";
       repo = "nvim-bqf";
-      rev = "3460a1ccf4dc92a52ed7fe2012f02a9194cd84d2";
-      sha256 = "02z00d4ah393agcpp0ihzz19z2kgnqnz3l6vwrg9qgln5k21q5fq";
+      rev = "65397976cec59a1e9892b93e3ab1ea987064b0dc";
+      sha256 = "0yih7p37gm3ipx6vixb89iq7wwf85id8ff49hrs4v6y020s4sny5";
     };
     meta.homepage = "https://github.com/kevinhwang91/nvim-bqf/";
   };
@@ -6575,12 +6587,12 @@ final: prev:
 
   nvim-cokeline = buildVimPluginFrom2Nix {
     pname = "nvim-cokeline";
-    version = "2023-07-24";
+    version = "2023-07-26";
     src = fetchFromGitHub {
       owner = "willothy";
       repo = "nvim-cokeline";
-      rev = "056da2596e20959d0fd6d9f713c10c6884e5ece0";
-      sha256 = "0fvyss1xn1w9vrrsx6vxpcawh3zpw03qd4iibgswqpgbkdxzxa9w";
+      rev = "c2842a51df781d357cd3408c411a7bec147b57ae";
+      sha256 = "14nv3rvcy7fznxqdk2xbxfsjp8dg9kzv27zakpq352l4w9i4qfv0";
     };
     meta.homepage = "https://github.com/willothy/nvim-cokeline/";
   };
@@ -6671,12 +6683,12 @@ final: prev:
 
   nvim-dap = buildVimPluginFrom2Nix {
     pname = "nvim-dap";
-    version = "2023-07-17";
+    version = "2023-07-27";
     src = fetchFromGitHub {
       owner = "mfussenegger";
       repo = "nvim-dap";
-      rev = "d17d1bba23ec72a157bd183c57840c39e323f515";
-      sha256 = "172wwzl1rmxn0as549kf7gm9hzpxarz6nxsb4wsaaxab0980idik";
+      rev = "2f28ea843bcdb378b171a66ddcd568516e431d55";
+      sha256 = "12b72xhz3ha18xpcnc54s4ic19jg4i6v8dka8lxky6hymzw408ir";
     };
     meta.homepage = "https://github.com/mfussenegger/nvim-dap/";
   };
@@ -6767,12 +6779,12 @@ final: prev:
 
   nvim-gdb = buildVimPluginFrom2Nix {
     pname = "nvim-gdb";
-    version = "2023-07-22";
+    version = "2023-07-26";
     src = fetchFromGitHub {
       owner = "sakhnik";
       repo = "nvim-gdb";
-      rev = "7c92e203224ef3e24a2d07546bd56b4520cd9633";
-      sha256 = "034c35a4dg3pr5ffhpw87gq6b7bdvhqqlcn9rwgjhslnsqx0h8cq";
+      rev = "571f25463a2a4c512b7c2617c976beb8190d2621";
+      sha256 = "1wxy0nwzg72i586a1zq8q17rbl116njbrwnbyd2xn1g21887myhm";
     };
     meta.homepage = "https://github.com/sakhnik/nvim-gdb/";
   };
@@ -6791,24 +6803,24 @@ final: prev:
 
   nvim-highlight-colors = buildVimPluginFrom2Nix {
     pname = "nvim-highlight-colors";
-    version = "2023-07-13";
+    version = "2023-07-27";
     src = fetchFromGitHub {
       owner = "brenoprata10";
       repo = "nvim-highlight-colors";
-      rev = "e1c976a31d19c10e77b89e054310b1061acb5158";
-      sha256 = "0vw7314dz3ig5yd3msb0vp77x544sw27f2z54va7qwbwhx4125a3";
+      rev = "231547093a788b925b8fc36351ad422701c3a8c8";
+      sha256 = "186bpqmb1w18zq5sgzy0xj1cs24sb5sqpm3rqsqyhjbybgcf56yn";
     };
     meta.homepage = "https://github.com/brenoprata10/nvim-highlight-colors/";
   };
 
   nvim-highlite = buildVimPluginFrom2Nix {
     pname = "nvim-highlite";
-    version = "2023-07-24";
+    version = "2023-07-26";
     src = fetchFromGitHub {
       owner = "Iron-E";
       repo = "nvim-highlite";
-      rev = "1973cb1cdf39a3e2005326713dbb1192fd977c22";
-      sha256 = "1xxn6ys2c7vmhaig9280p7zd8mqfml6d5df9dzyw814f8bp5brqm";
+      rev = "7e67fa948e32ad54f790023ae7ab0bac1a1d10fa";
+      sha256 = "17r8adn2rw6b7914sk2i3407qj4ji8ph4b2dsjmfwrar6mixg411";
     };
     meta.homepage = "https://github.com/Iron-E/nvim-highlite/";
   };
@@ -6863,12 +6875,12 @@ final: prev:
 
   nvim-lastplace = buildVimPluginFrom2Nix {
     pname = "nvim-lastplace";
-    version = "2023-06-05";
+    version = "2023-07-27";
     src = fetchFromGitHub {
       owner = "ethanholz";
       repo = "nvim-lastplace";
-      rev = "aeb0e0bd399288092729da89a9e51dda4ccbc9ec";
-      sha256 = "16b14l4k9lwlhbjzqqj0dn4726jdfwa5iz0sd2a1akvwq5r83rm5";
+      rev = "0bb6103c506315044872e0f84b1f736c4172bb20";
+      sha256 = "0a5bplxsds8y054jbgcwd0j0hzj0knazdmir54byd2bm57l78qcf";
     };
     meta.homepage = "https://github.com/ethanholz/nvim-lastplace/";
   };
@@ -6899,12 +6911,12 @@ final: prev:
 
   nvim-lint = buildVimPluginFrom2Nix {
     pname = "nvim-lint";
-    version = "2023-07-20";
+    version = "2023-07-27";
     src = fetchFromGitHub {
       owner = "mfussenegger";
       repo = "nvim-lint";
-      rev = "606d1eb9506627253b98cba3fd7efad255e33ee4";
-      sha256 = "1hshhzvhfd033nq03h09jkl88m3b6zcssvr1xdzzxhgx3533a7yi";
+      rev = "3db039fb36bba925f096a659fc4d1b4a93f7fb70";
+      sha256 = "1kwy1rc2nd6krvy3n4dkyxl0a2dzfl3viyrfrbzypv321p60jyyf";
     };
     meta.homepage = "https://github.com/mfussenegger/nvim-lint/";
   };
@@ -6935,12 +6947,12 @@ final: prev:
 
   nvim-lspconfig = buildVimPluginFrom2Nix {
     pname = "nvim-lspconfig";
-    version = "2023-07-25";
+    version = "2023-07-26";
     src = fetchFromGitHub {
       owner = "neovim";
       repo = "nvim-lspconfig";
-      rev = "6f426c34c8e21af2f934e56be9d1198a507ecc9f";
-      sha256 = "167d9df5a3sh69frklk70ff3aw9ks33cc1v6y32iky8i16479zfi";
+      rev = "b6091272422bb0fbd729f7f5d17a56d37499c54f";
+      sha256 = "1miar4bdf60s4gp55rc9918v0k33w2mnqym9b44mqkxzn2fbsrh2";
     };
     meta.homepage = "https://github.com/neovim/nvim-lspconfig/";
   };
@@ -7151,12 +7163,12 @@ final: prev:
 
   nvim-scrollview = buildVimPluginFrom2Nix {
     pname = "nvim-scrollview";
-    version = "2023-07-24";
+    version = "2023-07-28";
     src = fetchFromGitHub {
       owner = "dstein64";
       repo = "nvim-scrollview";
-      rev = "5a8a24a80774236bde6557ce3a98346b3e4133f9";
-      sha256 = "0k9m2vmb2xhhv7a5dr1yxv7hwhwnl1x4m6f2y3caylrhdydq0l57";
+      rev = "d83bf0bf21349d396f365f86a8126747cb72d89c";
+      sha256 = "0miw0mw3s73iv7inwhqcndcw4v759d5kvl74yd49n6qn28y0cj86";
     };
     meta.homepage = "https://github.com/dstein64/nvim-scrollview/";
   };
@@ -7271,12 +7283,12 @@ final: prev:
 
   nvim-treesitter = buildVimPluginFrom2Nix {
     pname = "nvim-treesitter";
-    version = "2023-07-25";
+    version = "2023-07-27";
     src = fetchFromGitHub {
       owner = "nvim-treesitter";
       repo = "nvim-treesitter";
-      rev = "74a7da4e4be5ee71e9efb6d7bdffa16ad620cc57";
-      sha256 = "017fp6rmqqf60br9fzc0xkndxcbq68s092k80ac4p47cqwr3blqn";
+      rev = "f09bcffe0c29a464db24ad8124dd1f0be3fe9ce5";
+      sha256 = "07lkgkwnzibsx0syd1js4j5rgpxqb2vpkn0x37zb8x2dxzdfv0i8";
     };
     meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter/";
   };
@@ -7355,12 +7367,12 @@ final: prev:
 
   nvim-ts-context-commentstring = buildVimPluginFrom2Nix {
     pname = "nvim-ts-context-commentstring";
-    version = "2023-06-22";
+    version = "2023-07-27";
     src = fetchFromGitHub {
       owner = "joosepalviste";
       repo = "nvim-ts-context-commentstring";
-      rev = "7f625207f225eea97ef7a6abe7611e556c396d2f";
-      sha256 = "0rr0kqr4v2pf9r31sw5mk8xhrlp1nq8bhbmghi18gxxg2qc58p65";
+      rev = "e9062e2dfb9854e6a927370f2d720de354c88524";
+      sha256 = "198mh7n08824mxnqhxa74fvv0nlsy179qigjzla4fny5y3yxrjq0";
     };
     meta.homepage = "https://github.com/joosepalviste/nvim-ts-context-commentstring/";
   };
@@ -7571,12 +7583,12 @@ final: prev:
 
   onedarkpro-nvim = buildVimPluginFrom2Nix {
     pname = "onedarkpro.nvim";
-    version = "2023-07-23";
+    version = "2023-07-25";
     src = fetchFromGitHub {
       owner = "olimorris";
       repo = "onedarkpro.nvim";
-      rev = "fdd6d80011ad7b1496ce758af0fc1bcd147dc2b1";
-      sha256 = "10mw26pa9v3gk77jxcwir4ci2n8y496rldjj7ghlpxcc572aybaw";
+      rev = "5b447b2d5937a66033084b05ced0f79bcf6e6f64";
+      sha256 = "1czja1d558f303s9dbsr724a3vxgw0lhglzq4n614ljzwy2bwqx5";
     };
     meta.homepage = "https://github.com/olimorris/onedarkpro.nvim/";
   };
@@ -8173,12 +8185,12 @@ final: prev:
 
   refactoring-nvim = buildVimPluginFrom2Nix {
     pname = "refactoring.nvim";
-    version = "2023-07-23";
+    version = "2023-07-26";
     src = fetchFromGitHub {
       owner = "theprimeagen";
       repo = "refactoring.nvim";
-      rev = "7d57e01a9ae012c7aedd73f518d45608a772eb1f";
-      sha256 = "12r8qd6c0c3ij4md3vvbl4kyfw91j3lb3kl10hknaar5kjibs2kg";
+      rev = "5359e74291164fcaeaaecdea9ba753ad54eb53d0";
+      sha256 = "1jskfd63n3r1slwhbv1qv239nd0mp3q7h4r9fardkc4xf7nsy1jb";
     };
     meta.homepage = "https://github.com/theprimeagen/refactoring.nvim/";
   };
@@ -8353,12 +8365,12 @@ final: prev:
 
   satellite-nvim = buildVimPluginFrom2Nix {
     pname = "satellite.nvim";
-    version = "2023-07-16";
+    version = "2023-07-26";
     src = fetchFromGitHub {
       owner = "lewis6991";
       repo = "satellite.nvim";
-      rev = "723b893a5a2c1e2b77a82df229c19b57f33638e8";
-      sha256 = "0skzfg4y3ws4904b0kxlzzlqs0k6s072drhhiwrddlr6fjglpk5f";
+      rev = "8a84a2ab739d0cb5eff461f2635a32bf9a0c508d";
+      sha256 = "0x5kc8r6z8m7arhxv2nq723fzdn7c5xvmsxpp5jndvbk6nmh6n78";
     };
     meta.homepage = "https://github.com/lewis6991/satellite.nvim/";
   };
@@ -8485,12 +8497,12 @@ final: prev:
 
   sg-nvim = buildVimPluginFrom2Nix {
     pname = "sg.nvim";
-    version = "2023-07-25";
+    version = "2023-07-27";
     src = fetchFromGitHub {
       owner = "sourcegraph";
       repo = "sg.nvim";
-      rev = "3fdedc7f14ee3967e2b0a49d51fdef1f92b802af";
-      sha256 = "14lf8izgkr5m0w41k63vp2r2b2ll0zvjkm5c6lqrm3i7cmmln229";
+      rev = "7de5e1577800560b2a94c0618fdccc67b74fa620";
+      sha256 = "1prq9q4mcy9035n8vganwgcmdxr7xpg8dscrracd4mrny5bhx20j";
     };
     meta.homepage = "https://github.com/sourcegraph/sg.nvim/";
   };
@@ -8630,12 +8642,12 @@ final: prev:
 
   sonokai = buildVimPluginFrom2Nix {
     pname = "sonokai";
-    version = "2023-04-24";
+    version = "2023-07-28";
     src = fetchFromGitHub {
       owner = "sainnhe";
       repo = "sonokai";
-      rev = "a9b2a3e83ed4fa7a5541e41be9becaa7b436edcf";
-      sha256 = "0zfgi04c42n1bf5l9zj4g5k60fnsp2njf12vkpfnq2vqdcj1563i";
+      rev = "adb066ac5250556ccfca22f901c9710a735f23c2";
+      sha256 = "081ccy3s94js343ywr24jwky3qrmk508vddm5vrhpdgrpni2z2zm";
     };
     meta.homepage = "https://github.com/sainnhe/sonokai/";
   };
@@ -8787,12 +8799,12 @@ final: prev:
 
   srcery-vim = buildVimPluginFrom2Nix {
     pname = "srcery-vim";
-    version = "2023-04-25";
+    version = "2023-07-26";
     src = fetchFromGitHub {
       owner = "srcery-colors";
       repo = "srcery-vim";
-      rev = "6545397ee8119c43f5717600a42ad4b44be0f572";
-      sha256 = "1i71l565kmfqrl691ccs1p12v3rig00j4bvl9qg9fhwwxk61bcpx";
+      rev = "cf2c61ff3448be41b264ee850eeac16cacd7e5a9";
+      sha256 = "0gpdsnzwk9hvr2302rc62nxsvv895525q6iy7pzracjqlh29ljbq";
     };
     meta.homepage = "https://github.com/srcery-colors/srcery-vim/";
   };
@@ -9233,12 +9245,12 @@ final: prev:
 
   telescope-file-browser-nvim = buildVimPluginFrom2Nix {
     pname = "telescope-file-browser.nvim";
-    version = "2023-07-01";
+    version = "2023-07-28";
     src = fetchFromGitHub {
       owner = "nvim-telescope";
       repo = "telescope-file-browser.nvim";
-      rev = "e03ff55962417b69c85ef41424079bb0580546ba";
-      sha256 = "1agwrhwb6w0qpcgcmffibnip61g6dqjzmchngb1a9fwxqvzrgfll";
+      rev = "6c234e863444c246611ad7458185c771ad8cd6e6";
+      sha256 = "05bd8yw22hp6lj732dhffq8wpy13qslwv2wf8rlmza2m7am4jfiy";
     };
     meta.homepage = "https://github.com/nvim-telescope/telescope-file-browser.nvim/";
   };
@@ -9463,12 +9475,12 @@ final: prev:
 
   telescope-nvim = buildNeovimPlugin {
     pname = "telescope.nvim";
-    version = "2023-07-22";
+    version = "2023-07-27";
     src = fetchFromGitHub {
       owner = "nvim-telescope";
       repo = "telescope.nvim";
-      rev = "1228f3b15ca3d9b95dcb92efda6a3448871030bd";
-      sha256 = "0qqvh3dq86djb8jf4p6icmbkswj5024a6ll1nkyjmmqm04k74q0m";
+      rev = "22735947d84d78f29436c203f0a4b8dc15dda204";
+      sha256 = "09vy6kmqrnk503vxa7v9z526lv7p3h76fcpcacq1n2196hrjdrxx";
     };
     meta.homepage = "https://github.com/nvim-telescope/telescope.nvim/";
   };
@@ -9511,12 +9523,12 @@ final: prev:
 
   term-edit-nvim = buildVimPluginFrom2Nix {
     pname = "term-edit.nvim";
-    version = "2023-05-28";
+    version = "2023-07-28";
     src = fetchFromGitHub {
       owner = "chomosuke";
       repo = "term-edit.nvim";
-      rev = "3c2385d5d058720928a96e77c405466478fb711a";
-      sha256 = "06qkld6i542p0hh2jxk80n5xfrf0jklg4b7vmkm6imvkcj705hdc";
+      rev = "07bfebde433d3de5d3f53494417413d5a3f7292b";
+      sha256 = "15mm09wqn83pnqp0k6js0j8g0v71bmf7wda64vbyicxc9xsrxn7q";
     };
     meta.homepage = "https://github.com/chomosuke/term-edit.nvim/";
   };
@@ -9932,12 +9944,12 @@ final: prev:
 
   unison = buildVimPluginFrom2Nix {
     pname = "unison";
-    version = "2023-07-24";
+    version = "2023-07-28";
     src = fetchFromGitHub {
       owner = "unisonweb";
       repo = "unison";
-      rev = "6d050d5bc74645cb572c01a0a5c8d2eb28479c71";
-      sha256 = "07w8lskf4scx7knkaknc9ba1g7hk3b1jmx7mn6qfxmxf4kx5i2vd";
+      rev = "3a2d7d78b310f6ddde939042fa04b553012d2c7b";
+      sha256 = "10741mmqls1ys0cd7kab1cn7sjby8f9fhap57jh01nhjkkqbfz86";
     };
     meta.homepage = "https://github.com/unisonweb/unison/";
   };
@@ -11036,12 +11048,12 @@ final: prev:
 
   vim-css-color = buildVimPluginFrom2Nix {
     pname = "vim-css-color";
-    version = "2023-03-08";
+    version = "2023-07-26";
     src = fetchFromGitHub {
       owner = "ap";
       repo = "vim-css-color";
-      rev = "5687a7978bc80263cd03d0a667c2f56890cfb940";
-      sha256 = "1bm5ay1c9jw34ax9bxivq9b3crfgizphfq40rd406jdyg72ahgbk";
+      rev = "6cc65734bc7105d9677ca54e2255fcbc953ba6bf";
+      sha256 = "1mjry4xiaxhjgzajsbmh4iph9hhxbwgdj3raaxlqzmmnyjsz03iy";
     };
     meta.homepage = "https://github.com/ap/vim-css-color/";
   };
@@ -12358,12 +12370,12 @@ final: prev:
 
   vim-just = buildVimPluginFrom2Nix {
     pname = "vim-just";
-    version = "2023-07-24";
+    version = "2023-07-28";
     src = fetchFromGitHub {
       owner = "NoahTheDuke";
       repo = "vim-just";
-      rev = "8e5c882f8d6fb213b160ac2cbb5b28fea620ed0b";
-      sha256 = "17k073vbx4b2cll0n4pj33c3znmd7df4ln6fr3l6yswlcd6byabh";
+      rev = "2a94aecd8eb53e1147392da33df8ee4ea6e482d6";
+      sha256 = "0n8vq3a4z9yl3xidg2gbclwwwjdd82kixqjjdm8z03d8vy59qg9r";
     };
     meta.homepage = "https://github.com/NoahTheDuke/vim-just/";
   };
@@ -12731,12 +12743,12 @@ final: prev:
 
   vim-matchup = buildVimPluginFrom2Nix {
     pname = "vim-matchup";
-    version = "2023-07-20";
+    version = "2023-07-27";
     src = fetchFromGitHub {
       owner = "andymass";
       repo = "vim-matchup";
-      rev = "ca8971739e3908973c5912cb3a0ffb6cf7bd83e7";
-      sha256 = "1b9jqympkq0aw9mjpl5gny2xal0cmg3kxwxafpd3i4l8hw5qrwzh";
+      rev = "0646093e07b1f89b16536cfb3dc4993e3f0ac653";
+      sha256 = "117zdg6ibnnnpl03r6dhb71hm3dw6h0y2lxbkj8kl5b0gk8lapph";
     };
     meta.homepage = "https://github.com/andymass/vim-matchup/";
   };
@@ -13919,12 +13931,12 @@ final: prev:
 
   vim-slime = buildVimPluginFrom2Nix {
     pname = "vim-slime";
-    version = "2023-06-23";
+    version = "2023-07-27";
     src = fetchFromGitHub {
       owner = "jpalardy";
       repo = "vim-slime";
-      rev = "a096a2969fcb807fd5c6a75d943c6227dd9e6a38";
-      sha256 = "1jhkrir48kbdhd95659b7rmbavb75c05zqjvzz4f633i33j32bf3";
+      rev = "99cc4af89014971ca65748b32128d15b008c979c";
+      sha256 = "1sh5k3w3d81gnyvsfy70vygvvi3rsk8wbyh1n30k0fl6b30j4pb6";
     };
     meta.homepage = "https://github.com/jpalardy/vim-slime/";
   };
@@ -15049,12 +15061,12 @@ final: prev:
 
   vimtex = buildVimPluginFrom2Nix {
     pname = "vimtex";
-    version = "2023-07-24";
+    version = "2023-07-25";
     src = fetchFromGitHub {
       owner = "lervag";
       repo = "vimtex";
-      rev = "9da5481ca32d4c903228e4e30b5d8ccdd46e6a94";
-      sha256 = "1hayvndfzvr839zv76mhkqr7vyi2q3y140hxrc5vz0bkk0hc6w8w";
+      rev = "877de3ba5de5f766e5bfa1c3fb0d2ecfcd18f868";
+      sha256 = "1yyz90a84n6npa35ngb9hb8fv7ir89f1nv89c5ps59fxmdivh9sq";
     };
     meta.homepage = "https://github.com/lervag/vimtex/";
   };
@@ -15506,12 +15518,12 @@ final: prev:
 
   catppuccin-nvim = buildVimPluginFrom2Nix {
     pname = "catppuccin-nvim";
-    version = "2023-07-21";
+    version = "2023-07-26";
     src = fetchFromGitHub {
       owner = "catppuccin";
       repo = "nvim";
-      rev = "6425df128d46f2db2cccf9aa7a66ca2823c1d153";
-      sha256 = "0abchc41rpfrhda9i3yjn08ngm785vxznmn3zkl2886gak0a9l34";
+      rev = "737f60a3a25c79d9bb9574092f6c6c958a3d747a";
+      sha256 = "0n2jwxzprgn4lryaivrfds78dri9h24q7ablf5lyfj6wcrmcqgk7";
     };
     meta.homepage = "https://github.com/catppuccin/nvim/";
   };
@@ -15566,12 +15578,12 @@ final: prev:
 
   lspsaga-nvim-original = buildVimPluginFrom2Nix {
     pname = "lspsaga-nvim-original";
-    version = "2023-07-25";
+    version = "2023-07-27";
     src = fetchFromGitHub {
       owner = "nvimdev";
       repo = "lspsaga.nvim";
-      rev = "31b4b4336d05e7c8ff0f833a493de2a2875f1b38";
-      sha256 = "0m426zxd6liah3xfdnxjs289c27z31fw8r0fdw8dvnvgsbhz1a2v";
+      rev = "557e6fd7fbca325a4bea582576fe36bec903367c";
+      sha256 = "0cxg1ahl9la3m8cd3sb7s456kmvrxjjsf411imyfgl0rp7632bf5";
     };
     meta.homepage = "https://github.com/nvimdev/lspsaga.nvim/";
   };
@@ -15614,24 +15626,24 @@ final: prev:
 
   nvchad-extensions = buildVimPluginFrom2Nix {
     pname = "nvchad-extensions";
-    version = "2023-07-25";
+    version = "2023-07-27";
     src = fetchFromGitHub {
       owner = "nvchad";
       repo = "extensions";
-      rev = "0abb3ead8ce6ffa0e03b596a000d231b5e5d406b";
-      sha256 = "13bngm38j90n21szilc27bpdzgjk4g41a6a8yz1bc60rddxxjxr3";
+      rev = "0bfeb74229ad973ce600088997ac8421980f79bb";
+      sha256 = "1jh5728mwfpg9pzgd9pvb177ssdzfvs8bsms1mrjcjx7xj2iv33m";
     };
     meta.homepage = "https://github.com/nvchad/extensions/";
   };
 
   nvchad-ui = buildVimPluginFrom2Nix {
     pname = "nvchad-ui";
-    version = "2023-07-23";
+    version = "2023-07-28";
     src = fetchFromGitHub {
       owner = "nvchad";
       repo = "ui";
-      rev = "c4c1f41deb8102bb68f168795d1dcc036e098f98";
-      sha256 = "0ddkq6dnk45n2rnzjvfkr2r1iq67fbdg8s61r1cpk7a7dgq9j2v3";
+      rev = "47ef4046504e5562a3daf30db50b7d4a1552fcb5";
+      sha256 = "1hx7i8z31avpfngqi21izl740p0ryhkf3ys1g76drnzqi6gan8d7";
     };
     meta.homepage = "https://github.com/nvchad/ui/";
   };
diff --git a/pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix b/pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix
index fe10e57a8433a..8c5562b8bae4e 100644
--- a/pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix
+++ b/pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix
@@ -27,12 +27,12 @@
   };
   arduino = buildGrammar {
     language = "arduino";
-    version = "0.0.0+rev=4de2f3e";
+    version = "0.0.0+rev=3446bac";
     src = fetchFromGitHub {
       owner = "ObserverOfTime";
       repo = "tree-sitter-arduino";
-      rev = "4de2f3e6235ee8659ecb7467c16ed13bde7fb272";
-      hash = "sha256-DeUp7M96PHQ652tvWSnsu1rSaQJyCCojAYfplccbJTc=";
+      rev = "3446bac828d5db2a6cf60ab31813c02ab53547a7";
+      hash = "sha256-E4mRE+CtuI/s3LlVcT/VFhFdFakRXvSr7/v4gaB4H+U=";
     };
     meta.homepage = "https://github.com/ObserverOfTime/tree-sitter-arduino";
   };
@@ -126,12 +126,12 @@
   };
   c = buildGrammar {
     language = "c";
-    version = "0.0.0+rev=6adee19";
+    version = "0.0.0+rev=ad09589";
     src = fetchFromGitHub {
       owner = "tree-sitter";
       repo = "tree-sitter-c";
-      rev = "6adee194587678b250608cdb808544f06bcd26e7";
-      hash = "sha256-A3bLZxkCru7uAOtz9J3I/nsIoRRWmoUUiPGaLtljrqw=";
+      rev = "ad095896dd223f1c22b85ac5ec84ab11fb732b07";
+      hash = "sha256-0SqgOjsSFQkDeJMmF9mAgvbgnm9CCuFTYCUJo4zjCEU=";
     };
     meta.homepage = "https://github.com/tree-sitter/tree-sitter-c";
   };
@@ -258,12 +258,12 @@
   };
   cpp = buildGrammar {
     language = "cpp";
-    version = "0.0.0+rev=0e7b7a0";
+    version = "0.0.0+rev=f88bf81";
     src = fetchFromGitHub {
       owner = "tree-sitter";
       repo = "tree-sitter-cpp";
-      rev = "0e7b7a02b6074859b51c1973eb6a8275b3315b1d";
-      hash = "sha256-s5QRDs4W8TpB+kWtwXIvanP+Ii7hQgUI/yu0rvDUIg4=";
+      rev = "f88bf81238ec2842682e4d1dac0acf3b43b686e9";
+      hash = "sha256-9GOzjjIA/RXNLGlFSyvir4cHAl075TSW10AsOlJec0k=";
     };
     meta.homepage = "https://github.com/tree-sitter/tree-sitter-cpp";
   };
@@ -280,12 +280,12 @@
   };
   cuda = buildGrammar {
     language = "cuda";
-    version = "0.0.0+rev=c5befe0";
+    version = "0.0.0+rev=2af3d43";
     src = fetchFromGitHub {
       owner = "theHamsta";
       repo = "tree-sitter-cuda";
-      rev = "c5befe09c99f5e88190574676ffa8eb29775d410";
-      hash = "sha256-wdv5TuNQl81n9CSyNkvAwCSPhfOs+DPwOT675WAphZE=";
+      rev = "2af3d43cd96dd3f3c3868095222c7f5e2462b3ab";
+      hash = "sha256-ZwinNfhFM1u4qplHOFR8xKphtSjENS+o4u9RUgEnOHg=";
     };
     meta.homepage = "https://github.com/theHamsta/tree-sitter-cuda";
   };
@@ -645,12 +645,12 @@
   };
   glsl = buildGrammar {
     language = "glsl";
-    version = "0.0.0+rev=7d76863";
+    version = "0.0.0+rev=34e0657";
     src = fetchFromGitHub {
       owner = "theHamsta";
       repo = "tree-sitter-glsl";
-      rev = "7d76863f2126ed3b246fead68f9591760d546c94";
-      hash = "sha256-X0Lqq7xrKEFVRAOh1AfvzeJQ5zv6RNwv583p69VkEpY=";
+      rev = "34e0657e37323874c6b67c718a0f83410c4602cf";
+      hash = "sha256-tOIwOy0XmDpDPxLWXZQNqxgoycA03oaqbdp+PxJfn+0=";
     };
     meta.homepage = "https://github.com/theHamsta/tree-sitter-glsl";
   };
@@ -777,12 +777,12 @@
   };
   hcl = buildGrammar {
     language = "hcl";
-    version = "0.0.0+rev=becebeb";
+    version = "0.0.0+rev=b553906";
     src = fetchFromGitHub {
       owner = "MichaHoffmann";
       repo = "tree-sitter-hcl";
-      rev = "becebebd3509c02e871c99be55556269be1def1b";
-      hash = "sha256-GR2a+VuhZVMGmLW9Mg7bSALNsy0SyfG+YVaRz1qY6a0=";
+      rev = "b5539065432c08e4118eb3ee7c94902fdda85708";
+      hash = "sha256-okLwoDGgK6aM5+8oelfRnuKqIimTs8Hc0N8Ikrm2eY0=";
     };
     meta.homepage = "https://github.com/MichaHoffmann/tree-sitter-hcl";
   };
@@ -810,12 +810,12 @@
   };
   hlsl = buildGrammar {
     language = "hlsl";
-    version = "0.0.0+rev=b8fab02";
+    version = "0.0.0+rev=20c40a3";
     src = fetchFromGitHub {
       owner = "theHamsta";
       repo = "tree-sitter-hlsl";
-      rev = "b8fab02e808bab41c49829fb5e4fb0ce7eab8d1a";
-      hash = "sha256-b/8KKGFqYj0gwDo3EgrRAufvXeuAEz6xvIBHBeVW0KE=";
+      rev = "20c40a3f1bb68c596f56bb0c0290008b9d4f58dd";
+      hash = "sha256-mLcl73XNDjkKUvFixPjW4EAO9y++gpitu7e+oym/Mpc=";
     };
     meta.homepage = "https://github.com/theHamsta/tree-sitter-hlsl";
   };
@@ -832,12 +832,12 @@
   };
   hoon = buildGrammar {
     language = "hoon";
-    version = "0.0.0+rev=89271df";
+    version = "0.0.0+rev=dfa565f";
     src = fetchFromGitHub {
       owner = "urbit-pilled";
       repo = "tree-sitter-hoon";
-      rev = "89271dfe18f20aa71cbe5ef813252a8f98901240";
-      hash = "sha256-UdYucPGeAFexjSxx1RHMWPPJ7KFQs41c+Vi8BSM+Yj0=";
+      rev = "dfa565f87c8997d43cec725d41f023cc3577ca46";
+      hash = "sha256-ogNgjvRRR0KevOlB1PH+cI+HHftq/JrS6pQuIwR5m2A=";
     };
     meta.homepage = "https://github.com/urbit-pilled/tree-sitter-hoon";
   };
@@ -898,12 +898,12 @@
   };
   ispc = buildGrammar {
     language = "ispc";
-    version = "0.0.0+rev=848e588";
+    version = "0.0.0+rev=0bdbb03";
     src = fetchFromGitHub {
       owner = "fab4100";
       repo = "tree-sitter-ispc";
-      rev = "848e58874ffa2f7e540a6ec01ab9652b26995f37";
-      hash = "sha256-xHX7N3pJbU8c4apoDXEm2VXOn9NH9atG8YfwSMyhHZ4=";
+      rev = "0bdbb03d9abde78d8be2f2199e57119b2c7f8fd7";
+      hash = "sha256-udsVK0FCbq6hFl0iLgWdTNbZdKps2avHk0SfJ/DIUxY=";
     };
     meta.homepage = "https://github.com/fab4100/tree-sitter-ispc";
   };
@@ -1275,12 +1275,12 @@
   };
   objc = buildGrammar {
     language = "objc";
-    version = "0.0.0+rev=6d876af";
+    version = "0.0.0+rev=77e28ae";
     src = fetchFromGitHub {
       owner = "amaanq";
       repo = "tree-sitter-objc";
-      rev = "6d876afade2d5e70d394aaf994321c78297e3607";
-      hash = "sha256-1LJ5pFslYqgPYoBptSw6SY7pt6syXJoxQUJ5KsybjSk=";
+      rev = "77e28aeaede824a5f4aa501fb5f3138ab1019b9f";
+      hash = "sha256-lK0wy6cEf9RSD9G96ywkUFZrRTk1WYtkdNbI7OBGRtg=";
     };
     meta.homepage = "https://github.com/amaanq/tree-sitter-objc";
   };
@@ -1465,12 +1465,12 @@
   };
   promql = buildGrammar {
     language = "promql";
-    version = "0.0.0+rev=655afc4";
+    version = "0.0.0+rev=4b6b9f3";
     src = fetchFromGitHub {
       owner = "MichaHoffmann";
       repo = "tree-sitter-promql";
-      rev = "655afc4fe6813f38bde087d6493d8fd4920d6d4a";
-      hash = "sha256-eqpWHPlCoQqMXL4hgLXaakQ0fP/U5tK7p+QAZgq24KI=";
+      rev = "4b6b9f399dc58e408c81da8d8fd7e66ab617eef3";
+      hash = "sha256-CaNCxgKL/N6TUcO838iR09tFTYS/kWJLf8whQF/3hAg=";
     };
     meta.homepage = "https://github.com/MichaHoffmann/tree-sitter-promql";
   };
@@ -1498,12 +1498,12 @@
   };
   pug = buildGrammar {
     language = "pug";
-    version = "0.0.0+rev=884e225";
+    version = "0.0.0+rev=a7ff31a";
     src = fetchFromGitHub {
       owner = "zealot128";
       repo = "tree-sitter-pug";
-      rev = "884e225b5ecca5d885ae627275f16ef648acd42e";
-      hash = "sha256-qPfVSnsw9bDznq7rhzftGyv9cGi2OiF6DCh55Lxk8xA=";
+      rev = "a7ff31a38908df9b9f34828d21d6ca5e12413e18";
+      hash = "sha256-WDx2Y1LxuJJuAaeTxfqQrxRXxVd4Cn3niQeherh+5Uc=";
     };
     meta.homepage = "https://github.com/zealot128/tree-sitter-pug";
   };
@@ -1575,12 +1575,12 @@
   };
   r = buildGrammar {
     language = "r";
-    version = "0.0.0+rev=80efda5";
+    version = "0.0.0+rev=c55f8b4";
     src = fetchFromGitHub {
       owner = "r-lib";
       repo = "tree-sitter-r";
-      rev = "80efda55672d1293aa738f956c7ae384ecdc31b4";
-      hash = "sha256-qUfyITSZRnSm4zZHfkM/Dm5AeFEFLcCtRrInx0Xs/tg=";
+      rev = "c55f8b4dfaa32c80ddef6c0ac0e79b05cb0cbf57";
+      hash = "sha256-NWnEk0FixC7pBdNLwJUGvKifwZj8nzX7VWv8AhgaI2o=";
     };
     meta.homepage = "https://github.com/r-lib/tree-sitter-r";
   };
@@ -1705,6 +1705,18 @@
     };
     meta.homepage = "https://github.com/tree-sitter/tree-sitter-scala";
   };
+  scfg = buildGrammar {
+    language = "scfg";
+    version = "0.0.0+rev=6deae0c";
+    src = fetchFromSourcehut {
+      owner = "~rockorager";
+      repo = "tree-sitter-scfg";
+      rev = "6deae0cbb458c849a4d1e2985093e9c9c32d7fd0";
+      hash = "sha256-2ubRvjpvRJEBZXpM7ZIkWAwSZARCzP/klydQ6IVpCSk=";
+    };
+    generate = true;
+    meta.homepage = "https://git.sr.ht/~rockorager/tree-sitter-scfg";
+  };
   scheme = buildGrammar {
     language = "scheme";
     version = "0.0.0+rev=ca8af22";
@@ -1919,12 +1931,12 @@
   };
   terraform = buildGrammar {
     language = "terraform";
-    version = "0.0.0+rev=becebeb";
+    version = "0.0.0+rev=b553906";
     src = fetchFromGitHub {
       owner = "MichaHoffmann";
       repo = "tree-sitter-hcl";
-      rev = "becebebd3509c02e871c99be55556269be1def1b";
-      hash = "sha256-GR2a+VuhZVMGmLW9Mg7bSALNsy0SyfG+YVaRz1qY6a0=";
+      rev = "b5539065432c08e4118eb3ee7c94902fdda85708";
+      hash = "sha256-okLwoDGgK6aM5+8oelfRnuKqIimTs8Hc0N8Ikrm2eY0=";
     };
     location = "dialects/terraform";
     meta.homepage = "https://github.com/MichaHoffmann/tree-sitter-hcl";
@@ -2154,12 +2166,12 @@
   };
   wgsl_bevy = buildGrammar {
     language = "wgsl_bevy";
-    version = "0.0.0+rev=7cd38d6";
+    version = "0.0.0+rev=9e3273e";
     src = fetchFromGitHub {
       owner = "theHamsta";
       repo = "tree-sitter-wgsl-bevy";
-      rev = "7cd38d6895060b023353e04f7af099ec64add5d1";
-      hash = "sha256-QzfeFzGhWJGD+l+MeKyedRpdZsH+dGKE7UxRmh2uMH0=";
+      rev = "9e3273e64bdd3f74d1514674286838f9075ee9e4";
+      hash = "sha256-bBGunOcFPrHWLsP1ISgdFBNDIBbB0uhwxKAwmQZg7/k=";
     };
     meta.homepage = "https://github.com/theHamsta/tree-sitter-wgsl-bevy";
   };
diff --git a/pkgs/applications/editors/vim/plugins/overrides.nix b/pkgs/applications/editors/vim/plugins/overrides.nix
index 2db6a83baa25e..3007625285c32 100644
--- a/pkgs/applications/editors/vim/plugins/overrides.nix
+++ b/pkgs/applications/editors/vim/plugins/overrides.nix
@@ -932,7 +932,7 @@ self: super: {
         pname = "sg-nvim-rust";
         inherit (old) version src;
 
-        cargoHash = "sha256-KhUCIAGSgf7TxabEzcjo582VgbSU79QSGlaEP7BbJCE=";
+        cargoHash = "sha256-bgroNNFRoKiySTC6Rldoy8Unepxd2OXwqcy3fA+CETs=";
 
         nativeBuildInputs = [ pkg-config ];
 
@@ -966,18 +966,23 @@ self: super: {
 
   sniprun =
     let
-      version = "1.3.5";
+      version = "1.3.6";
       src = fetchFromGitHub {
         owner = "michaelb";
         repo = "sniprun";
         rev = "v${version}";
-        hash = "sha256-D2nHei7mc7Yn8rgFiWFyaR87wQuryv76B25BYOpyp2I=";
+        hash = "sha256-1xvB/YhpHlOhxbkIGlgQyTlO5ljWPHfOm+tuhKRTXAw=";
       };
       sniprun-bin = rustPlatform.buildRustPackage {
         pname = "sniprun-bin";
         inherit version src;
 
-        cargoHash = "sha256-TG84BeYm7K5Dn0CvMvv1gzqeX246JPks1qcwkfcsG8c=";
+        # Cargo.lock is outdated
+        preBuild = ''
+          cargo update --offline
+        '';
+
+        cargoHash = "sha256-pML4ZJYivC/tu/7yvbB/VHfXTT+UpLZuS1Y3iNXt2Ks=";
 
         nativeBuildInputs = [ makeWrapper ];
 
diff --git a/pkgs/applications/editors/vim/plugins/vim-plugin-names b/pkgs/applications/editors/vim/plugins/vim-plugin-names
index 1cee9362cc6a9..aca91df2c53e9 100644
--- a/pkgs/applications/editors/vim/plugins/vim-plugin-names
+++ b/pkgs/applications/editors/vim/plugins/vim-plugin-names
@@ -336,6 +336,7 @@ https://github.com/MrcJkb/haskell-tools.nvim/,HEAD,
 https://github.com/neovimhaskell/haskell-vim/,,
 https://github.com/wenzel-hoffman/haskell-with-unicode.vim/,HEAD,
 https://github.com/travitch/hasksyn/,,
+https://github.com/lukas-reineke/headlines.nvim/,HEAD,
 https://github.com/rebelot/heirline.nvim/,,
 https://github.com/RaafatTurki/hex.nvim/,HEAD,
 https://github.com/Yggdroot/hiPairs/,,
diff --git a/pkgs/applications/editors/vscode/extensions/default.nix b/pkgs/applications/editors/vscode/extensions/default.nix
index add8ebaa250b9..20e9dc56c4c16 100644
--- a/pkgs/applications/editors/vscode/extensions/default.nix
+++ b/pkgs/applications/editors/vscode/extensions/default.nix
@@ -507,6 +507,22 @@ let
         };
       };
 
+       bierner.docs-view = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "docs-view";
+          publisher = "bierner";
+          version = "0.0.11";
+          sha256 = "sha256-3njIL2SWGFp87cvQEemABJk2nXzwI1Il/WG3E0ZYZxw=";
+        };
+        meta = {
+          changelog = "https://marketplace.visualstudio.com/items/bierner.docs-view/changelog";
+          description = "A VSCode extension that displays documentation in the sidebar or panel";
+          downloadPage = "https://marketplace.visualstudio.com/items?itemName=bierner.docs-view";
+          homepage = "https://github.com/mattbierner/vscode-docs-view#readme";
+          license = lib.licenses.mit;
+        };
+      };
+
       bierner.emojisense = buildVscodeMarketplaceExtension {
         mktplcRef = {
           name = "emojisense";
@@ -559,8 +575,8 @@ let
         mktplcRef = {
           name = "vscode-fish";
           publisher = "bmalehorn";
-          version = "1.0.33";
-          sha256 = "sha256-ZQlG+HrjU4DFfpyiY8o0/ayDms6MGEObW8pV1Lmr5/Y=";
+          version = "1.0.35";
+          sha256 = "sha256-V51Qe6M1CMm9fLOSFEwqeZiC8tWCbVH0AzkLe7kR2vY=";
         };
         meta.license = lib.licenses.mit;
       };
@@ -1091,6 +1107,22 @@ let
         };
       };
 
+      dotenv.dotenv-vscode = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "dotenv-vscode";
+          publisher = "dotenv";
+          version = "0.28.0";
+          sha256 = "sha256-KiQgFvbfLsA/ADROoG6y6c/i0XHuTNH2AN+6mWEm0P8=";
+        };
+        meta = {
+          changelog = "https://marketplace.visualstudio.com/items/dotenv.dotenv-vscode/changelog";
+          description = "Official Dotenv extension for VSCode. Offers syntax highlighting, auto-cloaking, auto-completion, in-code secret peeking, and optionally dotenv-vault";
+          downloadPage = "https://marketplace.visualstudio.com/items?itemName=dotenv.dotenv-vscode";
+          homepage = "https://github.com/dotenv-org/dotenv-vscode";
+          license = lib.licenses.mit;
+        };
+      };
+
       dotjoshjohnson.xml = buildVscodeMarketplaceExtension {
         mktplcRef = {
           name = "xml";
@@ -1129,8 +1161,8 @@ let
           # semver scheme, contrary to preview versions which are listed on
           # the VSCode Marketplace and use a calver scheme. We should avoid
           # using preview versions, because they expire after two weeks.
-          version = "13.4.0";
-          sha256 = "sha256-CYI62sWPlJNRP2KIkg4vQutIMC6gaCxtTVoOWZIS8Lw=";
+          version = "14.1.1";
+          sha256 = "sha256-eSN48IudpHYzT4u+S4b2I2pyEPyOwBCSL49awT/mzEE=";
         };
         meta = {
           changelog = "https://marketplace.visualstudio.com/items/eamodio.gitlens/changelog";
@@ -1234,6 +1266,38 @@ let
         };
       };
 
+      emroussel.atomize-atom-one-dark-theme = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "atomize-atom-one-dark-theme";
+          publisher = "emroussel";
+          version = "2.0.2";
+          sha256 = "sha256-GwuFtBVj0Z2rHryst/7cegskvZIMPsrAH12+K942+JA=";
+        };
+        meta = {
+          changelog = "https://marketplace.visualstudio.com/items/emroussel.atomize-atom-one-dark-theme/changelog";
+          description = "A detailed and accurate Atom One Dark theme for VSCode";
+          downloadPage = "https://marketplace.visualstudio.com/items?itemName=emroussel.atomize-atom-one-dark-theme";
+          homepage = "https://github.com/emroussel/atomize/blob/main/README.md";
+          license = lib.licenses.mit;
+        };
+      };
+
+      enkia.tokyo-night = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "tokyo-night";
+          publisher = "enkia";
+          version = "1.0.0";
+          sha256 = "sha256-/fM+aUDUzVJ6P38i+GrxhLv2eLJNa8OFkKsM4yPBy4c=";
+        };
+        meta = {
+          changelog = "https://marketplace.visualstudio.com/items/enkia.tokyo-night/changelog";
+          description = "A clean Visual Studio Code theme that celebrates the lights of Downtown Tokyo at night";
+          downloadPage = "https://marketplace.visualstudio.com/items?itemName=enkia.tokyo-night";
+          homepage = "https://github.com/enkia/tokyo-night-vscode-theme";
+          license = lib.licenses.mit;
+        };
+      };
+
       equinusocio.vsc-material-theme = buildVscodeMarketplaceExtension {
         mktplcRef = {
           name = "vsc-material-theme";
@@ -1255,8 +1319,8 @@ let
         mktplcRef = {
           name = "prettier-vscode";
           publisher = "esbenp";
-          version = "9.19.0";
-          sha256 = "sha256-ymIlBzCcssj+J8hHOokVWUpxKTEkzkhNr80uCblhkFs=";
+          version = "10.1.0";
+          sha256 = "sha256-SQuf15Jq84MKBVqK6UviK04uo7gQw9yuw/WEBEXcQAc=";
         };
         meta = {
           changelog = "https://marketplace.visualstudio.com/items/esbenp.prettier-vscode/changelog";
@@ -1576,8 +1640,8 @@ let
           # the VSCode Marketplace and use a calver scheme. We should avoid
           # using preview versions, because they can require insider versions
           # of VS Code
-          version = "0.66.0";
-          sha256 = "sha256-rhAFNX+/BoKkQeFlVdoHzA8UmZeQofq7+UPooWleYVw=";
+          version = "0.68.1";
+          sha256 = "sha256-d60ZxWQLZa2skOB3Iv9K04aGNZA1d1A82N7zRaxAzlI=";
         };
         meta = { license = lib.licenses.mit; };
       };
@@ -1678,8 +1742,8 @@ let
         mktplcRef = {
           name = "todo-tree";
           publisher = "Gruntfuggly";
-          version = "0.0.224";
-          sha256 = "sha256-ObFmzAaOlbtWC31JRYR/1y+JK1h22SVDPPRWWqPzrQs=";
+          version = "0.0.226";
+          sha256 = "sha256-Fj9cw+VJ2jkTGUclB1TLvURhzQsaryFQs/+f2RZOLHs=";
         };
         meta = {
           license = lib.licenses.mit;
@@ -1903,8 +1967,8 @@ let
         mktplcRef = {
           name = "nix-ide";
           publisher = "jnoortheen";
-          version = "0.2.1";
-          sha256 = "sha256-yC4ybThMFA2ncGhp8BYD7IrwYiDU3226hewsRvJYKy4=";
+          version = "0.2.2";
+          sha256 = "sha256-jwOM+6LnHyCkvhOTVSTUZvgx77jAg6hFCCpBqY8AxIg=";
         };
         meta = {
           changelog = "https://marketplace.visualstudio.com/items/jnoortheen.nix-ide/changelog";
@@ -2292,8 +2356,8 @@ let
         mktplcRef = {
           name = "direnv";
           publisher = "mkhl";
-          version = "0.13.0";
-          sha256 = "sha256-KdLJ7QTi9jz+JbbQuhXqyE3WV9oF+wyC/9ZJ/XTFOYc=";
+          version = "0.14.0";
+          sha256 = "sha256-T+bt6ku+zkqzP1gXNLcpjtFAevDRiSKnZaE7sM4pUOs=";
         };
         meta = {
           description = "direnv support for Visual Studio Code";
@@ -2530,6 +2594,22 @@ let
         };
       };
 
+      mskelton.npm-outdated = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "npm-outdated";
+          publisher = "mskelton";
+          version = "2.2.0";
+          sha256 = "sha256-kHItIlTW+PIVXrLgzdGAoPeR6sWKuKl/QyJ5+TIv3/E=";
+        };
+        meta = {
+          changelog = "https://marketplace.visualstudio.com/items/mskelton.npm-outdated/changelog";
+          description = "Shows which packages are outdated in an npm project";
+          downloadPage = "https://marketplace.visualstudio.com/items?itemName=mskelton.npm-outdated";
+          homepage = "https://github.com/mskelton/vscode-npm-outdated";
+          license = lib.licenses.isc;
+        };
+      };
+
       mvllow.rose-pine = buildVscodeMarketplaceExtension {
         mktplcRef = {
           publisher = "mvllow";
@@ -2699,8 +2779,8 @@ let
         mktplcRef = {
           name = "material-icon-theme";
           publisher = "PKief";
-          version = "4.25.0";
-          sha256 = "sha256-/lD3i7ZdF/XOi7RduS3HIYHFXhkoW2+PJW249gQxcyk=";
+          version = "4.29.0";
+          sha256 = "sha256-YqleqYSpZuhGFGkNo3FRLjiglxX+iUCJl69CRCY/oWM=";
         };
         meta = {
           license = lib.licenses.mit;
@@ -2954,8 +3034,8 @@ let
         mktplcRef = {
           name = "crates";
           publisher = "serayuzgur";
-          version = "0.5.10";
-          sha256 = "1dbhd6xbawbnf9p090lpmn8i5gg1f7y8xk2whc9zhg4432kdv3vd";
+          version = "0.6.0";
+          sha256 = "080zd103vjrz86vllr1ricq2vi3hawn4534n492m7xdcry9l9dpc";
         };
         meta = {
           license = lib.licenses.mit;
@@ -3234,8 +3314,8 @@ let
         mktplcRef = {
           name = "even-better-toml";
           publisher = "tamasfe";
-          version = "0.19.0";
-          sha256 = "sha256-MqSQarNThbEf1wHDTf1yA46JMhWJN46b08c7tV6+1nU=";
+          version = "0.19.2";
+          sha256 = "sha256-JKj6noi2dTe02PxX/kS117ZhW8u7Bhj4QowZQiJKP2E=";
         };
         meta = {
           license = lib.licenses.mit;
@@ -3370,10 +3450,26 @@ let
         mktplcRef = {
           name = "sort-lines";
           publisher = "Tyriar";
-          version = "1.9.1";
-          sha256 = "0dds99j6awdxb0ipm15g543a5b6f0hr00q9rz961n0zkyawgdlcb";
+          version = "1.10.2";
+          sha256 = "sha256-AI16YBmmfZ3k7OyUrh4wujhu7ptqAwfI5jBbAc6MhDk=";
+        };
+        meta = {
+          license = lib.licenses.mit;
+        };
+      };
+
+      unifiedjs.vscode-mdx = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "vscode-mdx";
+          publisher = "unifiedjs";
+          version = "1.4.0";
+          sha256 = "sha256-qqqq0QKTR0ZCLdPltsnQh5eTqGOh9fV1OSOZMjj4xXg=";
         };
         meta = {
+          changelog = "https://marketplace.visualstudio.com/items/unifiedjs.vscode-mdx/changelog";
+          description = "VSCode language support for MDX";
+          downloadPage = "https://github.com/mdx-js/mdx-analyzer";
+          homepage = "https://github.com/mdx-js/mdx-analyzer#readme";
           license = lib.licenses.mit;
         };
       };
@@ -3382,8 +3478,8 @@ let
         mktplcRef = {
           name = "errorlens";
           publisher = "usernamehw";
-          version = "3.8.0";
-          sha256 = "sha256-T2YTEbeC22/B5BlBBrBATLv95HQC5xGab+KnCMzI1vc=";
+          version = "3.12.0";
+          sha256 = "sha256-G5+We49/f5UwYqoBovegRK+UOT6KPZo85cvoDjD1Mu4=";
         };
         meta = {
           changelog = "https://marketplace.visualstudio.com/items/usernamehw.errorlens/changelog";
@@ -3633,6 +3729,21 @@ let
         };
       };
 
+      wmaurer.change-case = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "change-case";
+          publisher = "wmaurer";
+          version = "1.0.0";
+          sha256 = "sha256-tN/jlG2PzuiCeERpgQvdqDoa3UgrUaM7fKHv6KFqujc=";
+        };
+        meta = {
+          description = "A VSCode extension for quickly changing the case (camelCase, CONSTANT_CASE, snake_case, etc) of the current selection or current word";
+          downloadPage = "https://marketplace.visualstudio.com/items?itemName=wmaurer.change-case";
+          homepage = "https://github.com/wmaurer/vscode-change-case";
+          license = lib.licenses.mit;
+        };
+      };
+
       xadillax.viml = buildVscodeMarketplaceExtension {
         mktplcRef = {
           name = "viml";
diff --git a/pkgs/applications/editors/vscode/extensions/rust-lang.rust-analyzer/build-deps/package.json b/pkgs/applications/editors/vscode/extensions/rust-lang.rust-analyzer/build-deps/package.json
index 167f92fbede95..29f8c62b9af4d 100644
--- a/pkgs/applications/editors/vscode/extensions/rust-lang.rust-analyzer/build-deps/package.json
+++ b/pkgs/applications/editors/vscode/extensions/rust-lang.rust-analyzer/build-deps/package.json
@@ -1,6 +1,6 @@
 {
   "name": "rust-analyzer",
-  "version": "0.3.1426",
+  "version": "0.3.1607",
   "dependencies": {
     "anser": "^2.1.1",
     "d3": "^7.6.1",
diff --git a/pkgs/applications/editors/vscode/extensions/rust-lang.rust-analyzer/default.nix b/pkgs/applications/editors/vscode/extensions/rust-lang.rust-analyzer/default.nix
index dadb291aa5340..77c589dbba25a 100644
--- a/pkgs/applications/editors/vscode/extensions/rust-lang.rust-analyzer/default.nix
+++ b/pkgs/applications/editors/vscode/extensions/rust-lang.rust-analyzer/default.nix
@@ -20,13 +20,13 @@ let
   # Use the plugin version as in vscode marketplace, updated by update script.
   inherit (vsix) version;
 
-  releaseTag = "2023-03-06";
+  releaseTag = "2023-07-31";
 
   src = fetchFromGitHub {
     owner = "rust-lang";
     repo = "rust-analyzer";
     rev = releaseTag;
-    sha256 = "sha256-Njlus+vY3N++qWE0JXrGjwcXY2QDFuOV/7NruBBMETY=";
+    sha256 = "sha256-PWEdqI+iiHbx4dkIwWHZCGJuTpRfJI3MLSHf3gQEJt4=";
   };
 
   build-deps = nodePackages."rust-analyzer-build-deps-../../applications/editors/vscode/extensions/rust-lang.rust-analyzer/build-deps";
@@ -88,3 +88,4 @@ vscode-utils.buildVscodeExtension {
     platforms = lib.platforms.all;
   };
 }
+
diff --git a/pkgs/applications/editors/vscode/generic.nix b/pkgs/applications/editors/vscode/generic.nix
index e871792020679..22a40259424df 100644
--- a/pkgs/applications/editors/vscode/generic.nix
+++ b/pkgs/applications/editors/vscode/generic.nix
@@ -43,7 +43,7 @@ let
       comment = "Code Editing. Redefined.";
       genericName = "Text Editor";
       exec = "${executableName} %F";
-      icon = "code";
+      icon = "vs${executableName}";
       startupNotify = true;
       startupWMClass = shortName;
       categories = [ "Utility" "TextEditor" "Development" "IDE" ];
@@ -52,7 +52,7 @@ let
       actions.new-empty-window = {
         name = "New Empty Window";
         exec = "${executableName} --new-window %F";
-        icon = "code";
+        icon = "vs${executableName}";
       };
     };
 
@@ -62,7 +62,7 @@ let
       comment = "Code Editing. Redefined.";
       genericName = "Text Editor";
       exec = executableName + " --open-url %U";
-      icon = "code";
+      icon = "vs${executableName}";
       startupNotify = true;
       categories = [ "Utility" "TextEditor" "Development" "IDE" ];
       mimeTypes = [ "x-scheme-handler/vscode" ];
@@ -103,8 +103,9 @@ let
       ln -s "$desktopItem/share/applications/${executableName}.desktop" "$out/share/applications/${executableName}.desktop"
       ln -s "$urlHandlerDesktopItem/share/applications/${executableName}-url-handler.desktop" "$out/share/applications/${executableName}-url-handler.desktop"
 
+      # These are named vscode.png, vscode-insiders.png, etc to match the name in upstream *.deb packages.
       mkdir -p "$out/share/pixmaps"
-      cp "$out/lib/vscode/resources/app/resources/linux/code.png" "$out/share/pixmaps/code.png"
+      cp "$out/lib/vscode/resources/app/resources/linux/code.png" "$out/share/pixmaps/vs${executableName}.png"
 
       # Override the previously determined VSCODE_PATH with the one we know to be correct
       sed -i "/ELECTRON=/iVSCODE_PATH='$out/lib/vscode'" "$out/bin/${executableName}"
diff --git a/pkgs/applications/editors/vscode/vscodium.nix b/pkgs/applications/editors/vscode/vscodium.nix
index bab8de8b594a7..45db0854edaeb 100644
--- a/pkgs/applications/editors/vscode/vscodium.nix
+++ b/pkgs/applications/editors/vscode/vscodium.nix
@@ -15,11 +15,11 @@ let
   archive_fmt = if stdenv.isDarwin then "zip" else "tar.gz";
 
   sha256 = {
-    x86_64-linux = "1sfy6rcrayx661m96pyh96caycf6banjs5ksib48qsl6hxp76ks0";
-    x86_64-darwin = "0xkzvi7y45rxwnjxplg6wfs4994n6vdfqk6q7wjr96fgiymbpg5y";
-    aarch64-linux = "09qlmqnvq1bcal56kingn6wkzg83dhxkkj2p3gqlikz6s5klqrql";
-    aarch64-darwin = "17giphsqkxdfrz68vxkic84q4hn94plgr1lh72vy0q5pz5bbcpy2";
-    armv7l-linux = "1cp739i5002j2kmdh3rhh7p88gyvjrfwcr430g5dvhdp7mgkbwn1";
+    x86_64-linux = "0dynpi8l2102z8kbzgdm8qwbpzm7jxjqvz8a3x0vsikxbfwhsdmy";
+    x86_64-darwin = "1z3vzwgcjj57xrw8mklhsdr8n9214rb4vj6jfnqv5nxpdgx4dw55";
+    aarch64-linux = "0jiwp6i9q8c87pfkhvj45viqi2m5x5aq94skrvxa8wjbkyafvm1d";
+    aarch64-darwin = "1as6zfrv2jymxspmc3m453vs61b7y1lh5qh34xr0ps8c4h6dbjas";
+    armv7l-linux = "17yd3bb4z99q4r0d91grifrbr50wln1fkz0bjp4s4snqnj9q9gfk";
   }.${system} or throwSystem;
 
   sourceRoot = lib.optionalString (!stdenv.isDarwin) ".";
@@ -29,7 +29,7 @@ in
 
     # Please backport all compatible updates to the stable release.
     # This is important for the extension ecosystem.
-    version = "1.80.1.23194";
+    version = "1.80.2.23209";
     pname = "vscodium";
 
     executableName = "codium";
diff --git a/pkgs/applications/editors/vscode/with-extensions.nix b/pkgs/applications/editors/vscode/with-extensions.nix
index 7cd5b4e267d65..bbe5fec19d91d 100644
--- a/pkgs/applications/editors/vscode/with-extensions.nix
+++ b/pkgs/applications/editors/vscode/with-extensions.nix
@@ -83,7 +83,7 @@ runCommand "${wrappedPkgName}-with-extensions-${wrappedPkgVersion}" {
   mkdir -p "$out/share/applications"
   mkdir -p "$out/share/pixmaps"
 
-  ln -sT "${vscode}/share/pixmaps/code.png" "$out/share/pixmaps/code.png"
+  ln -sT "${vscode}/share/pixmaps/vs${executableName}.png" "$out/share/pixmaps/vs${executableName}.png"
   ln -sT "${vscode}/share/applications/${executableName}.desktop" "$out/share/applications/${executableName}.desktop"
   ln -sT "${vscode}/share/applications/${executableName}-url-handler.desktop" "$out/share/applications/${executableName}-url-handler.desktop"
   makeWrapper "${vscode}/bin/${executableName}" "$out/bin/${executableName}" ${extensionsFlag}
diff --git a/pkgs/applications/emulators/darling/default.nix b/pkgs/applications/emulators/darling/default.nix
index 988ca79647946..cc4d7265ce28e 100644
--- a/pkgs/applications/emulators/darling/default.nix
+++ b/pkgs/applications/emulators/darling/default.nix
@@ -227,5 +227,6 @@ in stdenv.mkDerivation {
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ zhaofengli ];
     platforms = [ "x86_64-linux" ];
+    mainProgram = "darling";
   };
 }
diff --git a/pkgs/applications/emulators/mame/default.nix b/pkgs/applications/emulators/mame/default.nix
index 656a1aed7e0d3..3a7e065091974 100644
--- a/pkgs/applications/emulators/mame/default.nix
+++ b/pkgs/applications/emulators/mame/default.nix
@@ -38,14 +38,14 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "mame";
-  version = "0.256";
+  version = "0.257";
   srcVersion = builtins.replaceStrings [ "." ] [ "" ] version;
 
   src = fetchFromGitHub {
     owner = "mamedev";
     repo = "mame";
     rev = "mame${srcVersion}";
-    hash = "sha256-rQ1GQks3Nni6ALxfiJzdkKUgbZrXaLu9vJtEDPjgP3Q=";
+    hash = "sha256-iBLHvdqIgF6XkJQX5hFLrP9KkTGWfVvTCs+DRJhsSp4=";
   };
 
   outputs = [ "out" "tools" ];
diff --git a/pkgs/applications/emulators/rpcs3/0001-llvm-ExecutionEngine-IntelJITEvents-only-use-ITTAPI_.patch b/pkgs/applications/emulators/rpcs3/0001-llvm-ExecutionEngine-IntelJITEvents-only-use-ITTAPI_.patch
deleted file mode 100644
index dccf06fc07866..0000000000000
--- a/pkgs/applications/emulators/rpcs3/0001-llvm-ExecutionEngine-IntelJITEvents-only-use-ITTAPI_.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-From 9866ce8f538e1ab1f0902408b7575013b768f365 Mon Sep 17 00:00:00 2001
-From: Zane van Iperen <zane@zanevaniperen.com>
-Date: Wed, 2 Feb 2022 23:41:59 +1000
-Subject: [PATCH] llvm/ExecutionEngine/IntelJITEvents: only use
- ITTAPI_SOURCE_DIR
-
----
- .../IntelJITEvents/CMakeLists.txt             | 32 ++-----------------
- 1 file changed, 2 insertions(+), 30 deletions(-)
-
-diff --git a/llvm/lib/ExecutionEngine/IntelJITEvents/CMakeLists.txt b/llvm/lib/ExecutionEngine/IntelJITEvents/CMakeLists.txt
-index 0c5017c3..d20c35f3 100644
---- a/llvm/lib/ExecutionEngine/IntelJITEvents/CMakeLists.txt
-+++ b/llvm/lib/ExecutionEngine/IntelJITEvents/CMakeLists.txt
-@@ -1,34 +1,6 @@
- include_directories( ${CMAKE_CURRENT_SOURCE_DIR}/.. )
- 
--if(NOT DEFINED ITTAPI_GIT_REPOSITORY)
--    set(ITTAPI_GIT_REPOSITORY https://github.com/intel/ittapi.git)
--endif()
--
--if(NOT DEFINED ITTAPI_GIT_TAG)
--    set(ITTAPI_GIT_TAG v3.18.12)
--endif()
--
--if(NOT DEFINED ITTAPI_SOURCE_DIR)
--    set(ITTAPI_SOURCE_DIR ${PROJECT_BINARY_DIR})
--endif()
--
--if(NOT EXISTS ${ITTAPI_SOURCE_DIR}/ittapi)
--    execute_process(COMMAND ${GIT_EXECUTABLE} clone ${ITTAPI_GIT_REPOSITORY}
--                    WORKING_DIRECTORY ${ITTAPI_SOURCE_DIR}
--                    RESULT_VARIABLE GIT_CLONE_RESULT)
--    if(NOT GIT_CLONE_RESULT EQUAL "0")
--        message(FATAL_ERROR "git clone ${ITTAPI_GIT_REPOSITORY} failed with ${GIT_CLONE_RESULT}, please clone ${ITTAPI_GIT_REPOSITORY}")
--    endif()
--endif()
--
--execute_process(COMMAND ${GIT_EXECUTABLE} checkout ${ITTAPI_GIT_TAG}
--                WORKING_DIRECTORY ${ITTAPI_SOURCE_DIR}/ittapi
--                RESULT_VARIABLE GIT_CHECKOUT_RESULT)
--if(NOT GIT_CHECKOUT_RESULT EQUAL "0")
--    message(FATAL_ERROR "git checkout ${ITTAPI_GIT_TAG} failed with ${GIT_CHECKOUT_RESULT}, please checkout ${ITTAPI_GIT_TAG} at ${ITTAPI_SOURCE_DIR}/ittapi")
--endif()
--
--include_directories( ${ITTAPI_SOURCE_DIR}/ittapi/include/ )
-+include_directories( ${ITTAPI_SOURCE_DIR}/include/ )
- 
- if( HAVE_LIBDL )
-     set(LLVM_INTEL_JIT_LIBS ${CMAKE_DL_LIBS})
-@@ -40,7 +12,7 @@ set(LLVM_INTEL_JIT_LIBS ${LLVM_PTHREAD_LIB} ${LLVM_INTEL_JIT_LIBS})
- add_llvm_component_library(LLVMIntelJITEvents
-   IntelJITEventListener.cpp
-   jitprofiling.c
--  ${ITTAPI_SOURCE_DIR}/ittapi/src/ittnotify/ittnotify_static.c
-+  ${ITTAPI_SOURCE_DIR}/src/ittnotify/ittnotify_static.c
- 
-   LINK_LIBS ${LLVM_INTEL_JIT_LIBS}
- 
--- 
-2.34.1
-
diff --git a/pkgs/applications/emulators/rpcs3/default.nix b/pkgs/applications/emulators/rpcs3/default.nix
index b035c7b0d17fa..bea72c7ca44fd 100644
--- a/pkgs/applications/emulators/rpcs3/default.nix
+++ b/pkgs/applications/emulators/rpcs3/default.nix
@@ -1,24 +1,43 @@
-{ lib, stdenv, fetchFromGitHub, wrapQtAppsHook, cmake, pkg-config, git
-, qtbase, qtquickcontrols, qtmultimedia, openal, glew, vulkan-headers, vulkan-loader, libpng
-, ffmpeg, libevdev, libusb1, zlib, curl, wolfssl, python3, pugixml, faudio, flatbuffers
-, sdl2Support ? true, SDL2
-, cubebSupport ? true, cubeb
-, waylandSupport ? true, wayland
+{ lib
+, stdenv
+, fetchFromGitHub
+, wrapQtAppsHook
+, cmake
+, pkg-config
+, git
+, qtbase
+, qtquickcontrols
+, qtmultimedia
+, openal
+, glew
+, vulkan-headers
+, vulkan-loader
+, libpng
+, libSM
+, ffmpeg
+, libevdev
+, libusb1
+, zlib
+, curl
+, wolfssl
+, python3
+, pugixml
+, flatbuffers
+, llvm_16
+, cubeb
+, faudioSupport ? true
+, faudio
+, SDL2
+, waylandSupport ? true
+, wayland
 }:
 
 let
   # Keep these separate so the update script can regex them
-  rpcs3GitVersion = "14840-842edbcbe";
-  rpcs3Version = "0.0.27-14840-842edbcbe";
-  rpcs3Revision = "842edbcbe795941981993c667c2d8a866126b5b0";
-  rpcs3Sha256 = "1al4dx93f02k56k62dxjqqb46cwg0nkpjax1xnjc8v3bx4gsp6f6";
-
-  ittapi = fetchFromGitHub {
-    owner = "intel";
-    repo = "ittapi";
-    rev = "v3.18.12";
-    sha256 = "0c3g30rj1y8fbd2q4kwlpg1jdy02z4w5ryhj3yr9051pdnf4kndz";
-  };
+  rpcs3GitVersion = "15409-fd6829f75";
+  rpcs3Version = "0.0.28-15409-fd6829f75";
+  rpcs3Revision = "fd6829f7576da07e3bb90de8821834d3ce44610c";
+  rpcs3Hash = "sha256-I/CYDE7te8xxKjTyH1Mb45uemya5Sfjb96MQWlkFAbk=";
 in
 stdenv.mkDerivation {
   pname = "rpcs3";
@@ -29,11 +48,9 @@ stdenv.mkDerivation {
     repo = "rpcs3";
     rev = rpcs3Revision;
     fetchSubmodules = true;
-    sha256 = rpcs3Sha256;
+    hash = rpcs3Hash;
   };
 
-  patches = [ ./0001-llvm-ExecutionEngine-IntelJITEvents-only-use-ITTAPI_.patch ];
-
   passthru.updateScript = ./update.sh;
 
   preConfigure = ''
@@ -55,17 +72,20 @@ stdenv.mkDerivation {
     "-DUSE_SYSTEM_FAUDIO=ON"
     "-DUSE_SYSTEM_PUGIXML=ON"
     "-DUSE_SYSTEM_FLATBUFFERS=ON"
+    "-DUSE_SYSTEM_SDL=ON"
+    "-DWITH_LLVM=ON"
+    "-DBUILD_LLVM=OFF"
     "-DUSE_NATIVE_INSTRUCTIONS=OFF"
-    "-DITTAPI_SOURCE_DIR=${ittapi}"
+    "-DUSE_FAUDIO=${if faudioSupport then "ON" else "OFF"}"
   ];
 
   nativeBuildInputs = [ cmake pkg-config git wrapQtAppsHook ];
 
   buildInputs = [
     qtbase qtquickcontrols qtmultimedia openal glew vulkan-headers vulkan-loader libpng ffmpeg
-    libevdev zlib libusb1 curl wolfssl python3 pugixml faudio flatbuffers
-  ] ++ lib.optional sdl2Support SDL2
-    ++ lib.optionals cubebSupport cubeb.passthru.backendLibs
+    libevdev zlib libusb1 curl wolfssl python3 pugixml flatbuffers llvm_16 libSM
+  ] ++ cubeb.passthru.backendLibs
+    ++ lib.optionals faudioSupport [ faudio SDL2 ]
     ++ lib.optional waylandSupport wayland;
 
   postInstall = ''
diff --git a/pkgs/applications/emulators/rpcs3/update.sh b/pkgs/applications/emulators/rpcs3/update.sh
index 0c8477c5282ba..1efecc7ec88c3 100755
--- a/pkgs/applications/emulators/rpcs3/update.sh
+++ b/pkgs/applications/emulators/rpcs3/update.sh
@@ -1,5 +1,5 @@
 #!/usr/bin/env nix-shell
-#!nix-shell -i bash --pure --keep GITHUB_TOKEN -p gnused jq nix-prefetch-git curl cacert
+#!nix-shell -i bash --pure --keep GITHUB_TOKEN -p nix gnused jq nix-prefetch-git curl cacert
 
 set -eou pipefail
 
@@ -48,12 +48,13 @@ final_ver="$major_ver-$git_ver"
 echo "INFO: Latest commit is $commit_sha"
 echo "INFO: Latest version is $final_ver"
 
-nix_sha256=$(nix-prefetch-git --quiet --fetch-submodules https://github.com/RPCS3/rpcs3.git "$commit_sha" | jq -r .sha256)
-echo "INFO: SHA256 is $nix_sha256"
+nix_hash=$(nix-prefetch-git --quiet --fetch-submodules https://github.com/RPCS3/rpcs3.git "$commit_sha" | jq -r .sha256)
+nix_hash=$(nix hash to-sri --type sha256 "$nix_hash")
+echo "INFO: Hash is $nix_hash"
 
 sed -i -E \
     -e "s/rpcs3GitVersion\s*=\s*\"[\.a-z0-9-]+\";$/rpcs3GitVersion = \"${git_ver}\";/g" \
     -e "s/rpcs3Version\s*=\s*\"[\.a-z0-9-]+\";$/rpcs3Version = \"${final_ver}\";/g" \
     -e "s/rpcs3Revision\s*=\s*\"[a-z0-9]+\";$/rpcs3Revision = \"${commit_sha}\";/g" \
-    -e "s/rpcs3Sha256\s*=\s*\"[a-z0-9]+\";$/rpcs3Sha256 = \"${nix_sha256}\";/g" \
+    -e "s|rpcs3Hash\s*=\s*\"sha256-.*\";$|rpcs3Hash = \"${nix_hash}\";|g" \
     "$ROOT/default.nix"
diff --git a/pkgs/applications/emulators/tamatool/default.nix b/pkgs/applications/emulators/tamatool/default.nix
new file mode 100644
index 0000000000000..ce2518031b2e6
--- /dev/null
+++ b/pkgs/applications/emulators/tamatool/default.nix
@@ -0,0 +1,78 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, zip
+, copyDesktopItems
+, libpng
+, SDL2
+, SDL2_image
+, darwin
+
+# Optionally bundle a ROM file
+, rom ? null
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "tamatool";
+  version = "0.1";
+
+  src = fetchFromGitHub {
+    owner = "jcrona";
+    repo = "tamatool";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-VDmpIBuMWg3TwfCf9J6/bi/DaWip6ESAQWvGh2SH+A8=";
+    fetchSubmodules = true;
+  };
+
+  # * Point to the installed rom and res directory
+  # * Tell the user to use --rom instead of telling them to place the rom in the
+  #   program directory (it's immutable!)
+  postPatch = ''
+    substituteInPlace src/tamatool.c \
+      --replace '#define RES_PATH'          "#define RES_PATH         \"$out/share/tamatool/res\"          //" \
+      --replace '#define ROM_PATH'          "#define ROM_PATH         \"$out/share/tamatool/rom.bin\"      //" \
+      --replace '#define ROM_NOT_FOUND_MSG' '#define ROM_NOT_FOUND_MSG "You need to use the --rom option!" //'
+  '';
+
+  nativeBuildInputs = [
+    zip
+    copyDesktopItems
+  ];
+
+  buildInputs = [
+    libpng
+    SDL2
+    SDL2_image
+  ] ++ lib.optionals stdenv.isDarwin [
+    darwin.apple_sdk.frameworks.CoreFoundation
+  ];
+
+  makeFlags = [
+    "-Clinux"
+    "VERSION=${finalAttrs.version}"
+    "CFLAGS+=-I${SDL2.dev}/include/SDL2"
+    "CFLAGS+=-I${SDL2_image}/include/SDL2"
+    "DIST_PATH=$(out)"
+    "CC=${stdenv.cc.targetPrefix}cc"
+  ];
+
+  desktopItems = [ "linux/tamatool.desktop" ];
+
+  installPhase = ''
+    runHook preInstall
+    install -Dm755 linux/tamatool $out/bin/tamatool
+    mkdir -p $out/share/tamatool
+    cp -r res $out/share/tamatool/res
+    install -Dm644 linux/tamatool.png $out/share/icons/hicolor/128x126/apps/tamatool.png
+    ${lib.optionalString (rom != null) "install -Dm677 ${rom} $out/share/tamatool/rom.bin"}
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "A cross-platform Tamagotchi P1 explorer";
+    homepage = "https://github.com/jcrona/tamatool";
+    license = licenses.gpl2Only;
+    maintainers = with maintainers; [ fgaz ];
+    platforms = platforms.all;
+  };
+})
diff --git a/pkgs/applications/emulators/uxn/default.nix b/pkgs/applications/emulators/uxn/default.nix
index 935207321c5a9..7151f5b0f9bec 100644
--- a/pkgs/applications/emulators/uxn/default.nix
+++ b/pkgs/applications/emulators/uxn/default.nix
@@ -2,25 +2,24 @@
 , stdenv
 , fetchFromSourcehut
 , SDL2
+, unstableGitUpdater
 }:
 
 stdenv.mkDerivation {
   pname = "uxn";
-  version = "unstable-2022-10-22";
+  version = "unstable-2023-07-30";
 
   src = fetchFromSourcehut {
     owner = "~rabbits";
     repo = "uxn";
-    rev = "1b2049e238df96f32335edf1c6db35bd09f8b42d";
-    hash = "sha256-lwms+qUelfpTC+i2m5b3dW7ww9298YMPFdPVsFrwcDQ=";
+    rev = "9ca8e9623d0ab1c299f08d3dd9d54098557f5749";
+    hash = "sha256-K51YiLnBwFWgD3h3l2BhsvzhnHHolZPsjjUWJSe4sPQ=";
   };
 
   buildInputs = [
     SDL2
   ];
 
-  dontConfigure = true;
-
   postPatch = ''
      sed -i -e 's|UXNEMU_LDFLAGS="$(brew.*$|UXNEMU_LDFLAGS="$(sdl2-config --cflags --libs)"|' build.sh
   '';
@@ -44,11 +43,13 @@ stdenv.mkDerivation {
     runHook postInstall
   '';
 
-  meta = with lib; {
+  passthru.updateScript = unstableGitUpdater { };
+
+  meta = {
     homepage = "https://wiki.xxiivv.com/site/uxn.html";
     description = "An assembler and emulator for the Uxn stack machine";
-    license = with licenses; [ mit ];
-    maintainers = with maintainers; [ AndersonTorres kototama ];
-    platforms = with platforms; unix;
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ AndersonTorres kototama ];
+    inherit (SDL2.meta) platforms;
   };
 }
diff --git a/pkgs/applications/emulators/wine/sources.nix b/pkgs/applications/emulators/wine/sources.nix
index 23fcf4a44227a..1bfb35e76d782 100644
--- a/pkgs/applications/emulators/wine/sources.nix
+++ b/pkgs/applications/emulators/wine/sources.nix
@@ -24,9 +24,9 @@ let fetchurl = args@{url, hash, ...}:
 in rec {
 
   stable = fetchurl rec {
-    version = "8.0.1";
+    version = "8.0.2";
     url = "https://dl.winehq.org/wine/source/8.0/wine-${version}.tar.xz";
-    hash = "sha256-IgNfODa0+cOxlArZD5uePBvgkjQjbSqA2JMYBTXHW30=";
+    hash = "sha256-bsj7byxy1XbLEfUrL41Zr2RASAIVRlHRIrmEZtkdyEc=";
 
     ## see http://wiki.winehq.org/Gecko
     gecko32 = fetchurl rec {
diff --git a/pkgs/applications/emulators/xemu/default.nix b/pkgs/applications/emulators/xemu/default.nix
index 039306ca6623f..3e985f336a654 100644
--- a/pkgs/applications/emulators/xemu/default.nix
+++ b/pkgs/applications/emulators/xemu/default.nix
@@ -28,13 +28,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "xemu";
-  version = "0.7.104";
+  version = "0.7.110";
 
   src = fetchFromGitHub {
     owner = "xemu-project";
     repo = "xemu";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-Oo8YwCDl2E8wW4NIO2KeGRX3GZ/pDVsnHEzEDXkLkN8=";
+    hash = "sha256-ztYjvQunjskPZUIntzX4GEh0nv0K6knVubYW+QlCCII=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/applications/emulators/yuzu/generic.nix b/pkgs/applications/emulators/yuzu/generic.nix
index 3fdd6db84661a..71306bdc43b53 100644
--- a/pkgs/applications/emulators/yuzu/generic.nix
+++ b/pkgs/applications/emulators/yuzu/generic.nix
@@ -110,7 +110,7 @@ in stdenv.mkDerivation {
   # This changes `ir/opt` to `ir/var/empty` in `externals/dynarmic/src/dynarmic/CMakeLists.txt`
   # making the build fail, as that path does not exist
   dontFixCmake = true;
-
+  patches = [./vulkan_version.patch];
   cmakeFlags = [
     # actually has a noticeable performance impact
     "-DYUZU_ENABLE_LTO=ON"
diff --git a/pkgs/applications/emulators/yuzu/sources.nix b/pkgs/applications/emulators/yuzu/sources.nix
index 676b9db8f8332..45043fb4b46c1 100644
--- a/pkgs/applications/emulators/yuzu/sources.nix
+++ b/pkgs/applications/emulators/yuzu/sources.nix
@@ -1,19 +1,19 @@
 # Generated by ./update.sh - do not update manually!
-# Last updated: 2023-06-22
+# Last updated: 2023-08-02
 {
   compatList = {
-    rev = "2288f79cad3be4c2c3148435372958aebea33156";
+    rev = "95617e06f8f19e3dcd76b694d6ba87408011cd4d";
     hash = "sha256:1hdsza3wf9a0yvj6h55gsl7xqvhafvbz1i8paz9kg7l49b0gnlh1";
   };
 
   mainline = {
-    version = "1475";
-    hash = "sha256:1948lqk89k7b48skcikjx3i3f8nwb6n6sh2bf00qqbchr8i27gpm";
+    version = "1515";
+    hash = "sha256:0w9kg2rq43x9khws2yx6p7qad4xw6vkd04adiw021hjv1scajrlm";
   };
 
   ea = {
-    version = "3702";
-    distHash = "sha256:178mfg7rxr1372favkkizdcjv1ckfkzmjqfpw6ja3c5kv0psv19j";
-    fullHash = "sha256:00ls667l8zaj8597saw6drd28x4k02iqh3l7rxjjxkcqny6qv6p8";
+    version = "3788";
+    distHash = "sha256:0w8jm51b2fwfbr5rmqdagjkay4kams2g12qqkqla6n696zn302jx";
+    fullHash = "sha256:1fdv7645ijnl58749f4qa5ni7bag4chmm1c8gvji5408grfp0ldq";
   };
 }
diff --git a/pkgs/applications/emulators/yuzu/vulkan_version.patch b/pkgs/applications/emulators/yuzu/vulkan_version.patch
new file mode 100644
index 0000000000000..7b77179e9f4e5
--- /dev/null
+++ b/pkgs/applications/emulators/yuzu/vulkan_version.patch
@@ -0,0 +1,13 @@
+Yuzu requires a version of Vulkan that has not yet been released as a stable Vulkan SDK. In case this patch fails, check which version Yuzu is currently using and verify that it still works with the version shipped in Nixpkgs.
+
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -314,7 +314,7 @@
+ find_package(zstd 1.5 REQUIRED)
+ 
+ if (NOT YUZU_USE_EXTERNAL_VULKAN_HEADERS)
+-    find_package(Vulkan 1.3.256 REQUIRED)
++    find_package(Vulkan 1.3.250 REQUIRED)
+ endif()
+ 
+ if (ENABLE_LIBUSB)
diff --git a/pkgs/applications/file-managers/mucommander/default.nix b/pkgs/applications/file-managers/mucommander/default.nix
index 8882bf42a5b7e..cf3b1352f488d 100644
--- a/pkgs/applications/file-managers/mucommander/default.nix
+++ b/pkgs/applications/file-managers/mucommander/default.nix
@@ -10,13 +10,13 @@
 }:
 
 let
-  version = "1.2.0-1";
+  version = "1.3.0-1";
 
   src = fetchFromGitHub {
     owner = "mucommander";
     repo = "mucommander";
     rev = version;
-    sha256 = "sha256-OrtC7E/8n9uEo7zgFHYQqXV3qLpdKtxwbwZfxoOqTqA=";
+    sha256 = "sha256-rSHHv96L2EHQuKBSAdpfi1XGP2u9o2y4g1+65FHWFMw=";
   };
 
   postPatch = ''
@@ -49,7 +49,7 @@ let
     '';
     outputHashAlgo = "sha256";
     outputHashMode = "recursive";
-    outputHash = "sha256-T4UhEzkaYh237+ZsoQTv1RgqcAKY4dPc/3x+dEie4A8=";
+    outputHash = "sha256-9tCcUg7hDNbkZiQEWtVRsUUfms73aU+vt5tQsfknM+E=";
   };
 
 in
diff --git a/pkgs/applications/file-managers/nnn/darwin-fix-file-mime-opts.patch b/pkgs/applications/file-managers/nnn/darwin-fix-file-mime-opts.patch
new file mode 100644
index 0000000000000..f1bf71e6b9125
--- /dev/null
+++ b/pkgs/applications/file-managers/nnn/darwin-fix-file-mime-opts.patch
@@ -0,0 +1,15 @@
+diff --git a/src/nnn.c b/src/nnn.c
+index b3c0f986..c74e1ec9 100644
+--- a/src/nnn.c
++++ b/src/nnn.c
+@@ -508,9 +508,7 @@ alignas(max_align_t) static char g_pipepath[TMP_LEN_MAX];
+ static runstate g_state;
+ 
+ /* Options to identify file MIME */
+-#if defined(__APPLE__)
+-#define FILE_MIME_OPTS "-bIL"
+-#elif !defined(__sun) /* no MIME option for 'file' */
++#if !defined(__sun) /* no MIME option for 'file' */
+ #define FILE_MIME_OPTS "-biL"
+ #endif
+ 
diff --git a/pkgs/applications/file-managers/nnn/default.nix b/pkgs/applications/file-managers/nnn/default.nix
index 4c3fab6484c94..6386018348a04 100644
--- a/pkgs/applications/file-managers/nnn/default.nix
+++ b/pkgs/applications/file-managers/nnn/default.nix
@@ -34,6 +34,10 @@ stdenv.mkDerivation (finalAttrs: {
   };
 
   patches = [
+    # Nix-specific: ensure nnn passes correct arguments to the Nix file command on Darwin.
+    # By default, nnn expects the macOS default file command, not the one provided by Nix.
+    # However, both commands use different arguments to obtain the MIME type.
+    ./darwin-fix-file-mime-opts.patch
     # FIXME: remove for next release
     (fetchpatch {
       url = "https://github.com/jarun/nnn/commit/20e944f5e597239ed491c213a634eef3d5be735e.patch";
diff --git a/pkgs/applications/graphics/ImageMagick/default.nix b/pkgs/applications/graphics/ImageMagick/default.nix
index 4f27f14783665..fa90b95bd7337 100644
--- a/pkgs/applications/graphics/ImageMagick/default.nix
+++ b/pkgs/applications/graphics/ImageMagick/default.nix
@@ -47,13 +47,13 @@ in
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "imagemagick";
-  version = "7.1.1-14";
+  version = "7.1.1-15";
 
   src = fetchFromGitHub {
     owner = "ImageMagick";
     repo = "ImageMagick";
     rev = finalAttrs.version;
-    hash = "sha256-vZ3ILHIRxwB3ho7hlJpC7hlo7Nhb56SjZ/hgdoh1rwY=";
+    hash = "sha256-/fI/RrwcgvKX5loIrDAur60VF5O4FgyPYN7BbcPP/bU=";
   };
 
   outputs = [ "out" "dev" "doc" ]; # bin/ isn't really big
diff --git a/pkgs/applications/graphics/inkscape/default.nix b/pkgs/applications/graphics/inkscape/default.nix
index 6444537cac29b..ec0ab074625d8 100644
--- a/pkgs/applications/graphics/inkscape/default.nix
+++ b/pkgs/applications/graphics/inkscape/default.nix
@@ -4,6 +4,7 @@
 , boost
 , cairo
 , cmake
+, desktopToDarwinBundle
 , fetchurl
 , gettext
 , ghostscript
@@ -78,16 +79,15 @@ stdenv.mkDerivation rec {
       # e.g., those from the "Effects" menu.
       python3 = "${python3Env}/bin/python";
     })
+    (substituteAll {
+      # Fix path to ps2pdf binary
+      src = ./fix-ps2pdf-path.patch;
+      inherit ghostscript;
+    })
   ];
 
   postPatch = ''
     patchShebangs share/extensions
-    substituteInPlace share/extensions/eps_input.inx \
-      --replace "location=\"path\">ps2pdf" "location=\"absolute\">${ghostscript}/bin/ps2pdf"
-    substituteInPlace share/extensions/ps_input.inx \
-      --replace "location=\"path\">ps2pdf" "location=\"absolute\">${ghostscript}/bin/ps2pdf"
-    substituteInPlace share/extensions/ps_input.py \
-      --replace "call('ps2pdf'" "call('${ghostscript}/bin/ps2pdf'"
     patchShebangs share/templates
     patchShebangs man/fix-roff-punct
 
@@ -107,7 +107,9 @@ stdenv.mkDerivation rec {
   ] ++ (with perlPackages; [
     perl
     XMLParser
-  ]);
+  ]) ++ lib.optionals stdenv.isDarwin [
+    desktopToDarwinBundle
+  ];
 
   buildInputs = [
     boehmgc
diff --git a/pkgs/applications/graphics/inkscape/fix-ps2pdf-path.patch b/pkgs/applications/graphics/inkscape/fix-ps2pdf-path.patch
new file mode 100644
index 0000000000000..9cd8e4b34cb59
--- /dev/null
+++ b/pkgs/applications/graphics/inkscape/fix-ps2pdf-path.patch
@@ -0,0 +1,36 @@
+diff -Naur inkscape-1.2.2_2022-12-01_b0a8486541.orig/share/extensions/eps_input.inx inkscape-1.2.2_2022-12-01_b0a8486541/share/extensions/eps_input.inx
+--- inkscape-1.2.2_2022-12-01_b0a8486541.orig/share/extensions/eps_input.inx	2023-08-02 22:22:32.000000000 +0400
++++ inkscape-1.2.2_2022-12-01_b0a8486541/share/extensions/eps_input.inx	2023-08-02 22:23:34.000000000 +0400
+@@ -3,7 +3,7 @@
+     <name>EPS Input</name>
+     <id>org.inkscape.input.eps</id>
+     <dependency type="extension">org.inkscape.input.pdf</dependency>
+-    <dependency type="executable" location="path">ps2pdf</dependency>
++    <dependency type="executable" location="path">@ghostscript@/bin/ps2pdf</dependency>
+     <param name="crop" type="bool" gui-hidden="true">true</param>
+     <param name="autorotate" type="optiongroup" appearance="combo" gui-text="Determine page orientation from text direction"
+     gui-description="The PS/EPS importer can try to determine the page orientation such that the majority of the text runs left-to-right.">
+diff -Naur inkscape-1.2.2_2022-12-01_b0a8486541.orig/share/extensions/ps_input.inx inkscape-1.2.2_2022-12-01_b0a8486541/share/extensions/ps_input.inx
+--- inkscape-1.2.2_2022-12-01_b0a8486541.orig/share/extensions/ps_input.inx	2023-08-02 22:22:33.000000000 +0400
++++ inkscape-1.2.2_2022-12-01_b0a8486541/share/extensions/ps_input.inx	2023-08-02 22:24:00.000000000 +0400
+@@ -3,7 +3,7 @@
+     <name>PostScript Input</name>
+     <id>org.inkscape.input.postscript_input</id>
+     <dependency type="extension">org.inkscape.input.pdf</dependency>
+-    <dependency type="executable" location="path">ps2pdf</dependency>
++    <dependency type="executable" location="path">@ghostscript@/bin/ps2pdf</dependency>
+     <param name="autorotate" type="optiongroup" appearance="combo" gui-text="Determine page orientation from text direction"
+     gui-description="The PS/EPS importer can try to determine the page orientation such that the majority of the text runs left-to-right.">
+         <option value="None">Disabled</option>
+diff -Naur inkscape-1.2.2_2022-12-01_b0a8486541.orig/share/extensions/ps_input.py inkscape-1.2.2_2022-12-01_b0a8486541/share/extensions/ps_input.py
+--- inkscape-1.2.2_2022-12-01_b0a8486541.orig/share/extensions/ps_input.py	2023-08-02 22:22:32.000000000 +0400
++++ inkscape-1.2.2_2022-12-01_b0a8486541/share/extensions/ps_input.py	2023-08-02 22:23:48.000000000 +0400
+@@ -79,7 +79,7 @@
+         else:
+             try:
+                 call(
+-                    "ps2pdf",
++                    "@ghostscript@/bin/ps2pdf",
+                     crop,
+                     "-dAutoRotatePages=/" + self.options.autorotate,
+                     input_file,
diff --git a/pkgs/applications/graphics/ipe/default.nix b/pkgs/applications/graphics/ipe/default.nix
index 01f17bb41b956..834ab6198a87e 100644
--- a/pkgs/applications/graphics/ipe/default.nix
+++ b/pkgs/applications/graphics/ipe/default.nix
@@ -17,19 +17,17 @@
 , wrapQtAppsHook
 , zlib
 , withTeXLive ? true
+, buildPackages
 }:
 
 stdenv.mkDerivation rec {
   pname = "ipe";
-  version = "7.2.26";
+  version = "7.2.27";
 
   src = fetchurl {
     url = "https://github.com/otfried/ipe/releases/download/v${version}/ipe-${version}-src.tar.gz";
-    sha256 = "sha256-5J0AV5E6SlFrIBfwDZrbJnkDUoVZ0fDH669s2RQ1CqU=";
+    sha256 = "sha256-wx/bZy8kB7dpZsz58BeRGdS1BzbrIoafgEmLyFg7wZU=";
   };
-  patches = [
-    ./headers-lookup.patch
-  ];
 
   nativeBuildInputs = [ pkg-config copyDesktopItems wrapQtAppsHook ];
 
@@ -52,6 +50,7 @@ stdenv.mkDerivation rec {
     "-C src"
     "IPEPREFIX=${placeholder "out"}"
     "LUA_PACKAGE=lua"
+    "MOC=${buildPackages.qt6Packages.qtbase}/libexec/moc"
     "IPE_NO_SPELLCHECK=1" # qtSpell is not yet packaged
   ];
 
diff --git a/pkgs/applications/graphics/ipe/headers-lookup.patch b/pkgs/applications/graphics/ipe/headers-lookup.patch
deleted file mode 100644
index a6adf1b164742..0000000000000
--- a/pkgs/applications/graphics/ipe/headers-lookup.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/ipepresenter/Makefile b/src/ipepresenter/Makefile
-index ae3664e..f4f74ff 100644
---- a/src/ipepresenter/Makefile
-+++ b/src/ipepresenter/Makefile
-@@ -8,7 +8,7 @@ include ../common.mak
- 
- TARGET = $(call exe_target,ipepresenter)
- 
--CXXFLAGS += -I../include -I../ipecanvas -I../ipecairo \
-+CPPFLAGS += -I../include -I../ipecanvas -I../ipecairo \
- 	$(UI_CFLAGS) $(CAIRO_CFLAGS) $(ZLIB_CFLAGS)
- LIBS += -L$(buildlib) -lipecanvas -lipecairo -lipe \
- 	$(UI_LIBS) $(CAIRO_LIBS) $(ZLIB_LIBS)
diff --git a/pkgs/applications/graphics/openscad/default.nix b/pkgs/applications/graphics/openscad/default.nix
index 94c30fe0a3213..37fcc0eb48e1b 100644
--- a/pkgs/applications/graphics/openscad/default.nix
+++ b/pkgs/applications/graphics/openscad/default.nix
@@ -109,5 +109,6 @@ mkDerivation rec {
     license = lib.licenses.gpl2;
     platforms = lib.platforms.unix;
     maintainers = with lib.maintainers; [ bjornfor raskin gebner ];
+    mainProgram = "openscad";
   };
 }
diff --git a/pkgs/applications/graphics/processing/default.nix b/pkgs/applications/graphics/processing/default.nix
index 65c02102f03d9..243fe0560069e 100644
--- a/pkgs/applications/graphics/processing/default.nix
+++ b/pkgs/applications/graphics/processing/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchFromGitHub, fetchurl, ant, unzip, makeWrapper, jdk, javaPackages, rsync, ffmpeg, batik, gsettings-desktop-schemas, xorg, wrapGAppsHook }:
 let
-  buildNumber = "1289";
+  buildNumber = "1292";
   vaqua = fetchurl {
     name = "VAqua9.jar";
     url = "https://violetlib.org/release/vaqua/9/VAqua9.jar";
@@ -40,13 +40,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "processing";
-  version = "4.1.1";
+  version = "4.2";
 
   src = fetchFromGitHub {
     owner = "processing";
     repo = "processing4";
     rev = "processing-${buildNumber}-${version}";
-    sha256 = "sha256-OjTqANxzcW/RrAdqmVYAegrlLPu6w2pjzSyZyvUYIt4=";
+    sha256 = "sha256-wdluhrtliLN4T2dcmwvUWZhOARC3Lst7+hWWwZjafmU=";
   };
 
   nativeBuildInputs = [ ant unzip makeWrapper wrapGAppsHook ];
@@ -56,7 +56,7 @@ stdenv.mkDerivation rec {
 
   buildPhase = ''
     echo "tarring jdk"
-    tar --checkpoint=10000 -czf build/linux/jdk-17.0.5-amd64.tgz ${jdk}
+    tar --checkpoint=10000 -czf build/linux/jdk-17.0.6-amd64.tgz ${jdk}
     cp ${ant}/lib/ant/lib/{ant.jar,ant-launcher.jar} app/lib/
     mkdir -p core/library
     ln -s ${javaPackages.jogl_2_3_2}/share/java/* core/library/
diff --git a/pkgs/applications/graphics/tesseract/tesseract5.nix b/pkgs/applications/graphics/tesseract/tesseract5.nix
index 614a9e844cc02..aa7f17b20c280 100644
--- a/pkgs/applications/graphics/tesseract/tesseract5.nix
+++ b/pkgs/applications/graphics/tesseract/tesseract5.nix
@@ -41,5 +41,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.asl20;
     maintainers = with lib.maintainers; [ anselmschueler ];
     platforms = lib.platforms.unix;
+    mainProgram = "tesseract";
   };
 }
diff --git a/pkgs/applications/graphics/vengi-tools/default.nix b/pkgs/applications/graphics/vengi-tools/default.nix
index 4b32cf8e8a85c..995f682d81a2e 100644
--- a/pkgs/applications/graphics/vengi-tools/default.nix
+++ b/pkgs/applications/graphics/vengi-tools/default.nix
@@ -29,13 +29,13 @@
 
 stdenv.mkDerivation rec {
   pname = "vengi-tools";
-  version = "0.0.24";
+  version = "0.0.25";
 
   src = fetchFromGitHub {
     owner = "mgerhardy";
     repo = "vengi";
     rev = "v${version}";
-    sha256 = "sha256-ZkO2CLSuuJcFJFBO4XS8Qec0CxxAJdzOGfFa2zy+4uI=";
+    hash = "sha256-ZY0HG1BpRQV7+RzdXUhKV6JRa/1RIYmCuhnYCZapG8w=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/graphics/xournalpp/default.nix b/pkgs/applications/graphics/xournalpp/default.nix
index b36ac5968b38a..cd3b73b6b482f 100644
--- a/pkgs/applications/graphics/xournalpp/default.nix
+++ b/pkgs/applications/graphics/xournalpp/default.nix
@@ -6,9 +6,11 @@
 , wrapGAppsHook
 , pkg-config
 
+, alsa-lib
 , glib
 , gsettings-desktop-schemas
 , gtk3
+, gtksourceview4
 , librsvg
 , libsndfile
 , libxml2
@@ -23,20 +25,23 @@
 
 stdenv.mkDerivation rec {
   pname = "xournalpp";
-  version = "1.1.3";
+  version = "1.2.0";
 
   src = fetchFromGitHub {
     owner = "xournalpp";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-Hn7IDnbrmK3V+iz8UqdmHRV2TS4MwYSgYtnH6igbGJ8=";
+    sha256 = "sha256-0xsNfnKdGl34qeN0KZbII9w6PzC1HvvO7mtlNlRvUqQ=";
   };
 
   nativeBuildInputs = [ cmake gettext pkg-config wrapGAppsHook ];
   buildInputs =
-    [ glib
+    [
+      alsa-lib
+      glib
       gsettings-desktop-schemas
       gtk3
+      gtksourceview4
       librsvg
       libsndfile
       libxml2
diff --git a/pkgs/applications/kde/spectacle.nix b/pkgs/applications/kde/spectacle.nix
index 93e3f8563980d..7e9c80cd64aba 100644
--- a/pkgs/applications/kde/spectacle.nix
+++ b/pkgs/applications/kde/spectacle.nix
@@ -5,11 +5,21 @@
 , knotifications, kscreen, kwidgetsaddons, kwindowsystem, kxmlgui, libkipi
 , qtx11extras, knewstuff, kwayland, qttools, kcolorpicker, kimageannotator
 , qcoro, qtquickcontrols2, wayland, plasma-wayland-protocols, kpurpose, kpipewire
-, wrapGAppsHook
+, wrapGAppsHook, fetchpatch
 }:
 
 mkDerivation {
   pname = "spectacle";
+
+  patches = [
+    # backport fix for region capture with multi-display high-dpi setups
+    # FIXME: remove in 23.08
+    (fetchpatch {
+      url = "https://invent.kde.org/graphics/spectacle/-/commit/d0886c85445fad227b256152a549cb33bd97b776.patch";
+      hash = "sha256-t0+X1pzjlS2OWduMwQBoYbjh+o/SF4hOkAqzz/MJw3E=";
+    })
+  ];
+
   nativeBuildInputs = [ extra-cmake-modules kdoctools wrapGAppsHook ];
   buildInputs = [
     kconfig kcoreaddons kdbusaddons kdeclarative ki18n kio knotifications
diff --git a/pkgs/applications/misc/acpic/default.nix b/pkgs/applications/misc/acpic/default.nix
new file mode 100644
index 0000000000000..6b37ef6b8e653
--- /dev/null
+++ b/pkgs/applications/misc/acpic/default.nix
@@ -0,0 +1,29 @@
+{ lib
+, fetchPypi
+, python3Packages
+}:
+
+python3Packages.buildPythonApplication rec {
+  pname = "acpic";
+  version = "1.0.0";
+  format = "setuptools";
+
+  src = fetchPypi {
+    inherit version pname;
+    hash = "sha256-vQ9VxCNbOmqHIY3e1wq1wNJl5ywfU2tm62gDg3vKvcg=";
+  };
+
+  nativeBuildInputs = [
+    python3Packages.pbr
+  ];
+
+  # no tests
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Daemon extending acpid event handling capabilities.";
+    homepage = "https://github.com/psliwka/acpic";
+    license = licenses.wtfpl;
+    maintainers = with maintainers; [ aacebedo ];
+  };
+}
diff --git a/pkgs/applications/misc/ausweisapp2/default.nix b/pkgs/applications/misc/ausweisapp2/default.nix
index ed9b32256aa49..3ab0b19f63b82 100644
--- a/pkgs/applications/misc/ausweisapp2/default.nix
+++ b/pkgs/applications/misc/ausweisapp2/default.nix
@@ -3,13 +3,13 @@
 
 mkDerivation rec {
   pname = "AusweisApp2";
-  version = "1.26.5";
+  version = "1.26.7";
 
   src = fetchFromGitHub {
     owner = "Governikus";
     repo = "AusweisApp2";
     rev = version;
-    hash = "sha256-6/acpPMHsMj/8GkLGNE8yg/apt8ynhN3O35lkA95HYQ=";
+    hash = "sha256-i9hfmMp0pEqtIeKc1mcyINXetzD/33aM0utL8nomVcg=";
   };
 
   nativeBuildInputs = [ cmake pkg-config ];
diff --git a/pkgs/applications/misc/blender/default.nix b/pkgs/applications/misc/blender/default.nix
index f6f5edc84ef8b..58cdf9592cdce 100644
--- a/pkgs/applications/misc/blender/default.nix
+++ b/pkgs/applications/misc/blender/default.nix
@@ -35,7 +35,9 @@ stdenv.mkDerivation rec {
     hash = "sha256-SzdWyzdGhsaesv1VX5ZUfUnLHvRvW8buJTlOVxz6yOk=";
   };
 
-  patches = lib.optional stdenv.isDarwin ./darwin.patch;
+  patches = [
+    ./draco.patch
+  ] ++ lib.optional stdenv.isDarwin ./darwin.patch;
 
   nativeBuildInputs =
     [ cmake makeWrapper python310Packages.wrapPython llvmPackages.llvm.dev
@@ -165,6 +167,7 @@ stdenv.mkDerivation rec {
     mkdir $out/Applications
     mv $out/Blender.app $out/Applications
   '' + ''
+    mv $out/share/blender/${lib.versions.majorMinor version}/python{,-ext}
     buildPythonPath "$pythonPath"
     wrapProgram $blenderExecutable \
       --prefix PATH : $program_PATH \
diff --git a/pkgs/applications/misc/blender/draco.patch b/pkgs/applications/misc/blender/draco.patch
new file mode 100644
index 0000000000000..2a856a0638aee
--- /dev/null
+++ b/pkgs/applications/misc/blender/draco.patch
@@ -0,0 +1,26 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -898,11 +898,6 @@ set_and_warn_dependency(WITH_PYTHON WITH_CYCLES        OFF)
+ set_and_warn_dependency(WITH_PYTHON WITH_DRACO         OFF)
+ set_and_warn_dependency(WITH_PYTHON WITH_MOD_FLUID     OFF)
+ 
+-if(WITH_DRACO AND NOT WITH_PYTHON_INSTALL)
+-  message(STATUS "WITH_DRACO requires WITH_PYTHON_INSTALL to be ON, disabling WITH_DRACO for now")
+-  set(WITH_DRACO OFF)
+-endif()
+-
+ # enable boost for cycles, audaspace or i18n
+ # otherwise if the user disabled
+ 
+--- a/scripts/addons/io_scene_gltf2/io/com/gltf2_io_draco_compression_extension.py
++++ b/scripts/addons/io_scene_gltf2/io/com/gltf2_io_draco_compression_extension.py
+@@ -17,7 +17,7 @@ def dll_path() -> Path:
+     """
+     lib_name = 'extern_draco'
+-    blender_root = Path(bpy.app.binary_path).parent
++    blender_root = Path(bpy.app.binary_path).parent.parent
+-    python_lib = Path('{v[0]}.{v[1]}/python/lib'.format(v=bpy.app.version))
++    python_lib = Path('share/blender/{v[0]}.{v[1]}/python-ext/lib'.format(v=bpy.app.version))
+     python_version = 'python{v[0]}.{v[1]}'.format(v=sys.version_info)
+ 
+     path = os.environ.get('BLENDER_EXTERN_DRACO_LIBRARY_PATH')
diff --git a/pkgs/applications/misc/bloodhound/default.nix b/pkgs/applications/misc/bloodhound/default.nix
new file mode 100644
index 0000000000000..175b293c9d885
--- /dev/null
+++ b/pkgs/applications/misc/bloodhound/default.nix
@@ -0,0 +1,127 @@
+{ lib
+, stdenv
+, fetchzip
+, makeWrapper
+, alsa-lib
+, at-spi2-atk
+, at-spi2-core
+, atk
+, cairo
+, cups
+, dbus
+, expat
+, fontconfig
+, freetype
+, gdk-pixbuf
+, glib
+, gtk3
+, libGL
+, libappindicator-gtk3
+, libdrm
+, libnotify
+, libpulseaudio
+, libuuid
+, libxcb
+, libxkbcommon
+, libxshmfence
+, mesa
+, nspr
+, nss
+, pango
+, systemd
+, udev
+, unzip
+, xdg-utils
+, xorg
+}:
+stdenv.mkDerivation (finalAttrs: {
+  pname = "bloodhound";
+  version = "4.3.1";
+
+  src = fetchzip {
+    url = "https://github.com/BloodHoundAD/BloodHound/releases/download/v${finalAttrs.version}/BloodHound-linux-x64.zip";
+    hash = "sha256-gGfZ5Mj8rmz3dwKyOitRExkgOmSVDOqKpPxvGlE4izw=";
+  };
+
+  rpath = lib.makeLibraryPath [
+    alsa-lib
+    at-spi2-atk
+    at-spi2-core
+    atk
+    cairo
+    cups
+    dbus
+    expat
+    fontconfig
+    freetype
+    gdk-pixbuf
+    glib
+    gtk3
+    libGL
+    libappindicator-gtk3
+    libdrm
+    libnotify
+    libpulseaudio
+    libuuid
+    libxcb
+    libxkbcommon
+    mesa
+    nspr
+    nss
+    pango
+    systemd
+    stdenv.cc.cc.lib
+    udev
+    xorg.libX11
+    xorg.libXScrnSaver
+    xorg.libXcomposite
+    xorg.libXcursor
+    xorg.libXdamage
+    xorg.libXext
+    xorg.libXfixes
+    xorg.libXi
+    xorg.libXrandr
+    xorg.libXrender
+    xorg.libXtst
+    xorg.libxkbfile
+    xorg.libxshmfence
+  ];
+
+  buildInputs = [
+    gtk3 # needed for GSETTINGS_SCHEMAS_PATH
+  ];
+
+  nativeBuildInputs = [ makeWrapper unzip ];
+
+  dontBuild = true;
+
+  installPhase = ''
+    runHook preInstall
+    mkdir -p $out/{bin,/lib/BloodHound}
+    mv * $out/lib/BloodHound
+    chmod +x $out/lib/BloodHound/BloodHound
+
+    patchelf --set-interpreter ${stdenv.cc.bintools.dynamicLinker} \
+       $out/lib/BloodHound/BloodHound --set-rpath ${finalAttrs.rpath}:$out/lib/BloodHound \
+       --add-needed libudev.so # Needed to fix trace trap (core dump)
+
+    makeWrapper $out/lib/BloodHound/BloodHound $out/bin/BloodHound \
+      --prefix XDG_DATA_DIRS : $GSETTINGS_SCHEMAS_PATH \
+      --suffix PATH : ${lib.makeBinPath [xdg-utils]} \
+      --append-flags "--in-process-gpu" # fix for sandbox issues
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Active Directory reconnaissance and attack path management tool";
+    homepage = "https://github.com/BloodHoundAD/BloodHound";
+    sourceProvenance = with sourceTypes; [ binaryNativeCode ];
+    changelog = "https://github.com/BloodHoundAD/BloodHound/releases/tag/v${finalAttrs.version}";
+    downloadPage = "https://github.com/BloodHoundAD/BloodHound/releases";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ akechishiro ];
+    platforms = [ "x86_64-linux" ];
+    mainProgram = "BloodHound";
+  };
+})
diff --git a/pkgs/applications/misc/confy/default.nix b/pkgs/applications/misc/confy/default.nix
index ec177c0aa725c..82d7267b047a2 100644
--- a/pkgs/applications/misc/confy/default.nix
+++ b/pkgs/applications/misc/confy/default.nix
@@ -1,11 +1,11 @@
-{ appstream-glib
+{ blueprint-compiler
 , desktop-file-utils
-, fetchurl
+, fetchFromSourcehut
 , gobject-introspection
-, gtk3
+, gtk4
 , lib
+, libadwaita
 , libnotify
-, libhandy
 , meson
 , ninja
 , pkg-config
@@ -16,14 +16,17 @@
 
 stdenv.mkDerivation rec {
   pname = "confy";
-  version = "0.6.5";
+  version = "0.7.0";
 
-  src = fetchurl {
-    url = "https://git.sr.ht/~fabrixxm/confy/archive/${version}.tar.gz";
-    sha256 = "sha256-zfuwOZBSGQzJUc36M6C5wSHarLbPFqayQVFo+WbVo7k=";
+  src = fetchFromSourcehut {
+    owner = "~fabrixxm";
+    repo = "confy";
+    rev = version;
+    hash = "sha256-q8WASTNbiBuKb2tPQBmUL9ji60PRAPnYOTYxnUn0MAw=";
   };
 
   nativeBuildInputs = [
+    blueprint-compiler
     desktop-file-utils
     meson
     ninja
@@ -33,8 +36,8 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     gobject-introspection
-    gtk3
-    libhandy
+    gtk4
+    libadwaita
     libnotify
     (python3.withPackages (ps: with ps; [
       icalendar
@@ -43,8 +46,7 @@ stdenv.mkDerivation rec {
   ];
 
   postPatch = ''
-    # Remove executable bits so that meson runs the script with our Python interpreter
-    chmod -x build-aux/meson/postinstall.py
+    patchShebangs build-aux/meson/postinstall.py
   '';
 
   meta = with lib; {
diff --git a/pkgs/applications/misc/dbeaver/default.nix b/pkgs/applications/misc/dbeaver/default.nix
index 488b64185b6ed..0e89c7b1b057b 100644
--- a/pkgs/applications/misc/dbeaver/default.nix
+++ b/pkgs/applications/misc/dbeaver/default.nix
@@ -40,7 +40,6 @@ mavenJdk17.buildMavenPackage rec {
   nativeBuildInputs = [
     copyDesktopItems
     makeWrapper
-    mavenJdk17
   ];
 
   buildInputs = [
diff --git a/pkgs/applications/misc/fuzzel/default.nix b/pkgs/applications/misc/fuzzel/default.nix
index 5ee5d162fa224..2f8d26af436a3 100644
--- a/pkgs/applications/misc/fuzzel/default.nix
+++ b/pkgs/applications/misc/fuzzel/default.nix
@@ -24,14 +24,14 @@ assert svgSupport -> enableCairo;
 
 stdenv.mkDerivation rec {
   pname = "fuzzel";
-  version = "1.9.1";
+  version = "1.9.2";
 
   src = fetchFromGitea {
     domain = "codeberg.org";
     owner = "dnkl";
     repo = pname;
     rev = version;
-    hash = "sha256-Va/Rm35jqxDlIfQdrpZ41qrW8YzWmm1LWra76AW1xUw=";
+    hash = "sha256-X1P/ghX97KCQcrNk44Cy2IAGuZ8DDwHBWzh1AHLDvd4=";
   };
 
   depsBuildBuild = [
diff --git a/pkgs/applications/misc/goldendict-ng/default.nix b/pkgs/applications/misc/goldendict-ng/default.nix
new file mode 100644
index 0000000000000..983b61b9317c6
--- /dev/null
+++ b/pkgs/applications/misc/goldendict-ng/default.nix
@@ -0,0 +1,83 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, pkg-config
+, cmake
+, libvorbis
+, ffmpeg
+, libeb
+, hunspell
+, opencc
+, xapian
+, libzim
+, lzo
+, xz
+, tomlplusplus
+, fmt
+, bzip2
+, libiconv
+, libXtst
+, qtbase
+, qtsvg
+, qtwebengine
+, qttools
+, qtwayland
+, qt5compat
+, qtmultimedia
+, qtspeech
+, wrapQtAppsHook
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "goldendict-ng";
+  version = "23.07.23";
+
+  src = fetchFromGitHub {
+    owner = "xiaoyifang";
+    repo = "goldendict-ng";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-ZKbrO5L4KFmr2NsGDihRWBeW0OXHoPRwZGj6kt1Anc8=";
+  };
+
+  nativeBuildInputs = [ pkg-config cmake wrapQtAppsHook ];
+  buildInputs = [
+    qtbase
+    qtsvg
+    qttools
+    qtwebengine
+    qt5compat
+    qtmultimedia
+    qtspeech
+    libvorbis
+    tomlplusplus
+    fmt
+    hunspell
+    xz
+    lzo
+    libXtst
+    bzip2
+    libiconv
+    opencc
+    libeb
+    ffmpeg
+    xapian
+    libzim
+  ];
+
+  cmakeFlags = [
+    "-DWITH_XAPIAN=ON"
+    "-DWITH_ZIM=ON"
+    "-DWITH_FFMPEG_PLAYER=ON"
+    "-DWITH_EPWING_SUPPORT=ON"
+    "-DUSE_SYSTEM_FMT=ON"
+    "-DUSE_SYSTEM_TOML=ON"
+  ];
+
+  meta = with lib; {
+    homepage = "https://xiaoyifang.github.io/goldendict-ng/";
+    description = "Advanced multi-dictionary lookup program.";
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ slbtty ];
+    license = licenses.gpl3Plus;
+  };
+})
diff --git a/pkgs/applications/misc/hugo/default.nix b/pkgs/applications/misc/hugo/default.nix
index 81861a4673b8d..f4cf6e6d0e540 100644
--- a/pkgs/applications/misc/hugo/default.nix
+++ b/pkgs/applications/misc/hugo/default.nix
@@ -10,16 +10,16 @@
 
 buildGoModule rec {
   pname = "hugo";
-  version = "0.115.4";
+  version = "0.116.1";
 
   src = fetchFromGitHub {
     owner = "gohugoio";
     repo = pname;
-    rev = "v${version}";
-    hash = "sha256-//WWdU6vKgc+X4R3/GClABbsAp+ZBnG3xsVh4YozPFg=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-YACMkfDdcou+Yve3D/ealaku1pzuWxInDtnhL/Y+cWw=";
   };
 
-  vendorHash = "sha256-BmMrdPr3sQI0Pw32iIIVmWy2qLlR7SHyKu7+PLplxkE=";
+  vendorHash = "sha256-l7XCCsJbqZ4g1U8G3VMVArMofPgchUP0T7wGF57d4rA=";
 
   doCheck = false;
 
diff --git a/pkgs/applications/misc/iptsd/default.nix b/pkgs/applications/misc/iptsd/default.nix
index 2685389573445..833ea7203d119 100644
--- a/pkgs/applications/misc/iptsd/default.nix
+++ b/pkgs/applications/misc/iptsd/default.nix
@@ -16,13 +16,13 @@
 
 stdenv.mkDerivation rec {
   pname = "iptsd";
-  version = "1.3.0";
+  version = "1.3.1";
 
   src = fetchFromGitHub {
     owner = "linux-surface";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-6sP50sdjuOijukztLQ4HoXqU9qjZuTzs5NMIBENVw2w=";
+    hash = "sha256-06KGMXkp5lR05iNQOll1h0q+Z+XWMberqG1C9Cs7VfA=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/misc/joplin-desktop/default.nix b/pkgs/applications/misc/joplin-desktop/default.nix
index 2a5dd7463d4dd..fb4e484dc5721 100644
--- a/pkgs/applications/misc/joplin-desktop/default.nix
+++ b/pkgs/applications/misc/joplin-desktop/default.nix
@@ -11,6 +11,7 @@ let
   suffix = {
     x86_64-linux = "AppImage";
     x86_64-darwin = "dmg";
+    aarch64-darwin = "dmg";
   }.${system} or throwSystem;
 
   src = fetchurl {
@@ -18,6 +19,7 @@ let
     sha256 = {
       x86_64-linux = "sha256-r64+y+LfMrJnUdabVdak5+LQB50YLOuMXftlZ4s3C/w=";
       x86_64-darwin = "sha256-/dvaYHa7PT6FA63kmtjrErJZI9O+hIlKvHnf5RnfeZg=";
+      aarch64-darwin = "sha256-/dvaYHa7PT6FA63kmtjrErJZI9O+hIlKvHnf5RnfeZg=";
     }.${system} or throwSystem;
   };
 
@@ -37,7 +39,7 @@ let
     homepage = "https://joplinapp.org";
     license = licenses.agpl3Plus;
     maintainers = with maintainers; [ hugoreeves qjoly ];
-    platforms = [ "x86_64-linux" "x86_64-darwin" ];
+    platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin"];
   };
 
   linux = appimageTools.wrapType2 rec {
diff --git a/pkgs/applications/misc/josm/default.nix b/pkgs/applications/misc/josm/default.nix
index a0cb6a94286b1..3a920d191587a 100644
--- a/pkgs/applications/misc/josm/default.nix
+++ b/pkgs/applications/misc/josm/default.nix
@@ -3,15 +3,15 @@
 }:
 let
   pname = "josm";
-  version = "18772";
+  version = "18789";
   srcs = {
     jar = fetchurl {
       url = "https://josm.openstreetmap.de/download/josm-snapshot-${version}.jar";
-      hash = "sha256-Jy8Z/uYmVKCr9Gq0pOmIG9jfTQekzlpkgQrTDZ+ALI0=";
+      hash = "sha256-0NuCdGqDNY+UCXv9AhX4oT0WJbxMc5ghkL0YvqVWXOs=";
     };
     macosx = fetchurl {
       url = "https://josm.openstreetmap.de/download/macosx/josm-macos-${version}-java17.zip";
-      hash = "sha256-E125YYwVzLzbPh0bbz/FzJO+JysjBhKfpLKmMRO9nJc=";
+      hash = "sha256-f8VoPMF7cR6idzadkXC6/oUfzq4dnKb3UPa2JjsRNsw=";
     };
     pkg = fetchsvn {
       url = "https://josm.openstreetmap.de/svn/trunk/native/linux/tested";
diff --git a/pkgs/applications/misc/kbt/default.nix b/pkgs/applications/misc/kbt/default.nix
index 918f463699a4a..62c70b5630bd1 100644
--- a/pkgs/applications/misc/kbt/default.nix
+++ b/pkgs/applications/misc/kbt/default.nix
@@ -9,16 +9,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "kbt";
-  version = "1.1.0";
+  version = "1.2.1";
 
   src = fetchFromGitHub {
     owner = "bloznelis";
     repo = "kbt";
     rev = version;
-    hash = "sha256-dC/o5VzdhoggEgY2LvdapT4CuSdz2iI+zbv3RZD/8XU=";
+    hash = "sha256-IVKGpifLcpqPD4ZYP+1mY0EokNoQW6qSbxt66w6b81w=";
   };
 
-  cargoHash = "sha256-UVTUcc8OeGdCRGFt9FV1rQuOsVWmh2KEDpu1jSC0XHM=";
+  cargoHash = "sha256-iPsBYccLQdPvzaV7pRa3ZLFFwJ1lIJoFMWChLkQpyyk=";
 
   nativeBuildInputs = lib.optionals stdenv.isLinux [
     pkg-config
diff --git a/pkgs/applications/misc/logseq/default.nix b/pkgs/applications/misc/logseq/default.nix
index 01b8cab157687..f40fe7a0e1b23 100644
--- a/pkgs/applications/misc/logseq/default.nix
+++ b/pkgs/applications/misc/logseq/default.nix
@@ -3,7 +3,8 @@
 , fetchurl
 , appimageTools
 , makeWrapper
-, electron
+# graphs will not sync without matching upstream's major electron version
+, electron_24
 , git
 , nix-update-script
 }:
@@ -13,11 +14,11 @@ stdenv.mkDerivation (finalAttrs: let
 
 in {
   pname = "logseq";
-  version = "0.9.11";
+  version = "0.9.13";
 
   src = fetchurl {
     url = "https://github.com/logseq/logseq/releases/download/${version}/logseq-linux-x64-${version}.AppImage";
-    hash = "sha256-4qOXFSbHaoXqTmH6wSGyb6hutda63AxiKnUxJsHBtCg=";
+    hash = "sha256-fDE19E8FhyXG9RMbfKNCQrhMW5CzQPAp+zRSu4EQMt4=";
     name = "${pname}-${version}.AppImage";
   };
 
@@ -56,10 +57,11 @@ in {
 
   postFixup = ''
     # set the env "LOCAL_GIT_DIRECTORY" for dugite so that we can use the git in nixpkgs
-    makeWrapper ${electron}/bin/electron $out/bin/${pname} \
+    makeWrapper ${electron_24}/bin/electron $out/bin/${pname} \
       --set "LOCAL_GIT_DIRECTORY" ${git} \
       --add-flags $out/share/${pname}/resources/app \
-      --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}"
+      --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}" \
+      --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ stdenv.cc.cc.lib ]}"
   '';
 
   passthru.updateScript = nix-update-script { };
diff --git a/pkgs/applications/misc/mainsail/default.nix b/pkgs/applications/misc/mainsail/default.nix
index e986b5b4b35c4..dd7aae237a118 100644
--- a/pkgs/applications/misc/mainsail/default.nix
+++ b/pkgs/applications/misc/mainsail/default.nix
@@ -5,11 +5,11 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "mainsail";
-  version = "2.6.0";
+  version = "2.6.2";
 
   src = fetchzip {
     url = "https://github.com/mainsail-crew/mainsail/releases/download/v${version}/mainsail.zip";
-    hash = "sha256-zTlM02brIiXWKkRQ4zW+BEp+66iCelNsd+uN6yWfqYM=";
+    hash = "sha256-/ej26rLze/QaxGDtU4XhaejlkbkzZfzB+ib2I+3W8Ho=";
     stripRoot = false;
   };
 
diff --git a/pkgs/applications/misc/mysql-workbench/default.nix b/pkgs/applications/misc/mysql-workbench/default.nix
index 468818e4f8725..866583d497c9f 100644
--- a/pkgs/applications/misc/mysql-workbench/default.nix
+++ b/pkgs/applications/misc/mysql-workbench/default.nix
@@ -46,11 +46,11 @@ let
   inherit (python3.pkgs) paramiko pycairo pyodbc;
 in stdenv.mkDerivation rec {
   pname = "mysql-workbench";
-  version = "8.0.33";
+  version = "8.0.34";
 
   src = fetchurl {
     url = "https://cdn.mysql.com//Downloads/MySQLGUITools/mysql-workbench-community-${version}-src.tar.gz";
-    sha256 = "a6c9b05ee6f8accd45203d8234a43415da65ddc8118d427dd1a2ef2a209261bc";
+    sha256 = "sha256-ub/D6HRtXOvX+lai71t1UjMmMzBsz5ljCrJCuf9aq7U=";
   };
 
   patches = [
diff --git a/pkgs/applications/misc/ns-usbloader/99-ns-usbloader.rules b/pkgs/applications/misc/ns-usbloader/99-ns-usbloader.rules
new file mode 100644
index 0000000000000..44644ba217701
--- /dev/null
+++ b/pkgs/applications/misc/ns-usbloader/99-ns-usbloader.rules
@@ -0,0 +1,4 @@
+# Nintendo Switch HOS
+SUBSYSTEM=="usb", ATTRS{idVendor}=="057e", ATTRS{idProduct}=="3000", MODE="0666"
+# Nintendo Switch RCM
+SUBSYSTEM=="usb", ATTRS{idVendor}=="0955", ATTRS{idProduct}=="7321", MODE="0666"
diff --git a/pkgs/applications/misc/ns-usbloader/default.nix b/pkgs/applications/misc/ns-usbloader/default.nix
new file mode 100644
index 0000000000000..b86ae37363ee7
--- /dev/null
+++ b/pkgs/applications/misc/ns-usbloader/default.nix
@@ -0,0 +1,88 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, copyDesktopItems
+, makeDesktopItem
+, makeWrapper
+, maven
+, jre
+}:
+let
+  pkgDescription = "All-in-one tool for managing Nintendo Switch homebrew";
+
+  selectSystem = attrs:
+    attrs.${stdenv.hostPlatform.system}
+      or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
+
+  jreWithJavaFX = jre.override { enableJavaFX = true; };
+in
+maven.buildMavenPackage rec {
+  pname = "ns-usbloader";
+  version = "7.0";
+
+  src = fetchFromGitHub {
+    owner = "developersu";
+    repo = "ns-usbloader";
+    rev = "v${version}";
+    sha256 = "sha256-x4zGwsDUVUHI4AUMPSqgnZVyZx+pWQA5xvtrFE8U3QU=";
+  };
+
+  patches = [ ./no-launch4j.patch ./make-deterministic.patch ];
+
+  # JavaFX pulls in architecture dependent jar dependencies. :(
+  # May be possible to unify these, but could lead to huge closure sizes.
+  mvnHash = selectSystem {
+    x86_64-linux = "sha256-vXZAlZOh9pXNF1RL78oQRal5pkXFRKDz/7SP9LibgiA=";
+    aarch64-linux = "sha256-xC+feb41EPi30gBrVR8usanVULI2Pt0knztzNagPQiw=";
+  };
+  mvnParameters = "-DskipTests";
+
+  nativeBuildInputs = [
+    copyDesktopItems
+    makeWrapper
+  ];
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/share/java
+    install -Dm644 target/ns-usbloader-${version}.jar $out/share/java/ns-usbloader.jar
+
+    mkdir -p $out/bin
+    makeWrapper ${jreWithJavaFX}/bin/java $out/bin/ns-usbloader \
+      --append-flags "-jar $out/share/java/ns-usbloader.jar"
+
+    mkdir -p $out/lib/udev/rules.d
+    install -Dm644 ${./99-ns-usbloader.rules} $out/lib/udev/rules.d/99-ns-usbloader.rules
+
+    mkdir -p $out/share/icons/hicolor
+    install -Dm644 target/classes/res/app_icon32x32.png $out/share/icons/hicolor/32x32/apps/ns-usbloader.png
+    install -Dm644 target/classes/res/app_icon48x48.png $out/share/icons/hicolor/48x48/apps/ns-usbloader.png
+    install -Dm644 target/classes/res/app_icon64x64.png $out/share/icons/hicolor/64x64/apps/ns-usbloader.png
+    install -Dm644 target/classes/res/app_icon128x128.png $out/share/icons/hicolor/128x128/apps/ns-usbloader.png
+
+    runHook postInstall
+  '';
+
+  desktopItems = [
+    (makeDesktopItem {
+      type = "Application";
+      name = "ns-usbloader";
+      desktopName = "NS-USBLoader";
+      comment = pkgDescription;
+      exec = "ns-usbloader";
+      icon = "ns-usbloader";
+      categories = [ "Game" ];
+      terminal = false;
+      keywords = [ "nintendo" "switch" ];
+    })
+  ];
+
+  meta = with lib; {
+    description = pkgDescription;
+    homepage = "https://github.com/developersu/ns-usbloader";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ soupglasses ];
+    platforms = [ "x86_64-linux" "aarch64-linux" ];
+  };
+}
diff --git a/pkgs/applications/misc/ns-usbloader/make-deterministic.patch b/pkgs/applications/misc/ns-usbloader/make-deterministic.patch
new file mode 100644
index 0000000000000..531f640b0891a
--- /dev/null
+++ b/pkgs/applications/misc/ns-usbloader/make-deterministic.patch
@@ -0,0 +1,130 @@
+From 3f85e2754144bbf2805ba68d8c76b3dec3299f4d Mon Sep 17 00:00:00 2001
+From: Sofi <sofi+git@mailbox.org>
+Date: Sat, 29 Jul 2023 11:16:38 +0200
+Subject: [PATCH] make deterministic
+
+---
+ pom.xml | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++------
+ 1 file changed, 57 insertions(+), 6 deletions(-)
+
+diff --git a/pom.xml b/pom.xml
+index 320d4f3..5a594e6 100644
+--- a/pom.xml
++++ b/pom.xml
+@@ -51,6 +51,7 @@
+         <maven.build.timestamp.format>yyyyMMdd.HHmmss</maven.build.timestamp.format>
+         <javafx.version>19.0.2.1</javafx.version>
+         <maven.compiler.release>11</maven.compiler.release>
++        <project.build.outputTimestamp>2023-01-01T00:00:00Z</project.build.outputTimestamp>
+     </properties>
+ 
+     <issueManagement>
+@@ -166,7 +167,7 @@
+         </dependency>
+     </dependencies>
+     <build>
+-        <finalName>${project.artifactId}-${project.version}-${maven.build.timestamp}</finalName>
++        <finalName>${project.artifactId}-${project.version}</finalName>
+         <resources>
+             <resource>
+                 <directory>src/main/resources</directory>
+@@ -193,26 +194,51 @@
+             <plugin>
+                 <groupId>org.apache.maven.plugins</groupId>
+                 <artifactId>maven-surefire-plugin</artifactId>
+-                <version>2.22.2</version>
++                <version>3.1.2</version>
+             </plugin>
+             <plugin>
+                 <groupId>org.apache.maven.plugins</groupId>
+                 <artifactId>maven-failsafe-plugin</artifactId>
+-                <version>2.22.2</version>
++                <version>3.1.2</version>
+             </plugin>
+             <plugin>
+                 <groupId>org.apache.maven.plugins</groupId>
+                 <artifactId>maven-compiler-plugin</artifactId>
+-                <version>3.10.1</version>
++                <version>3.11.0</version>
+                 <configuration>
+                     <release>11</release>
+                 </configuration>
+             </plugin>
++            <plugin>
++              <groupId>org.apache.maven.plugins</groupId>
++              <artifactId>maven-enforcer-plugin</artifactId>
++              <version>3.3.0</version>
++              <executions>
++                <execution>
++                  <id>enforce-versions</id>
++                  <phase>validate</phase>
++                  <goals>
++                    <goal>enforce</goal>
++                  </goals>
++                  <configuration>
++                    <rules>
++                      <requireMavenVersion>
++                        <version>[3.2.5,)</version>
++                      </requireMavenVersion>
++                      <requireJavaVersion>
++                        <version>[1.8,)</version>
++                      </requireJavaVersion>
++                      <requirePluginVersions />
++                    </rules>
++                  </configuration>
++                </execution>
++              </executions>
++            </plugin>
+             <!-- Don't generate default JAR without dependencies -->
+             <plugin>
+                 <groupId>org.apache.maven.plugins</groupId>
+                 <artifactId>maven-jar-plugin</artifactId>
+-                <version>3.1.2</version>
++                <version>3.3.0</version>
+                 <!--
+                 <configuration>
+                     <manifestEntries>
+@@ -231,7 +257,7 @@
+             <plugin>
+                 <groupId>org.apache.maven.plugins</groupId>
+                 <artifactId>maven-assembly-plugin</artifactId>
+-                <version>3.1.0</version>
++                <version>3.6.0</version>
+                 <configuration>
+                     <archive>
+                         <manifest>
+@@ -253,6 +279,31 @@
+                     </execution>
+                 </executions>
+             </plugin>
++            <plugin>
++              <groupId>org.apache.maven.plugins</groupId>
++              <artifactId>maven-deploy-plugin</artifactId>
++              <version>3.1.1</version>
++            </plugin>
++            <plugin>
++              <groupId>org.apache.maven.plugins</groupId>
++              <artifactId>maven-resources-plugin</artifactId>
++              <version>3.3.1</version>
++            </plugin>
++            <plugin>
++              <groupId>org.apache.maven.plugins</groupId>
++              <artifactId>maven-site-plugin</artifactId>
++              <version>4.0.0-M9</version>
++            </plugin>
++            <plugin>
++              <groupId>org.apache.maven.plugins</groupId>
++              <artifactId>maven-install-plugin</artifactId>
++              <version>3.1.1</version>
++            </plugin>
++            <plugin>
++              <groupId>org.apache.maven.plugins</groupId>
++              <artifactId>maven-clean-plugin</artifactId>
++              <version>3.3.1</version>
++            </plugin>
+         </plugins>
+     </build>
+ </project>
+-- 
+2.41.0
+
diff --git a/pkgs/applications/misc/ns-usbloader/no-launch4j.patch b/pkgs/applications/misc/ns-usbloader/no-launch4j.patch
new file mode 100644
index 0000000000000..4342b47e7fbef
--- /dev/null
+++ b/pkgs/applications/misc/ns-usbloader/no-launch4j.patch
@@ -0,0 +1,70 @@
+From ead7a3b988a47a3896ea8a3ff01556e073115f16 Mon Sep 17 00:00:00 2001
+From: Sofi <sofi+git@mailbox.org>
+Date: Thu, 27 Jul 2023 17:23:31 +0200
+Subject: [PATCH] No launch4j
+
+---
+ pom.xml | 47 +----------------------------------------------
+ 1 file changed, 1 insertion(+), 46 deletions(-)
+
+diff --git a/pom.xml b/pom.xml
+index 21352e0..320d4f3 100644
+--- a/pom.xml
++++ b/pom.xml
+@@ -253,51 +253,6 @@
+                     </execution>
+                 </executions>
+             </plugin>
+-            <plugin>
+-                <groupId>com.akathist.maven.plugins.launch4j</groupId>
+-                <version>2.2.0</version>
+-                <artifactId>launch4j-maven-plugin</artifactId>
+-                <executions>
+-                    <execution>
+-                        <id>l4j-ns-usbloader</id>
+-                        <phase>package</phase>
+-                        <goals>
+-                            <goal>launch4j</goal>
+-                        </goals>
+-                        <configuration>
+-                            <headerType>gui</headerType>
+-                            <icon>appicon.ico</icon>
+-                            <outfile>target/${project.name}.exe</outfile>
+-                            <jar>target/${project.artifactId}-${project.version}-${maven.build.timestamp}.jar</jar>
+-                            <!-- <downloadUrl>https://download.oracle.com/java/17/archive/jdk-17.0.1_windows-x64_bin.msi</downloadUrl> -->
+-                            <errTitle>Launching error</errTitle>
+-                            <!-- <dontWrapJar>true</dontWrapJar> -->
+-                            <jre>
+-                                <path>%PWD%/jdk</path>
+-                                <minVersion>11.0.0</minVersion>
+-                            </jre>
+-                            <versionInfo>
+-                                <fileVersion>${project.version}.0.0</fileVersion>
+-                                <txtFileVersion>${project.version}</txtFileVersion>
+-                                <fileDescription>NS multi-tool</fileDescription>
+-                                <copyright>GNU General Public License v3, ${project.inceptionYear} ${project.organization.name}, Russia.</copyright>
+-                                <productVersion>${project.version}.0.0</productVersion>
+-                                <txtProductVersion>${project.version}</txtProductVersion>
+-                                <companyName>${project.organization.name}</companyName>
+-                                <productName>${project.name}</productName>
+-                                <internalName>${project.name}</internalName>
+-                                <originalFilename>${project.name}.exe</originalFilename>
+-                            </versionInfo>
+-                            <messages>
+-                                <startupErr>Startup error</startupErr>
+-                                <jreNotFoundErr>JDK not found</jreNotFoundErr>
+-                                <jreVersionErr>JDK Version mismatch</jreVersionErr>
+-                                <launcherErr>Launcher Error</launcherErr>
+-                            </messages>
+-                        </configuration>
+-                    </execution>
+-                </executions>
+-            </plugin>
+         </plugins>
+     </build>
+-</project>
+\ No newline at end of file
++</project>
+-- 
+2.41.0
+
diff --git a/pkgs/applications/misc/nwg-displays/default.nix b/pkgs/applications/misc/nwg-displays/default.nix
new file mode 100644
index 0000000000000..56691d3ce14a3
--- /dev/null
+++ b/pkgs/applications/misc/nwg-displays/default.nix
@@ -0,0 +1,59 @@
+{ lib
+, fetchFromGitHub
+, atk
+, gdk-pixbuf
+, gobject-introspection
+, gtk-layer-shell
+, gtk3
+, pango
+, python310Packages
+, wrapGAppsHook
+}:
+
+python310Packages.buildPythonApplication rec {
+  pname = "nwg-displays";
+  version = "0.3.7";
+
+  src = fetchFromGitHub {
+    owner = "nwg-piotr";
+    repo = "nwg-displays";
+    rev = "v${version}";
+    hash = "sha256-Y405ZeOSpc1aPKEzFdvlgJgpGAi9HUR+Hvx63uYdp88=";
+  };
+
+  nativeBuildInputs = [
+    gobject-introspection
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    gtk3
+  ];
+
+  propagatedBuildInputs = [
+    atk
+    gdk-pixbuf
+    gtk-layer-shell
+    pango
+    python310Packages.gst-python
+    python310Packages.i3ipc
+    python310Packages.pygobject3
+  ];
+
+  dontWrapGApps = true;
+
+  preFixup = ''
+    makeWrapperArgs+=("''${gappsWrapperArgs[@]}");
+  '';
+
+  # Upstream has no tests
+  doCheck = false;
+
+  meta = {
+    homepage = "https://github.com/nwg-piotr/nwg-displays";
+    description = "Output management utility for Sway and Hyprland";
+    license = lib.licenses.mit;
+    platforms = lib.platforms.linux;
+    maintainers = [ ];
+  };
+}
diff --git a/pkgs/applications/misc/obsidian/default.nix b/pkgs/applications/misc/obsidian/default.nix
index e96255271dfdd..1fdc5dd43d1c1 100644
--- a/pkgs/applications/misc/obsidian/default.nix
+++ b/pkgs/applications/misc/obsidian/default.nix
@@ -12,7 +12,7 @@
 let
   inherit (stdenv.hostPlatform) system;
   pname = "obsidian";
-  version = "1.3.5";
+  version = "1.3.7";
   appname = "Obsidian";
   meta = with lib; {
     description = "A powerful knowledge base that works on top of a local folder of plain text Markdown files";
@@ -25,7 +25,7 @@ let
   filename = if stdenv.isDarwin then "Obsidian-${version}-universal.dmg" else "obsidian-${version}.tar.gz";
   src = fetchurl {
     url = "https://github.com/obsidianmd/obsidian-releases/releases/download/v${version}/${filename}";
-    sha256 = if stdenv.isDarwin then "sha256-bTIJwQqufzxq1/ZxR8rVYER82tl0pPMpKwDPr9Gz1Q4=" else "sha256-jhm6ziFaJnv4prPSfOnJ/EbIRTf9rnvzAJVxnVqmWE4=";
+    sha256 = if stdenv.isDarwin then "sha256-jHsrSYBHJBMyChGsgXHxH/S7wdI1CMonzid8WenNSmI=" else "sha256-8Qi12d4oZ2R6INYZH/qNUBDexft53uy9Uug7UoArwYw=";
   };
 
   icon = fetchurl {
diff --git a/pkgs/applications/misc/onthespot/default.nix b/pkgs/applications/misc/onthespot/default.nix
new file mode 100644
index 0000000000000..642c76563329c
--- /dev/null
+++ b/pkgs/applications/misc/onthespot/default.nix
@@ -0,0 +1,64 @@
+{ lib
+, python3
+, fetchFromGitHub
+, copyDesktopItems
+, wrapQtAppsHook
+, makeDesktopItem
+}:
+
+python3.pkgs.buildPythonApplication rec {
+  pname = "onthespot";
+  version = "0.5";
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "casualsnek";
+    repo = "onthespot";
+    rev = "v${version}";
+    hash = "sha256-VaJBNsT7uNOGY43GnzhUqDQNiPoFZcc2UaIfOKgkufg=";
+  };
+
+  nativeBuildInputs = with python3.pkgs; [
+    copyDesktopItems
+    pythonRelaxDepsHook
+    wrapQtAppsHook
+  ];
+
+  propagatedBuildInputs = with python3.pkgs; [
+    charset-normalizer
+    defusedxml
+    librespot
+    music-tag
+    packaging
+    pillow
+    protobuf
+    pyogg
+    pyqt5
+    pyqt5_sip
+    pyxdg
+    requests
+    setuptools
+    show-in-file-manager
+    urllib3
+    zeroconf
+  ];
+
+  pythonRemoveDeps = [
+    "PyQt5-Qt5"
+    "PyQt5-stubs"
+  ];
+
+  pythonRelaxDeps = true;
+
+  preFixup = ''
+    makeWrapperArgs+=("''${qtWrapperArgs[@]}")
+  '';
+
+  meta = {
+    description = " QT based Spotify music downloader written in Python";
+    homepage = "https://github.com/casualsnek/onthespot";
+    license = lib.licenses.gpl2;
+    maintainers = with lib.maintainers; [ onny ];
+    platforms = lib.platforms.linux;
+  };
+}
diff --git a/pkgs/applications/misc/organicmaps/default.nix b/pkgs/applications/misc/organicmaps/default.nix
index 4d8d3aa781121..236a3190c80f5 100644
--- a/pkgs/applications/misc/organicmaps/default.nix
+++ b/pkgs/applications/misc/organicmaps/default.nix
@@ -21,13 +21,13 @@
 
 mkDerivation rec {
   pname = "organicmaps";
-  version = "2023.05.08-7";
+  version = "2023.06.04-13";
 
   src = fetchFromGitHub {
     owner = "organicmaps";
     repo = "organicmaps";
     rev = "${version}-android";
-    sha256 = "sha256-V7qTi5NiZf+1voZSHfuAyfMeTeiYfs/CoOQ2zweKmaU=";
+    hash = "sha256-HoEOKN99ClR1sa8YFZcS9XomtXnTRdAXS0iQEdDrhvc=";
     fetchSubmodules = true;
   };
 
@@ -37,6 +37,9 @@ mkDerivation rec {
 
     # crude fix for https://github.com/organicmaps/organicmaps/issues/1862
     echo "echo ${lib.replaceStrings ["." "-"] ["" ""] version}" > tools/unix/version.sh
+
+    # TODO use system boost instead, see https://github.com/organicmaps/organicmaps/issues/5345
+    patchShebangs 3party/boost/tools/build/src/engine/build.sh
   '';
 
   nativeBuildInputs = [
diff --git a/pkgs/servers/kanidm/Cargo.lock b/pkgs/applications/misc/owmods-cli/Cargo.lock
index 8ffa5ae63ed99..8c32ad4b651dd 100644
--- a/pkgs/servers/kanidm/Cargo.lock
+++ b/pkgs/applications/misc/owmods-cli/Cargo.lock
@@ -3,95 +3,49 @@
 version = 3
 
 [[package]]
-name = "adler"
-version = "1.0.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
-
-[[package]]
-name = "aead"
-version = "0.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7fc95d1bdb8e6666b2b217308eeeb09f2d6728d104be3e31916cc74d15420331"
-dependencies = [
- "generic-array 0.14.7",
-]
-
-[[package]]
-name = "aes"
-version = "0.6.0"
+name = "addr2line"
+version = "0.20.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "884391ef1066acaa41e766ba8f596341b96e93ce34f9a43e7d24bf0a0eaf0561"
+checksum = "f4fa78e18c64fce05e902adecd7a5eed15a5e0a3439f7b0e169f0252214865e3"
 dependencies = [
- "aes-soft",
- "aesni",
- "cipher",
+ "gimli",
 ]
 
 [[package]]
-name = "aes-gcm"
-version = "0.8.0"
+name = "adler"
+version = "1.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5278b5fabbb9bd46e24aa69b2fdea62c99088e0a950a9be40e3e0101298f88da"
-dependencies = [
- "aead",
- "aes",
- "cipher",
- "ctr",
- "ghash",
- "subtle",
-]
+checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
 
 [[package]]
-name = "aes-soft"
-version = "0.6.4"
+name = "aho-corasick"
+version = "1.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "be14c7498ea50828a38d0e24a765ed2effe92a705885b57d029cd67d45744072"
+checksum = "43f6cb1bf222025340178f382c426f13757b2960e89779dfcb319c32542a5a41"
 dependencies = [
- "cipher",
- "opaque-debug 0.3.0",
+ "memchr",
 ]
 
 [[package]]
-name = "aesni"
-version = "0.10.0"
+name = "alloc-no-stdlib"
+version = "2.0.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ea2e11f5e94c2f7d386164cc2aa1f97823fed6f259e486940a71c174dd01b0ce"
-dependencies = [
- "cipher",
- "opaque-debug 0.3.0",
-]
+checksum = "cc7bb162ec39d46ab1ca8c77bf72e890535becd1751bb45f64c597edb4c8c6b3"
 
 [[package]]
-name = "ahash"
-version = "0.7.6"
+name = "alloc-stdlib"
+version = "0.2.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47"
+checksum = "94fb8275041c72129eb51b7d0322c29b8387a0386127718b096429201a5d6ece"
 dependencies = [
- "getrandom 0.2.9",
- "once_cell",
- "version_check",
+ "alloc-no-stdlib",
 ]
 
 [[package]]
-name = "ahash"
-version = "0.8.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2c99f64d1e06488f620f932677e24bc6e2897582980441ae90a671415bd7ec2f"
-dependencies = [
- "cfg-if 1.0.0",
- "once_cell",
- "version_check",
-]
-
-[[package]]
-name = "aho-corasick"
-version = "1.0.1"
+name = "android-tzdata"
+version = "0.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "67fc08ce920c31afb70f013dcce1bfc3a3195de6a228474e45e1f145b36f8d04"
-dependencies = [
- "memchr",
-]
+checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0"
 
 [[package]]
 name = "android_system_properties"
@@ -103,348 +57,104 @@ dependencies = [
 ]
 
 [[package]]
-name = "anes"
-version = "0.1.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299"
-
-[[package]]
-name = "anyhow"
-version = "1.0.71"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c7d0618f0e0b7e8ff11427422b64564d5fb0be1940354bfe2e0529b18a9d9b8"
-
-[[package]]
-name = "anymap2"
-version = "0.13.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d301b3b94cb4b2f23d7917810addbbaff90738e0ca2be692bd027e70d7e0330c"
-
-[[package]]
-name = "arrayref"
-version = "0.3.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545"
-
-[[package]]
-name = "arrayvec"
-version = "0.5.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b"
-
-[[package]]
-name = "asn1-rs"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "30ff05a702273012438132f449575dbc804e27b2f3cbe3069aa237d26c98fa33"
-dependencies = [
- "asn1-rs-derive",
- "asn1-rs-impl",
- "displaydoc",
- "nom",
- "num-traits",
- "rusticata-macros",
- "thiserror",
- "time 0.3.21",
-]
-
-[[package]]
-name = "asn1-rs-derive"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "db8b7511298d5b7784b40b092d9e9dcd3a627a5707e4b5e507931ab0d44eeebf"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 1.0.109",
- "synstructure",
-]
-
-[[package]]
-name = "asn1-rs-impl"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2777730b2039ac0f95f093556e61b6d26cebed5393ca6f152717777cec3a42ed"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 1.0.109",
-]
-
-[[package]]
-name = "async-channel"
-version = "1.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cf46fee83e5ccffc220104713af3292ff9bc7c64c7de289f66dae8e38d826833"
-dependencies = [
- "concurrent-queue",
- "event-listener",
- "futures-core",
-]
-
-[[package]]
-name = "async-compression"
-version = "0.3.15"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "942c7cd7ae39e91bde4820d74132e9862e62c2f386c3aa90ccf55949f5bad63a"
-dependencies = [
- "flate2",
- "futures-core",
- "futures-io",
- "memchr",
- "pin-project-lite 0.2.9",
-]
-
-[[package]]
-name = "async-compression"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5b0122885821398cc923ece939e24d1056a2384ee719432397fa9db87230ff11"
-dependencies = [
- "flate2",
- "futures-core",
- "memchr",
- "pin-project-lite 0.2.9",
- "tokio",
-]
-
-[[package]]
-name = "async-dup"
-version = "1.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7427a12b8dc09291528cfb1da2447059adb4a257388c2acd6497a79d55cf6f7c"
-dependencies = [
- "futures-io",
- "simple-mutex",
-]
-
-[[package]]
-name = "async-executor"
-version = "1.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6fa3dc5f2a8564f07759c008b9109dc0d39de92a88d5588b8a5036d286383afb"
-dependencies = [
- "async-lock",
- "async-task",
- "concurrent-queue",
- "fastrand",
- "futures-lite",
- "slab",
-]
-
-[[package]]
-name = "async-global-executor"
-version = "2.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f1b6f5d7df27bd294849f8eec66ecfc63d11814df7a4f5d74168a2394467b776"
-dependencies = [
- "async-channel",
- "async-executor",
- "async-io",
- "async-lock",
- "blocking",
- "futures-lite",
- "once_cell",
-]
-
-[[package]]
-name = "async-h1"
-version = "2.3.3"
+name = "anstream"
+version = "0.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8101020758a4fc3a7c326cb42aa99e9fa77cbfb76987c128ad956406fe1f70a7"
+checksum = "0ca84f3628370c59db74ee214b3263d58f9aadd9b4fe7e711fd87dc452b7f163"
 dependencies = [
- "async-channel",
- "async-dup",
- "async-std",
- "futures-core",
- "http-types",
- "httparse",
- "log",
- "pin-project",
+ "anstyle",
+ "anstyle-parse",
+ "anstyle-query",
+ "anstyle-wincon",
+ "colorchoice",
+ "is-terminal",
+ "utf8parse",
 ]
 
 [[package]]
-name = "async-io"
-version = "1.13.0"
+name = "anstyle"
+version = "1.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0fc5b45d93ef0529756f812ca52e44c221b35341892d3dcc34132ac02f3dd2af"
-dependencies = [
- "async-lock",
- "autocfg",
- "cfg-if 1.0.0",
- "concurrent-queue",
- "futures-lite",
- "log",
- "parking",
- "polling",
- "rustix",
- "slab",
- "socket2",
- "waker-fn",
-]
+checksum = "3a30da5c5f2d5e72842e00bcb57657162cdabef0931f40e2deb9b4140440cecd"
 
 [[package]]
-name = "async-lock"
-version = "2.7.0"
+name = "anstyle-parse"
+version = "0.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fa24f727524730b077666307f2734b4a1a1c57acb79193127dcc8914d5242dd7"
+checksum = "938874ff5980b03a87c5524b3ae5b59cf99b1d6bc836848df7bc5ada9643c333"
 dependencies = [
- "event-listener",
+ "utf8parse",
 ]
 
 [[package]]
-name = "async-process"
-version = "1.7.0"
+name = "anstyle-query"
+version = "1.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a9d28b1d97e08915212e2e45310d47854eafa69600756fc735fb788f75199c9"
+checksum = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b"
 dependencies = [
- "async-io",
- "async-lock",
- "autocfg",
- "blocking",
- "cfg-if 1.0.0",
- "event-listener",
- "futures-lite",
- "rustix",
- "signal-hook",
  "windows-sys 0.48.0",
 ]
 
 [[package]]
-name = "async-session"
-version = "2.0.1"
+name = "anstyle-wincon"
+version = "1.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "345022a2eed092cd105cc1b26fd61c341e100bd5fcbbd792df4baf31c2cc631f"
+checksum = "180abfa45703aebe0093f79badacc01b8fd4ea2e35118747e5811127f926e188"
 dependencies = [
- "anyhow",
- "async-std",
- "async-trait",
- "base64 0.12.3",
- "bincode",
- "blake3",
- "chrono",
- "hmac 0.8.1",
- "kv-log-macro",
- "rand 0.7.3",
- "serde",
- "serde_json",
- "sha2 0.9.9",
+ "anstyle",
+ "windows-sys 0.48.0",
 ]
 
 [[package]]
-name = "async-sse"
-version = "4.1.0"
+name = "anyhow"
+version = "1.0.72"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "53bba003996b8fd22245cd0c59b869ba764188ed435392cf2796d03b805ade10"
-dependencies = [
- "async-channel",
- "async-std",
- "http-types",
- "log",
- "memchr",
- "pin-project-lite 0.1.12",
-]
+checksum = "3b13c32d80ecc7ab747b80c3784bce54ee8a7a0cc4fbda9bf4cda2cf6fe90854"
 
 [[package]]
-name = "async-std"
-version = "1.12.0"
+name = "async-stream"
+version = "0.3.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62565bb4402e926b29953c785397c6dc0391b7b446e45008b0049eb43cec6f5d"
+checksum = "cd56dd203fef61ac097dd65721a419ddccb106b2d2b70ba60a6b529f03961a51"
 dependencies = [
- "async-channel",
- "async-global-executor",
- "async-io",
- "async-lock",
- "async-process",
- "crossbeam-utils",
- "futures-channel",
+ "async-stream-impl",
  "futures-core",
- "futures-io",
- "futures-lite",
- "gloo-timers",
- "kv-log-macro",
- "log",
- "memchr",
- "once_cell",
- "pin-project-lite 0.2.9",
- "pin-utils",
- "slab",
- "wasm-bindgen-futures",
+ "pin-project-lite",
 ]
 
 [[package]]
-name = "async-std-openssl"
-version = "0.6.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "408a76b00fc49b11fe78f1f7a90557a3c887af1d4570fb33e15a70eb7e6b95ee"
-dependencies = [
- "async-dup",
- "async-std",
- "futures-util",
- "openssl",
- "openssl-sys",
-]
-
-[[package]]
-name = "async-task"
-version = "4.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ecc7ab41815b3c653ccd2978ec3255c81349336702dfdf62ee6f7069b12a3aae"
-
-[[package]]
-name = "async-trait"
-version = "0.1.68"
+name = "async-stream-impl"
+version = "0.3.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b9ccdd8f2a161be9bd5c023df56f1b2a0bd1d83872ae53b71a84a12c9bf6e842"
+checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.16",
+ "syn 2.0.27",
 ]
 
 [[package]]
-name = "atomic-waker"
-version = "1.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1181e1e0d1fce796a03db1ae795d67167da795f9cf4a39c37589e85ef57f26d3"
-
-[[package]]
-name = "atty"
-version = "0.2.14"
+name = "atk"
+version = "0.15.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
+checksum = "2c3d816ce6f0e2909a96830d6911c2aff044370b1ef92d7f267b43bae5addedd"
 dependencies = [
- "hermit-abi 0.1.19",
+ "atk-sys",
+ "bitflags 1.3.2",
+ "glib",
  "libc",
- "winapi",
 ]
 
 [[package]]
-name = "authenticator-ctap2-2021"
-version = "0.3.2-dev.1"
+name = "atk-sys"
+version = "0.15.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d06c690e5e2800f70c0cf8773a9fe7680d66e719dae9b4cabedd13ef4885d056"
+checksum = "58aeb089fb698e06db8089971c7ee317ab9644bade33383f63631437b03aafb6"
 dependencies = [
- "base64 0.13.1",
- "bitflags",
- "cfg-if 1.0.0",
- "core-foundation",
- "devd-rs",
+ "glib-sys",
+ "gobject-sys",
  "libc",
- "libudev",
- "log",
- "memoffset 0.6.5",
- "nom",
- "openssl",
- "openssl-sys",
- "rand 0.8.5",
- "runloop",
- "serde",
- "serde_bytes",
- "serde_cbor",
- "serde_json",
- "sha2 0.10.6",
- "winapi",
+ "system-deps 6.1.1",
 ]
 
 [[package]]
@@ -454,22 +164,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
 
 [[package]]
-name = "base-x"
-version = "0.2.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4cbbc9d0964165b47557570cce6c952866c2678457aca742aafc9fb771d30270"
-
-[[package]]
-name = "base32"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "23ce669cd6c8588f79e15cf450314f9638f967fc5770ff1c7c1deb0925ea7cfa"
-
-[[package]]
-name = "base64"
-version = "0.12.3"
+name = "backtrace"
+version = "0.3.68"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3441f0f7b02788e948e47f457ca01f1d7e6d92c693bc132c22b087d3141c03ff"
+checksum = "4319208da049c43661739c5fade2ba182f09d1dc2299b32298d3a31692b17e12"
+dependencies = [
+ "addr2line",
+ "cc",
+ "cfg-if",
+ "libc",
+ "miniz_oxide",
+ "object",
+ "rustc-demangle",
+]
 
 [[package]]
 name = "base64"
@@ -479,20 +186,9 @@ checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8"
 
 [[package]]
 name = "base64"
-version = "0.21.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3f1e31e207a6b8fb791a38ea3105e6cb541f55e4d029902d3039a4ad07cc4105"
-
-[[package]]
-name = "base64urlsafedata"
-version = "0.1.3"
+version = "0.21.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "18b3d30abb74120a9d5267463b9e0045fdccc4dd152e7249d966612dc1721384"
-dependencies = [
- "base64 0.21.1",
- "serde",
- "serde_json",
-]
+checksum = "604178f6c5c21f02dc555784810edfb88d34ac2c73b2eae109655649ee73ce3d"
 
 [[package]]
 name = "bincode"
@@ -504,61 +200,22 @@ dependencies = [
 ]
 
 [[package]]
-name = "bit-set"
-version = "0.5.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1"
-dependencies = [
- "bit-vec",
-]
-
-[[package]]
-name = "bit-vec"
-version = "0.6.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb"
-
-[[package]]
 name = "bitflags"
 version = "1.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
 
 [[package]]
-name = "blake3"
-version = "0.3.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b64485778c4f16a6a5a9d335e80d449ac6c70cdd6a06d2af18a6f6f775a125b3"
-dependencies = [
- "arrayref",
- "arrayvec",
- "cc",
- "cfg-if 0.1.10",
- "constant_time_eq",
- "crypto-mac 0.8.0",
- "digest 0.9.0",
-]
-
-[[package]]
-name = "block-buffer"
-version = "0.7.3"
+name = "bitflags"
+version = "2.3.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c0940dc441f31689269e10ac70eb1002a3a1d3ad1390e030043662eb7fe4688b"
-dependencies = [
- "block-padding",
- "byte-tools",
- "byteorder",
- "generic-array 0.12.4",
-]
+checksum = "630be753d4e58660abd17930c71b647fe46c27ea6b63cc59e1e3851406972e42"
 
 [[package]]
-name = "block-buffer"
-version = "0.9.0"
+name = "block"
+version = "0.1.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4"
-dependencies = [
- "generic-array 0.14.7",
-]
+checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a"
 
 [[package]]
 name = "block-buffer"
@@ -566,38 +223,40 @@ version = "0.10.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71"
 dependencies = [
- "generic-array 0.14.7",
+ "generic-array",
 ]
 
 [[package]]
-name = "block-padding"
-version = "0.1.5"
+name = "brotli"
+version = "3.3.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fa79dedbb091f449f1f39e53edf88d5dbe95f895dae6135a8d7b881fb5af73f5"
+checksum = "a1a0b1dbcc8ae29329621f8d4f0d835787c1c38bb1401979b49d13b0b305ff68"
 dependencies = [
- "byte-tools",
+ "alloc-no-stdlib",
+ "alloc-stdlib",
+ "brotli-decompressor",
 ]
 
 [[package]]
-name = "blocking"
-version = "1.3.1"
+name = "brotli-decompressor"
+version = "2.3.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "77231a1c8f801696fc0123ec6150ce92cffb8e164a02afb9c8ddee0e9b65ad65"
+checksum = "4b6561fd3f895a11e8f72af2cb7d22e08366bebc2b6b57f7744c4bda27034744"
 dependencies = [
- "async-channel",
- "async-lock",
- "async-task",
- "atomic-waker",
- "fastrand",
- "futures-lite",
- "log",
+ "alloc-no-stdlib",
+ "alloc-stdlib",
 ]
 
 [[package]]
-name = "boolinator"
-version = "2.4.0"
+name = "bstr"
+version = "1.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cfa8873f51c92e232f9bac4065cddef41b714152812bfc5f7672ba16d6ef8cd9"
+checksum = "6798148dccfbff0fae41c7574d2fa8f1ef3492fba0face179de5d8d447d67b05"
+dependencies = [
+ "memchr",
+ "regex-automata 0.3.3",
+ "serde",
+]
 
 [[package]]
 name = "bumpalo"
@@ -606,12 +265,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1"
 
 [[package]]
-name = "byte-tools"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7"
-
-[[package]]
 name = "bytemuck"
 version = "1.13.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -628,12 +281,43 @@ name = "bytes"
 version = "1.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be"
+dependencies = [
+ "serde",
+]
 
 [[package]]
-name = "cast"
-version = "0.3.0"
+name = "cairo-rs"
+version = "0.15.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c76ee391b03d35510d9fa917357c7f1855bd9a6659c95a1b392e33f49b3369bc"
+dependencies = [
+ "bitflags 1.3.2",
+ "cairo-sys-rs",
+ "glib",
+ "libc",
+ "thiserror",
+]
+
+[[package]]
+name = "cairo-sys-rs"
+version = "0.15.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3c55d429bef56ac9172d25fecb85dc8068307d17acd74b377866b7a1ef25d3c8"
+dependencies = [
+ "glib-sys",
+ "libc",
+ "system-deps 6.1.1",
+]
+
+[[package]]
+name = "cargo_toml"
+version = "0.15.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5"
+checksum = "599aa35200ffff8f04c1925aa1acc92fa2e08874379ef42e210a80e527e60838"
+dependencies = [
+ "serde",
+ "toml 0.7.6",
+]
 
 [[package]]
 name = "cc"
@@ -645,121 +329,151 @@ dependencies = [
 ]
 
 [[package]]
-name = "cfg-if"
-version = "0.1.10"
+name = "cesu8"
+version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
+checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c"
 
 [[package]]
-name = "cfg-if"
-version = "1.0.0"
+name = "cfb"
+version = "0.7.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+checksum = "d38f2da7a0a2c4ccf0065be06397cc26a81f4e528be095826eee9d4adbb8c60f"
+dependencies = [
+ "byteorder",
+ "fnv",
+ "uuid",
+]
+
+[[package]]
+name = "cfg-expr"
+version = "0.9.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3431df59f28accaf4cb4eed4a9acc66bea3f3c3753aa6cdc2f024174ef232af7"
+dependencies = [
+ "smallvec",
+]
+
+[[package]]
+name = "cfg-expr"
+version = "0.15.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "215c0072ecc28f92eeb0eea38ba63ddfcb65c2828c46311d646f1a3ff5f9841c"
+dependencies = [
+ "smallvec",
+ "target-lexicon",
+]
 
 [[package]]
-name = "checked_int_cast"
+name = "cfg-if"
 version = "1.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "17cc5e6b5ab06331c33589842070416baa137e8b0eb912b008cfd4a78ada7919"
+checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
 
 [[package]]
 name = "chrono"
-version = "0.4.24"
+version = "0.4.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4e3c5919066adf22df73762e50cffcde3a758f2a848b113b586d1f86728b673b"
+checksum = "ec837a71355b28f6556dbd569b37b3f363091c0bd4b2e735674521b4c5fd9bc5"
 dependencies = [
+ "android-tzdata",
  "iana-time-zone",
  "js-sys",
- "num-integer",
  "num-traits",
  "serde",
- "time 0.1.45",
  "wasm-bindgen",
  "winapi",
 ]
 
 [[package]]
-name = "ciborium"
-version = "0.2.1"
+name = "clap"
+version = "4.3.19"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "effd91f6c78e5a4ace8a5d3c0b6bfaec9e2baaef55f3efc00e45fb2e477ee926"
+checksum = "5fd304a20bff958a57f04c4e96a2e7594cc4490a0e809cbd48bb6437edaa452d"
 dependencies = [
- "ciborium-io",
- "ciborium-ll",
- "serde",
+ "clap_builder",
+ "clap_derive",
+ "once_cell",
 ]
 
 [[package]]
-name = "ciborium-io"
-version = "0.2.1"
+name = "clap_builder"
+version = "4.3.19"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cdf919175532b369853f5d5e20b26b43112613fd6fe7aee757e35f7a44642656"
+checksum = "01c6a3f08f1fe5662a35cfe393aec09c4df95f60ee93b7556505260f75eee9e1"
+dependencies = [
+ "anstream",
+ "anstyle",
+ "clap_lex",
+ "strsim",
+]
 
 [[package]]
-name = "ciborium-ll"
-version = "0.2.1"
+name = "clap_complete"
+version = "4.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "defaa24ecc093c77630e6c15e17c51f5e187bf35ee514f4e2d67baaa96dae22b"
+checksum = "5fc443334c81a804575546c5a8a79b4913b50e28d69232903604cada1de817ce"
 dependencies = [
- "ciborium-io",
- "half",
+ "clap",
 ]
 
 [[package]]
-name = "cipher"
-version = "0.2.5"
+name = "clap_derive"
+version = "4.3.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "12f8e7987cbd042a63249497f41aed09f8e65add917ea6566effbc56578d6801"
+checksum = "54a9bb5758fc5dfe728d1019941681eccaf0cf8a4189b692a0ee2f2ecf90a050"
 dependencies = [
- "generic-array 0.14.7",
+ "heck 0.4.1",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.27",
 ]
 
 [[package]]
-name = "clap"
-version = "3.2.25"
+name = "clap_lex"
+version = "0.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4ea181bf566f71cb9a5d17a59e1871af638180a18fb0035c92ae62b705207123"
-dependencies = [
- "atty",
- "bitflags",
- "clap_derive",
- "clap_lex",
- "indexmap",
- "once_cell",
- "strsim",
- "termcolor",
- "textwrap",
-]
+checksum = "2da6da31387c7e4ef160ffab6d5e7f00c42626fe39aea70a7b0f1773f7dd6c1b"
 
 [[package]]
-name = "clap_complete"
-version = "3.2.5"
+name = "clap_mangen"
+version = "0.2.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3f7a2e0a962c45ce25afce14220bc24f9dade0a1787f185cecf96bfba7847cd8"
+checksum = "8f2e32b579dae093c2424a8b7e2bea09c89da01e1ce5065eb2f0a6f1cc15cc1f"
 dependencies = [
  "clap",
+ "roff",
 ]
 
 [[package]]
-name = "clap_derive"
-version = "3.2.25"
+name = "cocoa"
+version = "0.24.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ae6371b8bdc8b7d3959e9cf7b22d4435ef3e79e138688421ec654acf8c81b008"
+checksum = "f425db7937052c684daec3bd6375c8abe2d146dca4b8b143d6db777c39138f3a"
 dependencies = [
- "heck",
- "proc-macro-error",
- "proc-macro2",
- "quote",
- "syn 1.0.109",
+ "bitflags 1.3.2",
+ "block",
+ "cocoa-foundation",
+ "core-foundation",
+ "core-graphics",
+ "foreign-types",
+ "libc",
+ "objc",
 ]
 
 [[package]]
-name = "clap_lex"
-version = "0.2.4"
+name = "cocoa-foundation"
+version = "0.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5"
+checksum = "931d3837c286f56e3c58423ce4eba12d08db2374461a785c86f672b08b5650d6"
 dependencies = [
- "os_str_bytes",
+ "bitflags 1.3.2",
+ "block",
+ "core-foundation",
+ "core-graphics-types",
+ "foreign-types",
+ "libc",
+ "objc",
 ]
 
 [[package]]
@@ -769,46 +483,30 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b"
 
 [[package]]
-name = "compact_jwt"
-version = "0.2.9"
+name = "colorchoice"
+version = "1.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "51f9032b96a89dd79ffc5f62523d5351ebb40680cbdfc4029393b511b9e971aa"
-dependencies = [
- "base64 0.13.1",
- "base64urlsafedata",
- "hex",
- "openssl",
- "serde",
- "serde_json",
- "tracing",
- "url",
- "uuid",
-]
+checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7"
 
 [[package]]
-name = "concread"
-version = "0.4.1"
+name = "colored"
+version = "2.0.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5d3d825450e64aece76bdcf5c6d115c454ebb284c892da3e4cc7ff1e62e72069"
+checksum = "2674ec482fbc38012cf31e6c42ba0177b431a0cb6f15fe40efa5aab1bda516f6"
 dependencies = [
- "ahash 0.7.6",
- "crossbeam-epoch",
- "crossbeam-queue",
- "crossbeam-utils",
- "lru 0.7.8",
- "smallvec",
- "sptr",
- "tokio",
- "tracing",
+ "is-terminal",
+ "lazy_static",
+ "windows-sys 0.48.0",
 ]
 
 [[package]]
-name = "concurrent-queue"
-version = "2.2.0"
+name = "combine"
+version = "4.6.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62ec6771ecfa0762d24683ee5a32ad78487a3d3afdc0fb8cae19d2c5deb50b7c"
+checksum = "35ed6e9d84f0b51a7f52daf1c7d71dd136fd7a3f41a8462b8cdb8c78d920fad4"
 dependencies = [
- "crossbeam-utils",
+ "bytes",
+ "memchr",
 ]
 
 [[package]]
@@ -825,70 +523,10 @@ dependencies = [
 ]
 
 [[package]]
-name = "console_error_panic_hook"
-version = "0.1.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a06aeb73f470f66dcdbf7223caeebb85984942f22f1adb2a088cf9668146bbbc"
-dependencies = [
- "cfg-if 1.0.0",
- "wasm-bindgen",
-]
-
-[[package]]
-name = "const_fn"
-version = "0.4.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fbdcdcb6d86f71c5e97409ad45898af11cbc995b4ee8112d59095a28d376c935"
-
-[[package]]
-name = "constant_time_eq"
-version = "0.1.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc"
-
-[[package]]
-name = "cookie"
-version = "0.14.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "03a5d7b21829bc7b4bf4754a978a241ae54ea55a40f92bb20216e54096f4b951"
-dependencies = [
- "aes-gcm",
- "base64 0.13.1",
- "hkdf",
- "hmac 0.10.1",
- "percent-encoding",
- "rand 0.8.5",
- "sha2 0.9.9",
- "time 0.2.27",
- "version_check",
-]
-
-[[package]]
-name = "cookie"
-version = "0.16.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e859cd57d0710d9e06c381b550c06e76992472a8c6d527aecd2fc673dcc231fb"
-dependencies = [
- "percent-encoding",
- "time 0.3.21",
- "version_check",
-]
-
-[[package]]
-name = "cookie_store"
-version = "0.16.1"
+name = "convert_case"
+version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2e4b6aa369f41f5faa04bb80c9b1f4216ea81646ed6124d76ba5c49a7aafd9cd"
-dependencies = [
- "cookie 0.16.2",
- "idna 0.2.3",
- "log",
- "publicsuffix",
- "serde",
- "serde_json",
- "time 0.3.21",
- "url",
-]
+checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e"
 
 [[package]]
 name = "core-foundation"
@@ -907,88 +545,45 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa"
 
 [[package]]
-name = "cpufeatures"
-version = "0.2.7"
+name = "core-graphics"
+version = "0.22.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3e4c1eaa2012c47becbbad2ab175484c2a84d1185b566fb2cc5b8707343dfe58"
+checksum = "2581bbab3b8ffc6fcbd550bf46c355135d16e9ff2a6ea032ad6b9bf1d7efe4fb"
 dependencies = [
+ "bitflags 1.3.2",
+ "core-foundation",
+ "core-graphics-types",
+ "foreign-types",
  "libc",
 ]
 
 [[package]]
-name = "cpuid-bool"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dcb25d077389e53838a8158c8e99174c5a9d902dee4904320db714f3c653ffba"
-
-[[package]]
-name = "crc32fast"
-version = "1.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d"
-dependencies = [
- "cfg-if 1.0.0",
-]
-
-[[package]]
-name = "criterion"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e7c76e09c1aae2bc52b3d2f29e13c6572553b30c4aa1b8a49fd70de6412654cb"
-dependencies = [
- "anes",
- "atty",
- "cast",
- "ciborium",
- "clap",
- "criterion-plot",
- "itertools",
- "lazy_static",
- "num-traits",
- "oorandom",
- "plotters",
- "rayon",
- "regex",
- "serde",
- "serde_derive",
- "serde_json",
- "tinytemplate",
- "walkdir",
-]
-
-[[package]]
-name = "criterion-plot"
-version = "0.5.0"
+name = "core-graphics-types"
+version = "0.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6b50826342786a51a89e2da3a28f1c32b06e387201bc2d19791f622c673706b1"
+checksum = "2bb142d41022986c1d8ff29103a1411c8a3dfad3552f87a4f8dc50d61d4f4e33"
 dependencies = [
- "cast",
- "itertools",
+ "bitflags 1.3.2",
+ "core-foundation",
+ "libc",
 ]
 
 [[package]]
-name = "cron"
-version = "0.12.0"
+name = "cpufeatures"
+version = "0.2.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1ff76b51e4c068c52bfd2866e1567bee7c567ae8f24ada09fd4307019e25eab7"
+checksum = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1"
 dependencies = [
- "chrono",
- "nom",
- "once_cell",
+ "libc",
 ]
 
 [[package]]
-name = "crossbeam"
-version = "0.8.2"
+name = "crc32fast"
+version = "1.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2801af0d36612ae591caa9568261fddce32ce6e08a7275ea334a06a4ad021a2c"
+checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d"
 dependencies = [
- "cfg-if 1.0.0",
- "crossbeam-channel",
- "crossbeam-deque",
- "crossbeam-epoch",
- "crossbeam-queue",
- "crossbeam-utils",
+ "cfg-if",
 ]
 
 [[package]]
@@ -997,51 +592,17 @@ version = "0.5.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200"
 dependencies = [
- "cfg-if 1.0.0",
- "crossbeam-utils",
-]
-
-[[package]]
-name = "crossbeam-deque"
-version = "0.8.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef"
-dependencies = [
- "cfg-if 1.0.0",
- "crossbeam-epoch",
- "crossbeam-utils",
-]
-
-[[package]]
-name = "crossbeam-epoch"
-version = "0.9.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "46bd5f3f85273295a9d14aedfb86f6aadbff6d8f5295c4a9edb08e819dcf5695"
-dependencies = [
- "autocfg",
- "cfg-if 1.0.0",
- "crossbeam-utils",
- "memoffset 0.8.0",
- "scopeguard",
-]
-
-[[package]]
-name = "crossbeam-queue"
-version = "0.3.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d1cfb3ea8a53f37c40dea2c7bedcbd88bdfae54f5e2175d6ecaff1c988353add"
-dependencies = [
- "cfg-if 1.0.0",
+ "cfg-if",
  "crossbeam-utils",
 ]
 
 [[package]]
 name = "crossbeam-utils"
-version = "0.8.15"
+version = "0.8.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c063cd8cc95f5c377ed0d4b49a4b21f632396ff690e8470c29b3359b346984b"
+checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294"
 dependencies = [
- "cfg-if 1.0.0",
+ "cfg-if",
 ]
 
 [[package]]
@@ -1050,49 +611,35 @@ version = "0.1.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3"
 dependencies = [
- "generic-array 0.14.7",
+ "generic-array",
  "typenum",
 ]
 
 [[package]]
-name = "crypto-mac"
-version = "0.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b584a330336237c1eecd3e94266efb216c56ed91225d634cb2991c5f3fd1aeab"
-dependencies = [
- "generic-array 0.14.7",
- "subtle",
-]
-
-[[package]]
-name = "crypto-mac"
-version = "0.10.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bff07008ec701e8028e2ceb8f83f0e4274ee62bd2dbdc4fefff2e9a91824081a"
-dependencies = [
- "generic-array 0.14.7",
- "subtle",
-]
-
-[[package]]
-name = "csv"
-version = "1.2.1"
+name = "cssparser"
+version = "0.27.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b015497079b9a9d69c02ad25de6c0a6edef051ea6360a327d0bd05802ef64ad"
+checksum = "754b69d351cdc2d8ee09ae203db831e005560fc6030da058f86ad60c92a9cb0a"
 dependencies = [
- "csv-core",
- "itoa",
- "ryu",
- "serde",
+ "cssparser-macros",
+ "dtoa-short",
+ "itoa 0.4.8",
+ "matches",
+ "phf 0.8.0",
+ "proc-macro2",
+ "quote",
+ "smallvec",
+ "syn 1.0.109",
 ]
 
 [[package]]
-name = "csv-core"
-version = "0.1.10"
+name = "cssparser-macros"
+version = "0.6.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2b2466559f260f48ad25fe6317b3c8dac77b5bdb5763ac7d9d6103530663bc90"
+checksum = "13b588ba4ac1a99f7f2964d24b3d896ddc6bf847ee3855dbd4366f058cfcd331"
 dependencies = [
- "memchr",
+ "quote",
+ "syn 2.0.27",
 ]
 
 [[package]]
@@ -1106,40 +653,10 @@ dependencies = [
 ]
 
 [[package]]
-name = "ctr"
-version = "0.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fb4a30d54f7443bf3d6191dcd486aca19e67cb3c49fa7a06a319966346707e7f"
-dependencies = [
- "cipher",
-]
-
-[[package]]
-name = "daemon"
-version = "1.1.0-alpha.12"
-dependencies = [
- "clap",
- "clap_complete",
- "fs2",
- "kanidm_lib_file_permissions",
- "kanidm_proto",
- "kanidmd_core",
- "profiles",
- "reqwest",
- "serde",
- "sketching",
- "tikv-jemallocator",
- "tokio",
- "toml",
- "users",
- "whoami",
-]
-
-[[package]]
 name = "darling"
-version = "0.14.4"
+version = "0.20.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b750cb3417fd1b327431a470f388520309479ab0bf5e323505daf0290cd3850"
+checksum = "0209d94da627ab5605dcccf08bb18afa5009cfbef48d8a8b7d7bdbc79be25c5e"
 dependencies = [
  "darling_core",
  "darling_macro",
@@ -1147,178 +664,148 @@ dependencies = [
 
 [[package]]
 name = "darling_core"
-version = "0.14.4"
+version = "0.20.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "109c1ca6e6b7f82cc233a97004ea8ed7ca123a9af07a8230878fcfda9b158bf0"
+checksum = "177e3443818124b357d8e76f53be906d60937f0d3a90773a664fa63fa253e621"
 dependencies = [
  "fnv",
  "ident_case",
  "proc-macro2",
  "quote",
  "strsim",
- "syn 1.0.109",
+ "syn 2.0.27",
 ]
 
 [[package]]
 name = "darling_macro"
-version = "0.14.4"
+version = "0.20.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a4aab4dbc9f7611d8b55048a3a16d2d010c2c8334e46304b40ac1cc14bf3b48e"
+checksum = "836a9bbc7ad63342d6d6e7b815ccab164bc77a2d95d84bc3117a8c0d5c98e2d5"
 dependencies = [
  "darling_core",
  "quote",
- "syn 1.0.109",
-]
-
-[[package]]
-name = "data-encoding"
-version = "2.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c2e66c9d817f1720209181c316d28635c050fa304f9c79e47a520882661b7308"
-
-[[package]]
-name = "der-parser"
-version = "7.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fe398ac75057914d7d07307bf67dc7f3f574a26783b4fc7805a20ffa9f506e82"
-dependencies = [
- "asn1-rs",
- "displaydoc",
- "nom",
- "num-bigint",
- "num-traits",
- "rusticata-macros",
+ "syn 2.0.27",
 ]
 
 [[package]]
-name = "derive_builder"
-version = "0.12.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8d67778784b508018359cbc8696edb3db78160bab2c2a28ba7f56ef6932997f8"
-dependencies = [
- "derive_builder_macro",
-]
-
-[[package]]
-name = "derive_builder_core"
-version = "0.12.0"
+name = "derive_more"
+version = "0.99.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c11bdc11a0c47bc7d37d582b5285da6849c96681023680b906673c5707af7b0f"
+checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321"
 dependencies = [
- "darling",
+ "convert_case",
  "proc-macro2",
  "quote",
+ "rustc_version",
  "syn 1.0.109",
 ]
 
 [[package]]
-name = "derive_builder_macro"
-version = "0.12.0"
+name = "digest"
+version = "0.10.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ebcda35c7a396850a55ffeac740804b40ffec779b98fffbb1738f4033f0ee79e"
+checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
 dependencies = [
- "derive_builder_core",
- "syn 1.0.109",
+ "block-buffer",
+ "crypto-common",
 ]
 
 [[package]]
-name = "devd-rs"
-version = "0.3.6"
+name = "directories"
+version = "5.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9313f104b590510b46fc01c0a324fc76505c13871454d3c48490468d04c8d395"
+checksum = "9a49173b84e034382284f27f1af4dcbbd231ffa358c0fe316541a7337f376a35"
 dependencies = [
- "libc",
- "nom",
+ "dirs-sys",
 ]
 
 [[package]]
-name = "dialoguer"
-version = "0.10.4"
+name = "dirs"
+version = "5.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "59c6f2989294b9a498d3ad5491a79c6deb604617378e1cdc4bfc1c1361fe2f87"
+checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225"
 dependencies = [
- "console",
- "shell-words",
- "tempfile",
- "zeroize",
+ "dirs-sys",
 ]
 
 [[package]]
-name = "digest"
-version = "0.8.1"
+name = "dirs-next"
+version = "2.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f3d0c8c8752312f9713efd397ff63acb9f85585afbf179282e720e7704954dd5"
+checksum = "b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1"
 dependencies = [
- "generic-array 0.12.4",
+ "cfg-if",
+ "dirs-sys-next",
 ]
 
 [[package]]
-name = "digest"
-version = "0.9.0"
+name = "dirs-sys"
+version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066"
+checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c"
 dependencies = [
- "generic-array 0.14.7",
+ "libc",
+ "option-ext",
+ "redox_users",
+ "windows-sys 0.48.0",
 ]
 
 [[package]]
-name = "digest"
-version = "0.10.7"
+name = "dirs-sys-next"
+version = "0.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
+checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d"
 dependencies = [
- "block-buffer 0.10.4",
- "crypto-common",
+ "libc",
+ "redox_users",
+ "winapi",
 ]
 
 [[package]]
-name = "dirs"
-version = "4.0.0"
+name = "dispatch"
+version = "0.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca3aa72a6f96ea37bbc5aa912f6788242832f75369bdfdadcb0e38423f100059"
-dependencies = [
- "dirs-sys",
-]
+checksum = "bd0c93bb4b0c6d9b77f4435b0ae98c24d17f1c45b2ff844c6151a07256ca923b"
 
 [[package]]
-name = "dirs-sys"
-version = "0.3.7"
+name = "dtoa"
+version = "1.0.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dcbb2bf8e87535c23f7a8a321e364ce21462d0ff10cb6407820e8e96dfff6653"
+
+[[package]]
+name = "dtoa-short"
+version = "0.3.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6"
+checksum = "dbaceec3c6e4211c79e7b1800fb9680527106beb2f9c51904a3210c03a448c74"
 dependencies = [
- "libc",
- "redox_users",
- "winapi",
+ "dtoa",
 ]
 
 [[package]]
-name = "discard"
+name = "dunce"
 version = "1.0.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "212d0f5754cb6769937f4501cc0e67f4f4483c8d2c3e1e922ee9edbe4ab4c7c0"
+checksum = "56ce8c6da7551ec6c462cbaf3bfbc75131ebbfa1c944aeaa9dab51ca1c5f0c3b"
 
 [[package]]
-name = "displaydoc"
-version = "0.2.4"
+name = "embed-resource"
+version = "2.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d"
+checksum = "f7f1e82a60222fc67bfd50d752a9c89da5cce4c39ed39decc84a443b07bbd69a"
 dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.16",
+ "cc",
+ "rustc_version",
+ "toml 0.7.6",
+ "vswhom",
+ "winreg 0.11.0",
 ]
 
 [[package]]
-name = "dyn-clone"
-version = "1.0.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "68b0cf012f1230e43cd00ebb729c6bb58707ecfa8ad08b52ef3a4ccd2697fc30"
-
-[[package]]
-name = "either"
-version = "1.8.1"
+name = "embed_plist"
+version = "1.2.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91"
+checksum = "4ef6b89e5b37196644d8796de5268852ff179b44e96276cf4290264843743bb7"
 
 [[package]]
 name = "encode_unicode"
@@ -1332,17 +819,14 @@ version = "0.8.32"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "071a31f4ee85403370b58aca746f01041ede6f0da2730960ad001edc2b71b394"
 dependencies = [
- "cfg-if 1.0.0",
+ "cfg-if",
 ]
 
 [[package]]
-name = "erased-serde"
-version = "0.3.25"
+name = "equivalent"
+version = "1.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4f2b0c2380453a92ea8b6c8e5f64ecaafccddde8ceab55ff7a8ac1029f894569"
-dependencies = [
- "serde",
-]
+checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
 
 [[package]]
 name = "errno"
@@ -1366,75 +850,28 @@ dependencies = [
 ]
 
 [[package]]
-name = "event-listener"
-version = "2.5.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0"
-
-[[package]]
-name = "fake-simd"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed"
-
-[[package]]
-name = "fallible-iterator"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7"
-
-[[package]]
-name = "fallible-streaming-iterator"
-version = "0.1.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7360491ce676a36bf9bb3c56c1aa791658183a54d2744120f27285738d90465a"
-
-[[package]]
-name = "fancy-regex"
-version = "0.11.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b95f7c0680e4142284cf8b22c14a476e87d61b004a3a0861872b32ef7ead40a2"
-dependencies = [
- "bit-set",
- "regex",
-]
-
-[[package]]
 name = "fastrand"
-version = "1.9.0"
+version = "2.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be"
-dependencies = [
- "instant",
-]
+checksum = "6999dc1837253364c2ebb0704ba97994bd874e8f195d665c50b7548f6ea92764"
 
 [[package]]
-name = "femme"
-version = "2.2.1"
+name = "fdeflate"
+version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cc04871e5ae3aa2952d552dae6b291b3099723bf779a8054281c1366a54613ef"
+checksum = "d329bdeac514ee06249dabc27877490f17f5d371ec693360768b838e19f3ae10"
 dependencies = [
- "cfg-if 1.0.0",
- "js-sys",
- "log",
- "serde",
- "serde_derive",
- "serde_json",
- "wasm-bindgen",
- "web-sys",
+ "simd-adler32",
 ]
 
 [[package]]
-name = "fernet"
-version = "0.2.1"
+name = "field-offset"
+version = "0.3.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3364d69f691f3903b1a71605fa04f40a7c2d259f0f0512347e36d19a63debf1f"
+checksum = "38e2275cc4e4fc009b0669731a1e5ab7ebf11f469eaede2bab9309a5b4d6057f"
 dependencies = [
- "base64 0.21.1",
- "byteorder",
- "getrandom 0.2.9",
- "openssl",
- "zeroize",
+ "memoffset",
+ "rustc_version",
 ]
 
 [[package]]
@@ -1443,7 +880,7 @@ version = "0.2.21"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "5cbc844cecaee9d4443931972e1289c8ff485cb4cc2767cb03ca139ed6885153"
 dependencies = [
- "cfg-if 1.0.0",
+ "cfg-if",
  "libc",
  "redox_syscall 0.2.16",
  "windows-sys 0.48.0",
@@ -1482,21 +919,21 @@ checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
 
 [[package]]
 name = "form_urlencoded"
-version = "1.1.0"
+version = "1.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8"
+checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652"
 dependencies = [
  "percent-encoding",
 ]
 
 [[package]]
-name = "fs2"
-version = "0.4.3"
+name = "futf"
+version = "0.1.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9564fc758e15025b46aa6643b1b77d047d1a56a1aea6e01002ac0c7026876213"
+checksum = "df420e2e84819663797d1ec6544b13c5be84629e7bb00dc960d6917db2987843"
 dependencies = [
- "libc",
- "winapi",
+ "mac",
+ "new_debug_unreachable",
 ]
 
 [[package]]
@@ -1525,17 +962,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "futures-concurrency"
-version = "3.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "113411b30b3a4fd9aba3eb9654f436976b71bc7f709318aeae7f8e90f74a71d6"
-dependencies = [
- "async-trait",
- "futures-core",
- "pin-project",
-]
-
-[[package]]
 name = "futures-core"
 version = "0.3.28"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1559,21 +985,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964"
 
 [[package]]
-name = "futures-lite"
-version = "1.13.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "49a9d51ce47660b1e808d3c990b4709f2f415d928835a17dfd16991515c46bce"
-dependencies = [
- "fastrand",
- "futures-core",
- "futures-io",
- "memchr",
- "parking",
- "pin-project-lite 0.2.9",
- "waker-fn",
-]
-
-[[package]]
 name = "futures-macro"
 version = "0.3.28"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1581,7 +992,7 @@ checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.16",
+ "syn 2.0.27",
 ]
 
 [[package]]
@@ -1609,252 +1020,322 @@ dependencies = [
  "futures-sink",
  "futures-task",
  "memchr",
- "pin-project-lite 0.2.9",
+ "pin-project-lite",
  "pin-utils",
  "slab",
 ]
 
 [[package]]
-name = "generic-array"
-version = "0.12.4"
+name = "fxhash"
+version = "0.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ffdf9f34f1447443d37393cc6c2b8313aebddcd96906caf34e54c68d8e57d7bd"
+checksum = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c"
 dependencies = [
- "typenum",
+ "byteorder",
 ]
 
 [[package]]
-name = "generic-array"
-version = "0.14.7"
+name = "gdk"
+version = "0.15.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a"
+checksum = "a6e05c1f572ab0e1f15be94217f0dc29088c248b14f792a5ff0af0d84bcda9e8"
 dependencies = [
- "typenum",
- "version_check",
+ "bitflags 1.3.2",
+ "cairo-rs",
+ "gdk-pixbuf",
+ "gdk-sys",
+ "gio",
+ "glib",
+ "libc",
+ "pango",
 ]
 
 [[package]]
-name = "getrandom"
-version = "0.1.16"
+name = "gdk-pixbuf"
+version = "0.15.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce"
+checksum = "ad38dd9cc8b099cceecdf41375bb6d481b1b5a7cd5cd603e10a69a9383f8619a"
 dependencies = [
- "cfg-if 1.0.0",
+ "bitflags 1.3.2",
+ "gdk-pixbuf-sys",
+ "gio",
+ "glib",
  "libc",
- "wasi 0.9.0+wasi-snapshot-preview1",
 ]
 
 [[package]]
-name = "getrandom"
-version = "0.2.9"
+name = "gdk-pixbuf-sys"
+version = "0.15.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c85e1d9ab2eadba7e5040d4e09cbd6d072b76a557ad64e797c2cb9d4da21d7e4"
+checksum = "140b2f5378256527150350a8346dbdb08fadc13453a7a2d73aecd5fab3c402a7"
 dependencies = [
- "cfg-if 1.0.0",
- "js-sys",
+ "gio-sys",
+ "glib-sys",
+ "gobject-sys",
  "libc",
- "wasi 0.11.0+wasi-snapshot-preview1",
- "wasm-bindgen",
+ "system-deps 6.1.1",
 ]
 
 [[package]]
-name = "ghash"
-version = "0.3.1"
+name = "gdk-sys"
+version = "0.15.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "97304e4cd182c3846f7575ced3890c53012ce534ad9114046b0a9e00bb30a375"
+checksum = "32e7a08c1e8f06f4177fb7e51a777b8c1689f743a7bc11ea91d44d2226073a88"
 dependencies = [
- "opaque-debug 0.3.0",
- "polyval",
+ "cairo-sys-rs",
+ "gdk-pixbuf-sys",
+ "gio-sys",
+ "glib-sys",
+ "gobject-sys",
+ "libc",
+ "pango-sys",
+ "pkg-config",
+ "system-deps 6.1.1",
 ]
 
 [[package]]
-name = "git2"
-version = "0.13.25"
+name = "gdkwayland-sys"
+version = "0.15.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f29229cc1b24c0e6062f6e742aa3e256492a5323365e5ed3413599f8a5eff7d6"
+checksum = "cca49a59ad8cfdf36ef7330fe7bdfbe1d34323220cc16a0de2679ee773aee2c2"
 dependencies = [
- "bitflags",
+ "gdk-sys",
+ "glib-sys",
+ "gobject-sys",
  "libc",
- "libgit2-sys",
- "log",
- "openssl-probe",
- "openssl-sys",
- "url",
+ "pkg-config",
+ "system-deps 6.1.1",
 ]
 
 [[package]]
-name = "gloo"
-version = "0.8.0"
+name = "gdkx11-sys"
+version = "0.15.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3a4bef6b277b3ab073253d4bca60761240cf8d6998f4bd142211957b69a61b20"
+checksum = "b4b7f8c7a84b407aa9b143877e267e848ff34106578b64d1e0a24bf550716178"
 dependencies = [
- "gloo-console",
- "gloo-dialogs",
- "gloo-events",
- "gloo-file",
- "gloo-history",
- "gloo-net",
- "gloo-render",
- "gloo-storage",
- "gloo-timers",
- "gloo-utils",
- "gloo-worker",
+ "gdk-sys",
+ "glib-sys",
+ "libc",
+ "system-deps 6.1.1",
+ "x11",
 ]
 
 [[package]]
-name = "gloo-console"
-version = "0.2.3"
+name = "generator"
+version = "0.7.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "82b7ce3c05debe147233596904981848862b068862e9ec3e34be446077190d3f"
+checksum = "5cc16584ff22b460a382b7feec54b23d2908d858152e5739a120b949293bd74e"
 dependencies = [
- "gloo-utils",
- "js-sys",
- "serde",
- "wasm-bindgen",
- "web-sys",
+ "cc",
+ "libc",
+ "log",
+ "rustversion",
+ "windows 0.48.0",
 ]
 
 [[package]]
-name = "gloo-dialogs"
-version = "0.1.1"
+name = "generic-array"
+version = "0.14.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "67062364ac72d27f08445a46cab428188e2e224ec9e37efdba48ae8c289002e6"
+checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a"
 dependencies = [
- "wasm-bindgen",
- "web-sys",
+ "typenum",
+ "version_check",
 ]
 
 [[package]]
-name = "gloo-events"
-version = "0.1.2"
+name = "getrandom"
+version = "0.1.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "68b107f8abed8105e4182de63845afcc7b69c098b7852a813ea7462a320992fc"
+checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce"
 dependencies = [
- "wasm-bindgen",
- "web-sys",
+ "cfg-if",
+ "libc",
+ "wasi 0.9.0+wasi-snapshot-preview1",
 ]
 
 [[package]]
-name = "gloo-file"
-version = "0.2.3"
+name = "getrandom"
+version = "0.2.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a8d5564e570a38b43d78bdc063374a0c3098c4f0d64005b12f9bbe87e869b6d7"
+checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427"
 dependencies = [
- "futures-channel",
- "gloo-events",
- "js-sys",
- "wasm-bindgen",
- "web-sys",
+ "cfg-if",
+ "libc",
+ "wasi 0.11.0+wasi-snapshot-preview1",
 ]
 
 [[package]]
-name = "gloo-history"
-version = "0.1.3"
+name = "gimli"
+version = "0.27.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b6c80984affa11d98d1b88b66ac8853f143217b399d3c74116778ff8fdb4ed2e"
+
+[[package]]
+name = "gio"
+version = "0.15.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd451019e0b7a2b8a7a7b23e74916601abf1135c54664e57ff71dcc26dfcdeb7"
+checksum = "68fdbc90312d462781a395f7a16d96a2b379bb6ef8cd6310a2df272771c4283b"
 dependencies = [
- "gloo-events",
- "gloo-utils",
- "serde",
- "serde-wasm-bindgen",
- "serde_urlencoded",
+ "bitflags 1.3.2",
+ "futures-channel",
+ "futures-core",
+ "futures-io",
+ "gio-sys",
+ "glib",
+ "libc",
+ "once_cell",
  "thiserror",
- "wasm-bindgen",
- "web-sys",
 ]
 
 [[package]]
-name = "gloo-net"
-version = "0.2.6"
+name = "gio-sys"
+version = "0.15.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9902a044653b26b99f7e3693a42f171312d9be8b26b5697bd1e43ad1f8a35e10"
+checksum = "32157a475271e2c4a023382e9cab31c4584ee30a97da41d3c4e9fdd605abcf8d"
 dependencies = [
+ "glib-sys",
+ "gobject-sys",
+ "libc",
+ "system-deps 6.1.1",
+ "winapi",
+]
+
+[[package]]
+name = "glib"
+version = "0.15.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "edb0306fbad0ab5428b0ca674a23893db909a98582969c9b537be4ced78c505d"
+dependencies = [
+ "bitflags 1.3.2",
  "futures-channel",
  "futures-core",
- "futures-sink",
- "gloo-utils",
- "js-sys",
- "pin-project",
- "serde",
- "serde_json",
+ "futures-executor",
+ "futures-task",
+ "glib-macros",
+ "glib-sys",
+ "gobject-sys",
+ "libc",
+ "once_cell",
+ "smallvec",
  "thiserror",
- "wasm-bindgen",
- "wasm-bindgen-futures",
- "web-sys",
 ]
 
 [[package]]
-name = "gloo-render"
-version = "0.1.1"
+name = "glib-macros"
+version = "0.15.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2fd9306aef67cfd4449823aadcd14e3958e0800aa2183955a309112a84ec7764"
+checksum = "10c6ae9f6fa26f4fb2ac16b528d138d971ead56141de489f8111e259b9df3c4a"
 dependencies = [
- "wasm-bindgen",
- "web-sys",
+ "anyhow",
+ "heck 0.4.1",
+ "proc-macro-crate",
+ "proc-macro-error",
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
 ]
 
 [[package]]
-name = "gloo-storage"
-version = "0.2.2"
+name = "glib-sys"
+version = "0.15.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5d6ab60bf5dbfd6f0ed1f7843da31b41010515c745735c970e821945ca91e480"
+checksum = "ef4b192f8e65e9cf76cbf4ea71fa8e3be4a0e18ffe3d68b8da6836974cc5bad4"
 dependencies = [
- "gloo-utils",
- "js-sys",
- "serde",
- "serde_json",
- "thiserror",
- "wasm-bindgen",
- "web-sys",
+ "libc",
+ "system-deps 6.1.1",
+]
+
+[[package]]
+name = "glob"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
+
+[[package]]
+name = "globset"
+version = "0.4.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "aca8bbd8e0707c1887a8bbb7e6b40e228f251ff5d62c8220a4a7a53c73aff006"
+dependencies = [
+ "aho-corasick",
+ "bstr",
+ "fnv",
+ "log",
+ "regex",
+]
+
+[[package]]
+name = "gobject-sys"
+version = "0.15.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0d57ce44246becd17153bd035ab4d32cfee096a657fc01f2231c9278378d1e0a"
+dependencies = [
+ "glib-sys",
+ "libc",
+ "system-deps 6.1.1",
 ]
 
 [[package]]
-name = "gloo-timers"
-version = "0.2.6"
+name = "gtk"
+version = "0.15.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9b995a66bb87bebce9a0f4a95aed01daca4872c050bfcb21653361c03bc35e5c"
+checksum = "92e3004a2d5d6d8b5057d2b57b3712c9529b62e82c77f25c1fecde1fd5c23bd0"
 dependencies = [
+ "atk",
+ "bitflags 1.3.2",
+ "cairo-rs",
+ "field-offset",
  "futures-channel",
- "futures-core",
- "js-sys",
- "wasm-bindgen",
+ "gdk",
+ "gdk-pixbuf",
+ "gio",
+ "glib",
+ "gtk-sys",
+ "gtk3-macros",
+ "libc",
+ "once_cell",
+ "pango",
+ "pkg-config",
 ]
 
 [[package]]
-name = "gloo-utils"
-version = "0.1.6"
+name = "gtk-sys"
+version = "0.15.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a8e8fc851e9c7b9852508bc6e3f690f452f474417e8545ec9857b7f7377036b5"
+checksum = "d5bc2f0587cba247f60246a0ca11fe25fb733eabc3de12d1965fc07efab87c84"
 dependencies = [
- "js-sys",
- "serde",
- "serde_json",
- "wasm-bindgen",
- "web-sys",
+ "atk-sys",
+ "cairo-sys-rs",
+ "gdk-pixbuf-sys",
+ "gdk-sys",
+ "gio-sys",
+ "glib-sys",
+ "gobject-sys",
+ "libc",
+ "pango-sys",
+ "system-deps 6.1.1",
 ]
 
 [[package]]
-name = "gloo-worker"
-version = "0.2.1"
+name = "gtk3-macros"
+version = "0.15.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "13471584da78061a28306d1359dd0178d8d6fc1c7c80e5e35d27260346e0516a"
+checksum = "684c0456c086e8e7e9af73ec5b84e35938df394712054550e81558d21c44ab0d"
 dependencies = [
- "anymap2",
- "bincode",
- "gloo-console",
- "gloo-utils",
- "js-sys",
- "serde",
- "wasm-bindgen",
- "wasm-bindgen-futures",
- "web-sys",
+ "anyhow",
+ "proc-macro-crate",
+ "proc-macro-error",
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
 ]
 
 [[package]]
 name = "h2"
-version = "0.3.19"
+version = "0.3.20"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d357c7ae988e7d2182f7d7871d0b963962420b0678b0997ce7de72001aeab782"
+checksum = "97ec8491ebaf99c8eaa73058b045fe58073cd6be7f596ac993ced0b0a0c01049"
 dependencies = [
  "bytes",
  "fnv",
@@ -1862,7 +1343,7 @@ dependencies = [
  "futures-sink",
  "futures-util",
  "http",
- "indexmap",
+ "indexmap 1.9.3",
  "slab",
  "tokio",
  "tokio-util",
@@ -1870,37 +1351,24 @@ dependencies = [
 ]
 
 [[package]]
-name = "half"
-version = "1.8.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eabb4a44450da02c90444cf74558da904edde8fb4e9035a9a6a4e15445af0bd7"
-
-[[package]]
 name = "hashbrown"
 version = "0.12.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
-dependencies = [
- "ahash 0.7.6",
- "serde",
-]
 
 [[package]]
 name = "hashbrown"
-version = "0.13.2"
+version = "0.14.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e"
-dependencies = [
- "ahash 0.8.3",
-]
+checksum = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a"
 
 [[package]]
-name = "hashlink"
-version = "0.8.2"
+name = "heck"
+version = "0.3.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0761a1b9491c4f2e3d66aa0f62d0fba0af9a0e2852e4d48ea506632a4b56e6aa"
+checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c"
 dependencies = [
- "hashbrown 0.13.2",
+ "unicode-segmentation",
 ]
 
 [[package]]
@@ -1911,27 +1379,9 @@ checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
 
 [[package]]
 name = "hermit-abi"
-version = "0.1.19"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "hermit-abi"
-version = "0.2.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "hermit-abi"
-version = "0.3.1"
+version = "0.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286"
+checksum = "443144c8cdadd93ebf52ddb4056d257f5b52c04d3c804e657d19eb73fc33668b"
 
 [[package]]
 name = "hex"
@@ -1940,33 +1390,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
 
 [[package]]
-name = "hkdf"
-version = "0.10.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "51ab2f639c231793c5f6114bdb9bbe50a7dbbfcd7c7c6bd8475dec2d991e964f"
-dependencies = [
- "digest 0.9.0",
- "hmac 0.10.1",
-]
-
-[[package]]
-name = "hmac"
-version = "0.8.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "126888268dcc288495a26bf004b38c5fdbb31682f992c84ceb046a1f0fe38840"
-dependencies = [
- "crypto-mac 0.8.0",
- "digest 0.9.0",
-]
-
-[[package]]
-name = "hmac"
-version = "0.10.1"
+name = "html5ever"
+version = "0.25.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c1441c6b1e930e2817404b5046f1f989899143a12bf92de603b69f4e0aee1e15"
+checksum = "e5c13fb08e5d4dfc151ee5e88bae63f7773d61852f3bdc73c9f4b9e1bde03148"
 dependencies = [
- "crypto-mac 0.10.1",
- "digest 0.9.0",
+ "log",
+ "mac",
+ "markup5ever",
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
 ]
 
 [[package]]
@@ -1977,7 +1411,7 @@ checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482"
 dependencies = [
  "bytes",
  "fnv",
- "itoa",
+ "itoa 1.0.9",
 ]
 
 [[package]]
@@ -1988,42 +1422,14 @@ checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1"
 dependencies = [
  "bytes",
  "http",
- "pin-project-lite 0.2.9",
+ "pin-project-lite",
 ]
 
 [[package]]
-name = "http-client"
-version = "6.5.3"
+name = "http-range"
+version = "0.1.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1947510dc91e2bf586ea5ffb412caad7673264e14bb39fb9078da114a94ce1a5"
-dependencies = [
- "async-trait",
- "cfg-if 1.0.0",
- "http-types",
- "log",
-]
-
-[[package]]
-name = "http-types"
-version = "2.12.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6e9b187a72d63adbfba487f48095306ac823049cb504ee195541e91c7775f5ad"
-dependencies = [
- "anyhow",
- "async-channel",
- "async-std",
- "base64 0.13.1",
- "cookie 0.14.4",
- "futures-lite",
- "infer",
- "pin-project-lite 0.2.9",
- "rand 0.7.3",
- "serde",
- "serde_json",
- "serde_qs",
- "serde_urlencoded",
- "url",
-]
+checksum = "21dec9db110f5f872ed9699c3ecf50cf16f423502706ba5c72462e28d3157573"
 
 [[package]]
 name = "httparse"
@@ -2039,9 +1445,9 @@ checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421"
 
 [[package]]
 name = "hyper"
-version = "0.14.26"
+version = "0.14.27"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ab302d72a6f11a3b910431ff93aae7e773078c769f0a3ef15fb9ec692ed147d4"
+checksum = "ffb1cfd654a8219eaef89881fdb3bb3b1cdc5fa75ded05d6933b2b382e395468"
 dependencies = [
  "bytes",
  "futures-channel",
@@ -2052,8 +1458,8 @@ dependencies = [
  "http-body",
  "httparse",
  "httpdate",
- "itoa",
- "pin-project-lite 0.2.9",
+ "itoa 1.0.9",
+ "pin-project-lite",
  "socket2",
  "tokio",
  "tower-service",
@@ -2062,6 +1468,20 @@ dependencies = [
 ]
 
 [[package]]
+name = "hyper-rustls"
+version = "0.24.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8d78e1e73ec14cf7375674f74d7dde185c8206fd9dea6fb6295e8a98098aaa97"
+dependencies = [
+ "futures-util",
+ "http",
+ "hyper",
+ "rustls",
+ "tokio",
+ "tokio-rustls",
+]
+
+[[package]]
 name = "hyper-tls"
 version = "0.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2076,9 +1496,9 @@ dependencies = [
 
 [[package]]
 name = "iana-time-zone"
-version = "0.1.56"
+version = "0.1.57"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0722cd7114b7de04316e7ea5456a0bbb20e4adb46fd27a3697adb812cff0f37c"
+checksum = "2fad5b825842d2b38bd206f3e81d6957625fd7f0a361e345c30e01a0ae2dd613"
 dependencies = [
  "android_system_properties",
  "core-foundation-sys",
@@ -2098,67 +1518,62 @@ dependencies = [
 ]
 
 [[package]]
-name = "ident_case"
-version = "1.0.1"
+name = "ico"
+version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39"
+checksum = "e3804960be0bb5e4edb1e1ad67afd321a9ecfd875c3e65c099468fd2717d7cae"
+dependencies = [
+ "byteorder",
+ "png",
+]
 
 [[package]]
-name = "idlset"
-version = "0.2.4"
+name = "ident_case"
+version = "1.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "340756d15be4b22d5e501bad90a9f68fcdc6b9b7d2f6d6afe350645e9839dac6"
-dependencies = [
- "serde",
- "serde_derive",
- "smallvec",
-]
+checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39"
 
 [[package]]
 name = "idna"
-version = "0.2.3"
+version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8"
+checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c"
 dependencies = [
- "matches",
  "unicode-bidi",
  "unicode-normalization",
 ]
 
 [[package]]
-name = "idna"
-version = "0.3.0"
+name = "ignore"
+version = "0.4.20"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6"
+checksum = "dbe7873dab538a9a44ad79ede1faf5f30d49f9a5c883ddbab48bce81b64b7492"
 dependencies = [
- "unicode-bidi",
- "unicode-normalization",
+ "globset",
+ "lazy_static",
+ "log",
+ "memchr",
+ "regex",
+ "same-file",
+ "thread_local",
+ "walkdir",
+ "winapi-util",
 ]
 
 [[package]]
 name = "image"
-version = "0.23.14"
+version = "0.24.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "24ffcb7e7244a9bf19d35bf2883b9c080c4ced3c07a9895572178cdb8f13f6a1"
+checksum = "527909aa81e20ac3a44803521443a765550f09b5130c2c2fa1ea59c2f8f50a3a"
 dependencies = [
  "bytemuck",
  "byteorder",
  "color_quant",
- "num-iter",
  "num-rational",
  "num-traits",
 ]
 
 [[package]]
-name = "implicit-clone"
-version = "0.3.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "40fc102e70475c320b185cd18c1e48bba2d7210b63970a4d581ef903e4368ef7"
-dependencies = [
- "indexmap",
-]
-
-[[package]]
 name = "indexmap"
 version = "1.9.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2166,533 +1581,250 @@ checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99"
 dependencies = [
  "autocfg",
  "hashbrown 0.12.3",
+ "serde",
 ]
 
 [[package]]
-name = "infer"
-version = "0.2.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "64e9829a50b42bb782c1df523f78d332fe371b10c661e78b7a3c34b0198e9fac"
-
-[[package]]
-name = "instant"
-version = "0.1.12"
+name = "indexmap"
+version = "2.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c"
+checksum = "d5477fe2230a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d"
 dependencies = [
- "cfg-if 1.0.0",
+ "equivalent",
+ "hashbrown 0.14.0",
 ]
 
 [[package]]
-name = "io-lifetimes"
-version = "1.0.11"
+name = "indicatif"
+version = "0.17.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2"
+checksum = "8ff8cc23a7393a397ed1d7f56e6365cba772aba9f9912ab968b03043c395d057"
 dependencies = [
- "hermit-abi 0.3.1",
- "libc",
- "windows-sys 0.48.0",
+ "console",
+ "instant",
+ "number_prefix",
+ "portable-atomic",
+ "unicode-segmentation",
+ "unicode-width",
 ]
 
 [[package]]
-name = "ipnet"
-version = "2.7.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "12b6ee2129af8d4fb011108c73d99a1b83a85977f23b82460c0ae2e25bb4b57f"
-
-[[package]]
-name = "itertools"
-version = "0.10.5"
+name = "infer"
+version = "0.12.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473"
+checksum = "a898e4b7951673fce96614ce5751d13c40fc5674bc2d759288e46c3ab62598b3"
 dependencies = [
- "either",
+ "cfb",
 ]
 
 [[package]]
-name = "itoa"
-version = "1.0.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6"
-
-[[package]]
-name = "jobserver"
-version = "0.1.26"
+name = "inotify"
+version = "0.9.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "936cfd212a0155903bcbc060e316fb6cc7cbf2e1907329391ebadc1fe0ce77c2"
+checksum = "f8069d3ec154eb856955c1c0fbffefbf5f3c40a104ec912d4797314c1801abff"
 dependencies = [
+ "bitflags 1.3.2",
+ "inotify-sys",
  "libc",
 ]
 
 [[package]]
-name = "js-sys"
-version = "0.3.63"
+name = "inotify-sys"
+version = "0.1.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2f37a4a5928311ac501dee68b3c7613a1037d0edb30c8e5427bd832d55d1b790"
+checksum = "e05c02b5e89bff3b946cedeca278abc628fe811e604f027c45a8aa3cf793d0eb"
 dependencies = [
- "wasm-bindgen",
-]
-
-[[package]]
-name = "kanidm-ipa-sync"
-version = "1.1.0-alpha.12"
-dependencies = [
- "base64urlsafedata",
- "chrono",
- "clap",
- "clap_complete",
- "cron",
- "kanidm_client",
- "kanidm_proto",
- "kanidmd_lib",
- "ldap3_client",
- "serde",
- "serde_json",
- "tokio",
- "toml",
- "tracing",
- "tracing-subscriber",
- "url",
- "users",
- "uuid",
-]
-
-[[package]]
-name = "kanidm_client"
-version = "1.1.0-alpha.12"
-dependencies = [
- "kanidm_proto",
- "reqwest",
- "serde",
- "serde_json",
- "time 0.2.27",
- "tokio",
- "toml",
- "tracing",
- "url",
- "uuid",
- "webauthn-rs-proto",
-]
-
-[[package]]
-name = "kanidm_lib_crypto"
-version = "0.1.0"
-dependencies = [
- "base64 0.21.1",
- "base64urlsafedata",
- "hex",
- "kanidm_proto",
- "openssl",
- "openssl-sys",
- "rand 0.8.5",
- "serde",
- "sketching",
- "tracing",
-]
-
-[[package]]
-name = "kanidm_lib_file_permissions"
-version = "0.1.0"
-dependencies = [
- "users",
- "whoami",
-]
-
-[[package]]
-name = "kanidm_proto"
-version = "1.1.0-alpha.12"
-dependencies = [
- "base32",
- "base64urlsafedata",
- "last-git-commit",
- "num_enum",
- "scim_proto",
- "serde",
- "serde_json",
- "time 0.2.27",
- "tracing",
- "url",
- "urlencoding",
- "uuid",
- "webauthn-rs-proto",
-]
-
-[[package]]
-name = "kanidm_tools"
-version = "1.1.0-alpha.12"
-dependencies = [
- "clap",
- "clap_complete",
- "compact_jwt",
- "dialoguer",
- "futures-concurrency",
- "kanidm_client",
- "kanidm_proto",
  "libc",
- "qrcode",
- "rpassword 7.2.0",
- "serde",
- "serde_json",
- "shellexpand",
- "time 0.2.27",
- "tokio",
- "tracing",
- "tracing-subscriber",
- "url",
- "uuid",
- "webauthn-authenticator-rs",
- "zxcvbn",
 ]
 
 [[package]]
-name = "kanidm_unix_int"
-version = "1.1.0-alpha.12"
+name = "instant"
+version = "0.1.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c"
 dependencies = [
- "bytes",
- "clap",
- "clap_complete",
- "futures",
- "kanidm_client",
- "kanidm_lib_crypto",
- "kanidm_lib_file_permissions",
- "kanidm_proto",
- "kanidmd_core",
- "libc",
- "libsqlite3-sys",
- "lru 0.8.1",
- "profiles",
- "r2d2",
- "r2d2_sqlite",
- "reqwest",
- "rpassword 7.2.0",
- "rusqlite",
- "serde",
- "serde_json",
- "sketching",
- "tokio",
- "tokio-util",
- "toml",
- "tracing",
- "users",
- "walkdir",
+ "cfg-if",
 ]
 
 [[package]]
-name = "kanidmd_core"
-version = "1.1.0-alpha.12"
+name = "interprocess"
+version = "1.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "81f2533f3be42fffe3b5e63b71aeca416c1c3bc33e4e27be018521e76b1f38fb"
 dependencies = [
- "async-trait",
- "chrono",
- "compact_jwt",
- "cron",
- "futures-util",
- "http-types",
- "kanidm_proto",
- "kanidmd_lib",
- "ldap3_proto",
+ "cfg-if",
  "libc",
- "openssl",
- "profiles",
- "rand 0.8.5",
- "regex",
- "serde",
- "serde_json",
- "sketching",
- "tide",
- "tide-compress",
- "tide-openssl",
- "time 0.2.27",
- "tokio",
- "tokio-openssl",
- "tokio-util",
- "toml",
- "tracing",
- "uuid",
-]
-
-[[package]]
-name = "kanidmd_lib"
-version = "1.1.0-alpha.12"
-dependencies = [
- "async-trait",
- "base64 0.21.1",
- "base64urlsafedata",
- "compact_jwt",
- "concread",
- "criterion",
- "dyn-clone",
- "fernet",
- "filetime",
- "futures",
- "futures-util",
- "hashbrown 0.12.3",
- "idlset",
- "kanidm_lib_crypto",
- "kanidm_proto",
- "kanidmd_lib_macros",
- "lazy_static",
- "ldap3_proto",
- "libc",
- "libsqlite3-sys",
- "nonempty",
- "num_enum",
- "openssl",
- "openssl-sys",
- "profiles",
- "r2d2",
- "r2d2_sqlite",
- "rand 0.8.5",
- "regex",
- "rusqlite",
- "serde",
- "serde_cbor_2",
- "serde_json",
- "sketching",
- "smartstring",
- "smolset",
- "sshkeys",
- "tide",
- "time 0.2.27",
- "tokio",
- "tokio-util",
- "toml",
- "touch",
- "tracing",
- "url",
- "urlencoding",
- "users",
- "uuid",
- "webauthn-authenticator-rs",
- "webauthn-rs",
- "webauthn-rs-core",
- "whoami",
- "zxcvbn",
-]
-
-[[package]]
-name = "kanidmd_lib_macros"
-version = "0.1.0"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.16",
-]
-
-[[package]]
-name = "kanidmd_testkit"
-version = "1.1.0-alpha.12"
-dependencies = [
- "compact_jwt",
- "futures",
- "kanidm_client",
- "kanidm_proto",
- "kanidmd_core",
- "kanidmd_lib",
- "oauth2",
- "profiles",
- "reqwest",
- "serde_json",
- "sketching",
- "testkit-macros",
- "time 0.2.27",
- "tokio",
- "tracing",
- "url",
- "webauthn-authenticator-rs",
+ "rustc_version",
+ "to_method",
+ "winapi",
 ]
 
 [[package]]
-name = "kanidmd_web_ui"
-version = "1.1.0-alpha.12"
-dependencies = [
- "compact_jwt",
- "gloo",
- "gloo-net",
- "js-sys",
- "kanidm_proto",
- "qrcode",
- "serde",
- "serde-wasm-bindgen",
- "serde_json",
- "time 0.2.27",
- "url",
- "uuid",
- "wasm-bindgen",
- "wasm-bindgen-futures",
- "wasm-bindgen-test",
- "web-sys",
- "yew",
- "yew-router",
-]
+name = "ipnet"
+version = "2.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "28b29a3cd74f0f4598934efe3aeba42bae0eb4680554128851ebbecb02af14e6"
 
 [[package]]
-name = "kv-log-macro"
-version = "1.0.7"
+name = "is-terminal"
+version = "0.4.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0de8b303297635ad57c9f5059fd9cee7a47f8e8daa09df0fcd07dd39fb22977f"
+checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b"
 dependencies = [
- "log",
+ "hermit-abi",
+ "rustix",
+ "windows-sys 0.48.0",
 ]
 
 [[package]]
-name = "last-git-commit"
-version = "0.2.0"
+name = "itoa"
+version = "0.4.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9f2e5243385b2ea0443d79fd6f5ea97b0509f2571e8f39e99d1ead2bcc1c89c0"
-dependencies = [
- "git2",
-]
+checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4"
 
 [[package]]
-name = "lazy_static"
-version = "1.4.0"
+name = "itoa"
+version = "1.0.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
+checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38"
 
 [[package]]
-name = "lber"
-version = "0.4.0"
+name = "javascriptcore-rs"
+version = "0.16.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b5d85f5e00e12cb50c70c3b1c1f0daff6546eb4c608b44d0a990e38a539e0446"
+checksum = "bf053e7843f2812ff03ef5afe34bb9c06ffee120385caad4f6b9967fcd37d41c"
 dependencies = [
- "bytes",
- "nom",
+ "bitflags 1.3.2",
+ "glib",
+ "javascriptcore-rs-sys",
 ]
 
 [[package]]
-name = "ldap3_client"
-version = "0.3.2"
+name = "javascriptcore-rs-sys"
+version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0236f3aac28f4f79929664cd635f310fa7469f17b67d45c85848a0f3ca516d53"
+checksum = "905fbb87419c5cde6e3269537e4ea7d46431f3008c5d057e915ef3f115e7793c"
 dependencies = [
- "base64 0.13.1",
- "base64urlsafedata",
- "futures-util",
- "ldap3_proto",
- "openssl",
- "serde",
- "tokio",
- "tokio-openssl",
- "tokio-util",
- "tracing",
- "url",
- "uuid",
+ "glib-sys",
+ "gobject-sys",
+ "libc",
+ "system-deps 5.0.0",
 ]
 
 [[package]]
-name = "ldap3_proto"
-version = "0.3.2"
+name = "jni"
+version = "0.20.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "57ea4b099d9f84c8424a56e9b361f5f9aeae9d87ca9bd683c54a6a27c8676597"
+checksum = "039022cdf4d7b1cf548d31f60ae783138e5fd42013f6271049d7df7afadef96c"
 dependencies = [
- "bytes",
- "lber",
- "nom",
- "peg",
- "tokio-util",
- "tracing",
- "uuid",
+ "cesu8",
+ "combine",
+ "jni-sys",
+ "log",
+ "thiserror",
+ "walkdir",
 ]
 
 [[package]]
-name = "libc"
-version = "0.2.144"
+name = "jni-sys"
+version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2b00cc1c228a6782d0f076e7b232802e0c5689d41bb5df366f2a6b6621cfdfe1"
+checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130"
 
 [[package]]
-name = "libgit2-sys"
-version = "0.12.26+1.3.0"
+name = "jobserver"
+version = "0.1.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "19e1c899248e606fbfe68dcb31d8b0176ebab833b103824af31bddf4b7457494"
+checksum = "936cfd212a0155903bcbc060e316fb6cc7cbf2e1907329391ebadc1fe0ce77c2"
 dependencies = [
- "cc",
  "libc",
- "libssh2-sys",
- "libz-sys",
- "openssl-sys",
- "pkg-config",
 ]
 
 [[package]]
-name = "libnss"
-version = "0.4.0"
+name = "js-sys"
+version = "0.3.64"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "48b67ef5ebef2a035ac8106c9b71176b6246be2a580ff4ee94bb80919e55b34c"
+checksum = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a"
 dependencies = [
- "lazy_static",
- "libc",
- "paste 0.1.18",
+ "wasm-bindgen",
 ]
 
 [[package]]
-name = "libsqlite3-sys"
-version = "0.25.2"
+name = "json-patch"
+version = "1.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "29f835d03d717946d28b1d1ed632eb6f0e24a299388ee623d0c23118d3e8a7fa"
+checksum = "1f54898088ccb91df1b492cc80029a6fdf1c48ca0db7c6822a8babad69c94658"
 dependencies = [
- "cc",
- "pkg-config",
- "vcpkg",
+ "serde",
+ "serde_json",
+ "thiserror",
+ "treediff",
 ]
 
 [[package]]
-name = "libssh2-sys"
-version = "0.2.23"
+name = "kqueue"
+version = "1.0.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b094a36eb4b8b8c8a7b4b8ae43b2944502be3e59cd87687595cf6b0a71b3f4ca"
+checksum = "2c8fc60ba15bf51257aa9807a48a61013db043fcf3a78cb0d916e8e396dcad98"
 dependencies = [
- "cc",
+ "kqueue-sys",
  "libc",
- "libz-sys",
- "openssl-sys",
- "pkg-config",
- "vcpkg",
 ]
 
 [[package]]
-name = "libudev"
-version = "0.2.0"
+name = "kqueue-sys"
+version = "1.0.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ea626d3bdf40a1c5aee3bcd4f40826970cae8d80a8fec934c82a63840094dcfe"
+checksum = "8367585489f01bc55dd27404dcf56b95e6da061a256a666ab23be9ba96a2e587"
 dependencies = [
+ "bitflags 1.3.2",
  "libc",
- "libudev-sys",
 ]
 
 [[package]]
-name = "libudev-sys"
-version = "0.1.4"
+name = "kuchiki"
+version = "0.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c8469b4a23b962c1396b9b451dda50ef5b283e8dd309d69033475fa9b334324"
+checksum = "1ea8e9c6e031377cff82ee3001dc8026cdf431ed4e2e6b51f98ab8c73484a358"
 dependencies = [
- "libc",
- "pkg-config",
+ "cssparser",
+ "html5ever",
+ "matches",
+ "selectors",
 ]
 
 [[package]]
-name = "libz-sys"
-version = "1.1.9"
+name = "lazy_static"
+version = "1.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "56ee889ecc9568871456d42f603d6a0ce59ff328d291063a45cbdf0036baf6db"
+checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
+
+[[package]]
+name = "libc"
+version = "0.2.147"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3"
+
+[[package]]
+name = "line-wrap"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f30344350a2a51da54c1d53be93fade8a237e545dbcc4bdbe635413f2117cab9"
 dependencies = [
- "cc",
- "libc",
- "pkg-config",
- "vcpkg",
+ "safemem",
 ]
 
 [[package]]
 name = "linux-raw-sys"
-version = "0.3.8"
+version = "0.4.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519"
+checksum = "09fc20d2ca12cb9f044c93e3bd6d32d523e6e2ec3db4f7b2939cd99026ecd3f0"
 
 [[package]]
 name = "lock_api"
-version = "0.4.9"
+version = "0.4.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df"
+checksum = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16"
 dependencies = [
  "autocfg",
  "scopeguard",
@@ -2700,31 +1832,55 @@ dependencies = [
 
 [[package]]
 name = "log"
-version = "0.4.17"
+version = "0.4.19"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e"
+checksum = "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4"
 dependencies = [
- "cfg-if 1.0.0",
  "serde",
- "value-bag",
 ]
 
 [[package]]
-name = "lru"
-version = "0.7.8"
+name = "loom"
+version = "0.5.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e999beba7b6e8345721bd280141ed958096a2e4abdf74f67ff4ce49b4b54e47a"
+checksum = "ff50ecb28bb86013e935fb6683ab1f6d3a20016f123c76fd4c27470076ac30f5"
 dependencies = [
- "hashbrown 0.12.3",
+ "cfg-if",
+ "generator",
+ "scoped-tls",
+ "serde",
+ "serde_json",
+ "tracing",
+ "tracing-subscriber",
 ]
 
 [[package]]
-name = "lru"
-version = "0.8.1"
+name = "mac"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c41e0c4fef86961ac6d6f8a82609f55f31b05e4fce149ac5710e439df7619ba4"
+
+[[package]]
+name = "malloc_buf"
+version = "0.0.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b6e8aaa3f231bb4bd57b84b2d5dc3ae7f350265df8aa96492e0bc394a1571909"
+checksum = "62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb"
 dependencies = [
- "hashbrown 0.12.3",
+ "libc",
+]
+
+[[package]]
+name = "markup5ever"
+version = "0.10.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a24f40fb03852d1cdd84330cddcaf98e9ec08a7b7768e952fad3b4cf048ec8fd"
+dependencies = [
+ "log",
+ "phf 0.8.0",
+ "phf_codegen",
+ "string_cache",
+ "string_cache_codegen",
+ "tendril",
 ]
 
 [[package]]
@@ -2733,7 +1889,7 @@ version = "0.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558"
 dependencies = [
- "regex-automata",
+ "regex-automata 0.1.10",
 ]
 
 [[package]]
@@ -2743,15 +1899,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5"
 
 [[package]]
-name = "mathru"
-version = "0.13.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9a42bf938e4c9a6ad581cf528d5606eb50c5458ac759ca23719291e2f6499bec"
-dependencies = [
- "rand 0.8.5",
-]
-
-[[package]]
 name = "memchr"
 version = "2.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2759,18 +1906,9 @@ checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
 
 [[package]]
 name = "memoffset"
-version = "0.6.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce"
-dependencies = [
- "autocfg",
-]
-
-[[package]]
-name = "memoffset"
-version = "0.8.0"
+version = "0.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d61c719bcfbcf5d62b3a09efa6088de8c54bc0bfcd3ea7ae39fcc186108b8de1"
+checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c"
 dependencies = [
  "autocfg",
 ]
@@ -2782,10 +1920,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a"
 
 [[package]]
-name = "minimal-lexical"
+name = "minisign-verify"
 version = "0.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
+checksum = "933dca44d65cdd53b355d0b73d380a2ff5da71f87f036053188bf1eab6a19881"
 
 [[package]]
 name = "miniz_oxide"
@@ -2794,18 +1932,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7"
 dependencies = [
  "adler",
+ "simd-adler32",
 ]
 
 [[package]]
 name = "mio"
-version = "0.8.6"
+version = "0.8.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5b9d9a46eff5b4ff64b45a9e316a6d1e0bc719ef429cbec4dc630684212bfdf9"
+checksum = "927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2"
 dependencies = [
  "libc",
  "log",
  "wasi 0.11.0+wasi-snapshot-preview1",
- "windows-sys 0.45.0",
+ "windows-sys 0.48.0",
 ]
 
 [[package]]
@@ -2827,33 +1966,68 @@ dependencies = [
 ]
 
 [[package]]
-name = "nom"
-version = "7.1.3"
+name = "ndk"
+version = "0.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a"
+checksum = "2032c77e030ddee34a6787a64166008da93f6a352b629261d0fee232b8742dd4"
 dependencies = [
- "memchr",
- "minimal-lexical",
+ "bitflags 1.3.2",
+ "jni-sys",
+ "ndk-sys",
+ "num_enum",
+ "thiserror",
 ]
 
 [[package]]
-name = "nonempty"
-version = "0.8.1"
+name = "ndk-context"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b"
+
+[[package]]
+name = "ndk-sys"
+version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aeaf4ad7403de93e699c191202f017118df734d3850b01e13a3a8b2e6953d3c9"
+checksum = "6e5a6ae77c8ee183dcbbba6150e2e6b9f3f4196a7666c02a715a95692ec1fa97"
 dependencies = [
- "serde",
+ "jni-sys",
 ]
 
 [[package]]
-name = "nss_kanidm"
-version = "1.1.0-alpha.12"
+name = "new_debug_unreachable"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e4a24736216ec316047a1fc4252e27dabb04218aa4a3f37c6e7ddbf1f9782b54"
+
+[[package]]
+name = "nodrop"
+version = "0.1.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb"
+
+[[package]]
+name = "normpath"
+version = "1.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ec60c60a693226186f5d6edf073232bfb6464ed97eb22cf3b01c1e8198fd97f5"
 dependencies = [
- "kanidm_unix_int",
- "lazy_static",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "notify"
+version = "6.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5738a2795d57ea20abec2d6d76c6081186709c0024187cd5977265eda6598b51"
+dependencies = [
+ "bitflags 1.3.2",
+ "filetime",
+ "inotify",
+ "kqueue",
  "libc",
- "libnss",
- "paste 1.0.12",
+ "mio",
+ "walkdir",
+ "windows-sys 0.45.0",
 ]
 
 [[package]]
@@ -2867,17 +2041,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "num-bigint"
-version = "0.4.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f93ab6289c7b344a8a9f60f88d80aa20032336fe78da341afc91c8a2341fc75f"
-dependencies = [
- "autocfg",
- "num-integer",
- "num-traits",
-]
-
-[[package]]
 name = "num-integer"
 version = "0.1.45"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2888,21 +2051,10 @@ dependencies = [
 ]
 
 [[package]]
-name = "num-iter"
-version = "0.1.43"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7d03e6c028c5dc5cac6e2dec0efda81fc887605bb3d884578bb6d6bf7514e252"
-dependencies = [
- "autocfg",
- "num-integer",
- "num-traits",
-]
-
-[[package]]
 name = "num-rational"
-version = "0.3.2"
+version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "12ac428b1cb17fce6f731001d307d351ec70a6d202fc2e60f7d4c5e42d8f4f07"
+checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0"
 dependencies = [
  "autocfg",
  "num-integer",
@@ -2911,20 +2063,20 @@ dependencies = [
 
 [[package]]
 name = "num-traits"
-version = "0.2.15"
+version = "0.2.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd"
+checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2"
 dependencies = [
  "autocfg",
 ]
 
 [[package]]
 name = "num_cpus"
-version = "1.15.0"
+version = "1.16.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b"
+checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43"
 dependencies = [
- "hermit-abi 0.2.6",
+ "hermit-abi",
  "libc",
 ]
 
@@ -2950,65 +2102,116 @@ dependencies = [
 ]
 
 [[package]]
-name = "oauth2"
-version = "4.4.0"
+name = "number_prefix"
+version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "50df55a3cc0374df91ef8da8741542d9e0b9e6581481ed1cffe84f64d2f5fc3d"
+checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3"
+
+[[package]]
+name = "objc"
+version = "0.2.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1"
 dependencies = [
- "base64 0.13.1",
- "chrono",
- "getrandom 0.2.9",
- "http",
- "rand 0.8.5",
- "serde",
- "serde_json",
- "serde_path_to_error",
- "sha2 0.10.6",
- "thiserror",
- "url",
+ "malloc_buf",
+ "objc_exception",
 ]
 
 [[package]]
-name = "oid-registry"
-version = "0.4.0"
+name = "objc-foundation"
+version = "0.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "38e20717fa0541f39bd146692035c37bedfa532b3e5071b35761082407546b2a"
+checksum = "1add1b659e36c9607c7aab864a76c7a4c2760cd0cd2e120f3fb8b952c7e22bf9"
 dependencies = [
- "asn1-rs",
+ "block",
+ "objc",
+ "objc_id",
 ]
 
 [[package]]
-name = "once_cell"
-version = "1.17.1"
+name = "objc-sys"
+version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3"
+checksum = "99e1d07c6eab1ce8b6382b8e3c7246fe117ff3f8b34be065f5ebace6749fe845"
 
 [[package]]
-name = "oorandom"
-version = "11.1.3"
+name = "objc2"
+version = "0.3.0-beta.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575"
+checksum = "ef3a6024722b4230242a53e5b5759ce117548983696b8e4b7bc2fd1f8fce621e"
+dependencies = [
+ "objc-sys",
+ "objc2-encode",
+]
 
 [[package]]
-name = "opaque-debug"
-version = "0.2.3"
+name = "objc2-encode"
+version = "2.0.0-pre.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2839e79665f131bdb5782e51f2c6c9599c133c6098982a54c794358bf432529c"
+checksum = "8f8f7297b786454a87e392631e2b2754ed59a7b413effa8521225d93f46b2192"
 
 [[package]]
-name = "opaque-debug"
-version = "0.3.0"
+name = "objc_exception"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ad970fb455818ad6cba4c122ad012fae53ae8b4795f86378bce65e4f6bab2ca4"
+dependencies = [
+ "cc",
+]
+
+[[package]]
+name = "objc_id"
+version = "0.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5"
+checksum = "c92d4ddb4bd7b50d730c215ff871754d0da6b2178849f8a2a2ab69712d0c073b"
+dependencies = [
+ "objc",
+]
+
+[[package]]
+name = "object"
+version = "0.31.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8bda667d9f2b5051b8833f59f3bf748b28ef54f850f4fcb389a252aa383866d1"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "once_cell"
+version = "1.18.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
+
+[[package]]
+name = "open"
+version = "3.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2078c0039e6a54a0c42c28faa984e115fb4c2d5bf2208f77d1961002df8576f8"
+dependencies = [
+ "pathdiff",
+ "windows-sys 0.42.0",
+]
+
+[[package]]
+name = "opener"
+version = "0.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6c62dcb6174f9cb326eac248f07e955d5d559c272730b6c03e396b443b562788"
+dependencies = [
+ "bstr",
+ "normpath",
+ "winapi",
+]
 
 [[package]]
 name = "openssl"
-version = "0.10.52"
+version = "0.10.55"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "01b8574602df80f7b85fdfc5392fa884a4e3b3f4f35402c070ab34c3d3f78d56"
+checksum = "345df152bc43501c5eb9e4654ff05f794effb78d4efe3d53abc158baddc0703d"
 dependencies = [
- "bitflags",
- "cfg-if 1.0.0",
+ "bitflags 1.3.2",
+ "cfg-if",
  "foreign-types",
  "libc",
  "once_cell",
@@ -3024,7 +2227,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.16",
+ "syn 2.0.27",
 ]
 
 [[package]]
@@ -3035,9 +2238,9 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
 
 [[package]]
 name = "openssl-sys"
-version = "0.9.87"
+version = "0.9.90"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8e17f59264b2809d77ae94f0e1ebabc434773f370d6ca667bd223ea10e06cc7e"
+checksum = "374533b0e45f3a7ced10fcaeccca020e66656bc03dac384f852e4e5a7a8104a6"
 dependencies = [
  "cc",
  "libc",
@@ -3046,59 +2249,112 @@ dependencies = [
 ]
 
 [[package]]
-name = "orca"
-version = "1.1.0-alpha.12"
+name = "option-ext"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d"
+
+[[package]]
+name = "os_info"
+version = "3.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "006e42d5b888366f1880eda20371fedde764ed2213dc8496f49622fa0c99cd5e"
 dependencies = [
+ "log",
+ "serde",
+ "winapi",
+]
+
+[[package]]
+name = "overload"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39"
+
+[[package]]
+name = "owmods_cli"
+version = "0.10.0"
+dependencies = [
+ "anyhow",
  "clap",
- "crossbeam",
- "csv",
- "dialoguer",
- "futures-util",
- "kanidm_client",
- "kanidm_proto",
- "ldap3_proto",
- "mathru",
- "openssl",
- "profiles",
- "rand 0.8.5",
+ "clap_complete",
+ "clap_mangen",
+ "colored",
+ "indicatif",
+ "log",
+ "owmods_core",
+ "tokio",
+]
+
+[[package]]
+name = "owmods_core"
+version = "0.10.0"
+dependencies = [
+ "anyhow",
+ "directories",
+ "futures",
+ "glob",
+ "lazy_static",
+ "log",
+ "opener",
+ "reqwest",
  "serde",
  "serde_json",
- "tikv-jemallocator",
+ "serde_repr",
+ "tempfile",
  "tokio",
- "tokio-openssl",
- "tokio-util",
- "toml",
- "tracing",
- "tracing-subscriber",
+ "tokio-test",
+ "typeshare",
  "uuid",
+ "version-compare 0.1.1",
+ "zip",
 ]
 
 [[package]]
-name = "os_str_bytes"
-version = "6.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ceedf44fb00f2d1984b0bc98102627ce622e083e49a5bacdb3e514fa4238e267"
+name = "owmods_gui"
+version = "0.10.0"
+dependencies = [
+ "anyhow",
+ "log",
+ "notify",
+ "opener",
+ "owmods_core",
+ "regex",
+ "serde",
+ "serde_json",
+ "tauri",
+ "tauri-build",
+ "tauri-plugin-deep-link",
+ "tauri-plugin-window-state",
+ "time",
+ "tokio",
+ "typeshare",
+]
 
 [[package]]
-name = "overload"
-version = "0.1.1"
+name = "pango"
+version = "0.15.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39"
-
-[[package]]
-name = "pam_kanidm"
-version = "1.1.0-alpha.12"
+checksum = "22e4045548659aee5313bde6c582b0d83a627b7904dd20dc2d9ef0895d414e4f"
 dependencies = [
- "kanidm_unix_int",
+ "bitflags 1.3.2",
+ "glib",
  "libc",
- "pkg-config",
+ "once_cell",
+ "pango-sys",
 ]
 
 [[package]]
-name = "parking"
-version = "2.1.0"
+name = "pango-sys"
+version = "0.15.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "14f2252c834a40ed9bb5422029649578e63aa341ac401f74e719dd1afda8394e"
+checksum = "d2a00081cde4661982ed91d80ef437c20eacaf6aa1a5962c0279ae194662c3aa"
+dependencies = [
+ "glib-sys",
+ "gobject-sys",
+ "libc",
+ "system-deps 6.1.1",
+]
 
 [[package]]
 name = "parking_lot"
@@ -3112,123 +2368,138 @@ dependencies = [
 
 [[package]]
 name = "parking_lot_core"
-version = "0.9.7"
+version = "0.9.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9069cbb9f99e3a5083476ccb29ceb1de18b9118cafa53e90c9551235de2b9521"
+checksum = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447"
 dependencies = [
- "cfg-if 1.0.0",
+ "cfg-if",
  "libc",
- "redox_syscall 0.2.16",
+ "redox_syscall 0.3.5",
  "smallvec",
- "windows-sys 0.45.0",
+ "windows-targets 0.48.1",
 ]
 
 [[package]]
-name = "paste"
-version = "0.1.18"
+name = "pathdiff"
+version = "0.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "45ca20c77d80be666aef2b45486da86238fabe33e38306bd3118fe4af33fa880"
-dependencies = [
- "paste-impl",
- "proc-macro-hack",
-]
+checksum = "8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44dd"
 
 [[package]]
-name = "paste"
-version = "1.0.12"
+name = "percent-encoding"
+version = "2.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9f746c4065a8fa3fe23974dd82f15431cc8d40779821001404d10d2e79ca7d79"
+checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94"
 
 [[package]]
-name = "paste-impl"
-version = "0.1.18"
+name = "phf"
+version = "0.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d95a7db200b97ef370c8e6de0088252f7e0dfff7d047a28528e47456c0fc98b6"
+checksum = "3dfb61232e34fcb633f43d12c58f83c1df82962dcdfa565a4e866ffc17dafe12"
 dependencies = [
+ "phf_macros 0.8.0",
+ "phf_shared 0.8.0",
  "proc-macro-hack",
 ]
 
 [[package]]
-name = "peg"
-version = "0.8.1"
+name = "phf"
+version = "0.10.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a07f2cafdc3babeebc087e499118343442b742cc7c31b4d054682cc598508554"
+checksum = "fabbf1ead8a5bcbc20f5f8b939ee3f5b0f6f281b6ad3468b84656b658b455259"
 dependencies = [
- "peg-macros",
- "peg-runtime",
+ "phf_macros 0.10.0",
+ "phf_shared 0.10.0",
+ "proc-macro-hack",
 ]
 
 [[package]]
-name = "peg-macros"
-version = "0.8.1"
+name = "phf_codegen"
+version = "0.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4a90084dc05cf0428428e3d12399f39faad19b0909f64fb9170c9fdd6d9cd49b"
+checksum = "cbffee61585b0411840d3ece935cce9cb6321f01c45477d30066498cd5e1a815"
 dependencies = [
- "peg-runtime",
- "proc-macro2",
- "quote",
+ "phf_generator 0.8.0",
+ "phf_shared 0.8.0",
 ]
 
 [[package]]
-name = "peg-runtime"
-version = "0.8.1"
+name = "phf_generator"
+version = "0.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9fa00462b37ead6d11a82c9d568b26682d78e0477dc02d1966c013af80969739"
+checksum = "17367f0cc86f2d25802b2c26ee58a7b23faeccf78a396094c13dced0d0182526"
+dependencies = [
+ "phf_shared 0.8.0",
+ "rand 0.7.3",
+]
 
 [[package]]
-name = "percent-encoding"
-version = "2.2.0"
+name = "phf_generator"
+version = "0.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e"
+checksum = "5d5285893bb5eb82e6aaf5d59ee909a06a16737a8970984dd7746ba9283498d6"
+dependencies = [
+ "phf_shared 0.10.0",
+ "rand 0.8.5",
+]
 
 [[package]]
-name = "pin-project"
-version = "1.1.0"
+name = "phf_macros"
+version = "0.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c95a7476719eab1e366eaf73d0260af3021184f18177925b07f54b30089ceead"
+checksum = "7f6fde18ff429ffc8fe78e2bf7f8b7a5a5a6e2a8b58bc5a9ac69198bbda9189c"
 dependencies = [
- "pin-project-internal",
+ "phf_generator 0.8.0",
+ "phf_shared 0.8.0",
+ "proc-macro-hack",
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
 ]
 
 [[package]]
-name = "pin-project-internal"
-version = "1.1.0"
+name = "phf_macros"
+version = "0.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "39407670928234ebc5e6e580247dd567ad73a3578460c5990f9503df207e8f07"
+checksum = "58fdf3184dd560f160dd73922bea2d5cd6e8f064bf4b13110abd81b03697b4e0"
 dependencies = [
+ "phf_generator 0.10.0",
+ "phf_shared 0.10.0",
+ "proc-macro-hack",
  "proc-macro2",
  "quote",
- "syn 2.0.16",
+ "syn 1.0.109",
 ]
 
 [[package]]
-name = "pin-project-lite"
-version = "0.1.12"
+name = "phf_shared"
+version = "0.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "257b64915a082f7811703966789728173279bdebb956b143dbcd23f6f970a777"
+checksum = "c00cf8b9eafe68dde5e9eaa2cef8ee84a9336a47d566ec55ca16589633b65af7"
+dependencies = [
+ "siphasher",
+]
 
 [[package]]
-name = "pin-project-lite"
-version = "0.2.9"
+name = "phf_shared"
+version = "0.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116"
+checksum = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096"
+dependencies = [
+ "siphasher",
+]
 
 [[package]]
-name = "pin-utils"
-version = "0.1.0"
+name = "pin-project-lite"
+version = "0.2.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
+checksum = "4c40d25201921e5ff0c862a505c6557ea88568a4e3ace775ab55e93f2f4f9d57"
 
 [[package]]
-name = "pinned"
+name = "pin-utils"
 version = "0.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a829027bd95e54cfe13e3e258a1ae7b645960553fb82b75ff852c29688ee595b"
-dependencies = [
- "futures",
- "rustversion",
- "thiserror",
-]
+checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
 
 [[package]]
 name = "pkg-config"
@@ -3237,59 +2508,37 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964"
 
 [[package]]
-name = "plotters"
-version = "0.3.4"
+name = "plist"
+version = "1.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2538b639e642295546c50fcd545198c9d64ee2a38620a628724a3b266d5fbf97"
+checksum = "bdc0001cfea3db57a2e24bc0d818e9e20e554b5f97fabb9bc231dc240269ae06"
 dependencies = [
- "num-traits",
- "plotters-backend",
- "plotters-svg",
- "wasm-bindgen",
- "web-sys",
-]
-
-[[package]]
-name = "plotters-backend"
-version = "0.3.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "193228616381fecdc1224c62e96946dfbc73ff4384fba576e052ff8c1bea8142"
-
-[[package]]
-name = "plotters-svg"
-version = "0.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f9a81d2759aae1dae668f783c308bc5c8ebd191ff4184aaa1b37f65a6ae5a56f"
-dependencies = [
- "plotters-backend",
+ "base64 0.21.2",
+ "indexmap 1.9.3",
+ "line-wrap",
+ "quick-xml",
+ "serde",
+ "time",
 ]
 
 [[package]]
-name = "polling"
-version = "2.8.0"
+name = "png"
+version = "0.17.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4b2d323e8ca7996b3e23126511a523f7e62924d93ecd5ae73b333815b0eb3dce"
+checksum = "59871cc5b6cce7eaccca5a802b4173377a1c2ba90654246789a8fa2334426d11"
 dependencies = [
- "autocfg",
- "bitflags",
- "cfg-if 1.0.0",
- "concurrent-queue",
- "libc",
- "log",
- "pin-project-lite 0.2.9",
- "windows-sys 0.48.0",
+ "bitflags 1.3.2",
+ "crc32fast",
+ "fdeflate",
+ "flate2",
+ "miniz_oxide",
 ]
 
 [[package]]
-name = "polyval"
-version = "0.4.5"
+name = "portable-atomic"
+version = "1.4.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eebcc4aa140b9abd2bc40d9c3f7ccec842679cd79045ac3a7ac698c1a064b7cd"
-dependencies = [
- "cpuid-bool",
- "opaque-debug 0.3.0",
- "universal-hash",
-]
+checksum = "f32154ba0af3a075eefa1eda8bb414ee928f62303a54ea85b8d6638ff1a6ee9e"
 
 [[package]]
 name = "ppv-lite86"
@@ -3298,14 +2547,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
 
 [[package]]
-name = "prettyplease"
-version = "0.1.25"
+name = "precomputed-hash"
+version = "0.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6c8646e95016a7a6c4adea95bafa8a16baab64b583356217f2c85db4a39d9a86"
-dependencies = [
- "proc-macro2",
- "syn 1.0.109",
-]
+checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c"
 
 [[package]]
 name = "proc-macro-crate"
@@ -3349,102 +2594,32 @@ checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068"
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.58"
+version = "1.0.66"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fa1fb82fc0c281dd9671101b66b771ebbe1eaf967b96ac8740dcba4b70005ca8"
+checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9"
 dependencies = [
  "unicode-ident",
 ]
 
 [[package]]
-name = "profiles"
-version = "1.1.0-alpha.12"
-dependencies = [
- "base64 0.21.1",
- "serde",
- "toml",
-]
-
-[[package]]
-name = "prokio"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "03b55e106e5791fa5a13abd13c85d6127312e8e09098059ca2bc9b03ca4cf488"
-dependencies = [
- "futures",
- "gloo",
- "num_cpus",
- "once_cell",
- "pin-project",
- "pinned",
- "tokio",
- "tokio-stream",
- "wasm-bindgen-futures",
-]
-
-[[package]]
-name = "psl-types"
-version = "2.0.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "33cb294fe86a74cbcf50d4445b37da762029549ebeea341421c7c70370f86cac"
-
-[[package]]
-name = "publicsuffix"
-version = "2.2.3"
+name = "quick-xml"
+version = "0.29.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "96a8c1bda5ae1af7f99a2962e49df150414a43d62404644d98dd5c3a93d07457"
+checksum = "81b9228215d82c7b61490fec1de287136b5de6f5700f6e58ea9ad61a7964ca51"
 dependencies = [
- "idna 0.3.0",
- "psl-types",
-]
-
-[[package]]
-name = "qrcode"
-version = "0.12.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "16d2f1455f3630c6e5107b4f2b94e74d76dea80736de0981fd27644216cff57f"
-dependencies = [
- "checked_int_cast",
- "image",
+ "memchr",
 ]
 
 [[package]]
-name = "quick-error"
-version = "2.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a993555f31e5a609f617c12db6250dedcac1b0a85076912c436e6fc9b2c8e6a3"
-
-[[package]]
 name = "quote"
-version = "1.0.27"
+version = "1.0.32"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f4f29d145265ec1c483c7c654450edde0bfe043d3938d6972630663356d9500"
+checksum = "50f3b39ccfb720540debaa0164757101c08ecb8d326b15358ce76a62c7e85965"
 dependencies = [
  "proc-macro2",
 ]
 
 [[package]]
-name = "r2d2"
-version = "0.8.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "51de85fb3fb6524929c8a2eb85e6b6d363de4e8c48f9e2c2eac4944abc181c93"
-dependencies = [
- "log",
- "parking_lot",
- "scheduled-thread-pool",
-]
-
-[[package]]
-name = "r2d2_sqlite"
-version = "0.21.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b4f5d0337e99cd5cacd91ffc326c6cc9d8078def459df560c4f9bf9ba4a51034"
-dependencies = [
- "r2d2",
- "rusqlite",
-]
-
-[[package]]
 name = "rand"
 version = "0.7.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3455,6 +2630,7 @@ dependencies = [
  "rand_chacha 0.2.2",
  "rand_core 0.5.1",
  "rand_hc",
+ "rand_pcg",
 ]
 
 [[package]]
@@ -3503,7 +2679,7 @@ version = "0.6.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
 dependencies = [
- "getrandom 0.2.9",
+ "getrandom 0.2.10",
 ]
 
 [[package]]
@@ -3516,26 +2692,19 @@ dependencies = [
 ]
 
 [[package]]
-name = "rayon"
-version = "1.7.0"
+name = "rand_pcg"
+version = "0.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1d2df5196e37bcc87abebc0053e20787d73847bb33134a69841207dd0a47f03b"
+checksum = "16abd0c1b639e9eb4d7c50c0b8100b0d0f849be2349829c740fe8e6eb4816429"
 dependencies = [
- "either",
- "rayon-core",
+ "rand_core 0.5.1",
 ]
 
 [[package]]
-name = "rayon-core"
-version = "1.11.0"
+name = "raw-window-handle"
+version = "0.5.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4b8f95bd6966f5c87776639160a66bd8ab9895d9d4ab01ddba9fc60661aebe8d"
-dependencies = [
- "crossbeam-channel",
- "crossbeam-deque",
- "crossbeam-utils",
- "num_cpus",
-]
+checksum = "f2ff9a1f06a88b01621b7ae906ef0211290d1c8a168a15542486a8f61c0833b9"
 
 [[package]]
 name = "redox_syscall"
@@ -3543,7 +2712,7 @@ version = "0.2.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
 ]
 
 [[package]]
@@ -3552,7 +2721,7 @@ version = "0.3.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
 ]
 
 [[package]]
@@ -3561,20 +2730,21 @@ version = "0.4.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b"
 dependencies = [
- "getrandom 0.2.9",
+ "getrandom 0.2.10",
  "redox_syscall 0.2.16",
  "thiserror",
 ]
 
 [[package]]
 name = "regex"
-version = "1.8.2"
+version = "1.9.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d1a59b5d8e97dee33696bf13c5ba8ab85341c002922fba050069326b9c498974"
+checksum = "b2eae68fc220f7cf2532e4494aded17545fce192d59cd996e0fe7887f4ceb575"
 dependencies = [
  "aho-corasick",
  "memchr",
- "regex-syntax 0.7.2",
+ "regex-automata 0.3.3",
+ "regex-syntax 0.7.4",
 ]
 
 [[package]]
@@ -3587,6 +2757,17 @@ dependencies = [
 ]
 
 [[package]]
+name = "regex-automata"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "39354c10dd07468c2e73926b23bb9c2caca74c5501e38a35da70406f1d923310"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-syntax 0.7.4",
+]
+
+[[package]]
 name = "regex-syntax"
 version = "0.6.29"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3594,9 +2775,9 @@ checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1"
 
 [[package]]
 name = "regex-syntax"
-version = "0.7.2"
+version = "0.7.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "436b050e76ed2903236f032a59761c1eb99e1b0aead2c257922771dab1fc8c78"
+checksum = "e5ea92a5b6195c6ef2a0295ea818b312502c6fc94dde986c5553242e18fd4ce2"
 
 [[package]]
 name = "reqwest"
@@ -3604,11 +2785,8 @@ version = "0.11.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "cde824a14b7c14f85caff81225f411faacc04a2013f41670f41443742b1c1c55"
 dependencies = [
- "async-compression 0.4.0",
- "base64 0.21.1",
+ "base64 0.21.2",
  "bytes",
- "cookie 0.16.2",
- "cookie_store",
  "encoding_rs",
  "futures-core",
  "futures-util",
@@ -3616,6 +2794,7 @@ dependencies = [
  "http",
  "http-body",
  "hyper",
+ "hyper-rustls",
  "hyper-tls",
  "ipnet",
  "js-sys",
@@ -3624,127 +2803,147 @@ dependencies = [
  "native-tls",
  "once_cell",
  "percent-encoding",
- "pin-project-lite 0.2.9",
+ "pin-project-lite",
+ "rustls",
+ "rustls-pemfile",
  "serde",
  "serde_json",
  "serde_urlencoded",
  "tokio",
  "tokio-native-tls",
+ "tokio-rustls",
  "tokio-util",
  "tower-service",
  "url",
  "wasm-bindgen",
  "wasm-bindgen-futures",
+ "wasm-streams",
  "web-sys",
- "winreg",
+ "webpki-roots",
+ "winreg 0.10.1",
 ]
 
 [[package]]
-name = "route-recognizer"
-version = "0.2.0"
+name = "rfd"
+version = "0.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "56770675ebc04927ded3e60633437841581c285dc6236109ea25fbf3beb7b59e"
+checksum = "0149778bd99b6959285b0933288206090c50e2327f47a9c463bfdbf45c8823ea"
+dependencies = [
+ "block",
+ "dispatch",
+ "glib-sys",
+ "gobject-sys",
+ "gtk-sys",
+ "js-sys",
+ "lazy_static",
+ "log",
+ "objc",
+ "objc-foundation",
+ "objc_id",
+ "raw-window-handle",
+ "wasm-bindgen",
+ "wasm-bindgen-futures",
+ "web-sys",
+ "windows 0.37.0",
+]
 
 [[package]]
-name = "route-recognizer"
-version = "0.3.1"
+name = "ring"
+version = "0.16.20"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "afab94fb28594581f62d981211a9a4d53cc8130bbcbbb89a0440d9b8e81a7746"
-
-[[package]]
-name = "rpassword"
-version = "5.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ffc936cf8a7ea60c58f030fd36a612a48f440610214dc54bc36431f9ea0c3efb"
+checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc"
 dependencies = [
+ "cc",
  "libc",
+ "once_cell",
+ "spin",
+ "untrusted",
+ "web-sys",
  "winapi",
 ]
 
 [[package]]
-name = "rpassword"
-version = "7.2.0"
+name = "roff"
+version = "0.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6678cf63ab3491898c0d021b493c94c9b221d91295294a2a5746eacbe5928322"
-dependencies = [
- "libc",
- "rtoolbox",
- "winapi",
-]
+checksum = "b833d8d034ea094b1ea68aa6d5c740e0d04bad9d16568d08ba6f76823a114316"
 
 [[package]]
-name = "rtoolbox"
-version = "0.0.1"
+name = "rustc-demangle"
+version = "0.1.23"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "034e22c514f5c0cb8a10ff341b9b048b5ceb21591f31c8f44c43b960f9b3524a"
-dependencies = [
- "libc",
- "winapi",
-]
+checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76"
 
 [[package]]
-name = "runloop"
-version = "0.1.0"
+name = "rustc_version"
+version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5d79b4b604167921892e84afbbaad9d5ad74e091bf6c511d9dbfb0593f09fabd"
+checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366"
+dependencies = [
+ "semver",
+]
 
 [[package]]
-name = "rusqlite"
-version = "0.28.0"
+name = "rustix"
+version = "0.38.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "01e213bc3ecb39ac32e81e51ebe31fd888a940515173e3a18a35f8c6e896422a"
+checksum = "0a962918ea88d644592894bc6dc55acc6c0956488adcebbfb6e273506b7fd6e5"
 dependencies = [
- "bitflags",
- "fallible-iterator",
- "fallible-streaming-iterator",
- "hashlink",
- "libsqlite3-sys",
- "smallvec",
+ "bitflags 2.3.3",
+ "errno",
+ "libc",
+ "linux-raw-sys",
+ "windows-sys 0.48.0",
 ]
 
 [[package]]
-name = "rustc_version"
-version = "0.2.3"
+name = "rustls"
+version = "0.21.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a"
+checksum = "79ea77c539259495ce8ca47f53e66ae0330a8819f67e23ac96ca02f50e7b7d36"
 dependencies = [
- "semver",
+ "log",
+ "ring",
+ "rustls-webpki",
+ "sct",
 ]
 
 [[package]]
-name = "rusticata-macros"
-version = "4.1.0"
+name = "rustls-pemfile"
+version = "1.0.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "faf0c4a6ece9950b9abdb62b1cfcf2a68b3b67a10ba445b3bb85be2a293d0632"
+checksum = "2d3987094b1d07b653b7dfdc3f70ce9a1da9c51ac18c1b06b662e4f9a0e9f4b2"
 dependencies = [
- "nom",
+ "base64 0.21.2",
 ]
 
 [[package]]
-name = "rustix"
-version = "0.37.19"
+name = "rustls-webpki"
+version = "0.101.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "acf8729d8542766f1b2cf77eb034d52f40d375bb8b615d0b147089946e16613d"
+checksum = "513722fd73ad80a71f72b61009ea1b584bcfa1483ca93949c8f290298837fa59"
 dependencies = [
- "bitflags",
- "errno",
- "io-lifetimes",
- "libc",
- "linux-raw-sys",
- "windows-sys 0.48.0",
+ "ring",
+ "untrusted",
 ]
 
 [[package]]
 name = "rustversion"
-version = "1.0.12"
+version = "1.0.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4f3208ce4d8448b3f3e7d168a73f5e0c43a61e32930de3bceeccedb388b6bf06"
+checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4"
 
 [[package]]
 name = "ryu"
-version = "1.0.13"
+version = "1.0.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f91339c0467de62360649f8d3e185ca8de4224ff281f66000de5eb2a77a79041"
+checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741"
+
+[[package]]
+name = "safemem"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ef703b7cb59335eae2eb93ceb664c0eb7ea6bf567079d843e09420219668e072"
 
 [[package]]
 name = "same-file"
@@ -3757,37 +2956,11 @@ dependencies = [
 
 [[package]]
 name = "schannel"
-version = "0.1.21"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "713cfb06c7059f3588fb8044c0fad1d09e3c01d225e25b9220dbfdcf16dbb1b3"
-dependencies = [
- "windows-sys 0.42.0",
-]
-
-[[package]]
-name = "scheduled-thread-pool"
-version = "0.2.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3cbc66816425a074528352f5789333ecff06ca41b36b0b0efdfbb29edc391a19"
-dependencies = [
- "parking_lot",
-]
-
-[[package]]
-name = "scim_proto"
-version = "0.1.1"
+version = "0.1.22"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e5abc672c8241e5bd368c0a73bf24727e98b0000a8636a44b8eb42a1e22835ef"
+checksum = "0c3733bf4cf7ea0880754e19cb5a462007c4a8c1914bff372ccc95b464f1df88"
 dependencies = [
- "base64urlsafedata",
- "peg",
- "serde",
- "serde_json",
- "time 0.2.27",
- "tracing",
- "tracing-subscriber",
- "url",
- "uuid",
+ "windows-sys 0.48.0",
 ]
 
 [[package]]
@@ -3798,17 +2971,27 @@ checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294"
 
 [[package]]
 name = "scopeguard"
-version = "1.1.0"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
+
+[[package]]
+name = "sct"
+version = "0.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
+checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4"
+dependencies = [
+ "ring",
+ "untrusted",
+]
 
 [[package]]
 name = "security-framework"
-version = "2.9.1"
+version = "2.9.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1fc758eb7bffce5b308734e9b0c1468893cae9ff70ebf13e7090be8dcbcc83a8"
+checksum = "05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
  "core-foundation",
  "core-foundation-sys",
  "libc",
@@ -3817,190 +3000,175 @@ dependencies = [
 
 [[package]]
 name = "security-framework-sys"
-version = "2.9.0"
+version = "2.9.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f51d0c0d83bec45f16480d0ce0058397a69e48fcdc52d1dc8855fb68acbd31a7"
+checksum = "e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a"
 dependencies = [
  "core-foundation-sys",
  "libc",
 ]
 
 [[package]]
-name = "semver"
-version = "0.9.0"
+name = "selectors"
+version = "0.22.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403"
+checksum = "df320f1889ac4ba6bc0cdc9c9af7af4bd64bb927bccdf32d81140dc1f9be12fe"
 dependencies = [
- "semver-parser",
-]
-
-[[package]]
-name = "semver-parser"
-version = "0.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
-
-[[package]]
-name = "serde"
-version = "1.0.163"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2113ab51b87a539ae008b5c6c02dc020ffa39afd2d83cffcb3f4eb2722cebec2"
-dependencies = [
- "serde_derive",
+ "bitflags 1.3.2",
+ "cssparser",
+ "derive_more",
+ "fxhash",
+ "log",
+ "matches",
+ "phf 0.8.0",
+ "phf_codegen",
+ "precomputed-hash",
+ "servo_arc",
+ "smallvec",
+ "thin-slice",
 ]
 
 [[package]]
-name = "serde-wasm-bindgen"
-version = "0.4.5"
+name = "semver"
+version = "1.0.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e3b4c031cd0d9014307d82b8abf653c0290fbdaeb4c02d00c63cf52f728628bf"
+checksum = "b0293b4b29daaf487284529cc2f5675b8e57c61f70167ba415a463651fd6a918"
 dependencies = [
- "js-sys",
  "serde",
- "wasm-bindgen",
 ]
 
 [[package]]
-name = "serde_bytes"
-version = "0.11.9"
+name = "serde"
+version = "1.0.177"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "416bda436f9aab92e02c8e10d49a15ddd339cea90b6e340fe51ed97abb548294"
+checksum = "63ba2516aa6bf82e0b19ca8b50019d52df58455d3cf9bdaf6315225fdd0c560a"
 dependencies = [
- "serde",
+ "serde_derive",
 ]
 
 [[package]]
-name = "serde_cbor"
-version = "0.11.2"
+name = "serde_derive"
+version = "1.0.177"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2bef2ebfde456fb76bbcf9f59315333decc4fda0b2b44b420243c11e0f5ec1f5"
+checksum = "401797fe7833d72109fedec6bfcbe67c0eed9b99772f26eb8afd261f0abc6fd3"
 dependencies = [
- "half",
- "serde",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.27",
 ]
 
 [[package]]
-name = "serde_cbor_2"
-version = "0.12.0-dev"
+name = "serde_json"
+version = "1.0.104"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b46d75f449e01f1eddbe9b00f432d616fbbd899b809c837d0fbc380496a0dd55"
+checksum = "076066c5f1078eac5b722a31827a8832fe108bed65dfa75e233c89f8206e976c"
 dependencies = [
- "half",
+ "itoa 1.0.9",
+ "ryu",
  "serde",
 ]
 
 [[package]]
-name = "serde_derive"
-version = "1.0.163"
+name = "serde_repr"
+version = "0.1.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8c805777e3930c8883389c602315a24224bcc738b63905ef87cd1420353ea93e"
+checksum = "8725e1dfadb3a50f7e5ce0b1a540466f6ed3fe7a0fca2ac2b8b831d31316bd00"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.16",
+ "syn 2.0.27",
 ]
 
 [[package]]
-name = "serde_fmt"
-version = "1.0.3"
+name = "serde_spanned"
+version = "0.6.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e1d4ddca14104cd60529e8c7f7ba71a2c8acd8f7f5cfcdc2faf97eeb7c3010a4"
+checksum = "96426c9936fd7a0124915f9185ea1d20aa9445cc9821142f0a73bc9207a2e186"
 dependencies = [
  "serde",
 ]
 
 [[package]]
-name = "serde_json"
-version = "1.0.96"
+name = "serde_urlencoded"
+version = "0.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "057d394a50403bcac12672b2b18fb387ab6d289d957dab67dd201875391e52f1"
+checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd"
 dependencies = [
- "itoa",
+ "form_urlencoded",
+ "itoa 1.0.9",
  "ryu",
  "serde",
 ]
 
 [[package]]
-name = "serde_path_to_error"
-version = "0.1.11"
+name = "serde_with"
+version = "3.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f7f05c1d5476066defcdfacce1f52fc3cae3af1d3089727100c02ae92e5abbe0"
+checksum = "21e47d95bc83ed33b2ecf84f4187ad1ab9685d18ff28db000c99deac8ce180e3"
 dependencies = [
+ "base64 0.21.2",
+ "chrono",
+ "hex",
+ "indexmap 1.9.3",
  "serde",
+ "serde_json",
+ "serde_with_macros",
+ "time",
 ]
 
 [[package]]
-name = "serde_qs"
-version = "0.8.5"
+name = "serde_with_macros"
+version = "3.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c7715380eec75f029a4ef7de39a9200e0a63823176b759d055b613f5a87df6a6"
+checksum = "ea3cee93715c2e266b9338b7544da68a9f24e227722ba482bd1c024367c77c65"
 dependencies = [
- "percent-encoding",
- "serde",
- "thiserror",
+ "darling",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.27",
 ]
 
 [[package]]
-name = "serde_urlencoded"
-version = "0.7.1"
+name = "serialize-to-javascript"
+version = "0.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd"
+checksum = "c9823f2d3b6a81d98228151fdeaf848206a7855a7a042bbf9bf870449a66cafb"
 dependencies = [
- "form_urlencoded",
- "itoa",
- "ryu",
  "serde",
+ "serde_json",
+ "serialize-to-javascript-impl",
 ]
 
 [[package]]
-name = "sha1"
-version = "0.6.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c1da05c97445caa12d05e848c4a4fcbbea29e748ac28f7e80e9b010392063770"
-dependencies = [
- "sha1_smol",
-]
-
-[[package]]
-name = "sha1_smol"
-version = "1.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ae1a47186c03a32177042e55dbc5fd5aee900b8e0069a8d70fba96a9375cd012"
-
-[[package]]
-name = "sha2"
-version = "0.8.2"
+name = "serialize-to-javascript-impl"
+version = "0.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a256f46ea78a0c0d9ff00077504903ac881a1dafdc20da66545699e7776b3e69"
+checksum = "74064874e9f6a15f04c1f3cb627902d0e6b410abbf36668afa873c61889f1763"
 dependencies = [
- "block-buffer 0.7.3",
- "digest 0.8.1",
- "fake-simd",
- "opaque-debug 0.2.3",
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
 ]
 
 [[package]]
-name = "sha2"
-version = "0.9.9"
+name = "servo_arc"
+version = "0.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4d58a1e1bf39749807d89cf2d98ac2dfa0ff1cb3faa38fbb64dd88ac8013d800"
+checksum = "d98238b800e0d1576d8b6e3de32827c2d74bee68bb97748dcf5071fb53965432"
 dependencies = [
- "block-buffer 0.9.0",
- "cfg-if 1.0.0",
- "cpufeatures",
- "digest 0.9.0",
- "opaque-debug 0.3.0",
+ "nodrop",
+ "stable_deref_trait",
 ]
 
 [[package]]
 name = "sha2"
-version = "0.10.6"
+version = "0.10.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0"
+checksum = "479fb9d862239e610720565ca91403019f2f00410f1864c5aa7479b950a76ed8"
 dependencies = [
- "cfg-if 1.0.0",
+ "cfg-if",
  "cpufeatures",
- "digest 0.10.7",
+ "digest",
 ]
 
 [[package]]
@@ -4013,31 +3181,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "shell-words"
-version = "1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "24188a676b6ae68c3b2cb3a01be17fbf7240ce009799bb56d5b1409051e78fde"
-
-[[package]]
-name = "shellexpand"
-version = "2.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7ccc8076840c4da029af4f87e4e8daeb0fca6b87bbb02e10cb60b791450e11e4"
-dependencies = [
- "dirs",
-]
-
-[[package]]
-name = "signal-hook"
-version = "0.3.15"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "732768f1176d21d09e076c23a93123d40bba92d50c4058da34d45c8de8e682b9"
-dependencies = [
- "libc",
- "signal-hook-registry",
-]
-
-[[package]]
 name = "signal-hook-registry"
 version = "1.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4047,25 +3190,16 @@ dependencies = [
 ]
 
 [[package]]
-name = "simple-mutex"
-version = "1.1.5"
+name = "simd-adler32"
+version = "0.3.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "38aabbeafa6f6dead8cebf246fe9fae1f9215c8d29b3a69f93bd62a9e4a3dcd6"
-dependencies = [
- "event-listener",
-]
+checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe"
 
 [[package]]
-name = "sketching"
-version = "1.1.0-alpha.12"
-dependencies = [
- "async-trait",
- "num_enum",
- "tide",
- "tracing",
- "tracing-forest",
- "tracing-subscriber",
-]
+name = "siphasher"
+version = "0.3.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7bd3e3206899af3f8b12af284fafc038cc1dc2b41d1b89dd17297221c5d225de"
 
 [[package]]
 name = "slab"
@@ -4078,33 +3212,9 @@ dependencies = [
 
 [[package]]
 name = "smallvec"
-version = "1.10.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0"
-dependencies = [
- "serde",
-]
-
-[[package]]
-name = "smartstring"
-version = "1.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3fb72c633efbaa2dd666986505016c32c3044395ceaf881518399d2f4127ee29"
-dependencies = [
- "autocfg",
- "serde",
- "static_assertions",
- "version_check",
-]
-
-[[package]]
-name = "smolset"
-version = "1.3.1"
+version = "1.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a8d372e8fe15dc5229e7d6c65f5810849385e79e24f9d9d64263e132879c7be0"
-dependencies = [
- "smallvec",
-]
+checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9"
 
 [[package]]
 name = "socket2"
@@ -4117,108 +3227,87 @@ dependencies = [
 ]
 
 [[package]]
-name = "sptr"
-version = "0.3.2"
+name = "soup2"
+version = "0.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3b9b39299b249ad65f3b7e96443bad61c02ca5cd3589f46cb6d610a0fd6c0d6a"
+checksum = "b2b4d76501d8ba387cf0fefbe055c3e0a59891d09f0f995ae4e4b16f6b60f3c0"
+dependencies = [
+ "bitflags 1.3.2",
+ "gio",
+ "glib",
+ "libc",
+ "once_cell",
+ "soup2-sys",
+]
 
 [[package]]
-name = "sshkeys"
-version = "0.3.2"
+name = "soup2-sys"
+version = "0.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c926cb006a77964474a13a86aa0135ea82c9fd43e6793a1151cc54143db6637c"
+checksum = "009ef427103fcb17f802871647a7fa6c60cbb654b4c4e4c0ac60a31c5f6dc9cf"
 dependencies = [
- "base64 0.12.3",
- "byteorder",
- "sha2 0.8.2",
+ "bitflags 1.3.2",
+ "gio-sys",
+ "glib-sys",
+ "gobject-sys",
+ "libc",
+ "system-deps 5.0.0",
 ]
 
 [[package]]
-name = "standback"
-version = "0.2.17"
+name = "spin"
+version = "0.5.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e113fb6f3de07a243d434a56ec6f186dfd51cb08448239fe7bcae73f87ff28ff"
-dependencies = [
- "version_check",
-]
+checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d"
 
 [[package]]
-name = "static_assertions"
-version = "1.1.0"
+name = "stable_deref_trait"
+version = "1.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
+checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3"
 
 [[package]]
-name = "stdweb"
-version = "0.4.20"
+name = "state"
+version = "0.5.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d022496b16281348b52d0e30ae99e01a73d737b2f45d38fed4edf79f9325a1d5"
+checksum = "dbe866e1e51e8260c9eed836a042a5e7f6726bb2b411dffeaa712e19c388f23b"
 dependencies = [
- "discard",
- "rustc_version",
- "stdweb-derive",
- "stdweb-internal-macros",
- "stdweb-internal-runtime",
- "wasm-bindgen",
+ "loom",
 ]
 
 [[package]]
-name = "stdweb-derive"
-version = "0.5.3"
+name = "string_cache"
+version = "0.8.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c87a60a40fccc84bef0652345bbbbbe20a605bf5d0ce81719fc476f5c03b50ef"
+checksum = "f91138e76242f575eb1d3b38b4f1362f10d3a43f47d182a5b359af488a02293b"
 dependencies = [
- "proc-macro2",
- "quote",
+ "new_debug_unreachable",
+ "once_cell",
+ "parking_lot",
+ "phf_shared 0.10.0",
+ "precomputed-hash",
  "serde",
- "serde_derive",
- "syn 1.0.109",
 ]
 
 [[package]]
-name = "stdweb-internal-macros"
-version = "0.2.9"
+name = "string_cache_codegen"
+version = "0.5.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "58fa5ff6ad0d98d1ffa8cb115892b6e69d67799f6763e162a1c9db421dc22e11"
+checksum = "6bb30289b722be4ff74a408c3cc27edeaad656e06cb1fe8fa9231fa59c728988"
 dependencies = [
- "base-x",
+ "phf_generator 0.10.0",
+ "phf_shared 0.10.0",
  "proc-macro2",
  "quote",
- "serde",
- "serde_derive",
- "serde_json",
- "sha1",
- "syn 1.0.109",
 ]
 
 [[package]]
-name = "stdweb-internal-runtime"
-version = "0.1.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "213701ba3370744dcd1a12960caa4843b3d68b4d1c0a5d575e0d65b2ee9d16c0"
-
-[[package]]
 name = "strsim"
 version = "0.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
 
 [[package]]
-name = "subtle"
-version = "2.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601"
-
-[[package]]
-name = "sval"
-version = "1.0.0-alpha.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "45f6ee7c7b87caf59549e9fe45d6a69c75c8019e79e212a835c5da0e92f0ba08"
-dependencies = [
- "serde",
-]
-
-[[package]]
 name = "syn"
 version = "1.0.109"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4231,9 +3320,9 @@ dependencies = [
 
 [[package]]
 name = "syn"
-version = "2.0.16"
+version = "2.0.27"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a6f671d4b5ffdb8eadec19c0ae67fe2639df8684bd7bc4b83d986b8db549cf01"
+checksum = "b60f673f44a8255b9c8c657daf66a596d435f2da81a555b06dc644d080ba45e0"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -4241,241 +3330,427 @@ dependencies = [
 ]
 
 [[package]]
-name = "synstructure"
-version = "0.12.6"
+name = "sys-locale"
+version = "0.2.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f"
+checksum = "f8a11bd9c338fdba09f7881ab41551932ad42e405f61d01e8406baea71c07aee"
 dependencies = [
- "proc-macro2",
- "quote",
- "syn 1.0.109",
- "unicode-xid",
+ "js-sys",
+ "libc",
+ "wasm-bindgen",
+ "web-sys",
+ "windows-sys 0.45.0",
 ]
 
 [[package]]
-name = "tempfile"
-version = "3.5.0"
+name = "system-deps"
+version = "5.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b9fbec84f381d5795b08656e4912bec604d162bff9291d6189a78f4c8ab87998"
+checksum = "18db855554db7bd0e73e06cf7ba3df39f97812cb11d3f75e71c39bf45171797e"
 dependencies = [
- "cfg-if 1.0.0",
- "fastrand",
- "redox_syscall 0.3.5",
- "rustix",
- "windows-sys 0.45.0",
+ "cfg-expr 0.9.1",
+ "heck 0.3.3",
+ "pkg-config",
+ "toml 0.5.11",
+ "version-compare 0.0.11",
 ]
 
 [[package]]
-name = "termcolor"
-version = "1.2.0"
+name = "system-deps"
+version = "6.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6"
+checksum = "30c2de8a4d8f4b823d634affc9cd2a74ec98c53a756f317e529a48046cbf71f3"
 dependencies = [
- "winapi-util",
+ "cfg-expr 0.15.3",
+ "heck 0.4.1",
+ "pkg-config",
+ "toml 0.7.6",
+ "version-compare 0.1.1",
 ]
 
 [[package]]
-name = "testkit-macros"
-version = "0.1.0"
+name = "tao"
+version = "0.16.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6a6d198e01085564cea63e976ad1566c1ba2c2e4cc79578e35d9f05521505e31"
 dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.16",
+ "bitflags 1.3.2",
+ "cairo-rs",
+ "cc",
+ "cocoa",
+ "core-foundation",
+ "core-graphics",
+ "crossbeam-channel",
+ "dispatch",
+ "gdk",
+ "gdk-pixbuf",
+ "gdk-sys",
+ "gdkwayland-sys",
+ "gdkx11-sys",
+ "gio",
+ "glib",
+ "glib-sys",
+ "gtk",
+ "image",
+ "instant",
+ "jni",
+ "lazy_static",
+ "libc",
+ "log",
+ "ndk",
+ "ndk-context",
+ "ndk-sys",
+ "objc",
+ "once_cell",
+ "parking_lot",
+ "png",
+ "raw-window-handle",
+ "scopeguard",
+ "serde",
+ "tao-macros",
+ "unicode-segmentation",
+ "uuid",
+ "windows 0.39.0",
+ "windows-implement",
+ "x11-dl",
 ]
 
 [[package]]
-name = "textwrap"
-version = "0.16.0"
+name = "tao-macros"
+version = "0.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d"
+checksum = "3b27a4bcc5eb524658234589bdffc7e7bfb996dbae6ce9393bfd39cb4159b445"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
 
 [[package]]
-name = "thiserror"
-version = "1.0.40"
+name = "tar"
+version = "0.4.39"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac"
+checksum = "ec96d2ffad078296368d46ff1cb309be1c23c513b4ab0e22a45de0185275ac96"
 dependencies = [
- "thiserror-impl",
+ "filetime",
+ "libc",
+ "xattr",
 ]
 
 [[package]]
-name = "thiserror-impl"
-version = "1.0.40"
+name = "target-lexicon"
+version = "0.12.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.16",
-]
+checksum = "1d2faeef5759ab89935255b1a4cd98e0baf99d1085e37d36599c625dac49ae8e"
 
 [[package]]
-name = "thread_local"
-version = "1.1.7"
+name = "tauri"
+version = "1.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152"
+checksum = "7fbe522898e35407a8e60dc3870f7579fea2fc262a6a6072eccdd37ae1e1d91e"
 dependencies = [
- "cfg-if 1.0.0",
+ "anyhow",
+ "base64 0.21.2",
+ "bytes",
+ "cocoa",
+ "dirs-next",
+ "embed_plist",
+ "encoding_rs",
+ "flate2",
+ "futures-util",
+ "glib",
+ "glob",
+ "gtk",
+ "heck 0.4.1",
+ "http",
+ "ignore",
+ "minisign-verify",
+ "objc",
  "once_cell",
+ "open",
+ "os_info",
+ "percent-encoding",
+ "rand 0.8.5",
+ "raw-window-handle",
+ "regex",
+ "reqwest",
+ "rfd",
+ "semver",
+ "serde",
+ "serde_json",
+ "serde_repr",
+ "serialize-to-javascript",
+ "state",
+ "sys-locale",
+ "tar",
+ "tauri-macros",
+ "tauri-runtime",
+ "tauri-runtime-wry",
+ "tauri-utils",
+ "tempfile",
+ "thiserror",
+ "time",
+ "tokio",
+ "url",
+ "uuid",
+ "webkit2gtk",
+ "webview2-com",
+ "windows 0.39.0",
+ "zip",
 ]
 
 [[package]]
-name = "tide"
-version = "0.16.0"
+name = "tauri-build"
+version = "1.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c459573f0dd2cc734b539047f57489ea875af8ee950860ded20cf93a79a1dee0"
+checksum = "7d2edd6a259b5591c8efdeb9d5702cb53515b82a6affebd55c7fd6d3a27b7d1b"
 dependencies = [
- "async-h1",
- "async-session",
- "async-sse",
- "async-std",
- "async-trait",
- "femme",
- "futures-util",
- "http-client",
- "http-types",
- "kv-log-macro",
- "log",
- "pin-project-lite 0.2.9",
- "route-recognizer 0.2.0",
+ "anyhow",
+ "cargo_toml",
+ "heck 0.4.1",
+ "json-patch",
+ "semver",
  "serde",
  "serde_json",
+ "tauri-utils",
+ "tauri-winres",
 ]
 
 [[package]]
-name = "tide-compress"
-version = "0.10.6"
+name = "tauri-codegen"
+version = "1.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "92a55e754f247bb04c6ea1c2ec46f1a4e8a91dabca9dc7a38c67aa3a9df6b359"
+checksum = "54ad2d49fdeab4a08717f5b49a163bdc72efc3b1950b6758245fcde79b645e1a"
 dependencies = [
- "async-compression 0.3.15",
- "futures-lite",
- "http-types",
+ "base64 0.21.2",
+ "brotli",
+ "ico",
+ "json-patch",
+ "plist",
+ "png",
+ "proc-macro2",
+ "quote",
  "regex",
- "tide",
+ "semver",
+ "serde",
+ "serde_json",
+ "sha2",
+ "tauri-utils",
+ "thiserror",
+ "time",
+ "uuid",
+ "walkdir",
 ]
 
 [[package]]
-name = "tide-openssl"
-version = "0.1.1"
+name = "tauri-macros"
+version = "1.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5ca37203863763d3faf05b22d32a0c2da7a2d429b8fb22345e19e45ec2ad1071"
+checksum = "8eb12a2454e747896929338d93b0642144bb51e0dddbb36e579035731f0d76b7"
 dependencies = [
- "async-dup",
- "async-h1",
- "async-std",
- "async-std-openssl",
- "futures-util",
- "openssl",
- "openssl-sys",
- "tide",
+ "heck 0.4.1",
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+ "tauri-codegen",
+ "tauri-utils",
 ]
 
 [[package]]
-name = "tikv-jemalloc-sys"
-version = "0.5.3+5.3.0-patched"
+name = "tauri-plugin-deep-link"
+version = "0.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a678df20055b43e57ef8cddde41cdfda9a3c1a060b67f4c5836dfb1d78543ba8"
+checksum = "33a3ae55bcfe692e5361edc4708bd9f415270cc02e1cdba8ab7768566208b4e2"
 dependencies = [
- "cc",
- "libc",
+ "dirs",
+ "interprocess",
+ "log",
+ "objc2",
+ "once_cell",
+ "tauri-utils",
+ "windows-sys 0.48.0",
+ "winreg 0.50.0",
 ]
 
 [[package]]
-name = "tikv-jemallocator"
-version = "0.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "20612db8a13a6c06d57ec83953694185a367e16945f66565e8028d2c0bd76979"
+name = "tauri-plugin-window-state"
+version = "0.1.0"
+source = "git+https://github.com/tauri-apps/plugins-workspace?branch=dev#dce0f02bc571128308c30278cde3233f341e6a50"
 dependencies = [
- "libc",
- "tikv-jemalloc-sys",
+ "bincode",
+ "bitflags 2.3.3",
+ "log",
+ "serde",
+ "serde_json",
+ "tauri",
+ "thiserror",
 ]
 
 [[package]]
-name = "time"
-version = "0.1.45"
+name = "tauri-runtime"
+version = "0.14.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b797afad3f312d1c66a56d11d0316f916356d11bd158fbc6ca6389ff6bf805a"
+checksum = "108683199cb18f96d2d4134187bb789964143c845d2d154848dda209191fd769"
 dependencies = [
- "libc",
- "wasi 0.10.0+wasi-snapshot-preview1",
- "winapi",
+ "gtk",
+ "http",
+ "http-range",
+ "rand 0.8.5",
+ "raw-window-handle",
+ "serde",
+ "serde_json",
+ "tauri-utils",
+ "thiserror",
+ "url",
+ "uuid",
+ "webview2-com",
+ "windows 0.39.0",
 ]
 
 [[package]]
-name = "time"
-version = "0.2.27"
+name = "tauri-runtime-wry"
+version = "0.14.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4752a97f8eebd6854ff91f1c1824cd6160626ac4bd44287f7f4ea2035a02a242"
+checksum = "0b7aa256a1407a3a091b5d843eccc1a5042289baf0a43d1179d9f0fcfea37c1b"
 dependencies = [
- "const_fn",
- "libc",
- "serde",
- "standback",
- "stdweb",
- "time-macros 0.1.1",
- "version_check",
- "winapi",
+ "cocoa",
+ "gtk",
+ "percent-encoding",
+ "rand 0.8.5",
+ "raw-window-handle",
+ "tauri-runtime",
+ "tauri-utils",
+ "uuid",
+ "webkit2gtk",
+ "webview2-com",
+ "windows 0.39.0",
+ "wry",
 ]
 
 [[package]]
-name = "time"
-version = "0.3.21"
+name = "tauri-utils"
+version = "1.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f3403384eaacbca9923fa06940178ac13e4edb725486d70e8e15881d0c836cc"
+checksum = "03fc02bb6072bb397e1d473c6f76c953cda48b4a2d0cce605df284aa74a12e84"
 dependencies = [
- "itoa",
+ "brotli",
+ "ctor",
+ "dunce",
+ "glob",
+ "heck 0.4.1",
+ "html5ever",
+ "infer",
+ "json-patch",
+ "kuchiki",
+ "memchr",
+ "phf 0.10.1",
+ "proc-macro2",
+ "quote",
+ "semver",
  "serde",
- "time-core",
- "time-macros 0.2.9",
+ "serde_json",
+ "serde_with",
+ "thiserror",
+ "url",
+ "walkdir",
+ "windows 0.39.0",
 ]
 
 [[package]]
-name = "time-core"
+name = "tauri-winres"
 version = "0.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb"
+checksum = "5993dc129e544393574288923d1ec447c857f3f644187f4fbf7d9a875fbfc4fb"
+dependencies = [
+ "embed-resource",
+ "toml 0.7.6",
+]
 
 [[package]]
-name = "time-macros"
-version = "0.1.1"
+name = "tempfile"
+version = "3.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "957e9c6e26f12cb6d0dd7fc776bb67a706312e7299aed74c8dd5b17ebb27e2f1"
+checksum = "5486094ee78b2e5038a6382ed7645bc084dc2ec433426ca4c3cb61e2007b8998"
 dependencies = [
- "proc-macro-hack",
- "time-macros-impl",
+ "cfg-if",
+ "fastrand",
+ "redox_syscall 0.3.5",
+ "rustix",
+ "windows-sys 0.48.0",
 ]
 
 [[package]]
-name = "time-macros"
-version = "0.2.9"
+name = "tendril"
+version = "0.4.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "372950940a5f07bf38dbe211d7283c9e6d7327df53794992d293e534c733d09b"
+checksum = "d24a120c5fc464a3458240ee02c299ebcb9d67b5249c8848b09d639dca8d7bb0"
 dependencies = [
- "time-core",
+ "futf",
+ "mac",
+ "utf-8",
 ]
 
 [[package]]
-name = "time-macros-impl"
-version = "0.1.2"
+name = "thin-slice"
+version = "0.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fd3c141a1b43194f3f56a1411225df8646c55781d5f26db825b3d98507eb482f"
+checksum = "8eaa81235c7058867fa8c0e7314f33dcce9c215f535d1913822a2b3f5e289f3c"
+
+[[package]]
+name = "thiserror"
+version = "1.0.44"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "611040a08a0439f8248d1990b111c95baa9c704c805fa1f62104b39655fd7f90"
+dependencies = [
+ "thiserror-impl",
+]
+
+[[package]]
+name = "thiserror-impl"
+version = "1.0.44"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "090198534930841fab3a5d1bb637cde49e339654e606195f8d9c76eeb081dc96"
 dependencies = [
- "proc-macro-hack",
  "proc-macro2",
  "quote",
- "standback",
- "syn 1.0.109",
+ "syn 2.0.27",
 ]
 
 [[package]]
-name = "tinytemplate"
-version = "1.2.1"
+name = "thread_local"
+version = "1.1.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152"
+dependencies = [
+ "cfg-if",
+ "once_cell",
+]
+
+[[package]]
+name = "time"
+version = "0.3.23"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc"
+checksum = "59e399c068f43a5d116fedaf73b203fa4f9c519f17e2b34f63221d3792f81446"
 dependencies = [
+ "itoa 1.0.9",
  "serde",
- "serde_json",
+ "time-core",
+ "time-macros",
+]
+
+[[package]]
+name = "time-core"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb"
+
+[[package]]
+name = "time-macros"
+version = "0.2.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "96ba15a897f3c86766b757e5ac7221554c6750054d74d5b28844fce5fb36a6c4"
+dependencies = [
+ "time-core",
 ]
 
 [[package]]
@@ -4494,17 +3769,24 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
 
 [[package]]
+name = "to_method"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c7c4ceeeca15c8384bbc3e011dbd8fccb7f068a440b752b7d9b32ceb0ca0e2e8"
+
+[[package]]
 name = "tokio"
-version = "1.28.1"
+version = "1.29.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0aa32867d44e6f2ce3385e89dceb990188b8bb0fb25b0cf576647a6f98ac5105"
+checksum = "532826ff75199d5833b9d2c5fe410f29235e25704ee5f0ef599fb51c21f4a4da"
 dependencies = [
  "autocfg",
+ "backtrace",
  "bytes",
  "libc",
  "mio",
  "num_cpus",
- "pin-project-lite 0.2.9",
+ "pin-project-lite",
  "signal-hook-registry",
  "socket2",
  "tokio-macros",
@@ -4519,7 +3801,7 @@ checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.16",
+ "syn 2.0.27",
 ]
 
 [[package]]
@@ -4533,14 +3815,12 @@ dependencies = [
 ]
 
 [[package]]
-name = "tokio-openssl"
-version = "0.6.3"
+name = "tokio-rustls"
+version = "0.24.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c08f9ffb7809f1b20c1b398d92acf4cc719874b3b2b2d9ea2f09b4a80350878a"
+checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081"
 dependencies = [
- "futures-util",
- "openssl",
- "openssl-sys",
+ "rustls",
  "tokio",
 ]
 
@@ -4551,8 +3831,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "397c988d37662c7dda6d2208364a706264bf3d6138b11d436cbac0ad38832842"
 dependencies = [
  "futures-core",
- "pin-project-lite 0.2.9",
+ "pin-project-lite",
+ "tokio",
+]
+
+[[package]]
+name = "tokio-test"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "53474327ae5e166530d17f2d956afcb4f8a004de581b3cae10f12006bc8163e3"
+dependencies = [
+ "async-stream",
+ "bytes",
+ "futures-core",
  "tokio",
+ "tokio-stream",
 ]
 
 [[package]]
@@ -4564,7 +3857,7 @@ dependencies = [
  "bytes",
  "futures-core",
  "futures-sink",
- "pin-project-lite 0.2.9",
+ "pin-project-lite",
  "tokio",
  "tracing",
 ]
@@ -4579,29 +3872,37 @@ dependencies = [
 ]
 
 [[package]]
-name = "toml_datetime"
-version = "0.6.2"
+name = "toml"
+version = "0.7.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a76a9312f5ba4c2dec6b9161fdf25d87ad8a09256ccea5a556fef03c706a10f"
+checksum = "c17e963a819c331dcacd7ab957d80bc2b9a9c1e71c804826d2f283dd65306542"
+dependencies = [
+ "serde",
+ "serde_spanned",
+ "toml_datetime",
+ "toml_edit",
+]
 
 [[package]]
-name = "toml_edit"
-version = "0.19.10"
+name = "toml_datetime"
+version = "0.6.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2380d56e8670370eee6566b0bfd4265f65b3f432e8c6d85623f728d4fa31f739"
+checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b"
 dependencies = [
- "indexmap",
- "toml_datetime",
- "winnow",
+ "serde",
 ]
 
 [[package]]
-name = "touch"
-version = "0.0.1"
+name = "toml_edit"
+version = "0.19.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c0ff985ccaedc537018a1b6c7f377d25e16d08aa1fcc5f8f4fba984c7e69cf09"
+checksum = "f8123f27e969974a3dfba720fdb560be359f57b44302d280ba72e76a74480e8a"
 dependencies = [
- "log",
+ "indexmap 2.0.0",
+ "serde",
+ "serde_spanned",
+ "toml_datetime",
+ "winnow",
 ]
 
 [[package]]
@@ -4616,21 +3917,21 @@ version = "0.1.37"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8"
 dependencies = [
- "cfg-if 1.0.0",
- "pin-project-lite 0.2.9",
+ "cfg-if",
+ "pin-project-lite",
  "tracing-attributes",
  "tracing-core",
 ]
 
 [[package]]
 name = "tracing-attributes"
-version = "0.1.24"
+version = "0.1.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0f57e3ca2a01450b1a921183a9c9cbfda207fd822cef4ccb00a65402cbba7a74"
+checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.16",
+ "syn 2.0.27",
 ]
 
 [[package]]
@@ -4644,19 +3945,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "tracing-forest"
-version = "0.1.5"
-source = "git+https://github.com/QnnOkabayashi/tracing-forest.git?rev=77daf8c8abf010b87d45ece2bf656983c6f8cecb#77daf8c8abf010b87d45ece2bf656983c6f8cecb"
-dependencies = [
- "smallvec",
- "thiserror",
- "tokio",
- "tracing",
- "tracing-subscriber",
- "uuid",
-]
-
-[[package]]
 name = "tracing-log"
 version = "0.1.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4686,6 +3974,15 @@ dependencies = [
 ]
 
 [[package]]
+name = "treediff"
+version = "4.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "52984d277bdf2a751072b5df30ec0377febdb02f7696d64c2d7d54630bac4303"
+dependencies = [
+ "serde_json",
+]
+
+[[package]]
 name = "try-lock"
 version = "0.2.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4698,6 +3995,28 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba"
 
 [[package]]
+name = "typeshare"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f44d1a2f454cb35fbe05b218c410792697e76bd868f48d3a418f2cd1a7d527d6"
+dependencies = [
+ "chrono",
+ "serde",
+ "serde_json",
+ "typeshare-annotation",
+]
+
+[[package]]
+name = "typeshare-annotation"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fc670d0e358428857cc3b4bf504c691e572fccaec9542ff09212d3f13d74b7a9"
+dependencies = [
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
 name = "unicode-bidi"
 version = "0.3.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4705,9 +4024,9 @@ checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460"
 
 [[package]]
 name = "unicode-ident"
-version = "1.0.9"
+version = "1.0.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b15811caf2415fb889178633e7724bad2509101cde276048e013b9def5e51fa0"
+checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c"
 
 [[package]]
 name = "unicode-normalization"
@@ -4719,63 +4038,55 @@ dependencies = [
 ]
 
 [[package]]
-name = "unicode-width"
-version = "0.1.10"
+name = "unicode-segmentation"
+version = "1.10.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b"
+checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36"
 
 [[package]]
-name = "unicode-xid"
-version = "0.2.4"
+name = "unicode-width"
+version = "0.1.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c"
+checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b"
 
 [[package]]
-name = "universal-hash"
-version = "0.4.1"
+name = "untrusted"
+version = "0.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9f214e8f697e925001e66ec2c6e37a4ef93f0f78c2eed7814394e10c62025b05"
-dependencies = [
- "generic-array 0.14.7",
- "subtle",
-]
+checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a"
 
 [[package]]
 name = "url"
-version = "2.3.1"
+version = "2.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643"
+checksum = "50bff7831e19200a85b17131d085c25d7811bc4e186efdaf54bbd132994a88cb"
 dependencies = [
  "form_urlencoded",
- "idna 0.3.0",
+ "idna",
  "percent-encoding",
  "serde",
 ]
 
 [[package]]
-name = "urlencoding"
-version = "2.1.2"
+name = "utf-8"
+version = "0.7.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e8db7427f936968176eaa7cdf81b7f98b980b18495ec28f1b5791ac3bfe3eea9"
+checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9"
 
 [[package]]
-name = "users"
-version = "0.11.0"
+name = "utf8parse"
+version = "0.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "24cc0f6d6f267b73e5a2cadf007ba8f9bc39c6a6f9666f8cf25ea809a153b032"
-dependencies = [
- "libc",
- "log",
-]
+checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
 
 [[package]]
 name = "uuid"
-version = "1.3.3"
+version = "1.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "345444e32442451b267fc254ae85a209c64be56d2890e601a0c37ff0c3c5ecd2"
+checksum = "79daa5ed5740825c40b389c5e50312b9c86df53fccd33f281df655642b43869d"
 dependencies = [
- "getrandom 0.2.9",
- "serde",
+ "getrandom 0.2.10",
+ "rand 0.8.5",
 ]
 
 [[package]]
@@ -4785,36 +4096,48 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d"
 
 [[package]]
-name = "value-bag"
-version = "1.0.0-alpha.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2209b78d1249f7e6f3293657c9779fe31ced465df091bbd433a1cf88e916ec55"
-dependencies = [
- "ctor",
- "erased-serde",
- "serde",
- "serde_fmt",
- "sval",
- "version_check",
-]
-
-[[package]]
 name = "vcpkg"
 version = "0.2.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
 
 [[package]]
+name = "version-compare"
+version = "0.0.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1c18c859eead79d8b95d09e4678566e8d70105c4e7b251f707a03df32442661b"
+
+[[package]]
+name = "version-compare"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "579a42fc0b8e0c63b76519a339be31bed574929511fa53c1a3acae26eb258f29"
+
+[[package]]
 name = "version_check"
 version = "0.9.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
 
 [[package]]
-name = "waker-fn"
-version = "1.1.0"
+name = "vswhom"
+version = "0.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9d5b2c62b4012a3e1eca5a7e077d13b3bf498c4073e33ccd58626607748ceeca"
+checksum = "be979b7f07507105799e854203b470ff7c78a1639e330a58f183b5fea574608b"
+dependencies = [
+ "libc",
+ "vswhom-sys",
+]
+
+[[package]]
+name = "vswhom-sys"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d3b17ae1f6c8a2b28506cd96d412eebf83b4a0ff2cbefeeb952f2f9dfa44ba18"
+dependencies = [
+ "cc",
+ "libc",
+]
 
 [[package]]
 name = "walkdir"
@@ -4828,11 +4151,10 @@ dependencies = [
 
 [[package]]
 name = "want"
-version = "0.3.0"
+version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0"
+checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e"
 dependencies = [
- "log",
  "try-lock",
 ]
 
@@ -4844,50 +4166,42 @@ checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"
 
 [[package]]
 name = "wasi"
-version = "0.10.0+wasi-snapshot-preview1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f"
-
-[[package]]
-name = "wasi"
 version = "0.11.0+wasi-snapshot-preview1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
 
 [[package]]
 name = "wasm-bindgen"
-version = "0.2.86"
+version = "0.2.87"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5bba0e8cb82ba49ff4e229459ff22a191bbe9a1cb3a341610c9c33efc27ddf73"
+checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342"
 dependencies = [
- "cfg-if 1.0.0",
- "serde",
- "serde_json",
+ "cfg-if",
  "wasm-bindgen-macro",
 ]
 
 [[package]]
 name = "wasm-bindgen-backend"
-version = "0.2.86"
+version = "0.2.87"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "19b04bc93f9d6bdee709f6bd2118f57dd6679cf1176a1af464fca3ab0d66d8fb"
+checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd"
 dependencies = [
  "bumpalo",
  "log",
  "once_cell",
  "proc-macro2",
  "quote",
- "syn 2.0.16",
+ "syn 2.0.27",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
 name = "wasm-bindgen-futures"
-version = "0.4.36"
+version = "0.4.37"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2d1985d03709c53167ce907ff394f5316aa22cb4e12761295c5dc57dacb6297e"
+checksum = "c02dbc21516f9f1f04f187958890d7e6026df8d16540b7ad9492bc34a67cea03"
 dependencies = [
- "cfg-if 1.0.0",
+ "cfg-if",
  "js-sys",
  "wasm-bindgen",
  "web-sys",
@@ -4895,9 +4209,9 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-macro"
-version = "0.2.86"
+version = "0.2.87"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "14d6b024f1a526bb0234f52840389927257beb670610081360e5a03c5df9c258"
+checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d"
 dependencies = [
  "quote",
  "wasm-bindgen-macro-support",
@@ -4905,140 +4219,148 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-macro-support"
-version = "0.2.86"
+version = "0.2.87"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e128beba882dd1eb6200e1dc92ae6c5dbaa4311aa7bb211ca035779e5efc39f8"
+checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.16",
+ "syn 2.0.27",
  "wasm-bindgen-backend",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
 name = "wasm-bindgen-shared"
-version = "0.2.86"
+version = "0.2.87"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ed9d5b4305409d1fc9482fee2d7f9bcbf24b3972bf59817ef757e23982242a93"
+checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1"
 
 [[package]]
-name = "wasm-bindgen-test"
-version = "0.3.36"
+name = "wasm-streams"
+version = "0.2.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c9e636f3a428ff62b3742ebc3c70e254dfe12b8c2b469d688ea59cdd4abcf502"
+checksum = "6bbae3363c08332cadccd13b67db371814cd214c2524020932f0804b8cf7c078"
 dependencies = [
- "console_error_panic_hook",
+ "futures-util",
  "js-sys",
- "scoped-tls",
  "wasm-bindgen",
  "wasm-bindgen-futures",
- "wasm-bindgen-test-macro",
+ "web-sys",
 ]
 
 [[package]]
-name = "wasm-bindgen-test-macro"
-version = "0.3.36"
+name = "web-sys"
+version = "0.3.64"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f18c1fad2f7c4958e7bcce014fa212f59a65d5e3721d0f77e6c0b27ede936ba3"
+checksum = "9b85cbef8c220a6abc02aefd892dfc0fc23afb1c6a426316ec33253a3877249b"
 dependencies = [
- "proc-macro2",
- "quote",
+ "js-sys",
+ "wasm-bindgen",
 ]
 
 [[package]]
-name = "web-sys"
-version = "0.3.63"
+name = "webkit2gtk"
+version = "0.18.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3bdd9ef4e984da1187bf8110c5cf5b845fbc87a23602cdf912386a76fcd3a7c2"
+checksum = "b8f859735e4a452aeb28c6c56a852967a8a76c8eb1cc32dbf931ad28a13d6370"
 dependencies = [
- "js-sys",
- "wasm-bindgen",
+ "bitflags 1.3.2",
+ "cairo-rs",
+ "gdk",
+ "gdk-sys",
+ "gio",
+ "gio-sys",
+ "glib",
+ "glib-sys",
+ "gobject-sys",
+ "gtk",
+ "gtk-sys",
+ "javascriptcore-rs",
+ "libc",
+ "once_cell",
+ "soup2",
+ "webkit2gtk-sys",
 ]
 
 [[package]]
-name = "webauthn-authenticator-rs"
-version = "0.4.9"
+name = "webkit2gtk-sys"
+version = "0.18.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "603b8602cae2d6c3706b6195765ff582389494d10c442d84a1de2ed5a25679ef"
+checksum = "4d76ca6ecc47aeba01ec61e480139dda143796abcae6f83bcddf50d6b5b1dcf3"
 dependencies = [
- "authenticator-ctap2-2021",
- "base64urlsafedata",
- "nom",
- "openssl",
- "rpassword 5.0.1",
- "serde",
- "serde_cbor_2",
- "serde_json",
- "tracing",
- "url",
- "uuid",
- "webauthn-rs-proto",
- "windows 0.41.0",
+ "atk-sys",
+ "bitflags 1.3.2",
+ "cairo-sys-rs",
+ "gdk-pixbuf-sys",
+ "gdk-sys",
+ "gio-sys",
+ "glib-sys",
+ "gobject-sys",
+ "gtk-sys",
+ "javascriptcore-rs-sys",
+ "libc",
+ "pango-sys",
+ "pkg-config",
+ "soup2-sys",
+ "system-deps 6.1.1",
 ]
 
 [[package]]
-name = "webauthn-rs"
-version = "0.4.8"
+name = "webpki"
+version = "0.22.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2db00711c712414e93b019c4596315085792215bc2ac2d5872f9e8913b0a6316"
+checksum = "f095d78192e208183081cc07bc5515ef55216397af48b873e5edcd72637fa1bd"
 dependencies = [
- "base64urlsafedata",
- "serde",
- "tracing",
- "url",
- "uuid",
- "webauthn-rs-core",
+ "ring",
+ "untrusted",
 ]
 
 [[package]]
-name = "webauthn-rs-core"
-version = "0.4.9"
+name = "webpki-roots"
+version = "0.22.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "294c78c83f12153a51e1cf1e6970b5da1397645dada39033a9c3173a8fc4fc2b"
+checksum = "b6c71e40d7d2c34a5106301fb632274ca37242cd0c9d3e64dbece371a40a2d87"
 dependencies = [
- "base64 0.13.1",
- "base64urlsafedata",
- "compact_jwt",
- "der-parser",
- "nom",
- "openssl",
- "rand 0.8.5",
- "serde",
- "serde_cbor_2",
- "serde_json",
- "thiserror",
- "tracing",
- "url",
- "uuid",
- "webauthn-rs-proto",
- "x509-parser",
+ "webpki",
 ]
 
 [[package]]
-name = "webauthn-rs-proto"
-version = "0.4.9"
+name = "webview2-com"
+version = "0.19.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d24e638361a63ba5c0a0be6a60229490fcdf33740ed63df5bb6bdb627b52a138"
+checksum = "b4a769c9f1a64a8734bde70caafac2b96cada12cd4aefa49196b3a386b8b4178"
 dependencies = [
- "base64urlsafedata",
- "js-sys",
- "serde",
- "serde-wasm-bindgen",
- "serde_json",
- "url",
- "wasm-bindgen",
- "web-sys",
+ "webview2-com-macros",
+ "webview2-com-sys",
+ "windows 0.39.0",
+ "windows-implement",
 ]
 
 [[package]]
-name = "whoami"
-version = "1.4.0"
+name = "webview2-com-macros"
+version = "0.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2c70234412ca409cc04e864e89523cb0fc37f5e1344ebed5a3ebf4192b6b9f68"
+checksum = "eaebe196c01691db62e9e4ca52c5ef1e4fd837dcae27dae3ada599b5a8fd05ac"
 dependencies = [
- "wasm-bindgen",
- "web-sys",
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "webview2-com-sys"
+version = "0.19.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "aac48ef20ddf657755fdcda8dfed2a7b4fc7e4581acce6fe9b88c3d64f29dee7"
+dependencies = [
+ "regex",
+ "serde",
+ "serde_json",
+ "thiserror",
+ "windows 0.39.0",
+ "windows-bindgen",
+ "windows-metadata",
 ]
 
 [[package]]
@@ -5074,17 +4396,29 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
 
 [[package]]
 name = "windows"
-version = "0.41.0"
+version = "0.37.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a3ed69de2c1f8d0524a8a3417a80a85dd316a071745fbfdf5eb028b310058ab"
+checksum = "57b543186b344cc61c85b5aab0d2e3adf4e0f99bc076eff9aa5927bcc0b8a647"
 dependencies = [
- "windows_aarch64_gnullvm 0.41.0",
- "windows_aarch64_msvc 0.41.0",
- "windows_i686_gnu 0.41.0",
- "windows_i686_msvc 0.41.0",
- "windows_x86_64_gnu 0.41.0",
- "windows_x86_64_gnullvm 0.41.0",
- "windows_x86_64_msvc 0.41.0",
+ "windows_aarch64_msvc 0.37.0",
+ "windows_i686_gnu 0.37.0",
+ "windows_i686_msvc 0.37.0",
+ "windows_x86_64_gnu 0.37.0",
+ "windows_x86_64_msvc 0.37.0",
+]
+
+[[package]]
+name = "windows"
+version = "0.39.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f1c4bd0a50ac6020f65184721f758dba47bb9fbc2133df715ec74a237b26794a"
+dependencies = [
+ "windows-implement",
+ "windows_aarch64_msvc 0.39.0",
+ "windows_i686_gnu 0.39.0",
+ "windows_i686_msvc 0.39.0",
+ "windows_x86_64_gnu 0.39.0",
+ "windows_x86_64_msvc 0.39.0",
 ]
 
 [[package]]
@@ -5093,10 +4427,36 @@ version = "0.48.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f"
 dependencies = [
- "windows-targets 0.48.0",
+ "windows-targets 0.48.1",
+]
+
+[[package]]
+name = "windows-bindgen"
+version = "0.39.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "68003dbd0e38abc0fb85b939240f4bce37c43a5981d3df37ccbaaa981b47cb41"
+dependencies = [
+ "windows-metadata",
+ "windows-tokens",
 ]
 
 [[package]]
+name = "windows-implement"
+version = "0.39.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ba01f98f509cb5dc05f4e5fc95e535f78260f15fea8fe1a8abdd08f774f1cee7"
+dependencies = [
+ "syn 1.0.109",
+ "windows-tokens",
+]
+
+[[package]]
+name = "windows-metadata"
+version = "0.39.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9ee5e275231f07c6e240d14f34e1b635bf1faa1c76c57cfd59a5cdb9848e4278"
+
+[[package]]
 name = "windows-sys"
 version = "0.42.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -5126,7 +4486,7 @@ version = "0.48.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
 dependencies = [
- "windows-targets 0.48.0",
+ "windows-targets 0.48.1",
 ]
 
 [[package]]
@@ -5146,9 +4506,9 @@ dependencies = [
 
 [[package]]
 name = "windows-targets"
-version = "0.48.0"
+version = "0.48.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5"
+checksum = "05d4b17490f70499f20b9e791dcf6a299785ce8af4d709018206dc5b4953e95f"
 dependencies = [
  "windows_aarch64_gnullvm 0.48.0",
  "windows_aarch64_msvc 0.48.0",
@@ -5160,10 +4520,10 @@ dependencies = [
 ]
 
 [[package]]
-name = "windows_aarch64_gnullvm"
-version = "0.41.0"
+name = "windows-tokens"
+version = "0.39.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "163d2761774f2278ecb4e6719e80b2b5e92e5a2be73a7bcd3ef624dd5e3091fd"
+checksum = "f838de2fe15fe6bac988e74b798f26499a8b21a9d97edec321e79b28d1d7f597"
 
 [[package]]
 name = "windows_aarch64_gnullvm"
@@ -5179,9 +4539,15 @@ checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc"
 
 [[package]]
 name = "windows_aarch64_msvc"
-version = "0.41.0"
+version = "0.37.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ef005ff2bceb00d3b84166a359cc19084f9459754fd3fe5a504dee3dddcd0a0c"
+checksum = "2623277cb2d1c216ba3b578c0f3cf9cdebeddb6e66b1b218bb33596ea7769c3a"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.39.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ec7711666096bd4096ffa835238905bb33fb87267910e154b18b44eaabb340f2"
 
 [[package]]
 name = "windows_aarch64_msvc"
@@ -5197,9 +4563,15 @@ checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3"
 
 [[package]]
 name = "windows_i686_gnu"
-version = "0.41.0"
+version = "0.37.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d3925fd0b0b804730d44d4b6278c50f9699703ec49bcd628020f46f4ba07d9e1"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.39.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "02b4df2d51e32f03f8b4b228e487828c03bcb36d97b216fc5463bcea5bb1440b"
+checksum = "763fc57100a5f7042e3057e7e8d9bdd7860d330070251a73d003563a3bb49e1b"
 
 [[package]]
 name = "windows_i686_gnu"
@@ -5215,9 +4587,15 @@ checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241"
 
 [[package]]
 name = "windows_i686_msvc"
-version = "0.41.0"
+version = "0.37.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "568a966834571f2f3267f07dd72b4d8507381f25e53d056808483b2637385ef7"
+checksum = "ce907ac74fe331b524c1298683efbf598bb031bc84d5e274db2083696d07c57c"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.39.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7bc7cbfe58828921e10a9f446fcaaf649204dcfe6c1ddd712c5eebae6bda1106"
 
 [[package]]
 name = "windows_i686_msvc"
@@ -5233,9 +4611,15 @@ checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00"
 
 [[package]]
 name = "windows_x86_64_gnu"
-version = "0.41.0"
+version = "0.37.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2babfba0828f2e6b32457d5341427dcbb577ceef556273229959ac23a10af33d"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.39.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fc395dac1adf444e276d096d933ae7961361c8cda3245cffef7a9b3a70a8f994"
+checksum = "6868c165637d653ae1e8dc4d82c25d4f97dd6605eaa8d784b5c6e0ab2a252b65"
 
 [[package]]
 name = "windows_x86_64_gnu"
@@ -5251,12 +4635,6 @@ checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1"
 
 [[package]]
 name = "windows_x86_64_gnullvm"
-version = "0.41.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "90e8ec22b715d5b436e1d59c8adad6c744dc20cd984710121d5836b4e8dbb5e0"
-
-[[package]]
-name = "windows_x86_64_gnullvm"
 version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3"
@@ -5269,9 +4647,15 @@ checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953"
 
 [[package]]
 name = "windows_x86_64_msvc"
-version = "0.41.0"
+version = "0.37.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f4dd6dc7df2d84cf7b33822ed5b86318fb1781948e9663bacd047fc9dd52259d"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.39.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8b9761f0216b669019df1512f6e25e5ee779bf61c5cdc43c7293858e7efd7926"
+checksum = "5e4d40883ae9cae962787ca76ba76390ffa29214667a111db9e0a1ad8377e809"
 
 [[package]]
 name = "windows_x86_64_msvc"
@@ -5287,9 +4671,9 @@ checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a"
 
 [[package]]
 name = "winnow"
-version = "0.4.6"
+version = "0.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "61de7bac303dc551fe038e2b3cef0f571087a47571ea6e79a87692ac99b99699"
+checksum = "25b5872fa2e10bd067ae946f927e726d7d603eaeb6e02fa6a350e0722d2b8c11"
 dependencies = [
  "memchr",
 ]
@@ -5304,124 +4688,143 @@ dependencies = [
 ]
 
 [[package]]
-name = "x509-parser"
-version = "0.13.2"
+name = "winreg"
+version = "0.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9fb9bace5b5589ffead1afb76e43e34cff39cd0f3ce7e170ae0c29e53b88eb1c"
+checksum = "76a1a57ff50e9b408431e8f97d5456f2807f8eb2a2cd79b06068fc87f8ecf189"
 dependencies = [
- "asn1-rs",
- "base64 0.13.1",
- "data-encoding",
- "der-parser",
- "lazy_static",
- "nom",
- "oid-registry",
- "rusticata-macros",
- "thiserror",
- "time 0.3.21",
+ "cfg-if",
+ "winapi",
 ]
 
 [[package]]
-name = "yew"
-version = "0.20.0"
+name = "winreg"
+version = "0.50.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5dbecfe44343b70cc2932c3eb445425969ae21754a8ab3a0966981c1cf7af1cc"
+checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1"
 dependencies = [
- "console_error_panic_hook",
- "futures",
- "gloo",
- "implicit-clone",
- "indexmap",
- "js-sys",
- "prokio",
- "rustversion",
+ "cfg-if",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "wry"
+version = "0.24.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "33748f35413c8a98d45f7a08832d848c0c5915501803d1faade5a4ebcd258cea"
+dependencies = [
+ "base64 0.13.1",
+ "block",
+ "cocoa",
+ "core-graphics",
+ "crossbeam-channel",
+ "dunce",
+ "gdk",
+ "gio",
+ "glib",
+ "gtk",
+ "html5ever",
+ "http",
+ "kuchiki",
+ "libc",
+ "log",
+ "objc",
+ "objc_id",
+ "once_cell",
  "serde",
- "slab",
+ "serde_json",
+ "sha2",
+ "soup2",
+ "tao",
  "thiserror",
- "tokio",
- "tracing",
- "wasm-bindgen",
- "wasm-bindgen-futures",
- "web-sys",
- "yew-macro",
+ "url",
+ "webkit2gtk",
+ "webkit2gtk-sys",
+ "webview2-com",
+ "windows 0.39.0",
+ "windows-implement",
 ]
 
 [[package]]
-name = "yew-macro"
-version = "0.20.0"
+name = "x11"
+version = "2.21.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "502da5464ccd04011667b11c435cb992822c2c0dbde1770c988480d312a0db2e"
+dependencies = [
+ "libc",
+ "pkg-config",
+]
+
+[[package]]
+name = "x11-dl"
+version = "2.21.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b64c253c1d401f1ea868ca9988db63958cfa15a69f739101f338d6f05eea8301"
+checksum = "38735924fedd5314a6e548792904ed8c6de6636285cb9fec04d5b1db85c1516f"
 dependencies = [
- "boolinator",
+ "libc",
  "once_cell",
- "prettyplease",
- "proc-macro-error",
- "proc-macro2",
- "quote",
- "syn 1.0.109",
+ "pkg-config",
 ]
 
 [[package]]
-name = "yew-router"
-version = "0.17.0"
+name = "xattr"
+version = "0.2.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "426ee0486d2572a6c5e39fbdbc48b58d59bb555f3326f54631025266cf04146e"
+checksum = "6d1526bbe5aaeb5eb06885f4d987bcdfa5e23187055de9b83fe00156a821fabc"
 dependencies = [
- "gloo",
- "js-sys",
- "route-recognizer 0.3.1",
- "serde",
- "serde_urlencoded",
- "tracing",
- "wasm-bindgen",
- "web-sys",
- "yew",
- "yew-router-macro",
+ "libc",
+]
+
+[[package]]
+name = "xtask"
+version = "0.10.0"
+dependencies = [
+ "anyhow",
+ "clap",
+ "clap_complete",
+ "clap_mangen",
+ "regex",
 ]
 
 [[package]]
-name = "yew-router-macro"
-version = "0.17.0"
+name = "zip"
+version = "0.6.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "89b249cdb39e0cddaf0644dedc781854524374664793479fdc01e6a65d6e6ae3"
+checksum = "760394e246e4c28189f19d488c058bf16f564016aefac5d32bb1f3b51d5e9261"
 dependencies = [
- "proc-macro2",
- "quote",
- "syn 1.0.109",
+ "byteorder",
+ "crc32fast",
+ "crossbeam-utils",
+ "flate2",
+ "zstd",
 ]
 
 [[package]]
-name = "zeroize"
-version = "1.6.0"
+name = "zstd"
+version = "0.11.2+zstd.1.5.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2a0956f1ba7c7909bfb66c2e9e4124ab6f6482560f6628b5aaeba39207c9aad9"
+checksum = "20cc960326ece64f010d2d2107537f26dc589a6573a316bd5b1dba685fa5fde4"
 dependencies = [
- "zeroize_derive",
+ "zstd-safe",
 ]
 
 [[package]]
-name = "zeroize_derive"
-version = "1.4.2"
+name = "zstd-safe"
+version = "5.0.2+zstd.1.5.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69"
+checksum = "1d2a5585e04f9eea4b2a3d1eca508c4dee9592a89ef6f450c11719da0726f4db"
 dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.16",
+ "libc",
+ "zstd-sys",
 ]
 
 [[package]]
-name = "zxcvbn"
-version = "2.2.2"
+name = "zstd-sys"
+version = "2.0.8+zstd.1.5.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "103fa851fff70ea29af380e87c25c48ff7faac5c530c70bd0e65366d4e0c94e4"
+checksum = "5556e6ee25d32df2586c098bbfa278803692a20d0ab9565e049480d52707ec8c"
 dependencies = [
- "derive_builder",
- "fancy-regex",
- "itertools",
- "js-sys",
- "lazy_static",
- "quick-error",
- "regex",
- "time 0.3.21",
+ "cc",
+ "libc",
+ "pkg-config",
 ]
diff --git a/pkgs/applications/misc/owmods-cli/default.nix b/pkgs/applications/misc/owmods-cli/default.nix
new file mode 100644
index 0000000000000..3a1c224c2cf58
--- /dev/null
+++ b/pkgs/applications/misc/owmods-cli/default.nix
@@ -0,0 +1,65 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, rustPlatform
+, pkg-config
+, installShellFiles
+, zstd
+, openssl
+, Security
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "owmods-cli";
+  version = "0.10.0";
+
+  src = fetchFromGitHub {
+    owner = "ow-mods";
+    repo = "ow-mod-man";
+    rev = "cli_v${version}";
+    hash = "sha256-kumYLlp2LRqTQz23N9lriJJf7x2pPXbqqUvkiAhyMDY=";
+  };
+
+  cargoLock = {
+    lockFile = ./Cargo.lock;
+    outputHashes = {
+      "tauri-plugin-window-state-0.1.0" = "sha256-M6uGcf4UWAU+494wAK/r2ta1c3IZ07iaURLwJJR9F3U=";
+    };
+  };
+
+  nativeBuildInputs = [
+    pkg-config
+    installShellFiles
+  ];
+
+  buildInputs = [
+    zstd
+  ] ++ lib.optionals stdenv.isLinux [
+    openssl
+  ] ++ lib.optionals stdenv.isDarwin [
+    Security
+  ];
+
+  env = {
+    ZSTD_SYS_USE_PKG_CONFIG = true;
+  };
+
+  buildAndTestSubdir = "owmods_cli";
+
+  postInstall = ''
+    cargo xtask dist_cli
+    installManPage man/man*/*
+    installShellCompletion --cmd owmods \
+      dist/cli/completions/owmods.{bash,fish,zsh}
+  '';
+
+  meta = with lib; {
+    description = "CLI version of the mod manager for Outer Wilds Mod Loader";
+    homepage = "https://github.com/ow-mods/ow-mod-man/tree/main/owmods_cli";
+    downloadPage = "https://github.com/ow-mods/ow-mod-man/releases/tag/cli_v${version}";
+    changelog = "https://github.com/ow-mods/ow-mod-man/releases/tag/cli_v${version}";
+    mainProgram = "owmods";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ locochoco ];
+  };
+}
diff --git a/pkgs/applications/misc/plots/default.nix b/pkgs/applications/misc/plots/default.nix
new file mode 100644
index 0000000000000..01a60baa2ab34
--- /dev/null
+++ b/pkgs/applications/misc/plots/default.nix
@@ -0,0 +1,77 @@
+{ fetchFromGitHub
+, gobject-introspection
+, lib
+, libadwaita
+, python3
+, wrapGAppsHook
+, lmmath
+}:
+python3.pkgs.buildPythonApplication rec {
+  pname = "plots";
+  version = "0.8.5";
+
+  src = fetchFromGitHub {
+    owner = "alexhuntley";
+    repo = "Plots";
+    rev = "v${version}";
+    hash = "sha256-GjNpaorxkkhZsqrKq4kO5nqF5+4I4tmSc023AZpY8Sw=";
+  };
+
+  nativeBuildInputs = [
+    gobject-introspection
+    wrapGAppsHook
+  ];
+
+  propagatedBuildInputs = [
+    libadwaita
+    (python3.withPackages (p: with p; [
+      numpy
+      pygobject3
+      lark
+      jinja2
+      freetype-py
+      pyopengl
+      pycairo
+      pyglm
+    ]))
+  ];
+
+  nativeCheckInputs = [
+    (python3.withPackages (p: with p; [
+      pytest
+    ]))
+  ];
+
+  dontWrapGApps = true;
+
+  preFixup = ''
+    makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
+  '';
+
+  postInstall = ''
+    install -D ${lmmath}/share/fonts/opentype/latinmodern-math.otf -t $out/share/fonts/
+
+    install -D res/com.github.alexhuntley.Plots.metainfo.xml -t $out/share/metainfo/
+    install -D res/com.github.alexhuntley.Plots.desktop -t $out/share/applications/
+    install -D res/com.github.alexhuntley.Plots.svg -t $out/share/icons/hicolor/scalable/apps/
+    install -D res/com.github.alexhuntley.Plots-symbolic.svg -t $out/share/icons/hicolor/symbolic/apps/
+
+    for lang_dir in help/*; do
+      lang=$(basename "$lang_dir")
+      install -D -t $out/share/help/$lang/plots/ $lang_dir/*
+    done
+  '';
+
+  meta = with lib; {
+    description = "Graph plotting app for GNOME";
+    longDescription = ''
+      Plots is a graph plotting app for GNOME.
+      Plots makes it easy to visualise mathematical formulae.
+      In addition to basic arithmetic operations, it supports trigonometric, hyperbolic, exponential and logarithmic functions, as well as arbitrary sums and products.
+      It can display polar equations, and both implicit and explicit Cartesian equations.
+    '';
+    homepage = "https://github.com/alexhuntley/Plots";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ sund3RRR ];
+  };
+}
diff --git a/pkgs/applications/misc/process-compose/default.nix b/pkgs/applications/misc/process-compose/default.nix
index a9f23d238c79e..0e90ad933d5eb 100644
--- a/pkgs/applications/misc/process-compose/default.nix
+++ b/pkgs/applications/misc/process-compose/default.nix
@@ -8,13 +8,13 @@ let config-module = "github.com/f1bonacc1/process-compose/src/config";
 in
 buildGoModule rec {
   pname = "process-compose";
-  version = "0.51.4";
+  version = "0.60.0";
 
   src = fetchFromGitHub {
     owner = "F1bonacc1";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-eR8uYeScV6bxntc2bEwJC/VSH1bXendJ1FNJB0bC2i0=";
+    hash = "sha256-BsDel6F09HP5Oz2p0DDXKuS7Id5XPhZZxEzwu76vVwk=";
     # populate values that require us to use git. By doing this in postFetch we
     # can delete .git afterwards and maintain better reproducibility of the src.
     leaveDotGit = true;
@@ -43,7 +43,7 @@ buildGoModule rec {
     installShellFiles
   ];
 
-  vendorHash = "sha256-dlTqBKyI2t3twxQ+mnn+LTWzM2+CnEa4X0K2yDAZsQA=";
+  vendorHash = "sha256-Z5vCxzdpd2OmlZ/woHhlLN2QMgqa9mm873QGuqDToiM=";
 
   doCheck = false;
 
diff --git a/pkgs/applications/misc/rofi-screenshot/default.nix b/pkgs/applications/misc/rofi-screenshot/default.nix
new file mode 100644
index 0000000000000..fedb03fa613d6
--- /dev/null
+++ b/pkgs/applications/misc/rofi-screenshot/default.nix
@@ -0,0 +1,58 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, makeWrapper
+, libnotify
+, slop
+, ffcast
+, ffmpeg
+, xclip
+, rofi
+, coreutils
+, gnused
+, procps
+}:
+
+stdenv.mkDerivation rec {
+  pname = "rofi-screenshot";
+  version = "2023-07-02";
+
+  src = fetchFromGitHub {
+    owner = "ceuk";
+    repo = pname;
+    rev = "365cfa51c6c7deb072d98d7bfd68cf4038bf2737";
+    hash = "sha256-M1cab+2pOjZ2dElMg0Y0ZrIxRE0VwymVwcElgzFrmVs=";
+  };
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  postFixup = ''
+    wrapProgram $out/bin/${pname} \
+      --set PATH ${
+        lib.makeBinPath [
+          libnotify
+          slop
+          ffcast
+          ffmpeg
+          xclip
+          rofi
+          coreutils
+          gnused
+          procps
+        ]
+      }
+  '';
+
+  installPhase = ''
+    install -Dm755 ${pname} $out/bin/${pname}
+  '';
+
+  meta = {
+    description =
+      "Use rofi to perform various types of screenshots and screen captures";
+    homepage = "https://github.com/ceuk/rofi-screenshot";
+    maintainers = with lib.maintainers; [ zopieux ];
+    platforms = lib.platforms.all;
+    license = lib.licenses.wtfpl;
+  };
+}
diff --git a/pkgs/applications/misc/rofi/wayland.nix b/pkgs/applications/misc/rofi/wayland.nix
index dfb096d654d68..1d7ef32cd37ea 100644
--- a/pkgs/applications/misc/rofi/wayland.nix
+++ b/pkgs/applications/misc/rofi/wayland.nix
@@ -9,14 +9,14 @@
 
 rofi-unwrapped.overrideAttrs (oldAttrs: rec {
   pname = "rofi-wayland-unwrapped";
-  version = "1.7.5+wayland1";
+  version = "1.7.5+wayland2";
 
   src = fetchFromGitHub {
     owner = "lbonn";
     repo = "rofi";
     rev = version;
     fetchSubmodules = true;
-    sha256 = "sha256-ddKLV7NvqgTQl5YlAEyBK0oalcJsLASK4z3qArQPUDQ=";
+    sha256 = "sha256-5pxDA/71PV4B5T3fzLKVC4U8Gt13vwy3xSDPDsSDAKU=";
   };
 
   nativeBuildInputs = oldAttrs.nativeBuildInputs ++ [ wayland-scanner ];
diff --git a/pkgs/applications/misc/shipments/default.nix b/pkgs/applications/misc/shipments/default.nix
index 5b1332a91d739..0f4f39d74c999 100644
--- a/pkgs/applications/misc/shipments/default.nix
+++ b/pkgs/applications/misc/shipments/default.nix
@@ -1,5 +1,5 @@
 { desktop-file-utils
-, fetchurl
+, fetchFromSourcehut
 , gobject-introspection
 , gtk3
 , lib
@@ -16,9 +16,11 @@ stdenv.mkDerivation rec {
   pname = "shipments";
   version = "0.3.0";
 
-  src = fetchurl {
-    url = "https://git.sr.ht/~martijnbraam/shipments/archive/${version}.tar.gz";
-    sha256 = "1znybldx21wjnb8qy6q9p52pi6lfz81743xgrnjmvjji4spwaipf";
+  src = fetchFromSourcehut {
+    owner = "~martijnbraam";
+    repo = "shipments";
+    rev = version;
+    hash = "sha256-8wX1s5mPCdMINIQP4m5q5StKqxY6CGBBxIxyQAvU7Pc=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/misc/syncthingtray/default.nix b/pkgs/applications/misc/syncthingtray/default.nix
index 96e77baf30251..65c80cc81f1cf 100644
--- a/pkgs/applications/misc/syncthingtray/default.nix
+++ b/pkgs/applications/misc/syncthingtray/default.nix
@@ -70,7 +70,8 @@ mkDerivation rec {
   cmakeFlags = [
     "-DAUTOSTART_EXEC_PATH=${autostartExecPath}"
     # See https://github.com/Martchus/syncthingtray/issues/42
-    "-DQT_PLUGIN_DIR:STRING=${placeholder "out"}/lib/qt-5"
+    "-DQT_PLUGIN_DIR:STRING=${placeholder "out"}/${qtbase.qtPluginPrefix}"
+    "-DBUILD_SHARED_LIBS=ON"
   ] ++ lib.optionals (!plasmoidSupport) ["-DNO_PLASMOID=ON"]
     ++ lib.optionals (!kioPluginSupport) ["-DNO_FILE_ITEM_ACTION_PLUGIN=ON"]
     ++ lib.optionals systemdSupport ["-DSYSTEMD_SUPPORT=ON"]
diff --git a/pkgs/applications/misc/tellico/default.nix b/pkgs/applications/misc/tellico/default.nix
index 56f4c43624bf2..2ec1097338e47 100644
--- a/pkgs/applications/misc/tellico/default.nix
+++ b/pkgs/applications/misc/tellico/default.nix
@@ -24,14 +24,14 @@
 
 mkDerivation rec {
   pname = "tellico";
-  version = "3.5";
+  version = "3.5.1";
 
   src = fetchFromGitLab {
     domain = "invent.kde.org";
     owner = "office";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-uMq/iqPAbjR85wkgqUS1pk2BL/eatNFpyKcagjN5rJ4=";
+    hash = "sha256-opg4FbfOM48eqWQUJnMHH7KSo6x4S2DHd7ucPw6iTzg=";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/misc/tickrs/default.nix b/pkgs/applications/misc/tickrs/default.nix
index dcddaab34d7b6..35d56e8be7dd2 100644
--- a/pkgs/applications/misc/tickrs/default.nix
+++ b/pkgs/applications/misc/tickrs/default.nix
@@ -10,16 +10,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "tickrs";
-  version = "0.14.8";
+  version = "0.14.9";
 
   src = fetchFromGitHub {
     owner = "tarkah";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-8q/dL1Pv25TkL7PESybgIu+0lR0cr6qrK6ItE/r9pbI=";
+    hash = "sha256-cN5GtU3bmsdJvfjVdWvWAshiU3Ged7L9pc8wid8GQwA=";
   };
 
-  cargoHash = "sha256-fOYxOiVpgflwIz9Z6ePhQKDa7DX4D/ZCnPOwq9vWOSk=";
+  cargoHash = "sha256-ngDA085V3+2oBH13Fs+pJez2W2/i1pEKoWdqJ4/3Q0I=";
 
   nativeBuildInputs = [
     pkg-config
diff --git a/pkgs/applications/misc/toot/default.nix b/pkgs/applications/misc/toot/default.nix
index bbceb34e0a2df..3d85939b371e9 100644
--- a/pkgs/applications/misc/toot/default.nix
+++ b/pkgs/applications/misc/toot/default.nix
@@ -2,19 +2,19 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "toot";
-  version = "0.37.0";
+  version = "0.38.1";
 
   src = fetchFromGitHub {
     owner  = "ihabunek";
     repo   = "toot";
     rev = "refs/tags/${version}";
-    sha256 = "sha256-NmxBiFLjAW4kwuChbgR5VsAOpgE6sJOO/MmfRhotb40=";
+    sha256 = "sha256-gT9xKFanQhptt46nkdzYsZ6Vu0Nab0oRsvEHVRNf8DQ=";
   };
 
   nativeCheckInputs = with python3Packages; [ pytest ];
 
   propagatedBuildInputs = with python3Packages;
-    [ requests beautifulsoup4 future wcwidth urwid psycopg2 ];
+    [ requests beautifulsoup4 future wcwidth urwid psycopg2 tomlkit ];
 
   checkPhase = ''
     py.test
diff --git a/pkgs/applications/misc/transifex-cli/default.nix b/pkgs/applications/misc/transifex-cli/default.nix
index 63372498136de..59917a4604188 100644
--- a/pkgs/applications/misc/transifex-cli/default.nix
+++ b/pkgs/applications/misc/transifex-cli/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "transifex-cli";
-  version = "1.6.7";
+  version = "1.6.10";
 
   src = fetchFromGitHub {
     owner = "transifex";
     repo = "cli";
     rev = "v${version}";
-    sha256 = "sha256-5166P44HSRKQ0pCh1BCPd1ZUryh/IBDumcnLYA+CSBY=";
+    sha256 = "sha256-76nmlZFLon9EquM7tQ/PReM1rxkzh7x1rNdaP3n4KKg=";
   };
 
-  vendorSha256 = "sha256-rcimaHr3fFeHSjZXw1w23cKISCT+9t8SgtPnY/uYGAU=";
+  vendorHash = "sha256-rcimaHr3fFeHSjZXw1w23cKISCT+9t8SgtPnY/uYGAU=";
 
   ldflags = [
     "-s" "-w" "-X 'github.com/transifex/cli/internal/txlib.Version=${version}'"
diff --git a/pkgs/applications/misc/ttdl/default.nix b/pkgs/applications/misc/ttdl/default.nix
index c30fc4beaa733..f970fe377640e 100644
--- a/pkgs/applications/misc/ttdl/default.nix
+++ b/pkgs/applications/misc/ttdl/default.nix
@@ -5,16 +5,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "ttdl";
-  version = "3.10.0";
+  version = "4.0.0";
 
   src = fetchFromGitHub {
     owner = "VladimirMarkelov";
     repo = "ttdl";
     rev = "v${version}";
-    sha256 = "sha256-46oqQaDYFxpSjqFdP2V0aBP1S6BDG+hSO/V76WwCzAQ=";
+    sha256 = "sha256-er2IDPVFbcuT0COBCpBymNVBKtETdWjzR2330WUBp6U=";
   };
 
-  cargoHash = "sha256-Kol7pCHq91zOE9boRatv12pgh/rfra5snUe3HNho1DU=";
+  cargoHash = "sha256-WcqkvnXRgsDJM7p2WGa5lmeeuwNwBy2ZQATVkTHRX7Q=";
 
   meta = with lib; {
     description = "A CLI tool to manage todo lists in todo.txt format";
diff --git a/pkgs/applications/misc/valent/default.nix b/pkgs/applications/misc/valent/default.nix
index 047622e545ee5..1b8f78cd61806 100644
--- a/pkgs/applications/misc/valent/default.nix
+++ b/pkgs/applications/misc/valent/default.nix
@@ -22,14 +22,14 @@
 
 stdenv.mkDerivation rec {
   pname = "valent";
-  version = "unstable-2023-06-11";
+  version = "unstable-2023-07-31";
 
   src = fetchFromGitHub {
     owner = "andyholmes";
     repo = "valent";
-    rev = "e6a121efa7eb7b432517d610de4deea6dfa876b0";
+    rev = "698f39b496957d50c68437f16e74a7ac41eb5147";
     fetchSubmodules = true;
-    hash = "sha256-8X4Yu8VY5ehptJN1KtsCuoECtEZNLZMzOvU91j8UmDk=";
+    hash = "sha256-AdW6oMRVIgat8XlH342PEwe6BfkzKVLSadGOTLGwzwo=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/misc/vhs/default.nix b/pkgs/applications/misc/vhs/default.nix
index 90b776d2123e3..c8991cf2ac6f7 100644
--- a/pkgs/applications/misc/vhs/default.nix
+++ b/pkgs/applications/misc/vhs/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "vhs";
-  version = "0.5.0";
+  version = "0.6.0";
 
   src = fetchFromGitHub {
     owner = "charmbracelet";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-d7oHPe1R0KZaVTTxmed27VZ2PphiQfy7CXYhVKHWUhE=";
+    hash = "sha256-JKhijruaRjdMEbsIrcu2swSCb/nTxwIG/F9c2eGncnQ=";
   };
 
-  vendorHash = "sha256-jrXdbxH5hJrd5yyVsTOeIYJciJ6wVTydkD6aSuWYKPQ=";
+  vendorHash = "sha256-IpybcyW4up9QVV7fJCh+2Lrpi571tfravN17vh/G1bQ=";
 
   nativeBuildInputs = [ installShellFiles makeWrapper ];
 
diff --git a/pkgs/applications/misc/yambar/default.nix b/pkgs/applications/misc/yambar/default.nix
index 2cb4cad91d4b7..7d974bf87fd4e 100644
--- a/pkgs/applications/misc/yambar/default.nix
+++ b/pkgs/applications/misc/yambar/default.nix
@@ -44,12 +44,15 @@ stdenv.mkDerivation (finalAttrs: {
 
   outputs = [ "out" "man" ];
 
+  depsBuildBuild = [ pkg-config ];
+
   nativeBuildInputs = [
     bison
     flex
     meson
     ninja
     pkg-config
+    scdoc
     wayland-scanner
   ];
 
@@ -62,7 +65,6 @@ stdenv.mkDerivation (finalAttrs: {
     pipewire
     pixman
     pulseaudio
-    scdoc
     tllist
     udev
   ] ++ lib.optionals (waylandSupport) [
diff --git a/pkgs/applications/networking/browsers/chromium/README.md b/pkgs/applications/networking/browsers/chromium/README.md
index 4c93daee4a36b..c5a537147c487 100644
--- a/pkgs/applications/networking/browsers/chromium/README.md
+++ b/pkgs/applications/networking/browsers/chromium/README.md
@@ -17,9 +17,9 @@
     Hydra). We use these channels for testing and to fix build errors in advance
     so that `chromium` updates are trivial and can be merged fast.
   - `google-chrome`, `google-chrome-beta`, `google-chrome-dev`: Updated via
-    Chromium's `upstream-info.json`
+    Chromium's `upstream-info.nix`
   - `ungoogled-chromium`: @squalus
-  - `chromedriver`: Updated via Chromium's `upstream-info.json` and not built
+  - `chromedriver`: Updated via Chromium's `upstream-info.nix` and not built
     from source.
 
 # Upstream links
@@ -35,9 +35,9 @@
 # Updating Chromium
 
 Simply run `./pkgs/applications/networking/browsers/chromium/update.py` to
-update `upstream-info.json`. After updates it is important to test at least
+update `upstream-info.nix`. After updates it is important to test at least
 `nixosTests.chromium` (or basic manual testing) and `google-chrome` (which
-reuses `upstream-info.json`).
+reuses `upstream-info.nix`).
 
 Note: Due to the script downloading many large tarballs it might be
 necessary to adjust the available tmpfs size (it defaults to 10% of the
@@ -75,7 +75,7 @@ All updates are considered security critical and should be ported to the stable
 channel ASAP. When there is a new stable release the old one should receive
 security updates for roughly one month. After that it is important to mark
 Chromium as insecure (see 69e4ae56c4b for an example; it is important that the
-tested job still succeeds and that all browsers that use `upstream-info.json`
+tested job still succeeds and that all browsers that use `upstream-info.nix`
 are marked as insecure).
 
 ## Major version updates
diff --git a/pkgs/applications/networking/browsers/chromium/common.nix b/pkgs/applications/networking/browsers/chromium/common.nix
index a3f46ba1f128b..183a83f52e8b5 100644
--- a/pkgs/applications/networking/browsers/chromium/common.nix
+++ b/pkgs/applications/networking/browsers/chromium/common.nix
@@ -374,7 +374,12 @@ let
         gn = gnChromium;
       };
     };
-  };
+  }
+  # overwrite `version` with the exact same `version` from the same source,
+  # except it internally points to `upstream-info.nix` for
+  # `builtins.unsafeGetAttrPos`, which is used by ofborg to decide
+  # which maintainers need to be pinged.
+  // builtins.removeAttrs upstream-info (builtins.filter (e: e != "version") (builtins.attrNames upstream-info));
 
 # Remove some extraAttrs we supplied to the base attributes already.
 in stdenv.mkDerivation (base // removeAttrs extraAttrs [
diff --git a/pkgs/applications/networking/browsers/chromium/default.nix b/pkgs/applications/networking/browsers/chromium/default.nix
index 70b1de5253b81..03b432d19421b 100644
--- a/pkgs/applications/networking/browsers/chromium/default.nix
+++ b/pkgs/applications/networking/browsers/chromium/default.nix
@@ -22,11 +22,11 @@ let
   llvmPackages = llvmPackages_16;
   stdenv = llvmPackages.stdenv;
 
-  upstream-info = (lib.importJSON ./upstream-info.json).${channel};
+  upstream-info = (import ./upstream-info.nix).${channel};
 
   # Helper functions for changes that depend on specific versions:
   warnObsoleteVersionConditional = min-version: result:
-    let ungoogled-version = (lib.importJSON ./upstream-info.json).ungoogled-chromium.version;
+    let ungoogled-version = (import ./upstream-info.nix).ungoogled-chromium.version;
     in lib.warnIf
          (lib.versionAtLeast ungoogled-version min-version)
          "chromium: ungoogled version ${ungoogled-version} is newer than a conditional bounded at ${min-version}. You can safely delete it."
@@ -71,10 +71,10 @@ let
       # Use the latest stable Chrome version if necessary:
       version = if chromium.upstream-info.sha256bin64 != null
         then chromium.upstream-info.version
-        else (lib.importJSON ./upstream-info.json).stable.version;
+        else (import ./upstream-info.nix).stable.version;
       sha256 = if chromium.upstream-info.sha256bin64 != null
         then chromium.upstream-info.sha256bin64
-        else (lib.importJSON ./upstream-info.json).stable.sha256bin64;
+        else (import ./upstream-info.nix).stable.sha256bin64;
     in fetchurl {
       urls = map (repo: "${repo}/${pkgName}/${pkgName}_${version}-1_amd64.deb") [
         "https://dl.google.com/linux/chrome/deb/pool/main/g"
@@ -139,8 +139,6 @@ let
 
   sandboxExecutableName = chromium.browser.passthru.sandboxExecutableName;
 
-  version = chromium.browser.version;
-
   # We want users to be able to enableWideVine without rebuilding all of
   # chromium, so we have a separate derivation here that copies chromium
   # and adds the unfree WidevineCdm.
@@ -157,7 +155,7 @@ let
 in stdenv.mkDerivation {
   pname = lib.optionalString ungoogled "ungoogled-"
     + "chromium${suffix}";
-  inherit version;
+  inherit (chromium.browser) version;
 
   nativeBuildInputs = [
     makeWrapper ed
@@ -236,3 +234,9 @@ in stdenv.mkDerivation {
     inherit chromeSrc sandboxExecutableName;
   };
 }
+# the following is a complicated and long-winded variant of
+# `inherit (chromium.browser) version`, with the added benefit
+# that it keeps the pointer to upstream-info.nix for
+# builtins.unsafeGetAttrPos, which is what ofborg uses to
+# decide which maintainers need to be pinged.
+// builtins.removeAttrs chromium.browser (builtins.filter (e: e != "version") (builtins.attrNames chromium.browser))
diff --git a/pkgs/applications/networking/browsers/chromium/update.py b/pkgs/applications/networking/browsers/chromium/update.py
index 380d33c12427a..b8af11ee61d02 100755
--- a/pkgs/applications/networking/browsers/chromium/update.py
+++ b/pkgs/applications/networking/browsers/chromium/update.py
@@ -1,8 +1,8 @@
 #! /usr/bin/env nix-shell
-#! nix-shell -i python -p python3 nix nix-prefetch-git
+#! nix-shell -i python -p python3 nix nixfmt nix-prefetch-git
 
 """This script automatically updates chromium, google-chrome, chromedriver, and ungoogled-chromium
-via upstream-info.json."""
+via upstream-info.nix."""
 # Usage: ./update.py [--commit]
 
 import base64
@@ -23,16 +23,23 @@ RELEASES_URL = 'https://versionhistory.googleapis.com/v1/chrome/platforms/linux/
 DEB_URL = 'https://dl.google.com/linux/chrome/deb/pool/main/g'
 BUCKET_URL = 'https://commondatastorage.googleapis.com/chromium-browser-official'
 
-JSON_PATH = dirname(abspath(__file__)) + '/upstream-info.json'
+PIN_PATH = dirname(abspath(__file__)) + '/upstream-info.nix'
 UNGOOGLED_FLAGS_PATH = dirname(abspath(__file__)) + '/ungoogled-flags.toml'
 COMMIT_MESSAGE_SCRIPT = dirname(abspath(__file__)) + '/get-commit-message.py'
 
 
-def load_json(path):
-    """Loads the given JSON file."""
-    with open(path, 'r') as f:
-        return json.load(f)
+def load_as_json(path):
+    """Loads the given nix file as JSON."""
+    out = subprocess.check_output(['nix-instantiate', '--eval', '--strict', '--json', path])
+    return json.loads(out)
 
+def save_dict_as_nix(path, input):
+    """Saves the given dict/JSON as nix file."""
+    json_string = json.dumps(input)
+    nix = subprocess.check_output(['nix-instantiate', '--eval', '--expr', '{ json }: builtins.fromJSON json', '--argstr', 'json', json_string])
+    formatted = subprocess.check_output(['nixfmt'], input=nix)
+    with open(path, 'w') as out:
+        out.write(formatted.decode())
 
 def nix_prefetch_url(url, algo='sha256'):
     """Prefetches the content of the given URL."""
@@ -160,7 +167,7 @@ def print_updates(channels_old, channels_new):
 
 
 channels = {}
-last_channels = load_json(JSON_PATH)
+last_channels = load_as_json(PIN_PATH)
 
 
 print(f'GET {RELEASES_URL}', file=sys.stderr)
@@ -225,9 +232,7 @@ if len(sys.argv) == 2 and sys.argv[1] == '--commit':
         version_new = sorted_channels[channel_name]['version']
         if LooseVersion(version_old) < LooseVersion(version_new):
             last_channels[channel_name] = sorted_channels[channel_name]
-            with open(JSON_PATH, 'w') as out:
-                json.dump(last_channels, out, indent=2)
-                out.write('\n')
+            save_dict_as_nix(PIN_PATH, last_channels)
             attr_name = channel_name_to_attr_name(channel_name)
             commit_message = f'{attr_name}: {version_old} -> {version_new}'
             if channel_name == 'stable':
@@ -238,7 +243,5 @@ if len(sys.argv) == 2 and sys.argv[1] == '--commit':
             subprocess.run(['git', 'add', JSON_PATH], check=True)
             subprocess.run(['git', 'commit', '--file=-'], input=commit_message.encode(), check=True)
 else:
-    with open(JSON_PATH, 'w') as out:
-        json.dump(sorted_channels, out, indent=2)
-        out.write('\n')
+    save_dict_as_nix(PIN_PATH, sorted_channels)
     print_updates(last_channels, sorted_channels)
diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.json b/pkgs/applications/networking/browsers/chromium/upstream-info.json
deleted file mode 100644
index d5b5e212505f5..0000000000000
--- a/pkgs/applications/networking/browsers/chromium/upstream-info.json
+++ /dev/null
@@ -1,64 +0,0 @@
-{
-  "stable": {
-    "version": "115.0.5790.110",
-    "sha256": "0wgp44qnvmdqf2kk870ndm51rcvar36li2qq632ay4n8gfpbrm79",
-    "sha256bin64": "1w2jl92x78s4vxv4p1imkz7qaq51yvs0wiz2bclbjz0hjlw9akr3",
-    "deps": {
-      "gn": {
-        "version": "2023-05-19",
-        "url": "https://gn.googlesource.com/gn",
-        "rev": "e9e83d9095d3234adf68f3e2866f25daf766d5c7",
-        "sha256": "0y07c18xskq4mclqiz3a63fz8jicz2kqridnvdhqdf75lhp61f8a"
-      }
-    },
-    "chromedriver": {
-      "version": "115.0.5790.98",
-      "sha256_linux": "1797qmb213anvp9lmrkj6wmfdwkdfswmshmk1816zankw5dl883j",
-      "sha256_darwin": "1c41cb7zh13ny4xvpwy7703cnjrkmqxd3n8zpja7n6a38mi8mgsk",
-      "sha256_darwin_aarch64": "1kliszw10jnnlhzi8jrdzjq0r7vfn6ksk1spsh2rfn2hmghccv2d"
-    }
-  },
-  "beta": {
-    "version": "116.0.5845.50",
-    "sha256": "0r5m2bcrh2zpl2m8wnzyl4afh8s0dh2m2fnfjf50li94694vy4jz",
-    "sha256bin64": "047wsszg4c23vxq93a335iymiqpy7lw5izzz4f0zk1a4sijafd59",
-    "deps": {
-      "gn": {
-        "version": "2023-06-09",
-        "url": "https://gn.googlesource.com/gn",
-        "rev": "4bd1a77e67958fb7f6739bd4542641646f264e5d",
-        "sha256": "14h9jqspb86sl5lhh6q0kk2rwa9zcak63f8drp7kb3r4dx08vzsw"
-      }
-    }
-  },
-  "dev": {
-    "version": "117.0.5897.3",
-    "sha256": "0pyf3k58m26lkc6v6mqpwvhyaj6bbyywl4c17cxb5zmzc1zmc5ia",
-    "sha256bin64": "10w5dm68aaffgdq0xqi4ans2w7byisqqld09pz5vpk350gy16fjh",
-    "deps": {
-      "gn": {
-        "version": "2023-07-12",
-        "url": "https://gn.googlesource.com/gn",
-        "rev": "fae280eabe5d31accc53100137459ece19a7a295",
-        "sha256": "02javy4jsllwl4mxl2zmg964jvzw800w6gbmr5z6jdkip24fw0kj"
-      }
-    }
-  },
-  "ungoogled-chromium": {
-    "version": "115.0.5790.110",
-    "sha256": "0wgp44qnvmdqf2kk870ndm51rcvar36li2qq632ay4n8gfpbrm79",
-    "sha256bin64": "1w2jl92x78s4vxv4p1imkz7qaq51yvs0wiz2bclbjz0hjlw9akr3",
-    "deps": {
-      "gn": {
-        "version": "2023-05-19",
-        "url": "https://gn.googlesource.com/gn",
-        "rev": "e9e83d9095d3234adf68f3e2866f25daf766d5c7",
-        "sha256": "0y07c18xskq4mclqiz3a63fz8jicz2kqridnvdhqdf75lhp61f8a"
-      },
-      "ungoogled-patches": {
-        "rev": "115.0.5790.110-1",
-        "sha256": "1jahy4jl5bnnzl6433hln0dj3b39v5zqd90n8zf7ss45wqrff91b"
-      }
-    }
-  }
-}
diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.nix b/pkgs/applications/networking/browsers/chromium/upstream-info.nix
new file mode 100644
index 0000000000000..5bf8819390da1
--- /dev/null
+++ b/pkgs/applications/networking/browsers/chromium/upstream-info.nix
@@ -0,0 +1,65 @@
+{
+  beta = {
+    deps = {
+      gn = {
+        rev = "4bd1a77e67958fb7f6739bd4542641646f264e5d";
+        sha256 = "14h9jqspb86sl5lhh6q0kk2rwa9zcak63f8drp7kb3r4dx08vzsw";
+        url = "https://gn.googlesource.com/gn";
+        version = "2023-06-09";
+      };
+    };
+    sha256 = "0r5m2bcrh2zpl2m8wnzyl4afh8s0dh2m2fnfjf50li94694vy4jz";
+    sha256bin64 = "047wsszg4c23vxq93a335iymiqpy7lw5izzz4f0zk1a4sijafd59";
+    version = "116.0.5845.50";
+  };
+  dev = {
+    deps = {
+      gn = {
+        rev = "fae280eabe5d31accc53100137459ece19a7a295";
+        sha256 = "02javy4jsllwl4mxl2zmg964jvzw800w6gbmr5z6jdkip24fw0kj";
+        url = "https://gn.googlesource.com/gn";
+        version = "2023-07-12";
+      };
+    };
+    sha256 = "0pyf3k58m26lkc6v6mqpwvhyaj6bbyywl4c17cxb5zmzc1zmc5ia";
+    sha256bin64 = "10w5dm68aaffgdq0xqi4ans2w7byisqqld09pz5vpk350gy16fjh";
+    version = "117.0.5897.3";
+  };
+  stable = {
+    chromedriver = {
+      sha256_darwin = "1c41cb7zh13ny4xvpwy7703cnjrkmqxd3n8zpja7n6a38mi8mgsk";
+      sha256_darwin_aarch64 =
+        "1kliszw10jnnlhzi8jrdzjq0r7vfn6ksk1spsh2rfn2hmghccv2d";
+      sha256_linux = "1797qmb213anvp9lmrkj6wmfdwkdfswmshmk1816zankw5dl883j";
+      version = "115.0.5790.98";
+    };
+    deps = {
+      gn = {
+        rev = "e9e83d9095d3234adf68f3e2866f25daf766d5c7";
+        sha256 = "0y07c18xskq4mclqiz3a63fz8jicz2kqridnvdhqdf75lhp61f8a";
+        url = "https://gn.googlesource.com/gn";
+        version = "2023-05-19";
+      };
+    };
+    sha256 = "0wgp44qnvmdqf2kk870ndm51rcvar36li2qq632ay4n8gfpbrm79";
+    sha256bin64 = "1w2jl92x78s4vxv4p1imkz7qaq51yvs0wiz2bclbjz0hjlw9akr3";
+    version = "115.0.5790.110";
+  };
+  ungoogled-chromium = {
+    deps = {
+      gn = {
+        rev = "e9e83d9095d3234adf68f3e2866f25daf766d5c7";
+        sha256 = "0y07c18xskq4mclqiz3a63fz8jicz2kqridnvdhqdf75lhp61f8a";
+        url = "https://gn.googlesource.com/gn";
+        version = "2023-05-19";
+      };
+      ungoogled-patches = {
+        rev = "115.0.5790.110-1";
+        sha256 = "1jahy4jl5bnnzl6433hln0dj3b39v5zqd90n8zf7ss45wqrff91b";
+      };
+    };
+    sha256 = "0wgp44qnvmdqf2kk870ndm51rcvar36li2qq632ay4n8gfpbrm79";
+    sha256bin64 = "1w2jl92x78s4vxv4p1imkz7qaq51yvs0wiz2bclbjz0hjlw9akr3";
+    version = "115.0.5790.110";
+  };
+}
diff --git a/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix b/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix
index 9d429cee07647..5a09f83355191 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix
@@ -1,1015 +1,1015 @@
 {
-  version = "116.0b8";
+  version = "117.0b2";
   sources = [
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/ach/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/ach/firefox-117.0b2.tar.bz2";
       locale = "ach";
       arch = "linux-x86_64";
-      sha256 = "9cb94d3e455416be589f39af21c9e12d0f38306945695c50dba6173dd99c4738";
+      sha256 = "5be5960dbfd290917b99836883dd79bed96b7ce64587745d3a7a5c4d96127356";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/af/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/af/firefox-117.0b2.tar.bz2";
       locale = "af";
       arch = "linux-x86_64";
-      sha256 = "84c551696c4cb2ba0660bbc6378ae943db487a1e40cd38ccf8810356523ec7d2";
+      sha256 = "cb6c501f6e1fe74b6d46ff3de00cca7a9565d687a2938ed290969fb1e8e40310";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/an/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/an/firefox-117.0b2.tar.bz2";
       locale = "an";
       arch = "linux-x86_64";
-      sha256 = "909378ee25ac5de064a602ddbb53a420c7fc7451c508549ceda3f4ccdc8e985a";
+      sha256 = "a66c37468d2fbf6622e0caae6b5cd373750f7cfb5b5d95390c2678214312b1fd";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/ar/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/ar/firefox-117.0b2.tar.bz2";
       locale = "ar";
       arch = "linux-x86_64";
-      sha256 = "29a31a37722e02f2f4655319e89d90ca1ef31c4f31864ba228fdd5e5ec9473db";
+      sha256 = "24585670af81ce2bd7003c1f14c7915737d60deacb97fe8f7912832a8221c9de";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/ast/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/ast/firefox-117.0b2.tar.bz2";
       locale = "ast";
       arch = "linux-x86_64";
-      sha256 = "524d45b03f2dce296c3296f68f0b673c098cd48a95059ca738d85f6a5b7c2643";
+      sha256 = "0acfcee87d21cdaadce5f6c335f60f40361e64241790c8629ca438a2590518d4";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/az/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/az/firefox-117.0b2.tar.bz2";
       locale = "az";
       arch = "linux-x86_64";
-      sha256 = "364641fe80b2267dcc457c16b7fa7e2101ccfb6a9d78acc93c5be3103eb2347d";
+      sha256 = "1a40539754405f69a0c3d9cf7a76e4e0481f16f85c05f5cec2a0fc3089904cf0";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/be/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/be/firefox-117.0b2.tar.bz2";
       locale = "be";
       arch = "linux-x86_64";
-      sha256 = "37489d2602ee9bc230460e01fa71377da2dba0a08e65ee4abfc04ef91c01d891";
+      sha256 = "89803701e298fbb09cdacd910f318e8dfb3b47096246ca9e8e162d8eb3599310";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/bg/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/bg/firefox-117.0b2.tar.bz2";
       locale = "bg";
       arch = "linux-x86_64";
-      sha256 = "537a1282ad2eface4b9f9c7ffffd12fef0449998c1cea9d1295b1183c798a421";
+      sha256 = "af4c65bc9ebc1a4529bd6f6834fa6d5566805e424f11c2da3db07427f622be06";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/bn/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/bn/firefox-117.0b2.tar.bz2";
       locale = "bn";
       arch = "linux-x86_64";
-      sha256 = "cc6143dd33164e13c1214b9e0d326ccb7591483da9af691ac1ee7b20d9e4a7c1";
+      sha256 = "e663d1a80f1367b5b6941af98a980825e28b15cb287c1e33a508157dc2abbf11";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/br/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/br/firefox-117.0b2.tar.bz2";
       locale = "br";
       arch = "linux-x86_64";
-      sha256 = "0dee5a10ff30611cf2a2fe6e04fcf14dd971eebb5c57f4e356f991cc7286d04c";
+      sha256 = "40aa6681094ace0423f1970b7812bfb8bd9fcbf3feaa485cb23ff21a7fcb5f12";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/bs/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/bs/firefox-117.0b2.tar.bz2";
       locale = "bs";
       arch = "linux-x86_64";
-      sha256 = "74d2261bb6d230fa147d3174c133b1787287dfff14c8610c1d86acec61d0fbbb";
+      sha256 = "b12da3d20a65b99a3c43ce358d059d9e071a4be699f65452436b28d286deac39";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/ca-valencia/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/ca-valencia/firefox-117.0b2.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-x86_64";
-      sha256 = "deef62993510e309605f26fa969ba4379a6cdac9346b6bfae03c255ab53c5712";
+      sha256 = "d3fbd579d56f2f11e291917b4454d22caec38f7ad1cdffdf4346e1801d89d9b4";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/ca/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/ca/firefox-117.0b2.tar.bz2";
       locale = "ca";
       arch = "linux-x86_64";
-      sha256 = "901895cc2d5edb2b58cd8df609d2393a56632fd2fd69c36167116c8723f4e853";
+      sha256 = "28e0e6dc86dd3824fa6b4703e4cc72c9ef492105763469ee66d9524ecf08a143";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/cak/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/cak/firefox-117.0b2.tar.bz2";
       locale = "cak";
       arch = "linux-x86_64";
-      sha256 = "4e4a99280e8de60a0ad8191506f4a631f8bd904101d09d1cef9b251232f19269";
+      sha256 = "cd99652388e4d141dedd64f0af899d8cdf9a6927501505f6e610ee1e33e07542";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/cs/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/cs/firefox-117.0b2.tar.bz2";
       locale = "cs";
       arch = "linux-x86_64";
-      sha256 = "70993ac9ee08ab5c4b316ed70490f6b8e8e0f6483fde5506965ee662efecee94";
+      sha256 = "f10daf296e60e96e05e00c49b559f3b765b073f743ba3bb53d14f2d5496f2fd2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/cy/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/cy/firefox-117.0b2.tar.bz2";
       locale = "cy";
       arch = "linux-x86_64";
-      sha256 = "665287973cd3570cd876b1db55f35704f56824e71b0e784a8ca23b307e5c55b7";
+      sha256 = "d49fa5e6174cae11dcaaddb55ce441c0edfc87453c256579e84072dab997b7e8";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/da/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/da/firefox-117.0b2.tar.bz2";
       locale = "da";
       arch = "linux-x86_64";
-      sha256 = "1caa569780dfc98f276cb74a6975aa660213af656cb16201e076565936dfbabe";
+      sha256 = "dc4289ec28b16734125f51143ed1264a2977a038b9ccb12565909ddf7bba9e40";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/de/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/de/firefox-117.0b2.tar.bz2";
       locale = "de";
       arch = "linux-x86_64";
-      sha256 = "1e02a50b42dc917acebc5c960e05a922fd73d2814ff1625f5b1746c61db51739";
+      sha256 = "cae9b5a538432ca4d9d3f8069f14e2062e1b23d0c3d2265d413d3346e9a8c2c3";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/dsb/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/dsb/firefox-117.0b2.tar.bz2";
       locale = "dsb";
       arch = "linux-x86_64";
-      sha256 = "224a5e96dd87d2fba246a4560a872f0f09ea49e4ae952705653241c6d6139619";
+      sha256 = "bf636d5851fe7a2fa695fbe7082d0780b9d0bc3ac2690b65c09cc5d15ffed275";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/el/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/el/firefox-117.0b2.tar.bz2";
       locale = "el";
       arch = "linux-x86_64";
-      sha256 = "29eb30dcac376d240fc66bac61135c5ff9e8658048b8b087c1de2301363f0367";
+      sha256 = "b94b8c113f9c849f3466c50f2f608d54b0ecd5dbc75390184bac509d6763127f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/en-CA/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/en-CA/firefox-117.0b2.tar.bz2";
       locale = "en-CA";
       arch = "linux-x86_64";
-      sha256 = "09e6cb4e6b36d1996a8dd55879ca7b6da775820439670fb81f2f64e79ed88826";
+      sha256 = "4b8a4164aa503056b7190f557aa4e4c8a54d871d40a34505af5ebb27b78bf8f3";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/en-GB/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/en-GB/firefox-117.0b2.tar.bz2";
       locale = "en-GB";
       arch = "linux-x86_64";
-      sha256 = "c433671a8e11b13c46f8ac2146f29098804142be3007f681827ed52bbeca35ce";
+      sha256 = "7218f7c616b1f1d44e897c3a136e9d95783ae656bfe529ecd98b39f758f9d35f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/en-US/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/en-US/firefox-117.0b2.tar.bz2";
       locale = "en-US";
       arch = "linux-x86_64";
-      sha256 = "7fc46217633e9665178d3a726cf71a48c88698be6aa12aa908e577f660000e6d";
+      sha256 = "f29362399cb7f700e66ccf9d29c173f26ed73bdd0c8135e198212a9627789f93";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/eo/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/eo/firefox-117.0b2.tar.bz2";
       locale = "eo";
       arch = "linux-x86_64";
-      sha256 = "9e626f1d402581848d1c97bf106cbced4859ca2d2cfc28ab64036eaee81fa561";
+      sha256 = "350de0dd1eb551cd35ec7a218ba261d11e932044439d178fe24661f560a5a93d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/es-AR/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/es-AR/firefox-117.0b2.tar.bz2";
       locale = "es-AR";
       arch = "linux-x86_64";
-      sha256 = "a5843a9b972629dd4582c1d534c2d8ec4e517840d702abb698d5ffe3a0618273";
+      sha256 = "3ae2e20e5be67601ab20921b9e1b8a53972881261f3aa288a5f1fd7d0f20159c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/es-CL/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/es-CL/firefox-117.0b2.tar.bz2";
       locale = "es-CL";
       arch = "linux-x86_64";
-      sha256 = "6c3a8023908cc265ff42459e7eae97d11ad63140bacc685673fa44f373190e12";
+      sha256 = "c241e3d71c44c8329fbeedc225bbd9ea35addeb75b6f76002ac60ac93884a45a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/es-ES/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/es-ES/firefox-117.0b2.tar.bz2";
       locale = "es-ES";
       arch = "linux-x86_64";
-      sha256 = "8c89011e25482a427f794c6837c81951e5b5ddff677a3d5e9a19d269c03868c2";
+      sha256 = "05e4daa4351b6927bf300cf3cd95cf25ef749a8ae217be83f88937a18913ef24";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/es-MX/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/es-MX/firefox-117.0b2.tar.bz2";
       locale = "es-MX";
       arch = "linux-x86_64";
-      sha256 = "6ba6c320b452858b215e27ac21eed18ee8c9e2e7542fc5e627b5e3f104e1f3b0";
+      sha256 = "1e8bbef69e2e870765d6d32a17f7c81dec5f2683a979fb9a2185bac0982c0e4a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/et/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/et/firefox-117.0b2.tar.bz2";
       locale = "et";
       arch = "linux-x86_64";
-      sha256 = "837b979e8e56d3dccb819c6b209986d804e46f75cf82024198fa19e899d2ff38";
+      sha256 = "2fbf2abd087dde63ee5c51ba4344c397d74aa2a6c082174b4abb5d390162b020";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/eu/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/eu/firefox-117.0b2.tar.bz2";
       locale = "eu";
       arch = "linux-x86_64";
-      sha256 = "b72ecb86f19db3f312007d4eba9d39517f6f65457a446587c83b5313d8a12fd7";
+      sha256 = "97dfe7170990cc9e1605ed73f86cb2fdccf6ce896b83eca4277bc54d25fab570";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/fa/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/fa/firefox-117.0b2.tar.bz2";
       locale = "fa";
       arch = "linux-x86_64";
-      sha256 = "8b1e0aa031c6ce1a286a00f8ac7909ab8793cf3b3864bb1e4f8206a9c1e3656f";
+      sha256 = "d694934c93c4c75bc65a0aa969fc544f2a3c2f9534847ae161998f000243ad1f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/ff/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/ff/firefox-117.0b2.tar.bz2";
       locale = "ff";
       arch = "linux-x86_64";
-      sha256 = "fbc4e0e32b00c499eb3f1b40583ac6c9e0f48673cf5b440c4ad05ee3720376cb";
+      sha256 = "4480f7787c613d2cdfa63ea0afa76be4d7f8fd5976257e7c8e3ee83df2810fed";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/fi/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/fi/firefox-117.0b2.tar.bz2";
       locale = "fi";
       arch = "linux-x86_64";
-      sha256 = "c7d3b82f61b49771956d579d445de7c2f35ca51bf767c134d26d569545557137";
+      sha256 = "8005177aaf38c1ddcdf70c4145bb3b2af333c851adce36b399c133331cb53e59";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/fr/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/fr/firefox-117.0b2.tar.bz2";
       locale = "fr";
       arch = "linux-x86_64";
-      sha256 = "094cc973cc67545c02ec6e8f49b4337a8b45ef03a7de0d194ceff9b272d339b8";
+      sha256 = "69a5a997e57e01ca402b78a7ba58f65a54de771a2a83912a964788699538c97b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/fur/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/fur/firefox-117.0b2.tar.bz2";
       locale = "fur";
       arch = "linux-x86_64";
-      sha256 = "a3ac9ae10b24b1a5ad682b07b9d453c8f558abe9b847a2308b5a6b4f29014551";
+      sha256 = "90bbde6112b8293f1bd4441d2def3c1b7b079e64df3caf3c2cc2e9d5d0f8c367";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/fy-NL/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/fy-NL/firefox-117.0b2.tar.bz2";
       locale = "fy-NL";
       arch = "linux-x86_64";
-      sha256 = "cc6b4f06bce110ab5d07ae283fa5f5530ba3bf5f5484626fa0c9f89e8ae80c03";
+      sha256 = "bdd94ae75e841544506a51f99bbeffe53f76d6cd4225f623594fed3589082e93";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/ga-IE/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/ga-IE/firefox-117.0b2.tar.bz2";
       locale = "ga-IE";
       arch = "linux-x86_64";
-      sha256 = "3a28d08b4105db7cf7ad5e31010b94580d5948c22ae32b059550df8af74c7ef5";
+      sha256 = "d67b40a50dde8c0ebf4f395cd0575e1042aadfd68261bcb4fa31df6f9fe26f67";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/gd/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/gd/firefox-117.0b2.tar.bz2";
       locale = "gd";
       arch = "linux-x86_64";
-      sha256 = "06792b3bf2305828fb87b5bf71f113778ac5de84adf37b7c4d9c4305f5eaca4b";
+      sha256 = "13290f13ef8df46fd26112060b61cafa18ff76ab0044b2cf1684d6de79f537bf";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/gl/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/gl/firefox-117.0b2.tar.bz2";
       locale = "gl";
       arch = "linux-x86_64";
-      sha256 = "27135a7eeab84a42288eefb6fc517cb2818f51d09ee726d8ff6d9cd50bd6462f";
+      sha256 = "7a9afc0af30899cd85ce1d396e892954ee80100993d5a52a16b25802df7491d3";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/gn/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/gn/firefox-117.0b2.tar.bz2";
       locale = "gn";
       arch = "linux-x86_64";
-      sha256 = "ff9a71dd614c366e51c28d4fc68933da97e7f5e21dc6ed2ce366790ee7ef4085";
+      sha256 = "a7be5a715851b6ba9440b7b243408a2e069386fcd6b07bcaa0ee52893fc89900";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/gu-IN/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/gu-IN/firefox-117.0b2.tar.bz2";
       locale = "gu-IN";
       arch = "linux-x86_64";
-      sha256 = "55bb8fc9a1f9c65859ac28b896969e997128e3aaf51d706c41402ab8dd31a908";
+      sha256 = "5c75b3fc7671659907309ffa2596e921d47dae854a1107c5943b024014399bbc";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/he/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/he/firefox-117.0b2.tar.bz2";
       locale = "he";
       arch = "linux-x86_64";
-      sha256 = "90d6cb167d44ccb07b9ae04a79cb93416dfb9e3716ddf7e132969e2f3dece593";
+      sha256 = "92d9a6a76e24086509e5d663c689c0382fa4aca12c5761192949c3bd43ac90d7";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/hi-IN/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/hi-IN/firefox-117.0b2.tar.bz2";
       locale = "hi-IN";
       arch = "linux-x86_64";
-      sha256 = "25382ea2b7a0b3c7d15cce52507a1016b923b87d55937f492f07ba4107a55041";
+      sha256 = "738800efab05283a30d8c27eb18194dc4f23c3bc2f622371f6180ef252cc6082";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/hr/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/hr/firefox-117.0b2.tar.bz2";
       locale = "hr";
       arch = "linux-x86_64";
-      sha256 = "92c16e291317f68d5c38568146d8133443fcd01e6d463ab0a2f1211d92fc3226";
+      sha256 = "6454c78a8f2a98a9b63c6ab756abb26e3a95670de8b11f8f5064bd74910aaad8";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/hsb/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/hsb/firefox-117.0b2.tar.bz2";
       locale = "hsb";
       arch = "linux-x86_64";
-      sha256 = "2355f9e3a2605996e0b53cc6dfea3eda4461cc9e36e72b31e1248d573104471a";
+      sha256 = "2626e53b477cdca02108b8a8b89bb780f74523235af43f03ed66c89fd3adc2bf";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/hu/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/hu/firefox-117.0b2.tar.bz2";
       locale = "hu";
       arch = "linux-x86_64";
-      sha256 = "f32934bf704207ac62f2c22511bea16e9b5e4e4b335639e17bbd2a1e14df3dd8";
+      sha256 = "b76dbdf3b029d2be0b5f9c27c1085f51d674f103f3d0d6268ee8cb655da416bb";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/hy-AM/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/hy-AM/firefox-117.0b2.tar.bz2";
       locale = "hy-AM";
       arch = "linux-x86_64";
-      sha256 = "e1fb12a01b562466d8ea65e88341e071a39b4f32e60f3f92075436bba517757f";
+      sha256 = "e6df98bee2cfbcdaf0d3eb4d40c7fef4fa7bd8a40ae6a25fe69936f45982caa4";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/ia/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/ia/firefox-117.0b2.tar.bz2";
       locale = "ia";
       arch = "linux-x86_64";
-      sha256 = "215d32e913f4820f66c49c43f1132d4dcdd958b747849066fd320f1cf06178f0";
+      sha256 = "95c882ca170917cc9cee44a6bbc62619e1e17fbda11fc91868e0c9755b945888";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/id/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/id/firefox-117.0b2.tar.bz2";
       locale = "id";
       arch = "linux-x86_64";
-      sha256 = "93261962e3f8c4b8011e7346c5bc39b173dc25d96954936c982e08490a3ce01c";
+      sha256 = "32b2e51252020d5a488b6889d8d673b378af41c15151b5e6cc4f454aa1cbb55b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/is/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/is/firefox-117.0b2.tar.bz2";
       locale = "is";
       arch = "linux-x86_64";
-      sha256 = "90c86b103b4251e77041e324dfc8faab55f23c548f972edcf2adfcc64ed72b7d";
+      sha256 = "260fda1ddd2734e6f43ec7d359853dd9b326d656c938b9350e52024df12841dd";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/it/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/it/firefox-117.0b2.tar.bz2";
       locale = "it";
       arch = "linux-x86_64";
-      sha256 = "68aabe01eb191b293d9590958e4f7b0f792c1b5ddba1eafc5d955f766a58741b";
+      sha256 = "acb76da212c0c3625123c618a396e1c1200b2639119a68f24aea9bb720aa15f4";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/ja/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/ja/firefox-117.0b2.tar.bz2";
       locale = "ja";
       arch = "linux-x86_64";
-      sha256 = "175d7c0b2a62ada9fc0b9fdaf15ebc25ffe329c605eda2634abc67679e34abe3";
+      sha256 = "aafd622bcf8bc95b4c0ec9e88dad3bc71ecfec2ff8cb1c128a55ae1d1b276c46";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/ka/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/ka/firefox-117.0b2.tar.bz2";
       locale = "ka";
       arch = "linux-x86_64";
-      sha256 = "54c30ae8c6aeb441a335b5918cc3f93fb446807d8a47c253e1a0a385f1f45f8c";
+      sha256 = "a8ff510bbb825d0fa311d02d164f2490dfc4babab651145733375d0b5c777e44";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/kab/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/kab/firefox-117.0b2.tar.bz2";
       locale = "kab";
       arch = "linux-x86_64";
-      sha256 = "c5c8795b96a36c8d50ff4c40ab71dcc350bbe4a8c3187aa35593887d1da0afcc";
+      sha256 = "1bb2462dfa955cef8accdaf42684204194fb5cd572d865e519b578e7003ebfd8";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/kk/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/kk/firefox-117.0b2.tar.bz2";
       locale = "kk";
       arch = "linux-x86_64";
-      sha256 = "0843c23e44f75b5daea98c667b7ef11b71e3ed199fa113f514902814076e96ad";
+      sha256 = "fcf985556aa7c8ce7a78701612de5c4efdb78a1503b886b07851873459d8ef0a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/km/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/km/firefox-117.0b2.tar.bz2";
       locale = "km";
       arch = "linux-x86_64";
-      sha256 = "659ae7a9eee9566a3ce0cc8c2bef73887e7c02cb0669898909d1b7ac14b62377";
+      sha256 = "20ef1427e02a863eda9bd992a06654dfce6748c1c7bd4517f862b62d26935973";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/kn/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/kn/firefox-117.0b2.tar.bz2";
       locale = "kn";
       arch = "linux-x86_64";
-      sha256 = "254bf336dc3d794abb4d6cd0b1e2cfcca48c99411a967eb806fb556546ef4332";
+      sha256 = "0e3fc396498779eeb64fbe5ad024c3bf753c66aac67454130d38b50e8a549779";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/ko/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/ko/firefox-117.0b2.tar.bz2";
       locale = "ko";
       arch = "linux-x86_64";
-      sha256 = "e8c9aeb386f7fd22a8f6d6c09e15312e81c79bcac5cf80310fbf90c620edf32f";
+      sha256 = "eae2ad60e64e820446fc262c12e457dc588a488124dd12a69954cd54718e0898";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/lij/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/lij/firefox-117.0b2.tar.bz2";
       locale = "lij";
       arch = "linux-x86_64";
-      sha256 = "35bba0b880f462a6a4b906ca6146f8e2cc5d68a82f80727b0ee39cea20d05c70";
+      sha256 = "cc94927ae0749e77874b1bed74245ee75cc9a745818f176461faaa4eec8f9550";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/lt/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/lt/firefox-117.0b2.tar.bz2";
       locale = "lt";
       arch = "linux-x86_64";
-      sha256 = "a542b34826071c0c63900db6ba1ffd49b9404e8b4a7b61d6c3def4cccb3c8246";
+      sha256 = "06244073ade9edbea8d2afc209a17c1093b9256eb7069b8974f179c9a1461db6";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/lv/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/lv/firefox-117.0b2.tar.bz2";
       locale = "lv";
       arch = "linux-x86_64";
-      sha256 = "764787d668b74fbc080580f2cb56dd2da570434fe2268e75eaf5afb4f1de4933";
+      sha256 = "1f1135aeaf6a53c2bc17e5a8c6ce92e64a48c3e6e5b4fa5f182e3ed5049747eb";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/mk/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/mk/firefox-117.0b2.tar.bz2";
       locale = "mk";
       arch = "linux-x86_64";
-      sha256 = "75bf81b92b4a801d0176583752e86db478f4423930bb4e9cd31032fcce9e855c";
+      sha256 = "b64978bae5ab9e2cf1c8bb756fee30f906c07e04406960564739f35761593923";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/mr/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/mr/firefox-117.0b2.tar.bz2";
       locale = "mr";
       arch = "linux-x86_64";
-      sha256 = "2904da64d1bc2e3cb7213b1c4eaac2f87c801aa37c035099ac208c6ff609b830";
+      sha256 = "6e82be56f8a4f6bed894ecf654fcd4eef14c1635222ccfa81f57645e63e6bc6c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/ms/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/ms/firefox-117.0b2.tar.bz2";
       locale = "ms";
       arch = "linux-x86_64";
-      sha256 = "35225a31f91cfe961908fb03698ac1fb55daa6429a14c42d9d5b8cdd349b9f9c";
+      sha256 = "1935b6eb9a70b10ee103e614d811048849240f7d3411fc6c77d450516840cbdb";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/my/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/my/firefox-117.0b2.tar.bz2";
       locale = "my";
       arch = "linux-x86_64";
-      sha256 = "84738935a71da28bff01d4267794e90327ccacd857614d3ebb3239f3e3dbecca";
+      sha256 = "08a4a0aeb9940ce968268c0dd798da4f8af5e18122ae117a9800a4c2693795ac";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/nb-NO/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/nb-NO/firefox-117.0b2.tar.bz2";
       locale = "nb-NO";
       arch = "linux-x86_64";
-      sha256 = "05c6753109eabf753680172ececdbb8fa06973ca1958065d14101cef7ac48a2c";
+      sha256 = "3b47164175c0b489c882ae026f2fa3b194bcb66fbada68e26d77b90dda438061";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/ne-NP/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/ne-NP/firefox-117.0b2.tar.bz2";
       locale = "ne-NP";
       arch = "linux-x86_64";
-      sha256 = "959f141da7526767c03382b30fbe7b5e4013d63559be5c3d36f6bd6c5a0ea830";
+      sha256 = "9cfbec702d4ee33e337f520b791a71876bcfd34a987a6df6738b0581281912e6";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/nl/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/nl/firefox-117.0b2.tar.bz2";
       locale = "nl";
       arch = "linux-x86_64";
-      sha256 = "47b18d05130e41e8971be2b7d4a59b0a72c93dbbaa4d688fc3c3809bb04e1dae";
+      sha256 = "2caa7e2cc44dfebe4d1bd275f3d1e1808714d839a8e88460f017e45628918e33";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/nn-NO/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/nn-NO/firefox-117.0b2.tar.bz2";
       locale = "nn-NO";
       arch = "linux-x86_64";
-      sha256 = "88003d8abb4a99722242cb785024d79c7bffd6b3ffba6a1c87395a379255917e";
+      sha256 = "ff1eb7b00e33a1be9b14f5cc4d225e839c0c31dd18b1edb6a10af910ebf189d1";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/oc/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/oc/firefox-117.0b2.tar.bz2";
       locale = "oc";
       arch = "linux-x86_64";
-      sha256 = "fce2430022b1693a36be5838ae0cff667d31bec253763ee9c4bd945126d7dc3a";
+      sha256 = "80373bdb425ab51984a282043aae95b7b59b7d7d501324706a5e79701eb75e3d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/pa-IN/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/pa-IN/firefox-117.0b2.tar.bz2";
       locale = "pa-IN";
       arch = "linux-x86_64";
-      sha256 = "67f4e266b4e2b9db6767708de932638777b0c06b55e169688fbf3131db0f66a9";
+      sha256 = "0b9685da82df6610268aee5ebcb8667d457a60f3d4a6d3168a36398b0abf36a1";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/pl/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/pl/firefox-117.0b2.tar.bz2";
       locale = "pl";
       arch = "linux-x86_64";
-      sha256 = "16771f25e7cda79617ee0b71957e59d3503991cf5b9f46e1c53d86a9813796c3";
+      sha256 = "bb6957a8fc557c44eb328e0a6a822a2eb4ba04e97c31691e848d54485c86532b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/pt-BR/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/pt-BR/firefox-117.0b2.tar.bz2";
       locale = "pt-BR";
       arch = "linux-x86_64";
-      sha256 = "dbfa7678debae8c3b4f9c058e9852572710a6683f878faac56e256b6002abbee";
+      sha256 = "65157df63022539277c6a820dc30ff4d1bc2b1bb7edff521d102dace291e4727";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/pt-PT/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/pt-PT/firefox-117.0b2.tar.bz2";
       locale = "pt-PT";
       arch = "linux-x86_64";
-      sha256 = "0e04f510c1162fc6cb75503564d622067d53c597ae921527c65b43ad5db7b9ca";
+      sha256 = "ca999f469f6166aede7977924a470957b1ba62b890dff090f558a53ccb420a83";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/rm/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/rm/firefox-117.0b2.tar.bz2";
       locale = "rm";
       arch = "linux-x86_64";
-      sha256 = "1dc31ffae3ec48e05c6695471ee0d21529d5931e7b25b69a58ed386cb261b36a";
+      sha256 = "d0b8acfb9aa211733a0236dc2644f3dc42916f986178d5dfac5e0a0080c68600";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/ro/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/ro/firefox-117.0b2.tar.bz2";
       locale = "ro";
       arch = "linux-x86_64";
-      sha256 = "e21d61e7de4489509118a56f17e2af6718ae801b2be7f5c4e27f9a3153563797";
+      sha256 = "454f255701b564573fc6e57a859afd42c247462d55a6e945289f41dae8776ef1";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/ru/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/ru/firefox-117.0b2.tar.bz2";
       locale = "ru";
       arch = "linux-x86_64";
-      sha256 = "e152a089a3f0b54e6f441f70a28e36e5399a710dcf7ac440b4d75b68c05897b5";
+      sha256 = "ce9aedec07575cae626dd5a118b8374e4927431c7f5320a383b1f95ef30a7dbc";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/sc/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/sc/firefox-117.0b2.tar.bz2";
       locale = "sc";
       arch = "linux-x86_64";
-      sha256 = "b80bc29acf9c68d4624cd6efd8d69d04388370424ba79c7cd2a3fbfdc36545f4";
+      sha256 = "f45c8b9244c808042d0e766e3b35fdd5a8e29ac8f2ba09082aa98427da031db7";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/sco/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/sco/firefox-117.0b2.tar.bz2";
       locale = "sco";
       arch = "linux-x86_64";
-      sha256 = "4868ab304b872439c4a27f7805589cfb7bfa7ff677a4a2d4068c1a80ee1a74d8";
+      sha256 = "f0a7538119eb3cf677eb67dbbc5aabdc55689bee469187528b7916ec5f8e6218";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/si/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/si/firefox-117.0b2.tar.bz2";
       locale = "si";
       arch = "linux-x86_64";
-      sha256 = "1d3796fa9652b4fde3af6820196af9129b3a886e4331448d1ec79b461cdc9b82";
+      sha256 = "4c949aef6dce504d571bbb20d8c7f3da238252382ec53f8c9a6998fc6e7e6d74";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/sk/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/sk/firefox-117.0b2.tar.bz2";
       locale = "sk";
       arch = "linux-x86_64";
-      sha256 = "1301411170347034a887dfc86b42a23de427a7075420fa19f85fda8cbee663c7";
+      sha256 = "fe9c97f52bfe99f7fbe99670528a47446c944de6a96324b7f736a9b06dcdca0b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/sl/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/sl/firefox-117.0b2.tar.bz2";
       locale = "sl";
       arch = "linux-x86_64";
-      sha256 = "6aaaad2a1498039525b6a54da6a9b9e093a122ce12ec15795f1ae89bbe2e3226";
+      sha256 = "1472efdd9536fcebe37959379844205fcf71fd18fe8bb4fdacdb310d89b3be12";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/son/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/son/firefox-117.0b2.tar.bz2";
       locale = "son";
       arch = "linux-x86_64";
-      sha256 = "9dc3d9ea4a536d20a318eab324faae3af39bffa31123ef226fd01de53f19aeb7";
+      sha256 = "8b39b9fda8b2a05f61413bd8da2850df9c85c6ecebe82b474d43895246f1f1b5";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/sq/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/sq/firefox-117.0b2.tar.bz2";
       locale = "sq";
       arch = "linux-x86_64";
-      sha256 = "eee862ca66f50da99da00c3a8440f4027736e89ccb60ed3c1289daa084bc9529";
+      sha256 = "c40a93aed7f359a284e415bec2471e8a2f9a85da1e05169425265aadf0ba3546";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/sr/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/sr/firefox-117.0b2.tar.bz2";
       locale = "sr";
       arch = "linux-x86_64";
-      sha256 = "c9ace097320fc41b3275ace51bc017a46e15fdbafe9d0e32e49bee413692e686";
+      sha256 = "7165e5ade086f3cb1fac0903fd14194ccc3b9cae5fe6799c2044c1a77802daac";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/sv-SE/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/sv-SE/firefox-117.0b2.tar.bz2";
       locale = "sv-SE";
       arch = "linux-x86_64";
-      sha256 = "6d036f7a6b87d3b20f0722fd2286f4bfb7069597934ea232028b9fa06eb5f22e";
+      sha256 = "2b5f4c1446b91cfe246a37a0c8b1fc85e40fd758d0f65986c0dcf159baab8172";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/szl/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/szl/firefox-117.0b2.tar.bz2";
       locale = "szl";
       arch = "linux-x86_64";
-      sha256 = "bf27286e8cfb06c810819876b3aa8454666d7e7dd6320e273e24b561eceacb7e";
+      sha256 = "37012de37ea595c6ffea426ad67c654b3f7eea380f25cf847f2448b671cfe53f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/ta/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/ta/firefox-117.0b2.tar.bz2";
       locale = "ta";
       arch = "linux-x86_64";
-      sha256 = "c3390d048356aa6fc14f8f2c5724abee77ae5e57c07872abe4d467036897413c";
+      sha256 = "49a427f4a02cd2f30bf3856b2c5f1e99248c1cf8746fb27b67b0eb72106b9ff0";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/te/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/te/firefox-117.0b2.tar.bz2";
       locale = "te";
       arch = "linux-x86_64";
-      sha256 = "e06e0f380235699a789e607e3b535a7fa3f7752d4e57bc21127429e9f1c3c725";
+      sha256 = "59ca40d50cb8f92be34cdbd42be87ecfe65c68b3ffe112bb61417701c402db0d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/tg/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/tg/firefox-117.0b2.tar.bz2";
       locale = "tg";
       arch = "linux-x86_64";
-      sha256 = "81238072331d1b937b7b458d9ba9ef8f0393a36b906d6319029cfce44c208560";
+      sha256 = "2631e84e399f9dcaefeef4ad1a7ecb0fc0d311725a00dbb0e87e3acff58cb485";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/th/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/th/firefox-117.0b2.tar.bz2";
       locale = "th";
       arch = "linux-x86_64";
-      sha256 = "fe2ebb9ba259da513d8ddc9bdfa1d3b5fb859a88cf574bc4f9be8ffa679a4d97";
+      sha256 = "624c31fde2b5728710a654709bdae59135323a33a2b33e251feb2fe2f1f027f2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/tl/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/tl/firefox-117.0b2.tar.bz2";
       locale = "tl";
       arch = "linux-x86_64";
-      sha256 = "c6c672349e92ae496dc5d1d30ae0d814b233933b2404788897a0292ca978b25a";
+      sha256 = "3884cbb7806642bc7698c0d0c7b6436e1facba8fef6470bdc4a2abf9fe0c2a31";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/tr/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/tr/firefox-117.0b2.tar.bz2";
       locale = "tr";
       arch = "linux-x86_64";
-      sha256 = "8fbf7f42c8bef21510eeab54696e1ee15708057ff69e3f9144cbe8355203e2d5";
+      sha256 = "9b1ab72c5c795652fcf1cd6105075114e7fb42becd4cbf5f0ff285a6310c2eb6";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/trs/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/trs/firefox-117.0b2.tar.bz2";
       locale = "trs";
       arch = "linux-x86_64";
-      sha256 = "614078f1999b4ed630f1b2294295e7e29156df493d46e19e0cc81701bdf106ac";
+      sha256 = "acc69edc00fa835e54ac850b5140d0578b75f7af0257c20e0afc4ff68cf5e9fa";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/uk/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/uk/firefox-117.0b2.tar.bz2";
       locale = "uk";
       arch = "linux-x86_64";
-      sha256 = "3b1c066034ea82daec160315f29b0dc26f535b794b81f54f89e284515f071adc";
+      sha256 = "972afc6d4c7f875f40185a9544a572acb2f8174a9bd828502dc779318b5fb1b6";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/ur/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/ur/firefox-117.0b2.tar.bz2";
       locale = "ur";
       arch = "linux-x86_64";
-      sha256 = "8fa203e40ad7f40087d32f0e761c4a068bb3dcc9e5f71d1c12a774e8804cf52a";
+      sha256 = "03e9ab51177e7f6d8f18e0e02a8d32c5124d9d7aebd12c6a59bbf561bbc7308f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/uz/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/uz/firefox-117.0b2.tar.bz2";
       locale = "uz";
       arch = "linux-x86_64";
-      sha256 = "6e59f3110ec8adf65d7f09294721dea0cefd48ae53674c1a5e6185fb67e3e40c";
+      sha256 = "583afcedbb8e89fae81c2af09db09bfb3006528595f7d4bb50c9d73a7fe9249b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/vi/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/vi/firefox-117.0b2.tar.bz2";
       locale = "vi";
       arch = "linux-x86_64";
-      sha256 = "8c2ce0b222fc85ddbba2dc0544f08149f70704181ac07c8c7e2a44d2a661f956";
+      sha256 = "910895705c695c0950e4cff30587c3df8cc845e1b4766474701c0e4464592760";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/xh/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/xh/firefox-117.0b2.tar.bz2";
       locale = "xh";
       arch = "linux-x86_64";
-      sha256 = "0ea1c5e6146da7bb382284e81004f3efefcabf0191723f4e6a89991019515092";
+      sha256 = "3253590a5dc23f74a88be28665066649c12451fefe94d7cf5d49fe541464238b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/zh-CN/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/zh-CN/firefox-117.0b2.tar.bz2";
       locale = "zh-CN";
       arch = "linux-x86_64";
-      sha256 = "5241e1ce014ce1377e776c12d148c32cf9cef0d684a2a5b2217852a7bd333ad4";
+      sha256 = "994205cbb71ccb6f95091fba03f89ba510579f2f53c56544269abd29d06165d5";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-x86_64/zh-TW/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-x86_64/zh-TW/firefox-117.0b2.tar.bz2";
       locale = "zh-TW";
       arch = "linux-x86_64";
-      sha256 = "5820f373cd61535ac96f57a8132f25f880753a94e4788bad7811fce210fb4be1";
+      sha256 = "6b6744c78ce82fa3872d3b1123ab518acf68a0dba6629e6c995c363886a68c27";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/ach/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/ach/firefox-117.0b2.tar.bz2";
       locale = "ach";
       arch = "linux-i686";
-      sha256 = "598700d19024dfe9d11a95f04e3a282485a3e436b70b67d24567396b66579607";
+      sha256 = "674f22adf82e4b501b4dcbc2dde0563c0017fb1fa47a514b96b06f6f8ea6f606";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/af/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/af/firefox-117.0b2.tar.bz2";
       locale = "af";
       arch = "linux-i686";
-      sha256 = "e823aaad0392a6b55aa2cb8459d24db0626091945b883061016826bbea8231f8";
+      sha256 = "7e70bb2dbeb0e8eb11b6d7df82c9e1f7575c37c9265ade4f69eeb2ab16737e06";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/an/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/an/firefox-117.0b2.tar.bz2";
       locale = "an";
       arch = "linux-i686";
-      sha256 = "09eb14db88b17c56ba25a388b6c1b74858315f0aab2b7e53180ebc2d5c4549ef";
+      sha256 = "5094902ef0b75c790d538dd32c06e7b30ae2a5f4ddc25b669557c5eeb438c06f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/ar/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/ar/firefox-117.0b2.tar.bz2";
       locale = "ar";
       arch = "linux-i686";
-      sha256 = "78be669177a27477a728108e122d28d47dbdebb413495154cfcc8ea1d50ff4c8";
+      sha256 = "ddd97b5f9cc1d93c919c61a84c1bd4436ae6a932391e01838ac224240f982259";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/ast/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/ast/firefox-117.0b2.tar.bz2";
       locale = "ast";
       arch = "linux-i686";
-      sha256 = "9ecf96c075392f96af24c99a27e0d345dd4396bc33246efc0317df7ac8be9612";
+      sha256 = "7acff2731fd81c99b734c3c57a90a1145a1a8114b303758613be61335d6cf60b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/az/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/az/firefox-117.0b2.tar.bz2";
       locale = "az";
       arch = "linux-i686";
-      sha256 = "f594a1f5239ff182478c716522d04bc7ec96b89afb356b3c79f3ebbeeffe61ad";
+      sha256 = "c26f43ca801e67a22543310d78f30b47909f4c827c137110d516330d481c4fff";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/be/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/be/firefox-117.0b2.tar.bz2";
       locale = "be";
       arch = "linux-i686";
-      sha256 = "b32cceecd242d36a1305d8d986d26c0238e4a9d50cba7ed37b256181010f7290";
+      sha256 = "c70cf35c7752403f0094d74be0f666760a9131e6feb8777c5e6f254170387389";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/bg/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/bg/firefox-117.0b2.tar.bz2";
       locale = "bg";
       arch = "linux-i686";
-      sha256 = "fcffecd3d344c7123d3569029f3ed2433aa783d3bcc55a70ba702574493f67bc";
+      sha256 = "a58ff64c5772f58664fe3b817647a3838eba1a6643509d0eb6cae57c919638d5";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/bn/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/bn/firefox-117.0b2.tar.bz2";
       locale = "bn";
       arch = "linux-i686";
-      sha256 = "0385a9584f8bedcbf53f091104f488a40655d0b9944ee2c9e100f596808d9294";
+      sha256 = "e9ea1e2b4297b95c5a6f8a4b0c11401890aceac6fbe522a924ca40e804b66a55";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/br/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/br/firefox-117.0b2.tar.bz2";
       locale = "br";
       arch = "linux-i686";
-      sha256 = "1a21b5476c715a48a593a8c4bf4f093907563264eef7838fb4c8820815dda4b2";
+      sha256 = "0ae9571cf34f2e15f9adfd6a166e63a4d887f5af290a325bf029184fbeda5623";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/bs/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/bs/firefox-117.0b2.tar.bz2";
       locale = "bs";
       arch = "linux-i686";
-      sha256 = "cca4dd8f64f5807d71ebc74d0446eef7783270ea46e277df8b0a6718cd174bc0";
+      sha256 = "391a8d56c2f62efab434b3a16dec3c80d03cc4dd4845cf4ca9a7a0e9efca8587";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/ca-valencia/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/ca-valencia/firefox-117.0b2.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-i686";
-      sha256 = "fdfa845f26e785dadf1fd09a38f6d8fca81dddf0b875b4f775084b6cbecbaedc";
+      sha256 = "d57481627f38a1eefe1be4cae710ad22df3816f975e11ad82fea7d5b9502dac9";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/ca/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/ca/firefox-117.0b2.tar.bz2";
       locale = "ca";
       arch = "linux-i686";
-      sha256 = "6e7f85769e3cce7c48d397e4ec53132a8e7aa8db04430d9e54e84a0e68c46168";
+      sha256 = "3c88344b0625730372f05778fd1066c3041bec800aab99c39353f1b9213a5165";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/cak/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/cak/firefox-117.0b2.tar.bz2";
       locale = "cak";
       arch = "linux-i686";
-      sha256 = "95c2418fe0f2cb9bcded37141db701326a35e5584b0573b3e5127418a188b9c2";
+      sha256 = "15b3c545e978087d80b6dfe0ecca09743fcebda735eb9bcb580dccf33dcf7bfa";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/cs/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/cs/firefox-117.0b2.tar.bz2";
       locale = "cs";
       arch = "linux-i686";
-      sha256 = "62962a76593263b875ed2eafc31f170fb8a55d1740df1b45f6970d7c71b95e75";
+      sha256 = "589803870d6061d4e37f757fe72d830a9b6f4b1126bd3fdebe2c0e6e14e9f453";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/cy/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/cy/firefox-117.0b2.tar.bz2";
       locale = "cy";
       arch = "linux-i686";
-      sha256 = "f0f6f5d2f743d9d95c0c9fa29b3103ebb27d94d3044285237b3b095d400bf12c";
+      sha256 = "adae4600fc298dcd2539b81c89b3cd63e8e2cffc9b833bfbfaef2d5d71e9d7a4";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/da/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/da/firefox-117.0b2.tar.bz2";
       locale = "da";
       arch = "linux-i686";
-      sha256 = "e4f8366f0c9d7b015e10f995e25736d406c719f186bfa45b9b6fc4f4708062f7";
+      sha256 = "34896888eb59964443097e9e94799838e118669195aa4a7a41476849fdae8483";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/de/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/de/firefox-117.0b2.tar.bz2";
       locale = "de";
       arch = "linux-i686";
-      sha256 = "122348358cc3abdc46c3ce5177046f7a944c4064bd4125468401dba96c42dfea";
+      sha256 = "f1a058188fa418c2afd252869fb2fef07ef4954543d4b0bdc181f606d7f72547";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/dsb/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/dsb/firefox-117.0b2.tar.bz2";
       locale = "dsb";
       arch = "linux-i686";
-      sha256 = "9bf1b89b9065df29411f6b90c3394d914b5eab0b5e43493577be8490bbf9df7d";
+      sha256 = "a040ee68da6570b58de852720a5d7e8662f1c896699a07fb217f868f4dd4fa86";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/el/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/el/firefox-117.0b2.tar.bz2";
       locale = "el";
       arch = "linux-i686";
-      sha256 = "0f4b89aebc02b78ec47b4e5caf36bac2d4bbdcad8258f291e9a904117074617d";
+      sha256 = "3f38ea8a360f28f25401de8088189f1df67027f9bd52f0e402c69dd4c8f71449";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/en-CA/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/en-CA/firefox-117.0b2.tar.bz2";
       locale = "en-CA";
       arch = "linux-i686";
-      sha256 = "53991a7ac1b82d0c54b4df64be019688e1ea9a5a1560274ef1d21d32fb30d2f2";
+      sha256 = "59ef45a6128f219a76c728fec2f71e6293d0f2f76570793951180002da476d29";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/en-GB/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/en-GB/firefox-117.0b2.tar.bz2";
       locale = "en-GB";
       arch = "linux-i686";
-      sha256 = "58e379d0f0160c52d9a5409106961135f63456046397fb9f3a0524ac38e25ba5";
+      sha256 = "de4aa5890062f508625b719888165860e37a63a004240dfd6cbe7f3adcbe8177";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/en-US/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/en-US/firefox-117.0b2.tar.bz2";
       locale = "en-US";
       arch = "linux-i686";
-      sha256 = "1fda9d020eb9b5f2aa60e89f1e267a5c4fefa99987e766b3ae16c55142192fb8";
+      sha256 = "100574a66d80a7b35f4f115378345aee7e2fc9a1cdaac0dd006c9a340a8e10e5";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/eo/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/eo/firefox-117.0b2.tar.bz2";
       locale = "eo";
       arch = "linux-i686";
-      sha256 = "ba269e3aef48ecfe1fa563b0a96734dfc898f65ce7c47a16aff41c245fc351be";
+      sha256 = "0b53003126529449b56579409cb78cc13843371f22ebde42644395896aaab746";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/es-AR/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/es-AR/firefox-117.0b2.tar.bz2";
       locale = "es-AR";
       arch = "linux-i686";
-      sha256 = "ceb45768c5f8964a961c7075be6a9627156ceb40927cbc55b980118a8342238e";
+      sha256 = "3dc0055b2d636c1cdf93c4507f2aa9955786e7aea172135ed93c1e8728e78843";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/es-CL/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/es-CL/firefox-117.0b2.tar.bz2";
       locale = "es-CL";
       arch = "linux-i686";
-      sha256 = "d8123012e6917273d5e45e5036719320ac8cc013259d35d2fec7081e3ef59f36";
+      sha256 = "c292c78e9c51bf01b6acf0f4b1502e02790c8959ec1f4f43a253b15d8b543b80";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/es-ES/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/es-ES/firefox-117.0b2.tar.bz2";
       locale = "es-ES";
       arch = "linux-i686";
-      sha256 = "ac74a9a92309c84ff1826e46dee74e3f73db1a7d19d40ba37a22c935c247e436";
+      sha256 = "a400d50f129fd34df8d82505f1a243c4934e9a694790ad278f879110dc10112c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/es-MX/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/es-MX/firefox-117.0b2.tar.bz2";
       locale = "es-MX";
       arch = "linux-i686";
-      sha256 = "9db94b943d51c2cec1984a56f9e246fee1a7e9c4161ff8c3d704b2b38f1bd98f";
+      sha256 = "15b998c84010c6fb28fed96d6e88094e8d6007be271898328e576397222b25a3";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/et/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/et/firefox-117.0b2.tar.bz2";
       locale = "et";
       arch = "linux-i686";
-      sha256 = "b27627e4fcd38fbd800b21cca16976b9da399c11884ea8f7cf2d374d5e31d613";
+      sha256 = "df806c985e24e393fcec3db8c846e8f45a709f76dbb81cca257fff1bad4e118e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/eu/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/eu/firefox-117.0b2.tar.bz2";
       locale = "eu";
       arch = "linux-i686";
-      sha256 = "652323e8c3093074bcd1e6ec96696b161080ae66c72a96f2b11a0e2ff4d112d2";
+      sha256 = "c940d060855caaf7a054369358c2d25e6a875c428f525c804c09d114f4166b7e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/fa/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/fa/firefox-117.0b2.tar.bz2";
       locale = "fa";
       arch = "linux-i686";
-      sha256 = "e451cddd960625b969f53ce64accade2b6898c86a0a12eb7ef142c556fa044fe";
+      sha256 = "6efc141ea385155609ec0852002e8abc0a2d66d949cbf211a30ccaf8c2f1e725";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/ff/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/ff/firefox-117.0b2.tar.bz2";
       locale = "ff";
       arch = "linux-i686";
-      sha256 = "2047f8bffef130ec0a6e94807cd6d1b96a6438f12b73c2a4d52aa7b48cbaa378";
+      sha256 = "e6f34b243ff29097758ca1097523e7b0d5ea203585233246998e711ceb5ea426";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/fi/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/fi/firefox-117.0b2.tar.bz2";
       locale = "fi";
       arch = "linux-i686";
-      sha256 = "f64f4a41a444a46351621fa293b6975c72184b6343b41cea4bfc21b73fbd8ae1";
+      sha256 = "3ff8401e41192edb8acd7d3b073991d048a8a0851ea67dba74d23e994a5aac0c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/fr/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/fr/firefox-117.0b2.tar.bz2";
       locale = "fr";
       arch = "linux-i686";
-      sha256 = "f35b90c3b58d501be9445fd507c8b5946400bfa42764a793ea9c0cd34a6f966c";
+      sha256 = "0fc6a622b222d97cd73827d80c8d0f3bdd8f77c181588b905790384bd29f52ca";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/fur/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/fur/firefox-117.0b2.tar.bz2";
       locale = "fur";
       arch = "linux-i686";
-      sha256 = "599335af3b1e18580136064369615e430df0afc6a3ec93b655be8e8011d086bd";
+      sha256 = "9de1abff2f0f5b3a90da277ba580f5868175672222312e6ce8d5bed2db91f38b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/fy-NL/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/fy-NL/firefox-117.0b2.tar.bz2";
       locale = "fy-NL";
       arch = "linux-i686";
-      sha256 = "45031887130a3c2a3851a51ea3beeac0c702364488c19a78b14b9c56119f877a";
+      sha256 = "8f2aaac5148f0ac03204c9034df4b7fc5cdafc3c03c76f8a1e7bdccb7a4c0ee5";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/ga-IE/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/ga-IE/firefox-117.0b2.tar.bz2";
       locale = "ga-IE";
       arch = "linux-i686";
-      sha256 = "3460b97bb1ff356f8bbd961f1507279c89966fd18964bfd0cad1ef59706348c0";
+      sha256 = "22cae5d773b5276a74e71f5cacb936fe2c5a13182c6d7cfc2fbe57854e84e472";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/gd/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/gd/firefox-117.0b2.tar.bz2";
       locale = "gd";
       arch = "linux-i686";
-      sha256 = "d59078cec086912727da242c3da35dc14de512fa51f71f9029f1dfd48750ca24";
+      sha256 = "1b5e6d3e0f0e4112696e5aaf018d96f950990389b1fbe73797b7856aae59fb7c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/gl/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/gl/firefox-117.0b2.tar.bz2";
       locale = "gl";
       arch = "linux-i686";
-      sha256 = "6158b845ee9428adb96e54c9534adeda6d8c54eb0ca36e685e6b96ac1c75aac5";
+      sha256 = "92c373037b764e68f8b283a9720bf996e57b13c356fd918d2c26cab8fb9ccad9";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/gn/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/gn/firefox-117.0b2.tar.bz2";
       locale = "gn";
       arch = "linux-i686";
-      sha256 = "4020c74bd6aee43e2d98814906039b2cbbcd3410c4a034731ecc92d4f22999af";
+      sha256 = "3c8584c884b18d991e9cf2a60cc882ac9b6c36c1a0e72c267a419f9294b538d8";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/gu-IN/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/gu-IN/firefox-117.0b2.tar.bz2";
       locale = "gu-IN";
       arch = "linux-i686";
-      sha256 = "3469dc6ce7fc472851e034b2f27de4ec5bc6cc2e3ad4d709345d75503478ad93";
+      sha256 = "8b2298e67515d47fc1ec1fc5b7cefdf7df7665b507936cf267c4812fdfbd1dbd";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/he/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/he/firefox-117.0b2.tar.bz2";
       locale = "he";
       arch = "linux-i686";
-      sha256 = "7e7e7f016a2453bb8a98092f6612a439f382192e1a7472897f039a71a7a3871e";
+      sha256 = "e47ffa5982e5054fc9d1fa2dd51ee123c329da1abbcfeedc151bd7174ed2d560";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/hi-IN/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/hi-IN/firefox-117.0b2.tar.bz2";
       locale = "hi-IN";
       arch = "linux-i686";
-      sha256 = "9d2ce940d5aac4ef46f60f1c2680fa33c099e048365b55c719891d1541e886c1";
+      sha256 = "4cd75bf57cc88872a31a70bef7d6f073cc3d49bf872faf911bdccb43abc38a67";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/hr/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/hr/firefox-117.0b2.tar.bz2";
       locale = "hr";
       arch = "linux-i686";
-      sha256 = "7c8e9344a574d7a4a04abe08254153bcb64f76f1da6ede568a4105294729fd74";
+      sha256 = "9d21deb1383927bc0c5b478c03261f8dc3de36302ec8555cdf40b59428f081aa";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/hsb/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/hsb/firefox-117.0b2.tar.bz2";
       locale = "hsb";
       arch = "linux-i686";
-      sha256 = "02b99a81c8bbcf9b8abbd61d3d5728dc0d475dfe5d878fdc18b830dfcfffb94e";
+      sha256 = "1b83ee5a99608479b229a3e6f13d4a48e05fa0bd1c52af147a4bea4c7631b22e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/hu/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/hu/firefox-117.0b2.tar.bz2";
       locale = "hu";
       arch = "linux-i686";
-      sha256 = "9b8f17919fb846029199959842cbb0c9c9f9d1ddc73e2e7890596379d0a6f373";
+      sha256 = "8cac12a7f90eb3d5459ed40b832c963a832370b215a9cd020381a41f0b90db3a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/hy-AM/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/hy-AM/firefox-117.0b2.tar.bz2";
       locale = "hy-AM";
       arch = "linux-i686";
-      sha256 = "d7eb1d3b35923555909b5ec798e1dfdb657518cd62ec6bf44444fbe21f2a7fe7";
+      sha256 = "4c51a1feeaa828ccd2fbbcec5d5659e585d0eb85f19e2ac0dbc5083d754b3a1a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/ia/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/ia/firefox-117.0b2.tar.bz2";
       locale = "ia";
       arch = "linux-i686";
-      sha256 = "70c5d78fc768d8f17cb204981b402aa25a93ef3550375a7479a47d02c257f4c2";
+      sha256 = "d012be5237056163fba871700859ef01516a40cab3a2af96093f606508710df7";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/id/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/id/firefox-117.0b2.tar.bz2";
       locale = "id";
       arch = "linux-i686";
-      sha256 = "82712e5406e2694d98ba12a0d39cec605306e71a5ee0a984ed7c592b39a3e7d1";
+      sha256 = "f170449bb6e4b3537540bccb3577189a3f56c3952101f287f864c1053b723452";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/is/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/is/firefox-117.0b2.tar.bz2";
       locale = "is";
       arch = "linux-i686";
-      sha256 = "d6856942637275fb09475692c875c1d1910719282f79411e5be0222fbffdb122";
+      sha256 = "6583bd2c140859b350605226343c8a6819a954991eac47709b91a3aa1726bb14";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/it/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/it/firefox-117.0b2.tar.bz2";
       locale = "it";
       arch = "linux-i686";
-      sha256 = "b199c3bd2d14001cbaa6f63c3e0fdd219521d5352f3de3ad6b0df91100932a55";
+      sha256 = "fdab4093b9517f62f4bfb6055d2ad999189c18307c3ad59ce0fd909612ea9417";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/ja/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/ja/firefox-117.0b2.tar.bz2";
       locale = "ja";
       arch = "linux-i686";
-      sha256 = "88861cffb71e08b398feb1c9c849d85231e79e9c1849b0a780cfcc74de621e49";
+      sha256 = "f9902c2a3b00ff4114549cbecf25960e54340b87115129b26a2a92b66b2c4f6e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/ka/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/ka/firefox-117.0b2.tar.bz2";
       locale = "ka";
       arch = "linux-i686";
-      sha256 = "b8acc5d079f3fc42fb85363543a069bba90f967131af3c0409656a7f7a5cec08";
+      sha256 = "7634e8840a7a9c37ee094ca69cc6eb48a9c8b705ccc369464dcd454f6259d0b1";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/kab/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/kab/firefox-117.0b2.tar.bz2";
       locale = "kab";
       arch = "linux-i686";
-      sha256 = "836fda8147549dc305a0ace3eab45819d753f35e2b2ec3f8c5d214e0a30c84e3";
+      sha256 = "206c0ee2dc8f56b07e62379077ed8721c3fef692b0acd7910f47cc4277c88535";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/kk/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/kk/firefox-117.0b2.tar.bz2";
       locale = "kk";
       arch = "linux-i686";
-      sha256 = "b3d5552c3df15556a1abf92d620bddfe969f498cc740c65d6cad4f047526f812";
+      sha256 = "2f0f08f46a0053841398bed6ed2e3a4e6a49ffbe23843fc10dc783d86b8f5cae";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/km/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/km/firefox-117.0b2.tar.bz2";
       locale = "km";
       arch = "linux-i686";
-      sha256 = "709f6bdc0d5365c747caca3db1ee78ba518b172b16ca7b0636b6ed4999384c6b";
+      sha256 = "d0af015e51535b3bef8a46956108b5058947468ec528f1c051c79a1392709439";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/kn/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/kn/firefox-117.0b2.tar.bz2";
       locale = "kn";
       arch = "linux-i686";
-      sha256 = "44e4e3799c09663029b6bfd9a3823659c8ce6d42fdc4809c143fba50380f5d2e";
+      sha256 = "a98a27e3173f7fd8ba7cffcfc7d470ff3b2983adfc1c90de2c16dc2de2c33609";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/ko/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/ko/firefox-117.0b2.tar.bz2";
       locale = "ko";
       arch = "linux-i686";
-      sha256 = "a35369ef09ae957d11c487fa61fd94573245fb5189889b5dd545904376d3fd31";
+      sha256 = "03b30da223ecd953c22d43b99780056ce5d12a08dd4c1bf32ff85dec6527a78b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/lij/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/lij/firefox-117.0b2.tar.bz2";
       locale = "lij";
       arch = "linux-i686";
-      sha256 = "08811bdb3b9fe2d20a6dfcb7b612ed051f01896d721a6fb67a6e866a43f2dcf5";
+      sha256 = "bc492610a2549b1dab72a8de64eb1b0d3b68ddf73ad9d7926e2c263958de86c2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/lt/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/lt/firefox-117.0b2.tar.bz2";
       locale = "lt";
       arch = "linux-i686";
-      sha256 = "2f9e5fd2ea365e3e0ed5ea96f5ca9071f8a4cd9d49471d564596ffea1f5734d7";
+      sha256 = "f3019edb15fbc3372e6041775fe8330cad9040821c87213644518d59b3f29c2b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/lv/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/lv/firefox-117.0b2.tar.bz2";
       locale = "lv";
       arch = "linux-i686";
-      sha256 = "3147651130b6815d3bde56b58ad4f53684b75893a8a6b57fb220f2f5cc7ed3f8";
+      sha256 = "d2a7818fe580a365b48d52205b63e2205ea5362200e029ef2822389f2b956d1f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/mk/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/mk/firefox-117.0b2.tar.bz2";
       locale = "mk";
       arch = "linux-i686";
-      sha256 = "1e1505f52940eb093c908c405ec50b729afeef4b858f907faea44030cb66885a";
+      sha256 = "59f72dbbf0be639e728b061bce1fdf07085d099722954f855ef2573d87e543e7";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/mr/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/mr/firefox-117.0b2.tar.bz2";
       locale = "mr";
       arch = "linux-i686";
-      sha256 = "2ccff1fed92b62680f25cf1dffd104c273933a9942258da3f1b561b7df58be73";
+      sha256 = "4ec149737e5de4fcb6c4e46079f9762c6477e9c1dce653fd53f52ee25dd267e9";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/ms/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/ms/firefox-117.0b2.tar.bz2";
       locale = "ms";
       arch = "linux-i686";
-      sha256 = "864af4ccbbc4c4821a60bc70e1bb6817def0073608bf4f66e16f79fab98970ee";
+      sha256 = "485222774fd8d7291a2660dea3967f7956b0d0aa430704dce8f7cf5d34fe7612";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/my/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/my/firefox-117.0b2.tar.bz2";
       locale = "my";
       arch = "linux-i686";
-      sha256 = "68264ca0859724fb35546b6e45f870810ddf78ed76a572c7a17aa1501ce9be21";
+      sha256 = "fdcbd22170d70dc38fdad90c250f2fc0e61d12cffc9333140b4b663ad1b89a53";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/nb-NO/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/nb-NO/firefox-117.0b2.tar.bz2";
       locale = "nb-NO";
       arch = "linux-i686";
-      sha256 = "8db821cd4ddc33de3252dd29d69ddef0237fee14d3ed58fed68a64591448a648";
+      sha256 = "3f5ce0a793b9ad6b4bbbbfd010620df1d087bc86c0fbd4f90beafa6b7da4e1d5";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/ne-NP/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/ne-NP/firefox-117.0b2.tar.bz2";
       locale = "ne-NP";
       arch = "linux-i686";
-      sha256 = "dc2db9c3e201eb08e186f40c509a97d463185649d430f88db470944a3fa57f10";
+      sha256 = "e34dd0d396b66c807c97e64043a4991780a352295bd4030d4d40b145b3c24051";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/nl/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/nl/firefox-117.0b2.tar.bz2";
       locale = "nl";
       arch = "linux-i686";
-      sha256 = "5708e3ae265037cda0989da944dd7e36013c6b68295855d64f0b94199c799d7e";
+      sha256 = "7f82d807ff4a128d8823810330121627020e7e93994b0eb1340684d683b8af4d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/nn-NO/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/nn-NO/firefox-117.0b2.tar.bz2";
       locale = "nn-NO";
       arch = "linux-i686";
-      sha256 = "530184d7a441a4cb6a808457fa032a80b5739117935c5cb8b8c64cee6f60bfd3";
+      sha256 = "6dc01d88fc87f2bf918e95fc926b7e8ed2494d7f21bef84a8ed14d11d61ae12a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/oc/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/oc/firefox-117.0b2.tar.bz2";
       locale = "oc";
       arch = "linux-i686";
-      sha256 = "7f7d27694127ac8ea9ec824f1870d6c394071d4d3b1518c35841e688aebf63a1";
+      sha256 = "c8e1c4e9a4f4df353c6c9a197ad1ad962ea62b34027b282864c709da44897b23";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/pa-IN/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/pa-IN/firefox-117.0b2.tar.bz2";
       locale = "pa-IN";
       arch = "linux-i686";
-      sha256 = "9255f129c8ffb7be6a84df5824cbea9b9b3d63c7b5c2c5e94ae8bdaf2570b910";
+      sha256 = "69e18994d6ee9eb305ae9a97cd20accec246f76c2a0a9b7636e6cca0b478fdd6";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/pl/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/pl/firefox-117.0b2.tar.bz2";
       locale = "pl";
       arch = "linux-i686";
-      sha256 = "f113cb595535745e75ae11a359861ab2a80e6eef7dedc7be912980177122f1b5";
+      sha256 = "fdc634861c7a99cf5e10c0818f0c981718f0252b75265bc7594fa7e87933c6ff";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/pt-BR/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/pt-BR/firefox-117.0b2.tar.bz2";
       locale = "pt-BR";
       arch = "linux-i686";
-      sha256 = "2143b450ede0c04274216ef222ff8d80693a618c81c056cbf7abad6070cd846d";
+      sha256 = "ccb3fedc57e98dabfd29ce402cec8e67c956d0dc557d714011ff67d5754fe549";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/pt-PT/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/pt-PT/firefox-117.0b2.tar.bz2";
       locale = "pt-PT";
       arch = "linux-i686";
-      sha256 = "449683a760965c3ed1bcb0096bbabfb1bad914c84ced810c0eed3b9d95ca7d65";
+      sha256 = "a9614e9f15eca0576bbb81a4dcb80d9f38702a8743fe8e7c08683e9a4d57b3b0";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/rm/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/rm/firefox-117.0b2.tar.bz2";
       locale = "rm";
       arch = "linux-i686";
-      sha256 = "0e51fb2b21b99019656a18355487debefb4ab0062de77b099dcde98cfdf4dcee";
+      sha256 = "23926089dd676ad76ee83403d7cde7c21f08df2a3d90be6fbf210c0b4573e0c3";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/ro/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/ro/firefox-117.0b2.tar.bz2";
       locale = "ro";
       arch = "linux-i686";
-      sha256 = "b4ac6fb3cf69ebea492bc700f9ccf831bf3b61f73b4f33772d710ee660c0fcc6";
+      sha256 = "1a158ee87a1eef61570dd07700538f29872cfb9ad852ceee6a150c0e34c8173b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/ru/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/ru/firefox-117.0b2.tar.bz2";
       locale = "ru";
       arch = "linux-i686";
-      sha256 = "43cc62858048e545b942a476dc89896de9066625ee6361173f26bc476eccf07f";
+      sha256 = "7e71f844fa1a48201991adef53011b294a2cdb664c096c112653fb2da240a3ae";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/sc/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/sc/firefox-117.0b2.tar.bz2";
       locale = "sc";
       arch = "linux-i686";
-      sha256 = "c5f2c61fa5269dd0cf724766b06383f5a8260a704dc4a445a837b148e987d179";
+      sha256 = "ec009d4e46a29a50bb00a9cb562f8f328eec245f7e51ee0d4ce01af056f4a9b8";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/sco/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/sco/firefox-117.0b2.tar.bz2";
       locale = "sco";
       arch = "linux-i686";
-      sha256 = "83e7f2481e6eeccfe2ba4c4a1fa14ab8b59df291f5af9eec9764f67a9545d37d";
+      sha256 = "fa5922982650314aa65a05d1efecdccaec2368789a814229c5426cda7a0ee595";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/si/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/si/firefox-117.0b2.tar.bz2";
       locale = "si";
       arch = "linux-i686";
-      sha256 = "b904230f82ae80ae8352880d1e5e966d091562afb820723aa000035e3bf8dec4";
+      sha256 = "79871205175807e178a70468b65ba072fc16706cc92a42d313000d1447871a07";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/sk/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/sk/firefox-117.0b2.tar.bz2";
       locale = "sk";
       arch = "linux-i686";
-      sha256 = "fbbe7669f99431e3e145ce156412fe225a69e9b6beed2766c3032f129c6515bf";
+      sha256 = "54b6b1160421cd0ab149f804c38367b4522789ce857c1899a442c9d49a9d5f3a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/sl/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/sl/firefox-117.0b2.tar.bz2";
       locale = "sl";
       arch = "linux-i686";
-      sha256 = "c66ac7442e43947d95333d0afb699bc18293b7e98eb292a2ac5a823b41b03293";
+      sha256 = "54a0791d3cefd2742f1705783706f2ee495d819b2846f153ac1d4115b900d0c9";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/son/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/son/firefox-117.0b2.tar.bz2";
       locale = "son";
       arch = "linux-i686";
-      sha256 = "7a1a86a4d70d8979e1c11d6b8488e6255e9145b4ea72c9b3928e88452958e36e";
+      sha256 = "2b914478868dfeef412a88c925bcc7b12189ae562f0cf01bce39597b8210b677";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/sq/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/sq/firefox-117.0b2.tar.bz2";
       locale = "sq";
       arch = "linux-i686";
-      sha256 = "061020916073b23da09bb872edcb0203773beb192f23b5deee2e38c02e19b822";
+      sha256 = "e60ee2e21762a43d30c2cb28b48edd406aae275519c1f2396e1bbbd711e917aa";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/sr/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/sr/firefox-117.0b2.tar.bz2";
       locale = "sr";
       arch = "linux-i686";
-      sha256 = "f86355ba8edee05eded822e731921dc53da458660ba065fee035303c680c1c2c";
+      sha256 = "58abe25c545849d105c205170f6ba4809e7f72084e9cd86547c454cc7440c93e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/sv-SE/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/sv-SE/firefox-117.0b2.tar.bz2";
       locale = "sv-SE";
       arch = "linux-i686";
-      sha256 = "43c21577b4cf20d9577b5dc41c77d292c8ce184e8c4eac9e920afd1797c892fd";
+      sha256 = "f9e6c98031ceab6df21eb0cfcd62da23fa18483629d4b135016deda28dab67e0";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/szl/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/szl/firefox-117.0b2.tar.bz2";
       locale = "szl";
       arch = "linux-i686";
-      sha256 = "a8ab400a5538f73be1901425b7fd7a525caa3d4ef98ca22eebf1a81a1840c48a";
+      sha256 = "cc914145fd41190032b0b9737f95e3f6d6ed75247a1a431a7061d19ccefd5aad";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/ta/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/ta/firefox-117.0b2.tar.bz2";
       locale = "ta";
       arch = "linux-i686";
-      sha256 = "f8105b5f7351fb05f7a38598b72236431b731d2bb14c3515d6eac67b5787c5d8";
+      sha256 = "4322c978e5e1b4fb32d7d266e869ebf1653da89957d10e40b5e5598418cbc729";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/te/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/te/firefox-117.0b2.tar.bz2";
       locale = "te";
       arch = "linux-i686";
-      sha256 = "71162e5d03522cb757dbab069df25ea6a6fcedd15b463665db45e4ad804645e0";
+      sha256 = "9192e4559fff799821137f22874bed039ad1ec2013beef9bcbea980d8f3a3f12";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/tg/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/tg/firefox-117.0b2.tar.bz2";
       locale = "tg";
       arch = "linux-i686";
-      sha256 = "0218420c26b514b4591b84dd101f5b553e8adc11be42a986fef9dbd2b6b536fd";
+      sha256 = "d889d72058830ef898f4599b237c00da1854592f985b9684907caacb2b374fe2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/th/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/th/firefox-117.0b2.tar.bz2";
       locale = "th";
       arch = "linux-i686";
-      sha256 = "7b9cc646669350edc6529f18186e780d8759fbcf1f053e75d4121e7757f496e0";
+      sha256 = "67f352a7c6259c9ef7c0afee8907a8ff6f5b1ae218f004348ff09d4077467175";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/tl/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/tl/firefox-117.0b2.tar.bz2";
       locale = "tl";
       arch = "linux-i686";
-      sha256 = "085193eed20f7da9684f676e64e8a069a69894ba24b53f5d53553aacdc42ad99";
+      sha256 = "e76bbf9f7d85990e4dc716b2aa162e92df7f9f12f42bda6e13dcbbf03b0f9fb0";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/tr/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/tr/firefox-117.0b2.tar.bz2";
       locale = "tr";
       arch = "linux-i686";
-      sha256 = "e234f9734e2e812b5f6caa5b06b68512987e5b48f4c63fea99b2c26274ff456c";
+      sha256 = "e9641fe3eb7220835590328d34132c41f2e7da1c4eaf7e04f009d7f372247aed";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/trs/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/trs/firefox-117.0b2.tar.bz2";
       locale = "trs";
       arch = "linux-i686";
-      sha256 = "93d638fad802ad177f24cf5853ace98e983bfecb547d37d9cbeac13820cb1076";
+      sha256 = "fa65898b94c5d9afec9f5929a4c895274eb00b3857bdfc739c90e5ce1763f755";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/uk/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/uk/firefox-117.0b2.tar.bz2";
       locale = "uk";
       arch = "linux-i686";
-      sha256 = "55d449ac895a22e8d5bc1303b0f5f82c59ed30268569319dc7b26122b7ae30da";
+      sha256 = "37e8e5d812bca673c791fb155ac805e3f2d9bad75ac6b33d91c1046010d95005";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/ur/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/ur/firefox-117.0b2.tar.bz2";
       locale = "ur";
       arch = "linux-i686";
-      sha256 = "f289683e2e34275d73dd3284bf886f9727a3fe2e81d48888e22161a78e2816b8";
+      sha256 = "16c7a777e9476ea136e39baae187934b28e88220a32cf0ef7116ef4a70a9160b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/uz/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/uz/firefox-117.0b2.tar.bz2";
       locale = "uz";
       arch = "linux-i686";
-      sha256 = "c7726e1afecf5bf4710d1aa9e223623533ec3d54b2582daa6cf98d30ab3ef983";
+      sha256 = "0c765d39bc39d454e5d919b85c524bcc52f9efe3109b05b65d33fd87e71065b2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/vi/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/vi/firefox-117.0b2.tar.bz2";
       locale = "vi";
       arch = "linux-i686";
-      sha256 = "93148049cbfacade3a3ccd13c9763859d2b84d26fbbd54df098bc73b6e2df17f";
+      sha256 = "e8d01f984d03960b5cea326e602bd1630d11a86be9fde837bde08db791340373";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/xh/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/xh/firefox-117.0b2.tar.bz2";
       locale = "xh";
       arch = "linux-i686";
-      sha256 = "cdd0ae5de5a58cf796d531d0cbe7acda2e526bad42b9e9ce4ef3ce364fa6f3d0";
+      sha256 = "0824721f5a4cc3fd340ef2b9a174f0bbaa2f1513b4335ca6921feb72c8e365c5";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/zh-CN/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/zh-CN/firefox-117.0b2.tar.bz2";
       locale = "zh-CN";
       arch = "linux-i686";
-      sha256 = "5507a50e766b8d96f72cea31c505e57d0c6c0fbbdc57a8290bde33e0ef9ad88c";
+      sha256 = "adce28bc5f1d91d5a11edbb7ccf1148a13c76486783be79471ff5f26a129d3e8";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0b8/linux-i686/zh-TW/firefox-116.0b8.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/117.0b2/linux-i686/zh-TW/firefox-117.0b2.tar.bz2";
       locale = "zh-TW";
       arch = "linux-i686";
-      sha256 = "c0ee350d0348bc3a17907d07f47b1b9bb2edc28469e8019d07231cfd64447489";
+      sha256 = "bc0a79202b6566bf9371eeee509eef8025f27147b1aa8f685127123b2e8712f8";
     }
     ];
 }
diff --git a/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix b/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix
index 9e6bb94a926da..adb45c107ac95 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix
@@ -1,1015 +1,1015 @@
 {
-  version = "116.0b5";
+  version = "117.0b2";
   sources = [
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/ach/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/ach/firefox-117.0b2.tar.bz2";
       locale = "ach";
       arch = "linux-x86_64";
-      sha256 = "9bbb4940b939082c23bb7ab08c938a128f703c28d502aada9f0216cf0e4b1946";
+      sha256 = "08d7bcf0f862c1d0b1ec98f1134333249c35b26460059cbf5ecd52af6ed5f267";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/af/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/af/firefox-117.0b2.tar.bz2";
       locale = "af";
       arch = "linux-x86_64";
-      sha256 = "8d1bfe44fb21e800e4985a95c9ce01f5a69c697abd6f8892804dde3f4b9d47ee";
+      sha256 = "5286b8659461b869945abb10e851b4ed3f8bc203bc5497ff971658ed4f160e96";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/an/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/an/firefox-117.0b2.tar.bz2";
       locale = "an";
       arch = "linux-x86_64";
-      sha256 = "17831e8c36aea42896df71579f9853fab03f87e64a5956f818b05b5b7cacb6e3";
+      sha256 = "09a600d0bb529f879819e293730f3b74f63e2aa00a013ac0956f11b899eaef39";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/ar/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/ar/firefox-117.0b2.tar.bz2";
       locale = "ar";
       arch = "linux-x86_64";
-      sha256 = "0fe4d6196254d6980e0f73e6b6d372a30b44f227a333333503bc5453122d50fd";
+      sha256 = "06c56084f5875df288392c9b990ccb6b8af3245af9303ae852fc2172249bd61b";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/ast/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/ast/firefox-117.0b2.tar.bz2";
       locale = "ast";
       arch = "linux-x86_64";
-      sha256 = "57691d55d54d0ea31cee189c03e7e7d23ab7e72d23b05244238d0ec38e257e36";
+      sha256 = "eba456e04f869eb03609ea5ec661daddabe5802ef10c758c31ab2486e43380a6";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/az/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/az/firefox-117.0b2.tar.bz2";
       locale = "az";
       arch = "linux-x86_64";
-      sha256 = "0d613e0fd22a59f95105f6324e6ce6160de3d38c28e94ce4ba0e8aaf50d34fc7";
+      sha256 = "36badebaaa2df83816611fb7e10002f9bb9b34c1c2333cfb08c96b6230f9b21e";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/be/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/be/firefox-117.0b2.tar.bz2";
       locale = "be";
       arch = "linux-x86_64";
-      sha256 = "12987c844112f1d1db5341cbdb98f84fc44569a3017fa600a492c0e44ba864fc";
+      sha256 = "244c6e9b810f89a3b620da7e5479973e97915c6b26bce6bf038d609504a9c629";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/bg/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/bg/firefox-117.0b2.tar.bz2";
       locale = "bg";
       arch = "linux-x86_64";
-      sha256 = "a76964cfcde92d4f53b09c3f36cdb5ffbf427a0edf0c37f8c8c784c821e617b4";
+      sha256 = "ec0e11eb1096823c407ea4cb20570408f62913d7ef6f9104c51885a8e9ec0478";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/bn/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/bn/firefox-117.0b2.tar.bz2";
       locale = "bn";
       arch = "linux-x86_64";
-      sha256 = "3e841d48991e9dd6c5d686bee196b29e10419a7d851181bf33a5f8fdfbb821e7";
+      sha256 = "a4378e81a58d2a9399ac17b2a95a46d56b2131a646701676aaa359c899a4a121";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/br/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/br/firefox-117.0b2.tar.bz2";
       locale = "br";
       arch = "linux-x86_64";
-      sha256 = "4136e8e0add6e062c707b7b37ff9bd1b509b095ee6a7736f8ffe118d0692092f";
+      sha256 = "f4013ae885313e95db1b33f00731529e4dc7744cccf33b2c867e034e1b2b028c";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/bs/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/bs/firefox-117.0b2.tar.bz2";
       locale = "bs";
       arch = "linux-x86_64";
-      sha256 = "67346962f0799b903b46bbcc830e3ac2ec718d554e09d97df6deeb5fb223461d";
+      sha256 = "3b9aa6dede441bd95abc9790f62768c04658aaac75a4deb5a715f649b2884066";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/ca-valencia/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/ca-valencia/firefox-117.0b2.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-x86_64";
-      sha256 = "c1b5edce12aa15d3be46c48903f7cbf0f229f8a25f8eeaa2c7fe8b1e7688a7af";
+      sha256 = "55e556bf325b58fa952cbf7f1c55bbc74e74dd6c35888d45d8d55986d011940e";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/ca/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/ca/firefox-117.0b2.tar.bz2";
       locale = "ca";
       arch = "linux-x86_64";
-      sha256 = "01d688c83a2c380cca544d4b201a6206854513e9a6473cbaddaf7a98d4b5c2c8";
+      sha256 = "5e58df0160486795689a87469dfa4f3c358df54975159ddd3e9d023a596e8461";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/cak/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/cak/firefox-117.0b2.tar.bz2";
       locale = "cak";
       arch = "linux-x86_64";
-      sha256 = "03fb4e7158a98ac51e81bfa49c46e615526abf5c778f7432c39c4b2affea9c3e";
+      sha256 = "82c9ee334f146731f8ecdee8edceff83a0dce8ad7b6003c539fb127324094700";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/cs/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/cs/firefox-117.0b2.tar.bz2";
       locale = "cs";
       arch = "linux-x86_64";
-      sha256 = "e8b46a90cf1e79915c48eb86dd521307cc6a690eb80cc60551e6619e3c82d2f7";
+      sha256 = "b933100ee4056f5e4e56aef0ade2b03dcc8b70a04f6f09e839fa29d959ee9c80";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/cy/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/cy/firefox-117.0b2.tar.bz2";
       locale = "cy";
       arch = "linux-x86_64";
-      sha256 = "1359b57e63c93d12ceab4c0a9bbe34fdb10dd63ea4e1acb2880c25fa2f97b9ad";
+      sha256 = "ac0c728c15e175731dffd7745de50720c8649abd5d49dc0fd9c48e544175f5bc";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/da/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/da/firefox-117.0b2.tar.bz2";
       locale = "da";
       arch = "linux-x86_64";
-      sha256 = "6543dd8fd55c3c48a97841c0bfddefb4d89f5343af8fdb44be251027b254ed78";
+      sha256 = "18dc59d522c75ce890e91d1521c4efe206248d1dcf015092709ad56cf6e0afd3";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/de/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/de/firefox-117.0b2.tar.bz2";
       locale = "de";
       arch = "linux-x86_64";
-      sha256 = "6f741ea240ceda836a6eda5d6adf9f2752562b490b5cae1c4ddec161e8c00ad8";
+      sha256 = "19139e401f30604f3b472a5603082a50bdecab8dbc8ac5c667c916a0b3fc5243";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/dsb/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/dsb/firefox-117.0b2.tar.bz2";
       locale = "dsb";
       arch = "linux-x86_64";
-      sha256 = "5dd1b14a2bf861f579be41f4d0de2970ffdc99ab176d409164a1d406bcb9d4cb";
+      sha256 = "720880f54637c4b23a4968b56620085e4224711e5cfa51e933d258bdbddb4a5a";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/el/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/el/firefox-117.0b2.tar.bz2";
       locale = "el";
       arch = "linux-x86_64";
-      sha256 = "0b59041d0ad1a4bff0f9a596f9baa373d6c3195bd8e9026adc8cf83e228c5b09";
+      sha256 = "35ac6d4585bc30fe72ea98f860b42e84d8ad361358645d5a50bd52d26af67b27";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/en-CA/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/en-CA/firefox-117.0b2.tar.bz2";
       locale = "en-CA";
       arch = "linux-x86_64";
-      sha256 = "2a8826db1c76d4b87470916963be08e5796d75e39905d703cf773a06512a1f33";
+      sha256 = "0e230f4b59482b0b050f6357d42bb687ec4a0da8baf48863710a8ca58bd64598";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/en-GB/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/en-GB/firefox-117.0b2.tar.bz2";
       locale = "en-GB";
       arch = "linux-x86_64";
-      sha256 = "a4275c8d1e7349c1caaf762d1f9ed988d28e243afb559d9ceeb4599e768570a7";
+      sha256 = "f36eb33aa2e28b459824d3ab765a678cff5bd158c4dba64a196ee86213951f83";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/en-US/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/en-US/firefox-117.0b2.tar.bz2";
       locale = "en-US";
       arch = "linux-x86_64";
-      sha256 = "dcdee4d1074af06ebd7f1d5381cfc3dce04fae9adad32a6017dfb58173a49857";
+      sha256 = "c8faee63cdf678e606f71aff0862cbd495480fdbcb0ff335e0c57267fbbf6eb9";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/eo/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/eo/firefox-117.0b2.tar.bz2";
       locale = "eo";
       arch = "linux-x86_64";
-      sha256 = "8353acec011db126b600b3d8fe00b19b906beaabc1b7b76a378307492b708808";
+      sha256 = "d0762e9f11104abdbe6af659f1cf6cd1f96c61cf25fbf604332411004f14186b";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/es-AR/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/es-AR/firefox-117.0b2.tar.bz2";
       locale = "es-AR";
       arch = "linux-x86_64";
-      sha256 = "5450443e0d7b04f630fa271786594005292cee235cfd4024e3beea6084e1fae9";
+      sha256 = "ae3344bd24c5640ff22ef2fb99001b891270917bcb916b10ab9cb6724bb9003b";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/es-CL/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/es-CL/firefox-117.0b2.tar.bz2";
       locale = "es-CL";
       arch = "linux-x86_64";
-      sha256 = "8f17c5a0e34518a867598f29390b9c46157a3d80f57cf49a577db8b7910cec10";
+      sha256 = "b77a8ef75a27a8f3f640eac8d938b62415a3f95a80143abd84cbeeaa2b6bb772";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/es-ES/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/es-ES/firefox-117.0b2.tar.bz2";
       locale = "es-ES";
       arch = "linux-x86_64";
-      sha256 = "732986fad6fa0b945d184fd3e337023da57aece055f1eebad004537e166e0183";
+      sha256 = "8b0fd46297ea383ffa30d1c7b6cd18ba71c05a303d4786b2a533bb8bcbc3b694";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/es-MX/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/es-MX/firefox-117.0b2.tar.bz2";
       locale = "es-MX";
       arch = "linux-x86_64";
-      sha256 = "978ee64f2a4d7b38f7bfd73a332b8c0595fd7003e55864e87f2ab72c7c1df3f4";
+      sha256 = "5a66510acbe5db601368f8e0062c6c816316f1553afc709aab42941ee09b3509";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/et/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/et/firefox-117.0b2.tar.bz2";
       locale = "et";
       arch = "linux-x86_64";
-      sha256 = "cac892189fbc4509319d38b1659dd3252dbafad89191a38e409f2231e7f94f59";
+      sha256 = "33ce87dbffba3abffd6e6d742b9b0d3a6d9cbe5fb5fb63228204edd77106e0fa";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/eu/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/eu/firefox-117.0b2.tar.bz2";
       locale = "eu";
       arch = "linux-x86_64";
-      sha256 = "3ea4a47e25963262e924cc05ea81c495c98df3a92c6f2917e0be428da98caf5d";
+      sha256 = "646c6fb07b37581db321d4f3b5a8a37acdaa868e0eebb836583ed1172334868c";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/fa/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/fa/firefox-117.0b2.tar.bz2";
       locale = "fa";
       arch = "linux-x86_64";
-      sha256 = "a3d7917f338c4cca2cc2f60cf67568956c304cd12ec88f031d54ff0e0d520775";
+      sha256 = "8b509dc4d8d267feb76954f0641d2ce40835a3271dc9ce4773fefeff87918a44";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/ff/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/ff/firefox-117.0b2.tar.bz2";
       locale = "ff";
       arch = "linux-x86_64";
-      sha256 = "d0851545c5f9a3712f0f43c58efa16217d85866db9eae058e4872df2a1c25012";
+      sha256 = "b5f320609aaf7915c119b9daac62b840d27b75ff3aa818cb5e544e108d32d2b0";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/fi/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/fi/firefox-117.0b2.tar.bz2";
       locale = "fi";
       arch = "linux-x86_64";
-      sha256 = "a3ca9dfffd544ca40b51a54110bcc1ee6c7e9ac0b2bfc639b044d348f02d1bfb";
+      sha256 = "69acee03128734f92b24c4a0a2ed8259f0a5c738c2e6ac105b4b5c37fad6515e";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/fr/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/fr/firefox-117.0b2.tar.bz2";
       locale = "fr";
       arch = "linux-x86_64";
-      sha256 = "efaad8637c20badd49ebed750d35347e23122b1dc2950701d11c72dca19b48a7";
+      sha256 = "8673ffec2d180bc5032d7843451f6674fce45eee124ad4f5dcba859766c10ad8";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/fur/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/fur/firefox-117.0b2.tar.bz2";
       locale = "fur";
       arch = "linux-x86_64";
-      sha256 = "a13936666cfd92972075814fe3d28b9772098c04e1316d5c4e18cfd51bff4e2f";
+      sha256 = "44663b389e26b4299044a01bf446be2de2ba6aef49b5496a17e7f283844f9512";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/fy-NL/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/fy-NL/firefox-117.0b2.tar.bz2";
       locale = "fy-NL";
       arch = "linux-x86_64";
-      sha256 = "5a77f56fdf724fb4c1ba22031cde09b1162bed1687bd8731bcc4a2d181158db9";
+      sha256 = "c4819443cb54e786efcac84ba34e9fe67fbb7cb6f269a7d72a253a9678507d55";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/ga-IE/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/ga-IE/firefox-117.0b2.tar.bz2";
       locale = "ga-IE";
       arch = "linux-x86_64";
-      sha256 = "cf3f528c10925b6e2f7dc29af6d7482de3078a6f7a6558aec5bfa0a6fc208869";
+      sha256 = "ba752c92e9aa842d227522a4ecc23cad14043f52d757f39ffdd83f2647da87be";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/gd/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/gd/firefox-117.0b2.tar.bz2";
       locale = "gd";
       arch = "linux-x86_64";
-      sha256 = "1ac32ab45474be72375e60fb918d1e0e05660224b7fb2e9bd4ea3ee843586274";
+      sha256 = "49a111b6eea9d357de2f1dca5607463622dcbdbde0bac512f792993641e4209d";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/gl/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/gl/firefox-117.0b2.tar.bz2";
       locale = "gl";
       arch = "linux-x86_64";
-      sha256 = "4e3ec830483236cbd9a8cb8a11073f9df86782eb7c9945e83e28ea4110fec17a";
+      sha256 = "bd6b23e8cc8837cf48e29d6329814df0fe518c0cb8a562989802c17a2c7bf361";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/gn/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/gn/firefox-117.0b2.tar.bz2";
       locale = "gn";
       arch = "linux-x86_64";
-      sha256 = "0f7f99a5e476cc326aaaa1daa5c46acea01c251faa764e446b1fa54eb68fbc2d";
+      sha256 = "075a90ce96d5225855e74bbbb81d3c97cf492c7999afda81e19c434b72a963da";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/gu-IN/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/gu-IN/firefox-117.0b2.tar.bz2";
       locale = "gu-IN";
       arch = "linux-x86_64";
-      sha256 = "9901b3fde114d69588e415ac6c9e5eafa112b5a07137add8f381ccdfe1871837";
+      sha256 = "3dece4effb88aed44b97c56ff3c0ca5b0c791050daaea4c857d6eb0dd6280ae4";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/he/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/he/firefox-117.0b2.tar.bz2";
       locale = "he";
       arch = "linux-x86_64";
-      sha256 = "c510b05ea5e7c3e8fd9a0bb2407580c4c505e6fac4287ff342d98f89a33db8e1";
+      sha256 = "e5a9f8e8d1762eb20ce8f9275c8d1d39b89898a6d4171666fa2547236653448f";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/hi-IN/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/hi-IN/firefox-117.0b2.tar.bz2";
       locale = "hi-IN";
       arch = "linux-x86_64";
-      sha256 = "e2e9cd72cb878e5e4a9e1df380d63592981d93782b07345a3276675e0d4d9612";
+      sha256 = "8ab570186883db665811166cbb6e54f3967bc135b434935c803e54ce33446305";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/hr/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/hr/firefox-117.0b2.tar.bz2";
       locale = "hr";
       arch = "linux-x86_64";
-      sha256 = "71d79bb87a0bf0f1bc35fb5e649637c355f0f159d1d259e316dc6ffa634730b4";
+      sha256 = "116f955b10213eb475e950ed667c22b2807805374c128b2c62c90a27c7b09faa";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/hsb/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/hsb/firefox-117.0b2.tar.bz2";
       locale = "hsb";
       arch = "linux-x86_64";
-      sha256 = "b789306192759b7a8362c0e96218b672ff4aaa59284940d7be0d017d8d308364";
+      sha256 = "0160a52f6ac8f4515f4b66a3cf7ff9fd8c1fb4423e334b765f56521d4cd8c921";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/hu/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/hu/firefox-117.0b2.tar.bz2";
       locale = "hu";
       arch = "linux-x86_64";
-      sha256 = "68a4da300754165c7ba93e3273d90bd3d9863c457b25d6dc24113dcb9eefc68c";
+      sha256 = "c3a33a833c678271db77ba68f8d470bacd985a36d32eb12805f06cc825f69efd";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/hy-AM/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/hy-AM/firefox-117.0b2.tar.bz2";
       locale = "hy-AM";
       arch = "linux-x86_64";
-      sha256 = "4ba2a4dd17eb4eb4e17a6fccc0b7e614727be2960491d54438283e233b544171";
+      sha256 = "ea72903b2251bbc1e9563c0af655ee0a43133f6b8ad5dead51d73c2af1a46f10";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/ia/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/ia/firefox-117.0b2.tar.bz2";
       locale = "ia";
       arch = "linux-x86_64";
-      sha256 = "d5e8255fc4b2af1c5e96568434cacbe0c5472f367816cd8faf13b45c65b22633";
+      sha256 = "5a7018c9366ba708b5e4183e0ea3632d9ada23017cdaa261254e9ba289e936a6";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/id/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/id/firefox-117.0b2.tar.bz2";
       locale = "id";
       arch = "linux-x86_64";
-      sha256 = "ec930eeafe23b850fd01d43651cbd1f60f0eb8956163d3344813aff759fde5ff";
+      sha256 = "3c61a962c2fac6f6a89cc7cdd2803de3f4937ff7084133c3104b8be0f37ef923";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/is/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/is/firefox-117.0b2.tar.bz2";
       locale = "is";
       arch = "linux-x86_64";
-      sha256 = "e98564458a6dec775226cd74406eca684928db89a11012ceef8cdb1bd5e9240d";
+      sha256 = "f3de4793e6745a98dddd58ada32031e807f146c0be08f797fbd7d4c105f0bd90";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/it/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/it/firefox-117.0b2.tar.bz2";
       locale = "it";
       arch = "linux-x86_64";
-      sha256 = "c2b88116a25894a3ae969c4868079c35998f26f9ace4f3ab59480c482d8616e5";
+      sha256 = "afa74a3275d1c94cd9eff2a72f113a363c6a5f9d2b3b818fbf2d6ffcdea48359";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/ja/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/ja/firefox-117.0b2.tar.bz2";
       locale = "ja";
       arch = "linux-x86_64";
-      sha256 = "9bed9d4dcc76a47977d5e3f3950655a3e19f2ef59a321a049d5f0f872276bdb8";
+      sha256 = "428af569236c9309c6c9604d9202c8d42520d8876b4c4b8f81ed393a4e94e95b";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/ka/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/ka/firefox-117.0b2.tar.bz2";
       locale = "ka";
       arch = "linux-x86_64";
-      sha256 = "c2f91ac70e57a7687d6760712d9bc09df29ee9ec529e28019727eef165bc68c9";
+      sha256 = "6c09fd719915bd08c77cbd7568e80dd365cf35f92286edc2aa250f13866abb5b";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/kab/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/kab/firefox-117.0b2.tar.bz2";
       locale = "kab";
       arch = "linux-x86_64";
-      sha256 = "07470a1a7f911035b072d506d34807941bde1b44ef4be194283402e3485176ac";
+      sha256 = "0bae08a35c4b568439d3083689e9b67670989bf4daa42b65a89df7a30f5d961f";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/kk/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/kk/firefox-117.0b2.tar.bz2";
       locale = "kk";
       arch = "linux-x86_64";
-      sha256 = "54145722c779687f888cb7c46b2fc9f73eb66b52692af87076a9adfd4307b3a5";
+      sha256 = "d57143735f3fcd0f93993fb8a095180f28325a585f24f217c949338d5724db24";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/km/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/km/firefox-117.0b2.tar.bz2";
       locale = "km";
       arch = "linux-x86_64";
-      sha256 = "985252e7b7b0c6c46bd47e4262ea40aeda4617c111c5f387479f6b60f3afb8d3";
+      sha256 = "11e19ead61e405a04a0ea90256c9980affed0a108c3cd2746e0f4a5aaaa625fc";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/kn/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/kn/firefox-117.0b2.tar.bz2";
       locale = "kn";
       arch = "linux-x86_64";
-      sha256 = "f0521cb6d6b359f7e1f5102d0890aed881779ea3bce29f6c45111ecd63f9de3e";
+      sha256 = "c30d4acb50a5b28d35447528fae40bf7ae56bdb606c8eb0de1d006bb11ea397b";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/ko/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/ko/firefox-117.0b2.tar.bz2";
       locale = "ko";
       arch = "linux-x86_64";
-      sha256 = "4178338298ac6b210509594b19f71f71ca9abef831e301b357f746ddbcd12fc2";
+      sha256 = "ae25dc8d290b3181aea7c59a5097f4356aedfda4e945ffd6d14d51e198464740";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/lij/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/lij/firefox-117.0b2.tar.bz2";
       locale = "lij";
       arch = "linux-x86_64";
-      sha256 = "18ae0adefd8f0fcc1f92c2a2dec922c5db6bbee570e8d76902bb473272eb3cf6";
+      sha256 = "0c7b229256c096462eb74ef70531fdae586a748174cb0bc3bcc00f8356ae7775";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/lt/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/lt/firefox-117.0b2.tar.bz2";
       locale = "lt";
       arch = "linux-x86_64";
-      sha256 = "2a725af3be4460d9c26e794e5a5c990a14c724b0d7c4831a140e32a4783d4f75";
+      sha256 = "b68a443041b224a0ca8f7b6a3995d337594e880c9a85928b764dbc2aaec6891c";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/lv/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/lv/firefox-117.0b2.tar.bz2";
       locale = "lv";
       arch = "linux-x86_64";
-      sha256 = "51a081450b7278b78dfc42ee5f7f69a34c6c7c2857290fde920858178834eed4";
+      sha256 = "24ad5a0c8a399e893b9b975b955a28b2d6aa5307ef71f0b58b427f4181212e9e";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/mk/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/mk/firefox-117.0b2.tar.bz2";
       locale = "mk";
       arch = "linux-x86_64";
-      sha256 = "61499e809c0c49563f113684fed133e0d768afd4d4131f7c98622bced65e77a2";
+      sha256 = "d346538b834adc2f710be22cfa13661223c7a4e2a7a0c1cad9f4cd720dfb5811";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/mr/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/mr/firefox-117.0b2.tar.bz2";
       locale = "mr";
       arch = "linux-x86_64";
-      sha256 = "e10507db2730ae374c4327df5f8f3636d75834aac26123a0fdf467a246102eea";
+      sha256 = "7640d344039ffd36aadca3370ad1320ebb73f2cf3ce95f95d9100a3a3a22357d";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/ms/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/ms/firefox-117.0b2.tar.bz2";
       locale = "ms";
       arch = "linux-x86_64";
-      sha256 = "96b7d5c090e4ab79448a5a0a96805d8edd2448dccb26bb0a01bbe235ede1cdb7";
+      sha256 = "b75c2aef50aab8dba0833afbc863f94e1e0995a8970d92f426da7ef41eb3936e";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/my/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/my/firefox-117.0b2.tar.bz2";
       locale = "my";
       arch = "linux-x86_64";
-      sha256 = "9fe9497421e76e64108fb0731c61dff275cd6c7f60c84eb5f2cf452bdbd1b937";
+      sha256 = "cce53b1f34cd8f83756d657c8aac0eedab0b4ed12b278991c6c53e5407c6255f";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/nb-NO/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/nb-NO/firefox-117.0b2.tar.bz2";
       locale = "nb-NO";
       arch = "linux-x86_64";
-      sha256 = "f29a33b95aaa0dc20d5a29ecc75b12ff86d390a7962ff08fc0b4bb040c21422d";
+      sha256 = "42616b99958178ad4b4bfd1f6d5179e7ff85ae38c8c87f2d22b2dfbd09e35282";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/ne-NP/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/ne-NP/firefox-117.0b2.tar.bz2";
       locale = "ne-NP";
       arch = "linux-x86_64";
-      sha256 = "ad43efbf81fb877940435da8b87ebf844502da60e5b5683dcadb8bf37d796d3f";
+      sha256 = "d7c61ad37f7a4d1799640141a71d216b7aa286b70ce7e06357ac82a22887c06e";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/nl/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/nl/firefox-117.0b2.tar.bz2";
       locale = "nl";
       arch = "linux-x86_64";
-      sha256 = "210d99944bb56d418f47ea7bf8880a4422ce0048ff7275b368ed16b5b9cf92f4";
+      sha256 = "fa8324a01507d18c6b8cc2afeec5f9187a3970cdcda87794ad2145481c4eb451";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/nn-NO/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/nn-NO/firefox-117.0b2.tar.bz2";
       locale = "nn-NO";
       arch = "linux-x86_64";
-      sha256 = "69c2cf3edb67e1cd22ce8776a2e45b57ec770f08edf0d4007b86b3dd5ab54f8e";
+      sha256 = "f6af2df55301f16efb5f02f65bdcf43416951fad8763b61de7c776162344f2a5";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/oc/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/oc/firefox-117.0b2.tar.bz2";
       locale = "oc";
       arch = "linux-x86_64";
-      sha256 = "4cdc3d9833f6d813dffe9f65d5ca1f4deb4290fd5127282b5f74b936186e44c9";
+      sha256 = "b52637ca1e87749f9963d292560da1ade938395b2d2888b617e363ef557c37c3";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/pa-IN/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/pa-IN/firefox-117.0b2.tar.bz2";
       locale = "pa-IN";
       arch = "linux-x86_64";
-      sha256 = "4425772fdb76f06696113b254162d1b12eb5daab5ca47ae8da6a427730b7c34a";
+      sha256 = "ada654c1b96c24c176640610e2279e9aed18e01f9baeacd89f117590ed895593";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/pl/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/pl/firefox-117.0b2.tar.bz2";
       locale = "pl";
       arch = "linux-x86_64";
-      sha256 = "60b5f5cd2a332252cb6deb181268783a1620b10b519fc03d09dc872b803a63cb";
+      sha256 = "333b262dbbba9cd50ce779c92768bf9de3f9f392f1e8afef1f90c00f36c9aee9";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/pt-BR/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/pt-BR/firefox-117.0b2.tar.bz2";
       locale = "pt-BR";
       arch = "linux-x86_64";
-      sha256 = "c34aa4b9328ecb50f147d11f36b40068ede5d8cc7f999bfe01e9cd4fe066646b";
+      sha256 = "1022496db4b089a8fe9cfbfbc778d5744b7ffa3576567c8687400570b76c86fd";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/pt-PT/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/pt-PT/firefox-117.0b2.tar.bz2";
       locale = "pt-PT";
       arch = "linux-x86_64";
-      sha256 = "f801f96207e13f32a4c92a8c3d81771593c867dc078a29c6621c680442cf8b1f";
+      sha256 = "b60aca7910a7a0ed4433a70bd60dd435828aeb568f754dfc375ed718d43603e4";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/rm/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/rm/firefox-117.0b2.tar.bz2";
       locale = "rm";
       arch = "linux-x86_64";
-      sha256 = "530f69183566b76738863ab1d35cfeea34388089caabb845835946cac6ea765f";
+      sha256 = "d5099ca371ceeff83f81086719991021ae035cf30046be4eabf34f0dddc27d4d";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/ro/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/ro/firefox-117.0b2.tar.bz2";
       locale = "ro";
       arch = "linux-x86_64";
-      sha256 = "21716632a24ea27d57573bacfac55051dd136decced8fdf5f4d117e86f014f05";
+      sha256 = "1d6ec98e3227cf42da3de471cfb803ce011056b990b09efe45119c55e3ad5732";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/ru/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/ru/firefox-117.0b2.tar.bz2";
       locale = "ru";
       arch = "linux-x86_64";
-      sha256 = "d7fcaef1c71d07cf42b3e7bfc74f305ef75199451b25f573adba45535c49ee46";
+      sha256 = "30e549d2da8109826629545b122669f874b34c72afc0d93c9e079e0db2c99bf5";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/sc/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/sc/firefox-117.0b2.tar.bz2";
       locale = "sc";
       arch = "linux-x86_64";
-      sha256 = "6fd1c1647a8ae2586cda50403a564ad37b7fbfc3ced2c62ae2dec1934cab3a12";
+      sha256 = "9f8e5fbbc3280a10ff09e2bc06320d6bb7a20563e0feb2ff1ab80c13f66ddf06";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/sco/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/sco/firefox-117.0b2.tar.bz2";
       locale = "sco";
       arch = "linux-x86_64";
-      sha256 = "ca4263b1d21ff1cce8bc43c503363447dc19724abae91c900e3c2632038b2908";
+      sha256 = "c22696faeaad79093b74e8775085fb30aaaacc91aeb9ddc7656a06210e057148";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/si/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/si/firefox-117.0b2.tar.bz2";
       locale = "si";
       arch = "linux-x86_64";
-      sha256 = "051200eb96f21c795494b01b94a48d0331cd0c3bc4b9ced8b5e2342e126edae1";
+      sha256 = "f0a7b1e28c0e6f0cff93053767f69afce01374169635674b5670a1b5c8fbf43b";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/sk/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/sk/firefox-117.0b2.tar.bz2";
       locale = "sk";
       arch = "linux-x86_64";
-      sha256 = "615a078479f73d61459d59756e58dacd712245f95510e226d93e26758de43eb4";
+      sha256 = "4bd7119df5fd52d24ecd1f21746bb0b07584f99fd70985bc1ddc55062eaa69a3";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/sl/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/sl/firefox-117.0b2.tar.bz2";
       locale = "sl";
       arch = "linux-x86_64";
-      sha256 = "06249e9b5254da179b924207f81819cd1f4abcc2956bd113e5362e728a531064";
+      sha256 = "b70d91253e6aa44beb1ab1f1914c532aceea78dd4e173b7a1c95e71bf77b9ca0";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/son/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/son/firefox-117.0b2.tar.bz2";
       locale = "son";
       arch = "linux-x86_64";
-      sha256 = "ecc73e86bfd2e7b7d3344b1f6aacaab6a6d0e11d0bb9df468a5d9c76e5cf388d";
+      sha256 = "62a0788982eba7010f7cdb8f7fcb335e2c3eb9194d65c3b9ad7b7324cae7264c";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/sq/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/sq/firefox-117.0b2.tar.bz2";
       locale = "sq";
       arch = "linux-x86_64";
-      sha256 = "be624e20ab9355b499dcb3861fb9edaf50ef5cf8e65c5dea511df18a1b25bacc";
+      sha256 = "fb85d86840ad492c7aac3216e056807cccb8dc4722387d8dabe9198e4e3b9a6d";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/sr/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/sr/firefox-117.0b2.tar.bz2";
       locale = "sr";
       arch = "linux-x86_64";
-      sha256 = "9ec8b3ca6e3c8af537ed7e6a0ea08caeb76425a18e0de35a3e1f05250b5358d4";
+      sha256 = "95335bdf009729705cb42fe64c64173480bb2e1cf57ba381588e24cb8f723f38";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/sv-SE/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/sv-SE/firefox-117.0b2.tar.bz2";
       locale = "sv-SE";
       arch = "linux-x86_64";
-      sha256 = "3750ff90c0fb47e21c57ea6c84bdabfb1459f741aa1d82cc2a1fc969cd6d0438";
+      sha256 = "1f0705e482088b4313339ec4e7ba5954026c0a90dfde5d3454de7ce39e32b220";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/szl/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/szl/firefox-117.0b2.tar.bz2";
       locale = "szl";
       arch = "linux-x86_64";
-      sha256 = "ccd80051479f0b57c610b4bb9776f002d1e019a3b2c38188f21c14992caa5193";
+      sha256 = "5a3ecd48184f50c93f87c092bc7f6947d581ec94bf13bd8b8bc54fe77ab05b90";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/ta/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/ta/firefox-117.0b2.tar.bz2";
       locale = "ta";
       arch = "linux-x86_64";
-      sha256 = "e6247aee65cf2dd3708d591f3674b1c33eb6d52261690e5bca10a22b66ced04a";
+      sha256 = "4bc5df0b1f12f94441e807f2833aed96f6eea4ab1e0b3b8bc72f880ba21b89d6";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/te/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/te/firefox-117.0b2.tar.bz2";
       locale = "te";
       arch = "linux-x86_64";
-      sha256 = "20b5f9c1f14c82fb200b1be5eecfcc6dbed59459c7aff4c5a9f4ab5e19f9967b";
+      sha256 = "dc84283879450653fc05be5b87c9bd5a7588f772ce093b1098b61dbb433d867f";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/tg/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/tg/firefox-117.0b2.tar.bz2";
       locale = "tg";
       arch = "linux-x86_64";
-      sha256 = "49bc2d4a95506ff6bad793f8afe31c2bddbfc6a732c37779891abc44c6e0d71f";
+      sha256 = "7154dc9c9d7154f9bb2e65374fd9e6ff2354e8576b2ac43b74fc9e0fa3586b24";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/th/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/th/firefox-117.0b2.tar.bz2";
       locale = "th";
       arch = "linux-x86_64";
-      sha256 = "6910f36379df34ab1f97b8b6ebc25eb9dd9b83cbe857b453a4c71c702aac4481";
+      sha256 = "dfc2bccf0b12875a9f41ab4c92e18c321758c5444eaff83d08371db75f1e00d6";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/tl/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/tl/firefox-117.0b2.tar.bz2";
       locale = "tl";
       arch = "linux-x86_64";
-      sha256 = "788b50ab7fb170b49cce6cbf2785204b25b23bd7120eb18c8ec29a15118b739f";
+      sha256 = "77b8e0fde9d46a6ee93453961c0df3a884346e1c9382c583271459ef032df27e";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/tr/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/tr/firefox-117.0b2.tar.bz2";
       locale = "tr";
       arch = "linux-x86_64";
-      sha256 = "c1ff5a3d891bd88a8fa6f89b2f561600ff9221a77c6edd4d2d217f40a1953aaa";
+      sha256 = "2d83edb71ac976a4800c562279148bd365096a6f1190b18e3655e31718a479d7";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/trs/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/trs/firefox-117.0b2.tar.bz2";
       locale = "trs";
       arch = "linux-x86_64";
-      sha256 = "56f819381a564e4de3ff5968aea21b71312e6381ab29a2739890844310b2cc7c";
+      sha256 = "8178396de71e6b4748954cc4c18889f78490a076a9f665224fc075df995e659c";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/uk/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/uk/firefox-117.0b2.tar.bz2";
       locale = "uk";
       arch = "linux-x86_64";
-      sha256 = "8f6ba4cee9824470abb62f5610b3bdde1f4df6a15209a3ccc56af06f776280ec";
+      sha256 = "bef3102ab0918d76865f73057d99670a339c60643d36a34bfa3d77d5d8b1b27d";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/ur/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/ur/firefox-117.0b2.tar.bz2";
       locale = "ur";
       arch = "linux-x86_64";
-      sha256 = "d2d5bd799a9bd1de740066128a281f8acaa70fcbd8f7d0ad1afe2e6ba451735e";
+      sha256 = "b09154c22386174f157e73b7aae3717ae00e05c1496c267994f9c7944237026d";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/uz/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/uz/firefox-117.0b2.tar.bz2";
       locale = "uz";
       arch = "linux-x86_64";
-      sha256 = "52acacd060c7ee6dc80164885c74594e4ba066ee981f65110d085ff3aedeb57e";
+      sha256 = "7f592d18df3f777ddca77a04cdcc03e81077ae6140d1e0817dd414e9cb875f03";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/vi/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/vi/firefox-117.0b2.tar.bz2";
       locale = "vi";
       arch = "linux-x86_64";
-      sha256 = "ee0d42e366670c54473814675a9ddf5feb56c340ac756dbdd873307ab0493b07";
+      sha256 = "db0f4465154f2ded785a57c6f7e42c0ca09831002172155877ef7bd88150daa7";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/xh/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/xh/firefox-117.0b2.tar.bz2";
       locale = "xh";
       arch = "linux-x86_64";
-      sha256 = "f8e050a6c12488301a0a52ef6b617bcfc11353da6d7614b0badf521e91010971";
+      sha256 = "10dcfedd7385b253c2c54e666312f989f2ecd4f89b8ccaa3c7a8af5448f64038";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/zh-CN/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/zh-CN/firefox-117.0b2.tar.bz2";
       locale = "zh-CN";
       arch = "linux-x86_64";
-      sha256 = "e98dfc8a86537636f608cd47b92002656e9641b93a5010ff91e4612adb9b1f47";
+      sha256 = "7b9f108a01441f8061e5df76d639c5d3da0af01c279f8e13cad371ce4ebfda90";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-x86_64/zh-TW/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-x86_64/zh-TW/firefox-117.0b2.tar.bz2";
       locale = "zh-TW";
       arch = "linux-x86_64";
-      sha256 = "8f8a1e1ae1daae93bcd0d0aa33e14eb8475bacfa7332b6430614b5a608aaf546";
+      sha256 = "88169d7b0162e26ce08385c7dfbbff4747fca56e468d20c5c6f18fecfb0b4519";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/ach/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/ach/firefox-117.0b2.tar.bz2";
       locale = "ach";
       arch = "linux-i686";
-      sha256 = "d5ccd23f477053d2fd29536b096947448bda84bc8bd496f6d67ede2645003e38";
+      sha256 = "79035da9cb12a3a1d5b95aedc49b4e35a1cd2c7bd2cf75192e4de8e893c82188";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/af/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/af/firefox-117.0b2.tar.bz2";
       locale = "af";
       arch = "linux-i686";
-      sha256 = "3531a77ac162a13721060f5a1cf42a0412b00d3545be9361658499c875f65b5f";
+      sha256 = "6a67f68914abcee485d0328714687209d67853a8fc73cc5627a9ea9a66ac063f";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/an/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/an/firefox-117.0b2.tar.bz2";
       locale = "an";
       arch = "linux-i686";
-      sha256 = "7213b9df3794d3882e5f7264e13525d170f7d3b6f6509e9ee6dd9aee5d3b40d5";
+      sha256 = "8ceb7d9d06fc53a82f5d9348bd3fd7857c42417f6b8d04c3fafaac3cfb65da4e";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/ar/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/ar/firefox-117.0b2.tar.bz2";
       locale = "ar";
       arch = "linux-i686";
-      sha256 = "4092fbdf1a2c9984c0636932e3098c6685a50b4ccd47955d4c218b8e22a4ab88";
+      sha256 = "d26458dbecfe2c5517ddf7c4edac4974a995f3235d1c3fdee471008532e2cdd6";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/ast/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/ast/firefox-117.0b2.tar.bz2";
       locale = "ast";
       arch = "linux-i686";
-      sha256 = "c5e12f623e0497ba9058c3346c54756c35ec986d9ad6ba8f318e9150911469a8";
+      sha256 = "f2df64623e0adcc3a616c5591fcfee1a071f7278662550a440f81152abd25f93";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/az/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/az/firefox-117.0b2.tar.bz2";
       locale = "az";
       arch = "linux-i686";
-      sha256 = "48afd4136bf550d0fbc54ab00fa60ecbdfcf9a5588d2b69eb178834843a3d199";
+      sha256 = "0651ed1b61d8c21794b7fd01c71b001ad2281748a79e7b68c7cf99745bcf0f0f";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/be/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/be/firefox-117.0b2.tar.bz2";
       locale = "be";
       arch = "linux-i686";
-      sha256 = "f68b8e8167a14e414a2c2829e9a8a9471fb53509f02276f12097964982ce6bdf";
+      sha256 = "e3749e5e647dd70033d50f5a62280d72e34e5ba5878e0f74bf7039165ccb3dea";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/bg/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/bg/firefox-117.0b2.tar.bz2";
       locale = "bg";
       arch = "linux-i686";
-      sha256 = "04a8f6a9f3ee83cb449e395248da7e49db5639026c40fa923722b25f6b487102";
+      sha256 = "7a65b012cc02b4d30de1eb0a570a97826b1af9f9af8a330de22dd0f8b9c4b238";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/bn/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/bn/firefox-117.0b2.tar.bz2";
       locale = "bn";
       arch = "linux-i686";
-      sha256 = "a0ca76eb610b85077a84a6b154e0cb789bca6763b9804e750e2dfada7ff294d3";
+      sha256 = "4e99f11d18135dfa180773b1d1c3247710986f45e7401837a75d00c22e528501";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/br/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/br/firefox-117.0b2.tar.bz2";
       locale = "br";
       arch = "linux-i686";
-      sha256 = "35b8bc7b4d533b51ee3c5d36fc72625c981674859d71aa8fa4cc35117bf28fb6";
+      sha256 = "ab7dbd47d454864726f7d62e29ace6820b2aa2542bbca1bb2c199ef48411fc2d";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/bs/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/bs/firefox-117.0b2.tar.bz2";
       locale = "bs";
       arch = "linux-i686";
-      sha256 = "6100aa7629763300623f6c3880208897e7a12da9bab1bdc616b480ab7ad8f2fa";
+      sha256 = "50b9b42ba59c6ed8d8cab57e4f40d4ffcc9813c61d55f7a1a2558f5c11bfac10";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/ca-valencia/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/ca-valencia/firefox-117.0b2.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-i686";
-      sha256 = "d389421bc508d6bdd0f56bb93dc5a5b2643e15597ce7ba6dd230c9b54d693425";
+      sha256 = "974c1cf8c3c54b7b16b6c86a9c76998330d292fc4f98edde91d671c15a970d79";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/ca/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/ca/firefox-117.0b2.tar.bz2";
       locale = "ca";
       arch = "linux-i686";
-      sha256 = "776219a92a9cbb3e58fb54cd1f5513a3a26cdec1935040062718b0b1893bc6f0";
+      sha256 = "430ad9ec55366b8f701ae04c3e742c6e3a5a154f05ded686ebdbbd50e782da43";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/cak/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/cak/firefox-117.0b2.tar.bz2";
       locale = "cak";
       arch = "linux-i686";
-      sha256 = "be34c1f421d99257a3d05a82c48552a5f3aceaf54c0db6cc2137fb3972d29be1";
+      sha256 = "83335010789e56a3562edc9070131ca78a1c8383d76a3a62f133ca1798e89158";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/cs/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/cs/firefox-117.0b2.tar.bz2";
       locale = "cs";
       arch = "linux-i686";
-      sha256 = "8cc51892774938280fadfb5c98ab848d03310b6b8d0897f80d36b65519df05da";
+      sha256 = "92530cf260c896214f37f6444b09cff55e7d11cc53f3b94e5c7fbd551e6db767";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/cy/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/cy/firefox-117.0b2.tar.bz2";
       locale = "cy";
       arch = "linux-i686";
-      sha256 = "18b6c599d989abd0f9212d75e406237f417fe7160984ec8c4cbc4845d256e8bb";
+      sha256 = "95a57db70e0f77ac171614fa01caa56fdca301b3c281a62be60f1321c9328036";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/da/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/da/firefox-117.0b2.tar.bz2";
       locale = "da";
       arch = "linux-i686";
-      sha256 = "a3ce7852cc6ab16d6946921ebffa36465acbfe6f9f819dc9091e27f1d31884df";
+      sha256 = "35b14d86d4d920e5e1e18cf41b852d68fd1de606c9a9d9ba0913d59f9d1085ff";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/de/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/de/firefox-117.0b2.tar.bz2";
       locale = "de";
       arch = "linux-i686";
-      sha256 = "99cba98a623de06364eb6d000eabfa853fc80b7599fb170763a8f626089b28dd";
+      sha256 = "40ff8ac7953e38335cf158231ebcf7508595d9f27a2c6bb5068896a33c77a5ed";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/dsb/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/dsb/firefox-117.0b2.tar.bz2";
       locale = "dsb";
       arch = "linux-i686";
-      sha256 = "975c25e04aa35ab9724d0550bf98b2e4556f0a5af87ae77664f43d56354bdcbe";
+      sha256 = "d087dc5a0953484d34effb02c4e6df0d34e2be8427f94eaf17b702f5f109a64b";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/el/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/el/firefox-117.0b2.tar.bz2";
       locale = "el";
       arch = "linux-i686";
-      sha256 = "ce33673dc2b2f0a65e54b620012b194f1a84a84f01bbb72166c2edb4d3ab12fe";
+      sha256 = "5c44fd4f54f97f4f2dab34de311f69cd0040954791b6aaac4214e53bb8021221";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/en-CA/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/en-CA/firefox-117.0b2.tar.bz2";
       locale = "en-CA";
       arch = "linux-i686";
-      sha256 = "d064bb526f0750d32d2708e63c80e002ca6156f7fc20fee12692bdce16b0ef2d";
+      sha256 = "0448a4f07259f0dae3a2df6e249ab7a5f76bb1a053fbac6056e75062c66ae5d8";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/en-GB/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/en-GB/firefox-117.0b2.tar.bz2";
       locale = "en-GB";
       arch = "linux-i686";
-      sha256 = "be2c784aa7e8a48d8955f51cbddcca82e063454a75671c5896d7a80005c7e1b0";
+      sha256 = "fbeb90596bd169e29e22849c2cb37f174a22a136f233895de00234461ad20fcf";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/en-US/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/en-US/firefox-117.0b2.tar.bz2";
       locale = "en-US";
       arch = "linux-i686";
-      sha256 = "ac8df5f2f46588f4daa2e4ffe9dff1ce9ca75283d6db6cae77b5d77a5e5640a2";
+      sha256 = "1b765fdb1f632e934531c3508295b35b95325585d412cfc9d5f936297a608709";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/eo/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/eo/firefox-117.0b2.tar.bz2";
       locale = "eo";
       arch = "linux-i686";
-      sha256 = "51a3b48855144ef476c4011e978fd01aed48ec84844dc673e46b76eeceb5366f";
+      sha256 = "25d2e49d8ef84aa5c059942f413a72bc8dca6f636ac25d1a182df6e81318eace";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/es-AR/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/es-AR/firefox-117.0b2.tar.bz2";
       locale = "es-AR";
       arch = "linux-i686";
-      sha256 = "45febca3ece693d03ed1ce694d3741f10173593692aef6a54c2a9723a1b93e37";
+      sha256 = "921625e533965984bb5e5c9ddfad9c55767a6f9bce6a7cd1603432d0fa060a50";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/es-CL/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/es-CL/firefox-117.0b2.tar.bz2";
       locale = "es-CL";
       arch = "linux-i686";
-      sha256 = "441b1292248d7b8c5819dca9639dc0701cf6f456fa7dde0c5d74c677cb074bb0";
+      sha256 = "2aaa814aa0266121c0ccfa4710dd519820dd895812531f619487bc570e7b11e7";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/es-ES/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/es-ES/firefox-117.0b2.tar.bz2";
       locale = "es-ES";
       arch = "linux-i686";
-      sha256 = "6007fae26404f2562d7bbb14f3e0dcc734a763ca444c2709ce8d2bfd5276447a";
+      sha256 = "aec5d39fe3e8086f82df108fc17f22d814570a5a60a379eb51a31d333b4b3f9b";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/es-MX/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/es-MX/firefox-117.0b2.tar.bz2";
       locale = "es-MX";
       arch = "linux-i686";
-      sha256 = "aa5122e8685fababaf97cc3937261e0aef65b52c7a43a9d843d6cb0a264e753e";
+      sha256 = "54410375256736369d539651682b89083af2d5ecd451c858deed5494f66890fe";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/et/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/et/firefox-117.0b2.tar.bz2";
       locale = "et";
       arch = "linux-i686";
-      sha256 = "b8142f93a80ccb685063c41ce5fb18607cc270f25be21784d8c2e4a0045a5aff";
+      sha256 = "27183ff7328757720f622aedd66069693a0becf55b41014d86fc29778278f2da";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/eu/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/eu/firefox-117.0b2.tar.bz2";
       locale = "eu";
       arch = "linux-i686";
-      sha256 = "1b4af468d79b052992d4c9500b13e43fbbbcebf73df3f669d771d452d9b39dd6";
+      sha256 = "052896639d429b8a607295cf2b7970245eede725a466b5564668973a36495e0e";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/fa/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/fa/firefox-117.0b2.tar.bz2";
       locale = "fa";
       arch = "linux-i686";
-      sha256 = "b9c1a7c410e1f7262408ae273ae671b0ef95b3711151c76a6206a5f3def16faf";
+      sha256 = "b59e34dfa242cdf5b6ea5efcd1386858988693abb031432f8624fb3d2915e9cc";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/ff/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/ff/firefox-117.0b2.tar.bz2";
       locale = "ff";
       arch = "linux-i686";
-      sha256 = "944612ff8fed847a8548548faa58fecb2e6c39f7343a853e93a7a4bf18c1f2e2";
+      sha256 = "29cb0ccfde16c3cfb2d02bc32ff2b943af40b65e9009d9cb238387245cda5911";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/fi/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/fi/firefox-117.0b2.tar.bz2";
       locale = "fi";
       arch = "linux-i686";
-      sha256 = "c88ce10e9646456a0160f175189aa0cb5b06a88a1bf14445f74e330bd48b08d1";
+      sha256 = "31f2a91eb34ff04b8d9b1f8265074f6341ded0c5e4edbc16ee6529779fad2f36";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/fr/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/fr/firefox-117.0b2.tar.bz2";
       locale = "fr";
       arch = "linux-i686";
-      sha256 = "45c559bf2f31ec5f1cd6cc8df0bbc87a882aaf751dae5723d0fee9282d93c3f6";
+      sha256 = "c75fc05c3aa6078c4f6852afb6f7bca3a4cc3919e79fd11f76e877df92dc28f3";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/fur/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/fur/firefox-117.0b2.tar.bz2";
       locale = "fur";
       arch = "linux-i686";
-      sha256 = "b675ea2673823fc6b27de90aa731d68d7e9046b246e448aecd776b09c5da988d";
+      sha256 = "b52d2bd41427085033f69ddc9cf1188f78792c4bc09b7c65b6ba396b5a3e0384";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/fy-NL/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/fy-NL/firefox-117.0b2.tar.bz2";
       locale = "fy-NL";
       arch = "linux-i686";
-      sha256 = "07504da6c327f42384be1ed87176d781e0e9c6414801712ec534555e543b31f8";
+      sha256 = "f8f70f092757e6ba18286b1024c1260e550fd953e2af30bbdcc9ba7b46f374f0";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/ga-IE/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/ga-IE/firefox-117.0b2.tar.bz2";
       locale = "ga-IE";
       arch = "linux-i686";
-      sha256 = "404e47c18ad46935c6bc3a528bb99fedd27374247b2bf0b5304128b8dbfa6e1a";
+      sha256 = "489a41ac49c7b1e90263cdbcafb9c479b0f169c75a615583afaa4446c28fd95a";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/gd/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/gd/firefox-117.0b2.tar.bz2";
       locale = "gd";
       arch = "linux-i686";
-      sha256 = "93cc4c9a9ec99c6f738a8acf6eeae71226fbdcdae136387d0c28648c372e6279";
+      sha256 = "45f4b4b42a2341e1bbac25a1666213a5c9c8ef10b6266590d85246340ec6e3e0";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/gl/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/gl/firefox-117.0b2.tar.bz2";
       locale = "gl";
       arch = "linux-i686";
-      sha256 = "9fcbbea723d39fb34fce0435121818982add249e456b2ed1f6a1b1652ff342c9";
+      sha256 = "e141d86f5a078911b2a3a172da22907848d5fd5eaa946fdca0200713582b3c0f";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/gn/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/gn/firefox-117.0b2.tar.bz2";
       locale = "gn";
       arch = "linux-i686";
-      sha256 = "f962fe0de779a95ce14d828a82ed336573781f83adde61db10abc4a686b6a2dc";
+      sha256 = "5dc5d61472b1000c02f8bdd89e486a599313aeec6de8db7add1630be4165f7d4";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/gu-IN/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/gu-IN/firefox-117.0b2.tar.bz2";
       locale = "gu-IN";
       arch = "linux-i686";
-      sha256 = "6373fff69de803cc5a077ea45eff6ad2ca37caec1b8a9523a7f91d1924377ec9";
+      sha256 = "10091e45534607d9bfcaf58281832f0e2e9ff6ed87d434a48db977ac800b92c6";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/he/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/he/firefox-117.0b2.tar.bz2";
       locale = "he";
       arch = "linux-i686";
-      sha256 = "9f952724b440cf83cff675ec888910a6bff20233860b258001962cf6ff12e56d";
+      sha256 = "688017dbf1460de4319cd0f7b1f9c0bfdc989caabbd22b1c975b5bb2f0bef302";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/hi-IN/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/hi-IN/firefox-117.0b2.tar.bz2";
       locale = "hi-IN";
       arch = "linux-i686";
-      sha256 = "7dba0c18877f3b74622e8812f01b3a562c0d0956f0d1f1e64cce3b4b044cd41b";
+      sha256 = "83381f3a5fac2b0728805b975b214967e15c6457c7db519544a1efcdfd56f0f6";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/hr/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/hr/firefox-117.0b2.tar.bz2";
       locale = "hr";
       arch = "linux-i686";
-      sha256 = "e69297da941dcdea8ac900b170e0d59ccd432112f52608915cdd6695c70cabc1";
+      sha256 = "b2e09455df9df0cfd71997c2967f514d20cffc837126f438c92f618e81e7adc1";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/hsb/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/hsb/firefox-117.0b2.tar.bz2";
       locale = "hsb";
       arch = "linux-i686";
-      sha256 = "e03ab81a6615f71cf31b20e2aa3fdb4ead8a0d7f7b9e61616f8e72d2d8709dd8";
+      sha256 = "b5aeb522ade223ab1d303d939a1e74abaff81a052134d9e80d5767f91244f5e4";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/hu/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/hu/firefox-117.0b2.tar.bz2";
       locale = "hu";
       arch = "linux-i686";
-      sha256 = "ae3937ac22ab3db1de9a2f7117acaf3eae5bfc0dab8833e3bf4ef438fe2f8807";
+      sha256 = "18c40b433149361a0d5b5aa44e5c18416e60a47059972cd745e46cc3e595c05c";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/hy-AM/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/hy-AM/firefox-117.0b2.tar.bz2";
       locale = "hy-AM";
       arch = "linux-i686";
-      sha256 = "08928a362b5b7e29e11b676a17667d3fdc385551cdb84db11fc2d7b8bad79524";
+      sha256 = "5a909fe0e143bda3e49e9c7214d3246512d28cdf6580ab86202979a7de637e3d";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/ia/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/ia/firefox-117.0b2.tar.bz2";
       locale = "ia";
       arch = "linux-i686";
-      sha256 = "b48f4a080bbbe202ee75c3c0ec50de81b410a2545f37b40a458a41ad29dea131";
+      sha256 = "4b20fcd2754601f3e9e026ce3b92d604114da2a7ce8f5166ee01a1ee1ee317e1";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/id/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/id/firefox-117.0b2.tar.bz2";
       locale = "id";
       arch = "linux-i686";
-      sha256 = "861770952348540b1417051571d1efd2cc4c63441d088e772bf1b3ab3cced327";
+      sha256 = "996b0952cce4408a0ced116079442d71f7c605af4e18037b788ce3b75c74a3bf";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/is/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/is/firefox-117.0b2.tar.bz2";
       locale = "is";
       arch = "linux-i686";
-      sha256 = "fe4e2cbf086372d9b98c25dbf8ec7a0797d2caeefe218363b35227c5b1e3616a";
+      sha256 = "6e1f0d4bb1988a4b0e8736e554508302165cdd7b500302da621867833ca0c3e0";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/it/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/it/firefox-117.0b2.tar.bz2";
       locale = "it";
       arch = "linux-i686";
-      sha256 = "c36758e897406dd7d9fabc6c4c0793d5f24ecc007dd542420106040de9a81c19";
+      sha256 = "a5f873fd119efe83fcb32401d80528af47dda852f0b77b81b783e9228b14eafc";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/ja/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/ja/firefox-117.0b2.tar.bz2";
       locale = "ja";
       arch = "linux-i686";
-      sha256 = "09410a026f5c902ffb41c2b4138ad3fd975fe9a49e79174b8ccc6971d02f2570";
+      sha256 = "95ddfd0e54d2970116e1d4f9ab75ed808859e41c2dc244de652deba637e82a94";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/ka/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/ka/firefox-117.0b2.tar.bz2";
       locale = "ka";
       arch = "linux-i686";
-      sha256 = "1c34ab1ab3d784cb07ad7031654b574df610c03b7ff03bf401b9fec9db259685";
+      sha256 = "30233b10193280739ccbe9208bcf4b61d7eccc3242f51bf73045ba470aa2d896";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/kab/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/kab/firefox-117.0b2.tar.bz2";
       locale = "kab";
       arch = "linux-i686";
-      sha256 = "1fb851a99d4acabacbe0c6bb6cc88d712e01620e94815c9407473351d4a81826";
+      sha256 = "dc94fb2fea8e1a22d1373eee355556ffaf7f50fffa5c8702e541624e22c2ba50";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/kk/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/kk/firefox-117.0b2.tar.bz2";
       locale = "kk";
       arch = "linux-i686";
-      sha256 = "67ac4003b2bb6ee5badb3c5da99b73074432be939a7cd419bd5efd6abbf3b8fb";
+      sha256 = "47385fabe2ebab1ba71f4179044c4b92eedd4dfa356f3d9eee2a51c37672747d";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/km/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/km/firefox-117.0b2.tar.bz2";
       locale = "km";
       arch = "linux-i686";
-      sha256 = "120d5643b12df4376dcf3d25d3f560a629c42e0b68c5294b90710b30663e9c14";
+      sha256 = "17a863d642f6b41a0236478489e196e64a68d196ef135c2834144a863717ba1a";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/kn/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/kn/firefox-117.0b2.tar.bz2";
       locale = "kn";
       arch = "linux-i686";
-      sha256 = "c82cfc77e70b9a1305b6937c4e6ac8486e3326a10c0538a51d2c3db7998e5687";
+      sha256 = "87b7878ae9241c4907bcd05fa025f5f92746dacc96e6045523773b6e42db255a";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/ko/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/ko/firefox-117.0b2.tar.bz2";
       locale = "ko";
       arch = "linux-i686";
-      sha256 = "1e4e2c50c392b85e09cbfed6231cb75d4b5cc4f88118975b6bc7c1937f904ef3";
+      sha256 = "9826065baffd40bbd79e9a030c4241e57fc586e1e46822dacceb2b73c30fa8bd";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/lij/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/lij/firefox-117.0b2.tar.bz2";
       locale = "lij";
       arch = "linux-i686";
-      sha256 = "cd702b70546704302005ce139f4d8cfcee0f63a707890314d24a6cef411393f0";
+      sha256 = "049ec63c52aa35bc848ac4b950a71b5376845f9364ea8f0bc12e964386239011";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/lt/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/lt/firefox-117.0b2.tar.bz2";
       locale = "lt";
       arch = "linux-i686";
-      sha256 = "0b739761d743e9ca0af510e7c9be3061810e2c88321245c15fb7c7de1800a185";
+      sha256 = "c10aeb412b3b6bbd26efa0b2be9ca82233108ae228297ca2e197a74590806151";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/lv/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/lv/firefox-117.0b2.tar.bz2";
       locale = "lv";
       arch = "linux-i686";
-      sha256 = "79c5f4f8a490a87048851420c03fe63976bbb4bea655d9d9f6865c32d6a06608";
+      sha256 = "8166b56491d20000830b76678789c30d0d04894dedfdcedcf7a961e365318776";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/mk/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/mk/firefox-117.0b2.tar.bz2";
       locale = "mk";
       arch = "linux-i686";
-      sha256 = "46a00b6c16ebafe6c7f5f3bc3da6fa4dd12380d15c923ae409ed7c0e4dcc5906";
+      sha256 = "a1b77b83cd8ece5547c77e4b3443e47dba6779e0cd1c7f01b79cd6a06736aeb1";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/mr/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/mr/firefox-117.0b2.tar.bz2";
       locale = "mr";
       arch = "linux-i686";
-      sha256 = "303f6c94c47a43e7510d1d1f0d0f6ccf8d745991827949dc60150975f598678b";
+      sha256 = "62f47b0839dc22a5d3e45835b35f8729d731b1ff5d2e95643dbdbe14cf66c6be";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/ms/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/ms/firefox-117.0b2.tar.bz2";
       locale = "ms";
       arch = "linux-i686";
-      sha256 = "ab6895c7a6afb7713b5d2fedd12cfe1b58a8b026fbadf6652f4aa6d39dd0edea";
+      sha256 = "e966f17f985e2cd5328d2f3d0dc2b487b9600e144f0c28669d3f55a970cfbcdb";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/my/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/my/firefox-117.0b2.tar.bz2";
       locale = "my";
       arch = "linux-i686";
-      sha256 = "e867458bd09b47fb130263951acfa0e1060aeafea63e3bf992a94359db2b41c6";
+      sha256 = "d8f29d2486c377f97d1cf3aa903459987084e8c3679f96a8e38b1db7903a97ba";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/nb-NO/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/nb-NO/firefox-117.0b2.tar.bz2";
       locale = "nb-NO";
       arch = "linux-i686";
-      sha256 = "726830a51febadb78a9fffc1ea9b6a09e92c7341a5eca9f32b78f9beaa7b5821";
+      sha256 = "83373b5fc11e0b310ab5d9b62d4f6a43514ac86e0f9b112c1c5e8dfed904e143";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/ne-NP/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/ne-NP/firefox-117.0b2.tar.bz2";
       locale = "ne-NP";
       arch = "linux-i686";
-      sha256 = "d316311340d53f4061e7d721bde9156d1998ab80b7d4c3705eed084cc96bcae0";
+      sha256 = "18b1d0cc4339579cef1d815a63e7f86029070f76956a0d6ac78248ad843d432d";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/nl/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/nl/firefox-117.0b2.tar.bz2";
       locale = "nl";
       arch = "linux-i686";
-      sha256 = "fc4ae1f08cec773c2a46cebd18ce88aa6c21471123f79269e27340c7ebeed285";
+      sha256 = "1c817fb50c5339046437ebdeb3f130c7e1866e3113972604a477c05bcc01f8ef";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/nn-NO/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/nn-NO/firefox-117.0b2.tar.bz2";
       locale = "nn-NO";
       arch = "linux-i686";
-      sha256 = "77a9d8683b1918a1f63e486bf3557999f9272130ffb050379ce91c1e1815d91d";
+      sha256 = "ff1d726d05e4d763f68d91193c5a6ab34befdb29b95f28887ea6e4ca13d18dc8";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/oc/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/oc/firefox-117.0b2.tar.bz2";
       locale = "oc";
       arch = "linux-i686";
-      sha256 = "38a09ac3a8004c8720c16e6d9f466e0d590921cd03690e89392f7054dc4e6d44";
+      sha256 = "6937a3bfb0c0309435622d40c57bdfc9f7dff534d82399c4df3815f54a87f034";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/pa-IN/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/pa-IN/firefox-117.0b2.tar.bz2";
       locale = "pa-IN";
       arch = "linux-i686";
-      sha256 = "74ce7b2855153e594a10513db2823dd917af41c0706dbddc67dc76d37a8aff78";
+      sha256 = "b27ce535e921b5ce90bf60b6b1dfba7e81f55fcc343aa96f9fe2e2f82e59413a";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/pl/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/pl/firefox-117.0b2.tar.bz2";
       locale = "pl";
       arch = "linux-i686";
-      sha256 = "8115cc8993082713d0ffcfc154ac7e893c9bebe51a727959ba949cabc7414862";
+      sha256 = "b1837eac3e813cd475d316bcf8a30b3b9f3ae4c32e12b74b1d28d8dc5adae8e0";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/pt-BR/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/pt-BR/firefox-117.0b2.tar.bz2";
       locale = "pt-BR";
       arch = "linux-i686";
-      sha256 = "4a5928c7397c52bbf1f77e445aa9481aae76d18183252d00d38c69539c1a4421";
+      sha256 = "cdbb6717a2aca4bb8e5e60f56654dd9fd2523f480aa1d7a0fea80b505d2b6cac";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/pt-PT/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/pt-PT/firefox-117.0b2.tar.bz2";
       locale = "pt-PT";
       arch = "linux-i686";
-      sha256 = "07bcf3d965b96937895f9377334aa604b1d54ba10ce1a84f1477cea335912e85";
+      sha256 = "776549ec4c919571584d8a6f08d46c321cc65272c5a190ada465623b6a1968a6";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/rm/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/rm/firefox-117.0b2.tar.bz2";
       locale = "rm";
       arch = "linux-i686";
-      sha256 = "142ef46293b65eb916fdbcebacf53127350b7549e0073c82be83f8ae8ca7e2d1";
+      sha256 = "03af9926fe76b65114b5e8531fce83bbfdc50208cb855226f27df1edaa2f05f9";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/ro/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/ro/firefox-117.0b2.tar.bz2";
       locale = "ro";
       arch = "linux-i686";
-      sha256 = "237dc722c2217a528fb20e520a79192b1eff085babf954a3ddb98ce152fdfcf2";
+      sha256 = "1f5503ef1d7d8c871d169dd0df1548fd2bf055a3abc791bd4927b9b8ac4608b6";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/ru/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/ru/firefox-117.0b2.tar.bz2";
       locale = "ru";
       arch = "linux-i686";
-      sha256 = "b7e954893adfa5a1099d55d3e6666908a9daf40b87056b8b0d9356b05209cdae";
+      sha256 = "e0306bd225e30674a0d96c0c1891d71442652670142f5a23429db244f674f5ea";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/sc/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/sc/firefox-117.0b2.tar.bz2";
       locale = "sc";
       arch = "linux-i686";
-      sha256 = "76fbba366247140ed84223a8bce8b156a17468dfde8d1b5fd54bff3fb1408dc1";
+      sha256 = "499b5d7dfb9c1e2bcf696d8713bb911276f4052e633160a3810966f8933402b2";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/sco/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/sco/firefox-117.0b2.tar.bz2";
       locale = "sco";
       arch = "linux-i686";
-      sha256 = "d6fc67cd55209e22875aeb225bf82935d111cca77e00f41c4ba97dcbed156458";
+      sha256 = "fcec3d3ec7d558bef968e9a32da0479636efd6af61e335a9b5f8a13298bf2750";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/si/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/si/firefox-117.0b2.tar.bz2";
       locale = "si";
       arch = "linux-i686";
-      sha256 = "3675f892cc5f0bfa98c8075df297651a4ba0d2f5c099208efa01b33f60fcc1c2";
+      sha256 = "24913137ac7c5fb2a53cdc534a7fce099efa23e68ccf63ced90ee613653bbf38";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/sk/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/sk/firefox-117.0b2.tar.bz2";
       locale = "sk";
       arch = "linux-i686";
-      sha256 = "f217606f8f8ccfabdaa1a4c5a23af8fdd3eacf1502e4da6e28f8504a74a7e9da";
+      sha256 = "c185014629889e9a64e3c3a03442463cb05a8355529c368d38c0e62f2536ba9a";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/sl/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/sl/firefox-117.0b2.tar.bz2";
       locale = "sl";
       arch = "linux-i686";
-      sha256 = "c5a089bb04ba83c899b0fab4a81335474a1a0a24c75afcc5bef2864ae7af2c1c";
+      sha256 = "a2ac927e578784ce1ff8992a56b98428b4e636412bf9aaa53172e5f94cb63719";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/son/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/son/firefox-117.0b2.tar.bz2";
       locale = "son";
       arch = "linux-i686";
-      sha256 = "c73c98ef68e886e3f4ac01f7aa42992c6f9b75a18403c82c0bc54aa9d1630524";
+      sha256 = "649cc48e25f371db9552da98fefe69234cb6424874547954a2c7210812db0831";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/sq/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/sq/firefox-117.0b2.tar.bz2";
       locale = "sq";
       arch = "linux-i686";
-      sha256 = "b7c7bcb08a3b81d266aedefb7de9566b2d11781c66dacf94e52c9c60474a2e13";
+      sha256 = "1800e17cd1639e4d9ea083394bb847bfd61551fb4f08f7d021f48d641e03f60f";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/sr/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/sr/firefox-117.0b2.tar.bz2";
       locale = "sr";
       arch = "linux-i686";
-      sha256 = "5c8a3db26ba7acd76dba7f9a4affa2fb932e76cd40becd9052444efd5f1eb7cf";
+      sha256 = "133d85ed15c4f4f3b967f3d8a1959838169176f14143c3e074e0058572b626a5";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/sv-SE/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/sv-SE/firefox-117.0b2.tar.bz2";
       locale = "sv-SE";
       arch = "linux-i686";
-      sha256 = "9796c48e19a4860bceb7cb3199ca0d3605522185cf6b5be1e8d5ed036bc523fd";
+      sha256 = "96c617e8da39a91ac8a43f254d6408a14ea852184b02aa894e2aa30a72c47cd6";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/szl/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/szl/firefox-117.0b2.tar.bz2";
       locale = "szl";
       arch = "linux-i686";
-      sha256 = "3d5b4cc385399b4b543f66c707c3d5fb2b6920f7d7344fdbb4aa5f34e5666c9a";
+      sha256 = "5783038284e5780401d48fdb85af3b6a61c59900914696ddacf91d1cfff9fdfd";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/ta/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/ta/firefox-117.0b2.tar.bz2";
       locale = "ta";
       arch = "linux-i686";
-      sha256 = "34033dd438cff4740a366d91eadd0e34c2fe3e24fdd41b5dfeb10a2d425e7388";
+      sha256 = "e36ad0b248d70f52f878395af2cab95ff67e54516f3973df008fd76bb1c5381e";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/te/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/te/firefox-117.0b2.tar.bz2";
       locale = "te";
       arch = "linux-i686";
-      sha256 = "d10fbb522c1032f4dbd9e46e597efdb6f8eab3d885b09ca355efbad415bbb7ba";
+      sha256 = "c8b8fe6bcdb8c2181714732d95fb98268c411c9579e0b55f7dcea0dfa511620e";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/tg/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/tg/firefox-117.0b2.tar.bz2";
       locale = "tg";
       arch = "linux-i686";
-      sha256 = "d793064e3de193e7ac8d2046be611211200d5079d20ddac293fd54dc040653db";
+      sha256 = "5c3710584217a173bea7daf6405af811745f63089dcd7845a8e1a3bd3d5092f2";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/th/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/th/firefox-117.0b2.tar.bz2";
       locale = "th";
       arch = "linux-i686";
-      sha256 = "d466b47233a8d3fc3d55aa2fcd08086811306f813a8118fb6235d1733a2d274e";
+      sha256 = "33baf3f17a98df98a3ebc0536d11c0cbb93a458e9aa0af72523cb8a9f532ec32";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/tl/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/tl/firefox-117.0b2.tar.bz2";
       locale = "tl";
       arch = "linux-i686";
-      sha256 = "d395cb79206236f8af0f17cfb76c332df6e49271b102de3fcdfbe6072c81b400";
+      sha256 = "93461ffeaa90321e03cd37df29ad5705b3e54fdec426ba20b35dc8a635f2cd49";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/tr/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/tr/firefox-117.0b2.tar.bz2";
       locale = "tr";
       arch = "linux-i686";
-      sha256 = "ca3e8d335945d265b6fe1d86af58e0dbd4f6c046d5b308c32e13b398fdd1b54b";
+      sha256 = "6740a84d601b1e9d495bff0901c90f8ce47ce88d31b7a08e46f83ba23effc6af";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/trs/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/trs/firefox-117.0b2.tar.bz2";
       locale = "trs";
       arch = "linux-i686";
-      sha256 = "eafacd352f3cc054499f87c6765a5b41c40229743849d689f69c14fe1975ed03";
+      sha256 = "fd001d23f1fd7f42c521dc6f9d81c7b45fe586b77c66fdf4ae76d1c5dc7c8e52";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/uk/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/uk/firefox-117.0b2.tar.bz2";
       locale = "uk";
       arch = "linux-i686";
-      sha256 = "c4d09799da087987c5de2aa5db90b9f7866fc345fe98820da77581aea1d45e38";
+      sha256 = "cfa90e37906f3a489dc878ec39d327b0b35b781ec4ff7cd977e3c4e450bd184c";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/ur/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/ur/firefox-117.0b2.tar.bz2";
       locale = "ur";
       arch = "linux-i686";
-      sha256 = "75856c9b34b3117e10a403b6c1859e3c1d8faa6cad8cae345b22a4b31bd119a3";
+      sha256 = "3dc51cf49836a17a8485708037b9d22535367792a2660c1e5259eb5ef5c8c0c6";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/uz/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/uz/firefox-117.0b2.tar.bz2";
       locale = "uz";
       arch = "linux-i686";
-      sha256 = "26974ca448092c64b131d040ca6f88848695c25703610490c1d55b68d2be5546";
+      sha256 = "a36be7db81dac21ad591eb9d47f5cf099e9213c4a5ff165f168d1ed733021504";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/vi/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/vi/firefox-117.0b2.tar.bz2";
       locale = "vi";
       arch = "linux-i686";
-      sha256 = "1bd77f418464127d9712ff09c9e9225d501615b83bc0bf9917e7bed4f4a52c73";
+      sha256 = "05967a951bac6b44f8b3c476aec9fa16904988227e0a21929677c1b643a7f5ee";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/xh/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/xh/firefox-117.0b2.tar.bz2";
       locale = "xh";
       arch = "linux-i686";
-      sha256 = "75575150eb9810d2201832f4af3319645cfff875dc37000e4939a42c3d697832";
+      sha256 = "0c93e845d9e2db561e5bd159ce3635a1e06fc33eb54863969c236e091168dc70";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/zh-CN/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/zh-CN/firefox-117.0b2.tar.bz2";
       locale = "zh-CN";
       arch = "linux-i686";
-      sha256 = "ed111f3ebabaa3468ece986491afc5d2bcb40dbe63b5914e63842db5b62d4d64";
+      sha256 = "ba741a532f2a7caf4b9ce8bd522f9487336e9fefca8d79ec5e3739fbbdd3bc55";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/116.0b5/linux-i686/zh-TW/firefox-116.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/117.0b2/linux-i686/zh-TW/firefox-117.0b2.tar.bz2";
       locale = "zh-TW";
       arch = "linux-i686";
-      sha256 = "cc93da69a1dbf2de7bd0a300209cffed7202b6602d90b535610029e6ace510a6";
+      sha256 = "fa6a8f96b74c570cf192d41e34e4d07e22b1508a2cfed4406993f71cedf8c8e5";
     }
     ];
 }
diff --git a/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix b/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix
index 2cf7b4aad29b8..1f12e2879a722 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix
@@ -1,1015 +1,1015 @@
 {
-  version = "115.0.2";
+  version = "116.0";
   sources = [
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/ach/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/ach/firefox-116.0.tar.bz2";
       locale = "ach";
       arch = "linux-x86_64";
-      sha256 = "302fe9d08b11203f4ba89d6e6f155e2a4b43853fea7448a7fc9f28cf0296da34";
+      sha256 = "f9f28023f1702d54225f33c6a6bded08a1d17871091ceb7829e000aaf5769485";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/af/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/af/firefox-116.0.tar.bz2";
       locale = "af";
       arch = "linux-x86_64";
-      sha256 = "0827786e7328aedca6bebf332abb5ced91443ca3c60b4c3d966bda5e377e2708";
+      sha256 = "2936f804f0b40589aaf59b581e11d7296f27671fafffe2696845c22cdccdbb50";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/an/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/an/firefox-116.0.tar.bz2";
       locale = "an";
       arch = "linux-x86_64";
-      sha256 = "f790637836993199fa048bd6bee023cd044c6907799e41ae784e084adae39139";
+      sha256 = "1572eade803d946b48070822434301ce4000fa348c9f01af3653e253473e0c50";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/ar/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/ar/firefox-116.0.tar.bz2";
       locale = "ar";
       arch = "linux-x86_64";
-      sha256 = "46fe2248d3c5f8c0932da85e1b6884a64dc49fe729c823b7a419b5d4ee352d47";
+      sha256 = "5668b90b9ad9314cabff710cbd9864acd4f880411952591cfc2770821a7718db";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/ast/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/ast/firefox-116.0.tar.bz2";
       locale = "ast";
       arch = "linux-x86_64";
-      sha256 = "0e1c20ae9e9ca4450b0c3d0f675805ac23bf9d98fcb2148622a7c1e4a5d5f57d";
+      sha256 = "61865e18b800873881bd88b034480978378086f2bde9d0746aab91c04491cd45";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/az/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/az/firefox-116.0.tar.bz2";
       locale = "az";
       arch = "linux-x86_64";
-      sha256 = "50da1e0c214723accf840b0547906550e2762a3e47dd3e7169d346f3864df196";
+      sha256 = "485ce8e25658725b98f5596536eb34e832e21c8b995f9eb728f6b9bd3d7d68ca";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/be/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/be/firefox-116.0.tar.bz2";
       locale = "be";
       arch = "linux-x86_64";
-      sha256 = "67909a4d754ed3dd70e5af85d20cf1b42199ae606abc615cd303995b616f72ad";
+      sha256 = "3af6a0fc179bd134fcb78241fe08bdd19cd17f56c53e5f6f4ba49607579b7f5c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/bg/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/bg/firefox-116.0.tar.bz2";
       locale = "bg";
       arch = "linux-x86_64";
-      sha256 = "1027416f28408dd140b0f79ddda01b68e0af5deb5e6463fbe32acd37d09021c3";
+      sha256 = "a5633fa78ceb33f1bcb3ea4745c809e018b7319140a8d3a9caf2ea10b9b48956";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/bn/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/bn/firefox-116.0.tar.bz2";
       locale = "bn";
       arch = "linux-x86_64";
-      sha256 = "6c0cc293180aafd4616789cb15e810220530e87d3e40646a88274a4a4b868920";
+      sha256 = "221067f2f48985f302c1a20b0a7c0e7a2f9d3ad09e4b59b9cf93af4a39df591c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/br/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/br/firefox-116.0.tar.bz2";
       locale = "br";
       arch = "linux-x86_64";
-      sha256 = "14493fcac3a147bfaf31c8006131678904aa587389ba7d1349ce567be40ef46c";
+      sha256 = "668cee2552f4d645bc92061e617184b801ceda90f6750a0713ed54955444add0";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/bs/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/bs/firefox-116.0.tar.bz2";
       locale = "bs";
       arch = "linux-x86_64";
-      sha256 = "c3120522244a2ecb3eb0f3c35aea7f54e55bbee5f11caaa3cea1c496217122b3";
+      sha256 = "a93be95fa0bc3611cfc44e1f3aebe923b98b77117fe9ac45fdfca2429e003616";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/ca-valencia/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/ca-valencia/firefox-116.0.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-x86_64";
-      sha256 = "1d8f6a1b1511c4096e43ba6d49f4cb6ed1da6c399df2796f1cd4b7fd906d5d7f";
+      sha256 = "85792291eb9fe516c511444630a5079421fdce76a8ebf9135bfb663dbafa9809";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/ca/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/ca/firefox-116.0.tar.bz2";
       locale = "ca";
       arch = "linux-x86_64";
-      sha256 = "5f9862e85b3cf82d94f63aa0b69e0da202aa04db7d65020a38165a005ec891ea";
+      sha256 = "283ca0073bc7f3e92862d0b7658dace4b82fbf5d9fa28ff0a0db589c27caba2a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/cak/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/cak/firefox-116.0.tar.bz2";
       locale = "cak";
       arch = "linux-x86_64";
-      sha256 = "9bbc95a9d565a7b702d390dad8d559e6af0a3430226cdfa69f794d92bc1663c4";
+      sha256 = "9c6eb2e5afe7b7d224e486c1614dafbb03c98418419df5d7cf52603fac86b1f4";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/cs/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/cs/firefox-116.0.tar.bz2";
       locale = "cs";
       arch = "linux-x86_64";
-      sha256 = "57c12174db7ed92d74b656a0bffda46232eb0745839b0c0340e982e820c7d6e4";
+      sha256 = "2a662ea061c338565ce7a41fb5129906fbfbefd211bc1478c8b5df2da31cd09b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/cy/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/cy/firefox-116.0.tar.bz2";
       locale = "cy";
       arch = "linux-x86_64";
-      sha256 = "13046011508b3eddff5277ceb2eda99124a42f68e9f84b8cd9308dde4a0382bb";
+      sha256 = "8ed1c5c290f15eee386cc50a4b55ba9e68195cced914830d0b5932dc5c360d70";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/da/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/da/firefox-116.0.tar.bz2";
       locale = "da";
       arch = "linux-x86_64";
-      sha256 = "7d6e13694aa921909a347a8fc3fbb39c4458d37b68bb3172f255d8e6022e458a";
+      sha256 = "c7fb3d69577feb9ecf452561bca5acc48de0cfda3af9acd650eda02b0c42fab6";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/de/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/de/firefox-116.0.tar.bz2";
       locale = "de";
       arch = "linux-x86_64";
-      sha256 = "3cc18f2396b90a51bc664b27620d624f68df8231bef397b5d7d7320d06d20e3b";
+      sha256 = "a20d2e375059348e3132f68f9bf0adbc82d4a72555844c305a00952fd676461a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/dsb/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/dsb/firefox-116.0.tar.bz2";
       locale = "dsb";
       arch = "linux-x86_64";
-      sha256 = "132aa61d5e7315fa36f12c7b05b599526bd8860b4c53a6cee439a7cfef24a404";
+      sha256 = "4ea38c4555ff2ec51c5fca580f907b3394de478fca190638163220c306d8a28b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/el/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/el/firefox-116.0.tar.bz2";
       locale = "el";
       arch = "linux-x86_64";
-      sha256 = "7546666022300f1a5c302adac0e42600e9c81e1bb20d9e585f75dd9cf5de9f28";
+      sha256 = "7bf38355cde909e73fd9e768bb434ac8e0cbd4c255630f883d7dbda727cd0c66";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/en-CA/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/en-CA/firefox-116.0.tar.bz2";
       locale = "en-CA";
       arch = "linux-x86_64";
-      sha256 = "b0de5d07d411c341700b87c424f4b60f80f3dea1582fe232455bee78d1d87196";
+      sha256 = "a642a2c33a8c2ae92b47799aefd20ee2131e63cc982264a93ac4428fc453abb1";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/en-GB/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/en-GB/firefox-116.0.tar.bz2";
       locale = "en-GB";
       arch = "linux-x86_64";
-      sha256 = "990e2ce3a2e37b15c29e6fa94404f6a5dc228125c013e664284d21ecf871b19c";
+      sha256 = "055f2b734363586c61561a57ecb476bd8f31b586ab5ecb77041c23fb1f13a15a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/en-US/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/en-US/firefox-116.0.tar.bz2";
       locale = "en-US";
       arch = "linux-x86_64";
-      sha256 = "9e4fdf4f798df6a85c3f8e8b996f7998467ccc0f1a5d67ef8aadd27b6944ca0b";
+      sha256 = "c689747d1dfa2b562f665ead7a82a5b399eb8f75b21aab11762f1093d90fea6c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/eo/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/eo/firefox-116.0.tar.bz2";
       locale = "eo";
       arch = "linux-x86_64";
-      sha256 = "e824fc32bf53ef52a26363b8e56a2f6b1e0b9780214b0e6353aa35475f3393ae";
+      sha256 = "035b78e5b5dc8202aa340d47a8922c1e2293eb297da9483df1ce482a46a707c7";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/es-AR/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/es-AR/firefox-116.0.tar.bz2";
       locale = "es-AR";
       arch = "linux-x86_64";
-      sha256 = "85192f228e53ca814e8fb9f06a3756b9798e7a998be2770d0e52a8d959cdfbda";
+      sha256 = "0017ae92eeab809311ded78ac062fa65f2a287f907823fe5c682d54418a4ef06";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/es-CL/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/es-CL/firefox-116.0.tar.bz2";
       locale = "es-CL";
       arch = "linux-x86_64";
-      sha256 = "bb186ff9d5715d81ffd573d76a4b17dd80d711633113a8ed3cde56eb7013779a";
+      sha256 = "e30d470f0067f10e55c3b60d1c655fa3980cb1769f203f3b963944094f6c4786";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/es-ES/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/es-ES/firefox-116.0.tar.bz2";
       locale = "es-ES";
       arch = "linux-x86_64";
-      sha256 = "2e4912c8c3c997064f1b0e5a0b89f230366bf42bb0ab7b97ea7323d223463c3f";
+      sha256 = "088d86a0a062e2090ef04253136e9f56afcbdc0cf50b69a9426add68ca2f7303";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/es-MX/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/es-MX/firefox-116.0.tar.bz2";
       locale = "es-MX";
       arch = "linux-x86_64";
-      sha256 = "e30aef804021cf070cf48ed3661d6822fa580b46f3171337deef461ce272644b";
+      sha256 = "275c173dbf244a73a1007d4f1ce7a521fd6fd74315850911fc0119a938afa2ac";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/et/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/et/firefox-116.0.tar.bz2";
       locale = "et";
       arch = "linux-x86_64";
-      sha256 = "fdefcd0764284f84df9167cd56d353cd9645fbbf206f06f6dfc2c0c3ac89f110";
+      sha256 = "4667ed790999da65741eb458191152983a772e0a6c444591231e4b08d186c23d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/eu/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/eu/firefox-116.0.tar.bz2";
       locale = "eu";
       arch = "linux-x86_64";
-      sha256 = "e5d390ea3126ca3567ce19dc523575af8369d33a7e24bd6083f92a59e0d7336c";
+      sha256 = "4bd83d219053b92a5fc33d2736f0e2a756cf71f497217d44bd86b2afeca6ae38";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/fa/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/fa/firefox-116.0.tar.bz2";
       locale = "fa";
       arch = "linux-x86_64";
-      sha256 = "1f8396309cb6f9969ba4612d00dcab1ddee9c8873d0fc69c8bb8527f88fdddda";
+      sha256 = "069915d3dae6e9fa17ab1ea45d3333ee46026db80cc9e1bff576245c175e692e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/ff/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/ff/firefox-116.0.tar.bz2";
       locale = "ff";
       arch = "linux-x86_64";
-      sha256 = "b2f2eba85dece7a93409c9ab64699c5a090a64dd3306bd4f37cbe4f82cb8722f";
+      sha256 = "e89f47a6dcde5a053b4cb7e345a8ad45383b89f270daf7e81c332a3c9d2e7c00";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/fi/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/fi/firefox-116.0.tar.bz2";
       locale = "fi";
       arch = "linux-x86_64";
-      sha256 = "42278f43094325831d7f554081d2913db2fe9a55e433d9e768383d8027bac56d";
+      sha256 = "f37bf620ae7ebb6abe3aa372e4512fe5995d9ad9730b10f3e7e6c182d37b9017";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/fr/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/fr/firefox-116.0.tar.bz2";
       locale = "fr";
       arch = "linux-x86_64";
-      sha256 = "8e502f101012a049cdc657169c51895e3c6d055bc3332d638dcffc545bf07336";
+      sha256 = "177d291f6696edc51672a70ef84747169ac5827cdbae15ee7d4540c95a607d2e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/fur/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/fur/firefox-116.0.tar.bz2";
       locale = "fur";
       arch = "linux-x86_64";
-      sha256 = "aea2b3f1fc397402ed1282e91170137757c61201c683401af04255551ffb91d3";
+      sha256 = "d254b2d3eb99a1d4447b00cf74c2115703d997e8ea913d37353d84ac39b7ebd4";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/fy-NL/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/fy-NL/firefox-116.0.tar.bz2";
       locale = "fy-NL";
       arch = "linux-x86_64";
-      sha256 = "2d2988cad321c0d19e801fb3c40268ab48973f491ec0eadd4a23b6f7e1a0a208";
+      sha256 = "731e4708989bb25a8508672afcc249a4474a7eaa20f23be2e72b11f82ba32f91";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/ga-IE/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/ga-IE/firefox-116.0.tar.bz2";
       locale = "ga-IE";
       arch = "linux-x86_64";
-      sha256 = "ae28543b4e07225443706bde392f1b63b5a461ac47ed056b23316556d3c3d68d";
+      sha256 = "66b5d0ea2c52c997b58fec04bb102598ba33dae1b5d4086e3a9db25b0e955d10";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/gd/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/gd/firefox-116.0.tar.bz2";
       locale = "gd";
       arch = "linux-x86_64";
-      sha256 = "8d4e76b1b3d7398695042c44eac7d4db2dc40fb1d2da695bad571891030a6374";
+      sha256 = "9b2452bf68f740323826ef420e09d211376b24aca2fe8375c69af18984e37ecb";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/gl/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/gl/firefox-116.0.tar.bz2";
       locale = "gl";
       arch = "linux-x86_64";
-      sha256 = "428bb7afa27e5ca9d998014288aa52a76076908f737d8949ae2835b24346865e";
+      sha256 = "2b850b78a0c4ff25f600c15fceca0949dfecad1513be3f224649621b650ba4b0";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/gn/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/gn/firefox-116.0.tar.bz2";
       locale = "gn";
       arch = "linux-x86_64";
-      sha256 = "effa04ae63a6f690614a7283d079c07d6b36b5db0ed1b329c33c59b9d3be1974";
+      sha256 = "010c08f3e89a413acc09f4aa17e7324e6d02933cc76eb9c4283ce0ce3ec63838";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/gu-IN/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/gu-IN/firefox-116.0.tar.bz2";
       locale = "gu-IN";
       arch = "linux-x86_64";
-      sha256 = "3c5dd2ded0d043e24989c9f502a87f3df0956dfdd81e9715b84f49ffe3129be0";
+      sha256 = "42472a5549c925eef91ead8c73172c5fc2b5171b93ae4e5f2177723c03f7b801";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/he/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/he/firefox-116.0.tar.bz2";
       locale = "he";
       arch = "linux-x86_64";
-      sha256 = "4c7da88b859b0555c0c89c6d05e0f2e5bad4a79b0d5d6e3f702e14b6fc97f934";
+      sha256 = "677a458b1233f7203f14825fe5cafdefa02f143264da45f63b8f6cf3f49158a0";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/hi-IN/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/hi-IN/firefox-116.0.tar.bz2";
       locale = "hi-IN";
       arch = "linux-x86_64";
-      sha256 = "6574f6f7a25573af9d2734e10869d32bb46e782ba2caf805818382eca794f568";
+      sha256 = "10e74e64414f7c6c3800d30a77d1aabbff98e0b3e08a1620828979d6adcfcad1";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/hr/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/hr/firefox-116.0.tar.bz2";
       locale = "hr";
       arch = "linux-x86_64";
-      sha256 = "5d476a4cdd1163d17a5a5c18bdf47e0d4b002bedc7aa7061c027a507ba5e6088";
+      sha256 = "334ac4b63f9e1e41055adefb169c5a9b6117e54dfa665498fe03c3fcff6c8840";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/hsb/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/hsb/firefox-116.0.tar.bz2";
       locale = "hsb";
       arch = "linux-x86_64";
-      sha256 = "6fe4bee14e063c905eec5de7001688477bebec8d20e0e7b9ea0e4c3722d1653d";
+      sha256 = "12ddc0e9593068582edcdd60d75cb5a6bdf2050955a2c3c799021fc03d9615f8";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/hu/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/hu/firefox-116.0.tar.bz2";
       locale = "hu";
       arch = "linux-x86_64";
-      sha256 = "b68c14fbe0af354d9bb57a346b565405239bcad6ca45db243b8a99cf3bd06dcf";
+      sha256 = "79d86bcbdcdc0f72fd0c2b53c14fa0455ec02b80039fcde1ee3238a1a26874b1";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/hy-AM/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/hy-AM/firefox-116.0.tar.bz2";
       locale = "hy-AM";
       arch = "linux-x86_64";
-      sha256 = "83594eb14bd0fd950e844379ac10909c4de8b1098ea087a76294779214e5be2a";
+      sha256 = "e221de9758c8b124322b0ffd9b9bca39f69f3908a0135ebfb916cfb1dfb35bf3";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/ia/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/ia/firefox-116.0.tar.bz2";
       locale = "ia";
       arch = "linux-x86_64";
-      sha256 = "4eae69bac6a0158d4bdf22b8f80c5748397ff9ecb49ec7c2a7d52bd5e85ffa2b";
+      sha256 = "e7a2f9139228a529318040fe18084364c2610d5335e659ddc19cb48f4d2f223a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/id/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/id/firefox-116.0.tar.bz2";
       locale = "id";
       arch = "linux-x86_64";
-      sha256 = "7431f1d88f53d837a10b0574381fbce14208f70ae3528e60d2b7bad7970db621";
+      sha256 = "644e111edad13668c1c541bfaec46d4319a58420eb0d8f528a8247e39b859544";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/is/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/is/firefox-116.0.tar.bz2";
       locale = "is";
       arch = "linux-x86_64";
-      sha256 = "f6ade01e395e1a4eb12a7e4dcc41e44e7c73e742b681cf1755b800b69d712c0b";
+      sha256 = "11360ca9d9eae06323d9e73173791700cb981689d0bff68bf4095be709f110c2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/it/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/it/firefox-116.0.tar.bz2";
       locale = "it";
       arch = "linux-x86_64";
-      sha256 = "ae616c3898e15e778159dc9cd22773240573e13551a185aa4ab5a70bac5ca53a";
+      sha256 = "c3afeee0d1edad4e80a377893ee9ca8c1f9c10d9c3b4db490e8dec29d0da5fe9";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/ja/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/ja/firefox-116.0.tar.bz2";
       locale = "ja";
       arch = "linux-x86_64";
-      sha256 = "5189773aea731b8aa3d2df8b425048ef06d851a25de5d14c5dffbc08c506bdc4";
+      sha256 = "4389b9eed95c22df1b3914184458d76daf5648ea681081412b4207864aaaae89";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/ka/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/ka/firefox-116.0.tar.bz2";
       locale = "ka";
       arch = "linux-x86_64";
-      sha256 = "4b24a1051042ef2dbd0f8e036957ee4e19ba7dfe93fdea2110931d391d09bee5";
+      sha256 = "d0cea36119a3840f9870ddbff2a6af3faed1826003ec4675cd522f049885d07b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/kab/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/kab/firefox-116.0.tar.bz2";
       locale = "kab";
       arch = "linux-x86_64";
-      sha256 = "ec6f553b9e80a03af6e61f4b154f72c40041fe36e7a0cdbef1da6975220923b8";
+      sha256 = "0e62f892ffa423f342dc78af9e2ec950bcf86b4e4a954fa9b73cb39159be48d8";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/kk/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/kk/firefox-116.0.tar.bz2";
       locale = "kk";
       arch = "linux-x86_64";
-      sha256 = "031da024a01f366d7c94db5cc9dd0ce3642da97ae7e1dfed33259b965c31242b";
+      sha256 = "2ec97db79fabda5ae1d345aabf494fb398cba1fd45d3198b94f8d48ce972d3da";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/km/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/km/firefox-116.0.tar.bz2";
       locale = "km";
       arch = "linux-x86_64";
-      sha256 = "09cf778089949b552056cadc450224c7ef8ea3b612873999f43494e3b369db34";
+      sha256 = "0e9192816ecb3f625b77063f5e0abb13a53057dfb91f179fef41d4fbfae42b30";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/kn/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/kn/firefox-116.0.tar.bz2";
       locale = "kn";
       arch = "linux-x86_64";
-      sha256 = "8141f88f8ffb8a2bcbf044afaf95d8054f79ff3f059d863295c2ccc4595e1086";
+      sha256 = "d1c08659b7d08d3cbf5c0b3c7be64ea98fbca50c3e222aeed311b15dfa5345f7";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/ko/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/ko/firefox-116.0.tar.bz2";
       locale = "ko";
       arch = "linux-x86_64";
-      sha256 = "81522b564078d7a2a4fbc7d26811eace3da3a4d6eeb2eba2d8c1ec8959a7e924";
+      sha256 = "51f948d0e2547ba1bbede5af396a60731f9170906410db612ed7585b8f0fb309";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/lij/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/lij/firefox-116.0.tar.bz2";
       locale = "lij";
       arch = "linux-x86_64";
-      sha256 = "f58c4ebeb8382891958589c764a8f17258adfc29382b86b094b96a0989c8dc9e";
+      sha256 = "e1926c02dfc7004057cc0d8a0ccd7eb7b9f66f330548253a056f515028758479";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/lt/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/lt/firefox-116.0.tar.bz2";
       locale = "lt";
       arch = "linux-x86_64";
-      sha256 = "aa7d7c320a1465d7962e7dddb8b0e7faadb25225a7400bfcba2bea696037ff4b";
+      sha256 = "6b3a0b932816785b0bd996b6242910f7874c9403bbd43780f02df60d6bd03a21";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/lv/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/lv/firefox-116.0.tar.bz2";
       locale = "lv";
       arch = "linux-x86_64";
-      sha256 = "90649d225591c53e9af212ad6d92d37d92d0e5f54ac3a487e26cd7912251c7d1";
+      sha256 = "a731bc339e153279bf5440c86b583fca21d2e02431c2194a06824951dae52944";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/mk/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/mk/firefox-116.0.tar.bz2";
       locale = "mk";
       arch = "linux-x86_64";
-      sha256 = "1dad410c2d113fabbc40bbdfb7d64da2e4b761af266c3cc9cbb2152dbf670acd";
+      sha256 = "667a027b9aec063dee06375420894cd44dd6a6eaeb23c10c0d9dad6541c92507";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/mr/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/mr/firefox-116.0.tar.bz2";
       locale = "mr";
       arch = "linux-x86_64";
-      sha256 = "ca9e7638dcbc0c6f0f7f41d54f7931cdcf69528b68057246e73c96e895519748";
+      sha256 = "89c80aec3222608800eea7806365a04b2cc43fc529bc708dc17c805caf21c430";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/ms/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/ms/firefox-116.0.tar.bz2";
       locale = "ms";
       arch = "linux-x86_64";
-      sha256 = "14c3e2b97839b67ac28219b5dabb3258bce256b4bcac86a74c9815e190dfccc4";
+      sha256 = "990cfb919ed9939aba6ed558d89598b1a8eea1d74fd56d428d06fefec8909a05";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/my/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/my/firefox-116.0.tar.bz2";
       locale = "my";
       arch = "linux-x86_64";
-      sha256 = "cdca6003923ec46cfa6131d2020d246303798eefdd2483110520d4b57e447977";
+      sha256 = "294cb3be64d7b43fc8d51d5d97800ea162cd39646da87605afc36a181ffaef6c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/nb-NO/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/nb-NO/firefox-116.0.tar.bz2";
       locale = "nb-NO";
       arch = "linux-x86_64";
-      sha256 = "2fa55b23539b4e5364282ebabe33b34b7e0c84969c4958e5d20a4d10ebe24234";
+      sha256 = "5536ba0a3eeaa80cd54e11b12d44ae6ac7441630a35ab1ead75a0d0a5f6ce8c0";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/ne-NP/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/ne-NP/firefox-116.0.tar.bz2";
       locale = "ne-NP";
       arch = "linux-x86_64";
-      sha256 = "ec70f3903e6aa138222ff12b8d92de9aefc85666f733dd0463ec606d3ba16c15";
+      sha256 = "029672dda24ec01565e2b9fb40ffabf803575a4f9328d1fea70517248a928b38";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/nl/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/nl/firefox-116.0.tar.bz2";
       locale = "nl";
       arch = "linux-x86_64";
-      sha256 = "2faee4ec227a4884ebb0c7b06609f9dff4fee311755ebfad97c6bb48469b1893";
+      sha256 = "5e68a5c46646a6aad221ec997bdd1e2ba837ba41010ee7121991def0ed4da22b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/nn-NO/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/nn-NO/firefox-116.0.tar.bz2";
       locale = "nn-NO";
       arch = "linux-x86_64";
-      sha256 = "8be68d60ba7e66c1db3dcc18bd6a8a15b5097c529e733447d9a63b417d177832";
+      sha256 = "77284b5caffa342e759e846252fd0598ff7a9fa86f79e0ab7b5f3a647253ef81";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/oc/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/oc/firefox-116.0.tar.bz2";
       locale = "oc";
       arch = "linux-x86_64";
-      sha256 = "405ed291a7c60c30731c5173041a71bb8b6b25a173058ab722eff70f6d090ce2";
+      sha256 = "dfaacd8319b2f8065b8e1924ad5ec420790c43af243cd1403f969a4ad3e250fb";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/pa-IN/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/pa-IN/firefox-116.0.tar.bz2";
       locale = "pa-IN";
       arch = "linux-x86_64";
-      sha256 = "7f4a756e572883fde7c41f87dc9c28a592950bf2c2d42a9c4946a87989d12285";
+      sha256 = "9f0a6eca2dd5a8389416463aff7a61c728389255a93cf928b110c112fc7b73a3";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/pl/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/pl/firefox-116.0.tar.bz2";
       locale = "pl";
       arch = "linux-x86_64";
-      sha256 = "892e8881f945467765f7c09baaae864b5d9a553969aaaa2de3c71de577163660";
+      sha256 = "a3ad36159a690f51d4a75f474d315ecf0be0fc2fc4be07fa579ea9c07f5d7dba";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/pt-BR/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/pt-BR/firefox-116.0.tar.bz2";
       locale = "pt-BR";
       arch = "linux-x86_64";
-      sha256 = "47e64cd39361137bb2048a5cd14b037566abbaf343a49dc26292ccf9c878557a";
+      sha256 = "8e9f2ee744da1585af9e2cd95ad7fb8429b8a969c9d73eb5353c4f752566ed17";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/pt-PT/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/pt-PT/firefox-116.0.tar.bz2";
       locale = "pt-PT";
       arch = "linux-x86_64";
-      sha256 = "94d0213411632150934cc70adfb5f6592e59ca01a02427ef8bf589ff2d9cbe8f";
+      sha256 = "a2c7e6ffec70b39d235d172aa6512fb571af2a874d9999f4f5e4551855e418d9";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/rm/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/rm/firefox-116.0.tar.bz2";
       locale = "rm";
       arch = "linux-x86_64";
-      sha256 = "c90d864f61269b7ab1b16b008063dbafaa72cfe6293fb36dd5728361597b5529";
+      sha256 = "394b29f4f35775a6b701cb99960c41024b3379ad22b780e3dff841b8cdaaa4c3";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/ro/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/ro/firefox-116.0.tar.bz2";
       locale = "ro";
       arch = "linux-x86_64";
-      sha256 = "213e3d58d40582f89698f02be2d0ce3b8e89f28c94e6aa85b5226e4ddf03fd62";
+      sha256 = "fc7ef54c87bba2c698f62fe4af111b52b3a11368232bf354d41316f950e982ad";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/ru/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/ru/firefox-116.0.tar.bz2";
       locale = "ru";
       arch = "linux-x86_64";
-      sha256 = "5148cb7630e2d94151e4c4789e9a9afaf07a1549c48b4a118266d48e724a3869";
+      sha256 = "6bf8f6870ca514d25eb309dc98f1807f18aba7cba9348d4d4043fdae7ddb2242";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/sc/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/sc/firefox-116.0.tar.bz2";
       locale = "sc";
       arch = "linux-x86_64";
-      sha256 = "e5beeff5a45a97c3716956eb639e89ca8415b7c378202bac9bb8d3bf9cbcc0bf";
+      sha256 = "a6892d7ed01d8333491dc3f96309838e02cbb4a4af6e2c46b12f9e1a487ea493";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/sco/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/sco/firefox-116.0.tar.bz2";
       locale = "sco";
       arch = "linux-x86_64";
-      sha256 = "68bee3df088b3529aac46e8a4abeb5446dba9c8d60f850b984bcd7ce82eb66ad";
+      sha256 = "8dc34d7b8c42eac485db88f88522d1c900562be0ec504132a77de7a9005dc0da";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/si/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/si/firefox-116.0.tar.bz2";
       locale = "si";
       arch = "linux-x86_64";
-      sha256 = "8b0ac50083decdffff58f619905e48b1a32d1a2f3c3d8dc5a0055c2fcbcf4247";
+      sha256 = "f3d7fb18dc07e1dcb6e15646bd6e878d4ab9d856ce5186b04cff14f990c98316";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/sk/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/sk/firefox-116.0.tar.bz2";
       locale = "sk";
       arch = "linux-x86_64";
-      sha256 = "7d04acb8d2279472d9bcdbf500c5c468e807ce126397a7d313de6cea3b4607d3";
+      sha256 = "33be656e28f7fd3f841b8c627e1bb76c2defd8c24456ac8c151b56c2e87bdc4c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/sl/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/sl/firefox-116.0.tar.bz2";
       locale = "sl";
       arch = "linux-x86_64";
-      sha256 = "56d6fdb0157f5aed3dfaa10e1efff1cf5417bf4e6e5377752678ba05be33f30b";
+      sha256 = "e6a639a07ba1313df86b304495c9d945335f8a81ff00369f59ea4d393b8f3927";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/son/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/son/firefox-116.0.tar.bz2";
       locale = "son";
       arch = "linux-x86_64";
-      sha256 = "ecbd99bfbd6776fb188c184e4fd570053bd2bd89186719eec4eb9d2e2966718f";
+      sha256 = "33c6d2bd9071a4f60112a216e103717140e7eeb98610801977e28dcc442f6375";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/sq/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/sq/firefox-116.0.tar.bz2";
       locale = "sq";
       arch = "linux-x86_64";
-      sha256 = "f1cf0ec8220118d4a0c069fb63afd17790ca6a49929c6dba38189e4a5ee32cd5";
+      sha256 = "8fc1aba927ac52469172e11f39209775e495e68a381dbaed9c8fc1b6635e77db";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/sr/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/sr/firefox-116.0.tar.bz2";
       locale = "sr";
       arch = "linux-x86_64";
-      sha256 = "794ca6b7e566325c46d9950ec8942ecbe08f51d7f30fd3f492c89660e2e7fc49";
+      sha256 = "b2ae7b024e374f76879ef265239d184dcc06b35bd858fb3fb3773224bf076dfa";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/sv-SE/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/sv-SE/firefox-116.0.tar.bz2";
       locale = "sv-SE";
       arch = "linux-x86_64";
-      sha256 = "304fadd1706fb146553f9d9989a55fe6031f187310e40c5944dc68a0e41b1f3c";
+      sha256 = "3247e74993817f0f2b9d8e687470bd7fa82a62bd4f74a43ca013f86c6ce1d70f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/szl/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/szl/firefox-116.0.tar.bz2";
       locale = "szl";
       arch = "linux-x86_64";
-      sha256 = "33cb4cb57a76fbd8e199ed3bb5fe97dbd48a71335370687d860503f730feaaad";
+      sha256 = "bfb29ed24ead573e012fc052747aaf441ad7674fa4b76a15d8872d21741cf747";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/ta/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/ta/firefox-116.0.tar.bz2";
       locale = "ta";
       arch = "linux-x86_64";
-      sha256 = "021fd6a6a235934faf6b167c4850ad36b55234e8748e48ccc401b7353f05624a";
+      sha256 = "e5ddde0bfc7e3ba9b1f426f3dfae2994c5dac638be5437219815579dd68771b3";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/te/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/te/firefox-116.0.tar.bz2";
       locale = "te";
       arch = "linux-x86_64";
-      sha256 = "5a5071f9658c7815234c69b39f26e5a841fe8d6a5eb38c76dc0738537baacab0";
+      sha256 = "6168da2cff453f171f6c9e056b1404b0e655dc0755ac89a1d4cbeff6557c2c42";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/tg/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/tg/firefox-116.0.tar.bz2";
       locale = "tg";
       arch = "linux-x86_64";
-      sha256 = "01c5e8438f1952ec497b7abfef38cdb11af6b08f2b28bdbe8d3332754c4934ab";
+      sha256 = "77a07610b3bf87b4a79ab9947d60ba74c176df62ff531eba6d9a3fc0d7052011";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/th/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/th/firefox-116.0.tar.bz2";
       locale = "th";
       arch = "linux-x86_64";
-      sha256 = "f31928d3326f0bf7c527fdb3377abdf7dda3bf829a1749c6977ff7c75c966141";
+      sha256 = "ff736c6f62aa6c383196640c146a702b27ff97719980da36d28b125236a1c4d3";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/tl/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/tl/firefox-116.0.tar.bz2";
       locale = "tl";
       arch = "linux-x86_64";
-      sha256 = "11eaa8fbc495b3d9e5d33f4d02924160a2afa9e1ad53204b19c712b1e14614bb";
+      sha256 = "998641b7fd1667850b79bca0d047389963768a0b0d7b021092cdcbc6c2c64d5c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/tr/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/tr/firefox-116.0.tar.bz2";
       locale = "tr";
       arch = "linux-x86_64";
-      sha256 = "dbdfa6db945dc0e6459c27108486bbe664c3590cfcfea1c214da69a9ae0039c7";
+      sha256 = "40e634567d96de2bd92e2ee29cdab988682a7e3ad6fb6cebe54b4ab437206ce9";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/trs/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/trs/firefox-116.0.tar.bz2";
       locale = "trs";
       arch = "linux-x86_64";
-      sha256 = "721af229f401c0b0ba06e2541a2979022b22eb0b6529b93209dee6be3d7206e9";
+      sha256 = "5f53ed35784ed51a1e45cad719c2c132500c15d7351e961ff5e6701bcc78ef1e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/uk/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/uk/firefox-116.0.tar.bz2";
       locale = "uk";
       arch = "linux-x86_64";
-      sha256 = "708e0bef8c2a83a06a760ee87f042bf42adac1bcc8ef47bc7a9a927b1db77738";
+      sha256 = "1a3948ef2f7b205eb4a46be098ecaf8e36fbe909e292f5f7dc14ecf58b2e949d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/ur/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/ur/firefox-116.0.tar.bz2";
       locale = "ur";
       arch = "linux-x86_64";
-      sha256 = "a5d20dfdb211d1aa255dfd96d7fc4e76365c37dd0e9d0a239b27ed1fe70fca28";
+      sha256 = "dc144ff4c139f57e5961cc8b224cb3e7e0d977a93471fae9137f17532afa5229";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/uz/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/uz/firefox-116.0.tar.bz2";
       locale = "uz";
       arch = "linux-x86_64";
-      sha256 = "90a7e516882da1950f71d103efea4d4fc8c00e48f762d6643fb16ba0c94dd665";
+      sha256 = "67bad242f01f97a1c593935c150cd4b46e6d91d6f29cf2ab7dc00341828ae7de";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/vi/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/vi/firefox-116.0.tar.bz2";
       locale = "vi";
       arch = "linux-x86_64";
-      sha256 = "e3d01678239d31232e661cdaf078dd48d363a7853fc8012794b774d907abccb3";
+      sha256 = "7e1522df37328c39941fcf5c005aa86458243747863151557cee090a2fd5b118";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/xh/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/xh/firefox-116.0.tar.bz2";
       locale = "xh";
       arch = "linux-x86_64";
-      sha256 = "d010cc1a09b9b4d55e56f87b8c29750b2edad38e447eba2b7f45df580e86ceaf";
+      sha256 = "07727195ac9aaa89bcc81d2225cfde5c01f50957be040a16650987a48ce1f172";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/zh-CN/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/zh-CN/firefox-116.0.tar.bz2";
       locale = "zh-CN";
       arch = "linux-x86_64";
-      sha256 = "5b2d5d47449ad63624a8259a5142d92380eb18bc3276d637f8d7642c36d8d3f8";
+      sha256 = "ce7f45abebfc69594836a03ab1caf960b39ed64aefc33090a07f687f613f0d3b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-x86_64/zh-TW/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-x86_64/zh-TW/firefox-116.0.tar.bz2";
       locale = "zh-TW";
       arch = "linux-x86_64";
-      sha256 = "76a398f30834014992d8f803089285aca64a95a8f7b155686258af71137fe73e";
+      sha256 = "1c0fe6b916b9953fa929a42f99177e2072fb8085856527d54f84aa7c42f6a088";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/ach/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/ach/firefox-116.0.tar.bz2";
       locale = "ach";
       arch = "linux-i686";
-      sha256 = "e59ad1d2aa11bd75578d6eb52ca45ac580607f5bb0feed0f13ca93a17a15df75";
+      sha256 = "b126cded350e4a06f34123da79d71687b4299abe829a35d6258bd41b66db9daa";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/af/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/af/firefox-116.0.tar.bz2";
       locale = "af";
       arch = "linux-i686";
-      sha256 = "a3315eeec8d4bb632d5961d4ff01bb1947d51df91aa1a42c5f84da011643c49e";
+      sha256 = "dbe582443a9be366833f0c6a325ef0de50ca268d269acc59ddf26fc551d08441";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/an/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/an/firefox-116.0.tar.bz2";
       locale = "an";
       arch = "linux-i686";
-      sha256 = "ab8ba05987c079122f71c08a3f5e02c40e576ff48a0cd63632b4eb7c29ffa274";
+      sha256 = "bbeea98cbb3059373c37d407bf3b5ae2be39422771a54d98e7cf86e81514d0af";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/ar/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/ar/firefox-116.0.tar.bz2";
       locale = "ar";
       arch = "linux-i686";
-      sha256 = "36ab94565b865944bd9682ad96522367995f02c30c897a47765224f8aa8944eb";
+      sha256 = "73916a69dee407700ef9318c3fcdb41528b7357ed48aa485ad8f2fe3e6744f16";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/ast/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/ast/firefox-116.0.tar.bz2";
       locale = "ast";
       arch = "linux-i686";
-      sha256 = "1f83036e15fc7441199a8da4767c6a57d00264781cb771c1cb2b7048d2b90d33";
+      sha256 = "4b60c751c6fa4bc9c805472ed8106e96fdd0b1cebd34573c8dac5a2002c60be9";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/az/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/az/firefox-116.0.tar.bz2";
       locale = "az";
       arch = "linux-i686";
-      sha256 = "40fcff40316def0e74f97ff5e056fe78ee8e4aed3c40d902db8208d6724ac039";
+      sha256 = "6d29b511b45885d63bf90f460fd2e3477c7256d895f77f4f1a6d8d9dc1615db5";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/be/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/be/firefox-116.0.tar.bz2";
       locale = "be";
       arch = "linux-i686";
-      sha256 = "d0cb66e4794b7c0ab52c5a92c130ebdc973a2a8e21cb54117388c937b9c0d0d7";
+      sha256 = "d61ef5e3c54dbab254c2119ab523a20e10fe3fa90ff1d28fb3ca276a70e88573";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/bg/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/bg/firefox-116.0.tar.bz2";
       locale = "bg";
       arch = "linux-i686";
-      sha256 = "ba38a8d22cf25a1f42121d6f7cce05e6e45c4852a149e23016493a29e2da4a37";
+      sha256 = "f9511754b2f225335d6fb11683e6a38557e2d490f86b59bd04992e94f0f5140e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/bn/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/bn/firefox-116.0.tar.bz2";
       locale = "bn";
       arch = "linux-i686";
-      sha256 = "8a88a8f45b45f0863759abd7e67a67cb6ab61013e7edf1557760b5e1c093a123";
+      sha256 = "aaeef05084c67d31edf00bed8c382c02259c2126923fead97a21b54aa1336a6d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/br/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/br/firefox-116.0.tar.bz2";
       locale = "br";
       arch = "linux-i686";
-      sha256 = "16956cb450c39614cebaf1674a85030858531dc40103b6ca73fe8be6d53123b5";
+      sha256 = "bdf17c9efab7a3abdfc03d7916d9ffb059990528741db9c4fbd8d78a13650de1";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/bs/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/bs/firefox-116.0.tar.bz2";
       locale = "bs";
       arch = "linux-i686";
-      sha256 = "aacab86198a01c44cf302d31fced8754367be7db9457536b623b7a8c5c211233";
+      sha256 = "3b54b2f8bc8872adef6d831874fb34ab3ccaddd7fc840585847ff7d755879c62";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/ca-valencia/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/ca-valencia/firefox-116.0.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-i686";
-      sha256 = "5947b3eeac086164555944f6b922189c55ae81fd012d58178ebb556337be83b5";
+      sha256 = "5c77b600a34d4be2c57ac233662e3a1040d25774c07150e2969bca7cbe0ca25a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/ca/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/ca/firefox-116.0.tar.bz2";
       locale = "ca";
       arch = "linux-i686";
-      sha256 = "269214867961d84ba78c05a11d43e01fcde296e29630be04c267c8cddc23b66a";
+      sha256 = "a61d5f4c256301606a5d4ad8e6d78c7199daeb7a176fb8c47565f76179edd82f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/cak/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/cak/firefox-116.0.tar.bz2";
       locale = "cak";
       arch = "linux-i686";
-      sha256 = "1605994703e21caa768f66b436dc1703a55e09c8562ccdf7ef0c3a19fb3c15ed";
+      sha256 = "6629ac7c563b28887f4b1a14edda03ffcd692a37add09e087f729027c5d712dc";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/cs/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/cs/firefox-116.0.tar.bz2";
       locale = "cs";
       arch = "linux-i686";
-      sha256 = "a527aad3e4d2821e35878157ad542f013fb7ddfae943c89ed74a1460b7ba7a48";
+      sha256 = "b26584cb0fdb20bf6684682c6d43e2eb1efc7bc693749f7900ecd30161aec46f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/cy/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/cy/firefox-116.0.tar.bz2";
       locale = "cy";
       arch = "linux-i686";
-      sha256 = "c9b47f9a986105a11dd9f886a71d8182f811f1b54a2c7f68a53851fc536421b0";
+      sha256 = "9b2721bcfe203f61a357d4c3ff1ea8985bc198a760132eca9f39089bc39990cc";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/da/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/da/firefox-116.0.tar.bz2";
       locale = "da";
       arch = "linux-i686";
-      sha256 = "9d3cd3771bc4c639258905a2f47e315aaccf97bccc8c8e23bb749914a9545585";
+      sha256 = "d17a776bf76ee1ab867deac9d26d60f3f6c3fabba627c971202f858ea505750d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/de/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/de/firefox-116.0.tar.bz2";
       locale = "de";
       arch = "linux-i686";
-      sha256 = "b363031e84a09501e1bf594b7d71866ed9f4eb9cdb71986dcfa8c9bd3c73719b";
+      sha256 = "161d86b84c03193f946e68b961220c5861861695002b8c25b84e82aba22f639b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/dsb/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/dsb/firefox-116.0.tar.bz2";
       locale = "dsb";
       arch = "linux-i686";
-      sha256 = "54670cb6af892d41e712ca947c5ab9e3e317cd747902f8654848e2fc72aec0ce";
+      sha256 = "662c7dc86f45a743f70225d0b6bf80e360ef25df9ab41f474a1cea6f8cbfc604";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/el/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/el/firefox-116.0.tar.bz2";
       locale = "el";
       arch = "linux-i686";
-      sha256 = "e2f0738dd5992c8c090ce4d8b822ac12fd5422121e83b530dac3530fc28cab0a";
+      sha256 = "ee047283cc8ff68b60c83941681ee5fb8a0497ae9e75f23ddca8616c57bfd103";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/en-CA/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/en-CA/firefox-116.0.tar.bz2";
       locale = "en-CA";
       arch = "linux-i686";
-      sha256 = "25120bdb06ab08273691368fb9d5716616106b2d16141ec4943a5dcc3286d193";
+      sha256 = "38cbac9b43901fe44b073a6bb0444dad49ad673e3d8a23f345f68171295c3fa0";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/en-GB/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/en-GB/firefox-116.0.tar.bz2";
       locale = "en-GB";
       arch = "linux-i686";
-      sha256 = "9b179858f6e9d9ca64fc37913874b1804f0e9b5d31d315b9e3fda544cc23bc83";
+      sha256 = "74f6951f343f33a92ec69b21281d53ad2c6943eb1c4a2cecd48c97dad68af3df";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/en-US/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/en-US/firefox-116.0.tar.bz2";
       locale = "en-US";
       arch = "linux-i686";
-      sha256 = "8c67eedce5a3718dbf0db0c923fbdad496ce9a01b85a8391a0d4c0ca5823b26b";
+      sha256 = "3d97e23cd7ef89cc3a393a4e0d4cfe4d76658557465ba8dba7be4671cd874257";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/eo/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/eo/firefox-116.0.tar.bz2";
       locale = "eo";
       arch = "linux-i686";
-      sha256 = "c574d5def88dccb4a380ecb3e9ebad6d38e8c9f2800058e9c1250c7cacb39d10";
+      sha256 = "e0aa9118c2bf4a375b0ee7fd4dba620a07aa21c93d555f02c5fa35ba8a906791";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/es-AR/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/es-AR/firefox-116.0.tar.bz2";
       locale = "es-AR";
       arch = "linux-i686";
-      sha256 = "313c28be7bb6a010230660538ffebd27ba15bd2abe8e431e534932bc76edfd3f";
+      sha256 = "5bdd8cfd4f6b06c89a9530206b39c9c3896ed20ed16f2340f92d874f0f4c8c08";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/es-CL/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/es-CL/firefox-116.0.tar.bz2";
       locale = "es-CL";
       arch = "linux-i686";
-      sha256 = "79180412d5d8a59ce8f0062ee99aaaec12201abbb87046e16c11c024d03541fd";
+      sha256 = "793f2c9b733849c567c6ca920230ab2b6f54c8913def829267007d0fd371ae72";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/es-ES/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/es-ES/firefox-116.0.tar.bz2";
       locale = "es-ES";
       arch = "linux-i686";
-      sha256 = "ea5cd5fc613c70448165ab403f8a452f99e141c7eb4fbfb682258ed8027555df";
+      sha256 = "f314606efbb5874dc04e721a231649d7f2257abed6f6f3fcf50829817de3b5f5";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/es-MX/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/es-MX/firefox-116.0.tar.bz2";
       locale = "es-MX";
       arch = "linux-i686";
-      sha256 = "40166caeecd8da26e8b3e6f4b18ca71b1791d1581c5848344561cfc8cd3b4236";
+      sha256 = "31eb01a4982db142789a19d6adeac1f056c214158d3bb2e420c7754bb8776b07";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/et/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/et/firefox-116.0.tar.bz2";
       locale = "et";
       arch = "linux-i686";
-      sha256 = "46a1340a46d50ae632682e6b451ce8b041937b05804f1106f67f369d9328c257";
+      sha256 = "d799f76e43522ce3c9ec79603d5b8a33dfdcfcbc06b414f40aeee244ed62a7c9";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/eu/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/eu/firefox-116.0.tar.bz2";
       locale = "eu";
       arch = "linux-i686";
-      sha256 = "ae4d7ae11cc20d7af611c86a68b5ec3ac533a798861c2237f5234ca655c97916";
+      sha256 = "9be4f2530108385b58e92bfd44c122c0c5a16653715051d2b71bdcd9f06b0778";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/fa/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/fa/firefox-116.0.tar.bz2";
       locale = "fa";
       arch = "linux-i686";
-      sha256 = "b14661b217c6c8e4f75c54c99712f30f71d6c0da1fb644bef462ef0ced3eb988";
+      sha256 = "2f508958c449f4ee51ae95b223f1dda10ae51395e4c84663e39ccc19de2afe44";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/ff/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/ff/firefox-116.0.tar.bz2";
       locale = "ff";
       arch = "linux-i686";
-      sha256 = "29c1be0ab22fc99701420aedf6c3aabf46533b05d9d500f29872bc330445651a";
+      sha256 = "72cf4196294f0e94b81b9c0634dd91987cc671c81dca12a4156caef4a73da7b6";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/fi/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/fi/firefox-116.0.tar.bz2";
       locale = "fi";
       arch = "linux-i686";
-      sha256 = "45291bb40214e258293c8b09bd471d48e7ab85c33a6edba988235a4d1c565a87";
+      sha256 = "0289e419019d1091ca2d60cb34babc24ac6ddc374b6d8c6d48c7301cc6aa0abe";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/fr/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/fr/firefox-116.0.tar.bz2";
       locale = "fr";
       arch = "linux-i686";
-      sha256 = "6f0087e682cd7eded088c50ba74ce3d92c76fcd0efb0dbe3ec8bfd028448c257";
+      sha256 = "242c01c05c7206ed60126b07b1d98f6e93af0cf43386e9db5d40bd22578f3bbf";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/fur/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/fur/firefox-116.0.tar.bz2";
       locale = "fur";
       arch = "linux-i686";
-      sha256 = "a8ed142548916cdf3d16937c965836ec91545d08104767e885ff86609c215032";
+      sha256 = "731dc68715afad1c2dbd4dd5b6d9dcc3f15203411548f3e96de0f5280dd77607";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/fy-NL/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/fy-NL/firefox-116.0.tar.bz2";
       locale = "fy-NL";
       arch = "linux-i686";
-      sha256 = "a9674ccd45f86155524b6ebd03521901be7b5d1651a2c9561c03052358a76259";
+      sha256 = "fafdb4742dc844a66ee269b5fe4745a7069764d33772932001ef724b013c4392";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/ga-IE/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/ga-IE/firefox-116.0.tar.bz2";
       locale = "ga-IE";
       arch = "linux-i686";
-      sha256 = "e9e8fba8a138909956ca10c8c13a22a43ad56331fb46edd77ef534bd8850ebae";
+      sha256 = "f875d5c148f98498a2866a35384632b3f56f7af589ca66f5a0264fbb06e9428c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/gd/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/gd/firefox-116.0.tar.bz2";
       locale = "gd";
       arch = "linux-i686";
-      sha256 = "66747bc30fd19d4d64156c7d4227e0d89d53f661868bf15666c5b6f347e5fe06";
+      sha256 = "11c3bbcfd0e6f442b4c78846aa637412bb55b927b08f59837ec8f2bb97bc5b32";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/gl/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/gl/firefox-116.0.tar.bz2";
       locale = "gl";
       arch = "linux-i686";
-      sha256 = "eff745aecc2db4bf0fb3ab39c1bc92a097c927f2c4b58784e01712d2347a9c17";
+      sha256 = "ea40980858d2ed594a98f6565ad89b129bc2c4d46e2149172bb0f51df659d4da";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/gn/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/gn/firefox-116.0.tar.bz2";
       locale = "gn";
       arch = "linux-i686";
-      sha256 = "94c113ab79716a7b6d3d2ae1170c84d234022f222f95a13dda1858cdf5825eea";
+      sha256 = "0dd9fb270d3e95bc28bb1bca82272869570ec958927b049d717e9c5a9a9a193f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/gu-IN/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/gu-IN/firefox-116.0.tar.bz2";
       locale = "gu-IN";
       arch = "linux-i686";
-      sha256 = "accacf11527107f0de50c46d5def7ba03f876a5da8a45219f7bfaae5f54bc6fe";
+      sha256 = "f532fd824fd6bf0d7622e36a6ba39b546579c2afac764bedb4e919be4589c486";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/he/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/he/firefox-116.0.tar.bz2";
       locale = "he";
       arch = "linux-i686";
-      sha256 = "2f5ff9c7de5c025f31b6c4facb576b6acdf23c6a7121ae2302c5ff5b119a7341";
+      sha256 = "898a7f44222aa6771c11bd23c6f23b7b001ad299a4b665a4c82b1fdd08275b5a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/hi-IN/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/hi-IN/firefox-116.0.tar.bz2";
       locale = "hi-IN";
       arch = "linux-i686";
-      sha256 = "9fce9758b7045cfd49b45ba6ff21a7e80932a8efac8889f96b02830b10503874";
+      sha256 = "2557dfda455bd0b9ca2a2ed27886e2786450fc4afddc7139e74204e677881569";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/hr/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/hr/firefox-116.0.tar.bz2";
       locale = "hr";
       arch = "linux-i686";
-      sha256 = "57895c5b7affbae25eb5afbabe43a373e2a63260a78e6978694120339da825c1";
+      sha256 = "41202b179ec34e20b29ae9fb592881c9514242f73d2826751da04a876d48fb88";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/hsb/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/hsb/firefox-116.0.tar.bz2";
       locale = "hsb";
       arch = "linux-i686";
-      sha256 = "3df5f03b68b84418d0bca05fd7dc4ec20c4f25fe97cff5eacbc147e96e07e809";
+      sha256 = "9ddd5b992c2b85105fb507fbc85d9b9003b23bff4e1533c4a964d1ac682eb91b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/hu/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/hu/firefox-116.0.tar.bz2";
       locale = "hu";
       arch = "linux-i686";
-      sha256 = "e2bbb73a37d853d2d2586b10b967086af6e9bbbd102527df1c598322a0e11efb";
+      sha256 = "3003ec7f6aea0ac381ffaafbdcda53b66153e62651c1f33123162a78a567de42";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/hy-AM/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/hy-AM/firefox-116.0.tar.bz2";
       locale = "hy-AM";
       arch = "linux-i686";
-      sha256 = "b4ed9d9aa49c49bd3b5fa4594f838066a6ea49544f190fc3d14aab2f87e3a069";
+      sha256 = "1df38bc677895c3040ee8f9a6a0ffa4bafd5d513a7a731452223c2cf08ecbd63";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/ia/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/ia/firefox-116.0.tar.bz2";
       locale = "ia";
       arch = "linux-i686";
-      sha256 = "89ae5729f02ed650a4f7c631afe8b707a1bb8ff61b513e71f557c8802612172f";
+      sha256 = "03a3f41f74f4c0a72cec369de157b70427d5739daae1662cfe2c99fba586b4aa";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/id/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/id/firefox-116.0.tar.bz2";
       locale = "id";
       arch = "linux-i686";
-      sha256 = "8dcb5d802648821da3f57703b6c9d05ea88935d9b540713190e8a98ec1989b4c";
+      sha256 = "3c467edcb2bb7351e2ab95c7c4abbd1cb488cd99e3277bfe4b68d4f9d71d7832";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/is/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/is/firefox-116.0.tar.bz2";
       locale = "is";
       arch = "linux-i686";
-      sha256 = "541e2a5d22c80d16bbcae6d0908a6f0879cada842466f2cd5435e85fa0b76c4a";
+      sha256 = "7c831648d0c9d702876ad9de4c470d64d23650c7cd822dd94656dfe098f62a50";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/it/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/it/firefox-116.0.tar.bz2";
       locale = "it";
       arch = "linux-i686";
-      sha256 = "f4c14eda917afc1529150eabcfec2646d1a6930c2d7e1ef28f9cc720bd4adca6";
+      sha256 = "aacfc7503696f4f028bdef91720c67b2b35fef4422172bfdda745db076f102bb";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/ja/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/ja/firefox-116.0.tar.bz2";
       locale = "ja";
       arch = "linux-i686";
-      sha256 = "0f618a4f0446d68fd308be515e9d3bdd892fb6a44760172ed2ee5096a8b29906";
+      sha256 = "72bbbf9c77817648b88ce65702f3c399a80c62fed4bd54ad4a97676015a1b06b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/ka/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/ka/firefox-116.0.tar.bz2";
       locale = "ka";
       arch = "linux-i686";
-      sha256 = "89b42f36359f0abe302874b78d4f8f16d31dbb24f0180061f06b61034f8f675a";
+      sha256 = "61c93af6cc729cf4cea2a62cdf379b22903fb9876fb7f6357c4aff084d6bb9c7";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/kab/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/kab/firefox-116.0.tar.bz2";
       locale = "kab";
       arch = "linux-i686";
-      sha256 = "110ad6ebcbd40031af44a955a639aa1772ade4302d4fc6e128f4ecb45044767d";
+      sha256 = "43df4b9ddd7e7e58cd2de8bcf0e612dc489c0e172667a6b2d1931d7e4341eb4d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/kk/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/kk/firefox-116.0.tar.bz2";
       locale = "kk";
       arch = "linux-i686";
-      sha256 = "73c9be7ad237e2dfc56f779ace46262c4ada1a5ad82bfeb3b66532dc54f919fb";
+      sha256 = "47898f9fe1b17a424733cc5eec1cb48a1b2de198d3c272f2aed8be05342ee74c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/km/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/km/firefox-116.0.tar.bz2";
       locale = "km";
       arch = "linux-i686";
-      sha256 = "f4181188d02d583e28195f05dd662752b0da01c8dc3a9c4190caadcb213c8f1e";
+      sha256 = "9f21abc634e60797e5869dbbc3a3f0efab58de05a8a7e51748d7d879361b1b49";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/kn/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/kn/firefox-116.0.tar.bz2";
       locale = "kn";
       arch = "linux-i686";
-      sha256 = "f91edfa2a38100f0a0eb4a9ee461fb06c88d6eef57ef8e2dfc13a1060e2b6859";
+      sha256 = "16e038a5d4941da4627d843435abd3e6e5478a6f69dc041de8e3a35657c82b24";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/ko/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/ko/firefox-116.0.tar.bz2";
       locale = "ko";
       arch = "linux-i686";
-      sha256 = "d1537c34512065a33e0a4f720363652a2cbf4d4c84b10dba64d64e56b5b445d2";
+      sha256 = "9d77cb5d87ce74e63b71946662be2f22dfbd348750eb6034309fc8a651957cbb";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/lij/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/lij/firefox-116.0.tar.bz2";
       locale = "lij";
       arch = "linux-i686";
-      sha256 = "0908a41031180d9f5dde1056f49b3d5479fb4bec43b6c9fbed8670ce779fa1d9";
+      sha256 = "d13c0cb9b389e97d295dd8584ccb9097eb3d8dd36a0bf2413a99ae2ba21574c9";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/lt/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/lt/firefox-116.0.tar.bz2";
       locale = "lt";
       arch = "linux-i686";
-      sha256 = "01b0b9f95e07bcc8868eaa1e3bd0b5822897490832d27453430ce07bb84c030b";
+      sha256 = "941977d136f650c43ba1abd7a91ef4e2a30ecba312b32c2be15a70bb29e88f72";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/lv/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/lv/firefox-116.0.tar.bz2";
       locale = "lv";
       arch = "linux-i686";
-      sha256 = "6434bd6669772a9332b9790e1a7f108c5e7d3676ac9711a06b7c3f92e37667f8";
+      sha256 = "8b6c66e6c407094b2e9734c4d5c68c913e0c765938537f1a7380d2d2686d6a72";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/mk/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/mk/firefox-116.0.tar.bz2";
       locale = "mk";
       arch = "linux-i686";
-      sha256 = "0ebe5d9a101780e2d674ead35e7e02f78b4a4f2f17f3838cffaf64b1c8dd760e";
+      sha256 = "a415aad48d4bb948d908f29675865b0aea98f0382871f98f2e021d290ea41383";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/mr/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/mr/firefox-116.0.tar.bz2";
       locale = "mr";
       arch = "linux-i686";
-      sha256 = "5854a21f094b5e5b768acbf3173adfcb05be007e91a3f26187ef15e28a55344b";
+      sha256 = "217527cd028640dd698289c0363bd9e54731925de83480320b62e34fdbf6fc6d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/ms/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/ms/firefox-116.0.tar.bz2";
       locale = "ms";
       arch = "linux-i686";
-      sha256 = "de7a7d13471ed218cb56300e033849a121e8e3247980f20f403848376ba7e313";
+      sha256 = "ed1c8e9d1a7f5e9d1cdfa64dfd5308fbcf659ee873e11f1011ffe7ad68eb68ff";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/my/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/my/firefox-116.0.tar.bz2";
       locale = "my";
       arch = "linux-i686";
-      sha256 = "e6f3b5993ee26d3e13acda0842250cb1df66c54855fa2706567cb0ebe6dff57e";
+      sha256 = "b8ffef2f300ef5b3c4d579d18a1432aa2ff827dcd77bf1c0af2fc51428cf109d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/nb-NO/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/nb-NO/firefox-116.0.tar.bz2";
       locale = "nb-NO";
       arch = "linux-i686";
-      sha256 = "2f4bdaf1cfd70099bc0061b12e0d571f727ea342b835cd6ce4ce18c7752109f8";
+      sha256 = "5b2275d6bc84e0d5d44d8d1225d25a548712e39398b2d95d2b61235798b4d3a0";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/ne-NP/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/ne-NP/firefox-116.0.tar.bz2";
       locale = "ne-NP";
       arch = "linux-i686";
-      sha256 = "c958d4e7b0ec0efa2c9b6014db33c5e0c07956a25da8aba3e0d5fd06600b7317";
+      sha256 = "ce93aaa6181af54c9187861145947b157a7073f5f85300de5cc815dcda91ca23";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/nl/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/nl/firefox-116.0.tar.bz2";
       locale = "nl";
       arch = "linux-i686";
-      sha256 = "ed2cf184d2092a08c10638328efd47cce0870615ccfae9fe2ea01b1ad95943bc";
+      sha256 = "44fb66a3951c4d2d2185cac2bae68de9f8c33fbf51b755efb8eb8e65c8244e8d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/nn-NO/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/nn-NO/firefox-116.0.tar.bz2";
       locale = "nn-NO";
       arch = "linux-i686";
-      sha256 = "53f61eea19c64781aef5484318f4f003a59543d9df25686f920b22e855eaac45";
+      sha256 = "1f193335190eb2ec6197ebf40026e687f6572c49371dd9ad8f7c3ac5b4d044dd";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/oc/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/oc/firefox-116.0.tar.bz2";
       locale = "oc";
       arch = "linux-i686";
-      sha256 = "486c724bb71666a18f73265f844a9b1480f1ed3e4b7cf850624a3800262c0896";
+      sha256 = "af449593909a84a0bf75e3bbca2d5764e791f34d4e0e155b8163d02e95bdbe61";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/pa-IN/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/pa-IN/firefox-116.0.tar.bz2";
       locale = "pa-IN";
       arch = "linux-i686";
-      sha256 = "7f49438ed94a0470e9d4dc5c0ab6abe123f50e9a84857e803d399b2dd44e4b17";
+      sha256 = "e0b6a81f200ab2481e0ee6b1a2c711e2494956ae0a1e48746f91a71e3948c521";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/pl/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/pl/firefox-116.0.tar.bz2";
       locale = "pl";
       arch = "linux-i686";
-      sha256 = "e61176b20af0cfda2cfd9dbeefb5a7107b9b00d8d93095f3dba5cf966ab37f66";
+      sha256 = "fd7c475d0a9b1bd5d02fa2ac25c3a05805f69fdcbf583a09ab1c62a3f3c91ca4";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/pt-BR/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/pt-BR/firefox-116.0.tar.bz2";
       locale = "pt-BR";
       arch = "linux-i686";
-      sha256 = "9bbf433714d068835eb2191f967cd57ee6eaf00b8884c75bcb1b103b018c8482";
+      sha256 = "552449ab9b20abb2bcaaf91d0bb1e20b2bc9fe87b4b0aea7a91b4204adae8a96";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/pt-PT/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/pt-PT/firefox-116.0.tar.bz2";
       locale = "pt-PT";
       arch = "linux-i686";
-      sha256 = "330fcfbab5e5639d678e6b3587fc284685e75a20aba3b94172227060cfc5d652";
+      sha256 = "bfdc36e8c4e88fc059cb60745dfd362f722fea9f7f36ce8c9ae59c098a0001b5";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/rm/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/rm/firefox-116.0.tar.bz2";
       locale = "rm";
       arch = "linux-i686";
-      sha256 = "c955e19cce4d468f16cc6f19dc462ec4b2bfc75331caf3ee64a105c18c549269";
+      sha256 = "23bf9dcf37362d0fed86ad66c549c7fb316173248d9d21b2305d7ad74e65bf34";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/ro/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/ro/firefox-116.0.tar.bz2";
       locale = "ro";
       arch = "linux-i686";
-      sha256 = "05b1ff4f0474755672fbea5c4ad217c5d4a382e7d96ac4595bffaefdd831f0f5";
+      sha256 = "c3d5de62719dc8a730cc14c46af8d595aff72660ec053c5b982d7d245db2f235";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/ru/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/ru/firefox-116.0.tar.bz2";
       locale = "ru";
       arch = "linux-i686";
-      sha256 = "f12964c16dd0caab6056dc134e760de11b2fae6d2c144570f4d4f81516a90bbd";
+      sha256 = "5a9e4c850f9bb93d2f97004590f4da1ded42031f3212413ce5a419491e5a421e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/sc/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/sc/firefox-116.0.tar.bz2";
       locale = "sc";
       arch = "linux-i686";
-      sha256 = "459cd663389eb7ffcc849f5f7dcfaed6674ab8426b15772bcc1981b764c8fffa";
+      sha256 = "c2ebc9d0d3c7364de45ced4960a0a019a649a7591cc87fad570e38426c7660c1";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/sco/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/sco/firefox-116.0.tar.bz2";
       locale = "sco";
       arch = "linux-i686";
-      sha256 = "ac310430b58a396f0df8bc49d92acb7343a4dd1b44c8b722577af7baec604acb";
+      sha256 = "90cdf54c7c693cf50f47224dc6a91502bbcf7a613e9faea18d3a0b0a1a55a836";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/si/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/si/firefox-116.0.tar.bz2";
       locale = "si";
       arch = "linux-i686";
-      sha256 = "63350129c87bdafef37c627fb2a7f9ee300042cbbb754d211943a89e4a928edb";
+      sha256 = "fe27c606dbd5cf843d449b23107811c1cc900d93926502d152804476559fc061";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/sk/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/sk/firefox-116.0.tar.bz2";
       locale = "sk";
       arch = "linux-i686";
-      sha256 = "5b12dbfdea4792fc1753d6719f1da10886e039ec56f0cd6c5a17b384958aeb19";
+      sha256 = "70241a490bda80acda364de47ed926307e2bd79b183fdec0c7288168b5f35da4";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/sl/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/sl/firefox-116.0.tar.bz2";
       locale = "sl";
       arch = "linux-i686";
-      sha256 = "a086751406db10084ffc4b1a65bdca00bcabe9d31c6ac6060a0ec9a10be2d03e";
+      sha256 = "3d5e2c53238f9c97ee3f6f7a57ea2fcb4c6b24d872ef5af7c88b5df1a974c68a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/son/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/son/firefox-116.0.tar.bz2";
       locale = "son";
       arch = "linux-i686";
-      sha256 = "23b78776d174b7ad5b7a2385ffbafa3e2727d799ce53b60287fdfd6d8bc2ad03";
+      sha256 = "ee6449b80616c9fc2650ed47a9474de9f0cf9857973a82945f07c8f053548ce4";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/sq/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/sq/firefox-116.0.tar.bz2";
       locale = "sq";
       arch = "linux-i686";
-      sha256 = "d1f23ac8a7879b142aed1c503f1edd9014a095fe34c6d2c321468ab6eff965a6";
+      sha256 = "9304539492ce794f84f1d95f693c10235c0b87ed412d4dc22a307190fb68c212";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/sr/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/sr/firefox-116.0.tar.bz2";
       locale = "sr";
       arch = "linux-i686";
-      sha256 = "2c2900763e39b3fc2322431a782361090ee171b08476b972ebdafb669acd4f8e";
+      sha256 = "2be7297624ef34ac0942c1af82701817691457de0ebac4354d2df649d4d69baa";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/sv-SE/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/sv-SE/firefox-116.0.tar.bz2";
       locale = "sv-SE";
       arch = "linux-i686";
-      sha256 = "31a6ff5390b5522981601e3770a9181642fef490960e2f2ad462d0be021bac9b";
+      sha256 = "42a9372113e8ff5edb79f52868dd5fb0ff0f6810a1764c143020ddc4e5885530";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/szl/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/szl/firefox-116.0.tar.bz2";
       locale = "szl";
       arch = "linux-i686";
-      sha256 = "2377483264bf279c24a01cf883fbea79c78c0150f8c4cfd6da762bc7fd4f7014";
+      sha256 = "f699ec97ef95958cfc65191a95b3296618e39eedec9078e8ca28a1a4618ea4d9";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/ta/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/ta/firefox-116.0.tar.bz2";
       locale = "ta";
       arch = "linux-i686";
-      sha256 = "d1bce010ccd6512d315014f36fe69c5272804716f62bd47d50ced4902c6b2d1d";
+      sha256 = "eeb24dd7277660b0903124eb59e14fb69a3fa04f5d9030908de27bba137ff4a3";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/te/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/te/firefox-116.0.tar.bz2";
       locale = "te";
       arch = "linux-i686";
-      sha256 = "2fe7d6bd5f5341bb3b7a13716ab328736fa3788423d2e226e5a55d1bd1c8f324";
+      sha256 = "627a55d9a260edbd71b0753b5dd878a8018e377e26a7825b035fe1d1e041f152";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/tg/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/tg/firefox-116.0.tar.bz2";
       locale = "tg";
       arch = "linux-i686";
-      sha256 = "b0ad430e95ae9bc93047fb3f307a298fb72b7a0a92e907f3d2e756bb191559e1";
+      sha256 = "51036c3e0107e401db38830171b02ed38b490341426baa9b648689d3108a0e7a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/th/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/th/firefox-116.0.tar.bz2";
       locale = "th";
       arch = "linux-i686";
-      sha256 = "6de013658d343173c0387ea31cbd13a13283b94c610d8da045ec132a58a00c55";
+      sha256 = "07f248626ba69c176c28d0b3cd8412d02590db4bad799b4eed6f89551b46bb50";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/tl/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/tl/firefox-116.0.tar.bz2";
       locale = "tl";
       arch = "linux-i686";
-      sha256 = "e61c21f5dd1b501850ad5fa7e4fc78ff2d6e8204e59641a9def848fb2d0e1db0";
+      sha256 = "eae41e5cf45449ad4aa639869ad0ec7c5abe8aab6030bd3c914e19cf37c22904";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/tr/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/tr/firefox-116.0.tar.bz2";
       locale = "tr";
       arch = "linux-i686";
-      sha256 = "dcbe3eb837e43d9c11883e2bbf4402703e7e18bf5bfc80de5e6a3b05439ea09a";
+      sha256 = "0c3527d182e5033d7767400ac85fc97d1f13f3c858ca6302ef167158338fb0c9";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/trs/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/trs/firefox-116.0.tar.bz2";
       locale = "trs";
       arch = "linux-i686";
-      sha256 = "f762bf0c20350079ac9fa8e79fa8711eeae6d8c1cd47d628622b213739ca963b";
+      sha256 = "7c4cec572dabdceae08dde4f23dbe13d8fad56b32672219ce2e7cf2e04336b2f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/uk/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/uk/firefox-116.0.tar.bz2";
       locale = "uk";
       arch = "linux-i686";
-      sha256 = "bda43112d1fcde83e319918c5bfcd8d3e7c087b03a995f5657f0b216b90b3580";
+      sha256 = "430c38e381d3dc120716cba77b561ef0707adc8547159719c285b216a0573770";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/ur/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/ur/firefox-116.0.tar.bz2";
       locale = "ur";
       arch = "linux-i686";
-      sha256 = "41bbb5805aea4234a82cf7366768d36c572e87cc6a82e289e13cbb8702a0349b";
+      sha256 = "796f802b79e4a69581d2eedc0936e7921a8cd307c816075cd59db7b3b52b899c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/uz/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/uz/firefox-116.0.tar.bz2";
       locale = "uz";
       arch = "linux-i686";
-      sha256 = "410d410e506c6d924ec556e9dbab1fde140c72761613cee028077c316b01e1ae";
+      sha256 = "772260d25afca78633c06cbc931b4356d2dcb0528a95665aae533a9bc3c55833";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/vi/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/vi/firefox-116.0.tar.bz2";
       locale = "vi";
       arch = "linux-i686";
-      sha256 = "32d494eb804d88fa7fe0192eca9c6138f3fe6310398342f66e4c739811dd1a3c";
+      sha256 = "5fd11545971f8aae762fb372a25f4b30d21f84acbeab1086d75f5696d96b10bf";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/xh/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/xh/firefox-116.0.tar.bz2";
       locale = "xh";
       arch = "linux-i686";
-      sha256 = "e8e919beb4440cf96b5d9656d0e2c9fc2fee66aa0c0fc5aa87fedff4b723eb4e";
+      sha256 = "24fc569b9519e902cc570af9f74ff532a680cebc8abd1c151d8f8165c681dc92";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/zh-CN/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/zh-CN/firefox-116.0.tar.bz2";
       locale = "zh-CN";
       arch = "linux-i686";
-      sha256 = "79226a3ec389275f85c5d586e53181b6db09813231026b31dcbc41f5ae1f10c2";
+      sha256 = "f0e7fcbf14e0a9f5281a5bdcc4f9fe82708b6211b09f1db22f036e770f0de713";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0.2/linux-i686/zh-TW/firefox-115.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/116.0/linux-i686/zh-TW/firefox-116.0.tar.bz2";
       locale = "zh-TW";
       arch = "linux-i686";
-      sha256 = "23db05c309c9753c4b48e027f6c7b4978f102a0226197d11254e703db25ea6e0";
+      sha256 = "931c833b5cffc510b96eeeb356ad8599e0478d2b2b485dd553c4b6656bce23ab";
     }
     ];
 }
diff --git a/pkgs/applications/networking/browsers/firefox/packages.nix b/pkgs/applications/networking/browsers/firefox/packages.nix
index 27f3ec022ce34..7b839cdfcb27f 100644
--- a/pkgs/applications/networking/browsers/firefox/packages.nix
+++ b/pkgs/applications/networking/browsers/firefox/packages.nix
@@ -3,10 +3,10 @@
 {
   firefox = buildMozillaMach rec {
     pname = "firefox";
-    version = "115.0.2";
+    version = "116.0";
     src = fetchurl {
       url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
-      sha512 = "de6ce8a2512e862c69a7d5c557d6168498d0d40e9c4b54b775f81c444e863a64c43130d57b51b360db4224c34b64a93f3ad263441caee713243b97750ec1eb4b";
+      sha512 = "4370c65a99bf8796524aca11ea8e99fa4f875176a5805ad49f35ae149080eb54be42e7eae84627e87e17b88b262649e48f3b30b317170ac7c208960200d1005d";
     };
 
     meta = {
@@ -20,6 +20,7 @@
                                              # not in `badPlatforms` because cross-compilation on 64-bit machine might work.
       maxSilent = 14400; # 4h, double the default of 7200s (c.f. #129212, #129115)
       license = lib.licenses.mpl20;
+      mainProgram = "firefox";
     };
     tests = [ nixosTests.firefox ];
     updateScript = callPackage ./update.nix {
@@ -29,11 +30,11 @@
 
   firefox-beta = buildMozillaMach rec {
     pname = "firefox-beta";
-    version = "116.0b3";
+    version = "116.0b8";
     applicationName = "Mozilla Firefox Beta";
     src = fetchurl {
       url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
-      sha512 = "6ba3b57750335fa2067669756d69a05e23c1641e9fe892f9ffc879c17bd5a836815f97c90277d6dc1fe1a68173652bcbb544540ce21a9c37892fad70987e8d39";
+      sha512 = "5e34b3eed2ee54de4209af85be80f240c674d22ace072fba5e4cf14a7d733edc0cfd0feafc80b23898ef8c43e5e950b5e683f536d84f12a8a7fcee0120479701";
     };
 
     meta = {
@@ -46,6 +47,7 @@
                                              # not in `badPlatforms` because cross-compilation on 64-bit machine might work.
       maxSilent = 14400; # 4h, double the default of 7200s (c.f. #129212, #129115)
       license = lib.licenses.mpl20;
+      mainProgram = "firefox";
     };
     tests = [ nixosTests.firefox-beta ];
     updateScript = callPackage ./update.nix {
@@ -56,12 +58,12 @@
 
   firefox-devedition = (buildMozillaMach rec {
     pname = "firefox-devedition";
-    version = "116.0b3";
+    version = "116.0b8";
     applicationName = "Mozilla Firefox Developer Edition";
     branding = "browser/branding/aurora";
     src = fetchurl {
       url = "mirror://mozilla/devedition/releases/${version}/source/firefox-${version}.source.tar.xz";
-      sha512 = "61b07bc9a706af8e947a0f206edb219650f8d64da5db821ca115375e379a11e4623dfe4e5b8734d0992e048ad8017152f8540e921105c3a266ad9347ef7b88e9";
+      sha512 = "06ae0998a537a464a85cf9767555eb1b9d1378345201c9df760cb8ca856fcce61d84ca8398450b80175e9d13e6077df3c5fee9d4781d0879490d30bc6d362a0d";
     };
 
     meta = {
@@ -74,6 +76,7 @@
                                              # not in `badPlatforms` because cross-compilation on 64-bit machine might work.
       maxSilent = 14400; # 4h, double the default of 7200s (c.f. #129212, #129115)
       license = lib.licenses.mpl20;
+      mainProgram = "firefox";
     };
     tests = [ nixosTests.firefox-devedition ];
     updateScript = callPackage ./update.nix {
@@ -87,11 +90,11 @@
 
   firefox-esr-102 = buildMozillaMach rec {
     pname = "firefox-esr-102";
-    version = "102.13.0esr";
+    version = "102.14.0esr";
     applicationName = "Mozilla Firefox ESR";
     src = fetchurl {
       url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
-      sha512 = "745f4a77e4c898313f11118274d27513f4baa16bb42d5b71d9bd0dbe8957dbf39a5f7ae8442cd711aca9b597bc909c04b44cb8d9094c57aa34e285e64f834fde";
+      sha512 = "6cabd474d0f3a768a0f12fa5c9984ed193906b503202010fd1da0e2affa091fcc5c165e6b9c4152d286410d46b72b2ddbf52d323bf5ea542f29e5267a94dfdcd";
     };
 
     meta = {
@@ -104,6 +107,7 @@
       broken = stdenv.buildPlatform.is32bit; # since Firefox 60, build on 32-bit platforms fails with "out of memory".
                                              # not in `badPlatforms` because cross-compilation on 64-bit machine might work.
       license = lib.licenses.mpl20;
+      mainProgram = "firefox";
     };
     tests = [ nixosTests.firefox-esr-102 ];
     updateScript = callPackage ./update.nix {
@@ -115,11 +119,11 @@
 
   firefox-esr-115 = buildMozillaMach rec {
     pname = "firefox-esr-115";
-    version = "115.0.2esr";
+    version = "115.1.0esr";
     applicationName = "Mozilla Firefox ESR";
     src = fetchurl {
       url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
-      sha512 = "f145d0e0e63032367af4198d4ca046589689b5852cb2451efbdcabeae37dfeda88dd0a2c317120ae5785228a6d7df21aa2d18c18ed7bf4b180823af37326a458";
+      sha512 = "b2abb706fef2f1aa9451e7ac7c2affa0cc92cf2b0c6629f106a94c62017476380c7b6f406861fa468f60ea898d8402f534ad74844eb3932741fbd981cec66592";
     };
 
     meta = {
@@ -132,6 +136,7 @@
       broken = stdenv.buildPlatform.is32bit; # since Firefox 60, build on 32-bit platforms fails with "out of memory".
                                              # not in `badPlatforms` because cross-compilation on 64-bit machine might work.
       license = lib.licenses.mpl20;
+      mainProgram = "firefox";
     };
     tests = [ nixosTests.firefox-esr-115 ];
     updateScript = callPackage ./update.nix {
diff --git a/pkgs/applications/networking/browsers/lagrange/default.nix b/pkgs/applications/networking/browsers/lagrange/default.nix
index 294f034925d43..8dad70a3dce29 100644
--- a/pkgs/applications/networking/browsers/lagrange/default.nix
+++ b/pkgs/applications/networking/browsers/lagrange/default.nix
@@ -17,13 +17,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "lagrange";
-  version = "1.16.5";
+  version = "1.16.6";
 
   src = fetchFromGitHub {
     owner = "skyjake";
     repo = "lagrange";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-OLKUw0qimt0WgcW26T4IWVK16nDGSmqHSuSJ8tHhbsE=";
+    hash = "sha256-avBZnQi1xuyrJX7YG+8O3+122Of11innCCr5sPYyySg=";
   };
 
   nativeBuildInputs = [ cmake pkg-config zip ];
diff --git a/pkgs/applications/networking/browsers/librewolf/src.json b/pkgs/applications/networking/browsers/librewolf/src.json
index f903c31f8b968..2e364b5c7f746 100644
--- a/pkgs/applications/networking/browsers/librewolf/src.json
+++ b/pkgs/applications/networking/browsers/librewolf/src.json
@@ -1,11 +1,11 @@
 {
-  "packageVersion": "115.0.2-2",
+  "packageVersion": "116.0-1",
   "source": {
-    "rev": "115.0.2-2",
-    "sha256": "092fp608lcxrax391xc33dqgbxspkflvmkmhc4jmji2ij3my12jn"
+    "rev": "116.0-1",
+    "sha256": "1nah5a5l5ajyvy8aw4xdpdfs2s3ybfs5jw9c4qj9qczxdp541a66"
   },
   "firefox": {
-    "version": "115.0.2",
-    "sha512": "de6ce8a2512e862c69a7d5c557d6168498d0d40e9c4b54b775f81c444e863a64c43130d57b51b360db4224c34b64a93f3ad263441caee713243b97750ec1eb4b"
+    "version": "116.0",
+    "sha512": "4370c65a99bf8796524aca11ea8e99fa4f875176a5805ad49f35ae149080eb54be42e7eae84627e87e17b88b262649e48f3b30b317170ac7c208960200d1005d"
   }
 }
diff --git a/pkgs/applications/networking/browsers/netsurf/browser.nix b/pkgs/applications/networking/browsers/netsurf/browser.nix
index d529ba2f93806..d9df75b00c2ba 100644
--- a/pkgs/applications/networking/browsers/netsurf/browser.nix
+++ b/pkgs/applications/networking/browsers/netsurf/browser.nix
@@ -1,58 +1,95 @@
-{ lib, stdenv, fetchurl, makeWrapper, wrapGAppsHook
+{ lib
+, stdenv
+, fetchurl
+, SDL
+, check
+, curl
+, expat
+, gtk2
+, gtk3
+, libXcursor
+, libXrandr
+, libidn
+, libjpeg
+, libpng
+, libwebp
+, libxml2
+, makeWrapper
+, openssl
+, perlPackages
+, pkg-config
+, wrapGAppsHook
+, xxd
 
-# Buildtime dependencies.
-, check, pkg-config, xxd
-
-# Runtime dependencies.
-, curl, expat, libXcursor, libXrandr, libidn, libjpeg, libpng, libwebp, libxml2
-, openssl, perl, perlPackages
-
-# uilib-specific dependencies
-, gtk2 # GTK 2
-, gtk3 # GTK 3
-, SDL  # Framebuffer
+# Netsurf-specific dependencies
+, buildsystem
+, libcss
+, libdom
+, libhubbub
+, libnsbmp
+, libnsfb
+, libnsgif
+, libnslog
+, libnspsl
+, libnsutils
+, libparserutils
+, libsvgtiny
+, libutf8proc
+, libwapcaplet
+, nsgenbind
 
 # Configuration
 , uilib
-
-# Netsurf-specific dependencies
-, libcss, libdom, libhubbub, libnsbmp, libnsfb, libnsgif
-, libnslog, libnspsl, libnsutils, libparserutils, libsvgtiny, libutf8proc
-, libwapcaplet, nsgenbind
 }:
 
-let
-  inherit (lib) optional optionals;
-in
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "netsurf";
   version = "3.10";
 
   src = fetchurl {
-    url = "http://download.netsurf-browser.org/netsurf/releases/source/${pname}-${version}-src.tar.gz";
-    sha256 = "sha256-NkhEKeGTYUaFwv8kb1W9Cm3d8xoBi+5F4NH3wohRmV4=";
+    url = "http://download.netsurf-browser.org/netsurf/releases/source/netsurf-${finalAttrs.version}-src.tar.gz";
+    hash = "sha256-NkhEKeGTYUaFwv8kb1W9Cm3d8xoBi+5F4NH3wohRmV4=";
   };
 
   nativeBuildInputs = [
     makeWrapper
-    perl
     perlPackages.HTMLParser
+    perlPackages.perl
     pkg-config
     xxd
   ]
-  ++ optional (uilib == "gtk2" || uilib == "gtk3") wrapGAppsHook
-  ;
+  ++ lib.optional (uilib == "gtk2" || uilib == "gtk3") wrapGAppsHook;
 
   buildInputs = [
-    check curl libXcursor libXrandr libidn libjpeg libpng libwebp libxml2 openssl
-    # Netsurf-specific libraries
-    nsgenbind libnsfb libwapcaplet libparserutils libnslog libcss
-    libhubbub libdom libnsbmp libnsgif libsvgtiny libnsutils libnspsl
+    check
+    curl
+    libXcursor
+    libXrandr
+    libidn
+    libjpeg
+    libpng
+    libwebp
+    libxml2
+    openssl
+
+    libcss
+    libdom
+    libhubbub
+    libnsbmp
+    libnsfb
+    libnsgif
+    libnslog
+    libnspsl
+    libnsutils
+    libparserutils
+    libsvgtiny
     libutf8proc
+    libwapcaplet
+    nsgenbind
   ]
-  ++ optionals (uilib == "framebuffer") [ expat SDL ]
-  ++ optional (uilib == "gtk2") gtk2
-  ++ optional (uilib == "gtk3") gtk3
+  ++ lib.optionals (uilib == "framebuffer") [ expat SDL ]
+  ++ lib.optional (uilib == "gtk2") gtk2
+  ++ lib.optional (uilib == "gtk3") gtk3
   ;
 
   # Since at least 2018 AD, GCC and other compilers run in `-fno-common` mode as
@@ -78,7 +115,7 @@ stdenv.mkDerivation rec {
     "TARGET=${uilib}"
   ];
 
-  meta = with lib; {
+  meta = {
     homepage = "https://www.netsurf-browser.org/";
     description = "A free, open source, small web browser";
     longDescription = ''
@@ -87,8 +124,7 @@ stdenv.mkDerivation rec {
       layout and rendering engine entirely written from scratch. It is small and
       capable of handling many of the web standards in use today.
     '';
-    license = licenses.gpl2Only;
-    maintainers = [ maintainers.vrthra maintainers.AndersonTorres ];
-    platforms = platforms.linux;
+    license = lib.licenses.gpl2Only;
+    inherit (buildsystem.meta) maintainers platforms;
   };
-}
+})
diff --git a/pkgs/applications/networking/browsers/netsurf/buildsystem.nix b/pkgs/applications/networking/browsers/netsurf/buildsystem.nix
index 4956c70655a70..385deef99fdfa 100644
--- a/pkgs/applications/networking/browsers/netsurf/buildsystem.nix
+++ b/pkgs/applications/networking/browsers/netsurf/buildsystem.nix
@@ -1,24 +1,26 @@
-{ lib, stdenv, fetchurl }:
+{ lib
+, stdenv
+, fetchurl
+}:
 
-stdenv.mkDerivation rec {
-  pname = "netsurf-${libname}";
-  libname = "buildsystem";
+stdenv.mkDerivation (finalAttrs: {
+  pname = "netsurf-buildsystem";
   version = "1.9";
 
   src = fetchurl {
-    url = "http://download.netsurf-browser.org/libs/releases/${libname}-${version}.tar.gz";
-    sha256 = "sha256-k4QeMUpoggmiC4dF8GU5PzqQ8Bvmj0Xpa8jS9KKqmio=";
+    url = "http://download.netsurf-browser.org/libs/releases/buildsystem-${finalAttrs.version}.tar.gz";
+    hash = "sha256-k4QeMUpoggmiC4dF8GU5PzqQ8Bvmj0Xpa8jS9KKqmio=";
   };
 
   makeFlags = [
     "PREFIX=$(out)"
   ];
 
-  meta = with lib; {
+  meta = {
     homepage = "https://www.netsurf-browser.org/";
     description = "NetSurf browser shared build system";
-    license = licenses.mit;
-    maintainers = [ maintainers.vrthra maintainers.AndersonTorres ];
-    platforms = platforms.unix;
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ vrthra AndersonTorres ];
+    platforms = lib.platforms.unix;
   };
-}
+})
diff --git a/pkgs/applications/networking/browsers/netsurf/default.nix b/pkgs/applications/networking/browsers/netsurf/default.nix
index 409ab80ce3acc..36bfe10d5d240 100644
--- a/pkgs/applications/networking/browsers/netsurf/default.nix
+++ b/pkgs/applications/networking/browsers/netsurf/default.nix
@@ -1,20 +1,23 @@
 { lib, pkgs }:
 
-lib.makeScope pkgs.newScope (self: with self; {
+lib.makeScope pkgs.newScope (self:
+  let
+    inherit (self) callPackage;
+  in {
   # ui can be: gtk2, gtk3, sixel, framebuffer. Note that console display (sixel)
   # requires a terminal that supports `sixel` capabilities, such as mlterm
   # or xterm -ti 340
   ui = "gtk3";
-  uilib =
-    if ui == "gtk2" ||
-       ui == "gtk3" ||
-       ui == "framebuffer" then ui
-    else if ui == "sixel" then "framebuffer"
-    else null; # Never will happen
-  SDL =
-    if ui == "sixel" then pkgs.SDL_sixel
-    else if ui == "framebuffer" then pkgs.SDL
-    else null;
+  uilib = {
+    "framebuffer" = "framebuffer";
+    "gtk2" = "gtk2";
+    "gtk3" = "gtk3";
+    "sixel" = "framebuffer";
+  }.${self.ui} or null; # Null will never happen
+  SDL = {
+    "sixel" = pkgs.SDL_sixel;
+    "framebuffer" = pkgs.SDL;
+  }.${self.ui} or null;
 
   browser = callPackage ./browser.nix { };
 
diff --git a/pkgs/applications/networking/browsers/netsurf/libcss.nix b/pkgs/applications/networking/browsers/netsurf/libcss.nix
index db5a39f22856b..66a3a4057d85e 100644
--- a/pkgs/applications/networking/browsers/netsurf/libcss.nix
+++ b/pkgs/applications/networking/browsers/netsurf/libcss.nix
@@ -1,35 +1,43 @@
-{ lib, stdenv, fetchurl, pkg-config, perl
+{ lib
+, stdenv
+, fetchurl
+, perl
+, pkg-config
 , buildsystem
 , libparserutils
 , libwapcaplet
 }:
 
-stdenv.mkDerivation rec {
-  pname = "netsurf-${libname}";
-  libname = "libcss";
+stdenv.mkDerivation (finalAttrs: {
+  pname = "netsurf-libcss";
   version = "0.9.1";
 
   src = fetchurl {
-    url = "http://download.netsurf-browser.org/libs/releases/${libname}-${version}-src.tar.gz";
-    sha256 = "sha256-0tzhbpM5Lo1qcglCDUfC1Wo4EXAaDoGnJPxUHGPTxtw=";
+    url = "http://download.netsurf-browser.org/libs/releases/libcss-${finalAttrs.version}-src.tar.gz";
+    hash = "sha256-0tzhbpM5Lo1qcglCDUfC1Wo4EXAaDoGnJPxUHGPTxtw=";
   };
 
   nativeBuildInputs = [ pkg-config ];
+
   buildInputs = [
     perl
+    buildsystem
     libparserutils
     libwapcaplet
-    buildsystem ];
+  ];
 
   makeFlags = [
     "PREFIX=$(out)"
     "NSSHARED=${buildsystem}/share/netsurf-buildsystem"
   ];
 
-  env.NIX_CFLAGS_COMPILE = toString [ "-Wno-error=implicit-fallthrough" "-Wno-error=maybe-uninitialized" ];
+  env.NIX_CFLAGS_COMPILE = toString [
+    "-Wno-error=implicit-fallthrough"
+    "-Wno-error=maybe-uninitialized"
+  ];
 
-  meta = with lib; {
-    homepage = "https://www.netsurf-browser.org/projects/${libname}/";
+  meta = {
+    homepage = "https://www.netsurf-browser.org/projects/libcss/";
     description = "Cascading Style Sheets library for netsurf browser";
     longDescription = ''
       LibCSS is a CSS parser and selection engine. It aims to parse the forward
@@ -37,8 +45,7 @@ stdenv.mkDerivation rec {
       and is available for use by other software, under a more permissive
       license.
     '';
-    license = licenses.mit;
-    maintainers = [ maintainers.vrthra maintainers.AndersonTorres ];
-    platforms = platforms.linux;
+    license = lib.licenses.mit;
+    inherit (buildsystem.meta) maintainers platforms;
   };
-}
+})
diff --git a/pkgs/applications/networking/browsers/netsurf/libdom.nix b/pkgs/applications/networking/browsers/netsurf/libdom.nix
index 4c7224f2263c2..328bed30f17d3 100644
--- a/pkgs/applications/networking/browsers/netsurf/libdom.nix
+++ b/pkgs/applications/networking/browsers/netsurf/libdom.nix
@@ -1,43 +1,47 @@
-{ lib, stdenv, fetchurl, pkg-config, expat
+{ lib
+, stdenv
+, fetchurl
+, expat
+, pkg-config
 , buildsystem
 , libparserutils
 , libwapcaplet
 , libhubbub
 }:
 
-stdenv.mkDerivation rec {
-  pname = "netsurf-${libname}";
-  libname = "libdom";
+stdenv.mkDerivation (finalAttrs: {
+  pname = "netsurf-libdom";
   version = "0.4.1";
 
   src = fetchurl {
-    url = "http://download.netsurf-browser.org/libs/releases/${libname}-${version}-src.tar.gz";
-    sha256 = "sha256-mO4HJHHlXiCMmHjlFcQQrUYso2+HtK/L7K0CPzos70o=";
+    url = "http://download.netsurf-browser.org/libs/releases/libdom-${finalAttrs.version}-src.tar.gz";
+    hash = "sha256-mO4HJHHlXiCMmHjlFcQQrUYso2+HtK/L7K0CPzos70o=";
   };
 
   nativeBuildInputs = [ pkg-config ];
+
   buildInputs = [
     expat
+    buildsystem
     libhubbub
     libparserutils
     libwapcaplet
-    buildsystem ];
+  ];
 
   makeFlags = [
     "PREFIX=$(out)"
     "NSSHARED=${buildsystem}/share/netsurf-buildsystem"
   ];
 
-  meta = with lib; {
-    homepage = "https://www.netsurf-browser.org/projects/${libname}/";
+  meta = {
+    homepage = "https://www.netsurf-browser.org/projects/libdom/";
     description = "Document Object Model library for netsurf browser";
     longDescription = ''
       LibDOM is an implementation of the W3C DOM, written in C. It is currently
       in development for use with NetSurf and is intended to be suitable for use
       in other projects under a more permissive license.
     '';
-    license = licenses.mit;
-    maintainers = [ maintainers.vrthra maintainers.AndersonTorres ];
-    platforms = platforms.linux;
+    license = lib.licenses.mit;
+    inherit (buildsystem.meta) maintainers platforms;
   };
-}
+})
diff --git a/pkgs/applications/networking/browsers/netsurf/libhubbub.nix b/pkgs/applications/networking/browsers/netsurf/libhubbub.nix
index 9fd04904c8e99..29a312928092a 100644
--- a/pkgs/applications/networking/browsers/netsurf/libhubbub.nix
+++ b/pkgs/applications/networking/browsers/netsurf/libhubbub.nix
@@ -1,30 +1,35 @@
-{ lib, stdenv, fetchurl, pkg-config, perl
+{ lib
+, stdenv
+, fetchurl
+, perl
+, pkg-config
 , buildsystem
 , libparserutils
 }:
 
-stdenv.mkDerivation rec {
-  pname = "netsurf-${libname}";
-  libname = "libhubbub";
+stdenv.mkDerivation (finalAttrs: {
+  pname = "netsurf-libhubbub";
   version = "0.3.7";
 
   src = fetchurl {
-    url = "http://download.netsurf-browser.org/libs/releases/${libname}-${version}-src.tar.gz";
-    sha256 = "sha256-nnriU+bJBp51frmtTkhG84tNtSwMoBUURqn6Spd3NbY=";
+    url = "http://download.netsurf-browser.org/libs/releases/libhubbub-${finalAttrs.version}-src.tar.gz";
+    hash = "sha256-nnriU+bJBp51frmtTkhG84tNtSwMoBUURqn6Spd3NbY=";
   };
 
   nativeBuildInputs = [ pkg-config ];
+
   buildInputs = [
     perl
+    buildsystem
     libparserutils
-    buildsystem ];
+  ];
 
   makeFlags = [
     "PREFIX=$(out)"
     "NSSHARED=${buildsystem}/share/netsurf-buildsystem"
   ];
 
-  meta = with lib; {
+  meta = {
     homepage = "https://www.netsurf-browser.org/projects/hubbub/";
     description = "HTML5 parser library for netsurf browser";
     longDescription = ''
@@ -37,8 +42,7 @@ stdenv.mkDerivation rec {
       parse all markup, both valid and invalid. As a result, Hubbub parses web
       content well.
     '';
-    license = licenses.mit;
-    maintainers = [ maintainers.vrthra maintainers.AndersonTorres ];
-    platforms = platforms.linux;
+    license = lib.licenses.mit;
+    inherit (buildsystem.meta) maintainers platforms;
   };
-}
+})
diff --git a/pkgs/applications/networking/browsers/netsurf/libnsbmp.nix b/pkgs/applications/networking/browsers/netsurf/libnsbmp.nix
index 24790c477d4ed..9ae8dafa1b0dc 100644
--- a/pkgs/applications/networking/browsers/netsurf/libnsbmp.nix
+++ b/pkgs/applications/networking/browsers/netsurf/libnsbmp.nix
@@ -1,18 +1,21 @@
-{ lib, stdenv, fetchurl, pkg-config
+{ lib
+, stdenv
+, fetchurl
+, pkg-config
 , buildsystem
 }:
 
-stdenv.mkDerivation rec {
-  pname = "netsurf-${libname}";
-  libname = "libnsbmp";
+stdenv.mkDerivation (finalAttrs: {
+  pname = "netsurf-libnsbmp";
   version = "0.1.6";
 
   src = fetchurl {
-    url = "http://download.netsurf-browser.org/libs/releases/${libname}-${version}-src.tar.gz";
-    sha256 = "sha256-ecSTZfhg7UUb/EEJ7d7I3j6bfOWjvgaVlr0qoZJ5Mk8=";
+    url = "http://download.netsurf-browser.org/libs/releases/libnsbmp-${finalAttrs.version}-src.tar.gz";
+    hash = "sha256-ecSTZfhg7UUb/EEJ7d7I3j6bfOWjvgaVlr0qoZJ5Mk8=";
   };
 
   nativeBuildInputs = [ pkg-config ];
+
   buildInputs = [ buildsystem ];
 
   makeFlags = [
@@ -20,11 +23,10 @@ stdenv.mkDerivation rec {
     "NSSHARED=${buildsystem}/share/netsurf-buildsystem"
   ];
 
-  meta = with lib; {
+  meta = {
     homepage = "https://www.netsurf-browser.org/";
     description = "BMP Decoder for netsurf browser";
-    license = licenses.mit;
-    maintainers = [ maintainers.vrthra maintainers.AndersonTorres ];
-    platforms = platforms.linux;
+    license = lib.licenses.mit;
+    inherit (buildsystem.meta) maintainers platforms;
   };
-}
+})
diff --git a/pkgs/applications/networking/browsers/netsurf/libnsfb.nix b/pkgs/applications/networking/browsers/netsurf/libnsfb.nix
index d093df4662981..079e351ab18a8 100644
--- a/pkgs/applications/networking/browsers/netsurf/libnsfb.nix
+++ b/pkgs/applications/networking/browsers/netsurf/libnsfb.nix
@@ -1,19 +1,23 @@
-{ lib, stdenv, fetchurl, pkg-config
-, uilib, SDL
+{ lib
+, stdenv
+, fetchurl
+, SDL
+, pkg-config
 , buildsystem
+, uilib
 }:
 
-stdenv.mkDerivation rec {
-  pname = "netsurf-${libname}";
-  libname = "libnsfb";
+stdenv.mkDerivation (finalAttrs: {
+  pname = "netsurf-libnsfb";
   version = "0.2.2";
 
   src = fetchurl {
-    url = "http://download.netsurf-browser.org/libs/releases/${libname}-${version}-src.tar.gz";
-    sha256 = "sha256-vkRso+tU35A/LamDEdEH11dM0R9awHE+YZFW1NGeo5o=";
+    url = "http://download.netsurf-browser.org/libs/releases/libnsfb-${finalAttrs.version}-src.tar.gz";
+    hash = "sha256-vkRso+tU35A/LamDEdEH11dM0R9awHE+YZFW1NGeo5o=";
   };
 
   nativeBuildInputs = [ pkg-config ];
+
   buildInputs = [ SDL buildsystem ];
 
   makeFlags = [
@@ -22,11 +26,10 @@ stdenv.mkDerivation rec {
     "TARGET=${uilib}"
   ];
 
-  meta = with lib; {
-    homepage = "https://www.netsurf-browser.org/projects/${libname}/";
+  meta = {
+    homepage = "https://www.netsurf-browser.org/projects/libnsfb/";
     description = "Netsurf framebuffer abstraction library";
-    license = licenses.mit;
-    maintainers = [ maintainers.vrthra maintainers.AndersonTorres ];
-    platforms = platforms.linux;
+    license = lib.licenses.mit;
+    inherit (buildsystem.meta) maintainers platforms;
   };
-}
+})
diff --git a/pkgs/applications/networking/browsers/netsurf/libnsgif.nix b/pkgs/applications/networking/browsers/netsurf/libnsgif.nix
index 2e1cb37a64687..20c990448e772 100644
--- a/pkgs/applications/networking/browsers/netsurf/libnsgif.nix
+++ b/pkgs/applications/networking/browsers/netsurf/libnsgif.nix
@@ -1,20 +1,24 @@
-{ lib, stdenv, fetchurl, pkg-config, buildPackages
+{ lib
+, stdenv
+, fetchurl
+, pkg-config
+, buildPackages
 , buildsystem
 }:
 
-stdenv.mkDerivation rec {
-  pname = "netsurf-${libname}";
-  libname = "libnsgif";
+stdenv.mkDerivation (finalAttrs: {
+  pname = "netsurf-libnsgif";
   version = "0.2.1";
 
   src = fetchurl {
-    url = "http://download.netsurf-browser.org/libs/releases/${libname}-${version}-src.tar.gz";
-    sha256 = "sha256-nq6lNM1wtTxar0UxeulXcBaFprSojb407Sb0+q6Hmks=";
+    url = "http://download.netsurf-browser.org/libs/releases/libnsgif-${finalAttrs.version}-src.tar.gz";
+    hash = "sha256-nq6lNM1wtTxar0UxeulXcBaFprSojb407Sb0+q6Hmks=";
   };
 
   depsBuildBuild = [ buildPackages.stdenv.cc ];
 
   nativeBuildInputs = [ pkg-config ];
+
   buildInputs = [ buildsystem ];
 
   makeFlags = [
@@ -23,11 +27,10 @@ stdenv.mkDerivation rec {
     "BUILD_CC=$(CC_FOR_BUILD)"
   ];
 
-  meta = with lib; {
-    homepage = "https://www.netsurf-browser.org/projects/${libname}/";
+  meta = {
+    homepage = "https://www.netsurf-browser.org/projects/libnsgif/";
     description = "GIF Decoder for netsurf browser";
-    license = licenses.mit;
-    maintainers = [ maintainers.vrthra maintainers.AndersonTorres ];
-    platforms = platforms.unix;
+    license = lib.licenses.mit;
+    inherit (buildsystem.meta) maintainers platforms;
   };
-}
+})
diff --git a/pkgs/applications/networking/browsers/netsurf/libnslog.nix b/pkgs/applications/networking/browsers/netsurf/libnslog.nix
index 7189f1c591b33..f9243ec568888 100644
--- a/pkgs/applications/networking/browsers/netsurf/libnslog.nix
+++ b/pkgs/applications/networking/browsers/netsurf/libnslog.nix
@@ -1,18 +1,27 @@
-{ lib, stdenv, fetchurl, pkg-config, bison, flex
+{ lib
+, stdenv
+, fetchurl
+, bison
+, flex
+, pkg-config
 , buildsystem
 }:
 
-stdenv.mkDerivation rec {
-  pname = "netsurf-${libname}";
-  libname = "libnslog";
+stdenv.mkDerivation (finalAttrs: {
+  pname = "netsurf-libnslog";
   version = "0.1.3";
 
   src = fetchurl {
-    url = "http://download.netsurf-browser.org/libs/releases/${libname}-${version}-src.tar.gz";
-    sha256 = "sha256-/JjcqdfvpnCWRwpdlsAjFG4lv97AjA23RmHHtNsEU9A=";
+    url = "http://download.netsurf-browser.org/libs/releases/libnslog-${finalAttrs.version}-src.tar.gz";
+    hash = "sha256-/JjcqdfvpnCWRwpdlsAjFG4lv97AjA23RmHHtNsEU9A=";
   };
 
-  nativeBuildInputs = [ pkg-config bison flex ];
+  nativeBuildInputs = [
+    bison
+    flex
+    pkg-config
+  ];
+
   buildInputs = [ buildsystem ];
 
   makeFlags = [
@@ -20,11 +29,10 @@ stdenv.mkDerivation rec {
     "NSSHARED=${buildsystem}/share/netsurf-buildsystem"
   ];
 
-  meta = with lib; {
+  meta = {
     homepage = "https://www.netsurf-browser.org/";
     description = "NetSurf Parametric Logging Library";
-    license = licenses.isc;
-    maintainers = [ maintainers.samueldr maintainers.AndersonTorres ];
-    platforms = platforms.linux;
+    license = lib.licenses.isc;
+    inherit (buildsystem.meta) maintainers platforms;
   };
-}
+})
diff --git a/pkgs/applications/networking/browsers/netsurf/libnspsl.nix b/pkgs/applications/networking/browsers/netsurf/libnspsl.nix
index 01e3e401a7878..30c91908d9f37 100644
--- a/pkgs/applications/networking/browsers/netsurf/libnspsl.nix
+++ b/pkgs/applications/networking/browsers/netsurf/libnspsl.nix
@@ -1,18 +1,21 @@
-{ lib, stdenv, fetchurl, pkg-config
+{ lib
+, stdenv
+, fetchurl
+, pkg-config
 , buildsystem
 }:
 
-stdenv.mkDerivation rec {
-  pname = "netsurf-${libname}";
-  libname = "libnspsl";
+stdenv.mkDerivation (finalAttrs: {
+  pname = "netsurf-libnspsl";
   version = "0.1.6";
 
   src = fetchurl {
-    url = "http://download.netsurf-browser.org/libs/releases/${libname}-${version}-src.tar.gz";
-    sha256 = "sha256-08WCBct40xC/gcpVNHotCYcZzsrHBGvDZ5g7E4tFAgs=";
+    url = "http://download.netsurf-browser.org/libs/releases/libnspsl-${finalAttrs.version}-src.tar.gz";
+    hash = "sha256-08WCBct40xC/gcpVNHotCYcZzsrHBGvDZ5g7E4tFAgs=";
   };
 
   nativeBuildInputs = [ pkg-config ];
+
   buildInputs = [ buildsystem ];
 
   makeFlags = [
@@ -20,11 +23,10 @@ stdenv.mkDerivation rec {
     "NSSHARED=${buildsystem}/share/netsurf-buildsystem"
   ];
 
-  meta = with lib; {
+  meta = {
     homepage = "https://www.netsurf-browser.org/";
     description = "NetSurf Public Suffix List - Handling library";
-    license = licenses.mit;
-    maintainers =  [ maintainers.samueldr maintainers.AndersonTorres ];
-    platforms = platforms.linux;
+    license = lib.licenses.mit;
+    inherit (buildsystem.meta) maintainers platforms;
   };
-}
+})
diff --git a/pkgs/applications/networking/browsers/netsurf/libnsutils.nix b/pkgs/applications/networking/browsers/netsurf/libnsutils.nix
index bba457674c7d0..80e883e4b2440 100644
--- a/pkgs/applications/networking/browsers/netsurf/libnsutils.nix
+++ b/pkgs/applications/networking/browsers/netsurf/libnsutils.nix
@@ -1,18 +1,21 @@
-{ lib, stdenv, fetchurl, pkg-config
+{ lib
+, stdenv
+, fetchurl
+, pkg-config
 , buildsystem
 }:
 
-stdenv.mkDerivation rec {
-  pname = "netsurf-${libname}";
-  libname = "libnsutils";
+stdenv.mkDerivation (finalAttrs: {
+  pname = "netsurf-libnsutils";
   version = "0.1.0";
 
   src = fetchurl {
-    url = "http://download.netsurf-browser.org/libs/releases/${libname}-${version}-src.tar.gz";
-    sha256 = "sha256-eQxlFjRKvoL2KJ1lY5LpzOvkdbIMx+Hi2EMBE4X3rvA=";
+    url = "http://download.netsurf-browser.org/libs/releases/libnsutils-${finalAttrs.version}-src.tar.gz";
+    hash = "sha256-eQxlFjRKvoL2KJ1lY5LpzOvkdbIMx+Hi2EMBE4X3rvA=";
   };
 
   nativeBuildInputs = [ pkg-config ];
+
   buildInputs = [ buildsystem ];
 
   makeFlags = [
@@ -20,11 +23,10 @@ stdenv.mkDerivation rec {
     "NSSHARED=${buildsystem}/share/netsurf-buildsystem"
   ];
 
-  meta = with lib; {
+  meta = {
     homepage = "https://www.netsurf-browser.org/";
     description = "Generalised utility library for netsurf browser";
-    license = licenses.mit;
-    maintainers = [ maintainers.vrthra maintainers.AndersonTorres ];
-    platforms = platforms.linux;
+    license = lib.licenses.mit;
+    inherit (buildsystem.meta) maintainers platforms;
   };
-}
+})
diff --git a/pkgs/applications/networking/browsers/netsurf/libparserutils.nix b/pkgs/applications/networking/browsers/netsurf/libparserutils.nix
index ac50237cc49d2..411495b8e2157 100644
--- a/pkgs/applications/networking/browsers/netsurf/libparserutils.nix
+++ b/pkgs/applications/networking/browsers/netsurf/libparserutils.nix
@@ -1,29 +1,33 @@
-{ lib, stdenv, fetchurl, perl
+{ lib
+, stdenv
+, fetchurl
+, perl
 , buildsystem
 }:
 
-stdenv.mkDerivation rec {
-  pname = "netsurf-${libname}";
-  libname = "libparserutils";
+stdenv.mkDerivation (finalAttrs: {
+  pname = "netsurf-libparserutils";
   version = "0.2.4";
 
   src = fetchurl {
-    url = "http://download.netsurf-browser.org/libs/releases/${libname}-${version}-src.tar.gz";
-    sha256 = "sha256-MiuuYbMMzt4+MFv26uJBSSBkl3W8X/HRtogBKjxJR9g=";
+    url = "http://download.netsurf-browser.org/libs/releases/libparserutils-${finalAttrs.version}-src.tar.gz";
+    hash = "sha256-MiuuYbMMzt4+MFv26uJBSSBkl3W8X/HRtogBKjxJR9g=";
   };
 
-  buildInputs = [ perl buildsystem ];
+  buildInputs = [
+    perl
+    buildsystem
+  ];
 
   makeFlags = [
     "PREFIX=$(out)"
     "NSSHARED=${buildsystem}/share/netsurf-buildsystem"
   ];
 
-  meta = with lib; {
-    homepage = "https://www.netsurf-browser.org/projects/${libname}/";
+  meta = {
+    homepage = "https://www.netsurf-browser.org/projects/libparserutils/";
     description = "Parser building library for netsurf browser";
-    license = licenses.mit;
-    maintainers = [ maintainers.vrthra maintainers.AndersonTorres ];
-    platforms = platforms.linux;
+    license = lib.licenses.mit;
+    inherit (buildsystem.meta) maintainers platforms;
   };
-}
+})
diff --git a/pkgs/applications/networking/browsers/netsurf/libsvgtiny.nix b/pkgs/applications/networking/browsers/netsurf/libsvgtiny.nix
index 1439978843362..19b523ce50ffd 100644
--- a/pkgs/applications/networking/browsers/netsurf/libsvgtiny.nix
+++ b/pkgs/applications/networking/browsers/netsurf/libsvgtiny.nix
@@ -1,4 +1,8 @@
-{ lib, stdenv, fetchurl, pkg-config, gperf
+{ lib
+, stdenv
+, fetchurl
+, gperf
+, pkg-config
 , buildsystem
 , libdom
 , libhubbub
@@ -6,34 +10,37 @@
 , libwapcaplet
 }:
 
-stdenv.mkDerivation rec {
-  pname = "netsurf-${libname}";
-  libname = "libsvgtiny";
+stdenv.mkDerivation (finalAttrs: {
+  pname = "netsurf-libsvgtiny";
   version = "0.1.7";
 
   src = fetchurl {
-    url = "http://download.netsurf-browser.org/libs/releases/${libname}-${version}-src.tar.gz";
-    sha256 = "sha256-LA3PlS8c2ILD6VQB75RZ8W27U8XT5FEjObL563add4E=";
+    url = "http://download.netsurf-browser.org/libs/releases/libsvgtiny-${finalAttrs.version}-src.tar.gz";
+    hash = "sha256-LA3PlS8c2ILD6VQB75RZ8W27U8XT5FEjObL563add4E=";
   };
 
-  nativeBuildInputs = [ pkg-config gperf ];
+  nativeBuildInputs = [
+    gperf
+    pkg-config
+  ];
+
   buildInputs = [
+    buildsystem
     libdom
     libhubbub
     libparserutils
     libwapcaplet
-    buildsystem ];
+  ];
 
   makeFlags = [
     "PREFIX=$(out)"
     "NSSHARED=${buildsystem}/share/netsurf-buildsystem"
   ];
 
-  meta = with lib; {
-    homepage = "https://www.netsurf-browser.org/projects/${libname}/";
+  meta = {
+    homepage = "https://www.netsurf-browser.org/projects/libsvgtiny/";
     description = "NetSurf SVG decoder";
-    license = licenses.mit;
-    maintainers = [ maintainers.samueldr maintainers.AndersonTorres ];
-    platforms = platforms.linux;
+    license = lib.licenses.mit;
+    inherit (buildsystem.meta) maintainers platforms;
   };
-}
+})
diff --git a/pkgs/applications/networking/browsers/netsurf/libutf8proc.nix b/pkgs/applications/networking/browsers/netsurf/libutf8proc.nix
index 47b53b4781b56..adbd138b2260f 100644
--- a/pkgs/applications/networking/browsers/netsurf/libutf8proc.nix
+++ b/pkgs/applications/networking/browsers/netsurf/libutf8proc.nix
@@ -5,13 +5,12 @@
 , buildsystem
 }:
 
-stdenv.mkDerivation rec {
-  pname = "netsurf-${libname}";
-  libname = "libutf8proc";
+stdenv.mkDerivation (finalAttrs: {
+  pname = "netsurf-libutf8proc";
   version = "2.4.0-1";
 
   src = fetchurl {
-    url = "http://download.netsurf-browser.org/libs/releases/${libname}-${version}-src.tar.gz";
+    url = "http://download.netsurf-browser.org/libs/releases/libutf8proc-${finalAttrs.version}-src.tar.gz";
     hash = "sha256-AasdaYnBx3VQkNskw/ZOSflcVgrknCa+xRQrrGgCxHI=";
   };
 
@@ -24,11 +23,10 @@ stdenv.mkDerivation rec {
     "NSSHARED=${buildsystem}/share/netsurf-buildsystem"
   ];
 
-  meta = with lib; {
+  meta = {
     homepage = "https://www.netsurf-browser.org/";
     description = "UTF8 Processing library for netsurf browser";
-    license = licenses.mit;
-    maintainers = [ maintainers.vrthra maintainers.AndersonTorres ];
-    platforms = platforms.linux;
+    license = lib.licenses.mit;
+    inherit (buildsystem.meta) maintainers platforms;
   };
-}
+})
diff --git a/pkgs/applications/networking/browsers/netsurf/libwapcaplet.nix b/pkgs/applications/networking/browsers/netsurf/libwapcaplet.nix
index 6a2918fa7d950..01c1b6c67f3a9 100644
--- a/pkgs/applications/networking/browsers/netsurf/libwapcaplet.nix
+++ b/pkgs/applications/networking/browsers/netsurf/libwapcaplet.nix
@@ -1,15 +1,16 @@
-{ lib, stdenv, fetchurl
+{ lib
+, stdenv
+, fetchurl
 , buildsystem
 }:
 
-stdenv.mkDerivation rec {
-  pname = "netsurf-${libname}";
-  libname = "libwapcaplet";
+stdenv.mkDerivation (finalAttrs: {
+  pname = "netsurf-libwapcaplet";
   version = "0.4.3";
 
   src = fetchurl {
-    url = "http://download.netsurf-browser.org/libs/releases/${libname}-${version}-src.tar.gz";
-    sha256 = "sha256-myqh3W1mRfjpkrNpf9vYfwwOHaVyH6VO0ptITRMWDFw=";
+    url = "http://download.netsurf-browser.org/libs/releases/libwapcaplet-${finalAttrs.version}-src.tar.gz";
+    hash = "sha256-myqh3W1mRfjpkrNpf9vYfwwOHaVyH6VO0ptITRMWDFw=";
   };
 
   buildInputs = [ buildsystem ];
@@ -21,11 +22,10 @@ stdenv.mkDerivation rec {
 
   env.NIX_CFLAGS_COMPILE = "-Wno-error=cast-function-type";
 
-  meta = with lib; {
-    homepage = "https://www.netsurf-browser.org/projects/${libname}/";
+  meta = {
+    homepage = "https://www.netsurf-browser.org/projects/libwapcaplet/";
     description = "String internment library for netsurf browser";
-    license = licenses.mit;
-    maintainers = [ maintainers.vrthra maintainers.AndersonTorres ];
-    platforms = platforms.linux;
+    license = lib.licenses.mit;
+    inherit (buildsystem.meta) maintainers platforms;
   };
-}
+})
diff --git a/pkgs/applications/networking/browsers/netsurf/nsgenbind.nix b/pkgs/applications/networking/browsers/netsurf/nsgenbind.nix
index d08f4dbccf60a..fc2b992803807 100644
--- a/pkgs/applications/networking/browsers/netsurf/nsgenbind.nix
+++ b/pkgs/applications/networking/browsers/netsurf/nsgenbind.nix
@@ -1,30 +1,36 @@
-{ lib, stdenv, fetchurl
-, flex, bison
+{ lib
+, stdenv
+, fetchurl
+, bison
+, flex
 , buildsystem
 }:
 
-stdenv.mkDerivation rec {
-  pname = "netsurf-${libname}";
-  libname = "nsgenbind";
+stdenv.mkDerivation (finalAttrs: {
+  pname = "netsurf-nsgenbind";
   version = "0.8";
 
   src = fetchurl {
-    url = "http://download.netsurf-browser.org/libs/releases/${libname}-${version}-src.tar.gz";
-    sha256 = "sha256-TY1TrQAK2nEncjZeanPrj8XOl1hK+chlrFsmohh/HLM=";
+    url = "http://download.netsurf-browser.org/libs/releases/nsgenbind-${finalAttrs.version}-src.tar.gz";
+    hash = "sha256-TY1TrQAK2nEncjZeanPrj8XOl1hK+chlrFsmohh/HLM=";
   };
 
-  buildInputs = [ flex bison buildsystem ];
+  nativeBuildInputs = [
+    bison
+    flex
+  ];
+
+  buildInputs = [ buildsystem ];
 
   makeFlags = [
     "PREFIX=$(out)"
     "NSSHARED=${buildsystem}/share/netsurf-buildsystem"
   ];
 
-  meta = with lib; {
+  meta = {
     homepage = "https://www.netsurf-browser.org/";
     description = "Generator for JavaScript bindings for netsurf browser";
-    license = licenses.mit;
-    maintainers = [ maintainers.vrthra maintainers.AndersonTorres ];
-    platforms = platforms.linux;
+    license = lib.licenses.mit;
+    inherit (buildsystem.meta) maintainers platforms;
   };
-}
+})
diff --git a/pkgs/applications/networking/browsers/offpunk/default.nix b/pkgs/applications/networking/browsers/offpunk/default.nix
index e9f2ea4261efa..7adb6a1130f53 100644
--- a/pkgs/applications/networking/browsers/offpunk/default.nix
+++ b/pkgs/applications/networking/browsers/offpunk/default.nix
@@ -14,6 +14,7 @@
 let
   pythonDependencies = with python3Packages; [
     beautifulsoup4
+    chardet
     cryptography
     feedparser
     pillow
@@ -30,7 +31,7 @@ let
 in
 python3Packages.buildPythonPackage rec {
   pname = "offpunk";
-  version = "1.9.2";
+  version = "1.10";
   format = "flit";
 
   disabled = python3Packages.pythonOlder "3.7";
@@ -39,7 +40,7 @@ python3Packages.buildPythonPackage rec {
     owner = "~lioploum";
     repo = "offpunk";
     rev = "v${version}";
-    sha256 = "sha256-CYsuoj5/BaaboDRtcOrGzJoZDCfOLs7ROVWLVjOAnRU=";
+    hash = "sha256-+jGKPPnKZHn+l6VAwuae6kICwR7ymkYJjsM2OHQAEmU=";
   };
 
   nativeBuildInputs = [ installShellFiles ];
diff --git a/pkgs/applications/networking/clash-verge/default.nix b/pkgs/applications/networking/clash-verge/default.nix
index 7869ed9a1f75d..bbe36cb0d6615 100644
--- a/pkgs/applications/networking/clash-verge/default.nix
+++ b/pkgs/applications/networking/clash-verge/default.nix
@@ -60,5 +60,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Plus;
     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
     maintainers = with maintainers; [ zendo ];
+    mainProgram = "clash-verge";
   };
 }
diff --git a/pkgs/applications/networking/cluster/argocd/default.nix b/pkgs/applications/networking/cluster/argocd/default.nix
index 8291351f425cc..3f9a7b73f26b5 100644
--- a/pkgs/applications/networking/cluster/argocd/default.nix
+++ b/pkgs/applications/networking/cluster/argocd/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "argocd";
-  version = "2.7.8";
+  version = "2.7.9";
 
   src = fetchFromGitHub {
     owner = "argoproj";
     repo = "argo-cd";
     rev = "v${version}";
-    sha256 = "sha256-WZD/eq04PgUURdONpGvFP/wKwz4sUaoGMvrYZqJ+QqQ=";
+    sha256 = "sha256-KMoHkMHMyAaywdD/+Bg63PSoB1ORwgl1aiIirhDF0Y0=";
   };
 
   proxyVendor = true; # darwin/linux hash mismatch
diff --git a/pkgs/applications/networking/cluster/eks-node-viewer/default.nix b/pkgs/applications/networking/cluster/eks-node-viewer/default.nix
index 1347c443fb727..be01702cdc93d 100644
--- a/pkgs/applications/networking/cluster/eks-node-viewer/default.nix
+++ b/pkgs/applications/networking/cluster/eks-node-viewer/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "eks-node-viewer";
-  version = "0.4.1";
+  version = "0.4.2";
 
   src = fetchFromGitHub {
     owner = "awslabs";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-k8WCD/FirC62WSmcgM5PmTs/hZEmR9xpneyZ1orcoMI=";
+    sha256 = "sha256-zuez0ELtlphMHP/Pxu5ARnYhkmLJW/ehNrTLXSGmGL8=";
   };
 
-  vendorHash = "sha256-nUVFQruesP6a74s4UfVrd+2P2lmn1NyVrJBS2dR2QdI=";
+  vendorHash = "sha256-n2H6hiKZqujrJyojO2uQTIMLMHaX//t7328GPK6hxH0=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/applications/networking/cluster/helmfile/default.nix b/pkgs/applications/networking/cluster/helmfile/default.nix
index ad50617e9e659..7d9db57ddae15 100644
--- a/pkgs/applications/networking/cluster/helmfile/default.nix
+++ b/pkgs/applications/networking/cluster/helmfile/default.nix
@@ -8,16 +8,16 @@
 
 buildGoModule rec {
   pname = "helmfile";
-  version = "0.155.0";
+  version = "0.155.1";
 
   src = fetchFromGitHub {
     owner = "helmfile";
     repo = "helmfile";
     rev = "v${version}";
-    sha256 = "sha256-9YOgpXiZegimS81owjHW/in0NbxMTL+DQEgSBWdW7Rs=";
+    sha256 = "sha256-6y+7Jrs/sIpxJjO9Zzv2ht1RprrqcBjwyOsCnqDHxUY=";
   };
 
-  vendorHash = "sha256-ioZJr3v/8HhOEJJZpsCw5Gkbg9XvMMEOugyfRhevWBc=";
+  vendorHash = "sha256-MCx+6K3CqVfFEYgkxT1sFvy0vshpKwW07AUngEG2muk=";
 
   doCheck = false;
 
diff --git a/pkgs/applications/networking/cluster/helmsman/default.nix b/pkgs/applications/networking/cluster/helmsman/default.nix
index 9e7b1fc236a51..0e0a69496f985 100644
--- a/pkgs/applications/networking/cluster/helmsman/default.nix
+++ b/pkgs/applications/networking/cluster/helmsman/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "helmsman";
-  version = "3.16.4";
+  version = "3.17.0";
 
   src = fetchFromGitHub {
     owner = "Praqma";
     repo = "helmsman";
     rev = "v${version}";
-    sha256 = "sha256-8hv68O4U9bPjqqtVOpmY3DwfeTGEZJGVkzIyYhS14aM=";
+    sha256 = "sha256-mXc3CVKh4pFAZVppvk5TTg6s6dOA2Gv+ROLNV37DAl4=";
   };
 
-  vendorHash = "sha256-aSpv4TGp0YLdk/RYEvfYswlEWnv8sy9iflXGGCcKPHs=";
+  vendorHash = "sha256-zn8q3HpyQWNsksYbqJcgnjOxaBVUr3dIYHk+FAalNxA=";
 
   doCheck = false;
 
diff --git a/pkgs/applications/networking/cluster/istioctl/default.nix b/pkgs/applications/networking/cluster/istioctl/default.nix
index 5ce3552144991..a442142383095 100644
--- a/pkgs/applications/networking/cluster/istioctl/default.nix
+++ b/pkgs/applications/networking/cluster/istioctl/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "istioctl";
-  version = "1.18.1";
+  version = "1.18.2";
 
   src = fetchFromGitHub {
     owner = "istio";
     repo = "istio";
     rev = version;
-    sha256 = "sha256-+225LfSp9VP7J63kkbyi2Vj6UAFfb6jr+LLsFVe0ZcY=";
+    sha256 = "sha256-eSftWXwV8W/mpxZNvUUDS27z3vU36vJj/z0/Wo5qEts=";
   };
   vendorHash = "sha256-tuiQ11pcfoTOu+OVey+YmU4tTOj5C7p5bKP2ylEkUug=";
 
diff --git a/pkgs/applications/networking/cluster/k3d/default.nix b/pkgs/applications/networking/cluster/k3d/default.nix
index 473a12c4de007..7c60f7f783eef 100644
--- a/pkgs/applications/networking/cluster/k3d/default.nix
+++ b/pkgs/applications/networking/cluster/k3d/default.nix
@@ -15,15 +15,16 @@ let
 in
 buildGoModule rec {
   pname = "k3d";
-  version = "5.4.4";
+  version = "5.5.1";
 
   src = fetchFromGitHub {
     owner = "k3d-io";
     repo = "k3d";
-    rev = "v${version}";
-    sha256 = "sha256-3J25Aj/otKDCWJ+YqAsoJogU2vckZMy7fsS8XR2EMgE=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-cXUuWR5ALgCgr1bK/Qpdpo978p3PRL3/H6j1T7DKrT4=";
   };
-  vendorSha256 = null;
+
+  vendorHash = null;
 
   nativeBuildInputs = [ installShellFiles ];
 
@@ -54,6 +55,8 @@ buildGoModule rec {
     runHook postInstallCheck
   '';
 
+  env.GOWORK = "off";
+
   meta = with lib; {
     homepage = "https://github.com/k3d-io/k3d/";
     changelog = "https://github.com/k3d-io/k3d/blob/v${version}/CHANGELOG.md";
diff --git a/pkgs/applications/networking/cluster/kubecfg/default.nix b/pkgs/applications/networking/cluster/kubecfg/default.nix
index c2ddfda064185..c19344a4599c7 100644
--- a/pkgs/applications/networking/cluster/kubecfg/default.nix
+++ b/pkgs/applications/networking/cluster/kubecfg/default.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "kubecfg";
-  version = "0.31.4";
+  version = "0.32.0";
 
   src = fetchFromGitHub {
     owner = "kubecfg";
     repo = "kubecfg";
     rev = "v${version}";
-    hash = "sha256-1hjSuHGZ7NTsYLeV9Cw3wP5tUdAHRSmGlKkL54G/09U=";
+    hash = "sha256-qjXc/2QY0PukvhiudukZGhBkovQMutsLg3Juxg1mgTc=";
   };
 
-  vendorHash = "sha256-0cpb5thhTJ7LPOYSd4WSPnS9OTXU608nk8xX5bsAm5w=";
+  vendorHash = "sha256-9kVFOEMFjix2WRwGi0jWHPagzXkISucGHmd88vcBJfk=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/applications/networking/cluster/kubectl-cnpg/default.nix b/pkgs/applications/networking/cluster/kubectl-cnpg/default.nix
index 0b8edb6e8c452..8df27913dc10e 100644
--- a/pkgs/applications/networking/cluster/kubectl-cnpg/default.nix
+++ b/pkgs/applications/networking/cluster/kubectl-cnpg/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "kubectl-cnpg";
-  version = "1.20.1";
+  version = "1.20.2";
 
   src = fetchFromGitHub {
     owner = "cloudnative-pg";
     repo = "cloudnative-pg";
     rev = "v${version}";
-    sha256 = "sha256-PFibPL5jBbdGgULiqtt5tKYy3UWsldnbCN2LJpxat60=";
+    hash = "sha256-JkvaFhzazvuqRJ6ertwMQhp+H2zsjRGA23XbvLCIYg0=";
   };
 
-  vendorSha256 = "sha256-jD8p5RWbCMPmZec3fEsGa8kevTi1curBazlEDvjeuq8=";
+  vendorHash = "sha256-unOPTQeJW9rUOpZh7gTjD8IZDh4wi04oBAfDO5juJf8=";
 
   subPackages = [ "cmd/kubectl-cnpg" ];
 
diff --git a/pkgs/applications/networking/cluster/kubectl-explore/default.nix b/pkgs/applications/networking/cluster/kubectl-explore/default.nix
new file mode 100644
index 0000000000000..e19929b9e3e67
--- /dev/null
+++ b/pkgs/applications/networking/cluster/kubectl-explore/default.nix
@@ -0,0 +1,24 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "kubectl-explore";
+  version = "0.7.1";
+
+  src = fetchFromGitHub {
+    owner = "keisku";
+    repo = "kubectl-explore";
+    rev = "v${version}";
+    hash = "sha256-4WxvVsA05Mta7AcrGe26B+Up+x/gwdlCnb/PN9Ehu18=";
+  };
+
+  vendorHash = "sha256-z/bPfY9UVqOnrA9jNUtM7jg53/URAMAJQAqH9D5KVPQ=";
+  doCheck = false;
+
+  meta = with lib; {
+    description = "A better kubectl explain with the fuzzy finder";
+    homepage = "https://github.com/keisku/kubectl-explore";
+    changelog = "https://github.com/keisku/kubectl-explore/releases/tag/v${version}";
+    license = licenses.mit;
+    maintainers = [ maintainers.koralowiec ];
+  };
+}
diff --git a/pkgs/applications/networking/cluster/kubernetes-metrics-server/default.nix b/pkgs/applications/networking/cluster/kubernetes-metrics-server/default.nix
index 4ac7a163b38e0..9efefd0646670 100644
--- a/pkgs/applications/networking/cluster/kubernetes-metrics-server/default.nix
+++ b/pkgs/applications/networking/cluster/kubernetes-metrics-server/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "kubernetes-metrics-server";
-  version = "0.6.3";
+  version = "0.6.4";
 
   src = fetchFromGitHub {
     owner = "kubernetes-sigs";
     repo = "metrics-server";
     rev = "v${version}";
-    sha256 = "sha256-hPI+Wq0mZ2iu4FSDpdPdGEqgFCeUdqeK5ldJCByDE4M=";
+    sha256 = "sha256-e9iFOe2iZaKbYNUk0vuyzcGDCNxot34kRH06L5UQs4I=";
   };
 
   vendorHash = "sha256-BR9mBBH5QE3FMTNtyHfHA1ei18CIDr5Yhvg28hGbDR4=";
diff --git a/pkgs/applications/networking/cluster/kubernetes/default.nix b/pkgs/applications/networking/cluster/kubernetes/default.nix
index 944607955e007..168b988b717e2 100644
--- a/pkgs/applications/networking/cluster/kubernetes/default.nix
+++ b/pkgs/applications/networking/cluster/kubernetes/default.nix
@@ -20,13 +20,13 @@
 
 buildGoModule rec {
   pname = "kubernetes";
-  version = "1.27.3";
+  version = "1.27.4";
 
   src = fetchFromGitHub {
     owner = "kubernetes";
     repo = "kubernetes";
     rev = "v${version}";
-    hash = "sha256-g/YRwhhGjeBhbSFS/6xJbljTTMiwJHE3WRySwJlzKys=";
+    hash = "sha256-Tb+T7kJHyZPXwUcEATj3jBr9qa7Sk6b+wL8HhqFOhYM=";
   };
 
   vendorHash = null;
diff --git a/pkgs/applications/networking/cluster/kubeshark/default.nix b/pkgs/applications/networking/cluster/kubeshark/default.nix
index a4eb88147f01b..76d8a0905af3f 100644
--- a/pkgs/applications/networking/cluster/kubeshark/default.nix
+++ b/pkgs/applications/networking/cluster/kubeshark/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "kubeshark";
-  version = "41.3";
+  version = "41.6";
 
   src = fetchFromGitHub {
     owner = "kubeshark";
     repo = "kubeshark";
     rev = version;
-    sha256 = "sha256-8RAUFiQLXKYRcthkthoRLl73RKjJj6PVE6SxTvqWiiI=";
+    sha256 = "sha256-UFBht8H8iOHwMU8PM2FCb+oh7rTkN/XC3/W3EmuTp84=";
   };
 
-  vendorHash = "sha256-cINzo4G1Rn9T1HBGKOKo2boUpG2S2vnFL/uwEVXq2gU=";
+  vendorHash = "sha256-rcxnvKkc9zerfULRdU5eGRRqSDQQDNMYaLJ7oEMQghk=";
 
   ldflags = let t = "github.com/kubeshark/kubeshark"; in [
    "-s" "-w"
diff --git a/pkgs/applications/networking/cluster/kubevpn/default.nix b/pkgs/applications/networking/cluster/kubevpn/default.nix
index 0460213ba5544..9bd4747d2dcfc 100644
--- a/pkgs/applications/networking/cluster/kubevpn/default.nix
+++ b/pkgs/applications/networking/cluster/kubevpn/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "kubevpn";
-  version = "1.1.34";
+  version = "1.1.35";
 
   src = fetchFromGitHub {
     owner  = "KubeNetworks";
     repo   = "kubevpn";
     rev    = "v${version}";
-    sha256 = "sha256-P4lROZ6UxsCtMwGWIDBkXjd8v/wtD7u9LBoUUzP9Tz0=";
+    sha256 = "sha256-fY0SKluJ1SG323rV7eDdhmDSMn49aITXYyFhR2ArFTw=";
   };
 
-  vendorHash = "sha256-LihRVqVMrN45T9NLOQw/EsrEMTSLYYhWzVm+lYXtFRQ=";
+  vendorHash = "sha256-aU8/C/p/VQ3JYApgr/i5dE/nBs0QjsvXBSMnEmj/Sno=";
 
   # TODO investigate why some config tests are failing
   doCheck = false;
diff --git a/pkgs/applications/networking/cluster/kyverno/default.nix b/pkgs/applications/networking/cluster/kyverno/default.nix
index 9ec9baa83380c..e89e63fca854c 100644
--- a/pkgs/applications/networking/cluster/kyverno/default.nix
+++ b/pkgs/applications/networking/cluster/kyverno/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "kyverno";
-  version = "1.10.1";
+  version = "1.10.2";
 
   src = fetchFromGitHub {
     owner = "kyverno";
     repo = "kyverno";
     rev = "v${version}";
-    sha256 = "sha256-TmnWDCucZ4yQjl0+2hGGoopQ62h+AM1WogC5d+JUIO0=";
+    sha256 = "sha256-kk+NgupFLzbkh/jrbJj9E6H0v3QighKa7DQJoh/fZi8=";
   };
 
   ldflags = [
diff --git a/pkgs/applications/networking/cluster/minikube/default.nix b/pkgs/applications/networking/cluster/minikube/default.nix
index fc53e14a41f58..26f0cc4e1addd 100644
--- a/pkgs/applications/networking/cluster/minikube/default.nix
+++ b/pkgs/applications/networking/cluster/minikube/default.nix
@@ -12,9 +12,9 @@
 
 buildGoModule rec {
   pname = "minikube";
-  version = "1.30.1";
+  version = "1.31.1";
 
-  vendorHash = "sha256-616T47H+8FdXU37MDvAHRyM59JXurU45uz8c/TNxkkc=";
+  vendorHash = "sha256-7Wa5Ut3n+CH4LeyRKvFC2aRf2auQXfqsi54QLKWgak8=";
 
   doCheck = false;
 
@@ -22,7 +22,7 @@ buildGoModule rec {
     owner = "kubernetes";
     repo = "minikube";
     rev = "v${version}";
-    sha256 = "sha256-dw+aFckp5Q9i6bNKPetw2WlslrpKAgEzXI+aGAwDurU=";
+    sha256 = "sha256-6vCZUDH35OclO02sV+AXv8+bj4klwoZC0abotheHSoU=";
   };
 
   nativeBuildInputs = [ installShellFiles pkg-config which makeWrapper ];
diff --git a/pkgs/applications/networking/cluster/nerdctl/default.nix b/pkgs/applications/networking/cluster/nerdctl/default.nix
index c7daafc971d91..401b5b156f769 100644
--- a/pkgs/applications/networking/cluster/nerdctl/default.nix
+++ b/pkgs/applications/networking/cluster/nerdctl/default.nix
@@ -10,16 +10,16 @@
 
 buildGoModule rec {
   pname = "nerdctl";
-  version = "1.4.0";
+  version = "1.5.0";
 
   src = fetchFromGitHub {
     owner = "containerd";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-30T5HXQz57Uwgly6HcMroEC/qwynm6nB4B3uwDC2WHo=";
+    hash = "sha256-ngR+xlhTy3oxPN34+MoT9TSOI0+Epp8QG3KiiPmRUts=";
   };
 
-  vendorHash = "sha256-zsIRdPNoUrlN2FWSlHN8+8yi74CGxW6pX8TYNHtPJ3A=";
+  vendorHash = "sha256-lsD8AtbREVKFXiPsteSFA7xntRlNgOQ1y5c44vOqMa8=";
 
   nativeBuildInputs = [ makeWrapper installShellFiles ];
 
diff --git a/pkgs/applications/networking/cluster/pluto/default.nix b/pkgs/applications/networking/cluster/pluto/default.nix
index 589893a24e2f8..93986c101b6b3 100644
--- a/pkgs/applications/networking/cluster/pluto/default.nix
+++ b/pkgs/applications/networking/cluster/pluto/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "pluto";
-  version = "5.18.1";
+  version = "5.18.2";
 
   src = fetchFromGitHub {
     owner = "FairwindsOps";
     repo = "pluto";
     rev = "v${version}";
-    sha256 = "sha256-E4DPJDBa/WX5JVsWgqdEv/O/XCvHDLyaL+nSMmw6Npg=";
+    sha256 = "sha256-PouKOIyKv7mxlBZJYCBppADdkf/XD28gavozCFFcO24=";
   };
 
   vendorHash = "sha256-okqDtxSKVLlmnm5JdCKSvRZkXTsghi/L5R9TX10WWjY=";
diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.json b/pkgs/applications/networking/cluster/terraform-providers/providers.json
index f0495f0201dfe..eb45738d5acfa 100644
--- a/pkgs/applications/networking/cluster/terraform-providers/providers.json
+++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json
@@ -1,10 +1,10 @@
 {
   "aci": {
-    "hash": "sha256-MF1YeTzKmua4C6Ay9QQGjVzjYCEZtyGW2wrMQH5Un/k=",
+    "hash": "sha256-iHWb9dytaXs7ywkxi5aPetBV1YSgYC1rTMn9+EXl42U=",
     "homepage": "https://registry.terraform.io/providers/CiscoDevNet/aci",
     "owner": "CiscoDevNet",
     "repo": "terraform-provider-aci",
-    "rev": "v2.9.0",
+    "rev": "v2.10.0",
     "spdx": "MPL-2.0",
     "vendorHash": null
   },
@@ -37,20 +37,20 @@
     "vendorHash": "sha256-Fcu4RWgbVyAUr72h8q91HT+LbUh9+4SPDz8Vc4/u5RM="
   },
   "akamai": {
-    "hash": "sha256-gQZ5yH3sV5DTpSE+/bZM12+PHitmUm/TtpAdPijF+Lk=",
+    "hash": "sha256-LGgZF2/YCYpoDOSu0UeuPqK9wGXrvPQE4WUGGS0sx30=",
     "homepage": "https://registry.terraform.io/providers/akamai/akamai",
     "owner": "akamai",
     "repo": "terraform-provider-akamai",
-    "rev": "v5.0.1",
+    "rev": "v5.1.0",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-xZ0pS7XxfYGbG2kEw5FAjABDQZmektaI7OhToiFMXKk="
+    "vendorHash": "sha256-6oPftQghM0h0pgc04Rm4PD8OZ/z+dEdcsIqWPPbSgbM="
   },
   "alicloud": {
-    "hash": "sha256-w5cdAqGF9E9yDdLnMmrrZfWcp2qcfCz9NqylRUAzKOI=",
+    "hash": "sha256-0qPmUmQ+CGRyah2GXUADAt3HPietpAahQ9ze6Ip6yvE=",
     "homepage": "https://registry.terraform.io/providers/aliyun/alicloud",
     "owner": "aliyun",
     "repo": "terraform-provider-alicloud",
-    "rev": "v1.208.0",
+    "rev": "v1.208.1",
     "spdx": "MPL-2.0",
     "vendorHash": null
   },
@@ -73,11 +73,11 @@
     "vendorHash": "sha256-LSAxibOYXxyIAsprMzbW+mnUXX7gHtYjMZYaUrGLtD4="
   },
   "argocd": {
-    "hash": "sha256-pEcByit+xTBuJXCqhDOgHoc4lmCpbDptVocylcTqgz4=",
+    "hash": "sha256-t1WGa9pfsLn5uB7/LSYIcmb/kfQCHysIcUKHwn6y8GU=",
     "homepage": "https://registry.terraform.io/providers/oboukili/argocd",
     "owner": "oboukili",
     "repo": "terraform-provider-argocd",
-    "rev": "v6.0.0",
+    "rev": "v6.0.1",
     "spdx": "MPL-2.0",
     "vendorHash": "sha256-q9PO9tMbaXTs3nBLElwU05GcDZMZqNmLVVGDmiSRSfo="
   },
@@ -182,13 +182,13 @@
     "vendorHash": "sha256-/dOiXO2aPkuZaFiwv/6AXJdIADgx8T7eOwvJfBBoqg8="
   },
   "buildkite": {
-    "hash": "sha256-2nJXniJfOHuHaEEue0rugq5RRnThcFMh7MWYGE/AzmA=",
+    "hash": "sha256-3rGuE47CYbl1B+DAYUBiuGTC1sn85c5aeay+irdhTe0=",
     "homepage": "https://registry.terraform.io/providers/buildkite/buildkite",
     "owner": "buildkite",
     "repo": "terraform-provider-buildkite",
-    "rev": "v0.21.2",
+    "rev": "v0.22.0",
     "spdx": "MIT",
-    "vendorHash": "sha256-xxuF4LVDkFkHT42plP+Mv8GFdBrrZZVUm6vErjpho3I="
+    "vendorHash": "sha256-oVXrSI+DU6NgmVIPcS4He4mHVrkA2tMxFUpxMnv0bu4="
   },
   "checkly": {
     "hash": "sha256-UXIni594P85sgS8XVLoJ0+UTBeUS0XC+oj98KJUfghg=",
@@ -290,6 +290,15 @@
     "spdx": "MPL-2.0",
     "vendorHash": "sha256-foS7GyRUdhF/M8uTPf2I4WQo7qEg4Z/3FXjagoeSRkU="
   },
+  "dexidp": {
+    "hash": "sha256-+Nt4bX6+4VB+mtJbsP166RObFbXaNyFrF+80x2/pRco=",
+    "homepage": "https://registry.terraform.io/providers/marcofranssen/dexidp",
+    "owner": "marcofranssen",
+    "repo": "terraform-provider-dexidp",
+    "rev": "v0.2.1",
+    "spdx": "MIT",
+    "vendorHash": "sha256-L8baV03p0V/xKi1O3YQxvoJXgP21qNhzznyvwrauVqI="
+  },
   "dhall": {
     "hash": "sha256-K0j90YAzYqdyJD4aofyxAJF9QBYNMbhSVm/s1GvWuJ4=",
     "homepage": "https://registry.terraform.io/providers/awakesecurity/dhall",
@@ -390,11 +399,11 @@
     "vendorHash": null
   },
   "flexibleengine": {
-    "hash": "sha256-Y7rplfN7acrDWNO9Q4K3WaM5reFxi5ms012+wTm+EF0=",
+    "hash": "sha256-9qwGI7JBhX2WDX7u3SY2l9RJeiDffEpkE16f8/qqlI8=",
     "homepage": "https://registry.terraform.io/providers/FlexibleEngineCloud/flexibleengine",
     "owner": "FlexibleEngineCloud",
     "repo": "terraform-provider-flexibleengine",
-    "rev": "v1.39.0",
+    "rev": "v1.40.0",
     "spdx": "MPL-2.0",
     "vendorHash": "sha256-RqYzqKPzb5GcrzHnEDZC7GaBt1zP8g28Wo3WNAe07Ck="
   },
@@ -445,24 +454,24 @@
     "vendorHash": "sha256-AVTWTS16d8QsPLLAJeAfgcVDzUBMp+b2oAphaCBqhS0="
   },
   "google": {
-    "hash": "sha256-kQF9ed2q5Wc/LTbFtzSKgcvJPZa18O6ybuT8dzLFdzc=",
+    "hash": "sha256-6VLZW6RlBW7D4GS/JTvlpIcF3AhIEKbNFOqsQI58HyE=",
     "homepage": "https://registry.terraform.io/providers/hashicorp/google",
     "owner": "hashicorp",
     "proxyVendor": true,
     "repo": "terraform-provider-google",
-    "rev": "v4.75.1",
+    "rev": "v4.76.0",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-2znSaprsw+uroTmLwh5+NXdgnUlkFXu4KbNLHgnGt2s="
+    "vendorHash": "sha256-rlNYh42Cw2wMF/9aI8QM0x8t2jdz+V9u4uJvS6A4zx8="
   },
   "google-beta": {
-    "hash": "sha256-8Zt7q6OqtXGBk+wMBuBYZkfckFC3Gk/m+24Y8eelflw=",
+    "hash": "sha256-ecmCr1AHpyYDmt1ofjFgJjirsNhpcdLggp9EXz3hT5E=",
     "homepage": "https://registry.terraform.io/providers/hashicorp/google-beta",
     "owner": "hashicorp",
     "proxyVendor": true,
     "repo": "terraform-provider-google-beta",
-    "rev": "v4.75.1",
+    "rev": "v4.76.0",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-2znSaprsw+uroTmLwh5+NXdgnUlkFXu4KbNLHgnGt2s="
+    "vendorHash": "sha256-rlNYh42Cw2wMF/9aI8QM0x8t2jdz+V9u4uJvS6A4zx8="
   },
   "googleworkspace": {
     "hash": "sha256-dedYnsKHizxJZibuvJOMbJoux0W6zgKaK5fxIofKqCY=",
@@ -474,13 +483,13 @@
     "vendorHash": "sha256-fqVBnAivVekV+4tpkl+E6eNA3wi8mhLevJRCs3W7L2g="
   },
   "grafana": {
-    "hash": "sha256-I0qfG916mbYYwjKmlUmCD2iG0CuJxTFOFdVS6VyEfHM=",
+    "hash": "sha256-pgyyOLkMu7W4llDb4oY72ujZ26SiQqvufVGWVv7y3Sk=",
     "homepage": "https://registry.terraform.io/providers/grafana/grafana",
     "owner": "grafana",
     "repo": "terraform-provider-grafana",
-    "rev": "v2.1.0",
+    "rev": "v2.2.0",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-gY15FJb1svy2AxXs6ZOmZX5o3oXIokzf5hXlFlx1cXU="
+    "vendorHash": "sha256-+I0nCbe/OK+9ax8PzLw+PCBHrNDTm96J1GITiNCQEfc="
   },
   "gridscale": {
     "hash": "sha256-Xs3eWLwsHFTvuH0rUroB6lkzusjUiH3ajt6ila9v/9M=",
@@ -547,11 +556,11 @@
     "vendorHash": "sha256-hxT9mpKifb63wlCUeUzgVo4UB2TnYZy9lXF4fmGYpc4="
   },
   "huaweicloud": {
-    "hash": "sha256-1cXPpJgvNegfx/mziyZozmEyiSlGRVuGHFdLCWozjsc=",
+    "hash": "sha256-Uon1nXtoILFOQp9DsOubi31v6WJqWBa3zDZKHJdboHY=",
     "homepage": "https://registry.terraform.io/providers/huaweicloud/huaweicloud",
     "owner": "huaweicloud",
     "repo": "terraform-provider-huaweicloud",
-    "rev": "v1.52.1",
+    "rev": "v1.53.0",
     "spdx": "MPL-2.0",
     "vendorHash": null
   },
@@ -736,11 +745,11 @@
     "vendorHash": "sha256-QxbZv6YMa5/I4bTeQBNdmG3EKtLEmstnH7HMiZzFJrI="
   },
   "minio": {
-    "hash": "sha256-B/3hT/R5tdbJ8IYScCLSklDD8aRnmSgX48DeM3DGGOw=",
+    "hash": "sha256-BsOSImEMgxjldAQ014M25Y/JuxxaJLRdOOOHNAtm/Bg=",
     "homepage": "https://registry.terraform.io/providers/aminueza/minio",
     "owner": "aminueza",
     "repo": "terraform-provider-minio",
-    "rev": "v1.17.0",
+    "rev": "v1.17.1",
     "spdx": "Apache-2.0",
     "vendorHash": "sha256-Pr5YNDMVNccjQRC5WXUY+0pMTMbuxKqkqtd/Z/z0cXc="
   },
@@ -818,11 +827,11 @@
     "vendorHash": "sha256-LRIfxQGwG988HE5fftGl6JmBG7tTknvmgpm4Fu1NbWI="
   },
   "oci": {
-    "hash": "sha256-GH8y9NkoNydzEpwl6wxmHIpaq6IfRv8cOz/NidiT488=",
+    "hash": "sha256-PLlgHUIQWxBCBmTRuQ6RSLuqkilqUb4svmklbSoYEtA=",
     "homepage": "https://registry.terraform.io/providers/oracle/oci",
     "owner": "oracle",
     "repo": "terraform-provider-oci",
-    "rev": "v5.6.0",
+    "rev": "v5.7.0",
     "spdx": "MPL-2.0",
     "vendorHash": null
   },
@@ -845,11 +854,11 @@
     "vendorHash": null
   },
   "opennebula": {
-    "hash": "sha256-bWmSXlNgPOhzNFodYAzLE1theDntCks3ywtruRbCcYc=",
+    "hash": "sha256-0XeGaHyN+u5QEU9RUr51FVi13HNmjBN6mnFwfilPw5s=",
     "homepage": "https://registry.terraform.io/providers/OpenNebula/opennebula",
     "owner": "OpenNebula",
     "repo": "terraform-provider-opennebula",
-    "rev": "v1.2.2",
+    "rev": "v1.3.0",
     "spdx": "MPL-2.0",
     "vendorHash": "sha256-W7UGOtyFsIMXPqFDnde2XlzU7klR7Fs00mSuJ9ID20A="
   },
@@ -971,13 +980,13 @@
     "vendorHash": null
   },
   "scaleway": {
-    "hash": "sha256-NFBDqRVlSzEHTptAWg3OnK5zYm6JnvuzZnfh8mTtl2Q=",
+    "hash": "sha256-xllc6uQN0Pjak/8eFNWCn639Kpf2UQPoDUPnX9YhoOc=",
     "homepage": "https://registry.terraform.io/providers/scaleway/scaleway",
     "owner": "scaleway",
     "repo": "terraform-provider-scaleway",
-    "rev": "v2.25.1",
+    "rev": "v2.26.0",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-rgM+TkygUIUXbw+QNsZOr003A/42iC52Zybw2zBJ15U="
+    "vendorHash": "sha256-39MrDm4v7UIYDK/KNt9ES0SstkxEQ73CHvnxpZq1K5g="
   },
   "secret": {
     "hash": "sha256-MmAnA/4SAPqLY/gYcJSTnEttQTsDd2kEdkQjQj6Bb+A=",
@@ -1016,11 +1025,11 @@
     "vendorHash": "sha256-MIO0VHofPtKPtynbvjvEukMNr5NXHgk7BqwIhbc9+u0="
   },
   "signalfx": {
-    "hash": "sha256-ez9mmgzurLPBya6eJW2iWNtiTt8yg63Yavf6xiplZ9w=",
+    "hash": "sha256-zIXlrb/2g/N/slOfvyLmNG2keGXKTes0rHXJmZLV0Sg=",
     "homepage": "https://registry.terraform.io/providers/splunk-terraform/signalfx",
     "owner": "splunk-terraform",
     "repo": "terraform-provider-signalfx",
-    "rev": "v8.0.0",
+    "rev": "v8.1.0",
     "spdx": "MPL-2.0",
     "vendorHash": "sha256-PQU4VC5wHcB70UkZaRT8jtz+qOAONU2SxtRrTmml9vY="
   },
@@ -1034,11 +1043,11 @@
     "vendorHash": null
   },
   "snowflake": {
-    "hash": "sha256-YsLF1bPYzn5cZlCqaCRKpSIXx0ha4imxIpC1Cm48o7A=",
+    "hash": "sha256-gz41dRmJQm4cH7VhrEznir7IRA9+hGMjYzsOyQtNuG0=",
     "homepage": "https://registry.terraform.io/providers/Snowflake-Labs/snowflake",
     "owner": "Snowflake-Labs",
     "repo": "terraform-provider-snowflake",
-    "rev": "v0.68.2",
+    "rev": "v0.69.0",
     "spdx": "MIT",
     "vendorHash": "sha256-ZNkZ2GMSBZHz+L626VqT7pTeb8fSYkaCi84O5ggd1FM="
   },
@@ -1052,13 +1061,13 @@
     "vendorHash": "sha256-NO1r/EWLgH1Gogru+qPeZ4sW7FuDENxzNnpLSKstnE8="
   },
   "spotinst": {
-    "hash": "sha256-rxcpu3aQ5Ab6LmvQ4InN6/CNM1+44Z2Wmptg0Q9Kj2I=",
+    "hash": "sha256-8Pwy/jSzPWGXRCY+MszDPpbPWL6FFleoiu4VtSle0Kg=",
     "homepage": "https://registry.terraform.io/providers/spotinst/spotinst",
     "owner": "spotinst",
     "repo": "terraform-provider-spotinst",
-    "rev": "v1.130.0",
+    "rev": "v1.131.0",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-0rWVOVRndC/Y0gSfJoqd65rvBqUnNQb47S6RiBw7q+4="
+    "vendorHash": "sha256-NN4mnXzt1GJYGC0HBvYQBBZKENXfvVq7cTbE4XSPwto="
   },
   "stackpath": {
     "hash": "sha256-7KQUddq+M35WYyAIAL8sxBjAaXFcsczBRO1R5HURUZg=",
@@ -1106,11 +1115,11 @@
     "vendorHash": "sha256-GNSKSlaFBj2P+z40U+0uwPSOuQBy+9vOVFfPe8p0A24="
   },
   "tencentcloud": {
-    "hash": "sha256-z2M3r3MNObSR2flqqldmZvTCiPJ6l+vr05a9Ks34t6U=",
+    "hash": "sha256-Pk+x9/acer3YWBEMZYZWar8oDTFLPc0QydgAHrJZBNI=",
     "homepage": "https://registry.terraform.io/providers/tencentcloudstack/tencentcloud",
     "owner": "tencentcloudstack",
     "repo": "terraform-provider-tencentcloud",
-    "rev": "v1.81.17",
+    "rev": "v1.81.18",
     "spdx": "MPL-2.0",
     "vendorHash": null
   },
@@ -1188,12 +1197,12 @@
     "vendorHash": "sha256-ZOJ4J+t8YIWAFZe9dnVHezdXdjz5y2ho53wmyS4dJEo="
   },
   "vault": {
-    "hash": "sha256-XwM+WDfeWKwSz9pboaf5JfP2PrXevaRUw/YRnw8XXGw=",
+    "hash": "sha256-lnM52d7J36wu9MYh13IFSR15rMfJpXP4tw47LzRy4o4=",
     "homepage": "https://registry.terraform.io/providers/hashicorp/vault",
     "owner": "hashicorp",
     "proxyVendor": true,
     "repo": "terraform-provider-vault",
-    "rev": "v3.18.0",
+    "rev": "v3.19.0",
     "spdx": "MPL-2.0",
     "vendorHash": "sha256-xd2tsJ5k/8PCSegHqeyJ1ePFBS0ho8SD+4m4QyFMTL0="
   },
@@ -1252,21 +1261,21 @@
     "vendorHash": null
   },
   "wavefront": {
-    "hash": "sha256-CNKXL02XRbgBIJa2JsusrgYoe0BacE9pnYwH+6Nmj84=",
+    "hash": "sha256-DF9Q1cwzzLlF8+oJFF5HkOD0lfQhxsnIepl/fMCljcs=",
     "homepage": "https://registry.terraform.io/providers/vmware/wavefront",
     "owner": "vmware",
     "repo": "terraform-provider-wavefront",
-    "rev": "v4.0.0",
+    "rev": "v4.2.0",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-KrYtKeQsa2ApSt4QA2yxgWJHq8LpuAR+DYNB4tIsTZI="
+    "vendorHash": "sha256-77pijBYzCQoaZgMRNRwZEAJVM51EMGezXXcrfn9ae1Q="
   },
   "yandex": {
-    "hash": "sha256-03lZMLD2Iq9o9ijvMD7JNnaGNdn5OpB/s3509YdYRfQ=",
+    "hash": "sha256-bG8cBOkwsVew5qmaFXdq7yc2j8JNfY9qwnQ7IJGUZvM=",
     "homepage": "https://registry.terraform.io/providers/yandex-cloud/yandex",
     "owner": "yandex-cloud",
     "repo": "terraform-provider-yandex",
-    "rev": "v0.95.0",
+    "rev": "v0.96.1",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-IdRgtPUAYYR55MiT/2wqGzYhuMfThUmhnGGYoPQlHW0="
+    "vendorHash": "sha256-Ni422dybGvn5yzu85FbBdvG0zL7+rSpJWr8+HE1MSeg="
   }
 }
diff --git a/pkgs/applications/networking/cluster/tilt/default.nix b/pkgs/applications/networking/cluster/tilt/default.nix
index 12105f0b5963f..caf224ccc6c11 100644
--- a/pkgs/applications/networking/cluster/tilt/default.nix
+++ b/pkgs/applications/networking/cluster/tilt/default.nix
@@ -1,28 +1,32 @@
-{ stdenv, lib, buildGoModule, fetchFromGitHub }:
+{ lib
+, buildGoModule
+, fetchFromGitHub
+}:
 
 buildGoModule rec {
   pname = "tilt";
   /* Do not use "dev" as a version. If you do, Tilt will consider itself
     running in development environment and try to serve assets from the
     source tree, which is not there once build completes.  */
-  version = "0.33.1";
+  version = "0.33.3";
 
   src = fetchFromGitHub {
-    owner  = "tilt-dev";
-    repo   = pname;
-    rev    = "v${version}";
-    sha256 = "sha256-3CRE+gpifV3MHyKdiiHmGwGre0ne3IjheYH0r6NMKY8=";
+    owner = "tilt-dev";
+    repo = "tilt";
+    rev = "v${version}";
+    hash = "sha256-TNZE335tH50E96yJzD26U+JbVxjU746Wa/8YDGHFeto=";
   };
+
   vendorHash = null;
 
   subPackages = [ "cmd/tilt" ];
 
   ldflags = [ "-X main.version=${version}" ];
 
-  meta = with lib; {
+  meta = {
     description = "Local development tool to manage your developer instance when your team deploys to Kubernetes in production";
     homepage = "https://tilt.dev/";
-    license = licenses.asl20;
-    maintainers = with maintainers; [ anton-dessiatov ];
+    license = lib.licenses.asl20;
+    maintainers = with lib.maintainers; [ anton-dessiatov ];
   };
 }
diff --git a/pkgs/applications/networking/cluster/velero/default.nix b/pkgs/applications/networking/cluster/velero/default.nix
index 3690464cebbe5..9092dfb307398 100644
--- a/pkgs/applications/networking/cluster/velero/default.nix
+++ b/pkgs/applications/networking/cluster/velero/default.nix
@@ -2,14 +2,14 @@
 
 buildGoModule rec {
   pname = "velero";
-  version = "1.11.0";
+  version = "1.11.1";
 
 
   src = fetchFromGitHub {
     owner = "vmware-tanzu";
     repo = "velero";
     rev = "v${version}";
-    sha256 = "sha256-vrRVNVcNahTC+HSHr7Bw3WedNhe+SSX03P65C5xiUnw=";
+    sha256 = "sha256-G1+zdzHj8fDKVEVQpBEH3o/em+gxCyQmrpSXj8bE/P4=";
   };
 
   ldflags = [
diff --git a/pkgs/applications/networking/cluster/weave-gitops/default.nix b/pkgs/applications/networking/cluster/weave-gitops/default.nix
index 48035e203fd49..b9e5e023fe815 100644
--- a/pkgs/applications/networking/cluster/weave-gitops/default.nix
+++ b/pkgs/applications/networking/cluster/weave-gitops/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "weave-gitops";
-  version = "0.27.0";
+  version = "0.28.0";
 
   src = fetchFromGitHub {
     owner = "weaveworks";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-q19oKawv7hLHMaPAIIdGLl+4N+HiXuIow8f3k9bTt3A=";
+    sha256 = "sha256-chL88vWUMN4kcuh8g2ckWOqYAs9JwE0vnm69zLd5KIM=";
   };
 
   ldflags = [ "-s" "-w" "-X github.com/weaveworks/weave-gitops/cmd/gitops/version.Version=${version}" ];
diff --git a/pkgs/applications/networking/cluster/werf/default.nix b/pkgs/applications/networking/cluster/werf/default.nix
index 63811d27b7eb5..11165cbc8fb6d 100644
--- a/pkgs/applications/networking/cluster/werf/default.nix
+++ b/pkgs/applications/networking/cluster/werf/default.nix
@@ -10,16 +10,16 @@
 
 buildGoModule rec {
   pname = "werf";
-  version = "1.2.242";
+  version = "1.2.248";
 
   src = fetchFromGitHub {
     owner = "werf";
     repo = "werf";
     rev = "v${version}";
-    hash = "sha256-cYEhqoCkJtBRQuQDViA+x5Ow5bUB5Y2lZZf18cm5ig8=";
+    hash = "sha256-z8XuMByI6B49XCgsZWVjErzcmthCCnpE6LdIfHEpxyA=";
   };
 
-  vendorHash = "sha256-tNTjPIVfviUZ4ONDyQI3M+DIzZvvPbBPdVu0Du+PIdg=";
+  vendorHash = "sha256-mt/2Pc1xF6seMZiSxQFQ6bfUxpQCgG3WkjZd0utWbiw=";
 
   proxyVendor = true;
 
diff --git a/pkgs/applications/networking/deck/default.nix b/pkgs/applications/networking/deck/default.nix
index 1edf5138687ee..fb4f102de0442 100644
--- a/pkgs/applications/networking/deck/default.nix
+++ b/pkgs/applications/networking/deck/default.nix
@@ -1,15 +1,15 @@
 { buildGoModule, lib, installShellFiles, fetchFromGitHub }:
 let
-  short_hash = "69aa892";
+  short_hash = "86497a5";
 in buildGoModule rec {
   pname = "deck";
-  version = "1.23.0";
+  version = "1.25.0";
 
   src = fetchFromGitHub {
     owner = "Kong";
     repo = "deck";
     rev = "v${version}";
-    hash = "sha256-PrpiZBGNb8tWt2RiZ4iHKibN+2EQRm1/tBbDLng/lkA=";
+    hash = "sha256-dmzxCgZ0HLT9he8jS7lMtSFg5vbEbs8q368vE3lafhQ=";
   };
 
   nativeBuildInputs = [ installShellFiles ];
@@ -21,7 +21,7 @@ in buildGoModule rec {
     "-X github.com/kong/deck/cmd.COMMIT=${short_hash}"
   ];
 
-  vendorHash = "sha256-brd+gtIHIarMv3l6O6JMDPRFlMwKSLZjBABAvByUC6o=";
+  vendorHash = "sha256-ucwJQSZSBvSJzNQYLeNyCnZETmrNgVPFLjjkr1zP6b4=";
 
   postInstall = ''
     installShellCompletion --cmd deck \
diff --git a/pkgs/applications/networking/flexget/default.nix b/pkgs/applications/networking/flexget/default.nix
index 73c068d5c56c2..05f936d46f069 100644
--- a/pkgs/applications/networking/flexget/default.nix
+++ b/pkgs/applications/networking/flexget/default.nix
@@ -6,7 +6,7 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "flexget";
-  version = "3.7.11";
+  version = "3.8.0";
   format = "pyproject";
 
   # Fetch from GitHub in order to use `requirements.in`
@@ -14,7 +14,7 @@ python3.pkgs.buildPythonApplication rec {
     owner = "Flexget";
     repo = "Flexget";
     rev = "refs/tags/v${version}";
-    hash = "sha256-rrxY5liF4IzuaZ3kjJ2zEUzK1p7jGbS/T/bM1HQGzbA=";
+    hash = "sha256-sAA01/Hs8yGFJM+ttwhonrBqTpGsEoWrYDU8w/YmE6A=";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/networking/freefilesync/default.nix b/pkgs/applications/networking/freefilesync/default.nix
index 8ce157c6d5730..63c674c1a0cea 100644
--- a/pkgs/applications/networking/freefilesync/default.nix
+++ b/pkgs/applications/networking/freefilesync/default.nix
@@ -17,11 +17,16 @@
 
 stdenv.mkDerivation rec {
   pname = "freefilesync";
-  version = "12.4";
+  version = "12.5";
 
   src = fetchurl {
     url = "https://freefilesync.org/download/FreeFileSync_${version}_Source.zip";
-    hash = "sha256-rH1xp0/ggWWyUPcksY2GhYtUddTGrEDxdL/uODurvDo=";
+    # The URL only redirects to the file on the second attempt
+    postFetch = ''
+      rm -f $out
+      tryDownload "$url"
+    '';
+    hash = "sha256-KTN/HbNLP/+z5rryp3wDRo6c7l03vi6tUxCXZPMGUoM=";
   };
 
   sourceRoot = ".";
@@ -31,8 +36,12 @@ stdenv.mkDerivation rec {
     # Disable loading of the missing Animal.dat
     (fetchpatch {
       url = "https://sources.debian.org/data/main/f/freefilesync/12.0-2/debian/patches/ffs_devuan.patch";
+      postFetch = ''
+        substituteInPlace $out \
+          --replace "-std=c++2b" "-std=c++23"
+      '';
       excludes = [ "FreeFileSync/Source/ffs_paths.cpp" ];
-      hash = "sha256-6pHr5txabMTpGMKP7I5oe1lGAmgb0cPW8ZkPv/WXN74=";
+      hash = "sha256-CtUC94AoYTxoqSMWZrzuO3jTD46rj11JnbNyXtWckCo=";
     })
     # Fix build with GTK 3
     (fetchpatch {
diff --git a/pkgs/applications/networking/ids/suricata/default.nix b/pkgs/applications/networking/ids/suricata/default.nix
index b5427384e9286..9c0a5ea086f8f 100644
--- a/pkgs/applications/networking/ids/suricata/default.nix
+++ b/pkgs/applications/networking/ids/suricata/default.nix
@@ -22,8 +22,7 @@
 , luajit
 , lz4
 , nspr
-, nss
-, pcre
+, pcre2
 , python
 , zlib
 , redisSupport ? true, redis, hiredis
@@ -34,11 +33,11 @@
 in
 stdenv.mkDerivation rec {
   pname = "suricata";
-  version = "6.0.13";
+  version = "7.0.0";
 
   src = fetchurl {
     url = "https://www.openinfosecfoundation.org/download/${pname}-${version}.tar.gz";
-    hash = "sha256-4J8vgA0ODNL5fyHFBZUMzD27nOXP6AjflWe22EmjEFU=";
+    hash = "sha256-e80TExGDZkUUZdw/g4Wj9qrdCE/+RN0lfdqBBYY7t2k=";
   };
 
   nativeBuildInputs = [
@@ -67,8 +66,7 @@ stdenv.mkDerivation rec {
     luajit
     lz4
     nspr
-    nss
-    pcre
+    pcre2
     python
     zlib
   ]
@@ -101,7 +99,6 @@ stdenv.mkDerivation rec {
     "--enable-nflog"
     "--enable-nfqueue"
     "--enable-pie"
-    "--disable-prelude"
     "--enable-python"
     "--enable-unix-socket"
     "--localstatedir=/var"
diff --git a/pkgs/applications/networking/instant-messengers/armcord/default.nix b/pkgs/applications/networking/instant-messengers/armcord/default.nix
index e0d2cd3e0b7df..f6fd6553c7f3d 100644
--- a/pkgs/applications/networking/instant-messengers/armcord/default.nix
+++ b/pkgs/applications/networking/instant-messengers/armcord/default.nix
@@ -39,7 +39,7 @@
 
 stdenv.mkDerivation rec {
   pname = "armcord";
-  version = "3.2.0";
+  version = "3.2.1";
 
   src =
     let
@@ -48,11 +48,11 @@ stdenv.mkDerivation rec {
       {
         x86_64-linux = fetchurl {
           url = "${base}/v${version}/ArmCord_${version}_amd64.deb";
-          sha256 = "sha256-7lT69fU7tGujhbDTX0tYpkEquoswMCZOGAUhk2Nr+C0=";
+          sha256 = "1cfbypn9kh566s09c1bvxswpc0r11pmsvxlh4dixd5s622ia3h7r";
         };
         aarch64-linux = fetchurl {
           url = "${base}/v${version}/ArmCord_${version}_arm64.deb";
-          sha256 = "sha256-a5qLK8WjrlmKF24U9SiEpY+SNWuHf6gHJBym5IM8HZ4=";
+          sha256 = "0mb6az0mzjz2zal7igigjcigg3phn2ijfw04igpl7q2rg6ha3z00";
         };
       }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
 
diff --git a/pkgs/applications/networking/instant-messengers/discord/linux.nix b/pkgs/applications/networking/instant-messengers/discord/linux.nix
index 236ceaa0a78db..ce94764ed9b1b 100644
--- a/pkgs/applications/networking/instant-messengers/discord/linux.nix
+++ b/pkgs/applications/networking/instant-messengers/discord/linux.nix
@@ -18,6 +18,7 @@ let
     {
       pythonInterpreter = "${python3.interpreter}";
       configDirName = lib.toLower binaryName;
+      meta.mainProgram = "disable-breaking-updates.py";
     } ''
     mkdir -p $out/bin
     cp ${./disable-breaking-updates.py} $out/bin/disable-breaking-updates.py
diff --git a/pkgs/applications/networking/instant-messengers/element/pin.nix b/pkgs/applications/networking/instant-messengers/element/pin.nix
index d32b72557181c..834bcb923565c 100644
--- a/pkgs/applications/networking/instant-messengers/element/pin.nix
+++ b/pkgs/applications/networking/instant-messengers/element/pin.nix
@@ -1,9 +1,9 @@
 {
-  "version" = "1.11.36";
+  "version" = "1.11.37";
   "hashes" = {
-    "desktopSrcHash" = "sha256-MMTuyyUXur5Fy24aXPWtZbQLAaXR2R7coEi8ZOJo1YI=";
-    "desktopYarnHash" = "03wmdqnxzjrvdypwrb5z564liiqamwn6qmw2fww1mja8dkdkx5ng";
-    "webSrcHash" = "sha256-u+Y/iLRlTd5RkczF6qIaer9HKFnm8LUGP8ZnB/WfiGI=";
-    "webYarnHash" = "0s9ly1hr9jvb2asgjf6g5n5n5w6qh51wkwyl7ps891c0hv9m28zm";
+    "desktopSrcHash" = "sha256-6YiMAmOb0lSaLDE/ohVpZFbl4J1NxS9xNFFcebVW9MA=";
+    "desktopYarnHash" = "1ksj99g649kvilr850rkk8nkl55z7vz7m8159777kjikakzra2ly";
+    "webSrcHash" = "sha256-zFRoL/bnic6Waaiz7Vfama4qzlYKk0TTr5zPK6PNSpM=";
+    "webYarnHash" = "1lpd9mmg51jnhdr2zfisxdpc4i64kn4bpzkxqzip7dnn9iz432kw";
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/fluffychat/default.nix b/pkgs/applications/networking/instant-messengers/fluffychat/default.nix
index 09d2af372a281..f58f62a7ae17e 100644
--- a/pkgs/applications/networking/instant-messengers/fluffychat/default.nix
+++ b/pkgs/applications/networking/instant-messengers/fluffychat/default.nix
@@ -7,8 +7,8 @@
 }:
 
 flutter.buildFlutterApplication rec {
+  pname = "fluffychat";
   version = "1.12.1";
-  name = "fluffychat";
 
   src = fetchFromGitLab {
     owner = "famedly";
diff --git a/pkgs/applications/networking/instant-messengers/jami/default.nix b/pkgs/applications/networking/instant-messengers/jami/default.nix
index 5a002b6be9f38..1b0185447ac03 100644
--- a/pkgs/applications/networking/instant-messengers/jami/default.nix
+++ b/pkgs/applications/networking/instant-messengers/jami/default.nix
@@ -2,6 +2,7 @@
 , lib
 , pkg-config
 , fetchFromGitLab
+, fetchpatch
 , gitUpdater
 , ffmpeg_6
 
@@ -90,7 +91,15 @@ stdenv.mkDerivation rec {
         hash = "sha256-QeD2o6uz9r5vc3Scs1oRKYZ+aNH+01TSxLBj71ssfj4=";
       };
 
-      patches = (map (x: patch-src + x) (readLinesToList ./config/pjsip_patches));
+      patches = (map (x: patch-src + x) (readLinesToList ./config/pjsip_patches)) ++ [
+        (fetchpatch {
+          name = "CVE-2023-27585.patch";
+          url = "https://github.com/pjsip/pjproject/commit/d1c5e4da5bae7f220bc30719888bb389c905c0c5.patch";
+          hash = "sha256-+yyKKTKG2FnfyLWnc4S80vYtDzmiu9yRmuqb5eIulPg=";
+        })
+      ];
+
+      patchFlags = [ "-p1" "-l" ];
 
       configureFlags = (readLinesToList ./config/pjsip_args_common)
         ++ lib.optionals stdenv.isLinux (readLinesToList ./config/pjsip_args_linux);
diff --git a/pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix b/pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix
index 2381b8d3e233e..49035e9bd55b7 100644
--- a/pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix
+++ b/pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix
@@ -2,13 +2,13 @@
 
 (if stdenv.isDarwin then darwin.apple_sdk_11_0.llvmPackages_14.stdenv else stdenv).mkDerivation rec {
   pname = "signalbackup-tools";
-  version = "20230723-1";
+  version = "20230730";
 
   src = fetchFromGitHub {
     owner = "bepaald";
     repo = pname;
     rev = version;
-    hash = "sha256-EHwQHFKahjpP8OOIY0ZRpkmYZYiDNteeMLkRwJIEp7g=";
+    hash = "sha256-5gXeAX3eV70p5wdQEMXv5QAv3vXH2OH46XL2rY0AUvE=";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/networking/instant-messengers/teamspeak/client.nix b/pkgs/applications/networking/instant-messengers/teamspeak/client.nix
index d4c5b18c5cd10..540555b412abd 100644
--- a/pkgs/applications/networking/instant-messengers/teamspeak/client.nix
+++ b/pkgs/applications/networking/instant-messengers/teamspeak/client.nix
@@ -115,6 +115,7 @@ stdenv.mkDerivation rec {
       free = false;
     };
     maintainers = with maintainers; [ lhvwb lukegb atemu ];
+    mainProgram = "ts3client";
     platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/threema-desktop/default.nix b/pkgs/applications/networking/instant-messengers/threema-desktop/default.nix
index 347fa9d2e61b5..0cb8cc4ff2e5b 100644
--- a/pkgs/applications/networking/instant-messengers/threema-desktop/default.nix
+++ b/pkgs/applications/networking/instant-messengers/threema-desktop/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "threema-desktop";
-  version = "1.2.27";
+  version = "1.2.31";
 
   src = fetchurl {
     # As Threema only offers a Latest Release url, the plan is to upload each
     # new release url to web.archive.org until their Github releases page gets populated.
-    url = "https://web.archive.org/web/20230302151220/https://releases.threema.ch/web-electron/v1/release/Threema-Latest.deb";
-    sha256 = "0jx271zwqja7i7qdvhiyq5m6g19a12falfvxbkxrw7ab3ycds2px";
+    url = "https://web.archive.org/web/20230731230034if_/https://releases.threema.ch/web-electron/v1/release/Threema-Latest.deb";
+    hash = "sha256-eZ/bjcSnrnzub1G4sbwPn3GCTwhDfFuYv9Plf5SJL90=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/networking/irc/thelounge/default.nix b/pkgs/applications/networking/irc/thelounge/default.nix
index adb46e2bab7ce..eff1458e07e34 100644
--- a/pkgs/applications/networking/irc/thelounge/default.nix
+++ b/pkgs/applications/networking/irc/thelounge/default.nix
@@ -88,5 +88,6 @@ stdenv.mkDerivation (finalAttrs: {
     maintainers = with maintainers; [ winter raitobezarius ];
     license = licenses.mit;
     inherit (nodejs.meta) platforms;
+    mainProgram = "thelounge";
   };
 })
diff --git a/pkgs/applications/networking/irc/weechat/default.nix b/pkgs/applications/networking/irc/weechat/default.nix
index d9a2ed5789f5e..46d5d97e43750 100644
--- a/pkgs/applications/networking/irc/weechat/default.nix
+++ b/pkgs/applications/networking/irc/weechat/default.nix
@@ -95,6 +95,7 @@ let
         '';
         license = lib.licenses.gpl3;
         maintainers = with lib.maintainers; [ ncfavier ];
+        mainProgram = "weechat";
         platforms = lib.platforms.unix;
       };
     }
diff --git a/pkgs/applications/networking/onionshare/default.nix b/pkgs/applications/networking/onionshare/default.nix
index 49193a384a637..369cd7e338507 100644
--- a/pkgs/applications/networking/onionshare/default.nix
+++ b/pkgs/applications/networking/onionshare/default.nix
@@ -124,6 +124,7 @@ rec {
         inherit tor meek obfs4 snowflake;
         inherit (tor) geoip;
       })
+      ./fix-qrcode-gui.patch
     ];
 
     disable = !isPy3k;
@@ -138,6 +139,13 @@ rec {
 
     nativeBuildInputs = [ qt5.wrapQtAppsHook ];
 
+    postInstall = ''
+      mkdir -p $out/share/{appdata,applications,icons}
+      cp $src/org.onionshare.OnionShare.desktop $out/share/applications
+      cp $src/org.onionshare.OnionShare.svg $out/share/icons
+      cp $src/org.onionshare.OnionShare.appdata.xml $out/share/appdata
+    '';
+
     preFixup = ''
       wrapQtApp $out/bin/onionshare
     '';
diff --git a/pkgs/applications/networking/onionshare/fix-qrcode-gui.patch b/pkgs/applications/networking/onionshare/fix-qrcode-gui.patch
new file mode 100644
index 0000000000000..97ee3817ab681
--- /dev/null
+++ b/pkgs/applications/networking/onionshare/fix-qrcode-gui.patch
@@ -0,0 +1,14 @@
+diff --git desktop/onionshare/widgets.py desktop/onionshare/widgets.py
+index 64a07703..bca974fb 100644
+--- desktop/onionshare/widgets.py
++++ desktop/onionshare/widgets.py
+@@ -101,7 +101,7 @@ class Image(qrcode.image.base.BaseImage):
+     A custom Image class, for use with the QR Code pixmap.
+     """
+ 
+-    def __init__(self, border, width, box_size):
++    def __init__(self, border, width, box_size, *args, **kargs):
+         self.border = border
+         self.width = width
+         self.box_size = box_size
+
diff --git a/pkgs/applications/networking/pjsip/default.nix b/pkgs/applications/networking/pjsip/default.nix
index 11462dab9a1bd..9c1b8e4f2617f 100644
--- a/pkgs/applications/networking/pjsip/default.nix
+++ b/pkgs/applications/networking/pjsip/default.nix
@@ -2,7 +2,6 @@
 , testers
 , stdenv
 , fetchFromGitHub
-, fetchpatch
 , openssl
 , libsamplerate
 , swig
@@ -16,27 +15,17 @@
 }:
 stdenv.mkDerivation (finalAttrs: {
   pname = "pjsip";
-  version = "2.13";
+  version = "2.13.1";
 
   src = fetchFromGitHub {
     owner = finalAttrs.pname;
     repo = "pjproject";
-    rev = finalAttrs.version;
-    sha256 = "sha256-yzszmm3uIyXtYFgZtUP3iswLx4u/8UbFt80Ln25ToFE=";
+    rev = "refs/tags/${finalAttrs.version}";
+    hash = "sha256-R1iKIkWyNCRV2PjQgTqKmJYUgHAZrREanD60Jz6MY1Y=";
   };
 
   patches = [
     ./fix-aarch64.patch
-    (fetchpatch {
-      name = "CVE-2022-23537.patch";
-      url = "https://github.com/pjsip/pjproject/commit/d8440f4d711a654b511f50f79c0445b26f9dd1e1.patch";
-      sha256 = "sha256-7ueQCHIiJ7MLaWtR4+GmBc/oKaP+jmEajVnEYqiwLRA=";
-    })
-    (fetchpatch {
-      name = "CVE-2022-23547.patch";
-      url = "https://github.com/pjsip/pjproject/commit/bc4812d31a67d5e2f973fbfaf950d6118226cf36.patch";
-      sha256 = "sha256-bpc8e8VAQpfyl5PX96G++6fzkFpw3Or1PJKNPKl7N5k=";
-    })
   ];
 
   nativeBuildInputs =
diff --git a/pkgs/applications/networking/remote/dayon/default.nix b/pkgs/applications/networking/remote/dayon/default.nix
new file mode 100644
index 0000000000000..d96ab8713640c
--- /dev/null
+++ b/pkgs/applications/networking/remote/dayon/default.nix
@@ -0,0 +1,67 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, ant
+, jdk
+, jre
+, makeWrapper
+, copyDesktopItems
+}:
+
+stdenv.mkDerivation rec {
+  pname = "dayon";
+  version = "11.0.7";
+
+  src = fetchFromGitHub {
+    owner = "RetGal";
+    repo = "dayon";
+    rev = "v${version}";
+    hash = "sha256-3TbJVM5po4aUAOsY7JJs/b5tUzH3WGnca/H83IeMQ2s=";
+  };
+
+  # https://github.com/RetGal/Dayon/pull/66
+  postPatch = ''
+    substituteInPlace resources/deb/dayon_assisted.desktop resources/deb/dayon_assistant.desktop \
+      --replace "Exec=/usr/bin/" "Exec="
+  '';
+
+  nativeBuildInputs = [
+    ant
+    jdk
+    makeWrapper
+    copyDesktopItems
+  ];
+
+  buildPhase = ''
+    runHook preBuild
+    ant
+    runHook postBuild
+  '';
+
+  desktopItems = [
+    "resources/deb/dayon_assisted.desktop"
+    "resources/deb/dayon_assistant.desktop"
+  ];
+
+  installPhase = ''
+    runHook preInstall
+    install -Dm644 build/dayon.jar $out/share/dayon/dayon.jar
+    mkdir -p $out/bin
+    makeWrapper ${jre}/bin/java $out/bin/dayon \
+      --add-flags "-jar $out/share/dayon/dayon.jar"
+    makeWrapper ${jre}/bin/java $out/bin/dayon_assisted \
+      --add-flags "-cp $out/share/dayon/dayon.jar mpo.dayon.assisted.AssistedRunner"
+    makeWrapper ${jre}/bin/java $out/bin/dayon_assistant \
+      --add-flags "-cp $out/share/dayon/dayon.jar mpo.dayon.assistant.AssistantRunner"
+    install -Dm644 resources/dayon.png $out/share/icons/hicolor/128x128/apps/dayon.png
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    homepage = "https://retgal.github.io/Dayon/index.html";
+    description = "An easy to use, cross-platform remote desktop assistance solution";
+    license = licenses.gpl3Plus; # https://github.com/RetGal/Dayon/issues/59
+    platforms = platforms.all;
+    maintainers = with maintainers; [ fgaz ];
+  };
+}
diff --git a/pkgs/applications/networking/remote/vmware-horizon-client/default.nix b/pkgs/applications/networking/remote/vmware-horizon-client/default.nix
index 77d6d269f03ec..90f155ce28526 100644
--- a/pkgs/applications/networking/remote/vmware-horizon-client/default.nix
+++ b/pkgs/applications/networking/remote/vmware-horizon-client/default.nix
@@ -10,7 +10,7 @@
 , configText ? ""
 }:
 let
-  version = "2303";
+  version = "2306";
 
   sysArch =
     if stdenv.hostPlatform.system == "x86_64-linux" then "x64"
@@ -39,14 +39,17 @@ let
     pname = "vmware-horizon-files";
     inherit version;
     src = fetchurl {
-      url = "https://download3.vmware.com/software/CART24FQ1_LIN_2303_TARBALL/VMware-Horizon-Client-Linux-2303-8.9.0-21435420.tar.gz";
-      sha256 = "a4dcc6afc0be7641e10e922ccbbab0a10adbf8f2a83e4b5372dfba095091fb78";
+      url = "https://download3.vmware.com/software/CART24FQ2_LIN_2306_TARBALL/VMware-Horizon-Client-Linux-2306-8.10.0-21964631.tar.gz";
+      sha256 = "6051f6f1617385b3c211b73ff42dad27e2d22362df6ffd2f3d9f559d0b5743ea";
     };
     nativeBuildInputs = [ makeWrapper ];
     installPhase = ''
-      mkdir ext $out
+      mkdir ext
       find ${sysArch} -type f -print0 | xargs -0n1 tar -Cext --strip-components=1 -xf
-      mv ext/bin ext/lib ext/share "$out"/
+
+      chmod -R u+w ext/usr/lib
+      mv ext/usr $out
+      cp -r ext/bin ext/lib $out/
 
       # Horizon includes a copy of libstdc++ which is loaded via $LD_LIBRARY_PATH
       # when it cannot detect a new enough version already present on the system.
@@ -54,9 +57,6 @@ let
       # Deleting the bundled library is the simplest way to force it to use our version.
       rm "$out/lib/vmware/gcc/libstdc++.so.6"
 
-      # This library causes the program to core-dump occasionally. Use ours instead.
-      rm -r $out/lib/vmware/view/crtbora
-
       # This opensc library is required to support smartcard authentication during the
       # initial connection to Horizon.
       mkdir $out/lib/vmware/view/pkcs11
@@ -76,6 +76,7 @@ let
       atk
       cairo
       dbus
+      file
       fontconfig
       freetype
       gdk-pixbuf
diff --git a/pkgs/applications/networking/sync/backintime/common.nix b/pkgs/applications/networking/sync/backintime/common.nix
index 71eece9e3baca..059716277032e 100644
--- a/pkgs/applications/networking/sync/backintime/common.nix
+++ b/pkgs/applications/networking/sync/backintime/common.nix
@@ -2,7 +2,7 @@
 python3, rsync, cron, openssh, sshfs-fuse, encfs }:
 
 let
-  python' = python3.withPackages (ps: with ps; [ dbus-python keyring ]);
+  python' = python3.withPackages (ps: with ps; [ dbus-python keyring packaging ]);
 
   apps = lib.makeBinPath [ openssh python' cron rsync sshfs-fuse encfs ];
 in stdenv.mkDerivation rec {
diff --git a/pkgs/applications/office/iotas/default.nix b/pkgs/applications/office/iotas/default.nix
index c5c3afb5c5d1f..4c9c53afd22e8 100644
--- a/pkgs/applications/office/iotas/default.nix
+++ b/pkgs/applications/office/iotas/default.nix
@@ -19,7 +19,7 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "iotas";
-  version = "0.1.14";
+  version = "0.2.2";
   format = "other";
 
   src = fetchFromGitLab {
@@ -27,7 +27,7 @@ python3.pkgs.buildPythonApplication rec {
     owner = "cheywood";
     repo = pname;
     rev = version;
-    hash = "sha256-IvKjvsHJdoFmDvsM1/kFPikYbBLUEQ57DKr1T+Jyw7w=";
+    hash = "sha256-oThsyTsNM3283e4FViISdFzmeQnU7qXHh4xEJWA2fkc=";
   };
 
   nativeBuildInputs = [
@@ -56,11 +56,11 @@ python3.pkgs.buildPythonApplication rec {
     requests
     markdown-it-py
     linkify-it-py
+    mdit-py-plugins
   ];
 
   # prevent double wrapping
   dontWrapGApps = true;
-
   preFixup = ''
     makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
   '';
diff --git a/pkgs/applications/office/notes/default.nix b/pkgs/applications/office/notes/default.nix
new file mode 100644
index 0000000000000..7ddc7d98dda77
--- /dev/null
+++ b/pkgs/applications/office/notes/default.nix
@@ -0,0 +1,54 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, wrapQtAppsHook
+, qtbase
+, qtdeclarative
+, Cocoa
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "notes";
+  version = "2.2.0";
+
+  src = fetchFromGitHub {
+    owner = "nuttyartist";
+    repo = "notes";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-ZfAm77UHyjs2aYOYb+AhKViz6uteb7+KKSedonSiMkY=";
+    fetchSubmodules = true;
+  };
+
+  cmakeFlags = [ "-DUPDATE_CHECKER=OFF" ];
+
+  nativeBuildInputs = [
+    cmake
+    wrapQtAppsHook
+  ];
+
+  buildInputs = [
+    qtbase
+    qtdeclarative
+  ] ++ lib.optionals stdenv.isDarwin [
+    Cocoa
+  ];
+
+  postInstall = lib.optionalString stdenv.isLinux ''
+    # temporary fix: https://github.com/nuttyartist/notes/issues/613
+    substituteInPlace $out/share/applications/io.github.nuttyartist.notes.desktop \
+       --replace 'Exec=notes' 'Exec=env QT_STYLE_OVERRIDE= notes'
+  '' + lib.optionalString stdenv.isDarwin ''
+    mkdir $out/Applications
+    mv $out/bin/Notes.app $out/Applications
+  '';
+
+  meta = {
+    description = "A fast and beautiful note-taking app";
+    downloadPage = "https://github.com/nuttyartist/notes";
+    homepage = "https://www.get-notes.com";
+    license = lib.licenses.mpl20;
+    maintainers = with lib.maintainers; [ zendo ];
+    platforms = lib.platforms.linux ++ lib.platforms.darwin;
+  };
+})
diff --git a/pkgs/applications/office/treesheets/default.nix b/pkgs/applications/office/treesheets/default.nix
index 585da031afaec..4e33f0f5de8ee 100644
--- a/pkgs/applications/office/treesheets/default.nix
+++ b/pkgs/applications/office/treesheets/default.nix
@@ -12,13 +12,13 @@
 
 stdenv.mkDerivation rec {
   pname = "treesheets";
-  version = "unstable-2023-07-22";
+  version = "unstable-2023-08-01";
 
   src = fetchFromGitHub {
     owner = "aardappel";
     repo = "treesheets";
-    rev = "24a80b0468d9abf15207dcb962d9e14a544d53a3";
-    sha256 = "D9bLsxQ/52ziIlm0A9/be8KmcqZ+xr8ZygCCG2mgGJw=";
+    rev = "4548a14939e4862d1bb61552f5c2f16e7ccef865";
+    sha256 = "BxA0vJrWk3YW7yCK010q5OYub3amJA/uUrgg1/cTGNc=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/office/vnote/default.nix b/pkgs/applications/office/vnote/default.nix
index 7daaa02a645a0..ef77a07782506 100644
--- a/pkgs/applications/office/vnote/default.nix
+++ b/pkgs/applications/office/vnote/default.nix
@@ -10,14 +10,14 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "vnote";
-  version = "3.15.1";
+  version = "3.16.0";
 
   src = fetchFromGitHub {
     owner = "vnotex";
     repo = "vnote";
     rev = "v${finalAttrs.version}";
     fetchSubmodules = true;
-    hash = "sha256-A0OJzhvHP+muPI8N23zD4RTiyK0m3JGr/3uJ0Tqz97c=";
+    hash = "sha256-tcu6y2DqdhFE2nbDkiANDk/Mzidcp8PLi8bWZaI6sH0=";
   };
 
   nativeBuildInputs = [
@@ -34,7 +34,7 @@ stdenv.mkDerivation (finalAttrs: {
   meta = {
     homepage = "https://vnotex.github.io/vnote";
     description = "A pleasant note-taking platform";
-    changelog = "https://github.com/vnotex/vnote/releases/tag/v${finalAttrs.src.rev}";
+    changelog = "https://github.com/vnotex/vnote/releases/tag/${finalAttrs.src.rev}";
     license = lib.licenses.lgpl3Plus;
     maintainers = with lib.maintainers; [ AndersonTorres ];
     platforms = lib.platforms.linux;
diff --git a/pkgs/applications/science/astronomy/stellarium/default.nix b/pkgs/applications/science/astronomy/stellarium/default.nix
index f2ecbbd85d4c4..00b36de280891 100644
--- a/pkgs/applications/science/astronomy/stellarium/default.nix
+++ b/pkgs/applications/science/astronomy/stellarium/default.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , fetchFromGitHub
+, fetchpatch
 , cmake
 , perl
 , wrapGAppsHook
@@ -30,6 +31,14 @@ stdenv.mkDerivation rec {
     hash = "sha256-8Iheb/9wjf0u10ZQRkLMLNN2s7P++Fqcr26iatiKcTo=";
   };
 
+  patches = [
+    # Compatibility with INDI 2.0 series from https://github.com/Stellarium/stellarium/pull/3269
+    (fetchpatch {
+      url = "https://github.com/Stellarium/stellarium/commit/31fd7bebf33fa710ce53ac8375238a24758312bc.patch";
+      hash = "sha256-eJEqqitZgtV6noeCi8pDBYMVTFIVWXZU1fiEvoilX8o=";
+    })
+  ];
+
   postPatch = lib.optionalString stdenv.isDarwin ''
     substituteInPlace CMakeLists.txt \
       --replace 'SET(CMAKE_INSTALL_PREFIX "''${PROJECT_BINARY_DIR}/Stellarium.app/Contents")' \
diff --git a/pkgs/applications/science/biology/bcftools/default.nix b/pkgs/applications/science/biology/bcftools/default.nix
index 993afff5965e9..fa96f32e8c932 100644
--- a/pkgs/applications/science/biology/bcftools/default.nix
+++ b/pkgs/applications/science/biology/bcftools/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "bcftools";
-  version = "1.17";
+  version = "1.18";
 
   src = fetchurl {
     url = "https://github.com/samtools/bcftools/releases/download/${version}/${pname}-${version}.tar.bz2";
-    sha256 = "sha256-AfddjnAdhbLHWRckEgCcwE8pthYWrOL6dRFhI95Flsw=";
+    sha256 = "sha256-2bnTYpPkzGKrdHOqJTk4nU4d55sakn1IP26R88POrH4=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/science/biology/paml/default.nix b/pkgs/applications/science/biology/paml/default.nix
index 871c76dc6e31b..c593b5ed3d34c 100644
--- a/pkgs/applications/science/biology/paml/default.nix
+++ b/pkgs/applications/science/biology/paml/default.nix
@@ -1,23 +1,28 @@
-{stdenv, fetchurl}:
+{ lib
+, stdenv
+, fetchFromGitHub
+}:
 
-stdenv.mkDerivation rec {
-  version = "4.9j";
+stdenv.mkDerivation (finalAttrs: {
   pname = "paml";
-  src = fetchurl {
-    url = "http://abacus.gene.ucl.ac.uk/software/paml${version}.tgz";
-    sha256 = "0qflf3i27x6jwks3c6q560m1q8r043ja96syah145113iz5wdalp";
+  version = "4.10.7";
+
+  src = fetchFromGitHub {
+    owner = "abacus-gene";
+    repo = "paml";
+    rev = "refs/tags/${finalAttrs.version}";
+    hash = "sha256-P/oHaLxoQzjFuvmHyRdShHv1ayruy6O/I9w8aTyya2s=";
   };
 
-  # Workaround build failure on -fno-common toolchains like upstream
-  # gcc-10. Otherwise build fails as:
-  #   ld: /build/ccKomtcd.o:(.bss+0x4544): multiple definition of `SeqTypes';
-  #     /build/ccx7EsgU.o:(.bss+0x2a0dfdc): first defined here
-  env.NIX_CFLAGS_COMPILE = "-fcommon";
+  env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.isDarwin "-D_POSIX_C_SOURCE";
 
   preBuild = ''
     cd ./src/
   '';
+
   installPhase = ''
+    runHook preInstall
+
     mkdir -pv $out/bin
     cp -v codeml $out/bin
     cp -v baseml $out/bin
@@ -28,12 +33,16 @@ stdenv.mkDerivation rec {
     cp -v mcmctree $out/bin
     cp -v pamp $out/bin
     cp -v yn00 $out/bin
+
+    runHook postInstall
   '';
 
   meta = {
     description     = "Phylogenetic Analysis by Maximum Likelihood (PAML)";
     longDescription = "PAML is a package of programs for phylogenetic analyses of DNA or protein sequences using maximum likelihood. It is maintained and distributed for academic use free of charge by Ziheng Yang. ANSI C source codes are distributed for UNIX/Linux/Mac OSX, and executables are provided for MS Windows. PAML is not good for tree making. It may be used to estimate parameters and test hypotheses to study the evolutionary process, when you have reconstructed trees using other programs such as PAUP*, PHYLIP, MOLPHY, PhyML, RaxML, etc.";
-    license     = "non-commercial";
+    license     = lib.licenses.gpl3Only;
     homepage    = "http://abacus.gene.ucl.ac.uk/software/paml.html";
+    changelog = "https://github.com/abacus-gene/paml/releases/tag/${finalAttrs.src.rev}";
+    platforms = lib.platforms.unix;
   };
-}
+})
diff --git a/pkgs/applications/science/biology/veryfasttree/default.nix b/pkgs/applications/science/biology/veryfasttree/default.nix
index 6f46524a5ba16..e29b2da0fc412 100644
--- a/pkgs/applications/science/biology/veryfasttree/default.nix
+++ b/pkgs/applications/science/biology/veryfasttree/default.nix
@@ -1,28 +1,37 @@
-{ lib, stdenv, fetchFromGitHub, cmake, llvmPackages}:
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, llvmPackages
+}:
 
-stdenv.mkDerivation rec {
-  pname   = "veryfasttree";
-  version = "4.0.1";
+stdenv.mkDerivation (finalAttrs: {
+  pname = "veryfasttree";
+  version = "4.0.2";
 
   src = fetchFromGitHub {
     owner = "citiususc";
-    repo = pname;
-    rev = "v${version}";
-    hash = "sha256-fv5ovi180Osok5GYJEidjMqmL8gZKUcxrcCQ/00lvi4=";
+    repo = "veryfasttree";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-JMBhSxfGO3qz7Yl4s5r6zWHFefXGzu0ktEJdRUh/Uqg=";
   };
 
   nativeBuildInputs = [ cmake ];
   buildInputs = lib.optional stdenv.cc.isClang llvmPackages.openmp;
 
   installPhase = ''
+    runHook preInstall
+
     install -m755 -D VeryFastTree $out/bin/VeryFastTree
+
+    runHook postInstall
   '';
 
-  meta = with lib; {
+  meta = {
     description = "Speeding up the estimation of phylogenetic trees for large alignments through parallelization and vectorization strategies";
-    license     = licenses.gpl3Plus;
-    homepage    = "https://github.com/citiususc/veryfasttree";
-    maintainers = with maintainers; [ thyol ];
-    platforms   = platforms.all;
+    homepage = "https://github.com/citiususc/veryfasttree";
+    license = lib.licenses.gpl3Plus;
+    maintainers = with lib.maintainers; [ thyol ];
+    platforms = lib.platforms.all;
   };
-}
+})
diff --git a/pkgs/applications/science/chemistry/cp2k/default.nix b/pkgs/applications/science/chemistry/cp2k/default.nix
index a16797b955e57..5defaafa3cd0e 100644
--- a/pkgs/applications/science/chemistry/cp2k/default.nix
+++ b/pkgs/applications/science/chemistry/cp2k/default.nix
@@ -11,13 +11,13 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "cp2k";
-  version = "2023.1";
+  version = "2023.2";
 
   src = fetchFromGitHub {
     owner = "cp2k";
     repo = "cp2k";
     rev = "v${version}";
-    hash = "sha256-SG5Gz0cDiSfbSZ8m4K+eARMLU4iMk/xK3esN5yt05RE=";
+    hash = "sha256-1TJorIjajWFO7i9vqSBDTAIukBdyvxbr5dargt4QB8M=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/applications/science/electronics/digital/default.nix b/pkgs/applications/science/electronics/digital/default.nix
index 147e27a835308..ed90b03dbc3e5 100644
--- a/pkgs/applications/science/electronics/digital/default.nix
+++ b/pkgs/applications/science/electronics/digital/default.nix
@@ -39,9 +39,9 @@ maven.buildMavenPackage rec {
   };
 
   inherit mvnParameters;
-  mvnHash = "sha256-Ej/JePvd9Ieni8FqSaXBDc2T6Cwr8WP54iko8wYiT68=";
+  mvnHash = "sha256-wm/axWJucoW9P98dKqHI4bjrUnmBTfosCOdJg9VBJ+4=";
 
-  nativeBuildInputs = [ copyDesktopItems maven makeWrapper ];
+  nativeBuildInputs = [ copyDesktopItems makeWrapper ];
 
   installPhase = ''
     mkdir -p $out/bin
diff --git a/pkgs/applications/science/electronics/nvc/default.nix b/pkgs/applications/science/electronics/nvc/default.nix
index 1e2620e39c47a..15157b11f29d4 100644
--- a/pkgs/applications/science/electronics/nvc/default.nix
+++ b/pkgs/applications/science/electronics/nvc/default.nix
@@ -16,13 +16,13 @@
 
 stdenv.mkDerivation rec {
   pname = "nvc";
-  version = "1.10.0";
+  version = "1.10.1";
 
   src = fetchFromGitHub {
     owner = "nickg";
     repo = "nvc";
     rev = "r${version}";
-    hash = "sha256-WwO46x6McV18ebGFjXQ8fvqRh6ih1Wt5JTbfTxVWTi0=";
+    hash = "sha256-7Kw9irZltNE8VRnIvVX786/u0QQtmRhV8pzpba0h1JY=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/science/logic/beluga/default.nix b/pkgs/applications/science/logic/beluga/default.nix
index 19d296269f98b..e44506cebcb2f 100644
--- a/pkgs/applications/science/logic/beluga/default.nix
+++ b/pkgs/applications/science/logic/beluga/default.nix
@@ -1,28 +1,30 @@
-{ lib, fetchFromGitHub, ocamlPackages, rsync }:
+{ lib, fetchFromGitHub, ocamlPackages }:
 
 ocamlPackages.buildDunePackage rec {
   pname = "beluga";
-  version = "1.0";
+  version = "1.1";
 
   src = fetchFromGitHub {
-    owner  = "Beluga-lang";
-    repo   = "Beluga";
-    rev    = "v${version}";
-    sha256 = "1ziqjfv8jwidl8lj2mid2shhgqhv31dfh5wad2zxjpvf6038ahsw";
+    owner = "Beluga-lang";
+    repo = "Beluga";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-GN4ZOlhs8ktAcCu7iE4lh6HxhTu+KCJJbIvcI4MGcr0=";
   };
 
   duneVersion = "3";
 
   buildInputs = with ocamlPackages; [
-    gen sedlex extlib dune-build-info linenoise
+    gen
+    sedlex
+    extlib
+    dune-build-info
+    linenoise
+    omd
+    uri
+    ounit2
+    yojson
   ];
 
-  postPatch = ''
-    patchShebangs ./TEST ./run_harpoon_test.sh
-  '';
-
-  checkPhase = "./TEST";
-  nativeCheckInputs = [ rsync ];
   doCheck = true;
 
   postInstall = ''
@@ -32,9 +34,10 @@ ocamlPackages.buildDunePackage rec {
 
   meta = with lib; {
     description = "A functional language for reasoning about formal systems";
-    homepage    = "http://complogic.cs.mcgill.ca/beluga/";
-    license     = licenses.gpl3Plus;
+    homepage = "https://complogic.cs.mcgill.ca/beluga";
+    changelog = "https://github.com/Beluga-lang/Beluga/releases/tag/v${version}";
+    license = licenses.gpl3Plus;
     maintainers = [ maintainers.bcdarwin ];
-    platforms   = platforms.unix;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/science/logic/cbmc/default.nix b/pkgs/applications/science/logic/cbmc/default.nix
index c24d5bb7f61d2..c287a74010d57 100644
--- a/pkgs/applications/science/logic/cbmc/default.nix
+++ b/pkgs/applications/science/logic/cbmc/default.nix
@@ -13,13 +13,13 @@
 
 stdenv.mkDerivation rec {
   pname = "cbmc";
-  version = "5.87.0";
+  version = "5.88.1";
 
   src = fetchFromGitHub {
     owner = "diffblue";
     repo = pname;
     rev = "${pname}-${version}";
-    sha256 = "sha256-aBqJqsZK5O3yWTQ1BEej0eeDI8JcsnO6sIv7eH6wnkw=";
+    sha256 = "sha256-bfrtYqTMU/Nib0wZjS/t0kg5sBsuQuq9GaHX4PxL7tU=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/science/logic/dafny/default.nix b/pkgs/applications/science/logic/dafny/default.nix
index 962f9c8ae8cc2..2b30d3aeeb45b 100644
--- a/pkgs/applications/science/logic/dafny/default.nix
+++ b/pkgs/applications/science/logic/dafny/default.nix
@@ -8,20 +8,20 @@
 
 buildDotnetModule rec {
   pname = "Dafny";
-  version = "4.0.0";
+  version = "4.2.0";
 
   src = fetchFromGitHub {
     owner = "dafny-lang";
     repo = "dafny";
     rev = "v${version}";
-    sha256 = "sha256-7mVFDORbu9KsJ4IH8PrrpXE7xFrWVTyBmRaL8Kt/ghY=";
+    sha256 = "sha256-RSGaOgGf3m94t3SKnvSPqz0VHhWr6NmIMtGsmOynMaM=";
   };
 
   postPatch = ''
     cp ${writeScript "fake-gradlew-for-dafny" ''
       mkdir -p build/libs/
       javac $(find -name "*.java" | grep "^./src/main") -d classes
-      jar cf build/libs/DafnyRuntime.jar -C classes dafny
+      jar cf build/libs/DafnyRuntime-${version}.jar -C classes dafny
     ''} Source/DafnyRuntime/DafnyRuntimeJava/gradlew
 
     # Needed to fix
diff --git a/pkgs/applications/science/logic/dafny/deps.nix b/pkgs/applications/science/logic/dafny/deps.nix
index 708ea37f91d42..895c359ce3352 100644
--- a/pkgs/applications/science/logic/dafny/deps.nix
+++ b/pkgs/applications/science/logic/dafny/deps.nix
@@ -3,18 +3,18 @@
 
 { fetchNuGet }: [
   (fetchNuGet { pname = "Boogie"; version = "2.16.0"; sha256 = "1zcbbqhn7brxnywp3m5pfd7rcapg5w1xjr5pkfsqmmv8fk36nfja"; })
-  (fetchNuGet { pname = "Boogie.AbstractInterpretation"; version = "2.16.0"; sha256 = "05l8lfh25w0a92swhlgp01l62bp6d07191jjvhnnak1k184drqm4"; })
-  (fetchNuGet { pname = "Boogie.BaseTypes"; version = "2.16.0"; sha256 = "0qak5dzxja5ffprb0frgvbf88nlk232fr2m3lvg27qz3ai70p8xm"; })
-  (fetchNuGet { pname = "Boogie.CodeContractsExtender"; version = "2.16.0"; sha256 = "078b5hzllqw08g5wvgp63lq2qg1ywk0scph3wdgjn966q2yfqz84"; })
-  (fetchNuGet { pname = "Boogie.Concurrency"; version = "2.16.0"; sha256 = "1wcfqgnvinkfd26ig82gbj6ykn6b3f2iv8gr8h96q9jd6x9rmlkb"; })
-  (fetchNuGet { pname = "Boogie.Core"; version = "2.16.0"; sha256 = "00sgvjxx613ljmppb69abrw50gv2rv9kk96rc1dq8ymlw8b3imw7"; })
-  (fetchNuGet { pname = "Boogie.ExecutionEngine"; version = "2.16.0"; sha256 = "1kxyrbwcp5slgq3n26s2l69fs2hbda41v7jkxhpjh1yn9wb56b4n"; })
-  (fetchNuGet { pname = "Boogie.Graph"; version = "2.16.0"; sha256 = "1qhfdysbca63agb7lcclyhi4wvi6142ipcbh9ag0g9mdf0pkwiqv"; })
-  (fetchNuGet { pname = "Boogie.Houdini"; version = "2.16.0"; sha256 = "0rqhybfhbkb4cb14d546gknjabgrfl7pm1b87nzhmxpwzszw6ss3"; })
-  (fetchNuGet { pname = "Boogie.Model"; version = "2.16.0"; sha256 = "0k328lcnxqf06pc97sgmqdzr564zgdvacy6j2n1209w882xs43rg"; })
-  (fetchNuGet { pname = "Boogie.Provers.SMTLib"; version = "2.16.0"; sha256 = "19xx2x9ccr64rr7cldgdmd0d1xi56rz0skmvkqn1hdwcndh01n6a"; })
-  (fetchNuGet { pname = "Boogie.VCExpr"; version = "2.16.0"; sha256 = "0ysmw9sl713xdpbcij3w4bm2hkigkjw7c2j1a7wwax02gsvx8djw"; })
-  (fetchNuGet { pname = "Boogie.VCGeneration"; version = "2.16.0"; sha256 = "1g3ipl27qcy23g0pnsahyba9j90fvhm17wxczqx7hbgw0h183nji"; })
+  (fetchNuGet { pname = "Boogie.AbstractInterpretation"; version = "2.16.8"; sha256 = "1a4pfzc7r6yxzwixsij2xijiyk50ii84zlwl151naw0y05yj4zxn"; })
+  (fetchNuGet { pname = "Boogie.BaseTypes"; version = "2.16.8"; sha256 = "17zii7d31bqlhn2ygfjh5a37nb98wkn377z8rm6fg44f83788ll9"; })
+  (fetchNuGet { pname = "Boogie.CodeContractsExtender"; version = "2.16.8"; sha256 = "18aixxw5xrivzpwrwj91dyhdnj3xd1apmjrgbdgg5f0z6p9863nq"; })
+  (fetchNuGet { pname = "Boogie.Concurrency"; version = "2.16.8"; sha256 = "1qsp24ckvjz01mjq1fxssdvpsx6kvrdx8l7hd2rll86rrh1bc6w4"; })
+  (fetchNuGet { pname = "Boogie.Core"; version = "2.16.8"; sha256 = "1qp6yaa0h16ihqrr2vgbgnakmvshd76skdhqrp1v7jcp7mw8af7n"; })
+  (fetchNuGet { pname = "Boogie.ExecutionEngine"; version = "2.16.8"; sha256 = "1q3x8im85i68vz8ls51ywd4ayjsy53ygra01byscbnhc1qflpzia"; })
+  (fetchNuGet { pname = "Boogie.Graph"; version = "2.16.8"; sha256 = "1pyd35rfv0bn0b1xxvqzixnprwjbps54zs0yaily9xxsyg33y1jr"; })
+  (fetchNuGet { pname = "Boogie.Houdini"; version = "2.16.8"; sha256 = "1n6dlr84y9kni1sskgd6zx4cfflw28yavwwaz6hmmm01l8zg8y6w"; })
+  (fetchNuGet { pname = "Boogie.Model"; version = "2.16.8"; sha256 = "0cbq5lyprz0m1kv6a8yyjnhyx42k1jbl00ljrj1bldlj7dz4ahw3"; })
+  (fetchNuGet { pname = "Boogie.Provers.SMTLib"; version = "2.16.8"; sha256 = "1q48xzmzch4mc8z0wg2ap8f9glmxcj59i9a645ybysf1jah6yphy"; })
+  (fetchNuGet { pname = "Boogie.VCExpr"; version = "2.16.8"; sha256 = "130jmlvvjd2ls95ry7ds0y2h7pxa109dikx1p3a3psb9dph7zxkr"; })
+  (fetchNuGet { pname = "Boogie.VCGeneration"; version = "2.16.8"; sha256 = "0fim2d7p1y6ms1m8f1d5yl4pq3167pi4i7nwink5ydv3fvsckh08"; })
   (fetchNuGet { pname = "CocoR"; version = "2014.12.24"; sha256 = "0ps8h7aawkcc1910qnh13llzb01pvgsjmg862pxp0p4wca2dn7a2"; })
   (fetchNuGet { pname = "dotnet-format"; version = "5.1.250801"; sha256 = "1i0icx2yyp9141rjb2a221a71fvsy0knrfyvv631vb56r8fnsywh"; })
   (fetchNuGet { pname = "JetBrains.Annotations"; version = "2021.1.0"; sha256 = "07pnhxxlgx8spmwmakz37nmbvgyb6yjrbrhad5rrn6y767z5r1gb"; })
@@ -181,4 +181,5 @@
   (fetchNuGet { pname = "System.Threading.Tasks"; version = "4.3.0"; sha256 = "134z3v9abw3a6jsw17xl3f6hqjpak5l682k2vz39spj4kmydg6k7"; })
   (fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.5.3"; sha256 = "0g7r6hm572ax8v28axrdxz1gnsblg6kszq17g51pj14a5rn2af7i"; })
   (fetchNuGet { pname = "System.Windows.Extensions"; version = "6.0.0"; sha256 = "1wy9pq9vn1bqg5qnv53iqrbx04yzdmjw4x5yyi09y3459vaa1sip"; })
+  (fetchNuGet { pname = "Tomlyn"; version = "0.16.2"; sha256 = "1i928q6a7l65mk7wj2vvfclyvxamdjxg4dbj3g6g95inrfgvidah"; })
 ]
diff --git a/pkgs/applications/science/math/geogebra/default.nix b/pkgs/applications/science/math/geogebra/default.nix
index b8d149364ef21..e9e309f421a0b 100644
--- a/pkgs/applications/science/math/geogebra/default.nix
+++ b/pkgs/applications/science/math/geogebra/default.nix
@@ -27,7 +27,7 @@ let
       calculus in one easy-to-use package.
     '';
     homepage = "https://www.geogebra.org/";
-    maintainers = with maintainers; [ sikmir imsofi ];
+    maintainers = with maintainers; [ sikmir soupglasses ];
     license = with licenses; [ gpl3 cc-by-nc-sa-30 geogebra ];
     sourceProvenance = with sourceTypes; [
       binaryBytecode
diff --git a/pkgs/applications/science/math/mxnet/default.nix b/pkgs/applications/science/math/mxnet/default.nix
index 1e7af371c509f..d65de87d8eb9a 100644
--- a/pkgs/applications/science/math/mxnet/default.nix
+++ b/pkgs/applications/science/math/mxnet/default.nix
@@ -56,7 +56,6 @@ stdenv.mkDerivation rec {
 
   env.NIX_CFLAGS_COMPILE = toString [
     # Needed with GCC 12
-    "-Wno-error=maybe-uninitialized"
     "-Wno-error=uninitialized"
   ];
 
diff --git a/pkgs/applications/science/misc/boinc/default.nix b/pkgs/applications/science/misc/boinc/default.nix
index 625de3a3a8b39..f806be834bca4 100644
--- a/pkgs/applications/science/misc/boinc/default.nix
+++ b/pkgs/applications/science/misc/boinc/default.nix
@@ -22,6 +22,7 @@
 , libnotify
 , libX11
 , libxcb
+, headless ? false
 }:
 
 stdenv.mkDerivation rec {
@@ -40,6 +41,9 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     curl
+    sqlite
+    patchelf
+  ] ++ lib.optionals (!headless) [
     libGLU
     libGL
     libXmu
@@ -47,17 +51,15 @@ stdenv.mkDerivation rec {
     freeglut
     libjpeg
     wxGTK32
-    sqlite
     gtk3
     libXScrnSaver
     libnotify
-    patchelf
     libX11
     libxcb
     xcbutil
   ];
 
-  NIX_LDFLAGS = "-lX11";
+  NIX_LDFLAGS = lib.optionalString (!headless) "-lX11";
 
   preConfigure = ''
     ./_autosetup
@@ -66,7 +68,7 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  configureFlags = [ "--disable-server" ];
+  configureFlags = [ "--disable-server" ] ++ lib.optionals headless [ "--disable-manager" ];
 
   postInstall = ''
     install --mode=444 -D 'client/scripts/boinc-client.service' "$out/etc/systemd/system/boinc.service"
diff --git a/pkgs/applications/science/misc/gephi/default.nix b/pkgs/applications/science/misc/gephi/default.nix
index 3013f08c69826..15b001b4561e4 100644
--- a/pkgs/applications/science/misc/gephi/default.nix
+++ b/pkgs/applications/science/misc/gephi/default.nix
@@ -18,7 +18,7 @@ mavenJdk11.buildMavenPackage rec {
 
   mvnHash = "sha256-/2/Yb26Ry0NHQQ3j0LXnjwC0wQqJiztvTgWixyMJqvg=";
 
-  nativeBuildInputs = [ jdk11 mavenJdk11 ];
+  nativeBuildInputs = [ jdk11 ];
 
   installPhase = ''
     cp -r modules/application/target/gephi $out
diff --git a/pkgs/applications/science/molecular-dynamics/lammps/default.nix b/pkgs/applications/science/molecular-dynamics/lammps/default.nix
index a1c0f60ffa015..5842efea44e81 100644
--- a/pkgs/applications/science/molecular-dynamics/lammps/default.nix
+++ b/pkgs/applications/science/molecular-dynamics/lammps/default.nix
@@ -7,6 +7,7 @@
 , blas
 , lapack
 , cmake
+, cudaPackages
 , pkg-config
 # Available list of packages can be found near here:
 #
@@ -59,6 +60,9 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [
     cmake
     pkg-config
+    # Although not always needed, it is needed if cmakeFlags include
+    # GPU_API=cuda, and it doesn't users that don't enable the GPU package.
+    cudaPackages.autoAddOpenGLRunpathHook
   ];
 
   passthru = {
@@ -84,9 +88,14 @@ stdenv.mkDerivation rec {
   ] ++ extraBuildInputs
   ;
 
-  # For backwards compatibility
   postInstall = ''
+    # For backwards compatibility
     ln -s $out/bin/lmp $out/bin/lmp_serial
+    # Install vim and neovim plugin
+    install -Dm644 ../../tools/vim/lammps.vim $out/share/vim-plugins/lammps/syntax/lammps.vim
+    install -Dm644 ../../tools/vim/filetype.vim $out/share/vim-plugins/lammps/ftdetect/lammps.vim
+    mkdir -p $out/share/nvim
+    ln -s $out/share/vim-plugins/lammps $out/share/nvim/site
   '';
 
   meta = with lib; {
@@ -106,5 +115,6 @@ stdenv.mkDerivation rec {
     # support.
     broken = (blas.isILP64 && lapack.isILP64);
     maintainers = [ maintainers.costrouc maintainers.doronbehar ];
+    mainProgram = "lmp";
   };
 }
diff --git a/pkgs/applications/system/psitop/default.nix b/pkgs/applications/system/psitop/default.nix
index a3080338b89a8..cfcdf2488f6ac 100644
--- a/pkgs/applications/system/psitop/default.nix
+++ b/pkgs/applications/system/psitop/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "psitop";
-  version = "1.0.0";
+  version = "1.1.3";
 
   src = fetchFromGitHub {
     owner = "jamespwilliams";
     repo = "psitop";
     rev = version;
-    hash = "sha256-C8WEbA7XXohKFz7QgII0LPU1eJ4Z7CSlmEOamgo4wQI=";
+    hash = "sha256-TD+NTlfmBtz+m2w2FnTcUIJQakpvVBCK/MAHfCrOue4=";
   };
 
   vendorHash = "sha256-oLtKpBvTsM5TbzfWIDfqgb7DL5D3Mldu0oimVeiUeSc=";
diff --git a/pkgs/applications/terminal-emulators/foot/default.nix b/pkgs/applications/terminal-emulators/foot/default.nix
index 5a50ba9448a65..c2d817b4d5760 100644
--- a/pkgs/applications/terminal-emulators/foot/default.nix
+++ b/pkgs/applications/terminal-emulators/foot/default.nix
@@ -27,7 +27,7 @@
 }:
 
 let
-  version = "1.15.1";
+  version = "1.15.2";
 
   # build stimuli file for PGO build and the script to generate it
   # independently of the foot's build, so we can cache the result
@@ -99,20 +99,9 @@ stdenv.mkDerivation rec {
     owner = "dnkl";
     repo = "foot";
     rev = version;
-    hash = "sha256-YCwmPSn+XtF7HkMOFJft7j/2vr+8UE59yu/iGZ1dT8A=";
+    hash = "sha256:1iz9l01fpryc335pb0c3qi67fmmfplizv5pbc9s578mxl5j9dxg4";
   };
 
-  patches = [
-    # Check viewporter protocol support before using it, fixes crash under Mir
-    # Remove when https://codeberg.org/dnkl/foot/pulls/1445 in version > 1.15.1
-    (fetchpatch {
-      name = "0001-foot-dont-try-to-use-a-non-existing-viewporter-interface.patch";
-      url = "https://codeberg.org/dnkl/foot/commit/9d75c551465fa3dbb3cd20ae87d6de294fcebce1.patch";
-      excludes = [ "CHANGELOG.md" ];
-      hash = "sha256-sVfGbudsmwh7phbbobBgSXoGe1lKJ8s1UdyBnVLmLYQ=";
-    })
-  ];
-
   depsBuildBuild = [
     pkg-config
   ];
diff --git a/pkgs/applications/version-management/dvc/default.nix b/pkgs/applications/version-management/dvc/default.nix
index cf9ba51ffae1e..1cfa62ea6d47b 100644
--- a/pkgs/applications/version-management/dvc/default.nix
+++ b/pkgs/applications/version-management/dvc/default.nix
@@ -10,14 +10,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "dvc";
-  version = "3.5.1";
+  version = "3.8.1";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "iterative";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-1kVc7+36rvIpoSinpyxMMs1/nhZrwv1pPWJsruFd1N8=";
+    hash = "sha256-ZHB2XAYjPwhCWHqq2Kro4CzDW34YBaknv9xBotCDkOw=";
   };
 
   pythonRelaxDeps = [
diff --git a/pkgs/applications/version-management/forgejo/default.nix b/pkgs/applications/version-management/forgejo/default.nix
index 566d99e7457d3..663f7d3f7b4a2 100644
--- a/pkgs/applications/version-management/forgejo/default.nix
+++ b/pkgs/applications/version-management/forgejo/default.nix
@@ -6,6 +6,7 @@
 , gzip
 , lib
 , makeWrapper
+, nix-update-script
 , nixosTests
 , openssh
 , pam
@@ -38,17 +39,17 @@ let
 in
 buildGoModule rec {
   pname = "forgejo";
-  version = "1.20.1-0";
+  version = "1.20.2-0";
 
   src = fetchFromGitea {
     domain = "codeberg.org";
     owner = "forgejo";
     repo = "forgejo";
     rev = "v${version}";
-    hash = "sha256-3L43hm6Tx4h5UHm3jGTGiOWBgAGx49zVGB0D6om6ayk=";
+    hash = "sha256-8mFI5Zt2J6EQZqu/qcirFp8WMz+IlrkvHeA+oUb0X5U=";
   };
 
-  vendorHash = "sha256-n2fqqQ6jqHEAWLlaY9t6nd6Ty0viOuTwDWDhTECve+Q=";
+  vendorHash = "sha256-ZoFs2T3NNixrbTDdp7fqTgjJ+G8DpkxHW8K6BM8tZ9w=";
 
   subPackages = [ "." ];
 
@@ -95,6 +96,9 @@ buildGoModule rec {
   });
 
   passthru = {
+    # allow nix-update to handle npmDepsHash
+    inherit (frontend) npmDeps;
+
     data-compressed = runCommand "forgejo-data-compressed" {
       nativeBuildInputs = [ brotli xorg.lndir ];
     } ''
@@ -108,6 +112,7 @@ buildGoModule rec {
     '';
 
     tests = nixosTests.forgejo;
+    updateScript = nix-update-script { };
   };
 
   meta = {
@@ -115,7 +120,7 @@ buildGoModule rec {
     homepage = "https://forgejo.org";
     changelog = "https://codeberg.org/forgejo/forgejo/releases/tag/${src.rev}";
     license = lib.licenses.mit;
-    maintainers = with lib.maintainers; [ emilylange urandom bendlas ];
+    maintainers = with lib.maintainers; [ emilylange urandom bendlas adamcstephens ];
     broken = stdenv.isDarwin;
     mainProgram = "gitea";
   };
diff --git a/pkgs/applications/version-management/ghorg/default.nix b/pkgs/applications/version-management/ghorg/default.nix
index d96981e612a4f..dbe3841b29bd2 100644
--- a/pkgs/applications/version-management/ghorg/default.nix
+++ b/pkgs/applications/version-management/ghorg/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "ghorg";
-  version = "1.9.6";
+  version = "1.9.7";
 
   src = fetchFromGitHub {
     owner = "gabrie30";
     repo = "ghorg";
     rev = "v${version}";
-    sha256 = "sha256-++jUs/V4luOWNjCrZpJAT/08aEr00kvl4vDxKTqA5fc=";
+    sha256 = "sha256-uIhYk79ZXcJ/ttexgjtxskI2nEwlq+E4jgIZzwz8hmI=";
   };
 
   doCheck = false;
diff --git a/pkgs/applications/version-management/git-cinnabar/default.nix b/pkgs/applications/version-management/git-cinnabar/default.nix
index 64fa89f436ab2..ca6a0165f1d0b 100644
--- a/pkgs/applications/version-management/git-cinnabar/default.nix
+++ b/pkgs/applications/version-management/git-cinnabar/default.nix
@@ -1,29 +1,48 @@
-{ stdenv, lib, fetchFromGitHub, cargo, pkg-config, rustPlatform
-, bzip2, curl, zlib, zstd, libiconv, CoreServices
+{ stdenv
+, lib
+, fetchFromGitHub
+, cargo
+, pkg-config
+, rustPlatform
+, bzip2
+, curl
+, zlib
+, zstd
+, libiconv
+, CoreServices
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "git-cinnabar";
-  version = "0.6.1";
+  version = "0.6.2";
 
   src = fetchFromGitHub {
     owner = "glandium";
     repo = "git-cinnabar";
-    rev = version;
-    sha256 = "VvfoMypiFT68YJuGpEyPCxGOjdbDoF6FXtzLWlw0uxY=";
+    rev = finalAttrs.version;
+    hash = "sha256-1Y4zd4rYNRatemDXRMkQQwBJdkfOGfDWk9QBvJOgi7s=";
     fetchSubmodules = true;
   };
 
   nativeBuildInputs = [
-    pkg-config rustPlatform.cargoSetupHook cargo
+    cargo
+    pkg-config
+    rustPlatform.cargoSetupHook
   ];
 
-  buildInputs = [ bzip2 curl zlib zstd ]
-    ++ lib.optionals stdenv.isDarwin [ libiconv CoreServices ];
+  buildInputs = [
+    bzip2
+    curl
+    zlib
+    zstd
+  ] ++ lib.optionals stdenv.isDarwin [
+    libiconv
+    CoreServices
+  ];
 
   cargoDeps = rustPlatform.fetchCargoTarball {
-    inherit src;
-    sha256 = "GApYgE7AezKmcGWNY+dF1Yp1TZmEeUdq3CsjvMvo/Rw=";
+    inherit (finalAttrs) src;
+    hash = "sha256-p85AS2DukUzEbW9UGYmiF3hpnZvPrZ2sRaeA9dU8j/8=";
   };
 
   ZSTD_SYS_USE_PKG_CONFIG = true;
@@ -32,17 +51,19 @@ stdenv.mkDerivation rec {
 
   installPhase = ''
     runHook preInstall
+
     mkdir -p $out/bin
     install -v target/release/git-cinnabar $out/bin
     ln -sv git-cinnabar $out/bin/git-remote-hg
+
     runHook postInstall
   '';
 
-  meta = with lib; {
-    homepage = "https://github.com/glandium/git-cinnabar";
+  meta = {
     description = "git remote helper to interact with mercurial repositories";
-    license = licenses.gpl2Only;
-    maintainers = with maintainers; [ qyliss ];
-    platforms = platforms.all;
+    homepage = "https://github.com/glandium/git-cinnabar";
+    license = lib.licenses.gpl2Only;
+    maintainers = with lib.maintainers; [ qyliss ];
+    platforms = lib.platforms.all;
   };
-}
+})
diff --git a/pkgs/applications/version-management/gitea/default.nix b/pkgs/applications/version-management/gitea/default.nix
index bb696b4087fcd..89cae801ec29c 100644
--- a/pkgs/applications/version-management/gitea/default.nix
+++ b/pkgs/applications/version-management/gitea/default.nix
@@ -88,5 +88,6 @@ buildGoModule rec {
     license = licenses.mit;
     maintainers = with maintainers; [ disassembler kolaente ma27 techknowlogick ];
     broken = stdenv.isDarwin;
+    mainProgram = "gitea";
   };
 }
diff --git a/pkgs/applications/version-management/gitlab/data.json b/pkgs/applications/version-management/gitlab/data.json
index 7b4ababdcdca8..ea2d40f9234cd 100644
--- a/pkgs/applications/version-management/gitlab/data.json
+++ b/pkgs/applications/version-management/gitlab/data.json
@@ -1,15 +1,15 @@
 {
-  "version": "16.1.2",
-  "repo_hash": "sha256-A9JkBwGym+CPpb5B7+Kwt8Ej4PGSHc3ZOgUA28hdyN8=",
-  "yarn_hash": "1cqyf06810ls94nkys0l4p86ni902q32aqjp66m7j1x6ldh248al",
+  "version": "16.1.3",
+  "repo_hash": "sha256-PI0nmwfk8uu74NJkavbbJR9/jDN9SS0Z9Axe4UmT2kk=",
+  "yarn_hash": "0wykn0vq16n8mz4jfh7dfyp9javzhqlfwmc5i1zm07gld91nirlm",
   "owner": "gitlab-org",
   "repo": "gitlab",
-  "rev": "v16.1.2-ee",
+  "rev": "v16.1.3-ee",
   "passthru": {
-    "GITALY_SERVER_VERSION": "16.1.2",
-    "GITLAB_PAGES_VERSION": "16.1.2",
+    "GITALY_SERVER_VERSION": "16.1.3",
+    "GITLAB_PAGES_VERSION": "16.1.3",
     "GITLAB_SHELL_VERSION": "14.23.0",
     "GITLAB_ELASTICSEARCH_INDEXER_VERSION": "4.3.5",
-    "GITLAB_WORKHORSE_VERSION": "16.1.2"
+    "GITLAB_WORKHORSE_VERSION": "16.1.3"
   }
 }
diff --git a/pkgs/applications/version-management/gitlab/gitaly/default.nix b/pkgs/applications/version-management/gitlab/gitaly/default.nix
index 01f407e2e653c..2d35d06dc8a58 100644
--- a/pkgs/applications/version-management/gitlab/gitaly/default.nix
+++ b/pkgs/applications/version-management/gitlab/gitaly/default.nix
@@ -13,7 +13,7 @@
 }:
 
 let
-  version = "16.1.2";
+  version = "16.1.3";
   package_version = "v${lib.versions.major version}";
   gitaly_package = "gitlab.com/gitlab-org/gitaly/${package_version}";
 
@@ -24,7 +24,7 @@ let
       owner = "gitlab-org";
       repo = "gitaly";
       rev = "v${version}";
-      sha256 = "sha256-/yCmFbmKTp8V8CjdhoAPpAdwNEcaP/wB0oAeTLdMESo=";
+      sha256 = "sha256-g9K1dFcrUkWJInPrwg9fz/TEK35GrjqFpUS2bnemwLQ=";
     };
 
     vendorSha256 = "sha256-6oOFQGPwiMRQrESXsQsGzvWz9bCb0VTYIyyG/C2b3nA=";
diff --git a/pkgs/applications/version-management/gitlab/gitlab-container-registry/default.nix b/pkgs/applications/version-management/gitlab/gitlab-container-registry/default.nix
index 17a186ef25e4a..62521099a7ecf 100644
--- a/pkgs/applications/version-management/gitlab/gitlab-container-registry/default.nix
+++ b/pkgs/applications/version-management/gitlab/gitlab-container-registry/default.nix
@@ -2,17 +2,17 @@
 
 buildGoModule rec {
   pname = "gitlab-container-registry";
-  version = "3.77.0";
+  version = "3.79.0";
   rev = "v${version}-gitlab";
 
   src = fetchFromGitLab {
     owner = "gitlab-org";
     repo = "container-registry";
     inherit rev;
-    sha256 = "sha256-tHNxPwm1h1wyXuzUUadz5YcRkPdc0QeayMIRt292uf8=";
+    sha256 = "sha256-JOXJ8HSTf7yW78SlYzbdn7IAbSwv/UE/W3oSJRyGrAQ=";
   };
 
-  vendorHash = "sha256-/ITZBh0vRYHb6fDUZQNRwW2pmQulJlDZ8EbObUBtsz4=";
+  vendorHash = "sha256-4cxfyG1uhqgIheAVDQbIDb4MRSqAUtLgxGYt5MuNfKw=";
 
   patches = [
     ./Disable-inmemory-storage-driver-test.patch
diff --git a/pkgs/applications/version-management/gitlab/gitlab-pages/default.nix b/pkgs/applications/version-management/gitlab/gitlab-pages/default.nix
index 4b3595819ac29..7fcc652056bfd 100644
--- a/pkgs/applications/version-management/gitlab/gitlab-pages/default.nix
+++ b/pkgs/applications/version-management/gitlab/gitlab-pages/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "gitlab-pages";
-  version = "16.1.2";
+  version = "16.1.3";
 
   src = fetchFromGitLab {
     owner = "gitlab-org";
     repo = "gitlab-pages";
     rev = "v${version}";
-    sha256 = "sha256-T33/SnV+aWUjfRKxVOQNWaPtFnounMkCXAeQCQ9w5RY=";
+    sha256 = "sha256-FSdew0HMbgEAzVoDhINDIQQs8Q63AHu8mu/dKo+wP9k=";
   };
 
   vendorHash = "sha256-SN4r9hcTTQUr3miv2Cm7iBryyh7yG1xx9lCvq3vQwc0=";
diff --git a/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix b/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix
index 6d1eecd891f9b..8a9ae20803659 100644
--- a/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix
+++ b/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix
@@ -5,7 +5,7 @@ in
 buildGoModule rec {
   pname = "gitlab-workhorse";
 
-  version = "16.1.2";
+  version = "16.1.3";
 
   src = fetchFromGitLab {
     owner = data.owner;
diff --git a/pkgs/applications/version-management/lefthook/default.nix b/pkgs/applications/version-management/lefthook/default.nix
index 66d61bac71233..e4e9010f64e28 100644
--- a/pkgs/applications/version-management/lefthook/default.nix
+++ b/pkgs/applications/version-management/lefthook/default.nix
@@ -6,7 +6,7 @@
 
 let
   pname = "lefthook";
-  version = "1.4.6";
+  version = "1.4.7";
 in
 buildGoModule rec {
   inherit pname version;
@@ -15,7 +15,7 @@ buildGoModule rec {
     owner = "evilmartians";
     repo = "lefthook";
     rev = "v${version}";
-    hash = "sha256-2SgzNDG63Lsddhn1phqBNuar4I5Gr4mkHv3pYvMIZ28=";
+    hash = "sha256-zpey+2j0pLpE+wvqPcjVS5Mp+eQJiYtRsFAC8lPh4ck=";
   };
 
   vendorHash = "sha256-/VLS7+nPERjIU7V2CzqXH69Z3/y+GKZbAFn+KcRKRuA=";
diff --git a/pkgs/applications/video/davinci-resolve/default.nix b/pkgs/applications/video/davinci-resolve/default.nix
index 459208f411cc1..d6a8125f324c9 100644
--- a/pkgs/applications/video/davinci-resolve/default.nix
+++ b/pkgs/applications/video/davinci-resolve/default.nix
@@ -74,6 +74,7 @@ let
             "email" = "someone@nixos.org";
             "phone" = "+31 71 452 5670";
             "country" = "nl";
+            "street" = "Hogeweide 346";
             "state" = "Province of Utrecht";
             "city" = "Utrecht";
             "product" = "DaVinci Resolve";
@@ -98,7 +99,6 @@ let
 
         curl \
           --retry 3 --retry-delay 3 \
-          --header "Host: sw.blackmagicdesign.com" \
           --header "Upgrade-Insecure-Requests: 1" \
           --header "$USERAGENT" \
           --header "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8" \
diff --git a/pkgs/applications/video/frigate/default.nix b/pkgs/applications/video/frigate/default.nix
index e61d276147583..42d5b281bbea2 100644
--- a/pkgs/applications/video/frigate/default.nix
+++ b/pkgs/applications/video/frigate/default.nix
@@ -92,11 +92,11 @@ python.pkgs.buildPythonApplication rec {
 
     substituteInPlace frigate/const.py \
       --replace "/media/frigate" "/var/lib/frigate" \
-      --replace "/tmp/cache" "/var/cache/frigate"
+      --replace "/tmp/cache" "/var/cache/frigate/"
 
     substituteInPlace frigate/http.py \
       --replace "/opt/frigate" "${placeholder "out"}/${python.sitePackages}" \
-      --replace "/tmp/cache/" "/var/cache/frigate"
+      --replace "/tmp/cache/" "/var/cache/frigate/"
 
     substituteInPlace frigate/output.py \
       --replace "/opt/frigate" "${placeholder "out"}/${python.sitePackages}"
diff --git a/pkgs/applications/video/multiviewer-for-f1/default.nix b/pkgs/applications/video/multiviewer-for-f1/default.nix
index d373a850e65ab..0c6dbe8e7a95a 100644
--- a/pkgs/applications/video/multiviewer-for-f1/default.nix
+++ b/pkgs/applications/video/multiviewer-for-f1/default.nix
@@ -24,15 +24,15 @@
 }:
 
 let
-  id = "117980724";
+  id = "118976581";
 in
 stdenvNoCC.mkDerivation rec {
   pname = "multiviewer-for-f1";
-  version = "1.24.1";
+  version = "1.24.2";
 
   src = fetchurl {
     url = "https://releases.multiviewer.dev/download/${id}/multiviewer-for-f1_${version}_amd64.deb";
-    sha256 = "sha256-uEcxDIWolouIUJ8Xuva3rtW51gfCddAwTGqOBnucmmY=";
+    sha256 = "sha256-zll639fQFdrNvIj/4ECqEGxQw4VgfERGlti7opSmSi0=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/video/obs-studio/Provide-runtime-plugin-destination-as-relative-path.patch b/pkgs/applications/video/obs-studio/Provide-runtime-plugin-destination-as-relative-path.patch
deleted file mode 100644
index b39cb04a899c9..0000000000000
--- a/pkgs/applications/video/obs-studio/Provide-runtime-plugin-destination-as-relative-path.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-diff --git a/libobs/CMakeLists.txt b/libobs/CMakeLists.txt
-index 790583cd5..763cf3548 100644
---- a/libobs/CMakeLists.txt
-+++ b/libobs/CMakeLists.txt
-@@ -455,6 +455,8 @@ elseif(OS_POSIX)
-     libobs PROPERTIES BUILD_RPATH "$<TARGET_FILE_DIR:OBS::libobs-opengl>")
- endif()
- 
-+string(REGEX REPLACE "^${OBS_INSTALL_PREFIX}" "" OBS_PLUGIN_DESTINATION_RELATIVE ${OBS_PLUGIN_DESTINATION})
-+
- configure_file(${CMAKE_CURRENT_SOURCE_DIR}/obsconfig.h.in
-                ${CMAKE_BINARY_DIR}/config/obsconfig.h)
- 
-diff --git a/libobs/obsconfig.h.in b/libobs/obsconfig.h.in
-index 4a664285a..5cff2ca53 100644
---- a/libobs/obsconfig.h.in
-+++ b/libobs/obsconfig.h.in
-@@ -13,7 +13,7 @@
- #define OBS_VERSION_CANONICAL "@OBS_VERSION_CANONICAL@"
- #define OBS_DATA_PATH "@OBS_DATA_PATH@"
- #define OBS_INSTALL_PREFIX "@OBS_INSTALL_PREFIX@"
--#define OBS_PLUGIN_DESTINATION "@OBS_PLUGIN_DESTINATION@"
-+#define OBS_PLUGIN_DESTINATION "@OBS_PLUGIN_DESTINATION_RELATIVE@"
- #define OBS_QT_VERSION @_QT_VERSION@
- 
- #cmakedefine LINUX_PORTABLE
diff --git a/pkgs/applications/video/obs-studio/default.nix b/pkgs/applications/video/obs-studio/default.nix
index 286fc8fcc9525..1889d4354fdd8 100644
--- a/pkgs/applications/video/obs-studio/default.nix
+++ b/pkgs/applications/video/obs-studio/default.nix
@@ -21,11 +21,12 @@
 , xorg
 , pkg-config
 , libvlc
+, libGL
 , mbedtls
 , wrapGAppsHook
 , scriptingSupport ? true
 , luajit
-, swig
+, swig4
 , python3
 , alsaSupport ? stdenv.isLinux
 , alsa-lib
@@ -42,6 +43,9 @@
 , srt
 , qtwayland
 , wrapQtAppsHook
+, nlohmann_json
+, websocketpp
+, asio
 }:
 
 let
@@ -50,20 +54,20 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "obs-studio";
-  version = "29.0.2";
+  version = "29.1.3";
 
   src = fetchFromGitHub {
     owner = "obsproject";
     repo = "obs-studio";
     rev = version;
-    sha256 = "sha256-TIUSjyPEsKRNTSLQXuLJGEgD989hJ5GhOsqJ4nkKVsY=";
+    sha256 = "sha256-D0DPueMtopwz5rLgM8QcPT7DgTKcJKQHnst69EY9V6Q=";
     fetchSubmodules = true;
   };
 
   patches = [
     # Lets obs-browser build against CEF 90.1.0+
     ./Enable-file-access-and-universal-access-for-file-URL.patch
-    ./Provide-runtime-plugin-destination-as-relative-path.patch
+    ./fix-nix-plugin-path.patch
   ];
 
   nativeBuildInputs = [
@@ -73,7 +77,7 @@ stdenv.mkDerivation rec {
     wrapGAppsHook
     wrapQtAppsHook
   ]
-  ++ optional scriptingSupport swig;
+  ++ optional scriptingSupport swig4;
 
   buildInputs = [
     curl
@@ -99,6 +103,9 @@ stdenv.mkDerivation rec {
     libva
     srt
     qtwayland
+    nlohmann_json
+    websocketpp
+    asio
   ]
   ++ optionals scriptingSupport [ luajit python3 ]
   ++ optional alsaSupport alsa-lib
@@ -117,11 +124,7 @@ stdenv.mkDerivation rec {
     cp -r ${libcef}/include cef/
   '';
 
-  # obs attempts to dlopen libobs-opengl, it fails unless we make sure
-  # DL_OPENGL is an explicit path. Not sure if there's a better way
-  # to handle this.
   cmakeFlags = [
-    "-DCMAKE_CXX_FLAGS=-DDL_OPENGL=\\\"$(out)/lib/libobs-opengl.so\\\""
     "-DOBS_VERSION_OVERRIDE=${version}"
     "-Wno-dev" # kill dev warnings that are useless for packaging
     # Add support for browser source
@@ -133,7 +136,7 @@ stdenv.mkDerivation rec {
   dontWrapGApps = true;
   preFixup = ''
     qtWrapperArgs+=(
-      --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ xorg.libX11 libvlc ]}"
+      --prefix LD_LIBRARY_PATH : "$out/lib:${lib.makeLibraryPath [ xorg.libX11 libvlc libGL ]}"
       ''${gappsWrapperArgs[@]}
     )
   '';
diff --git a/pkgs/applications/video/obs-studio/fix-nix-plugin-path.patch b/pkgs/applications/video/obs-studio/fix-nix-plugin-path.patch
new file mode 100644
index 0000000000000..d2c08c308bce5
--- /dev/null
+++ b/pkgs/applications/video/obs-studio/fix-nix-plugin-path.patch
@@ -0,0 +1,13 @@
+diff --git a/libobs/obs-nix.c b/libobs/obs-nix.c
+index 36aac7097..801cec788 100644
+--- a/libobs/obs-nix.c
++++ b/libobs/obs-nix.c
+@@ -56,7 +56,7 @@ const char *get_module_extension(void)
+ #define FLATPAK_PLUGIN_PATH "/app/plugins"
+ 
+ static const char *module_bin[] = {
+-	OBS_INSTALL_PREFIX "/" OBS_PLUGIN_DESTINATION,
++	OBS_PLUGIN_DESTINATION,
+ 	"../../obs-plugins/" BIT_STRING,
+ 	FLATPAK_PLUGIN_PATH "/" OBS_PLUGIN_DESTINATION,
+ };
diff --git a/pkgs/applications/video/obs-studio/plugins/obs-source-record.nix b/pkgs/applications/video/obs-studio/plugins/obs-source-record.nix
index 29dcb533915c4..9f1a52bd8bd06 100644
--- a/pkgs/applications/video/obs-studio/plugins/obs-source-record.nix
+++ b/pkgs/applications/video/obs-studio/plugins/obs-source-record.nix
@@ -1,21 +1,31 @@
-{ lib, stdenv, fetchFromGitHub, cmake, obs-studio }:
+{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake, obs-studio }:
 
 stdenv.mkDerivation rec {
   pname = "obs-source-record";
-  version = "unstable-2022-11-10";
+  version = "0.3.2";
 
   src = fetchFromGitHub {
     owner = "exeldro";
     repo = "obs-source-record";
-    rev = "4a543d3577d56a27f5f2b9aa541a466b37dafde0";
-    sha256 = "sha256-LoMgrWZ7r6lu2fisNvqrAiFvxWQQDE6lSxUHkMB/ZPY=";
+    rev = version;
+    sha256 = "sha256-H65uQ9HnKmHs52v3spG92ayeYH/TvmwcMoePMmBMqN8=";
   };
 
+  patches = [
+    # fix obs 29.1 compatibility
+    (fetchpatch {
+      url = "https://patch-diff.githubusercontent.com/raw/exeldro/obs-source-record/pull/83.diff";
+      hash = "sha256-eWOjHHfoXZeoPtqvVyexSi/UQqHm8nu4FEEjma64Ly4=";
+    })
+  ];
+
   nativeBuildInputs = [ cmake ];
   buildInputs = [
     obs-studio
   ];
 
+  NIX_CFLAGS_COMPILE = [ "-Wno-error=deprecated-declarations" ];
+
   cmakeFlags = [
     "-DBUILD_OUT_OF_TREE=On"
   ];
diff --git a/pkgs/applications/video/xine/lib.nix b/pkgs/applications/video/xine/lib.nix
new file mode 100644
index 0000000000000..ec3a642082674
--- /dev/null
+++ b/pkgs/applications/video/xine/lib.nix
@@ -0,0 +1,92 @@
+{ lib
+, stdenv
+, fetchurl
+, aalib
+, alsa-lib
+, autoreconfHook
+, ffmpeg
+, flac
+, libGL
+, libGLU
+, libX11
+, libXext
+, libXinerama
+, libXv
+, libcaca
+, libcdio
+, libmng
+, libmpcdec
+, libpulseaudio
+, libtheora
+, libv4l
+, libvorbis
+, libxcb
+, ncurses
+, perl
+, pkg-config
+, speex
+, vcdimager
+, zlib
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "xine-lib";
+  version = "1.2.13";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/xine/xine-lib-${finalAttrs.version}.tar.xz";
+    hash = "sha256-XxDW1xikpRwX7RsysDHU+bgLBh6CdlNbK+MeWsS3Xm8=";
+  };
+
+  outputs = [ "out" "dev" "man" ];
+
+  nativeBuildInputs = [
+    autoreconfHook
+    perl
+    pkg-config
+  ];
+
+  buildInputs = [
+    aalib
+    alsa-lib
+    ffmpeg
+    flac
+    libGL
+    libGLU
+    libX11
+    libXext
+    libXinerama
+    libXv
+    libcaca
+    libcdio
+    libmng
+    libmpcdec
+    libpulseaudio
+    libtheora
+    libv4l
+    libvorbis
+    libxcb
+    ncurses
+    perl
+    speex
+    vcdimager
+    zlib
+    libX11
+    libXext
+    libXinerama
+    libXv
+    libxcb
+  ];
+
+  enableParallelBuilding = true;
+
+  env.NIX_LDFLAGS = "-lxcb-shm";
+
+  meta = {
+    homepage = "https://xine.sourceforge.net/";
+    description = "A high-performance, portable and reusable multimedia playback engine";
+    license = with lib.licenses; [ gpl2Plus lgpl2Plus ];
+    maintainers = with lib.maintainers; [ AndersonTorres ];
+    platforms = lib.platforms.linux;
+  };
+})
diff --git a/pkgs/applications/video/xine-ui/default.nix b/pkgs/applications/video/xine/ui.nix
index 8becf629d153d..2437705ceac9a 100644
--- a/pkgs/applications/video/xine-ui/default.nix
+++ b/pkgs/applications/video/xine/ui.nix
@@ -4,6 +4,13 @@
 , fetchpatch
 , autoreconfHook
 , curl
+, libXext
+, libXft
+, libXi
+, libXinerama
+, libXtst
+, libXv
+, libXxf86vm
 , libjpeg
 , libpng
 , lirc
@@ -12,41 +19,28 @@
 , readline
 , shared-mime-info
 , xine-lib
-, xorg
+, xorgproto
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "xine-ui";
-  version = "0.99.13";
+  version = "0.99.14";
 
   src = fetchurl {
-    url = "mirror://sourceforge/xine/${pname}-${version}.tar.xz";
-    sha256 = "sha256-sjgtB1xysbEAOeDpAxDMhsjZEDWMU1We2C09WEIB9cU=";
+    url = "mirror://sourceforge/xine/xine-ui-${finalAttrs.version}.tar.xz";
+    hash = "sha256-1NSQ1c7OcOK7mEnJ5ILyz4evAwLUUbYUR2/cw2Qs2cM=";
   };
 
-  patches = [
-    (fetchpatch {
-      # Fix build on aarch64
-      name = "xine-ui_FTBS_aarch64.patch";
-      url = "https://salsa.debian.org/debian/xine-ui/-/raw/b2f04f64947a8975a805950e7e67b15cb44007ef/debian/patches/backport/0003-Fix-build.patch";
-      sha256 = "03f8nkm7q11v5vssl1bj500ja4ljz4y752mfk22k2g4djkwimx62";
-    })
-  ];
+  outputs = [ "out" "dev" "lib" "man" ];
 
   nativeBuildInputs = [
     autoreconfHook
     pkg-config
     shared-mime-info
   ];
+
   buildInputs = [
     curl
-    libjpeg
-    libpng
-    lirc
-    ncurses
-    readline
-    xine-lib
-  ] ++ (with xorg; [
     libXext
     libXft
     libXi
@@ -54,24 +48,32 @@ stdenv.mkDerivation rec {
     libXtst
     libXv
     libXxf86vm
+    libjpeg
+    libpng
+    lirc
+    ncurses
+    readline
+    xine-lib
     xorgproto
-  ]);
+  ];
 
   configureFlags = [ "--with-readline=${readline.dev}" ];
 
-  LIRC_CFLAGS="-I${lirc}/include";
-  LIRC_LIBS="-L ${lirc}/lib -llirc_client";
+  env = {
+    LIRC_CFLAGS="-I${lirc}/include";
+    LIRC_LIBS="-L ${lirc}/lib -llirc_client";
+  };
 
   postInstall = ''
     substituteInPlace $out/share/applications/xine.desktop \
       --replace "MimeType=;" "MimeType="
   '';
 
-  meta = with lib; {
+  meta = {
     homepage = "https://xine.sourceforge.net/";
     description = "Xlib-based frontend for Xine video player";
-    license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ AndersonTorres ];
-    platforms = platforms.linux;
+    license = lib.licenses.gpl2Plus;
+    maintainers = with lib.maintainers; [ AndersonTorres ];
+    platforms = lib.platforms.linux;
   };
-}
+})
diff --git a/pkgs/applications/virtualization/containerd/default.nix b/pkgs/applications/virtualization/containerd/default.nix
index 33fb9457ba203..f07debac98ef7 100644
--- a/pkgs/applications/virtualization/containerd/default.nix
+++ b/pkgs/applications/virtualization/containerd/default.nix
@@ -11,13 +11,13 @@
 
 buildGoModule rec {
   pname = "containerd";
-  version = "1.7.2";
+  version = "1.7.3";
 
   src = fetchFromGitHub {
     owner = "containerd";
     repo = "containerd";
     rev = "v${version}";
-    hash = "sha256-L4zaA+kMBz2tRMbitZUxb9/wdimSO2njx6ozvyKKlkk=";
+    hash = "sha256-BUbZe37rBZTr6nWb4lY2HHuwtq7toDUkGaJOiOoVkWI=";
   };
 
   vendorHash = null;
diff --git a/pkgs/applications/virtualization/docker/default.nix b/pkgs/applications/virtualization/docker/default.nix
index cf5698c5bbdce..5deb6d77c37bd 100644
--- a/pkgs/applications/virtualization/docker/default.nix
+++ b/pkgs/applications/virtualization/docker/default.nix
@@ -97,7 +97,7 @@ rec {
 
       extraUserPath = lib.optionals (stdenv.isLinux && !clientOnly) (lib.makeBinPath [ rootlesskit slirp4netns fuse-overlayfs ]);
 
-      patches = [
+      patches = lib.optionals (lib.versionOlder version "23") [
         # This patch incorporates code from a PR fixing using buildkit with the ZFS graph driver.
         # It could be removed when a version incorporating this patch is released.
         (fetchpatch {
@@ -105,6 +105,7 @@ rec {
           url = "https://github.com/moby/moby/pull/43136.patch";
           hash = "sha256-1WZfpVnnqFwLMYqaHLploOodls0gHF8OCp7MrM26iX8=";
         })
+      ] ++ lib.optionals (lib.versionOlder version "23.0.5") [
         (fetchpatch {
           name = "fix-issue-with-go-1.20.6.patch";
           url = "https://github.com/moby/moby/pull/45972.patch";
@@ -181,14 +182,13 @@ rec {
     nativeBuildInputs = [
       makeWrapper pkg-config go-md2man go libtool installShellFiles
     ];
-    buildInputs = lib.optional (!clientOnly) sqlite
-      ++ lib.optional withLvm lvm2
-      ++ lib.optional withBtrfs btrfs-progs
-      ++ lib.optional withSystemd systemd
-      ++ lib.optional withSeccomp libseccomp
-      ++ plugins;
-
-    patches = [
+
+    buildInputs = plugins ++ lib.optionals (lib.versionAtLeast version "23") [
+      glibc
+      glibc.static
+    ];
+
+    patches = lib.optionals (lib.versionOlder version "23.0.5") [
       (fetchpatch {
         name = "fix-issue-with-go-1.20.6.patch";
         url = "https://github.com/docker/cli/pull/4441.patch";
@@ -222,7 +222,7 @@ rec {
       cd -
     '';
 
-    outputs = ["out" "man"];
+    outputs = ["out"] ++ lib.optional (lib.versionOlder version "23") "man";
 
     installPhase = ''
       cd ./go/src/${goPackagePath}
@@ -244,13 +244,13 @@ rec {
       installShellCompletion --bash ./contrib/completion/bash/docker
       installShellCompletion --fish ./contrib/completion/fish/docker.fish
       installShellCompletion --zsh  ./contrib/completion/zsh/_docker
-    '' + lib.optionalString (stdenv.hostPlatform == stdenv.buildPlatform) ''
+    '' + lib.optionalString (stdenv.hostPlatform == stdenv.buildPlatform && lib.versionOlder version "23") ''
       # Generate man pages from cobra commands
       echo "Generate man pages from cobra"
       mkdir -p ./man/man1
       go build -o ./gen-manpages github.com/docker/cli/man
       ./gen-manpages --root . --target ./man/man1
-    '' + ''
+    '' + lib.optionalString (lib.versionOlder version "23") ''
       # Generate legacy pages from markdown
       echo "Generate legacy manpages"
       ./man/md2man-all.sh -q
@@ -292,4 +292,18 @@ rec {
     tiniRev = "v0.19.0";
     tiniHash = "sha256-ZDKu/8yE5G0RYFJdhgmCdN3obJNyRWv6K/Gd17zc1sI=";
   };
+
+  docker_24 = callPackage dockerGen rec {
+    version = "24.0.5";
+    cliRev = "v${version}";
+    cliHash = "sha256-u1quVGTx/p8BDyRn33vYyyuE5BOhWMnGQ5uVX0PZ5mg=";
+    mobyRev = "v${version}";
+    mobyHash = "sha256-JQjRz1fHZlQRkNw/R8WWLV8caN3/U3mrKKQXbZt2crU=";
+    runcRev = "v1.1.8";
+    runcHash = "sha256-rDJYEc64KW4Qa3Eg2oUjJqIKrg6THb5hxQFFbvb9Zp4=";
+    containerdRev = "v1.7.1";
+    containerdHash = "sha256-WwedtcsrDQwMQcKFO5nnPiHyGJpl5hXZlmpbBe1/ftY=";
+    tiniRev = "v0.19.0";
+    tiniHash = "sha256-ZDKu/8yE5G0RYFJdhgmCdN3obJNyRWv6K/Gd17zc1sI=";
+  };
 }
diff --git a/pkgs/applications/virtualization/kvmtool/default.nix b/pkgs/applications/virtualization/kvmtool/default.nix
index bf134e2cb07cd..e3b52c411d6b8 100644
--- a/pkgs/applications/virtualization/kvmtool/default.nix
+++ b/pkgs/applications/virtualization/kvmtool/default.nix
@@ -29,5 +29,6 @@ stdenv.mkDerivation {
     license = licenses.gpl2Only;
     maintainers = with maintainers; [ astro ];
     platforms = [ "x86_64-linux" "aarch64-linux" ];
+    mainProgram = "nvramtool";
   };
 }
diff --git a/pkgs/applications/virtualization/nixpacks/default.nix b/pkgs/applications/virtualization/nixpacks/default.nix
index 1fc6b7dd9e70b..6c9ea55a29498 100644
--- a/pkgs/applications/virtualization/nixpacks/default.nix
+++ b/pkgs/applications/virtualization/nixpacks/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "nixpacks";
-  version = "1.10.1";
+  version = "1.12.0";
 
   src = fetchFromGitHub {
     owner = "railwayapp";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-1XaIdnIBLHrT/w41pMm6EUEsvM8oY4r868MzK1vme44=";
+    sha256 = "sha256-Pm02VKqaxXVLKqChbp7MQIccwzukAG2h0QrEZftQoQo=";
   };
 
-  cargoHash = "sha256-8b5fLmhEJozk0j2z5B8wCcza4ZKiKbFYsoVBwz/urK8=";
+  cargoHash = "sha256-elBLH2n+t+bixKePRmK1YiXsdDuerYzV+PbpjFEcA1g=";
 
   # skip test due FHS dependency
   doCheck = false;
diff --git a/pkgs/applications/window-managers/cage/default.nix b/pkgs/applications/window-managers/cage/default.nix
index fafad73527dcb..c94263f816125 100644
--- a/pkgs/applications/window-managers/cage/default.nix
+++ b/pkgs/applications/window-managers/cage/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchFromGitHub
 , meson, ninja, pkg-config, wayland-scanner, scdoc, makeWrapper
-, wlroots, wayland, wayland-protocols, pixman, libxkbcommon
+, wlroots, wayland, wayland-protocols, pixman, libxkbcommon, xcbutilwm
 , systemd, libGL, libX11, mesa
 , xwayland ? null
 , nixosTests
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation rec {
   pname = "cage";
-  version = "0.1.4";
+  version = "0.1.5";
 
   src = fetchFromGitHub {
     owner = "Hjdskes";
     repo = "cage";
     rev = "v${version}";
-    sha256 = "0vm96gxinhy48m3x9p1sfldyd03w3gk6iflb7n9kn06j1vqyswr6";
+    hash = "sha256-Suq14YRw/MReDRvO/TQqjpZvpzAEDnHUyVbQj0BPT4c=";
   };
 
   depsBuildBuild = [
@@ -24,15 +24,11 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ meson ninja pkg-config wayland-scanner scdoc makeWrapper ];
 
   buildInputs = [
-    wlroots wayland wayland-protocols pixman libxkbcommon
+    wlroots wayland wayland-protocols pixman libxkbcommon xcbutilwm
     mesa # for libEGL headers
     systemd libGL libX11
   ];
 
-  # https://github.com/cage-kiosk/cage/issues/231
-  # cage will segfault on start with `-m last` without this
-  CFLAGS = "-O0";
-
   mesonFlags = [ "-Dxwayland=${lib.boolToString (xwayland != null)}" ];
 
   postFixup = lib.optionalString (xwayland != null) ''
@@ -48,5 +44,6 @@ stdenv.mkDerivation rec {
     license     = licenses.mit;
     platforms   = platforms.linux;
     maintainers = with maintainers; [ primeos ];
+    mainProgram = "cage";
   };
 }
diff --git a/pkgs/applications/window-managers/i3/status-rust.nix b/pkgs/applications/window-managers/i3/status-rust.nix
index 9d7eac5f5544e..d779297445969 100644
--- a/pkgs/applications/window-managers/i3/status-rust.nix
+++ b/pkgs/applications/window-managers/i3/status-rust.nix
@@ -15,16 +15,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "i3status-rust";
-  version = "0.31.8";
+  version = "0.31.9";
 
   src = fetchFromGitHub {
     owner = "greshake";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-JkX1CGTy5iaItqKCEHaWmUt3qkLSEnxsZGpPScL4ERc=";
+    hash = "sha256-PldCtV979mJSgQtMHx/gfhKrsBByiywLMO9LjyggvCA=";
   };
 
-  cargoHash = "sha256-QjqdGT0uVW67gQHeR4Rixpt9Wn0tyZvsDw1lyLrqabA=";
+  cargoHash = "sha256-wCBg3qYy9wrsM4eJ1FV4OEI+ZwkbXn5jQZ/m7KMgHCc=";
 
   nativeBuildInputs = [ pkg-config makeWrapper ];
 
diff --git a/pkgs/build-support/fetch9front/default.nix b/pkgs/build-support/fetch9front/default.nix
new file mode 100644
index 0000000000000..677fee1decd77
--- /dev/null
+++ b/pkgs/build-support/fetch9front/default.nix
@@ -0,0 +1,36 @@
+{ fetchgit, fetchzip, lib }:
+
+lib.makeOverridable (
+  { owner
+  , repo
+  , rev
+  , domain ? "git.9front.org"
+  , name ? "source"
+  , leaveDotGit ? false
+  , deepClone ? false
+  , ... # For hash agility
+  } @ args:
+
+  let
+    passthruAttrs = removeAttrs args [ "domain" "owner" "repo" "rev" "leaveDotGit" "deepClone" ];
+
+    useFetchGit = leaveDotGit || deepClone;
+    fetcher = if useFetchGit then fetchgit else fetchzip;
+
+    gitRepoUrl = "git://${domain}/${owner}/${repo}";
+
+    fetcherArgs = (if useFetchGit then {
+      # git9 does not support shallow fetches
+      inherit rev leaveDotGit;
+      url = gitRepoUrl;
+    } else {
+      url = "https://${domain}/${owner}/${repo}/${rev}/snap.tar.gz";
+
+      passthru = {
+        inherit gitRepoUrl;
+      };
+    }) // passthruAttrs // { inherit name; };
+  in
+
+  fetcher fetcherArgs // { inherit rev; }
+)
diff --git a/pkgs/build-support/fetchfirefoxaddon/default.nix b/pkgs/build-support/fetchfirefoxaddon/default.nix
index 41eaa550ea274..e07a6a1a79dd1 100644
--- a/pkgs/build-support/fetchfirefoxaddon/default.nix
+++ b/pkgs/build-support/fetchfirefoxaddon/default.nix
@@ -9,7 +9,6 @@
 
 { name
 , url ? null
-, md5 ? ""
 , sha1 ? ""
 , sha256 ? ""
 , sha512 ? ""
@@ -23,7 +22,7 @@ let
   source = if url == null then src else
   fetchurl {
     url = url;
-    inherit md5 sha1 sha256 sha512 hash;
+    inherit sha1 sha256 sha512 hash;
   };
 in
 stdenv.mkDerivation {
diff --git a/pkgs/build-support/writers/scripts.nix b/pkgs/build-support/writers/scripts.nix
index 7fc47fbcdf94d..c43f10f0a2ec8 100644
--- a/pkgs/build-support/writers/scripts.nix
+++ b/pkgs/build-support/writers/scripts.nix
@@ -25,13 +25,21 @@ rec {
       name = last (builtins.split "/" nameOrPath);
     in
 
-    pkgs.runCommandLocal name (if (types.str.check content) then {
-      inherit content interpreter;
-      passAsFile = [ "content" ];
-    } else {
-      inherit interpreter;
-      contentPath = content;
-    }) ''
+    pkgs.runCommandLocal name (
+      lib.optionalAttrs (nameOrPath == "/bin/${name}") {
+        meta.mainProgram = name;
+      }
+      // (
+        if (types.str.check content) then {
+          inherit content interpreter;
+          passAsFile = [ "content" ];
+        } else {
+          inherit interpreter;
+          contentPath = content;
+        }
+      )
+    )
+    ''
       # On darwin a script cannot be used as an interpreter in a shebang but
       # there doesn't seem to be a limit to the size of shebang and multiple
       # arguments to the interpreter are allowed.
@@ -89,6 +97,8 @@ rec {
       # https://github.com/NixOS/nixpkgs/issues/154203
       # https://github.com/NixOS/nixpkgs/issues/148189
       nativeBuildInputs = [ stdenv.cc.bintools ];
+    } // lib.optionalAttrs (nameOrPath == "/bin/${name}") {
+      meta.mainProgram = name;
     }) ''
       ${compileScript}
       ${lib.optionalString strip
diff --git a/pkgs/common-updater/unstable-updater.nix b/pkgs/common-updater/unstable-updater.nix
index f8944222a8d58..29b7fcf196795 100644
--- a/pkgs/common-updater/unstable-updater.nix
+++ b/pkgs/common-updater/unstable-updater.nix
@@ -12,6 +12,7 @@
 , branch ? null
 , stableVersion ? false # Use version format according to RFC 107 (i.e. LAST_TAG+date=YYYY-MM-DD)
 , tagPrefix ? "" # strip this prefix from a tag name when using stable version
+, shallowClone ? true
 }:
 
 let
@@ -22,6 +23,7 @@ let
     branch=""
     use_stable_version=""
     tag_prefix=""
+    shallow_clone=""
 
     while (( $# > 0 )); do
         flag="$1"
@@ -39,6 +41,9 @@ let
           --tag-prefix=*)
             tag_prefix="''${flag#*=}"
             ;;
+          --shallow-clone)
+            shallow_clone=1
+            ;;
           *)
             echo "$0: unknown option ‘''${flag}’"
             exit 1
@@ -58,9 +63,12 @@ let
 
     cloneArgs=(
       --bare
-      --depth=1
     )
 
+    if [[ "$shallow_clone" == "1" ]]; then
+        cloneArgs+=(--depth=1)
+    fi
+
     if [[ -n "$branch" ]]; then
         cloneArgs+=(--branch="$branch")
     fi
@@ -101,7 +109,8 @@ let
         --rev="$commit_sha"
   '';
 
-in [
+in
+[
   updateScript
   "--url=${builtins.toString url}"
 ] ++ lib.optionals (branch != null) [
@@ -109,4 +118,6 @@ in [
 ] ++ lib.optionals stableVersion [
   "--use-stable-version"
   "--tag-prefix=${tagPrefix}"
+] ++ lib.optionals shallowClone [
+  "--shallow-clone"
 ]
diff --git a/pkgs/data/fonts/commit-mono/default.nix b/pkgs/data/fonts/commit-mono/default.nix
new file mode 100644
index 0000000000000..87d5f9dab25fe
--- /dev/null
+++ b/pkgs/data/fonts/commit-mono/default.nix
@@ -0,0 +1,34 @@
+{ lib
+, stdenvNoCC
+, fetchzip
+}:
+stdenvNoCC.mkDerivation rec {
+  pname = "commit-mono";
+  version = "1.132";
+
+  src = fetchzip {
+    url = "https://github.com/eigilnikolajsen/commit-mono/releases/download/${version}/CommitMono-${version}.zip";
+    sha256 = "sha256-a9zxzjfOFmqemSIb4Tav0l7YtKvbyizDy+1dwPuZ4d4=";
+    stripRoot = false;
+  };
+
+  dontConfigure = true;
+  dontPatch = true;
+  dontBuild = true;
+  dontFixup = true;
+  doCheck = false;
+
+  installPhase = ''
+    runHook preInstall
+    install -Dm644 -t $out/share/fonts/opentype/ *.otf
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "An anonymous and neutral programming typeface focused on creating a better reading experience";
+    homepage = "https://commitmono.com/";
+    license = licenses.ofl;
+    maintainers = [ maintainers.yoavlavi ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/data/fonts/maple-font/default.nix b/pkgs/data/fonts/maple-font/default.nix
index 3c870abab6ad8..af4746fa2c461 100644
--- a/pkgs/data/fonts/maple-font/default.nix
+++ b/pkgs/data/fonts/maple-font/default.nix
@@ -9,7 +9,7 @@ let
     rec{
 
       inherit pname desc;
-      version = "6.3";
+      version = "6.4";
       src = fetchurl {
         url = "https://github.com/subframe7536/Maple-font/releases/download/v${version}/${pname}.zip";
         inherit sha256;
@@ -39,34 +39,40 @@ let
 in
 {
   Mono = maple-font {
-    pname = "MapleMono";
-    sha256 = "sha256-Ap4OwP/QGFz9+xn12rekia1/pwRxZvv+H+ZmZiXcxcY=";
-    desc = "monospace";
+    pname = "MapleMono-ttf";
+    sha256 = "sha256-a06JLIP5aVb9SeEz6kw+LqKy0ydCgaUlPDFWA2Y0G8Q=";
+    desc = "monospace TrueType";
   };
 
   NF = maple-font {
     pname = "MapleMono-NF";
-    sha256 = "sha256-WZHFQRG+81TF5YgOT249c8VA8vAvYowiQx/pqsDuJ4o=";
+    sha256 = "sha256-fy+hdUYZDW5nkMVirhkmys3tIkWezPDrlpNxnRMl4WU=";
     desc = "Nerd Font";
   };
 
   SC-NF = maple-font {
     pname = "MapleMono-SC-NF";
-    sha256 = "sha256-26odkmMljEwstRywDYJ7Dst5pfOXrtQTcrFFxbRwHcA=";
+    sha256 = "sha256-SbXWkrpLJUrq+Jt1h3GBP9md5TbYpPchdiR0oEDMAgY=";
     desc = "Nerd Font SC";
   };
 
   opentype = maple-font {
     pname = "MapleMono-otf";
-    sha256 = "sha256-u2IuymjiosoSbdIW7h2QalagTI+eDMRSuhLgXy5RdRA=";
+    sha256 = "sha256-fwfFlNbaWXFCjcno7NK3dZqAzsHLh9rdGkSq26xc9qw=";
     desc = "OpenType";
   };
 
   woff2 = maple-font {
     pname = "MapleMono-woff2";
-    sha256 = "sha256-iv6Q/aYMlAkhaem8tFWAzqc9mVgWQXghBzcHJz1dg/Y=";
+    sha256 = "sha256-4akpZGGth4yZjI5wjO3ZXrXcWNxb7/6YChU7T5fNVKs=";
     desc = "WOFF2.0";
   };
+
+  autohint = maple-font {
+    pname = "MapleMono-ttf-autohint";
+    sha256 = "sha256-rSYIC42Bt+KFgxhwRhXS4sbh4etKYkCOo5nP2J2BHt4=";
+    desc = "ttf autohint";
+  };
 }
 
 
diff --git a/pkgs/data/fonts/scheherazade/default.nix b/pkgs/data/fonts/scheherazade/default.nix
index 9960248b0d752..ffaf8aeb7824a 100644
--- a/pkgs/data/fonts/scheherazade/default.nix
+++ b/pkgs/data/fonts/scheherazade/default.nix
@@ -1,10 +1,11 @@
-{ lib, stdenvNoCC, fetchzip, version ? "3.300" }:
+{ lib, stdenvNoCC, fetchzip, version ? "4.000" }:
 
 let
   new = lib.versionAtLeast version "3.000";
   hash = {
     "2.100" = "sha256-d2UyOOOnmE1afCwyIrM1bL3lQC7XRwh03hzetk/4V30=";
     "3.300" = "sha256-LaaA6DWAE2dcwVVX4go9cJaiuwI6efYbPk82ym3W3IY=";
+    "4.000" = "sha256-FhgHlHCfojIl3Y11EDYhNTmLYwQ60OrwnA9nbZbZGJE=";
   }."${version}";
   pname = "scheherazade${lib.optionalString new "-new"}";
 in
diff --git a/pkgs/data/icons/papirus-icon-theme/default.nix b/pkgs/data/icons/papirus-icon-theme/default.nix
index 0548ac07cedb1..6df3087a79252 100644
--- a/pkgs/data/icons/papirus-icon-theme/default.nix
+++ b/pkgs/data/icons/papirus-icon-theme/default.nix
@@ -2,13 +2,13 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "papirus-icon-theme";
-  version = "20230601";
+  version = "20230801";
 
   src = fetchFromGitHub {
     owner = "PapirusDevelopmentTeam";
     repo = pname;
     rev = version;
-    sha256 = "sha256-p47Vt1nR94bXtpWjNaIWJNKbdgFFMc0qCBeh2V98CJg=";
+    hash = "sha256-sEfJKlGdogM0rOqg3Buytgd7vm0zEkmkSR343ZgGI2I=";
   };
 
   nativeBuildInputs = [ gtk3 papirus-folders ];
diff --git a/pkgs/data/misc/dbip-country-lite/default.nix b/pkgs/data/misc/dbip-country-lite/default.nix
index 73c8d44145051..60d5e332c2166 100644
--- a/pkgs/data/misc/dbip-country-lite/default.nix
+++ b/pkgs/data/misc/dbip-country-lite/default.nix
@@ -1,16 +1,15 @@
 { lib
 , stdenvNoCC
 , fetchurl
-, dbip-country-lite
 }:
 
-stdenvNoCC.mkDerivation rec {
+stdenvNoCC.mkDerivation (finalAttrs: {
   pname = "dbip-country-lite";
-  version = "2023-07";
+  version = "2023-08";
 
   src = fetchurl {
-    url = "https://download.db-ip.com/free/dbip-country-lite-${version}.mmdb.gz";
-    hash = "sha256-WVsyhopYbBlCWDq9UoPe1rcGU3pBYsXkqNWbaQXzRFA=";
+    url = "https://download.db-ip.com/free/dbip-country-lite-${finalAttrs.version}.mmdb.gz";
+    hash = "sha256-+IQSHgfVZ2codxkOKwi23CLjm+rYDZOQq5EWJs0OLiQ=";
   };
 
   dontUnpack = true;
@@ -24,7 +23,7 @@ stdenvNoCC.mkDerivation rec {
     runHook postBuild
   '';
 
-  passthru.mmdb = "${dbip-country-lite}/share/dbip/dbip-country-lite.mmdb";
+  passthru.mmdb = "${finalAttrs.finalPackage}/share/dbip/dbip-country-lite.mmdb";
 
   meta = with lib; {
     description = "The free IP to Country Lite database by DB-IP";
@@ -33,4 +32,4 @@ stdenvNoCC.mkDerivation rec {
     maintainers = with maintainers; [ nickcao ];
     platforms = platforms.all;
   };
-}
+})
diff --git a/pkgs/data/misc/v2ray-domain-list-community/default.nix b/pkgs/data/misc/v2ray-domain-list-community/default.nix
index 79b8a10d7d0d9..8864f3923f911 100644
--- a/pkgs/data/misc/v2ray-domain-list-community/default.nix
+++ b/pkgs/data/misc/v2ray-domain-list-community/default.nix
@@ -3,12 +3,12 @@
 let
   generator = pkgsBuildBuild.buildGoModule rec {
     pname = "v2ray-domain-list-community";
-    version = "20230725085751";
+    version = "20230730120627";
     src = fetchFromGitHub {
       owner = "v2fly";
       repo = "domain-list-community";
       rev = version;
-      hash = "sha256-4D975ASoDoXjEi0kkwsUIIT6nwOE3ggBzNUVp0ojsbQ=";
+      hash = "sha256-lnTP8KDYdIa7iq14h0TEVfAlJDtsURfSZaEdQ8L1TRM=";
     };
     vendorHash = "sha256-dYaGR5ZBORANKAYuPAi9i+KQn2OAGDGTZxdyVjkcVi8=";
     meta = with lib; {
diff --git a/pkgs/data/themes/catppuccin-sddm-corners/default.nix b/pkgs/data/themes/catppuccin-sddm-corners/default.nix
new file mode 100644
index 0000000000000..eca8bac5e4980
--- /dev/null
+++ b/pkgs/data/themes/catppuccin-sddm-corners/default.nix
@@ -0,0 +1,36 @@
+{ lib
+, stdenvNoCC
+, fetchFromGitHub
+}:
+
+stdenvNoCC.mkDerivation {
+  pname = "catppuccin-sddm-corners";
+  version = "unstable-2023-02-17";
+
+  src = fetchFromGitHub {
+    owner = "khaneliman";
+    repo = "catppuccin-sddm-corners";
+    rev = "7b7a86ee9a5a2905e7e6623d2af5922ce890ef79";
+    hash = "sha256-sTnt8RarNXz3RmYfmx4rD+nMlY8rr2n0EN3ntPzOurw=";
+  };
+
+  dontConfigure = true;
+  dontBuild = true;
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p "$out/share/sddm/themes/"
+    cp -r catppuccin/ "$out/share/sddm/themes/catppuccin-sddm-corners"
+
+    runHook postInstall
+  '';
+
+  meta = {
+    description = "Soothing pastel theme for SDDM based on corners theme.";
+    homepage = "https://github.com/khaneliman/sddm-catppuccin-corners";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ khaneliman ];
+    platforms = lib.platforms.linux;
+  };
+}
diff --git a/pkgs/data/themes/graphite-gtk-theme/default.nix b/pkgs/data/themes/graphite-gtk-theme/default.nix
index 5376a618aa924..ea5cf7a7d92d9 100644
--- a/pkgs/data/themes/graphite-gtk-theme/default.nix
+++ b/pkgs/data/themes/graphite-gtk-theme/default.nix
@@ -27,13 +27,13 @@ lib.checkListOfEnum "${pname}: grub screens" [ "1080p" "2k" "4k" ] grubScreens
 
 stdenvNoCC.mkDerivation rec {
   inherit pname;
-  version = "2022-09-02";
+  version = "2023-05-17";
 
   src = fetchFromGitHub {
     owner = "vinceliuice";
     repo = pname;
     rev = version;
-    sha256 = "PaqEkl0E3pUEJDEv1WwUqcjzAcQniN8rUGhVgbOxuhA=";
+    sha256 = "hymOqtwMk6Yja5le6ADZl04yjbOJjhairiH7a4m7gMk=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/budgie/budgie-control-center/default.nix b/pkgs/desktops/budgie/budgie-control-center/default.nix
index b8444f72e1fc7..1a51c3dfc1f1d 100644
--- a/pkgs/desktops/budgie/budgie-control-center/default.nix
+++ b/pkgs/desktops/budgie/budgie-control-center/default.nix
@@ -58,14 +58,14 @@
 
 stdenv.mkDerivation rec {
   pname = "budgie-control-center";
-  version = "1.2.0";
+  version = "1.3.0";
 
   src = fetchFromGitHub {
     owner = "BuddiesOfBudgie";
     repo = pname;
     rev = "v${version}";
     fetchSubmodules = true;
-    sha256 = "sha256-z9apestNLEUKzrCMNo0BNAWeyE6FsUCAzcHIom8LcUs=";
+    sha256 = "sha256-7E23cgX7TkBJT/yansBfvMx0ddfAwrF7mGfqzbyLY4Q=";
   };
 
   patches = [
diff --git a/pkgs/desktops/deepin/apps/deepin-clone/default.nix b/pkgs/desktops/deepin/apps/deepin-clone/default.nix
index 533d2562e6252..9f322efcbf50d 100644
--- a/pkgs/desktops/deepin/apps/deepin-clone/default.nix
+++ b/pkgs/desktops/deepin/apps/deepin-clone/default.nix
@@ -16,17 +16,17 @@
 
 stdenv.mkDerivation rec {
   pname = "deepin-clone";
-  version = "5.0.11";
+  version = "5.0.15";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    sha256 = "sha256-ZOJc8R82R9q87Qpf/J4CXE+xL6nvbsXRIs0boNY+2uk=";
+    hash = "sha256-yxYmRSiw/pjgHftu75S9yx0ZXrWRz0VbU8jPjl4baqQ=";
   };
 
   postPatch = ''
-    substituteInPlace app/{deepin-clone-ionice,deepin-clone-pkexec,deepin-clone.desktop,com.deepin.pkexec.deepin-clone.policy.tmp} \
+    substituteInPlace app/{deepin-clone-ionice,deepin-clone-pkexec,com.deepin.pkexec.deepin-clone.policy.tmp} \
       --replace "/usr" "$out"
 
     substituteInPlace app/src/corelib/ddevicediskinfo.cpp \
diff --git a/pkgs/desktops/deepin/apps/deepin-terminal/default.nix b/pkgs/desktops/deepin/apps/deepin-terminal/default.nix
index 9f27dbaab9e8a..5caa37bfeadd7 100644
--- a/pkgs/desktops/deepin/apps/deepin-terminal/default.nix
+++ b/pkgs/desktops/deepin/apps/deepin-terminal/default.nix
@@ -2,6 +2,7 @@
 , lib
 , fetchFromGitHub
 , fetchpatch
+, nixosTests
 , dtkwidget
 , qt5integration
 , qt5platform-plugins
@@ -55,6 +56,8 @@ stdenv.mkDerivation rec {
 
   strictDeps = true;
 
+  passthru.tests.test = nixosTests.terminal-emulators.deepin-terminal;
+
   meta = with lib; {
     description = "Terminal emulator with workspace, multiple windows, remote management, quake mode and other features";
     homepage = "https://github.com/linuxdeepin/deepin-terminal";
diff --git a/pkgs/desktops/deepin/core/dde-calendar/default.nix b/pkgs/desktops/deepin/core/dde-calendar/default.nix
index f3023c7cb9f31..62e8399ff253e 100644
--- a/pkgs/desktops/deepin/core/dde-calendar/default.nix
+++ b/pkgs/desktops/deepin/core/dde-calendar/default.nix
@@ -1,53 +1,40 @@
 { stdenv
 , lib
 , fetchFromGitHub
-, fetchpatch
-, dtkwidget
-, qt5integration
-, qt5platform-plugins
-, dde-qt-dbus-factory
 , cmake
 , qttools
 , pkg-config
 , wrapQtAppsHook
-, runtimeShell
+, dtkwidget
+, qt5integration
+, qt5platform-plugins
+, dde-qt-dbus-factory
 , qtbase
-, gtest
+, qtsvg
+, libical
+, sqlite
+, runtimeShell
 }:
 
 stdenv.mkDerivation rec {
   pname = "dde-calendar";
-  version = "5.8.30";
+  version = "5.10.1";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    sha256 = "sha256-8/UXq9W3Gb1Lg/nOji6zcHJts6lgY2uDxvrBxQs3Zio=";
+    hash = "sha256-oPrtPOCLZof4BysWfsCYeoqbJf30r7LijGEEXZlsAAY=";
   };
 
   patches = [
-    (fetchpatch {
-      name = "chore-use-GNUInstallDirs-in-CmakeLists.patch";
-      url = "https://github.com/linuxdeepin/dde-calendar/commit/b9d9555d90a36318eeee62ece49250b4bf8acd10.patch";
-      sha256 = "sha256-pvgxZPczs/lkwNjysNuVu+1AY69VZlxOn7hR9A02/3M=";
-    })
+    ./fix-wrapped-name-not-in-whitelist.diff
   ];
 
   postPatch = ''
-    substituteInPlace calendar-service/src/dbmanager/huanglidatabase.cpp \
-      --replace "/usr/share/dde-calendar/data/huangli.db" "$out/share/dde-calendar/data/huangli.db"
-    substituteInPlace calendar-service/src/main.cpp \
-      --replace "/usr/share/dde-calendar/translations" "$out/share/dde-calendar/translations"
-    substituteInPlace calendar-service/assets/data/com.deepin.dataserver.Calendar.service \
-      --replace "/usr/lib/deepin-daemon/dde-calendar-service" "$out/lib/deepin-daemon/dde-calendar-service"
-    substituteInPlace calendar-client/assets/dbus/com.deepin.Calendar.service \
-      --replace "/usr/bin/dde-calendar" "$out/bin/dde-calendar"
-    substituteInPlace calendar-service/{src/{csystemdtimercontrol.cpp,jobremindmanager.cpp},assets/{data/com.dde.calendarserver.calendar.service,dde-calendar-service.desktop}} \
-      --replace "/bin/bash" "${runtimeShell}"
-
-    substituteInPlace CMakeLists.txt \
-      --replace "ADD_SUBDIRECTORY(tests)" " "
+    for file in $(grep -rl "/bin/bash"); do
+      substituteInPlace $file --replace "/bin/bash" "${runtimeShell}"
+    done
   '';
 
   nativeBuildInputs = [
@@ -58,22 +45,19 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
-    dtkwidget
+    qt5integration
     qt5platform-plugins
+    dtkwidget
+    qtbase
+    qtsvg
     dde-qt-dbus-factory
-    gtest
+    libical
+    sqlite
   ];
 
   cmakeFlags = [ "-DVERSION=${version}" ];
 
-  # qt5integration must be placed before qtsvg in QT_PLUGIN_PATH
-  qtWrapperArgs = [
-    "--prefix QT_PLUGIN_PATH : ${qt5integration}/${qtbase.qtPluginPrefix}"
-  ];
-
-  postFixup = ''
-    wrapQtApp $out/lib/deepin-daemon/dde-calendar-service
-  '';
+  strictDeps = true;
 
   meta = with lib; {
     description = "Calendar for Deepin Desktop Environment";
@@ -83,3 +67,4 @@ stdenv.mkDerivation rec {
     maintainers = teams.deepin.members;
   };
 }
+
diff --git a/pkgs/desktops/deepin/core/dde-calendar/fix-wrapped-name-not-in-whitelist.diff b/pkgs/desktops/deepin/core/dde-calendar/fix-wrapped-name-not-in-whitelist.diff
new file mode 100644
index 0000000000000..a139c4690a892
--- /dev/null
+++ b/pkgs/desktops/deepin/core/dde-calendar/fix-wrapped-name-not-in-whitelist.diff
@@ -0,0 +1,13 @@
+diff --git a/calendar-service/src/dbusservice/dservicebase.cpp b/calendar-service/src/dbusservice/dservicebase.cpp
+index ac182881..93a9c2d8 100644
+--- a/calendar-service/src/dbusservice/dservicebase.cpp
++++ b/calendar-service/src/dbusservice/dservicebase.cpp
+@@ -52,6 +52,8 @@ bool DServiceBase::clientWhite(const int index)
+             return true;
+         }
+     }
++    if (getClientName().contains("dde-calendar"))
++    	return true;
+     return false;
+ #else
+     Q_UNUSED(index)
diff --git a/pkgs/desktops/gnome/apps/file-roller/default.nix b/pkgs/desktops/gnome/apps/file-roller/default.nix
index 44b7659d30c7c..97508ed418c1a 100644
--- a/pkgs/desktops/gnome/apps/file-roller/default.nix
+++ b/pkgs/desktops/gnome/apps/file-roller/default.nix
@@ -73,5 +73,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
     maintainers = teams.gnome.members ++ teams.pantheon.members;
+    mainProgram = "file-roller";
   };
 }
diff --git a/pkgs/desktops/gnome/core/epiphany/default.nix b/pkgs/desktops/gnome/core/epiphany/default.nix
index ee31ca4fa565d..8e396cc3f95d7 100644
--- a/pkgs/desktops/gnome/core/epiphany/default.nix
+++ b/pkgs/desktops/gnome/core/epiphany/default.nix
@@ -36,11 +36,11 @@
 
 stdenv.mkDerivation rec {
   pname = "epiphany";
-  version = "44.5";
+  version = "44.6";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "PEdeBO0qD0EMtEuWk3VjaXB5GTrJt6UMkUhfubCDFas=";
+    sha256 = "UzXdVzWB22HhJthU3BauUZZXpbh5B4mkfSXkPhfNOkM=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/pantheon/apps/elementary-code/default.nix b/pkgs/desktops/pantheon/apps/elementary-code/default.nix
index 388feb83cfe7f..5a3233028ce09 100644
--- a/pkgs/desktops/pantheon/apps/elementary-code/default.nix
+++ b/pkgs/desktops/pantheon/apps/elementary-code/default.nix
@@ -1,7 +1,6 @@
 { lib
 , stdenv
 , fetchFromGitHub
-, fetchpatch
 , nix-update-script
 , appstream
 , desktop-file-utils
@@ -9,7 +8,6 @@
 , ninja
 , pkg-config
 , polkit
-, python3
 , vala
 , wrapGAppsHook
 , editorconfig-core-c
@@ -28,24 +26,15 @@
 
 stdenv.mkDerivation rec {
   pname = "elementary-code";
-  version = "7.0.0";
+  version = "7.1.0";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = "code";
     rev = version;
-    sha256 = "sha256-6ZOdlOCIDy5aWQre15+SrTH/vhY9OeTffY/uTSroELc=";
+    sha256 = "sha256-Dtm0+NqDwfn5HUQEYtHTiyrpM3mHp1wUFOGaxH86YUo=";
   };
 
-  patches = [
-    # Fix global search action disabled at startup
-    # https://github.com/elementary/code/pull/1254
-    (fetchpatch {
-      url = "https://github.com/elementary/code/commit/1e75388b07c060cc10ecd612076f235b1833fab8.patch";
-      sha256 = "sha256-8Djh1orMcmICdYwQFENJCaYlXK0E52NhCmuhlHCz7oM=";
-    })
-  ];
-
   nativeBuildInputs = [
     appstream
     desktop-file-utils
@@ -53,7 +42,6 @@ stdenv.mkDerivation rec {
     ninja
     pkg-config
     polkit # needed for ITS rules
-    python3
     vala
     wrapGAppsHook
   ];
@@ -79,11 +67,6 @@ stdenv.mkDerivation rec {
     )
   '';
 
-  postPatch = ''
-    chmod +x meson/post_install.py
-    patchShebangs meson/post_install.py
-  '';
-
   passthru = {
     updateScript = nix-update-script { };
   };
diff --git a/pkgs/desktops/pantheon/apps/elementary-mail/default.nix b/pkgs/desktops/pantheon/apps/elementary-mail/default.nix
index 40eec233f6629..ca672cadae9b1 100644
--- a/pkgs/desktops/pantheon/apps/elementary-mail/default.nix
+++ b/pkgs/desktops/pantheon/apps/elementary-mail/default.nix
@@ -10,7 +10,10 @@
 , gtk3
 , libxml2
 , libhandy
+, libportal-gtk3
 , webkitgtk_4_1
+, elementary-gtk-theme
+, elementary-icon-theme
 , folks
 , glib-networking
 , granite
@@ -21,13 +24,13 @@
 
 stdenv.mkDerivation rec {
   pname = "elementary-mail";
-  version = "7.1.0";
+  version = "7.2.0";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = "mail";
     rev = version;
-    sha256 = "sha256-dvDlvn8KvFmiP/NClRtHNEs5gPTUjlzgTYmgIaCfoLw=";
+    sha256 = "sha256-hBOogZ9ZNS9KnuNn+jNhTtlupBxZL2DG/CiuBR1kFu0=";
   };
 
   nativeBuildInputs = [
@@ -41,6 +44,7 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
+    elementary-icon-theme
     evolution-data-server
     folks
     glib-networking
@@ -48,6 +52,7 @@ stdenv.mkDerivation rec {
     gtk3
     libgee
     libhandy
+    libportal-gtk3
     webkitgtk_4_1
   ];
 
@@ -56,6 +61,15 @@ stdenv.mkDerivation rec {
     patchShebangs meson/post_install.py
   '';
 
+  preFixup = ''
+    gappsWrapperArgs+=(
+      # The GTK theme is hardcoded.
+      --prefix XDG_DATA_DIRS : "${elementary-gtk-theme}/share"
+      # The icon theme is hardcoded.
+      --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS"
+    )
+  '';
+
   passthru = {
     updateScript = nix-update-script { };
   };
diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/default.nix
index 82ab908a387fd..cf53888edd50f 100644
--- a/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/default.nix
+++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/default.nix
@@ -3,7 +3,6 @@
 , fetchFromGitHub
 , nix-update-script
 , meson
-, python3
 , ninja
 , pkg-config
 , vala
@@ -21,20 +20,19 @@
 
 stdenv.mkDerivation rec {
   pname = "switchboard-plug-security-privacy";
-  version = "7.0.0";
+  version = "7.1.0";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "sha256-J3lUyLNyxlleD2jklXB2jMRvLY6WG5iccA2lIaJL3d4=";
+    sha256 = "sha256-2eQ89FpEMF85UmqVu9FJUvSlaVGmsrRBnhAW7oUiUqg=";
   };
 
   nativeBuildInputs = [
     meson
     ninja
     pkg-config
-    python3
     vala
   ];
 
@@ -51,11 +49,6 @@ stdenv.mkDerivation rec {
     zeitgeist
   ];
 
-  postPatch = ''
-    chmod +x meson/post_install.py
-    patchShebangs meson/post_install.py
-  '';
-
   passthru = {
     updateScript = nix-update-script { };
   };
diff --git a/pkgs/desktops/plasma-5/3rdparty/kwin/scripts/kzones.nix b/pkgs/desktops/plasma-5/3rdparty/kwin/scripts/kzones.nix
index c801199a72a8a..95050843d0730 100644
--- a/pkgs/desktops/plasma-5/3rdparty/kwin/scripts/kzones.nix
+++ b/pkgs/desktops/plasma-5/3rdparty/kwin/scripts/kzones.nix
@@ -9,13 +9,13 @@
 
 mkDerivation rec {
   pname = "kzones";
-  version = "0.4";
+  version = "0.5";
 
   src = fetchFromGitHub {
     owner = "gerritdevriese";
     repo = "kzones";
     rev = "v${version}";
-    sha256 = "sha256-E5pi2ttar6bAt7s0m/NCw66Qgg5fL5p5QpXROWuUTvM=";
+    sha256 = "sha256-0f7Fv5cvRvqNrKjHpU/tLpjiBPN0ExwTDq1p9sdLd4o=";
   };
 
   buildInputs = [
diff --git a/pkgs/desktops/plasma-5/fetch.sh b/pkgs/desktops/plasma-5/fetch.sh
index adc97217cae47..4acfa631932bd 100644
--- a/pkgs/desktops/plasma-5/fetch.sh
+++ b/pkgs/desktops/plasma-5/fetch.sh
@@ -1 +1 @@
-WGET_ARGS=( https://download.kde.org/stable/plasma/5.27.6/ -A '*.tar.xz' )
+WGET_ARGS=( https://download.kde.org/stable/plasma/5.27.7/ -A '*.tar.xz' )
diff --git a/pkgs/desktops/plasma-5/plasma-sdk.nix b/pkgs/desktops/plasma-5/plasma-sdk.nix
index 88a1968d9d63f..837c2aeb7b1fc 100644
--- a/pkgs/desktops/plasma-5/plasma-sdk.nix
+++ b/pkgs/desktops/plasma-5/plasma-sdk.nix
@@ -16,11 +16,22 @@
 , ktexteditor
 , kwidgetsaddons
 , kdoctools
+, fetchpatch
 }:
 
 mkDerivation {
   pname = "plasma-sdk";
 
+  patches = [
+    # remove duplicate doc entries, fix build
+    # FIXME: remove for next update
+    (fetchpatch {
+      url = "https://invent.kde.org/plasma/plasma-sdk/-/commit/e766c3c0483329f52ba0dd7536c4160131409f8e.patch";
+      revert = true;
+      hash = "sha256-NoQbRo+0gT4F4G6YbvTiQulqrsFtnD7z0/0I4teQvUM=";
+    })
+  ];
+
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   buildInputs = [
     karchive
diff --git a/pkgs/desktops/plasma-5/srcs.nix b/pkgs/desktops/plasma-5/srcs.nix
index 562a1282ac6b7..5af4c75f7a383 100644
--- a/pkgs/desktops/plasma-5/srcs.nix
+++ b/pkgs/desktops/plasma-5/srcs.nix
@@ -4,475 +4,475 @@
 
 {
   aura-browser = {
-    version = "5.27.6";
+    version = "5.27.7";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.6/aura-browser-5.27.6.tar.xz";
-      sha256 = "1ppsxzy6hdnnsrrhlx5b7vq1f8v2d1rhfg5j5ypa77ixvi1yglh2";
-      name = "aura-browser-5.27.6.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.7/aura-browser-5.27.7.tar.xz";
+      sha256 = "0pzb3wgqqq9sddc9ycwxhikc450s78v9287djb6p96mvprix205r";
+      name = "aura-browser-5.27.7.tar.xz";
     };
   };
   bluedevil = {
-    version = "5.27.6";
+    version = "5.27.7";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.6/bluedevil-5.27.6.tar.xz";
-      sha256 = "0x6zfcdw03kggd4mhkhva2b2v2w2ajzs7svslm1p1p8f41vzivvw";
-      name = "bluedevil-5.27.6.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.7/bluedevil-5.27.7.tar.xz";
+      sha256 = "0ddzcarn06rvhbmvm9x737ba9ycxcvg030892nh6izgfrjlaxhfb";
+      name = "bluedevil-5.27.7.tar.xz";
     };
   };
   breeze = {
-    version = "5.27.6";
+    version = "5.27.7";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.6/breeze-5.27.6.tar.xz";
-      sha256 = "0v3cz9phdalvawfjrg3yirn2n4z6h872p12g7hcf8706bdz8v6jx";
-      name = "breeze-5.27.6.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.7/breeze-5.27.7.tar.xz";
+      sha256 = "1wfclkg4d3wraz19kwpm87vwp9327s5y8n1a42qgrdh980qwzzdz";
+      name = "breeze-5.27.7.tar.xz";
     };
   };
   breeze-grub = {
-    version = "5.27.6";
+    version = "5.27.7";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.6/breeze-grub-5.27.6.tar.xz";
-      sha256 = "0lg2fba5v22z666wkbm5a6gzlq79jxski1cqnpp1z5laj7nrh8mv";
-      name = "breeze-grub-5.27.6.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.7/breeze-grub-5.27.7.tar.xz";
+      sha256 = "1c0096x75yhmr3irpbkz302gikqh2m1mz2s5j063db2ky72vlf9m";
+      name = "breeze-grub-5.27.7.tar.xz";
     };
   };
   breeze-gtk = {
-    version = "5.27.6";
+    version = "5.27.7";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.6/breeze-gtk-5.27.6.tar.xz";
-      sha256 = "1nkbhcsb359sqjampyc7cyl0hfnrx6gsrnqgaskdwk92p49snamc";
-      name = "breeze-gtk-5.27.6.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.7/breeze-gtk-5.27.7.tar.xz";
+      sha256 = "1s2qv51qa867b0bf29b7j90yzqmn3s2dwblczsb79h2i1gnr8ci9";
+      name = "breeze-gtk-5.27.7.tar.xz";
     };
   };
   breeze-plymouth = {
-    version = "5.27.6";
+    version = "5.27.7";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.6/breeze-plymouth-5.27.6.tar.xz";
-      sha256 = "0gjg3ddc3g45dnj0lv5k52bf1v403qpgv2nhqrx9z3x43kidb3vc";
-      name = "breeze-plymouth-5.27.6.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.7/breeze-plymouth-5.27.7.tar.xz";
+      sha256 = "1vm33di6aaj95pf45g4r3hp79ag1i75mi1b5fpipjgi4aiiqvddz";
+      name = "breeze-plymouth-5.27.7.tar.xz";
     };
   };
   discover = {
-    version = "5.27.6";
+    version = "5.27.7";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.6/discover-5.27.6.tar.xz";
-      sha256 = "1ici6p7bvvfszcy79lrr5xa6q1kfskxyijfr2pq9lkdhn8sdfq8n";
-      name = "discover-5.27.6.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.7/discover-5.27.7.tar.xz";
+      sha256 = "0025g1whq8z1s5915jhq83xsiz4klzqpayfzqkar8c6gni5s3v59";
+      name = "discover-5.27.7.tar.xz";
     };
   };
   drkonqi = {
-    version = "5.27.6";
+    version = "5.27.7";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.6/drkonqi-5.27.6.tar.xz";
-      sha256 = "04yam1xjwxi6jbh4r2k0ci7vdjc5cwfg4nn36lb64f5gj2bicppr";
-      name = "drkonqi-5.27.6.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.7/drkonqi-5.27.7.tar.xz";
+      sha256 = "1li1j85yvg2nj392rl1jmdqx3mzmrdj0lf72j37xd8r2bi0ic9z8";
+      name = "drkonqi-5.27.7.tar.xz";
     };
   };
   flatpak-kcm = {
-    version = "5.27.6";
+    version = "5.27.7";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.6/flatpak-kcm-5.27.6.tar.xz";
-      sha256 = "0ykzjaz45qxq7bl05chh3fg5b3qd0vdva5jf61dxnn7bksxr9vpw";
-      name = "flatpak-kcm-5.27.6.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.7/flatpak-kcm-5.27.7.tar.xz";
+      sha256 = "1crjxvfnx8jiaczwp7i96l75frcp866bv1rng8vizhi42pikbv52";
+      name = "flatpak-kcm-5.27.7.tar.xz";
     };
   };
   kactivitymanagerd = {
-    version = "5.27.6";
+    version = "5.27.7";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.6/kactivitymanagerd-5.27.6.tar.xz";
-      sha256 = "0bdhqn809jxgrq6j4jx1vf4q3xicqj3yi6557qpqxy34mlr0n606";
-      name = "kactivitymanagerd-5.27.6.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.7/kactivitymanagerd-5.27.7.tar.xz";
+      sha256 = "1d7vz8gwqa7nhfn62dsqircm0qbp9ryass82k2891mqj0qrlbwid";
+      name = "kactivitymanagerd-5.27.7.tar.xz";
     };
   };
   kde-cli-tools = {
-    version = "5.27.6";
+    version = "5.27.7";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.6/kde-cli-tools-5.27.6.tar.xz";
-      sha256 = "1ahgpaa073lg6n7xnrkflqz9cj8sl7f77sla93415hc2pz1v3qmm";
-      name = "kde-cli-tools-5.27.6.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.7/kde-cli-tools-5.27.7.tar.xz";
+      sha256 = "1br1i8ba4n7d2yl618ph4glsaasn3rxy4kjp48f12l9l2pk29nxa";
+      name = "kde-cli-tools-5.27.7.tar.xz";
     };
   };
   kde-gtk-config = {
-    version = "5.27.6";
+    version = "5.27.7";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.6/kde-gtk-config-5.27.6.tar.xz";
-      sha256 = "087qj3c46f5wn7vh3nvf0pg40rspja3113phbzapf2sk09b3mwmk";
-      name = "kde-gtk-config-5.27.6.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.7/kde-gtk-config-5.27.7.tar.xz";
+      sha256 = "13qwj3gdfvs0l6k01n8hf25kzrsksi3qi0b1rzpshcj1ix31wamf";
+      name = "kde-gtk-config-5.27.7.tar.xz";
     };
   };
   kdecoration = {
-    version = "5.27.6";
+    version = "5.27.7";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.6/kdecoration-5.27.6.tar.xz";
-      sha256 = "1rllab85yzx9s3vfm2j31wxwi1s0js0a6jz7bcy8cv4sk91rpdlx";
-      name = "kdecoration-5.27.6.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.7/kdecoration-5.27.7.tar.xz";
+      sha256 = "153j3w00zwj6gx9ndq46vkfwx3ayig80j0jsqbkajk8zsncs89pg";
+      name = "kdecoration-5.27.7.tar.xz";
     };
   };
   kdeplasma-addons = {
-    version = "5.27.6";
+    version = "5.27.7";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.6/kdeplasma-addons-5.27.6.tar.xz";
-      sha256 = "11zhpb4gcz4yy2v0j8mfzihi9rj35f83i8bi7iirix0vm100sfrl";
-      name = "kdeplasma-addons-5.27.6.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.7/kdeplasma-addons-5.27.7.tar.xz";
+      sha256 = "0l7g4lx6y10xfabfcgvh7zb7h08clj0g9yx8ajyg7rzwfa43visi";
+      name = "kdeplasma-addons-5.27.7.tar.xz";
     };
   };
   kgamma5 = {
-    version = "5.27.6";
+    version = "5.27.7";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.6/kgamma5-5.27.6.tar.xz";
-      sha256 = "14nn3wsk9w9x8m0mbdmdi86xh6x2946zhzhwdbsfgynjrkn13wb1";
-      name = "kgamma5-5.27.6.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.7/kgamma5-5.27.7.tar.xz";
+      sha256 = "0v5fynydjha9wx9j59ysw8vxx2h2gm55q27gnnhgyv0wxva8hpnl";
+      name = "kgamma5-5.27.7.tar.xz";
     };
   };
   khotkeys = {
-    version = "5.27.6";
+    version = "5.27.7";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.6/khotkeys-5.27.6.tar.xz";
-      sha256 = "0zixhdnsm3956w2bff6fk1ksvk61ywjkylg690b90l041rhfriyv";
-      name = "khotkeys-5.27.6.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.7/khotkeys-5.27.7.tar.xz";
+      sha256 = "1ipg71jz356jrngw7kqbjs7jplpnr8q3yz694rkhqklsqlfh91bd";
+      name = "khotkeys-5.27.7.tar.xz";
     };
   };
   kinfocenter = {
-    version = "5.27.6";
+    version = "5.27.7";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.6/kinfocenter-5.27.6.tar.xz";
-      sha256 = "06whh4wzc292xvzabv7q6x8wm0gkyd2nsy50vlvk7iy85jayk5nd";
-      name = "kinfocenter-5.27.6.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.7/kinfocenter-5.27.7.tar.xz";
+      sha256 = "15hm828ifrrzsbkvknqwf0l3qxr45pdi49z823cw421z45r8ivkj";
+      name = "kinfocenter-5.27.7.tar.xz";
     };
   };
   kmenuedit = {
-    version = "5.27.6";
+    version = "5.27.7";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.6/kmenuedit-5.27.6.tar.xz";
-      sha256 = "15j63b2vg5dmgqfin4irv3pz3ws6wvji0b5fdi82fml5hgx4y549";
-      name = "kmenuedit-5.27.6.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.7/kmenuedit-5.27.7.tar.xz";
+      sha256 = "0n60z44wbsjinrcrhs5cfnjs9szpsv2wzva2fiwwgh36j6zz5av7";
+      name = "kmenuedit-5.27.7.tar.xz";
     };
   };
   kpipewire = {
-    version = "5.27.6";
+    version = "5.27.7";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.6/kpipewire-5.27.6.tar.xz";
-      sha256 = "12rjwkk272r9r583vgxb64p5nylkcqsfyvbn0lpa6ap8q2zm7mky";
-      name = "kpipewire-5.27.6.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.7/kpipewire-5.27.7.tar.xz";
+      sha256 = "10j7sa8vv530c388z5rzafkdr4sx3agjqczlnkh7412whyw77lha";
+      name = "kpipewire-5.27.7.tar.xz";
     };
   };
   kscreen = {
-    version = "5.27.6";
+    version = "5.27.7";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.6/kscreen-5.27.6.tar.xz";
-      sha256 = "0m7jidcs9xf5xzlnhx2s9qnzn6z80fxhssrxz8i2zqk7xhg6bl6y";
-      name = "kscreen-5.27.6.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.7/kscreen-5.27.7.tar.xz";
+      sha256 = "03qa2qrwdjgb6va7akhwpdvzky608sq2lnwj3b1f310mn3hmbmrq";
+      name = "kscreen-5.27.7.tar.xz";
     };
   };
   kscreenlocker = {
-    version = "5.27.6";
+    version = "5.27.7";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.6/kscreenlocker-5.27.6.tar.xz";
-      sha256 = "0pgmy4dw41kim7syk4xb2n4g4iz3jjikhwnh3bjianl9h87rc12x";
-      name = "kscreenlocker-5.27.6.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.7/kscreenlocker-5.27.7.tar.xz";
+      sha256 = "11y3ksd29p8hdn8chaf8vscnc7fbh8xkjdsbakrb056p1r8kn0f2";
+      name = "kscreenlocker-5.27.7.tar.xz";
     };
   };
   ksshaskpass = {
-    version = "5.27.6";
+    version = "5.27.7";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.6/ksshaskpass-5.27.6.tar.xz";
-      sha256 = "1ig8qvjvrl27q1bg34c4lg34yx4pdvcjzxn4jxg6h9wbxdwssk45";
-      name = "ksshaskpass-5.27.6.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.7/ksshaskpass-5.27.7.tar.xz";
+      sha256 = "0vmydvj4c9c93y9wyyjs2hr9m0hygssk1asl4idbj7mcy6n7acg1";
+      name = "ksshaskpass-5.27.7.tar.xz";
     };
   };
   ksystemstats = {
-    version = "5.27.6";
+    version = "5.27.7";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.6/ksystemstats-5.27.6.tar.xz";
-      sha256 = "0xi3z8pk1byc4wcds0an2ndnw8j5zgq3wr0gm517rc8vck30m0gi";
-      name = "ksystemstats-5.27.6.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.7/ksystemstats-5.27.7.tar.xz";
+      sha256 = "1fx5b566xx32q7gxi8qnnx6vny7ip5r65zi2znnx3azmwsc8jgvw";
+      name = "ksystemstats-5.27.7.tar.xz";
     };
   };
   kwallet-pam = {
-    version = "5.27.6";
+    version = "5.27.7";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.6/kwallet-pam-5.27.6.tar.xz";
-      sha256 = "0c38s7iqha94vz2d8dfch4qfb7zpc6k5z7wm33f5x190bw3g1bdp";
-      name = "kwallet-pam-5.27.6.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.7/kwallet-pam-5.27.7.tar.xz";
+      sha256 = "1ac0hqpzqivg40jq7pfr2s1zydl600a3nyzfv97wc20i9myzafrb";
+      name = "kwallet-pam-5.27.7.tar.xz";
     };
   };
   kwayland-integration = {
-    version = "5.27.6";
+    version = "5.27.7";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.6/kwayland-integration-5.27.6.tar.xz";
-      sha256 = "10rc14ggbs86bq0sky4i3kdwarwk8mh2yx4g77if8vr7z96xpdqh";
-      name = "kwayland-integration-5.27.6.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.7/kwayland-integration-5.27.7.tar.xz";
+      sha256 = "1fvf64vx5m3h5v8h697ixkcifhva6a14wlz75kv6759ji9l9fy8y";
+      name = "kwayland-integration-5.27.7.tar.xz";
     };
   };
   kwin = {
-    version = "5.27.6";
+    version = "5.27.7";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.6/kwin-5.27.6.tar.xz";
-      sha256 = "1v4r4h2zbandg43iyww5p66sgv2z90lrri1gijnwjlg9j5gbvmb2";
-      name = "kwin-5.27.6.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.7/kwin-5.27.7.tar.xz";
+      sha256 = "0bssp76lzqqlan5pfg6wjf4z9c6pl6p66ri8p82vqqw406x5bzyb";
+      name = "kwin-5.27.7.tar.xz";
     };
   };
   kwrited = {
-    version = "5.27.6";
+    version = "5.27.7";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.6/kwrited-5.27.6.tar.xz";
-      sha256 = "153q38msna94wy8qbss02hzw7vabfghxs90bq9g9qjsr28428r86";
-      name = "kwrited-5.27.6.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.7/kwrited-5.27.7.tar.xz";
+      sha256 = "1a4g05ynblbz0j0lqclxf6628x6wcd3b52l0smic3rdvbis43v0n";
+      name = "kwrited-5.27.7.tar.xz";
     };
   };
   layer-shell-qt = {
-    version = "5.27.6";
+    version = "5.27.7";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.6/layer-shell-qt-5.27.6.tar.xz";
-      sha256 = "14w7kr5d5s9fg2qkybk5axg11cafc6rrxkivynj5v55zcp52jp76";
-      name = "layer-shell-qt-5.27.6.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.7/layer-shell-qt-5.27.7.tar.xz";
+      sha256 = "08glqqh7jmqrli4n7j04lz3w3c6192w8p7ki51ksmwivnxylxi17";
+      name = "layer-shell-qt-5.27.7.tar.xz";
     };
   };
   libkscreen = {
-    version = "5.27.6";
+    version = "5.27.7";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.6/libkscreen-5.27.6.tar.xz";
-      sha256 = "1ywyg1i9bg0nawndl4hzivd4yfsqk5snls8ak1vyr9xmm8zkgaf1";
-      name = "libkscreen-5.27.6.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.7/libkscreen-5.27.7.tar.xz";
+      sha256 = "1ary7qavz8vkzbvjx2mxv09h61hxa7i4f7rfgbykldbc83ripdc6";
+      name = "libkscreen-5.27.7.tar.xz";
     };
   };
   libksysguard = {
-    version = "5.27.6";
+    version = "5.27.7";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.6/libksysguard-5.27.6.tar.xz";
-      sha256 = "1nqv0gxq011acvmqc2rpqrw4l928mcmg4rq2g45qzfmnmas2rjwy";
-      name = "libksysguard-5.27.6.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.7/libksysguard-5.27.7.tar.xz";
+      sha256 = "066bjar4105bfyry6ni7nnikz66bqzy5nvssz6vm4np3aa996ak8";
+      name = "libksysguard-5.27.7.tar.xz";
     };
   };
   milou = {
-    version = "5.27.6";
+    version = "5.27.7";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.6/milou-5.27.6.tar.xz";
-      sha256 = "1il1sg7xi9p7snz9w3mygpydl6y02r5n24wa14yk23qhphwsgbpy";
-      name = "milou-5.27.6.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.7/milou-5.27.7.tar.xz";
+      sha256 = "0lq8m72nwink8x46m8qd5zdkadym1kc70ipnkb04b16mr7zhnsc1";
+      name = "milou-5.27.7.tar.xz";
     };
   };
   oxygen = {
-    version = "5.27.6";
+    version = "5.27.7";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.6/oxygen-5.27.6.tar.xz";
-      sha256 = "01h9vh8gk4ncgwa1p25ps5rm6m180081vh0ryw9x3z1qw893j1m9";
-      name = "oxygen-5.27.6.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.7/oxygen-5.27.7.tar.xz";
+      sha256 = "139rar9d36cvp6hl7857qkw9h0xbmk2i7x3mdgjpsabv5wpzq652";
+      name = "oxygen-5.27.7.tar.xz";
     };
   };
   oxygen-sounds = {
-    version = "5.27.6";
+    version = "5.27.7";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.6/oxygen-sounds-5.27.6.tar.xz";
-      sha256 = "0zijzkr6xqx3lqfccr9fkhmzmvqp5c8025nlh8sy94fi846g7smg";
-      name = "oxygen-sounds-5.27.6.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.7/oxygen-sounds-5.27.7.tar.xz";
+      sha256 = "132jaabfpj8k6xk6f1732a0qgjz1mzyyk74b1mm7q7pyhpypr2gq";
+      name = "oxygen-sounds-5.27.7.tar.xz";
     };
   };
   plank-player = {
-    version = "5.27.6";
+    version = "5.27.7";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.6/plank-player-5.27.6.tar.xz";
-      sha256 = "1mjn2qvzav3c2sxfnfv2h9bj7cd00vidl85zmljm17nflv9cvwa8";
-      name = "plank-player-5.27.6.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.7/plank-player-5.27.7.tar.xz";
+      sha256 = "0360affl3wl6aa6lmd7lc6lpzq2v8sqbr5ah2c5vmq0n0p4xxk4n";
+      name = "plank-player-5.27.7.tar.xz";
     };
   };
   plasma-bigscreen = {
-    version = "5.27.6";
+    version = "5.27.7";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.6/plasma-bigscreen-5.27.6.tar.xz";
-      sha256 = "097f5whppwla0y7zil7ykyp97glx2wdc05mwd7pk6y2l6d60fhl7";
-      name = "plasma-bigscreen-5.27.6.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.7/plasma-bigscreen-5.27.7.tar.xz";
+      sha256 = "0b2w0d5w1s2jm7al1nqdc1qh9fmrj8fw93wjbb2bsa9fabz2i81b";
+      name = "plasma-bigscreen-5.27.7.tar.xz";
     };
   };
   plasma-browser-integration = {
-    version = "5.27.6";
+    version = "5.27.7";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.6/plasma-browser-integration-5.27.6.tar.xz";
-      sha256 = "12hrd6mvhmi649n4jc9pmv116f2cpzd3j90hxlhljixnw4g6vy3j";
-      name = "plasma-browser-integration-5.27.6.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.7/plasma-browser-integration-5.27.7.tar.xz";
+      sha256 = "0c30pdlhl452bjpdc7mwxl01hqabahyc0j1cc54liy0hla9vir9y";
+      name = "plasma-browser-integration-5.27.7.tar.xz";
     };
   };
   plasma-desktop = {
-    version = "5.27.6";
+    version = "5.27.7";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.6/plasma-desktop-5.27.6.tar.xz";
-      sha256 = "10x68lqg6zxb8fajd277lm0qfrdg2jz7m58l3wna4nv9bni5wj72";
-      name = "plasma-desktop-5.27.6.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.7/plasma-desktop-5.27.7.tar.xz";
+      sha256 = "1njkjf3fhxfmwyviypxqzrn23klxiih82bazvd8y61cshqwai6i2";
+      name = "plasma-desktop-5.27.7.tar.xz";
     };
   };
   plasma-disks = {
-    version = "5.27.6";
+    version = "5.27.7";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.6/plasma-disks-5.27.6.tar.xz";
-      sha256 = "09v4hwx2q8sz0b4qak8xaxnyqj6ccjlgk28fijvmnv61nxb49h1w";
-      name = "plasma-disks-5.27.6.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.7/plasma-disks-5.27.7.tar.xz";
+      sha256 = "0jwjv20ra1mhwl2cm7x2jz8pasmkc58fd57qxhzzf84l4sgbda9v";
+      name = "plasma-disks-5.27.7.tar.xz";
     };
   };
   plasma-firewall = {
-    version = "5.27.6";
+    version = "5.27.7";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.6/plasma-firewall-5.27.6.tar.xz";
-      sha256 = "1jbcyz92q63gh1ihkrvs4ffp1xjav9miy6n5adhqik9qxpgkqqn8";
-      name = "plasma-firewall-5.27.6.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.7/plasma-firewall-5.27.7.tar.xz";
+      sha256 = "1n5ljkydhcx6qapwrshslq835zaf02gssp2zvzi3vwfy4asc7ind";
+      name = "plasma-firewall-5.27.7.tar.xz";
     };
   };
   plasma-integration = {
-    version = "5.27.6";
+    version = "5.27.7";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.6/plasma-integration-5.27.6.tar.xz";
-      sha256 = "1awd9l874gxxkbcfzb76xga1f6firaqpshrapg0492vq33r5vzd5";
-      name = "plasma-integration-5.27.6.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.7/plasma-integration-5.27.7.tar.xz";
+      sha256 = "1ahzckvc69wk2rx73sl40h0in1y7ny0vm0i7lbrrcggv1v36dwp3";
+      name = "plasma-integration-5.27.7.tar.xz";
     };
   };
   plasma-mobile = {
-    version = "5.27.6";
+    version = "5.27.7";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.6/plasma-mobile-5.27.6.tar.xz";
-      sha256 = "16djcga7ljq7zv979im8zd1l1fz7qfw9g2ya6kvdn9mf8li0l98j";
-      name = "plasma-mobile-5.27.6.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.7/plasma-mobile-5.27.7.tar.xz";
+      sha256 = "0f32xj9v32f89pdhwsmwm2xqfwcypq8r85jhj4zq887zxy1cgn0n";
+      name = "plasma-mobile-5.27.7.tar.xz";
     };
   };
   plasma-nano = {
-    version = "5.27.6";
+    version = "5.27.7";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.6/plasma-nano-5.27.6.tar.xz";
-      sha256 = "02qig2zh6py0i5phcyjln0yawbd6sdx4cm13l2kgi3bl1826kklb";
-      name = "plasma-nano-5.27.6.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.7/plasma-nano-5.27.7.tar.xz";
+      sha256 = "14wc76bxnwd0z51gz4zb88p5h9n2711ifr1wpx9lrj9r7y1llank";
+      name = "plasma-nano-5.27.7.tar.xz";
     };
   };
   plasma-nm = {
-    version = "5.27.6";
+    version = "5.27.7";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.6/plasma-nm-5.27.6.tar.xz";
-      sha256 = "1jfrd3xi4hyivkwrif6s87f9jasrnsihd7c80sqhwd1k2kl9wr0a";
-      name = "plasma-nm-5.27.6.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.7/plasma-nm-5.27.7.tar.xz";
+      sha256 = "1w9zclih2mh8gqwahsmbbm0nrg1b6gcr5w2w02szlw30iq8k92j8";
+      name = "plasma-nm-5.27.7.tar.xz";
     };
   };
   plasma-pa = {
-    version = "5.27.6";
+    version = "5.27.7";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.6/plasma-pa-5.27.6.tar.xz";
-      sha256 = "0kvfhpsiv0nkilirjwsplx67m5zdqc5w6zmp9gkgyym46ax0hxjf";
-      name = "plasma-pa-5.27.6.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.7/plasma-pa-5.27.7.tar.xz";
+      sha256 = "1vg28v5n648y94m6amcwmr0n7dw4a2kfx16kny7jb9bkmxrgnwsc";
+      name = "plasma-pa-5.27.7.tar.xz";
     };
   };
   plasma-remotecontrollers = {
-    version = "5.27.6";
+    version = "5.27.7";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.6/plasma-remotecontrollers-5.27.6.tar.xz";
-      sha256 = "0ibngr1qy0vpdi6sx071225g354cdsag7j0gv3b6vrhq7s0z66b0";
-      name = "plasma-remotecontrollers-5.27.6.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.7/plasma-remotecontrollers-5.27.7.tar.xz";
+      sha256 = "0iswjkg93hf5vnvy5a4gpkc7p5d2d0b4nm74v2k9j23svipnzbah";
+      name = "plasma-remotecontrollers-5.27.7.tar.xz";
     };
   };
   plasma-sdk = {
-    version = "5.27.6.1";
+    version = "5.27.7";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.6/plasma-sdk-5.27.6.1.tar.xz";
-      sha256 = "1byfknk60j4hajy1ibh25dv96irkpl4b5hyrrdg39m6fdx30wjrf";
-      name = "plasma-sdk-5.27.6.1.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.7/plasma-sdk-5.27.7.tar.xz";
+      sha256 = "1jbd2y1hryif8a2s3x74xjgm9nrx5ln0bszn94igi4g9p8vsdq86";
+      name = "plasma-sdk-5.27.7.tar.xz";
     };
   };
   plasma-systemmonitor = {
-    version = "5.27.6";
+    version = "5.27.7";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.6/plasma-systemmonitor-5.27.6.tar.xz";
-      sha256 = "07cwzcy7qd3b6rlyqjwhc2z567dn5j8gx701b57cs18z0rgv4vkr";
-      name = "plasma-systemmonitor-5.27.6.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.7/plasma-systemmonitor-5.27.7.tar.xz";
+      sha256 = "1qr8krc7d1hzxv0gx0ii0rxk9bm62rgh157mr8x785qqbd11nq8l";
+      name = "plasma-systemmonitor-5.27.7.tar.xz";
     };
   };
   plasma-thunderbolt = {
-    version = "5.27.6";
+    version = "5.27.7";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.6/plasma-thunderbolt-5.27.6.tar.xz";
-      sha256 = "1ikcbn9awh5zh9ivdm3ysi1dw208byj8d4ls5c9ckclvylkfx7v6";
-      name = "plasma-thunderbolt-5.27.6.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.7/plasma-thunderbolt-5.27.7.tar.xz";
+      sha256 = "0sgh5pafp9i0bhk7fhxc4fy20ldwidc1f5n4fcsya4aviy4cf2nn";
+      name = "plasma-thunderbolt-5.27.7.tar.xz";
     };
   };
   plasma-vault = {
-    version = "5.27.6";
+    version = "5.27.7";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.6/plasma-vault-5.27.6.tar.xz";
-      sha256 = "0wxa80m2ppjp8l8nchwcvrmx20j0rgm9ydn93x4w4d4rmi6mypr4";
-      name = "plasma-vault-5.27.6.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.7/plasma-vault-5.27.7.tar.xz";
+      sha256 = "1p5m5rlamb50cbd1qlx81m003sv8vdijkpy5airmy1pf6xmvl6hq";
+      name = "plasma-vault-5.27.7.tar.xz";
     };
   };
   plasma-welcome = {
-    version = "5.27.6";
+    version = "5.27.7";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.6/plasma-welcome-5.27.6.tar.xz";
-      sha256 = "0lvvxllhshawj7pjx3d9l53clcnr73x519khgf27fpblil1x0hm8";
-      name = "plasma-welcome-5.27.6.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.7/plasma-welcome-5.27.7.tar.xz";
+      sha256 = "0nz1hxz5nvgl3sbm6k3a76s0l3fy3j38i4plly2zhp5xqdk0ks1x";
+      name = "plasma-welcome-5.27.7.tar.xz";
     };
   };
   plasma-workspace = {
-    version = "5.27.6";
+    version = "5.27.7";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.6/plasma-workspace-5.27.6.tar.xz";
-      sha256 = "10w8ix9c29gvykr9970aax7jcz2fi99cafr1kknvj2drgc7zgrhw";
-      name = "plasma-workspace-5.27.6.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.7/plasma-workspace-5.27.7.tar.xz";
+      sha256 = "0pyf5vc466mfgicxpp76igdz58lpa0n7x2cl2hhaq4zmrlfr8hh6";
+      name = "plasma-workspace-5.27.7.tar.xz";
     };
   };
   plasma-workspace-wallpapers = {
-    version = "5.27.6";
+    version = "5.27.7";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.6/plasma-workspace-wallpapers-5.27.6.tar.xz";
-      sha256 = "018vvxhs0rlc25hd5kafhzk6anl1yabggby7b5vsqvip2rsma0qk";
-      name = "plasma-workspace-wallpapers-5.27.6.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.7/plasma-workspace-wallpapers-5.27.7.tar.xz";
+      sha256 = "181q0mmmp3dygzafgh4qq2pwi5w15vw6mwc21nkl98qf6z773ify";
+      name = "plasma-workspace-wallpapers-5.27.7.tar.xz";
     };
   };
   plymouth-kcm = {
-    version = "5.27.6";
+    version = "5.27.7";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.6/plymouth-kcm-5.27.6.tar.xz";
-      sha256 = "03qkrdin7s4kx14f518f6amvgd5adavgirjy8mk1zj62mz4f1sy5";
-      name = "plymouth-kcm-5.27.6.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.7/plymouth-kcm-5.27.7.tar.xz";
+      sha256 = "1y7ahb0wir10isls65yp5p164kiw3jn8bf8zn9bkkjqp649av9sw";
+      name = "plymouth-kcm-5.27.7.tar.xz";
     };
   };
   polkit-kde-agent = {
-    version = "1-5.27.6";
+    version = "1-5.27.7";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.6/polkit-kde-agent-1-5.27.6.tar.xz";
-      sha256 = "0k7d9jz49fp4h7gxakqsmj16h5xdv8jw69068sz5mazzczi7lwyz";
-      name = "polkit-kde-agent-1-5.27.6.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.7/polkit-kde-agent-1-5.27.7.tar.xz";
+      sha256 = "0p6gnv59mnb5y6riiifyg98sk8zycchv8bkf7x1332qa7zqhcjcc";
+      name = "polkit-kde-agent-1-5.27.7.tar.xz";
     };
   };
   powerdevil = {
-    version = "5.27.6";
+    version = "5.27.7";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.6/powerdevil-5.27.6.tar.xz";
-      sha256 = "1dbz479ikjy6fi3l701hvhkwhbll1gkibay3vzimb13kyamhy8vb";
-      name = "powerdevil-5.27.6.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.7/powerdevil-5.27.7.tar.xz";
+      sha256 = "151qhpf5j33jk3jhhxsr4zaf0z3f8xlnw8inmzf2a8lficiq9060";
+      name = "powerdevil-5.27.7.tar.xz";
     };
   };
   qqc2-breeze-style = {
-    version = "5.27.6";
+    version = "5.27.7";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.6/qqc2-breeze-style-5.27.6.tar.xz";
-      sha256 = "02hxczlhyy2vwrsrw7hncmhcidany4xirlrw9caxsq4rylp7vszj";
-      name = "qqc2-breeze-style-5.27.6.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.7/qqc2-breeze-style-5.27.7.tar.xz";
+      sha256 = "0cjrjnj8iwjb9jxp28a30zxb56nhgslrbxzqy392b5sz2x5gbd04";
+      name = "qqc2-breeze-style-5.27.7.tar.xz";
     };
   };
   sddm-kcm = {
-    version = "5.27.6";
+    version = "5.27.7";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.6/sddm-kcm-5.27.6.tar.xz";
-      sha256 = "1qmmsvfs22byx5i48icgqh0cdh228yk40946yymacm39iwbsnw6w";
-      name = "sddm-kcm-5.27.6.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.7/sddm-kcm-5.27.7.tar.xz";
+      sha256 = "0hrw22ihrzph573lkwys6g5bnj72rwff1w1wjq0jzkcr3i8zai86";
+      name = "sddm-kcm-5.27.7.tar.xz";
     };
   };
   systemsettings = {
-    version = "5.27.6";
+    version = "5.27.7";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.6/systemsettings-5.27.6.tar.xz";
-      sha256 = "17bqdsaih11wpcmv7qzk701l67431pf2nm8nnrix1s8k3qglfb5w";
-      name = "systemsettings-5.27.6.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.7/systemsettings-5.27.7.tar.xz";
+      sha256 = "0vkcmb4sch97sq5xd8rj8z42qdcxy5ys758q6dl69kbv9hadl7bw";
+      name = "systemsettings-5.27.7.tar.xz";
     };
   };
   xdg-desktop-portal-kde = {
-    version = "5.27.6";
+    version = "5.27.7";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.6/xdg-desktop-portal-kde-5.27.6.tar.xz";
-      sha256 = "0wzp21l521d9z9mnfgiapzljqpg5qc5ghyzndpr8cz54c2bf9mdf";
-      name = "xdg-desktop-portal-kde-5.27.6.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.7/xdg-desktop-portal-kde-5.27.7.tar.xz";
+      sha256 = "1k88zr073qj96wfbj500mwn8fxj39pxscc6wqhsfjpa6ssxgknyc";
+      name = "xdg-desktop-portal-kde-5.27.7.tar.xz";
     };
   };
 }
diff --git a/pkgs/desktops/xfce/core/xfce4-power-manager/default.nix b/pkgs/desktops/xfce/core/xfce4-power-manager/default.nix
index 8755234cbc827..19b552937119d 100644
--- a/pkgs/desktops/xfce/core/xfce4-power-manager/default.nix
+++ b/pkgs/desktops/xfce/core/xfce4-power-manager/default.nix
@@ -26,6 +26,14 @@ mkXfceDerivation {
     xfce4-panel
   ];
 
+  # using /run/current-system/sw/bin instead of nix store path prevents polkit permission errors on
+  # rebuild.  See https://github.com/NixOS/nixpkgs/issues/77485
+  postPatch = ''
+    substituteInPlace src/org.xfce.power.policy.in2 --replace "@sbindir@" "/run/current-system/sw/bin"
+    substituteInPlace common/xfpm-brightness.c --replace "SBINDIR" "\"/run/current-system/sw/bin\""
+    substituteInPlace src/xfpm-suspend.c --replace "SBINDIR" "\"/run/current-system/sw/bin\""
+  '';
+
   meta = with lib; {
     description = "A power manager for the Xfce Desktop Environment";
     maintainers = with maintainers; [ ] ++ teams.xfce.members;
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-clipman-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-clipman-plugin/default.nix
index f86ab85f9ad70..1af46fd5182aa 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-clipman-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-clipman-plugin/default.nix
@@ -3,8 +3,8 @@
 mkXfceDerivation {
   category = "panel-plugins";
   pname = "xfce4-clipman-plugin";
-  version = "1.6.3";
-  sha256 = "sha256-tnpQRYLV48NxKsWDjVSmypx6X1bVbx2U5Q8kQaP0AW8=";
+  version = "1.6.4";
+  sha256 = "sha256-N/e97C6xWyF1GUg7gMN0Wcw35awypflMmA+Pdg6alEw=";
 
   buildInputs = [ libXtst libxfce4ui xfce4-panel xfconf ];
 
diff --git a/pkgs/development/compilers/assemblyscript/default.nix b/pkgs/development/compilers/assemblyscript/default.nix
index 6fe1385bb3fe4..ebb059f6bbb96 100644
--- a/pkgs/development/compilers/assemblyscript/default.nix
+++ b/pkgs/development/compilers/assemblyscript/default.nix
@@ -5,13 +5,13 @@
 
 buildNpmPackage rec {
   pname = "assemblyscript";
-  version = "0.27.5";
+  version = "0.27.6";
 
   src = fetchFromGitHub {
     owner = "AssemblyScript";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-3dWIYkiAA61xbUXJGmb/amjHmyXYoy16lLIAZR4sD5k=";
+    sha256 = "sha256-jN8P3EL3giDIZSExkjm5ZUwgkN3EIQhVpMqfx273yZU=";
   };
 
   npmDepsHash = "sha256-9ILa1qY2GpP2RckcZYcCMmgCwdXIImOm+D8nldeoQL8=";
diff --git a/pkgs/development/compilers/circt/default.nix b/pkgs/development/compilers/circt/default.nix
index 7e7f6823bcfd6..e53de0e4ee123 100644
--- a/pkgs/development/compilers/circt/default.nix
+++ b/pkgs/development/compilers/circt/default.nix
@@ -13,12 +13,12 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "circt";
-  version = "1.45.0";
+  version = "1.49.0";
   src = fetchFromGitHub {
     owner = "llvm";
     repo = "circt";
     rev = "firtool-${version}";
-    sha256 = "sha256-yzXYiqRIwV3bkMfvmduow3QWJASXhOspM8CHZPN2/uE=";
+    sha256 = "sha256-pHMysxnczKilfjJafobU18/gaWnfrHMpPUd6RQ+CXSg=";
     fetchSubmodules = true;
   };
 
@@ -54,6 +54,9 @@ stdenv.mkDerivation rec {
 
   preConfigure = ''
     find ./test -name '*.mlir' -exec sed -i 's|/usr/bin/env|${coreutils}/bin/env|g' {} \;
+    # circt uses git to check its version, but when cloned on nix it can't access git.
+    # So this hard codes the version.
+    substituteInPlace cmake/modules/GenVersionFile.cmake --replace "unknown git version" "${src.rev}"
   '';
 
   installPhase = ''
diff --git a/pkgs/development/compilers/flix/default.nix b/pkgs/development/compilers/flix/default.nix
index 7493231f2da68..667dbaf109b99 100644
--- a/pkgs/development/compilers/flix/default.nix
+++ b/pkgs/development/compilers/flix/default.nix
@@ -2,11 +2,11 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "flix";
-  version = "0.38.0";
+  version = "0.39.0";
 
   src = fetchurl {
     url = "https://github.com/flix/flix/releases/download/v${version}/flix.jar";
-    sha256 = "sha256-KiN7qpyAd1svRWWRtuj/lRXyHoLNM2FaTWVgFC4aPrg=";
+    sha256 = "sha256-kIH5vv/7pKgfAL1BaWYH6PSyEaKVONcccUczsudyfO4=";
   };
 
   dontUnpack = true;
diff --git a/pkgs/development/compilers/gambit/bootstrap.nix b/pkgs/development/compilers/gambit/bootstrap.nix
index a29f45a4e7a54..753938e95aa30 100644
--- a/pkgs/development/compilers/gambit/bootstrap.nix
+++ b/pkgs/development/compilers/gambit/bootstrap.nix
@@ -6,11 +6,11 @@
 
 gccStdenv.mkDerivation {
   pname = "gambit-bootstrap";
-  version = "4.9.3";
+  version = "4.9.5";
 
   src = fetchurl {
-    url = "http://www.iro.umontreal.ca/~gambit/download/gambit/v4.9/source/gambit-v4_9_3.tgz";
-    sha256 = "1p6172vhcrlpjgia6hsks1w4fl8rdyjf9xjh14wxfkv7dnx8a5hk";
+    url = "https://gambitscheme.org/4.9.5/gambit-v4_9_5.tgz";
+    sha256 = "sha256-4o74218OexFZcgwVAFPcq498TK4fDlyDiUR5cHP4wdw=";
   };
 
   buildInputs = [ autoconf ];
diff --git a/pkgs/development/compilers/gambit/build.nix b/pkgs/development/compilers/gambit/build.nix
index 029225629154c..9481078fd9411 100644
--- a/pkgs/development/compilers/gambit/build.nix
+++ b/pkgs/development/compilers/gambit/build.nix
@@ -1,5 +1,5 @@
 { gccStdenv, lib, git, openssl, autoconf, pkgs, makeStaticLibraries, gcc, coreutils, gnused, gnugrep,
-  src, version, git-version,
+  src, version, git-version, stampYmd ? 0, stampHms ? 0,
   gambit-support, optimizationSetting ? "-O1", gambit-params ? pkgs.gambit-support.stable-params }:
 
 # Note that according to a benchmark run by Marc Feeley on May 2018,
@@ -26,6 +26,7 @@ gccStdenv.mkDerivation rec {
   bootstrap = gambit-support.gambit-bootstrap;
 
   nativeBuildInputs = [ git autoconf ];
+
   # TODO: if/when we can get all the library packages we depend on to have static versions,
   # we could use something like (makeStaticLibraries openssl) to enable creation
   # of statically linked binaries by gsc.
@@ -39,11 +40,14 @@ gccStdenv.mkDerivation rec {
     "--enable-targets=${gambit-params.targets}"
     "--enable-single-host"
     "--enable-c-opt=${optimizationSetting}"
+    "--enable-c-opt-rts=-O2"
     "--enable-gcc-opts"
     "--enable-shared"
     "--enable-absolute-shared-libs" # Yes, NixOS will want an absolute path, and fix it.
     "--enable-openssl"
+    #"--enable-default-compile-options='(compactness 9)'" # Make life easier on the JS backend
     "--enable-default-runtime-options=${gambit-params.defaultRuntimeOptions}"
+    # "--enable-rtlib-debug" # used by Geiser, but only on recent-enough gambit, and messes js runtime
     # "--enable-debug" # Nope: enables plenty of good stuff, but also the costly console.log
     # "--enable-multiple-versions" # Nope, NixOS already does version multiplexing
     # "--enable-guide"
@@ -58,9 +62,9 @@ gccStdenv.mkDerivation rec {
     # "--enable-coverage"
     # "--enable-inline-jumps"
     # "--enable-char-size=1" # default is 4
-  ] ++
-    # due not enable poll on darwin due to https://github.com/gambit/gambit/issues/498
-    lib.optional (!gccStdenv.isDarwin) "--enable-poll";
+  ] ++ gambit-params.extraOptions
+    # Do not enable poll on darwin due to https://github.com/gambit/gambit/issues/498
+    ++ lib.optional (!gccStdenv.isDarwin) "--enable-poll";
 
   configurePhase = ''
     export CC=${gccStdenv.cc}/bin/${gccStdenv.cc.targetPrefix}gcc \
@@ -71,31 +75,35 @@ gccStdenv.mkDerivation rec {
            XMKMF=${coreutils}/bin/false
     unset CFLAGS LDFLAGS LIBS CPPFLAGS CXXFLAGS
 
-    ${gambit-params.fix-stamp git-version}
+    ${gambit-params.fixStamp git-version stampYmd stampHms}
 
     ./configure --prefix=$out/gambit ${builtins.concatStringsSep " " configureFlags}
 
     # OS-specific paths are hardcoded in ./configure
     substituteInPlace config.status \
-      --replace "/usr/local/opt/openssl@1.1" "${lib.getLib openssl}" \
-      --replace "/usr/local/opt/openssl" "${lib.getLib openssl}"
+      ${lib.optionalString (gccStdenv.isDarwin && !gambit-params.stable)
+         ''--replace "/usr/local/opt/openssl@1.1" "${lib.getLib openssl}"''} \
+        --replace "/usr/local/opt/openssl" "${lib.getLib openssl}"
 
     ./config.status
   '';
 
   buildPhase = ''
-    # Make bootstrap compiler, from release bootstrap
+    # The MAKEFLAGS setting is a workaround for https://github.com/gambit/gambit/issues/833
+    export MAKEFLAGS="--output-sync=recurse"
+    echo "Make bootstrap compiler, from release bootstrap"
     mkdir -p boot
     cp -rp ${bootstrap}/gambit/. boot/.
     chmod -R u+w boot
     cd boot
     cp ../gsc/makefile.in ../gsc/*.scm gsc/
+    echo > include/stamp.h # No stamp needed for the bootstrap compiler
     ./configure
     for i in lib gsi gsc ; do (cd $i ; make -j$NIX_BUILD_CORES) ; done
     cd ..
     cp boot/gsc/gsc gsc-boot
 
-    # Now use the bootstrap compiler to build the real thing!
+    echo "Now use the bootstrap compiler to build the real thing!"
     make -j$NIX_BUILD_CORES from-scratch
     ${lib.optionalString gambit-params.modules "make -j$NIX_BUILD_CORES modules"}
   '';
@@ -107,6 +115,7 @@ gccStdenv.mkDerivation rec {
   '';
 
   doCheck = true;
+  dontStrip = true;
 
   meta = gambit-support.meta;
 }
diff --git a/pkgs/development/compilers/gambit/default.nix b/pkgs/development/compilers/gambit/default.nix
index 8f77daa4173be..cb4f5f9501ca4 100644
--- a/pkgs/development/compilers/gambit/default.nix
+++ b/pkgs/development/compilers/gambit/default.nix
@@ -1,10 +1,10 @@
 { callPackage, fetchurl }:
 
 callPackage ./build.nix rec {
-  version = "4.9.3";
+  version = "4.9.5";
   git-version = version;
   src = fetchurl {
-    url = "http://www.iro.umontreal.ca/~gambit/download/gambit/v4.9/source/gambit-v4_9_3.tgz";
-    sha256 = "1p6172vhcrlpjgia6hsks1w4fl8rdyjf9xjh14wxfkv7dnx8a5hk";
+    url = "https://gambitscheme.org/4.9.5/gambit-v4_9_5.tgz";
+    sha256 = "sha256-4o74218OexFZcgwVAFPcq498TK4fDlyDiUR5cHP4wdw=";
   };
 }
diff --git a/pkgs/development/compilers/gambit/gambit-support.nix b/pkgs/development/compilers/gambit/gambit-support.nix
index be745367ec03b..f78c99a507004 100644
--- a/pkgs/development/compilers/gambit/gambit-support.nix
+++ b/pkgs/development/compilers/gambit/gambit-support.nix
@@ -3,37 +3,38 @@
 rec {
   stable-params = {
     stable = true;
-    defaultRuntimeOptions = "f8,-8,t8";
-    buildRuntimeOptions = "f8,-8,t8";
-    fix-stamp = git-version : "";
-    targets = "java,js,php,python,ruby";
-    modules = false;
-  };
-
-  unstable-params = {
-    stable = false;
     defaultRuntimeOptions = "iL,fL,-L,tL";
     buildRuntimeOptions = "i8,f8,-8,t8";
-    fix-stamp = git-version : ''
+    targets = "js"; # arm,java,js,php,python,riscv-32,riscv-64,ruby,x86,x86-64
+    #fixStamp = _: _: _: "";
+    fixStamp = git-version: stampYmd: stampHms: ''
+      echo "Fixing timestamp recipe in Makefile"
       substituteInPlace configure \
         --replace "$(grep '^PACKAGE_VERSION=.*$' configure)" 'PACKAGE_VERSION="v${git-version}"' \
         --replace "$(grep '^PACKAGE_STRING=.*$' configure)" 'PACKAGE_STRING="Gambit v${git-version}"' ;
+      substituteInPlace include/makefile.in \
+        --replace "echo > stamp.h;" "(echo '#define ___STAMP_VERSION \"${git-version}\"'; echo '#define ___STAMP_YMD ${toString stampYmd}'; echo '#define ___STAMP_HMS ${toString stampHms}';) > stamp.h;";
     '';
-    targets = "arm,java,js,php,python,riscv-32,riscv-64,ruby,x86,x86-64"; # eats 100% cpu on _digest
-    modules = false;
+    modules = true;
+    extraOptions = [];
+  };
+
+  unstable-params = stable-params // {
+    stable = false;
+    extraOptions = ["--enable-trust-c-tco"];
   };
 
   export-gambopt = params : "export GAMBOPT=${params.buildRuntimeOptions} ;";
 
   gambit-bootstrap = import ./bootstrap.nix ( pkgs );
 
-  meta = {
+  meta = with lib; {
     description = "Optimizing Scheme to C compiler";
     homepage    = "http://gambitscheme.org";
-    license     = lib.licenses.lgpl21; # dual, also asl20
-    # NB regarding platforms: continuously tested on Linux,
-    # tested on macOS once in a while, *should* work everywhere.
-    platforms   = lib.platforms.unix;
-    maintainers = with lib.maintainers; [ thoughtpolice raskin fare ];
+    license     = licenses.lgpl21Only; # dual, also asl20
+    # NB regarding platforms: continuously tested on Linux x86_64 and regularly tested on macOS x86_64.
+    # *should* work everywhere.
+    platforms   = platforms.unix;
+    maintainers = with maintainers; [ thoughtpolice raskin fare ];
   };
 }
diff --git a/pkgs/development/compilers/gambit/unstable.nix b/pkgs/development/compilers/gambit/unstable.nix
index a689991a1e13a..26761d67d35dd 100644
--- a/pkgs/development/compilers/gambit/unstable.nix
+++ b/pkgs/development/compilers/gambit/unstable.nix
@@ -1,13 +1,15 @@
 { callPackage, fetchFromGitHub, gambit-support }:
 
 callPackage ./build.nix {
-  version = "unstable-2020-09-20";
-  git-version = "4.9.3-1234-g6acd87df";
+  version = "unstable-2023-07-30";
+  git-version = "4.9.5-3-ge059fffd";
+  stampYmd = 20230730;
+  stampHms = 151945;
   src = fetchFromGitHub {
-    owner = "feeley";
+    owner = "gambit";
     repo = "gambit";
-    rev = "6acd87dfa95bfca33082a431e72f023345dc07ee";
-    sha256 = "0a3dy4ij8hzlp3sjam4b6dp6yvyz5d7g2x784qm3gp89fi2ck56r";
+    rev = "e059fffdfbd91e27c350ff2ebd671adefadd5212";
+    sha256 = "0q7hdfchl6lw53xawmmjvhyjdmqxjdsnzjqv9vpkl2qa4vyir5fs";
   };
   gambit-params = gambit-support.unstable-params;
 }
diff --git a/pkgs/development/compilers/go/1.19.nix b/pkgs/development/compilers/go/1.19.nix
index 53da9af55357b..0ce8fcc659a88 100644
--- a/pkgs/development/compilers/go/1.19.nix
+++ b/pkgs/development/compilers/go/1.19.nix
@@ -47,11 +47,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "go";
-  version = "1.19.11";
+  version = "1.19.12";
 
   src = fetchurl {
     url = "https://go.dev/dl/go${version}.src.tar.gz";
-    hash = "sha256-4lyaty2BEUK39B/22lFl/sLRvl/uw+8sZrwL3stDFIk=";
+    hash = "sha256-7l1Q4Kf9dLobE3y4eWCaqu+YgL9ytdF0IQDjiucrtVc=";
   };
 
   strictDeps = true;
diff --git a/pkgs/development/compilers/nim/default.nix b/pkgs/development/compilers/nim/default.nix
index 692f5331d0b85..131a27b6f5445 100644
--- a/pkgs/development/compilers/nim/default.nix
+++ b/pkgs/development/compilers/nim/default.nix
@@ -285,9 +285,6 @@ in {
 
         "--set NIM_CONFIG_PATH ${placeholder "out"}/etc/nim"
         # Use the custom configuration
-
-        ''--set NIX_HARDENING_ENABLE "''${NIX_HARDENING_ENABLE/fortify}"''
-        # Fortify hardening appends -O2 to gcc flags which is unwanted for unoptimized nim builds.
       ];
 
       installPhase = ''
diff --git a/pkgs/development/compilers/p4c/default.nix b/pkgs/development/compilers/p4c/default.nix
index 5c27ac26d6cb7..99ec78c6eceef 100644
--- a/pkgs/development/compilers/p4c/default.nix
+++ b/pkgs/development/compilers/p4c/default.nix
@@ -25,15 +25,15 @@
 let
   toCMakeBoolean = v: if v then "ON" else "OFF";
 in
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "p4c";
-  version = "1.2.4.0";
+  version = "1.2.4.1";
 
   src = fetchFromGitHub {
     owner = "p4lang";
     repo = "p4c";
-    rev = "v${version}";
-    sha256 = "sha256-nIPvB6nwa55dKNeoNRrjhnnmoYLYTviaoL79+hT6gGs=";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-Whdryz1Gt0ymE7cj+mI95lW3Io9yBvLqcWa04gu5zEw=";
     fetchSubmodules = true;
   };
 
@@ -78,12 +78,12 @@ stdenv.mkDerivation rec {
     python3
   ];
 
-  meta = with lib; {
-    homepage = "https://github.com/p4lang/p4c";
+  meta = {
     changelog = "https://github.com/p4lang/p4c/releases";
     description = "Reference compiler for the P4 programming language";
-    platforms = platforms.linux;
-    maintainers = with maintainers; [ raitobezarius govanify ];
-    license = licenses.asl20;
+    homepage = "https://github.com/p4lang/p4c";
+    license = lib.licenses.asl20;
+    maintainers = with lib.maintainers; [ raitobezarius govanify ];
+    platforms = lib.platforms.linux;
   };
-}
+})
diff --git a/pkgs/development/compilers/sbcl/2.x.nix b/pkgs/development/compilers/sbcl/2.x.nix
index 493186389f5e5..8fcb1c7c043a9 100644
--- a/pkgs/development/compilers/sbcl/2.x.nix
+++ b/pkgs/development/compilers/sbcl/2.x.nix
@@ -22,13 +22,13 @@ let
     # The loosely held nixpkgs convention for SBCL is to keep the last two
     # versions.
     # https://github.com/NixOS/nixpkgs/pull/200994#issuecomment-1315042841
-    "2.3.5" = {
-      sha256 = "sha256-ickHIM+dBdvNkNaQ44GiUUwPGAcVng1yIiIMWowtUYY=";
-    };
-
     "2.3.6" = {
       sha256 = "sha256-tEFMpNmnR06NiE19YyN+LynvRZ39WoSEJKnD+lUdGbk=";
     };
+
+    "2.3.7" = {
+      sha256 = "sha256-aYFE+4BaMZGaYQ3pmauYOR1S62mK2qjKGbKPxu0Nmfc=";
+    };
   };
 
 in with versionMap.${version};
diff --git a/pkgs/development/compilers/zig/hook.nix b/pkgs/development/compilers/zig/hook.nix
new file mode 100644
index 0000000000000..df6304a343783
--- /dev/null
+++ b/pkgs/development/compilers/zig/hook.nix
@@ -0,0 +1,17 @@
+{ lib
+, makeSetupHook
+, zig
+}:
+
+makeSetupHook {
+  name = "zig-hook";
+
+  propagatedBuildInputs = [ zig ];
+
+  passthru = { inherit zig; };
+
+  meta = {
+    description = "A setup hook for using the Zig compiler in Nixpkgs";
+    inherit (zig.meta) maintainers platforms broken;
+  };
+} ./setup-hook.sh
diff --git a/pkgs/development/compilers/zig/setup-hook.sh b/pkgs/development/compilers/zig/setup-hook.sh
new file mode 100644
index 0000000000000..f514180692eab
--- /dev/null
+++ b/pkgs/development/compilers/zig/setup-hook.sh
@@ -0,0 +1,90 @@
+# shellcheck shell=bash disable=SC2154,SC2086
+
+# This readonly zigDefaultBuildFlagsArray below is meant to avoid CPU feature
+# impurity in Nixpkgs. However, this flagset is "unstable": it is specifically
+# meant to be controlled by the upstream development team - being up to that
+# team exposing or not that flags to the outside (especially the package manager
+# teams).
+
+# Because of this hurdle, @andrewrk from Zig Software Foundation proposed some
+# solutions for this issue. Hopefully they will be implemented in future
+# releases of Zig. When this happens, this flagset should be revisited
+# accordingly.
+
+# Below are some useful links describing the discovery process of this 'bug' in
+# Nixpkgs:
+
+# https://github.com/NixOS/nixpkgs/issues/169461
+# https://github.com/NixOS/nixpkgs/issues/185644
+# https://github.com/NixOS/nixpkgs/pull/197046
+# https://github.com/NixOS/nixpkgs/pull/241741#issuecomment-1624227485
+# https://github.com/ziglang/zig/issues/14281#issuecomment-1624220653
+
+readonly zigDefaultFlagsArray=("-Drelease-safe=true" "-Dcpu=baseline")
+
+function zigSetGlobalCacheDir {
+    ZIG_GLOBAL_CACHE_DIR=$(mktemp -d)
+    export ZIG_GLOBAL_CACHE_DIR
+}
+
+function zigBuildPhase {
+    runHook preBuild
+
+    local flagsArray=(
+        "${zigDefaultFlagsArray[@]}"
+        $zigBuildFlags "${zigBuildFlagsArray[@]}"
+    )
+
+    echoCmd 'build flags' "${flagsArray[@]}"
+    zig build "${flagsArray[@]}"
+
+    runHook postBuild
+}
+
+function zigCheckPhase {
+    runHook preCheck
+
+    local flagsArray=(
+        "${zigDefaultFlagsArray[@]}"
+        $zigCheckFlags "${zigCheckFlagsArray[@]}"
+    )
+
+    echoCmd 'check flags' "${flagsArray[@]}"
+    zig build test "${flagsArray[@]}"
+
+    runHook postCheck
+}
+
+function zigInstallPhase {
+    runHook preInstall
+
+    local flagsArray=(
+        "${zigDefaultFlagsArray[@]}"
+        $zigBuildFlags "${zigBuildFlagsArray[@]}"
+        $zigInstallFlags "${zigInstallFlagsArray[@]}"
+    )
+
+    if [ -z "${dontAddPrefix-}" ]; then
+        # Zig does not recognize `--prefix=/dir/`, only `--prefix /dir/`
+        flagsArray+=("${prefixKey:---prefix}" "$prefix")
+    fi
+
+    echoCmd 'install flags' "${flagsArray[@]}"
+    zig build install "${flagsArray[@]}"
+
+    runHook postInstall
+}
+
+addEnvHooks "$targetOffset" zigSetGlobalCacheDir
+
+if [ -z "${dontUseZigBuild-}" ] && [ -z "${buildPhase-}" ]; then
+    buildPhase=zigBuildPhase
+fi
+
+if [ -z "${dontUseZigCheck-}" ] && [ -z "${checkPhase-}" ]; then
+    checkPhase=zigCheckPhase
+fi
+
+if [ -z "${dontUseZigInstall-}" ] && [ -z "${installPhase-}" ]; then
+    installPhase=zigInstallPhase
+fi
diff --git a/pkgs/development/coq-modules/coquelicot/default.nix b/pkgs/development/coq-modules/coquelicot/default.nix
index 91b2022724768..a56a8c6324d81 100644
--- a/pkgs/development/coq-modules/coquelicot/default.nix
+++ b/pkgs/development/coq-modules/coquelicot/default.nix
@@ -7,12 +7,13 @@ mkCoqDerivation {
   domain = "gitlab.inria.fr";
   inherit version;
   defaultVersion = with lib.versions; lib.switch coq.coq-version [
-    { case = range "8.12" "8.17"; out = "3.3.1"; }
+    { case = range "8.12" "8.17"; out = "3.4.0"; }
     { case = range "8.12" "8.17"; out = "3.3.0"; }
     { case = range "8.8" "8.16"; out = "3.2.0"; }
     { case = range "8.8" "8.13"; out = "3.1.0"; }
     { case = range "8.5" "8.9";  out = "3.0.2"; }
   ] null;
+  release."3.4.0".sha256 = "sha256-LIj2SwTvVBxSAO58VYCQix/uxQQe8ey6hqFOSh3PNcg=";
   release."3.3.1".sha256 = "sha256-YCvd4aIt2BxLKBYSWzN7aqo0AuY7z8oADmKvybhYBQI=";
   release."3.3.0".sha256 = "sha256-bh9qP/EhWrHpTe2GMGG3S2vgBSSK088mFfhAIGejVoU=";
   release."3.2.0".sha256 = "07w7dbl8x7xxnbr2q39wrdh054gvi3daqjpdn1jm53crsl1fjxm4";
diff --git a/pkgs/development/coq-modules/interval/default.nix b/pkgs/development/coq-modules/interval/default.nix
index 9e8a691fca3e8..1e31323f2e368 100644
--- a/pkgs/development/coq-modules/interval/default.nix
+++ b/pkgs/development/coq-modules/interval/default.nix
@@ -7,13 +7,14 @@ mkCoqDerivation rec {
   domain = "gitlab.inria.fr";
   inherit version;
   defaultVersion = with lib.versions; lib.switch coq.coq-version [
-    { case = range "8.12" "8.17"; out = "4.7.0"; }
+    { case = range "8.12" "8.17"; out = "4.8.0"; }
     { case = range "8.12" "8.16"; out = "4.6.0"; }
     { case = range "8.8" "8.16"; out = "4.5.2"; }
     { case = range "8.8" "8.12"; out = "4.0.0"; }
     { case = range "8.7" "8.11"; out = "3.4.2"; }
     { case = range "8.5" "8.6";  out = "3.3.0"; }
   ] null;
+  release."4.8.0".sha256 = "sha256-YPQ1tuUgGixAVdQUJ9a3lZUNVgm2pKK3RKvl3m+/8rY=";
   release."4.7.0".sha256 = "sha256-Cel25w4BeaNqu9KAW3N2KYO2IGY0EOAK5FQ6VHBPmFQ=";
   release."4.6.1".sha256 = "sha256-ZZSxt8ksz0g6dl/LEido5qJXgsaxHrVLqkGUHu90+e0=";
   release."4.6.0".sha256 = "sha256-n9ECKnV0L6XYcIcbYyOJKwlbisz/RRbNW5YESHo07X0=";
diff --git a/pkgs/development/coq-modules/iris/default.nix b/pkgs/development/coq-modules/iris/default.nix
index f72dd69f36172..81d9e21d8d72c 100644
--- a/pkgs/development/coq-modules/iris/default.nix
+++ b/pkgs/development/coq-modules/iris/default.nix
@@ -6,7 +6,7 @@ mkCoqDerivation rec {
   owner = "iris";
   inherit version;
   defaultVersion = with lib.versions; lib.switch coq.coq-version [
-    { case = range "8.13" "8.16"; out = "4.0.0"; }
+    { case = range "8.13" "8.17"; out = "4.0.0"; }
     { case = range "8.12" "8.14"; out = "3.5.0"; }
     { case = range "8.11" "8.13"; out = "3.4.0"; }
     { case = range "8.9"  "8.10"; out = "3.3.0"; }
diff --git a/pkgs/development/coq-modules/paco/default.nix b/pkgs/development/coq-modules/paco/default.nix
index cbc947092ab8f..92a4aa229d921 100644
--- a/pkgs/development/coq-modules/paco/default.nix
+++ b/pkgs/development/coq-modules/paco/default.nix
@@ -5,11 +5,13 @@ mkCoqDerivation {
   owner = "snu-sf";
   inherit version;
   defaultVersion = with lib.versions; lib.switch coq.coq-version [
+    { case = range "8.13" "8.17"; out = "4.2.0"; }
     { case = range "8.12" "8.17"; out = "4.1.2"; }
     { case = range "8.9" "8.13"; out = "4.1.1"; }
     { case = range "8.6" "8.13"; out = "4.0.2"; }
     { case = isEq "8.5";         out = "1.2.8"; }
   ] null;
+  release."4.2.0".sha256 = "sha256-YHYtiz9hium96n3owL/C99AjJAFTlTCmmb2+ttevgMY=";
   release."4.1.2".sha256 = "sha256:1l8mwakqp4wnppsldl8wp2j24h1jvadnvrsgf35xnvdyygypjp2v";
   release."4.1.1".sha256 = "1qap8cyv649lr1s11r7h5jzdjd4hsna8kph15qy5fw24h5nx6byy";
   release."4.0.2".sha256 = "1q96bsxclqx84xn5vkid501jkwlc1p6fhb8szrlrp82zglj58b0b";
diff --git a/pkgs/development/embedded/avrdude/default.nix b/pkgs/development/embedded/avrdude/default.nix
index 64bfb8f85999c..556db9dc303c1 100644
--- a/pkgs/development/embedded/avrdude/default.nix
+++ b/pkgs/development/embedded/avrdude/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "avrdude";
-  version = "7.1";
+  version = "7.2";
 
   src = fetchFromGitHub {
     owner = "avrdudes";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-pGjOefWnf11kG/zFGwYGet1OjAhKsULNGgh6vqvIQ7c=";
+    sha256 = "sha256-/JyhMBcjNklyyXZEFZGTjrTNyafXEdHEhcLz6ZQx9aU=";
   };
 
   nativeBuildInputs = [ cmake bison flex ] ++ lib.optionals docSupport [
diff --git a/pkgs/development/interpreters/erlang/25.nix b/pkgs/development/interpreters/erlang/25.nix
index a3cb5166ef1ba..3644c12fd4b2a 100644
--- a/pkgs/development/interpreters/erlang/25.nix
+++ b/pkgs/development/interpreters/erlang/25.nix
@@ -1,6 +1,6 @@
 { mkDerivation }:
 
 mkDerivation {
-  version = "25.3.2.4";
-  sha256 = "U0hzGrLcJZndCGXz/4b9yXy21QGXbKAtc01H1QnwO4A=";
+  version = "25.3.2.5";
+  sha256 = "fnyWyJ+QsaJk2/LK8jOuxZmt3AFXmeubdeoYSGid/0A=";
 }
diff --git a/pkgs/development/interpreters/luau/default.nix b/pkgs/development/interpreters/luau/default.nix
index a6c468a1fb66d..8fe357820396d 100644
--- a/pkgs/development/interpreters/luau/default.nix
+++ b/pkgs/development/interpreters/luau/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "luau";
-  version = "0.584";
+  version = "0.588";
 
   src = fetchFromGitHub {
     owner = "Roblox";
     repo = "luau";
     rev = version;
-    hash = "sha256-yRKx+hKbi9T8O7kFnEmLYbMwhLaiWh0fHRieZzgYPSI=";
+    hash = "sha256-iRYVmRnEpLBtBJ5EjN88EmWM88FNU4CyFvgnBaqDSz4=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/interpreters/perl/intepreter.nix b/pkgs/development/interpreters/perl/intepreter.nix
index 6d543e7d8407b..96d6430c14e23 100644
--- a/pkgs/development/interpreters/perl/intepreter.nix
+++ b/pkgs/development/interpreters/perl/intepreter.nix
@@ -232,6 +232,7 @@ stdenv.mkDerivation (rec {
     maintainers = [ maintainers.eelco ];
     platforms = platforms.all;
     priority = 6; # in `buildEnv' (including the one inside `perl.withPackages') the library files will have priority over files in `perl`
+    mainProgram = "perl";
   };
 } // lib.optionalAttrs (stdenv.buildPlatform != stdenv.hostPlatform) rec {
   crossVersion = "c876045741f5159318085d2737b0090f35a842ca"; # June 5, 2022
diff --git a/pkgs/development/interpreters/python/cpython/default.nix b/pkgs/development/interpreters/python/cpython/default.nix
index ff103373a10f6..f84cca760f860 100644
--- a/pkgs/development/interpreters/python/cpython/default.nix
+++ b/pkgs/development/interpreters/python/cpython/default.nix
@@ -572,5 +572,6 @@ in with passthru; stdenv.mkDerivation {
     license = licenses.psfl;
     platforms = platforms.linux ++ platforms.darwin;
     maintainers = with maintainers; [ fridh ];
+    mainProgram = "python3";
   };
 }
diff --git a/pkgs/development/interpreters/ruby/default.nix b/pkgs/development/interpreters/ruby/default.nix
index 4091fc7dc8d8f..73c3a9b8bfb62 100644
--- a/pkgs/development/interpreters/ruby/default.nix
+++ b/pkgs/development/interpreters/ruby/default.nix
@@ -349,4 +349,11 @@ in {
     sha256 = "sha256-lsV1WIcaZ0jeW8nydOk/S1qtBs2PN776Do2U57ikI7w=";
     cargoSha256 = "sha256-6du7RJo0DH+eYMOoh3L31F3aqfR5+iG1iKauSV1uNcQ=";
   };
+
+  ruby_3_3 = generic {
+    version = rubyVersion "3" "3" "0" "preview1";
+    sha256 = "sha256-w0VKkRd5uNdHqw6ocEEDDQAtUz7ayySF/lWLcITaJe0=";
+    cargoSha256 = "sha256-6du7RJo0DH+eYMOoh3L31F3aqfR5+iG1iKauSV1uNcQ=";
+  };
+
 }
diff --git a/pkgs/development/interpreters/trealla/default.nix b/pkgs/development/interpreters/trealla/default.nix
index 410730c76b19f..2fc3da05786b1 100644
--- a/pkgs/development/interpreters/trealla/default.nix
+++ b/pkgs/development/interpreters/trealla/default.nix
@@ -16,13 +16,13 @@
 assert lib.elem lineEditingLibrary [ "isocline" "readline" ];
 stdenv.mkDerivation (finalAttrs: {
   pname = "trealla";
-  version = "2.22.17";
+  version = "2.23.35";
 
   src = fetchFromGitHub {
     owner = "trealla-prolog";
     repo = "trealla";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-TUay32EzVzV2nlDYZgF5pAhnQNk7d8JbgAUHheNSpzo=";
+    hash = "sha256-yCVBjxO9tEKlyWo6RlK4EdyUxCkxp0z2EzJ2np0xOUU=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/libraries/aravis/default.nix b/pkgs/development/libraries/aravis/default.nix
index d5096a951a03b..c1b0baa489f77 100644
--- a/pkgs/development/libraries/aravis/default.nix
+++ b/pkgs/development/libraries/aravis/default.nix
@@ -29,13 +29,13 @@ assert enableViewer -> wrapGAppsHook != null;
 
 stdenv.mkDerivation rec {
   pname = "aravis";
-  version = "0.8.27";
+  version = "0.8.28";
 
   src = fetchFromGitHub {
     owner = "AravisProject";
     repo = pname;
     rev = version;
-    sha256 = "sha256-QxI/+2mtX9d4UTkbFFVh5N4JqTMqygGUgz08XWxAQac=";
+    sha256 = "sha256-EgKZcylg3Nx320BdeEz8PVadwo2pE6a3h0vt7YT4LVA=";
   };
 
   outputs = [ "bin" "dev" "out" "lib" ];
diff --git a/pkgs/development/libraries/botan/generic.nix b/pkgs/development/libraries/botan/generic.nix
index 567f570f71d54..795cd5189efe4 100644
--- a/pkgs/development/libraries/botan/generic.nix
+++ b/pkgs/development/libraries/botan/generic.nix
@@ -29,12 +29,13 @@ stdenv.mkDerivation rec {
   patches = extraPatches;
   inherit postPatch;
 
-  buildInputs = [ python3 bzip2 zlib gmp boost ]
+  nativeBuildInputs = [ python3 ];
+  buildInputs = [ bzip2 zlib gmp boost ]
     ++ lib.optionals stdenv.isDarwin [ CoreServices Security ];
 
   configurePhase = ''
     runHook preConfigure
-    python configure.py --prefix=$out --with-bzip2 --with-zlib ${extraConfigureFlags}${lib.optionalString stdenv.cc.isClang " --cc=clang"}
+    python configure.py --prefix=$out --with-bzip2 --with-zlib ${extraConfigureFlags}${lib.optionalString stdenv.cc.isClang " --cc=clang"} ${lib.optionalString stdenv.hostPlatform.isAarch64 " --cpu=aarch64"}
     runHook postConfigure
   '';
 
diff --git a/pkgs/development/libraries/cegui/default.nix b/pkgs/development/libraries/cegui/default.nix
index cb302f3381ca0..c56c59d02ad16 100644
--- a/pkgs/development/libraries/cegui/default.nix
+++ b/pkgs/development/libraries/cegui/default.nix
@@ -1,19 +1,53 @@
-{ lib, stdenv, fetchurl, cmake, ogre, freetype, boost, expat, libiconv }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, ogre
+, freetype
+, boost
+, expat
+, darwin
+, libiconv
+, unstableGitUpdater
+}:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation {
   pname = "cegui";
-  version = "0.8.7";
+  version = "unstable-2023-03-18";
 
-  src = fetchurl {
-    url = "mirror://sourceforge/crayzedsgui/${pname}-${version}.tar.bz2";
-    sha256 = "067562s71kfsnbp2zb2bmq8zj3jk96g5a4rcc5qc3n8nfyayhldk";
+  src = fetchFromGitHub {
+    owner = "paroj";
+    repo = "cegui";
+    rev = "186ce900e293b98f2721c11930248a8de54aa338";
+    hash = "sha256-RJ4MnxklcuxC+ZYEbfma5RDc2aeJ95LuTwNk+FnEhdo=";
   };
 
-  nativeBuildInputs = [ cmake ];
-  buildInputs = [ ogre freetype boost expat ]
-    ++ lib.optionals stdenv.isDarwin [ libiconv ];
+  strictDeps = true;
 
-  cmakeFlags = lib.optional (stdenv.isDarwin && stdenv.isAarch64) "-DCMAKE_OSX_ARCHITECTURES=arm64";
+  nativeBuildInputs = [
+    cmake
+  ];
+
+  buildInputs = [
+    ogre
+    freetype
+    boost
+    expat
+  ] ++ lib.optionals stdenv.isDarwin [
+    darwin.apple_sdk.frameworks.Cocoa
+    darwin.apple_sdk.frameworks.Foundation
+    libiconv
+  ];
+
+  cmakeFlags = [
+    "-DCEGUI_OPTION_DEFAULT_IMAGECODEC=OgreRenderer-0"
+  ] ++ lib.optionals (stdenv.hostPlatform.isDarwin) [
+    "-DCMAKE_OSX_ARCHITECTURES=${stdenv.hostPlatform.darwinArch}"
+  ];
+
+  passthru.updateScript = unstableGitUpdater {
+    branch = "v0";
+  };
 
   meta = with lib; {
     homepage = "http://cegui.org.uk/";
diff --git a/pkgs/development/libraries/cpp-utilities/default.nix b/pkgs/development/libraries/cpp-utilities/default.nix
index 45a87690e1972..c3731c0e7a759 100644
--- a/pkgs/development/libraries/cpp-utilities/default.nix
+++ b/pkgs/development/libraries/cpp-utilities/default.nix
@@ -22,6 +22,9 @@ stdenv.mkDerivation rec {
   buildInputs = lib.optionals stdenv.isDarwin [
     iconv # needed on Darwin, see https://github.com/Martchus/cpp-utilities/issues/4
   ];
+
+  cmakeFlags = ["-DBUILD_SHARED_LIBS=ON"];
+
   # Otherwise, tests fail since the resulting shared object libc++utilities.so is only available in PWD of the make files
   preCheck = ''
     checkFlagsArray+=(
diff --git a/pkgs/development/libraries/ffmpeg/generic.nix b/pkgs/development/libraries/ffmpeg/generic.nix
index 6bfb29f338fea..a1ca20f9483c4 100644
--- a/pkgs/development/libraries/ffmpeg/generic.nix
+++ b/pkgs/development/libraries/ffmpeg/generic.nix
@@ -34,7 +34,7 @@
 , withCaca ? withFullDeps # Textual display (ASCII art)
 , withCelt ? withFullDeps # CELT decoder
 , withCrystalhd ? withFullDeps
-, withCuda ? withFullDeps && (with stdenv; (!isDarwin && !hostPlatform.isAarch))
+, withCuda ? withFullDeps && (with stdenv; (!isDarwin && !hostPlatform.isAarch && !hostPlatform.isRiscV))
 , withCudaLLVM ? withFullDeps
 , withDav1d ? withHeadlessDeps # AV1 decoder (focused on speed and correctness)
 , withDc1394 ? withFullDeps && !stdenv.isDarwin # IIDC-1394 grabbing (ieee 1394)
@@ -58,8 +58,8 @@
 , withModplug ? withFullDeps && !stdenv.isDarwin # ModPlug support
 , withMp3lame ? withHeadlessDeps # LAME MP3 encoder
 , withMysofa ? withFullDeps # HRTF support via SOFAlizer
-, withNvdec ? withHeadlessDeps && !stdenv.isDarwin && stdenv.hostPlatform == stdenv.buildPlatform && !stdenv.isAarch32
-, withNvenc ? withHeadlessDeps && !stdenv.isDarwin && stdenv.hostPlatform == stdenv.buildPlatform && !stdenv.isAarch32
+, withNvdec ? withHeadlessDeps && (with stdenv; !isDarwin && hostPlatform == buildPlatform && !isAarch32 && !hostPlatform.isRiscV)
+, withNvenc ? withHeadlessDeps && (with stdenv; !isDarwin && hostPlatform == buildPlatform && !isAarch32 && !hostPlatform.isRiscV)
 , withOgg ? withHeadlessDeps # Ogg container used by vorbis & theora
 , withOpenal ? withFullDeps # OpenAL 1.1 capture support
 , withOpencl ? withFullDeps
diff --git a/pkgs/development/libraries/fmt/default.nix b/pkgs/development/libraries/fmt/default.nix
index f6ea2f018244a..4c439717bacd9 100644
--- a/pkgs/development/libraries/fmt/default.nix
+++ b/pkgs/development/libraries/fmt/default.nix
@@ -1,6 +1,6 @@
 { lib
 , stdenv
-, fetchFromGitHub
+, fetchFromGitHub, fetchpatch
 , cmake
 , enableShared ? !stdenv.hostPlatform.isStatic
 
@@ -69,5 +69,12 @@ in
   fmt_10 = generic {
     version = "10.0.0";
     sha256 = "sha256-sVY2TVPS/Zx32p5XIYR6ghqN4kOZexzH7Cr+y8sZXK8=";
+    patches = [
+      # fixes a test failure on pkgsMusl.fmt
+      (fetchpatch {
+        url = "https://github.com/fmtlib/fmt/commit/eaa6307691a9edb9e2f2eacf70500fc6989b416c.diff";
+        hash = "sha256-PydnmOn/o9DexBViFGUUAO9KFjVS6CN8GVDHcl/+K8g=";
+      })
+    ];
   };
 }
diff --git a/pkgs/development/libraries/gspell/default.nix b/pkgs/development/libraries/gspell/default.nix
index d3ddb25ed0e9a..fa7eb93fe0c6c 100644
--- a/pkgs/development/libraries/gspell/default.nix
+++ b/pkgs/development/libraries/gspell/default.nix
@@ -17,14 +17,14 @@
 
 stdenv.mkDerivation rec {
   pname = "gspell";
-  version = "1.12.1";
+  version = "1.12.2";
 
   outputs = [ "out" "dev" ];
   outputBin = "dev";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "jsRPMgUuiW/N1JJuuBSjJuOaUEfiUe7HuQVvvZREsPE=";
+    sha256 = "tOmTvYJ+TOtqdwsbXolQ/OO+nIsrDL6yL9+ZKAjdITk=";
   };
 
   patches = [
diff --git a/pkgs/development/libraries/gstreamer/rs/Cargo.lock b/pkgs/development/libraries/gstreamer/rs/Cargo.lock
index 2add57bfb4b52..976126eecb53e 100644
--- a/pkgs/development/libraries/gstreamer/rs/Cargo.lock
+++ b/pkgs/development/libraries/gstreamer/rs/Cargo.lock
@@ -146,9 +146,9 @@ dependencies = [
 
 [[package]]
 name = "anyhow"
-version = "1.0.71"
+version = "1.0.72"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c7d0618f0e0b7e8ff11427422b64564d5fb0be1940354bfe2e0529b18a9d9b8"
+checksum = "3b13c32d80ecc7ab747b80c3784bce54ee8a7a0cc4fbda9bf4cda2cf6fe90854"
 
 [[package]]
 name = "arbitrary"
@@ -178,9 +178,9 @@ dependencies = [
 
 [[package]]
 name = "async-compression"
-version = "0.4.0"
+version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5b0122885821398cc923ece939e24d1056a2384ee719432397fa9db87230ff11"
+checksum = "62b74f44609f0f91493e3082d3734d98497e094777144380ea4db9f9905dd5b6"
 dependencies = [
  "flate2",
  "futures-core",
@@ -197,7 +197,7 @@ checksum = "0e97ce7de6cf12de5d7226c73f5ba9811622f4db3a5b91b55c53e987e5f91cba"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.23",
+ "syn 2.0.26",
 ]
 
 [[package]]
@@ -208,13 +208,13 @@ checksum = "ecc7ab41815b3c653ccd2978ec3255c81349336702dfdf62ee6f7069b12a3aae"
 
 [[package]]
 name = "async-trait"
-version = "0.1.70"
+version = "0.1.71"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "79fa67157abdfd688a259b6648808757db9347af834624f27ec646da976aee5d"
+checksum = "a564d521dd56509c4c47480d00b80ee55f7e385ae48db5744c67ad50c92d2ebf"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.23",
+ "syn 2.0.26",
 ]
 
 [[package]]
@@ -738,9 +738,9 @@ checksum = "630be753d4e58660abd17930c71b647fe46c27ea6b63cc59e1e3851406972e42"
 
 [[package]]
 name = "bitstream-io"
-version = "1.6.0"
+version = "1.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9d28070975aaf4ef1fd0bd1f29b739c06c2cdd9972e090617fb6dca3b2cb564e"
+checksum = "82704769cb85a22df2c54d6bdd6a158b7931d256cf3248a07d6ecbe9d58b31d7"
 
 [[package]]
 name = "block-buffer"
@@ -917,9 +917,9 @@ dependencies = [
 
 [[package]]
 name = "clap"
-version = "4.3.10"
+version = "4.3.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "384e169cc618c613d5e3ca6404dda77a8685a63e08660dcc64abaf7da7cb0c7a"
+checksum = "74bb1b4028935821b2d6b439bba2e970bdcf740832732437ead910c632e30d7d"
 dependencies = [
  "clap_builder",
  "clap_derive",
@@ -928,9 +928,9 @@ dependencies = [
 
 [[package]]
 name = "clap_builder"
-version = "4.3.10"
+version = "4.3.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ef137bbe35aab78bdb468ccfba75a5f4d8321ae011d34063770780545176af2d"
+checksum = "5ae467cbb0111869b765e13882a1dbbd6cb52f58203d8b80c44f667d4dd19843"
 dependencies = [
  "anstream",
  "anstyle",
@@ -940,14 +940,14 @@ dependencies = [
 
 [[package]]
 name = "clap_derive"
-version = "4.3.2"
+version = "4.3.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b8cd2b2a819ad6eec39e8f1d6b53001af1e5469f8c177579cdaeb313115b825f"
+checksum = "54a9bb5758fc5dfe728d1019941681eccaf0cf8a4189b692a0ee2f2ecf90a050"
 dependencies = [
  "heck",
  "proc-macro2",
  "quote",
- "syn 2.0.23",
+ "syn 2.0.26",
 ]
 
 [[package]]
@@ -1043,9 +1043,9 @@ checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa"
 
 [[package]]
 name = "cpufeatures"
-version = "0.2.8"
+version = "0.2.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "03e69e28e9f7f77debdedbaafa2866e1de9ba56df55a8bd7cfc724c25a09987c"
+checksum = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1"
 dependencies = [
  "libc",
 ]
@@ -1178,16 +1178,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "ctor"
-version = "0.1.26"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d2301688392eb071b0bf1a37be05c469d3cc4dbbd95df672fe28ab021e6a096"
-dependencies = [
- "quote",
- "syn 1.0.109",
-]
-
-[[package]]
 name = "ctr"
 version = "0.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1219,11 +1209,11 @@ checksum = "c2e66c9d817f1720209181c316d28635c050fa304f9c79e47a520882661b7308"
 
 [[package]]
 name = "dav1d"
-version = "0.9.3"
+version = "0.9.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c02ab20a37bcd596fb85c3185c3286f983fc6125755c74625c7849c2ba0b7bb3"
+checksum = "87ca43c8e58ee931086b5fd9a4b6a8cc40c1346592246c4fe3d299eca1684c75"
 dependencies = [
- "bitflags 1.3.2",
+ "bitflags 2.3.3",
  "dav1d-sys",
 ]
 
@@ -1338,9 +1328,9 @@ dependencies = [
 
 [[package]]
 name = "equivalent"
-version = "1.0.0"
+version = "1.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "88bffebc5d80432c9b140ee17875ff173a8ab62faad5b257da912bd2f6c1c0a1"
+checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
 
 [[package]]
 name = "errno"
@@ -1536,7 +1526,7 @@ checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.23",
+ "syn 2.0.26",
 ]
 
 [[package]]
@@ -1889,7 +1879,7 @@ dependencies = [
 
 [[package]]
 name = "gst-plugin-audiofx"
-version = "0.10.10"
+version = "0.10.11"
 dependencies = [
  "anyhow",
  "atomic_refcell",
@@ -1911,7 +1901,7 @@ dependencies = [
 
 [[package]]
 name = "gst-plugin-aws"
-version = "0.10.10"
+version = "0.10.11"
 dependencies = [
  "async-tungstenite",
  "atomic_refcell",
@@ -1952,7 +1942,7 @@ dependencies = [
 
 [[package]]
 name = "gst-plugin-cdg"
-version = "0.10.10"
+version = "0.10.11"
 dependencies = [
  "cdg",
  "cdg_renderer",
@@ -1968,7 +1958,7 @@ dependencies = [
 
 [[package]]
 name = "gst-plugin-claxon"
-version = "0.10.10"
+version = "0.10.11"
 dependencies = [
  "atomic_refcell",
  "byte-slice-cast",
@@ -1982,7 +1972,7 @@ dependencies = [
 
 [[package]]
 name = "gst-plugin-closedcaption"
-version = "0.10.10"
+version = "0.10.11"
 dependencies = [
  "anyhow",
  "atomic_refcell",
@@ -2009,7 +1999,7 @@ dependencies = [
 
 [[package]]
 name = "gst-plugin-csound"
-version = "0.10.10"
+version = "0.10.11"
 dependencies = [
  "byte-slice-cast",
  "csound",
@@ -2023,7 +2013,7 @@ dependencies = [
 
 [[package]]
 name = "gst-plugin-dav1d"
-version = "0.10.10"
+version = "0.10.11"
 dependencies = [
  "dav1d",
  "gst-plugin-version-helper",
@@ -2036,7 +2026,7 @@ dependencies = [
 
 [[package]]
 name = "gst-plugin-fallbackswitch"
-version = "0.10.10"
+version = "0.10.11"
 dependencies = [
  "gio",
  "gst-plugin-gtk4",
@@ -2054,7 +2044,7 @@ dependencies = [
 
 [[package]]
 name = "gst-plugin-ffv1"
-version = "0.10.10"
+version = "0.10.11"
 dependencies = [
  "byte-slice-cast",
  "ffv1",
@@ -2067,7 +2057,7 @@ dependencies = [
 
 [[package]]
 name = "gst-plugin-file"
-version = "0.10.10"
+version = "0.10.11"
 dependencies = [
  "gst-plugin-version-helper",
  "gstreamer",
@@ -2078,7 +2068,7 @@ dependencies = [
 
 [[package]]
 name = "gst-plugin-flavors"
-version = "0.10.10"
+version = "0.10.11"
 dependencies = [
  "byteorder",
  "flavors",
@@ -2095,7 +2085,7 @@ dependencies = [
 
 [[package]]
 name = "gst-plugin-fmp4"
-version = "0.10.10"
+version = "0.10.11"
 dependencies = [
  "anyhow",
  "chrono",
@@ -2113,7 +2103,7 @@ dependencies = [
 
 [[package]]
 name = "gst-plugin-gif"
-version = "0.10.10"
+version = "0.10.11"
 dependencies = [
  "atomic_refcell",
  "gif",
@@ -2126,7 +2116,7 @@ dependencies = [
 
 [[package]]
 name = "gst-plugin-gtk4"
-version = "0.10.10"
+version = "0.10.11"
 dependencies = [
  "gdk4-wayland",
  "gdk4-win32",
@@ -2146,7 +2136,7 @@ dependencies = [
 
 [[package]]
 name = "gst-plugin-hlssink3"
-version = "0.10.10"
+version = "0.10.11"
 dependencies = [
  "gio",
  "glib",
@@ -2162,7 +2152,7 @@ dependencies = [
 
 [[package]]
 name = "gst-plugin-hsv"
-version = "0.10.10"
+version = "0.10.11"
 dependencies = [
  "byte-slice-cast",
  "gst-plugin-version-helper",
@@ -2177,7 +2167,7 @@ dependencies = [
 
 [[package]]
 name = "gst-plugin-json"
-version = "0.10.10"
+version = "0.10.11"
 dependencies = [
  "gst-plugin-version-helper",
  "gstreamer",
@@ -2189,7 +2179,7 @@ dependencies = [
 
 [[package]]
 name = "gst-plugin-lewton"
-version = "0.10.10"
+version = "0.10.11"
 dependencies = [
  "atomic_refcell",
  "byte-slice-cast",
@@ -2203,7 +2193,7 @@ dependencies = [
 
 [[package]]
 name = "gst-plugin-livesync"
-version = "0.10.10"
+version = "0.10.11"
 dependencies = [
  "gio",
  "gst-plugin-gtk4",
@@ -2220,7 +2210,7 @@ dependencies = [
 
 [[package]]
 name = "gst-plugin-mp4"
-version = "0.10.10"
+version = "0.10.11"
 dependencies = [
  "anyhow",
  "gst-plugin-version-helper",
@@ -2236,7 +2226,7 @@ dependencies = [
 
 [[package]]
 name = "gst-plugin-ndi"
-version = "0.10.10"
+version = "0.10.11"
 dependencies = [
  "atomic_refcell",
  "byte-slice-cast",
@@ -2253,7 +2243,7 @@ dependencies = [
 
 [[package]]
 name = "gst-plugin-onvif"
-version = "0.10.10"
+version = "0.10.11"
 dependencies = [
  "cairo-rs",
  "chrono",
@@ -2271,7 +2261,7 @@ dependencies = [
 
 [[package]]
 name = "gst-plugin-png"
-version = "0.10.10"
+version = "0.10.11"
 dependencies = [
  "gst-plugin-version-helper",
  "gstreamer",
@@ -2284,7 +2274,7 @@ dependencies = [
 
 [[package]]
 name = "gst-plugin-raptorq"
-version = "0.10.10"
+version = "0.10.11"
 dependencies = [
  "gst-plugin-version-helper",
  "gstreamer",
@@ -2298,7 +2288,7 @@ dependencies = [
 
 [[package]]
 name = "gst-plugin-rav1e"
-version = "0.10.10"
+version = "0.10.11"
 dependencies = [
  "atomic_refcell",
  "gst-plugin-version-helper",
@@ -2311,7 +2301,7 @@ dependencies = [
 
 [[package]]
 name = "gst-plugin-regex"
-version = "0.10.10"
+version = "0.10.11"
 dependencies = [
  "gst-plugin-version-helper",
  "gstreamer",
@@ -2322,7 +2312,7 @@ dependencies = [
 
 [[package]]
 name = "gst-plugin-reqwest"
-version = "0.10.10"
+version = "0.10.11"
 dependencies = [
  "futures",
  "gst-plugin-version-helper",
@@ -2339,7 +2329,7 @@ dependencies = [
 
 [[package]]
 name = "gst-plugin-rtp"
-version = "0.10.10"
+version = "0.10.11"
 dependencies = [
  "bitstream-io",
  "chrono",
@@ -2352,7 +2342,7 @@ dependencies = [
 
 [[package]]
 name = "gst-plugin-sodium"
-version = "0.10.10"
+version = "0.10.11"
 dependencies = [
  "clap",
  "gst-plugin-version-helper",
@@ -2372,7 +2362,7 @@ dependencies = [
 
 [[package]]
 name = "gst-plugin-spotify"
-version = "0.10.10"
+version = "0.10.11"
 dependencies = [
  "anyhow",
  "futures",
@@ -2387,7 +2377,7 @@ dependencies = [
 
 [[package]]
 name = "gst-plugin-textahead"
-version = "0.10.10"
+version = "0.10.11"
 dependencies = [
  "gst-plugin-version-helper",
  "gstreamer",
@@ -2396,7 +2386,7 @@ dependencies = [
 
 [[package]]
 name = "gst-plugin-textwrap"
-version = "0.10.10"
+version = "0.10.11"
 dependencies = [
  "gst-plugin-version-helper",
  "gstreamer",
@@ -2408,7 +2398,7 @@ dependencies = [
 
 [[package]]
 name = "gst-plugin-threadshare"
-version = "0.10.10"
+version = "0.10.11"
 dependencies = [
  "async-task",
  "cc",
@@ -2438,7 +2428,7 @@ dependencies = [
 
 [[package]]
 name = "gst-plugin-togglerecord"
-version = "0.10.10"
+version = "0.10.11"
 dependencies = [
  "either",
  "gio",
@@ -2454,7 +2444,7 @@ dependencies = [
 
 [[package]]
 name = "gst-plugin-tracers"
-version = "0.10.10"
+version = "0.10.11"
 dependencies = [
  "anyhow",
  "gst-plugin-version-helper",
@@ -2466,7 +2456,7 @@ dependencies = [
 
 [[package]]
 name = "gst-plugin-tutorial"
-version = "0.10.10"
+version = "0.10.11"
 dependencies = [
  "byte-slice-cast",
  "gst-plugin-version-helper",
@@ -2480,7 +2470,7 @@ dependencies = [
 
 [[package]]
 name = "gst-plugin-uriplaylistbin"
-version = "0.10.10"
+version = "0.10.11"
 dependencies = [
  "anyhow",
  "clap",
@@ -2502,7 +2492,7 @@ dependencies = [
 
 [[package]]
 name = "gst-plugin-videofx"
-version = "0.10.10"
+version = "0.10.11"
 dependencies = [
  "atomic_refcell",
  "cairo-rs",
@@ -2522,7 +2512,7 @@ dependencies = [
 
 [[package]]
 name = "gst-plugin-webp"
-version = "0.10.10"
+version = "0.10.11"
 dependencies = [
  "gst-plugin-version-helper",
  "gstreamer",
@@ -2535,7 +2525,7 @@ dependencies = [
 
 [[package]]
 name = "gst-plugin-webrtc"
-version = "0.10.10"
+version = "0.10.11"
 dependencies = [
  "anyhow",
  "async-tungstenite",
@@ -2569,7 +2559,7 @@ dependencies = [
 
 [[package]]
 name = "gst-plugin-webrtc-signalling"
-version = "0.10.10"
+version = "0.10.11"
 dependencies = [
  "anyhow",
  "async-tungstenite",
@@ -2592,7 +2582,7 @@ dependencies = [
 
 [[package]]
 name = "gst-plugin-webrtc-signalling-protocol"
-version = "0.10.10"
+version = "0.10.11"
 dependencies = [
  "serde",
  "serde_json",
@@ -2600,7 +2590,7 @@ dependencies = [
 
 [[package]]
 name = "gst-plugin-webrtchttp"
-version = "0.10.10"
+version = "0.10.11"
 dependencies = [
  "async-recursion",
  "bytes",
@@ -3491,12 +3481,12 @@ checksum = "28b29a3cd74f0f4598934efe3aeba42bae0eb4680554128851ebbecb02af14e6"
 
 [[package]]
 name = "is-terminal"
-version = "0.4.8"
+version = "0.4.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "24fddda5af7e54bf7da53067d6e802dbcc381d0a8eef629df528e3ebf68755cb"
+checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b"
 dependencies = [
  "hermit-abi 0.3.2",
- "rustix 0.38.2",
+ "rustix 0.38.4",
  "windows-sys",
 ]
 
@@ -3520,9 +3510,9 @@ dependencies = [
 
 [[package]]
 name = "itoa"
-version = "1.0.8"
+version = "1.0.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62b02a5381cc465bd3041d84623d0fa3b66738b52b8e2fc3bab8ad63ab032f4a"
+checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38"
 
 [[package]]
 name = "jobserver"
@@ -3871,7 +3861,7 @@ version = "0.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558"
 dependencies = [
- "regex-automata",
+ "regex-automata 0.1.10",
 ]
 
 [[package]]
@@ -4101,6 +4091,17 @@ dependencies = [
 ]
 
 [[package]]
+name = "num-derive"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9e6a0fd4f737c707bd9086cc16c925f294943eb62eb71499e9fd4cf71f8b9f4e"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.26",
+]
+
+[[package]]
 name = "num-integer"
 version = "0.1.45"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4196,7 +4197,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.23",
+ "syn 2.0.26",
 ]
 
 [[package]]
@@ -4227,15 +4228,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "output_vt100"
-version = "0.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "628223faebab4e3e40667ee0b2336d34a5b960ff60ea743ddfdbcf7770bcfb66"
-dependencies = [
- "winapi",
-]
-
-[[package]]
 name = "outref"
 version = "0.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4336,9 +4328,9 @@ dependencies = [
 
 [[package]]
 name = "paste"
-version = "1.0.13"
+version = "1.0.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b4b27ab7be369122c218afc2079489cdcb4b517c0a3fc386ff11e1fedfcc2b35"
+checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c"
 
 [[package]]
 name = "pbkdf2"
@@ -4383,7 +4375,7 @@ checksum = "ec2e072ecce94ec471b13398d5402c188e76ac03cf74dd1a975161b23a3f6d9c"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.23",
+ "syn 2.0.26",
 ]
 
 [[package]]
@@ -4453,13 +4445,11 @@ checksum = "c6fa0831dd7cc608c38a5e323422a0077678fa5744aa2be4ad91c4ece8eec8d5"
 
 [[package]]
 name = "pretty_assertions"
-version = "1.3.0"
+version = "1.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a25e9bcb20aa780fd0bb16b72403a9064d6b3f22f026946029acb941a50af755"
+checksum = "af7cee1a6c8a5b9208b3cb1061f10c0cb689087b3d8ce85fb9d2dd7a29b6ba66"
 dependencies = [
- "ctor",
  "diff",
- "output_vt100",
  "yansi",
 ]
 
@@ -4518,9 +4508,9 @@ dependencies = [
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.63"
+version = "1.0.66"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b368fba921b0dce7e60f5e04ec15e565b3303972b42bcfde1d0713b881959eb"
+checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9"
 dependencies = [
  "unicode-ident",
 ]
@@ -4568,9 +4558,9 @@ dependencies = [
 
 [[package]]
 name = "quote"
-version = "1.0.29"
+version = "1.0.31"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "573015e8ab27661678357f27dc26460738fd2b6c86e46f386fde94cb5d913105"
+checksum = "5fe8a65d69dd0808184ebb5f836ab526bb259db23c657efa38711b1072ee47f0"
 dependencies = [
  "proc-macro2",
 ]
@@ -4644,7 +4634,7 @@ dependencies = [
  "nasm-rs",
  "new_debug_unreachable",
  "noop_proc_macro",
- "num-derive",
+ "num-derive 0.3.3",
  "num-traits",
  "once_cell",
  "paste",
@@ -4709,13 +4699,14 @@ dependencies = [
 
 [[package]]
 name = "regex"
-version = "1.8.4"
+version = "1.9.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d0ab3ca65655bb1e41f2a8c8cd662eb4fb035e67c3f78da1d61dffe89d07300f"
+checksum = "b2eae68fc220f7cf2532e4494aded17545fce192d59cd996e0fe7887f4ceb575"
 dependencies = [
  "aho-corasick",
  "memchr",
- "regex-syntax 0.7.2",
+ "regex-automata 0.3.3",
+ "regex-syntax 0.7.4",
 ]
 
 [[package]]
@@ -4728,6 +4719,17 @@ dependencies = [
 ]
 
 [[package]]
+name = "regex-automata"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "39354c10dd07468c2e73926b23bb9c2caca74c5501e38a35da70406f1d923310"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-syntax 0.7.4",
+]
+
+[[package]]
 name = "regex-syntax"
 version = "0.6.29"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4735,9 +4737,9 @@ checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1"
 
 [[package]]
 name = "regex-syntax"
-version = "0.7.2"
+version = "0.7.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "436b050e76ed2903236f032a59761c1eb99e1b0aead2c257922771dab1fc8c78"
+checksum = "e5ea92a5b6195c6ef2a0295ea818b312502c6fc94dde986c5553242e18fd4ce2"
 
 [[package]]
 name = "reqwest"
@@ -4892,9 +4894,9 @@ dependencies = [
 
 [[package]]
 name = "rustix"
-version = "0.37.22"
+version = "0.37.23"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8818fa822adcc98b18fedbb3632a6a33213c070556b5aa7c4c8cc21cff565c4c"
+checksum = "4d69718bf81c6127a49dc64e44a742e8bb9213c0ff8869a22c308f84c1d4ab06"
 dependencies = [
  "bitflags 1.3.2",
  "errno",
@@ -4906,9 +4908,9 @@ dependencies = [
 
 [[package]]
 name = "rustix"
-version = "0.38.2"
+version = "0.38.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aabcb0461ebd01d6b79945797c27f8529082226cb630a9865a71870ff63532a4"
+checksum = "0a962918ea88d644592894bc6dc55acc6c0956488adcebbfb6e273506b7fd6e5"
 dependencies = [
  "bitflags 2.3.3",
  "errno",
@@ -4952,9 +4954,9 @@ dependencies = [
 
 [[package]]
 name = "ryu"
-version = "1.0.14"
+version = "1.0.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fe232bdf6be8c8de797b22184ee71118d63780ea42ac85b61d1baa6d3b782ae9"
+checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741"
 
 [[package]]
 name = "same-file"
@@ -4976,9 +4978,9 @@ dependencies = [
 
 [[package]]
 name = "scopeguard"
-version = "1.1.0"
+version = "1.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
+checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
 
 [[package]]
 name = "sct"
@@ -5015,47 +5017,47 @@ dependencies = [
 
 [[package]]
 name = "semver"
-version = "1.0.17"
+version = "1.0.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bebd363326d05ec3e2f532ab7660680f3b02130d780c299bca73469d521bc0ed"
+checksum = "b0293b4b29daaf487284529cc2f5675b8e57c61f70167ba415a463651fd6a918"
 dependencies = [
  "serde",
 ]
 
 [[package]]
 name = "serde"
-version = "1.0.166"
+version = "1.0.171"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d01b7404f9d441d3ad40e6a636a7782c377d2abdbe4fa2440e2edcc2f4f10db8"
+checksum = "30e27d1e4fd7659406c492fd6cfaf2066ba8773de45ca75e855590f856dc34a9"
 dependencies = [
  "serde_derive",
 ]
 
 [[package]]
 name = "serde_bytes"
-version = "0.11.10"
+version = "0.11.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f3c5113243e4a3a1c96587342d067f3e6b0f50790b6cf40d2868eb647a3eef0e"
+checksum = "ab33ec92f677585af6d88c65593ae2375adde54efdbf16d597f2cbc7a6d368ff"
 dependencies = [
  "serde",
 ]
 
 [[package]]
 name = "serde_derive"
-version = "1.0.166"
+version = "1.0.171"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5dd83d6dde2b6b2d466e14d9d1acce8816dedee94f735eac6395808b3483c6d6"
+checksum = "389894603bd18c46fa56231694f8d827779c0951a667087194cf9de94ed24682"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.23",
+ "syn 2.0.26",
 ]
 
 [[package]]
 name = "serde_json"
-version = "1.0.100"
+version = "1.0.103"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0f1e14e89be7aa4c4b78bdbdc9eb5bf8517829a600ae8eaa39a6e1d960b5185c"
+checksum = "d03b412469450d4404fe8499a268edd7f8b79fecb074b0d812ad64ca21f4031b"
 dependencies = [
  "itoa",
  "ryu",
@@ -5144,9 +5146,9 @@ checksum = "24188a676b6ae68c3b2cb3a01be17fbf7240ce009799bb56d5b1409051e78fde"
 
 [[package]]
 name = "signal-hook"
-version = "0.3.15"
+version = "0.3.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "732768f1176d21d09e076c23a93123d40bba92d50c4058da34d45c8de8e682b9"
+checksum = "8621587d4798caf8eb44879d42e56b9a93ea5dcd315a6487c357130095b62801"
 dependencies = [
  "libc",
  "signal-hook-registry",
@@ -5193,9 +5195,9 @@ dependencies = [
 
 [[package]]
 name = "smallvec"
-version = "1.10.0"
+version = "1.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0"
+checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9"
 
 [[package]]
 name = "smawk"
@@ -5281,9 +5283,9 @@ dependencies = [
 
 [[package]]
 name = "syn"
-version = "2.0.23"
+version = "2.0.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "59fb7d6d8281a51045d62b8eb3a7d1ce347b76f312af50cd3dc0af39c87c1737"
+checksum = "45c3457aacde3c65315de5031ec191ce46604304d2446e803d71ade03308d970"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -5299,15 +5301,15 @@ dependencies = [
  "cfg-expr",
  "heck",
  "pkg-config",
- "toml 0.7.5",
+ "toml 0.7.6",
  "version-compare",
 ]
 
 [[package]]
 name = "target-lexicon"
-version = "0.12.8"
+version = "0.12.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b1c7f239eb94671427157bd93b3694320f3668d4e1eff08c7285366fd777fac"
+checksum = "1d2faeef5759ab89935255b1a4cd98e0baf99d1085e37d36599c625dac49ae8e"
 
 [[package]]
 name = "tempfile"
@@ -5319,7 +5321,7 @@ dependencies = [
  "cfg-if",
  "fastrand 1.9.0",
  "redox_syscall 0.3.5",
- "rustix 0.37.22",
+ "rustix 0.37.23",
  "windows-sys",
 ]
 
@@ -5353,7 +5355,7 @@ dependencies = [
  "proc-macro2",
  "quote",
  "regex",
- "syn 2.0.23",
+ "syn 2.0.26",
 ]
 
 [[package]]
@@ -5370,22 +5372,22 @@ dependencies = [
 
 [[package]]
 name = "thiserror"
-version = "1.0.41"
+version = "1.0.43"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c16a64ba9387ef3fdae4f9c1a7f07a0997fce91985c0336f1ddc1822b3b37802"
+checksum = "a35fc5b8971143ca348fa6df4f024d4d55264f3468c71ad1c2f365b0a4d58c42"
 dependencies = [
  "thiserror-impl",
 ]
 
 [[package]]
 name = "thiserror-impl"
-version = "1.0.41"
+version = "1.0.43"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d14928354b01c4d6a4f0e549069adef399a284e7995c7ccca94e8a07a5346c59"
+checksum = "463fe12d7993d3b327787537ce8dd4dfa058de32fc2b195ef3cde03dc4771e8f"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.23",
+ "syn 2.0.26",
 ]
 
 [[package]]
@@ -5490,7 +5492,7 @@ checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.23",
+ "syn 2.0.26",
 ]
 
 [[package]]
@@ -5550,9 +5552,9 @@ dependencies = [
 
 [[package]]
 name = "toml"
-version = "0.7.5"
+version = "0.7.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1ebafdf5ad1220cb59e7d17cf4d2c72015297b75b19a10472f99b89225089240"
+checksum = "c17e963a819c331dcacd7ab957d80bc2b9a9c1e71c804826d2f283dd65306542"
 dependencies = [
  "serde",
  "serde_spanned",
@@ -5571,9 +5573,9 @@ dependencies = [
 
 [[package]]
 name = "toml_edit"
-version = "0.19.11"
+version = "0.19.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "266f016b7f039eec8a1a80dfe6156b633d208b9fccca5e4db1d6775b0c4e34a7"
+checksum = "f8123f27e969974a3dfba720fdb560be359f57b44302d280ba72e76a74480e8a"
 dependencies = [
  "indexmap 2.0.0",
  "serde",
@@ -5631,7 +5633,7 @@ checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.23",
+ "syn 2.0.26",
 ]
 
 [[package]]
@@ -5723,9 +5725,9 @@ checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460"
 
 [[package]]
 name = "unicode-ident"
-version = "1.0.10"
+version = "1.0.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "22049a19f4a68748a168c0fc439f9516686aa045927ff767eca0a85101fb6e73"
+checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c"
 
 [[package]]
 name = "unicode-linebreak"
@@ -5789,22 +5791,22 @@ checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
 
 [[package]]
 name = "uuid"
-version = "1.4.0"
+version = "1.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d023da39d1fde5a8a3fe1f3e01ca9632ada0a63e9797de55a879d6e2236277be"
+checksum = "79daa5ed5740825c40b389c5e50312b9c86df53fccd33f281df655642b43869d"
 dependencies = [
  "getrandom",
 ]
 
 [[package]]
 name = "v_frame"
-version = "0.3.4"
+version = "0.3.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e3753f70d50a77f5d381103ba2693a889fed0d84273dd5cbdf4eb8bda720f0c6"
+checksum = "bec8189c996a12ac77c50065f9c9f64961e56eb940d0ae1a4ccc7bea238bb4bc"
 dependencies = [
  "cfg-if",
  "noop_proc_macro",
- "num-derive",
+ "num-derive 0.4.0",
  "num-traits",
  "rust_hawktracer",
 ]
@@ -5914,7 +5916,7 @@ dependencies = [
  "once_cell",
  "proc-macro2",
  "quote",
- "syn 2.0.23",
+ "syn 2.0.26",
  "wasm-bindgen-shared",
 ]
 
@@ -5948,7 +5950,7 @@ checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.23",
+ "syn 2.0.26",
  "wasm-bindgen-backend",
  "wasm-bindgen-shared",
 ]
@@ -6093,9 +6095,9 @@ checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a"
 
 [[package]]
 name = "winnow"
-version = "0.4.7"
+version = "0.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca0ace3845f0d96209f0375e6d367e3eb87eb65d27d445bdc9f1843a26f39448"
+checksum = "81fac9742fd1ad1bd9643b991319f72dd031016d44b77039a26977eb667141e7"
 dependencies = [
  "memchr",
 ]
diff --git a/pkgs/development/libraries/gstreamer/rs/default.nix b/pkgs/development/libraries/gstreamer/rs/default.nix
index c3b04b07c267f..c16118926ce8f 100644
--- a/pkgs/development/libraries/gstreamer/rs/default.nix
+++ b/pkgs/development/libraries/gstreamer/rs/default.nix
@@ -114,7 +114,7 @@ let
   invalidPlugins = lib.subtractLists (lib.attrNames validPlugins) selectedPlugins;
 
   # TODO: figure out what must be done about this upstream - related lu-zero/cargo-c#323 lu-zero/cargo-c#138
-  cargo-c' = cargo-c.overrideAttrs (oldAttrs: {
+  cargo-c' = (cargo-c.__spliced.buildHost or cargo-c).overrideAttrs (oldAttrs: {
     patches = (oldAttrs.patches or []) ++ [
       (fetchpatch {
         name = "cargo-c-test-rlib-fix.patch";
@@ -130,7 +130,7 @@ in
 
 stdenv.mkDerivation rec {
   pname = "gst-plugins-rs";
-  version = "0.10.10";
+  version = "0.10.11";
 
   outputs = [ "out" "dev" ];
 
@@ -139,7 +139,7 @@ stdenv.mkDerivation rec {
     owner = "gstreamer";
     repo = "gst-plugins-rs";
     rev = version;
-    hash = "sha256-ZsE1Pz2N0XSQFDyIeEUg9+eFN94mdSmge2Tvw57RLZ4=";
+    hash = "sha256-oOoUGzbg/ib1pA0T81hxgLlHnTRlNCWH5qZUNAutn8U=";
     # TODO: temporary workaround for case-insensitivity problems with color-name crate - https://github.com/annymosse/color-name/pull/2
     postFetch = ''
       sedSearch="$(cat <<\EOF | sed -ze 's/\n/\\n/g'
diff --git a/pkgs/development/libraries/kronosnet/default.nix b/pkgs/development/libraries/kronosnet/default.nix
index 7fb8520348a28..e6b8ced1a01b4 100644
--- a/pkgs/development/libraries/kronosnet/default.nix
+++ b/pkgs/development/libraries/kronosnet/default.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "kronosnet";
-  version = "1.25";
+  version = "1.26";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-NEmkgKTm+R4lzqjbQTyQ6TDpjoTQtMKiTpzn25HUfYk=";
+    sha256 = "sha256-LkV5bi1kMRP2ofBIe+hbOzbSRStWyr3afnNdZqpVDBA=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config doxygen ];
diff --git a/pkgs/development/libraries/ldb/default.nix b/pkgs/development/libraries/ldb/default.nix
index 72ae892dca2ca..95547fb6382a3 100644
--- a/pkgs/development/libraries/ldb/default.nix
+++ b/pkgs/development/libraries/ldb/default.nix
@@ -17,11 +17,11 @@
 
 stdenv.mkDerivation rec {
   pname = "ldb";
-  version = "2.6.2";
+  version = "2.7.2";
 
   src = fetchurl {
     url = "mirror://samba/ldb/${pname}-${version}.tar.gz";
-    hash = "sha256-XLxjw1KTwjSzn5S6n/yonW0HiSXX+QIfgIZz3t8tkl4=";
+    hash = "sha256-Ju5y1keFTmYtmWQ+srLTQWVavzH0mQg41mUPtc+SCcg=";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/libblockdev/default.nix b/pkgs/development/libraries/libblockdev/default.nix
index aebb9950393f2..985151494364f 100644
--- a/pkgs/development/libraries/libblockdev/default.nix
+++ b/pkgs/development/libraries/libblockdev/default.nix
@@ -1,18 +1,43 @@
-{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, gtk-doc
-, docbook_xml_dtd_43, python3, gobject-introspection, glib, udev, kmod, parted
-, cryptsetup, lvm2, util-linux, libbytesize, libndctl, nss, volume_key
-, libxslt, docbook_xsl, gptfdisk, libyaml, autoconf-archive
-, thin-provisioning-tools, makeWrapper, e2fsprogs, libnvme, keyutils
+{ lib
+, stdenv
+, fetchFromGitHub
+, autoreconfHook
+, pkg-config
+, gtk-doc
+, docbook_xml_dtd_43
+, python3
+, gobject-introspection
+, glib
+, udev
+, kmod
+, parted
+, cryptsetup
+, lvm2
+, util-linux
+, libbytesize
+, libndctl
+, nss
+, volume_key
+, libxslt
+, docbook_xsl
+, gptfdisk
+, libyaml
+, autoconf-archive
+, thin-provisioning-tools
+, makeBinaryWrapper
+, e2fsprogs
+, libnvme
+, keyutils
 }:
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "libblockdev";
-  version = "3.0.1";
+  version = "3.0.2";
 
   src = fetchFromGitHub {
     owner = "storaged-project";
     repo = "libblockdev";
-    rev = "${version}-1";
-    sha256 = "sha256-WnHcRKRxfdSRmOW2K/vn1WQ4iPm0uS0Td0cWXaeo5hk=";
+    rev = "${finalAttrs.version}-1";
+    hash = "sha256-tqF96yeBPilF0zQ53RNN7IZ2wVgWQOwbGkvoywN/i+0=";
   };
 
   outputs = [ "out" "dev" "devdoc" ];
@@ -22,13 +47,35 @@ stdenv.mkDerivation rec {
   '';
 
   nativeBuildInputs = [
-    autoreconfHook pkg-config gtk-doc libxslt docbook_xsl docbook_xml_dtd_43
-    python3 gobject-introspection autoconf-archive makeWrapper
+    autoconf-archive
+    autoreconfHook
+    docbook_xsl
+    docbook_xml_dtd_43
+    gobject-introspection
+    gtk-doc
+    libxslt
+    makeBinaryWrapper
+    pkg-config
+    python3
   ];
 
   buildInputs = [
-    e2fsprogs glib udev keyutils kmod parted gptfdisk cryptsetup lvm2 util-linux libbytesize
-    libndctl libnvme nss volume_key libyaml
+    cryptsetup
+    e2fsprogs
+    glib
+    gptfdisk
+    keyutils
+    kmod
+    libbytesize
+    libndctl
+    libnvme
+    libyaml
+    lvm2
+    nss
+    parted
+    udev
+    util-linux
+    volume_key
   ];
 
   postInstall = ''
@@ -36,12 +83,12 @@ stdenv.mkDerivation rec {
       ${lib.makeBinPath [ thin-provisioning-tools ]}
   '';
 
-  meta = with lib; {
+  meta = {
+    changelog = "https://github.com/storaged-project/libblockdev/raw/${finalAttrs.src.rev}/NEWS.rst";
     description = "A library for manipulating block devices";
     homepage = "http://storaged.org/libblockdev/";
-    changelog = "https://github.com/storaged-project/libblockdev/raw/${src.rev}/NEWS.rst";
-    license = with licenses; [ lgpl2Plus gpl2Plus ]; # lgpl2Plus for the library, gpl2Plus for the utils
-    maintainers = with maintainers; [ johnazoidberg ];
-    platforms = platforms.linux;
+    license = with lib.licenses; [ lgpl2Plus gpl2Plus ]; # lgpl2Plus for the library, gpl2Plus for the utils
+    maintainers = with lib.maintainers; [ johnazoidberg ];
+    platforms = lib.platforms.linux;
   };
-}
+})
diff --git a/pkgs/development/libraries/libcef/default.nix b/pkgs/development/libraries/libcef/default.nix
index a5e6bf40de037..0c9efaf69f37c 100644
--- a/pkgs/development/libraries/libcef/default.nix
+++ b/pkgs/development/libraries/libcef/default.nix
@@ -66,16 +66,16 @@ let
       projectArch = "x86_64";
     };
   };
-  platforms."aarch64-linux".sha256 = "0px1v7gcfxrad8ap1g93nx3aqx9yklz385yaciki5s9hnjr3rwpr";
-  platforms."x86_64-linux".sha256 = "134cvgdklybf15msdbjxpcpsl06s8w91px530241yhhrx4jvzj51";
+  platforms."aarch64-linux".sha256 = "1348821cprfy46fvzipqfy9qmv1jw48dsi2nxnk3k1097c6xb9zq";
+  platforms."x86_64-linux".sha256 = "0w58bqys331wssfqrv27v1fbvrgj4hs1kyjanld9vvdlna0x8kpg";
 
   platformInfo = builtins.getAttr stdenv.targetPlatform.system platforms;
 in
 stdenv.mkDerivation rec {
   pname = "cef-binary";
-  version = "114.2.13";
-  gitRevision = "6792e13";
-  chromiumVersion = "114.0.5735.200";
+  version = "115.3.11";
+  gitRevision = "a61da9b";
+  chromiumVersion = "115.0.5790.114";
 
   src = fetchurl {
     url = "https://cef-builds.spotifycdn.com/cef_binary_${version}+g${gitRevision}+chromium-${chromiumVersion}_${platformInfo.platformStr}_minimal.tar.bz2";
diff --git a/pkgs/development/libraries/libgpiod/0001-Drop-AC_FUNC_MALLOC-and-_REALLOC-and-check-for-them-.patch b/pkgs/development/libraries/libgpiod/0001-Drop-AC_FUNC_MALLOC-and-_REALLOC-and-check-for-them-.patch
deleted file mode 100644
index f2ee8e8d3d730..0000000000000
--- a/pkgs/development/libraries/libgpiod/0001-Drop-AC_FUNC_MALLOC-and-_REALLOC-and-check-for-them-.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 2cc80dc06ea42087788cf27b31821ffa99a22f89 Mon Sep 17 00:00:00 2001
-From: Johannes Lode <johannes.lode@dynainstruments.com>
-Date: Thu, 14 Nov 2019 10:44:00 +0100
-Subject: [PATCH] Drop AC_FUNC_MALLOC and _REALLOC and check for them as
- regular functions.
-
-While cross-compiling there occurred "undefined reference to
-`rpl_malloc'", the suggested change fixes the problem.
-
-Tested for native X86_64 and armv7a-unknown-linux-gnueabihf.
----
- configure.ac | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index 008499d..b492dc4 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -81,7 +81,8 @@ AC_DEFUN([HEADER_NOT_FOUND_CXX],
- 
- # This is always checked (library needs this)
- AC_HEADER_STDC
--AC_FUNC_MALLOC
-+# AC_FUNC_MALLOC -- does not work while cross-compiling
-+AC_CHECK_FUNC([malloc realloc])
- AC_CHECK_FUNC([ioctl], [], [FUNC_NOT_FOUND_LIB([ioctl])])
- AC_CHECK_FUNC([asprintf], [], [FUNC_NOT_FOUND_LIB([asprintf])])
- AC_CHECK_FUNC([scandir], [], [FUNC_NOT_FOUND_LIB([scandir])])
--- 
-2.25.1
-
diff --git a/pkgs/development/libraries/libgpiod/default.nix b/pkgs/development/libraries/libgpiod/default.nix
index ce5a4ac2833da..4392d18752ef1 100644
--- a/pkgs/development/libraries/libgpiod/default.nix
+++ b/pkgs/development/libraries/libgpiod/default.nix
@@ -4,19 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libgpiod";
-  version = "1.6.4";
+  version = "2.0.1";
 
   src = fetchurl {
     url = "https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git/snapshot/libgpiod-${version}.tar.gz";
-    sha256 = "sha256-gp1KwmjfB4U2CdZ8/H9HbpqnNssqaKYwvpno+tGXvgo=";
+    hash = "sha256-tu2lU1YWCo5zkG49SOlZ74EpZ4fXZJdbEPJX6WYGaOk=";
   };
 
-  patches = [
-    # cross compiling fix
-    # https://github.com/brgl/libgpiod/pull/45
-    ./0001-Drop-AC_FUNC_MALLOC-and-_REALLOC-and-check-for-them-.patch
-  ];
-
   buildInputs = [ kmod ] ++ lib.optionals enablePython [ python3 ncurses ];
   nativeBuildInputs = [
     autoconf-archive
diff --git a/pkgs/development/libraries/libgudev/default.nix b/pkgs/development/libraries/libgudev/default.nix
index 845caf57caa90..5098bd9f65ca9 100644
--- a/pkgs/development/libraries/libgudev/default.nix
+++ b/pkgs/development/libraries/libgudev/default.nix
@@ -47,6 +47,7 @@ stdenv.mkDerivation (finalAttrs: {
   ];
 
   doCheck = true;
+  mesonFlags = lib.optional (!finalAttrs.finalPackage.doCheck) "-Dtests=disabled";
 
   passthru = {
     updateScript = gnome.updateScript {
diff --git a/pkgs/development/libraries/libzim/default.nix b/pkgs/development/libraries/libzim/default.nix
index 0f2ad8406376a..f9bcdeb933b08 100644
--- a/pkgs/development/libraries/libzim/default.nix
+++ b/pkgs/development/libraries/libzim/default.nix
@@ -13,13 +13,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libzim";
-  version = "8.2.0";
+  version = "8.2.1";
 
   src = fetchFromGitHub {
     owner = "openzim";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-Xh1SQNmG4lQ3f/g+i5m36LJO9JlPzP4bNqhyyKT7NEA=";
+    hash = "sha256-bhztigbiIGdVxBV5cpuHuuRGBN5UgC39w51uwLEq47w=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/mlt/default.nix b/pkgs/development/libraries/mlt/default.nix
index 19b03a24a45ac..a13b3655066b4 100644
--- a/pkgs/development/libraries/mlt/default.nix
+++ b/pkgs/development/libraries/mlt/default.nix
@@ -40,13 +40,13 @@
 
 stdenv.mkDerivation rec {
   pname = "mlt";
-  version = "7.16.0";
+  version = "7.18.0";
 
   src = fetchFromGitHub {
     owner = "mltframework";
     repo = "mlt";
     rev = "v${version}";
-    hash = "sha256-Ed9CHaeJ8Rkrvfq/dZVOn/5lhHLH7B6A1Qf2xOQfWik=";
+    hash = "sha256-3qvMuBr2w/gedTDIjG6ezatleXuQSnKX4SkBShzj6aw=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/mongocxx/default.nix b/pkgs/development/libraries/mongocxx/default.nix
new file mode 100644
index 0000000000000..ef6134c3e497c
--- /dev/null
+++ b/pkgs/development/libraries/mongocxx/default.nix
@@ -0,0 +1,53 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, mongoc
+, cmake
+, validatePkgConfig
+, testers
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "mongocxx";
+  version = "3.8.0";
+
+  src = fetchFromGitHub {
+    owner = "mongodb";
+    repo = "mongo-cxx-driver";
+    rev = "refs/tags/r${finalAttrs.version}";
+    hash = "sha256-7pMVBWMIGV6k04/0rKULwNcl0NMO4hqMnOzWv+0/DrA=";
+  };
+
+  postPatch = ''
+    substituteInPlace src/bsoncxx/config/CMakeLists.txt \
+      src/mongocxx/config/CMakeLists.txt \
+      --replace "\\\''${prefix}/" ""
+  '';
+
+  nativeBuildInputs = [
+    cmake
+    validatePkgConfig
+  ];
+
+  buildInputs = [
+    mongoc
+  ];
+
+  cmakeFlags = [
+    "-DCMAKE_CXX_STANDARD=20"
+    "-DBUILD_VERSION=${finalAttrs.version}"
+    "-DENABLE_UNINSTALL=OFF"
+  ];
+
+  passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
+
+  meta = with lib; {
+    description = "The official C++ client library for MongoDB";
+    homepage = "http://mongocxx.org";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ adriandole ];
+    pkgConfigModules = [ "libmongocxx" "libbsoncxx" ];
+    platforms = platforms.all;
+    badPlatforms = [ "x86_64-darwin" ]; # needs sdk >= 10.14
+  };
+})
diff --git a/pkgs/development/libraries/ogre/1.10.x.nix b/pkgs/development/libraries/ogre/1.10.x.nix
deleted file mode 100644
index 73f15b744bf5c..0000000000000
--- a/pkgs/development/libraries/ogre/1.10.x.nix
+++ /dev/null
@@ -1,110 +0,0 @@
-{ lib
-, stdenv
-, fetchurl
-, fetchpatch
-, cmake
-, pkg-config
-, boost
-, freeimage
-, freetype
-, libpng
-, ois
-, zziplib
-, freeglut
-, libGL
-, libGLU
-, libICE
-, libSM
-, libX11
-, libXaw
-, libXmu
-, libXrandr
-, libXrender
-, libXt
-, libXxf86vm
-, xorgproto
-, darwin
-, withNvidiaCg ? false
-, nvidia_cg_toolkit
-, withSamples ? false
-}:
-
-let
-  inherit (darwin.apple_sdk.frameworks) AGL Cocoa;
-in
-stdenv.mkDerivation rec {
-  pname = "ogre";
-  version = "1.10.11";
-
-  src = fetchurl {
-    url = "https://bitbucket.org/sinbad/ogre/get/v${lib.replaceStrings ["."] ["-"] version}.tar.gz";
-    sha256 = "1zwvlx5dz9nwjazhnrhzb0w8ilpa84r0hrxrmmy69pgr1p1yif5a";
-  };
-
-  patches = [
-    # aarch64-darwin support
-    (fetchpatch {
-      url = "https://github.com/OGRECave/ogre/commit/bd5fbe3482c56e58c6c3b3bf439b1eab8c1be258.patch";
-      includes = [ "OgreMain/include/OgrePlatform*.h" ];
-      sha256 = "sha256-ELeCklQkltz7DeDaGl78Jk1H3Wdfu8fMUiMZaJM4s/Y=";
-    })
-    (fetchpatch {
-      url = "https://github.com/OGRECave/ogre/commit/0873244cc06b613ca2afbcb5522fe9ef89f111c5.patch";
-      sha256 = "sha256-xGvlMB55B2rdthxNMIM5iFf9p/6zuE8bGL9P04qtweQ=";
-    })
-    # aarch64-linux support
-    (fetchpatch {
-      name = "fix-build-on-aarch64-linux.patch";
-      url = "https://github.com/OGRECave/ogre/commit/8ec086e9bc2e24fab373b514c572483b69071d69.patch";
-      sha256 = "sha256-22wlJPZ7lRIPAMqvpI/2YI0neQjGi1UXt8y5zNSpxCw=";
-    })
-  ];
-
-  nativeBuildInputs = [
-    cmake
-    pkg-config
-  ];
-
-  buildInputs = [
-    boost
-    freeimage
-    freetype
-    libpng
-    ois
-    zziplib
-  ] ++ lib.optionals stdenv.isLinux [
-    freeglut
-    libGL
-    libGLU
-    libICE
-    libSM
-    libX11
-    libXaw
-    libXmu
-    libXrandr
-    libXrender
-    libXt
-    libXxf86vm
-    xorgproto
-  ] ++ lib.optionals stdenv.isDarwin [
-    AGL
-    Cocoa
-  ] ++ lib.optionals withNvidiaCg [
-    nvidia_cg_toolkit
-  ];
-
-  cmakeFlags = [
-    "-DOGRE_BUILD_COMPONENT_OVERLAY_IMGUI=FALSE"
-    "-DOGRE_BUILD_SAMPLES=${toString withSamples}"
-  ] ++ lib.optionals stdenv.isDarwin [
-    "-DOGRE_BUILD_LIBS_AS_FRAMEWORKS=FALSE"
-  ];
-
-  meta = {
-    description = "3D Object-Oriented Graphics Rendering Engine";
-    homepage = "https://www.ogre3d.org/";
-    maintainers = with lib.maintainers; [ raskin wegank ];
-    platforms = lib.platforms.unix;
-    license = lib.licenses.mit;
-  };
-}
diff --git a/pkgs/development/libraries/ogre/default.nix b/pkgs/development/libraries/ogre/default.nix
index ce4951937165d..6bac6c5a425b8 100644
--- a/pkgs/development/libraries/ogre/default.nix
+++ b/pkgs/development/libraries/ogre/default.nix
@@ -27,72 +27,85 @@
 , libXxf86vm
 , xorgproto
   # darwin
-, Cocoa
+, darwin
   # optional
 , withNvidiaCg ? false
 , nvidia_cg_toolkit
 , withSamples ? false
 }:
 
-stdenv.mkDerivation rec {
-  pname = "ogre";
-  version = "13.6.4";
+let
+  common = { version, hash }: stdenv.mkDerivation {
+    pname = "ogre";
+    inherit version;
 
-  src = fetchFromGitHub {
-    owner = "OGRECave";
-    repo = "ogre";
-    rev = "v${version}";
-    hash = "sha256-MSBWCO0s46t+ExWDdmqi16OxmcQXnduhgFt6I4BG1g8=";
-  };
+    src = fetchFromGitHub {
+      owner = "OGRECave";
+      repo = "ogre";
+      rev = "v${version}";
+      inherit hash;
+    };
+
+    nativeBuildInputs = [
+      cmake
+      pkg-config
+      unzip
+    ];
 
-  nativeBuildInputs = [
-    cmake
-    pkg-config
-    unzip
-  ];
+    buildInputs = [
+      SDL2
+      boost
+      freeimage
+      freetype
+      libpng
+      ois
+      pugixml
+      zziplib
+    ] ++ lib.optionals stdenv.isLinux [
+      freeglut
+      libGL
+      libGLU
+      libICE
+      libSM
+      libX11
+      libXaw
+      libXmu
+      libXrandr
+      libXrender
+      libXt
+      libXxf86vm
+      xorgproto
+    ] ++ lib.optionals stdenv.isDarwin [
+      darwin.apple_sdk.frameworks.Cocoa
+    ] ++ lib.optionals withNvidiaCg [
+      nvidia_cg_toolkit
+    ];
 
-  buildInputs = [
-    SDL2
-    boost
-    freeimage
-    freetype
-    libpng
-    ois
-    pugixml
-    zziplib
-  ] ++ lib.optionals stdenv.isLinux [
-    freeglut
-    libGL
-    libGLU
-    libICE
-    libSM
-    libX11
-    libXaw
-    libXmu
-    libXrandr
-    libXrender
-    libXt
-    libXxf86vm
-    xorgproto
-  ] ++ lib.optionals stdenv.isDarwin [
-    Cocoa
-  ] ++ lib.optionals withNvidiaCg [
-    nvidia_cg_toolkit
-  ];
+    cmakeFlags = [
+      "-DOGRE_BUILD_COMPONENT_OVERLAY_IMGUI=FALSE"
+      "-DOGRE_BUILD_DEPENDENCIES=OFF"
+      "-DOGRE_BUILD_SAMPLES=${toString withSamples}"
+    ] ++ lib.optionals stdenv.isDarwin [
+      "-DOGRE_BUILD_LIBS_AS_FRAMEWORKS=FALSE"
+    ];
 
-  cmakeFlags = [
-    "-DOGRE_BUILD_COMPONENT_OVERLAY_IMGUI=FALSE"
-    "-DOGRE_BUILD_DEPENDENCIES=OFF"
-    "-DOGRE_BUILD_SAMPLES=${toString withSamples}"
-  ] ++ lib.optionals stdenv.isDarwin [
-    "-DOGRE_BUILD_LIBS_AS_FRAMEWORKS=FALSE"
-  ];
+    meta = {
+      description = "3D Object-Oriented Graphics Rendering Engine";
+      homepage = "https://www.ogre3d.org/";
+      maintainers = with lib.maintainers; [ raskin wegank ];
+      platforms = lib.platforms.unix;
+      license = lib.licenses.mit;
+    };
+  };
+in
+{
+  ogre_14 = common {
+    version = "14.0.1";
+    hash = "sha256-jtUm0jy0GsxkGlFdODGodPsuSaQgiE77BORnA6SFViU=";
+  };
 
-  meta = {
-    description = "3D Object-Oriented Graphics Rendering Engine";
-    homepage = "https://www.ogre3d.org/";
-    maintainers = with lib.maintainers; [ raskin wegank ];
-    platforms = lib.platforms.unix;
-    license = lib.licenses.mit;
+  ogre_13 = common {
+    version = "13.6.5";
+    hash = "sha256-8VQqePrvf/fleHijVIqWWfwOusGjVR40IIJ13o+HwaE=";
   };
 }
diff --git a/pkgs/development/libraries/onnxruntime/default.nix b/pkgs/development/libraries/onnxruntime/default.nix
index 0d36ce7ae42b9..99e45c1013d1e 100644
--- a/pkgs/development/libraries/onnxruntime/default.nix
+++ b/pkgs/development/libraries/onnxruntime/default.nix
@@ -1,59 +1,98 @@
 { stdenv
 , lib
 , fetchFromGitHub
+, fetchFromGitLab
 , fetchpatch
 , fetchurl
-, pkg-config
+, Foundation
+, abseil-cpp
 , cmake
-, python3Packages
 , libpng
-, zlib
-, eigen
-, protobuf
-, howard-hinnant-date
 , nlohmann_json
-, boost
-, oneDNN_2
-, abseil-cpp
-, gtest
-, pythonSupport ? false
 , nsync
-, flatbuffers
+, pkg-config
+, python3Packages
+, re2
+, zlib
+, microsoft-gsl
+, iconv
+, gtest
+, protobuf3_21
+, pythonSupport ? true
 }:
 
-# Python Support
-#
-# When enabling Python support a wheel is made and stored in a `dist` output.
-# This wheel is then installed in a separate derivation.
 
-assert pythonSupport -> lib.versionOlder protobuf.version "3.20";
+let
+  howard-hinnant-date = fetchFromGitHub {
+    owner = "HowardHinnant";
+    repo = "date";
+    rev = "v2.4.1";
+    sha256 = "sha256-BYL7wxsYRI45l8C3VwxYIIocn5TzJnBtU0UZ9pHwwZw=";
+  };
+
+  eigen = fetchFromGitLab {
+    owner = "libeigen";
+    repo = "eigen";
+    rev = "d10b27fe37736d2944630ecd7557cefa95cf87c9";
+    sha256 = "sha256-Lmco0s9gIm9sIw7lCr5Iewye3RmrHEE4HLfyzRkQCm0=";
+  };
+
+  mp11 = fetchFromGitHub {
+    owner = "boostorg";
+    repo = "mp11";
+    rev = "boost-1.79.0";
+    sha256 = "sha256-ZxgPDLvpISrjpEHKpLGBowRKGfSwTf6TBfJD18yw+LM=";
+  };
+
+  safeint = fetchFromGitHub {
+    owner = "dcleblanc";
+    repo = "safeint";
+    rev = "ff15c6ada150a5018c5ef2172401cb4529eac9c0";
+    sha256 = "sha256-PK1ce4C0uCR4TzLFg+elZdSk5DdPCRhhwT3LvEwWnPU=";
+  };
+
+  pytorch_cpuinfo = fetchFromGitHub {
+    owner = "pytorch";
+    repo = "cpuinfo";
+    # There are no tags in the repository
+    rev = "5916273f79a21551890fd3d56fc5375a78d1598d";
+    sha256 = "sha256-nXBnloVTuB+AVX59VDU/Wc+Dsx94o92YQuHp3jowx2A=";
+  };
+
+  flatbuffers = fetchFromGitHub {
+    owner = "google";
+    repo = "flatbuffers";
+    rev = "v1.12.0";
+    sha256 = "sha256-L1B5Y/c897Jg9fGwT2J3+vaXsZ+lfXnskp8Gto1p/Tg=";
+  };
 
+  gtest' = gtest.overrideAttrs (oldAttrs: rec {
+    version = "1.13.0";
+    src = fetchFromGitHub {
+      owner = "google";
+      repo = "googletest";
+      rev = "v${version}";
+      hash = "sha256-LVLEn+e7c8013pwiLzJiiIObyrlbBHYaioO/SWbItPQ=";
+    };
+    });
+in
 stdenv.mkDerivation rec {
   pname = "onnxruntime";
-  version = "1.13.1";
+  version = "1.15.1";
 
   src = fetchFromGitHub {
     owner = "microsoft";
     repo = "onnxruntime";
     rev = "v${version}";
-    sha256 = "sha256-paaeq6QeiOzwiibbz0GkYZxEI/V80lvYNYTm6AuyAXQ=";
+    sha256 = "sha256-SnHo2sVACc++fog7Tg6f2LK/Sv/EskFzN7RZS7D113s=";
     fetchSubmodules = true;
   };
 
-  patches = [
-    # Use dnnl from nixpkgs instead of submodules
-    (fetchpatch {
-      name = "system-dnnl.patch";
-      url = "https://aur.archlinux.org/cgit/aur.git/plain/system-dnnl.diff?h=python-onnxruntime&id=9c392fb542979981fe0026e0fe3cc361a5f00a36";
-      sha256 = "sha256-+kedzJHLFU1vMbKO9cn8fr+9A5+IxIuiqzOfR2AfJ0k=";
-    })
-  ];
-
   nativeBuildInputs = [
     cmake
     pkg-config
     python3Packages.python
-    gtest
+    protobuf3_21
   ] ++ lib.optionals pythonSupport (with python3Packages; [
     setuptools
     wheel
@@ -64,18 +103,26 @@ stdenv.mkDerivation rec {
   buildInputs = [
     libpng
     zlib
-    howard-hinnant-date
     nlohmann_json
-    boost
-    oneDNN_2
-    protobuf
-  ] ++ lib.optionals pythonSupport [
     nsync
+    re2
+    microsoft-gsl
+  ] ++ lib.optionals pythonSupport [
     python3Packages.numpy
     python3Packages.pybind11
     python3Packages.packaging
+  ] ++ lib.optionals stdenv.isDarwin [
+    Foundation
+    iconv
   ];
 
+  nativeCheckInputs = lib.optionals pythonSupport (with python3Packages; [
+    gtest'
+    pytest
+    sympy
+    onnx
+  ]);
+
   # TODO: build server, and move .so's to lib output
   # Python's wheel is stored in a separate dist output
   outputs = [ "out" "dev" ] ++ lib.optionals pythonSupport [ "dist" ];
@@ -85,15 +132,23 @@ stdenv.mkDerivation rec {
   cmakeDir = "../cmake";
 
   cmakeFlags = [
-    "-Donnxruntime_PREFER_SYSTEM_LIB=ON"
+    "-DCMAKE_BUILD_TYPE=RELEASE"
+    "-DFETCHCONTENT_FULLY_DISCONNECTED=ON"
+    "-DFETCHCONTENT_QUIET=OFF"
+    "-DFETCHCONTENT_SOURCE_DIR_ABSEIL_CPP=${abseil-cpp.src}"
+    "-DFETCHCONTENT_SOURCE_DIR_DATE=${howard-hinnant-date}"
+    "-DFETCHCONTENT_SOURCE_DIR_EIGEN=${eigen}"
+    "-DFETCHCONTENT_SOURCE_DIR_FLATBUFFERS=${flatbuffers}"
+    "-DFETCHCONTENT_SOURCE_DIR_GOOGLE_NSYNC=${nsync.src}"
+    "-DFETCHCONTENT_SOURCE_DIR_MP11=${mp11}"
+    "-DFETCHCONTENT_SOURCE_DIR_ONNX=${python3Packages.onnx.src}"
+    "-DFETCHCONTENT_SOURCE_DIR_PYTORCH_CPUINFO=${pytorch_cpuinfo}"
+    "-DFETCHCONTENT_SOURCE_DIR_SAFEINT=${safeint}"
+    "-DFETCHCONTENT_TRY_FIND_PACKAGE_MODE=ALWAYS"
     "-Donnxruntime_BUILD_SHARED_LIB=ON"
-    "-Donnxruntime_ENABLE_LTO=ON"
     "-Donnxruntime_BUILD_UNIT_TESTS=ON"
-    "-Donnxruntime_USE_PREINSTALLED_EIGEN=ON"
-    "-Donnxruntime_USE_MPI=ON"
-    "-Deigen_SOURCE_PATH=${eigen.src}"
-    "-DFETCHCONTENT_SOURCE_DIR_ABSEIL_CPP=${abseil-cpp.src}"
-    "-Donnxruntime_USE_DNNL=YES"
+    "-Donnxruntime_ENABLE_LTO=ON"
+    "-Donnxruntime_USE_FULL_PROTOBUF=OFF"
   ] ++ lib.optionals pythonSupport [
     "-Donnxruntime_ENABLE_PYTHON=ON"
   ];
@@ -103,6 +158,9 @@ stdenv.mkDerivation rec {
   postPatch = ''
     substituteInPlace cmake/libonnxruntime.pc.cmake.in \
       --replace '$'{prefix}/@CMAKE_INSTALL_ @CMAKE_INSTALL_
+  '' + lib.optionalString (stdenv.hostPlatform.system == "aarch64-linux") ''
+    # https://github.com/NixOS/nixpkgs/pull/226734#issuecomment-1663028691
+    rm -v onnxruntime/test/optimizer/nhwc_transformer_test.cc
   '';
 
   postBuild = lib.optionalString pythonSupport ''
@@ -118,7 +176,7 @@ stdenv.mkDerivation rec {
   '';
 
   passthru = {
-    inherit protobuf;
+    protobuf = protobuf3_21;
     tests = lib.optionalAttrs pythonSupport {
       python = python3Packages.onnxruntime;
     };
@@ -140,6 +198,6 @@ stdenv.mkDerivation rec {
     # https://github.com/microsoft/onnxruntime/blob/master/BUILD.md#architectures
     platforms = platforms.unix;
     license = licenses.mit;
-    maintainers = with maintainers; [ jonringer puffnfresh ck3d ];
+    maintainers = with maintainers; [ jonringer puffnfresh ck3d cbourjau ];
   };
 }
diff --git a/pkgs/development/libraries/openssl/default.nix b/pkgs/development/libraries/openssl/default.nix
index 1ab55e5fcaf5f..fae2c5f1cc2f9 100644
--- a/pkgs/development/libraries/openssl/default.nix
+++ b/pkgs/development/libraries/openssl/default.nix
@@ -142,7 +142,19 @@ let
       # trying to build binaries statically.
       ++ lib.optional static "no-ct"
       ++ lib.optional withZlib "zlib"
-      ;
+      ++ lib.optionals (stdenv.hostPlatform.isMips && stdenv.hostPlatform ? gcc.arch) [
+      # This is necessary in order to avoid openssl adding -march
+      # flags which ultimately conflict with those added by
+      # cc-wrapper.  Openssl assumes that it can scan CFLAGS to
+      # detect any -march flags, using this perl code:
+      #
+      #   && !grep { $_ =~ /-m(ips|arch=)/ } (@{$config{CFLAGS}})
+      #
+      # The following bogus CFLAGS environment variable triggers the
+      # the code above, inhibiting `./Configure` from adding the
+      # conflicting flags.
+      "CFLAGS=-march=${stdenv.hostPlatform.gcc.arch}"
+    ];
 
     makeFlags = [
       "MANDIR=$(man)/share/man"
@@ -224,8 +236,8 @@ in {
   # the permitted insecure version to ensure it gets cached for our users
   # and backport this to stable release (23.05).
   openssl_1_1 = common {
-    version = "1.1.1u";
-    sha256 = "sha256-4vjYS1I+7NBse+diaDA3AwD7zBU4a/UULXJ1j2lj68Y=";
+    version = "1.1.1v";
+    sha256 = "sha256-1ml+KHHncjhGBALpNi1H0YOCsV758karpse9eA04prA=";
     patches = [
       ./1.1/nix-ssl-cert-file.patch
 
diff --git a/pkgs/development/libraries/physics/pythia/default.nix b/pkgs/development/libraries/physics/pythia/default.nix
index 3048a1a51ac8e..0916eae24669b 100644
--- a/pkgs/development/libraries/physics/pythia/default.nix
+++ b/pkgs/development/libraries/physics/pythia/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "pythia";
-  version = "8.309";
+  version = "8.310";
 
   src = fetchurl {
     url = "https://pythia.org/download/pythia83/pythia${builtins.replaceStrings ["."] [""] version}.tgz";
-    sha256 = "sha256-W9r9nyxKHEf9ik6C+58Nj8+6TeEAO44Uvk4DR0NtbDM=";
+    sha256 = "sha256-kMgRq+ej0v/b+bSuq1HPbgpai++04++oBvPVucMR4ic=";
   };
 
   nativeBuildInputs = [ rsync ]
diff --git a/pkgs/development/libraries/piper-phonemize/default.nix b/pkgs/development/libraries/piper-phonemize/default.nix
new file mode 100644
index 0000000000000..fd1c1ae34b4c5
--- /dev/null
+++ b/pkgs/development/libraries/piper-phonemize/default.nix
@@ -0,0 +1,60 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+
+# build
+, cmake
+, pkg-config
+
+# runtime
+, espeak-ng
+, onnxruntime
+}:
+
+let
+  espeak-ng' = espeak-ng.overrideAttrs (oldAttrs: {
+    version = "1.52-dev";
+    src = fetchFromGitHub {
+      owner = "rhasspy";
+      repo = "espeak-ng";
+      rev = "61504f6b76bf9ebbb39b07d21cff2a02b87c99ff";
+      hash = "sha256-RBHL11L5uazAFsPFwul2QIyJREXk9Uz8HTZx9JqmyIQ=";
+    };
+
+    patches = [
+      ./espeak-mbrola.patch
+    ];
+  });
+in
+stdenv.mkDerivation rec {
+  pname = "piper-phonemize";
+  version = "1.1.0";
+
+  src = fetchFromGitHub {
+    owner = "rhasspy";
+    repo = "piper-phonemize";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-cMer7CSLOXv3jc9huVA3Oy5cjXjOX9XuEXpIWau1BNQ=";
+  };
+
+  nativeBuildInputs = [
+    cmake
+    pkg-config
+  ];
+
+  buildInputs = [
+    espeak-ng'
+    onnxruntime
+  ];
+
+  passthru = {
+    espeak-ng = espeak-ng';
+  };
+
+  meta = with lib; {
+    description = "C++ library for converting text to phonemes for Piper";
+    homepage = "https://github.com/rhasspy/piper-phonemize";
+    license = licenses.mit;
+    maintainers = with maintainers; [ hexa ];
+  };
+}
diff --git a/pkgs/development/libraries/piper-phonemize/espeak-mbrola.patch b/pkgs/development/libraries/piper-phonemize/espeak-mbrola.patch
new file mode 100644
index 0000000000000..9d3f0aeb4abe6
--- /dev/null
+++ b/pkgs/development/libraries/piper-phonemize/espeak-mbrola.patch
@@ -0,0 +1,26 @@
+diff --git a/src/libespeak-ng/mbrowrap.c b/src/libespeak-ng/mbrowrap.c
+index ae137873..9015cc01 100644
+--- a/src/libespeak-ng/mbrowrap.c
++++ b/src/libespeak-ng/mbrowrap.c
+@@ -206,7 +206,7 @@ static int start_mbrola(const char *voice_path)
+ 		signal(SIGTERM, SIG_IGN);
+ 
+ 		snprintf(charbuf, sizeof(charbuf), "%g", mbr_volume);
+-		execlp("mbrola", "mbrola", "-e", "-v", charbuf,
++		execlp("@mbrola/bin/mbrola", "mbrola", "-e", "-v", charbuf,
+ 		       voice_path, "-", "-.wav", (char *)NULL);
+ 		/* if execution reaches this point then the exec() failed */
+ 		snprintf(mbr_errorbuf, sizeof(mbr_errorbuf),
+diff --git a/src/libespeak-ng/synth_mbrola.c b/src/libespeak-ng/synth_mbrola.c
+index 734631b7..46d1f13e 100644
+--- a/src/libespeak-ng/synth_mbrola.c
++++ b/src/libespeak-ng/synth_mbrola.c
+@@ -85,7 +85,7 @@ espeak_ng_STATUS LoadMbrolaTable(const char *mbrola_voice, const char *phtrans,
+ 	if (!load_MBR())
+ 		return ENS_MBROLA_NOT_FOUND;
+ 
+-	sprintf(path, "%s/mbrola/%s", path_home, mbrola_voice);
++	sprintf(path, "@mbrola@/share/mbrola/voices/%s/%s", mbrola_voice, mbrola_voice);
+ #if PLATFORM_POSIX
+ 	// if not found, then also look in
+ 	//   usr/share/mbrola/xx, /usr/share/mbrola/xx/xx, /usr/share/mbrola/voices/xx
diff --git a/pkgs/development/libraries/qrcodegen/default.nix b/pkgs/development/libraries/qrcodegen/default.nix
index eeb830d3fec48..e5c4f036ffc3f 100644
--- a/pkgs/development/libraries/qrcodegen/default.nix
+++ b/pkgs/development/libraries/qrcodegen/default.nix
@@ -3,18 +3,20 @@
 , fetchFromGitHub
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "qrcodegen";
   version = "1.8.0";
 
   src = fetchFromGitHub {
     owner = "nayuki";
     repo = "QR-Code-generator";
-    rev = "v${version}";
-    sha256 = "sha256-aci5SFBRNRrSub4XVJ2luHNZ2pAUegjgQ6pD9kpkaTY=";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-aci5SFBRNRrSub4XVJ2luHNZ2pAUegjgQ6pD9kpkaTY=";
   };
 
-  sourceRoot = "source/c";
+  preBuild = ''
+    cd c
+  '';
 
   nativeBuildInputs = lib.optionals stdenv.cc.isClang [
     stdenv.cc.cc.libllvm.out
@@ -22,23 +24,31 @@ stdenv.mkDerivation rec {
 
   makeFlags = lib.optionals stdenv.cc.isClang [ "AR=llvm-ar" ];
 
+  doCheck = true;
+  checkPhase = ''
+    runHook preCheck
+
+    ./qrcodegen-test
+
+    runHook postCheck
+  '';
+
   installPhase = ''
     runHook preInstall
 
-    mkdir -p $out/lib $out/include/qrcodegen
-    cp libqrcodegen.a $out/lib
-    cp qrcodegen.h $out/include/qrcodegen/
+    install -Dt $out/lib/ libqrcodegen.a
+    install -Dt $out/include/qrcodegen/ qrcodegen.h
 
     runHook postInstall
   '';
 
-  meta = with lib; {
+  meta = {
     homepage = "https://www.nayuki.io/page/qr-code-generator-library";
     description = "High-quality QR Code generator library in many languages";
-    license = licenses.mit;
-    maintainers = with maintainers; [ mcbeth AndersonTorres ];
-    platforms = platforms.unix;
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ AndersonTorres ];
+    platforms = lib.platforms.unix;
   };
-}
+})
 # TODO: build the other languages
 # TODO: multiple outputs
diff --git a/pkgs/development/libraries/qtutilities/default.nix b/pkgs/development/libraries/qtutilities/default.nix
index 9b866a26e6980..93ecaa698f7a0 100644
--- a/pkgs/development/libraries/qtutilities/default.nix
+++ b/pkgs/development/libraries/qtutilities/default.nix
@@ -21,6 +21,8 @@ stdenv.mkDerivation rec {
   buildInputs = [ qtbase cpp-utilities ];
   nativeBuildInputs = [ cmake qttools ];
 
+  cmakeFlags = ["-DBUILD_SHARED_LIBS=ON"];
+
   dontWrapQtApps = true;
 
   meta = with lib; {
diff --git a/pkgs/development/libraries/science/astronomy/cfitsio/default.nix b/pkgs/development/libraries/science/astronomy/cfitsio/default.nix
index 8a6b72f521305..f35ff4c5ce588 100644
--- a/pkgs/development/libraries/science/astronomy/cfitsio/default.nix
+++ b/pkgs/development/libraries/science/astronomy/cfitsio/default.nix
@@ -1,15 +1,21 @@
-{ stdenv, lib, fetchurl, bzip2, zlib }:
-
-stdenv.mkDerivation rec {
+{ stdenv
+, lib
+, fetchurl
+, bzip2
+, curl
+, zlib
+}:
+
+stdenv.mkDerivation (finalAttrs: {
   pname = "cfitsio";
-  version = "4.2.0";
+  version = "4.3.0";
 
   src = fetchurl {
-    url = "https://heasarc.gsfc.nasa.gov/FTP/software/fitsio/c/cfitsio-${version}.tar.gz";
-    sha256 = "sha256-66U9Gz9uNFYyuwmnt1LsfO09Y+xRU6hIOA84gMXWGIk=";
+    url = "https://heasarc.gsfc.nasa.gov/FTP/software/fitsio/c/cfitsio-${finalAttrs.version}.tar.gz";
+    hash = "sha256-/a3AHQnPn1QlOALF7IfrEN5RzkEwQRQVrojDCUBiG4s=";
   };
 
-  buildInputs = [ bzip2 zlib ];
+  buildInputs = [ bzip2 curl zlib ];
 
   patches = [ ./darwin-rpath-universal.patch ];
 
@@ -22,7 +28,7 @@ stdenv.mkDerivation rec {
   postPatch = '' sed -e '/^install:/s/libcfitsio.a //' -e 's@/bin/@@g' -i Makefile.in
    '';
 
-  meta = with lib; {
+  meta = {
     homepage = "https://heasarc.gsfc.nasa.gov/fitsio/";
     description = "Library for reading and writing FITS data files";
     longDescription =
@@ -35,8 +41,8 @@ stdenv.mkDerivation rec {
          FITS files.
       '';
     changelog = "https://heasarc.gsfc.nasa.gov/FTP/software/fitsio/c/docs/changes.txt";
-    license = licenses.mit;
-    maintainers = with maintainers; [ xbreak hjones2199 ];
-    platforms = with platforms; linux ++ darwin;
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ xbreak hjones2199 ];
+    platforms = lib.platforms.linux ++ lib.platforms.darwin;
   };
-}
+})
diff --git a/pkgs/development/libraries/science/astronomy/indilib/default.nix b/pkgs/development/libraries/science/astronomy/indilib/default.nix
index bb16d8b11e9b0..7090e15dc3d7c 100644
--- a/pkgs/development/libraries/science/astronomy/indilib/default.nix
+++ b/pkgs/development/libraries/science/astronomy/indilib/default.nix
@@ -12,17 +12,18 @@
 , libjpeg
 , gsl
 , fftw
+, gtest
 }:
 
 stdenv.mkDerivation rec {
   pname = "indilib";
-  version = "1.9.8";
+  version = "2.0.2";
 
   src = fetchFromGitHub {
     owner = "indilib";
     repo = "indi";
     rev = "v${version}";
-    sha256 = "sha256-+KFuZgM/Bl6Oezq3WXjWCHefc1wvR3wOKXejmT0pw1U=";
+    hash = "sha256-GoEvWzGT3Ckv9Syif6Z2kAlnvg/Kt5I8SpGFG9kFTJo=";
   };
 
   nativeBuildInputs = [
@@ -45,14 +46,24 @@ stdenv.mkDerivation rec {
   cmakeFlags = [
     "-DCMAKE_INSTALL_LIBDIR=lib"
     "-DUDEVRULES_INSTALL_DIR=lib/udev/rules.d"
+  ] ++ lib.optional doCheck [
+    "-DINDI_BUILD_UNITTESTS=ON"
+    "-DINDI_BUILD_INTEGTESTS=ON"
   ];
 
+  checkInputs = [ gtest ];
+
+  doCheck = true;
+
+  # Socket address collisions between tests
+  enableParallelChecking = false;
+
   meta = with lib; {
     homepage = "https://www.indilib.org/";
     description = "Implementation of the INDI protocol for POSIX operating systems";
     changelog = "https://github.com/indilib/indi/releases/tag/v${version}";
     license = licenses.lgpl2Plus;
-    maintainers = with maintainers; [ hjones2199 ];
+    maintainers = with maintainers; [ hjones2199 sheepforce ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/science/astronomy/indilib/indi-3rdparty.nix b/pkgs/development/libraries/science/astronomy/indilib/indi-3rdparty.nix
index 7144a17c18b40..2423a6e20e34d 100644
--- a/pkgs/development/libraries/science/astronomy/indilib/indi-3rdparty.nix
+++ b/pkgs/development/libraries/science/astronomy/indilib/indi-3rdparty.nix
@@ -17,6 +17,7 @@
 , libdc1394
 , gpsd
 , ffmpeg
+, limesuite
 , version
 , src
 , withFirmware ? false
@@ -33,22 +34,22 @@ stdenv.mkDerivation rec {
   buildInputs = [
     indilib libnova curl cfitsio libusb1 zlib boost gsl gpsd
     libjpeg libgphoto2 libraw libftdi1 libdc1394 ffmpeg fftw
+    limesuite
   ] ++ lib.optionals withFirmware [
     firmware
   ];
 
   postPatch = ''
-    for f in indi-qsi/CMakeLists.txt \
-             indi-dsi/CMakeLists.txt \
-             indi-armadillo-platypus/CMakeLists.txt \
-             indi-orion-ssg3/CMakeLists.txt
-    do
+    for f in $(find . -name "CMakeLists.txt"); do
       substituteInPlace $f \
         --replace "/lib/udev/rules.d" "lib/udev/rules.d" \
         --replace "/etc/udev/rules.d" "lib/udev/rules.d" \
         --replace "/lib/firmware" "lib/firmware"
     done
 
+    substituteInPlace libpktriggercord/CMakeLists.txt \
+      --replace "set (PK_DATADIR /usr/share/pktriggercord)" "set (PK_DATADIR $out/share/pkgtriggercord)"
+
     sed '1i#include <ctime>' -i indi-duino/libfirmata/src/firmata.cpp # gcc12
   '';
 
@@ -57,11 +58,8 @@ stdenv.mkDerivation rec {
     "-DCMAKE_INSTALL_LIBDIR=lib"
     "-DUDEVRULES_INSTALL_DIR=lib/udev/rules.d"
     "-DRULES_INSTALL_DIR=lib/udev/rules.d"
-    # Pentax, Atik, and SX cmakelists are currently broken
-    "-DWITH_PENTAX=off"
-    "-DWITH_ATIK=off"
-    "-DWITH_SX=off"
   ] ++ lib.optionals (!withFirmware) [
+    "-DWITH_ATIK=off"
     "-DWITH_APOGEE=off"
     "-DWITH_DSI=off"
     "-DWITH_QHY=off"
@@ -75,7 +73,7 @@ stdenv.mkDerivation rec {
     description = "Third party drivers for the INDI astronomical software suite";
     changelog = "https://github.com/indilib/indi-3rdparty/releases/tag/v${version}";
     license = licenses.lgpl2Plus;
-    maintainers = with maintainers; [ hjones2199 ];
+    maintainers = with maintainers; [ hjones2199 sheepforce ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/science/astronomy/indilib/indi-firmware.nix b/pkgs/development/libraries/science/astronomy/indilib/indi-firmware.nix
index 660433c2dd599..7875051cbf790 100644
--- a/pkgs/development/libraries/science/astronomy/indilib/indi-firmware.nix
+++ b/pkgs/development/libraries/science/astronomy/indilib/indi-firmware.nix
@@ -19,6 +19,7 @@
 , ffmpeg
 , version
 , src
+, autoPatchelfHook
 }:
 
 stdenv.mkDerivation rec {
@@ -26,7 +27,7 @@ stdenv.mkDerivation rec {
 
   inherit version src;
 
-  nativeBuildInputs = [ cmake ];
+  nativeBuildInputs = [ cmake autoPatchelfHook ];
 
   buildInputs = [
     indilib libnova curl cfitsio libusb1 zlib boost gsl gpsd
@@ -60,7 +61,7 @@ stdenv.mkDerivation rec {
     description = "Third party firmware for the INDI astronomical software suite";
     changelog = "https://github.com/indilib/indi-3rdparty/releases/tag/v${version}";
     license = licenses.lgpl2Plus;
-    maintainers = with maintainers; [ hjones2199 ];
+    maintainers = with maintainers; [ hjones2199 sheepforce ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/science/astronomy/indilib/indi-full.nix b/pkgs/development/libraries/science/astronomy/indilib/indi-full.nix
index fae8b95cb28c2..6b110a152ee39 100644
--- a/pkgs/development/libraries/science/astronomy/indilib/indi-full.nix
+++ b/pkgs/development/libraries/science/astronomy/indilib/indi-full.nix
@@ -1,30 +1,29 @@
 { stdenv, lib, callPackage, fetchFromGitHub, indilib }:
 
 let
-  indi-version = "1.9.8";
+  inherit (indilib) version;
   indi-3rdparty-src = fetchFromGitHub {
     owner = "indilib";
     repo = "indi-3rdparty";
-    rev = "v${indi-version}";
-    sha256 = "sha256-ZFbMyjMvAWcdsl+1TyX5/v5nY1DqvhZ2ckFBDe8gdQg=";
+    rev = "v${version}";
+    hash = "sha256-xAGSFTOfO9P8JldzY59OnQULzf2Mlx3vWjoP+IDdEFE=";
   };
   indi-firmware = callPackage ./indi-firmware.nix {
-    version = indi-version;
+    inherit version;
     src = indi-3rdparty-src;
   };
   indi-3rdparty = callPackage ./indi-3rdparty.nix {
-    version = indi-version;
+    inherit version;
     src = indi-3rdparty-src;
-    withFirmware = stdenv.isx86_64;
+    withFirmware = stdenv.isx86_64 || stdenv.isAarch64;
     firmware = indi-firmware;
   };
 in
 callPackage ./indi-with-drivers.nix {
   pname = "indi-full";
-  version = indi-version;
+  inherit version;
   extraDrivers = [
     indi-3rdparty
-  ] ++ lib.optionals stdenv.isx86_64 [
-    indi-firmware
-  ];
+  ] ++ lib.optional (stdenv.isx86_64 || stdenv.isAarch64) indi-firmware
+  ;
 }
diff --git a/pkgs/development/libraries/science/chemistry/simple-dftd3/default.nix b/pkgs/development/libraries/science/chemistry/simple-dftd3/default.nix
index 57139f8bcd004..1f5e4b250a917 100644
--- a/pkgs/development/libraries/science/chemistry/simple-dftd3/default.nix
+++ b/pkgs/development/libraries/science/chemistry/simple-dftd3/default.nix
@@ -13,13 +13,13 @@ assert !blas.isILP64;
 
 stdenv.mkDerivation rec {
   pname = "simple-dftd3";
-  version = "0.7.0";
+  version = "1.0.0";
 
   src = fetchFromGitHub {
     owner = "dftd3";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-5OvmMgjD8ujjKHkuw4NT8hEXKh5YPxuBl/Mu6g2/KIA=";
+    hash = "sha256-dfXiKKCGJ69aExSKpVC3Bp//COy256R9PDyxCNmDsfo=";
   };
 
   nativeBuildInputs = [ cmake gfortran ];
diff --git a/pkgs/development/libraries/stb/default.nix b/pkgs/development/libraries/stb/default.nix
index fee0cb42164e0..4406aa0218486 100644
--- a/pkgs/development/libraries/stb/default.nix
+++ b/pkgs/development/libraries/stb/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "stb";
-  version = "unstable-2021-09-10";
+  version = "unstable-2023-01-29";
 
   src = fetchFromGitHub {
     owner = "nothings";
     repo = "stb";
-    rev = "af1a5bc352164740c1cc1354942b1c6b72eacb8a";
-    sha256 = "0qq35cd747lll4s7bmnxb3pqvyp2hgcr9kyf758fax9lx76iwjhr";
+    rev = "5736b15f7ea0ffb08dd38af21067c314d6a3aae9";
+    hash = "sha256-s2ASdlT3bBNrqvwfhhN6skjbmyEnUgvNOrvhgUSRj98=";
   };
 
   nativeBuildInputs = [ copyPkgconfigItems ];
diff --git a/pkgs/development/libraries/sundials/default.nix b/pkgs/development/libraries/sundials/default.nix
index 6a88fae3737c5..47a512b56a8c3 100644
--- a/pkgs/development/libraries/sundials/default.nix
+++ b/pkgs/development/libraries/sundials/default.nix
@@ -12,13 +12,13 @@
 
 stdenv.mkDerivation rec {
   pname = "sundials";
-  version = "6.5.1";
+  version = "6.6.0";
 
   outputs = [ "out" "examples" ];
 
   src = fetchurl {
     url = "https://github.com/LLNL/sundials/releases/download/v${version}/sundials-${version}.tar.gz";
-    hash = "sha256-QlIwOAUXHk290ZoB5Swdz+Da/FmcPP7bClwv+wRainU=";
+    hash = "sha256-+QApuNqEbI+v9VMP0fpIRweRiNBAVU9VwdXR4EdD0p0=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/tracker/default.nix b/pkgs/development/libraries/tracker/default.nix
index 25049440c6ca5..ce54681799bcd 100644
--- a/pkgs/development/libraries/tracker/default.nix
+++ b/pkgs/development/libraries/tracker/default.nix
@@ -4,6 +4,7 @@
 , fetchpatch
 , gettext
 , meson
+, mesonEmulatorHook
 , ninja
 , pkg-config
 , asciidoc
@@ -71,6 +72,8 @@ stdenv.mkDerivation rec {
   ] ++ lib.optionals withIntrospection [
     gobject-introspection
     vala
+  ] ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [
+    mesonEmulatorHook
   ];
 
   buildInputs = [
diff --git a/pkgs/development/libraries/webkitgtk/default.nix b/pkgs/development/libraries/webkitgtk/default.nix
index 3fc45705b27e3..57168b2cc17a1 100644
--- a/pkgs/development/libraries/webkitgtk/default.nix
+++ b/pkgs/development/libraries/webkitgtk/default.nix
@@ -71,7 +71,7 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "webkitgtk";
-  version = "2.40.4";
+  version = "2.40.5";
   name = "${finalAttrs.pname}-${finalAttrs.version}+abi=${if lib.versionAtLeast gtk3.version "4.0" then "6.0" else "4.${if lib.versions.major libsoup.version == "2" then "0" else "1"}"}";
 
   outputs = [ "out" "dev" "devdoc" ];
@@ -82,7 +82,7 @@ stdenv.mkDerivation (finalAttrs: {
 
   src = fetchurl {
     url = "https://webkitgtk.org/releases/webkitgtk-${finalAttrs.version}.tar.xz";
-    hash = "sha256-jRYzeSl6L39RtFUSf5mDbZ/hVyKJ93tjD/PWOiywbaw=";
+    hash = "sha256-feBRomNmhiHZGmGl6xw3cdGnzskABD1K/vBsMmwWA38=";
   };
 
   patches = lib.optionals stdenv.isLinux [
diff --git a/pkgs/development/libraries/wlroots/default.nix b/pkgs/development/libraries/wlroots/default.nix
index dbb2fa03d4e58..726640293e342 100644
--- a/pkgs/development/libraries/wlroots/default.nix
+++ b/pkgs/development/libraries/wlroots/default.nix
@@ -50,7 +50,7 @@ let
       strictDeps = true;
       depsBuildBuild = [ pkg-config ];
 
-      nativeBuildInputs = [ meson ninja pkg-config wayland-scanner ]
+      nativeBuildInputs = [ meson ninja pkg-config wayland-scanner glslang ]
         ++ extraNativeBuildInputs;
 
       buildInputs = [
@@ -110,23 +110,14 @@ let
 
 in
 rec {
-  wlroots_0_14 = generic {
-    version = "0.14.1";
-    hash = "sha256-wauk7TCL/V7fxjOZY77KiPbfydIc9gmOiYFOuum4UOs=";
-  };
-
   wlroots_0_15 = generic {
     version = "0.15.1";
     hash = "sha256-MFR38UuB/wW7J9ODDUOfgTzKLse0SSMIRYTpEaEdRwM=";
-    extraBuildInputs = [ vulkan-loader ];
-    extraNativeBuildInputs = [ glslang ];
   };
 
   wlroots_0_16 = generic {
     version = "0.16.2";
     hash = "sha256-JeDDYinio14BOl6CbzAPnJDOnrk4vgGNMN++rcy2ItQ=";
-    extraBuildInputs = [ vulkan-loader ];
-    extraNativeBuildInputs = [ glslang ];
     extraPatch = ''
       substituteInPlace backend/drm/meson.build \
         --replace /usr/share/hwdata/ ${hwdata}/share/hwdata/
diff --git a/pkgs/development/libraries/wt/default.nix b/pkgs/development/libraries/wt/default.nix
index 8b92e78d2bdf8..c9adf68115bfa 100644
--- a/pkgs/development/libraries/wt/default.nix
+++ b/pkgs/development/libraries/wt/default.nix
@@ -40,7 +40,7 @@ let
         description = "C++ library for developing web applications";
         platforms = platforms.linux;
         license = licenses.gpl2;
-        maintainers = with maintainers; [ juliendehos willibutz ];
+        maintainers = with maintainers; [ juliendehos ];
       };
     };
 in {
diff --git a/pkgs/development/libraries/xdg-dbus-proxy/default.nix b/pkgs/development/libraries/xdg-dbus-proxy/default.nix
index cc7406b114632..c88c7d42b128b 100644
--- a/pkgs/development/libraries/xdg-dbus-proxy/default.nix
+++ b/pkgs/development/libraries/xdg-dbus-proxy/default.nix
@@ -46,5 +46,6 @@ stdenv.mkDerivation rec {
     license = licenses.lgpl21Plus;
     maintainers = with maintainers; [ jtojnar ];
     platforms = platforms.linux;
+    mainProgram = "xdg-dbus-proxy";
   };
 }
diff --git a/pkgs/development/libraries/xdg-desktop-portal-gnome/default.nix b/pkgs/development/libraries/xdg-desktop-portal-gnome/default.nix
index 766f944f15a1c..c25bc2f512ba8 100644
--- a/pkgs/development/libraries/xdg-desktop-portal-gnome/default.nix
+++ b/pkgs/development/libraries/xdg-desktop-portal-gnome/default.nix
@@ -20,11 +20,11 @@
 
 stdenv.mkDerivation rec {
   pname = "xdg-desktop-portal-gnome";
-  version = "44.1";
+  version = "44.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "NoLFRsgZIqW6adYthvacDCaxfJCWgj9YFJ0LVbvw7ts=";
+    sha256 = "UO0arCkDA+oLxchAqcEWWRhUarSnOiTFLcqicHK1/yE=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/xine-lib/default.nix b/pkgs/development/libraries/xine-lib/default.nix
deleted file mode 100644
index 837cc0d48b57e..0000000000000
--- a/pkgs/development/libraries/xine-lib/default.nix
+++ /dev/null
@@ -1,92 +0,0 @@
-{ lib
-, stdenv
-, fetchurl
-, fetchpatch
-, aalib
-, alsa-lib
-, autoconf
-, ffmpeg_4
-, flac
-, libGL
-, libGLU
-, libcaca
-, libcdio
-, libmng
-, libmpcdec
-, libpulseaudio
-, libtheora
-, libv4l
-, libvorbis
-, ncurses
-, perl
-, pkg-config
-, speex
-, vcdimager
-, xorg
-, zlib
-}:
-
-stdenv.mkDerivation rec {
-  pname = "xine-lib";
-  version = "1.2.11";
-
-  src = fetchurl {
-    url = "mirror://sourceforge/xine/xine-lib-${version}.tar.xz";
-    sha256 = "sha256-71GyHRDdoQRfp9cRvZFxz9rwpaKHQjO88W/98o7AcAU=";
-  };
-
-  patches = [
-    # Fix build with libcaca 0.99.beta20 ; remove for xine-lib 1.2.12
-    (fetchpatch {
-      name = "xine-lib-libcaca-0.99.beta20-fix.patch";
-      url = "https://raw.githubusercontent.com/archlinux/svntogit-community/209ae10d59d29c13633b75aa327cf937f3ff0725/trunk/010-xine-lib-libcaca-0.99.beta20-fix.patch";
-      sha256 = "088141x1yp84y09x3s01v21yzas2bwavxz9v30z5hyq6c3syrmgr";
-    })
-  ];
-
-  nativeBuildInputs = [
-    autoconf
-    pkg-config
-    perl
-  ];
-  buildInputs = [
-    aalib
-    alsa-lib
-    ffmpeg_4 # xine-lib 1.2.12 should support ffmpeg_5
-    flac
-    libGL
-    libGLU
-    libcaca
-    libcdio
-    libmng
-    libmpcdec
-    libpulseaudio
-    libtheora
-    libv4l
-    libvorbis
-    ncurses
-    perl
-    speex
-    vcdimager
-    zlib
-  ] ++ (with xorg; [
-    libX11
-    libXext
-    libXinerama
-    libXv
-    libxcb
-  ]);
-
-  enableParallelBuilding = true;
-
-  NIX_LDFLAGS = "-lxcb-shm";
-
-
-  meta = with lib; {
-    homepage = "https://xine.sourceforge.net/";
-    description = "A high-performance, portable and reusable multimedia playback engine";
-    license = with licenses; [ gpl2Plus lgpl2Plus ];
-    maintainers = with maintainers; [ AndersonTorres ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/development/libraries/zziplib/default.nix b/pkgs/development/libraries/zziplib/default.nix
index c4c20f207a412..e90df0888a0db 100644
--- a/pkgs/development/libraries/zziplib/default.nix
+++ b/pkgs/development/libraries/zziplib/default.nix
@@ -36,6 +36,11 @@ stdenv.mkDerivation rec {
       url = "https://github.com/gdraheim/zziplib/commit/e47b1e1da952a92f917db6fb19485b8a0b1a42f3.diff";
       sha256 = "0d032hkmi3s3db12z2zbppl2swa3gdpbj0c6w13ylv2g2ixglrwg";
     })
+    # Fixes invalid pointer conversions that cause compilation to fail with clang 15+
+    (fetchpatch {
+      url = "https://github.com/gdraheim/zziplib/commit/38e4d5f561318fa825e6544c2ef55ac5899c81b0.diff";
+      sha256 = "sha256-VJuFyiPhuAZlDxmNHBty+JbYwG85ea5u2sv7HZRHMwo=";
+    })
   ];
 
   nativeBuildInputs = [
diff --git a/pkgs/development/nim-packages/eris/default.nix b/pkgs/development/nim-packages/eris/default.nix
index f6ab83da54761..2d7b229ca1a1d 100644
--- a/pkgs/development/nim-packages/eris/default.nix
+++ b/pkgs/development/nim-packages/eris/default.nix
@@ -1,20 +1,20 @@
 { lib, buildNimPackage, fetchFromGitea, pkg-config, base32, coap, cbor
 , freedesktop_org, illwill, syndicate, tkrzw }:
 
-buildNimPackage rec {
+buildNimPackage (final: prev: {
   pname = "eris";
-  version = "20230716";
+  version = "20230722";
   outputs = [ "bin" "out" ];
   src = fetchFromGitea {
     domain = "codeberg.org";
     owner = "eris";
-    repo = "nim-${pname}";
-    rev = version;
-    hash = "sha256-g2mxua4++zqKeMbe98nBWh7/+rN/IElIiPcvyX0nfEY=";
+    repo = "nim-eris";
+    rev = final.version;
+    hash = "sha256-JVl2/PmFVYuD4s9hKoQwVDKUa3PBWK5SBDEmVHVSuig=";
   };
   propagatedNativeBuildInputs = [ pkg-config ];
   propagatedBuildInputs =
-    [ base32 coap cbor freedesktop_org illwill syndicate tkrzw ];
+    [ base32 coap cbor freedesktop_org illwill tkrzw ];
   postInstall = ''
     mkdir -p "$bin/share/recoll/filters"
     mv "$bin/bin/rclerislink" "$bin/share/recoll/filters/"
@@ -26,11 +26,11 @@ buildNimPackage rec {
     install -D "eris-link.xml" -t "$bin/share/mime/packages"
     install -D "eris48.png" "$bin/share/icons/hicolor/48x48/apps/eris.png"
   '';
-  preCheck = "rm tests/test_syndicate.nim";
-  meta = src.meta // {
+  meta = final.src.meta // {
+    homepage = "https://codeberg.org/eris/nim-eris";
     license = lib.licenses.unlicense;
     maintainers = with lib.maintainers; [ ehmry ];
     mainProgram = "eriscmd";
     badPlatforms = lib.platforms.darwin;
   };
-}
+})
diff --git a/pkgs/development/nim-packages/noise/default.nix b/pkgs/development/nim-packages/noise/default.nix
index 7931467dbbd5a..d4b9bfdda5b64 100644
--- a/pkgs/development/nim-packages/noise/default.nix
+++ b/pkgs/development/nim-packages/noise/default.nix
@@ -1,8 +1,18 @@
-{ fetchFromGitHub }:
+{ lib, buildNimPackage, fetchFromGitHub }:
 
-fetchFromGitHub {
-  owner = "jangko";
-  repo = "nim-noise";
-  rev = "v0.1.14";
-  sha256 = "0wndiphznfyb1pac6zysi3bqljwlfwj6ziarcwnpf00sw2zni449";
-}
+buildNimPackage (finalAttrs: {
+  pname = "noise";
+  version = "0.1.8";
+  src = fetchFromGitHub {
+    owner = "jangko";
+    repo = "nim-noise";
+    rev = "v${finalAttrs.version}";
+    sha256 = "sha256-QD7X1QTAKHYa2+QiYjrQq74CnEafwq/RsshlW2yZqmI=";
+  };
+  meta = finalAttrs.src.meta // {
+    description = "Nim implementation of linenoise";
+    homepage = "https://github.com/jangko/nim-noise";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ ehmry ];
+  };
+})
diff --git a/pkgs/development/nim-packages/regex/default.nix b/pkgs/development/nim-packages/regex/default.nix
index 091377eb1f2e6..03e4315a2c80c 100644
--- a/pkgs/development/nim-packages/regex/default.nix
+++ b/pkgs/development/nim-packages/regex/default.nix
@@ -1,8 +1,20 @@
-{ fetchFromGitHub }:
+{ lib, buildNimPackage, fetchFromGitHub, unicodedb }:
 
-fetchFromGitHub {
-  owner = "nitely";
-  repo = "nim-regex";
-  rev = "eeefb4f";
-  sha256 = "13gn0qhnxz07474kv94br5qlac9j8pz2555fk83538fiq83vgbm5";
-}
+buildNimPackage (finalAttrs: {
+  pname = "regex";
+  version = "0.20.2";
+  src = fetchFromGitHub {
+    owner = "nitely";
+    repo = "nim-regex";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-VViDf0uD6bj9WOO827NRbLUt+PgBPEmz/A/DDRCrHpc=";
+  };
+  propagatedBuildInputs = [ unicodedb ];
+  doCheck = false;
+  meta = finalAttrs.src.meta // {
+    description = "Pure Nim regex engine";
+    homepage = "https://github.com/nitely/nim-regex";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ ehmry ];
+  };
+})
diff --git a/pkgs/development/nim-packages/segmentation/default.nix b/pkgs/development/nim-packages/segmentation/default.nix
index c695cd00ca92b..4d1520d62ee87 100644
--- a/pkgs/development/nim-packages/segmentation/default.nix
+++ b/pkgs/development/nim-packages/segmentation/default.nix
@@ -1,8 +1,19 @@
-{ fetchFromGitHub }:
+{ lib, buildNimPackage, fetchFromGitHub, unicodedb }:
 
-fetchFromGitHub {
-  owner = "nitely";
-  repo = "nim-segmentation";
-  rev = "v0.1.0";
-  sha256 = "007bkx8dwy8n340zbp6wyqfsq9bh6q5ykav1ywdlwykyp1n909bh";
-}
+buildNimPackage (finalAttrs: {
+  pname = "segmentation";
+  version = "0.1.0";
+  src = fetchFromGitHub {
+    owner = "nitely";
+    repo = "nim-segmentation";
+    rev = "v${finalAttrs.version}";
+    sha256 = "007bkx8dwy8n340zbp6wyqfsq9bh6q5ykav1ywdlwykyp1n909bh";
+  };
+  propagatedBuildInputs = [ unicodedb ];
+  meta = finalAttrs.src.meta // {
+    description = "Unicode text segmentation (tr29)";
+    homepage = "https://github.com/nitely/nim-segmentation";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ ehmry ];
+  };
+})
diff --git a/pkgs/development/nim-packages/unicodedb/default.nix b/pkgs/development/nim-packages/unicodedb/default.nix
index 8b60710e82106..cbc897a1fc4eb 100644
--- a/pkgs/development/nim-packages/unicodedb/default.nix
+++ b/pkgs/development/nim-packages/unicodedb/default.nix
@@ -1,8 +1,18 @@
-{ fetchFromGitHub }:
+{ lib, buildNimPackage, fetchFromGitHub }:
 
-fetchFromGitHub {
-  owner = "nitely";
-  repo = "nim-unicodedb";
-  rev = "v0.9.0";
-  sha256 = "06j8d0bjbpv1iibqlmrac4qb61ggv17hvh6nv4pbccqk1rlpxhsq";
-}
+buildNimPackage (finalAttrs: {
+  pname = "unicodedb";
+  version = "0.12.0";
+  src = fetchFromGitHub {
+    owner = "nitely";
+    repo = "nim-unicodedb";
+    rev = finalAttrs.version;
+    hash = "sha256-vtksdRTWH/Fjp1z8KSFGjgn1SRUxtUZwlOa+vMuB53A=";
+  };
+  meta = finalAttrs.src.meta // {
+    description = "Unicode Character Database (UCD, tr44) for Nim";
+    homepage = "https://github.com/nitely/nim-unicodedb";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ ehmry ];
+  };
+})
diff --git a/pkgs/development/nim-packages/unicodeplus/default.nix b/pkgs/development/nim-packages/unicodeplus/default.nix
index 772524eaf94b5..8efb1fee7ec05 100644
--- a/pkgs/development/nim-packages/unicodeplus/default.nix
+++ b/pkgs/development/nim-packages/unicodeplus/default.nix
@@ -1,8 +1,19 @@
-{ fetchFromGitHub }:
+{ lib, buildNimPackage, fetchFromGitHub, segmentation }:
 
-fetchFromGitHub {
-  owner = "nitely";
-  repo = "nim-unicodeplus";
-  rev = "v0.8.0";
-  sha256 = "181wzwivfgplkqn5r4crhnaqgsza7x6fi23i86djb2dxvm7v6qxk";
-}
+buildNimPackage (finalAttrs: {
+  pname = "unicodeplus";
+  version = "0.8.0";
+  src = fetchFromGitHub {
+    owner = "nitely";
+    repo = "nim-unicodeplus";
+    rev = "v${finalAttrs.version}";
+    sha256 = "181wzwivfgplkqn5r4crhnaqgsza7x6fi23i86djb2dxvm7v6qxk";
+  };
+  propagatedBuildInputs = [ segmentation ];
+  meta = finalAttrs.src.meta // {
+    description = "Common unicode operations";
+    homepage = "https://github.com/nitely/nim-unicodeplus";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ ehmry ];
+  };
+})
diff --git a/pkgs/development/nim-packages/ws/default.nix b/pkgs/development/nim-packages/ws/default.nix
new file mode 100644
index 0000000000000..704d6d936bdae
--- /dev/null
+++ b/pkgs/development/nim-packages/ws/default.nix
@@ -0,0 +1,21 @@
+{ lib, buildNimPackage, fetchFromGitHub }:
+
+buildNimPackage (finalAttrs: {
+  pname = "ws";
+  version = "0.5.0";
+  src = fetchFromGitHub {
+    owner = "treeform";
+    repo = "ws";
+    rev = finalAttrs.version;
+    hash = "sha256-3wVi6CjMTjcc5MJEozJN6W3TuYDb53w2MDCsv6lMH0k=";
+  };
+  preCheck = ''
+    rm tests/test_ws.nim tests/test_timeout.nim
+  '';
+  meta = finalAttrs.src.meta // {
+    description = "Simple WebSocket library for Nim";
+    homepage = "https://github.com/treeform/ws";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ ehmry ];
+  };
+})
diff --git a/pkgs/development/node-packages/aliases.nix b/pkgs/development/node-packages/aliases.nix
index 7395090060cb6..05d996865fbff 100644
--- a/pkgs/development/node-packages/aliases.nix
+++ b/pkgs/development/node-packages/aliases.nix
@@ -43,12 +43,15 @@ mapAliases {
   "@githubnext/github-copilot-cli" = pkgs.github-copilot-cli; # Added 2023-05-02
   "@google/clasp" = pkgs.google-clasp; # Added 2023-05-07
   "@nestjs/cli" = pkgs.nest-cli; # Added 2023-05-06
+  bibtex-tidy = pkgs.bibtex-tidy; # added 2023-07-30
   bitwarden-cli = pkgs.bitwarden-cli; # added 2023-07-25
   eslint_d = pkgs.eslint_d; # Added 2023-05-26
+  gtop = pkgs.gtop; # added 2023-07-31
   manta = pkgs.node-manta; # Added 2023-05-06
   readability-cli = pkgs.readability-cli; # Added 2023-06-12
   thelounge = pkgs.thelounge; # Added 2023-05-22
   triton = pkgs.triton; # Added 2023-05-06
   typescript = pkgs.typescript; # Added 2023-06-21
   vscode-langservers-extracted = pkgs.vscode-langservers-extracted; # Added 2023-05-27
+  zx = pkgs.zx; # added 2023-08-01
 }
diff --git a/pkgs/development/node-packages/node-packages.json b/pkgs/development/node-packages/node-packages.json
index 29494ae3755c3..da2f95ab848ce 100644
--- a/pkgs/development/node-packages/node-packages.json
+++ b/pkgs/development/node-packages/node-packages.json
@@ -39,7 +39,6 @@
 , "awesome-lint"
 , "balanceofsatoshis"
 , "bash-language-server"
-, "bibtex-tidy"
 , "bower"
 , "bower2nix"
 , "browserify"
@@ -164,7 +163,6 @@
 , "makam"
 , "meshcommander"
 , "gqlint"
-, "gtop"
 , "gulp"
 , "gulp-cli"
 , "he"
@@ -397,5 +395,4 @@
 , "yarn"
 , "yo"
 , "@zwave-js/server"
-, "zx"
 ]
diff --git a/pkgs/development/node-packages/node-packages.nix b/pkgs/development/node-packages/node-packages.nix
index 196e4bad11fbb..982bc9cb14454 100644
--- a/pkgs/development/node-packages/node-packages.nix
+++ b/pkgs/development/node-packages/node-packages.nix
@@ -13,6 +13,15 @@ let
         sha512 = "HqiDzaLDFCXkcCO/SwoyhRwqYtINFHF7t9BDRq4x90TOKNAJpiqUt9X5lQ08bwxYzc067HUywDjGySpebHcUpw==";
       };
     };
+    "@0no-co/graphql.web-1.0.4" = {
+      name = "_at_0no-co_slash_graphql.web";
+      packageName = "@0no-co/graphql.web";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@0no-co/graphql.web/-/graphql.web-1.0.4.tgz";
+        sha512 = "W3ezhHGfO0MS1PtGloaTpg0PbaT8aZSmmaerL7idtU5F7oCI+uu25k+MsMS31BVFlp4aMkHSrNRxiD72IlK8TA==";
+      };
+    };
     "@75lb/deep-merge-1.1.1" = {
       name = "_at_75lb_slash_deep-merge";
       packageName = "@75lb/deep-merge";
@@ -184,31 +193,31 @@ let
         sha512 = "lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==";
       };
     };
-    "@angular-devkit/architect-0.1601.4" = {
+    "@angular-devkit/architect-0.1601.6" = {
       name = "_at_angular-devkit_slash_architect";
       packageName = "@angular-devkit/architect";
-      version = "0.1601.4";
+      version = "0.1601.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1601.4.tgz";
-        sha512 = "OOSbNlDy+Q3jY0oFHaq8kkna9HYI1zaS8IHeCIDP6T/ZIAVad4+HqXAL4SKQrKJikkoBQv1Z/eaDBL5XPFK9Bw==";
+        url = "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1601.6.tgz";
+        sha512 = "dY+/FNUNrOj+m4iG5/v8N0PfbDmjkjjoy/YkquRHS1yo7fGGDFNqji2552mbtjN6/LwyWDhOO7fxdqppadjnvA==";
       };
     };
-    "@angular-devkit/core-16.1.4" = {
+    "@angular-devkit/core-16.1.6" = {
       name = "_at_angular-devkit_slash_core";
       packageName = "@angular-devkit/core";
-      version = "16.1.4";
+      version = "16.1.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@angular-devkit/core/-/core-16.1.4.tgz";
-        sha512 = "WCAzNi9LxpFIi2WVPaJQd2kHPqCnCexWzUZN05ltJuBGCQL1O+LgRHGwnQ4WZoqmrF5tcWt2a3GFtJ3DgMc1hw==";
+        url = "https://registry.npmjs.org/@angular-devkit/core/-/core-16.1.6.tgz";
+        sha512 = "3OjtrPWvsqVkMBwqPeE65ccCIw56FooNpVVAJ0XwhVQv5mA81pmbCzU7JsR6U449ZT7O4cQblzZMQvWvx74HCg==";
       };
     };
-    "@angular-devkit/schematics-16.1.4" = {
+    "@angular-devkit/schematics-16.1.6" = {
       name = "_at_angular-devkit_slash_schematics";
       packageName = "@angular-devkit/schematics";
-      version = "16.1.4";
+      version = "16.1.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-16.1.4.tgz";
-        sha512 = "yjRgwHAfFaeuimgbQtjwSUyXzEHpMSdTRb2zg+TOp6skoGvHOG8xXFJ7DjBkSMeAQdFF0fkxhPS9YmlxqNc+7A==";
+        url = "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-16.1.6.tgz";
+        sha512 = "KA8P78gaS76HMHGBOM8JHJXWLOxCIShYVB2Un/Cu6z3jVODvXq+ILZUc1Y0RsAce/vsl2wf8qpoh5Lku9KJHUQ==";
       };
     };
     "@apidevtools/json-schema-ref-parser-9.0.6" = {
@@ -517,13 +526,13 @@ let
         sha512 = "9Sp4vXjoG99qI6sFe09MfgIzsKwiOR0atqxmAcJJLn6fUNXhJEoW04n3w/YcRlk7P4gC9cOMsEyvb8xu+fDEOQ==";
       };
     };
-    "@aws-sdk/client-cognito-identity-3.370.0" = {
+    "@aws-sdk/client-cognito-identity-3.382.0" = {
       name = "_at_aws-sdk_slash_client-cognito-identity";
       packageName = "@aws-sdk/client-cognito-identity";
-      version = "3.370.0";
+      version = "3.382.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.370.0.tgz";
-        sha512 = "/dQFXT8y0WUD/731cdLjCrxNxH7Wtg2uZx7PggevTZs9Yr2fdGPSHehIYfvpCvi59yeG9T2Cl8sFnxXL1OEx4A==";
+        url = "https://registry.npmjs.org/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.382.0.tgz";
+        sha512 = "EgKpWh5w2uWNzjtcD3S3JLSuuwLvvaeaVih60xNEoyaxpqwgjAe0vw/8GT9q2nqhS0J+B3bQVYdkCyA5oQDVEQ==";
       };
     };
     "@aws-sdk/client-s3-3.296.0" = {
@@ -535,13 +544,22 @@ let
         sha512 = "PI6mjM0fmcV2fqkkRoivF3DYex4lnbEz7WIsOFAwpHJBbA9ykClQpiutCKcgl0x/yEWAeTNdQtrCVeAwbxYfvw==";
       };
     };
-    "@aws-sdk/client-s3-3.373.0" = {
+    "@aws-sdk/client-s3-3.379.1" = {
       name = "_at_aws-sdk_slash_client-s3";
       packageName = "@aws-sdk/client-s3";
-      version = "3.373.0";
+      version = "3.379.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.373.0.tgz";
-        sha512 = "cdgxK/C6CqmVXNYFTzaRDviV5MBiUx/Z6ghQhPJYxl0/FlOQ82x8yhCzhf1E6/LI6IHFKA7ypz0qf+I7nGp8+A==";
+        url = "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.379.1.tgz";
+        sha512 = "H4ECLySyEkLHRCBv7q5RS5AhesAsDlC7b3wK4YfbTjdqLVhQZIGqy4IJX98VStKZOea43txhndlDlGvKt8p7kA==";
+      };
+    };
+    "@aws-sdk/client-s3-3.382.0" = {
+      name = "_at_aws-sdk_slash_client-s3";
+      packageName = "@aws-sdk/client-s3";
+      version = "3.382.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.382.0.tgz";
+        sha512 = "7s5DI1dw5HUF9+tHuZzkJaZBcaE3kuGsMw17/enEa8YdF0CtL5rW46FlzQ3/7NYIKc9rhDtb0UMakEej1cWFtg==";
       };
     };
     "@aws-sdk/client-sso-3.296.0" = {
@@ -553,13 +571,22 @@ let
         sha512 = "0P0x++jhlmhzViFPOHvTb7+Z6tSV9aONwB8CchIseg2enSPBbGfml7y5gQu1jdOTDS6pBUmrPZ+9sOI4/GvAfA==";
       };
     };
-    "@aws-sdk/client-sso-3.370.0" = {
+    "@aws-sdk/client-sso-3.379.1" = {
       name = "_at_aws-sdk_slash_client-sso";
       packageName = "@aws-sdk/client-sso";
-      version = "3.370.0";
+      version = "3.379.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.370.0.tgz";
-        sha512 = "0Ty1iHuzNxMQtN7nahgkZr4Wcu1XvqGfrQniiGdKKif9jG/4elxsQPiydRuQpFqN6b+bg7wPP7crFP1uTxx2KQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.379.1.tgz";
+        sha512 = "2N16TPnRcq+seNP8VY/Zq7kfnrUOrJMbVNpyDZWGe5Qglua3n8v/FzxmXFNI87MiSODq8IHtiXhggWhefCd+TA==";
+      };
+    };
+    "@aws-sdk/client-sso-3.382.0" = {
+      name = "_at_aws-sdk_slash_client-sso";
+      packageName = "@aws-sdk/client-sso";
+      version = "3.382.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.382.0.tgz";
+        sha512 = "ge11t4hJllOF8pBNF0p1X52lLqUsLGAoey24fvk3fyvvczeLpegGYh2kdLG0iwFTDgRxaUqK+kboH5Wy9ux/pw==";
       };
     };
     "@aws-sdk/client-sso-oidc-3.296.0" = {
@@ -571,13 +598,22 @@ let
         sha512 = "GRycCVdlFICvWwv9z6Mc/2BvSBOvchWO7UTklvbKXeDn6D05C+02PfxeoocMTc4r8/eFoEQWs67h5u/lPpyHDw==";
       };
     };
-    "@aws-sdk/client-sso-oidc-3.370.0" = {
+    "@aws-sdk/client-sso-oidc-3.379.1" = {
+      name = "_at_aws-sdk_slash_client-sso-oidc";
+      packageName = "@aws-sdk/client-sso-oidc";
+      version = "3.379.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.379.1.tgz";
+        sha512 = "B6hZ2ysPyvafCMf6gls1jHI/IUviVZ4+TURpNfUBqThg/hZ1IMxc4BLkXca6VlgzYR+bWU8GKiClS9fFH6mu0g==";
+      };
+    };
+    "@aws-sdk/client-sso-oidc-3.382.0" = {
       name = "_at_aws-sdk_slash_client-sso-oidc";
       packageName = "@aws-sdk/client-sso-oidc";
-      version = "3.370.0";
+      version = "3.382.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.370.0.tgz";
-        sha512 = "jAYOO74lmVXylQylqkPrjLzxvUnMKw476JCUTvCO6Q8nv3LzCWd76Ihgv/m9Q4M2Tbqi1iP2roVK5bstsXzEjA==";
+        url = "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.382.0.tgz";
+        sha512 = "hTfvB1ftbrqaz7qiEkmRobzUQwG34oZlByobn8Frdr5ZQbJk969bX6evQAPyKlJEr26+kL9TnaX+rbLR/+gwHQ==";
       };
     };
     "@aws-sdk/client-sts-3.296.0" = {
@@ -589,13 +625,22 @@ let
         sha512 = "ew7hSVNpitnLCIRVhnI2L1HZB/yYpRQFReR62fOqCUnpKqm6WGga37bnvgYbY5y0Rv23C0VHARovwunVg1gabA==";
       };
     };
-    "@aws-sdk/client-sts-3.370.0" = {
+    "@aws-sdk/client-sts-3.379.1" = {
+      name = "_at_aws-sdk_slash_client-sts";
+      packageName = "@aws-sdk/client-sts";
+      version = "3.379.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.379.1.tgz";
+        sha512 = "gEnKuk9bYjThvmxCgOgCn1qa+rRX8IgIRE2+xhbWhlpDanozhkDq9aMB5moX4tBNYQEmi1LtGD+JOvOoZRnToQ==";
+      };
+    };
+    "@aws-sdk/client-sts-3.382.0" = {
       name = "_at_aws-sdk_slash_client-sts";
       packageName = "@aws-sdk/client-sts";
-      version = "3.370.0";
+      version = "3.382.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.370.0.tgz";
-        sha512 = "utFxOPWIzbN+3kc415Je2o4J72hOLNhgR2Gt5EnRSggC3yOnkC4GzauxG8n7n5gZGBX45eyubHyPOXLOIyoqQA==";
+        url = "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.382.0.tgz";
+        sha512 = "G5wgahrOqmrljjyLVGASIZUXIIdalbCo0z4PuFHdb2R2CVfwO8renfgrmk4brT9tIxIfen5bRA7ftXMe7yrgRA==";
       };
     };
     "@aws-sdk/config-resolver-3.296.0" = {
@@ -607,13 +652,13 @@ let
         sha512 = "Ecdp7fmIitHo49NRCyIEHb9xlI43J7qkvhcwaKGGqN5jvoh0YhR2vNr195wWG8Ip/9PwsD4QV4g/XT5EY7XkMA==";
       };
     };
-    "@aws-sdk/credential-provider-cognito-identity-3.370.0" = {
+    "@aws-sdk/credential-provider-cognito-identity-3.382.0" = {
       name = "_at_aws-sdk_slash_credential-provider-cognito-identity";
       packageName = "@aws-sdk/credential-provider-cognito-identity";
-      version = "3.370.0";
+      version = "3.382.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.370.0.tgz";
-        sha512 = "OjNAN72+QoyJAmOayi47AlFzpQc4E59LWRE2GKgH0F1pEgr3t34T0/EHusCoxUjOz5mRRXrKjNlHVC7ezOFEcg==";
+        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.382.0.tgz";
+        sha512 = "fEsmPSylpQdALSS1pKMa9QghMk9xFiQCanmUWbQ7ETkcjuYuc/DK6GIA0pRjq/BROJJNSxKrSxt3TZPzVpvb3w==";
       };
     };
     "@aws-sdk/credential-provider-env-3.296.0" = {
@@ -625,13 +670,13 @@ let
         sha512 = "eDWSU3p04gytkkVXnYn05YzrP5SEaj/DQiafd4y+iBl8IFfF3zM6982rs6qFhvpwrHeSbLqHNfKR1HDWVwfG5g==";
       };
     };
-    "@aws-sdk/credential-provider-env-3.370.0" = {
+    "@aws-sdk/credential-provider-env-3.378.0" = {
       name = "_at_aws-sdk_slash_credential-provider-env";
       packageName = "@aws-sdk/credential-provider-env";
-      version = "3.370.0";
+      version = "3.378.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.370.0.tgz";
-        sha512 = "raR3yP/4GGbKFRPP5hUBNkEmTnzxI9mEc2vJAJrcv4G4J4i/UP6ELiLInQ5eO2/VcV/CeKGZA3t7d1tsJ+jhCg==";
+        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.378.0.tgz";
+        sha512 = "B2OVdO9kBClDwGgWTBLAQwFV8qYTYGyVujg++1FZFSFMt8ORFdZ5fNpErvJtiSjYiOOQMzyBeSNhKyYNXCiJjQ==";
       };
     };
     "@aws-sdk/credential-provider-imds-3.296.0" = {
@@ -652,13 +697,22 @@ let
         sha512 = "U0ecY0GX2jeDAgmTzaVO9YgjlLUfb8wgZSu1OwbOxCJscL/5eFkhcF0/xJQXDbRgcj4H4dlquqeSWsBVl/PgvQ==";
       };
     };
-    "@aws-sdk/credential-provider-ini-3.370.0" = {
+    "@aws-sdk/credential-provider-ini-3.379.1" = {
       name = "_at_aws-sdk_slash_credential-provider-ini";
       packageName = "@aws-sdk/credential-provider-ini";
-      version = "3.370.0";
+      version = "3.379.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.370.0.tgz";
-        sha512 = "eJyapFKa4NrC9RfTgxlXnXfS9InG/QMEUPPVL+VhG7YS6nKqetC1digOYgivnEeu+XSKE0DJ7uZuXujN2Y7VAQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.379.1.tgz";
+        sha512 = "YhEsJIskzCFwIIKiMN9GSHQkgWwj/b7rq0ofhsXsCRimFtdVkmMlB9veE6vtFAuXpX/WOGWdlWek1az0V22uuw==";
+      };
+    };
+    "@aws-sdk/credential-provider-ini-3.382.0" = {
+      name = "_at_aws-sdk_slash_credential-provider-ini";
+      packageName = "@aws-sdk/credential-provider-ini";
+      version = "3.382.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.382.0.tgz";
+        sha512 = "31pi44WWri2WQmagqptUv7x3Nq8pQ6H06OCQx5goEm77SosSdwQwyBPrS9Pg0yI9aljFAxF+rZ75degsCorbQg==";
       };
     };
     "@aws-sdk/credential-provider-node-3.296.0" = {
@@ -670,13 +724,22 @@ let
         sha512 = "oCkmh2b1DQhHkhd/qA9jiSIOkrBBK7cMg1/PVIgLw8e15NkzUHBObLJ/ZQw6ZzCxZzjlMYaFv9oCB8hyO8txmA==";
       };
     };
-    "@aws-sdk/credential-provider-node-3.370.0" = {
+    "@aws-sdk/credential-provider-node-3.379.1" = {
       name = "_at_aws-sdk_slash_credential-provider-node";
       packageName = "@aws-sdk/credential-provider-node";
-      version = "3.370.0";
+      version = "3.379.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.370.0.tgz";
-        sha512 = "gkFiotBFKE4Fcn8CzQnMeab9TAR06FEAD02T4ZRYW1xGrBJOowmje9dKqdwQFHSPgnWAP+8HoTA8iwbhTLvjNA==";
+        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.379.1.tgz";
+        sha512 = "39Y4OHKn6a8lY8YJhSLLw08aZytWxfvSjM4ObIEnE6hjLl8gsL9vROKKITsh3q6iGQ1EDSWMWZL50aOh3LJUIg==";
+      };
+    };
+    "@aws-sdk/credential-provider-node-3.382.0" = {
+      name = "_at_aws-sdk_slash_credential-provider-node";
+      packageName = "@aws-sdk/credential-provider-node";
+      version = "3.382.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.382.0.tgz";
+        sha512 = "q6AWCCb0E0cH/Y5Dtln0QssbCBXDbV4PoTV3EdRuGoJcHyNfHJ8X0mqcc7k44wG4Piazu+ufZThvn43W7W9a4g==";
       };
     };
     "@aws-sdk/credential-provider-process-3.296.0" = {
@@ -688,13 +751,13 @@ let
         sha512 = "AY7sTX2dGi8ripuCpcJLYHOZB2wJ6NnseyK/kK5TfJn/pgboKwuGtz0hkJCVprNWomKa6IpHksm7vLQ4O2E+UA==";
       };
     };
-    "@aws-sdk/credential-provider-process-3.370.0" = {
+    "@aws-sdk/credential-provider-process-3.378.0" = {
       name = "_at_aws-sdk_slash_credential-provider-process";
       packageName = "@aws-sdk/credential-provider-process";
-      version = "3.370.0";
+      version = "3.378.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.370.0.tgz";
-        sha512 = "0BKFFZmUO779Xdw3u7wWnoWhYA4zygxJbgGVSyjkOGBvdkbPSTTcdwT1KFkaQy2kOXYeZPl+usVVRXs+ph4ejg==";
+        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.378.0.tgz";
+        sha512 = "KFTIy7u+wXj3eDua4rgS0tODzMnXtXhAm1RxzCW9FL5JLBBrd82ymCj1Dp72217Sw5Do6NjCnDTTNkCHZMA77w==";
       };
     };
     "@aws-sdk/credential-provider-sso-3.296.0" = {
@@ -706,13 +769,22 @@ let
         sha512 = "zPFHDX/niXfcQrKQhmBv1XPYEe4b7im4vRKrzjYXgDRpG2M3LP0KaWIwN6Ap+GRYBNBthen86vhTlmKGzyU5YA==";
       };
     };
-    "@aws-sdk/credential-provider-sso-3.370.0" = {
+    "@aws-sdk/credential-provider-sso-3.379.1" = {
+      name = "_at_aws-sdk_slash_credential-provider-sso";
+      packageName = "@aws-sdk/credential-provider-sso";
+      version = "3.379.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.379.1.tgz";
+        sha512 = "PhGtu1+JbUntYP/5CSfazQhWsjUBiksEuhg9fLhYl5OAgZVjVygbgoNVUz/gM7gZJSEMsasTazkn7yZVzO/k7w==";
+      };
+    };
+    "@aws-sdk/credential-provider-sso-3.382.0" = {
       name = "_at_aws-sdk_slash_credential-provider-sso";
       packageName = "@aws-sdk/credential-provider-sso";
-      version = "3.370.0";
+      version = "3.382.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.370.0.tgz";
-        sha512 = "PFroYm5hcPSfC/jkZnCI34QFL3I7WVKveVk6/F3fud/cnP8hp6YjA9NiTNbqdFSzsyoiN/+e5fZgNKih8vVPTA==";
+        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.382.0.tgz";
+        sha512 = "tKCQKqxnAHeRD7pQNmDmLWwC7pt5koo6yiQTVQ382U+8xx7BNsApE1zdC4LrtrVN1FYqVbw5kXjYFtSCtaUxGA==";
       };
     };
     "@aws-sdk/credential-provider-web-identity-3.296.0" = {
@@ -724,22 +796,22 @@ let
         sha512 = "Rl6Ohoekxe+pccA55XXQDW5wApbg3rGWr6FkmPRcg7Ld6Vfe+HL8OtfsFf83/0eoFerevbif+00BdknXWT05LA==";
       };
     };
-    "@aws-sdk/credential-provider-web-identity-3.370.0" = {
+    "@aws-sdk/credential-provider-web-identity-3.378.0" = {
       name = "_at_aws-sdk_slash_credential-provider-web-identity";
       packageName = "@aws-sdk/credential-provider-web-identity";
-      version = "3.370.0";
+      version = "3.378.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.370.0.tgz";
-        sha512 = "CFaBMLRudwhjv1sDzybNV93IaT85IwS+L8Wq6VRMa0mro1q9rrWsIZO811eF+k0NEPfgU1dLH+8Vc2qhw4SARQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.378.0.tgz";
+        sha512 = "GWjydOszhc4xDF8xuPtBvboglXQr0gwCW1oHAvmLcOT38+Hd6qnKywnMSeoXYRPgoKfF9TkWQgW1jxplzCG0UA==";
       };
     };
-    "@aws-sdk/credential-providers-3.370.0" = {
+    "@aws-sdk/credential-providers-3.382.0" = {
       name = "_at_aws-sdk_slash_credential-providers";
       packageName = "@aws-sdk/credential-providers";
-      version = "3.370.0";
+      version = "3.382.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/credential-providers/-/credential-providers-3.370.0.tgz";
-        sha512 = "K5yUHJPB2QJKWzKoz1YCE2xJDvYL6bvCRyoT0mRPWbITrDjFuWxbe1QXWcMymwQIyzOITAnZq5fvj456KhPATg==";
+        url = "https://registry.npmjs.org/@aws-sdk/credential-providers/-/credential-providers-3.382.0.tgz";
+        sha512 = "+emgPCb8t5ODLpE1GeCkKaI6lx9M3RLQCYBGYkm/2o8FyvNeob9IBs6W8ufUTlnl4YRdKjDOlcfDtS00wCVHfA==";
       };
     };
     "@aws-sdk/eventstream-codec-3.296.0" = {
@@ -823,15 +895,6 @@ let
         sha512 = "EO3nNQiTq5/AQj55E9T10RC7QRnExCIYsvTiKzQPfJEdKiTy8Xga6oQEAGttRABBlP0wTjG4HVnHEEFZ6HbcoQ==";
       };
     };
-    "@aws-sdk/hash-stream-node-3.370.0" = {
-      name = "_at_aws-sdk_slash_hash-stream-node";
-      packageName = "@aws-sdk/hash-stream-node";
-      version = "3.370.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/hash-stream-node/-/hash-stream-node-3.370.0.tgz";
-        sha512 = "ExsbBiIMiL9AN1VpWlD8+xaO5s0cXUZJC2UONiQbgMb1jz7Wq9fa1GmKUDyaGXOuQTT7DDhAmalb9fIpauZKuA==";
-      };
-    };
     "@aws-sdk/invalid-dependency-3.296.0" = {
       name = "_at_aws-sdk_slash_invalid-dependency";
       packageName = "@aws-sdk/invalid-dependency";
@@ -850,22 +913,13 @@ let
         sha512 = "SCIt10cr5dud7hvwveU4wkLjvkGssJ3GrcbHCds2NwI+JHmpcaaNYLAqi305JAuT29T36U5ssTFDSmrrEOcfag==";
       };
     };
-    "@aws-sdk/is-array-buffer-3.310.0" = {
-      name = "_at_aws-sdk_slash_is-array-buffer";
-      packageName = "@aws-sdk/is-array-buffer";
-      version = "3.310.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/is-array-buffer/-/is-array-buffer-3.310.0.tgz";
-        sha512 = "urnbcCR+h9NWUnmOtet/s4ghvzsidFmspfhYaHAmSRdy9yDjdjBJMFjjsn85A1ODUktztm+cVncXjQ38WCMjMQ==";
-      };
-    };
-    "@aws-sdk/lib-storage-3.373.0" = {
+    "@aws-sdk/lib-storage-3.379.1" = {
       name = "_at_aws-sdk_slash_lib-storage";
       packageName = "@aws-sdk/lib-storage";
-      version = "3.373.0";
+      version = "3.379.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/lib-storage/-/lib-storage-3.373.0.tgz";
-        sha512 = "76+LhtBwgWndfPukIzwb+ETSP4sOqcN1XLrG9qgl9l+L4OtMgAznU+sqv8irQ8mtzbgZr+PoH3TzCTHRBwrNqQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/lib-storage/-/lib-storage-3.379.1.tgz";
+        sha512 = "o/OFPQL/pZQ1ppjQnBu/3cXfIBz4h0qpwpA2B6osZGfuUzuZJYInEDKixswQligX1Sjxwxd+RL/2TEYNzx1vGw==";
       };
     };
     "@aws-sdk/md5-js-3.296.0" = {
@@ -886,13 +940,13 @@ let
         sha512 = "Xhzucs5psscjXJW7V6vMrjJWGmej8Xtw8XIKd91RLmbxdmecMy85/mQC3bIqxgTGhC/e3pKqWSp8z/YjV6iPZg==";
       };
     };
-    "@aws-sdk/middleware-bucket-endpoint-3.370.0" = {
+    "@aws-sdk/middleware-bucket-endpoint-3.378.0" = {
       name = "_at_aws-sdk_slash_middleware-bucket-endpoint";
       packageName = "@aws-sdk/middleware-bucket-endpoint";
-      version = "3.370.0";
+      version = "3.378.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.370.0.tgz";
-        sha512 = "B36+fOeJVO0D9cjR92Ob6Ki2FTzyTQ/uKk8w+xtur6W6zYVOPU4IQNpNZvN3Ykt4jitR2uUnVSlBb3sXHHhdFA==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.378.0.tgz";
+        sha512 = "3o+AYU6JWUsPM49bWglCUOgNvySiHkbIma0J6F9a68e30vEDD0FUQtKzyHPZkF7iYDyesEl166gYjwVNAmASzw==";
       };
     };
     "@aws-sdk/middleware-content-length-3.296.0" = {
@@ -922,13 +976,13 @@ let
         sha512 = "aVCv9CdAVWt9AlZKQZRweIywkAszRrZUCo8K5bBUJNdD4061DoDqLK/6jmqXmObas0j1wQr/eNzjYbv99MZBCg==";
       };
     };
-    "@aws-sdk/middleware-expect-continue-3.370.0" = {
+    "@aws-sdk/middleware-expect-continue-3.378.0" = {
       name = "_at_aws-sdk_slash_middleware-expect-continue";
       packageName = "@aws-sdk/middleware-expect-continue";
-      version = "3.370.0";
+      version = "3.378.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.370.0.tgz";
-        sha512 = "OlFIpXa53obLryHyrqedE2Cp8lp2k+1Vjd++hlZFDFJncRlWZMxoXSyl6shQPqhIiGnNW4vt7tG5xE4jg4NAvw==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.378.0.tgz";
+        sha512 = "8maaNQvza3/IGDbIyVQkUbGlo+Oc6SY1gVG50UMcTUX8nwZrD1/ko+ft+pd2EDb2n+0JritoDj4bjr6pdesNBg==";
       };
     };
     "@aws-sdk/middleware-flexible-checksums-3.296.0" = {
@@ -940,13 +994,13 @@ let
         sha512 = "F5wVMhLIgA86PKsK/Az7LGIiNVDdZjoSn0+boe6fYW/AIAmgJhPf//500Md0GsKsLOCcPcxiQC43a0hVT2zbew==";
       };
     };
-    "@aws-sdk/middleware-flexible-checksums-3.370.0" = {
+    "@aws-sdk/middleware-flexible-checksums-3.378.0" = {
       name = "_at_aws-sdk_slash_middleware-flexible-checksums";
       packageName = "@aws-sdk/middleware-flexible-checksums";
-      version = "3.370.0";
+      version = "3.378.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.370.0.tgz";
-        sha512 = "62fyW4hZxppvkQKSXdkzjHQ95dXyVCuL18Sfnlciy9pr9f/t5w6LhZIxsNIW+Ge9mbgc661SVRKTwxlZj6FuLQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.378.0.tgz";
+        sha512 = "pHkcVTu2T+x/1fpPHMpRDpXY5zxDsjijv3C6Nz/nm3gQrZvQ3fYDrQdV3Oj6Xeg40B3kkcp/bzgDo7MDzG088A==";
       };
     };
     "@aws-sdk/middleware-host-header-3.296.0" = {
@@ -958,13 +1012,13 @@ let
         sha512 = "V47dFtfkX5lXWv9GDp71gZVCRws4fEdQ9QF9BQ/2UMSNrYjQLg6mFe7NibH+IJoNOid2FIwWIl94Eos636VGYQ==";
       };
     };
-    "@aws-sdk/middleware-host-header-3.370.0" = {
+    "@aws-sdk/middleware-host-header-3.379.1" = {
       name = "_at_aws-sdk_slash_middleware-host-header";
       packageName = "@aws-sdk/middleware-host-header";
-      version = "3.370.0";
+      version = "3.379.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.370.0.tgz";
-        sha512 = "CPXOm/TnOFC7KyXcJglICC7OiA7Kj6mT3ChvEijr56TFOueNHvJdV4aNIFEQy0vGHOWtY12qOWLNto/wYR1BAQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.379.1.tgz";
+        sha512 = "LI4KpAFWNWVr2aH2vRVblr0Y8tvDz23lj8LOmbDmCrzd5M21nxuocI/8nEAQj55LiTIf9Zs+dHCdsyegnFXdrA==";
       };
     };
     "@aws-sdk/middleware-location-constraint-3.296.0" = {
@@ -976,13 +1030,13 @@ let
         sha512 = "KHkWaIrZOtJmV1/WO9KOf7kSK41ngfqts3YIun956NYglKTDKyrBIOPCgmXTT/03odnYsKVT/UfbEIh/v4RxGA==";
       };
     };
-    "@aws-sdk/middleware-location-constraint-3.370.0" = {
+    "@aws-sdk/middleware-location-constraint-3.379.1" = {
       name = "_at_aws-sdk_slash_middleware-location-constraint";
       packageName = "@aws-sdk/middleware-location-constraint";
-      version = "3.370.0";
+      version = "3.379.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.370.0.tgz";
-        sha512 = "NlDZEbBOF1IN7svUTcjbLodkUctt9zsfDI8+DqNlklRs5lsPb91WYvahOfjFO/EvACixa+a5d3cCumMCaIq4Cw==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.379.1.tgz";
+        sha512 = "+bmy8DjX9jtqJk8WiDaHoP9M5ZcqjHSJf4mkv8IUZ/FNTUl9j6Dll//bG/JxuAw5e5shtCDjmZ027W5d9ITp0g==";
       };
     };
     "@aws-sdk/middleware-logger-3.296.0" = {
@@ -994,13 +1048,13 @@ let
         sha512 = "LzfEEFyBR9LXdWwLdtBrmi1vLdzgdJNntEgzqktVF8LwaCyY+9xIE6TGu/2V+9fJHAwECxjOC1eQbNQdAZ0Tmw==";
       };
     };
-    "@aws-sdk/middleware-logger-3.370.0" = {
+    "@aws-sdk/middleware-logger-3.378.0" = {
       name = "_at_aws-sdk_slash_middleware-logger";
       packageName = "@aws-sdk/middleware-logger";
-      version = "3.370.0";
+      version = "3.378.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.370.0.tgz";
-        sha512 = "cQMq9SaZ/ORmTJPCT6VzMML7OxFdQzNkhMAgKpTDl+tdPWynlHF29E5xGoSzROnThHlQPCjogU0NZ8AxI0SWPA==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.378.0.tgz";
+        sha512 = "l1DyaDLm3KeBMNMuANI3scWh8Xvu248x+vw6Z7ExWOhGXFmQ1MW7YvASg/SdxWkhlF9HmkkTif1LdMB22x6QDA==";
       };
     };
     "@aws-sdk/middleware-recursion-detection-3.296.0" = {
@@ -1012,13 +1066,13 @@ let
         sha512 = "UG7TLDPz9ImQG0uVklHTxE9Us7rTImwN+6el6qZCpoTBuGeXgOkfb0/p8izJyFgY/hMUR4cZqs7IdCDUkxQF3w==";
       };
     };
-    "@aws-sdk/middleware-recursion-detection-3.370.0" = {
+    "@aws-sdk/middleware-recursion-detection-3.378.0" = {
       name = "_at_aws-sdk_slash_middleware-recursion-detection";
       packageName = "@aws-sdk/middleware-recursion-detection";
-      version = "3.370.0";
+      version = "3.378.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.370.0.tgz";
-        sha512 = "L7ZF/w0lAAY/GK1khT8VdoU0XB7nWHk51rl/ecAg64J70dHnMOAg8n+5FZ9fBu/xH1FwUlHOkwlodJOgzLJjtg==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.378.0.tgz";
+        sha512 = "mUMfHAz0oGNIWiTZHTVJb+I515Hqs2zx1j36Le4MMiiaMkPW1SRUF1FIwGuc1wh6E8jB5q+XfEMriDjRi4TZRA==";
       };
     };
     "@aws-sdk/middleware-retry-3.296.0" = {
@@ -1039,13 +1093,13 @@ let
         sha512 = "zH4uZKEqumo01wn+dTwrYnvOui9GjDiuBHdECnSjnA0Mkxo/tfMPYzYD7mE8kUlBz7HfQcXeXlyaApj9fPkxvg==";
       };
     };
-    "@aws-sdk/middleware-sdk-s3-3.370.0" = {
+    "@aws-sdk/middleware-sdk-s3-3.379.1" = {
       name = "_at_aws-sdk_slash_middleware-sdk-s3";
       packageName = "@aws-sdk/middleware-sdk-s3";
-      version = "3.370.0";
+      version = "3.379.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.370.0.tgz";
-        sha512 = "DPYXtveWBDS5MzSHWTThg2KkLaOzZkCgPejjEuw3yl4ljsHawDs/ZIVCtmWXlBIS2lLCaBMpCV+t9psuJ/6/zQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.379.1.tgz";
+        sha512 = "NVHRpNLfkHCqr3CE1Bmlf8Fhys8lL78kDX7UONnTZXvSiSXmCS7EbNtGDghZ8IKi+V9S/ifB4sLsX3tfzY0i6Q==";
       };
     };
     "@aws-sdk/middleware-sdk-sts-3.296.0" = {
@@ -1057,13 +1111,13 @@ let
         sha512 = "0EnHtiRzcRcXaF6zEgcRGUtVgX0RqczwlGXjtryHcxiqU/+adqbRuckC7bdMF4Zva6GVPS25XppvGF4M+UzAEw==";
       };
     };
-    "@aws-sdk/middleware-sdk-sts-3.370.0" = {
+    "@aws-sdk/middleware-sdk-sts-3.379.1" = {
       name = "_at_aws-sdk_slash_middleware-sdk-sts";
       packageName = "@aws-sdk/middleware-sdk-sts";
-      version = "3.370.0";
+      version = "3.379.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.370.0.tgz";
-        sha512 = "ykbsoVy0AJtVbuhAlTAMcaz/tCE3pT8nAp0L7CQQxSoanRCvOux7au0KwMIQVhxgnYid4dWVF6d00SkqU5MXRA==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.379.1.tgz";
+        sha512 = "SK3gSyT0XbLiY12+AjLFYL9YngxOXHnZF3Z33Cdd4a+AUYrVBV7JBEEGD1Nlwrcmko+3XgaKlmgUaR5s91MYvg==";
       };
     };
     "@aws-sdk/middleware-serde-3.296.0" = {
@@ -1084,13 +1138,13 @@ let
         sha512 = "wyiG+WPDvugGTIPpKchGOdvvpcMZEN2IfP6iK//QAqGXsC6rDm5+SNZ3+elvduZjPUdVA06W0CcFYBAkVz8D7Q==";
       };
     };
-    "@aws-sdk/middleware-signing-3.370.0" = {
+    "@aws-sdk/middleware-signing-3.379.1" = {
       name = "_at_aws-sdk_slash_middleware-signing";
       packageName = "@aws-sdk/middleware-signing";
-      version = "3.370.0";
+      version = "3.379.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.370.0.tgz";
-        sha512 = "Dwr/RTCWOXdm394wCwICGT2VNOTMRe4IGPsBRJAsM24pm+EEqQzSS3Xu/U/zF4exuxqpMta4wec4QpSarPNTxA==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.379.1.tgz";
+        sha512 = "kBk2ZUvR84EM4fICjr8K+Ykpf8SI1UzzPp2/UVYZ0X+4H/ZCjfSqohGRwHykMqeplne9qHSL7/rGJs1H3l3gPg==";
       };
     };
     "@aws-sdk/middleware-ssec-3.296.0" = {
@@ -1102,13 +1156,13 @@ let
         sha512 = "vcSyXxEXAC9rWzUd7rq2/JxPdt87DKiA+wfiBrpGvFV+bacocIV0TFcpJncgZqMOoP8b6Osd+mW4BjlkwBamtA==";
       };
     };
-    "@aws-sdk/middleware-ssec-3.370.0" = {
+    "@aws-sdk/middleware-ssec-3.378.0" = {
       name = "_at_aws-sdk_slash_middleware-ssec";
       packageName = "@aws-sdk/middleware-ssec";
-      version = "3.370.0";
+      version = "3.378.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.370.0.tgz";
-        sha512 = "NIosfLS7mxCNdGYnuy76W9qP3f3YWVTusUA+uv+s6rnwG+Z2UheXCf1wpnJKzxORA8pioSP7ylZ8w2A0reCgYQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.378.0.tgz";
+        sha512 = "WDT2LOd6OxlY1zkrRG9ZtW2vFms/dsqMg9VyE88RKG2oATxSXEhkr5zLbNVh3TyuUKnV9jydate56d/ECwHOHg==";
       };
     };
     "@aws-sdk/middleware-stack-3.296.0" = {
@@ -1129,13 +1183,22 @@ let
         sha512 = "L7jacxSt6gxX1gD3tQtfwHqBDk5rT2wWD3rxBa6rs7f81b9ObgY/sPT2IgRT7JNCVzvKLYFxJaTklDj65mY1SQ==";
       };
     };
-    "@aws-sdk/middleware-user-agent-3.370.0" = {
+    "@aws-sdk/middleware-user-agent-3.379.1" = {
       name = "_at_aws-sdk_slash_middleware-user-agent";
       packageName = "@aws-sdk/middleware-user-agent";
-      version = "3.370.0";
+      version = "3.379.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.370.0.tgz";
-        sha512 = "2+3SB6MtMAq1+gVXhw0Y3ONXuljorh6ijnxgTpv+uQnBW5jHCUiAS8WDYiDEm7i9euJPbvJfM8WUrSMDMU6Cog==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.379.1.tgz";
+        sha512 = "4zIGeAIuutcRieAvovs82uBNhJBHuxfxaAUqrKiw49xUBG7xeNVUl+DYPSpbALbEIy4ujfwWCBOOWVCt6dyUZg==";
+      };
+    };
+    "@aws-sdk/middleware-user-agent-3.382.0" = {
+      name = "_at_aws-sdk_slash_middleware-user-agent";
+      packageName = "@aws-sdk/middleware-user-agent";
+      version = "3.382.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.382.0.tgz";
+        sha512 = "LFRW1jmXOrOAd3911ktn6oaYmuurNnulbdRMOUdwz99GGdLVFipQhOi9idKswb8IOhPa4jEVQt25Kcv7ctvu0A==";
       };
     };
     "@aws-sdk/node-config-provider-3.296.0" = {
@@ -1192,13 +1255,13 @@ let
         sha512 = "nLNZKVQfK42euv7101cE5qfg17YCtGcfccx3B5XSAzvyTROR46kwYqbEvYSsWisbZoRhbQc905gB/5E0U5HDIw==";
       };
     };
-    "@aws-sdk/s3-presigned-post-3.373.0" = {
+    "@aws-sdk/s3-presigned-post-3.379.1" = {
       name = "_at_aws-sdk_slash_s3-presigned-post";
       packageName = "@aws-sdk/s3-presigned-post";
-      version = "3.373.0";
+      version = "3.379.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/s3-presigned-post/-/s3-presigned-post-3.373.0.tgz";
-        sha512 = "fkScIj6ubusQggPVVJSakEX7da74ajUHWLUB+JobKkkK6bkQYYV/VFDpYQsFTEwF0861vq9k/pKNsm1Q8o+HWA==";
+        url = "https://registry.npmjs.org/@aws-sdk/s3-presigned-post/-/s3-presigned-post-3.379.1.tgz";
+        sha512 = "EFToAaAIW0bhV7QFEVwddpRjNuulmwJfgJyn2aNt36exETBBRRkeJrIxjOY6QevIwMCCEoq+RIYEPkV+llijoQ==";
       };
     };
     "@aws-sdk/s3-request-presigner-3.296.0" = {
@@ -1210,13 +1273,13 @@ let
         sha512 = "BQv+oNA5EzJymrfh7cnMun/ougmTX3eo6bGCWn/bQdL1LyxodeVdRZacD5tN+lAUYtjhQ7yS23ozYh0lvWNEXw==";
       };
     };
-    "@aws-sdk/s3-request-presigner-3.373.0" = {
+    "@aws-sdk/s3-request-presigner-3.379.1" = {
       name = "_at_aws-sdk_slash_s3-request-presigner";
       packageName = "@aws-sdk/s3-request-presigner";
-      version = "3.373.0";
+      version = "3.379.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/s3-request-presigner/-/s3-request-presigner-3.373.0.tgz";
-        sha512 = "5z0Hqzf01+L2Bxbg38A4ZRzyIhLGrwbmRkLRyqOm5hhPJQ6VDbGCtjpYQ95cTnYidJqmkRy8bhyBIcnaVfUaMw==";
+        url = "https://registry.npmjs.org/@aws-sdk/s3-request-presigner/-/s3-request-presigner-3.379.1.tgz";
+        sha512 = "99wY7+UzptKZIUo5VTfkkfowLt/K7eLE1MXGCsIfKZmHF756F86ZAy0CRZ1OPaAXOQI2uUbhwwBqLyQY6NbfPg==";
       };
     };
     "@aws-sdk/service-error-classification-3.296.0" = {
@@ -1246,13 +1309,13 @@ let
         sha512 = "NQyJ/FClty4VmF1WoV4rOkbN0Unn0zevzy8iJrYhqxE3Sc7lySM4Btnsd4Iqelm2dR6l+jNRApGgD8NvoGjGig==";
       };
     };
-    "@aws-sdk/signature-v4-crt-3.370.0" = {
+    "@aws-sdk/signature-v4-crt-3.378.0" = {
       name = "_at_aws-sdk_slash_signature-v4-crt";
       packageName = "@aws-sdk/signature-v4-crt";
-      version = "3.370.0";
+      version = "3.378.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/signature-v4-crt/-/signature-v4-crt-3.370.0.tgz";
-        sha512 = "hdIztGY/cMALEaftqvxw0gMbqgunLJMqIMGVG6flXt2FxNhERbuoJAUG7HuxPdFwkxdb9gvNeoLD/fQ9jqYmIA==";
+        url = "https://registry.npmjs.org/@aws-sdk/signature-v4-crt/-/signature-v4-crt-3.378.0.tgz";
+        sha512 = "+7ZnoHT4EuyfkJUAovAicRhHztACkApe/1i7e3PfxMhqexy+hAk/Z/b58iXFnVCRecNmRy/cESets/SdjbUepA==";
       };
     };
     "@aws-sdk/signature-v4-multi-region-3.296.0" = {
@@ -1264,13 +1327,13 @@ let
         sha512 = "BNMXS0YJEgflPhO2KxXG4f0iTMOGdyxslDMNGmMWGGQm6bbwtqZ7Y9ZyMQYKfzk3GUPpfGQcaaSNiGfURPOCOg==";
       };
     };
-    "@aws-sdk/signature-v4-multi-region-3.370.0" = {
+    "@aws-sdk/signature-v4-multi-region-3.378.0" = {
       name = "_at_aws-sdk_slash_signature-v4-multi-region";
       packageName = "@aws-sdk/signature-v4-multi-region";
-      version = "3.370.0";
+      version = "3.378.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.370.0.tgz";
-        sha512 = "Q3NQopPDnHbJXMhtYl0Mfy5U2o76K6tzhdnYRcrYImY0ze/zOkCQI7KPC4588PuyvAXCdQ02cmCPPjYD55UeNg==";
+        url = "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.378.0.tgz";
+        sha512 = "gtuABS7EeYZQeNzTrabY3Ruv4wWmoz4u8OMSGl47gYPDWA70WYEZ0aoi4zSGuKhXiqtVvTsO9wGEMIInwV5phQ==";
       };
     };
     "@aws-sdk/smithy-client-3.296.0" = {
@@ -1291,13 +1354,22 @@ let
         sha512 = "yC1ku7A5S+o/CLlgbgDB2bx8+Wq43qj8xfohmTuIhpiP2m/NyUiRVv6S6ARONLI6bVeo1T2/BFk5Q9DfE2xzAQ==";
       };
     };
-    "@aws-sdk/token-providers-3.370.0" = {
+    "@aws-sdk/token-providers-3.379.1" = {
+      name = "_at_aws-sdk_slash_token-providers";
+      packageName = "@aws-sdk/token-providers";
+      version = "3.379.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.379.1.tgz";
+        sha512 = "NlYPkArJ7A/txCrjqqkje+4hsv7pSOqm+Qdx3BUIOc7PRYrBVs/XwThxUkGceSntVXoNlO8g9DFL0NY53/wb8Q==";
+      };
+    };
+    "@aws-sdk/token-providers-3.382.0" = {
       name = "_at_aws-sdk_slash_token-providers";
       packageName = "@aws-sdk/token-providers";
-      version = "3.370.0";
+      version = "3.382.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.370.0.tgz";
-        sha512 = "EyR2ZYr+lJeRiZU2/eLR+mlYU9RXLQvNyGFSAekJKgN13Rpq/h0syzXVFLP/RSod/oZenh/fhVZ2HwlZxuGBtQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.382.0.tgz";
+        sha512 = "axn4IyPpHdkXi8G06KCB3tPz79DipZFFH9N9YVDpLMnDYTdfX36HGdYzINaQc+z+XPbEpa1ZpoIzWScHRjFjdg==";
       };
     };
     "@aws-sdk/types-3.296.0" = {
@@ -1309,13 +1381,13 @@ let
         sha512 = "s0wIac64rrMEo2ioUxP9IarGiiCGmelCspNcoNTPSjGl25QqjhyfQqTeGgS58qJ4fHoQb07qra39930xp1IzJg==";
       };
     };
-    "@aws-sdk/types-3.370.0" = {
+    "@aws-sdk/types-3.378.0" = {
       name = "_at_aws-sdk_slash_types";
       packageName = "@aws-sdk/types";
-      version = "3.370.0";
+      version = "3.378.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/types/-/types-3.370.0.tgz";
-        sha512 = "8PGMKklSkRKjunFhzM2y5Jm0H2TBu7YRNISdYzXLUHKSP9zlMEYagseKVdmox0zKHf1LXVNuSlUV2b6SRrieCQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/types/-/types-3.378.0.tgz";
+        sha512 = "qP0CvR/ItgktmN8YXpGQglzzR/6s0nrsQ4zIfx3HMwpsBTwuouYahcCtF1Vr82P4NFcoDA412EJahJ2pIqEd+w==";
       };
     };
     "@aws-sdk/url-parser-3.296.0" = {
@@ -1381,15 +1453,6 @@ let
         sha512 = "5ezVEITQnrQKn+CU9qfZHgRp2nrrbX0Clmlm9aiNjAEQEPHY33tWl0t6n8h8yU+IpGiNRMWBVC4aSJaE5NA1mA==";
       };
     };
-    "@aws-sdk/util-buffer-from-3.310.0" = {
-      name = "_at_aws-sdk_slash_util-buffer-from";
-      packageName = "@aws-sdk/util-buffer-from";
-      version = "3.310.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-buffer-from/-/util-buffer-from-3.310.0.tgz";
-        sha512 = "i6LVeXFtGih5Zs8enLrt+ExXY92QV25jtEnTKHsmlFqFAuL3VBeod6boeMXkN2p9lbSVVQ1sAOOYZOHYbYkntw==";
-      };
-    };
     "@aws-sdk/util-config-provider-3.295.0" = {
       name = "_at_aws-sdk_slash_util-config-provider";
       packageName = "@aws-sdk/util-config-provider";
@@ -1435,13 +1498,22 @@ let
         sha512 = "YraGGLJepXM6HCTaqEGTFf8RFRBdJ0C6uG5k0kVhiXmYxBkeupn8J07CVp9jfWqcPYWElAnMGVEZKU1OjRo4HQ==";
       };
     };
-    "@aws-sdk/util-endpoints-3.370.0" = {
+    "@aws-sdk/util-endpoints-3.378.0" = {
+      name = "_at_aws-sdk_slash_util-endpoints";
+      packageName = "@aws-sdk/util-endpoints";
+      version = "3.378.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.378.0.tgz";
+        sha512 = "NU5C2l2xAXxpyB5nT0fIhahLPlJoJdzHWw4uC53KH9b4PrjHtgvgCN8beIsD3QxyfgeoM4A5J9Auo6WurfRnLw==";
+      };
+    };
+    "@aws-sdk/util-endpoints-3.382.0" = {
       name = "_at_aws-sdk_slash_util-endpoints";
       packageName = "@aws-sdk/util-endpoints";
-      version = "3.370.0";
+      version = "3.382.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.370.0.tgz";
-        sha512 = "5ltVAnM79nRlywwzZN5i8Jp4tk245OCGkKwwXbnDU+gq7zT3CIOsct1wNZvmpfZEPGt/bv7/NyRcjP+7XNsX/g==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.382.0.tgz";
+        sha512 = "flajPyjmjNG67fXk7l4GoTB/7J11VBqtFZXuuAZKhKU07Ia3IQupsFqNf5lV8D44ZgjnKH0fTGnv3dUALjW7Wg==";
       };
     };
     "@aws-sdk/util-format-url-3.296.0" = {
@@ -1453,13 +1525,13 @@ let
         sha512 = "CcYECzkUAnHL5q3uyPicafn2OY0GiklIYfuOUHPZ/4FMxIesd1BnCDDRjTlFxLWjuNuiihIdwB7Qb1pDzxc3Iw==";
       };
     };
-    "@aws-sdk/util-format-url-3.370.0" = {
+    "@aws-sdk/util-format-url-3.378.0" = {
       name = "_at_aws-sdk_slash_util-format-url";
       packageName = "@aws-sdk/util-format-url";
-      version = "3.370.0";
+      version = "3.378.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-format-url/-/util-format-url-3.370.0.tgz";
-        sha512 = "6ik8UTT5hNlMnATrqWiQWnIZ0EFW8wVsRGyYUYw/geB3lQ+WAWflpJg+gZiJnc5EY4R0aOzRVm02W8EUeH8f5g==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-format-url/-/util-format-url-3.378.0.tgz";
+        sha512 = "CtW2HnCq08ildVD7B5OPn1zOxBAMBjkDxqzOcLw3Rk9F6OKuMM9hawulU62tMtouJPC0QSS6eLoNOrYGch5ehQ==";
       };
     };
     "@aws-sdk/util-hex-encoding-3.295.0" = {
@@ -1534,13 +1606,13 @@ let
         sha512 = "MGGG+09VkF0N+8KEht8NNE6Q7bqmddgqLkUbvzSky0y18UPEZyq9LTC4JZtzDDOzf/swgbq2IQ/5wtB81iouog==";
       };
     };
-    "@aws-sdk/util-user-agent-browser-3.370.0" = {
+    "@aws-sdk/util-user-agent-browser-3.378.0" = {
       name = "_at_aws-sdk_slash_util-user-agent-browser";
       packageName = "@aws-sdk/util-user-agent-browser";
-      version = "3.370.0";
+      version = "3.378.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.370.0.tgz";
-        sha512 = "028LxYZMQ0DANKhW+AKFQslkScZUeYlPmSphrCIXgdIItRZh6ZJHGzE7J/jDsEntZOrZJsjI4z0zZ5W2idj04w==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.378.0.tgz";
+        sha512 = "FSCpagzftK1W+m7Ar6lpX7/Gr9y5P56nhFYz8U4EYQ4PkufS6czWX9YW+/FA5OYV0vlQ/SvPqMnzoHIPUNhZrQ==";
       };
     };
     "@aws-sdk/util-user-agent-node-3.296.0" = {
@@ -1552,13 +1624,13 @@ let
         sha512 = "AMWac8aIBnaa9nxAEpZ752j29a/UQTViRfR5gnCX38ECBKGfOQMpgYnee5HdlMr4GHJj0WkOzQxBtInW4pV58g==";
       };
     };
-    "@aws-sdk/util-user-agent-node-3.370.0" = {
+    "@aws-sdk/util-user-agent-node-3.378.0" = {
       name = "_at_aws-sdk_slash_util-user-agent-node";
       packageName = "@aws-sdk/util-user-agent-node";
-      version = "3.370.0";
+      version = "3.378.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.370.0.tgz";
-        sha512 = "33vxZUp8vxTT/DGYIR3PivQm07sSRGWI+4fCv63Rt7Q++fO24E0kQtmVAlikRY810I10poD6rwILVtITtFSzkg==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.378.0.tgz";
+        sha512 = "IdwVJV0E96MkJeFte4dlWqvB+oiqCiZ5lOlheY3W9NynTuuX0GGYNC8Y9yIsV8Oava1+ujpJq0ww6qXdYxmO4A==";
       };
     };
     "@aws-sdk/util-utf8-3.295.0" = {
@@ -1570,15 +1642,6 @@ let
         sha512 = "ITN8v3F63ZkA4sdmCtSbS/mhav4F0MEAiXDAUXtMJLNqVtaVcyQST4i9vNmPpIVthAPAtP0QjyF2tq/Di8bxtQ==";
       };
     };
-    "@aws-sdk/util-utf8-3.310.0" = {
-      name = "_at_aws-sdk_slash_util-utf8";
-      packageName = "@aws-sdk/util-utf8";
-      version = "3.310.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-utf8/-/util-utf8-3.310.0.tgz";
-        sha512 = "DnLfFT8uCO22uOJc0pt0DsSNau1GTisngBCDw8jQuWT5CqogMJu4b/uXmwEqfj8B3GX6Xsz8zOd6JpRlPftQoA==";
-      };
-    };
     "@aws-sdk/util-utf8-browser-3.259.0" = {
       name = "_at_aws-sdk_slash_util-utf8-browser";
       packageName = "@aws-sdk/util-utf8-browser";
@@ -1669,13 +1732,13 @@ let
         sha512 = "Z4dfbglV9kNZO177CNx4bo5ekFuYwwsvjLiKdZI4r84bYGv3irrbQz7JC3/rUfFH2l4T/W6OFleJaa2X0IaQqw==";
       };
     };
-    "@azure/core-lro-2.5.3" = {
+    "@azure/core-lro-2.5.4" = {
       name = "_at_azure_slash_core-lro";
       packageName = "@azure/core-lro";
-      version = "2.5.3";
+      version = "2.5.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@azure/core-lro/-/core-lro-2.5.3.tgz";
-        sha512 = "ubkOf2YCnVtq7KqEJQqAI8dDD5rH1M6OP5kW0KO/JQyTaxLA0N0pjFWvvaysCj9eHMNBcuuoZXhhl0ypjod2DA==";
+        url = "https://registry.npmjs.org/@azure/core-lro/-/core-lro-2.5.4.tgz";
+        sha512 = "3GJiMVH7/10bulzOKGrrLeG/uCBH/9VtxqaMcB9lIqAeamI/xYQSHJL/KcsLDuH+yTjYpro/u6D/MuRe4dN70Q==";
       };
     };
     "@azure/core-paging-1.5.0" = {
@@ -1921,13 +1984,13 @@ let
         sha512 = "+svjVa/tFwsNSG4NEy1h85+HQ5imbT92Q5/bgtS7P0GTQlP8WuFdqsiABmQouhiFGyV66oGxZFpeYHza1rNsKw==";
       };
     };
-    "@babel/helper-define-polyfill-provider-0.4.1" = {
+    "@babel/helper-define-polyfill-provider-0.4.2" = {
       name = "_at_babel_slash_helper-define-polyfill-provider";
       packageName = "@babel/helper-define-polyfill-provider";
-      version = "0.4.1";
+      version = "0.4.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.1.tgz";
-        sha512 = "kX4oXixDxG197yhX+J3Wp+NpL2wuCFjWQAr6yX2jtCnflK9ulMI51ULFGIrWiX1jGfvAxdHp+XQCcP2bZGPs9A==";
+        url = "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.2.tgz";
+        sha512 = "k0qnnOqHn5dK9pZpfD5XXZ9SojAITdCKRn2Lp6rnDGzIbaP0rHyMPk/4wsSxVBVz4RfN0q6VpXWP2pDGIoQ7hw==";
       };
     };
     "@babel/helper-environment-visitor-7.22.5" = {
@@ -2200,15 +2263,6 @@ let
         sha512 = "UCe1X/hplyv6A5g2WnQ90tnHRvYL29dabCWww92lO7VdfMVTVReBTRrhiMrKQejHD9oVkdnRdwYuzUZkBVQisg==";
       };
     };
-    "@babel/plugin-proposal-export-namespace-from-7.18.9" = {
-      name = "_at_babel_slash_plugin-proposal-export-namespace-from";
-      packageName = "@babel/plugin-proposal-export-namespace-from";
-      version = "7.18.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz";
-        sha512 = "k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==";
-      };
-    };
     "@babel/plugin-proposal-json-strings-7.18.6" = {
       name = "_at_babel_slash_plugin-proposal-json-strings";
       packageName = "@babel/plugin-proposal-json-strings";
@@ -2227,15 +2281,6 @@ let
         sha512 = "wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==";
       };
     };
-    "@babel/plugin-proposal-numeric-separator-7.18.6" = {
-      name = "_at_babel_slash_plugin-proposal-numeric-separator";
-      packageName = "@babel/plugin-proposal-numeric-separator";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz";
-        sha512 = "ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==";
-      };
-    };
     "@babel/plugin-proposal-object-rest-spread-7.0.0" = {
       name = "_at_babel_slash_plugin-proposal-object-rest-spread";
       packageName = "@babel/plugin-proposal-object-rest-spread";
@@ -3064,13 +3109,13 @@ let
         sha512 = "ta2qZ+LSiGCrP5pgcGt8xMnnkXQrq8Sa4Ulhy06BOlF5QbLw9q5hIx7bn5MrsvyTGAfh6kTOo07Q+Pfld/8Y5Q==";
       };
     };
-    "@babel/preset-modules-0.1.5" = {
+    "@babel/preset-modules-0.1.6" = {
       name = "_at_babel_slash_preset-modules";
       packageName = "@babel/preset-modules";
-      version = "0.1.5";
+      version = "0.1.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz";
-        sha512 = "A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==";
+        url = "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6.tgz";
+        sha512 = "ID2yj6K/4lKfhuU3+EX4UvNbIt7eACFbHmNUjzA+ep+B5971CknnA/9DEWKbRokfbbtblxxxXFJJrH47UEAMVg==";
       };
     };
     "@babel/preset-react-7.0.0" = {
@@ -3253,13 +3298,13 @@ let
         sha512 = "yzZ6OK0W7frfoCqvl0s3KeVUUB22wYs74Qu3Y+VGgvW7yvq5m0M82RZQWghKdtLyQejc4469QlmhQsJmCF7ULg==";
       };
     };
-    "@braintree/sanitize-url-6.0.2" = {
+    "@braintree/sanitize-url-6.0.3" = {
       name = "_at_braintree_slash_sanitize-url";
       packageName = "@braintree/sanitize-url";
-      version = "6.0.2";
+      version = "6.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@braintree/sanitize-url/-/sanitize-url-6.0.2.tgz";
-        sha512 = "Tbsj02wXCbqGmzdnXNk0SOF19ChhRU70BsroIi4Pm6Ehp56in6vch94mfbdQ17DozxkL3BAVjbZ4Qc1a0HFRAg==";
+        url = "https://registry.npmjs.org/@braintree/sanitize-url/-/sanitize-url-6.0.3.tgz";
+        sha512 = "g2hMyGSFYOvt0eeY2c2wrG1B6dVWF1be4vGxG9mI1BEHJuQm4Hie2HrooxYHBDRDi8hANIzQ8cuvBgxSVlQOTQ==";
       };
     };
     "@bugsnag/browser-7.20.2" = {
@@ -3316,40 +3361,40 @@ let
         sha512 = "htzFO1Zc57S8kgdRK9mLcPVTW1BY2ijfH7Dk2CeZmspTWKdKqSo1iwmqrq2WtRjFlo8aRZYgLX0wFrDXF/9DLA==";
       };
     };
-    "@cdktf/cli-core-0.17.1" = {
+    "@cdktf/cli-core-0.17.3" = {
       name = "_at_cdktf_slash_cli-core";
       packageName = "@cdktf/cli-core";
-      version = "0.17.1";
+      version = "0.17.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cdktf/cli-core/-/cli-core-0.17.1.tgz";
-        sha512 = "PlcRLTpbhJB4ELNFjDROi2xduEI/0GeXd/0NzCW5c+luycSK5DNH2XJ0TG/qDa3G+6AKOhX5A1ac10vugmyl6w==";
+        url = "https://registry.npmjs.org/@cdktf/cli-core/-/cli-core-0.17.3.tgz";
+        sha512 = "KgsibdYAB5MuC0wM2143kiKj/jUsAuCOTRzHfIakIUVd6xsLIOxMdWCTOPbPhmcUPr0SHatFnjKD/d7y1A5Bow==";
       };
     };
-    "@cdktf/commons-0.17.1" = {
+    "@cdktf/commons-0.17.3" = {
       name = "_at_cdktf_slash_commons";
       packageName = "@cdktf/commons";
-      version = "0.17.1";
+      version = "0.17.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cdktf/commons/-/commons-0.17.1.tgz";
-        sha512 = "AXNMYlu3RXSZUHdMxR1EsOiMfemqVrBy27G70rJkfz4OjA4IqxITzyDF3imnmagLwMgL9yOgF35RyEDzIUPVrw==";
+        url = "https://registry.npmjs.org/@cdktf/commons/-/commons-0.17.3.tgz";
+        sha512 = "5TZpuxjfYvmf1iXoel5HWz06Sf+5VYmZF/HeBmf03uHIAgDYJZZoyFp4wwH4lzT6pjr1uYBbyX49HTkLlmDbxQ==";
       };
     };
-    "@cdktf/hcl2cdk-0.17.1" = {
+    "@cdktf/hcl2cdk-0.17.3" = {
       name = "_at_cdktf_slash_hcl2cdk";
       packageName = "@cdktf/hcl2cdk";
-      version = "0.17.1";
+      version = "0.17.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cdktf/hcl2cdk/-/hcl2cdk-0.17.1.tgz";
-        sha512 = "89nf+/Or2jvQthTTDsza2R6uF1j6Y5TjaDz0bwY9La1QjH3wcyk9GJxniz2BYDf1UqdRugdcaVOkJjq54Fepxw==";
+        url = "https://registry.npmjs.org/@cdktf/hcl2cdk/-/hcl2cdk-0.17.3.tgz";
+        sha512 = "T49ptQ2L5c80hO8XSLESjHq5ILfXQsceK7oK6LFheOidvCFyQPH4EsKUGUazqiqB0/Loab4+tsp/ou2L2BMc6Q==";
       };
     };
-    "@cdktf/hcl2json-0.17.1" = {
+    "@cdktf/hcl2json-0.17.3" = {
       name = "_at_cdktf_slash_hcl2json";
       packageName = "@cdktf/hcl2json";
-      version = "0.17.1";
+      version = "0.17.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cdktf/hcl2json/-/hcl2json-0.17.1.tgz";
-        sha512 = "nOAuJe22FKzBlNJhKRHHTH8Pst2kNEJ18IIL4T2Tfde9EMayyBcGmQ4rsEu4tj0+EuUkryKSkLmwdzPrJS+aaQ==";
+        url = "https://registry.npmjs.org/@cdktf/hcl2json/-/hcl2json-0.17.3.tgz";
+        sha512 = "lczep0P2adwv08bf3mF1ScKyAD/Y502QVxGrYm8+E+3cl11qtFVblFJXRcAS288Opnqz1X0ekN4YCmkPawETbg==";
       };
     };
     "@cdktf/node-pty-prebuilt-multiarch-0.10.1-pre.10" = {
@@ -3361,13 +3406,13 @@ let
         sha512 = "5ysQrHJvqYLYg407KvaDNu+xx68ZGaqeF0SohXe5e4yNqJhPFPUQ536rkReQcPc2yZiF5PDmmvf5T9MOacHpSQ==";
       };
     };
-    "@cdktf/provider-generator-0.17.1" = {
+    "@cdktf/provider-generator-0.17.3" = {
       name = "_at_cdktf_slash_provider-generator";
       packageName = "@cdktf/provider-generator";
-      version = "0.17.1";
+      version = "0.17.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cdktf/provider-generator/-/provider-generator-0.17.1.tgz";
-        sha512 = "STOlAZXGMVEcsRkx5bZhmhiLfiEB16ztwpTQBWVdXVyVHejgU/i/Xrbl4e/id6K5AG+mZTDHKnKucx+UCOHr+A==";
+        url = "https://registry.npmjs.org/@cdktf/provider-generator/-/provider-generator-0.17.3.tgz";
+        sha512 = "HXzLVmn2Y+1OuoRkhIhUy8A3EikgnZUcuNHgyt0Z7+uUQ6qf0082iF5v7qrRbs+sZ7UvKyLIgy+bch+ZkskVpg==";
       };
     };
     "@chemzqm/msgpack-lite-0.1.29" = {
@@ -3397,49 +3442,49 @@ let
         sha512 = "MVbXLbTcAotOPUj0pAMhVtJ+3/kFkwJqc5qNOleOZTv6QkZZABDMS21dSrSlVswEHwrpWC03e4fWytjqKvuE2A==";
       };
     };
-    "@cloudflare/workerd-darwin-64-1.20230717.0" = {
+    "@cloudflare/workerd-darwin-64-1.20230724.0" = {
       name = "_at_cloudflare_slash_workerd-darwin-64";
       packageName = "@cloudflare/workerd-darwin-64";
-      version = "1.20230717.0";
+      version = "1.20230724.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cloudflare/workerd-darwin-64/-/workerd-darwin-64-1.20230717.0.tgz";
-        sha512 = "NVwwAYEIJmXGnQRnrCig2i4XAYFwPPFD+324fvQGWqUyfvBXKDYF3Jkw92ZginwdojYU1W+2l2qP7t6JE9Sw0g==";
+        url = "https://registry.npmjs.org/@cloudflare/workerd-darwin-64/-/workerd-darwin-64-1.20230724.0.tgz";
+        sha512 = "DQmFZWHhs8waQFYRb/Z8QmbitAvBMXnbUMUentp+3lS4eCYI0/iurTaQDiz5+ldUn9FTxD+1XuYZlTHzVNxoHw==";
       };
     };
-    "@cloudflare/workerd-darwin-arm64-1.20230717.0" = {
+    "@cloudflare/workerd-darwin-arm64-1.20230724.0" = {
       name = "_at_cloudflare_slash_workerd-darwin-arm64";
       packageName = "@cloudflare/workerd-darwin-arm64";
-      version = "1.20230717.0";
+      version = "1.20230724.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cloudflare/workerd-darwin-arm64/-/workerd-darwin-arm64-1.20230717.0.tgz";
-        sha512 = "toK0AadC35j0AiaXPYUq7yrAwPJR+5GLLXOXguHq5DHPqzzgD5pB9e4zlIKD+b09FAAEB6lO/k/eJSMYF/lfzA==";
+        url = "https://registry.npmjs.org/@cloudflare/workerd-darwin-arm64/-/workerd-darwin-arm64-1.20230724.0.tgz";
+        sha512 = "C7T0v/lMjEX7c4iROSZKgIF1eGw3+sj/gFpBD6xwxfbIcrKBjncMypeLQNpRTCdBQr1W3sNpg9jagwuVX5ByZQ==";
       };
     };
-    "@cloudflare/workerd-linux-64-1.20230717.0" = {
+    "@cloudflare/workerd-linux-64-1.20230724.0" = {
       name = "_at_cloudflare_slash_workerd-linux-64";
       packageName = "@cloudflare/workerd-linux-64";
-      version = "1.20230717.0";
+      version = "1.20230724.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cloudflare/workerd-linux-64/-/workerd-linux-64-1.20230717.0.tgz";
-        sha512 = "nxpfVzMkNLNa4hOvZ+Y7JHY13UkRf7or5tcQCRtfJ5sEhtCVGdfsOosQGnzw9G+045JUk0EKEY+gqNPRnt5u2w==";
+        url = "https://registry.npmjs.org/@cloudflare/workerd-linux-64/-/workerd-linux-64-1.20230724.0.tgz";
+        sha512 = "o0F/hj73UXOQwkPkYqZuIxpjG8gAs2eoAGqxX1HSIYRf7iUhfFcPrupwjqlNqf7Oo1h46M+sClSFjr/ZU/LCjg==";
       };
     };
-    "@cloudflare/workerd-linux-arm64-1.20230717.0" = {
+    "@cloudflare/workerd-linux-arm64-1.20230724.0" = {
       name = "_at_cloudflare_slash_workerd-linux-arm64";
       packageName = "@cloudflare/workerd-linux-arm64";
-      version = "1.20230717.0";
+      version = "1.20230724.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cloudflare/workerd-linux-arm64/-/workerd-linux-arm64-1.20230717.0.tgz";
-        sha512 = "jWVSJmOP0bMJ23xNONqP5x6TEDS9h/4nr0d0gULMpkfh6W9qNZNLpF8urNanXOqTM9p6rX55aBvzXsHs8Jctqw==";
+        url = "https://registry.npmjs.org/@cloudflare/workerd-linux-arm64/-/workerd-linux-arm64-1.20230724.0.tgz";
+        sha512 = "UpzCoo7LOuPWxFPw84TZQTPIawIDQNSb3XnC6ffMjUH/FVwHmHdngIFZxW+xjLHKMIzGNAqSn3eRHekKgO3QqA==";
       };
     };
-    "@cloudflare/workerd-windows-64-1.20230717.0" = {
+    "@cloudflare/workerd-windows-64-1.20230724.0" = {
       name = "_at_cloudflare_slash_workerd-windows-64";
       packageName = "@cloudflare/workerd-windows-64";
-      version = "1.20230717.0";
+      version = "1.20230724.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cloudflare/workerd-windows-64/-/workerd-windows-64-1.20230717.0.tgz";
-        sha512 = "y9Ys8j22LMHaMdy31OyaV7Qz1Xca8MhzpBlpX4Ay6saECXYP1DZHHwtcW8pBqBU2zyGfEkErBQhyH130SSHFJg==";
+        url = "https://registry.npmjs.org/@cloudflare/workerd-windows-64/-/workerd-windows-64-1.20230724.0.tgz";
+        sha512 = "wVpPNu19fnvgsD8V6NiGPSuET0bzKmgn3wJ6RwAwQA+GQ0hdDIDVYd13aImhgO6jLfQvkduCDxeZluGZ7PPojQ==";
       };
     };
     "@colors/colors-1.5.0" = {
@@ -3874,13 +3919,13 @@ let
         sha512 = "UPwR4rfiJCxnS+Py+EK9E4AUj3aPZE4p/yBRSHN+5aBQConlI0lLDtMceH5wlupA/sQTU1ERZGPJA9L96jVSyQ==";
       };
     };
-    "@cspell/dict-en_us-4.3.5" = {
+    "@cspell/dict-en_us-4.3.6" = {
       name = "_at_cspell_slash_dict-en_us";
       packageName = "@cspell/dict-en_us";
-      version = "4.3.5";
+      version = "4.3.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/dict-en_us/-/dict-en_us-4.3.5.tgz";
-        sha512 = "el9L7zSaYy0fT1ZXi3xuygtiyMZMZPZJYaIzKu/0hGUWVWvUmf8JZ13tDHrCPTl0e3ct1GWEDgJerrvUlti6Cg==";
+        url = "https://registry.npmjs.org/@cspell/dict-en_us/-/dict-en_us-4.3.6.tgz";
+        sha512 = "odhgsjNZI9BtEOJdvqfAuv/3yz5aB1ngfBNaph7WSnYVt//9e3fhrElZ6/pIIkoyuGgeQPwz1fXt+tMgcnLSEQ==";
       };
     };
     "@cspell/dict-filetypes-1.1.8" = {
@@ -4198,13 +4243,13 @@ let
         sha512 = "KuyOQaby9NID/pn7EkXilpUxjVIvvyLzhr7BPsDS6FcvUE8Yhss6bJowEDHSv6pa+W2387phoqbDf2rTicquAA==";
       };
     };
-    "@cspell/dict-python-4.1.2" = {
+    "@cspell/dict-python-4.1.4" = {
       name = "_at_cspell_slash_dict-python";
       packageName = "@cspell/dict-python";
-      version = "4.1.2";
+      version = "4.1.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/dict-python/-/dict-python-4.1.2.tgz";
-        sha512 = "Whcn4K8R0Ux/hcx/P9Fbx6i29GwTaXgT3LTt95AuCnV5RRLrzsqoyZkz851hcg5z4kjUQVMduDl3HECGgW/FNw==";
+        url = "https://registry.npmjs.org/@cspell/dict-python/-/dict-python-4.1.4.tgz";
+        sha512 = "4JJ6MjIyuZN4h2VkSxZxiQ55lVh6NccW/0H6rdu0aDz+E3uyFVFtlBp5kTY5jIA11PZqSZZpyowzGnwrJX6w0g==";
       };
     };
     "@cspell/dict-r-2.0.1" = {
@@ -4369,31 +4414,31 @@ let
         sha512 = "IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==";
       };
     };
-    "@csstools/css-parser-algorithms-2.3.0" = {
+    "@csstools/css-parser-algorithms-2.3.1" = {
       name = "_at_csstools_slash_css-parser-algorithms";
       packageName = "@csstools/css-parser-algorithms";
-      version = "2.3.0";
+      version = "2.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.3.0.tgz";
-        sha512 = "dTKSIHHWc0zPvcS5cqGP+/TPFUJB0ekJ9dGKvMAFoNuBFhDPBt9OMGNZiIA5vTiNdGHHBeScYPXIGBMnVOahsA==";
+        url = "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.3.1.tgz";
+        sha512 = "xrvsmVUtefWMWQsGgFffqWSK03pZ1vfDki4IVIIUxxDKnGBzqNgv0A7SB1oXtVNEkcVO8xi1ZrTL29HhSu5kGA==";
       };
     };
-    "@csstools/css-tokenizer-2.1.1" = {
+    "@csstools/css-tokenizer-2.2.0" = {
       name = "_at_csstools_slash_css-tokenizer";
       packageName = "@csstools/css-tokenizer";
-      version = "2.1.1";
+      version = "2.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-2.1.1.tgz";
-        sha512 = "GbrTj2Z8MCTUv+52GE0RbFGM527xuXZ0Xa5g0Z+YN573uveS4G0qi6WNOMyz3yrFM/jaILTTwJ0+umx81EzqfA==";
+        url = "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-2.2.0.tgz";
+        sha512 = "wErmsWCbsmig8sQKkM6pFhr/oPha1bHfvxsUY5CYSQxwyhA9Ulrs8EqCgClhg4Tgg2XapVstGqSVcz0xOYizZA==";
       };
     };
-    "@csstools/media-query-list-parser-2.1.2" = {
+    "@csstools/media-query-list-parser-2.1.3" = {
       name = "_at_csstools_slash_media-query-list-parser";
       packageName = "@csstools/media-query-list-parser";
-      version = "2.1.2";
+      version = "2.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-2.1.2.tgz";
-        sha512 = "M8cFGGwl866o6++vIY7j1AKuq9v57cf+dGepScwCcbut9ypJNr4Cj+LLTWligYUZ0uyhEoJDKt5lvyBfh2L3ZQ==";
+        url = "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-2.1.3.tgz";
+        sha512 = "ATul1u+pic4aVpstgueqxEv4MsObEbszAxfTXpx9LHaeD3LAh+wFqdCteyegWmjk0k5rkSCAvIOaJe9U3DD09w==";
       };
     };
     "@csstools/selector-specificity-3.0.0" = {
@@ -4774,15 +4819,6 @@ let
         sha512 = "IqRuJtQff7YHHBk4G8YZ45uB9BaAGcwQeVzgj/zj8/UdOhtQpEIupUhSk8dys6spFIWVZVeK20CzGEnqR5SbqA==";
       };
     };
-    "@emotion/hash-0.9.1" = {
-      name = "_at_emotion_slash_hash";
-      packageName = "@emotion/hash";
-      version = "0.9.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.1.tgz";
-        sha512 = "gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ==";
-      };
-    };
     "@emotion/is-prop-valid-1.2.1" = {
       name = "_at_emotion_slash_is-prop-valid";
       packageName = "@emotion/is-prop-valid";
@@ -4855,24 +4891,6 @@ let
         sha512 = "mueuEoh+s1eRbSJqq9KNBQwI4QhQV6sRXIfTyLXSHGMpyew61rOK4qY21uKbXl1iBoMb0AdL1deWFCQVlN2qHA==";
       };
     };
-    "@esbuild/android-arm-0.17.6" = {
-      name = "_at_esbuild_slash_android-arm";
-      packageName = "@esbuild/android-arm";
-      version = "0.17.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.6.tgz";
-        sha512 = "bSC9YVUjADDy1gae8RrioINU6e1lCkg3VGVwm0QQ2E1CWcC4gnMce9+B6RpxuSsrsXsk1yojn7sp1fnG8erE2g==";
-      };
-    };
-    "@esbuild/android-arm-0.18.14" = {
-      name = "_at_esbuild_slash_android-arm";
-      packageName = "@esbuild/android-arm";
-      version = "0.18.14";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.14.tgz";
-        sha512 = "blODaaL+lngG5bdK/t4qZcQvq2BBqrABmYwqPPcS5VRxrCSGHb9R/rA3fqxh7R18I7WU4KKv+NYkt22FDfalcg==";
-      };
-    };
     "@esbuild/android-arm64-0.16.3" = {
       name = "_at_esbuild_slash_android-arm64";
       packageName = "@esbuild/android-arm64";
@@ -4882,24 +4900,6 @@ let
         sha512 = "RolFVeinkeraDvN/OoRf1F/lP0KUfGNb5jxy/vkIMeRRChkrX/HTYN6TYZosRJs3a1+8wqpxAo5PI5hFmxyPRg==";
       };
     };
-    "@esbuild/android-arm64-0.17.6" = {
-      name = "_at_esbuild_slash_android-arm64";
-      packageName = "@esbuild/android-arm64";
-      version = "0.17.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.17.6.tgz";
-        sha512 = "YnYSCceN/dUzUr5kdtUzB+wZprCafuD89Hs0Aqv9QSdwhYQybhXTaSTcrl6X/aWThn1a/j0eEpUBGOE7269REg==";
-      };
-    };
-    "@esbuild/android-arm64-0.18.14" = {
-      name = "_at_esbuild_slash_android-arm64";
-      packageName = "@esbuild/android-arm64";
-      version = "0.18.14";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.14.tgz";
-        sha512 = "rZ2v+Luba5/3D6l8kofWgTnqE+qsC/L5MleKIKFyllHTKHrNBMqeRCnZI1BtRx8B24xMYxeU32iIddRQqMsOsg==";
-      };
-    };
     "@esbuild/android-x64-0.16.3" = {
       name = "_at_esbuild_slash_android-x64";
       packageName = "@esbuild/android-x64";
@@ -4909,24 +4909,6 @@ let
         sha512 = "SFpTUcIT1bIJuCCBMCQWq1bL2gPTjWoLZdjmIhjdcQHaUfV41OQfho6Ici5uvvkMmZRXIUGpM3GxysP/EU7ifQ==";
       };
     };
-    "@esbuild/android-x64-0.17.6" = {
-      name = "_at_esbuild_slash_android-x64";
-      packageName = "@esbuild/android-x64";
-      version = "0.17.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.17.6.tgz";
-        sha512 = "MVcYcgSO7pfu/x34uX9u2QIZHmXAB7dEiLQC5bBl5Ryqtpj9lT2sg3gNDEsrPEmimSJW2FXIaxqSQ501YLDsZQ==";
-      };
-    };
-    "@esbuild/android-x64-0.18.14" = {
-      name = "_at_esbuild_slash_android-x64";
-      packageName = "@esbuild/android-x64";
-      version = "0.18.14";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.14.tgz";
-        sha512 = "qSwh8y38QKl+1Iqg+YhvCVYlSk3dVLk9N88VO71U4FUjtiSFylMWK3Ugr8GC6eTkkP4Tc83dVppt2n8vIdlSGg==";
-      };
-    };
     "@esbuild/darwin-arm64-0.16.3" = {
       name = "_at_esbuild_slash_darwin-arm64";
       packageName = "@esbuild/darwin-arm64";
@@ -4936,24 +4918,6 @@ let
         sha512 = "DO8WykMyB+N9mIDfI/Hug70Dk1KipavlGAecxS3jDUwAbTpDXj0Lcwzw9svkhxfpCagDmpaTMgxWK8/C/XcXvw==";
       };
     };
-    "@esbuild/darwin-arm64-0.17.6" = {
-      name = "_at_esbuild_slash_darwin-arm64";
-      packageName = "@esbuild/darwin-arm64";
-      version = "0.17.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.6.tgz";
-        sha512 = "bsDRvlbKMQMt6Wl08nHtFz++yoZHsyTOxnjfB2Q95gato+Yi4WnRl13oC2/PJJA9yLCoRv9gqT/EYX0/zDsyMA==";
-      };
-    };
-    "@esbuild/darwin-arm64-0.18.14" = {
-      name = "_at_esbuild_slash_darwin-arm64";
-      packageName = "@esbuild/darwin-arm64";
-      version = "0.18.14";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.14.tgz";
-        sha512 = "9Hl2D2PBeDYZiNbnRKRWuxwHa9v5ssWBBjisXFkVcSP5cZqzZRFBUWEQuqBHO4+PKx4q4wgHoWtfQ1S7rUqJ2Q==";
-      };
-    };
     "@esbuild/darwin-x64-0.16.3" = {
       name = "_at_esbuild_slash_darwin-x64";
       packageName = "@esbuild/darwin-x64";
@@ -4963,24 +4927,6 @@ let
         sha512 = "uEqZQ2omc6BvWqdCiyZ5+XmxuHEi1SPzpVxXCSSV2+Sh7sbXbpeNhHIeFrIpRjAs0lI1FmA1iIOxFozKBhKgRQ==";
       };
     };
-    "@esbuild/darwin-x64-0.17.6" = {
-      name = "_at_esbuild_slash_darwin-x64";
-      packageName = "@esbuild/darwin-x64";
-      version = "0.17.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.17.6.tgz";
-        sha512 = "xh2A5oPrYRfMFz74QXIQTQo8uA+hYzGWJFoeTE8EvoZGHb+idyV4ATaukaUvnnxJiauhs/fPx3vYhU4wiGfosg==";
-      };
-    };
-    "@esbuild/darwin-x64-0.18.14" = {
-      name = "_at_esbuild_slash_darwin-x64";
-      packageName = "@esbuild/darwin-x64";
-      version = "0.18.14";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.14.tgz";
-        sha512 = "ZnI3Dg4ElQ6tlv82qLc/UNHtFsgZSKZ7KjsUNAo1BF1SoYDjkGKHJyCrYyWjFecmXpvvG/KJ9A/oe0H12odPLQ==";
-      };
-    };
     "@esbuild/freebsd-arm64-0.16.3" = {
       name = "_at_esbuild_slash_freebsd-arm64";
       packageName = "@esbuild/freebsd-arm64";
@@ -4990,24 +4936,6 @@ let
         sha512 = "nJansp3sSXakNkOD5i5mIz2Is/HjzIhFs49b1tjrPrpCmwgBmH9SSzhC/Z1UqlkivqMYkhfPwMw1dGFUuwmXhw==";
       };
     };
-    "@esbuild/freebsd-arm64-0.17.6" = {
-      name = "_at_esbuild_slash_freebsd-arm64";
-      packageName = "@esbuild/freebsd-arm64";
-      version = "0.17.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.6.tgz";
-        sha512 = "EnUwjRc1inT4ccZh4pB3v1cIhohE2S4YXlt1OvI7sw/+pD+dIE4smwekZlEPIwY6PhU6oDWwITrQQm5S2/iZgg==";
-      };
-    };
-    "@esbuild/freebsd-arm64-0.18.14" = {
-      name = "_at_esbuild_slash_freebsd-arm64";
-      packageName = "@esbuild/freebsd-arm64";
-      version = "0.18.14";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.14.tgz";
-        sha512 = "h3OqR80Da4oQCIa37zl8tU5MwHQ7qgPV0oVScPfKJK21fSRZEhLE4IIVpmcOxfAVmqjU6NDxcxhYaM8aDIGRLw==";
-      };
-    };
     "@esbuild/freebsd-x64-0.16.3" = {
       name = "_at_esbuild_slash_freebsd-x64";
       packageName = "@esbuild/freebsd-x64";
@@ -5017,24 +4945,6 @@ let
         sha512 = "TfoDzLw+QHfc4a8aKtGSQ96Wa+6eimljjkq9HKR0rHlU83vw8aldMOUSJTUDxbcUdcgnJzPaX8/vGWm7vyV7ug==";
       };
     };
-    "@esbuild/freebsd-x64-0.17.6" = {
-      name = "_at_esbuild_slash_freebsd-x64";
-      packageName = "@esbuild/freebsd-x64";
-      version = "0.17.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.17.6.tgz";
-        sha512 = "Uh3HLWGzH6FwpviUcLMKPCbZUAFzv67Wj5MTwK6jn89b576SR2IbEp+tqUHTr8DIl0iDmBAf51MVaP7pw6PY5Q==";
-      };
-    };
-    "@esbuild/freebsd-x64-0.18.14" = {
-      name = "_at_esbuild_slash_freebsd-x64";
-      packageName = "@esbuild/freebsd-x64";
-      version = "0.18.14";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.14.tgz";
-        sha512 = "ha4BX+S6CZG4BoH9tOZTrFIYC1DH13UTCRHzFc3GWX74nz3h/N6MPF3tuR3XlsNjMFUazGgm35MPW5tHkn2lzQ==";
-      };
-    };
     "@esbuild/linux-arm-0.16.3" = {
       name = "_at_esbuild_slash_linux-arm";
       packageName = "@esbuild/linux-arm";
@@ -5044,24 +4954,6 @@ let
         sha512 = "VwswmSYwVAAq6LysV59Fyqk3UIjbhuc6wb3vEcJ7HEJUtFuLK9uXWuFoH1lulEbE4+5GjtHi3MHX+w1gNHdOWQ==";
       };
     };
-    "@esbuild/linux-arm-0.17.6" = {
-      name = "_at_esbuild_slash_linux-arm";
-      packageName = "@esbuild/linux-arm";
-      version = "0.17.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.17.6.tgz";
-        sha512 = "7YdGiurNt7lqO0Bf/U9/arrPWPqdPqcV6JCZda4LZgEn+PTQ5SMEI4MGR52Bfn3+d6bNEGcWFzlIxiQdS48YUw==";
-      };
-    };
-    "@esbuild/linux-arm-0.18.14" = {
-      name = "_at_esbuild_slash_linux-arm";
-      packageName = "@esbuild/linux-arm";
-      version = "0.18.14";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.14.tgz";
-        sha512 = "5+7vehI1iqru5WRtJyU2XvTOvTGURw3OZxe3YTdE9muNNIdmKAVmSHpB3Vw2LazJk2ifEdIMt/wTWnVe5V98Kg==";
-      };
-    };
     "@esbuild/linux-arm64-0.16.3" = {
       name = "_at_esbuild_slash_linux-arm64";
       packageName = "@esbuild/linux-arm64";
@@ -5071,24 +4963,6 @@ let
         sha512 = "7I3RlsnxEFCHVZNBLb2w7unamgZ5sVwO0/ikE2GaYvYuUQs9Qte/w7TqWcXHtCwxvZx/2+F97ndiUQAWs47ZfQ==";
       };
     };
-    "@esbuild/linux-arm64-0.17.6" = {
-      name = "_at_esbuild_slash_linux-arm64";
-      packageName = "@esbuild/linux-arm64";
-      version = "0.17.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.6.tgz";
-        sha512 = "bUR58IFOMJX523aDVozswnlp5yry7+0cRLCXDsxnUeQYJik1DukMY+apBsLOZJblpH+K7ox7YrKrHmJoWqVR9w==";
-      };
-    };
-    "@esbuild/linux-arm64-0.18.14" = {
-      name = "_at_esbuild_slash_linux-arm64";
-      packageName = "@esbuild/linux-arm64";
-      version = "0.18.14";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.14.tgz";
-        sha512 = "IXORRe22In7U65NZCzjwAUc03nn8SDIzWCnfzJ6t/8AvGx5zBkcLfknI+0P+hhuftufJBmIXxdSTbzWc8X/V4w==";
-      };
-    };
     "@esbuild/linux-ia32-0.16.3" = {
       name = "_at_esbuild_slash_linux-ia32";
       packageName = "@esbuild/linux-ia32";
@@ -5098,24 +4972,6 @@ let
         sha512 = "X8FDDxM9cqda2rJE+iblQhIMYY49LfvW4kaEjoFbTTQ4Go8G96Smj2w3BRTwA8IHGoi9dPOPGAX63dhuv19UqA==";
       };
     };
-    "@esbuild/linux-ia32-0.17.6" = {
-      name = "_at_esbuild_slash_linux-ia32";
-      packageName = "@esbuild/linux-ia32";
-      version = "0.17.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.17.6.tgz";
-        sha512 = "ujp8uoQCM9FRcbDfkqECoARsLnLfCUhKARTP56TFPog8ie9JG83D5GVKjQ6yVrEVdMie1djH86fm98eY3quQkQ==";
-      };
-    };
-    "@esbuild/linux-ia32-0.18.14" = {
-      name = "_at_esbuild_slash_linux-ia32";
-      packageName = "@esbuild/linux-ia32";
-      version = "0.18.14";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.14.tgz";
-        sha512 = "BfHlMa0nibwpjG+VXbOoqJDmFde4UK2gnW351SQ2Zd4t1N3zNdmUEqRkw/srC1Sa1DRBE88Dbwg4JgWCbNz/FQ==";
-      };
-    };
     "@esbuild/linux-loong64-0.15.18" = {
       name = "_at_esbuild_slash_linux-loong64";
       packageName = "@esbuild/linux-loong64";
@@ -5134,24 +4990,6 @@ let
         sha512 = "hIbeejCOyO0X9ujfIIOKjBjNAs9XD/YdJ9JXAy1lHA+8UXuOqbFe4ErMCqMr8dhlMGBuvcQYGF7+kO7waj2KHw==";
       };
     };
-    "@esbuild/linux-loong64-0.17.6" = {
-      name = "_at_esbuild_slash_linux-loong64";
-      packageName = "@esbuild/linux-loong64";
-      version = "0.17.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.17.6.tgz";
-        sha512 = "y2NX1+X/Nt+izj9bLoiaYB9YXT/LoaQFYvCkVD77G/4F+/yuVXYCWz4SE9yr5CBMbOxOfBcy/xFL4LlOeNlzYQ==";
-      };
-    };
-    "@esbuild/linux-loong64-0.18.14" = {
-      name = "_at_esbuild_slash_linux-loong64";
-      packageName = "@esbuild/linux-loong64";
-      version = "0.18.14";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.14.tgz";
-        sha512 = "j2/Ex++DRUWIAaUDprXd3JevzGtZ4/d7VKz+AYDoHZ3HjJzCyYBub9CU1wwIXN+viOP0b4VR3RhGClsvyt/xSw==";
-      };
-    };
     "@esbuild/linux-mips64el-0.16.3" = {
       name = "_at_esbuild_slash_linux-mips64el";
       packageName = "@esbuild/linux-mips64el";
@@ -5161,24 +4999,6 @@ let
         sha512 = "znFRzICT/V8VZQMt6rjb21MtAVJv/3dmKRMlohlShrbVXdBuOdDrGb+C2cZGQAR8RFyRe7HS6klmHq103WpmVw==";
       };
     };
-    "@esbuild/linux-mips64el-0.17.6" = {
-      name = "_at_esbuild_slash_linux-mips64el";
-      packageName = "@esbuild/linux-mips64el";
-      version = "0.17.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.17.6.tgz";
-        sha512 = "09AXKB1HDOzXD+j3FdXCiL/MWmZP0Ex9eR8DLMBVcHorrWJxWmY8Nms2Nm41iRM64WVx7bA/JVHMv081iP2kUA==";
-      };
-    };
-    "@esbuild/linux-mips64el-0.18.14" = {
-      name = "_at_esbuild_slash_linux-mips64el";
-      packageName = "@esbuild/linux-mips64el";
-      version = "0.18.14";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.14.tgz";
-        sha512 = "qn2+nc+ZCrJmiicoAnJXJJkZWt8Nwswgu1crY7N+PBR8ChBHh89XRxj38UU6Dkthl2yCVO9jWuafZ24muzDC/A==";
-      };
-    };
     "@esbuild/linux-ppc64-0.16.3" = {
       name = "_at_esbuild_slash_linux-ppc64";
       packageName = "@esbuild/linux-ppc64";
@@ -5188,24 +5008,6 @@ let
         sha512 = "EV7LuEybxhXrVTDpbqWF2yehYRNz5e5p+u3oQUS2+ZFpknyi1NXxr8URk4ykR8Efm7iu04//4sBg249yNOwy5Q==";
       };
     };
-    "@esbuild/linux-ppc64-0.17.6" = {
-      name = "_at_esbuild_slash_linux-ppc64";
-      packageName = "@esbuild/linux-ppc64";
-      version = "0.17.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.17.6.tgz";
-        sha512 = "AmLhMzkM8JuqTIOhxnX4ubh0XWJIznEynRnZAVdA2mMKE6FAfwT2TWKTwdqMG+qEaeyDPtfNoZRpJbD4ZBv0Tg==";
-      };
-    };
-    "@esbuild/linux-ppc64-0.18.14" = {
-      name = "_at_esbuild_slash_linux-ppc64";
-      packageName = "@esbuild/linux-ppc64";
-      version = "0.18.14";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.14.tgz";
-        sha512 = "aGzXzd+djqeEC5IRkDKt3kWzvXoXC6K6GyYKxd+wsFJ2VQYnOWE954qV2tvy5/aaNrmgPTb52cSCHFE+Z7Z0yg==";
-      };
-    };
     "@esbuild/linux-riscv64-0.16.3" = {
       name = "_at_esbuild_slash_linux-riscv64";
       packageName = "@esbuild/linux-riscv64";
@@ -5215,24 +5017,6 @@ let
         sha512 = "uDxqFOcLzFIJ+r/pkTTSE9lsCEaV/Y6rMlQjUI9BkzASEChYL/aSQjZjchtEmdnVxDKETnUAmsaZ4pqK1eE5BQ==";
       };
     };
-    "@esbuild/linux-riscv64-0.17.6" = {
-      name = "_at_esbuild_slash_linux-riscv64";
-      packageName = "@esbuild/linux-riscv64";
-      version = "0.17.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.17.6.tgz";
-        sha512 = "Y4Ri62PfavhLQhFbqucysHOmRamlTVK10zPWlqjNbj2XMea+BOs4w6ASKwQwAiqf9ZqcY9Ab7NOU4wIgpxwoSQ==";
-      };
-    };
-    "@esbuild/linux-riscv64-0.18.14" = {
-      name = "_at_esbuild_slash_linux-riscv64";
-      packageName = "@esbuild/linux-riscv64";
-      version = "0.18.14";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.14.tgz";
-        sha512 = "8C6vWbfr0ygbAiMFLS6OPz0BHvApkT2gCboOGV76YrYw+sD/MQJzyITNsjZWDXJwPu9tjrFQOVG7zijRzBCnLw==";
-      };
-    };
     "@esbuild/linux-s390x-0.16.3" = {
       name = "_at_esbuild_slash_linux-s390x";
       packageName = "@esbuild/linux-s390x";
@@ -5242,24 +5026,6 @@ let
         sha512 = "NbeREhzSxYwFhnCAQOQZmajsPYtX71Ufej3IQ8W2Gxskfz9DK58ENEju4SbpIj48VenktRASC52N5Fhyf/aliQ==";
       };
     };
-    "@esbuild/linux-s390x-0.17.6" = {
-      name = "_at_esbuild_slash_linux-s390x";
-      packageName = "@esbuild/linux-s390x";
-      version = "0.17.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.17.6.tgz";
-        sha512 = "SPUiz4fDbnNEm3JSdUW8pBJ/vkop3M1YwZAVwvdwlFLoJwKEZ9L98l3tzeyMzq27CyepDQ3Qgoba44StgbiN5Q==";
-      };
-    };
-    "@esbuild/linux-s390x-0.18.14" = {
-      name = "_at_esbuild_slash_linux-s390x";
-      packageName = "@esbuild/linux-s390x";
-      version = "0.18.14";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.14.tgz";
-        sha512 = "G/Lf9iu8sRMM60OVGOh94ZW2nIStksEcITkXdkD09/T6QFD/o+g0+9WVyR/jajIb3A0LvBJ670tBnGe1GgXMgw==";
-      };
-    };
     "@esbuild/linux-x64-0.16.3" = {
       name = "_at_esbuild_slash_linux-x64";
       packageName = "@esbuild/linux-x64";
@@ -5269,24 +5035,6 @@ let
         sha512 = "SDiG0nCixYO9JgpehoKgScwic7vXXndfasjnD5DLbp1xltANzqZ425l7LSdHynt19UWOcDjG9wJJzSElsPvk0w==";
       };
     };
-    "@esbuild/linux-x64-0.17.6" = {
-      name = "_at_esbuild_slash_linux-x64";
-      packageName = "@esbuild/linux-x64";
-      version = "0.17.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.6.tgz";
-        sha512 = "a3yHLmOodHrzuNgdpB7peFGPx1iJ2x6m+uDvhP2CKdr2CwOaqEFMeSqYAHU7hG+RjCq8r2NFujcd/YsEsFgTGw==";
-      };
-    };
-    "@esbuild/linux-x64-0.18.14" = {
-      name = "_at_esbuild_slash_linux-x64";
-      packageName = "@esbuild/linux-x64";
-      version = "0.18.14";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.14.tgz";
-        sha512 = "TBgStYBQaa3EGhgqIDM+ECnkreb0wkcKqL7H6m+XPcGUoU4dO7dqewfbm0mWEQYH3kzFHrzjOFNpSAVzDZRSJw==";
-      };
-    };
     "@esbuild/netbsd-x64-0.16.3" = {
       name = "_at_esbuild_slash_netbsd-x64";
       packageName = "@esbuild/netbsd-x64";
@@ -5296,24 +5044,6 @@ let
         sha512 = "AzbsJqiHEq1I/tUvOfAzCY15h4/7Ivp3ff/o1GpP16n48JMNAtbW0qui2WCgoIZArEHD0SUQ95gvR0oSO7ZbdA==";
       };
     };
-    "@esbuild/netbsd-x64-0.17.6" = {
-      name = "_at_esbuild_slash_netbsd-x64";
-      packageName = "@esbuild/netbsd-x64";
-      version = "0.17.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.17.6.tgz";
-        sha512 = "EanJqcU/4uZIBreTrnbnre2DXgXSa+Gjap7ifRfllpmyAU7YMvaXmljdArptTHmjrkkKm9BK6GH5D5Yo+p6y5A==";
-      };
-    };
-    "@esbuild/netbsd-x64-0.18.14" = {
-      name = "_at_esbuild_slash_netbsd-x64";
-      packageName = "@esbuild/netbsd-x64";
-      version = "0.18.14";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.14.tgz";
-        sha512 = "stvCcjyCQR2lMTroqNhAbvROqRjxPEq0oQ380YdXxA81TaRJEucH/PzJ/qsEtsHgXlWFW6Ryr/X15vxQiyRXVg==";
-      };
-    };
     "@esbuild/openbsd-x64-0.16.3" = {
       name = "_at_esbuild_slash_openbsd-x64";
       packageName = "@esbuild/openbsd-x64";
@@ -5323,24 +5053,6 @@ let
         sha512 = "gSABi8qHl8k3Cbi/4toAzHiykuBuWLZs43JomTcXkjMZVkp0gj3gg9mO+9HJW/8GB5H89RX/V0QP4JGL7YEEVg==";
       };
     };
-    "@esbuild/openbsd-x64-0.17.6" = {
-      name = "_at_esbuild_slash_openbsd-x64";
-      packageName = "@esbuild/openbsd-x64";
-      version = "0.17.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.17.6.tgz";
-        sha512 = "xaxeSunhQRsTNGFanoOkkLtnmMn5QbA0qBhNet/XLVsc+OVkpIWPHcr3zTW2gxVU5YOHFbIHR9ODuaUdNza2Vw==";
-      };
-    };
-    "@esbuild/openbsd-x64-0.18.14" = {
-      name = "_at_esbuild_slash_openbsd-x64";
-      packageName = "@esbuild/openbsd-x64";
-      version = "0.18.14";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.14.tgz";
-        sha512 = "apAOJF14CIsN5ht1PA57PboEMsNV70j3FUdxLmA2liZ20gEQnfTG5QU0FhENo5nwbTqCB2O3WDsXAihfODjHYw==";
-      };
-    };
     "@esbuild/sunos-x64-0.16.3" = {
       name = "_at_esbuild_slash_sunos-x64";
       packageName = "@esbuild/sunos-x64";
@@ -5350,24 +5062,6 @@ let
         sha512 = "SF9Kch5Ete4reovvRO6yNjMxrvlfT0F0Flm+NPoUw5Z4Q3r1d23LFTgaLwm3Cp0iGbrU/MoUI+ZqwCv5XJijCw==";
       };
     };
-    "@esbuild/sunos-x64-0.17.6" = {
-      name = "_at_esbuild_slash_sunos-x64";
-      packageName = "@esbuild/sunos-x64";
-      version = "0.17.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.17.6.tgz";
-        sha512 = "gnMnMPg5pfMkZvhHee21KbKdc6W3GR8/JuE0Da1kjwpK6oiFU3nqfHuVPgUX2rsOx9N2SadSQTIYV1CIjYG+xw==";
-      };
-    };
-    "@esbuild/sunos-x64-0.18.14" = {
-      name = "_at_esbuild_slash_sunos-x64";
-      packageName = "@esbuild/sunos-x64";
-      version = "0.18.14";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.14.tgz";
-        sha512 = "fYRaaS8mDgZcGybPn2MQbn1ZNZx+UXFSUoS5Hd2oEnlsyUcr/l3c6RnXf1bLDRKKdLRSabTmyCy7VLQ7VhGdOQ==";
-      };
-    };
     "@esbuild/win32-arm64-0.16.3" = {
       name = "_at_esbuild_slash_win32-arm64";
       packageName = "@esbuild/win32-arm64";
@@ -5377,24 +5071,6 @@ let
         sha512 = "u5aBonZIyGopAZyOnoPAA6fGsDeHByZ9CnEzyML9NqntK6D/xl5jteZUKm/p6nD09+v3pTM6TuUIqSPcChk5gg==";
       };
     };
-    "@esbuild/win32-arm64-0.17.6" = {
-      name = "_at_esbuild_slash_win32-arm64";
-      packageName = "@esbuild/win32-arm64";
-      version = "0.17.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.17.6.tgz";
-        sha512 = "G95n7vP1UnGJPsVdKXllAJPtqjMvFYbN20e8RK8LVLhlTiSOH1sd7+Gt7rm70xiG+I5tM58nYgwWrLs6I1jHqg==";
-      };
-    };
-    "@esbuild/win32-arm64-0.18.14" = {
-      name = "_at_esbuild_slash_win32-arm64";
-      packageName = "@esbuild/win32-arm64";
-      version = "0.18.14";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.14.tgz";
-        sha512 = "1c44RcxKEJPrVj62XdmYhxXaU/V7auELCmnD+Ri+UCt+AGxTvzxl9uauQhrFso8gj6ZV1DaORV0sT9XSHOAk8Q==";
-      };
-    };
     "@esbuild/win32-ia32-0.16.3" = {
       name = "_at_esbuild_slash_win32-ia32";
       packageName = "@esbuild/win32-ia32";
@@ -5404,24 +5080,6 @@ let
         sha512 = "GlgVq1WpvOEhNioh74TKelwla9KDuAaLZrdxuuUgsP2vayxeLgVc+rbpIv0IYF4+tlIzq2vRhofV+KGLD+37EQ==";
       };
     };
-    "@esbuild/win32-ia32-0.17.6" = {
-      name = "_at_esbuild_slash_win32-ia32";
-      packageName = "@esbuild/win32-ia32";
-      version = "0.17.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.17.6.tgz";
-        sha512 = "96yEFzLhq5bv9jJo5JhTs1gI+1cKQ83cUpyxHuGqXVwQtY5Eq54ZEsKs8veKtiKwlrNimtckHEkj4mRh4pPjsg==";
-      };
-    };
-    "@esbuild/win32-ia32-0.18.14" = {
-      name = "_at_esbuild_slash_win32-ia32";
-      packageName = "@esbuild/win32-ia32";
-      version = "0.18.14";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.14.tgz";
-        sha512 = "EXAFttrdAxZkFQmpvcAQ2bywlWUsONp/9c2lcfvPUhu8vXBBenCXpoq9YkUvVP639ld3YGiYx0YUQ6/VQz3Maw==";
-      };
-    };
     "@esbuild/win32-x64-0.16.3" = {
       name = "_at_esbuild_slash_win32-x64";
       packageName = "@esbuild/win32-x64";
@@ -5431,24 +5089,6 @@ let
         sha512 = "5/JuTd8OWW8UzEtyf19fbrtMJENza+C9JoPIkvItgTBQ1FO2ZLvjbPO6Xs54vk0s5JB5QsfieUEshRQfu7ZHow==";
       };
     };
-    "@esbuild/win32-x64-0.17.6" = {
-      name = "_at_esbuild_slash_win32-x64";
-      packageName = "@esbuild/win32-x64";
-      version = "0.17.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.6.tgz";
-        sha512 = "n6d8MOyUrNp6G4VSpRcgjs5xj4A91svJSaiwLIDWVWEsZtpN5FA9NlBbZHDmAJc2e8e6SF4tkBD3HAvPF+7igA==";
-      };
-    };
-    "@esbuild/win32-x64-0.18.14" = {
-      name = "_at_esbuild_slash_win32-x64";
-      packageName = "@esbuild/win32-x64";
-      version = "0.18.14";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.14.tgz";
-        sha512 = "K0QjGbcskx+gY+qp3v4/940qg8JitpXbdxFhRDA1aYoNaPff88+aEwoq45aqJ+ogpxQxmU0ZTjgnrQD/w8iiUg==";
-      };
-    };
     "@eslint-community/eslint-utils-4.4.0" = {
       name = "_at_eslint-community_slash_eslint-utils";
       packageName = "@eslint-community/eslint-utils";
@@ -5458,13 +5098,13 @@ let
         sha512 = "1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==";
       };
     };
-    "@eslint-community/regexpp-4.5.1" = {
+    "@eslint-community/regexpp-4.6.2" = {
       name = "_at_eslint-community_slash_regexpp";
       packageName = "@eslint-community/regexpp";
-      version = "4.5.1";
+      version = "4.6.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.1.tgz";
-        sha512 = "Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==";
+        url = "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.6.2.tgz";
+        sha512 = "pPTNuaAG3QMH+buKyBIGJs3g/S5y0caxw0ygM3YyE6yJFySwiGGSzA+mM3KJ8QQvzeLh3blwgSonkFjgQdxzMw==";
       };
     };
     "@eslint/eslintrc-0.4.3" = {
@@ -5476,13 +5116,13 @@ let
         sha512 = "J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==";
       };
     };
-    "@eslint/eslintrc-2.1.0" = {
+    "@eslint/eslintrc-2.1.1" = {
       name = "_at_eslint_slash_eslintrc";
       packageName = "@eslint/eslintrc";
-      version = "2.1.0";
+      version = "2.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.0.tgz";
-        sha512 = "Lj7DECXqIVCqnqjjHMPna4vn6GJcMgul/wuS0je9OZ9gsL0zzDpKPVtcG1HaDVc+9y+qgXneTeUMbCqXJNpH1A==";
+        url = "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.1.tgz";
+        sha512 = "9t7ZA7NGGK8ckelF0PQCfcxIUzs1Md5rrO6U/c+FIQNanea5UZC0wqKXH4vHBccmu4ZJgZ2idtPeW7+Q2npOEA==";
       };
     };
     "@eslint/js-8.36.0" = {
@@ -5494,13 +5134,13 @@ let
         sha512 = "lxJ9R5ygVm8ZWgYdUweoq5ownDlJ4upvoWmO4eLxBYHdMo+vZ/Rx0EN6MbKWDJOSUGrqJy2Gt+Dyv/VKml0fjg==";
       };
     };
-    "@eslint/js-8.44.0" = {
+    "@eslint/js-8.46.0" = {
       name = "_at_eslint_slash_js";
       packageName = "@eslint/js";
-      version = "8.44.0";
+      version = "8.46.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@eslint/js/-/js-8.44.0.tgz";
-        sha512 = "Ag+9YM4ocKQx9AarydN0KY2j0ErMHNIocPDrVo8zAE44xLTjEtz81OdR68/cydGtk6m6jDb5Za3r2useMzYmSw==";
+        url = "https://registry.npmjs.org/@eslint/js/-/js-8.46.0.tgz";
+        sha512 = "a8TLtmPi8xzPkCbp/OGFUo5yhRkHM2Ko9kOWP4znJr0WAhWyThaw3PnwX4vOTWOAMsV2uRt32PPDcEz63esSaA==";
       };
     };
     "@esm2cjs/cacheable-lookup-7.0.0" = {
@@ -5548,13 +5188,13 @@ let
         sha512 = "BuqNhUgDz7pZffEwVXRXhRNb6l46CCu17knfUW7juP6H5ugqFFrLOcNiVjt66h4HjsHA0V5NKR7udA7kziqhoQ==";
       };
     };
-    "@esm2cjs/is-5.5.2" = {
+    "@esm2cjs/is-5.6.0" = {
       name = "_at_esm2cjs_slash_is";
       packageName = "@esm2cjs/is";
-      version = "5.5.2";
+      version = "5.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@esm2cjs/is/-/is-5.5.2.tgz";
-        sha512 = "8aCJIcAFH5UzZx7I65b1HY0asHlhepTsKZiLXBL9Q3CI6PD6Bo3PHLKrC86Nn29UlKtRcyTrHtMfnWlBjx83UQ==";
+        url = "https://registry.npmjs.org/@esm2cjs/is/-/is-5.6.0.tgz";
+        sha512 = "r0j/f9mRDfhegzmZw9zw2k76Igv8jBdpd/Dy/+W2B+uZ0iVPggA3h4rkAcvNKyVeD/7YAfaMORuncBprZ/hLRA==";
       };
     };
     "@esm2cjs/lowercase-keys-3.0.0" = {
@@ -5629,13 +5269,13 @@ let
         sha512 = "OU5P5mJyD3OoWYMWY+yIgwvgNS9cFAU10f+DDuvtogcWQOoJIsQ4Hy2McSfUfhKjq8L0FuWVb4Rt7kgA+XK86A==";
       };
     };
-    "@exodus/schemasafe-1.0.1" = {
+    "@exodus/schemasafe-1.1.1" = {
       name = "_at_exodus_slash_schemasafe";
       packageName = "@exodus/schemasafe";
-      version = "1.0.1";
+      version = "1.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@exodus/schemasafe/-/schemasafe-1.0.1.tgz";
-        sha512 = "PQdbF8dGd4LnbwBlcc4ML8RKYdplm+e9sUeWBTr4zgF13/Shiuov9XznvM4T8cb1CfyKK21yTUkuAIIh/DAH/g==";
+        url = "https://registry.npmjs.org/@exodus/schemasafe/-/schemasafe-1.1.1.tgz";
+        sha512 = "Pd7+aGvWIaTDL5ecV4ZBEtBrjXnk8/ly5xyHbikxVhgcq7qhihzHWHbcYmFupQBT2A5ggNZGvT7Bpj0M6AKHjA==";
       };
     };
     "@expo/apple-utils-1.0.0" = {
@@ -5800,13 +5440,13 @@ let
         sha512 = "Q0i3GposBj/b2OPL0CV00HczawtslorNpoJSBQfB4aNR6i7DBIZZ1jWJtrFP8+zHZqlUi4d21aoblNUrKpgBew==";
       };
     };
-    "@expo/eas-json-3.15.1" = {
+    "@expo/eas-json-3.17.0" = {
       name = "_at_expo_slash_eas-json";
       packageName = "@expo/eas-json";
-      version = "3.15.1";
+      version = "3.17.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/eas-json/-/eas-json-3.15.1.tgz";
-        sha512 = "sUISgfbQN6kjf+0DB9LDNQsfzedxPh5ioKLmuy+NuslJZM+PrczxOpGX7djcN2SBK7XWDu/ZnWnBB3Cn01D2UQ==";
+        url = "https://registry.npmjs.org/@expo/eas-json/-/eas-json-3.17.0.tgz";
+        sha512 = "5Wae3BeXtU4hQrblcjRbxcitTgxKONPDUfAp1CtMUZw4WPRglA66XRfCo8XJRwWPa3tj+F06g1ZKcU+AN0ZZZQ==";
       };
     };
     "@expo/image-utils-0.3.21" = {
@@ -6052,13 +5692,13 @@ let
         sha512 = "sqPAjOEFTrjaTybrh9SnPFLInDXcoMC06psEFmH68jLTmoipSQCq8GCEfIoHhxRDALWB+DsiwXJSbXlE/iVIIQ==";
       };
     };
-    "@expo/steps-1.0.25" = {
+    "@expo/steps-1.0.28" = {
       name = "_at_expo_slash_steps";
       packageName = "@expo/steps";
-      version = "1.0.25";
+      version = "1.0.28";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/steps/-/steps-1.0.25.tgz";
-        sha512 = "MBtJ/3+T5qvXxmnOVlfapKlKQsxPUyKoEUaA6lLbpmm8yCcXJEblnmQP/2ZokAG78IWjsYl5E02Ei/AnrIxB9g==";
+        url = "https://registry.npmjs.org/@expo/steps/-/steps-1.0.28.tgz";
+        sha512 = "HyYzc9b6oftTGLoH73RD2ZK/h0dbC0aSezazcf1yvvhfHJpVQrpI0wZ3DHXEJocVSNGykH+RUHmoORVknkFJFA==";
       };
     };
     "@expo/timeago.js-1.0.0" = {
@@ -6133,13 +5773,13 @@ let
         sha512 = "5D2qVpZrgpjtqU4eNOcWGp1gnUCgjfM+vKGE2y03kKN6z5EBhtx0qdRFbg8QuNNj8wXNoX93KJoYb+NqoxswmQ==";
       };
     };
-    "@forge/api-2.18.2" = {
+    "@forge/api-2.18.3" = {
       name = "_at_forge_slash_api";
       packageName = "@forge/api";
-      version = "2.18.2";
+      version = "2.18.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@forge/api/-/api-2.18.2.tgz";
-        sha512 = "kZnFJKQ2n9rkTgYXitJoraC550of4HdHuzg3VEHWCDg8x+XWfAEtja/LyzkObCvgy0X5L6vPNo1tTFQ7VqF60Q==";
+        url = "https://registry.npmjs.org/@forge/api/-/api-2.18.3.tgz";
+        sha512 = "SGv665h93tM3TwssIcDmmXYjsXXMTzDbzYCEr1bTVEKuFeop88yp+usl5AF1DdeU3XZq5lBjK1mIN2kmuQBcVA==";
       };
     };
     "@forge/auth-0.0.3" = {
@@ -6151,76 +5791,76 @@ let
         sha512 = "C0x3ciLGFDPKoLpNRi/8JHw3xupgGAVenYKBKeeb2gxvD2IbixquqISCImKFFEOypaYOl13wHPV86QbC80ia1A==";
       };
     };
-    "@forge/babel-plugin-transform-ui-1.1.4" = {
+    "@forge/babel-plugin-transform-ui-1.1.5" = {
       name = "_at_forge_slash_babel-plugin-transform-ui";
       packageName = "@forge/babel-plugin-transform-ui";
-      version = "1.1.4";
+      version = "1.1.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@forge/babel-plugin-transform-ui/-/babel-plugin-transform-ui-1.1.4.tgz";
-        sha512 = "ghxMamjFM2gTEKuQbTlwKRPEZFJX3QoxRjactGbXn+AyyfmkoZxSkQEvJeZ/yLFUwM7yqgWTYBSrl//LANCj5g==";
+        url = "https://registry.npmjs.org/@forge/babel-plugin-transform-ui/-/babel-plugin-transform-ui-1.1.5.tgz";
+        sha512 = "C/7wuVzyjcp4/5Fbfke7DJO2B9ljUAYuCA0C71CwnchRfzZ2weunhV8zdioOOMEamxtyu91BHhqOwRq0pyLUAw==";
       };
     };
-    "@forge/bundler-4.10.3" = {
+    "@forge/bundler-4.10.4" = {
       name = "_at_forge_slash_bundler";
       packageName = "@forge/bundler";
-      version = "4.10.3";
+      version = "4.10.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@forge/bundler/-/bundler-4.10.3.tgz";
-        sha512 = "l7g1oYWK7rqdutpS2XP5ZcwIPtM9LWOBVPGn1zUbddAV6teGwWIbDJWs0ElpzgfaNay8sbIwaYnXARswn+WJ9w==";
+        url = "https://registry.npmjs.org/@forge/bundler/-/bundler-4.10.4.tgz";
+        sha512 = "/ChKPrhZu4PcBKpnqbc4YYrh0gxtHwlPLdmhHa2uvs6Wqgg8R70qgb/J7Ani66NwFMWpCeBe/gJpQbhknkxDGw==";
       };
     };
-    "@forge/cli-shared-3.16.0" = {
+    "@forge/cli-shared-3.17.0" = {
       name = "_at_forge_slash_cli-shared";
       packageName = "@forge/cli-shared";
-      version = "3.16.0";
+      version = "3.17.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@forge/cli-shared/-/cli-shared-3.16.0.tgz";
-        sha512 = "PR+W+nB1ijU+5zro1BYiYn/fIyujyl4NzDV06PM2HE9wINcqScjnbAyHfcPMMCe8qFHYbgHxa4QZGdKwsRNWEw==";
+        url = "https://registry.npmjs.org/@forge/cli-shared/-/cli-shared-3.17.0.tgz";
+        sha512 = "qbhMIpci9JA0i6iaz0s0cnQ708+M1Nw5CnvpO647eBWbZiuuuCjjqNuqq8Y7+qvpRbPW9hbyvFIQAHy0cAgngQ==";
       };
     };
-    "@forge/csp-2.1.4" = {
+    "@forge/csp-2.1.5" = {
       name = "_at_forge_slash_csp";
       packageName = "@forge/csp";
-      version = "2.1.4";
+      version = "2.1.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@forge/csp/-/csp-2.1.4.tgz";
-        sha512 = "DT/sIIeBTyb23YH8W3gtT8SZVv4ZcuoZL2wH2Z6Ked93miRAqWc1KniYS1R5zK/uY/GYPkYf0+lXaVLqXeV34A==";
+        url = "https://registry.npmjs.org/@forge/csp/-/csp-2.1.5.tgz";
+        sha512 = "l1W0CRxCmWIocw1l27pTtUT6+/U92yQAJ4xWv3B57bPGGD3rSMNn3eXQqnog4Waa786CcrL1iHWv/DEEjvexpQ==";
       };
     };
-    "@forge/egress-1.2.1" = {
+    "@forge/egress-1.2.2" = {
       name = "_at_forge_slash_egress";
       packageName = "@forge/egress";
-      version = "1.2.1";
+      version = "1.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@forge/egress/-/egress-1.2.1.tgz";
-        sha512 = "4XUr2LfLN4TGbEcg5GiqFeHwOT+1l7aaW7nwCn0uz2uFahQ+G9Kq0ebFWqsvzd5mCvO9oaSAucJaDeEpriKhmA==";
+        url = "https://registry.npmjs.org/@forge/egress/-/egress-1.2.2.tgz";
+        sha512 = "i+1xZd3CzlPagyEguH4NSUd9xFu9fw5vqhZZM/1J0leEDFCKYD1EPGm+G6UCh1qQqU2nssU9xZw79RE+x8chQg==";
       };
     };
-    "@forge/lint-3.6.2" = {
+    "@forge/lint-3.6.3" = {
       name = "_at_forge_slash_lint";
       packageName = "@forge/lint";
-      version = "3.6.2";
+      version = "3.6.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@forge/lint/-/lint-3.6.2.tgz";
-        sha512 = "nCE3XrqmcS2aTjpYoSSzqvh4DPwb2RDDYqQnmTyJORMrLxNpHODaaGj7Tm9MdLcg9xV29S/8WoKZ6COOCf/uJQ==";
+        url = "https://registry.npmjs.org/@forge/lint/-/lint-3.6.3.tgz";
+        sha512 = "p/U+VYpW2+/9VPSqi3PR5H41K1UC3UTpVkFrAFw4M9aXvLyunkG1sXcrc0Q30BRfKYyZERNm1pY8EjqKT1ESYA==";
       };
     };
-    "@forge/manifest-4.17.0" = {
+    "@forge/manifest-4.18.0" = {
       name = "_at_forge_slash_manifest";
       packageName = "@forge/manifest";
-      version = "4.17.0";
+      version = "4.18.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@forge/manifest/-/manifest-4.17.0.tgz";
-        sha512 = "YYWekkppeGP8VoEjanmG/aUlY+dZPdhcNXzQgikpFeCFuIZ6kPBjGSuwILEretmGLPq6AVUU5dZIxFm7rqrQ9Q==";
+        url = "https://registry.npmjs.org/@forge/manifest/-/manifest-4.18.0.tgz";
+        sha512 = "AfZpGb9BUDDOchpNUSxpVapl1hDYuRYv26knD6aiBmuzutj/nPl//ES4nmd6nw5vZhZ/DTIl5V0BgPeHKNI0pg==";
       };
     };
-    "@forge/runtime-4.4.4" = {
+    "@forge/runtime-4.4.5" = {
       name = "_at_forge_slash_runtime";
       packageName = "@forge/runtime";
-      version = "4.4.4";
+      version = "4.4.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@forge/runtime/-/runtime-4.4.4.tgz";
-        sha512 = "X1+DQpnv9SgwQ74uf7uUuqc3gCK6RXkQYAkgWeK+L6a9CaA4O/OQjeTN8F4e0l8HmKYkH+1dTSm7e8yOSwPArQ==";
+        url = "https://registry.npmjs.org/@forge/runtime/-/runtime-4.4.5.tgz";
+        sha512 = "8z1IIxG81gG7cpORa3yAdR9J5Z1BF1Itr8yYWsc/BqnpyjigmoGON/ZITb9srBio3sxGnD0UMqHq/jIL3KnQEw==";
       };
     };
     "@forge/storage-1.5.5" = {
@@ -6232,22 +5872,22 @@ let
         sha512 = "4APa+O8vqmoRNHb8qSxH3TabI4H8flVQbTEktdDDe+OMrMXQfc8cQXbtyUvNMnR78m9b0ZEz1bh1toIupzRxkw==";
       };
     };
-    "@forge/tunnel-3.6.3" = {
+    "@forge/tunnel-3.6.4" = {
       name = "_at_forge_slash_tunnel";
       packageName = "@forge/tunnel";
-      version = "3.6.3";
+      version = "3.6.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@forge/tunnel/-/tunnel-3.6.3.tgz";
-        sha512 = "Os/B6QLvvs7ZlY/Uxt6Ljnxuwz+sjiaP6/oCdZ7dWV7/O85c34DG/UKQUTWsZA5GaH9wjuYOyAH94P2VxVR9Uw==";
+        url = "https://registry.npmjs.org/@forge/tunnel/-/tunnel-3.6.4.tgz";
+        sha512 = "jvae7S6YPZNJu1Xtk6nJaEpNRgcQMyG19AqT++Mm0UX7s1XXK7lxcrcFOU2i/dCBEQoorFexcnrs3UX7luvDVQ==";
       };
     };
-    "@forge/util-1.3.0" = {
+    "@forge/util-1.3.1" = {
       name = "_at_forge_slash_util";
       packageName = "@forge/util";
-      version = "1.3.0";
+      version = "1.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@forge/util/-/util-1.3.0.tgz";
-        sha512 = "LFTis1lXSuCeGUfNe4F+ffqwgeImejChWj9LJgcQ7TKz0Xckfcd4vyJn7z0u9dfmwS3msVjyUWp++94dfPKEIg==";
+        url = "https://registry.npmjs.org/@forge/util/-/util-1.3.1.tgz";
+        sha512 = "AgyTKr0wWOZlCTZtShwOIoW8JApA78H7n+PhXbXC0NQwJE2fKust2uOOsty0fNDqw2ooabxbY1zZLq7pSQt9Uw==";
       };
     };
     "@gar/promisify-1.1.3" = {
@@ -6259,31 +5899,31 @@ let
         sha512 = "k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==";
       };
     };
-    "@gitbeaker/core-39.8.0" = {
+    "@gitbeaker/core-39.10.2" = {
       name = "_at_gitbeaker_slash_core";
       packageName = "@gitbeaker/core";
-      version = "39.8.0";
+      version = "39.10.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@gitbeaker/core/-/core-39.8.0.tgz";
-        sha512 = "Ti5UfDAsE8gKLk78iG4hLAmPJ33E10x5/7dNb2HJ98G4MlrfPWyTW8XboCZATC+jA9c11DWTwtGW//NJOfOd9g==";
+        url = "https://registry.npmjs.org/@gitbeaker/core/-/core-39.10.2.tgz";
+        sha512 = "aYU4S+DOnuT7zmHD8h/ap4rJgfdMBHytQuinVMxQwD9k+iCrDNZ9TPT1C2e77ZXLkBwfx6gBlbn0/n1QPphiUQ==";
       };
     };
-    "@gitbeaker/requester-utils-39.8.0" = {
+    "@gitbeaker/requester-utils-39.10.2" = {
       name = "_at_gitbeaker_slash_requester-utils";
       packageName = "@gitbeaker/requester-utils";
-      version = "39.8.0";
+      version = "39.10.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@gitbeaker/requester-utils/-/requester-utils-39.8.0.tgz";
-        sha512 = "307Qu7i7YVHlrOBF1LTeGvAkE5AY57nSBRXcCpzox4DS3kGMHUFVaJbWEBUA1YOxz60umUd40Y2GvPwRj9GCXQ==";
+        url = "https://registry.npmjs.org/@gitbeaker/requester-utils/-/requester-utils-39.10.2.tgz";
+        sha512 = "40XILUwFuuGoB+y/wvjxNzl4ybGxRXJ1Q/CZboS+3sZj1HviwML0m+eBKHtAGESH5wl4dNTtDt/ge6y1gHtIqQ==";
       };
     };
-    "@gitbeaker/rest-39.8.0" = {
+    "@gitbeaker/rest-39.10.2" = {
       name = "_at_gitbeaker_slash_rest";
       packageName = "@gitbeaker/rest";
-      version = "39.8.0";
+      version = "39.10.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@gitbeaker/rest/-/rest-39.8.0.tgz";
-        sha512 = "rRVQRuC9z2G0AHgPdgX7XuuhkJbJGZxEcIbVcGNluk1KP4yies+P4cupHShNEfd4GNVIfdsh01GQaR3JzjBAaw==";
+        url = "https://registry.npmjs.org/@gitbeaker/rest/-/rest-39.10.2.tgz";
+        sha512 = "54sMSqTuLn0zH9AXwrvJkiiuPe5XDYLnMTVH/VsRFUNM6OJSix2aapX3wTMjb9AsP/yQFFF7Bh1+k6Ce346PLw==";
       };
     };
     "@glideapps/ts-necessities-2.1.3" = {
@@ -6331,13 +5971,13 @@ let
         sha512 = "j8yRSSqswWi1QqUGKVEKOG03Q7qOoZP6/h2zN2YO+F5h2+DHU0bSrHCK9Y7lo2DI9fBd8qGAw795sf+3Jva4yA==";
       };
     };
-    "@google-cloud/pubsub-3.7.1" = {
+    "@google-cloud/pubsub-3.7.3" = {
       name = "_at_google-cloud_slash_pubsub";
       packageName = "@google-cloud/pubsub";
-      version = "3.7.1";
+      version = "3.7.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@google-cloud/pubsub/-/pubsub-3.7.1.tgz";
-        sha512 = "J6jzgIubq1sAMafnSF2wGnOn1qkNd0l0Y5ChG33rU27/iDXmxKabaiY/dvFndX3v57TE/QcB9uQt5A6Pek+WrA==";
+        url = "https://registry.npmjs.org/@google-cloud/pubsub/-/pubsub-3.7.3.tgz";
+        sha512 = "ZRDC4g7tpIJ8fkAp4MiU+tDfousM/q6pXK6ytFn0cbYEdNQuWOf4wqopNYMOUJ+AIjaTbgmNw77dStOKTc9Acg==";
       };
     };
     "@grammarly/sdk-1.11.0" = {
@@ -6736,13 +6376,13 @@ let
         sha512 = "rPc9oDzMnycvz+X+wrN3PLrhMBQkG4+sd8EzaFN6dypcssiefgWKToXtRKI8HHK68n2xEq1PyrOpkjHFJB+GwA==";
       };
     };
-    "@graphql-tools/utils-10.0.3" = {
+    "@graphql-tools/utils-10.0.4" = {
       name = "_at_graphql-tools_slash_utils";
       packageName = "@graphql-tools/utils";
-      version = "10.0.3";
+      version = "10.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@graphql-tools/utils/-/utils-10.0.3.tgz";
-        sha512 = "6uO41urAEIs4sXQT2+CYGsUTkHkVo/2MpM/QjoHj6D6xoEF2woXHBpdAVi0HKIInDwZqWgEYOwIFez0pERxa1Q==";
+        url = "https://registry.npmjs.org/@graphql-tools/utils/-/utils-10.0.4.tgz";
+        sha512 = "MF+nZgGROSnFgyOYWhrl2PuJMlIBvaCH48vtnlnDQKSeDc2fUfOzUVloBAQvnYmK9JBmHHks4Pxv25Ybg3r45Q==";
       };
     };
     "@graphql-tools/utils-6.2.4" = {
@@ -6889,6 +6529,15 @@ let
         sha512 = "2uWPtxhsXmVgd8WzDhfamSjHpZDXfMjMDciY6VRTq4Sn7rFzazyf0LLDa0oav+61UHIoEZb4KKaAV6S7NuJFbQ==";
       };
     };
+    "@grpc/grpc-js-1.8.21" = {
+      name = "_at_grpc_slash_grpc-js";
+      packageName = "@grpc/grpc-js";
+      version = "1.8.21";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.8.21.tgz";
+        sha512 = "KeyQeZpxeEBSqFVTi3q2K7PiPXmgBfECc4updA1ejCLjYmoAlvvM3ZMp5ztTDUCUQmoY3CpDxvchjO1+rFkoHg==";
+      };
+    };
     "@grpc/grpc-js-1.8.4" = {
       name = "_at_grpc_slash_grpc-js";
       packageName = "@grpc/grpc-js";
@@ -6988,13 +6637,13 @@ let
         sha512 = "q8XRDFn2peboPHGV+wbLCpp52anKiZsoNHZGA+t3I2iJ0/Qn+/8YNO0ILiJnPlVYos6fHceYiL75fhNIISTBRg==";
       };
     };
-    "@hpcc-js/wasm-2.5.0" = {
+    "@hpcc-js/wasm-2.13.1" = {
       name = "_at_hpcc-js_slash_wasm";
       packageName = "@hpcc-js/wasm";
-      version = "2.5.0";
+      version = "2.13.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@hpcc-js/wasm/-/wasm-2.5.0.tgz";
-        sha512 = "G26BamgaHW46f6P8bmkygapgNcy+tTDMwIvCzmMzdp39sxUS1u4gaT/vR2SSDc4x3SfL5RE4B2B8ef/wd429Hg==";
+        url = "https://registry.npmjs.org/@hpcc-js/wasm/-/wasm-2.13.1.tgz";
+        sha512 = "dJO0VQZFtUcqledAAU8b0yCw3HdkIVyrNjv8sAwdhDcOMRKdaNumi7Punj39u5h2CpdMN4g6I4gp584g/zVSzA==";
       };
     };
     "@httptoolkit/websocket-stream-6.0.1" = {
@@ -7114,22 +6763,22 @@ let
         sha512 = "LBWf21EYmOJnM4azYPM4LsNbiH9GBK8rc1dwmDhuUELI43dEOGWSs2ateLn8/E9vyrVELGwQ1Y3Bu61YHa8kaA==";
       };
     };
-    "@inquirer/checkbox-1.3.5" = {
+    "@inquirer/checkbox-1.3.6" = {
       name = "_at_inquirer_slash_checkbox";
       packageName = "@inquirer/checkbox";
-      version = "1.3.5";
+      version = "1.3.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@inquirer/checkbox/-/checkbox-1.3.5.tgz";
-        sha512 = "ZznkPU+8XgNICKkqaoYENa0vTw9jeToEHYyG5gUKpGmY+4PqPTsvLpSisOt9sukLkYzPRkpSCHREgJLqbCG3Fw==";
+        url = "https://registry.npmjs.org/@inquirer/checkbox/-/checkbox-1.3.6.tgz";
+        sha512 = "xeY5U/vwU62Hkt7bjAmw446V4iKNR5rzHQGErOREVicxtmipjkGku+qm8MV7y/dWZelxAH0MIkNBbBLqg6/MsQ==";
       };
     };
-    "@inquirer/confirm-2.0.6" = {
+    "@inquirer/confirm-2.0.7" = {
       name = "_at_inquirer_slash_confirm";
       packageName = "@inquirer/confirm";
-      version = "2.0.6";
+      version = "2.0.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@inquirer/confirm/-/confirm-2.0.6.tgz";
-        sha512 = "1lPtPRq/1so8wmND43QTIn+hg5WIPpy2u3b8G2MveQ6B1Y2pm6/2Q5DEEt2ndi0kfidjPwQEjfGMlUNcXzQQVw==";
+        url = "https://registry.npmjs.org/@inquirer/confirm/-/confirm-2.0.7.tgz";
+        sha512 = "pEpvyeMaYNZYnHYxZL+9M8XtFsJly1Sk0gRPAr2wzRWMtqAvyWCclQo96Zu56S072L3Aez+ntcQ/Mvi+PGX42w==";
       };
     };
     "@inquirer/core-2.3.1" = {
@@ -7141,49 +6790,49 @@ let
         sha512 = "faYAYnIfdEuns3jGKykaog5oUqFiEVbCx9nXGZfUhyEEpKcHt5bpJfZTb3eOBQKo8I/v4sJkZeBHmFlSZQuBCw==";
       };
     };
-    "@inquirer/core-3.0.0" = {
+    "@inquirer/core-3.1.0" = {
       name = "_at_inquirer_slash_core";
       packageName = "@inquirer/core";
-      version = "3.0.0";
+      version = "3.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@inquirer/core/-/core-3.0.0.tgz";
-        sha512 = "zJzvndV5wrzspiRq7kwXxdKQtcPjl0QzCf6+GoV6BDPkTQoYfUoOnYQlzi7QdEBEgS/sM9Wz225w6tRqafFOuA==";
+        url = "https://registry.npmjs.org/@inquirer/core/-/core-3.1.0.tgz";
+        sha512 = "l+vA7cbkVnEnrV1zCStw9//4mrmJNTziE67C9vQA3ccyTeGx+o0APnFmXo1AMSf7r9N7+gom9KdSjk7v4bg2Wg==";
       };
     };
-    "@inquirer/editor-1.2.4" = {
+    "@inquirer/editor-1.2.5" = {
       name = "_at_inquirer_slash_editor";
       packageName = "@inquirer/editor";
-      version = "1.2.4";
+      version = "1.2.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@inquirer/editor/-/editor-1.2.4.tgz";
-        sha512 = "ygTTYJ2Y6HMhC180Y7/Oem4Cx0vjfvCQTLvMwUWPv5wxAgizWF129n8u4k8NqavKxV2dybjxa8+0uyv40397jA==";
+        url = "https://registry.npmjs.org/@inquirer/editor/-/editor-1.2.5.tgz";
+        sha512 = "OyNWKv87U4BpmPSaKNFjiaayH1GYOrccbXiA5s0Zk+b/j8ESo67rMBv9GiBvm9fl1VbXydZpxGz7WKCIbn6cag==";
       };
     };
-    "@inquirer/expand-1.1.5" = {
+    "@inquirer/expand-1.1.6" = {
       name = "_at_inquirer_slash_expand";
       packageName = "@inquirer/expand";
-      version = "1.1.5";
+      version = "1.1.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@inquirer/expand/-/expand-1.1.5.tgz";
-        sha512 = "dMXTMxNjqg57JPf6q0vZ12+0LBEXz5vo7xBprpVODIPL2cL4X6khipy/rRun4Iil28/k05QeEIBl6WsLfYN/Lw==";
+        url = "https://registry.npmjs.org/@inquirer/expand/-/expand-1.1.6.tgz";
+        sha512 = "9sbFz0dorHOmJ9ndkg4vHq0pNSBAKJ1jlOHE9kwdONRhG4fl1bl1OIBAOaeNZ8XqS/1tEaoDcG2zpFmFDjG1Jw==";
       };
     };
-    "@inquirer/input-1.2.5" = {
+    "@inquirer/input-1.2.6" = {
       name = "_at_inquirer_slash_input";
       packageName = "@inquirer/input";
-      version = "1.2.5";
+      version = "1.2.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@inquirer/input/-/input-1.2.5.tgz";
-        sha512 = "/zugbgdH5jjbfwau+SgWhJSxwc+QvIGScfQ2qa4Nx/SPwMNKdlaJl9q8xfwkVQ5PM39UXAvUNAnbbftTyUfgUQ==";
+        url = "https://registry.npmjs.org/@inquirer/input/-/input-1.2.6.tgz";
+        sha512 = "zmAAYCEJ7sblT36N3CL7Ugd0Js7hVZwb0BDmCWncTn4I0o+h4t8Kj8pBXh0Kdms2zxitOIBcbZDfFmUkZ5Zs1A==";
       };
     };
-    "@inquirer/password-1.1.5" = {
+    "@inquirer/password-1.1.6" = {
       name = "_at_inquirer_slash_password";
       packageName = "@inquirer/password";
-      version = "1.1.5";
+      version = "1.1.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@inquirer/password/-/password-1.1.5.tgz";
-        sha512 = "fT4Q/UFazDS6LfThXtS3tPjQgxUhXOCPpltGEcQ9yLR2zoC5EpXaBYVvOJvWxAHnc0fBO70ed2flR+qyTQKvBw==";
+        url = "https://registry.npmjs.org/@inquirer/password/-/password-1.1.6.tgz";
+        sha512 = "HV+7aECu+qT5SQi1PH+5i90ckrUSPqVQ/QWCC3bUYQFh1E/yuQIU479Jw59xldUy+1DxVeqEtBPHpUxNlqUBKw==";
       };
     };
     "@inquirer/prompts-2.3.1" = {
@@ -7195,22 +6844,22 @@ let
         sha512 = "YQeBFzIE+6fcec5N/U2mSz+IcKEG4wtGDwF7MBLIDgITWzB3o723JpKJ1rxWqdCvTXkYE+gDXK/seSN6omo3DQ==";
       };
     };
-    "@inquirer/rawlist-1.2.5" = {
+    "@inquirer/rawlist-1.2.6" = {
       name = "_at_inquirer_slash_rawlist";
       packageName = "@inquirer/rawlist";
-      version = "1.2.5";
+      version = "1.2.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@inquirer/rawlist/-/rawlist-1.2.5.tgz";
-        sha512 = "QKo1hIyKgKrCFaBhvtRn9xkjbyzjATWDn10LxVadh1lwSuQyplHbcwOpMUa8TaB/xMtm2fnec3TIez7NB5Rqlg==";
+        url = "https://registry.npmjs.org/@inquirer/rawlist/-/rawlist-1.2.6.tgz";
+        sha512 = "EFwYq0ymYeF2ofDw7DkDGooBOvfrcsJgHMMSYKjvu9rp5PRKCBviUuRlmSPs6x97ttOvHKNa3L3FJGXykyskLw==";
       };
     };
-    "@inquirer/select-1.2.5" = {
+    "@inquirer/select-1.2.6" = {
       name = "_at_inquirer_slash_select";
       packageName = "@inquirer/select";
-      version = "1.2.5";
+      version = "1.2.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@inquirer/select/-/select-1.2.5.tgz";
-        sha512 = "MPoqecOtxLMGyWQNBmjmVIHQPkTpIJcdAo+K7kvowCymb8dnuuTu+fzYZoRolnszsj4C1mMezirDo3yhCpj40Q==";
+        url = "https://registry.npmjs.org/@inquirer/select/-/select-1.2.6.tgz";
+        sha512 = "FE2UQ9sfabDMzu8ynz83nnFoTmUjeoh52AmEwCmiMo61ulN785B5N4t0w8R8ezm6hQtngIGXkP0/FCuGTbsR6g==";
       };
     };
     "@inquirer/type-1.1.1" = {
@@ -8195,15 +7844,6 @@ let
         sha512 = "qtLGzCNzPVJ3kdH6/zoLWDPjauHIKiLSBAR71Wa0+PWvGA8wODUQvRgxtpUA5YqAYL3CQ8S4qXhd/9WuWTZirg==";
       };
     };
-    "@jsii/check-node-1.84.0" = {
-      name = "_at_jsii_slash_check-node";
-      packageName = "@jsii/check-node";
-      version = "1.84.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jsii/check-node/-/check-node-1.84.0.tgz";
-        sha512 = "gLa+N1WKksCjTXaK8VMjTbEXf58QlrDOovoTOEzhGNgTFyAUX8woIRAUmk+X70ssDzBvgh3E98mIsDKoWOp6zA==";
-      };
-    };
     "@jsii/check-node-1.85.0" = {
       name = "_at_jsii_slash_check-node";
       packageName = "@jsii/check-node";
@@ -8258,33 +7898,6 @@ let
         sha512 = "UAdaZwahrUeYhMYYilJwDsRfE7wDRsmGMsszYH67j8FLD5gZitqG38RXpUgHEH0s6YjsY8iKYWeEQ19WILncFA==";
       };
     };
-    "@jspm/core-2.0.1" = {
-      name = "_at_jspm_slash_core";
-      packageName = "@jspm/core";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jspm/core/-/core-2.0.1.tgz";
-        sha512 = "Lg3PnLp0QXpxwLIAuuJboLeRaIhrgJjeuh797QADg3xz8wGLugQOS5DpsE8A6i6Adgzf+bacllkKZG3J0tGfDw==";
-      };
-    };
-    "@koa/multer-3.0.2" = {
-      name = "_at_koa_slash_multer";
-      packageName = "@koa/multer";
-      version = "3.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@koa/multer/-/multer-3.0.2.tgz";
-        sha512 = "Q6WfPpE06mJWyZD1fzxM6zWywaoo+zocAn2YA9QYz4RsecoASr1h/kSzG0c5seDpFVKCMZM9raEfuM7XfqbRLw==";
-      };
-    };
-    "@koa/router-12.0.0" = {
-      name = "_at_koa_slash_router";
-      packageName = "@koa/router";
-      version = "12.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@koa/router/-/router-12.0.0.tgz";
-        sha512 = "cnnxeKHXlt7XARJptflGURdJaO+ITpNkOHmQu7NHmCoRinPbyvFzce/EG/E8Zy81yQ1W9MoSdtklc3nyaDReUw==";
-      };
-    };
     "@kurkle/color-0.3.2" = {
       name = "_at_kurkle_slash_color";
       packageName = "@kurkle/color";
@@ -8366,13 +7979,13 @@ let
         sha512 = "0VVB4jIG6ZTRtHusI5kO2jPcc1yFQ+iIcNKiTaaBHytsdGjTfhipje+W4vxo+nCdOKdrkOqB80GwykmKuNNXyA==";
       };
     };
-    "@ledgerhq/hw-transport-node-hid-6.27.18" = {
+    "@ledgerhq/hw-transport-node-hid-6.27.19" = {
       name = "_at_ledgerhq_slash_hw-transport-node-hid";
       packageName = "@ledgerhq/hw-transport-node-hid";
-      version = "6.27.18";
+      version = "6.27.19";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ledgerhq/hw-transport-node-hid/-/hw-transport-node-hid-6.27.18.tgz";
-        sha512 = "2Bjb90YAhU/o1GvElKeSocjZthFobYnd1kuGQ8QI6qUJHwqkY5jvdy3UBzwtLYORCHEPSroQxy3D6E7q/vwS5Q==";
+        url = "https://registry.npmjs.org/@ledgerhq/hw-transport-node-hid/-/hw-transport-node-hid-6.27.19.tgz";
+        sha512 = "f8GZ5qpgFM4W8ndymlKPbmFVPIklle2mUDC9MGClFbo/BHb73Cz47AZSDsD++hQ3oX7xyHVUaRzubEBLD3TYVw==";
       };
     };
     "@ledgerhq/hw-transport-node-hid-noevents-6.27.17" = {
@@ -8492,6 +8105,15 @@ let
         sha512 = "fkAZCkkpB90Nepvfd2NqwAF6wa3O+/ofhBDeQd7+79JwEtBqhCVGfa/xVb2j1mUscxmTIqwo1WIJtKM7YgGYsw==";
       };
     };
+    "@ljharb/through-2.3.9" = {
+      name = "_at_ljharb_slash_through";
+      packageName = "@ljharb/through";
+      version = "2.3.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@ljharb/through/-/through-2.3.9.tgz";
+        sha512 = "yN599ZBuMPPK4tdoToLlvgJB4CLK8fGl7ntfy0Wn7U6ttNvHYurd81bfUiK/6sMkiIwm65R6ck4L6+Y3DfVbNQ==";
+      };
+    };
     "@lmdb/lmdb-darwin-arm64-2.5.3" = {
       name = "_at_lmdb_slash_lmdb-darwin-arm64";
       packageName = "@lmdb/lmdb-darwin-arm64";
@@ -8807,13 +8429,13 @@ let
         sha512 = "W6CLUJ2eBMw3Rec70qrsEW0jOm/3twwJv21mrmj2yORiaVmVYGS4sSS5yUwvQc1ZlDLYGPnClVWmUUMagKNsfA==";
       };
     };
-    "@microsoft/rush-lib-5.100.1" = {
+    "@microsoft/rush-lib-5.100.2" = {
       name = "_at_microsoft_slash_rush-lib";
       packageName = "@microsoft/rush-lib";
-      version = "5.100.1";
+      version = "5.100.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@microsoft/rush-lib/-/rush-lib-5.100.1.tgz";
-        sha512 = "UFn1vKLy7Iv4LmqcCSnizf0V0/Cn/pGcpne3J1m1oeFuc0QqfYOgzSqD6zNrFut6S1Tf4BCFLxlJph0XjbAYmA==";
+        url = "https://registry.npmjs.org/@microsoft/rush-lib/-/rush-lib-5.100.2.tgz";
+        sha512 = "wuyvYok7qEdADNeN98C+tO5lU23CH04kSYbJ/lz4CQfqVIviFLQQExDEPnvRxNP0I1XmuMdsaIVG28m1tLCMMA==";
       };
     };
     "@mischnic/json-sourcemap-0.1.0" = {
@@ -9113,15 +8735,6 @@ let
         sha512 = "b+MGNyP9/LXkapreJzNUzcvuzZslj/RGgdVVJ16P2wSlYatfLycPObImqVJSmNAdyeShvNeM/pl3sVZsObFueg==";
       };
     };
-    "@nicolo-ribaudo/semver-v6-6.3.3" = {
-      name = "_at_nicolo-ribaudo_slash_semver-v6";
-      packageName = "@nicolo-ribaudo/semver-v6";
-      version = "6.3.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@nicolo-ribaudo/semver-v6/-/semver-v6-6.3.3.tgz";
-        sha512 = "3Yc1fUTs69MG/uZbJlLSI3JISMn2UV2rg+1D/vROUqZyh3l6iYHCs7GMp+M40ZD7yOdDbYjJcU1oTJhrc+dGKg==";
-      };
-    };
     "@noble/hashes-1.3.1" = {
       name = "_at_noble_slash_hashes";
       packageName = "@noble/hashes";
@@ -9428,15 +9041,6 @@ let
         sha512 = "y6jnu76E9C23osz8gEMBayZmaZ69vFOIk8vR1FJL/wbEJ54+9aVG9rLTjQKSXfgYZEr50nw1txBBFfBZZe+bYg==";
       };
     };
-    "@npmcli/package-json-2.0.0" = {
-      name = "_at_npmcli_slash_package-json";
-      packageName = "@npmcli/package-json";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@npmcli/package-json/-/package-json-2.0.0.tgz";
-        sha512 = "42jnZ6yl16GzjWSH7vtrmWyJDGVa/LXPdpN2rcUWolFjc9ON2N3uz0qdBbQACfmhuJZ2lbKYtmK5qx68ZPLHMA==";
-      };
-    };
     "@npmcli/package-json-4.0.1" = {
       name = "_at_npmcli_slash_package-json";
       packageName = "@npmcli/package-json";
@@ -9491,130 +9095,130 @@ let
         sha512 = "NCcr1uQo1k5U+SYlnIrbAh3cxy+OQT1VtqiAbxdymSlptbzBb62AjH2xXgjNCoP073hoa1CfCAcwoZ8k96C4nA==";
       };
     };
-    "@nrwl/devkit-16.5.3" = {
+    "@nrwl/devkit-16.6.0" = {
       name = "_at_nrwl_slash_devkit";
       packageName = "@nrwl/devkit";
-      version = "16.5.3";
+      version = "16.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@nrwl/devkit/-/devkit-16.5.3.tgz";
-        sha512 = "a/XtuamF0PbiW8glJwI91Tx234qNYCF0PULyk2tjqp/idefiJlbb1eIkPz3kTWvZUG6tvPLdmwzpdHOqqH13Aw==";
+        url = "https://registry.npmjs.org/@nrwl/devkit/-/devkit-16.6.0.tgz";
+        sha512 = "xZEN6wfA1uJwv+FVRQFOHsCcpvGvIYGx2zutbzungDodWkfzlJ3tzIGqYjIpPCBVT83erM6Gscnka2W46AuKfA==";
       };
     };
-    "@nrwl/tao-16.5.3" = {
+    "@nrwl/tao-16.6.0" = {
       name = "_at_nrwl_slash_tao";
       packageName = "@nrwl/tao";
-      version = "16.5.3";
+      version = "16.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@nrwl/tao/-/tao-16.5.3.tgz";
-        sha512 = "GHL8NU2P/kMahXo9lhExTgG1ow9sI3CbCe8E+UPgp4GOscIJypCpD5FuvwmkYJHgMzAx1nknlDYXN12xEe7QVg==";
+        url = "https://registry.npmjs.org/@nrwl/tao/-/tao-16.6.0.tgz";
+        sha512 = "NQkDhmzlR1wMuYzzpl4XrKTYgyIzELdJ+dVrNKf4+p4z5WwKGucgRBj60xMQ3kdV25IX95/fmMDB8qVp/pNQ0Q==";
       };
     };
-    "@nx/devkit-16.5.3" = {
+    "@nx/devkit-16.6.0" = {
       name = "_at_nx_slash_devkit";
       packageName = "@nx/devkit";
-      version = "16.5.3";
+      version = "16.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@nx/devkit/-/devkit-16.5.3.tgz";
-        sha512 = "szsBpO4ZYEwilUZMEjpmvg8ritl8C7jEAkAq3k2CxEdwE24cDBPwjXWnbc4YffvYW9gatDt+n93in5XYXWT5CA==";
+        url = "https://registry.npmjs.org/@nx/devkit/-/devkit-16.6.0.tgz";
+        sha512 = "rhJ0y+MSPHDuoZPxsOYdj/n5ks+gK74TIMgTb8eZgPT/uR86a4oxf62wUQXgECedR5HzLE2HunbnoLhhJXmpJw==";
       };
     };
-    "@nx/nx-darwin-arm64-16.5.3" = {
+    "@nx/nx-darwin-arm64-16.6.0" = {
       name = "_at_nx_slash_nx-darwin-arm64";
       packageName = "@nx/nx-darwin-arm64";
-      version = "16.5.3";
+      version = "16.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-16.5.3.tgz";
-        sha512 = "HS3R/vRVFwOjZ0l1y3h1UMSd7Zfh4NQ2qDe1FSOfA38AXNftyWNCnZ1kkOikVjJKCpwKXls56XcPDu+2hbqSDA==";
+        url = "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-16.6.0.tgz";
+        sha512 = "8nJuqcWG/Ob39rebgPLpv2h/V46b9Rqqm/AGH+bYV9fNJpxgMXclyincbMIWvfYN2tW+Vb9DusiTxV6RPrLapA==";
       };
     };
-    "@nx/nx-darwin-x64-16.5.3" = {
+    "@nx/nx-darwin-x64-16.6.0" = {
       name = "_at_nx_slash_nx-darwin-x64";
       packageName = "@nx/nx-darwin-x64";
-      version = "16.5.3";
+      version = "16.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@nx/nx-darwin-x64/-/nx-darwin-x64-16.5.3.tgz";
-        sha512 = "3QEZkliJy+rk5UrcBsMnExBIAXmjqd4dHBDGH1eo0w85/3Bih3Z9QxU/n+3tEewvUCCx4o4kg+bya/hVz23V6g==";
+        url = "https://registry.npmjs.org/@nx/nx-darwin-x64/-/nx-darwin-x64-16.6.0.tgz";
+        sha512 = "T4DV0/2PkPZjzjmsmQEyjPDNBEKc4Rhf7mbIZlsHXj27BPoeNjEcbjtXKuOZHZDIpGFYECGT/sAF6C2NVYgmxw==";
       };
     };
-    "@nx/nx-freebsd-x64-16.5.3" = {
+    "@nx/nx-freebsd-x64-16.6.0" = {
       name = "_at_nx_slash_nx-freebsd-x64";
       packageName = "@nx/nx-freebsd-x64";
-      version = "16.5.3";
+      version = "16.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@nx/nx-freebsd-x64/-/nx-freebsd-x64-16.5.3.tgz";
-        sha512 = "FyJ2xUBPifO0y9LoVuS0CjwN+GGsYSy+O1y541eh8j4Y86/xcPx0j+fhHhh3MDnKA9ftjbq+vrqgs84NHmIAAw==";
+        url = "https://registry.npmjs.org/@nx/nx-freebsd-x64/-/nx-freebsd-x64-16.6.0.tgz";
+        sha512 = "Ck/yejYgp65dH9pbExKN/X0m22+xS3rWF1DBr2LkP6j1zJaweRc3dT83BWgt5mCjmcmZVk3J8N01AxULAzUAqA==";
       };
     };
-    "@nx/nx-linux-arm-gnueabihf-16.5.3" = {
+    "@nx/nx-linux-arm-gnueabihf-16.6.0" = {
       name = "_at_nx_slash_nx-linux-arm-gnueabihf";
       packageName = "@nx/nx-linux-arm-gnueabihf";
-      version = "16.5.3";
+      version = "16.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-16.5.3.tgz";
-        sha512 = "Zn343k/satXGWEJjh56+Y/Uxtsl1aCyUtq0OPxznwx/ZGG+Sw2wN/ZEnePEh0OB1/yZ2uWAFRHVSA2fYPrmdhQ==";
+        url = "https://registry.npmjs.org/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-16.6.0.tgz";
+        sha512 = "eyk/R1mBQ3X0PCSS+Cck3onvr3wmZVmM/+x0x9Ai02Vm6q9Eq6oZ1YtZGQsklNIyw1vk2WV9rJCStfu9mLecEw==";
       };
     };
-    "@nx/nx-linux-arm64-gnu-16.5.3" = {
+    "@nx/nx-linux-arm64-gnu-16.6.0" = {
       name = "_at_nx_slash_nx-linux-arm64-gnu";
       packageName = "@nx/nx-linux-arm64-gnu";
-      version = "16.5.3";
+      version = "16.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-16.5.3.tgz";
-        sha512 = "ACUhKWHe7C7IopyIwXAoHx/phaZudBOu+pZwzVDaRy2xn78tdzJQrOySsQ7YmBGoGSXEAd5+3pVVXnXcRNJ2aA==";
+        url = "https://registry.npmjs.org/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-16.6.0.tgz";
+        sha512 = "S0qFFdQFDmBIEZqBAJl4K47V3YuMvDvthbYE0enXrXApWgDApmhtxINXSOjSus7DNq9kMrgtSDGkBmoBot61iw==";
       };
     };
-    "@nx/nx-linux-arm64-musl-16.5.3" = {
+    "@nx/nx-linux-arm64-musl-16.6.0" = {
       name = "_at_nx_slash_nx-linux-arm64-musl";
       packageName = "@nx/nx-linux-arm64-musl";
-      version = "16.5.3";
+      version = "16.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-16.5.3.tgz";
-        sha512 = "eNrVa1Oaf42kEiCoJu01NlmGs6hQMzDhHiQ/DBKxMePW1bh4O5FEQUtYp1K/AKPcHH5270VNz0eAl164+fMqpQ==";
+        url = "https://registry.npmjs.org/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-16.6.0.tgz";
+        sha512 = "TXWY5VYtg2wX/LWxyrUkDVpqCyJHF7fWoVMUSlFe+XQnk9wp/yIbq2s0k3h8I4biYb6AgtcVqbR4ID86lSNuMA==";
       };
     };
-    "@nx/nx-linux-x64-gnu-16.5.3" = {
+    "@nx/nx-linux-x64-gnu-16.6.0" = {
       name = "_at_nx_slash_nx-linux-x64-gnu";
       packageName = "@nx/nx-linux-x64-gnu";
-      version = "16.5.3";
+      version = "16.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-16.5.3.tgz";
-        sha512 = "ZAW+Oar+WEwbmu8KFw80qDpT9y3qmWZdVD5wNRX5CMByuVJ3ly7MJbtD/rEDtvAUOgSMJikuGsK0jQ6acm+X/A==";
+        url = "https://registry.npmjs.org/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-16.6.0.tgz";
+        sha512 = "qQIpSVN8Ij4oOJ5v+U+YztWJ3YQkeCIevr4RdCE9rDilfq9RmBD94L4VDm7NRzYBuQL8uQxqWzGqb7ZW4mfHpw==";
       };
     };
-    "@nx/nx-linux-x64-musl-16.5.3" = {
+    "@nx/nx-linux-x64-musl-16.6.0" = {
       name = "_at_nx_slash_nx-linux-x64-musl";
       packageName = "@nx/nx-linux-x64-musl";
-      version = "16.5.3";
+      version = "16.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-16.5.3.tgz";
-        sha512 = "jM2igA26dd0YVj9w/Pv2x3ZUUziVP4H3rFzYDAd80sQqLYWqELr6Fljyvj/2C+o+mOfVcw85+yfessjlPz8K8Q==";
+        url = "https://registry.npmjs.org/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-16.6.0.tgz";
+        sha512 = "EYOHe11lfVfEfZqSAIa1c39mx2Obr4mqd36dBZx+0UKhjrcmWiOdsIVYMQSb3n0TqB33BprjI4p9ZcFSDuoNbA==";
       };
     };
-    "@nx/nx-win32-arm64-msvc-16.5.3" = {
+    "@nx/nx-win32-arm64-msvc-16.6.0" = {
       name = "_at_nx_slash_nx-win32-arm64-msvc";
       packageName = "@nx/nx-win32-arm64-msvc";
-      version = "16.5.3";
+      version = "16.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-16.5.3.tgz";
-        sha512 = "gEP6ekFXLfvRWezSvQoHxV+vhKavuA/Lhz/AifYAIgdJEmKUPqVdnUtdkYwU0Ygn/a11KqbFh8J4TikXIkVxYw==";
+        url = "https://registry.npmjs.org/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-16.6.0.tgz";
+        sha512 = "f1BmuirOrsAGh5+h/utkAWNuqgohvBoekQgMxYcyJxSkFN+pxNG1U68P59Cidn0h9mkyonxGVCBvWwJa3svVFA==";
       };
     };
-    "@nx/nx-win32-x64-msvc-16.5.3" = {
+    "@nx/nx-win32-x64-msvc-16.6.0" = {
       name = "_at_nx_slash_nx-win32-x64-msvc";
       packageName = "@nx/nx-win32-x64-msvc";
-      version = "16.5.3";
+      version = "16.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-16.5.3.tgz";
-        sha512 = "QTpDoqxQq7wSuErkCgQoFegaUZ3D9lgmpS20zexlHm43SwS/MXtqRm9i5XNoJPTx19rpJ7gqaOm6+eOkOYLETg==";
+        url = "https://registry.npmjs.org/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-16.6.0.tgz";
+        sha512 = "UmTTjFLpv4poVZE3RdUHianU8/O9zZYBiAnTRq5spwSDwxJHnLTZBUxFFf3ztCxeHOUIfSyW9utpGfCMCptzvQ==";
       };
     };
-    "@oclif/color-1.0.9" = {
+    "@oclif/color-1.0.10" = {
       name = "_at_oclif_slash_color";
       packageName = "@oclif/color";
-      version = "1.0.9";
+      version = "1.0.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@oclif/color/-/color-1.0.9.tgz";
-        sha512 = "ntc/fZwuf4NRfYbXVoUNFyMB9IxVx/ls/WbSLKbkD9UpsmwY1I3J4DJKKRFRpenmTuxGQW8Lyzm7X3vhzHpDQA==";
+        url = "https://registry.npmjs.org/@oclif/color/-/color-1.0.10.tgz";
+        sha512 = "INWEDAL3SzzR3pIhkrqk22HV6JravLUeRZXAIpoQqIeLReauaibCVcNTzOlt0z0S8YrqRhksc54ZxZC4Oa8xBw==";
       };
     };
     "@oclif/command-1.8.0" = {
@@ -9626,13 +9230,13 @@ let
         sha512 = "5vwpq6kbvwkQwKqAoOU3L72GZ3Ta8RRrewKj9OJRolx28KLJJ8Dg9Rf7obRwt5jQA9bkYd8gqzMTrI7H3xLfaw==";
       };
     };
-    "@oclif/command-1.8.33" = {
+    "@oclif/command-1.8.35" = {
       name = "_at_oclif_slash_command";
       packageName = "@oclif/command";
-      version = "1.8.33";
+      version = "1.8.35";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@oclif/command/-/command-1.8.33.tgz";
-        sha512 = "7ZPvThrZaICX1hoZ/S82DaGgjI3UGG2rveBfxCE9JlgvrDQQiHLA6a/N7Hf3jq6t51AkXbBMhaMOBzXtSd73QA==";
+        url = "https://registry.npmjs.org/@oclif/command/-/command-1.8.35.tgz";
+        sha512 = "oILFTe3n6WjEbhXaSJd6FPsU4H97WxkC3Q0+Y63pfTXIZ424Fb9Hlg1CazscWcJqCrhuuUag6mItdgYo0kpinw==";
       };
     };
     "@oclif/config-1.17.0" = {
@@ -9644,22 +9248,22 @@ let
         sha512 = "Lmfuf6ubjQ4ifC/9bz1fSCHc6F6E653oyaRXxg+lgT4+bYf9bk+nqrUpAbrXyABkCqgIBiFr3J4zR/kiFdE1PA==";
       };
     };
-    "@oclif/config-1.18.12" = {
+    "@oclif/config-1.18.15" = {
       name = "_at_oclif_slash_config";
       packageName = "@oclif/config";
-      version = "1.18.12";
+      version = "1.18.15";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@oclif/config/-/config-1.18.12.tgz";
-        sha512 = "hbZv4N3J9pE4yzQIqrklJFgXhqYiQTN3uV5uBC8VaIZ1qEPzZv6lN9rDmcYIuEOBPzQvvSIBuaH/IDzo3F71PQ==";
+        url = "https://registry.npmjs.org/@oclif/config/-/config-1.18.15.tgz";
+        sha512 = "eBTiFXGfXSzghc4Yjp3EutYU+6MrHX1kzk4j5i4CsR5AEor43ynXFrzpO6v7IwbR1KyUo+9SYE2D69Y+sHIMpg==";
       };
     };
-    "@oclif/config-1.18.14" = {
+    "@oclif/config-1.18.16" = {
       name = "_at_oclif_slash_config";
       packageName = "@oclif/config";
-      version = "1.18.14";
+      version = "1.18.16";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@oclif/config/-/config-1.18.14.tgz";
-        sha512 = "cLT/deFDm6A69LjAfV5ZZMMvMDlPt7sjMHYBrsOgQ5Upq5kDMgbaZM3hEbw74DmYIsuhq2E2wYrPD+Ax2qAfkA==";
+        url = "https://registry.npmjs.org/@oclif/config/-/config-1.18.16.tgz";
+        sha512 = "VskIxVcN22qJzxRUq+raalq6Q3HUde7sokB7/xk5TqRZGEKRVbFeqdQBxDWwQeudiJEgcNiMvIFbMQ43dY37FA==";
       };
     };
     "@oclif/config-1.18.2" = {
@@ -9689,22 +9293,22 @@ let
         sha512 = "6jYuZgXvHfOIc9GIaS4T3CIKGTjPmfAxuMcbCbMRKJJl4aq/4xeRlEz0E8/hz8HxvxZBGvN2GwAUHlrGWQVrVw==";
       };
     };
-    "@oclif/core-2.8.5" = {
+    "@oclif/core-2.11.5" = {
       name = "_at_oclif_slash_core";
       packageName = "@oclif/core";
-      version = "2.8.5";
+      version = "2.11.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@oclif/core/-/core-2.8.5.tgz";
-        sha512 = "316DLfrHQDYmWDriI4Woxk9y1wVUrPN1sZdbQLHdOdlTA9v/twe7TdHpWOriEypfl6C85NWEJKc1870yuLtjrQ==";
+        url = "https://registry.npmjs.org/@oclif/core/-/core-2.11.5.tgz";
+        sha512 = "ALv0YyaMwfy+LRGigKoqST/It8uYBwp1+3F4OpwmPpQl7BiRCGbOBnJSrWNNCAEMZiYpWNgF/3WQVB5VUQlYbQ==";
       };
     };
-    "@oclif/core-2.9.4" = {
+    "@oclif/core-2.8.11" = {
       name = "_at_oclif_slash_core";
       packageName = "@oclif/core";
-      version = "2.9.4";
+      version = "2.8.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@oclif/core/-/core-2.9.4.tgz";
-        sha512 = "eFRRpV+tJ6nMkhay2M9IppjSF3atRrgj6Qo83qUslaFSAW3NAl4mIhx1mKmTwQx5rgSrar03xICtSAWJ6gZtag==";
+        url = "https://registry.npmjs.org/@oclif/core/-/core-2.8.11.tgz";
+        sha512 = "9wYW6KRSWfB/D+tqeyl/jxmEz/xPXkFJGVWfKaptqHz6FPWNJREjAM945MuJL2Y8NRhMe+ScRlZ3WpdToX5aVQ==";
       };
     };
     "@oclif/errors-1.3.4" = {
@@ -9734,13 +9338,13 @@ let
         sha512 = "fYaU4aDceETd89KXP+3cLyg9EHZsLD3RxF2IU9yxahhBpspWjkWi3Dy3bTgcwZ3V47BgxQaGapzJWDM33XIVDQ==";
       };
     };
-    "@oclif/help-1.0.12" = {
+    "@oclif/help-1.0.14" = {
       name = "_at_oclif_slash_help";
       packageName = "@oclif/help";
-      version = "1.0.12";
+      version = "1.0.14";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@oclif/help/-/help-1.0.12.tgz";
-        sha512 = "nvjgcZm2HsIEXEDYqo0+lXMSNe6Bx9vxZnJ9HqxMdSX6CNxr9ovvm5EilNGc9IxbtNXYlct+DE1le6urGmrlrw==";
+        url = "https://registry.npmjs.org/@oclif/help/-/help-1.0.14.tgz";
+        sha512 = "Hu2/Dyo91cgLNaqN3wkvkBGuZ7eqb0TQNVKrzGButZyaBpJzmwW4L6D4tAF390WDYZG7EubmLePlNYb+rNB4jw==";
       };
     };
     "@oclif/linewrap-1.0.0" = {
@@ -9752,13 +9356,13 @@ let
         sha512 = "Ups2dShK52xXa8w6iBWLgcjPJWjais6KPJQq3gQ/88AY6BXoTX+MIGFPrWQO1KLMiQfoTpcLnUwloN4brrVUHw==";
       };
     };
-    "@oclif/parser-3.8.15" = {
+    "@oclif/parser-3.8.16" = {
       name = "_at_oclif_slash_parser";
       packageName = "@oclif/parser";
-      version = "3.8.15";
+      version = "3.8.16";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@oclif/parser/-/parser-3.8.15.tgz";
-        sha512 = "M7ljUexkyJkR2efqG+PL31fAWyWDW1dczaMKoY+sOVqk78sm23iDMOJj/1vkfUrhO+W8dhseoPFnpSB6Hewfyw==";
+        url = "https://registry.npmjs.org/@oclif/parser/-/parser-3.8.16.tgz";
+        sha512 = "jeleXSh5izmBQ6vwyCJmbFPahPpd/ajxASi25FaYAWcvwVMzP/vKAKQXKWZun6T9K/gd6ywSsTpfAXiZAjBd6g==";
       };
     };
     "@oclif/plugin-autocomplete-0.1.5" = {
@@ -9779,13 +9383,13 @@ let
         sha512 = "oQl7ZqXhXJUOH26mDPcqcMGmcdIoK/uQPSpUBrfLa1iaQ30slTs0T7KOzg+vwKuPqIIF1nTCPuH67lE8GvUPTw==";
       };
     };
-    "@oclif/plugin-commands-2.2.15" = {
+    "@oclif/plugin-commands-2.2.17" = {
       name = "_at_oclif_slash_plugin-commands";
       packageName = "@oclif/plugin-commands";
-      version = "2.2.15";
+      version = "2.2.17";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@oclif/plugin-commands/-/plugin-commands-2.2.15.tgz";
-        sha512 = "QaTIZhG5SW7sr42p4crJyE7jindr1hdHdazWTjiiPjsFEP3zUxVsNmwEMWPsBBVsjzw/gtztgpAexkZWJD8rXA==";
+        url = "https://registry.npmjs.org/@oclif/plugin-commands/-/plugin-commands-2.2.17.tgz";
+        sha512 = "shjVZCopCIbTN8I/i/DR7NwqFRMFau++n3+x2ON7JSNRo+zr/lXQUejxv50D64etQ4dP5wyIyvs+t9iN7j//gg==";
       };
     };
     "@oclif/plugin-help-1.2.11" = {
@@ -9815,31 +9419,31 @@ let
         sha512 = "QuSiseNRJygaqAdABYFWn/H1CwIZCp9zp/PLid6yXvy6VcQV7OenEFF5XuYaCvSARe2Tg9r8Jqls5+fw1A9CbQ==";
       };
     };
-    "@oclif/plugin-help-5.2.14" = {
+    "@oclif/plugin-help-5.2.11" = {
       name = "_at_oclif_slash_plugin-help";
       packageName = "@oclif/plugin-help";
-      version = "5.2.14";
+      version = "5.2.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@oclif/plugin-help/-/plugin-help-5.2.14.tgz";
-        sha512 = "7hMLc6zqxeRfG4nvHHQPpbaBj60efM3ULFkCpHZkdLms/ezIkNo40F661QuraIjMP/NN+U6VSfBCGuPkRyxVkA==";
+        url = "https://registry.npmjs.org/@oclif/plugin-help/-/plugin-help-5.2.11.tgz";
+        sha512 = "B2cGOyRskorr8NiGrmIBYxEK0c4laJo+W16VeEblLVDW8w6BvnSwC6K4Vd6rkKmPHRsgqoYrA5BCfPTwvUdSCg==";
       };
     };
-    "@oclif/plugin-help-5.2.9" = {
+    "@oclif/plugin-help-5.2.15" = {
       name = "_at_oclif_slash_plugin-help";
       packageName = "@oclif/plugin-help";
-      version = "5.2.9";
+      version = "5.2.15";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@oclif/plugin-help/-/plugin-help-5.2.9.tgz";
-        sha512 = "0J3oowPURZJ4Dn1p1WpQ46E4+CoV20KTn1cvsNiDl6Hmbw+qoljKQnArJJzNFeZQxWo4R7/S42PrzKJTVYh68Q==";
+        url = "https://registry.npmjs.org/@oclif/plugin-help/-/plugin-help-5.2.15.tgz";
+        sha512 = "q3gC4kIRlTilA8sG/9Eq2BEW2wo2KWV0ZbQ+8i3uQCvrgY4qoCIp5JTfsbbKR5XWaqPDdZPWhWuS1Rveu5V4FA==";
       };
     };
-    "@oclif/plugin-not-found-2.3.32" = {
+    "@oclif/plugin-not-found-2.3.34" = {
       name = "_at_oclif_slash_plugin-not-found";
       packageName = "@oclif/plugin-not-found";
-      version = "2.3.32";
+      version = "2.3.34";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@oclif/plugin-not-found/-/plugin-not-found-2.3.32.tgz";
-        sha512 = "tVFHfR9XRUWrcxBugHjFr7HUmbLheDX05IaFr7fMF2hcvcqDs3DBjy42WKEoXSaBVTcST6KKhoSy2UVX8pk9Fg==";
+        url = "https://registry.npmjs.org/@oclif/plugin-not-found/-/plugin-not-found-2.3.34.tgz";
+        sha512 = "uXUpw6o2e0aqnNn+XkGL7LbL+Th2rBD1JGtFbb6anmvUvz2skiGz0o23BYmrQW8tvU92ajPOykfClKD75ptZcw==";
       };
     };
     "@oclif/plugin-plugins-2.4.7" = {
@@ -9851,22 +9455,22 @@ let
         sha512 = "6fzUDLWrSK7n6+EBrEekEEYrYTCneRoOF9TzojkjuFn1+ailvUlr98G90bblxKOyy8fqMe7QjvqwTgIDQ9ZIzg==";
       };
     };
-    "@oclif/plugin-update-3.1.27" = {
+    "@oclif/plugin-update-3.1.28" = {
       name = "_at_oclif_slash_plugin-update";
       packageName = "@oclif/plugin-update";
-      version = "3.1.27";
+      version = "3.1.28";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@oclif/plugin-update/-/plugin-update-3.1.27.tgz";
-        sha512 = "QJZGZ7WZIdE0g1PQ9E/jdfpStAaGI906f59dKWYyVx82vDyYc2hSMdiGiu1KFF6Q0ndR3Az37DSPVp1RPS+lpQ==";
+        url = "https://registry.npmjs.org/@oclif/plugin-update/-/plugin-update-3.1.28.tgz";
+        sha512 = "anP0kt73La0hzz9iqiBcxkXFwf7Mr+vQ+PdVnyKVTsI86yFWROFDmrBf5HSgF1rjvvGashvVGLq6hpKzSFUFJw==";
       };
     };
-    "@oclif/plugin-warn-if-update-available-2.0.44" = {
+    "@oclif/plugin-warn-if-update-available-2.0.46" = {
       name = "_at_oclif_slash_plugin-warn-if-update-available";
       packageName = "@oclif/plugin-warn-if-update-available";
-      version = "2.0.44";
+      version = "2.0.46";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@oclif/plugin-warn-if-update-available/-/plugin-warn-if-update-available-2.0.44.tgz";
-        sha512 = "52Ww0B4F1tMhwjw2fe73lhmfDI/F4ynf3ur7/xnpnVBEvj5JG4sqolbEJV/0lV85+4dJNsYJRxubbPYjxcbCcA==";
+        url = "https://registry.npmjs.org/@oclif/plugin-warn-if-update-available/-/plugin-warn-if-update-available-2.0.46.tgz";
+        sha512 = "TyOvPHzl1e8lLeRF8A9nhte+H9LR0arWqu+MYhNxzislx7SbG4M5yRhoH5F1MmwGxgJBbWHZVsmLjZm4S9cEog==";
       };
     };
     "@oclif/screen-1.0.4" = {
@@ -10202,40 +9806,40 @@ let
         sha512 = "O2yRJce1GOc6PAy3QxFM4NzFiWzvScDC1/5ihYBL6BUEVdq0XMWN01sppE+H6bBXbaFYipjwFLEWLg5PaSOThA==";
       };
     };
-    "@opentelemetry/core-1.15.0" = {
+    "@opentelemetry/core-1.15.1" = {
       name = "_at_opentelemetry_slash_core";
       packageName = "@opentelemetry/core";
-      version = "1.15.0";
+      version = "1.15.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@opentelemetry/core/-/core-1.15.0.tgz";
-        sha512 = "GGTS6BytfaN8OgbCUOnxg/a9WVsVUj0484zXHZuBzvIXx7V4Tmkb0IHnnhS7Q0cBLNLgjNuvrCpQaP8fIvO4bg==";
+        url = "https://registry.npmjs.org/@opentelemetry/core/-/core-1.15.1.tgz";
+        sha512 = "V6GoRTY6aANMDDOQ9CiHOiLWEK2b2b3OGZK+zk05Li5merb9jadFeV5ooTSGtjxfxVNMpQUaQERO1cdbdbeEGg==";
       };
     };
-    "@opentelemetry/resources-1.15.0" = {
+    "@opentelemetry/resources-1.15.1" = {
       name = "_at_opentelemetry_slash_resources";
       packageName = "@opentelemetry/resources";
-      version = "1.15.0";
+      version = "1.15.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@opentelemetry/resources/-/resources-1.15.0.tgz";
-        sha512 = "Sb8A6ZXHXDlgHv32UNRE3y8McWE3vkb5dsSttYArYa5ZpwjiF5ge0vnnKUUnG7bY0AgF9VBIOORZE8gsrnD2WA==";
+        url = "https://registry.npmjs.org/@opentelemetry/resources/-/resources-1.15.1.tgz";
+        sha512 = "15JcpyKZHhFYQ1uiC08vR02sRY/2seSnqSJ0tIUhcdYDzOhd0FrqPYpLj3WkLhVdQP6vgJ+pelAmSaOrCxCpKA==";
       };
     };
-    "@opentelemetry/sdk-trace-base-1.15.0" = {
+    "@opentelemetry/sdk-trace-base-1.15.1" = {
       name = "_at_opentelemetry_slash_sdk-trace-base";
       packageName = "@opentelemetry/sdk-trace-base";
-      version = "1.15.0";
+      version = "1.15.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.15.0.tgz";
-        sha512 = "udt1c9VHipbZwvCPIQR1VLg25Z4AMR/g0X8KmcInbFruGWQ/lptVPkz3yvWAsGSta5yHNQ3uoPwcyCygGnQ6Lg==";
+        url = "https://registry.npmjs.org/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.15.1.tgz";
+        sha512 = "5hccBe2yXzzXyExJNkTsIzDe1AM7HK0al+y/D2yEpslJqS1HUzsUSuCMY7Z4+Sfz5Gf0kTa6KYEt1QUQppnoBA==";
       };
     };
-    "@opentelemetry/semantic-conventions-1.15.0" = {
+    "@opentelemetry/semantic-conventions-1.15.1" = {
       name = "_at_opentelemetry_slash_semantic-conventions";
       packageName = "@opentelemetry/semantic-conventions";
-      version = "1.15.0";
+      version = "1.15.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.15.0.tgz";
-        sha512 = "f3wwFrFyCpGrFBrFs7lCUJSCSCGyeKG52c+EKeobs3Dd29M75yO6GYkt6PkYPfDawxSlV5p+4yJPPk8tPObzTQ==";
+        url = "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.15.1.tgz";
+        sha512 = "n8Kur1/CZlYG32YCEj30CoUqA8R7UyDVZzoEU6SDP+13+kXDT2kFVu6MpcnEUTyGP3i058ID6Qjp5h6IJxdPPQ==";
       };
     };
     "@opentelemetry/semantic-conventions-1.3.1" = {
@@ -10958,15 +10562,6 @@ let
         sha512 = "VtaY4spKTdN5LjJ04im/d/joXuvLbQdgy5Z4DXF4MFZhQ+MTrejbNMkfZBp1Bs3O5+bFqnJgyGdPuZQflvIa5A==";
       };
     };
-    "@phc/format-1.0.0" = {
-      name = "_at_phc_slash_format";
-      packageName = "@phc/format";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@phc/format/-/format-1.0.0.tgz";
-        sha512 = "m7X9U6BG2+J+R1lSOdCiITLLrxm+cWlNI3HUFA92oLO77ObGNzaKdh8pMLqdZcshtkKuV84olNNXDfMc4FezBQ==";
-      };
-    };
     "@pkgjs/parseargs-0.11.0" = {
       name = "_at_pkgjs_slash_parseargs";
       packageName = "@pkgjs/parseargs";
@@ -10976,22 +10571,22 @@ let
         sha512 = "+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==";
       };
     };
-    "@playwright/test-1.36.1" = {
+    "@playwright/test-1.36.2" = {
       name = "_at_playwright_slash_test";
       packageName = "@playwright/test";
-      version = "1.36.1";
+      version = "1.36.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@playwright/test/-/test-1.36.1.tgz";
-        sha512 = "YK7yGWK0N3C2QInPU6iaf/L3N95dlGdbsezLya4n0ZCh3IL7VgPGxC6Gnznh9ApWdOmkJeleT2kMTcWPRZvzqg==";
+        url = "https://registry.npmjs.org/@playwright/test/-/test-1.36.2.tgz";
+        sha512 = "2rVZeyPRjxfPH6J0oGJqE8YxiM1IBRyM8hyrXYK7eSiAqmbNhxwcLa7dZ7fy9Kj26V7FYia5fh9XJRq4Dqme+g==";
       };
     };
-    "@pm2/agent-2.0.1" = {
+    "@pm2/agent-2.0.3" = {
       name = "_at_pm2_slash_agent";
       packageName = "@pm2/agent";
-      version = "2.0.1";
+      version = "2.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@pm2/agent/-/agent-2.0.1.tgz";
-        sha512 = "QKHMm6yexcvdDfcNE7PL9D6uEjoQPGRi+8dh+rc4Hwtbpsbh5IAvZbz3BVGjcd4HaX6pt2xGpOohG7/Y2L4QLw==";
+        url = "https://registry.npmjs.org/@pm2/agent/-/agent-2.0.3.tgz";
+        sha512 = "xkqqCoTf5VsciMqN0vb9jthW7olVAi4KRFNddCc7ZkeJZ3i8QwZANr4NSH2H5DvseRFHq7MiPspRY/EWAFWWTg==";
       };
     };
     "@pm2/io-5.0.0" = {
@@ -11192,22 +10787,22 @@ let
         sha512 = "J/p2PcgT39Za4wpukbN6iUkEUvL5aE7Bs9kXBeEkrjEgc0Uu7J7B2ypwx9J0qM3m3lk2273RT5/4oGv8pfFLcg==";
       };
     };
-    "@prisma/engines-5.0.0" = {
+    "@prisma/engines-5.1.0" = {
       name = "_at_prisma_slash_engines";
       packageName = "@prisma/engines";
-      version = "5.0.0";
+      version = "5.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@prisma/engines/-/engines-5.0.0.tgz";
-        sha512 = "kyT/8fd0OpWmhAU5YnY7eP31brW1q1YrTGoblWrhQJDiN/1K+Z8S1kylcmtjqx5wsUGcP1HBWutayA/jtyt+sg==";
+        url = "https://registry.npmjs.org/@prisma/engines/-/engines-5.1.0.tgz";
+        sha512 = "HqaFsnPmZOdMWkPq6tT2eTVTQyaAXEDdKszcZ4yc7DGMBIYRP6j/zAJTtZUG9SsMV8FaucdL5vRyxY/p5Ni28g==";
       };
     };
-    "@prisma/prisma-schema-wasm-4.17.0-26.6b0aef69b7cdfc787f822ecd7cdc76d5f1991584" = {
+    "@prisma/prisma-schema-wasm-5.1.0-28.a9b7003df90aa623086e4d6f4e43c72468e6339b" = {
       name = "_at_prisma_slash_prisma-schema-wasm";
       packageName = "@prisma/prisma-schema-wasm";
-      version = "4.17.0-26.6b0aef69b7cdfc787f822ecd7cdc76d5f1991584";
+      version = "5.1.0-28.a9b7003df90aa623086e4d6f4e43c72468e6339b";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@prisma/prisma-schema-wasm/-/prisma-schema-wasm-4.17.0-26.6b0aef69b7cdfc787f822ecd7cdc76d5f1991584.tgz";
-        sha512 = "JFdsnSgBPN8reDTLOI9Vh/6ccCb2aD1LbY/LWQnkcIgNo6IdpzvuM+qRVbBuA6IZP2SdqQI8Lu6RL2P8EFBQUA==";
+        url = "https://registry.npmjs.org/@prisma/prisma-schema-wasm/-/prisma-schema-wasm-5.1.0-28.a9b7003df90aa623086e4d6f4e43c72468e6339b.tgz";
+        sha512 = "rm2mg85O/p99NhOgQfXwP78CCo+bkWNI1vNveQqmmlnra/74vYbvEj/Er+u3ML2u8Kl5tPRzuewt3RYkT36eFw==";
       };
     };
     "@protobufjs/aspromise-1.1.2" = {
@@ -11453,130 +11048,13 @@ let
         sha512 = "9GWx27t7xWhDIR02PA18nzBdLcKQRgc46xNQvjFkrYk4UOmvKhJ/dawwiX0cCOeetN5LcaaiqQbVOWYK62SGHw==";
       };
     };
-    "@redocly/openapi-core-1.0.0-rc.2" = {
+    "@redocly/openapi-core-1.0.0" = {
       name = "_at_redocly_slash_openapi-core";
       packageName = "@redocly/openapi-core";
-      version = "1.0.0-rc.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@redocly/openapi-core/-/openapi-core-1.0.0-rc.2.tgz";
-        sha512 = "YoYfvDphQktgXFC87vCwoREghCe+MyUbpiVPUv93w/ZrbTENpgYlJVLjN4KY3VcC6iSaaI/qsHr2r46M5t3oLQ==";
-      };
-    };
-    "@remix-run/dev-1.18.1" = {
-      name = "_at_remix-run_slash_dev";
-      packageName = "@remix-run/dev";
-      version = "1.18.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@vercel/remix-run-dev/-/remix-run-dev-1.18.1.tgz";
-        sha512 = "V9RCT+3VDB0wLbwq8Dp0XO6Cc1LxY4tCyxJ5loyX0L8sPBCgQ3/vMre3VKr8jLhjnfUGSrbXADxFM8/bq4ZeDQ==";
-      };
-    };
-    "@remix-run/express-1.19.0" = {
-      name = "_at_remix-run_slash_express";
-      packageName = "@remix-run/express";
-      version = "1.19.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@remix-run/express/-/express-1.19.0.tgz";
-        sha512 = "wPDKKJiwYosC8rOHrq0ONe3qKLnmy56osFoD04Y+WCPzua6LkpatLvymzlO+4j1Xwe7szMrDbUBsSHo7ZknCkg==";
-      };
-    };
-    "@remix-run/node-1.19.0" = {
-      name = "_at_remix-run_slash_node";
-      packageName = "@remix-run/node";
-      version = "1.19.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@remix-run/node/-/node-1.19.0.tgz";
-        sha512 = "gL0IBjcblddC85tQ5r7VHtS/oOVoWOoso+ZCC/G0SzZO/wEiq3bpi9c6UA1/bI1a9Kvgr+wKclWl9XwpWCGwvQ==";
-      };
-    };
-    "@remix-run/router-1.7.1" = {
-      name = "_at_remix-run_slash_router";
-      packageName = "@remix-run/router";
-      version = "1.7.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@remix-run/router/-/router-1.7.1.tgz";
-        sha512 = "bgVQM4ZJ2u2CM8k1ey70o1ePFXsEzYVZoWghh6WjM8p59jQ7HxzbHW4SbnWFG7V9ig9chLawQxDTZ3xzOF8MkQ==";
-      };
-    };
-    "@remix-run/router-1.7.2" = {
-      name = "_at_remix-run_slash_router";
-      packageName = "@remix-run/router";
-      version = "1.7.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@remix-run/router/-/router-1.7.2.tgz";
-        sha512 = "7Lcn7IqGMV+vizMPoEl5F0XDshcdDYtMI6uJLQdQz5CfZAwy3vvGKYSUk789qndt5dEC4HfSjviSYlSoHGL2+A==";
-      };
-    };
-    "@remix-run/serve-1.19.0" = {
-      name = "_at_remix-run_slash_serve";
-      packageName = "@remix-run/serve";
-      version = "1.19.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@remix-run/serve/-/serve-1.19.0.tgz";
-        sha512 = "OK3U4p/jSE5tOiyC+mSZGWU1fTMhUHiVNElr1mEhgLcMyLHaorenz9cY7ybInfVnpfBcWOmOeWWCJHLfcVjYJg==";
-      };
-    };
-    "@remix-run/server-runtime-1.18.1" = {
-      name = "_at_remix-run_slash_server-runtime";
-      packageName = "@remix-run/server-runtime";
-      version = "1.18.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@remix-run/server-runtime/-/server-runtime-1.18.1.tgz";
-        sha512 = "E0sQlgUQG2ytFmUH7zRH7n2MufnP6WWWq1KpRoiuwJZxfTFIzaiCCIiNqbP/uXGWDGcwEevpawNUzzszL1tT0w==";
-      };
-    };
-    "@remix-run/server-runtime-1.19.0" = {
-      name = "_at_remix-run_slash_server-runtime";
-      packageName = "@remix-run/server-runtime";
-      version = "1.19.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@remix-run/server-runtime/-/server-runtime-1.19.0.tgz";
-        sha512 = "Qwo/7omjLxbBB7nnzzgWd/PAScMjLEjNCeBkOw9qdgAubPSGqGakqG4w036fwQ3rXB5OlHsTOZI4Hxoh4AJHSg==";
-      };
-    };
-    "@remix-run/web-blob-3.0.4" = {
-      name = "_at_remix-run_slash_web-blob";
-      packageName = "@remix-run/web-blob";
-      version = "3.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@remix-run/web-blob/-/web-blob-3.0.4.tgz";
-        sha512 = "AfegzZvSSDc+LwnXV+SwROTrDtoLiPxeFW+jxgvtDAnkuCX1rrzmVJ6CzqZ1Ai0bVfmJadkG5GxtAfYclpPmgw==";
-      };
-    };
-    "@remix-run/web-fetch-4.3.5" = {
-      name = "_at_remix-run_slash_web-fetch";
-      packageName = "@remix-run/web-fetch";
-      version = "4.3.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@remix-run/web-fetch/-/web-fetch-4.3.5.tgz";
-        sha512 = "cLLeNLvLRyFRhJLulzS98bb07kJ+ENkGaqUkBisdG4FNEoZF6tXtrTGLWJNJa1nAP/wFkMKEDxIP77LgAPyeow==";
-      };
-    };
-    "@remix-run/web-file-3.0.2" = {
-      name = "_at_remix-run_slash_web-file";
-      packageName = "@remix-run/web-file";
-      version = "3.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@remix-run/web-file/-/web-file-3.0.2.tgz";
-        sha512 = "eFC93Onh/rZ5kUNpCQersmBtxedGpaXK2/gsUl49BYSGK/DvuPu3l06vmquEDdcPaEuXcsdGP0L7zrmUqrqo4A==";
-      };
-    };
-    "@remix-run/web-form-data-3.0.4" = {
-      name = "_at_remix-run_slash_web-form-data";
-      packageName = "@remix-run/web-form-data";
-      version = "3.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@remix-run/web-form-data/-/web-form-data-3.0.4.tgz";
-        sha512 = "UMF1jg9Vu9CLOf8iHBdY74Mm3PUvMW8G/XZRJE56SxKaOFWGSWlfxfG+/a3boAgHFLTkP7K4H1PxlRugy1iQtw==";
-      };
-    };
-    "@remix-run/web-stream-1.0.3" = {
-      name = "_at_remix-run_slash_web-stream";
-      packageName = "@remix-run/web-stream";
-      version = "1.0.3";
+      version = "1.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@remix-run/web-stream/-/web-stream-1.0.3.tgz";
-        sha512 = "wlezlJaA5NF6SsNMiwQnnAW6tnPzQ5I8qk0Y0pSohm0eHKa2FQ1QhEKLVVcDDu02TmkfHgnux0igNfeYhDOXiA==";
+        url = "https://registry.npmjs.org/@redocly/openapi-core/-/openapi-core-1.0.0.tgz";
+        sha512 = "wECCRB0obZuepmqmIUdwU0BB+YO3ibu0sX4IMLGgqWGa7etV14Yq0zjggdcArs3ynki2tBiop7p/+Q37FtsCpw==";
       };
     };
     "@repeaterjs/repeater-3.0.4" = {
@@ -11732,103 +11210,103 @@ let
         sha512 = "iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==";
       };
     };
-    "@rushstack/heft-config-file-0.12.4" = {
+    "@rushstack/heft-config-file-0.13.2" = {
       name = "_at_rushstack_slash_heft-config-file";
       packageName = "@rushstack/heft-config-file";
-      version = "0.12.4";
+      version = "0.13.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@rushstack/heft-config-file/-/heft-config-file-0.12.4.tgz";
-        sha512 = "tqH5RZH0FyULMUcAlKyU0VgdIRgX8ggCfWbfFwzmMXvPT88X0+GMspNT1QXKSXWYa7WbQ0VuNqfKGwFN5PcEwA==";
+        url = "https://registry.npmjs.org/@rushstack/heft-config-file/-/heft-config-file-0.13.2.tgz";
+        sha512 = "eJCuVnKR+uSG7qyeyICA57IOBD3OoOlNTpsJgNjcZZiTj+ZlKPaGmJ8/mzXwNiEpTIlRsVvoQURYFz9QY9sfnQ==";
       };
     };
-    "@rushstack/node-core-library-3.59.3" = {
+    "@rushstack/node-core-library-3.59.6" = {
       name = "_at_rushstack_slash_node-core-library";
       packageName = "@rushstack/node-core-library";
-      version = "3.59.3";
+      version = "3.59.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@rushstack/node-core-library/-/node-core-library-3.59.3.tgz";
-        sha512 = "OGk0nQc+SvDkn+IQN16co691A/96gPoRIoWdIlpUds+sYPAGWdTcNVjKMwFOAsCSASqOeF2lh1GdPtWoWJCkPQ==";
+        url = "https://registry.npmjs.org/@rushstack/node-core-library/-/node-core-library-3.59.6.tgz";
+        sha512 = "bMYJwNFfWXRNUuHnsE9wMlW/mOB4jIwSUkRKtu02CwZhQdmzMsUbxE0s1xOLwTpNIwlzfW/YT7OnOHgDffLgYg==";
       };
     };
-    "@rushstack/package-deps-hash-4.0.30" = {
+    "@rushstack/package-deps-hash-4.0.41" = {
       name = "_at_rushstack_slash_package-deps-hash";
       packageName = "@rushstack/package-deps-hash";
-      version = "4.0.30";
+      version = "4.0.41";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@rushstack/package-deps-hash/-/package-deps-hash-4.0.30.tgz";
-        sha512 = "MoINJZMdaLsvolB3StW006+C0CnD0ngncG+7ojnTh16zo8jU28izg/unC4fbqEAWxVws9gieJkUWG3R8nh/BXQ==";
+        url = "https://registry.npmjs.org/@rushstack/package-deps-hash/-/package-deps-hash-4.0.41.tgz";
+        sha512 = "bx1g0I54BidJuIqyQHY2Vr4Azn2ThLgrc6hHjEIBzIVmXeznZxJfYViAPNFAu7BV/TaLIU1BSYeRn/yObu9KZA==";
       };
     };
-    "@rushstack/package-extractor-0.2.17" = {
+    "@rushstack/package-extractor-0.3.11" = {
       name = "_at_rushstack_slash_package-extractor";
       packageName = "@rushstack/package-extractor";
-      version = "0.2.17";
+      version = "0.3.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@rushstack/package-extractor/-/package-extractor-0.2.17.tgz";
-        sha512 = "SpL4ACND0d8vqYV8UROSJuABbQCkWYQ2q0JXJYZH3C9orypIRPMnmJvpcDPAVZAh+PL/+HYqDxJ8BzHdluh+jA==";
+        url = "https://registry.npmjs.org/@rushstack/package-extractor/-/package-extractor-0.3.11.tgz";
+        sha512 = "j5hRGB/ilCozT7qH5q3swM/xdf/TPFtolWkqciYCU8G8WFXxILbN2nwo4goWyWQaD9hFlCiw9S7z8LTEkSmapQ==";
       };
     };
-    "@rushstack/rig-package-0.3.20" = {
+    "@rushstack/rig-package-0.4.0" = {
       name = "_at_rushstack_slash_rig-package";
       packageName = "@rushstack/rig-package";
-      version = "0.3.20";
+      version = "0.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@rushstack/rig-package/-/rig-package-0.3.20.tgz";
-        sha512 = "XemFRFbH9FOk1Es1kTjrYydenf3hXtrV3xxMCEWPuOSn2Lcll/dsLzEULbhCL0Nf5nGMe52ewEiVtX3odd5Ukg==";
+        url = "https://registry.npmjs.org/@rushstack/rig-package/-/rig-package-0.4.0.tgz";
+        sha512 = "FnM1TQLJYwSiurP6aYSnansprK5l8WUK8VG38CmAaZs29ZeL1msjK0AP1VS4ejD33G0kE/2cpsPsS9jDenBMxw==";
       };
     };
-    "@rushstack/rush-amazon-s3-build-cache-plugin-5.100.1" = {
+    "@rushstack/rush-amazon-s3-build-cache-plugin-5.100.2" = {
       name = "_at_rushstack_slash_rush-amazon-s3-build-cache-plugin";
       packageName = "@rushstack/rush-amazon-s3-build-cache-plugin";
-      version = "5.100.1";
+      version = "5.100.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@rushstack/rush-amazon-s3-build-cache-plugin/-/rush-amazon-s3-build-cache-plugin-5.100.1.tgz";
-        sha512 = "/Ss+MOHd6Oyi+9No6pMyQ1e8o3DX678VO4m/066hZJyHVDNI3ffoJ2ZNxF7yNkxYPAAbnY3lj6JYOQnIjZTAGQ==";
+        url = "https://registry.npmjs.org/@rushstack/rush-amazon-s3-build-cache-plugin/-/rush-amazon-s3-build-cache-plugin-5.100.2.tgz";
+        sha512 = "A49NzlRDcp0Hd5WZWN8jvnvI+0MoFOdRXL3iutVI12YAYBH6c7uSul+71MMY83x0yQqk4TcfGYVpFWx1j/n8/Q==";
       };
     };
-    "@rushstack/rush-azure-storage-build-cache-plugin-5.100.1" = {
+    "@rushstack/rush-azure-storage-build-cache-plugin-5.100.2" = {
       name = "_at_rushstack_slash_rush-azure-storage-build-cache-plugin";
       packageName = "@rushstack/rush-azure-storage-build-cache-plugin";
-      version = "5.100.1";
+      version = "5.100.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@rushstack/rush-azure-storage-build-cache-plugin/-/rush-azure-storage-build-cache-plugin-5.100.1.tgz";
-        sha512 = "9zkRzH/YX2IWRHV/ZHJ6uYYwRVKBlw9JD0mn/bOMvND/MiUmhZpUADXA5Q9Vmx9cxXvtoc2wc//RQa44Zlq0cw==";
+        url = "https://registry.npmjs.org/@rushstack/rush-azure-storage-build-cache-plugin/-/rush-azure-storage-build-cache-plugin-5.100.2.tgz";
+        sha512 = "FIAvmIfYLWhnygDCyUWSZOuyTWVRLFHYeG9xPmUpwJSPqxUL3HG5cRGVYlyRgK9oSJSEq+g0mpbe7nE8WwJgtg==";
       };
     };
-    "@rushstack/rush-sdk-5.100.1" = {
+    "@rushstack/rush-sdk-5.100.2" = {
       name = "_at_rushstack_slash_rush-sdk";
       packageName = "@rushstack/rush-sdk";
-      version = "5.100.1";
+      version = "5.100.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@rushstack/rush-sdk/-/rush-sdk-5.100.1.tgz";
-        sha512 = "71/451koP0bF1Y7/nI8i+5ECUMCHyLtwg+8mxccAQwvQGZF5iFV0KNRtLk/UtjZT8oOBVEiRJZtg4YQP25Y6Og==";
+        url = "https://registry.npmjs.org/@rushstack/rush-sdk/-/rush-sdk-5.100.2.tgz";
+        sha512 = "+4DKbXj6R8vilRYswH8Lb+WIuIoD29/ZjMmazKBKXJTm3x7sgGJy45ozAZbfeXvdOTzqsg11NzIbwaDm8rRhLQ==";
       };
     };
-    "@rushstack/stream-collator-4.0.248" = {
+    "@rushstack/stream-collator-4.0.259" = {
       name = "_at_rushstack_slash_stream-collator";
       packageName = "@rushstack/stream-collator";
-      version = "4.0.248";
+      version = "4.0.259";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@rushstack/stream-collator/-/stream-collator-4.0.248.tgz";
-        sha512 = "Ce/N1iftgFU57uHT6TojCPt4I+igZG2p7Zs9Hk41HFjQo2OuX2OSsAAjNBHfMmUiH5NwACwS2eFxlQvRk/0I4g==";
+        url = "https://registry.npmjs.org/@rushstack/stream-collator/-/stream-collator-4.0.259.tgz";
+        sha512 = "UfMRCp1avkUUs9pdtWQ8ZE8Nmuxeuw1a9bjLQ7cQJ3meuv8iDxKuxsyJRfrwIfCkVkNVw5OJ9eM6E/edUPP7qw==";
       };
     };
-    "@rushstack/terminal-0.5.23" = {
+    "@rushstack/terminal-0.5.34" = {
       name = "_at_rushstack_slash_terminal";
       packageName = "@rushstack/terminal";
-      version = "0.5.23";
+      version = "0.5.34";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@rushstack/terminal/-/terminal-0.5.23.tgz";
-        sha512 = "2HRzUKw5X77ls93i7DtiWXTIekvU4cMRtjf7bcap2bh8ryhAL1kTiNioMqY+6gNG8CI8co9GFrLns+UrGPxirQ==";
+        url = "https://registry.npmjs.org/@rushstack/terminal/-/terminal-0.5.34.tgz";
+        sha512 = "Q7YDkPTsvJZpHapapo5sK2VCxW7byoqhK89tXMUiva6dNwelomgEe0S+njKw4vcmGde4hQD7LAqQPJPYFeU4mw==";
       };
     };
-    "@rushstack/ts-command-line-4.15.0" = {
+    "@rushstack/ts-command-line-4.15.1" = {
       name = "_at_rushstack_slash_ts-command-line";
       packageName = "@rushstack/ts-command-line";
-      version = "4.15.0";
+      version = "4.15.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@rushstack/ts-command-line/-/ts-command-line-4.15.0.tgz";
-        sha512 = "Xl1Xc8d89ioJ6AbOQsSIPyYvrQPqmGG+YrqUZKYEDenZtKq57xuFbBJya9TXgAWSB+uVRmDYYd9ogu6WTwRjCQ==";
+        url = "https://registry.npmjs.org/@rushstack/ts-command-line/-/ts-command-line-4.15.1.tgz";
+        sha512 = "EL4jxZe5fhb1uVL/P/wQO+Z8Rc8FMiWJ1G7VgnPDvdIt5GVjRfK7vwzder1CZQiX3x0PY6uxENYLNGTFd1InRQ==";
       };
     };
     "@sailshq/lodash-3.10.4" = {
@@ -11858,13 +11336,13 @@ let
         sha512 = "c/qwwcHyafOQuVQJj0IlBjf5yYgBI7YPJ77k4fOJYesb41jio65eaJODRUmfYKhTOFBrIZ66kgvGPlNbjuoRdQ==";
       };
     };
-    "@schematics/angular-16.1.4" = {
+    "@schematics/angular-16.1.6" = {
       name = "_at_schematics_slash_angular";
       packageName = "@schematics/angular";
-      version = "16.1.4";
+      version = "16.1.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@schematics/angular/-/angular-16.1.4.tgz";
-        sha512 = "XfoeL+aBVIR/DzgVKGVhHW/TGQnqWvngyJVuCwXEVWzNfjxHYFkchXa78OItpAvTEr6/Y0Me9FQVAGVA4mMUyg==";
+        url = "https://registry.npmjs.org/@schematics/angular/-/angular-16.1.6.tgz";
+        sha512 = "BxghkeLfnMgV0D4DZDcbfPpox/Orw1ismSVGoQMIV/Daj2pqfSK+n97NAu0r0EsQyR5agPxOX9khVft+otODhg==";
       };
     };
     "@scure/base-1.1.1" = {
@@ -11912,13 +11390,13 @@ let
         sha512 = "P33hHGdldxGabLFjPPpaTxVolMrzrcegejx+0GxjrIb9Zv48D8yAIA/QTDR2dFl7Uz7urX8aX6+5bCZslr+gWQ==";
       };
     };
-    "@sentry-internal/tracing-7.59.3" = {
+    "@sentry-internal/tracing-7.61.0" = {
       name = "_at_sentry-internal_slash_tracing";
       packageName = "@sentry-internal/tracing";
-      version = "7.59.3";
+      version = "7.61.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@sentry-internal/tracing/-/tracing-7.59.3.tgz";
-        sha512 = "/RkBj/0zQKGsW/UYg6hufrLHHguncLfu4610FCPWpVp0K5Yu5ou8/Aw8D76G3ZxD2TiuSNGwX0o7TYN371ZqTQ==";
+        url = "https://registry.npmjs.org/@sentry-internal/tracing/-/tracing-7.61.0.tgz";
+        sha512 = "zTr+MXEG4SxNxif42LIgm2RQn+JRXL2NuGhRaKSD2i4lXKFqHVGlVdoWqY5UfqnnJPokiTWIj9ejR8I5HV8Ogw==";
       };
     };
     "@sentry/core-6.19.7" = {
@@ -11930,13 +11408,13 @@ let
         sha512 = "tOfZ/umqB2AcHPGbIrsFLcvApdTm9ggpi/kQZFkej7kMphjT+SGBiQfYtjyg9jcRW+ilAR4JXC9BGKsdEQ+8Vw==";
       };
     };
-    "@sentry/core-7.59.3" = {
+    "@sentry/core-7.61.0" = {
       name = "_at_sentry_slash_core";
       packageName = "@sentry/core";
-      version = "7.59.3";
+      version = "7.61.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@sentry/core/-/core-7.59.3.tgz";
-        sha512 = "cGBOwT9gziIn50fnlBH1WGQlGcHi7wrbvOCyrex4MxKnn1LSBYWBhwU0ymj8DI/9MyPrGDNGkrgpV0WJWBSClg==";
+        url = "https://registry.npmjs.org/@sentry/core/-/core-7.61.0.tgz";
+        sha512 = "zl0ZKRjIoYJQWYTd3K/U6zZfS4GDY9yGd2EH4vuYO4kfYtEp/nJ8A+tfAeDo0c9FGxZ0Q+5t5F4/SfwbgyyQzg==";
       };
     };
     "@sentry/hub-6.19.7" = {
@@ -11948,13 +11426,13 @@ let
         sha512 = "y3OtbYFAqKHCWezF0EGGr5lcyI2KbaXW2Ik7Xp8Mu9TxbSTuwTe4rTntwg8ngPjUQU3SUHzgjqVB8qjiGqFXCA==";
       };
     };
-    "@sentry/integrations-7.59.3" = {
+    "@sentry/integrations-7.61.0" = {
       name = "_at_sentry_slash_integrations";
       packageName = "@sentry/integrations";
-      version = "7.59.3";
+      version = "7.61.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@sentry/integrations/-/integrations-7.59.3.tgz";
-        sha512 = "w4e0kbTKN2g9u0PDaXVXK1QDO805XnlyrjG1GlGRt+lsB2TgZYxez34p1H/5n7UXLQ5SZq0ZmcHjqdNd1issUg==";
+        url = "https://registry.npmjs.org/@sentry/integrations/-/integrations-7.61.0.tgz";
+        sha512 = "NEQ+CatBfUM1TmA4FOOyHfsMvSIwSg4pA55Lxiq9quDykzkEtrXFzUfFpZbTunz4cegG8hucPOqbzKFrDPfGjQ==";
       };
     };
     "@sentry/minimal-6.19.7" = {
@@ -11975,13 +11453,13 @@ let
         sha512 = "gtmRC4dAXKODMpHXKfrkfvyBL3cI8y64vEi3fDD046uqYcrWdgoQsffuBbxMAizc6Ez1ia+f0Flue6p15Qaltg==";
       };
     };
-    "@sentry/node-7.59.3" = {
+    "@sentry/node-7.61.0" = {
       name = "_at_sentry_slash_node";
       packageName = "@sentry/node";
-      version = "7.59.3";
+      version = "7.61.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@sentry/node/-/node-7.59.3.tgz";
-        sha512 = "5dG90YzmKjuy5TK04qDuc9LBxnGfqsZw8Oh9giwOBfQVCaFp7R14AXyQ1F8k3iUF+4sGeTvoqi9I/GKAItVmlA==";
+        url = "https://registry.npmjs.org/@sentry/node/-/node-7.61.0.tgz";
+        sha512 = "oTCqD/h92uvbRCrtCdiAqN6Mfe3vF7ywVHZ8Nq3hHmJp6XadUT+fCBwNQ7rjMyqJAOYAnx/vp6iN9n8C5qcYZQ==";
       };
     };
     "@sentry/types-6.19.7" = {
@@ -11993,13 +11471,13 @@ let
         sha512 = "jH84pDYE+hHIbVnab3Hr+ZXr1v8QABfhx39KknxqKWr2l0oEItzepV0URvbEhB446lk/S/59230dlUUIBGsXbg==";
       };
     };
-    "@sentry/types-7.59.3" = {
+    "@sentry/types-7.61.0" = {
       name = "_at_sentry_slash_types";
       packageName = "@sentry/types";
-      version = "7.59.3";
+      version = "7.61.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@sentry/types/-/types-7.59.3.tgz";
-        sha512 = "HQ/Pd3YHyIa4HM0bGfOsfI4ZF+sLVs6II9VtlS4hsVporm4ETl3Obld5HywO3aVYvWOk5j/bpAW9JYsxXjRG5A==";
+        url = "https://registry.npmjs.org/@sentry/types/-/types-7.61.0.tgz";
+        sha512 = "/GLlIBNR35NKPE/SfWi9W10dK9hE8qTShzsuPVn5wAJxpT3Lb4+dkwmKCTLUYxdkmvRDEudkfOxgalsfQGTAWA==";
       };
     };
     "@sentry/utils-6.19.7" = {
@@ -12011,13 +11489,13 @@ let
         sha512 = "z95ECmE3i9pbWoXQrD/7PgkBAzJYR+iXtPuTkpBjDKs86O3mT+PXOT3BAn79w2wkn7/i3vOGD2xVr1uiMl26dA==";
       };
     };
-    "@sentry/utils-7.59.3" = {
+    "@sentry/utils-7.61.0" = {
       name = "_at_sentry_slash_utils";
       packageName = "@sentry/utils";
-      version = "7.59.3";
+      version = "7.61.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@sentry/utils/-/utils-7.59.3.tgz";
-        sha512 = "Q57xauMKuzd6S+POA1fmulfjzTsb/z118TNAfZZNkHqVB48hHBqgzdhbEBmN4jPCSKV2Cx7VJUoDZxJfzQyLUQ==";
+        url = "https://registry.npmjs.org/@sentry/utils/-/utils-7.61.0.tgz";
+        sha512 = "jfj14d0XBFiCU0G6dZZ12SizATiF5Mt4stBGzkM5iS9nXFj8rh1oTT7/p+aZoYzP2JTF+sDzkNjWxyKZkcTo0Q==";
       };
     };
     "@serialport/binding-mock-10.2.2" = {
@@ -12182,22 +11660,22 @@ let
         sha512 = "yokWzlsIaAd3TWzNgIDz6l8HZmtYZs9caaLuheZ0IiZ/bDWSCLBWn84HKkdWZOmFnYxejyPNJEOwE59mtSR3Ow==";
       };
     };
-    "@shopify/cli-kit-3.47.5" = {
+    "@shopify/cli-kit-3.48.0" = {
       name = "_at_shopify_slash_cli-kit";
       packageName = "@shopify/cli-kit";
-      version = "3.47.5";
+      version = "3.48.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@shopify/cli-kit/-/cli-kit-3.47.5.tgz";
-        sha512 = "YCXKwd7boa2hHfuDqKsAubhNFUomrUmLVdmZsniKZmjU0uiucE+o20kDFOALaZlE1NaaaCKwdbFObBfTrelT/Q==";
+        url = "https://registry.npmjs.org/@shopify/cli-kit/-/cli-kit-3.48.0.tgz";
+        sha512 = "UQ1gmtQluS42UpVPJCyxNRi+v8pXICXJLGAm/v95NCQAjy6XWsf7AhyrfABlnXOc7ajKxmF2G1DFaswHoIGQVQ==";
       };
     };
-    "@shopify/plugin-did-you-mean-3.47.5" = {
+    "@shopify/plugin-did-you-mean-3.48.0" = {
       name = "_at_shopify_slash_plugin-did-you-mean";
       packageName = "@shopify/plugin-did-you-mean";
-      version = "3.47.5";
+      version = "3.48.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@shopify/plugin-did-you-mean/-/plugin-did-you-mean-3.47.5.tgz";
-        sha512 = "MgcMM9M3OgU/rK38zX6j1A/H9+/7JoSaw5pkgRlIHv3A21QG7YmE22zMHvd3nppbXNN4qQ+/oRdT5Ms4aKEMyw==";
+        url = "https://registry.npmjs.org/@shopify/plugin-did-you-mean/-/plugin-did-you-mean-3.48.0.tgz";
+        sha512 = "SL/75M8cpoOQop857PfZQ5gJ3sF/cg4oMFaJQlLjVKM4P0ZFVS/0myj3WLzxVF3QQHzdf/h+yS+KnoC7dykBNw==";
       };
     };
     "@sideway/address-4.1.4" = {
@@ -12335,13 +11813,13 @@ let
         sha512 = "t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==";
       };
     };
-    "@sindresorhus/is-5.5.2" = {
+    "@sindresorhus/is-5.6.0" = {
       name = "_at_sindresorhus_slash_is";
       packageName = "@sindresorhus/is";
-      version = "5.5.2";
+      version = "5.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@sindresorhus/is/-/is-5.5.2.tgz";
-        sha512 = "8ZMK+V6YpeZFfW6hU9uAeWVuq8v3t7BaG276gIO+kVqnAcLrHCXdFUOf7kgouyfAarkZtuavIqY3RsXTsTWviw==";
+        url = "https://registry.npmjs.org/@sindresorhus/is/-/is-5.6.0.tgz";
+        sha512 = "TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==";
       };
     };
     "@sinonjs/commons-1.8.6" = {
@@ -12371,427 +11849,436 @@ let
         sha512 = "CWr7a3rTVrN5Vs8GYReRAvTourbXHOqB1zglcskj05ICH4GZL5BOAza2ARai+qc3Nz0nY08Bozi1x0014KOqlg==";
       };
     };
-    "@smithy/abort-controller-1.0.2" = {
+    "@smithy/abort-controller-2.0.1" = {
       name = "_at_smithy_slash_abort-controller";
       packageName = "@smithy/abort-controller";
-      version = "1.0.2";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-1.0.2.tgz";
-        sha512 = "tb2h0b+JvMee+eAxTmhnyqyNk51UXIK949HnE14lFeezKsVJTB30maan+CO2IMwnig2wVYQH84B5qk6ylmKCuA==";
+        url = "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-2.0.1.tgz";
+        sha512 = "0s7XjIbsTwZyUW9OwXQ8J6x1UiA1TNCh60Vaw56nHahL7kUZsLhmTlWiaxfLkFtO2Utkj8YewcpHTYpxaTzO+w==";
       };
     };
-    "@smithy/chunked-blob-reader-1.0.2" = {
+    "@smithy/chunked-blob-reader-2.0.0" = {
       name = "_at_smithy_slash_chunked-blob-reader";
       packageName = "@smithy/chunked-blob-reader";
-      version = "1.0.2";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@smithy/chunked-blob-reader/-/chunked-blob-reader-1.0.2.tgz";
-        sha512 = "B2x76NIPqC883lvnISprpO2eDlI41SznmoDTehoPbVpVcI2A7Nwg3nYA+p8XTpFF06cIFgjmOs9M0il2HquFQQ==";
+        url = "https://registry.npmjs.org/@smithy/chunked-blob-reader/-/chunked-blob-reader-2.0.0.tgz";
+        sha512 = "k+J4GHJsMSAIQPChGBrjEmGS+WbPonCXesoqP9fynIqjn7rdOThdH8FAeCmokP9mxTYKQAKoHCLPzNlm6gh7Wg==";
       };
     };
-    "@smithy/chunked-blob-reader-native-1.0.2" = {
+    "@smithy/chunked-blob-reader-native-2.0.0" = {
       name = "_at_smithy_slash_chunked-blob-reader-native";
       packageName = "@smithy/chunked-blob-reader-native";
-      version = "1.0.2";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@smithy/chunked-blob-reader-native/-/chunked-blob-reader-native-1.0.2.tgz";
-        sha512 = "ychahynhO3kMhw/nWX3AAVaMeGezsH6ugc6UZ/P9DABgYcPkDMOmtZOOe3yGI9OYuLB/ZG4y+Gd0eHv5ClEdNw==";
+        url = "https://registry.npmjs.org/@smithy/chunked-blob-reader-native/-/chunked-blob-reader-native-2.0.0.tgz";
+        sha512 = "HM8V2Rp1y8+1343tkZUKZllFhEQPNmpNdgFAncbTsxkZ18/gqjk23XXv3qGyXWp412f3o43ZZ1UZHVcHrpRnCQ==";
       };
     };
-    "@smithy/config-resolver-1.0.2" = {
+    "@smithy/config-resolver-2.0.1" = {
       name = "_at_smithy_slash_config-resolver";
       packageName = "@smithy/config-resolver";
-      version = "1.0.2";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-1.0.2.tgz";
-        sha512 = "8Bk7CgnVKg1dn5TgnjwPz2ebhxeR7CjGs5yhVYH3S8x0q8yPZZVWwpRIglwXaf5AZBzJlNO1lh+lUhMf2e73zQ==";
+        url = "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-2.0.1.tgz";
+        sha512 = "l83Pm7hV+8CBQOCmBRopWDtF+CURUJol7NsuPYvimiDhkC2F8Ba9T1imSFE+pD1UIJ9jlsDPAnZfPJT5cjnuEw==";
       };
     };
-    "@smithy/credential-provider-imds-1.0.2" = {
+    "@smithy/credential-provider-imds-2.0.1" = {
       name = "_at_smithy_slash_credential-provider-imds";
       packageName = "@smithy/credential-provider-imds";
-      version = "1.0.2";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-1.0.2.tgz";
-        sha512 = "fLjCya+JOu2gPJpCiwSUyoLvT8JdNJmOaTOkKYBZoGf7CzqR6lluSyI+eboZnl/V0xqcfcqBG4tgqCISmWS3/w==";
+        url = "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-2.0.1.tgz";
+        sha512 = "8VxriuRINNEfVZjEFKBY75y9ZWAx73DZ5K/u+3LmB6r8WR2h3NaFxFKMlwlq0uzNdGhD1ouKBn9XWEGYHKiPLw==";
       };
     };
-    "@smithy/eventstream-codec-1.0.2" = {
+    "@smithy/eventstream-codec-2.0.1" = {
       name = "_at_smithy_slash_eventstream-codec";
       packageName = "@smithy/eventstream-codec";
-      version = "1.0.2";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@smithy/eventstream-codec/-/eventstream-codec-1.0.2.tgz";
-        sha512 = "eW/XPiLauR1VAgHKxhVvgvHzLROUgTtqat2lgljztbH8uIYWugv7Nz+SgCavB+hWRazv2iYgqrSy74GvxXq/rg==";
+        url = "https://registry.npmjs.org/@smithy/eventstream-codec/-/eventstream-codec-2.0.1.tgz";
+        sha512 = "/IiNB7gQM2y2ZC/GAWOWDa8+iXfhr1g9Xe5979cQEOdCWDISvrAiv18cn3OtIQUhbYOR3gm7QtCpkq1to2takQ==";
       };
     };
-    "@smithy/eventstream-serde-browser-1.0.2" = {
+    "@smithy/eventstream-serde-browser-2.0.1" = {
       name = "_at_smithy_slash_eventstream-serde-browser";
       packageName = "@smithy/eventstream-serde-browser";
-      version = "1.0.2";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@smithy/eventstream-serde-browser/-/eventstream-serde-browser-1.0.2.tgz";
-        sha512 = "8bDImzBewLQrIF6hqxMz3eoYwEus2E5JrEwKnhpkSFkkoj8fDSKiLeP/26xfcaoVJgZXB8M1c6jSEZiY3cUMsw==";
+        url = "https://registry.npmjs.org/@smithy/eventstream-serde-browser/-/eventstream-serde-browser-2.0.1.tgz";
+        sha512 = "9E1/6ZGF7nB/Td3G1kcatU7VjjP8eZ/p/Q+0KsZc1AUPyv4lR15pmWnWj3iGBEGYI9qZBJ/7a/wPEPayabmA3Q==";
       };
     };
-    "@smithy/eventstream-serde-config-resolver-1.0.2" = {
+    "@smithy/eventstream-serde-config-resolver-2.0.1" = {
       name = "_at_smithy_slash_eventstream-serde-config-resolver";
       packageName = "@smithy/eventstream-serde-config-resolver";
-      version = "1.0.2";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@smithy/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-1.0.2.tgz";
-        sha512 = "SeiJ5pfrXzkGP4WCt9V3Pimfr3OM85Nyh9u/V4J6E0O2dLOYuqvSuKdVnktV0Tcmuu1ZYbt78Th0vfetnSEcdQ==";
+        url = "https://registry.npmjs.org/@smithy/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-2.0.1.tgz";
+        sha512 = "J8a+8HH8oDPIgq8Px/nPLfu9vpIjQ7XUPtP3orbs8KUh0GznNthSTy1xZP5RXjRqGQEkxPvsHf1po2+QOsgNFw==";
       };
     };
-    "@smithy/eventstream-serde-node-1.0.2" = {
+    "@smithy/eventstream-serde-node-2.0.1" = {
       name = "_at_smithy_slash_eventstream-serde-node";
       packageName = "@smithy/eventstream-serde-node";
-      version = "1.0.2";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@smithy/eventstream-serde-node/-/eventstream-serde-node-1.0.2.tgz";
-        sha512 = "jqSfi7bpOBHqgd5OgUtCX0wAVhPqxlVdqcj2c4gHaRRXcbpCmK0DRDg7P+Df0h4JJVvTqI6dy2c0YhHk5ehPCw==";
+        url = "https://registry.npmjs.org/@smithy/eventstream-serde-node/-/eventstream-serde-node-2.0.1.tgz";
+        sha512 = "wklowUz0zXJuqC7FMpriz66J8OAko3z6INTg+iMJWYB1bWv4pc5V7q36PxlZ0RKRbj0u+EThlozWgzE7Stz2Sw==";
       };
     };
-    "@smithy/eventstream-serde-universal-1.0.2" = {
+    "@smithy/eventstream-serde-universal-2.0.1" = {
       name = "_at_smithy_slash_eventstream-serde-universal";
       packageName = "@smithy/eventstream-serde-universal";
-      version = "1.0.2";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@smithy/eventstream-serde-universal/-/eventstream-serde-universal-1.0.2.tgz";
-        sha512 = "cQ9bT0j0x49cp8TQ1yZSnn4+9qU0WQSTkoucl3jKRoTZMzNYHg62LQao6HTQ3Jgd77nAXo00c7hqUEjHXwNA+A==";
+        url = "https://registry.npmjs.org/@smithy/eventstream-serde-universal/-/eventstream-serde-universal-2.0.1.tgz";
+        sha512 = "WPPylIgVZ6wOYVgpF0Rs1LlocYyj248MRtKEEehnDvC+0tV7wmGt7H/SchCh10W4y4YUxuzPlW+mUvVMGmLSVg==";
       };
     };
-    "@smithy/fetch-http-handler-1.0.2" = {
+    "@smithy/fetch-http-handler-2.0.1" = {
       name = "_at_smithy_slash_fetch-http-handler";
       packageName = "@smithy/fetch-http-handler";
-      version = "1.0.2";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-1.0.2.tgz";
-        sha512 = "kynyofLf62LvR8yYphPPdyHb8fWG3LepFinM/vWUTG2Q1pVpmPCM530ppagp3+q2p+7Ox0UvSqldbKqV/d1BpA==";
+        url = "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-2.0.1.tgz";
+        sha512 = "/SoU/ClazgcdOxgE4zA7RX8euiELwpsrKCSvulVQvu9zpmqJRyEJn8ZTWYFV17/eHOBdHTs9kqodhNhsNT+cUw==";
       };
     };
-    "@smithy/hash-blob-browser-1.0.2" = {
+    "@smithy/hash-blob-browser-2.0.1" = {
       name = "_at_smithy_slash_hash-blob-browser";
       packageName = "@smithy/hash-blob-browser";
-      version = "1.0.2";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@smithy/hash-blob-browser/-/hash-blob-browser-1.0.2.tgz";
-        sha512 = "6SFzZ18aZNplDTvmbUhaxB83TVPGhe0FEAQInYQIj2lQd5Qraw2/KEE8HIfW4UxqxcoTSb0aYS0PqdUhI+dttQ==";
+        url = "https://registry.npmjs.org/@smithy/hash-blob-browser/-/hash-blob-browser-2.0.1.tgz";
+        sha512 = "i/o2+sHb4jDRz5nf2ilTTbC0nVmm4LO//FbODCAB7pbzMdywxbZ6z+q56FmEa8R+aFbtApxQ1SJ3umEiNz6IPg==";
       };
     };
-    "@smithy/hash-node-1.0.2" = {
+    "@smithy/hash-node-2.0.1" = {
       name = "_at_smithy_slash_hash-node";
       packageName = "@smithy/hash-node";
-      version = "1.0.2";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-1.0.2.tgz";
-        sha512 = "K6PKhcUNrJXtcesyzhIvNlU7drfIU7u+EMQuGmPw6RQDAg/ufUcfKHz4EcUhFAodUmN+rrejhRG9U6wxjeBOQA==";
+        url = "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-2.0.1.tgz";
+        sha512 = "oTKYimQdF4psX54ZonpcIE+MXjMUWFxLCNosjPkJPFQ9whRX0K/PFX/+JZGRQh3zO9RlEOEUIbhy9NO+Wha6hw==";
       };
     };
-    "@smithy/invalid-dependency-1.0.2" = {
+    "@smithy/hash-stream-node-2.0.1" = {
+      name = "_at_smithy_slash_hash-stream-node";
+      packageName = "@smithy/hash-stream-node";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@smithy/hash-stream-node/-/hash-stream-node-2.0.1.tgz";
+        sha512 = "AequnQdPRuXf4AuvvFlSjnkWI460xxhAd6y362gFtOE4jjJLLXblbMAXVFrkV8/pDMGNjpVegVSpRmHXZsbKhg==";
+      };
+    };
+    "@smithy/invalid-dependency-2.0.1" = {
       name = "_at_smithy_slash_invalid-dependency";
       packageName = "@smithy/invalid-dependency";
-      version = "1.0.2";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-1.0.2.tgz";
-        sha512 = "B1Y3Tsa6dfC+Vvb+BJMhTHOfFieeYzY9jWQSTR1vMwKkxsymD0OIAnEw8rD/RiDj/4E4RPGFdx9Mdgnyd6Bv5Q==";
+        url = "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-2.0.1.tgz";
+        sha512 = "2q/Eb0AE662zwyMV+z+TL7deBwcHCgaZZGc0RItamBE8kak3MzCi/EZCNoFWoBfxgQ4jfR12wm8KKsSXhJzJtQ==";
       };
     };
-    "@smithy/is-array-buffer-1.0.2" = {
+    "@smithy/is-array-buffer-2.0.0" = {
       name = "_at_smithy_slash_is-array-buffer";
       packageName = "@smithy/is-array-buffer";
-      version = "1.0.2";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-1.0.2.tgz";
-        sha512 = "pkyBnsBRpe+c/6ASavqIMRBdRtZNJEVJOEzhpxZ9JoAXiZYbkfaSMRA/O1dUxGdJ653GHONunnZ4xMo/LJ7utQ==";
+        url = "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.0.0.tgz";
+        sha512 = "z3PjFjMyZNI98JFRJi/U0nGoLWMSJlDjAW4QUX2WNZLas5C0CmVV6LJ01JI0k90l7FvpmixjWxPFmENSClQ7ug==";
       };
     };
-    "@smithy/md5-js-1.0.2" = {
+    "@smithy/md5-js-2.0.1" = {
       name = "_at_smithy_slash_md5-js";
       packageName = "@smithy/md5-js";
-      version = "1.0.2";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@smithy/md5-js/-/md5-js-1.0.2.tgz";
-        sha512 = "0yUgIvIUt63Rb5+ErZTraQguc4Vu3Fw7NKJL0ozLnj1hcYDrt45pfQjUMztKBE7ve32vCnuSOA4LCAe3fudHZA==";
+        url = "https://registry.npmjs.org/@smithy/md5-js/-/md5-js-2.0.1.tgz";
+        sha512 = "8WWOtwWMmIDgTkRv1o3opy3ABsRXs4/XunETK53ckxQRAiOML1PlnqLBK9Uwk9bvOD6cpmsC6dioIfmKGpJ25w==";
       };
     };
-    "@smithy/middleware-content-length-1.0.2" = {
+    "@smithy/middleware-content-length-2.0.1" = {
       name = "_at_smithy_slash_middleware-content-length";
       packageName = "@smithy/middleware-content-length";
-      version = "1.0.2";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-1.0.2.tgz";
-        sha512 = "pa1/SgGIrSmnEr2c9Apw7CdU4l/HW0fK3+LKFCPDYJrzM0JdYpqjQzgxi31P00eAkL0EFBccpus/p1n2GF9urw==";
+        url = "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-2.0.1.tgz";
+        sha512 = "IZhRSk5GkVBcrKaqPXddBS2uKhaqwBgaSgbBb1OJyGsKe7SxRFbclWS0LqOR9fKUkDl+3lL8E2ffpo6EQg0igw==";
       };
     };
-    "@smithy/middleware-endpoint-1.0.3" = {
+    "@smithy/middleware-endpoint-2.0.1" = {
       name = "_at_smithy_slash_middleware-endpoint";
       packageName = "@smithy/middleware-endpoint";
-      version = "1.0.3";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-1.0.3.tgz";
-        sha512 = "GsWvTXMFjSgl617PCE2km//kIjjtvMRrR2GAuRDIS9sHiLwmkS46VWaVYy+XE7ubEsEtzZ5yK2e8TKDR6Qr5Lw==";
+        url = "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-2.0.1.tgz";
+        sha512 = "uz/KI1MBd9WHrrkVFZO4L4Wyv24raf0oR4EsOYEeG5jPJO5U+C7MZGLcMxX8gWERDn1sycBDqmGv8fjUMLxT6w==";
       };
     };
-    "@smithy/middleware-retry-1.0.4" = {
+    "@smithy/middleware-retry-2.0.1" = {
       name = "_at_smithy_slash_middleware-retry";
       packageName = "@smithy/middleware-retry";
-      version = "1.0.4";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-1.0.4.tgz";
-        sha512 = "G7uRXGFL8c3F7APnoIMTtNAHH8vT4F2qVnAWGAZaervjupaUQuRRHYBLYubK0dWzOZz86BtAXKieJ5p+Ni2Xpg==";
+        url = "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-2.0.1.tgz";
+        sha512 = "NKHF4i0gjSyjO6C0ZyjEpNqzGgIu7s8HOK6oT/1Jqws2Q1GynR1xV8XTUs1gKXeaNRzbzKQRewHHmfPwZjOtHA==";
       };
     };
-    "@smithy/middleware-serde-1.0.2" = {
+    "@smithy/middleware-serde-2.0.1" = {
       name = "_at_smithy_slash_middleware-serde";
       packageName = "@smithy/middleware-serde";
-      version = "1.0.2";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-1.0.2.tgz";
-        sha512 = "T4PcdMZF4xme6koUNfjmSZ1MLi7eoFeYCtodQNQpBNsS77TuJt1A6kt5kP/qxrTvfZHyFlj0AubACoaUqgzPeg==";
+        url = "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-2.0.1.tgz";
+        sha512 = "uKxPaC6ItH9ZXdpdqNtf8sda7GcU4SPMp0tomq/5lUg9oiMa/Q7+kD35MUrpKaX3IVXVrwEtkjCU9dogZ/RAUA==";
       };
     };
-    "@smithy/middleware-stack-1.0.2" = {
+    "@smithy/middleware-stack-2.0.0" = {
       name = "_at_smithy_slash_middleware-stack";
       packageName = "@smithy/middleware-stack";
-      version = "1.0.2";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-1.0.2.tgz";
-        sha512 = "H7/uAQEcmO+eDqweEFMJ5YrIpsBwmrXSP6HIIbtxKJSQpAcMGY7KrR2FZgZBi1FMnSUOh+rQrbOyj5HQmSeUBA==";
+        url = "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-2.0.0.tgz";
+        sha512 = "31XC1xNF65nlbc16yuh3wwTudmqs6qy4EseQUGF8A/p2m/5wdd/cnXJqpniy/XvXVwkHPz/GwV36HqzHtIKATQ==";
       };
     };
-    "@smithy/node-config-provider-1.0.2" = {
+    "@smithy/node-config-provider-2.0.1" = {
       name = "_at_smithy_slash_node-config-provider";
       packageName = "@smithy/node-config-provider";
-      version = "1.0.2";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-1.0.2.tgz";
-        sha512 = "HU7afWpTToU0wL6KseGDR2zojeyjECQfr8LpjAIeHCYIW7r360ABFf4EaplaJRMVoC3hD9FeltgI3/NtShOqCg==";
+        url = "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-2.0.1.tgz";
+        sha512 = "Zoel4CPkKRTQ2XxmozZUfqBYqjPKL53/SvTDhJHj+VBSiJy6MXRav1iDCyFPS92t40Uh+Yi+Km5Ch3hQ+c/zSA==";
       };
     };
-    "@smithy/node-http-handler-1.0.3" = {
+    "@smithy/node-http-handler-2.0.1" = {
       name = "_at_smithy_slash_node-http-handler";
       packageName = "@smithy/node-http-handler";
-      version = "1.0.3";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-1.0.3.tgz";
-        sha512 = "PcPUSzTbIb60VCJCiH0PU0E6bwIekttsIEf5Aoo/M0oTfiqsxHTn0Rcij6QoH6qJy6piGKXzLSegspXg5+Kq6g==";
+        url = "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-2.0.1.tgz";
+        sha512 = "Zv3fxk3p9tsmPT2CKMsbuwbbxnq2gzLDIulxv+yI6aE+02WPYorObbbe9gh7SW3weadMODL1vTfOoJ9yFypDzg==";
       };
     };
-    "@smithy/property-provider-1.0.2" = {
+    "@smithy/property-provider-2.0.1" = {
       name = "_at_smithy_slash_property-provider";
       packageName = "@smithy/property-provider";
-      version = "1.0.2";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-1.0.2.tgz";
-        sha512 = "pXDPyzKX8opzt38B205kDgaxda6LHcTfPvTYQZnwP6BAPp1o9puiCPjeUtkKck7Z6IbpXCPUmUQnzkUzWTA42Q==";
+        url = "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-2.0.1.tgz";
+        sha512 = "pmJRyY9SF6sutWIktIhe+bUdSQDxv/qZ4mYr3/u+u45riTPN7nmRxPo+e4sjWVoM0caKFjRSlj3tf5teRFy0Vg==";
       };
     };
-    "@smithy/protocol-http-1.1.1" = {
+    "@smithy/protocol-http-2.0.1" = {
       name = "_at_smithy_slash_protocol-http";
       packageName = "@smithy/protocol-http";
-      version = "1.1.1";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-1.1.1.tgz";
-        sha512 = "mFLFa2sSvlUxm55U7B4YCIsJJIMkA6lHxwwqOaBkral1qxFz97rGffP/mmd4JDuin1EnygiO5eNJGgudiUgmDQ==";
+        url = "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-2.0.1.tgz";
+        sha512 = "mrkMAp0wtaDEIkgRObWYxI1Kun1tm6Iu6rK+X4utb6Ah7Uc3Kk4VIWwK/rBHdYGReiLIrxFCB1rq4a2gyZnSgg==";
       };
     };
-    "@smithy/querystring-builder-1.0.2" = {
+    "@smithy/querystring-builder-2.0.1" = {
       name = "_at_smithy_slash_querystring-builder";
       packageName = "@smithy/querystring-builder";
-      version = "1.0.2";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-1.0.2.tgz";
-        sha512 = "6P/xANWrtJhMzTPUR87AbXwSBuz1SDHIfL44TFd/GT3hj6rA+IEv7rftEpPjayUiWRocaNnrCPLvmP31mobOyA==";
+        url = "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-2.0.1.tgz";
+        sha512 = "bp+93WFzx1FojVEIeFPtG0A1pKsFdCUcZvVdZdRlmNooOUrz9Mm9bneRd8hDwAQ37pxiZkCOxopSXXRQN10mYw==";
       };
     };
-    "@smithy/querystring-parser-1.0.2" = {
+    "@smithy/querystring-parser-2.0.1" = {
       name = "_at_smithy_slash_querystring-parser";
       packageName = "@smithy/querystring-parser";
-      version = "1.0.2";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-1.0.2.tgz";
-        sha512 = "IWxwxjn+KHWRRRB+K2Ngl+plTwo2WSgc2w+DvLy0DQZJh9UGOpw40d6q97/63GBlXIt4TEt5NbcFrO30CKlrsA==";
+        url = "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-2.0.1.tgz";
+        sha512 = "h+e7k1z+IvI2sSbUBG9Aq46JsgLl4UqIUl6aigAlRBj+P6ocNXpM6Yn1vMBw5ijtXeZbYpd1YvCxwDgdw3jhmg==";
       };
     };
-    "@smithy/service-error-classification-1.0.3" = {
+    "@smithy/service-error-classification-2.0.0" = {
       name = "_at_smithy_slash_service-error-classification";
       packageName = "@smithy/service-error-classification";
-      version = "1.0.3";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-1.0.3.tgz";
-        sha512 = "2eglIYqrtcUnuI71yweu7rSfCgt6kVvRVf0C72VUqrd0LrV1M0BM0eYN+nitp2CHPSdmMI96pi+dU9U/UqAMSA==";
+        url = "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-2.0.0.tgz";
+        sha512 = "2z5Nafy1O0cTf69wKyNjGW/sNVMiqDnb4jgwfMG8ye8KnFJ5qmJpDccwIbJNhXIfbsxTg9SEec2oe1cexhMJvw==";
       };
     };
-    "@smithy/shared-ini-file-loader-1.0.2" = {
+    "@smithy/shared-ini-file-loader-2.0.1" = {
       name = "_at_smithy_slash_shared-ini-file-loader";
       packageName = "@smithy/shared-ini-file-loader";
-      version = "1.0.2";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-1.0.2.tgz";
-        sha512 = "bdQj95VN+lCXki+P3EsDyrkpeLn8xDYiOISBGnUG/AGPYJXN8dmp4EhRRR7XOoLoSs8anZHR4UcGEOzFv2jwGw==";
+        url = "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-2.0.1.tgz";
+        sha512 = "a463YiZrPGvM+F336rIF8pLfQsHAdCRAn/BiI/EWzg5xLoxbC7GSxIgliDDXrOu0z8gT3nhVsif85eU6jyct3A==";
       };
     };
-    "@smithy/signature-v4-1.0.2" = {
+    "@smithy/signature-v4-2.0.1" = {
       name = "_at_smithy_slash_signature-v4";
       packageName = "@smithy/signature-v4";
-      version = "1.0.2";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-1.0.2.tgz";
-        sha512 = "rpKUhmCuPmpV5dloUkOb9w1oBnJatvKQEjIHGmkjRGZnC3437MTdzWej9TxkagcZ8NRRJavYnEUixzxM1amFig==";
+        url = "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-2.0.1.tgz";
+        sha512 = "jztv5Mirca42ilxmMDjzLdXcoAmRhZskGafGL49sRo5u7swEZcToEFrq6vtX5YMbSyTVrE9Teog5EFexY5Ff2Q==";
       };
     };
-    "@smithy/smithy-client-1.0.4" = {
+    "@smithy/smithy-client-2.0.1" = {
       name = "_at_smithy_slash_smithy-client";
       packageName = "@smithy/smithy-client";
-      version = "1.0.4";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-1.0.4.tgz";
-        sha512 = "gpo0Xl5Nyp9sgymEfpt7oa9P2q/GlM3VmQIdm+FeH0QEdYOQx3OtvwVmBYAMv2FIPWxkMZlsPYRTnEiBTK5TYg==";
+        url = "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-2.0.1.tgz";
+        sha512 = "LHC5m6tYpEu1iNbONfvMbwtErboyTZJfEIPoD78Ei5MVr36vZQCaCla5mvo36+q/a2NAk2//fA5Rx3I1Kf7+lQ==";
       };
     };
-    "@smithy/types-1.1.1" = {
+    "@smithy/types-2.0.2" = {
       name = "_at_smithy_slash_types";
       packageName = "@smithy/types";
-      version = "1.1.1";
+      version = "2.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@smithy/types/-/types-1.1.1.tgz";
-        sha512 = "tMpkreknl2gRrniHeBtdgQwaOlo39df8RxSrwsHVNIGXULy5XP6KqgScUw2m12D15wnJCKWxVhCX+wbrBW/y7g==";
+        url = "https://registry.npmjs.org/@smithy/types/-/types-2.0.2.tgz";
+        sha512 = "wcymEjIXQ9+NEfE5Yt5TInAqe1o4n+Nh+rh00AwoazppmUt8tdo6URhc5gkDcOYrcvlDVAZE7uG69nDpEGUKxw==";
       };
     };
-    "@smithy/url-parser-1.0.2" = {
+    "@smithy/url-parser-2.0.1" = {
       name = "_at_smithy_slash_url-parser";
       packageName = "@smithy/url-parser";
-      version = "1.0.2";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-1.0.2.tgz";
-        sha512 = "0JRsDMQe53F6EHRWksdcavKDRjyqp8vrjakg8EcCUOa7PaFRRB1SO/xGZdzSlW1RSTWQDEksFMTCEcVEKmAoqA==";
+        url = "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-2.0.1.tgz";
+        sha512 = "NpHVOAwddo+OyyIoujDL9zGL96piHWrTNXqltWmBvlUoWgt1HPyBuKs6oHjioyFnNZXUqveTOkEEq0U5w6Uv8A==";
       };
     };
-    "@smithy/util-base64-1.0.2" = {
+    "@smithy/util-base64-2.0.0" = {
       name = "_at_smithy_slash_util-base64";
       packageName = "@smithy/util-base64";
-      version = "1.0.2";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-1.0.2.tgz";
-        sha512 = "BCm15WILJ3SL93nusoxvJGMVfAMWHZhdeDZPtpAaskozuexd0eF6szdz4kbXaKp38bFCSenA6bkUHqaE3KK0dA==";
+        url = "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-2.0.0.tgz";
+        sha512 = "Zb1E4xx+m5Lud8bbeYi5FkcMJMnn+1WUnJF3qD7rAdXpaL7UjkFQLdmW5fHadoKbdHpwH9vSR8EyTJFHJs++tA==";
       };
     };
-    "@smithy/util-body-length-browser-1.0.2" = {
+    "@smithy/util-body-length-browser-2.0.0" = {
       name = "_at_smithy_slash_util-body-length-browser";
       packageName = "@smithy/util-body-length-browser";
-      version = "1.0.2";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@smithy/util-body-length-browser/-/util-body-length-browser-1.0.2.tgz";
-        sha512 = "Xh8L06H2anF5BHjSYTg8hx+Itcbf4SQZnVMl4PIkCOsKtneMJoGjPRLy17lEzfoh/GOaa0QxgCP6lRMQWzNl4w==";
+        url = "https://registry.npmjs.org/@smithy/util-body-length-browser/-/util-body-length-browser-2.0.0.tgz";
+        sha512 = "JdDuS4ircJt+FDnaQj88TzZY3+njZ6O+D3uakS32f2VNnDo3vyEuNdBOh/oFd8Df1zSZOuH1HEChk2AOYDezZg==";
       };
     };
-    "@smithy/util-body-length-node-1.0.2" = {
+    "@smithy/util-body-length-node-2.0.0" = {
       name = "_at_smithy_slash_util-body-length-node";
       packageName = "@smithy/util-body-length-node";
-      version = "1.0.2";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@smithy/util-body-length-node/-/util-body-length-node-1.0.2.tgz";
-        sha512 = "nXHbZsUtvZeyfL4Ceds9nmy2Uh2AhWXohG4vWHyjSdmT8cXZlJdmJgnH6SJKDjyUecbu+BpKeVvSrA4cWPSOPA==";
+        url = "https://registry.npmjs.org/@smithy/util-body-length-node/-/util-body-length-node-2.0.0.tgz";
+        sha512 = "ZV7Z/WHTMxHJe/xL/56qZwSUcl63/5aaPAGjkfynJm4poILjdD4GmFI+V+YWabh2WJIjwTKZ5PNsuvPQKt93Mg==";
       };
     };
-    "@smithy/util-buffer-from-1.0.2" = {
+    "@smithy/util-buffer-from-2.0.0" = {
       name = "_at_smithy_slash_util-buffer-from";
       packageName = "@smithy/util-buffer-from";
-      version = "1.0.2";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-1.0.2.tgz";
-        sha512 = "lHAYIyrBO9RANrPvccnPjU03MJnWZ66wWuC5GjWWQVfsmPwU6m00aakZkzHdUT6tGCkGacXSgArP5wgTgA+oCw==";
+        url = "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.0.0.tgz";
+        sha512 = "/YNnLoHsR+4W4Vf2wL5lGv0ksg8Bmk3GEGxn2vEQt52AQaPSCuaO5PM5VM7lP1K9qHRKHwrPGktqVoAHKWHxzw==";
       };
     };
-    "@smithy/util-config-provider-1.0.2" = {
+    "@smithy/util-config-provider-2.0.0" = {
       name = "_at_smithy_slash_util-config-provider";
       packageName = "@smithy/util-config-provider";
-      version = "1.0.2";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@smithy/util-config-provider/-/util-config-provider-1.0.2.tgz";
-        sha512 = "HOdmDm+3HUbuYPBABLLHtn8ittuRyy+BSjKOA169H+EMc+IozipvXDydf+gKBRAxUa4dtKQkLraypwppzi+PRw==";
+        url = "https://registry.npmjs.org/@smithy/util-config-provider/-/util-config-provider-2.0.0.tgz";
+        sha512 = "xCQ6UapcIWKxXHEU4Mcs2s7LcFQRiU3XEluM2WcCjjBtQkUN71Tb+ydGmJFPxMUrW/GWMgQEEGipLym4XG0jZg==";
       };
     };
-    "@smithy/util-defaults-mode-browser-1.0.2" = {
+    "@smithy/util-defaults-mode-browser-2.0.1" = {
       name = "_at_smithy_slash_util-defaults-mode-browser";
       packageName = "@smithy/util-defaults-mode-browser";
-      version = "1.0.2";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-1.0.2.tgz";
-        sha512 = "J1u2PO235zxY7dg0+ZqaG96tFg4ehJZ7isGK1pCBEA072qxNPwIpDzUVGnLJkHZvjWEGA8rxIauDtXfB0qxeAg==";
+        url = "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-2.0.1.tgz";
+        sha512 = "w72Qwsb+IaEYEFtYICn0Do42eFju78hTaBzzJfT107lFOPdbjWjKnFutV+6GL/nZd5HWXY7ccAKka++C3NrjHw==";
       };
     };
-    "@smithy/util-defaults-mode-node-1.0.2" = {
+    "@smithy/util-defaults-mode-node-2.0.1" = {
       name = "_at_smithy_slash_util-defaults-mode-node";
       packageName = "@smithy/util-defaults-mode-node";
-      version = "1.0.2";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-1.0.2.tgz";
-        sha512 = "9/BN63rlIsFStvI+AvljMh873Xw6bbI6b19b+PVYXyycQ2DDQImWcjnzRlHW7eP65CCUNGQ6otDLNdBQCgMXqg==";
+        url = "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-2.0.1.tgz";
+        sha512 = "dNF45caelEBambo0SgkzQ0v76m4YM+aFKZNTtSafy7P5dVF8TbjZuR2UX1A5gJABD9XK6lzN+v/9Yfzj/EDgGg==";
       };
     };
-    "@smithy/util-hex-encoding-1.0.2" = {
+    "@smithy/util-hex-encoding-2.0.0" = {
       name = "_at_smithy_slash_util-hex-encoding";
       packageName = "@smithy/util-hex-encoding";
-      version = "1.0.2";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-1.0.2.tgz";
-        sha512 = "Bxydb5rMJorMV6AuDDMOxro3BMDdIwtbQKHpwvQFASkmr52BnpDsWlxgpJi8Iq7nk1Bt4E40oE1Isy/7ubHGzg==";
+        url = "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-2.0.0.tgz";
+        sha512 = "c5xY+NUnFqG6d7HFh1IFfrm3mGl29lC+vF+geHv4ToiuJCBmIfzx6IeHLg+OgRdPFKDXIw6pvi+p3CsscaMcMA==";
       };
     };
-    "@smithy/util-middleware-1.0.2" = {
+    "@smithy/util-middleware-2.0.0" = {
       name = "_at_smithy_slash_util-middleware";
       packageName = "@smithy/util-middleware";
-      version = "1.0.2";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-1.0.2.tgz";
-        sha512 = "vtXK7GOR2BoseCX8NCGe9SaiZrm9M2lm/RVexFGyPuafTtry9Vyv7hq/vw8ifd/G/pSJ+msByfJVb1642oQHKw==";
+        url = "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-2.0.0.tgz";
+        sha512 = "eCWX4ECuDHn1wuyyDdGdUWnT4OGyIzV0LN1xRttBFMPI9Ff/4heSHVxneyiMtOB//zpXWCha1/SWHJOZstG7kA==";
       };
     };
-    "@smithy/util-retry-1.0.4" = {
+    "@smithy/util-retry-2.0.0" = {
       name = "_at_smithy_slash_util-retry";
       packageName = "@smithy/util-retry";
-      version = "1.0.4";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-1.0.4.tgz";
-        sha512 = "RnZPVFvRoqdj2EbroDo3OsnnQU8eQ4AlnZTOGusbYKybH3269CFdrZfZJloe60AQjX7di3J6t/79PjwCLO5Khw==";
+        url = "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-2.0.0.tgz";
+        sha512 = "/dvJ8afrElasuiiIttRJeoS2sy8YXpksQwiM/TcepqdRVp7u4ejd9C4IQURHNjlfPUT7Y6lCDSa2zQJbdHhVTg==";
       };
     };
-    "@smithy/util-stream-1.0.2" = {
+    "@smithy/util-stream-2.0.1" = {
       name = "_at_smithy_slash_util-stream";
       packageName = "@smithy/util-stream";
-      version = "1.0.2";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-1.0.2.tgz";
-        sha512 = "qyN2M9QFMTz4UCHi6GnBfLOGYKxQZD01Ga6nzaXFFC51HP/QmArU72e4kY50Z/EtW8binPxspP2TAsGbwy9l3A==";
+        url = "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-2.0.1.tgz";
+        sha512 = "2a0IOtwIKC46EEo7E7cxDN8u2jwOiYYJqcFKA6rd5rdXqKakHT2Gc+AqHWngr0IEHUfW92zX12wRQKwyoqZf2Q==";
       };
     };
-    "@smithy/util-uri-escape-1.0.2" = {
+    "@smithy/util-uri-escape-2.0.0" = {
       name = "_at_smithy_slash_util-uri-escape";
       packageName = "@smithy/util-uri-escape";
-      version = "1.0.2";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-1.0.2.tgz";
-        sha512 = "k8C0BFNS9HpBMHSgUDnWb1JlCQcFG+PPlVBq9keP4Nfwv6a9Q0yAfASWqUCtzjuMj1hXeLhn/5ADP6JxnID1Pg==";
+        url = "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-2.0.0.tgz";
+        sha512 = "ebkxsqinSdEooQduuk9CbKcI+wheijxEb3utGXkCoYQkJnwTnLbH1JXGimJtUkQwNQbsbuYwG2+aFVyZf5TLaw==";
       };
     };
-    "@smithy/util-utf8-1.0.2" = {
+    "@smithy/util-utf8-2.0.0" = {
       name = "_at_smithy_slash_util-utf8";
       packageName = "@smithy/util-utf8";
-      version = "1.0.2";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-1.0.2.tgz";
-        sha512 = "V4cyjKfJlARui0dMBfWJMQAmJzoW77i4N3EjkH/bwnE2Ngbl4tqD2Y0C/xzpzY/J1BdxeCKxAebVFk8aFCaSCw==";
+        url = "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.0.0.tgz";
+        sha512 = "rctU1VkziY84n5OXe3bPNpKR001ZCME2JCaBBFgtiM2hfKbHFudc/BkMuPab8hRbLd0j3vbnBTTZ1igBf0wgiQ==";
       };
     };
-    "@smithy/util-waiter-1.0.2" = {
+    "@smithy/util-waiter-2.0.1" = {
       name = "_at_smithy_slash_util-waiter";
       packageName = "@smithy/util-waiter";
-      version = "1.0.2";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@smithy/util-waiter/-/util-waiter-1.0.2.tgz";
-        sha512 = "+jq4/Vd9ejPzR45qwYSePyjQbqYP9QqtyZYsFVyfzRnbGGC0AjswOh7txcxroafuEBExK4qE+L/QZA8wWXsJYw==";
+        url = "https://registry.npmjs.org/@smithy/util-waiter/-/util-waiter-2.0.1.tgz";
+        sha512 = "bSyGFicPRYuGFFWAr72UvYI7tE7KmEeFJJ5iaLuTTdo8RGaNBZ2kE25coGtzrejYh9AhwSfckBvbxgEDxIxhlA==";
       };
     };
     "@socket.io/component-emitter-3.1.0" = {
@@ -12911,15 +12398,6 @@ let
         sha512 = "0p9uXkuB22qGdNfy3VeEhxkU5uwvp/KrBTAbrLBURv6ilxIVwanKwjMc41lQfIVgPGcOkmLbTolfFrSsueu7zA==";
       };
     };
-    "@stoplight/json-3.20.3" = {
-      name = "_at_stoplight_slash_json";
-      packageName = "@stoplight/json";
-      version = "3.20.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@stoplight/json/-/json-3.20.3.tgz";
-        sha512 = "2m+Km6CkEPWj+H+CXxFyQB9+mVK8ifz9izK0UZpz4G1ZBx2Pd2hI+qw24FJ+X3DTYtMPYIeINTOEaTFWOmbRxQ==";
-      };
-    };
     "@stoplight/json-3.21.0" = {
       name = "_at_stoplight_slash_json";
       packageName = "@stoplight/json";
@@ -12965,13 +12443,13 @@ let
         sha512 = "lyIc6JUlUA8Ve5ELywPC8I2Sdnh1zc1zmbYgVarhXIp9YeAB0ReeqmGEOWNtlHkbP2DAA1AL65Wfn2ncjK/jtQ==";
       };
     };
-    "@stoplight/spectral-cli-6.8.0" = {
+    "@stoplight/spectral-cli-6.10.0" = {
       name = "_at_stoplight_slash_spectral-cli";
       packageName = "@stoplight/spectral-cli";
-      version = "6.8.0";
+      version = "6.10.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@stoplight/spectral-cli/-/spectral-cli-6.8.0.tgz";
-        sha512 = "gwNAZSdUdxxzH8X2yf1YoDQmo9DYnqPhqFCaKx5alQa/SQG6DOG1taNeODq3wapLn6GDh0d5D8b1DVe7N6bWEw==";
+        url = "https://registry.npmjs.org/@stoplight/spectral-cli/-/spectral-cli-6.10.0.tgz";
+        sha512 = "mJOlLtKvhiVUSXslcjHFrb+MPIMe6yrqsuABFyXqb2SMk/zOsLDIEKgB/UQ1w6hTcr54o6CVTAYf+0lnhCsWQw==";
       };
     };
     "@stoplight/spectral-core-1.18.3" = {
@@ -12992,13 +12470,13 @@ let
         sha512 = "VskkdU3qBSvI1dfJ79ysjvTssfNlbA6wrf/XkXK6iTyjfIVqOAWVtjypTb2U95tN/X8IjIBBhNWtZ4tNVZilrA==";
       };
     };
-    "@stoplight/spectral-formatters-1.1.0" = {
+    "@stoplight/spectral-formatters-1.2.0" = {
       name = "_at_stoplight_slash_spectral-formatters";
       packageName = "@stoplight/spectral-formatters";
-      version = "1.1.0";
+      version = "1.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@stoplight/spectral-formatters/-/spectral-formatters-1.1.0.tgz";
-        sha512 = "KUOKOF0Wz9iFS4pKHO8mSx0OZc9J5ziFJfbxFOL8xDGlxYTfBIQsaOjwi6GItcar7wK8S2ksAIUS2ijzAygZ5A==";
+        url = "https://registry.npmjs.org/@stoplight/spectral-formatters/-/spectral-formatters-1.2.0.tgz";
+        sha512 = "1IrQksU1fpuvK7oT8t0jk419vkvzHbwqKYtnyoF9yZa+MV1AcSsieD5I6wBFL0WlgFr6iCg23s1V99VXlrFelw==";
       };
     };
     "@stoplight/spectral-functions-1.7.2" = {
@@ -13037,13 +12515,13 @@ let
         sha512 = "4QUVUFAU+S7IQ9XeCu+0TQMYxKFpKnkOAfa9unRQ1iPL2cviaipEN6witpbAptdHJD3UUjx4OnwlX8WwmXSq9w==";
       };
     };
-    "@stoplight/spectral-ruleset-migrator-1.9.4" = {
+    "@stoplight/spectral-ruleset-migrator-1.9.5" = {
       name = "_at_stoplight_slash_spectral-ruleset-migrator";
       packageName = "@stoplight/spectral-ruleset-migrator";
-      version = "1.9.4";
+      version = "1.9.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@stoplight/spectral-ruleset-migrator/-/spectral-ruleset-migrator-1.9.4.tgz";
-        sha512 = "bQjmYTf1COdhXdFg4dRzfZ7Ukc9ylr9f9J8c1PO3NGZtryUavw/109BrYfdQGgO0Hfkc/yVsRbkI4mKYNlvnXg==";
+        url = "https://registry.npmjs.org/@stoplight/spectral-ruleset-migrator/-/spectral-ruleset-migrator-1.9.5.tgz";
+        sha512 = "76n/HETr3UinVl/xLNldrH9p0JNoD8Gz4K75J6E4OHp4xD0P+BA2e8+W30HjIvqm1LJdLU2BNma0ioy+q3B9RA==";
       };
     };
     "@stoplight/spectral-rulesets-1.16.0" = {
@@ -13073,13 +12551,13 @@ let
         sha512 = "dwqYcDrGmEyUv5TWrDam5TGOxU72ufyQ7hnOIIDdmW5ezOwZaBFoR5XQ9AsH49w7wgvOqB2Bmo799pJPWnpCbg==";
       };
     };
-    "@stoplight/types-13.16.0" = {
+    "@stoplight/types-13.17.0" = {
       name = "_at_stoplight_slash_types";
       packageName = "@stoplight/types";
-      version = "13.16.0";
+      version = "13.17.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@stoplight/types/-/types-13.16.0.tgz";
-        sha512 = "2ijZLaXRu+qp95ucSo0kkZ/8phZCQFbcpk2Mb2j2XDL7ZTYxaOKkYmZM+rB0xRJ0ihjm7bPmucPjoyQCZYr8oA==";
+        url = "https://registry.npmjs.org/@stoplight/types/-/types-13.17.0.tgz";
+        sha512 = "9wzSi8MZQXjO+GSYehwMWFSUHO5qtDr282RxrDDsxO9ZHn0a4nWE+kTWDWSdtbiZrIEantTSkycmQJxKxnnRTQ==";
       };
     };
     "@stoplight/types-13.6.0" = {
@@ -13181,103 +12659,103 @@ let
         sha512 = "gqBJSmJMWomZFxlppaKea7NeAqFrDrrS0RMt24No92M3nJWcyI9YKGEQKl+EyJqZ5gh6w1s0cTklMHMzRwA1NA==";
       };
     };
-    "@swc/core-1.3.70" = {
+    "@swc/core-1.3.73" = {
       name = "_at_swc_slash_core";
       packageName = "@swc/core";
-      version = "1.3.70";
+      version = "1.3.73";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@swc/core/-/core-1.3.70.tgz";
-        sha512 = "LWVWlEDLlOD25PvA2NEz41UzdwXnlDyBiZbe69s3zM0DfCPwZXLUm79uSqH9ItsOjTrXSL5/1+XUL6C/BZwChA==";
+        url = "https://registry.npmjs.org/@swc/core/-/core-1.3.73.tgz";
+        sha512 = "ihjj/mAQKnXakFdFPlIJOjAvfLLc2f7t9u3k5Vsv8o30utD4/4mw1SAEL9vsPYM14XrMJa6PUNegw6hNxX1D2g==";
       };
     };
-    "@swc/core-darwin-arm64-1.3.70" = {
+    "@swc/core-darwin-arm64-1.3.73" = {
       name = "_at_swc_slash_core-darwin-arm64";
       packageName = "@swc/core-darwin-arm64";
-      version = "1.3.70";
+      version = "1.3.73";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.70.tgz";
-        sha512 = "31+mcl0dgdRHvZRjhLOK9V6B+qJ7nxDZYINr9pBlqGWxknz37Vld5KK19Kpr79r0dXUZvaaelLjCnJk9dA2PcQ==";
+        url = "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.73.tgz";
+        sha512 = "RwCDCDg3gmgt+p/Kc48o3PdLBSCoFQKLb8QgC7F32Ql9wjVMS3fzy2i6NZ+MnbEnYGQtTcqLbxEDtpV3eMsEHw==";
       };
     };
-    "@swc/core-darwin-x64-1.3.70" = {
+    "@swc/core-darwin-x64-1.3.73" = {
       name = "_at_swc_slash_core-darwin-x64";
       packageName = "@swc/core-darwin-x64";
-      version = "1.3.70";
+      version = "1.3.73";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.3.70.tgz";
-        sha512 = "GMFJ65E18zQC80t0os+TZvI+8lbRuitncWVge/RXmXbVLPRcdykP4EJ87cqzcG5Ah0z18/E0T+ixD6jHRisrYQ==";
+        url = "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.3.73.tgz";
+        sha512 = "cHmAWvCVRc7LTdv4LO4mZZXfW3E9NT/KNnLNG/PgWP9QK1bSQ7hUDVKsx70ygR4ONwfhqUuglakzu+xDfNoW+A==";
       };
     };
-    "@swc/core-linux-arm-gnueabihf-1.3.70" = {
+    "@swc/core-linux-arm-gnueabihf-1.3.73" = {
       name = "_at_swc_slash_core-linux-arm-gnueabihf";
       packageName = "@swc/core-linux-arm-gnueabihf";
-      version = "1.3.70";
+      version = "1.3.73";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.70.tgz";
-        sha512 = "wjhCwS8LCiAq2VedF1b4Bryyw68xZnfMED4pLRazAl8BaUlDFANfRBORNunxlfHQj4V3x39IaiLgCZRHMdzXBg==";
+        url = "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.73.tgz";
+        sha512 = "EmJALh7KUJhcdr7uUQg7wTpdcX5k1Xjspgy3QMg8j2dwb4DsnFgrnArsFNXHBB1Dj7LlQSoyxQ5mBcJtUtCb8A==";
       };
     };
-    "@swc/core-linux-arm64-gnu-1.3.70" = {
+    "@swc/core-linux-arm64-gnu-1.3.73" = {
       name = "_at_swc_slash_core-linux-arm64-gnu";
       packageName = "@swc/core-linux-arm64-gnu";
-      version = "1.3.70";
+      version = "1.3.73";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.70.tgz";
-        sha512 = "9D/Rx67cAOnMiexvCqARxvhj7coRajTp5HlJHuf+rfwMqI2hLhpO9/pBMQxBUAWxODO/ksQ/OF+GJRjmtWw/2A==";
+        url = "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.73.tgz";
+        sha512 = "RK6jTm8ppvglh42YOq/k2AqpHS9uYP5h5FNMmA9OI8lupCCS8HMtexbwqw+Xd0MGmSrsJiURw3Z6az8cEObrag==";
       };
     };
-    "@swc/core-linux-arm64-musl-1.3.70" = {
+    "@swc/core-linux-arm64-musl-1.3.73" = {
       name = "_at_swc_slash_core-linux-arm64-musl";
       packageName = "@swc/core-linux-arm64-musl";
-      version = "1.3.70";
+      version = "1.3.73";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.70.tgz";
-        sha512 = "gkjxBio7XD+1GlQVVyPP/qeFkLu83VhRHXaUrkNYpr5UZG9zZurBERT9nkS6Y+ouYh+Q9xmw57aIyd2KvD2zqQ==";
+        url = "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.73.tgz";
+        sha512 = "hhS6yfgZLKPVAklGjKlbyf9InAhDGj3u+jbZkjStrOgtYNBCk5tbkROZP9ib5enN9m9Oosl5gM5v6oTw27TbUw==";
       };
     };
-    "@swc/core-linux-x64-gnu-1.3.70" = {
+    "@swc/core-linux-x64-gnu-1.3.73" = {
       name = "_at_swc_slash_core-linux-x64-gnu";
       packageName = "@swc/core-linux-x64-gnu";
-      version = "1.3.70";
+      version = "1.3.73";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.70.tgz";
-        sha512 = "/nCly+V4xfMVwfEUoLLAukxUSot/RcSzsf6GdsGTjFcrp5sZIntAjokYRytm3VT1c2TK321AfBorsi9R5w8Y7Q==";
+        url = "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.73.tgz";
+        sha512 = "ZGcY63EtFW5OLz1tsKhqhymzvoto329c0oRS9ptzMO66eUrjsHxTt5uPixrI24F6y+bn+qFqsgIw3nwMV8jTPw==";
       };
     };
-    "@swc/core-linux-x64-musl-1.3.70" = {
+    "@swc/core-linux-x64-musl-1.3.73" = {
       name = "_at_swc_slash_core-linux-x64-musl";
       packageName = "@swc/core-linux-x64-musl";
-      version = "1.3.70";
+      version = "1.3.73";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.70.tgz";
-        sha512 = "HoOsPJbt361KGKaivAK0qIiYARkhzlxeAfvF5NlnKxkIMOZpQ46Lwj3tR0VWohKbrhS+cYKFlVuDi5XnDkx0XA==";
+        url = "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.73.tgz";
+        sha512 = "DMz2W0PnzMXAhbMPGArQUBVayyzzzuivvJyJkyFaMPiIwaI+QG+UvLgjSM7NmG/9Eq9hX2zZ1zdaalVKXyyCHQ==";
       };
     };
-    "@swc/core-win32-arm64-msvc-1.3.70" = {
+    "@swc/core-win32-arm64-msvc-1.3.73" = {
       name = "_at_swc_slash_core-win32-arm64-msvc";
       packageName = "@swc/core-win32-arm64-msvc";
-      version = "1.3.70";
+      version = "1.3.73";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.70.tgz";
-        sha512 = "hm4IBK/IaRil+aj1cWU6f0GyAdHpw/Jr5nyFYLM2c/tt7w2t5hgb8NjzM2iM84lOClrig1fG6edj2vCF1dFzNQ==";
+        url = "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.73.tgz";
+        sha512 = "yHB1jG3c4/5An//nA9+War6oiNrM/NUz6ivDPbrBfbJHtU/iPfgdAvxfm5/xpOFx4U18JJHnOt853sDyXJwi/A==";
       };
     };
-    "@swc/core-win32-ia32-msvc-1.3.70" = {
+    "@swc/core-win32-ia32-msvc-1.3.73" = {
       name = "_at_swc_slash_core-win32-ia32-msvc";
       packageName = "@swc/core-win32-ia32-msvc";
-      version = "1.3.70";
+      version = "1.3.73";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.70.tgz";
-        sha512 = "5cgKUKIT/9Fp5fCA+zIjYCQ4dSvjFYOeWGZR3QiTXGkC4bGa1Ji9SEPyeIAX0iruUnKjYaZB9RvHK2tNn7RLrQ==";
+        url = "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.73.tgz";
+        sha512 = "cA61i4VPTrABAZ8LDvNVqwcO1VLEDO+71iWettvhyk7p6/H/lXG4VQVyHcncmfrAUzDQalXVbgZm6MA3hpqhFQ==";
       };
     };
-    "@swc/core-win32-x64-msvc-1.3.70" = {
+    "@swc/core-win32-x64-msvc-1.3.73" = {
       name = "_at_swc_slash_core-win32-x64-msvc";
       packageName = "@swc/core-win32-x64-msvc";
-      version = "1.3.70";
+      version = "1.3.73";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.70.tgz";
-        sha512 = "LE8lW46+TQBzVkn2mHBlk8DIElPIZ2dO5P8AbJiARNBAnlqQWu67l9gWM89UiZ2l33J2cI37pHzON3tKnT8f9g==";
+        url = "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.73.tgz";
+        sha512 = "QwTO9IlIpEr2GsJvW8qNVvQXTzT1ASqf8C8aZDLtVwHKdreTMjlrNMRYw1883DVLRuHMs5RLP4IA2A47Oexp1Q==";
       };
     };
     "@swc/helpers-0.5.1" = {
@@ -13289,13 +12767,13 @@ let
         sha512 = "sJ902EfIzn1Fa+qYmjdQqh8tPsoxyBz+8yBKC2HKUxyezKJFwPGOn7pv4WY6QuQW//ySQi5lJjA/ZT9sNWWNTg==";
       };
     };
-    "@swc/wasm-1.3.70" = {
+    "@swc/wasm-1.3.73" = {
       name = "_at_swc_slash_wasm";
       packageName = "@swc/wasm";
-      version = "1.3.70";
+      version = "1.3.73";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@swc/wasm/-/wasm-1.3.70.tgz";
-        sha512 = "vDYyn3nkPd2co0dRK6myXvaXgQATiAf276svnW1rlRsw7i0cFLlO4k5bVUeLE0R0My08+elg+u8Ko6cHB4HAlg==";
+        url = "https://registry.npmjs.org/@swc/wasm/-/wasm-1.3.73.tgz";
+        sha512 = "jpYN+J0WQkzET0Y9tk8fTgVr4JFzFoy9bmd4WdbfgCYEgiva3ANcRUMtyLZDXFZz5RpracHeRx1Q/7DzZAhuSA==";
       };
     };
     "@szmarczak/http-timer-1.1.2" = {
@@ -13829,6 +13307,15 @@ let
         sha512 = "4x5FkPpLipqwthjPsF7ZRbOv3uoLUFkTA9G9v583qi4pACvq0uTELrB8OLUzPWUI4IJIyvM85vzkV1nyiI2Lig==";
       };
     };
+    "@types/content-type-1.1.3" = {
+      name = "_at_types_slash_content-type";
+      packageName = "@types/content-type";
+      version = "1.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/content-type/-/content-type-1.1.3.tgz";
+        sha512 = "pv8VcFrZ3fN93L4rTNIbbUzdkzjEyVMp5mPVjsFfOYTDOZMZiZ8P1dhu+kEv3faYyKzZgLlSvnyQNFg+p/v5ug==";
+      };
+    };
     "@types/cookie-0.4.1" = {
       name = "_at_types_slash_cookie";
       packageName = "@types/cookie";
@@ -13919,13 +13406,13 @@ let
         sha512 = "VNcvioYDH8/FxaeTKkM4/TiTwt6pBV9E3OfGmvaw8tPl0rrHCJ4Ll15HRT+pMiFAf/MLQvAzC+6RzUMEL9Ceng==";
       };
     };
-    "@types/eslint-8.44.0" = {
+    "@types/eslint-8.44.1" = {
       name = "_at_types_slash_eslint";
       packageName = "@types/eslint";
-      version = "8.44.0";
+      version = "8.44.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.0.tgz";
-        sha512 = "gsF+c/0XOguWgaOgvFs+xnnRqt9GwgTvIks36WpE6ueeI4KCEHHd8K/CKHqhOqrJKsYH8m27kRzQEvWXAwXUTw==";
+        url = "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.1.tgz";
+        sha512 = "XpNDc4Z5Tb4x+SW1MriMVeIsMoONHCkWFMkR/aPJbzEsxqHy+4Glu/BqTdPrApfDeMaXbtNh6bseNgl5KaWrSg==";
       };
     };
     "@types/eslint-scope-3.7.4" = {
@@ -13955,15 +13442,6 @@ let
         sha512 = "LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==";
       };
     };
-    "@types/estree-jsx-0.0.1" = {
-      name = "_at_types_slash_estree-jsx";
-      packageName = "@types/estree-jsx";
-      version = "0.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-0.0.1.tgz";
-        sha512 = "gcLAYiMfQklDCPjQegGn0TBAn9it05ISEsEhlKQUddIk7o2XDokOcTN7HBO8tznM0D9dGezvHEfRZBfZf6me0A==";
-      };
-    };
     "@types/estree-jsx-1.0.0" = {
       name = "_at_types_slash_estree-jsx";
       packageName = "@types/estree-jsx";
@@ -14027,15 +13505,6 @@ let
         sha512 = "wALWQwrgiB2AWTT91CB62b6Yt0sNHpznUXeZEcnPU3DRdlDIz74x8Qg1UUYKSVFi+va5vKOLYRBI1bRKiLLKIg==";
       };
     };
-    "@types/fs-extra-11.0.1" = {
-      name = "_at_types_slash_fs-extra";
-      packageName = "@types/fs-extra";
-      version = "11.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-11.0.1.tgz";
-        sha512 = "MxObHvNl4A69ofaTRU8DFqvgzzv8s9yRtaPPm5gud9HDNvpB3GPQFvNuTWAI59B9huVGV5jXYJwbCsmBsOGYWA==";
-      };
-    };
     "@types/geojson-7946.0.4" = {
       name = "_at_types_slash_geojson";
       packageName = "@types/geojson";
@@ -14234,15 +13703,6 @@ let
         sha512 = "dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==";
       };
     };
-    "@types/jsonfile-6.1.1" = {
-      name = "_at_types_slash_jsonfile";
-      packageName = "@types/jsonfile";
-      version = "6.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/jsonfile/-/jsonfile-6.1.1.tgz";
-        sha512 = "GSgiRCVeapDN+3pqA35IkQwasaCh/0YFH5dEF6S88iDvEn901DjOeH3/QPY+XYP1DFzDZPvIvfeEgk+7br5png==";
-      };
-    };
     "@types/keyv-3.1.4" = {
       name = "_at_types_slash_keyv";
       packageName = "@types/keyv";
@@ -14261,13 +13721,13 @@ let
         sha512 = "HZQYqbiFVWufzCwexrvh694SOim8z2d+xJl5UNamcvQFejLY/2YUtzXHYi3cHdI7PMlS8ejH2slRAOJQ32aNbA==";
       };
     };
-    "@types/lodash-4.14.195" = {
+    "@types/lodash-4.14.196" = {
       name = "_at_types_slash_lodash";
       packageName = "@types/lodash";
-      version = "4.14.195";
+      version = "4.14.196";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.195.tgz";
-        sha512 = "Hwx9EUgdwf2GLarOjQp5ZH8ZmblzcbTBC2wtQWNKARBSxM9ezRIAUpeDTgoQRAFB0+8CNWXVA9+MaSOzOF3nPg==";
+        url = "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.196.tgz";
+        sha512 = "22y3o88f4a94mKljsZcanlNWPzO0uBsBdzLAngf2tp533LzZcQzb6+eZPJ+vCTt+bqF2XnvT9gejTLsAcJAJyQ==";
       };
     };
     "@types/long-4.0.2" = {
@@ -14432,13 +13892,13 @@ let
         sha512 = "qelS/Ra6sacc4loe/3MSjXNL1dNQ/GjxNHVzuChwMfmk7HuycRLVQN2qNY3XahK+fZc5E2szqQSKUyAF0E+2bg==";
       };
     };
-    "@types/node-14.18.53" = {
+    "@types/node-14.18.54" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "14.18.53";
+      version = "14.18.54";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-14.18.53.tgz";
-        sha512 = "soGmOpVBUq+gaBMwom1M+krC/NNbWlosh4AtGA03SyWNDiqSKtwp7OulO1M6+mg8YkHMvJ/y0AkCeO8d1hNb7A==";
+        url = "https://registry.npmjs.org/@types/node/-/node-14.18.54.tgz";
+        sha512 = "uq7O52wvo2Lggsx1x21tKZgqkJpvwCseBBPtX/nKQfpVlEsLOb11zZ1CRsWUKvJF0+lzuA9jwvA7Pr2Wt7i3xw==";
       };
     };
     "@types/node-15.14.9" = {
@@ -14468,13 +13928,13 @@ let
         sha512 = "XAMpaw1s1+6zM+jn2tmw8MyaRDIJfXxqmIQIS0HfoGYPuf7dUWeiUKopwq13KFX9lEp1+THGtlaaYx39Nxr58g==";
       };
     };
-    "@types/node-16.18.38" = {
+    "@types/node-16.18.39" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "16.18.38";
+      version = "16.18.39";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-16.18.38.tgz";
-        sha512 = "6sfo1qTulpVbkxECP+AVrHV9OoJqhzCsfTNp5NIG+enM4HyM3HvZCO798WShIXBN0+QtDIcutJCjsVYnQP5rIQ==";
+        url = "https://registry.npmjs.org/@types/node/-/node-16.18.39.tgz";
+        sha512 = "8q9ZexmdYYyc5/cfujaXb4YOucpQxAV4RMG0himLyDUOEr8Mr79VrqsFI+cQ2M2h89YIuy95lbxuYjxT4Hk4kQ==";
       };
     };
     "@types/node-16.9.1" = {
@@ -14504,22 +13964,22 @@ let
         sha512 = "z6nr0TTEOBGkzLGmbypWOGnpSpSIBorEhC4L+4HeQ2iezKCi4f77kyslRwvHeNitymGQ+oFyIWGP96l/DPSV9w==";
       };
     };
-    "@types/node-18.16.19" = {
+    "@types/node-18.16.3" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "18.16.19";
+      version = "18.16.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-18.16.19.tgz";
-        sha512 = "IXl7o+R9iti9eBW4Wg2hx1xQDig183jj7YLn8F7udNceyfkbn1ZxmzZXuak20gR40D7pIkIY1kYGx5VIGbaHKA==";
+        url = "https://registry.npmjs.org/@types/node/-/node-18.16.3.tgz";
+        sha512 = "OPs5WnnT1xkCBiuQrZA4+YAV4HEJejmHneyraIaxsbev5yCEr6KMwINNFP9wQeFIw8FWcoTqF3vQsa5CDaI+8Q==";
       };
     };
-    "@types/node-18.16.3" = {
+    "@types/node-18.17.1" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "18.16.3";
+      version = "18.17.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-18.16.3.tgz";
-        sha512 = "OPs5WnnT1xkCBiuQrZA4+YAV4HEJejmHneyraIaxsbev5yCEr6KMwINNFP9wQeFIw8FWcoTqF3vQsa5CDaI+8Q==";
+        url = "https://registry.npmjs.org/@types/node/-/node-18.17.1.tgz";
+        sha512 = "xlR1jahfizdplZYRU59JlUx9uzF1ARa8jbhM11ccpCJya8kvos5jwdm2ZAgxSCwOl0fq21svP18EVwPBXMQudw==";
       };
     };
     "@types/node-20.3.1" = {
@@ -14549,6 +14009,15 @@ let
         sha512 = "Dd0BYtWgnWJKwO1jkmTrzofjK2QXXcai0dmtzvIBhcA+RsG5h8R3xlyta0kGOZRNfL9GuRtb1knmPEhQrePCEw==";
       };
     };
+    "@types/node-20.4.5" = {
+      name = "_at_types_slash_node";
+      packageName = "@types/node";
+      version = "20.4.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/node/-/node-20.4.5.tgz";
+        sha512 = "rt40Nk13II9JwQBdeYqmbn2Q6IVTA5uPhvSO+JVqdXw/6/4glI6oR9ezty/A9Hg5u7JH4OmYmuQ+XvjKm0Datg==";
+      };
+    };
     "@types/node-6.14.13" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
@@ -14630,15 +14099,6 @@ let
         sha512 = "JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==";
       };
     };
-    "@types/ps-tree-1.1.2" = {
-      name = "_at_types_slash_ps-tree";
-      packageName = "@types/ps-tree";
-      version = "1.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/ps-tree/-/ps-tree-1.1.2.tgz";
-        sha512 = "ZREFYlpUmPQJ0esjxoG1fMvB2HNaD3z+mjqdSosZvd3RalncI9NEur73P8ZJz4YQdL64CmV1w0RuqoRUlhQRBw==";
-      };
-    };
     "@types/pug-2.0.6" = {
       name = "_at_types_slash_pug";
       packageName = "@types/pug";
@@ -14684,13 +14144,13 @@ let
         sha512 = "eANCyz9DG8p/Vdhr0ZKST8JV12PhH2ACCDYlFw6DIO+D+ca+uP4jtEDEpVqXZrh/uZdXQGwk7whJa3ah5DtyLw==";
       };
     };
-    "@types/react-18.2.15" = {
+    "@types/react-18.2.18" = {
       name = "_at_types_slash_react";
       packageName = "@types/react";
-      version = "18.2.15";
+      version = "18.2.18";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/react/-/react-18.2.15.tgz";
-        sha512 = "oEjE7TQt1fFTFSbf8kkNuc798ahTUzn3Le67/PWjE8MAfYAD/qB7O8hSTcromLFqHCt9bcdOg5GXMokzTjJ5SA==";
+        url = "https://registry.npmjs.org/@types/react/-/react-18.2.18.tgz";
+        sha512 = "da4NTSeBv/P34xoZPhtcLkmZuJ+oYaCxHmyHzwaDQo9RQPBeXV+06gEk2FpqEcsX9XrnNLvRpVh6bdavDSjtiQ==";
       };
     };
     "@types/readdir-glob-1.1.1" = {
@@ -15008,15 +14468,6 @@ let
         sha512 = "FtQu10RWgn3D9U4aazdwIE2yzphmTJREDqNdODHrbrZmmMqI0vMheC/6NE/J1Yveaj8H+ela+YwWTjq5PGmuhA==";
       };
     };
-    "@types/which-3.0.0" = {
-      name = "_at_types_slash_which";
-      packageName = "@types/which";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/which/-/which-3.0.0.tgz";
-        sha512 = "ASCxdbsrwNfSMXALlC3Decif9rwDMu+80KGp5zI2RLRotfMsTv7fHL8W8VDp24wymzDyIFudhUeSCugrgRFfHQ==";
-      };
-    };
     "@types/wrap-ansi-3.0.0" = {
       name = "_at_types_slash_wrap-ansi";
       packageName = "@types/wrap-ansi";
@@ -15179,13 +14630,13 @@ let
         sha512 = "PUxhtBh7/8167HJK6WqBv6Z0piuiaZHQGYbhwpNL9aIQmLROPEdaUYkY4wh45wPQXcTpnd11l0q3Pw+TI11pdw==";
       };
     };
-    "@urql/core-3.1.1" = {
+    "@urql/core-4.0.11" = {
       name = "_at_urql_slash_core";
       packageName = "@urql/core";
-      version = "3.1.1";
+      version = "4.0.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@urql/core/-/core-3.1.1.tgz";
-        sha512 = "Mnxtq4I4QeFJsgs7Iytw+HyhiGxISR6qtyk66c9tipozLZ6QVxrCiUPF2HY4BxNIabaxcp+rivadvm8NAnXj4Q==";
+        url = "https://registry.npmjs.org/@urql/core/-/core-4.0.11.tgz";
+        sha512 = "FFdY97vF5xnUrElcGw9erOLvtu+KGMLfwrLNDfv4IPgdp2IBsiGe+Kb7Aypfd3kH//BETewVSLm3+y2sSzjX6A==";
       };
     };
     "@urql/exchange-retry-0.3.0" = {
@@ -15197,49 +14648,13 @@ let
         sha512 = "hHqer2mcdVC0eYnVNbWyi28AlGOPb2vjH3lP3/Bc8Lc8BjhMsDwFMm7WhoP5C1+cfbr/QJ6Er3H/L08wznXxfg==";
       };
     };
-    "@urql/exchange-retry-1.0.0" = {
+    "@urql/exchange-retry-1.2.0" = {
       name = "_at_urql_slash_exchange-retry";
       packageName = "@urql/exchange-retry";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@urql/exchange-retry/-/exchange-retry-1.0.0.tgz";
-        sha512 = "UGyyGAMXzop9C/fIoe7Ij63DkPSy1uMw2jipB5dnB8R3kl80za7LYzVnA1HvBEt2ZPWfMuwez/VGLOQ7XX4bTA==";
-      };
-    };
-    "@vanilla-extract/babel-plugin-debug-ids-1.0.3" = {
-      name = "_at_vanilla-extract_slash_babel-plugin-debug-ids";
-      packageName = "@vanilla-extract/babel-plugin-debug-ids";
-      version = "1.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@vanilla-extract/babel-plugin-debug-ids/-/babel-plugin-debug-ids-1.0.3.tgz";
-        sha512 = "vm4jYu1xhSa6ofQ9AhIpR3DkAp4c+eoR1Rpm8/TQI4DmWbmGbOjYRcqV0aWsfaIlNhN4kFuxFMKBNN9oG6iRzA==";
-      };
-    };
-    "@vanilla-extract/css-1.12.0" = {
-      name = "_at_vanilla-extract_slash_css";
-      packageName = "@vanilla-extract/css";
-      version = "1.12.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@vanilla-extract/css/-/css-1.12.0.tgz";
-        sha512 = "TEttZfnqTRtwgVYiBWQSGGUiVaYWReHp59DsavITEvh4TpJNifZFGhBznHx4wQFEsyio6xA513jps4tmqR6zmw==";
-      };
-    };
-    "@vanilla-extract/integration-6.2.1" = {
-      name = "_at_vanilla-extract_slash_integration";
-      packageName = "@vanilla-extract/integration";
-      version = "6.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@vanilla-extract/integration/-/integration-6.2.1.tgz";
-        sha512 = "+xYJz07G7TFAMZGrOqArOsURG+xcYvqctujEkANjw2McCBvGEK505RxQqOuNiA9Mi9hgGdNp2JedSa94f3eoLg==";
-      };
-    };
-    "@vanilla-extract/private-1.0.3" = {
-      name = "_at_vanilla-extract_slash_private";
-      packageName = "@vanilla-extract/private";
-      version = "1.0.3";
+      version = "1.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vanilla-extract/private/-/private-1.0.3.tgz";
-        sha512 = "17kVyLq3ePTKOkveHxXuIJZtGYs+cSoev7BlP+Lf4916qfDhk/HBjvlYDe8egrea7LNPHKwSZJK/bzZC+Q6AwQ==";
+        url = "https://registry.npmjs.org/@urql/exchange-retry/-/exchange-retry-1.2.0.tgz";
+        sha512 = "1O/biKiVhhn0EtvDF4UOvz325K4RrLupfL8rHcmqD2TBLv4qVDWQuzx4JGa1FfqjjRb+C9TNZ6w19f32Mq85Ug==";
       };
     };
     "@vercel/build-utils-6.8.2" = {
@@ -15269,13 +14684,13 @@ let
         sha512 = "v329WHdtIce+y7oAmaWRvEx59Xfo0FxlQqK4BJG0u6VWYoKWPaflohDAiehIZf/YHCRVb59ZxnzmMOcm/LR8YQ==";
       };
     };
-    "@vercel/gatsby-plugin-vercel-builder-1.3.14" = {
+    "@vercel/gatsby-plugin-vercel-builder-1.3.15" = {
       name = "_at_vercel_slash_gatsby-plugin-vercel-builder";
       packageName = "@vercel/gatsby-plugin-vercel-builder";
-      version = "1.3.14";
+      version = "1.3.15";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vercel/gatsby-plugin-vercel-builder/-/gatsby-plugin-vercel-builder-1.3.14.tgz";
-        sha512 = "Q0HnEL8Mw246EOwiT089O12XrdtPR7XVMe8VqByekdv4ppkjc4LV5TbXaOP8ZczTinFxYxbWUwK4GnpJoZidag==";
+        url = "https://registry.npmjs.org/@vercel/gatsby-plugin-vercel-builder/-/gatsby-plugin-vercel-builder-1.3.15.tgz";
+        sha512 = "wtP7g9Xk01FGEVSHrrWQ0yuszoStHwJjlI1G+oPg1UXJb2s/xJP+WVL5Y9yjw6WCW88XV9Y6etCH7GvThSkQsg==";
       };
     };
     "@vercel/go-2.5.1" = {
@@ -15296,13 +14711,13 @@ let
         sha512 = "1rzFB664G6Yzp7j4ezW9hvVjqnaU2BhyUdhchbsxtRuxkMpGgPBZKhjzRQHFvlmkz37XLC658T5Nb1P91b4sBw==";
       };
     };
-    "@vercel/next-3.9.0" = {
+    "@vercel/next-3.9.3" = {
       name = "_at_vercel_slash_next";
       packageName = "@vercel/next";
-      version = "3.9.0";
+      version = "3.9.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vercel/next/-/next-3.9.0.tgz";
-        sha512 = "o5xGLLYU9crP3ReDJSTU8y4gwgAEbSQSp6CG9QQYHFkn3YBJrgubXpNj1+OSfCcGKH9AK0TAfayJPPbwKilwvA==";
+        url = "https://registry.npmjs.org/@vercel/next/-/next-3.9.3.tgz";
+        sha512 = "jHuw1HYzaLt5qzJm+U1ydzKMSM9ptW5vHZ3AkFqkav7qaCDrvV0SKOiNQ8xoJhBLNFuXQY6Z4l8Ag86kUYevGA==";
       };
     };
     "@vercel/nft-0.22.5" = {
@@ -15314,13 +14729,13 @@ let
         sha512 = "mug57Wd1BL7GMj9gXMgMeKUjdqO0e4u+0QLPYMFE1rwdJ+55oPy6lp3nIBCS8gOvigT62UI4QKUL2sGqcoW4Hw==";
       };
     };
-    "@vercel/node-2.15.6" = {
+    "@vercel/node-2.15.7" = {
       name = "_at_vercel_slash_node";
       packageName = "@vercel/node";
-      version = "2.15.6";
+      version = "2.15.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vercel/node/-/node-2.15.6.tgz";
-        sha512 = "LXV971i7bCL+W9lz+IFG6P876gnp2coA0/5mrG3nr+wbo+9iU0pPO6YZcQ8tmhcmepILl8HnTvYHNTECZUeN6w==";
+        url = "https://registry.npmjs.org/@vercel/node/-/node-2.15.7.tgz";
+        sha512 = "zCmpQ15KsuvNd6KxJuNgrY+464ZdAo4Bc50Yixa61+rjxuFjy2ST8s+ybODY9as6NoPV0JVE2mmKPB1opkKKvg==";
       };
     };
     "@vercel/python-3.1.60" = {
@@ -15341,13 +14756,13 @@ let
         sha512 = "j0XaXe4ZpGVHG7XQSmZ3kza6s+ZtOBfRhnSxA70yCkrvPNN3tZgF3fevSKXizfL9fzVDd7Tdj++SCGWMdGfsyA==";
       };
     };
-    "@vercel/remix-builder-1.8.18" = {
+    "@vercel/remix-builder-1.9.0" = {
       name = "_at_vercel_slash_remix-builder";
       packageName = "@vercel/remix-builder";
-      version = "1.8.18";
+      version = "1.9.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vercel/remix-builder/-/remix-builder-1.8.18.tgz";
-        sha512 = "GYIFBe+z3/AuPHhXcpKtMLDj+1LrgcfE3HKka9RuUbfLOcJbfwdFODWHV7c7D5zgEu/KTIGEO6dOJp8GQmPzng==";
+        url = "https://registry.npmjs.org/@vercel/remix-builder/-/remix-builder-1.9.0.tgz";
+        sha512 = "XBaP9M4ytlamBKggKPZcT9IHRLy2w9zxK4GFYYHEVv2sfmh2gonRAbNwphr0OdAsr+yPDnPRt8L6jFPOqfABhQ==";
       };
     };
     "@vercel/routing-utils-2.2.1" = {
@@ -15368,13 +14783,13 @@ let
         sha512 = "J8I0B7wAn8piGoPhBroBfJWgMEJTMEL/2o8MCoCyWdaE7MRtpXhI10pj8IvcUvAECoGJ+SM1Pm+SvBqtbtZ5FQ==";
       };
     };
-    "@vercel/static-build-1.3.41" = {
+    "@vercel/static-build-1.3.43" = {
       name = "_at_vercel_slash_static-build";
       packageName = "@vercel/static-build";
-      version = "1.3.41";
+      version = "1.3.43";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vercel/static-build/-/static-build-1.3.41.tgz";
-        sha512 = "1wHz338v/72RqmLu2S3XtUZkyTQfw1QR7kpODj+DIXVzz2HcpGqv70voex+B3FeC6wtD2yLCtTi2eLmFLEiB8A==";
+        url = "https://registry.npmjs.org/@vercel/static-build/-/static-build-1.3.43.tgz";
+        sha512 = "FttkcVec7tYXz5G+WrummmWywv8XVJyib+XEQUDRs6kVGc5Z5h2Bg4OmgFfflEhummF/saLRrdwbTQgbEZORpA==";
       };
     };
     "@vercel/static-config-2.0.17" = {
@@ -15458,13 +14873,22 @@ let
         sha512 = "NwqBBruD1DvVmFVyPinOuuMGqpSroVTnl1R1vOnhbKquButOj+0b2k43Gn1fz/Uqe9hijLCxMEtMIIcW38ny8w==";
       };
     };
-    "@volar/kit-1.9.0" = {
+    "@volar/kit-1.10.0" = {
       name = "_at_volar_slash_kit";
       packageName = "@volar/kit";
-      version = "1.9.0";
+      version = "1.10.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@volar/kit/-/kit-1.10.0.tgz";
+        sha512 = "3ijH2Gqe8kWnij58rwaBID22J/b+VT457ZEf5TwyPDqHTrfNCZIVitpdD5WlLD4Wy/D0Vymwj2ct9TNc1hkOmQ==";
+      };
+    };
+    "@volar/language-core-1.10.0" = {
+      name = "_at_volar_slash_language-core";
+      packageName = "@volar/language-core";
+      version = "1.10.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@volar/kit/-/kit-1.9.0.tgz";
-        sha512 = "T3KNiDi1rRPN9aTljDK6BCMM53WNjTc+mIohUB1Wv+uJX11WbmqZ0TzfgfsMMvKcmbVxfIN+2/WVngQdjAbroQ==";
+        url = "https://registry.npmjs.org/@volar/language-core/-/language-core-1.10.0.tgz";
+        sha512 = "ddyWwSYqcbEZNFHm+Z3NZd6M7Ihjcwl/9B5cZd8kECdimVXUFdFi60XHWD27nrWtUQIsUYIG7Ca1WBwV2u2LSQ==";
       };
     };
     "@volar/language-core-1.4.1" = {
@@ -15476,13 +14900,13 @@ let
         sha512 = "EIY+Swv+TjsWpxOxujjMf1ZXqOjg9MT2VMXZ+1dKva0wD8W0L6EtptFFcCJdBbcKmGMFkr57Qzz9VNMWhs3jXQ==";
       };
     };
-    "@volar/language-core-1.9.0" = {
-      name = "_at_volar_slash_language-core";
-      packageName = "@volar/language-core";
-      version = "1.9.0";
+    "@volar/language-server-1.10.0" = {
+      name = "_at_volar_slash_language-server";
+      packageName = "@volar/language-server";
+      version = "1.10.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@volar/language-core/-/language-core-1.9.0.tgz";
-        sha512 = "+PTRrGanAD2PxqMty0ZC46xhgW5BWzb67RLHhZyB3Im4+eMXsKlYjFUt7Z8ZCwTWQQOnj8NQ6gSgUEoOTwAHrQ==";
+        url = "https://registry.npmjs.org/@volar/language-server/-/language-server-1.10.0.tgz";
+        sha512 = "EFOjdKvV6iCfGmBPuf/L7zK93E8eE/kCBWM5xyG92pJm6tq5R/CLx968CPc7rlWykitKMXJumACNzIeXnnlyEw==";
       };
     };
     "@volar/language-server-1.4.1" = {
@@ -15494,13 +14918,13 @@ let
         sha512 = "UxhiN205o8ZfTnMNhRPCtW+ncrBtqZMd+f08Xf99Je4WB+SYyv3VNnIZEQDXfaTXR6mLUgQ1mDwPsUOLKKGY8A==";
       };
     };
-    "@volar/language-server-1.9.0" = {
-      name = "_at_volar_slash_language-server";
-      packageName = "@volar/language-server";
-      version = "1.9.0";
+    "@volar/language-service-1.10.0" = {
+      name = "_at_volar_slash_language-service";
+      packageName = "@volar/language-service";
+      version = "1.10.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@volar/language-server/-/language-server-1.9.0.tgz";
-        sha512 = "HEtdKVZAF2wPEepyOA30R3unKsXLFvqgD0pllUxLma32By2/vPOdTDaLnqu5bq2Jo2isI93k7AwlPGfJgZ8maA==";
+        url = "https://registry.npmjs.org/@volar/language-service/-/language-service-1.10.0.tgz";
+        sha512 = "qWeve/sUwBX94Ozb0A4vDLwjkDJDLz/k0VtRhNzN43PRGaCphl+dYMKftn1e7nYTcfcDKd5HjjfN+tT7txZ6kw==";
       };
     };
     "@volar/language-service-1.4.1" = {
@@ -15512,13 +14936,13 @@ let
         sha512 = "F30uT+xk20ZYpxRwNW9xBEoErSqd9zNW7iuFwSIX9bYO/12RLjB2I+vgM/GdPZnzZ37imXa76ykwqTRXrafigQ==";
       };
     };
-    "@volar/language-service-1.9.0" = {
-      name = "_at_volar_slash_language-service";
-      packageName = "@volar/language-service";
-      version = "1.9.0";
+    "@volar/source-map-1.10.0" = {
+      name = "_at_volar_slash_source-map";
+      packageName = "@volar/source-map";
+      version = "1.10.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@volar/language-service/-/language-service-1.9.0.tgz";
-        sha512 = "hDmbETBexAm1giwhY2PKaeEdeCbamA6YvSM5/8ftXHEXZ1PSR8MNfDo0VNDlCwb7sFD22S8uYeE4C5iXT5FKSQ==";
+        url = "https://registry.npmjs.org/@volar/source-map/-/source-map-1.10.0.tgz";
+        sha512 = "/ibWdcOzDGiq/GM1JU2eX8fH1bvAhl66hfe8yEgLEzg9txgr6qb5sQ/DEz5PcDL75tF5H5sCRRwn8Eu8ezi9mw==";
       };
     };
     "@volar/source-map-1.4.1" = {
@@ -15530,22 +14954,13 @@ let
         sha512 = "bZ46ad72dsbzuOWPUtJjBXkzSQzzSejuR3CT81+GvTEI2E994D8JPXzM3tl98zyCNnjgs4OkRyliImL1dvJ5BA==";
       };
     };
-    "@volar/source-map-1.9.0" = {
-      name = "_at_volar_slash_source-map";
-      packageName = "@volar/source-map";
-      version = "1.9.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@volar/source-map/-/source-map-1.9.0.tgz";
-        sha512 = "TQWLY8ozUOHBHTMC2pHZsNbtM25Q9QCEwAL8JFR/gmR9Yv0d9qup/gQdd5sDI7RmoPYKD+gqjLrbM4Ib41QSJQ==";
-      };
-    };
-    "@volar/typescript-1.9.0" = {
+    "@volar/typescript-1.10.0" = {
       name = "_at_volar_slash_typescript";
       packageName = "@volar/typescript";
-      version = "1.9.0";
+      version = "1.10.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@volar/typescript/-/typescript-1.9.0.tgz";
-        sha512 = "B8X4/H6V93uD7zu5VCw05eB0Ukcc39SFKsZoeylkAk2sJ50oaJLpajnQ8Ov4c+FnVQ6iPA6Xy1qdWoWJjh6xEg==";
+        url = "https://registry.npmjs.org/@volar/typescript/-/typescript-1.10.0.tgz";
+        sha512 = "OtqGtFbUKYC0pLNIk3mHQp5xWnvL1CJIUc9VE39VdZ/oqpoBh5jKfb9uJ45Y4/oP/WYTrif/Uxl1k8VTPz66Gg==";
       };
     };
     "@volar/vue-language-core-1.6.5" = {
@@ -15611,13 +15026,13 @@ let
         sha512 = "/yrv59IEnmh655z1oeDnGcvMYwnEzNzHLgeYcQCkhYX0xBvYWrAuefoiLcPBUkMpJsb46bqQ6Yv4pwTTQ4d3Qg==";
       };
     };
-    "@vscode/test-electron-2.3.3" = {
+    "@vscode/test-electron-2.3.4" = {
       name = "_at_vscode_slash_test-electron";
       packageName = "@vscode/test-electron";
-      version = "2.3.3";
+      version = "2.3.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vscode/test-electron/-/test-electron-2.3.3.tgz";
-        sha512 = "hgXCkDP0ibboF1K6seqQYyHAzCURgTwHS/6QU7slhwznDLwsRwg9bhfw1CZdyUEw8vvCmlrKWnd7BlQnI0BC4w==";
+        url = "https://registry.npmjs.org/@vscode/test-electron/-/test-electron-2.3.4.tgz";
+        sha512 = "eWzIqXMhvlcoXfEFNWrVu/yYT5w6De+WZXR/bafUQhAp8+8GkQo95Oe14phwiRUPv8L+geAKl/QM2+PoT3YW3g==";
       };
     };
     "@vue/cli-shared-utils-5.0.8" = {
@@ -15728,15 +15143,6 @@ let
         sha512 = "7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ==";
       };
     };
-    "@web3-storage/multipart-parser-1.0.0" = {
-      name = "_at_web3-storage_slash_multipart-parser";
-      packageName = "@web3-storage/multipart-parser";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@web3-storage/multipart-parser/-/multipart-parser-1.0.0.tgz";
-        sha512 = "BEO6al7BYqcnfX15W2cnGR+Q566ACXAT9UQykORCWW80lmkpWsnEob6zJS1ZVBKsSJC8+7vJkHwlp+lXG1UCdw==";
-      };
-    };
     "@webassemblyjs/ast-1.11.1" = {
       name = "_at_webassemblyjs_slash_ast";
       packageName = "@webassemblyjs/ast";
@@ -16592,13 +15998,13 @@ let
         sha512 = "w9wKgDO4C95qnXZRwZTfCmLWqyRnooGjcIwG0wADWjw9/HN0p7dtvtgSvItZtUyNteEvgTrd8QojNEqV6DAGTA==";
       };
     };
-    "@whatwg-node/node-fetch-0.4.10" = {
+    "@whatwg-node/node-fetch-0.4.11" = {
       name = "_at_whatwg-node_slash_node-fetch";
       packageName = "@whatwg-node/node-fetch";
-      version = "0.4.10";
+      version = "0.4.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@whatwg-node/node-fetch/-/node-fetch-0.4.10.tgz";
-        sha512 = "Vj/xaVgyaA2f7PVpegFnoT2W2NAJdb3gB2y1jOlQ+ae94u8YlaOi11jNPQ7qD61fvTw4N19e+avz0KGyfYWxQw==";
+        url = "https://registry.npmjs.org/@whatwg-node/node-fetch/-/node-fetch-0.4.11.tgz";
+        sha512 = "JRMx/yrBW/PXUH+0EIurUIQtAsEMrHtZBBKv6b+YCK1yG7pMNqtkl5Z39Rynq8ysVc/I6yTtNwkCy9bz5To1vw==";
       };
     };
     "@xmldom/xmldom-0.7.13" = {
@@ -16961,85 +16367,76 @@ let
         sha512 = "nzvgl3VfhcELQ8LyVrYOru+UtAy1nrygk2+AGbTm8a5YcO6o8lSjAT+pfg3vJWxIoZKOUhrK6UU7xW/+00kQrg==";
       };
     };
-    "@zwave-js/cc-11.5.2" = {
+    "@zwave-js/cc-11.8.1" = {
       name = "_at_zwave-js_slash_cc";
       packageName = "@zwave-js/cc";
-      version = "11.5.2";
+      version = "11.8.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@zwave-js/cc/-/cc-11.5.2.tgz";
-        sha512 = "VACdzSip7aGxRjs9nc7g/Udnp61bJUIOlcRZP2xS9WqQvRD1+JrKPkHvJeS6QlQQ9tr2lV9+mnarZXGHgIJgmw==";
+        url = "https://registry.npmjs.org/@zwave-js/cc/-/cc-11.8.1.tgz";
+        sha512 = "7HFkBM/2MUW37CEla/fgXbqXFa6JKDlo1ThYhoLLqlhPowRZc6MhEGWa3rilJU4sgwSF4tFw5JAxgl5DkZ0O2A==";
       };
     };
-    "@zwave-js/config-11.5.2" = {
+    "@zwave-js/config-11.8.1" = {
       name = "_at_zwave-js_slash_config";
       packageName = "@zwave-js/config";
-      version = "11.5.2";
+      version = "11.8.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@zwave-js/config/-/config-11.5.2.tgz";
-        sha512 = "q80JY9lsuX46b9ZlQTK78Q29MxPKDGPjahKvdGYfL5WYe5t7shB3tdA99mlaWYZOeDP/5XSXEY/B5IXM4Nx9Xw==";
+        url = "https://registry.npmjs.org/@zwave-js/config/-/config-11.8.1.tgz";
+        sha512 = "/LQrX0xaXHV8E7qtT7KITUTnEzzhPBHKDAvjwAdiFWhW7jQbTYBennNMaS/btnrDQBZZtXdQOEuTpv8xwDn7wQ==";
       };
     };
-    "@zwave-js/core-11.5.2" = {
+    "@zwave-js/core-11.8.1" = {
       name = "_at_zwave-js_slash_core";
       packageName = "@zwave-js/core";
-      version = "11.5.2";
+      version = "11.8.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@zwave-js/core/-/core-11.5.2.tgz";
-        sha512 = "xb2q/R+nIXlPMg5uNoOslnFgqpB50m/VZBizJ+ETeN3i/6w9TStFp7CuE3IxIHxPp7qpUUkA3XzNjG7Zn9Zo/g==";
+        url = "https://registry.npmjs.org/@zwave-js/core/-/core-11.8.1.tgz";
+        sha512 = "zL7p+wNSZrkucQ+XpliixxW/Q++aKv/a/yu3SbKpvoWlBlx1Gu2uiJtHE66sULc/QiTk/h/fQGSV5XrlFIxadQ==";
       };
     };
-    "@zwave-js/host-11.5.2" = {
+    "@zwave-js/host-11.8.1" = {
       name = "_at_zwave-js_slash_host";
       packageName = "@zwave-js/host";
-      version = "11.5.2";
+      version = "11.8.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@zwave-js/host/-/host-11.5.2.tgz";
-        sha512 = "9UviJQJiPIpxRzwn9FN0VDi8Ez5tEV+FkT+x9QTzDTSNWMAiAVO/qVWXRS9rLXRlHiwkPe3X/7kMxYn7XymVfg==";
+        url = "https://registry.npmjs.org/@zwave-js/host/-/host-11.8.1.tgz";
+        sha512 = "GBzCZ8FJ+tIOLtTL8CBUo+6SqrxeDVnA6tVP/KELXHliSHy4VEcqzUgGD89jmsR4qaY7TX8aVrnlOXe2IQ0gXA==";
       };
     };
-    "@zwave-js/nvmedit-11.5.2" = {
+    "@zwave-js/nvmedit-11.8.1" = {
       name = "_at_zwave-js_slash_nvmedit";
       packageName = "@zwave-js/nvmedit";
-      version = "11.5.2";
+      version = "11.8.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@zwave-js/nvmedit/-/nvmedit-11.5.2.tgz";
-        sha512 = "l7j/ZrIJEcQ9N/BkD+SYIuVkBzN9p0SlWJ/seRew6d5Bugcv3gAK6E0RNS3cy8LEKvsVv4f6pvpj234u2QCCDw==";
+        url = "https://registry.npmjs.org/@zwave-js/nvmedit/-/nvmedit-11.8.1.tgz";
+        sha512 = "uX1Z45N1xLKD2B7A3oyztl/dpSx5uo+E8+TpQXmFFOZS3aZzF5Ms6ybO+9F26kZLmb9OSIW8FswlPI6JEU6nxg==";
       };
     };
-    "@zwave-js/serial-11.5.2" = {
+    "@zwave-js/serial-11.8.1" = {
       name = "_at_zwave-js_slash_serial";
       packageName = "@zwave-js/serial";
-      version = "11.5.2";
+      version = "11.8.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@zwave-js/serial/-/serial-11.5.2.tgz";
-        sha512 = "fQp4XkY0Bl8Ehu/dWH99R/+b0KXBcQ3SHylEoRdzL5730y3HeUszuVToZ16wC/RDVClfF/nNvjpj9nBHniA1GQ==";
+        url = "https://registry.npmjs.org/@zwave-js/serial/-/serial-11.8.1.tgz";
+        sha512 = "30h8TkZt9PDf1p7+bh/s8mJSMJAAg3vcH7dfmun6IngTjTM0UAURgD+FyaWiU44PBD++bVtgLi0pA9q/4h53tg==";
       };
     };
-    "@zwave-js/shared-11.5.2" = {
+    "@zwave-js/shared-11.8.0" = {
       name = "_at_zwave-js_slash_shared";
       packageName = "@zwave-js/shared";
-      version = "11.5.2";
+      version = "11.8.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@zwave-js/shared/-/shared-11.5.2.tgz";
-        sha512 = "e0TY1dTrtgpwDdzt7fqco3ptnbQ5WXSQ6R8LTyRGFyvCXcXXYNOKbRiGbFJPr7brKT8rfm7c5s5RPQQ/tLX26w==";
+        url = "https://registry.npmjs.org/@zwave-js/shared/-/shared-11.8.0.tgz";
+        sha512 = "xEh31zJ+qIjcmFv249yxPCCUlZExwk+qKRcLxXqOsDyt7GUyU5jzEqoGlDe0ijCWmZxlbJdmXzOU/a9IhAffzw==";
       };
     };
-    "@zwave-js/testing-11.5.2" = {
+    "@zwave-js/testing-11.8.1" = {
       name = "_at_zwave-js_slash_testing";
       packageName = "@zwave-js/testing";
-      version = "11.5.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@zwave-js/testing/-/testing-11.5.2.tgz";
-        sha512 = "Ana550mTOPhin1NQfrpL+ZkI+7uUROc5gOeoI7UDiPGEk/dEOCFthkMrkNrhwJm5JR6du4KSlVM94iOK3IewNA==";
-      };
-    };
-    "@zxing/text-encoding-0.9.0" = {
-      name = "_at_zxing_slash_text-encoding";
-      packageName = "@zxing/text-encoding";
-      version = "0.9.0";
+      version = "11.8.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@zxing/text-encoding/-/text-encoding-0.9.0.tgz";
-        sha512 = "U/4aVJ2mxI0aDNI8Uq0wEhMgY+u4CNtEb0om3+y3+niDAsoTCOB33UF0sxpzqzdqXLqmvc+vZyAt4O8pPdfkwA==";
+        url = "https://registry.npmjs.org/@zwave-js/testing/-/testing-11.8.1.tgz";
+        sha512 = "P4lJdsxpiihczzE47h38KlUv5G8iZmStMHtUpoNhMCALHrENGVbK1FCxCEne0rgX5PvLGqkgH/pUm5ltHWl5/Q==";
       };
     };
     "CSSselect-0.4.1" = {
@@ -17627,15 +17024,6 @@ let
         sha512 = "0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w==";
       };
     };
-    "ahocorasick-1.0.2" = {
-      name = "ahocorasick";
-      packageName = "ahocorasick";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ahocorasick/-/ahocorasick-1.0.2.tgz";
-        sha512 = "hCOfMzbFx5IDutmWLAt6MZwOUjIfSM9G9FyVxytmE4Rs/5YDPWQrD/+IR1w+FweD9H2oOZEnv36TmkjhNURBVA==";
-      };
-    };
     "airplay-js-0.2.16" = {
       name = "airplay-js";
       packageName = "airplay-js";
@@ -17843,13 +17231,13 @@ let
         sha512 = "2Sy0hWhifVb8ycNFJgicL8fDPL2Ct1r62XOVxXnykn36z22MPZwnQlCmB2viQlY/lwfuO67GaQjUZ0rJgdVP7Q==";
       };
     };
-    "all-package-names-2.0.695" = {
+    "all-package-names-2.0.706" = {
       name = "all-package-names";
       packageName = "all-package-names";
-      version = "2.0.695";
+      version = "2.0.706";
       src = fetchurl {
-        url = "https://registry.npmjs.org/all-package-names/-/all-package-names-2.0.695.tgz";
-        sha512 = "fe6I6EqcgQHPTmzy+t8mT2chcRqTb83gQNKBUs54/0MCnpYpw6VnCpR+DwYC8gM/I6gAbSPodsMZdwKKa4QGmw==";
+        url = "https://registry.npmjs.org/all-package-names/-/all-package-names-2.0.706.tgz";
+        sha512 = "91VRfOiiyjEWpYBXKJOGS+0V0a4Hms0M1g7av7DO3xG0klj2HMIgzj/Lph3k6xwrF6OqM5x+D/gKWHqlyk7aGA==";
       };
     };
     "alphanum-sort-1.0.2" = {
@@ -18212,15 +17600,6 @@ let
         sha512 = "bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==";
       };
     };
-    "ansi-term-0.0.2" = {
-      name = "ansi-term";
-      packageName = "ansi-term";
-      version = "0.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ansi-term/-/ansi-term-0.0.2.tgz";
-        sha512 = "jLnGE+n8uAjksTJxiWZf/kcUmXq+cRWSl550B9NmQ8YiqaTM+lILcSe5dHdp8QkJPhaOghDjnMKwyYSMjosgAA==";
-      };
-    };
     "ansi-to-html-0.6.15" = {
       name = "ansi-to-html";
       packageName = "ansi-to-html";
@@ -18680,15 +18059,6 @@ let
         sha512 = "PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==";
       };
     };
-    "argon2-0.30.3" = {
-      name = "argon2";
-      packageName = "argon2";
-      version = "0.30.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/argon2/-/argon2-0.30.3.tgz";
-        sha512 = "DoH/kv8c9127ueJSBxAVJXinW9+EuPA3EMUxoV2sAY1qDE5H9BjTyVF/aD2XyHqbqUWabgBkIfcP3ZZuGhbJdg==";
-      };
-    };
     "argparse-1.0.10" = {
       name = "argparse";
       packageName = "argparse";
@@ -19121,6 +18491,15 @@ let
         sha512 = "SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==";
       };
     };
+    "array.prototype.findlastindex-1.2.2" = {
+      name = "array.prototype.findlastindex";
+      packageName = "array.prototype.findlastindex";
+      version = "1.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.2.tgz";
+        sha512 = "tb5thFFlUcp7NdNF6/MpDk/1r/4awWG1FIz3YqDf+/zJSTezBb+/5WViH41obXULHVpDzoiCLpJ/ZO9YbJMsdw==";
+      };
+    };
     "array.prototype.flat-1.3.1" = {
       name = "array.prototype.flat";
       packageName = "array.prototype.flat";
@@ -19418,15 +18797,6 @@ let
         sha512 = "O0yuUDnZeQDL+ncNGlJ78BiO4jnYI3bvMsD5prT0/nsgijG/LpNBIr63gTjVTNsiGkgQhiyCShTgxt8oXOrklA==";
       };
     };
-    "ast-types-0.15.2" = {
-      name = "ast-types";
-      packageName = "ast-types";
-      version = "0.15.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ast-types/-/ast-types-0.15.2.tgz";
-        sha512 = "c27loCv9QkZinsa5ProX751khO9DJl/AcB5c2KNtA6NRvHKS0PgLfcftz72KVq504vB0Gku5s2kUZzDBvQWvHg==";
-      };
-    };
     "ast-types-0.8.15" = {
       name = "ast-types";
       packageName = "ast-types";
@@ -19868,13 +19238,13 @@ let
         sha512 = "Xcz9l0z7y9yQ9rdDaxlmaI4uJHf/T8g9hOEzJcsEqX2SjCj4J20uK7+ldkDHMbpJDK76wF7xEIgxc/vSlsfw5w==";
       };
     };
-    "atomically-2.0.1" = {
+    "atomically-2.0.2" = {
       name = "atomically";
       packageName = "atomically";
-      version = "2.0.1";
+      version = "2.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/atomically/-/atomically-2.0.1.tgz";
-        sha512 = "sxBhVZUFBFhqSAsYMM3X2oaUi2NVDJ8U026FsIusM8gYXls9AYs/eXzgGrufs1Qjpkxi9zunds+75QUFz+m7UQ==";
+        url = "https://registry.npmjs.org/atomically/-/atomically-2.0.2.tgz";
+        sha512 = "Xfmb4q5QV7uqTlVdMSTtO5eF4DCHfNOdaPyKlbFShkzeNP+3lj3yjjcbdjSmEY4+pDBKJ9g26aP+ImTe88UHoQ==";
       };
     };
     "attach-ware-1.1.1" = {
@@ -19958,13 +19328,13 @@ let
         sha512 = "d1W2aNSYcz/sxYO4pMGX9vq65qOTu0P800epMud+6cYYX0QcT7zyqcxec3VWzpgvdXo57UWmVbZpLMjX2m1I7Q==";
       };
     };
-    "aws-crt-1.15.22" = {
+    "aws-crt-1.17.0" = {
       name = "aws-crt";
       packageName = "aws-crt";
-      version = "1.15.22";
+      version = "1.17.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/aws-crt/-/aws-crt-1.15.22.tgz";
-        sha512 = "2YSUnGkkJVUiIxBQQIfEBOQDY2VfUOVUp7gPJDthQKyKE257NmF8vFdaczJGkgQrP9h1murqzWeCOOJFar5JAQ==";
+        url = "https://registry.npmjs.org/aws-crt/-/aws-crt-1.17.0.tgz";
+        sha512 = "DP7xySX/3oxhXw1mH7HAnudylk31CFXEWeKplmWpIzei0eE9tvw1fnJuBcRZjKTi7/tt+MFbhdHi3glWk+TSfg==";
       };
     };
     "aws-sdk-1.18.0" = {
@@ -19994,13 +19364,13 @@ let
         sha512 = "bSOfBCVPQ/0NWYpPl34MgqMbJf0eO6PsyVlmjbStlba+98hnE6X7z67tawBRot7S+qH3L49KW2u6dfJjvhDfdQ==";
       };
     };
-    "aws-sdk-2.1418.0" = {
+    "aws-sdk-2.1427.0" = {
       name = "aws-sdk";
       packageName = "aws-sdk";
-      version = "2.1418.0";
+      version = "2.1427.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1418.0.tgz";
-        sha512 = "6WDMJQAWKwVt+44+61c/SAXKpUSwToqBMeaqizhEe3GN8TWfxMc9RfCnsYIIwS+L+5hedmKC5oc6Fg2ujs8KUQ==";
+        url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1427.0.tgz";
+        sha512 = "PIbBIKwvkvvic7hNQevpzi5Xqbi0YzzbLaFv8NZMorwu73b8ydyF+/B/G2iJ0w82jlAzDPQpWqf/7MuP59X9Gg==";
       };
     };
     "aws-sign2-0.6.0" = {
@@ -20228,31 +19598,31 @@ let
         sha512 = "MlX10UDheRr3lb3P0WcaIdtCSRlxdQsB1sBqL7W0raF070bGl1HQQq5K3T2vf2XAYie+ww+5AKC/WrkjRO2knA==";
       };
     };
-    "babel-plugin-polyfill-corejs2-0.4.4" = {
+    "babel-plugin-polyfill-corejs2-0.4.5" = {
       name = "babel-plugin-polyfill-corejs2";
       packageName = "babel-plugin-polyfill-corejs2";
-      version = "0.4.4";
+      version = "0.4.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.4.tgz";
-        sha512 = "9WeK9snM1BfxB38goUEv2FLnA6ja07UMfazFHzCXUb3NyDZAwfXvQiURQ6guTTMeHcOsdknULm1PDhs4uWtKyA==";
+        url = "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.5.tgz";
+        sha512 = "19hwUH5FKl49JEsvyTcoHakh6BE0wgXLLptIyKZ3PijHc/Ci521wygORCUCCred+E/twuqRyAkE02BAWPmsHOg==";
       };
     };
-    "babel-plugin-polyfill-corejs3-0.8.2" = {
+    "babel-plugin-polyfill-corejs3-0.8.3" = {
       name = "babel-plugin-polyfill-corejs3";
       packageName = "babel-plugin-polyfill-corejs3";
-      version = "0.8.2";
+      version = "0.8.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.2.tgz";
-        sha512 = "Cid+Jv1BrY9ReW9lIfNlNpsI53N+FN7gE+f73zLAUbr9C52W4gKLWSByx47pfDJsEysojKArqOtOKZSVIIUTuQ==";
+        url = "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.3.tgz";
+        sha512 = "z41XaniZL26WLrvjy7soabMXrfPWARN25PZoriDEiLMxAp50AUW3t35BGQUMg5xK3UrpVTtagIDklxYa+MhiNA==";
       };
     };
-    "babel-plugin-polyfill-regenerator-0.5.1" = {
+    "babel-plugin-polyfill-regenerator-0.5.2" = {
       name = "babel-plugin-polyfill-regenerator";
       packageName = "babel-plugin-polyfill-regenerator";
-      version = "0.5.1";
+      version = "0.5.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.1.tgz";
-        sha512 = "L8OyySuI6OSQ5hFy9O+7zFjyr4WhAfRjLIOkhQGYl+emwJkd/S4XXT1JpfrgR1jrQ1NcGiOh+yAdGlF8pnC3Jw==";
+        url = "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.2.tgz";
+        sha512 = "tAlOptU0Xj34V1Y2PNTL4Y0FOJMDB6bZmoW39FeCQIhigGLkqu3Fj6uiXpxIf6Ij274ENdYx64y6Au+ZKlb1IA==";
       };
     };
     "babel-plugin-react-native-web-0.18.12" = {
@@ -21398,15 +20768,6 @@ let
         sha512 = "LoF5gae+hlmfORcG1M5+5XZi4LBmvlXTzwJWzUlPryN/SJdSflZvROM2TwkT0GMpq7oqT48NRd4GS7BiVBc5OQ==";
       };
     };
-    "blessed-contrib-4.11.0" = {
-      name = "blessed-contrib";
-      packageName = "blessed-contrib";
-      version = "4.11.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/blessed-contrib/-/blessed-contrib-4.11.0.tgz";
-        sha512 = "P00Xji3xPp53+FdU9f74WpvnOAn/SS0CKLy4vLAf5Ps7FGDOTY711ruJPZb3/7dpFuP+4i7f4a/ZTZdLlKG9WA==";
-      };
-    };
     "blgr-0.2.0" = {
       name = "blgr";
       packageName = "blgr";
@@ -21830,13 +21191,13 @@ let
         sha512 = "yN5oZVmRCwe5aKwzRj6736nSmKDX7pLYwsXiCj/EYmo16hODaBiT4En5btW/jhBF/seV+XMx3aYwukYC3A49DA==";
       };
     };
-    "bootstrap-5.3.0" = {
+    "bootstrap-5.3.1" = {
       name = "bootstrap";
       packageName = "bootstrap";
-      version = "5.3.0";
+      version = "5.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/bootstrap/-/bootstrap-5.3.0.tgz";
-        sha512 = "UnBV3E3v4STVNQdms6jSGO2CvOkjUMdDAVR2V5N4uCMdaIkaQjbcEAMqRimDHIs4uqBYzDAKCQwCB+97tJgHQw==";
+        url = "https://registry.npmjs.org/bootstrap/-/bootstrap-5.3.1.tgz";
+        sha512 = "jzwza3Yagduci2x0rr9MeFSORjcHpt0lRZukZPZQJT1Dth5qzV7XcgGqYzi39KGAVYR8QEDVoO0ubFKOxzMG+g==";
       };
     };
     "bootstrap-vue-helper-json-1.1.1" = {
@@ -22082,15 +21443,6 @@ let
         sha512 = "b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==";
       };
     };
-    "bresenham-0.0.3" = {
-      name = "bresenham";
-      packageName = "bresenham";
-      version = "0.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/bresenham/-/bresenham-0.0.3.tgz";
-        sha512 = "wbMxoJJM1p3+6G7xEFXYNCJ30h2qkwmVxebkbwIl4OcnWtno5R3UT9VuYLfStlVNAQCmRjkGwjPFdfaPd4iNXw==";
-      };
-    };
     "brfs-1.6.1" = {
       name = "brfs";
       packageName = "brfs";
@@ -22127,15 +21479,6 @@ let
         sha512 = "cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==";
       };
     };
-    "browser-hrtime-1.1.8" = {
-      name = "browser-hrtime";
-      packageName = "browser-hrtime";
-      version = "1.1.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/browser-hrtime/-/browser-hrtime-1.1.8.tgz";
-        sha512 = "kzXheikaJsBtzUBlyVtPIY5r0soQePzjwVwT4IlDpU2RvfB5Py52gpU98M77rgqMCheoSSZvrcrdj3t6cZ3suA==";
-      };
-    };
     "browser-launcher2-0.4.6" = {
       name = "browser-launcher2";
       packageName = "browser-launcher2";
@@ -22325,13 +21668,13 @@ let
         sha512 = "Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==";
       };
     };
-    "browserslist-4.21.9" = {
+    "browserslist-4.21.10" = {
       name = "browserslist";
       packageName = "browserslist";
-      version = "4.21.9";
+      version = "4.21.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/browserslist/-/browserslist-4.21.9.tgz";
-        sha512 = "M0MFoZzbUrRU4KNfCrDLnvyE7gub+peetoTid3TBIqtunaDJyXlwhakT+/VkvSXcfIzFfK/nkCs4nmyTmxdNSg==";
+        url = "https://registry.npmjs.org/browserslist/-/browserslist-4.21.10.tgz";
+        sha512 = "bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ==";
       };
     };
     "brq-0.1.8" = {
@@ -23162,13 +22505,13 @@ let
         sha512 = "+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==";
       };
     };
-    "cacheable-request-10.2.12" = {
+    "cacheable-request-10.2.13" = {
       name = "cacheable-request";
       packageName = "cacheable-request";
-      version = "10.2.12";
+      version = "10.2.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cacheable-request/-/cacheable-request-10.2.12.tgz";
-        sha512 = "qtWGB5kn2OLjx47pYUkWicyOpK1vy9XZhq8yRTXOy+KAmjjESSRLx6SiExnnaGGUP1NM6/vmygMu0fGylNh9tw==";
+        url = "https://registry.npmjs.org/cacheable-request/-/cacheable-request-10.2.13.tgz";
+        sha512 = "3SD4rrMu1msNGEtNSt8Od6enwdo//U9s4ykmXfA2TD58kcLkCobtCDiby7kNyj7a/Q7lz/mAesAFI54rTdnvBA==";
       };
     };
     "cacheable-request-2.1.4" = {
@@ -23207,13 +22550,13 @@ let
         sha512 = "WF0LihfemtesFcJgO7xfOoOcnWzY/QHR4qeDqV44jPU3HTI54+LnfXK3SA27AVVGCdZFgjjFFaqUA9Jx7dMJZA==";
       };
     };
-    "cachedir-2.3.0" = {
+    "cachedir-2.4.0" = {
       name = "cachedir";
       packageName = "cachedir";
-      version = "2.3.0";
+      version = "2.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cachedir/-/cachedir-2.3.0.tgz";
-        sha512 = "A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw==";
+        url = "https://registry.npmjs.org/cachedir/-/cachedir-2.4.0.tgz";
+        sha512 = "9EtFOZR8g22CL7BWjJ9BUx1+A/djkofnyW3aOXZORNW2kxoUpx2h+uN2cOqwPmFhnpVmxg+KW2OjOSgChTEvsQ==";
       };
     };
     "caching-transform-4.0.0" = {
@@ -23522,13 +22865,13 @@ let
         sha512 = "bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==";
       };
     };
-    "caniuse-lite-1.0.30001517" = {
+    "caniuse-lite-1.0.30001518" = {
       name = "caniuse-lite";
       packageName = "caniuse-lite";
-      version = "1.0.30001517";
+      version = "1.0.30001518";
       src = fetchurl {
-        url = "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001517.tgz";
-        sha512 = "Vdhm5S11DaFVLlyiKu4hiUTkpZu+y1KA/rZZqVQfOD5YdDT/eQKlkt7NaE0WGOFgX32diqt9MiP9CAiFeRklaA==";
+        url = "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001518.tgz";
+        sha512 = "rup09/e3I0BKjncL+FesTayKtPrdwKhUufQFd3riFw1hHg8JmIFoInYfB102cFcY/pPgGmdyl/iy+jgiDi2vdA==";
       };
     };
     "canvas-2.11.2" = {
@@ -23711,31 +23054,31 @@ let
         sha512 = "eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==";
       };
     };
-    "cdk8s-2.7.115" = {
+    "cdk8s-2.29.0" = {
       name = "cdk8s";
       packageName = "cdk8s";
-      version = "2.7.115";
+      version = "2.29.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cdk8s/-/cdk8s-2.7.115.tgz";
-        sha512 = "AFMF8fUxnH+nlvmQAlj5SHyD3NJuEKQF3k4Lf6O8LPPtI/giYr42mVlK2CGkpvbwoTuakT8g5BSXKT8n1Sm8Cg==";
+        url = "https://registry.npmjs.org/cdk8s/-/cdk8s-2.29.0.tgz";
+        sha512 = "w6kc457K1xr6dWNRPHIUjDleGNSar+85RZWI+b46DxNw4WdhFuSAEDRAFwcSWyxIv1d++C3ukO/BsFSOXQYU+A==";
       };
     };
-    "cdk8s-plus-25-2.8.98" = {
+    "cdk8s-plus-25-2.16.0" = {
       name = "cdk8s-plus-25";
       packageName = "cdk8s-plus-25";
-      version = "2.8.98";
+      version = "2.16.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cdk8s-plus-25/-/cdk8s-plus-25-2.8.98.tgz";
-        sha512 = "xXWHsPVmm6Rb2hzL/1JKRZu1CVMeDKPtxtNKlOe+Om4Wak6tAcgQo8IAmr9HC5jjw0cRoeBa/XE8AyqDcSE9/Q==";
+        url = "https://registry.npmjs.org/cdk8s-plus-25/-/cdk8s-plus-25-2.16.0.tgz";
+        sha512 = "QSxTfuu9sTm8mYuxicQX9kxaNZIYPwt0vkwNojZETLkqIQO7bGmc0Cn3nAwnRDNfRUMs3JwbIcu/SHahN/18/w==";
       };
     };
-    "cdktf-0.17.1" = {
+    "cdktf-0.17.3" = {
       name = "cdktf";
       packageName = "cdktf";
-      version = "0.17.1";
+      version = "0.17.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cdktf/-/cdktf-0.17.1.tgz";
-        sha512 = "Bk9Al0z+RA3/hW372tf61QCbg2zGOVXjXlXC1taD37AfXpBgqD1fKOhJ980B93VcyMil2mIkubFC9hdrn2nziQ==";
+        url = "https://registry.npmjs.org/cdktf/-/cdktf-0.17.3.tgz";
+        sha512 = "bqAzuuYLc8sy0ZoKw/RnohS6SH6fwAhCsU31vxuEiwu0BVcCaExfjQVZx/iJgmF1TJqk/cu2fMCLUgT3PDAuhQ==";
       };
     };
     "center-align-0.1.3" = {
@@ -23873,15 +23216,6 @@ let
         sha512 = "Fo07WOYGqMfCWHOzSXOt2CxDbC6skS/jO9ynEcmpANMoPrD+W1r1K6Vx7iNm+AQmETU1Xr2t+n8nzkV9t6xh3w==";
       };
     };
-    "chalk-5.2.0" = {
-      name = "chalk";
-      packageName = "chalk";
-      version = "5.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/chalk/-/chalk-5.2.0.tgz";
-        sha512 = "ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==";
-      };
-    };
     "chalk-5.3.0" = {
       name = "chalk";
       packageName = "chalk";
@@ -24071,13 +23405,13 @@ let
         sha512 = "B07aAzxcrikjAPyV+01j7BmOpxtQETxTSlQ26BEYJ+3iUkbNKaOJ/nDbT6JjyqYxseM0ON12COHYdU2cTIjC7A==";
       };
     };
-    "chart.js-4.3.0" = {
+    "chart.js-4.3.2" = {
       name = "chart.js";
       packageName = "chart.js";
-      version = "4.3.0";
+      version = "4.3.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/chart.js/-/chart.js-4.3.0.tgz";
-        sha512 = "ynG0E79xGfMaV2xAHdbhwiPLczxnNNnasrmPEXriXsPJGjmhOBYzFVEsB65w2qMDz+CaBJJuJD0inE/ab/h36g==";
+        url = "https://registry.npmjs.org/chart.js/-/chart.js-4.3.2.tgz";
+        sha512 = "pvQNyFOY1QmbmIr8oDORL16/FFivfxj8V26VFpFilMo4cNvkV5WXLJetDio365pd9gKUHGdirUTbqJfw8tr+Dg==";
       };
     };
     "chartjs-color-2.4.1" = {
@@ -25313,15 +24647,6 @@ let
         sha512 = "QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==";
       };
     };
-    "co-body-6.1.0" = {
-      name = "co-body";
-      packageName = "co-body";
-      version = "6.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/co-body/-/co-body-6.1.0.tgz";
-        sha512 = "m7pOT6CdLN7FuXUcpuz/8lfQ/L77x8SchHCF4G0RBTJO20Wzmhn5Sp4/5WsKy8OSpifBSUrmg83qEqaDHdyFuQ==";
-      };
-    };
     "coa-1.0.4" = {
       name = "coa";
       packageName = "coa";
@@ -27132,15 +26457,6 @@ let
         sha512 = "XBlx8HSqrT0ObQwmSzM7WE5k8FxTV75h1DX1Z3n6NhQ/UYYAvInWYmG06vFt7hQZArE2fuO62aihiWIVQwh1sw==";
       };
     };
-    "copy-to-2.0.1" = {
-      name = "copy-to";
-      packageName = "copy-to";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/copy-to/-/copy-to-2.0.1.tgz";
-        sha512 = "3DdaFaU/Zf1AnpLiFDeNCD4TOWe3Zl2RZaTzUvWiIk5ERzcCodOE20Vqq4fzCbNoHURFHT4/us/Lfq+S2zyY4w==";
-      };
-    };
     "copy-webpack-plugin-10.2.4" = {
       name = "copy-webpack-plugin";
       packageName = "copy-webpack-plugin";
@@ -27222,22 +26538,22 @@ let
         sha512 = "VG23vuEisJNkGl6XQmFJd3rEG/so/CNatqeE+7uZAwTSwFeB/qaO0be8xZYUNWprJ/GIwL8aMt9cj1kvbpTZhg==";
       };
     };
-    "core-js-3.31.1" = {
+    "core-js-3.32.0" = {
       name = "core-js";
       packageName = "core-js";
-      version = "3.31.1";
+      version = "3.32.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/core-js/-/core-js-3.31.1.tgz";
-        sha512 = "2sKLtfq1eFST7l7v62zaqXacPc7uG8ZAya8ogijLhTtaKNcpzpB4TMoTw2Si+8GYKRwFPMMtUT0263QFWFfqyQ==";
+        url = "https://registry.npmjs.org/core-js/-/core-js-3.32.0.tgz";
+        sha512 = "rd4rYZNlF3WuoYuRIDEmbR/ga9CeuWX9U05umAvgrrZoHY4Z++cp/xwPQMvUpBB4Ag6J8KfD80G0zwCyaSxDww==";
       };
     };
-    "core-js-compat-3.31.1" = {
+    "core-js-compat-3.32.0" = {
       name = "core-js-compat";
       packageName = "core-js-compat";
-      version = "3.31.1";
+      version = "3.32.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.31.1.tgz";
-        sha512 = "wIDWd2s5/5aJSdpOJHfSibxNODxoGoWOBHt8JSPB41NOE94M7kuTPZCYLOlTtuoXTsBPKobpJ6T+y0SSy5L9SA==";
+        url = "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.32.0.tgz";
+        sha512 = "7a9a3D1k4UCVKnLhrgALyFcP7YCsLOQIxPd0dKjf/6GuPcgyiGP70ewWdCGrSK7evyhymi0qO4EqCmSJofDeYw==";
       };
     };
     "core-util-is-1.0.2" = {
@@ -27366,13 +26682,13 @@ let
         sha512 = "H/2gurFWVi7xXvCyvsWRLCMekl4tITJcX0QEsDMpzxtuxDyM59xLatYNg4s/k9AA/HdtCYfj2su8mgA0GSDLDA==";
       };
     };
-    "cosmiconfig-typescript-loader-4.3.0" = {
+    "cosmiconfig-typescript-loader-4.4.0" = {
       name = "cosmiconfig-typescript-loader";
       packageName = "cosmiconfig-typescript-loader";
-      version = "4.3.0";
+      version = "4.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-4.3.0.tgz";
-        sha512 = "NTxV1MFfZDLPiBMjxbHRwSh5LaLcPMwNdCutmnHJCKoVnlvldPWlllonKwrsRJ5pYZBIBGRWWU2tfvzxgeSW5Q==";
+        url = "https://registry.npmjs.org/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-4.4.0.tgz";
+        sha512 = "BabizFdC3wBHhbI4kJh0VkQP9GkBfoHPydD0COMce1nJ1kJAB3F2TmJ/I7diULBKtmEWSwEbuN/KDtgnmUUVmw==";
       };
     };
     "count-trailing-zeros-1.0.1" = {
@@ -27636,6 +26952,15 @@ let
         sha512 = "cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==";
       };
     };
+    "cross-fetch-4.0.0" = {
+      name = "cross-fetch";
+      packageName = "cross-fetch";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cross-fetch/-/cross-fetch-4.0.0.tgz";
+        sha512 = "e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==";
+      };
+    };
     "cross-spawn-4.0.2" = {
       name = "cross-spawn";
       packageName = "cross-spawn";
@@ -28887,13 +28212,13 @@ let
         sha512 = "p0bK60CEzph1iqmnxut7d/1kyTmm3UWtPlwdkM31AU+LW+BXazd5zJdoCn7VFxNCHXRngPHRnsNn5uGjLRGndg==";
       };
     };
-    "d3-graphviz-5.0.2" = {
+    "d3-graphviz-5.1.0" = {
       name = "d3-graphviz";
       packageName = "d3-graphviz";
-      version = "5.0.2";
+      version = "5.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/d3-graphviz/-/d3-graphviz-5.0.2.tgz";
-        sha512 = "EVRow9rnFgm/L1trbbnu2PGOND11IcSEdWXbrDbz9hH0/Kj3YM2AqMkkTN/EAWgawD5/zryyCy+3Vm05oSJ1Kg==";
+        url = "https://registry.npmjs.org/d3-graphviz/-/d3-graphviz-5.1.0.tgz";
+        sha512 = "PSUmKfbqhixVlTOsT9ziV/wxHAzf31rfq1POUrdfOseJQ3+GQmLTKMWNgyGc5QXtNZq3emsgQycs7W0Hr4wVvw==";
       };
     };
     "d3-hierarchy-1.1.9" = {
@@ -30012,15 +29337,6 @@ let
         sha512 = "oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==";
       };
     };
-    "deep-object-diff-1.1.9" = {
-      name = "deep-object-diff";
-      packageName = "deep-object-diff";
-      version = "1.1.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/deep-object-diff/-/deep-object-diff-1.1.9.tgz";
-        sha512 = "Rn+RuwkmkDwCi2/oXOFS9Gsr5lJZu/yTGpK7wAaAIE75CC+LCGEZHpY6VQJa/RoJcrmaA/docWJZvYohlNkWPA==";
-      };
-    };
     "deepcopy-2.1.0" = {
       name = "deepcopy";
       packageName = "deepcopy";
@@ -30309,15 +29625,6 @@ let
         sha512 = "QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==";
       };
     };
-    "del-6.0.0" = {
-      name = "del";
-      packageName = "del";
-      version = "6.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/del/-/del-6.0.0.tgz";
-        sha512 = "1shh9DQ23L16oXSZKB2JxpL7iMy2E0S9d517ptA1P8iw0alkPtQcrKH7ru31rYtKwF499HkTu+DRzq3TCKDFRQ==";
-      };
-    };
     "del-6.1.1" = {
       name = "del";
       packageName = "del";
@@ -31614,24 +30921,6 @@ let
         sha512 = "pYxfDYpued//QpnLIm4Avk7rsNtAtQkUES2cwAYSvD/wd2pKD71gN2Ebj3e7klzXwjocvE8c5vx/1fxwpqmSxA==";
       };
     };
-    "drawille-blessed-contrib-1.0.0" = {
-      name = "drawille-blessed-contrib";
-      packageName = "drawille-blessed-contrib";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/drawille-blessed-contrib/-/drawille-blessed-contrib-1.0.0.tgz";
-        sha512 = "WnHMgf5en/hVOsFhxLI8ZX0qTJmerOsVjIMQmn4cR1eI8nLGu+L7w5ENbul+lZ6w827A3JakCuernES5xbHLzQ==";
-      };
-    };
-    "drawille-canvas-blessed-contrib-0.1.3" = {
-      name = "drawille-canvas-blessed-contrib";
-      packageName = "drawille-canvas-blessed-contrib";
-      version = "0.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/drawille-canvas-blessed-contrib/-/drawille-canvas-blessed-contrib-0.1.3.tgz";
-        sha512 = "bdDvVJOxlrEoPLifGDPaxIzFh3cD7QH05ePoQ4fwnqfi08ZSxzEhOUpI5Z0/SQMlWgcCQOEtuw0zrwezacXglw==";
-      };
-    };
     "dreamopt-0.8.0" = {
       name = "dreamopt";
       packageName = "dreamopt";
@@ -31866,13 +31155,13 @@ let
         sha512 = "M9wIMFx96vq0R4F+gRpY3o2exzb8hEj/n9S8unZtHSvYjibBp/iMufSzvmOcV/laG0ZtuTVGtiJggPOSW2r93g==";
       };
     };
-    "editorconfig-1.0.3" = {
+    "editorconfig-1.0.4" = {
       name = "editorconfig";
       packageName = "editorconfig";
-      version = "1.0.3";
+      version = "1.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/editorconfig/-/editorconfig-1.0.3.tgz";
-        sha512 = "SLHUig+v3PpjlCGenNDSMVj5caWTJ+aDXaqR1ucZCbXcotV3D7+ycT1jwbICxiPC6gju/rS+iRw8SC7kQukSig==";
+        url = "https://registry.npmjs.org/editorconfig/-/editorconfig-1.0.4.tgz";
+        sha512 = "L9Qe08KWTlqYMVvMcTIvMAdl1cDUubzRNYL+WfA4bLDMHe4nemKkpmYzkznE1FwLKu0EEmy6obgQKzMJrg4x9Q==";
       };
     };
     "ee-first-1.1.0" = {
@@ -31938,13 +31227,13 @@ let
         sha512 = "r1NDtlajsq7gf2EXgjRfblCVPquvD2yeg+6XGErOKblvxOpDi0iulZLVhgYDP4AEF1P5/HgbX/vwjlkEv7PEIQ==";
       };
     };
-    "electron-to-chromium-1.4.466" = {
+    "electron-to-chromium-1.4.480" = {
       name = "electron-to-chromium";
       packageName = "electron-to-chromium";
-      version = "1.4.466";
+      version = "1.4.480";
       src = fetchurl {
-        url = "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.466.tgz";
-        sha512 = "TSkRvbXRXD8BwhcGlZXDsbI2lRoP8dvqR7LQnqQNk9KxXBc4tG8O+rTuXgTyIpEdiqSGKEBSqrxdqEntnjNncA==";
+        url = "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.480.tgz";
+        sha512 = "IXTgg+bITkQv/FLP9FjX6f9KFCs5hQWeh5uNSKxB9mqYj/JXhHDbu+ekS43LVvbkL3eW6/oZy4+r9Om6lan1Uw==";
       };
     };
     "electrum-client-git+https://github.com/janoside/electrum-client" = {
@@ -32039,13 +31328,13 @@ let
         sha512 = "AGvFfs+d0JKCJQ4o01ASQLGPmSCxgfU9RFXvzPvZdjKK8oscynksuJhWrSTSw7j7Ep/sZct5b5ZhYCi8S/t0HQ==";
       };
     };
-    "emmet-2.4.5" = {
+    "emmet-2.4.6" = {
       name = "emmet";
       packageName = "emmet";
-      version = "2.4.5";
+      version = "2.4.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/emmet/-/emmet-2.4.5.tgz";
-        sha512 = "xOiVNINJFh0dMik+KzXSEYbAnFLTnadEzanxj7+F15uIf6avQwu3uPa1wI/8AFtOWKZ8lHg7TjC83wXcPhgOPw==";
+        url = "https://registry.npmjs.org/emmet/-/emmet-2.4.6.tgz";
+        sha512 = "dJfbdY/hfeTyf/Ef7Y7ubLYzkBvPQ912wPaeVYpAxvFxkEBf/+hJu4H6vhAvFN6HlxqedlfVn2x1S44FfQ97pg==";
       };
     };
     "emoji-named-characters-1.0.2" = {
@@ -32399,6 +31688,15 @@ let
         sha512 = "yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==";
       };
     };
+    "enquirer-2.4.1" = {
+      name = "enquirer";
+      packageName = "enquirer";
+      version = "2.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz";
+        sha512 = "rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==";
+      };
+    };
     "ensure-posix-path-1.1.1" = {
       name = "ensure-posix-path";
       packageName = "ensure-posix-path";
@@ -32904,24 +32202,6 @@ let
         sha512 = "71f7EjPWTiSguen8X/kxEpkAS7BFHwtQKisCDDV3Y4GLGWBaoSCyD5uXkaUew6JDzA9FEN1W23mdnSwW9kqCeg==";
       };
     };
-    "esbuild-0.17.6" = {
-      name = "esbuild";
-      packageName = "esbuild";
-      version = "0.17.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/esbuild/-/esbuild-0.17.6.tgz";
-        sha512 = "TKFRp9TxrJDdRWfSsSERKEovm6v30iHnrjlcGhLBOtReE28Yp1VSBRfO3GTaOFMoxsNerx4TjrhzSuma9ha83Q==";
-      };
-    };
-    "esbuild-0.18.14" = {
-      name = "esbuild";
-      packageName = "esbuild";
-      version = "0.18.14";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/esbuild/-/esbuild-0.18.14.tgz";
-        sha512 = "uNPj5oHPYmj+ZhSQeYQVFZ+hAlJZbAGOmmILWIqrGvPVlNLbyOvU5Bu6Woi8G8nskcx0vwY0iFoMPrzT86Ko+w==";
-      };
-    };
     "esbuild-android-64-0.14.47" = {
       name = "esbuild-android-64";
       packageName = "esbuild-android-64";
@@ -33210,15 +32490,6 @@ let
         sha512 = "yK5NCcH31Uae076AyQAXeJzt/vxIo9+omZRKj1pauhk3ITuADzuOx5N2fdHrAKPxN+zH3w96uFKlY7yIn490xQ==";
       };
     };
-    "esbuild-plugins-node-modules-polyfill-1.3.0" = {
-      name = "esbuild-plugins-node-modules-polyfill";
-      packageName = "esbuild-plugins-node-modules-polyfill";
-      version = "1.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/esbuild-plugins-node-modules-polyfill/-/esbuild-plugins-node-modules-polyfill-1.3.0.tgz";
-        sha512 = "r/aNOvAlIaIzqJwvFHWhDGrPF/Aj5qI1zKVeHbCFpKH+bnKW1BG2LGixMd3s6hyWcZHcfdl2QZRucVuOLzFRrA==";
-      };
-    };
     "esbuild-sunos-64-0.14.47" = {
       name = "esbuild-sunos-64";
       packageName = "esbuild-sunos-64";
@@ -33480,22 +32751,22 @@ let
         sha512 = "Y956lmS7vDqomxlaaQAHVmeb4tNMp2FWIvU/RnU5BD3IKMD/MJPr76xdyr68P8tV1iNMvN2mRK0yy3c+UjL+bw==";
       };
     };
-    "eslint-8.45.0" = {
+    "eslint-8.46.0" = {
       name = "eslint";
       packageName = "eslint";
-      version = "8.45.0";
+      version = "8.46.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/eslint/-/eslint-8.45.0.tgz";
-        sha512 = "pd8KSxiQpdYRfYa9Wufvdoct3ZPQQuVuU5O6scNgMuOMYuxvH0IGaYK0wUFjo4UYYQQCUndlXiMbnxopwvvTiw==";
+        url = "https://registry.npmjs.org/eslint/-/eslint-8.46.0.tgz";
+        sha512 = "cIO74PvbW0qU8e0mIvk5IV3ToWdCq5FYG6gWPHHkx6gNdjlbAYvtfHmlCMXxjcoVaIdwy/IAt3+mDkZkfvb2Dg==";
       };
     };
-    "eslint-config-prettier-8.8.0" = {
+    "eslint-config-prettier-8.9.0" = {
       name = "eslint-config-prettier";
       packageName = "eslint-config-prettier";
-      version = "8.8.0";
+      version = "8.9.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.8.0.tgz";
-        sha512 = "wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA==";
+        url = "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.9.0.tgz";
+        sha512 = "+sbni7NfVXnOpnRadUA8S28AUlsZt9GjgFvABIRL9Hkn8KqNzOp+7Lw4QWtrwn20KzU3wqu1QoOj2m+7rKRqkA==";
       };
     };
     "eslint-config-standard-17.1.0" = {
@@ -33552,13 +32823,13 @@ let
         sha512 = "GILhQTnjYE2WorX5Jyi5i4dz5ALWxBIdQECVQavL6s7cI76IZTDWleTHkxz/QT3kvcs2QlGHvKLYsSlPOlPXnQ==";
       };
     };
-    "eslint-plugin-import-2.27.5" = {
+    "eslint-plugin-import-2.28.0" = {
       name = "eslint-plugin-import";
       packageName = "eslint-plugin-import";
-      version = "2.27.5";
+      version = "2.28.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.27.5.tgz";
-        sha512 = "LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==";
+        url = "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.28.0.tgz";
+        sha512 = "B8s/n+ZluN7sxj9eUf7/pRFERX0r5bnFA2dCaLHy2ZeaQEAz0k+ZZkFWRFHJAqxfxQDx6KLv9LeIki7cFdwW+Q==";
       };
     };
     "eslint-plugin-jsx-a11y-6.7.1" = {
@@ -33597,13 +32868,13 @@ let
         sha512 = "tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig==";
       };
     };
-    "eslint-plugin-react-7.32.2" = {
+    "eslint-plugin-react-7.33.1" = {
       name = "eslint-plugin-react";
       packageName = "eslint-plugin-react";
-      version = "7.32.2";
+      version = "7.33.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.32.2.tgz";
-        sha512 = "t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg==";
+        url = "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.33.1.tgz";
+        sha512 = "L093k0WAMvr6VhNwReB8VgOq5s2LesZmrpPdKz/kZElQDzqS7G7+DnKoqT+w4JwuiGeAhAvHO0fvy0Eyk4ejDA==";
       };
     };
     "eslint-plugin-react-hooks-4.6.0" = {
@@ -33633,13 +32904,13 @@ let
         sha512 = "oVNDqzBC9h3GO+NTgWeLMhhGigy6/bQaQbHS+0z7C4YEu/qK/yxHvca/2PTZtGNPsCrHwOTgKMrwu02A9iPBmw==";
       };
     };
-    "eslint-plugin-vue-9.15.1" = {
+    "eslint-plugin-vue-9.16.1" = {
       name = "eslint-plugin-vue";
       packageName = "eslint-plugin-vue";
-      version = "9.15.1";
+      version = "9.16.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.15.1.tgz";
-        sha512 = "CJE/oZOslvmAR9hf8SClTdQ9JLweghT6JCBQNrT2Iel1uVw0W0OLJxzvPd6CxmABKCvLrtyDnqGV37O7KQv6+A==";
+        url = "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.16.1.tgz";
+        sha512 = "2FtnTqazA6aYONfDuOZTk0QzwhAwi7Z4+uJ7+GHeGxcKapjqWlDsRWDenvyG/utyOfAS5bVRmAG3cEWiYEz2bA==";
       };
     };
     "eslint-rule-docs-1.1.235" = {
@@ -33678,13 +32949,13 @@ let
         sha512 = "2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==";
       };
     };
-    "eslint-scope-7.2.1" = {
+    "eslint-scope-7.2.2" = {
       name = "eslint-scope";
       packageName = "eslint-scope";
-      version = "7.2.1";
+      version = "7.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.1.tgz";
-        sha512 = "CvefSOsDdaYYvxChovdrPo/ZGt8d5lrJWleAc1diXRKhHGiTYEI26cvo8Kle/wGnsizoCJjK73FMg1/IkIwiNA==";
+        url = "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz";
+        sha512 = "dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==";
       };
     };
     "eslint-utils-1.4.3" = {
@@ -33741,13 +33012,13 @@ let
         sha512 = "mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==";
       };
     };
-    "eslint-visitor-keys-3.4.1" = {
+    "eslint-visitor-keys-3.4.2" = {
       name = "eslint-visitor-keys";
       packageName = "eslint-visitor-keys";
-      version = "3.4.1";
+      version = "3.4.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz";
-        sha512 = "pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==";
+        url = "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.2.tgz";
+        sha512 = "8drBzUEyZ2llkpCA67iYrgEssKDUu68V8ChqqOfFupIaG/LCVPUT+CoGJpT77zJprs4T/W7p07LP7zAIMuweVw==";
       };
     };
     "esmangle-evaluator-1.0.1" = {
@@ -33939,33 +33210,6 @@ let
         sha512 = "MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==";
       };
     };
-    "estree-util-attach-comments-2.1.1" = {
-      name = "estree-util-attach-comments";
-      packageName = "estree-util-attach-comments";
-      version = "2.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/estree-util-attach-comments/-/estree-util-attach-comments-2.1.1.tgz";
-        sha512 = "+5Ba/xGGS6mnwFbXIuQiDPTbuTxuMCooq3arVv7gPZtYpjp+VXH/NkHAP35OOefPhNG/UGqU3vt/LTABwcHX0w==";
-      };
-    };
-    "estree-util-build-jsx-2.2.2" = {
-      name = "estree-util-build-jsx";
-      packageName = "estree-util-build-jsx";
-      version = "2.2.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/estree-util-build-jsx/-/estree-util-build-jsx-2.2.2.tgz";
-        sha512 = "m56vOXcOBuaF+Igpb9OPAy7f9w9OIkb5yhjsZuaPm7HoGi4oTOQi0h2+yZ+AtKklYFZ+rPC4n0wYCJCEU1ONqg==";
-      };
-    };
-    "estree-util-is-identifier-name-1.1.0" = {
-      name = "estree-util-is-identifier-name";
-      packageName = "estree-util-is-identifier-name";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-1.1.0.tgz";
-        sha512 = "OVJZ3fGGt9By77Ix9NhaRbzfbDV/2rx9EP7YIDJTmsZSEc5kYn2vWcNccYyahJL2uAQZK2a5Or2i0wtIKTPoRQ==";
-      };
-    };
     "estree-util-is-identifier-name-2.1.0" = {
       name = "estree-util-is-identifier-name";
       packageName = "estree-util-is-identifier-name";
@@ -33975,15 +33219,6 @@ let
         sha512 = "bEN9VHRyXAUOjkKVQVvArFym08BTWB0aJPppZZr0UNyAqWsLaVfAqP7hbaTJjzHifmB5ebnR8Wm7r7yGN/HonQ==";
       };
     };
-    "estree-util-value-to-estree-1.3.0" = {
-      name = "estree-util-value-to-estree";
-      packageName = "estree-util-value-to-estree";
-      version = "1.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/estree-util-value-to-estree/-/estree-util-value-to-estree-1.3.0.tgz";
-        sha512 = "Y+ughcF9jSUJvncXwqRageavjrNPAI+1M/L3BI3PyLp1nmgYTGUXU6t5z1Y7OWuThoDdhPME07bQU+d5LxdJqw==";
-      };
-    };
     "estree-util-visit-1.2.1" = {
       name = "estree-util-visit";
       packageName = "estree-util-visit";
@@ -34083,15 +33318,6 @@ let
         sha512 = "/Sn9Y0oKl0uqQuvgFk/zQgR7aw1g36qX/jzSQ5lSwlO0GigPymk4eGQfeNTD03w1dPOqfz8V77Cy43jH56pagw==";
       };
     };
-    "eval-0.1.6" = {
-      name = "eval";
-      packageName = "eval";
-      version = "0.1.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/eval/-/eval-0.1.6.tgz";
-        sha512 = "o0XUw+5OGkXw4pJZzQoXUk+H87DHuC+7ZE//oSrRGtatTmr12oTnLfg6QOq9DyTt0c/p4TwzgmkKrBzWTSizyQ==";
-      };
-    };
     "eve-0.5.4" = {
       name = "eve";
       packageName = "eve";
@@ -34146,15 +33372,6 @@ let
         sha512 = "JkkW5xv0b2t822XOqoR3VorE9rw3reG0+k3+mACJc+TtyD0wrW9t2LsPcOV2F3kWIUDSP98GXhxm6JU+d7BEvg==";
       };
     };
-    "event-stream-0.9.8" = {
-      name = "event-stream";
-      packageName = "event-stream";
-      version = "0.9.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/event-stream/-/event-stream-0.9.8.tgz";
-        sha512 = "o5h0Mp1bkoR6B0i7pTCAzRy+VzdsRWH997KQD4Psb0EOPoKEIiaRx/EsOdUl7p1Ktjw7aIWvweI/OY1R9XrlUg==";
-      };
-    };
     "event-stream-3.1.7" = {
       name = "event-stream";
       packageName = "event-stream";
@@ -34461,13 +33678,13 @@ let
         sha512 = "m4wU9j4Z9nXXoqT8RSfl28JSwmMNLFF69OON8H/lL3NeU0tNpGz313bcOfYoBBHokB0dC2tMl3VUcKgHELhL2Q==";
       };
     };
-    "execa-7.1.1" = {
+    "execa-7.2.0" = {
       name = "execa";
       packageName = "execa";
-      version = "7.1.1";
+      version = "7.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/execa/-/execa-7.1.1.tgz";
-        sha512 = "wH0eMf/UXckdUYnO21+HDztteVv05rq2GXksxT4fCGeHkBhw1DROXh40wcjMcRqDOWE7iPJ4n3M7e2+YFP+76Q==";
+        url = "https://registry.npmjs.org/execa/-/execa-7.2.0.tgz";
+        sha512 = "UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==";
       };
     };
     "execall-1.0.0" = {
@@ -35316,15 +34533,6 @@ let
         sha512 = "g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==";
       };
     };
-    "fast-glob-3.2.11" = {
-      name = "fast-glob";
-      packageName = "fast-glob";
-      version = "3.2.11";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz";
-        sha512 = "xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==";
-      };
-    };
     "fast-glob-3.2.12" = {
       name = "fast-glob";
       packageName = "fast-glob";
@@ -35352,6 +34560,15 @@ let
         sha512 = "ChDuvbOypPuNjO8yIDf36x7BlZX1smcUMTTcyoIjycexOxd6DFsKsg21qVBzEmr3G7fUKIRy2/psii+CIUt7FA==";
       };
     };
+    "fast-glob-3.3.1" = {
+      name = "fast-glob";
+      packageName = "fast-glob";
+      version = "3.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz";
+        sha512 = "kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==";
+      };
+    };
     "fast-json-parse-1.0.3" = {
       name = "fast-json-parse";
       packageName = "fast-json-parse";
@@ -35451,13 +34668,13 @@ let
         sha512 = "xEHkLUEmStETI+15zhglJLO9TjXxNkkp2ldEfYVZdcqxFhM172EfGl1irI6mVlTxXspYKH1/kjevnt/XSsPeFA==";
       };
     };
-    "fast-redact-3.2.0" = {
+    "fast-redact-3.3.0" = {
       name = "fast-redact";
       packageName = "fast-redact";
-      version = "3.2.0";
+      version = "3.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fast-redact/-/fast-redact-3.2.0.tgz";
-        sha512 = "zaTadChr+NekyzallAMXATXLOR8MNx3zqpZ0MUF2aGf4EathnG0f32VLODNlY8IuGY3HoRO2L6/6fSzNsLaHIw==";
+        url = "https://registry.npmjs.org/fast-redact/-/fast-redact-3.3.0.tgz";
+        sha512 = "6T5V1QK1u4oF+ATxs1lWUmlEk6P2T9HqJG3e2DnHOdVgZy2rFJBoEnrIedcTXlkAHU/zKC+7KETJ+KGGKwxgMQ==";
       };
     };
     "fast-safe-stringify-2.1.1" = {
@@ -36045,13 +35262,13 @@ let
         sha512 = "hcFKyUG57yWGAzu1CMt/dPzYZuv+jAJUT85bL8mrXvNe6hWj6yEHEc4EdcgiA6Z3oi1/9wXJdZPXF2dZNgwgOg==";
       };
     };
-    "filesize-10.0.7" = {
+    "filesize-10.0.8" = {
       name = "filesize";
       packageName = "filesize";
-      version = "10.0.7";
+      version = "10.0.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/filesize/-/filesize-10.0.7.tgz";
-        sha512 = "iMRG7Qo9nayLoU3PNCiLizYtsy4W1ClrapeCwEgtiQelOAOuRJiw4QaLI+sSr8xr901dgHv+EYP2bCusGZgoiA==";
+        url = "https://registry.npmjs.org/filesize/-/filesize-10.0.8.tgz";
+        sha512 = "/ylBrxZ1GAjgh2CEemKKLwTtmXfWqTtN1jRl6iqLwnMEucUX5cmaCCUPGstQOHVCcK9uYL6o1cPNakLQU2sasQ==";
       };
     };
     "filesize-3.6.1" = {
@@ -36396,15 +35613,6 @@ let
         sha512 = "LNRvR4hr/S8cXXkIY5pTgVP7L3tq6LlYWcg9nWBuW7o1NMxKZo6oOVa/6GIekMGI0Iw7uC+HWimMe9u/VAeKqw==";
       };
     };
-    "fix-esm-1.0.1" = {
-      name = "fix-esm";
-      packageName = "fix-esm";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fix-esm/-/fix-esm-1.0.1.tgz";
-        sha512 = "EZtb7wPXZS54GaGxaWxMlhd1DUDCnAg5srlYdu/1ZVeW+7wwR3Tp59nu52dXByFs3MBRq+SByx1wDOJpRvLEXw==";
-      };
-    };
     "fkill-7.2.1" = {
       name = "fkill";
       packageName = "fkill";
@@ -36414,13 +35622,13 @@ let
         sha512 = "eN9cmsIlRdq06wu3m01OOEgQf5Xh/M7REm0jfZ4eL3V3XisjXzfRq3iyqtKS+FhO6wB36FvWRiRGdeSx5KpLAQ==";
       };
     };
-    "fkill-8.1.0" = {
+    "fkill-8.1.1" = {
       name = "fkill";
       packageName = "fkill";
-      version = "8.1.0";
+      version = "8.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fkill/-/fkill-8.1.0.tgz";
-        sha512 = "XrPKdURVYoXerpYx+zhhaXrO9vHVflnGD4JhwjOwg03vKwyOH6eZ+EY69aKDD+q1EbCzviVmD+9OG9rwQy+z/A==";
+        url = "https://registry.npmjs.org/fkill/-/fkill-8.1.1.tgz";
+        sha512 = "138B7rFQMEKoJQOVl3NCPyRAaex0ruLvQgqkEWa/CyUY9MFFxZ8TtztiMJSs6/wD60M6kK0OKUOwHRsr3U2RBg==";
       };
     };
     "flagged-respawn-1.0.1" = {
@@ -36522,13 +35730,13 @@ let
         sha512 = "d+9na7t9FyH8gBJoNDSi28mE4NgQVGGvxQ4aHtFRetjyh5SXjuus+V5EZaxFmFdXVemSOrx0lsgEl/ZMjnOWJA==";
       };
     };
-    "flow-parser-0.212.0" = {
+    "flow-parser-0.213.1" = {
       name = "flow-parser";
       packageName = "flow-parser";
-      version = "0.212.0";
+      version = "0.213.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/flow-parser/-/flow-parser-0.212.0.tgz";
-        sha512 = "45eNySEs7n692jLN+eHQ6zvC9e1cqu9Dq1PpDHTcWRri2HFEs8is8Anmp1RcIhYxA5TZYD6RuESG2jdj6nkDJQ==";
+        url = "https://registry.npmjs.org/flow-parser/-/flow-parser-0.213.1.tgz";
+        sha512 = "l+vyZO6hrWG60DredryA8mq62fK9vxL6/RR13HA/aVLBNh9No/wEJsKI+CJqPRkF4CIRUfcJQBeaMXSKcncxUQ==";
       };
     };
     "fluent-ffmpeg-2.1.2" = {
@@ -36972,13 +36180,13 @@ let
         sha512 = "wJaE62fLaB3jCYvY2ZHjZvmKK2iiLiiehX38rz5QZxtdN8fVPJDeZUiVvJrHStdTc+23LHlyZuSEKgFc0pxi2g==";
       };
     };
-    "fp-ts-2.16.0" = {
+    "fp-ts-2.16.1" = {
       name = "fp-ts";
       packageName = "fp-ts";
-      version = "2.16.0";
+      version = "2.16.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fp-ts/-/fp-ts-2.16.0.tgz";
-        sha512 = "bLq+KgbiXdTEoT1zcARrWEpa5z6A/8b7PcDW7Gef3NSisQ+VS7ll2Xbf1E+xsgik0rWub/8u0qP/iTTjj+PhxQ==";
+        url = "https://registry.npmjs.org/fp-ts/-/fp-ts-2.16.1.tgz";
+        sha512 = "by7U5W8dkIzcvDofUcO42yl9JbnHTEDBrzu3pt5fKT+Z4Oy85I21K80EYJYdjQGC2qum4Vo55Ag57iiIK4FYuA==";
       };
     };
     "fraction.js-4.2.0" = {
@@ -37458,13 +36666,13 @@ let
         sha512 = "cJaJkxCCxC8qIIcPBF9yGxY0W/tVZS3uEISDxhYIdtk8OL93pe+6Zj7LjCqVV4dzbqcriOZ+kQ/NE4RXZHsIGA==";
       };
     };
-    "futoin-hkdf-1.5.2" = {
+    "futoin-hkdf-1.5.3" = {
       name = "futoin-hkdf";
       packageName = "futoin-hkdf";
-      version = "1.5.2";
+      version = "1.5.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/futoin-hkdf/-/futoin-hkdf-1.5.2.tgz";
-        sha512 = "Bnytx8kQJQoEAPGgTZw3kVPy8e/n9CDftPzc0okgaujmbdF1x7w8wg+u2xS0CML233HgruNk6VQW28CzuUFMKw==";
+        url = "https://registry.npmjs.org/futoin-hkdf/-/futoin-hkdf-1.5.3.tgz";
+        sha512 = "SewY5KdMpaoCeh7jachEWFsh1nNlaDjNHZXWqL5IGwtpEYHTgkr2+AMCgNwKWkcc0wpSYrZfR7he4WdmHFtDxQ==";
       };
     };
     "fuzzy-0.1.3" = {
@@ -37494,15 +36702,6 @@ let
         sha512 = "/FAzX0w4Zd4PaVMM06wSJfDfdkYmIqZs4c6iCUc2icEL8nz6VJqyqlCy6InPZInjf6HadfhkFxYd2a0RDZ3Htg==";
       };
     };
-    "fx-28.0.0" = {
-      name = "fx";
-      packageName = "fx";
-      version = "28.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fx/-/fx-28.0.0.tgz";
-        sha512 = "vKQDA9g868cZiW8ulgs2uN1yx1i7/nsS33jTMOxekk0Z03BJLffVcdW6AVD32fWb3E6RtmWWuBXBZOk8cLXFNQ==";
-      };
-    };
     "fx-runner-1.3.0" = {
       name = "fx-runner";
       packageName = "fx-runner";
@@ -37692,15 +36891,6 @@ let
         sha512 = "TuOwZWgJ2VAMEGJvAyPWvpqxSANF0LDpmyHauMjFYzaACvn+QTT/AZomvPCzVBV7yDN3OmwHQ5OvHaeLKre3JQ==";
       };
     };
-    "generic-names-4.0.0" = {
-      name = "generic-names";
-      packageName = "generic-names";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/generic-names/-/generic-names-4.0.0.tgz";
-        sha512 = "ySFolZQfw9FoDb3ed9d80Cm9f0+r7qj+HJkWjeD9RBfpxEVTlVhol+gvaQB/78WbwYfbnNh8nWHHBSlg072y6A==";
-      };
-    };
     "generic-pool-3.8.2" = {
       name = "generic-pool";
       packageName = "generic-pool";
@@ -38133,15 +37323,6 @@ let
         sha512 = "PdNkH2snpXsKIzho6OWMZKEl+KZG6Zm+1ghQIDi0tEq1sz/S1tDjvNuYrX2ZpomalHAB89OUQim8O6vN+jesNQ==";
       };
     };
-    "git-hooks-list-1.0.3" = {
-      name = "git-hooks-list";
-      packageName = "git-hooks-list";
-      version = "1.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/git-hooks-list/-/git-hooks-list-1.0.3.tgz";
-        sha512 = "Y7wLWcrLUXwk2noSka166byGCvhMtDRpgHdzCno1UQv/n/Hegp++a2xBWJL1lJarnKD3SWaljD+0z1ztqxuKyQ==";
-      };
-    };
     "git-node-fs-1.0.0" = {
       name = "git-node-fs";
       packageName = "git-node-fs";
@@ -38331,15 +37512,6 @@ let
         sha512 = "qVDEXufVtYUzYqI5hoDUONh9GCEPi0n+e35KNDafdsNt9fPxB0nvFW/kFiw7W42wkg8TUyhBqb+t24yyaoc87A==";
       };
     };
-    "gl-matrix-2.8.1" = {
-      name = "gl-matrix";
-      packageName = "gl-matrix";
-      version = "2.8.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/gl-matrix/-/gl-matrix-2.8.1.tgz";
-        sha512 = "0YCjVpE3pS5XWlN3J4X7AiAx65+nqAI54LndtVFnQZB6G/FVLkZH8y8V6R3cIoOQR4pUdfwQGd1iwyoXHJ4Qfw==";
-      };
-    };
     "glob-10.2.7" = {
       name = "glob";
       packageName = "glob";
@@ -38782,15 +37954,6 @@ let
         sha512 = "40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==";
       };
     };
-    "globby-10.0.0" = {
-      name = "globby";
-      packageName = "globby";
-      version = "10.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/globby/-/globby-10.0.0.tgz";
-        sha512 = "3LifW9M4joGZasyYPz2A1U74zbC/45fvpXUvO/9KbSa+VV0aGZarWkfdgKyR9sExNP0t0x0ss/UMJpNpcaTspw==";
-      };
-    };
     "globby-10.0.2" = {
       name = "globby";
       packageName = "globby";
@@ -39286,13 +38449,13 @@ let
         sha512 = "jcLLfkpoVGmH7/InMC/1hIvOPSUh38oJtGhvrOFGzioE1DZ+0YW16RgmOJhHiuWTvGiJQ9Z1Ik43JvkRPRvE+A==";
       };
     };
-    "graphology-0.25.1" = {
+    "graphology-0.25.4" = {
       name = "graphology";
       packageName = "graphology";
-      version = "0.25.1";
+      version = "0.25.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/graphology/-/graphology-0.25.1.tgz";
-        sha512 = "yYA7BJCcXN2DrKNQQ9Qf22zBHm/yTbyBR71T1MYBbGtywNHsv0QZtk8zaR6zxNcp2hCCZayUkHp9DyMSZCpoxQ==";
+        url = "https://registry.npmjs.org/graphology/-/graphology-0.25.4.tgz";
+        sha512 = "33g0Ol9nkWdD6ulw687viS8YJQBxqG5LWII6FI6nul0pq6iM2t5EKquOTFDbyTblRB3O9I+7KX4xI8u5ffekAQ==";
       };
     };
     "graphology-types-0.24.7" = {
@@ -40249,15 +39412,6 @@ let
         sha512 = "yGkCfPkkfCyiLfK6KEl/orMDr/zgCnq/NaO9HfULx6/Zga5fso5eqQA5Ov/JZVqACygvw9shRYWgXNcG2ilo7w==";
       };
     };
-    "hast-util-to-estree-2.3.3" = {
-      name = "hast-util-to-estree";
-      packageName = "hast-util-to-estree";
-      version = "2.3.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/hast-util-to-estree/-/hast-util-to-estree-2.3.3.tgz";
-        sha512 = "ihhPIUPxN0v0w6M5+IiAZZrn0LH2uZomeWwhn7uP7avZC6TE7lIiEh2yBMPr5+zi1aUCXq6VoYRgs2Bw9xmycQ==";
-      };
-    };
     "hast-util-to-nlcst-1.2.8" = {
       name = "hast-util-to-nlcst";
       packageName = "hast-util-to-nlcst";
@@ -40447,15 +39601,6 @@ let
         sha512 = "hx73jClhyk910sidBB7ERlnhMlFsJJIBqSVMFDwPN8o2v9nmp5KgLq1Xz1Bf1fCMMZ6mPrX159iG0VLy/fPMtQ==";
       };
     };
-    "here-0.0.2" = {
-      name = "here";
-      packageName = "here";
-      version = "0.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/here/-/here-0.0.2.tgz";
-        sha512 = "U7VYImCTcPoY27TSmzoiFsmWLEqQFaYNdpsPb9K0dXJhE6kufUqycaz51oR09CW85dDU9iWyy7At8M+p7hb3NQ==";
-      };
-    };
     "heroku-cli-util-8.0.12" = {
       name = "heroku-cli-util";
       packageName = "heroku-cli-util";
@@ -42157,15 +41302,6 @@ let
         sha512 = "CnfUJe5o2S9aAQWXGMhDZI4UL39MAJV3guOTfHHIdos4tuVHkl1j/J+1XLQn+CLIvqcpgQR/p+xXYXzcrhCe5w==";
       };
     };
-    "inflation-2.0.0" = {
-      name = "inflation";
-      packageName = "inflation";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/inflation/-/inflation-2.0.0.tgz";
-        sha512 = "m3xv4hJYR2oXw4o4Y5l6P5P16WYmazYof+el6Al3f+YlggGj6qT9kImBAnzDelRALnP5d3h4jGBPKzYCizjZZw==";
-      };
-    };
     "inflection-1.13.4" = {
       name = "inflection";
       packageName = "inflection";
@@ -42373,15 +41509,6 @@ let
         sha512 = "0mVWSSbNDvedDWIN4wxLsdPM4a7cIPcpyMxj3QZ406QRwQ6ePGB1YIHxVPjqpcUGbWQ5C+nHTwGNWAGvt7ggVA==";
       };
     };
-    "inline-style-parser-0.1.1" = {
-      name = "inline-style-parser";
-      packageName = "inline-style-parser";
-      version = "0.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz";
-        sha512 = "7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==";
-      };
-    };
     "innertext-1.0.3" = {
       name = "innertext";
       packageName = "innertext";
@@ -42490,6 +41617,15 @@ let
         sha512 = "SJ0fVfgIzZL1AD6WvFhivlh5/3hN6WeAvpvPrpPXH/8MOcQHeXhinmSm5CDJNRC2Q+sLh9YJ5k8F8/5APMXSfw==";
       };
     };
+    "inquirer-9.2.9" = {
+      name = "inquirer";
+      packageName = "inquirer";
+      version = "9.2.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/inquirer/-/inquirer-9.2.9.tgz";
+        sha512 = "0VXHov2GGwWquYxwxlcIcm3yOHvFb2jh/+HkY8/AUXSTWShpo6QJMlSfHi5Xo74NO40UePBM3rQcI3OkzOF/7A==";
+      };
+    };
     "inquirer-autocomplete-prompt-1.4.0" = {
       name = "inquirer-autocomplete-prompt";
       packageName = "inquirer-autocomplete-prompt";
@@ -44965,13 +44101,13 @@ let
         sha512 = "NkwHbo3E00oybX6NGJi6ar0B29vxyvNwoC7eJ4G4Yq28UfY758Hgn/heV8VRFhevPED4LXfFz0DQ8z/0kw9zMg==";
       };
     };
-    "istanbul-lib-report-3.0.0" = {
+    "istanbul-lib-report-3.0.1" = {
       name = "istanbul-lib-report";
       packageName = "istanbul-lib-report";
-      version = "3.0.0";
+      version = "3.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz";
-        sha512 = "wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==";
+        url = "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz";
+        sha512 = "GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==";
       };
     };
     "istanbul-lib-source-maps-4.0.1" = {
@@ -44983,13 +44119,13 @@ let
         sha512 = "n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==";
       };
     };
-    "istanbul-reports-3.1.5" = {
+    "istanbul-reports-3.1.6" = {
       name = "istanbul-reports";
       packageName = "istanbul-reports";
-      version = "3.1.5";
+      version = "3.1.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz";
-        sha512 = "nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==";
+        url = "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.6.tgz";
+        sha512 = "TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==";
       };
     };
     "isuri-2.0.3" = {
@@ -45064,13 +44200,13 @@ let
         sha512 = "IoiNVk4SMPu6uTcK+1nA5QaHNok2BMDLjSl5UomrOixe5g4GkylhPwuiGdw00ysSCrXAKNMfFTu+u/Lk5f6OLQ==";
       };
     };
-    "jackspeak-2.2.1" = {
+    "jackspeak-2.2.2" = {
       name = "jackspeak";
       packageName = "jackspeak";
-      version = "2.2.1";
+      version = "2.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jackspeak/-/jackspeak-2.2.1.tgz";
-        sha512 = "MXbxovZ/Pm42f6cDIDkl3xpwv1AGwObKwfmjs2nQePiy85tP3fatofl3FC1aBsOtP/6fq5SbtgHwWcMsLP+bDw==";
+        url = "https://registry.npmjs.org/jackspeak/-/jackspeak-2.2.2.tgz";
+        sha512 = "mgNtVv4vUuaKA97yxUHoA3+FkuhtxkjdXEWOyB/N76fjy0FjezEt34oy3epBtvCvS+7DyKwqCFWx/oJLV5+kCg==";
       };
     };
     "jade-0.26.3" = {
@@ -45136,13 +44272,13 @@ let
         sha512 = "z35ZSEcXHxLW4yumw0dF6L464NT36vmx3wxJw8MDpraBcWuNVgUPZgPJKcu1HekNgwlMFNqol7i/IpSbjhqwqA==";
       };
     };
-    "jest-diff-29.6.1" = {
+    "jest-diff-29.6.2" = {
       name = "jest-diff";
       packageName = "jest-diff";
-      version = "29.6.1";
+      version = "29.6.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jest-diff/-/jest-diff-29.6.1.tgz";
-        sha512 = "FsNCvinvl8oVxpNLttNQX7FAq7vR+gMDGj90tiP7siWw1UdakWUGqrylpsYrpvj908IYckm5Y0Q7azNAozU1Kg==";
+        url = "https://registry.npmjs.org/jest-diff/-/jest-diff-29.6.2.tgz";
+        sha512 = "t+ST7CB9GX5F2xKwhwCf0TAR17uNDiaPTZnVymP9lw0lssa9vG+AFyDZoeIHStU3WowFFwT+ky+er0WVl2yGhA==";
       };
     };
     "jest-environment-node-27.5.1" = {
@@ -45406,13 +44542,13 @@ let
         sha512 = "wBZPnqWs5GaYJmo1Jj0k/mrSkzdQzKDwhXNtHKcBdAcKVxMM3KNYFq+iJ2i1rwiG53Z8M4mTn3Qxrm17uH1D4Q==";
       };
     };
-    "jquery.terminal-2.36.0" = {
+    "jquery.terminal-2.37.0" = {
       name = "jquery.terminal";
       packageName = "jquery.terminal";
-      version = "2.36.0";
+      version = "2.37.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jquery.terminal/-/jquery.terminal-2.36.0.tgz";
-        sha512 = "i7znDzcN1JS7gnTSTemATi7JmoV/oEZEBRGWNnxJ/FE2Dt1JtVSq6u6ffiQ32hArhRkhmTXgbuB9GrJzjtDUaQ==";
+        url = "https://registry.npmjs.org/jquery.terminal/-/jquery.terminal-2.37.0.tgz";
+        sha512 = "ykFwcz1g7660oNCOyp/zze1t4Zrdbongs22el1Q7c0YRbuZOUdj5kov4SDkaTjwp8BVD1PfqYx8AihFg+Gn9xQ==";
       };
     };
     "js-base64-2.6.3" = {
@@ -45496,13 +44632,13 @@ let
         sha512 = "mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ==";
       };
     };
-    "js-sdsl-4.4.1" = {
+    "js-sdsl-4.4.2" = {
       name = "js-sdsl";
       packageName = "js-sdsl";
-      version = "4.4.1";
+      version = "4.4.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.4.1.tgz";
-        sha512 = "6Gsx8R0RucyePbWqPssR8DyfuXmLBooYN5cZFZKjHGnQuaf7pEzhtpceagJxVu4LqhYY5EYA7nko3FmeHZ1KbA==";
+        url = "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.4.2.tgz";
+        sha512 = "dwXFwByc/ajSV6m5bcKAPwe4yDDF6D614pxmIi5odytzxRlwqF6nwoiCek80Ixc7Cvma5awClxrzFtxCQvcM8w==";
       };
     };
     "js-sha256-0.9.0" = {
@@ -45721,15 +44857,6 @@ let
         sha512 = "sCpFmK2jv+1sjff4u7fzft+pUh2KSUbUrEHYHyfSIbGTIcmnjyp83qg6qLwdJ/I3LpTXx33ACxeRL7Lsyc6lGQ==";
       };
     };
-    "jsdom-22.1.0" = {
-      name = "jsdom";
-      packageName = "jsdom";
-      version = "22.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jsdom/-/jsdom-22.1.0.tgz";
-        sha512 = "/9AVW7xNbsBv6GfWho4TTNjEo9fe6Zhf9O7s0Fhhr3u+awPwAJMKwAMXnkk5vBxflqLW9hTHX/0cs+P3gW+cQw==";
-      };
-    };
     "jsdom-7.2.2" = {
       name = "jsdom";
       packageName = "jsdom";
@@ -45784,13 +44911,13 @@ let
         sha512 = "RKB3qZwIXafNUiILD+rKI1EQDtHtfpHN78VVVnfLcp1uAkPLA5zVVqy6cKu2cpAmlz8R5hzIFsw4uEnWA+XE4w==";
       };
     };
-    "jsii-5.1.8" = {
+    "jsii-5.1.10" = {
       name = "jsii";
       packageName = "jsii";
-      version = "5.1.8";
+      version = "5.1.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jsii/-/jsii-5.1.8.tgz";
-        sha512 = "cOlBVHESE8l1zS31YIMuXdyD13BOQuruzPkYrK8Jm6VqkkR59VHq3gnOew5FQaGQ46X2Jio7Q6EY8mjqSZ6c6A==";
+        url = "https://registry.npmjs.org/jsii/-/jsii-5.1.10.tgz";
+        sha512 = "OvFBUj0V7H+ex7yGyg8bJwghiHnE/T8DmQBxJxUG6qApwKP9lJE+jSz0ONKuqdaxTK1RaLbZhatLkCRrkQrbJQ==";
       };
     };
     "jsii-pacmak-1.85.0" = {
@@ -45820,13 +44947,13 @@ let
         sha512 = "3kGi7xZjA7fpVYmbn2VXvDA6iuva47ffdqyb28DhYxVWnlEJgff8XWuvQJSqrtxEcJF60dVD58N79pPghyvOgg==";
       };
     };
-    "jsii-rosetta-5.1.7" = {
+    "jsii-rosetta-5.1.9" = {
       name = "jsii-rosetta";
       packageName = "jsii-rosetta";
-      version = "5.1.7";
+      version = "5.1.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jsii-rosetta/-/jsii-rosetta-5.1.7.tgz";
-        sha512 = "5uE4cqH3dLXfZtItD37zMx44IuU146G8aXX9l+/+yYPbIYaBKZnzmUkP2TAEZRPMs8dkmGHfkDIwn35fgIG6Ag==";
+        url = "https://registry.npmjs.org/jsii-rosetta/-/jsii-rosetta-5.1.9.tgz";
+        sha512 = "GgSLaxn9N0xnYBXkK8DIXrp1CWNSz2f7Q04kQW4n2htsLd3diPI3HNbbmJL5V+wwUIZhOpBe++5r1a7T7vFlqg==";
       };
     };
     "jsii-srcmak-0.1.949" = {
@@ -46540,13 +45667,13 @@ let
         sha512 = "C9YK3Rf8q6VAPDCCU9fnqo3mAfOH6vUGnMcP4AQAYIEpWtfGLpwOTmZ+igtdK5y+VvI2n3CyYSzy4Qh34eq24A==";
       };
     };
-    "jsx-ast-utils-3.3.4" = {
+    "jsx-ast-utils-3.3.5" = {
       name = "jsx-ast-utils";
       packageName = "jsx-ast-utils";
-      version = "3.3.4";
+      version = "3.3.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.4.tgz";
-        sha512 = "fX2TVdCViod6HwKEtSWGHs57oFhVfCMwieb9PuRDgjDPh5XeqJiHFFFJCHxU5cnTc3Bu/GRL+kPiFmw8XWOfKw==";
+        url = "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz";
+        sha512 = "ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==";
       };
     };
     "jszip-3.10.1" = {
@@ -47062,15 +46189,6 @@ let
         sha512 = "VFI2bpJaodz6P7x2uyLiX6RLYpZmOJqNmoCst/Yyd7hQlszyPwG/I9CQJ63nOtKSxpt5M7NH67V6nJL2BwCl7g==";
       };
     };
-    "koa-bodyparser-4.4.0" = {
-      name = "koa-bodyparser";
-      packageName = "koa-bodyparser";
-      version = "4.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/koa-bodyparser/-/koa-bodyparser-4.4.0.tgz";
-        sha512 = "AXPY7wwKZUmbgb8VkTEUFoRNOlx6aWRJwEnQD+zfNf33/7KSAkN4Oo9BqlIk80D+5TvuqlhpQT5dPVcyxl5Zsw==";
-      };
-    };
     "koa-compose-3.2.1" = {
       name = "koa-compose";
       packageName = "koa-compose";
@@ -47098,24 +46216,6 @@ let
         sha512 = "asOvN6bFlSnxewce2e/DK3p4tltyfC4VM7ZwuTuepI7dEQVcvpyFuBcEARu1+Hxg8DIwytce2n7jrZtRlPrARA==";
       };
     };
-    "koa-is-json-1.0.0" = {
-      name = "koa-is-json";
-      packageName = "koa-is-json";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/koa-is-json/-/koa-is-json-1.0.0.tgz";
-        sha512 = "+97CtHAlWDx0ndt0J8y3P12EWLwTLMXIfMnYDev3wOTwH/RpBGMlfn4bDXlMEg1u73K6XRE9BbUp+5ZAYoRYWw==";
-      };
-    };
-    "koa-json-2.0.2" = {
-      name = "koa-json";
-      packageName = "koa-json";
-      version = "2.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/koa-json/-/koa-json-2.0.2.tgz";
-        sha512 = "8+dz0T2ekDuNN1svYoKPCV2txotQ3Ufg8Fn5bft1T48MPJWiC/HKmkk+3xj9EC/iNZuFYeLRazN2h2o3RSUXuQ==";
-      };
-    };
     "koa-logger-3.2.1" = {
       name = "koa-logger";
       packageName = "koa-logger";
@@ -48088,13 +47188,13 @@ let
         sha512 = "C7bfi1UZmoj8+PQx22XyeXCuBlokoyWQL5pWSP+EI6nzRylyThouddufc2c1NDIcP9k5agmN9fLpA7VNJfIiqw==";
       };
     };
-    "liquidjs-10.7.1" = {
+    "liquidjs-10.8.3" = {
       name = "liquidjs";
       packageName = "liquidjs";
-      version = "10.7.1";
+      version = "10.8.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/liquidjs/-/liquidjs-10.7.1.tgz";
-        sha512 = "tl9nWBZrrKcC61yfih3lbtSjAn+k7e0HhwydPjQKI4+metLk927HYBfXfbf6yrCcYjnBnLzk8xMjUF83yknAQQ==";
+        url = "https://registry.npmjs.org/liquidjs/-/liquidjs-10.8.3.tgz";
+        sha512 = "LqHLYtH3vrkT3LyfOhPU0FJX5KPO4aB6SzGa4HRI29yz8pS0ZxqIe/fWtic8qiust1+qrHI92J67tdt92V4WOA==";
       };
     };
     "listenercount-1.0.1" = {
@@ -48160,13 +47260,13 @@ let
         sha512 = "mC73LitKHj9w6v30nLNGPetZIlfpUniNSsxxrbaPcWOjDb92SHPzJPi/t+v1YC/lxKz/AJ9egOjww0qUuFxBpA==";
       };
     };
-    "listr2-6.6.0" = {
+    "listr2-6.6.1" = {
       name = "listr2";
       packageName = "listr2";
-      version = "6.6.0";
+      version = "6.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/listr2/-/listr2-6.6.0.tgz";
-        sha512 = "qkLg7IeYcZGkxo5sZzl676xHwQzNZ8qAQLQSDMA88sLM1SDcabwyXD1mXHi/PGQHyt/mu81adJdkqsCSUSuQzQ==";
+        url = "https://registry.npmjs.org/listr2/-/listr2-6.6.1.tgz";
+        sha512 = "+rAXGHh0fkEWdXBmX+L6mmfmXmXvDGEKzkjxO+8mP3+nI/r/CWznVBvsibXdxda9Zz0OW2e2ikphN3OwCT/jSg==";
       };
     };
     "livereload-0.9.3" = {
@@ -48484,15 +47584,6 @@ let
         sha512 = "xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==";
       };
     };
-    "loader-utils-3.2.1" = {
-      name = "loader-utils";
-      packageName = "loader-utils";
-      version = "3.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.1.tgz";
-        sha512 = "ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==";
-      };
-    };
     "loady-0.0.5" = {
       name = "loady";
       packageName = "loady";
@@ -48502,15 +47593,6 @@ let
         sha512 = "uxKD2HIj042/HBx77NBcmEPsD+hxCgAtjEWlYNScuUjIsh/62Uyu39GOR68TBR68v+jqDL9zfftCWoUo4y03sQ==";
       };
     };
-    "local-pkg-0.4.3" = {
-      name = "local-pkg";
-      packageName = "local-pkg";
-      version = "0.4.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/local-pkg/-/local-pkg-0.4.3.tgz";
-        sha512 = "SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==";
-      };
-    };
     "localforage-1.10.0" = {
       name = "localforage";
       packageName = "localforage";
@@ -50600,13 +49682,13 @@ let
         sha512 = "LA+31JYDJLs82r2ScLrlz1GjSgu66ZV518eyWT+S8VhyQn/JL0u9MeBOvQMGYiPk1DBiSN9DDMOcXvigJZaViQ==";
       };
     };
-    "magic-string-0.30.1" = {
+    "magic-string-0.30.2" = {
       name = "magic-string";
       packageName = "magic-string";
-      version = "0.30.1";
+      version = "0.30.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/magic-string/-/magic-string-0.30.1.tgz";
-        sha512 = "mbVKXPmS0z0G4XqFDCTllmDQ6coZzn94aMlb0o/A4HEHJCKcanlDZwYJgwnkmgD3jyWhUgj9VsPrfd972yPffA==";
+        url = "https://registry.npmjs.org/magic-string/-/magic-string-0.30.2.tgz";
+        sha512 = "lNZdu7pewtq/ZvWUp9Wpf/x7WzMTsR26TWV03BRZrXFsv+BI6dy8RAiKgm1uM/kyR0rCfUcqvOlXKG66KhIGug==";
       };
     };
     "magicli-0.0.5" = {
@@ -50762,15 +49844,6 @@ let
         sha512 = "8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==";
       };
     };
-    "map-canvas-0.1.5" = {
-      name = "map-canvas";
-      packageName = "map-canvas";
-      version = "0.1.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/map-canvas/-/map-canvas-0.1.5.tgz";
-        sha512 = "f7M3sOuL9+up0NCOZbb1rQpWDLZwR/ftCiNbyscjl9LUUEwrRaoumH4sz6swgs58lF21DQ0hsYOCw5C6Zz7hbg==";
-      };
-    };
     "map-filter-reduce-2.2.1" = {
       name = "map-filter-reduce";
       packageName = "map-filter-reduce";
@@ -50879,15 +49952,6 @@ let
         sha512 = "8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg==";
       };
     };
-    "markdown-extensions-1.1.1" = {
-      name = "markdown-extensions";
-      packageName = "markdown-extensions";
-      version = "1.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/markdown-extensions/-/markdown-extensions-1.1.1.tgz";
-        sha512 = "WWC0ZuMzCyDHYCasEGs4IPvLyTGftYwh6wIEOULOF0HXcqZlhwRzrK0w2VUlxWA98xnvb/jszw4ZSkJ6ADpM6Q==";
-      };
-    };
     "markdown-it-12.3.2" = {
       name = "markdown-it";
       packageName = "markdown-it";
@@ -51374,15 +50438,6 @@ let
         sha512 = "7GlnT24gEwDrdAwEHrU4Vv5lLWrEer4KOkAiKT9nYstsTad7Oc1TwqT2zIMKRdZF7cTuaf+GA1E4Kv7jJh8mPA==";
       };
     };
-    "mdast-util-definitions-5.1.2" = {
-      name = "mdast-util-definitions";
-      packageName = "mdast-util-definitions";
-      version = "5.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-5.1.2.tgz";
-        sha512 = "8SVPMuHqlPME/z3gqVwWY4zVXn8lqKv/pAhC57FuJ40ImXyBpmO5ukh98zB2v7Blql2FiHjHv9LVztSIqjY+MA==";
-      };
-    };
     "mdast-util-find-and-replace-1.1.1" = {
       name = "mdast-util-find-and-replace";
       packageName = "mdast-util-find-and-replace";
@@ -51554,15 +50609,6 @@ let
         sha512 = "8ZuuegRqS0KESgjAGW8zTx4tJ3VNIiIaGFNEzFpRSAQBavVc7AvOo9I4g3crcZBfYisHs4seYh0rAVimO6HyOw==";
       };
     };
-    "mdast-util-mdx-1.1.0" = {
-      name = "mdast-util-mdx";
-      packageName = "mdast-util-mdx";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mdast-util-mdx/-/mdast-util-mdx-1.1.0.tgz";
-        sha512 = "leKb9uG7laXdyFlTleYV4ZEaCpsxeU1LlkkR/xp35pgKrfV1Y0fNCuOw9vaRc2a9YDpH22wd145Wt7UY5yzeZw==";
-      };
-    };
     "mdast-util-mdx-2.0.1" = {
       name = "mdast-util-mdx";
       packageName = "mdast-util-mdx";
@@ -51581,15 +50627,6 @@ let
         sha512 = "xIPmR5ReJDu/DHH1OoIT1HkuybIfRGYRywC+gJtI7qHjCJp/M9jrmBEJW22O8lskDWm562BX2W8TiAwRTb0rKA==";
       };
     };
-    "mdast-util-mdx-jsx-1.2.0" = {
-      name = "mdast-util-mdx-jsx";
-      packageName = "mdast-util-mdx-jsx";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-1.2.0.tgz";
-        sha512 = "5+ot/kfxYd3ChgEMwsMUO71oAfYjyRI3pADEK4I7xTmWLGQ8Y7ghm1CG36zUoUvDPxMlIYwQV/9DYHAUWdG4dA==";
-      };
-    };
     "mdast-util-mdx-jsx-2.1.4" = {
       name = "mdast-util-mdx-jsx";
       packageName = "mdast-util-mdx-jsx";
@@ -51617,15 +50654,6 @@ let
         sha512 = "WmI1gTXUBJo4/ZmSk79Wcb2HcjPJBzM1nlI/OUWA8yk2X9ik3ffNbBGsU+09BFmXaL1IBb9fiuvq6/KMiNycSg==";
       };
     };
-    "mdast-util-to-hast-11.3.0" = {
-      name = "mdast-util-to-hast";
-      packageName = "mdast-util-to-hast";
-      version = "11.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-11.3.0.tgz";
-        sha512 = "4o3Cli3hXPmm1LhB+6rqhfsIUBjnKFlIUZvudaermXB+4/KONdd/W4saWWkC+LBLbPMqhFSSTSRgafHsT5fVJw==";
-      };
-    };
     "mdast-util-to-markdown-0.6.5" = {
       name = "mdast-util-to-markdown";
       packageName = "mdast-util-to-markdown";
@@ -51779,15 +50807,6 @@ let
         sha512 = "/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==";
       };
     };
-    "media-query-parser-2.0.2" = {
-      name = "media-query-parser";
-      packageName = "media-query-parser";
-      version = "2.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/media-query-parser/-/media-query-parser-2.0.2.tgz";
-        sha512 = "1N4qp+jE0pL5Xv4uEcwVUhIkwdUO3S/9gML90nqKA7v7FcOS5vUtatfzok9S9U1EJU8dHWlcv95WLnKmmxZI9w==";
-      };
-    };
     "media-typer-0.3.0" = {
       name = "media-typer";
       packageName = "media-typer";
@@ -51959,15 +50978,6 @@ let
         sha512 = "q0D3m846qY6ZkIt+19ZemU5vH56lpOZZwoJc3AICARKh/menBuayQUjAGPrqtHQQMUYERSdOrej92J9kz7LgYA==";
       };
     };
-    "memory-streams-0.1.3" = {
-      name = "memory-streams";
-      packageName = "memory-streams";
-      version = "0.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/memory-streams/-/memory-streams-0.1.3.tgz";
-        sha512 = "qVQ/CjkMyMInPaaRMrwWNDvf6boRZXaT/DbQeMYcCWuXPEBf1v8qChOc9OlEVQp2uOvRXa1Qu30fLmKhY6NipA==";
-      };
-    };
     "memorystore-1.6.7" = {
       name = "memorystore";
       packageName = "memorystore";
@@ -51977,15 +50987,6 @@ let
         sha512 = "OZnmNY/NDrKohPQ+hxp0muBcBKrzKNtHr55DbqSx9hLsYVNnomSAMRAtI7R64t3gf3ID7tHQA7mG4oL3Hu9hdw==";
       };
     };
-    "memorystream-0.3.1" = {
-      name = "memorystream";
-      packageName = "memorystream";
-      version = "0.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz";
-        sha512 = "S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==";
-      };
-    };
     "meow-10.1.5" = {
       name = "meow";
       packageName = "meow";
@@ -52976,13 +51977,13 @@ let
         sha512 = "LfHUYIA047rrqIZEn0gwbqbzarU5bmZ8yZ9SizeoiPwVq5cemE3foJTJZ3pCktUq/IPkKNGghFHJk1O8149mOA==";
       };
     };
-    "miniflare-3.20230717.0" = {
+    "miniflare-3.20230724.0" = {
       name = "miniflare";
       packageName = "miniflare";
-      version = "3.20230717.0";
+      version = "3.20230724.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/miniflare/-/miniflare-3.20230717.0.tgz";
-        sha512 = "S1L3QKPEHAf7n+66b/JpWdsIusz/tlgHRnNcDztz0PfeDkWlfNPxDzrnMqv/cHm9MjzXqhz2XqFkWqZSfZJk5Q==";
+        url = "https://registry.npmjs.org/miniflare/-/miniflare-3.20230724.0.tgz";
+        sha512 = "YU8yUwoVJCiuzY2i9ZBJ+McjL/mqwKnMJfn23QedSCvx82Mys8GAlkHCH69mqSqzlSw8IVcdxec330meRRf9bg==";
       };
     };
     "minilog-3.1.0" = {
@@ -53525,15 +52526,6 @@ let
         sha512 = "nbj022D7cd7n6hxDuON08SQciKHSTcRSFlLfCGyIuypo4cl6Z6qJxMVlatFyS6ZbgHqOebkYm/fvwtGiKqmSwQ==";
       };
     };
-    "mlly-1.4.0" = {
-      name = "mlly";
-      packageName = "mlly";
-      version = "1.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mlly/-/mlly-1.4.0.tgz";
-        sha512 = "ua8PAThnTwpprIaU47EPeZ/bPUVp2QYBbWMphUQpVdBI3Lgqzm5KZQ45Agm3YJedHXaIHl6pBGabaLSUPPSptg==";
-      };
-    };
     "mobx-6.10.0" = {
       name = "mobx";
       packageName = "mobx";
@@ -55380,15 +54372,6 @@ let
         sha512 = "V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==";
       };
     };
-    "node-fetch-2.6.11" = {
-      name = "node-fetch";
-      packageName = "node-fetch";
-      version = "2.6.11";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.11.tgz";
-        sha512 = "4I6pdBY1EthSqDmJkiNk3JIT8cswwR9nfeW/cPdUagJYEQG7R95WRH74wpz7ma8Gh/9dI9FP+OU+0E4FvtA55w==";
-      };
-    };
     "node-fetch-2.6.12" = {
       name = "node-fetch";
       packageName = "node-fetch";
@@ -55434,6 +54417,15 @@ let
         sha512 = "cRVc/kyto/7E5shrWca1Wsea4y6tL9iYJE5FBCius3JQfb/4P4I295PfhgbJQBLTx6lATE4z+wK0rPM4VS2uow==";
       };
     };
+    "node-fetch-3.3.2" = {
+      name = "node-fetch";
+      packageName = "node-fetch";
+      version = "3.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz";
+        sha512 = "dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==";
+      };
+    };
     "node-fetch-h2-2.3.0" = {
       name = "node-fetch-h2";
       packageName = "node-fetch-h2";
@@ -55839,6 +54831,15 @@ let
         sha512 = "3l4E8uMPY1HdMMryPRUAl+oIHtXtyiTlIiESNSVSNxcPfzAFzeTbXFQkZfAwBbo0B1qMSG8nUABx+Gd+YrbKrQ==";
       };
     };
+    "node-watch-0.7.4" = {
+      name = "node-watch";
+      packageName = "node-watch";
+      version = "0.7.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/node-watch/-/node-watch-0.7.4.tgz";
+        sha512 = "RinNxoz4W1cep1b928fuFhvAQ5ag/+1UlMDV7rbyGthBIgsiEouS4kvRayvvboxii4m8eolKOIBo3OjDqbc+uQ==";
+      };
+    };
     "node-wsfederation-0.1.1" = {
       name = "node-wsfederation";
       packageName = "node-wsfederation";
@@ -55965,15 +54966,6 @@ let
         sha512 = "uVTsuT8Hm3aN3VttY+BPKw4KU9lVpI0F22UAr/I1r6+kugMr3oyhMALkycikLcdfvGRsgzCYN48DYLBFcJEUVg==";
       };
     };
-    "nopt-2.1.2" = {
-      name = "nopt";
-      packageName = "nopt";
-      version = "2.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/nopt/-/nopt-2.1.2.tgz";
-        sha512 = "x8vXm7BZ2jE1Txrxh/hO74HTuYZQEbo8edoRcANgdZ4+PCV+pbjd/xdummkmjjC7LU5EjPzlu8zEq/oxWylnKA==";
-      };
-    };
     "nopt-3.0.6" = {
       name = "nopt";
       packageName = "nopt";
@@ -56415,6 +55407,15 @@ let
         sha512 = "mRtvlBjTsJvfCCdmPtiu2bdlx8d/KXtF7yNXNWe7G0Z36qWA9Ny5zXsI2PfBZEv7SXgoxTmNaTzGSbbzDZChoA==";
       };
     };
+    "npm-pick-manifest-8.0.2" = {
+      name = "npm-pick-manifest";
+      packageName = "npm-pick-manifest";
+      version = "8.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-8.0.2.tgz";
+        sha512 = "1dKY+86/AIiq1tkKVD3l0WI+Gd3vkknVGAggsFeBkTvbhMQ1OND/LKkYv4JtXPKUJ8bOTCyLiqEg2P6QNdK+Gg==";
+      };
+    };
     "npm-prefix-1.2.0" = {
       name = "npm-prefix";
       packageName = "npm-prefix";
@@ -56703,13 +55704,13 @@ let
         sha512 = "ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==";
       };
     };
-    "nx-16.5.3" = {
+    "nx-16.6.0" = {
       name = "nx";
       packageName = "nx";
-      version = "16.5.3";
+      version = "16.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/nx/-/nx-16.5.3.tgz";
-        sha512 = "VxhOijTT3evTsKEa2qsBqSroaFj/tSvRKOc1K7MPlhokB5wLEedehzbwICCjIkicPHLImiKExjPs0l290DJLwA==";
+        url = "https://registry.npmjs.org/nx/-/nx-16.6.0.tgz";
+        sha512 = "4UaS9nRakpZs45VOossA7hzSQY2dsr035EoPRGOc81yoMFW6Sqn1Rgq4hiLbHZOY8MnWNsLMkgolNMz1jC8YUQ==";
       };
     };
     "nyc-15.1.0" = {
@@ -57037,6 +56038,15 @@ let
         sha512 = "lq+61g26E/BgHv0ZTFgRvi7NMEPuAxLkFU7rukXjc/AlwH4Am5xXVnIXy3un1bg/JPbXHrixRkK1itUzzPiIjQ==";
       };
     };
+    "object.groupby-1.0.0" = {
+      name = "object.groupby";
+      packageName = "object.groupby";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.0.tgz";
+        sha512 = "70MWG6NfRH9GnbZOikuhPPYzpUpof9iW2J9E4dW7FXTqPNb6rllE6u39SKwwiNh8lCwX3DDb5OgcKGiEBrTTyw==";
+      };
+    };
     "object.hasown-1.1.2" = {
       name = "object.hasown";
       packageName = "object.hasown";
@@ -57568,24 +56578,6 @@ let
         sha512 = "I9PKfIZC+e4RXZ/qr1RhgyCnGgYX0UEIlXgWnCOVACIvFgaC9rz6Won7xbdhoHrd8IIhV7YEpHjreNUNkqCGkQ==";
       };
     };
-    "optimist-0.2.8" = {
-      name = "optimist";
-      packageName = "optimist";
-      version = "0.2.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/optimist/-/optimist-0.2.8.tgz";
-        sha512 = "Wy7E3cQDpqsTIFyW7m22hSevyTLxw850ahYv7FWsw4G6MIKVTZ8NSA95KBrQ95a4SMsMr1UGUUnwEFKhVaSzIg==";
-      };
-    };
-    "optimist-0.3.7" = {
-      name = "optimist";
-      packageName = "optimist";
-      version = "0.3.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz";
-        sha512 = "TCx0dXQzVtSCg2OgY/bO9hjM9cV4XYx09TVK+s3+FhkjT6LovsLe+pPMzpWf+6yXK/hUizs2gUoTw3jHM0VaTQ==";
-      };
-    };
     "optimist-0.6.0" = {
       name = "optimist";
       packageName = "optimist";
@@ -57874,15 +56866,6 @@ let
         sha512 = "0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==";
       };
     };
-    "outdent-0.8.0" = {
-      name = "outdent";
-      packageName = "outdent";
-      version = "0.8.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/outdent/-/outdent-0.8.0.tgz";
-        sha512 = "KiOAIsdpUTcAXuykya5fnVVT+/5uS0Q1mrkRHcF89tpieSmY33O/tmc54CqwA+bfhbtEfZUNLHaPUiB9X3jt1A==";
-      };
-    };
     "ovsx-0.5.2" = {
       name = "ovsx";
       packageName = "ovsx";
@@ -58639,15 +57622,6 @@ let
         sha512 = "4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==";
       };
     };
-    "papaparse-5.4.1" = {
-      name = "papaparse";
-      packageName = "papaparse";
-      version = "5.4.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/papaparse/-/papaparse-5.4.1.tgz";
-        sha512 = "HipMsgJkZu8br23pW15uvo6sib6wne/4woLZPlFf3rpDyMe9ywEXUsuD7+6K9PRkJlVT51j/sCOYDKGGS3ZJrw==";
-      };
-    };
     "parallel-transform-1.2.0" = {
       name = "parallel-transform";
       packageName = "parallel-transform";
@@ -59323,13 +58297,13 @@ let
         sha512 = "Iu90rROks+uDK00ppSewoZyqeCwjGR6W8PcY0Phl8YFWju/lRmIogQb98+vSb5RUeYkONL3IC4ZLBFg4FiE0Hg==";
       };
     };
-    "password-prompt-1.1.2" = {
+    "password-prompt-1.1.3" = {
       name = "password-prompt";
       packageName = "password-prompt";
-      version = "1.1.2";
+      version = "1.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/password-prompt/-/password-prompt-1.1.2.tgz";
-        sha512 = "bpuBhROdrhuN3E7G/koAju0WjVw9/uQOG5Co5mokNj0MiOSBVZS1JTwM4zl55hu0WFmIEFvO9cU9sJQiBIYeIA==";
+        url = "https://registry.npmjs.org/password-prompt/-/password-prompt-1.1.3.tgz";
+        sha512 = "HkrjG2aJlvF0t2BMH0e2LB/EHf3Lcq3fNMzy4GYHcQblAvOl+QQji1Lx7WRBMqpVK8p+KR7bCg7oqAMXtdgqyw==";
       };
     };
     "patch-console-1.0.0" = {
@@ -59638,15 +58612,6 @@ let
         sha512 = "TX+cz8Jk+ta7IvRy2FAej8rdlbrP0+uBIkP/5DTODez/AuL/vSb30KuAdDxGVREXzn8QfAiu5mJYJ1XjbOhEPA==";
       };
     };
-    "pathe-1.1.0" = {
-      name = "pathe";
-      packageName = "pathe";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pathe/-/pathe-1.1.0.tgz";
-        sha512 = "ODbEPR0KKHqECXW1GoxdDb+AZvULmXjVPy4rt+pGo2+TnjJTIPJQSVS6N63n8T2Ip+syHhbn52OewKicV0373w==";
-      };
-    };
     "pathe-1.1.1" = {
       name = "pathe";
       packageName = "pathe";
@@ -59845,15 +58810,6 @@ let
         sha512 = "JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==";
       };
     };
-    "picture-tuber-1.0.2" = {
-      name = "picture-tuber";
-      packageName = "picture-tuber";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/picture-tuber/-/picture-tuber-1.0.2.tgz";
-        sha512 = "49/xq+wzbwDeI32aPvwQJldM8pr7dKDRuR76IjztrkmiCkAQDaWFJzkmfVqCHmt/iFoPFhHmI9L0oKhthrTOQw==";
-      };
-    };
     "pid-from-port-1.1.3" = {
       name = "pid-from-port";
       packageName = "pid-from-port";
@@ -60124,15 +59080,6 @@ let
         sha512 = "0+uijmzYcnhC0hStDjm/cl2VYdrmVVBpe7Q8k9YBojxmR5tG8mvR9/nooQq3QSXiQqORDVOTY3XqMEqJVIzkHA==";
       };
     };
-    "pkg-types-1.0.3" = {
-      name = "pkg-types";
-      packageName = "pkg-types";
-      version = "1.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pkg-types/-/pkg-types-1.0.3.tgz";
-        sha512 = "nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==";
-      };
-    };
     "pkg-up-3.1.0" = {
       name = "pkg-up";
       packageName = "pkg-up";
@@ -60196,22 +59143,22 @@ let
         sha512 = "9l2NKEiOjU+PBOxSnfo8Rsct6WiNXugMtbvxzF0tEWdKlRipINzld9NwTuYMMRuSUQLHgm2DSJqBqX4NMheJ5A==";
       };
     };
-    "playwright-1.36.1" = {
+    "playwright-1.36.2" = {
       name = "playwright";
       packageName = "playwright";
-      version = "1.36.1";
+      version = "1.36.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/playwright/-/playwright-1.36.1.tgz";
-        sha512 = "2ZqHpD0U0COKR8bqR3W5IkyIAAM0mT9FgGJB9xWCI1qAUkqLxJskA1ueeQOTH2Qfz3+oxdwwf2EzdOX+RkZmmQ==";
+        url = "https://registry.npmjs.org/playwright/-/playwright-1.36.2.tgz";
+        sha512 = "4Fmlq3KWsl85Bl4InJw1NC21aeQV0iSZuFvTDcy1F8zVmXmgQRe89GxF8zMSRt/KIS+2tUolak7EXVl9aC+JdA==";
       };
     };
-    "playwright-core-1.36.1" = {
+    "playwright-core-1.36.2" = {
       name = "playwright-core";
       packageName = "playwright-core";
-      version = "1.36.1";
+      version = "1.36.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/playwright-core/-/playwright-core-1.36.1.tgz";
-        sha512 = "7+tmPuMcEW4xeCL9cp9KxmYpQYHKkyjwoXRnoeTowaeNat8PoBMk/HwCYhqkH2fRkshfKEOiVus/IhID2Pg8kg==";
+        url = "https://registry.npmjs.org/playwright-core/-/playwright-core-1.36.2.tgz";
+        sha512 = "sQYZt31dwkqxOrP7xy2ggDfEzUxM1lodjhsQ3NMMv5uGTRDsLxU0e4xf4wwMkF2gplIxf17QMBCodSFgm6bFVQ==";
       };
     };
     "please-update-dependencies-2.0.0" = {
@@ -60385,15 +59332,6 @@ let
         sha512 = "2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==";
       };
     };
-    "png-js-0.1.1" = {
-      name = "png-js";
-      packageName = "png-js";
-      version = "0.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/png-js/-/png-js-0.1.1.tgz";
-        sha512 = "NTtk2SyfjBm+xYl2/VZJBhFnTQ4kU5qWC7VC4/iGbrgiU4FuB4xC+74erxADYJIqZICOR1HCvRA7EBHkpjTg9g==";
-      };
-    };
     "pngjs-3.4.0" = {
       name = "pngjs";
       packageName = "pngjs";
@@ -60529,13 +59467,13 @@ let
         sha512 = "tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==";
       };
     };
-    "postcss-8.4.26" = {
+    "postcss-8.4.27" = {
       name = "postcss";
       packageName = "postcss";
-      version = "8.4.26";
+      version = "8.4.27";
       src = fetchurl {
-        url = "https://registry.npmjs.org/postcss/-/postcss-8.4.26.tgz";
-        sha512 = "jrXHFF8iTloAenySjM/ob3gSj7pCu0Ji49hnjqzsgSRa50hkWCKD0HQ+gMNJkW38jBI68MpAAg7ZWwHwX8NMMw==";
+        url = "https://registry.npmjs.org/postcss/-/postcss-8.4.27.tgz";
+        sha512 = "gY/ACJtJPSmUFPDCHtX78+01fHa64FaU4zaaWfuh1MhGJISufJAH4cun6k/8fwsHYeK4UQmENQK+tRLCFJE8JQ==";
       };
     };
     "postcss-calc-7.0.5" = {
@@ -60970,15 +59908,6 @@ let
         sha512 = "ec/q9JNCOC2CRDNnypipGfOhbYPuUkewGwLnbv6omue/PSASbHSU7s6uSQ0tcFRVv731oMIx8k0SP4ZX6be/0g==";
       };
     };
-    "postcss-modules-6.0.0" = {
-      name = "postcss-modules";
-      packageName = "postcss-modules";
-      version = "6.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-modules/-/postcss-modules-6.0.0.tgz";
-        sha512 = "7DGfnlyi/ju82BRzTIjWS5C4Tafmzl3R79YP/PASiocj+aa6yYphHhhKUOEoXQToId5rgyFgJ88+ccOUydjBXQ==";
-      };
-    };
     "postcss-modules-extract-imports-1.1.0" = {
       name = "postcss-modules-extract-imports";
       packageName = "postcss-modules-extract-imports";
@@ -62149,13 +61078,13 @@ let
         sha512 = "Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==";
       };
     };
-    "pretty-format-29.6.1" = {
+    "pretty-format-29.6.2" = {
       name = "pretty-format";
       packageName = "pretty-format";
-      version = "29.6.1";
+      version = "29.6.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.1.tgz";
-        sha512 = "7jRj+yXO0W7e4/tSJKoR7HRIHLPPjtNaUGG2xxKQnGvPNRkgWcQ0AZX6P4KBRJN4FcTBWb3sa7DVUJmocYuoog==";
+        url = "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz";
+        sha512 = "1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==";
       };
     };
     "pretty-hash-1.0.1" = {
@@ -63922,13 +62851,13 @@ let
         sha512 = "pMpnA0qRdFp32b1sJl1wOJNxZLQ2cbQx+k6tjNtZ8CpvVhNqEPRgivZ2WOUev2YMajecdH7ctUPDvEe87nariQ==";
       };
     };
-    "pyright-1.1.318" = {
+    "pyright-1.1.319" = {
       name = "pyright";
       packageName = "pyright";
-      version = "1.1.318";
+      version = "1.1.319";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pyright/-/pyright-1.1.318.tgz";
-        sha512 = "w2FLP8i6fKcwmBKtdNKbaWE3IQub3EZe4jICrf6m5i7VaA4iYi4kN++zFp/z1sz76N7EAxZ85UG/81/csNWRHw==";
+        url = "https://registry.npmjs.org/pyright/-/pyright-1.1.319.tgz";
+        sha512 = "6AC0r2r5rT0BpcPH7S27JS0CpFNKvvfdTRLinWwzeMdJCma9ceF8zUgnvMahHfLUcXn4fyypfth9Dito9tey8g==";
       };
     };
     "q-1.1.2" = {
@@ -64327,31 +63256,31 @@ let
         sha512 = "b3w19IEXnt5auacLAbePVsqPyVQUwmuhJQrrWnVhm4pP8PAMg2U9vFHbAD9XYXXbMDjdLJs0x5NLqwTV8uFK4g==";
       };
     };
-    "quicktype-core-23.0.59" = {
+    "quicktype-core-23.0.63" = {
       name = "quicktype-core";
       packageName = "quicktype-core";
-      version = "23.0.59";
+      version = "23.0.63";
       src = fetchurl {
-        url = "https://registry.npmjs.org/quicktype-core/-/quicktype-core-23.0.59.tgz";
-        sha512 = "D8DwNyJkDi3kcQ0kY3QYHx/REobwa1kJ+2udTo7it1ofqtjQVNncRsjKN0urml6hByqdDCOT7IiFgOB7i0M2Nw==";
+        url = "https://registry.npmjs.org/quicktype-core/-/quicktype-core-23.0.63.tgz";
+        sha512 = "bVJMCkFE1va8uTNQzTLeJZt0hXfdipkVDxO5g3O/T7DCSVO3oP/yI+Ymv/5+wpS1rcyDBu1pxroedKup6f7htQ==";
       };
     };
-    "quicktype-graphql-input-23.0.59" = {
+    "quicktype-graphql-input-23.0.63" = {
       name = "quicktype-graphql-input";
       packageName = "quicktype-graphql-input";
-      version = "23.0.59";
+      version = "23.0.63";
       src = fetchurl {
-        url = "https://registry.npmjs.org/quicktype-graphql-input/-/quicktype-graphql-input-23.0.59.tgz";
-        sha512 = "uf+a3EcufLO4t0EI4wzt7Ldstmc7C4MtVjngyn0I0gAJ++9xmIO9dskXlS0JKux1MkvlAhPvQTdi6Vu63hyU3Q==";
+        url = "https://registry.npmjs.org/quicktype-graphql-input/-/quicktype-graphql-input-23.0.63.tgz";
+        sha512 = "4EjqeQn6xM/UzG7RKj8a0WVnezq/41j5l4qmThBobM9EAqdbCGVoukxvjAznz6YDMAze1t1bFnoLzifU8TxrEQ==";
       };
     };
-    "quicktype-typescript-input-23.0.59" = {
+    "quicktype-typescript-input-23.0.63" = {
       name = "quicktype-typescript-input";
       packageName = "quicktype-typescript-input";
-      version = "23.0.59";
+      version = "23.0.63";
       src = fetchurl {
-        url = "https://registry.npmjs.org/quicktype-typescript-input/-/quicktype-typescript-input-23.0.59.tgz";
-        sha512 = "JB8ae7cUb/iiwYAd2h0dNE9kHojeU0fr8rJ+AnUIkLrmEQ0qxmnB2DjadmaA6kbzV7PBq2UGtZjeGkYchq4m2Q==";
+        url = "https://registry.npmjs.org/quicktype-typescript-input/-/quicktype-typescript-input-23.0.63.tgz";
+        sha512 = "VVKlMzMWbXvdWtL+00yOUwAtZC7piC75Ik3bHzdqY0V7bm1j3Lodguq07j4ed96saxqWRh6rfeXXsdbOhRyXRA==";
       };
     };
     "quotation-1.1.3" = {
@@ -64597,13 +63526,13 @@ let
         sha512 = "PPYLwZ63lXi6Tv2EZ8w3M4FzC0rVqvxivaOVS8pXSp5FMIHFnvi4MWHL3UdFLhwSy50aNtJsgjY0mBC6oFL26Q==";
       };
     };
-    "rate-limiter-flexible-2.4.1" = {
+    "rate-limiter-flexible-2.4.2" = {
       name = "rate-limiter-flexible";
       packageName = "rate-limiter-flexible";
-      version = "2.4.1";
+      version = "2.4.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/rate-limiter-flexible/-/rate-limiter-flexible-2.4.1.tgz";
-        sha512 = "dgH4T44TzKVO9CLArNto62hJOwlWJMLUjVVr/ii0uUzZXEXthDNr7/yefW5z/1vvHAfycc1tnuiYyNJ8CTRB3g==";
+        url = "https://registry.npmjs.org/rate-limiter-flexible/-/rate-limiter-flexible-2.4.2.tgz";
+        sha512 = "rMATGGOdO1suFyf/mI5LYhts71g1sbdhmd6YvdiXO2gJnd42Tt6QS4JUKJKSWVVkMtBacm6l40FR7Trjo6Iruw==";
       };
     };
     "raven-js-3.27.2" = {
@@ -64759,13 +63688,13 @@ let
         sha512 = "xVTNGQy/dAxOolunBLmVMGZ49VUUR1s8jZUiJQb+g1sI63GAv9+a5Jas9yHvdxeUgiZkU9r3gDExDorxHzOgRA==";
       };
     };
-    "re2-1.19.1" = {
+    "re2-1.20.1" = {
       name = "re2";
       packageName = "re2";
-      version = "1.19.1";
+      version = "1.20.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/re2/-/re2-1.19.1.tgz";
-        sha512 = "pML2LZvGdjESWAsufwlFwF+TBauIx7ItgcPIL0KiiZ9GrJ5OU3aJEc/EZvygB32nhjrRxe6QQFbie79QhT7gVA==";
+        url = "https://registry.npmjs.org/re2/-/re2-1.20.1.tgz";
+        sha512 = "JbzIoI5adNCqGUK8wHG1dMSyggvPyA4kx2hewt1lma5sP7/iWCfM15XKbCZlX2yvu5k80jSKAOQqJF7KC+2n8Q==";
       };
     };
     "react-16.14.0" = {
@@ -64930,15 +63859,6 @@ let
         sha512 = "wa0fGj7Zht1EYMRhKWwoo1H9GApxYLBuhoAuXN0TlltESAjDssB+Apf0T/DngVqaMyPypDmabL37vw/2aRM98Q==";
       };
     };
-    "react-refresh-0.14.0" = {
-      name = "react-refresh";
-      packageName = "react-refresh";
-      version = "0.14.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz";
-        sha512 = "wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==";
-      };
-    };
     "react-refresh-0.4.3" = {
       name = "react-refresh";
       packageName = "react-refresh";
@@ -65362,15 +64282,6 @@ let
         sha512 = "9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==";
       };
     };
-    "readable-stream-4.3.0" = {
-      name = "readable-stream";
-      packageName = "readable-stream";
-      version = "4.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/readable-stream/-/readable-stream-4.3.0.tgz";
-        sha512 = "MuEnA0lbSi7JS8XM+WNJlWZkHAAdm7gETHdFK//Q/mChGyj2akEFtdLZh32jSdkWGbRwCW9pn6g3LWDdDeZnBQ==";
-      };
-    };
     "readable-stream-4.4.2" = {
       name = "readable-stream";
       packageName = "readable-stream";
@@ -65515,15 +64426,6 @@ let
         sha512 = "E5qICoPoNL4yU0H0NoBDntNB0Q5oMSNh9usFctYniLBluTthi3RsQVBXIJNbApOlvSwW/RGxIuokPcAc59J5fQ==";
       };
     };
-    "recast-0.21.5" = {
-      name = "recast";
-      packageName = "recast";
-      version = "0.21.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/recast/-/recast-0.21.5.tgz";
-        sha512 = "hjMmLaUXAm1hIuTqOdeYObMslq/q+Xff6QE3Y2P+uoHAg2nmVlLBps2hzh1UJDdMtDTMXOFewK6ky51JQIeECg==";
-      };
-    };
     "rechoir-0.6.2" = {
       name = "rechoir";
       packageName = "rechoir";
@@ -66586,15 +65488,6 @@ let
         sha512 = "JHYCfxJzvjTw8h5y10f+mCvbfIt5klAkWlULqPu1nM/r6ghF3tzJl0AFQFj5b/m/7U553+yYb/y4n0julMERYA==";
       };
     };
-    "remark-mdx-frontmatter-1.1.1" = {
-      name = "remark-mdx-frontmatter";
-      packageName = "remark-mdx-frontmatter";
-      version = "1.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/remark-mdx-frontmatter/-/remark-mdx-frontmatter-1.1.1.tgz";
-        sha512 = "7teX9DW4tI2WZkXS4DBxneYSY7NHiXl4AKdWDO9LXVweULlCT8OPWsOjLEnMIXViN1j+QcY8mfbq3k0EK6x3uA==";
-      };
-    };
     "remark-message-control-6.0.0" = {
       name = "remark-message-control";
       packageName = "remark-message-control";
@@ -66640,15 +65533,6 @@ let
         sha512 = "geKatMwSzEXKHuzBNU1z676sGcDcFoChMK38TgdHJNAYfFtsfHDQG7MoJAjs6sgYMqyLduCYWDIWZIxiPeafEw==";
       };
     };
-    "remark-rehype-9.1.0" = {
-      name = "remark-rehype";
-      packageName = "remark-rehype";
-      version = "9.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/remark-rehype/-/remark-rehype-9.1.0.tgz";
-        sha512 = "oLa6YmgAYg19zb0ZrBACh40hpBLteYROaPLhBXzLgjqyHQrN+gVP9N/FJvfzuNNuzCutktkroXEZBrxAxKhh7Q==";
-      };
-    };
     "remark-retext-4.0.0" = {
       name = "remark-retext";
       packageName = "remark-retext";
@@ -67045,15 +65929,6 @@ let
         sha512 = "efCx3b+0Z69/LGJmm9Yvi4cqEdxnoGnxYxGxBghkkTTFeXRtTCmmhO0AnAfHz59k957uTSuy8WaHqOs8wbYUWg==";
       };
     };
-    "require-like-0.1.2" = {
-      name = "require-like";
-      packageName = "require-like";
-      version = "0.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/require-like/-/require-like-0.1.2.tgz";
-        sha512 = "oyrU88skkMtDdauHDuKVrgR+zuItqr6/c//FXzvmxRGMexSDc6hNvJInGW3LL46n+8b50RykrvwSUIIQH2LQ5A==";
-      };
-    };
     "require-main-filename-1.0.1" = {
       name = "require-main-filename";
       packageName = "require-main-filename";
@@ -67333,15 +66208,6 @@ let
         sha512 = "ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==";
       };
     };
-    "resolve.exports-2.0.2" = {
-      name = "resolve.exports";
-      packageName = "resolve.exports";
-      version = "2.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz";
-        sha512 = "X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==";
-      };
-    };
     "resp-modifier-6.0.2" = {
       name = "resp-modifier";
       packageName = "resp-modifier";
@@ -67801,15 +66667,6 @@ let
         sha512 = "uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==";
       };
     };
-    "rollup-3.26.3" = {
-      name = "rollup";
-      packageName = "rollup";
-      version = "3.26.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/rollup/-/rollup-3.26.3.tgz";
-        sha512 = "7Tin0C8l86TkpcMtXvQu6saWH93nhG3dGQ1/+l5V2TDMceTxO7kDiK6GzbfLWNNxqJXm591PcEZUozZm51ogwQ==";
-      };
-    };
     "rollup-plugin-inject-3.0.2" = {
       name = "rollup-plugin-inject";
       packageName = "rollup-plugin-inject";
@@ -68341,13 +67198,13 @@ let
         sha512 = "/MY/PEMbk2SuY5sScONwhUDsV2p77Znkb/q3nSVstq/yQzYJOH/Azh29p9oJLsl3LnQwSvZDKagDGBsBwSooag==";
       };
     };
-    "sass-1.64.0" = {
+    "sass-1.64.2" = {
       name = "sass";
       packageName = "sass";
-      version = "1.64.0";
+      version = "1.64.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sass/-/sass-1.64.0.tgz";
-        sha512 = "m7YtAGmQta9uANIUJwXesAJMSncqH+3INc8kdVXs6eV6GUC8Qu2IYKQSN8PRLgiQfpca697G94klm2leYMxSHw==";
+        url = "https://registry.npmjs.org/sass/-/sass-1.64.2.tgz";
+        sha512 = "TnDlfc+CRnUAgLO9D8cQLFu/GIjJIzJCGkE7o4ekIGQOH7T3GetiRR/PsTWJUHhkzcSPrARkPI+gNWn5alCzDg==";
       };
     };
     "sass-formatter-0.7.6" = {
@@ -68755,15 +67612,6 @@ let
         sha512 = "BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==";
       };
     };
-    "semver-7.2.3" = {
-      name = "semver";
-      packageName = "semver";
-      version = "7.2.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/semver/-/semver-7.2.3.tgz";
-        sha512 = "utbW9Z7ZxVvwiIWkdOMLOR9G/NFXh2aRucghkVrEMJWuC++r3lCkBC3LwqBinyHzGMAJxY5tn6VakZGHObq5ig==";
-      };
-    };
     "semver-7.3.2" = {
       name = "semver";
       packageName = "semver";
@@ -68800,15 +67648,6 @@ let
         sha512 = "NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==";
       };
     };
-    "semver-7.5.1" = {
-      name = "semver";
-      packageName = "semver";
-      version = "7.5.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz";
-        sha512 = "Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==";
-      };
-    };
     "semver-7.5.2" = {
       name = "semver";
       packageName = "semver";
@@ -69673,6 +68512,15 @@ let
         sha512 = "MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q==";
       };
     };
+    "signal-exit-4.1.0" = {
+      name = "signal-exit";
+      packageName = "signal-exit";
+      version = "4.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz";
+        sha512 = "bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==";
+      };
+    };
     "signals-1.0.0" = {
       name = "signals";
       packageName = "signals";
@@ -69772,15 +68620,6 @@ let
         sha512 = "z4qtrRuaAFJS4PUd0g+xy7aN4y+RvEt/QTJpR184lhJguBA1S/LsVlvE/CM95RsYMOFJG3NGGDjqFCzKU19S/A==";
       };
     };
-    "simple-git-3.19.0" = {
-      name = "simple-git";
-      packageName = "simple-git";
-      version = "3.19.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/simple-git/-/simple-git-3.19.0.tgz";
-        sha512 = "hyH2p9Ptxjf/xPuL7HfXbpYt9gKhC1yWDh3KYIAYJJePAKV7AEjLN4xhp7lozOdNiaJ9jlVvAbBymVlcS2jRiA==";
-      };
-    };
     "simple-git-3.19.1" = {
       name = "simple-git";
       packageName = "simple-git";
@@ -70663,15 +69502,6 @@ let
         sha512 = "GRbEOUqCxemTAk/b32F2xa8wDTs+Z1QHOkbhJDQTvv/6G3ZkbJ+frYWsTcc7cBB3Fu4wy4XlLCuNtJuMn7Gsvw==";
       };
     };
-    "sort-object-keys-1.1.3" = {
-      name = "sort-object-keys";
-      packageName = "sort-object-keys";
-      version = "1.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/sort-object-keys/-/sort-object-keys-1.1.3.tgz";
-        sha512 = "855pvK+VkU7PaKYPc+Jjnmt4EzejQHyhhF33q31qG8x7maDzkeFhAAThdCYay11CISO+qAMwjOBP+fPZe0IPyg==";
-      };
-    };
     "sort-on-4.1.1" = {
       name = "sort-on";
       packageName = "sort-on";
@@ -70681,15 +69511,6 @@ let
         sha512 = "nj8myvTCEErLMMWnye61z1pV5osa7njoosoQNdylD8WyPYHoHCBQx/xn7mGJL6h4oThvGpYSIAxfm8VUr75qTQ==";
       };
     };
-    "sort-package-json-1.57.0" = {
-      name = "sort-package-json";
-      packageName = "sort-package-json";
-      version = "1.57.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/sort-package-json/-/sort-package-json-1.57.0.tgz";
-        sha512 = "FYsjYn2dHTRb41wqnv+uEqCUvBpK3jZcTp9rbz2qDTmel7Pmdtf+i2rLaaPMRZeSVM60V3Se31GyWFpmKs4Q5Q==";
-      };
-    };
     "sorted-array-functions-1.3.0" = {
       name = "sorted-array-functions";
       packageName = "sorted-array-functions";
@@ -70906,15 +69727,6 @@ let
         sha512 = "dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw==";
       };
     };
-    "sparkline-0.1.2" = {
-      name = "sparkline";
-      packageName = "sparkline";
-      version = "0.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/sparkline/-/sparkline-0.1.2.tgz";
-        sha512 = "t//aVOiWt9fi/e22ea1vXVWBDX+gp18y+Ch9sKqmHl828bRfvP2VtfTJVEcgWFBQHd0yDPNQRiHdqzCvbcYSDA==";
-      };
-    };
     "sparse-bitfield-3.0.3" = {
       name = "sparse-bitfield";
       packageName = "sparse-bitfield";
@@ -72364,15 +71176,6 @@ let
         sha512 = "AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==";
       };
     };
-    "stream-slice-0.1.2" = {
-      name = "stream-slice";
-      packageName = "stream-slice";
-      version = "0.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/stream-slice/-/stream-slice-0.1.2.tgz";
-        sha512 = "QzQxpoacatkreL6jsxnVb7X5R/pGw9OUv2qWTYWnmLpg4NdN31snPy/f3TdQE1ZUXaThRvj1Zw4/OGg0ZkaLMA==";
-      };
-    };
     "stream-splicer-2.0.1" = {
       name = "stream-splicer";
       packageName = "stream-splicer";
@@ -72463,15 +71266,6 @@ let
         sha512 = "ztP79ug6S+I7td0Nd2GBeIKCm+vA54c+e60FY87metz5n/l6ydPELd2lxsljz8OpIhsRM9HkIiAwz85+S5G5/A==";
       };
     };
-    "streaming-json-stringify-3.1.0" = {
-      name = "streaming-json-stringify";
-      packageName = "streaming-json-stringify";
-      version = "3.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/streaming-json-stringify/-/streaming-json-stringify-3.1.0.tgz";
-        sha512 = "axtfs3BDxAsrZ9swD163FBrXZ8dhJJp6kUI6C97TvUZG9RHKfbg9nFbXqEheFNOb3IYMEt2ag9F62sWLFUZ4ug==";
-      };
-    };
     "streamroller-3.1.5" = {
       name = "streamroller";
       packageName = "streamroller";
@@ -73246,13 +72040,13 @@ let
         sha512 = "qGzRFNJDjFieQkl/sVOI2dUjHKRyL9dAJi2gCPGJLbJHBIkyOHxjuocpIEfbLioX+qSJpvbYdT49/YCdMznKxA==";
       };
     };
-    "stubborn-fs-1.2.4" = {
+    "stubborn-fs-1.2.5" = {
       name = "stubborn-fs";
       packageName = "stubborn-fs";
-      version = "1.2.4";
+      version = "1.2.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/stubborn-fs/-/stubborn-fs-1.2.4.tgz";
-        sha512 = "KRa4nIRJ8q6uApQbPwYZVhOof8979fw4xbajBWa5kPJFa4nyY3aFaMWVyIVCDnkNCCG/3HLipUZ4QaNlYsmX1w==";
+        url = "https://registry.npmjs.org/stubborn-fs/-/stubborn-fs-1.2.5.tgz";
+        sha512 = "H2N9c26eXjzL/S/K+i/RHHcFanE74dptvvjM8iwzwbVcWY/zjBbgRqF3K0DY4+OD+uTTASTBvDoxPDaPN02D7g==";
       };
     };
     "style-loader-0.23.1" = {
@@ -73282,15 +72076,6 @@ let
         sha512 = "Dj1Okke1C3uKKwQcetra4jSuk0DqbzbYtXipzFlFMZtowbF1x7BKJwB9AayVMyFARvU8EDrZdcax4At/452cAg==";
       };
     };
-    "style-to-object-0.4.1" = {
-      name = "style-to-object";
-      packageName = "style-to-object";
-      version = "0.4.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/style-to-object/-/style-to-object-0.4.1.tgz";
-        sha512 = "HFpbb5gr2ypci7Qw+IOhnP2zOU7e77b+rzM+wTzXzfi1PrtBCX0E7Pk4wL4iTLnhzZ+JgEGAhX81ebTg/aYjQw==";
-      };
-    };
     "styled-components-5.3.11" = {
       name = "styled-components";
       packageName = "styled-components";
@@ -73750,13 +72535,13 @@ let
         sha512 = "vzSyuGr3eEoAtT/A6bmajosJZIUWySzY2CzB3w2pgPvnkUjGqlDnsNnA0PMO+mMAhuyMul6C2uuZzY6ELSkzyA==";
       };
     };
-    "svelte-4.1.0" = {
+    "svelte-4.1.2" = {
       name = "svelte";
       packageName = "svelte";
-      version = "4.1.0";
+      version = "4.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/svelte/-/svelte-4.1.0.tgz";
-        sha512 = "qob6IX0ui4Z++Lhwzvqb6aig79WhwsF3z6y1YMicjvw0rv71hxD+RmMFG3BM8lB7prNLXeOLnP64Zrynqa3Gtw==";
+        url = "https://registry.npmjs.org/svelte/-/svelte-4.1.2.tgz";
+        sha512 = "/evA8U6CgOHe5ZD1C1W3va9iJG7mWflcCdghBORJaAhD2JzrVERJty/2gl0pIPrJYBGZwZycH6onYf+64XXF9g==";
       };
     };
     "svelte-preprocess-5.0.4" = {
@@ -74038,13 +72823,13 @@ let
         sha512 = "YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==";
       };
     };
-    "systeminformation-5.18.7" = {
+    "systeminformation-5.18.10" = {
       name = "systeminformation";
       packageName = "systeminformation";
-      version = "5.18.7";
+      version = "5.18.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/systeminformation/-/systeminformation-5.18.7.tgz";
-        sha512 = "ROxysxhjjnhWxQDkDPxCCQdeOt9IUKIGgfM0A++kqqNC+V/hAHQRshyG+5421R//DsOfXFc11pUFGpzA8YqRNQ==";
+        url = "https://registry.npmjs.org/systeminformation/-/systeminformation-5.18.10.tgz";
+        sha512 = "p7Su6y3MhKODBVOeQuJQG8jk3HvaU9dtSgVHT/pkRGj2g97n4fmYhYCJ2+djK0Ed5Zq4nSQ7zzEYFVlW71RbHg==";
       };
     };
     "sywac-1.3.0" = {
@@ -74462,15 +73247,6 @@ let
         sha512 = "B2I9X7+o2wOaW4r/CWMkpOO9mdiTRCxXNgob6iGvPmfPWgH/KyUD6Uy5crtWBxIBe3YrNZKR2lSzv1JJKWD4vA==";
       };
     };
-    "term-canvas-0.0.5" = {
-      name = "term-canvas";
-      packageName = "term-canvas";
-      version = "0.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/term-canvas/-/term-canvas-0.0.5.tgz";
-        sha512 = "eZ3rIWi5yLnKiUcsW8P79fKyooaLmyLWAGqBhFspqMxRNUiB4GmHHk5AzQ4LxvFbJILaXqQZLwbbATLOhCFwkw==";
-      };
-    };
     "term-img-5.0.0" = {
       name = "term-img";
       packageName = "term-img";
@@ -74579,13 +73355,13 @@ let
         sha512 = "4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==";
       };
     };
-    "terser-5.19.1" = {
+    "terser-5.19.2" = {
       name = "terser";
       packageName = "terser";
-      version = "5.19.1";
+      version = "5.19.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/terser/-/terser-5.19.1.tgz";
-        sha512 = "27hxBUVdV6GoNg1pKQ7Z5cbR6V9txPVyBA+FQw3BaZ1Wuzvztce5p156DaP0NVZNrMZZ+6iG9Syf7WgMNKDg2Q==";
+        url = "https://registry.npmjs.org/terser/-/terser-5.19.2.tgz";
+        sha512 = "qC5+dmecKJA4cpYxRa5aVkKehYsQKc+AHeKl0Oe62aYjBL8ZA33tTljktDHJSaxxMnbI5ZYw+o/S2DxxLu8OfA==";
       };
     };
     "terser-webpack-plugin-1.4.5" = {
@@ -75236,24 +74012,6 @@ let
         sha512 = "Q0TU9zh5hDs2CpRFNM7SOW3K7OSgUgJC/cMrq9t44ei4tu+G3KV8BZyIJuYVvryJHH96mKgc9WXdhgKVvGD7jg==";
       };
     };
-    "tldts-6.0.5" = {
-      name = "tldts";
-      packageName = "tldts";
-      version = "6.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/tldts/-/tldts-6.0.5.tgz";
-        sha512 = "2JQhXcZbp8eh2Ka81yvu5WzBa7NPKhGhXHy+dz0grD7w3DjgK0CsryEwNjVs6i170VF4sZAkwP8pGb1q53wiiQ==";
-      };
-    };
-    "tldts-core-6.0.11" = {
-      name = "tldts-core";
-      packageName = "tldts-core";
-      version = "6.0.11";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/tldts-core/-/tldts-core-6.0.11.tgz";
-        sha512 = "+RbG0WSUVGNWtA96rAPwjQq8ElqbYwuFPwbe2jxQ9fvoC/3aTwy5zUL0JjE2VPblvORSVykS8suREEjwKy2bEw==";
-      };
-    };
     "tmp-0.0.29" = {
       name = "tmp";
       packageName = "tmp";
@@ -75533,15 +74291,6 @@ let
         sha512 = "6udB24Q737UD/SDsKAHI9FCRP7Bqc9D/MQUV02ORQg5iskjtLJlZJNdN4kKtcdtwCeWIwIHDGaUsTsCCAa8sFQ==";
       };
     };
-    "toml-3.0.0" = {
-      name = "toml";
-      packageName = "toml";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/toml/-/toml-3.0.0.tgz";
-        sha512 = "y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w==";
-      };
-    };
     "too-hot-1.0.1" = {
       name = "too-hot";
       packageName = "too-hot";
@@ -75821,13 +74570,13 @@ let
         sha512 = "L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==";
       };
     };
-    "tree-kit-0.7.4" = {
+    "tree-kit-0.7.5" = {
       name = "tree-kit";
       packageName = "tree-kit";
-      version = "0.7.4";
+      version = "0.7.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/tree-kit/-/tree-kit-0.7.4.tgz";
-        sha512 = "Of3tPmVs3b6BhzyUJ7t0olisf47kYr9qAm0XaUpURMjdBn6TwiVaaMuTFoKkkvPGojd9trKAHlrGGcGKcdR1DA==";
+        url = "https://registry.npmjs.org/tree-kit/-/tree-kit-0.7.5.tgz";
+        sha512 = "CmyY7d0OYE5W6UCmvij+SaocG7z+q4roF+Oj7BtU8B+KlpdiRZRMUwNyqfmWYcpYgsOcY1/dfIx/VsLmbAOLGg==";
       };
     };
     "treeify-1.1.0" = {
@@ -76199,13 +74948,13 @@ let
         sha512 = "mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==";
       };
     };
-    "tslib-2.6.0" = {
+    "tslib-2.6.1" = {
       name = "tslib";
       packageName = "tslib";
-      version = "2.6.0";
+      version = "2.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/tslib/-/tslib-2.6.0.tgz";
-        sha512 = "7At1WUettjcSRHXCyYtTselblcHl9PJFFVKiCAy/bY97+BPZXSQ2wbq0P9s8tK2G7dFQfNnlJnPAiArVBVBsfA==";
+        url = "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz";
+        sha512 = "t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==";
       };
     };
     "tslint-5.20.1" = {
@@ -76883,13 +75632,13 @@ let
         sha512 = "zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==";
       };
     };
-    "typescript-5.2.0-dev.20230720" = {
+    "typescript-5.2.0-dev.20230801" = {
       name = "typescript";
       packageName = "typescript";
-      version = "5.2.0-dev.20230720";
+      version = "5.2.0-dev.20230801";
       src = fetchurl {
-        url = "https://registry.npmjs.org/typescript/-/typescript-5.2.0-dev.20230720.tgz";
-        sha512 = "uZPSzgA2ZfMYqCafPbJ67YLwiVXeo93rT2iackGNerTEFs7wRBr2ENVRBIP33g5xCV0fFqN+e0l4oLvQjCZUKw==";
+        url = "https://registry.npmjs.org/typescript/-/typescript-5.2.0-dev.20230801.tgz";
+        sha512 = "f8FmzL+1+agawPPUzsd38vTiZD/z+RtGax/3+tzxsBP15O/4lMsliTEXRXF7ESC7a1s/f9HsNNRMne438PPZsw==";
       };
     };
     "typescript-auto-import-cache-0.2.1" = {
@@ -76919,13 +75668,13 @@ let
         sha512 = "IKawLTu4A2xN3aN/cPLxvZ0bhxZHILGDKTZWvWNJ3sLNhJ3PjfMEDQmR2VMpdRPrmWOadgWXRwjLBzSA8AGsaQ==";
       };
     };
-    "typescript-json-schema-0.58.1" = {
+    "typescript-json-schema-0.59.0" = {
       name = "typescript-json-schema";
       packageName = "typescript-json-schema";
-      version = "0.58.1";
+      version = "0.59.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/typescript-json-schema/-/typescript-json-schema-0.58.1.tgz";
-        sha512 = "EcmquhfGEmEJOAezLZC6CzY0rPNzfXuky+Z3zoXULEEncW8e13aAjmC2r8ppT1bvvDekJj1TJ4xVhOdkjYtkUA==";
+        url = "https://registry.npmjs.org/typescript-json-schema/-/typescript-json-schema-0.59.0.tgz";
+        sha512 = "eYB9RO8p4PntznWUukdDQHckNfxzjEFCJUgsWeCE43mcFioE0wXGTSECGk1uhty9XQMxkpuI4pKAqqnb62ln3Q==";
       };
     };
     "typescript-tslint-plugin-0.5.4" = {
@@ -77045,15 +75794,6 @@ let
         sha512 = "8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==";
       };
     };
-    "ufo-1.1.2" = {
-      name = "ufo";
-      packageName = "ufo";
-      version = "1.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ufo/-/ufo-1.1.2.tgz";
-        sha512 = "TrY6DsjTQQgyS3E3dBaOXf0TpPD8u9FVrVYmKVegJuFw51n/YB9XPt+U6ydzFG5ZIN7+DIjPbNmXoBj9esYhgQ==";
-      };
-    };
     "uglify-es-3.3.10" = {
       name = "uglify-es";
       packageName = "uglify-es";
@@ -77756,15 +76496,6 @@ let
         sha512 = "VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==";
       };
     };
-    "unist-builder-3.0.1" = {
-      name = "unist-builder";
-      packageName = "unist-builder";
-      version = "3.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/unist-builder/-/unist-builder-3.0.1.tgz";
-        sha512 = "gnpOw7DIpCA0vpr6NqdPvTWnlPTApCTRzr+38E6hCWx3rz/cjo83SsKIlS1Z+L5ttScQ2AwutNnb8+tAvpb6qQ==";
-      };
-    };
     "unist-util-find-1.0.2" = {
       name = "unist-util-find";
       packageName = "unist-util-find";
@@ -77819,15 +76550,6 @@ let
         sha512 = "cln2Mm1/CZzN5ttGK7vkoGw+RZ8VcUH6BtGbq98DDtRGquAAOXig1mrBQYelOwMXYS8rK+vZDyyojSjp7JX+Lg==";
       };
     };
-    "unist-util-generated-2.0.1" = {
-      name = "unist-util-generated";
-      packageName = "unist-util-generated";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-2.0.1.tgz";
-        sha512 = "qF72kLmPxAw0oN2fwpWIqbXAVyEqUzDHMsbtPvOudIlUzXYFIeQIuxXQCRCFh22B7cixvU0MG7m3MW8FTq/S+A==";
-      };
-    };
     "unist-util-inspect-4.1.4" = {
       name = "unist-util-inspect";
       packageName = "unist-util-inspect";
@@ -79979,24 +78701,6 @@ let
         sha512 = "NiibMgt6VJGJmyw7vtzhctDcfKch4e4n9TBeoWlirb7FMg9/1Ov9k+A5ZRAtywBpRPiyECvQRQllYM8dECegVA==";
       };
     };
-    "vite-4.4.4" = {
-      name = "vite";
-      packageName = "vite";
-      version = "4.4.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/vite/-/vite-4.4.4.tgz";
-        sha512 = "4mvsTxjkveWrKDJI70QmelfVqTm+ihFAb6+xf4sjEU2TmUCTlVX87tmg/QooPEMQb/lM9qGHT99ebqPziEd3wg==";
-      };
-    };
-    "vite-node-0.28.5" = {
-      name = "vite-node";
-      packageName = "vite-node";
-      version = "0.28.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/vite-node/-/vite-node-0.28.5.tgz";
-        sha512 = "LmXb9saMGlrMZbXTvOveJKwMTBTNUH66c8rJnQ0ZPNX+myPEol64+szRzXtV5ORb0Hb/91yq+/D3oERoyAt6LA==";
-      };
-    };
     "vizion-2.2.1" = {
       name = "vizion";
       packageName = "vizion";
@@ -80078,58 +78782,58 @@ let
         sha512 = "Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==";
       };
     };
-    "volar-service-css-0.0.10" = {
+    "volar-service-css-0.0.11" = {
       name = "volar-service-css";
       packageName = "volar-service-css";
-      version = "0.0.10";
+      version = "0.0.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/volar-service-css/-/volar-service-css-0.0.10.tgz";
-        sha512 = "58A6UvgFZAWGFWRY0tKAAiREXcSOyx5ErpeOS3UjuGZFyTi6YUxfm1F0F8BKA1voN24laen1yyuFQD5E4ONNIQ==";
+        url = "https://registry.npmjs.org/volar-service-css/-/volar-service-css-0.0.11.tgz";
+        sha512 = "8wkycHM+wSbsRSEvW4GCj3rKJRj+KxnGfRhQC1GfQVx4eMHJHHeSrB4ANPm5mBYbmnJPIxxIgZHp7VoMqDZH4g==";
       };
     };
-    "volar-service-emmet-0.0.10" = {
+    "volar-service-emmet-0.0.11" = {
       name = "volar-service-emmet";
       packageName = "volar-service-emmet";
-      version = "0.0.10";
+      version = "0.0.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/volar-service-emmet/-/volar-service-emmet-0.0.10.tgz";
-        sha512 = "O7JahMMvexee65ifph1rhIH/L97S2rMtKAut+x3/yi4PEMVM0XkuKiXkC2y3ZCO4DzFsMhZWtEVBE0Ym76nj2g==";
+        url = "https://registry.npmjs.org/volar-service-emmet/-/volar-service-emmet-0.0.11.tgz";
+        sha512 = "9q6F1FaL3q/kxvt8EhbAmW8FtIf8Zi9FMHbuPSOQMn7/JlfXBtkB7y97uXvtQWpoxCumkuhY7kb1iBwtu7U+Eg==";
       };
     };
-    "volar-service-html-0.0.10" = {
+    "volar-service-html-0.0.11" = {
       name = "volar-service-html";
       packageName = "volar-service-html";
-      version = "0.0.10";
+      version = "0.0.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/volar-service-html/-/volar-service-html-0.0.10.tgz";
-        sha512 = "lr6hDCkp+HOqpvMzCtiSg80v82FBaUIn69+dZCMAp9O8qPhEo6WhrRwe9FEzSpg//WFwoWYfyZ1uPaj+RzT6aw==";
+        url = "https://registry.npmjs.org/volar-service-html/-/volar-service-html-0.0.11.tgz";
+        sha512 = "Lm8ynBTDI8wMsPwZCoo5s195HBOGCONSZq4sUvrVXPjD1i5eKf+rYIVm7+h/cgbdqZApe8dWFbbqXgLGLodwIA==";
       };
     };
-    "volar-service-prettier-0.0.10" = {
+    "volar-service-prettier-0.0.11" = {
       name = "volar-service-prettier";
       packageName = "volar-service-prettier";
-      version = "0.0.10";
+      version = "0.0.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/volar-service-prettier/-/volar-service-prettier-0.0.10.tgz";
-        sha512 = "38j47HSe7kTioz7TNTsKVu10xXW6FcORDmm1kHeGCnA/Xp8XhcPHFJAAi5V5h1isnZesWIiVvNzTvuJxyVvgLg==";
+        url = "https://registry.npmjs.org/volar-service-prettier/-/volar-service-prettier-0.0.11.tgz";
+        sha512 = "A4vEU5BUitNNAySb+t/fCjEoL01uYUkoe/Fe5UxR3JJbdgr2nTeXb5IlW90/1vzmnTKZznadJV4i1SoAf2CRbg==";
       };
     };
-    "volar-service-typescript-0.0.10" = {
+    "volar-service-typescript-0.0.11" = {
       name = "volar-service-typescript";
       packageName = "volar-service-typescript";
-      version = "0.0.10";
+      version = "0.0.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/volar-service-typescript/-/volar-service-typescript-0.0.10.tgz";
-        sha512 = "MVo9je5te2pjZIzbR+S5Fr1rZE2b64E+dpNpH5IHO+LtzSeT2Ri+Bzr4cGTbQSPxNx2O89BOxn97Wa5FS7vYyg==";
+        url = "https://registry.npmjs.org/volar-service-typescript/-/volar-service-typescript-0.0.11.tgz";
+        sha512 = "l0zY4RuqmLFIdqcKk8IfG2F1M0cn9Km1AdtTld1/kj8KyGhQfe2PsuVjz9wCG6SsR6kQt97YrpscZDvhb5aqQA==";
       };
     };
-    "volar-service-typescript-twoslash-queries-0.0.10" = {
+    "volar-service-typescript-twoslash-queries-0.0.11" = {
       name = "volar-service-typescript-twoslash-queries";
       packageName = "volar-service-typescript-twoslash-queries";
-      version = "0.0.10";
+      version = "0.0.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/volar-service-typescript-twoslash-queries/-/volar-service-typescript-twoslash-queries-0.0.10.tgz";
-        sha512 = "AMgl/aaCHIOIKswYP6GKx7m3+jVMCwF8Lt2KVaGKUstkT6LCMvqS/tVaRTzd8rAUq4lrFf4bg5uBD8RYtjklhA==";
+        url = "https://registry.npmjs.org/volar-service-typescript-twoslash-queries/-/volar-service-typescript-twoslash-queries-0.0.11.tgz";
+        sha512 = "onNK1g3vZVlPiD9HHFrGVNkdFWndosDSkMUWOWN5PxcocvVuZRZ8TN2iB2Ct0VDIZaXN3PK+fQpPCpq+yy1fXA==";
       };
     };
     "vsce-2.15.0" = {
@@ -80942,15 +79646,6 @@ let
         sha512 = "rWkTAGqs4TN6qreS06+irmFUMrQVx5KoFjD8CxMHUsAwmxw/upDcfleaEYOLsonUbornahg+VJ9xrWxp4udyJA==";
       };
     };
-    "web-encoding-1.1.5" = {
-      name = "web-encoding";
-      packageName = "web-encoding";
-      version = "1.1.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/web-encoding/-/web-encoding-1.1.5.tgz";
-        sha512 = "HYLeVCdJ0+lBYV2FvNZmv3HJ2Nt0QYXqZojk3d9FJOLkwnuhzM9tmamh8d7HPM8QqjKH8DeHkFTx+CFlWpZZDA==";
-      };
-    };
     "web-namespaces-1.1.4" = {
       name = "web-namespaces";
       packageName = "web-namespaces";
@@ -81140,15 +79835,6 @@ let
         sha512 = "6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==";
       };
     };
-    "webpack-5.88.1" = {
-      name = "webpack";
-      packageName = "webpack";
-      version = "5.88.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/webpack/-/webpack-5.88.1.tgz";
-        sha512 = "FROX3TxQnC/ox4N+3xQoWZzvGXSuscxR32rbzjpXgEzWudJFEJBpdlkkob2ylrv5yzzufD1zph1OoFsLtm6stQ==";
-      };
-    };
     "webpack-5.88.2" = {
       name = "webpack";
       packageName = "webpack";
@@ -81347,15 +80033,6 @@ let
         sha512 = "UlTm7Yz4meJV0THhZMrgRTE9v/vZ0xfUoJ/eOig98TvzsqNiW+FLSv5WaZeML3uJUPrMQ6K5jo1FJJFXNCc8+g==";
       };
     };
-    "webpod-0.0.2" = {
-      name = "webpod";
-      packageName = "webpod";
-      version = "0.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/webpod/-/webpod-0.0.2.tgz";
-        sha512 = "cSwwQIeg8v4i3p4ajHhwgR7N6VyxAf+KYSSsY6Pd3aETE+xEU4vbitz7qQkB0I321xnhDdgtxuiSfk5r/FVtjg==";
-      };
-    };
     "websocket-driver-0.7.4" = {
       name = "websocket-driver";
       packageName = "websocket-driver";
@@ -81410,13 +80087,13 @@ let
         sha512 = "p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==";
       };
     };
-    "whatwg-fetch-3.6.16" = {
+    "whatwg-fetch-3.6.17" = {
       name = "whatwg-fetch";
       packageName = "whatwg-fetch";
-      version = "3.6.16";
+      version = "3.6.17";
       src = fetchurl {
-        url = "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.16.tgz";
-        sha512 = "83avoGbZ0qtjtNrU3UTT3/Xd3uZ7DyfSYLuc1fL5iYs+93P+UkIVF6/6xpRVWeQcvbc7kSnVybSAVbd6QFW5Fg==";
+        url = "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.17.tgz";
+        sha512 = "c4ghIvG6th0eudYwKZY5keb81wtFz9/WeAHAoy8+r18kcWlitUIrmGFQ2rWEl4UCKUilD3zCLHOIPheHx5ypRQ==";
       };
     };
     "whatwg-mimetype-2.3.0" = {
@@ -81959,13 +80636,13 @@ let
         sha512 = "U0IUQHKXXn6PFo9nqsHphVCE5m3IntqZNB9Jjn7EB1lrR7YTDY3YWgFvEvwniTzXSvOH/XMzAZaIfJF/LvHYXg==";
       };
     };
-    "wonka-6.3.2" = {
+    "wonka-6.3.3" = {
       name = "wonka";
       packageName = "wonka";
-      version = "6.3.2";
+      version = "6.3.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/wonka/-/wonka-6.3.2.tgz";
-        sha512 = "2xXbQ1LnwNS7egVm1HPhW2FyKrekolzhpM3mCwXdQr55gO+tAiY76rhb32OL9kKsW8taj++iP7C6hxlVzbnvrw==";
+        url = "https://registry.npmjs.org/wonka/-/wonka-6.3.3.tgz";
+        sha512 = "id4wYGsT6aEc8/3+by7NTHvTe0DwsOjv7vah0K0+AorV1MHKuS3OQ2g8DGsem1OEXrNShbVLPsg4kG2O6GZ2SQ==";
       };
     };
     "word-wrap-1.2.3" = {
@@ -81977,13 +80654,13 @@ let
         sha512 = "Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==";
       };
     };
-    "word-wrap-1.2.4" = {
+    "word-wrap-1.2.5" = {
       name = "word-wrap";
       packageName = "word-wrap";
-      version = "1.2.4";
+      version = "1.2.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.4.tgz";
-        sha512 = "2V81OA4ugVo5pRo46hAoD2ivUJx8jXmWXfUkY4KFNw0hEptvN0QfH3K4nHiwzGeKl5rFKedV48QVoqYavy4YpA==";
+        url = "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz";
+        sha512 = "BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==";
       };
     };
     "wordwrap-0.0.2" = {
@@ -82049,13 +80726,13 @@ let
         sha512 = "rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==";
       };
     };
-    "workerd-1.20230717.0" = {
+    "workerd-1.20230724.0" = {
       name = "workerd";
       packageName = "workerd";
-      version = "1.20230717.0";
+      version = "1.20230724.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/workerd/-/workerd-1.20230717.0.tgz";
-        sha512 = "MTKF2u3pfqfpGlyaYe9BfZm8IoUwhQNe2vMWECYtv6Z8cGPJujVxcRe27ZT4l/G5lRijnnVeP3Ns3mMS9fjMsw==";
+        url = "https://registry.npmjs.org/workerd/-/workerd-1.20230724.0.tgz";
+        sha512 = "++D7JqS4/dk7zvtGpk+i/7G9bZtEl6lTtgAsIoSSGR1qJAxxEu21ktm9+FH0EYh7uKfizuM5H9lrTsR+3u44PA==";
       };
     };
     "workerpool-6.2.1" = {
@@ -82463,15 +81140,6 @@ let
         sha512 = "GojqklwG8gpzOVEVki5KudKNoq7MbbjYZCbyWzEz7tyPA7eleiE0+ePwOWQQRb5fm86rD3S8Tc0tSFf3AOv50w==";
       };
     };
-    "x256-0.0.2" = {
-      name = "x256";
-      packageName = "x256";
-      version = "0.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/x256/-/x256-0.0.2.tgz";
-        sha512 = "ZsIH+sheoF8YG9YG+QKEEIdtqpHRA9FYuD7MqhfyB1kayXU43RUNBFSxBEnF8ywSUxdg+8no4+bPr5qLbyxKgA==";
-      };
-    };
     "xcase-2.0.1" = {
       name = "xcase";
       packageName = "xcase";
@@ -82544,15 +81212,6 @@ let
         sha512 = "KghrOEEEz6TOd2oTG28aP/rqsjCzVBttbY+le02KZr8xySxlxX0ssUCMyTzxcKaAIXOPFxyP6zFAs2V70E2xYg==";
       };
     };
-    "xdm-2.1.0" = {
-      name = "xdm";
-      packageName = "xdm";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/xdm/-/xdm-2.1.0.tgz";
-        sha512 = "3LxxbxKcRogYY7cQSMy1tUuU1zKNK9YPqMT7/S0r7Cz2QpyF8O9yFySGD7caOZt+LWUOQioOIX+6ZzCoBCpcAA==";
-      };
-    };
     "xenvar-0.5.1" = {
       name = "xenvar";
       packageName = "xenvar";
@@ -82959,13 +81618,13 @@ let
         sha512 = "oFjw2YZPyu6HeO0JWCSqfhAALsjFPURsrD2FUFN3u213dWwYU68RFuLtSHco+cEUhpQFW+hRG3PNYgq8HatudQ==";
       };
     };
-    "xstate-4.38.1" = {
+    "xstate-4.38.2" = {
       name = "xstate";
       packageName = "xstate";
-      version = "4.38.1";
+      version = "4.38.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/xstate/-/xstate-4.38.1.tgz";
-        sha512 = "1gBUcFWBj/rv/pRcP2Bedl5sNRGX2d36CaOx9z7fE9uSiHaOEHIWzLg1B853q2xdUHUA9pEiWKjLZ3can4SJaQ==";
+        url = "https://registry.npmjs.org/xstate/-/xstate-4.38.2.tgz";
+        sha512 = "Fba/DwEPDLneHT3tbJ9F3zafbQXszOlyCJyQqqdzmtlY/cwE2th462KK48yaANf98jHlP6lJvxfNtN0LFKXPQg==";
       };
     };
     "xstream-11.14.0" = {
@@ -83742,22 +82401,22 @@ let
         sha512 = "m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw==";
       };
     };
-    "zod-to-json-schema-3.21.1" = {
+    "zod-to-json-schema-3.21.3" = {
       name = "zod-to-json-schema";
       packageName = "zod-to-json-schema";
-      version = "3.21.1";
+      version = "3.21.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.21.1.tgz";
-        sha512 = "y5g0MPxDq+YG/T+cHGPYH4PcBpyCqwK6wxeJ76MR563y0gk/14HKfebq8xHiItY7lkc9GDFygCnkvNDTvAhYAg==";
+        url = "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.21.3.tgz";
+        sha512 = "09W/9oyxeF1/wWnzCb6MursW+lOzgKi91QwE7eTBbC+t/qgfuLsUVDai3lHemSQnQu/UONAcT/fv3ZnDvbTeKg==";
       };
     };
-    "zwave-js-11.5.2" = {
+    "zwave-js-11.8.1" = {
       name = "zwave-js";
       packageName = "zwave-js";
-      version = "11.5.2";
+      version = "11.8.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/zwave-js/-/zwave-js-11.5.2.tgz";
-        sha512 = "b465lJGlytbB8nv1CDMVeA6ECMNGRm31/R9Lzf7onAlNptiGjqU6WeykYngB49x3TqY4DB4b5+70rspsyiGxPQ==";
+        url = "https://registry.npmjs.org/zwave-js/-/zwave-js-11.8.1.tgz";
+        sha512 = "lza3wJdDGS60cEKm/CoIyzaSxF+xf+ExYM131UAjPlN9JQKIiFG+cZH1tWg6bw4O+L6WRNaOl27afFjFWEnz2Q==";
       };
     };
     "zwitch-1.0.5" = {
@@ -83778,30 +82437,21 @@ let
         sha512 = "bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==";
       };
     };
-    "zxcvbn-4.4.2" = {
-      name = "zxcvbn";
-      packageName = "zxcvbn";
-      version = "4.4.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/zxcvbn/-/zxcvbn-4.4.2.tgz";
-        sha512 = "Bq0B+ixT/DMyG8kgX2xWcI5jUvCwqrMxSFam7m0lAf78nf04hv6lNCsyLYdyYTrCVMqNDY/206K7eExYCeSyUQ==";
-      };
-    };
   };
 in
 {
   "@angular/cli" = nodeEnv.buildNodePackage {
     name = "_at_angular_slash_cli";
     packageName = "@angular/cli";
-    version = "16.1.4";
+    version = "16.1.6";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@angular/cli/-/cli-16.1.4.tgz";
-      sha512 = "coSOLVLpOCOD5q9K9EAFFMrTES+HtdJiLy/iI9kdKNCKWUJpm8/svZ3JZOej3vPxYEp0AokXNOwORQnX21/qZQ==";
+      url = "https://registry.npmjs.org/@angular/cli/-/cli-16.1.6.tgz";
+      sha512 = "yXVgUKMXxlAHkhc6xk3ljR7TXpMLBykyu8do+ooSP08VKEQnWjTdVgrcOHd0n5w9YHXUQgBSmjDKxtQaBmvyZQ==";
     };
     dependencies = [
-      sources."@angular-devkit/architect-0.1601.4"
-      sources."@angular-devkit/core-16.1.4"
-      sources."@angular-devkit/schematics-16.1.4"
+      sources."@angular-devkit/architect-0.1601.6"
+      sources."@angular-devkit/core-16.1.6"
+      sources."@angular-devkit/schematics-16.1.6"
       (sources."@isaacs/cliui-8.0.2" // {
         dependencies = [
           sources."ansi-regex-6.0.1"
@@ -83820,7 +82470,7 @@ in
       sources."@npmcli/promise-spawn-6.0.2"
       sources."@npmcli/run-script-6.0.2"
       sources."@pkgjs/parseargs-0.11.0"
-      sources."@schematics/angular-16.1.4"
+      sources."@schematics/angular-16.1.6"
       sources."@sigstore/bundle-1.0.0"
       sources."@sigstore/protobuf-specs-0.2.0"
       sources."@sigstore/tuf-1.0.3"
@@ -83904,7 +82554,7 @@ in
       sources."fill-range-7.0.1"
       (sources."foreground-child-3.1.1" // {
         dependencies = [
-          sources."signal-exit-4.0.2"
+          sources."signal-exit-4.1.0"
         ];
       })
       sources."fs-minipass-3.0.2"
@@ -83951,7 +82601,7 @@ in
       sources."is-unicode-supported-0.1.0"
       sources."is-wsl-2.2.0"
       sources."isexe-2.0.0"
-      sources."jackspeak-2.2.1"
+      sources."jackspeak-2.2.2"
       sources."json-parse-even-better-errors-3.0.0"
       sources."json-schema-traverse-1.0.0"
       sources."jsonc-parser-3.2.0"
@@ -84094,7 +82744,7 @@ in
       sources."through-2.3.8"
       sources."tmp-0.0.33"
       sources."to-regex-range-5.0.1"
-      sources."tslib-2.6.0"
+      sources."tslib-2.6.1"
       sources."tuf-js-1.1.7"
       sources."type-fest-0.21.3"
       sources."unique-filename-3.0.0"
@@ -84145,10 +82795,10 @@ in
   "@astrojs/language-server" = nodeEnv.buildNodePackage {
     name = "_at_astrojs_slash_language-server";
     packageName = "@astrojs/language-server";
-    version = "2.1.0";
+    version = "2.2.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@astrojs/language-server/-/language-server-2.1.0.tgz";
-      sha512 = "a0X252geIy8wlUJq3AN1gb3RouicFV9J6Vze/NkhYfhRdrFZycQqh9Lghb81EJB0ZjKY54dvW7DSvZzsXMjOdQ==";
+      url = "https://registry.npmjs.org/@astrojs/language-server/-/language-server-2.2.0.tgz";
+      sha512 = "zyEumkwcep3pGyMpcEJFEn96jV6pEg3CUtjehnT9KseDFqf+gPYTbw5nwOpN9uXIJ/E5bAxhqpkr3J2LCQHRrg==";
     };
     dependencies = [
       sources."@astrojs/compiler-1.5.7"
@@ -84159,12 +82809,12 @@ in
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
-      sources."@volar/kit-1.9.0"
-      sources."@volar/language-core-1.9.0"
-      sources."@volar/language-server-1.9.0"
-      sources."@volar/language-service-1.9.0"
-      sources."@volar/source-map-1.9.0"
-      sources."@volar/typescript-1.9.0"
+      sources."@volar/kit-1.10.0"
+      sources."@volar/language-core-1.10.0"
+      sources."@volar/language-server-1.10.0"
+      sources."@volar/language-service-1.10.0"
+      sources."@volar/source-map-1.10.0"
+      sources."@volar/typescript-1.10.0"
       (sources."@vscode/emmet-helper-2.9.2" // {
         dependencies = [
           sources."vscode-uri-2.1.2"
@@ -84172,8 +82822,8 @@ in
       })
       sources."@vscode/l10n-0.0.11"
       sources."braces-3.0.2"
-      sources."emmet-2.4.5"
-      sources."fast-glob-3.3.0"
+      sources."emmet-2.4.6"
+      sources."fast-glob-3.3.1"
       sources."fastq-1.15.0"
       sources."fill-range-7.0.1"
       sources."glob-parent-5.1.2"
@@ -84200,12 +82850,12 @@ in
       sources."typesafe-path-0.2.2"
       sources."typescript-5.1.6"
       sources."typescript-auto-import-cache-0.3.0"
-      sources."volar-service-css-0.0.10"
-      sources."volar-service-emmet-0.0.10"
-      sources."volar-service-html-0.0.10"
-      sources."volar-service-prettier-0.0.10"
-      sources."volar-service-typescript-0.0.10"
-      sources."volar-service-typescript-twoslash-queries-0.0.10"
+      sources."volar-service-css-0.0.11"
+      sources."volar-service-emmet-0.0.11"
+      sources."volar-service-html-0.0.11"
+      sources."volar-service-prettier-0.0.11"
+      sources."volar-service-typescript-0.0.11"
+      sources."volar-service-typescript-twoslash-queries-0.0.11"
       (sources."vscode-css-languageservice-6.2.6" // {
         dependencies = [
           sources."@vscode/l10n-0.0.14"
@@ -84282,8 +82932,8 @@ in
       sources."ansi-styles-3.2.1"
       sources."balanced-match-1.0.2"
       sources."brace-expansion-1.1.11"
-      sources."browserslist-4.21.9"
-      sources."caniuse-lite-1.0.30001517"
+      sources."browserslist-4.21.10"
+      sources."caniuse-lite-1.0.30001518"
       sources."chalk-2.4.2"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
@@ -84291,7 +82941,7 @@ in
       sources."concat-map-0.0.1"
       sources."convert-source-map-1.9.0"
       sources."debug-4.3.4"
-      sources."electron-to-chromium-1.4.466"
+      sources."electron-to-chromium-1.4.480"
       sources."escalade-3.1.1"
       sources."escape-string-regexp-1.0.5"
       sources."fs-readdir-recursive-1.1.0"
@@ -84379,25 +83029,25 @@ in
       sources."@jridgewell/resolve-uri-3.1.1"
       sources."@jridgewell/sourcemap-codec-1.4.15"
       sources."@jridgewell/trace-mapping-0.3.9"
-      sources."@swc/core-1.3.70"
-      sources."@swc/core-darwin-arm64-1.3.70"
-      sources."@swc/core-darwin-x64-1.3.70"
-      sources."@swc/core-linux-arm-gnueabihf-1.3.70"
-      sources."@swc/core-linux-arm64-gnu-1.3.70"
-      sources."@swc/core-linux-arm64-musl-1.3.70"
-      sources."@swc/core-linux-x64-gnu-1.3.70"
-      sources."@swc/core-linux-x64-musl-1.3.70"
-      sources."@swc/core-win32-arm64-msvc-1.3.70"
-      sources."@swc/core-win32-ia32-msvc-1.3.70"
-      sources."@swc/core-win32-x64-msvc-1.3.70"
+      sources."@swc/core-1.3.73"
+      sources."@swc/core-darwin-arm64-1.3.73"
+      sources."@swc/core-darwin-x64-1.3.73"
+      sources."@swc/core-linux-arm-gnueabihf-1.3.73"
+      sources."@swc/core-linux-arm64-gnu-1.3.73"
+      sources."@swc/core-linux-arm64-musl-1.3.73"
+      sources."@swc/core-linux-x64-gnu-1.3.73"
+      sources."@swc/core-linux-x64-musl-1.3.73"
+      sources."@swc/core-win32-arm64-msvc-1.3.73"
+      sources."@swc/core-win32-ia32-msvc-1.3.73"
+      sources."@swc/core-win32-x64-msvc-1.3.73"
       sources."@swc/helpers-0.5.1"
-      sources."@swc/wasm-1.3.70"
+      sources."@swc/wasm-1.3.73"
       sources."@tsconfig/node10-1.0.9"
       sources."@tsconfig/node12-1.0.11"
       sources."@tsconfig/node14-1.0.3"
       sources."@tsconfig/node16-1.0.4"
       sources."@types/minimist-1.2.2"
-      sources."@types/node-20.4.2"
+      sources."@types/node-20.4.5"
       sources."@types/normalize-package-data-2.4.1"
       sources."JSONStream-1.3.5"
       sources."acorn-8.10.0"
@@ -84420,7 +83070,7 @@ in
       sources."conventional-changelog-angular-5.0.13"
       sources."conventional-commits-parser-3.2.4"
       sources."cosmiconfig-8.2.0"
-      sources."cosmiconfig-typescript-loader-4.3.0"
+      sources."cosmiconfig-typescript-loader-4.4.0"
       sources."create-require-1.1.1"
       sources."cross-spawn-7.0.3"
       sources."dargs-7.0.0"
@@ -84553,7 +83203,7 @@ in
       sources."through2-4.0.2"
       sources."trim-newlines-3.0.1"
       sources."ts-node-10.9.1"
-      sources."tslib-2.6.0"
+      sources."tslib-2.6.1"
       sources."type-fest-0.18.1"
       sources."typescript-5.1.6"
       sources."universalify-2.0.0"
@@ -84650,10 +83300,10 @@ in
   "@forge/cli" = nodeEnv.buildNodePackage {
     name = "_at_forge_slash_cli";
     packageName = "@forge/cli";
-    version = "6.15.0";
+    version = "6.16.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@forge/cli/-/cli-6.15.0.tgz";
-      sha512 = "Gck9FgKism0aOzGfjgM1XDbfSXMmEzuC6uXOvziEu9y/ruXSmo9bRAvdcyK9NXE6EzdkvdL9g7KluBtlAPJkGA==";
+      url = "https://registry.npmjs.org/@forge/cli/-/cli-6.16.0.tgz";
+      sha512 = "4sX1hrTWUxKXat4dmAcgrjR9NN4qTLegq9nL3D/rClj+j5p9nPixhtjPC5Zjyrgs2EAWKwzTNd2Z66HwqeRmhg==";
     };
     dependencies = [
       sources."@ampproject/remapping-2.2.1"
@@ -84700,14 +83350,16 @@ in
       sources."@babel/helpers-7.22.6"
       sources."@babel/highlight-7.22.5"
       sources."@babel/parser-7.22.7"
-      sources."@babel/plugin-proposal-class-properties-7.18.6"
-      sources."@babel/plugin-proposal-numeric-separator-7.18.6"
-      sources."@babel/plugin-proposal-optional-chaining-7.21.0"
+      sources."@babel/plugin-syntax-class-static-block-7.14.5"
       sources."@babel/plugin-syntax-jsx-7.22.5"
       sources."@babel/plugin-syntax-numeric-separator-7.10.4"
       sources."@babel/plugin-syntax-optional-chaining-7.8.3"
       sources."@babel/plugin-syntax-typescript-7.22.5"
+      sources."@babel/plugin-transform-class-properties-7.22.5"
+      sources."@babel/plugin-transform-class-static-block-7.22.5"
       sources."@babel/plugin-transform-modules-commonjs-7.22.5"
+      sources."@babel/plugin-transform-numeric-separator-7.22.5"
+      sources."@babel/plugin-transform-optional-chaining-7.22.6"
       sources."@babel/plugin-transform-react-jsx-7.22.5"
       sources."@babel/plugin-transform-typescript-7.22.9"
       sources."@babel/preset-typescript-7.22.5"
@@ -84721,24 +83373,24 @@ in
         ];
       })
       sources."@discoveryjs/json-ext-0.5.7"
-      sources."@forge/api-2.18.2"
+      sources."@forge/api-2.18.3"
       sources."@forge/auth-0.0.3"
-      sources."@forge/babel-plugin-transform-ui-1.1.4"
-      sources."@forge/bundler-4.10.3"
-      sources."@forge/cli-shared-3.16.0"
-      sources."@forge/csp-2.1.4"
-      (sources."@forge/egress-1.2.1" // {
+      sources."@forge/babel-plugin-transform-ui-1.1.5"
+      sources."@forge/bundler-4.10.4"
+      sources."@forge/cli-shared-3.17.0"
+      sources."@forge/csp-2.1.5"
+      (sources."@forge/egress-1.2.2" // {
         dependencies = [
           sources."brace-expansion-2.0.1"
           sources."minimatch-5.1.6"
         ];
       })
-      sources."@forge/lint-3.6.2"
-      sources."@forge/manifest-4.17.0"
-      sources."@forge/runtime-4.4.4"
+      sources."@forge/lint-3.6.3"
+      sources."@forge/manifest-4.18.0"
+      sources."@forge/runtime-4.4.5"
       sources."@forge/storage-1.5.5"
-      sources."@forge/tunnel-3.6.3"
-      sources."@forge/util-1.3.0"
+      sources."@forge/tunnel-3.6.4"
+      sources."@forge/util-1.3.1"
       sources."@jridgewell/gen-mapping-0.3.3"
       sources."@jridgewell/resolve-uri-3.1.0"
       sources."@jridgewell/set-array-1.1.2"
@@ -84755,29 +83407,29 @@ in
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
       sources."@polka/url-1.0.0-next.21"
-      sources."@sentry-internal/tracing-7.59.3"
-      sources."@sentry/core-7.59.3"
-      (sources."@sentry/node-7.59.3" // {
+      sources."@sentry-internal/tracing-7.61.0"
+      sources."@sentry/core-7.61.0"
+      (sources."@sentry/node-7.61.0" // {
         dependencies = [
           sources."cookie-0.4.2"
         ];
       })
-      sources."@sentry/types-7.59.3"
-      sources."@sentry/utils-7.59.3"
+      sources."@sentry/types-7.61.0"
+      sources."@sentry/utils-7.61.0"
       sources."@sindresorhus/is-4.6.0"
-      sources."@swc/core-1.3.70"
-      sources."@swc/core-darwin-arm64-1.3.70"
-      sources."@swc/core-darwin-x64-1.3.70"
-      sources."@swc/core-linux-arm-gnueabihf-1.3.70"
-      sources."@swc/core-linux-arm64-gnu-1.3.70"
-      sources."@swc/core-linux-arm64-musl-1.3.70"
-      sources."@swc/core-linux-x64-gnu-1.3.70"
-      sources."@swc/core-linux-x64-musl-1.3.70"
-      sources."@swc/core-win32-arm64-msvc-1.3.70"
-      sources."@swc/core-win32-ia32-msvc-1.3.70"
-      sources."@swc/core-win32-x64-msvc-1.3.70"
+      sources."@swc/core-1.3.73"
+      sources."@swc/core-darwin-arm64-1.3.73"
+      sources."@swc/core-darwin-x64-1.3.73"
+      sources."@swc/core-linux-arm-gnueabihf-1.3.73"
+      sources."@swc/core-linux-arm64-gnu-1.3.73"
+      sources."@swc/core-linux-arm64-musl-1.3.73"
+      sources."@swc/core-linux-x64-gnu-1.3.73"
+      sources."@swc/core-linux-x64-musl-1.3.73"
+      sources."@swc/core-win32-arm64-msvc-1.3.73"
+      sources."@swc/core-win32-ia32-msvc-1.3.73"
+      sources."@swc/core-win32-x64-msvc-1.3.73"
       sources."@swc/helpers-0.5.1"
-      sources."@swc/wasm-1.3.70"
+      sources."@swc/wasm-1.3.73"
       sources."@szmarczak/http-timer-4.0.6"
       sources."@tsconfig/node10-1.0.9"
       sources."@tsconfig/node12-1.0.11"
@@ -84788,7 +83440,7 @@ in
       sources."@types/cacheable-request-6.0.3"
       sources."@types/connect-3.4.35"
       sources."@types/connect-history-api-fallback-1.5.0"
-      sources."@types/eslint-8.44.0"
+      sources."@types/eslint-8.44.1"
       sources."@types/eslint-scope-3.7.4"
       sources."@types/estree-1.0.1"
       sources."@types/express-4.17.17"
@@ -84800,7 +83452,7 @@ in
       sources."@types/json-schema-7.0.12"
       sources."@types/keyv-3.1.4"
       sources."@types/mime-1.3.2"
-      sources."@types/node-20.4.2"
+      sources."@types/node-20.4.5"
       sources."@types/node-fetch-2.6.4"
       sources."@types/qs-6.9.7"
       sources."@types/range-parser-1.2.4"
@@ -84930,7 +83582,7 @@ in
         ];
       })
       sources."browserify-zlib-0.2.0"
-      sources."browserslist-4.21.9"
+      sources."browserslist-4.21.10"
       sources."buffer-4.9.2"
       sources."buffer-crc32-0.2.13"
       sources."buffer-from-1.1.2"
@@ -84942,7 +83594,7 @@ in
       sources."call-bind-1.0.2"
       sources."call-me-maybe-1.0.2"
       sources."camel-case-4.1.2"
-      sources."caniuse-lite-1.0.30001517"
+      sources."caniuse-lite-1.0.30001518"
       sources."case-1.6.3"
       sources."chai-4.3.7"
       (sources."chalk-2.4.2" // {
@@ -85072,7 +83724,7 @@ in
       sources."dot-prop-6.0.1"
       sources."duplexer-0.1.2"
       sources."ee-first-1.1.1"
-      sources."electron-to-chromium-1.4.466"
+      sources."electron-to-chromium-1.4.480"
       (sources."elliptic-6.5.4" // {
         dependencies = [
           sources."bn.js-4.12.0"
@@ -85105,7 +83757,7 @@ in
       sources."escape-html-1.0.3"
       sources."escape-string-regexp-1.0.5"
       sources."eslint-scope-5.1.1"
-      sources."eslint-visitor-keys-3.4.1"
+      sources."eslint-visitor-keys-3.4.2"
       sources."esprima-4.0.1"
       (sources."esrecurse-4.3.0" // {
         dependencies = [
@@ -85145,7 +83797,7 @@ in
       sources."extract-files-9.0.0"
       sources."extract-zip-2.0.1"
       sources."fast-deep-equal-3.1.3"
-      sources."fast-glob-3.3.0"
+      sources."fast-glob-3.3.1"
       sources."fast-json-stable-stringify-2.1.0"
       sources."fastest-levenshtein-1.0.16"
       sources."fastq-1.15.0"
@@ -85165,7 +83817,7 @@ in
       sources."for-each-0.3.3"
       sources."form-data-3.0.1"
       sources."forwarded-0.2.0"
-      sources."fp-ts-2.16.0"
+      sources."fp-ts-2.16.1"
       sources."fresh-0.5.2"
       sources."fs-constants-1.0.0"
       sources."fs-extra-8.1.0"
@@ -85672,7 +84324,7 @@ in
         ];
       })
       sources."terminal-link-2.1.1"
-      (sources."terser-5.19.1" // {
+      (sources."terser-5.19.2" // {
         dependencies = [
           sources."commander-2.20.3"
         ];
@@ -85708,7 +84360,7 @@ in
         ];
       })
       sources."ts-node-10.9.1"
-      sources."tslib-2.6.0"
+      sources."tslib-2.6.1"
       (sources."tsutils-3.21.0" // {
         dependencies = [
           sources."tslib-1.14.1"
@@ -85724,9 +84376,9 @@ in
       sources."typed-array-byte-offset-1.0.0"
       sources."typed-array-length-1.0.4"
       sources."typescript-4.9.5"
-      (sources."typescript-json-schema-0.58.1" // {
+      (sources."typescript-json-schema-0.59.0" // {
         dependencies = [
-          sources."@types/node-16.18.38"
+          sources."@types/node-16.18.39"
         ];
       })
       sources."unbox-primitive-1.0.2"
@@ -85758,7 +84410,7 @@ in
       sources."wbuf-1.7.3"
       sources."wcwidth-1.0.1"
       sources."webidl-conversions-4.0.2"
-      (sources."webpack-5.88.1" // {
+      (sources."webpack-5.88.2" // {
         dependencies = [
           sources."schema-utils-3.3.0"
         ];
@@ -85849,6 +84501,7 @@ in
           sources."path-exists-4.0.0"
         ];
       })
+      sources."@ljharb/through-2.3.9"
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
@@ -85866,11 +84519,11 @@ in
       sources."@types/http-cache-semantics-4.0.1"
       sources."@types/keyv-3.1.4"
       sources."@types/minimist-1.2.2"
-      sources."@types/node-20.4.2"
+      sources."@types/node-20.4.5"
       sources."@types/normalize-package-data-2.4.1"
       sources."@types/responselike-1.0.0"
       sources."aggregate-error-4.0.1"
-      sources."all-package-names-2.0.695"
+      sources."all-package-names-2.0.706"
       sources."ansi-align-3.0.1"
       sources."ansi-escapes-4.3.2"
       sources."ansi-regex-5.0.1"
@@ -85977,7 +84630,7 @@ in
       sources."deep-extend-0.6.0"
       (sources."default-browser-4.0.0" // {
         dependencies = [
-          sources."execa-7.1.1"
+          sources."execa-7.2.0"
           sources."human-signals-4.3.1"
           sources."is-stream-3.0.0"
           sources."mimic-fn-4.0.0"
@@ -86009,7 +84662,7 @@ in
       sources."execa-5.1.1"
       sources."exit-hook-3.2.0"
       sources."external-editor-3.1.0"
-      sources."fast-glob-3.3.0"
+      sources."fast-glob-3.3.1"
       sources."fastq-1.15.0"
       sources."figures-3.2.0"
       sources."fill-range-7.0.1"
@@ -86258,10 +84911,10 @@ in
           sources."chalk-5.3.0"
           sources."cli-width-4.0.0"
           sources."escape-string-regexp-5.0.0"
-          sources."execa-7.1.1"
+          sources."execa-7.2.0"
           sources."figures-5.0.0"
           sources."human-signals-4.3.1"
-          sources."inquirer-9.2.8"
+          sources."inquirer-9.2.9"
           sources."is-stream-3.0.0"
           sources."mimic-fn-4.0.0"
           sources."mute-stream-1.0.0"
@@ -86292,7 +84945,7 @@ in
       sources."os-tmpdir-1.0.2"
       (sources."ow-1.1.1" // {
         dependencies = [
-          sources."@sindresorhus/is-5.5.2"
+          sources."@sindresorhus/is-5.6.0"
           sources."callsites-4.0.0"
         ];
       })
@@ -86311,10 +84964,10 @@ in
       sources."p-try-2.2.0"
       (sources."package-json-8.1.1" // {
         dependencies = [
-          sources."@sindresorhus/is-5.5.2"
+          sources."@sindresorhus/is-5.6.0"
           sources."@szmarczak/http-timer-5.0.1"
           sources."cacheable-lookup-7.0.0"
-          sources."cacheable-request-10.2.12"
+          sources."cacheable-request-10.2.13"
           sources."got-12.6.1"
           sources."http2-wrapper-2.2.0"
           sources."lowercase-keys-3.0.0"
@@ -86434,7 +85087,7 @@ in
       sources."to-readable-stream-1.0.0"
       sources."to-regex-range-5.0.1"
       sources."trim-newlines-5.0.0"
-      sources."tslib-2.6.0"
+      sources."tslib-2.6.1"
       sources."type-fest-0.21.3"
       sources."typedarray-to-buffer-3.1.5"
       sources."types-eslintrc-1.0.3"
@@ -86572,7 +85225,7 @@ in
       sources."@types/markdown-it-12.2.3"
       sources."@types/mdurl-1.0.2"
       sources."@types/minimatch-5.1.2"
-      sources."@types/node-20.4.2"
+      sources."@types/node-20.4.5"
       sources."@types/tough-cookie-2.3.8"
       sources."abbrev-1.1.1"
       sources."abort-controller-3.0.0"
@@ -86791,7 +85444,7 @@ in
         ];
       })
       sources."fast-deep-equal-3.1.3"
-      sources."fast-glob-3.3.0"
+      sources."fast-glob-3.3.1"
       sources."fast-json-stable-stringify-2.1.0"
       sources."fast-levenshtein-2.0.6"
       sources."fastq-1.15.0"
@@ -87431,7 +86084,7 @@ in
       sources."which-module-2.0.1"
       sources."which-pm-runs-1.1.0"
       sources."wide-align-1.1.5"
-      sources."word-wrap-1.2.4"
+      sources."word-wrap-1.2.5"
       sources."wordwrap-1.0.0"
       sources."wrap-ansi-2.1.0"
       sources."wrappy-1.0.2"
@@ -87462,10 +86115,10 @@ in
   "@mermaid-js/mermaid-cli" = nodeEnv.buildNodePackage {
     name = "_at_mermaid-js_slash_mermaid-cli";
     packageName = "@mermaid-js/mermaid-cli";
-    version = "10.2.4";
+    version = "10.3.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@mermaid-js/mermaid-cli/-/mermaid-cli-10.2.4.tgz";
-      sha512 = "5y2wPpLE8AJiCODVXmcccTAbSvkCQ1EtJJahQoGsbcyTTVMrr7C7sW8VUELHI4JjlekU5+czAyDH2+PJI0ZBkQ==";
+      url = "https://registry.npmjs.org/@mermaid-js/mermaid-cli/-/mermaid-cli-10.3.0.tgz";
+      sha512 = "pbLhEJL99HHKDPUTnswotqfy+Zm/TsX9oseSNikrz07e47jq+UpVBJ22e9Co5qxPlP/E9VKoZHxkIz/A6M/2Ng==";
     };
     dependencies = [
       sources."@babel/code-frame-7.22.5"
@@ -87476,7 +86129,7 @@ in
         ];
       })
       sources."@puppeteer/browsers-0.5.0"
-      sources."@types/node-20.4.2"
+      sources."@types/node-20.4.5"
       sources."@types/yauzl-2.10.0"
       sources."agent-base-6.0.2"
       sources."ansi-regex-5.0.1"
@@ -87583,68 +86236,68 @@ in
   "@microsoft/rush" = nodeEnv.buildNodePackage {
     name = "_at_microsoft_slash_rush";
     packageName = "@microsoft/rush";
-    version = "5.100.1";
+    version = "5.100.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@microsoft/rush/-/rush-5.100.1.tgz";
-      sha512 = "3AUAgLYDJ73dDIwy4ixTgQn9l1mZ+Ek7KfoPuJ61aQNS1A7r5JvQw4TdnAO3Lw0dTQ6Pdo7aOutz/zzpsHXyvA==";
+      url = "https://registry.npmjs.org/@microsoft/rush/-/rush-5.100.2.tgz";
+      sha512 = "tASyUwsXoClXZM/CXD1OlBJO08OIDKL+NR+QQGCj1FJ49ELKqn6icpozIpuAEzTSxvRZwCNnCTMgbiTg48mqOw==";
     };
     dependencies = [
       (sources."@azure/abort-controller-1.1.0" // {
         dependencies = [
-          sources."tslib-2.6.0"
+          sources."tslib-2.6.1"
         ];
       })
       (sources."@azure/core-auth-1.4.0" // {
         dependencies = [
-          sources."tslib-2.6.0"
+          sources."tslib-2.6.1"
         ];
       })
       (sources."@azure/core-client-1.7.3" // {
         dependencies = [
-          sources."tslib-2.6.0"
+          sources."tslib-2.6.1"
         ];
       })
       (sources."@azure/core-http-2.3.2" // {
         dependencies = [
           sources."@azure/core-tracing-1.0.0-preview.13"
           sources."form-data-4.0.0"
-          sources."tslib-2.6.0"
+          sources."tslib-2.6.1"
         ];
       })
-      (sources."@azure/core-lro-2.5.3" // {
+      (sources."@azure/core-lro-2.5.4" // {
         dependencies = [
-          sources."tslib-2.6.0"
+          sources."tslib-2.6.1"
         ];
       })
       (sources."@azure/core-paging-1.5.0" // {
         dependencies = [
-          sources."tslib-2.6.0"
+          sources."tslib-2.6.1"
         ];
       })
       (sources."@azure/core-rest-pipeline-1.11.0" // {
         dependencies = [
           sources."form-data-4.0.0"
-          sources."tslib-2.6.0"
+          sources."tslib-2.6.1"
         ];
       })
       (sources."@azure/core-tracing-1.0.1" // {
         dependencies = [
-          sources."tslib-2.6.0"
+          sources."tslib-2.6.1"
         ];
       })
       (sources."@azure/core-util-1.3.2" // {
         dependencies = [
-          sources."tslib-2.6.0"
+          sources."tslib-2.6.1"
         ];
       })
       (sources."@azure/identity-2.1.0" // {
         dependencies = [
-          sources."tslib-2.6.0"
+          sources."tslib-2.6.1"
         ];
       })
       (sources."@azure/logger-1.0.4" // {
         dependencies = [
-          sources."tslib-2.6.0"
+          sources."tslib-2.6.1"
         ];
       })
       (sources."@azure/msal-browser-2.38.0" // {
@@ -87661,7 +86314,7 @@ in
       (sources."@azure/storage-blob-12.11.0" // {
         dependencies = [
           sources."@azure/core-tracing-1.0.0-preview.13"
-          sources."tslib-2.6.0"
+          sources."tslib-2.6.1"
         ];
       })
       sources."@babel/code-frame-7.22.5"
@@ -87695,17 +86348,13 @@ in
           sources."@jridgewell/sourcemap-codec-1.4.14"
         ];
       })
-      sources."@microsoft/rush-lib-5.100.1"
+      sources."@microsoft/rush-lib-5.100.2"
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
       sources."@opentelemetry/api-1.4.1"
       sources."@pnpm/crypto.base32-hash-2.0.0"
-      (sources."@pnpm/dependency-path-2.1.3" // {
-        dependencies = [
-          sources."semver-7.5.4"
-        ];
-      })
+      sources."@pnpm/dependency-path-2.1.3"
       sources."@pnpm/error-1.4.0"
       (sources."@pnpm/link-bins-5.3.25" // {
         dependencies = [
@@ -87735,25 +86384,29 @@ in
           sources."@pnpm/types-6.4.0"
         ];
       })
-      sources."@rushstack/heft-config-file-0.12.4"
-      (sources."@rushstack/node-core-library-3.59.3" // {
+      sources."@rushstack/heft-config-file-0.13.2"
+      (sources."@rushstack/node-core-library-3.59.6" // {
         dependencies = [
           sources."import-lazy-4.0.0"
         ];
       })
-      sources."@rushstack/package-deps-hash-4.0.30"
-      sources."@rushstack/package-extractor-0.2.17"
-      (sources."@rushstack/rig-package-0.3.20" // {
+      sources."@rushstack/package-deps-hash-4.0.41"
+      (sources."@rushstack/package-extractor-0.3.11" // {
+        dependencies = [
+          sources."minimatch-3.0.8"
+        ];
+      })
+      (sources."@rushstack/rig-package-0.4.0" // {
         dependencies = [
           sources."strip-json-comments-3.1.1"
         ];
       })
-      sources."@rushstack/rush-amazon-s3-build-cache-plugin-5.100.1"
-      sources."@rushstack/rush-azure-storage-build-cache-plugin-5.100.1"
-      sources."@rushstack/rush-sdk-5.100.1"
-      sources."@rushstack/stream-collator-4.0.248"
-      sources."@rushstack/terminal-0.5.23"
-      (sources."@rushstack/ts-command-line-4.15.0" // {
+      sources."@rushstack/rush-amazon-s3-build-cache-plugin-5.100.2"
+      sources."@rushstack/rush-azure-storage-build-cache-plugin-5.100.2"
+      sources."@rushstack/rush-sdk-5.100.2"
+      sources."@rushstack/stream-collator-4.0.259"
+      sources."@rushstack/terminal-0.5.34"
+      (sources."@rushstack/ts-command-line-4.15.1" // {
         dependencies = [
           sources."argparse-1.0.10"
         ];
@@ -87762,10 +86415,10 @@ in
       sources."@szmarczak/http-timer-1.1.2"
       sources."@tootallnate/once-2.0.0"
       sources."@types/argparse-1.0.38"
-      sources."@types/lodash-4.14.195"
+      sources."@types/lodash-4.14.196"
       sources."@types/minimatch-3.0.5"
       sources."@types/minimist-1.2.2"
-      sources."@types/node-20.4.2"
+      sources."@types/node-20.4.5"
       sources."@types/node-fetch-2.6.2"
       sources."@types/normalize-package-data-2.4.1"
       sources."@types/parse-json-4.0.0"
@@ -87925,7 +86578,7 @@ in
       sources."execa-5.1.1"
       sources."external-editor-3.1.0"
       sources."fast-deep-equal-3.1.3"
-      sources."fast-glob-3.3.0"
+      sources."fast-glob-3.3.1"
       sources."fastq-1.15.0"
       sources."figures-3.0.0"
       sources."fill-range-7.0.1"
@@ -88097,7 +86750,7 @@ in
       sources."loose-envify-1.4.0"
       sources."lowercase-keys-1.0.1"
       sources."lru-cache-6.0.0"
-      sources."magic-string-0.30.1"
+      sources."magic-string-0.30.2"
       (sources."make-dir-3.1.0" // {
         dependencies = [
           sources."semver-6.3.1"
@@ -88219,7 +86872,7 @@ in
         ];
       })
       sources."please-upgrade-node-3.2.0"
-      sources."postcss-8.4.26"
+      sources."postcss-8.4.27"
       (sources."preferred-pm-3.0.3" // {
         dependencies = [
           sources."find-up-5.0.0"
@@ -88293,10 +86946,10 @@ in
       sources."rxjs-6.6.7"
       sources."safe-buffer-5.2.1"
       sources."safer-buffer-2.1.2"
-      sources."sass-1.64.0"
+      sources."sass-1.64.2"
       sources."sax-1.2.4"
       sources."scss-parser-1.0.6"
-      sources."semver-7.3.8"
+      sources."semver-7.5.4"
       sources."semver-compare-1.0.0"
       (sources."semver-diff-3.1.1" // {
         dependencies = [
@@ -88530,10 +87183,10 @@ in
   "@shopify/cli" = nodeEnv.buildNodePackage {
     name = "_at_shopify_slash_cli";
     packageName = "@shopify/cli";
-    version = "3.47.5";
+    version = "3.48.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@shopify/cli/-/cli-3.47.5.tgz";
-      sha512 = "4RPUJ9EXVfGauoYgTzgKoRn0ESkidAAPXeARsHTjCA4YwPf1R3Yww3pWVshmiB962l4R3Rd5ePr/DHU91VLsNQ==";
+      url = "https://registry.npmjs.org/@shopify/cli/-/cli-3.48.0.tgz";
+      sha512 = "0YTvLfECeAoVAx73/EcdTadgbm1vnyebuVB4qgYhPHUnG/Z+FlXOO4Y7jPP6ifALzF2BLn/A01atVh4yYFnNzQ==";
     };
     dependencies = [
       sources."@bugsnag/browser-7.20.2"
@@ -88553,10 +87206,10 @@ in
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
-      sources."@oclif/color-1.0.9"
-      sources."@oclif/core-2.8.5"
-      sources."@oclif/plugin-commands-2.2.15"
-      sources."@oclif/plugin-help-5.2.9"
+      sources."@oclif/color-1.0.10"
+      sources."@oclif/core-2.8.11"
+      sources."@oclif/plugin-commands-2.2.17"
+      sources."@oclif/plugin-help-5.2.11"
       sources."@oclif/plugin-plugins-2.4.7"
       sources."@pnpm/config.env-replace-1.1.0"
       (sources."@pnpm/network.ca-file-1.0.2" // {
@@ -88565,37 +87218,37 @@ in
         ];
       })
       sources."@pnpm/npm-conf-2.2.2"
-      (sources."@shopify/cli-kit-3.47.5" // {
+      (sources."@shopify/cli-kit-3.48.0" // {
         dependencies = [
           sources."ansi-escapes-6.2.0"
           sources."ansi-regex-6.0.1"
           sources."argparse-2.0.1"
-          sources."chalk-5.2.0"
-          sources."fast-glob-3.2.12"
+          sources."chalk-5.3.0"
+          sources."fast-glob-3.3.0"
           sources."fs-extra-11.1.0"
           sources."js-yaml-4.1.0"
-          sources."semver-7.5.1"
+          sources."semver-7.5.3"
           sources."strip-ansi-7.1.0"
           sources."supports-color-7.2.0"
           sources."supports-hyperlinks-3.0.0"
           sources."type-fest-3.13.1"
         ];
       })
-      sources."@shopify/plugin-did-you-mean-3.47.5"
-      sources."@sindresorhus/is-5.5.2"
-      sources."@swc/core-1.3.70"
-      sources."@swc/core-darwin-arm64-1.3.70"
-      sources."@swc/core-darwin-x64-1.3.70"
-      sources."@swc/core-linux-arm-gnueabihf-1.3.70"
-      sources."@swc/core-linux-arm64-gnu-1.3.70"
-      sources."@swc/core-linux-arm64-musl-1.3.70"
-      sources."@swc/core-linux-x64-gnu-1.3.70"
-      sources."@swc/core-linux-x64-musl-1.3.70"
-      sources."@swc/core-win32-arm64-msvc-1.3.70"
-      sources."@swc/core-win32-ia32-msvc-1.3.70"
-      sources."@swc/core-win32-x64-msvc-1.3.70"
+      sources."@shopify/plugin-did-you-mean-3.48.0"
+      sources."@sindresorhus/is-5.6.0"
+      sources."@swc/core-1.3.73"
+      sources."@swc/core-darwin-arm64-1.3.73"
+      sources."@swc/core-darwin-x64-1.3.73"
+      sources."@swc/core-linux-arm-gnueabihf-1.3.73"
+      sources."@swc/core-linux-arm64-gnu-1.3.73"
+      sources."@swc/core-linux-arm64-musl-1.3.73"
+      sources."@swc/core-linux-x64-gnu-1.3.73"
+      sources."@swc/core-linux-x64-musl-1.3.73"
+      sources."@swc/core-win32-arm64-msvc-1.3.73"
+      sources."@swc/core-win32-ia32-msvc-1.3.73"
+      sources."@swc/core-win32-x64-msvc-1.3.73"
       sources."@swc/helpers-0.5.1"
-      sources."@swc/wasm-1.3.70"
+      sources."@swc/wasm-1.3.73"
       sources."@szmarczak/http-timer-5.0.1"
       sources."@tsconfig/node10-1.0.9"
       sources."@tsconfig/node12-1.0.11"
@@ -88604,9 +87257,9 @@ in
       sources."@types/archiver-5.3.2"
       sources."@types/cli-progress-3.11.0"
       sources."@types/http-cache-semantics-4.0.1"
-      sources."@types/node-20.4.2"
+      sources."@types/node-20.4.5"
       sources."@types/prop-types-15.7.5"
-      sources."@types/react-18.2.15"
+      sources."@types/react-18.2.18"
       sources."@types/readdir-glob-1.1.1"
       sources."@types/scheduler-0.16.3"
       sources."@types/tinycolor2-1.4.3"
@@ -88638,7 +87291,7 @@ in
       sources."async-3.2.4"
       sources."asynckit-0.4.0"
       sources."at-least-node-1.0.0"
-      sources."atomically-2.0.1"
+      sources."atomically-2.0.2"
       sources."auto-bind-5.0.1"
       sources."balanced-match-1.0.2"
       sources."base64-js-1.5.1"
@@ -88651,7 +87304,7 @@ in
       sources."bufferutil-4.0.7"
       sources."byline-5.0.0"
       sources."cacheable-lookup-7.0.0"
-      sources."cacheable-request-10.2.12"
+      sources."cacheable-request-10.2.13"
       sources."camel-case-4.1.2"
       sources."capital-case-1.0.4"
       sources."cardinal-2.1.1"
@@ -88700,11 +87353,7 @@ in
           sources."node-fetch-2.6.12"
         ];
       })
-      (sources."cross-spawn-6.0.5" // {
-        dependencies = [
-          sources."semver-5.7.2"
-        ];
-      })
+      sources."cross-spawn-7.0.3"
       sources."cross-zip-4.0.0"
       (sources."crypto-random-string-4.0.0" // {
         dependencies = [
@@ -88724,7 +87373,7 @@ in
       sources."deepmerge-4.3.1"
       sources."defer-to-connect-2.0.1"
       sources."define-lazy-prop-2.0.0"
-      sources."del-6.0.0"
+      sources."del-6.1.1"
       sources."delayed-stream-1.0.0"
       sources."diff-4.0.2"
       sources."dir-glob-3.0.1"
@@ -88748,22 +87397,14 @@ in
       sources."event-target-shim-5.0.1"
       (sources."execa-6.0.0" // {
         dependencies = [
-          sources."cross-spawn-7.0.3"
           sources."is-stream-3.0.0"
-          (sources."npm-run-path-5.1.0" // {
-            dependencies = [
-              sources."path-key-4.0.0"
-            ];
-          })
-          sources."path-key-3.1.1"
-          sources."shebang-command-2.0.0"
-          sources."shebang-regex-3.0.0"
-          sources."which-2.0.2"
+          sources."npm-run-path-5.1.0"
+          sources."path-key-4.0.0"
         ];
       })
       sources."extract-files-9.0.0"
       sources."fast-deep-equal-3.1.3"
-      sources."fast-glob-3.3.0"
+      sources."fast-glob-3.3.1"
       sources."fastq-1.15.0"
       sources."fetch-blob-3.2.0"
       (sources."figures-5.0.0" // {
@@ -88893,7 +87534,7 @@ in
           sources."safe-buffer-5.1.2"
         ];
       })
-      (sources."liquidjs-10.7.1" // {
+      (sources."liquidjs-10.8.3" // {
         dependencies = [
           sources."commander-10.0.1"
         ];
@@ -88934,7 +87575,6 @@ in
       sources."ms-2.1.2"
       sources."n-gram-2.0.2"
       sources."natural-orderby-2.0.3"
-      sources."nice-try-1.0.5"
       sources."no-case-3.0.4"
       sources."node-abort-controller-3.1.1"
       sources."node-domexception-1.0.0"
@@ -88942,11 +87582,7 @@ in
       sources."node-gyp-build-4.6.0"
       sources."normalize-path-3.0.0"
       sources."normalize-url-8.0.0"
-      (sources."npm-run-path-4.0.1" // {
-        dependencies = [
-          sources."path-key-3.1.1"
-        ];
-      })
+      sources."npm-run-path-4.0.1"
       sources."object-treeify-1.1.33"
       sources."once-1.4.0"
       sources."onetime-6.0.0"
@@ -88960,19 +87596,15 @@ in
       sources."param-case-3.0.4"
       sources."parse-json-4.0.0"
       sources."pascal-case-3.1.2"
-      (sources."password-prompt-1.1.2" // {
-        dependencies = [
-          sources."ansi-escapes-3.2.0"
-        ];
-      })
+      sources."password-prompt-1.1.3"
       sources."patch-console-2.0.0"
       sources."path-case-3.0.4"
       sources."path-exists-5.0.0"
       sources."path-is-absolute-1.0.1"
-      sources."path-key-2.0.1"
+      sources."path-key-3.1.1"
       sources."path-parse-1.0.7"
       sources."path-type-4.0.0"
-      sources."pathe-1.1.0"
+      sources."pathe-1.1.1"
       sources."picomatch-2.3.1"
       (sources."pid-from-port-1.1.3" // {
         dependencies = [
@@ -88982,6 +87614,10 @@ in
           sources."is-stream-1.1.0"
           sources."lru-cache-4.1.5"
           sources."npm-run-path-2.0.2"
+          sources."path-key-2.0.1"
+          sources."shebang-command-1.2.0"
+          sources."shebang-regex-1.0.0"
+          sources."which-1.3.1"
           sources."yallist-2.1.2"
         ];
       })
@@ -89032,13 +87668,13 @@ in
       sources."semver-7.5.4"
       sources."semver-regex-4.0.5"
       sources."sentence-case-3.0.4"
-      sources."shebang-command-1.2.0"
-      sources."shebang-regex-1.0.0"
+      sources."shebang-command-2.0.0"
+      sources."shebang-regex-3.0.0"
       sources."shell-quote-1.8.1"
       sources."shelljs-0.8.5"
       sources."shelljs.exec-1.1.8"
       sources."signal-exit-3.0.7"
-      sources."simple-git-3.19.0"
+      sources."simple-git-3.19.1"
       sources."slash-3.0.0"
       (sources."slice-ansi-6.0.0" // {
         dependencies = [
@@ -89069,7 +87705,7 @@ in
       sources."strip-eof-1.0.0"
       sources."strip-final-newline-3.0.0"
       sources."strip-json-comments-2.0.1"
-      sources."stubborn-fs-1.2.4"
+      sources."stubborn-fs-1.2.5"
       sources."supports-color-8.1.1"
       (sources."supports-hyperlinks-2.3.0" // {
         dependencies = [
@@ -89099,7 +87735,7 @@ in
       sources."tree-kill-1.2.2"
       sources."ts-error-1.0.6"
       sources."ts-node-10.9.1"
-      sources."tslib-2.6.0"
+      sources."tslib-2.6.1"
       sources."tunnel-agent-0.6.0"
       sources."type-fest-0.21.3"
       sources."typescript-5.1.6"
@@ -89115,7 +87751,7 @@ in
       sources."webidl-conversions-3.0.1"
       sources."whatwg-url-5.0.0"
       sources."when-exit-2.1.0"
-      sources."which-1.3.1"
+      sources."which-2.0.2"
       sources."widest-line-3.1.0"
       sources."wordwrap-1.0.0"
       sources."wrap-ansi-7.0.0"
@@ -89128,7 +87764,7 @@ in
       sources."yoga-wasm-web-0.3.3"
       sources."zip-stream-4.1.0"
       sources."zod-3.21.4"
-      sources."zod-to-json-schema-3.21.1"
+      sources."zod-to-json-schema-3.21.3"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -89215,24 +87851,24 @@ in
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
-      sources."@swc/core-1.3.70"
-      sources."@swc/core-darwin-arm64-1.3.70"
-      sources."@swc/core-darwin-x64-1.3.70"
-      sources."@swc/core-linux-arm-gnueabihf-1.3.70"
-      sources."@swc/core-linux-arm64-gnu-1.3.70"
-      sources."@swc/core-linux-arm64-musl-1.3.70"
-      sources."@swc/core-linux-x64-gnu-1.3.70"
-      sources."@swc/core-linux-x64-musl-1.3.70"
-      sources."@swc/core-win32-arm64-msvc-1.3.70"
-      sources."@swc/core-win32-ia32-msvc-1.3.70"
-      sources."@swc/core-win32-x64-msvc-1.3.70"
+      sources."@swc/core-1.3.73"
+      sources."@swc/core-darwin-arm64-1.3.73"
+      sources."@swc/core-darwin-x64-1.3.73"
+      sources."@swc/core-linux-arm-gnueabihf-1.3.73"
+      sources."@swc/core-linux-arm64-gnu-1.3.73"
+      sources."@swc/core-linux-arm64-musl-1.3.73"
+      sources."@swc/core-linux-x64-gnu-1.3.73"
+      sources."@swc/core-linux-x64-musl-1.3.73"
+      sources."@swc/core-win32-arm64-msvc-1.3.73"
+      sources."@swc/core-win32-ia32-msvc-1.3.73"
+      sources."@swc/core-win32-x64-msvc-1.3.73"
       sources."@swc/helpers-0.5.1"
-      sources."@swc/wasm-1.3.70"
+      sources."@swc/wasm-1.3.73"
       sources."@tsconfig/node10-1.0.9"
       sources."@tsconfig/node12-1.0.11"
       sources."@tsconfig/node14-1.0.3"
       sources."@tsconfig/node16-1.0.4"
-      sources."@types/node-20.4.2"
+      sources."@types/node-20.4.5"
       sources."acorn-8.10.0"
       sources."acorn-walk-8.2.0"
       sources."any-promise-1.3.0"
@@ -89255,7 +87891,7 @@ in
       sources."didyoumean-1.2.2"
       sources."diff-4.0.2"
       sources."dlv-1.1.3"
-      (sources."fast-glob-3.3.0" // {
+      (sources."fast-glob-3.3.1" // {
         dependencies = [
           sources."glob-parent-5.1.2"
         ];
@@ -89294,7 +87930,7 @@ in
       sources."picomatch-2.3.1"
       sources."pify-2.3.0"
       sources."pirates-4.0.6"
-      sources."postcss-8.4.26"
+      sources."postcss-8.4.27"
       sources."postcss-import-15.1.0"
       sources."postcss-js-4.0.1"
       sources."postcss-load-config-4.0.1"
@@ -89320,7 +87956,7 @@ in
           sources."arg-4.1.3"
         ];
       })
-      sources."tslib-2.6.0"
+      sources."tslib-2.6.1"
       sources."typescript-5.1.6"
       sources."util-deprecate-1.0.2"
       sources."v8-compile-cache-lib-3.0.1"
@@ -89357,24 +87993,24 @@ in
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
-      sources."@swc/core-1.3.70"
-      sources."@swc/core-darwin-arm64-1.3.70"
-      sources."@swc/core-darwin-x64-1.3.70"
-      sources."@swc/core-linux-arm-gnueabihf-1.3.70"
-      sources."@swc/core-linux-arm64-gnu-1.3.70"
-      sources."@swc/core-linux-arm64-musl-1.3.70"
-      sources."@swc/core-linux-x64-gnu-1.3.70"
-      sources."@swc/core-linux-x64-musl-1.3.70"
-      sources."@swc/core-win32-arm64-msvc-1.3.70"
-      sources."@swc/core-win32-ia32-msvc-1.3.70"
-      sources."@swc/core-win32-x64-msvc-1.3.70"
+      sources."@swc/core-1.3.73"
+      sources."@swc/core-darwin-arm64-1.3.73"
+      sources."@swc/core-darwin-x64-1.3.73"
+      sources."@swc/core-linux-arm-gnueabihf-1.3.73"
+      sources."@swc/core-linux-arm64-gnu-1.3.73"
+      sources."@swc/core-linux-arm64-musl-1.3.73"
+      sources."@swc/core-linux-x64-gnu-1.3.73"
+      sources."@swc/core-linux-x64-musl-1.3.73"
+      sources."@swc/core-win32-arm64-msvc-1.3.73"
+      sources."@swc/core-win32-ia32-msvc-1.3.73"
+      sources."@swc/core-win32-x64-msvc-1.3.73"
       sources."@swc/helpers-0.5.1"
-      sources."@swc/wasm-1.3.70"
+      sources."@swc/wasm-1.3.73"
       sources."@tsconfig/node10-1.0.9"
       sources."@tsconfig/node12-1.0.11"
       sources."@tsconfig/node14-1.0.3"
       sources."@tsconfig/node16-1.0.4"
-      sources."@types/node-20.4.2"
+      sources."@types/node-20.4.5"
       sources."acorn-8.10.0"
       sources."acorn-walk-8.2.0"
       sources."any-promise-1.3.0"
@@ -89397,7 +88033,7 @@ in
       sources."didyoumean-1.2.2"
       sources."diff-4.0.2"
       sources."dlv-1.1.3"
-      (sources."fast-glob-3.3.0" // {
+      (sources."fast-glob-3.3.1" // {
         dependencies = [
           sources."glob-parent-5.1.2"
         ];
@@ -89437,7 +88073,7 @@ in
       sources."picomatch-2.3.1"
       sources."pify-2.3.0"
       sources."pirates-4.0.6"
-      sources."postcss-8.4.26"
+      sources."postcss-8.4.27"
       sources."postcss-import-15.1.0"
       sources."postcss-js-4.0.1"
       sources."postcss-load-config-4.0.1"
@@ -89463,7 +88099,7 @@ in
           sources."arg-4.1.3"
         ];
       })
-      sources."tslib-2.6.0"
+      sources."tslib-2.6.1"
       sources."typescript-5.1.6"
       sources."util-deprecate-1.0.2"
       sources."v8-compile-cache-lib-3.0.1"
@@ -89518,24 +88154,24 @@ in
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
-      sources."@swc/core-1.3.70"
-      sources."@swc/core-darwin-arm64-1.3.70"
-      sources."@swc/core-darwin-x64-1.3.70"
-      sources."@swc/core-linux-arm-gnueabihf-1.3.70"
-      sources."@swc/core-linux-arm64-gnu-1.3.70"
-      sources."@swc/core-linux-arm64-musl-1.3.70"
-      sources."@swc/core-linux-x64-gnu-1.3.70"
-      sources."@swc/core-linux-x64-musl-1.3.70"
-      sources."@swc/core-win32-arm64-msvc-1.3.70"
-      sources."@swc/core-win32-ia32-msvc-1.3.70"
-      sources."@swc/core-win32-x64-msvc-1.3.70"
+      sources."@swc/core-1.3.73"
+      sources."@swc/core-darwin-arm64-1.3.73"
+      sources."@swc/core-darwin-x64-1.3.73"
+      sources."@swc/core-linux-arm-gnueabihf-1.3.73"
+      sources."@swc/core-linux-arm64-gnu-1.3.73"
+      sources."@swc/core-linux-arm64-musl-1.3.73"
+      sources."@swc/core-linux-x64-gnu-1.3.73"
+      sources."@swc/core-linux-x64-musl-1.3.73"
+      sources."@swc/core-win32-arm64-msvc-1.3.73"
+      sources."@swc/core-win32-ia32-msvc-1.3.73"
+      sources."@swc/core-win32-x64-msvc-1.3.73"
       sources."@swc/helpers-0.5.1"
-      sources."@swc/wasm-1.3.70"
+      sources."@swc/wasm-1.3.73"
       sources."@tsconfig/node10-1.0.9"
       sources."@tsconfig/node12-1.0.11"
       sources."@tsconfig/node14-1.0.3"
       sources."@tsconfig/node16-1.0.4"
-      sources."@types/node-20.4.2"
+      sources."@types/node-20.4.5"
       sources."acorn-8.10.0"
       sources."acorn-walk-8.2.0"
       sources."any-promise-1.3.0"
@@ -89558,7 +88194,7 @@ in
       sources."didyoumean-1.2.2"
       sources."diff-4.0.2"
       sources."dlv-1.1.3"
-      (sources."fast-glob-3.3.0" // {
+      (sources."fast-glob-3.3.1" // {
         dependencies = [
           sources."glob-parent-5.1.2"
         ];
@@ -89597,7 +88233,7 @@ in
       sources."picomatch-2.3.1"
       sources."pify-2.3.0"
       sources."pirates-4.0.6"
-      sources."postcss-8.4.26"
+      sources."postcss-8.4.27"
       sources."postcss-import-15.1.0"
       sources."postcss-js-4.0.1"
       sources."postcss-load-config-4.0.1"
@@ -89623,7 +88259,7 @@ in
           sources."arg-4.1.3"
         ];
       })
-      sources."tslib-2.6.0"
+      sources."tslib-2.6.1"
       sources."typescript-5.1.6"
       sources."util-deprecate-1.0.2"
       sources."v8-compile-cache-lib-3.0.1"
@@ -89660,24 +88296,24 @@ in
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
-      sources."@swc/core-1.3.70"
-      sources."@swc/core-darwin-arm64-1.3.70"
-      sources."@swc/core-darwin-x64-1.3.70"
-      sources."@swc/core-linux-arm-gnueabihf-1.3.70"
-      sources."@swc/core-linux-arm64-gnu-1.3.70"
-      sources."@swc/core-linux-arm64-musl-1.3.70"
-      sources."@swc/core-linux-x64-gnu-1.3.70"
-      sources."@swc/core-linux-x64-musl-1.3.70"
-      sources."@swc/core-win32-arm64-msvc-1.3.70"
-      sources."@swc/core-win32-ia32-msvc-1.3.70"
-      sources."@swc/core-win32-x64-msvc-1.3.70"
+      sources."@swc/core-1.3.73"
+      sources."@swc/core-darwin-arm64-1.3.73"
+      sources."@swc/core-darwin-x64-1.3.73"
+      sources."@swc/core-linux-arm-gnueabihf-1.3.73"
+      sources."@swc/core-linux-arm64-gnu-1.3.73"
+      sources."@swc/core-linux-arm64-musl-1.3.73"
+      sources."@swc/core-linux-x64-gnu-1.3.73"
+      sources."@swc/core-linux-x64-musl-1.3.73"
+      sources."@swc/core-win32-arm64-msvc-1.3.73"
+      sources."@swc/core-win32-ia32-msvc-1.3.73"
+      sources."@swc/core-win32-x64-msvc-1.3.73"
       sources."@swc/helpers-0.5.1"
-      sources."@swc/wasm-1.3.70"
+      sources."@swc/wasm-1.3.73"
       sources."@tsconfig/node10-1.0.9"
       sources."@tsconfig/node12-1.0.11"
       sources."@tsconfig/node14-1.0.3"
       sources."@tsconfig/node16-1.0.4"
-      sources."@types/node-20.4.2"
+      sources."@types/node-20.4.5"
       sources."acorn-8.10.0"
       sources."acorn-walk-8.2.0"
       sources."any-promise-1.3.0"
@@ -89700,7 +88336,7 @@ in
       sources."didyoumean-1.2.2"
       sources."diff-4.0.2"
       sources."dlv-1.1.3"
-      (sources."fast-glob-3.3.0" // {
+      (sources."fast-glob-3.3.1" // {
         dependencies = [
           sources."glob-parent-5.1.2"
         ];
@@ -89742,7 +88378,7 @@ in
       sources."picomatch-2.3.1"
       sources."pify-2.3.0"
       sources."pirates-4.0.6"
-      sources."postcss-8.4.26"
+      sources."postcss-8.4.27"
       sources."postcss-import-15.1.0"
       sources."postcss-js-4.0.1"
       sources."postcss-load-config-4.0.1"
@@ -89776,7 +88412,7 @@ in
           sources."arg-4.1.3"
         ];
       })
-      sources."tslib-2.6.0"
+      sources."tslib-2.6.1"
       sources."typescript-5.1.6"
       sources."util-deprecate-1.0.2"
       sources."v8-compile-cache-lib-3.0.1"
@@ -89843,49 +88479,58 @@ in
           sources."tslib-1.14.1"
         ];
       })
-      sources."@aws-sdk/client-s3-3.373.0"
-      sources."@aws-sdk/client-sso-3.370.0"
-      sources."@aws-sdk/client-sso-oidc-3.370.0"
-      sources."@aws-sdk/client-sts-3.370.0"
-      sources."@aws-sdk/credential-provider-env-3.370.0"
-      sources."@aws-sdk/credential-provider-ini-3.370.0"
-      sources."@aws-sdk/credential-provider-node-3.370.0"
-      sources."@aws-sdk/credential-provider-process-3.370.0"
-      sources."@aws-sdk/credential-provider-sso-3.370.0"
-      sources."@aws-sdk/credential-provider-web-identity-3.370.0"
-      sources."@aws-sdk/hash-stream-node-3.370.0"
-      sources."@aws-sdk/is-array-buffer-3.310.0"
-      (sources."@aws-sdk/lib-storage-3.373.0" // {
+      sources."@aws-sdk/client-s3-3.382.0"
+      sources."@aws-sdk/client-sso-3.382.0"
+      sources."@aws-sdk/client-sso-oidc-3.382.0"
+      sources."@aws-sdk/client-sts-3.382.0"
+      sources."@aws-sdk/credential-provider-env-3.378.0"
+      sources."@aws-sdk/credential-provider-ini-3.382.0"
+      sources."@aws-sdk/credential-provider-node-3.382.0"
+      sources."@aws-sdk/credential-provider-process-3.378.0"
+      sources."@aws-sdk/credential-provider-sso-3.382.0"
+      sources."@aws-sdk/credential-provider-web-identity-3.378.0"
+      (sources."@aws-sdk/lib-storage-3.379.1" // {
         dependencies = [
           sources."buffer-5.6.0"
         ];
       })
-      sources."@aws-sdk/middleware-bucket-endpoint-3.370.0"
-      sources."@aws-sdk/middleware-expect-continue-3.370.0"
-      sources."@aws-sdk/middleware-flexible-checksums-3.370.0"
-      sources."@aws-sdk/middleware-host-header-3.370.0"
-      sources."@aws-sdk/middleware-location-constraint-3.370.0"
-      sources."@aws-sdk/middleware-logger-3.370.0"
-      sources."@aws-sdk/middleware-recursion-detection-3.370.0"
-      sources."@aws-sdk/middleware-sdk-s3-3.370.0"
-      sources."@aws-sdk/middleware-sdk-sts-3.370.0"
-      sources."@aws-sdk/middleware-signing-3.370.0"
-      sources."@aws-sdk/middleware-ssec-3.370.0"
-      sources."@aws-sdk/middleware-user-agent-3.370.0"
-      sources."@aws-sdk/s3-presigned-post-3.373.0"
-      sources."@aws-sdk/s3-request-presigner-3.373.0"
-      sources."@aws-sdk/signature-v4-crt-3.370.0"
-      sources."@aws-sdk/signature-v4-multi-region-3.370.0"
-      sources."@aws-sdk/token-providers-3.370.0"
-      sources."@aws-sdk/types-3.370.0"
+      sources."@aws-sdk/middleware-bucket-endpoint-3.378.0"
+      sources."@aws-sdk/middleware-expect-continue-3.378.0"
+      sources."@aws-sdk/middleware-flexible-checksums-3.378.0"
+      sources."@aws-sdk/middleware-host-header-3.379.1"
+      sources."@aws-sdk/middleware-location-constraint-3.379.1"
+      sources."@aws-sdk/middleware-logger-3.378.0"
+      sources."@aws-sdk/middleware-recursion-detection-3.378.0"
+      sources."@aws-sdk/middleware-sdk-s3-3.379.1"
+      sources."@aws-sdk/middleware-sdk-sts-3.379.1"
+      sources."@aws-sdk/middleware-signing-3.379.1"
+      sources."@aws-sdk/middleware-ssec-3.378.0"
+      sources."@aws-sdk/middleware-user-agent-3.382.0"
+      (sources."@aws-sdk/s3-presigned-post-3.379.1" // {
+        dependencies = [
+          sources."@aws-sdk/client-s3-3.379.1"
+          sources."@aws-sdk/client-sso-3.379.1"
+          sources."@aws-sdk/client-sso-oidc-3.379.1"
+          sources."@aws-sdk/client-sts-3.379.1"
+          sources."@aws-sdk/credential-provider-ini-3.379.1"
+          sources."@aws-sdk/credential-provider-node-3.379.1"
+          sources."@aws-sdk/credential-provider-sso-3.379.1"
+          sources."@aws-sdk/middleware-user-agent-3.379.1"
+          sources."@aws-sdk/token-providers-3.379.1"
+          sources."@aws-sdk/util-endpoints-3.378.0"
+        ];
+      })
+      sources."@aws-sdk/s3-request-presigner-3.379.1"
+      sources."@aws-sdk/signature-v4-crt-3.378.0"
+      sources."@aws-sdk/signature-v4-multi-region-3.378.0"
+      sources."@aws-sdk/token-providers-3.382.0"
+      sources."@aws-sdk/types-3.378.0"
       sources."@aws-sdk/util-arn-parser-3.310.0"
-      sources."@aws-sdk/util-buffer-from-3.310.0"
-      sources."@aws-sdk/util-endpoints-3.370.0"
-      sources."@aws-sdk/util-format-url-3.370.0"
+      sources."@aws-sdk/util-endpoints-3.382.0"
+      sources."@aws-sdk/util-format-url-3.378.0"
       sources."@aws-sdk/util-locate-window-3.310.0"
-      sources."@aws-sdk/util-user-agent-browser-3.370.0"
-      sources."@aws-sdk/util-user-agent-node-3.370.0"
-      sources."@aws-sdk/util-utf8-3.310.0"
+      sources."@aws-sdk/util-user-agent-browser-3.378.0"
+      sources."@aws-sdk/util-user-agent-node-3.378.0"
       sources."@aws-sdk/util-utf8-browser-3.259.0"
       sources."@aws-sdk/xml-builder-3.310.0"
       sources."@httptoolkit/websocket-stream-6.0.1"
@@ -89900,58 +88545,59 @@ in
       sources."@redis/search-1.0.6"
       sources."@redis/time-series-1.0.3"
       sources."@sindresorhus/is-4.6.0"
-      sources."@smithy/abort-controller-1.0.2"
-      sources."@smithy/chunked-blob-reader-1.0.2"
-      sources."@smithy/chunked-blob-reader-native-1.0.2"
-      sources."@smithy/config-resolver-1.0.2"
-      sources."@smithy/credential-provider-imds-1.0.2"
-      sources."@smithy/eventstream-codec-1.0.2"
-      sources."@smithy/eventstream-serde-browser-1.0.2"
-      sources."@smithy/eventstream-serde-config-resolver-1.0.2"
-      sources."@smithy/eventstream-serde-node-1.0.2"
-      sources."@smithy/eventstream-serde-universal-1.0.2"
-      sources."@smithy/fetch-http-handler-1.0.2"
-      sources."@smithy/hash-blob-browser-1.0.2"
-      sources."@smithy/hash-node-1.0.2"
-      sources."@smithy/invalid-dependency-1.0.2"
-      sources."@smithy/is-array-buffer-1.0.2"
-      sources."@smithy/md5-js-1.0.2"
-      sources."@smithy/middleware-content-length-1.0.2"
-      sources."@smithy/middleware-endpoint-1.0.3"
-      sources."@smithy/middleware-retry-1.0.4"
-      sources."@smithy/middleware-serde-1.0.2"
-      sources."@smithy/middleware-stack-1.0.2"
-      sources."@smithy/node-config-provider-1.0.2"
-      sources."@smithy/node-http-handler-1.0.3"
-      sources."@smithy/property-provider-1.0.2"
-      sources."@smithy/protocol-http-1.1.1"
-      sources."@smithy/querystring-builder-1.0.2"
-      sources."@smithy/querystring-parser-1.0.2"
-      sources."@smithy/service-error-classification-1.0.3"
-      sources."@smithy/shared-ini-file-loader-1.0.2"
-      sources."@smithy/signature-v4-1.0.2"
-      sources."@smithy/smithy-client-1.0.4"
-      sources."@smithy/types-1.1.1"
-      sources."@smithy/url-parser-1.0.2"
-      sources."@smithy/util-base64-1.0.2"
-      sources."@smithy/util-body-length-browser-1.0.2"
-      sources."@smithy/util-body-length-node-1.0.2"
-      sources."@smithy/util-buffer-from-1.0.2"
-      sources."@smithy/util-config-provider-1.0.2"
-      sources."@smithy/util-defaults-mode-browser-1.0.2"
-      sources."@smithy/util-defaults-mode-node-1.0.2"
-      sources."@smithy/util-hex-encoding-1.0.2"
-      sources."@smithy/util-middleware-1.0.2"
-      sources."@smithy/util-retry-1.0.4"
-      sources."@smithy/util-stream-1.0.2"
-      sources."@smithy/util-uri-escape-1.0.2"
-      sources."@smithy/util-utf8-1.0.2"
-      sources."@smithy/util-waiter-1.0.2"
+      sources."@smithy/abort-controller-2.0.1"
+      sources."@smithy/chunked-blob-reader-2.0.0"
+      sources."@smithy/chunked-blob-reader-native-2.0.0"
+      sources."@smithy/config-resolver-2.0.1"
+      sources."@smithy/credential-provider-imds-2.0.1"
+      sources."@smithy/eventstream-codec-2.0.1"
+      sources."@smithy/eventstream-serde-browser-2.0.1"
+      sources."@smithy/eventstream-serde-config-resolver-2.0.1"
+      sources."@smithy/eventstream-serde-node-2.0.1"
+      sources."@smithy/eventstream-serde-universal-2.0.1"
+      sources."@smithy/fetch-http-handler-2.0.1"
+      sources."@smithy/hash-blob-browser-2.0.1"
+      sources."@smithy/hash-node-2.0.1"
+      sources."@smithy/hash-stream-node-2.0.1"
+      sources."@smithy/invalid-dependency-2.0.1"
+      sources."@smithy/is-array-buffer-2.0.0"
+      sources."@smithy/md5-js-2.0.1"
+      sources."@smithy/middleware-content-length-2.0.1"
+      sources."@smithy/middleware-endpoint-2.0.1"
+      sources."@smithy/middleware-retry-2.0.1"
+      sources."@smithy/middleware-serde-2.0.1"
+      sources."@smithy/middleware-stack-2.0.0"
+      sources."@smithy/node-config-provider-2.0.1"
+      sources."@smithy/node-http-handler-2.0.1"
+      sources."@smithy/property-provider-2.0.1"
+      sources."@smithy/protocol-http-2.0.1"
+      sources."@smithy/querystring-builder-2.0.1"
+      sources."@smithy/querystring-parser-2.0.1"
+      sources."@smithy/service-error-classification-2.0.0"
+      sources."@smithy/shared-ini-file-loader-2.0.1"
+      sources."@smithy/signature-v4-2.0.1"
+      sources."@smithy/smithy-client-2.0.1"
+      sources."@smithy/types-2.0.2"
+      sources."@smithy/url-parser-2.0.1"
+      sources."@smithy/util-base64-2.0.0"
+      sources."@smithy/util-body-length-browser-2.0.0"
+      sources."@smithy/util-body-length-node-2.0.0"
+      sources."@smithy/util-buffer-from-2.0.0"
+      sources."@smithy/util-config-provider-2.0.0"
+      sources."@smithy/util-defaults-mode-browser-2.0.1"
+      sources."@smithy/util-defaults-mode-node-2.0.1"
+      sources."@smithy/util-hex-encoding-2.0.0"
+      sources."@smithy/util-middleware-2.0.0"
+      sources."@smithy/util-retry-2.0.0"
+      sources."@smithy/util-stream-2.0.1"
+      sources."@smithy/util-uri-escape-2.0.0"
+      sources."@smithy/util-utf8-2.0.0"
+      sources."@smithy/util-waiter-2.0.1"
       sources."@szmarczak/http-timer-4.0.6"
       sources."@types/cacheable-request-6.0.3"
       sources."@types/http-cache-semantics-4.0.1"
       sources."@types/keyv-3.1.4"
-      sources."@types/node-20.4.2"
+      sources."@types/node-20.4.5"
       sources."@types/responselike-1.0.0"
       sources."@types/ws-8.5.5"
       sources."accepts-1.3.8"
@@ -89963,7 +88609,7 @@ in
       sources."asn1.js-5.4.1"
       sources."asynckit-0.4.0"
       sources."atob-2.1.2"
-      sources."aws-crt-1.15.22"
+      sources."aws-crt-1.17.0"
       sources."axios-0.24.0"
       sources."balanced-match-1.0.2"
       sources."base64-js-1.5.1"
@@ -90356,7 +89002,7 @@ in
       sources."tdigest-0.1.2"
       sources."toidentifier-1.0.1"
       sources."traverse-0.3.9"
-      sources."tslib-2.6.0"
+      sources."tslib-2.6.1"
       sources."tus-js-client-3.1.0"
       sources."type-is-1.6.18"
       sources."typedarray-0.0.6"
@@ -90449,7 +89095,7 @@ in
       sources."call-bind-1.0.2"
       sources."character-parser-2.2.0"
       sources."de-indent-1.0.2"
-      sources."emmet-2.4.5"
+      sources."emmet-2.4.6"
       sources."estree-walker-2.0.2"
       sources."function-bind-1.1.1"
       sources."get-intrinsic-1.2.1"
@@ -90462,13 +89108,13 @@ in
       sources."is-regex-1.1.4"
       sources."jsonc-parser-3.2.0"
       sources."lru-cache-6.0.0"
-      sources."magic-string-0.30.1"
+      sources."magic-string-0.30.2"
       sources."minimatch-9.0.3"
       sources."muggle-string-0.2.2"
       sources."nanoid-3.3.6"
       sources."object-assign-4.1.1"
       sources."picocolors-1.0.0"
-      sources."postcss-8.4.26"
+      sources."postcss-8.4.27"
       sources."pug-error-2.0.0"
       sources."pug-lexer-5.0.1"
       sources."pug-parser-6.0.0"
@@ -90570,7 +89216,7 @@ in
           sources."semver-6.3.1"
         ];
       })
-      sources."@babel/helper-define-polyfill-provider-0.4.1"
+      sources."@babel/helper-define-polyfill-provider-0.4.2"
       sources."@babel/helper-environment-visitor-7.22.5"
       sources."@babel/helper-function-name-7.22.5"
       sources."@babel/helper-hoist-variables-7.22.5"
@@ -90684,7 +89330,7 @@ in
         ];
       })
       sources."@babel/preset-flow-7.22.5"
-      sources."@babel/preset-modules-0.1.5"
+      sources."@babel/preset-modules-0.1.6"
       sources."@babel/preset-typescript-7.22.5"
       (sources."@babel/register-7.22.5" // {
         dependencies = [
@@ -90722,7 +89368,6 @@ in
           sources."@jridgewell/sourcemap-codec-1.4.14"
         ];
       })
-      sources."@nicolo-ribaudo/semver-v6-6.3.3"
       sources."@node-ipc/js-queue-2.0.3"
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
@@ -90758,7 +89403,7 @@ in
       })
       sources."@types/long-4.0.2"
       sources."@types/mime-3.0.1"
-      sources."@types/node-20.4.2"
+      sources."@types/node-20.4.5"
       sources."@types/normalize-package-data-2.4.1"
       sources."@types/qs-6.9.7"
       sources."@types/range-parser-1.2.4"
@@ -90819,9 +89464,13 @@ in
       sources."at-least-node-1.0.0"
       sources."atob-2.1.2"
       sources."babel-core-7.0.0-bridge.0"
-      sources."babel-plugin-polyfill-corejs2-0.4.4"
-      sources."babel-plugin-polyfill-corejs3-0.8.2"
-      sources."babel-plugin-polyfill-regenerator-0.5.1"
+      (sources."babel-plugin-polyfill-corejs2-0.4.5" // {
+        dependencies = [
+          sources."semver-6.3.1"
+        ];
+      })
+      sources."babel-plugin-polyfill-corejs3-0.8.3"
+      sources."babel-plugin-polyfill-regenerator-0.5.2"
       sources."backo2-1.0.2"
       sources."balanced-match-1.0.2"
       (sources."base-0.11.2" // {
@@ -90844,7 +89493,7 @@ in
       })
       sources."brace-expansion-1.1.11"
       sources."braces-3.0.2"
-      sources."browserslist-4.21.9"
+      sources."browserslist-4.21.10"
       sources."buffer-5.7.1"
       sources."buffer-alloc-1.2.0"
       sources."buffer-alloc-unsafe-1.1.0"
@@ -90863,7 +89512,7 @@ in
       })
       sources."call-bind-1.0.2"
       sources."camelcase-6.3.0"
-      sources."caniuse-lite-1.0.30001517"
+      sources."caniuse-lite-1.0.30001518"
       sources."caw-2.0.1"
       sources."chalk-4.1.2"
       sources."chardet-0.7.0"
@@ -90912,7 +89561,7 @@ in
       sources."cookie-0.5.0"
       sources."cookie-signature-1.0.6"
       sources."copy-descriptor-0.1.1"
-      sources."core-js-compat-3.31.1"
+      sources."core-js-compat-3.32.0"
       sources."core-util-is-1.0.3"
       sources."cors-2.8.5"
       (sources."cross-spawn-6.0.5" // {
@@ -90973,7 +89622,7 @@ in
       sources."easy-stack-1.0.1"
       sources."ee-first-1.1.1"
       sources."ejs-3.1.9"
-      sources."electron-to-chromium-1.4.466"
+      sources."electron-to-chromium-1.4.480"
       sources."emoji-regex-8.0.0"
       sources."encodeurl-1.0.2"
       sources."encoding-0.1.13"
@@ -91037,7 +89686,7 @@ in
           sources."extend-shallow-2.0.1"
         ];
       })
-      sources."fast-glob-3.3.0"
+      sources."fast-glob-3.3.1"
       sources."fast-json-stable-stringify-2.1.0"
       sources."fastq-1.15.0"
       sources."fd-slicer-1.1.0"
@@ -91084,7 +89733,7 @@ in
           sources."which-2.0.2"
         ];
       })
-      sources."flow-parser-0.212.0"
+      sources."flow-parser-0.213.1"
       sources."for-in-1.0.2"
       sources."forwarded-0.2.0"
       sources."fragment-cache-0.2.1"
@@ -91366,7 +90015,7 @@ in
         ];
       })
       sources."posix-character-classes-0.1.1"
-      (sources."postcss-8.4.26" // {
+      (sources."postcss-8.4.27" // {
         dependencies = [
           sources."nanoid-3.3.6"
         ];
@@ -91576,7 +90225,7 @@ in
       sources."toidentifier-1.0.1"
       sources."tr46-0.0.3"
       sources."trim-repeated-1.0.0"
-      sources."tslib-2.6.0"
+      sources."tslib-2.6.1"
       sources."tunnel-agent-0.6.0"
       sources."type-fest-0.6.0"
       sources."type-is-1.6.18"
@@ -91895,7 +90544,7 @@ in
         ];
       })
       sources."@pnpm/npm-conf-2.2.2"
-      sources."@sindresorhus/is-5.5.2"
+      sources."@sindresorhus/is-5.6.0"
       sources."@szmarczak/http-timer-5.0.1"
       sources."@types/acorn-4.0.6"
       sources."@types/concat-stream-2.0.0"
@@ -91909,7 +90558,7 @@ in
       sources."@types/minimist-1.2.2"
       sources."@types/ms-0.7.31"
       sources."@types/nlcst-1.0.1"
-      sources."@types/node-18.16.19"
+      sources."@types/node-18.17.1"
       sources."@types/normalize-package-data-2.4.1"
       sources."@types/supports-color-8.1.1"
       sources."@types/unist-2.0.7"
@@ -91939,7 +90588,7 @@ in
       sources."bubble-stream-error-1.0.0"
       sources."buffer-from-1.1.2"
       sources."cacheable-lookup-7.0.0"
-      sources."cacheable-request-10.2.12"
+      sources."cacheable-request-10.2.13"
       sources."camelcase-7.0.1"
       (sources."camelcase-keys-8.0.2" // {
         dependencies = [
@@ -92075,7 +90724,7 @@ in
       sources."is-yarn-global-0.4.1"
       sources."isarray-0.0.1"
       sources."isexe-2.0.0"
-      sources."jackspeak-2.2.1"
+      sources."jackspeak-2.2.2"
       sources."js-tokens-4.0.0"
       sources."json-buffer-3.0.1"
       sources."json-parse-even-better-errors-2.3.1"
@@ -92256,7 +90905,7 @@ in
       sources."semver-diff-4.0.0"
       sources."shebang-command-2.0.0"
       sources."shebang-regex-3.0.0"
-      sources."signal-exit-4.0.2"
+      sources."signal-exit-4.1.0"
       sources."sliced-1.0.1"
       sources."space-separated-tokens-2.0.2"
       (sources."spawn-to-readstream-0.1.3" // {
@@ -92452,8 +91101,8 @@ in
       sources."async-3.2.4"
       sources."balanced-match-1.0.2"
       sources."brace-expansion-2.0.1"
-      sources."browserslist-4.21.9"
-      sources."caniuse-lite-1.0.30001517"
+      sources."browserslist-4.21.10"
+      sources."caniuse-lite-1.0.30001518"
       sources."chalk-2.4.2"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
@@ -92463,7 +91112,7 @@ in
       sources."convert-source-map-1.9.0"
       sources."debug-4.3.4"
       sources."ejs-3.1.6"
-      sources."electron-to-chromium-1.4.466"
+      sources."electron-to-chromium-1.4.480"
       sources."ensure-posix-path-1.1.1"
       sources."escalade-3.1.1"
       sources."escape-string-regexp-1.0.5"
@@ -92766,7 +91415,7 @@ in
     dependencies = [
       sources."@types/glob-7.2.0"
       sources."@types/minimatch-5.1.2"
-      sources."@types/node-20.4.2"
+      sources."@types/node-20.4.5"
       sources."balanced-match-1.0.2"
       sources."brace-expansion-1.1.11"
       sources."chromium-pickle-js-0.2.0"
@@ -92850,16 +91499,16 @@ in
       sha512 = "FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==";
     };
     dependencies = [
-      sources."browserslist-4.21.9"
-      sources."caniuse-lite-1.0.30001517"
-      sources."electron-to-chromium-1.4.466"
+      sources."browserslist-4.21.10"
+      sources."caniuse-lite-1.0.30001518"
+      sources."electron-to-chromium-1.4.480"
       sources."escalade-3.1.1"
       sources."fraction.js-4.2.0"
       sources."nanoid-3.3.6"
       sources."node-releases-2.0.13"
       sources."normalize-range-0.1.2"
       sources."picocolors-1.0.0"
-      sources."postcss-8.4.26"
+      sources."postcss-8.4.27"
       sources."postcss-value-parser-4.2.0"
       sources."source-map-js-1.0.2"
       sources."update-browserslist-db-1.0.11"
@@ -92922,7 +91571,7 @@ in
     };
     dependencies = [
       sources."@tootallnate/once-1.1.2"
-      sources."@types/node-20.4.2"
+      sources."@types/node-20.4.5"
       sources."@types/yauzl-2.10.0"
       sources."acorn-8.10.0"
       sources."acorn-walk-8.2.0"
@@ -92932,7 +91581,7 @@ in
       sources."ansi-styles-4.3.0"
       sources."ast-types-0.13.4"
       sources."available-typed-arrays-1.0.5"
-      (sources."aws-sdk-2.1418.0" // {
+      (sources."aws-sdk-2.1427.0" // {
         dependencies = [
           sources."uuid-8.0.0"
         ];
@@ -93114,7 +91763,7 @@ in
       sources."tmp-0.0.33"
       sources."toidentifier-1.0.1"
       sources."tr46-0.0.3"
-      sources."tslib-2.6.0"
+      sources."tslib-2.6.1"
       sources."type-check-0.3.2"
       sources."type-fest-0.21.3"
       (sources."unbzip2-stream-1.4.3" // {
@@ -93134,7 +91783,7 @@ in
       sources."webidl-conversions-3.0.1"
       sources."whatwg-url-5.0.0"
       sources."which-typed-array-1.1.11"
-      sources."word-wrap-1.2.4"
+      sources."word-wrap-1.2.5"
       sources."wrap-ansi-7.0.0"
       sources."wrappy-1.0.2"
       sources."ws-8.5.0"
@@ -93157,10 +91806,10 @@ in
   aws-cdk = nodeEnv.buildNodePackage {
     name = "aws-cdk";
     packageName = "aws-cdk";
-    version = "2.87.0";
+    version = "2.89.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/aws-cdk/-/aws-cdk-2.87.0.tgz";
-      sha512 = "dBm74nl3dMUxoAzgjcfKnzJyoVNIV//B1sqDN11cC3LXEflYapcBxPxZHAyGcRXg5dW3m14dMdKVQfmt4N970g==";
+      url = "https://registry.npmjs.org/aws-cdk/-/aws-cdk-2.89.0.tgz";
+      sha512 = "4FF/5jNd86x9iSk/xQB1KRFWkhMWd/Z7x7tOwztgZYDj6aYR/3Xru7pb2BD6s6Oli/eeQaXTG11+eY9zdrJIQA==";
     };
     dependencies = [
       sources."fsevents-2.3.2"
@@ -93278,7 +91927,7 @@ in
       sources."eslint-rule-docs-1.1.235"
       sources."execa-1.0.0"
       sources."extend-3.0.2"
-      sources."fast-glob-3.3.0"
+      sources."fast-glob-3.3.1"
       sources."fastq-1.15.0"
       sources."fill-range-7.0.1"
       sources."find-up-4.1.0"
@@ -93654,7 +92303,7 @@ in
       sources."@types/http-errors-2.0.1"
       sources."@types/long-4.0.2"
       sources."@types/mime-1.3.2"
-      sources."@types/node-20.4.2"
+      sources."@types/node-20.4.5"
       sources."@types/qs-6.9.7"
       sources."@types/range-parser-1.2.4"
       sources."@types/request-2.48.8"
@@ -93962,6 +92611,7 @@ in
         dependencies = [
           sources."@grpc/grpc-js-1.8.18"
           sources."@grpc/proto-loader-0.7.8"
+          sources."@types/node-20.4.2"
           sources."lightning-9.9.0"
           sources."type-fest-4.0.0"
         ];
@@ -94272,7 +92922,7 @@ in
       sources."tr46-0.0.3"
       sources."triple-beam-1.4.1"
       sources."truncate-utf8-bytes-1.0.2"
-      sources."tslib-2.6.0"
+      sources."tslib-2.6.1"
       sources."tweetnacl-1.0.3"
       sources."tweetnacl-util-0.15.1"
       sources."type-fest-3.12.0"
@@ -94386,24 +93036,6 @@ in
     bypassCache = true;
     reconstructLock = true;
   };
-  bibtex-tidy = nodeEnv.buildNodePackage {
-    name = "bibtex-tidy";
-    packageName = "bibtex-tidy";
-    version = "1.11.0";
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bibtex-tidy/-/bibtex-tidy-1.11.0.tgz";
-      sha512 = "jbY7PxjYQlRQIWpqdCxEVtW0T9xTLecXxvGPFGMs3FlzKNTylTr5yutC2qWsFyfNQgMHvAzyCdqT5YIU9p/ZHg==";
-    };
-    buildInputs = globalBuildInputs;
-    meta = {
-      description = "Tidy bibtex files";
-      homepage = "https://github.com/FlamingTempura/bibtex-tidy";
-      license = "MIT";
-    };
-    production = true;
-    bypassCache = true;
-    reconstructLock = true;
-  };
   bower = nodeEnv.buildNodePackage {
     name = "bower";
     packageName = "bower";
@@ -94781,7 +93413,7 @@ in
       sources."@socket.io/component-emitter-3.1.0"
       sources."@types/cookie-0.4.1"
       sources."@types/cors-2.8.13"
-      sources."@types/node-20.4.2"
+      sources."@types/node-20.4.5"
       sources."accepts-1.3.8"
       sources."ansi-regex-5.0.1"
       sources."ansi-styles-4.3.0"
@@ -95016,44 +93648,40 @@ in
           sources."tslib-1.14.1"
         ];
       })
-      sources."@aws-sdk/client-cognito-identity-3.370.0"
-      sources."@aws-sdk/client-s3-3.373.0"
-      sources."@aws-sdk/client-sso-3.370.0"
-      sources."@aws-sdk/client-sso-oidc-3.370.0"
-      sources."@aws-sdk/client-sts-3.370.0"
-      sources."@aws-sdk/credential-provider-cognito-identity-3.370.0"
-      sources."@aws-sdk/credential-provider-env-3.370.0"
-      sources."@aws-sdk/credential-provider-ini-3.370.0"
-      sources."@aws-sdk/credential-provider-node-3.370.0"
-      sources."@aws-sdk/credential-provider-process-3.370.0"
-      sources."@aws-sdk/credential-provider-sso-3.370.0"
-      sources."@aws-sdk/credential-provider-web-identity-3.370.0"
-      sources."@aws-sdk/credential-providers-3.370.0"
-      sources."@aws-sdk/hash-stream-node-3.370.0"
-      sources."@aws-sdk/is-array-buffer-3.310.0"
-      sources."@aws-sdk/middleware-bucket-endpoint-3.370.0"
-      sources."@aws-sdk/middleware-expect-continue-3.370.0"
-      sources."@aws-sdk/middleware-flexible-checksums-3.370.0"
-      sources."@aws-sdk/middleware-host-header-3.370.0"
-      sources."@aws-sdk/middleware-location-constraint-3.370.0"
-      sources."@aws-sdk/middleware-logger-3.370.0"
-      sources."@aws-sdk/middleware-recursion-detection-3.370.0"
-      sources."@aws-sdk/middleware-sdk-s3-3.370.0"
-      sources."@aws-sdk/middleware-sdk-sts-3.370.0"
-      sources."@aws-sdk/middleware-signing-3.370.0"
-      sources."@aws-sdk/middleware-ssec-3.370.0"
-      sources."@aws-sdk/middleware-user-agent-3.370.0"
-      sources."@aws-sdk/signature-v4-crt-3.370.0"
-      sources."@aws-sdk/signature-v4-multi-region-3.370.0"
-      sources."@aws-sdk/token-providers-3.370.0"
-      sources."@aws-sdk/types-3.370.0"
+      sources."@aws-sdk/client-cognito-identity-3.382.0"
+      sources."@aws-sdk/client-s3-3.382.0"
+      sources."@aws-sdk/client-sso-3.382.0"
+      sources."@aws-sdk/client-sso-oidc-3.382.0"
+      sources."@aws-sdk/client-sts-3.382.0"
+      sources."@aws-sdk/credential-provider-cognito-identity-3.382.0"
+      sources."@aws-sdk/credential-provider-env-3.378.0"
+      sources."@aws-sdk/credential-provider-ini-3.382.0"
+      sources."@aws-sdk/credential-provider-node-3.382.0"
+      sources."@aws-sdk/credential-provider-process-3.378.0"
+      sources."@aws-sdk/credential-provider-sso-3.382.0"
+      sources."@aws-sdk/credential-provider-web-identity-3.378.0"
+      sources."@aws-sdk/credential-providers-3.382.0"
+      sources."@aws-sdk/middleware-bucket-endpoint-3.378.0"
+      sources."@aws-sdk/middleware-expect-continue-3.378.0"
+      sources."@aws-sdk/middleware-flexible-checksums-3.378.0"
+      sources."@aws-sdk/middleware-host-header-3.379.1"
+      sources."@aws-sdk/middleware-location-constraint-3.379.1"
+      sources."@aws-sdk/middleware-logger-3.378.0"
+      sources."@aws-sdk/middleware-recursion-detection-3.378.0"
+      sources."@aws-sdk/middleware-sdk-s3-3.379.1"
+      sources."@aws-sdk/middleware-sdk-sts-3.379.1"
+      sources."@aws-sdk/middleware-signing-3.379.1"
+      sources."@aws-sdk/middleware-ssec-3.378.0"
+      sources."@aws-sdk/middleware-user-agent-3.382.0"
+      sources."@aws-sdk/signature-v4-crt-3.378.0"
+      sources."@aws-sdk/signature-v4-multi-region-3.378.0"
+      sources."@aws-sdk/token-providers-3.382.0"
+      sources."@aws-sdk/types-3.378.0"
       sources."@aws-sdk/util-arn-parser-3.310.0"
-      sources."@aws-sdk/util-buffer-from-3.310.0"
-      sources."@aws-sdk/util-endpoints-3.370.0"
+      sources."@aws-sdk/util-endpoints-3.382.0"
       sources."@aws-sdk/util-locate-window-3.310.0"
-      sources."@aws-sdk/util-user-agent-browser-3.370.0"
-      sources."@aws-sdk/util-user-agent-node-3.370.0"
-      sources."@aws-sdk/util-utf8-3.310.0"
+      sources."@aws-sdk/util-user-agent-browser-3.378.0"
+      sources."@aws-sdk/util-user-agent-node-3.378.0"
       sources."@aws-sdk/util-utf8-browser-3.259.0"
       sources."@aws-sdk/xml-builder-3.310.0"
       sources."@babel/code-frame-7.22.5"
@@ -95105,56 +93733,57 @@ in
       sources."@redis/search-1.1.3"
       sources."@redis/time-series-1.0.4"
       sources."@scure/base-1.1.1"
-      sources."@smithy/abort-controller-1.0.2"
-      sources."@smithy/chunked-blob-reader-1.0.2"
-      sources."@smithy/chunked-blob-reader-native-1.0.2"
-      sources."@smithy/config-resolver-1.0.2"
-      sources."@smithy/credential-provider-imds-1.0.2"
-      sources."@smithy/eventstream-codec-1.0.2"
-      sources."@smithy/eventstream-serde-browser-1.0.2"
-      sources."@smithy/eventstream-serde-config-resolver-1.0.2"
-      sources."@smithy/eventstream-serde-node-1.0.2"
-      sources."@smithy/eventstream-serde-universal-1.0.2"
-      sources."@smithy/fetch-http-handler-1.0.2"
-      sources."@smithy/hash-blob-browser-1.0.2"
-      sources."@smithy/hash-node-1.0.2"
-      sources."@smithy/invalid-dependency-1.0.2"
-      sources."@smithy/is-array-buffer-1.0.2"
-      sources."@smithy/md5-js-1.0.2"
-      sources."@smithy/middleware-content-length-1.0.2"
-      sources."@smithy/middleware-endpoint-1.0.3"
-      sources."@smithy/middleware-retry-1.0.4"
-      sources."@smithy/middleware-serde-1.0.2"
-      sources."@smithy/middleware-stack-1.0.2"
-      sources."@smithy/node-config-provider-1.0.2"
-      sources."@smithy/node-http-handler-1.0.3"
-      sources."@smithy/property-provider-1.0.2"
-      sources."@smithy/protocol-http-1.1.1"
-      sources."@smithy/querystring-builder-1.0.2"
-      sources."@smithy/querystring-parser-1.0.2"
-      sources."@smithy/service-error-classification-1.0.3"
-      sources."@smithy/shared-ini-file-loader-1.0.2"
-      sources."@smithy/signature-v4-1.0.2"
-      sources."@smithy/smithy-client-1.0.4"
-      sources."@smithy/types-1.1.1"
-      sources."@smithy/url-parser-1.0.2"
-      sources."@smithy/util-base64-1.0.2"
-      sources."@smithy/util-body-length-browser-1.0.2"
-      sources."@smithy/util-body-length-node-1.0.2"
-      sources."@smithy/util-buffer-from-1.0.2"
-      sources."@smithy/util-config-provider-1.0.2"
-      sources."@smithy/util-defaults-mode-browser-1.0.2"
-      sources."@smithy/util-defaults-mode-node-1.0.2"
-      sources."@smithy/util-hex-encoding-1.0.2"
-      sources."@smithy/util-middleware-1.0.2"
-      sources."@smithy/util-retry-1.0.4"
-      sources."@smithy/util-stream-1.0.2"
-      sources."@smithy/util-uri-escape-1.0.2"
-      sources."@smithy/util-utf8-1.0.2"
-      sources."@smithy/util-waiter-1.0.2"
+      sources."@smithy/abort-controller-2.0.1"
+      sources."@smithy/chunked-blob-reader-2.0.0"
+      sources."@smithy/chunked-blob-reader-native-2.0.0"
+      sources."@smithy/config-resolver-2.0.1"
+      sources."@smithy/credential-provider-imds-2.0.1"
+      sources."@smithy/eventstream-codec-2.0.1"
+      sources."@smithy/eventstream-serde-browser-2.0.1"
+      sources."@smithy/eventstream-serde-config-resolver-2.0.1"
+      sources."@smithy/eventstream-serde-node-2.0.1"
+      sources."@smithy/eventstream-serde-universal-2.0.1"
+      sources."@smithy/fetch-http-handler-2.0.1"
+      sources."@smithy/hash-blob-browser-2.0.1"
+      sources."@smithy/hash-node-2.0.1"
+      sources."@smithy/hash-stream-node-2.0.1"
+      sources."@smithy/invalid-dependency-2.0.1"
+      sources."@smithy/is-array-buffer-2.0.0"
+      sources."@smithy/md5-js-2.0.1"
+      sources."@smithy/middleware-content-length-2.0.1"
+      sources."@smithy/middleware-endpoint-2.0.1"
+      sources."@smithy/middleware-retry-2.0.1"
+      sources."@smithy/middleware-serde-2.0.1"
+      sources."@smithy/middleware-stack-2.0.0"
+      sources."@smithy/node-config-provider-2.0.1"
+      sources."@smithy/node-http-handler-2.0.1"
+      sources."@smithy/property-provider-2.0.1"
+      sources."@smithy/protocol-http-2.0.1"
+      sources."@smithy/querystring-builder-2.0.1"
+      sources."@smithy/querystring-parser-2.0.1"
+      sources."@smithy/service-error-classification-2.0.0"
+      sources."@smithy/shared-ini-file-loader-2.0.1"
+      sources."@smithy/signature-v4-2.0.1"
+      sources."@smithy/smithy-client-2.0.1"
+      sources."@smithy/types-2.0.2"
+      sources."@smithy/url-parser-2.0.1"
+      sources."@smithy/util-base64-2.0.0"
+      sources."@smithy/util-body-length-browser-2.0.0"
+      sources."@smithy/util-body-length-node-2.0.0"
+      sources."@smithy/util-buffer-from-2.0.0"
+      sources."@smithy/util-config-provider-2.0.0"
+      sources."@smithy/util-defaults-mode-browser-2.0.1"
+      sources."@smithy/util-defaults-mode-node-2.0.1"
+      sources."@smithy/util-hex-encoding-2.0.0"
+      sources."@smithy/util-middleware-2.0.0"
+      sources."@smithy/util-retry-2.0.0"
+      sources."@smithy/util-stream-2.0.1"
+      sources."@smithy/util-uri-escape-2.0.0"
+      sources."@smithy/util-utf8-2.0.0"
+      sources."@smithy/util-waiter-2.0.1"
       sources."@types/connect-3.4.35"
       sources."@types/minimist-1.2.2"
-      sources."@types/node-20.4.2"
+      sources."@types/node-20.4.5"
       sources."@types/normalize-package-data-2.4.1"
       sources."@types/webidl-conversions-7.0.0"
       sources."@types/whatwg-url-8.2.2"
@@ -95179,7 +93808,7 @@ in
       sources."assert-never-1.2.1"
       sources."async-3.2.4"
       sources."asynckit-0.4.0"
-      (sources."aws-crt-1.15.22" // {
+      (sources."aws-crt-1.17.0" // {
         dependencies = [
           sources."axios-0.24.0"
         ];
@@ -95215,7 +93844,7 @@ in
           sources."iconv-lite-0.4.24"
         ];
       })
-      sources."bootstrap-5.3.0"
+      sources."bootstrap-5.3.1"
       sources."bowser-2.11.0"
       sources."brace-expansion-1.1.11"
       sources."bs58-4.0.1"
@@ -95244,7 +93873,7 @@ in
       sources."chalk-2.4.2"
       sources."character-parser-2.2.0"
       sources."charenc-0.0.2"
-      sources."chart.js-4.3.0"
+      sources."chart.js-4.3.2"
       sources."chownr-1.1.4"
       sources."cipher-base-1.0.4"
       sources."cliui-3.2.0"
@@ -95733,7 +94362,7 @@ in
       sources."tr46-3.0.0"
       sources."traverse-0.3.9"
       sources."trim-newlines-3.0.1"
-      sources."tslib-2.6.0"
+      sources."tslib-2.6.1"
       sources."tsscmp-1.0.6"
       sources."tunnel-agent-0.6.0"
       sources."type-fest-0.18.1"
@@ -95813,7 +94442,7 @@ in
       sources."@protobufjs/pool-1.1.0"
       sources."@protobufjs/utf8-1.1.0"
       sources."@types/long-4.0.2"
-      sources."@types/node-20.4.2"
+      sources."@types/node-20.4.5"
       sources."@xmldom/xmldom-0.8.10"
       sources."addr-to-ip-port-1.5.4"
       sources."airplay-js-0.2.16"
@@ -96275,7 +94904,7 @@ in
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
-      sources."@playwright/test-1.36.1"
+      sources."@playwright/test-1.36.2"
       sources."@pnpm/config.env-replace-1.1.0"
       (sources."@pnpm/network.ca-file-1.0.2" // {
         dependencies = [
@@ -96283,11 +94912,11 @@ in
         ];
       })
       sources."@pnpm/npm-conf-2.2.2"
-      sources."@sindresorhus/is-5.5.2"
+      sources."@sindresorhus/is-5.6.0"
       sources."@szmarczak/http-timer-5.0.1"
       sources."@types/http-cache-semantics-4.0.1"
       sources."@types/minimist-1.2.2"
-      sources."@types/node-20.4.2"
+      sources."@types/node-20.4.5"
       sources."@types/normalize-package-data-2.4.1"
       sources."@xmldom/xmldom-0.8.10"
       sources."aggregate-error-3.1.0"
@@ -96341,7 +94970,7 @@ in
       sources."buffer-5.7.1"
       sources."buffer-equal-0.0.1"
       sources."cacheable-lookup-7.0.0"
-      sources."cacheable-request-10.2.12"
+      sources."cacheable-request-10.2.13"
       sources."camelcase-5.3.1"
       sources."camelcase-keys-6.2.2"
       sources."chalk-4.1.2"
@@ -96414,7 +95043,12 @@ in
       sources."eastasianwidth-0.2.0"
       sources."emoji-regex-9.2.2"
       sources."end-of-stream-1.4.4"
-      sources."enquirer-2.3.6"
+      (sources."enquirer-2.4.1" // {
+        dependencies = [
+          sources."ansi-regex-5.0.1"
+          sources."strip-ansi-6.0.1"
+        ];
+      })
       sources."error-ex-1.3.2"
       sources."escape-goat-4.0.0"
       sources."escape-string-regexp-1.0.5"
@@ -96422,7 +95056,7 @@ in
       sources."execa-5.1.1"
       sources."exif-parser-0.1.12"
       sources."external-editor-3.1.0"
-      sources."fast-glob-3.3.0"
+      sources."fast-glob-3.3.1"
       sources."fastq-1.15.0"
       sources."figures-2.0.0"
       sources."file-exists-5.0.1"
@@ -96513,7 +95147,7 @@ in
       sources."kind-of-6.0.3"
       sources."latest-version-7.0.0"
       sources."lines-and-columns-1.2.4"
-      sources."listr2-6.6.0"
+      sources."listr2-6.6.1"
       sources."load-bmfont-1.4.1"
       sources."locate-path-5.0.0"
       sources."lodash-4.17.21"
@@ -96586,8 +95220,8 @@ in
       sources."phin-2.9.3"
       sources."picomatch-2.3.1"
       sources."pixelmatch-4.0.2"
-      sources."playwright-1.36.1"
-      sources."playwright-core-1.36.1"
+      sources."playwright-1.36.2"
+      sources."playwright-core-1.36.2"
       (sources."plist-3.1.0" // {
         dependencies = [
           sources."xmlbuilder-15.1.1"
@@ -96854,10 +95488,10 @@ in
   cdk8s-cli = nodeEnv.buildNodePackage {
     name = "cdk8s-cli";
     packageName = "cdk8s-cli";
-    version = "2.2.116";
+    version = "2.15.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/cdk8s-cli/-/cdk8s-cli-2.2.116.tgz";
-      sha512 = "cX0j3VwLMrn/HnLXWfAPq+fCbKkOy15440cUt5icB7aj2qf8DwaUCE4Q0VLan4RC7cUYIAdrp1n3Sm2tFhAZYA==";
+      url = "https://registry.npmjs.org/cdk8s-cli/-/cdk8s-cli-2.15.1.tgz";
+      sha512 = "Ydx9EhMTvJTp0X11y5FtAkeTCokxOdhg525MYTe98iMiLIIeZA0DFZxNN+q3CGrHm5z2PhlWCZnMWawt+oBAog==";
     };
     dependencies = [
       sources."@colors/colors-1.5.0"
@@ -96879,7 +95513,7 @@ in
       sources."@octokit/request-error-2.1.0"
       sources."@octokit/rest-18.12.0"
       sources."@octokit/types-6.41.0"
-      sources."@types/node-16.18.38"
+      sources."@types/node-16.18.39"
       sources."@types/triple-beam-1.3.2"
       sources."@xmldom/xmldom-0.8.10"
       sources."aggregate-error-3.1.0"
@@ -96913,8 +95547,8 @@ in
       sources."buffer-5.7.1"
       sources."camelcase-6.3.0"
       sources."case-1.6.3"
-      sources."cdk8s-2.7.115"
-      sources."cdk8s-plus-25-2.8.98"
+      sources."cdk8s-2.29.0"
+      sources."cdk8s-plus-25-2.16.0"
       sources."chalk-4.1.2"
       sources."chardet-0.7.0"
       sources."clean-stack-2.2.0"
@@ -96962,7 +95596,7 @@ in
       sources."dotenv-16.3.1"
       (sources."downlevel-dts-0.11.0" // {
         dependencies = [
-          sources."typescript-5.2.0-dev.20230720"
+          sources."typescript-5.2.0-dev.20230801"
         ];
       })
       sources."emoji-regex-8.0.0"
@@ -96977,7 +95611,7 @@ in
         ];
       })
       sources."fast-deep-equal-3.1.3"
-      sources."fast-glob-3.3.0"
+      sources."fast-glob-3.3.1"
       sources."fastq-1.15.0"
       sources."fecha-4.2.3"
       (sources."figures-3.2.0" // {
@@ -97053,10 +95687,9 @@ in
       })
       (sources."jsii-srcmak-0.1.949" // {
         dependencies = [
-          sources."@jsii/check-node-1.84.0"
           sources."cliui-8.0.1"
           sources."fs-extra-9.1.0"
-          (sources."jsii-5.1.8" // {
+          (sources."jsii-5.1.10" // {
             dependencies = [
               sources."yargs-17.7.2"
             ];
@@ -97166,7 +95799,7 @@ in
       sources."to-regex-range-5.0.1"
       sources."tr46-0.0.3"
       sources."triple-beam-1.4.1"
-      sources."tslib-2.6.0"
+      sources."tslib-2.6.1"
       sources."type-fest-0.21.3"
       sources."typescript-3.9.10"
       sources."universal-user-agent-6.0.0"
@@ -97213,10 +95846,10 @@ in
   cdktf-cli = nodeEnv.buildNodePackage {
     name = "cdktf-cli";
     packageName = "cdktf-cli";
-    version = "0.17.1";
+    version = "0.17.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/cdktf-cli/-/cdktf-cli-0.17.1.tgz";
-      sha512 = "AANv8eXTSqbjFc32MPMfLYXdU0Uqn7W9IWOFvJulCPL/aHXXKna1buofbhUcNDwyl0+f2npwAJfCEN/NrNk4XA==";
+      url = "https://registry.npmjs.org/cdktf-cli/-/cdktf-cli-0.17.3.tgz";
+      sha512 = "wVOjzfwF4KUkGbdxuQ+/TfLuENbl0Lymp4Kz3cwbxXdEOOy//GlYjHIV+HA+kIl7bS6UtcyfKFXP3QDjjyb/3w==";
     };
     dependencies = [
       sources."@babel/code-frame-7.22.5"
@@ -97237,9 +95870,9 @@ in
       sources."@babel/parser-7.22.7"
       sources."@babel/template-7.22.5"
       sources."@babel/types-7.22.5"
-      sources."@cdktf/cli-core-0.17.1"
-      sources."@cdktf/commons-0.17.1"
-      (sources."@cdktf/hcl2cdk-0.17.1" // {
+      sources."@cdktf/cli-core-0.17.3"
+      sources."@cdktf/commons-0.17.3"
+      (sources."@cdktf/hcl2cdk-0.17.3" // {
         dependencies = [
           sources."brace-expansion-2.0.1"
           sources."camelcase-6.3.0"
@@ -97248,7 +95881,7 @@ in
           sources."zod-3.21.4"
         ];
       })
-      (sources."@cdktf/hcl2json-0.17.1" // {
+      (sources."@cdktf/hcl2json-0.17.3" // {
         dependencies = [
           sources."fs-extra-11.1.1"
           sources."jsonfile-6.1.0"
@@ -97256,20 +95889,20 @@ in
         ];
       })
       sources."@cdktf/node-pty-prebuilt-multiarch-0.10.1-pre.10"
-      (sources."@cdktf/provider-generator-0.17.1" // {
+      (sources."@cdktf/provider-generator-0.17.3" // {
         dependencies = [
           sources."@types/node-16.18.23"
         ];
       })
-      (sources."@inquirer/checkbox-1.3.5" // {
+      (sources."@inquirer/checkbox-1.3.6" // {
         dependencies = [
-          sources."@inquirer/core-3.0.0"
+          sources."@inquirer/core-3.1.0"
           sources."cli-spinners-2.9.0"
         ];
       })
-      (sources."@inquirer/confirm-2.0.6" // {
+      (sources."@inquirer/confirm-2.0.7" // {
         dependencies = [
-          sources."@inquirer/core-3.0.0"
+          sources."@inquirer/core-3.1.0"
           sources."cli-spinners-2.9.0"
         ];
       })
@@ -97278,35 +95911,35 @@ in
           sources."cli-spinners-2.9.0"
         ];
       })
-      (sources."@inquirer/editor-1.2.4" // {
+      (sources."@inquirer/editor-1.2.5" // {
         dependencies = [
-          sources."@inquirer/core-3.0.0"
+          sources."@inquirer/core-3.1.0"
           sources."cli-spinners-2.9.0"
         ];
       })
-      (sources."@inquirer/expand-1.1.5" // {
+      (sources."@inquirer/expand-1.1.6" // {
         dependencies = [
-          sources."@inquirer/core-3.0.0"
+          sources."@inquirer/core-3.1.0"
           sources."cli-spinners-2.9.0"
         ];
       })
-      (sources."@inquirer/input-1.2.5" // {
+      (sources."@inquirer/input-1.2.6" // {
         dependencies = [
-          sources."@inquirer/core-3.0.0"
+          sources."@inquirer/core-3.1.0"
           sources."cli-spinners-2.9.0"
         ];
       })
-      sources."@inquirer/password-1.1.5"
+      sources."@inquirer/password-1.1.6"
       sources."@inquirer/prompts-2.3.1"
-      (sources."@inquirer/rawlist-1.2.5" // {
+      (sources."@inquirer/rawlist-1.2.6" // {
         dependencies = [
-          sources."@inquirer/core-3.0.0"
+          sources."@inquirer/core-3.1.0"
           sources."cli-spinners-2.9.0"
         ];
       })
-      (sources."@inquirer/select-1.2.5" // {
+      (sources."@inquirer/select-1.2.6" // {
         dependencies = [
-          sources."@inquirer/core-3.0.0"
+          sources."@inquirer/core-3.1.0"
           sources."cli-spinners-2.9.0"
         ];
       })
@@ -97330,7 +95963,7 @@ in
           sources."@jridgewell/sourcemap-codec-1.4.14"
         ];
       })
-      sources."@jsii/check-node-1.84.0"
+      sources."@jsii/check-node-1.85.0"
       sources."@jsii/spec-1.85.0"
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
@@ -97344,9 +95977,9 @@ in
       sources."@sentry/types-6.19.7"
       sources."@sentry/utils-6.19.7"
       sources."@types/mute-stream-0.0.1"
-      sources."@types/node-20.4.2"
+      sources."@types/node-20.4.5"
       sources."@types/prop-types-15.7.5"
-      sources."@types/react-18.2.15"
+      sources."@types/react-18.2.18"
       sources."@types/scheduler-0.16.3"
       sources."@types/wrap-ansi-3.0.0"
       sources."@types/yauzl-2.10.0"
@@ -97390,7 +96023,7 @@ in
       sources."call-bind-1.0.2"
       sources."camelcase-5.3.1"
       sources."case-1.6.3"
-      sources."cdktf-0.17.1"
+      sources."cdktf-0.17.3"
       sources."chalk-4.1.2"
       sources."chardet-0.7.0"
       sources."chokidar-3.5.3"
@@ -97445,7 +96078,7 @@ in
       sources."detect-port-1.5.1"
       (sources."downlevel-dts-0.11.0" // {
         dependencies = [
-          sources."typescript-5.2.0-dev.20230720"
+          sources."typescript-5.2.0-dev.20230801"
         ];
       })
       sources."eastasianwidth-0.2.0"
@@ -97474,7 +96107,7 @@ in
         ];
       })
       sources."fast-deep-equal-3.1.3"
-      sources."fast-glob-3.3.0"
+      sources."fast-glob-3.3.1"
       sources."fastq-1.15.0"
       sources."fd-slicer-1.1.0"
       (sources."figures-3.2.0" // {
@@ -97489,7 +96122,7 @@ in
       sources."for-each-0.3.3"
       (sources."foreground-child-3.1.1" // {
         dependencies = [
-          sources."signal-exit-4.0.2"
+          sources."signal-exit-4.1.0"
         ];
       })
       sources."fs-constants-1.0.0"
@@ -97510,7 +96143,7 @@ in
       sources."glob-parent-5.1.2"
       sources."gopd-1.0.1"
       sources."graceful-fs-4.2.11"
-      sources."graphology-0.25.1"
+      sources."graphology-0.25.4"
       sources."graphology-types-0.24.7"
       sources."has-1.0.3"
       sources."has-bigints-1.0.2"
@@ -97568,13 +96201,12 @@ in
       sources."is-wsl-2.2.0"
       sources."isarray-1.0.0"
       sources."isexe-2.0.0"
-      sources."jackspeak-2.2.1"
+      sources."jackspeak-2.2.2"
       sources."js-tokens-4.0.0"
       sources."jsesc-2.5.2"
-      sources."jsii-5.1.8"
+      sources."jsii-5.1.10"
       (sources."jsii-pacmak-1.85.0" // {
         dependencies = [
-          sources."@jsii/check-node-1.85.0"
           sources."cliui-7.0.4"
           sources."escape-string-regexp-4.0.0"
           sources."fs-extra-10.1.0"
@@ -97591,7 +96223,6 @@ in
       })
       (sources."jsii-reflect-1.85.0" // {
         dependencies = [
-          sources."@jsii/check-node-1.85.0"
           sources."cliui-7.0.4"
           sources."fs-extra-10.1.0"
           sources."jsonfile-6.1.0"
@@ -97602,7 +96233,7 @@ in
           sources."yargs-parser-20.2.9"
         ];
       })
-      sources."jsii-rosetta-5.1.7"
+      sources."jsii-rosetta-5.1.9"
       (sources."jsii-srcmak-0.1.949" // {
         dependencies = [
           sources."fs-extra-9.1.0"
@@ -97792,7 +96423,7 @@ in
       sources."ws-7.5.9"
       sources."xml-js-1.6.11"
       sources."xmlbuilder-15.1.1"
-      sources."xstate-4.38.1"
+      sources."xstate-4.38.2"
       sources."y18n-4.0.3"
       sources."yallist-4.0.0"
       (sources."yargs-17.7.2" // {
@@ -98022,7 +96653,7 @@ in
       sources."tr46-1.0.1"
       sources."universal-url-2.0.0"
       sources."webidl-conversions-4.0.2"
-      sources."whatwg-fetch-3.6.16"
+      sources."whatwg-fetch-3.6.17"
       sources."whatwg-url-7.1.0"
       (sources."winston-2.4.7" // {
         dependencies = [
@@ -98124,7 +96755,7 @@ in
       sources."dockerfile-language-server-nodejs-0.9.0"
       sources."dockerfile-language-service-0.9.0"
       sources."dockerfile-utils-0.10.0"
-      sources."tslib-2.6.0"
+      sources."tslib-2.6.1"
       sources."vscode-jsonrpc-8.1.0"
       sources."vscode-languageserver-8.1.0"
       (sources."vscode-languageserver-protocol-3.17.3" // {
@@ -98306,14 +96937,14 @@ in
   coc-go = nodeEnv.buildNodePackage {
     name = "coc-go";
     packageName = "coc-go";
-    version = "1.3.17";
+    version = "1.3.20";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-go/-/coc-go-1.3.17.tgz";
-      sha512 = "wn3SgiCxaK+geUZomquc7WaACu/zPBtIA0rXJNjCGJWdK3L1d2QL3KzbGBq3A5JZRLNBpzQkD+t4uLBu9HsTfQ==";
+      url = "https://registry.npmjs.org/coc-go/-/coc-go-1.3.20.tgz";
+      sha512 = "o2Ofmpz0DDg+O4K34v99RA8U7lJKHeHKfMi5qLuSIGFvwbBUI1dP4C7WR/QTv0DoRnttwDkUtMqnbvRUAB8k8g==";
     };
     dependencies = [
       sources."isexe-2.0.0"
-      sources."tslib-2.6.0"
+      sources."tslib-2.6.1"
       sources."vscode-languageserver-textdocument-1.0.10"
       sources."vscode-uri-3.0.7"
       sources."which-3.0.1"
@@ -98584,7 +97215,7 @@ in
       sources."flatted-3.2.7"
       sources."follow-redirects-1.15.2"
       sources."for-each-0.3.3"
-      sources."fp-ts-2.16.0"
+      sources."fp-ts-2.16.1"
       sources."fs-extra-8.1.0"
       (sources."fs-minipass-2.1.0" // {
         dependencies = [
@@ -98723,7 +97354,7 @@ in
       sources."tar-6.1.15"
       sources."tr46-0.0.3"
       sources."traverse-0.3.9"
-      sources."tslib-2.6.0"
+      sources."tslib-2.6.1"
       sources."typed-array-buffer-1.0.0"
       sources."typed-array-byte-length-1.0.0"
       sources."typed-array-byte-offset-1.0.0"
@@ -98808,7 +97439,7 @@ in
     };
     dependencies = [
       sources."fsevents-2.3.2"
-      sources."pyright-1.1.318"
+      sources."pyright-1.1.319"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -98932,7 +97563,7 @@ in
       sources."safer-buffer-2.1.2"
       sources."to-regex-range-5.0.1"
       sources."tr46-0.0.3"
-      sources."tslib-2.6.0"
+      sources."tslib-2.6.1"
       sources."turndown-7.1.2"
       sources."vscode-jsonrpc-8.0.2"
       sources."vscode-languageserver-8.0.2"
@@ -99214,11 +97845,11 @@ in
         ];
       })
       sources."braces-3.0.2"
-      sources."browserslist-4.21.9"
+      sources."browserslist-4.21.10"
       sources."callsites-3.1.0"
       sources."camelcase-5.3.1"
       sources."camelcase-keys-6.2.2"
-      sources."caniuse-lite-1.0.30001517"
+      sources."caniuse-lite-1.0.30001518"
       (sources."chalk-4.1.2" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
@@ -99255,7 +97886,7 @@ in
       sources."domelementtype-1.3.1"
       sources."domhandler-2.4.2"
       sources."domutils-1.7.0"
-      sources."electron-to-chromium-1.4.466"
+      sources."electron-to-chromium-1.4.480"
       sources."emoji-regex-8.0.0"
       sources."entities-1.1.2"
       sources."error-ex-1.3.2"
@@ -99265,7 +97896,7 @@ in
       sources."extend-3.0.2"
       sources."fast-deep-equal-3.1.3"
       sources."fast-diff-1.3.0"
-      sources."fast-glob-3.3.0"
+      sources."fast-glob-3.3.1"
       sources."fastest-levenshtein-1.0.16"
       sources."fastq-1.15.0"
       sources."file-entry-cache-6.0.1"
@@ -99787,7 +98418,7 @@ in
       sources."diff-4.0.2"
       sources."doctrine-3.0.0"
       sources."emoji-regex-8.0.0"
-      sources."enquirer-2.3.6"
+      sources."enquirer-2.4.1"
       sources."escape-string-regexp-4.0.0"
       sources."eslint-7.32.0"
       (sources."eslint-plugin-vue-7.20.0" // {
@@ -100304,7 +98935,7 @@ in
       sources."strip-ansi-6.0.1"
       sources."supports-color-8.1.1"
       sources."tree-kill-1.2.2"
-      sources."tslib-2.6.0"
+      sources."tslib-2.6.1"
       sources."wrap-ansi-7.0.0"
       sources."y18n-5.0.8"
       sources."yargs-17.7.2"
@@ -100689,7 +99320,7 @@ in
       sources."big-integer-1.6.51"
       (sources."bin-links-4.0.2" // {
         dependencies = [
-          sources."signal-exit-4.0.2"
+          sources."signal-exit-4.1.0"
           sources."write-file-atomic-5.0.1"
         ];
       })
@@ -100768,7 +99399,7 @@ in
       (sources."cordova-lib-12.0.1" // {
         dependencies = [
           sources."pify-5.0.0"
-          sources."signal-exit-4.0.2"
+          sources."signal-exit-4.1.0"
           sources."write-file-atomic-5.0.1"
         ];
       })
@@ -100829,7 +99460,7 @@ in
       })
       sources."extsprintf-1.4.1"
       sources."fast-deep-equal-3.1.3"
-      sources."fast-glob-3.3.0"
+      sources."fast-glob-3.3.1"
       sources."fast-json-parse-1.0.3"
       sources."fast-json-stable-stringify-2.1.0"
       sources."fastq-1.15.0"
@@ -100844,7 +99475,7 @@ in
       sources."find-up-3.0.0"
       (sources."foreground-child-3.1.1" // {
         dependencies = [
-          sources."signal-exit-4.0.2"
+          sources."signal-exit-4.1.0"
         ];
       })
       sources."forever-agent-0.6.1"
@@ -100957,7 +99588,7 @@ in
       sources."isexe-2.0.0"
       sources."isobject-4.0.0"
       sources."isstream-0.1.2"
-      sources."jackspeak-2.2.1"
+      sources."jackspeak-2.2.2"
       sources."jsbn-0.1.1"
       sources."json-parse-even-better-errors-3.0.0"
       sources."json-schema-0.4.0"
@@ -101064,7 +99695,7 @@ in
       sources."npm-normalize-package-bin-3.0.1"
       sources."npm-package-arg-10.1.0"
       sources."npm-packlist-7.0.4"
-      sources."npm-pick-manifest-8.0.1"
+      sources."npm-pick-manifest-8.0.2"
       (sources."npm-registry-fetch-14.0.5" // {
         dependencies = [
           sources."minipass-5.0.0"
@@ -101077,7 +99708,7 @@ in
           sources."emoji-regex-8.0.0"
           sources."gauge-5.0.1"
           sources."readable-stream-4.4.2"
-          sources."signal-exit-4.0.2"
+          sources."signal-exit-4.1.0"
           sources."string-width-4.2.3"
           sources."strip-ansi-6.0.1"
         ];
@@ -101237,7 +99868,7 @@ in
       sources."strip-final-newline-2.0.0"
       sources."supports-color-7.2.0"
       sources."supports-preserve-symlinks-flag-1.0.0"
-      sources."systeminformation-5.18.7"
+      sources."systeminformation-5.18.10"
       (sources."tar-6.1.15" // {
         dependencies = [
           sources."minipass-5.0.0"
@@ -101359,7 +99990,7 @@ in
       sources."dir-glob-3.0.1"
       sources."error-ex-1.3.2"
       sources."escape-string-regexp-5.0.0"
-      sources."fast-glob-3.3.0"
+      sources."fast-glob-3.3.1"
       sources."fastq-1.15.0"
       sources."fill-range-7.0.1"
       sources."find-up-6.3.0"
@@ -101479,7 +100110,7 @@ in
       sources."@cycle/run-3.4.0"
       sources."@cycle/time-0.10.1"
       sources."@types/cookiejar-2.1.2"
-      sources."@types/node-20.4.2"
+      sources."@types/node-20.4.5"
       sources."@types/superagent-3.8.2"
       sources."ansi-escapes-3.2.0"
       sources."ansi-regex-2.1.1"
@@ -101783,7 +100414,7 @@ in
       sources."@cspell/dict-elixir-4.0.3"
       sources."@cspell/dict-en-common-misspellings-1.0.2"
       sources."@cspell/dict-en-gb-1.1.33"
-      sources."@cspell/dict-en_us-4.3.5"
+      sources."@cspell/dict-en_us-4.3.6"
       sources."@cspell/dict-filetypes-3.0.1"
       sources."@cspell/dict-fonts-3.0.2"
       sources."@cspell/dict-fullstack-3.1.5"
@@ -101803,7 +100434,7 @@ in
       sources."@cspell/dict-php-4.0.1"
       sources."@cspell/dict-powershell-5.0.2"
       sources."@cspell/dict-public-licenses-2.0.3"
-      sources."@cspell/dict-python-4.1.2"
+      sources."@cspell/dict-python-4.1.4"
       sources."@cspell/dict-r-2.0.1"
       sources."@cspell/dict-ruby-5.0.0"
       sources."@cspell/dict-rust-4.0.1"
@@ -101851,7 +100482,7 @@ in
       sources."escape-string-regexp-1.0.5"
       sources."esprima-4.0.1"
       sources."fast-equals-4.0.3"
-      sources."fast-glob-3.3.0"
+      sources."fast-glob-3.3.1"
       sources."fast-json-stable-stringify-2.1.0"
       sources."fastq-1.15.0"
       sources."file-entry-cache-6.0.1"
@@ -102656,7 +101287,7 @@ in
       sources."crypto-random-string-2.0.0"
       sources."del-6.1.1"
       sources."dir-glob-3.0.1"
-      sources."fast-glob-3.3.0"
+      sources."fast-glob-3.3.1"
       sources."fastq-1.15.0"
       sources."fill-range-7.0.1"
       sources."find-up-4.1.0"
@@ -102869,54 +101500,49 @@ in
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
-      sources."@oclif/color-1.0.9"
+      sources."@oclif/color-1.0.10"
       sources."@oclif/core-1.26.2"
       sources."@oclif/linewrap-1.0.0"
-      (sources."@oclif/plugin-help-5.2.14" // {
+      (sources."@oclif/plugin-help-5.2.15" // {
         dependencies = [
-          sources."@oclif/core-2.9.4"
+          sources."@oclif/core-2.11.5"
         ];
       })
-      (sources."@oclif/plugin-not-found-2.3.32" // {
+      (sources."@oclif/plugin-not-found-2.3.34" // {
         dependencies = [
-          sources."@oclif/core-2.9.4"
+          sources."@oclif/core-2.11.5"
         ];
       })
-      (sources."@oclif/plugin-update-3.1.27" // {
+      (sources."@oclif/plugin-update-3.1.28" // {
         dependencies = [
-          sources."@oclif/core-2.9.4"
-          sources."cross-spawn-7.0.3"
-          sources."path-key-3.1.1"
-          sources."shebang-command-2.0.0"
-          sources."shebang-regex-3.0.0"
-          sources."which-2.0.2"
+          sources."@oclif/core-2.11.5"
         ];
       })
-      (sources."@oclif/plugin-warn-if-update-available-2.0.44" // {
+      (sources."@oclif/plugin-warn-if-update-available-2.0.46" // {
         dependencies = [
-          sources."@oclif/core-2.9.4"
+          sources."@oclif/core-2.11.5"
         ];
       })
       sources."@oclif/screen-3.0.6"
-      sources."@swc/core-1.3.70"
-      sources."@swc/core-darwin-arm64-1.3.70"
-      sources."@swc/core-darwin-x64-1.3.70"
-      sources."@swc/core-linux-arm-gnueabihf-1.3.70"
-      sources."@swc/core-linux-arm64-gnu-1.3.70"
-      sources."@swc/core-linux-arm64-musl-1.3.70"
-      sources."@swc/core-linux-x64-gnu-1.3.70"
-      sources."@swc/core-linux-x64-musl-1.3.70"
-      sources."@swc/core-win32-arm64-msvc-1.3.70"
-      sources."@swc/core-win32-ia32-msvc-1.3.70"
-      sources."@swc/core-win32-x64-msvc-1.3.70"
+      sources."@swc/core-1.3.73"
+      sources."@swc/core-darwin-arm64-1.3.73"
+      sources."@swc/core-darwin-x64-1.3.73"
+      sources."@swc/core-linux-arm-gnueabihf-1.3.73"
+      sources."@swc/core-linux-arm64-gnu-1.3.73"
+      sources."@swc/core-linux-arm64-musl-1.3.73"
+      sources."@swc/core-linux-x64-gnu-1.3.73"
+      sources."@swc/core-linux-x64-musl-1.3.73"
+      sources."@swc/core-win32-arm64-msvc-1.3.73"
+      sources."@swc/core-win32-ia32-msvc-1.3.73"
+      sources."@swc/core-win32-x64-msvc-1.3.73"
       sources."@swc/helpers-0.5.1"
-      sources."@swc/wasm-1.3.70"
+      sources."@swc/wasm-1.3.73"
       sources."@tsconfig/node10-1.0.9"
       sources."@tsconfig/node12-1.0.11"
       sources."@tsconfig/node14-1.0.3"
       sources."@tsconfig/node16-1.0.4"
       sources."@types/cli-progress-3.11.0"
-      sources."@types/node-20.4.2"
+      sources."@types/node-20.4.5"
       sources."acorn-8.10.0"
       sources."acorn-walk-8.2.0"
       sources."ansi-escapes-4.3.2"
@@ -102958,11 +101584,7 @@ in
       sources."concat-map-0.0.1"
       sources."content-type-1.0.5"
       sources."create-require-1.1.1"
-      (sources."cross-spawn-6.0.5" // {
-        dependencies = [
-          sources."semver-5.7.2"
-        ];
-      })
+      sources."cross-spawn-7.0.3"
       sources."debug-4.3.4"
       sources."defaults-1.0.4"
       sources."delayed-stream-1.0.0"
@@ -102976,7 +101598,7 @@ in
       sources."escape-string-regexp-4.0.0"
       sources."esprima-4.0.1"
       sources."external-editor-3.1.0"
-      sources."fast-glob-3.3.0"
+      sources."fast-glob-3.3.1"
       sources."fast-levenshtein-3.0.0"
       sources."fastest-levenshtein-1.0.16"
       sources."fastq-1.15.0"
@@ -103045,19 +101667,14 @@ in
       sources."ms-2.1.2"
       sources."mute-stream-0.0.8"
       sources."natural-orderby-2.0.3"
-      sources."nice-try-1.0.5"
       sources."object-treeify-1.1.33"
       sources."once-1.4.0"
       sources."onetime-5.1.2"
       sources."ora-5.4.1"
       sources."os-tmpdir-1.0.2"
       sources."parse-json-4.0.0"
-      (sources."password-prompt-1.1.2" // {
-        dependencies = [
-          sources."ansi-escapes-3.2.0"
-        ];
-      })
-      sources."path-key-2.0.1"
+      sources."password-prompt-1.1.3"
+      sources."path-key-3.1.1"
       sources."path-type-4.0.0"
       sources."picomatch-2.3.1"
       sources."pump-3.0.0"
@@ -103072,8 +101689,8 @@ in
       sources."safe-buffer-5.2.1"
       sources."safer-buffer-2.1.2"
       sources."semver-7.5.4"
-      sources."shebang-command-1.2.0"
-      sources."shebang-regex-1.0.0"
+      sources."shebang-command-2.0.0"
+      sources."shebang-regex-3.0.0"
       sources."signal-exit-3.0.7"
       sources."slash-3.0.0"
       sources."slice-ansi-4.0.0"
@@ -103093,7 +101710,7 @@ in
       sources."tmp-0.0.33"
       sources."to-regex-range-5.0.1"
       sources."ts-node-10.9.1"
-      sources."tslib-2.6.0"
+      sources."tslib-2.6.1"
       sources."tunnel-agent-0.6.0"
       sources."type-fest-0.21.3"
       sources."typescript-5.1.6"
@@ -103101,7 +101718,7 @@ in
       sources."util-deprecate-1.0.2"
       sources."v8-compile-cache-lib-3.0.1"
       sources."wcwidth-1.0.1"
-      sources."which-1.3.1"
+      sources."which-2.0.2"
       sources."widest-line-3.1.0"
       sources."wordwrap-1.0.0"
       sources."wrap-ansi-7.0.0"
@@ -103131,7 +101748,7 @@ in
       sources."@fast-csv/format-4.3.5"
       sources."@fast-csv/parse-4.3.6"
       sources."@search-dump/jsonstream-1.5.0"
-      sources."@types/node-14.18.53"
+      sources."@types/node-14.18.54"
       sources."ajv-6.12.6"
       sources."asn1-0.2.6"
       sources."assert-plus-1.0.0"
@@ -103342,7 +101959,7 @@ in
       sources."@types/cacheable-request-6.0.3"
       sources."@types/http-cache-semantics-4.0.1"
       sources."@types/keyv-3.1.4"
-      sources."@types/node-20.4.2"
+      sources."@types/node-20.4.5"
       sources."@types/responselike-1.0.0"
       sources."@types/yauzl-2.10.0"
       sources."@xmldom/xmldom-0.8.10"
@@ -103448,7 +102065,11 @@ in
       sources."emoji-regex-9.2.2"
       sources."encoding-0.1.13"
       sources."end-of-stream-1.4.4"
-      sources."enquirer-2.3.6"
+      (sources."enquirer-2.4.1" // {
+        dependencies = [
+          sources."strip-ansi-6.0.1"
+        ];
+      })
       sources."env-paths-2.2.1"
       sources."err-code-2.0.3"
       sources."error-ex-1.3.2"
@@ -103470,7 +102091,7 @@ in
       sources."expand-tilde-2.0.2"
       sources."exponential-backoff-3.1.1"
       sources."extract-zip-2.0.1"
-      sources."fast-glob-3.3.0"
+      sources."fast-glob-3.3.1"
       sources."fastq-1.15.0"
       sources."fd-slicer-1.1.0"
       sources."filename-reserved-regex-2.0.0"
@@ -103571,7 +102192,7 @@ in
       sources."is-wsl-2.2.0"
       sources."isbinaryfile-4.0.10"
       sources."isexe-2.0.0"
-      sources."jackspeak-2.2.1"
+      sources."jackspeak-2.2.2"
       sources."json-buffer-3.0.1"
       sources."json-stringify-safe-5.0.1"
       sources."jsonfile-6.1.0"
@@ -103752,7 +102373,7 @@ in
       sources."set-blocking-2.0.0"
       sources."shebang-command-2.0.0"
       sources."shebang-regex-3.0.0"
-      sources."signal-exit-4.0.2"
+      sources."signal-exit-4.1.0"
       (sources."slice-ansi-3.0.0" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
@@ -103803,7 +102424,7 @@ in
       sources."to-regex-range-5.0.1"
       sources."tr46-0.0.3"
       sources."trim-repeated-1.0.0"
-      sources."tslib-2.6.0"
+      sources."tslib-2.6.1"
       sources."type-fest-0.13.1"
       sources."unique-filename-3.0.0"
       sources."unique-slug-4.0.0"
@@ -103869,12 +102490,13 @@ in
   eas-cli = nodeEnv.buildNodePackage {
     name = "eas-cli";
     packageName = "eas-cli";
-    version = "3.16.0";
+    version = "3.17.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/eas-cli/-/eas-cli-3.16.0.tgz";
-      sha512 = "6uKUJnQvr47BNo+x+X44r/dvSi1/oHzMpnfq1ESXlpuoPpezfZRm9xbiiFb5B//6m3yLNGPraYd9QXjihhcUAQ==";
+      url = "https://registry.npmjs.org/eas-cli/-/eas-cli-3.17.1.tgz";
+      sha512 = "+lntd0QFJyZcg6HaFYVc1R9DVk6jPyHq9vXcmQWQNdL8CzkpdqooZE1KYJ/sQoTeyHRO90rEuSr+ocUu3njgKg==";
     };
     dependencies = [
+      sources."@0no-co/graphql.web-1.0.4"
       sources."@babel/code-frame-7.10.4"
       sources."@babel/helper-validator-identifier-7.22.5"
       (sources."@babel/highlight-7.22.5" // {
@@ -103901,7 +102523,7 @@ in
       })
       sources."@expo/config-types-49.0.0"
       sources."@expo/eas-build-job-1.0.13"
-      (sources."@expo/eas-json-3.15.1" // {
+      (sources."@expo/eas-json-3.17.0" // {
         dependencies = [
           sources."@babel/code-frame-7.18.6"
         ];
@@ -103956,7 +102578,13 @@ in
           sources."which-2.0.2"
         ];
       })
-      sources."@expo/steps-1.0.25"
+      (sources."@expo/steps-1.0.28" // {
+        dependencies = [
+          sources."@expo/package-manager-1.0.2"
+          sources."fs-extra-11.1.1"
+          sources."universalify-2.0.0"
+        ];
+      })
       sources."@expo/timeago.js-1.0.0"
       sources."@hapi/hoek-9.3.0"
       sources."@hapi/topo-5.1.0"
@@ -103998,9 +102626,9 @@ in
       sources."@sideway/formula-3.0.1"
       sources."@sideway/pinpoint-2.0.0"
       sources."@types/bunyan-1.8.8"
-      sources."@types/node-20.4.2"
-      sources."@urql/core-3.1.1"
-      sources."@urql/exchange-retry-1.0.0"
+      sources."@types/node-20.4.5"
+      sources."@urql/core-4.0.11"
+      sources."@urql/exchange-retry-1.2.0"
       sources."@xmldom/xmldom-0.8.10"
       sources."agent-base-6.0.2"
       sources."ajv-8.11.0"
@@ -104176,6 +102804,7 @@ in
       sources."kleur-3.0.3"
       sources."lines-and-columns-1.2.4"
       sources."locate-path-6.0.0"
+      sources."lodash.clonedeep-4.5.0"
       sources."lodash.get-4.4.2"
       sources."lodash.merge-4.6.2"
       sources."log-symbols-4.1.0"
@@ -104244,9 +102873,13 @@ in
           sources."pngjs-3.4.0"
         ];
       })
-      (sources."password-prompt-1.1.2" // {
+      (sources."password-prompt-1.1.3" // {
         dependencies = [
-          sources."ansi-escapes-3.2.0"
+          sources."cross-spawn-7.0.3"
+          sources."path-key-3.1.1"
+          sources."shebang-command-2.0.0"
+          sources."shebang-regex-3.0.0"
+          sources."which-2.0.2"
         ];
       })
       sources."path-exists-4.0.0"
@@ -104338,7 +102971,7 @@ in
       sources."whatwg-url-5.0.0"
       sources."which-1.3.1"
       sources."widest-line-3.1.0"
-      sources."wonka-6.3.2"
+      sources."wonka-6.3.3"
       (sources."wrap-ansi-7.0.0" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
@@ -104514,7 +103147,7 @@ in
       sources."@types/minimist-1.2.2"
       sources."@types/normalize-package-data-2.4.1"
       sources."@types/prop-types-15.7.5"
-      sources."@types/react-18.2.15"
+      sources."@types/react-18.2.18"
       sources."@types/scheduler-0.16.3"
       sources."@types/yoga-layout-1.9.2"
       sources."ajv-6.12.6"
@@ -104532,14 +103165,14 @@ in
       sources."auto-bind-4.0.0"
       sources."balanced-match-1.0.2"
       sources."brace-expansion-1.1.11"
-      sources."browserslist-4.21.9"
+      sources."browserslist-4.21.10"
       sources."bufferutil-4.0.7"
       sources."caller-callsite-4.1.0"
       sources."caller-path-3.0.1"
       sources."callsites-3.1.0"
       sources."camelcase-5.3.1"
       sources."camelcase-keys-6.2.2"
-      sources."caniuse-lite-1.0.30001517"
+      sources."caniuse-lite-1.0.30001518"
       sources."chalk-2.4.2"
       sources."ci-info-2.0.0"
       sources."cli-boxes-2.2.1"
@@ -104569,7 +103202,7 @@ in
         ];
       })
       sources."dot-prop-5.3.0"
-      sources."electron-to-chromium-1.4.466"
+      sources."electron-to-chromium-1.4.480"
       sources."emoji-regex-8.0.0"
       sources."emojilib-2.4.0"
       sources."end-of-stream-1.4.4"
@@ -104821,17 +103454,17 @@ in
   eslint = nodeEnv.buildNodePackage {
     name = "eslint";
     packageName = "eslint";
-    version = "8.45.0";
+    version = "8.46.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/eslint/-/eslint-8.45.0.tgz";
-      sha512 = "pd8KSxiQpdYRfYa9Wufvdoct3ZPQQuVuU5O6scNgMuOMYuxvH0IGaYK0wUFjo4UYYQQCUndlXiMbnxopwvvTiw==";
+      url = "https://registry.npmjs.org/eslint/-/eslint-8.46.0.tgz";
+      sha512 = "cIO74PvbW0qU8e0mIvk5IV3ToWdCq5FYG6gWPHHkx6gNdjlbAYvtfHmlCMXxjcoVaIdwy/IAt3+mDkZkfvb2Dg==";
     };
     dependencies = [
       sources."@aashutoshrathi/word-wrap-1.2.6"
       sources."@eslint-community/eslint-utils-4.4.0"
-      sources."@eslint-community/regexpp-4.5.1"
-      sources."@eslint/eslintrc-2.1.0"
-      sources."@eslint/js-8.44.0"
+      sources."@eslint-community/regexpp-4.6.2"
+      sources."@eslint/eslintrc-2.1.1"
+      sources."@eslint/js-8.46.0"
       sources."@humanwhocodes/config-array-0.11.10"
       sources."@humanwhocodes/module-importer-1.0.1"
       sources."@humanwhocodes/object-schema-1.2.1"
@@ -104856,9 +103489,9 @@ in
       sources."deep-is-0.1.4"
       sources."doctrine-3.0.0"
       sources."escape-string-regexp-4.0.0"
-      sources."eslint-8.45.0"
-      sources."eslint-scope-7.2.1"
-      sources."eslint-visitor-keys-3.4.1"
+      sources."eslint-8.46.0"
+      sources."eslint-scope-7.2.2"
+      sources."eslint-visitor-keys-3.4.2"
       sources."espree-9.6.1"
       sources."esquery-1.5.0"
       sources."esrecurse-4.3.0"
@@ -104990,7 +103623,7 @@ in
           sources."semver-6.3.1"
         ];
       })
-      sources."@babel/helper-define-polyfill-provider-0.4.1"
+      sources."@babel/helper-define-polyfill-provider-0.4.2"
       sources."@babel/helper-environment-visitor-7.22.5"
       sources."@babel/helper-function-name-7.22.5"
       sources."@babel/helper-hoist-variables-7.22.5"
@@ -105114,7 +103747,7 @@ in
           sources."semver-6.3.1"
         ];
       })
-      sources."@babel/preset-modules-0.1.5"
+      sources."@babel/preset-modules-0.1.6"
       sources."@babel/regjsgen-0.8.0"
       sources."@babel/runtime-7.9.0"
       (sources."@babel/template-7.22.5" // {
@@ -105279,7 +103912,6 @@ in
         ];
       })
       sources."@leichtgewicht/ip-codec-2.0.4"
-      sources."@nicolo-ribaudo/semver-v6-6.3.3"
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
@@ -105307,7 +103939,7 @@ in
       sources."@types/cacheable-request-6.0.3"
       sources."@types/connect-3.4.35"
       sources."@types/connect-history-api-fallback-1.5.0"
-      sources."@types/eslint-8.44.0"
+      sources."@types/eslint-8.44.1"
       sources."@types/eslint-scope-3.7.4"
       sources."@types/estree-1.0.1"
       sources."@types/express-4.17.17"
@@ -105324,7 +103956,7 @@ in
       sources."@types/keyv-3.1.4"
       sources."@types/mime-1.3.2"
       sources."@types/minimatch-5.1.2"
-      sources."@types/node-20.4.2"
+      sources."@types/node-20.4.5"
       sources."@types/qs-6.9.7"
       sources."@types/range-parser-1.2.4"
       sources."@types/responselike-1.0.0"
@@ -105395,9 +104027,13 @@ in
       sources."axios-0.21.1"
       sources."babel-loader-8.3.0"
       sources."babel-plugin-module-resolver-4.1.0"
-      sources."babel-plugin-polyfill-corejs2-0.4.4"
-      sources."babel-plugin-polyfill-corejs3-0.8.2"
-      sources."babel-plugin-polyfill-regenerator-0.5.1"
+      (sources."babel-plugin-polyfill-corejs2-0.4.5" // {
+        dependencies = [
+          sources."semver-6.3.1"
+        ];
+      })
+      sources."babel-plugin-polyfill-corejs3-0.8.3"
+      sources."babel-plugin-polyfill-regenerator-0.5.2"
       sources."babel-plugin-react-native-web-0.18.12"
       sources."babel-preset-expo-9.3.2"
       sources."balanced-match-1.0.2"
@@ -105429,7 +104065,7 @@ in
       sources."bplist-parser-0.2.0"
       sources."brace-expansion-1.1.11"
       sources."braces-3.0.2"
-      sources."browserslist-4.21.9"
+      sources."browserslist-4.21.10"
       sources."buffer-alloc-1.2.0"
       sources."buffer-alloc-unsafe-1.1.0"
       sources."buffer-fill-1.0.0"
@@ -105450,7 +104086,7 @@ in
       sources."camel-case-4.1.2"
       sources."camelcase-6.3.0"
       sources."caniuse-api-3.0.0"
-      sources."caniuse-lite-1.0.30001517"
+      sources."caniuse-lite-1.0.30001518"
       (sources."chalk-4.1.2" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
@@ -105526,7 +104162,7 @@ in
           sources."slash-4.0.0"
         ];
       })
-      sources."core-js-compat-3.31.1"
+      sources."core-js-compat-3.32.0"
       sources."core-util-is-1.0.3"
       sources."cross-fetch-3.1.8"
       (sources."cross-spawn-6.0.5" // {
@@ -105592,7 +104228,7 @@ in
       sources."dot-case-3.0.4"
       sources."duplexer3-0.1.5"
       sources."ee-first-1.1.1"
-      sources."electron-to-chromium-1.4.466"
+      sources."electron-to-chromium-1.4.480"
       sources."emoji-regex-8.0.0"
       sources."emojis-list-3.0.0"
       sources."encodeurl-1.0.2"
@@ -105713,7 +104349,7 @@ in
         ];
       })
       sources."fast-deep-equal-3.1.3"
-      sources."fast-glob-3.3.0"
+      sources."fast-glob-3.3.1"
       sources."fast-json-stable-stringify-2.1.0"
       sources."fastq-1.15.0"
       sources."faye-websocket-0.11.4"
@@ -106048,9 +104684,13 @@ in
       sources."parse-png-2.1.0"
       sources."parseurl-1.3.3"
       sources."pascal-case-3.1.2"
-      (sources."password-prompt-1.1.2" // {
+      (sources."password-prompt-1.1.3" // {
         dependencies = [
-          sources."ansi-escapes-3.2.0"
+          sources."cross-spawn-7.0.3"
+          sources."path-key-3.1.1"
+          sources."shebang-command-2.0.0"
+          sources."shebang-regex-3.0.0"
+          sources."which-2.0.2"
         ];
       })
       sources."path-browserify-1.0.1"
@@ -106091,7 +104731,7 @@ in
         ];
       })
       sources."pngjs-3.4.0"
-      sources."postcss-8.4.26"
+      sources."postcss-8.4.27"
       sources."postcss-calc-8.2.4"
       sources."postcss-colormin-5.3.1"
       sources."postcss-convert-values-5.1.3"
@@ -106351,7 +104991,7 @@ in
         ];
       })
       sources."terminal-link-2.1.1"
-      (sources."terser-5.19.1" // {
+      (sources."terser-5.19.2" // {
         dependencies = [
           sources."commander-2.20.3"
           sources."source-map-support-0.5.21"
@@ -106378,7 +105018,7 @@ in
       sources."traverse-0.6.7"
       sources."tree-kill-1.2.2"
       sources."ts-interface-checker-0.1.13"
-      sources."tslib-2.6.0"
+      sources."tslib-2.6.1"
       sources."turndown-7.0.0"
       sources."type-fest-0.12.0"
       sources."type-is-1.6.18"
@@ -106561,10 +105201,10 @@ in
         ];
       })
       sources."@types/minimist-1.2.2"
-      sources."@types/node-20.4.2"
+      sources."@types/node-20.4.5"
       sources."@types/normalize-package-data-2.4.1"
       sources."@types/prop-types-15.7.5"
-      sources."@types/react-18.2.15"
+      sources."@types/react-18.2.18"
       sources."@types/scheduler-0.16.3"
       sources."@types/yauzl-2.10.0"
       sources."@types/yoga-layout-1.9.2"
@@ -106583,7 +105223,7 @@ in
       sources."base64-js-1.5.1"
       sources."bl-4.1.0"
       sources."brace-expansion-1.1.11"
-      sources."browserslist-4.21.9"
+      sources."browserslist-4.21.10"
       sources."buffer-5.7.1"
       sources."buffer-crc32-0.2.13"
       sources."bufferutil-4.0.7"
@@ -106592,7 +105232,7 @@ in
       sources."callsites-3.1.0"
       sources."camelcase-5.3.1"
       sources."camelcase-keys-6.2.2"
-      sources."caniuse-lite-1.0.30001517"
+      sources."caniuse-lite-1.0.30001518"
       sources."chalk-2.4.2"
       sources."chownr-1.1.4"
       sources."ci-info-2.0.0"
@@ -106618,7 +105258,7 @@ in
       })
       sources."delay-5.0.0"
       sources."devtools-protocol-0.0.981744"
-      sources."electron-to-chromium-1.4.466"
+      sources."electron-to-chromium-1.4.480"
       sources."emoji-regex-8.0.0"
       sources."encoding-0.1.13"
       sources."end-of-stream-1.4.4"
@@ -106838,17 +105478,17 @@ in
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
-      sources."@oclif/command-1.8.33"
-      sources."@oclif/config-1.18.14"
+      sources."@oclif/command-1.8.35"
+      sources."@oclif/config-1.18.16"
       sources."@oclif/errors-1.3.6"
-      (sources."@oclif/help-1.0.12" // {
+      (sources."@oclif/help-1.0.14" // {
         dependencies = [
-          sources."@oclif/config-1.18.12"
+          sources."@oclif/config-1.18.15"
           sources."wrap-ansi-6.2.0"
         ];
       })
       sources."@oclif/linewrap-1.0.0"
-      sources."@oclif/parser-3.8.15"
+      sources."@oclif/parser-3.8.16"
       (sources."@oclif/plugin-autocomplete-0.1.5" // {
         dependencies = [
           sources."ansi-styles-3.2.1"
@@ -106898,7 +105538,11 @@ in
         ];
       })
       sources."bluebird-3.7.2"
-      sources."boxen-5.1.2"
+      (sources."boxen-5.1.2" // {
+        dependencies = [
+          sources."type-fest-0.20.2"
+        ];
+      })
       sources."braces-3.0.2"
       sources."btoa-lite-1.0.0"
       sources."buffer-5.7.1"
@@ -106949,11 +105593,7 @@ in
       sources."combined-stream-1.0.8"
       sources."core-util-is-1.0.3"
       sources."cross-fetch-3.1.8"
-      (sources."cross-spawn-6.0.5" // {
-        dependencies = [
-          sources."semver-5.7.2"
-        ];
-      })
+      sources."cross-spawn-7.0.3"
       sources."csv-parse-5.4.0"
       sources."csv-stream-0.2.0"
       sources."dashdash-1.14.1"
@@ -106978,14 +105618,23 @@ in
       sources."esprima-4.0.1"
       sources."estraverse-4.3.0"
       sources."esutils-2.0.3"
-      sources."execa-0.10.0"
+      (sources."execa-0.10.0" // {
+        dependencies = [
+          sources."cross-spawn-6.0.5"
+          sources."path-key-2.0.1"
+          sources."semver-5.7.2"
+          sources."shebang-command-1.2.0"
+          sources."shebang-regex-1.0.0"
+          sources."which-1.3.1"
+        ];
+      })
       sources."exponential-backoff-3.1.1"
       sources."extend-3.0.2"
       sources."external-editor-3.1.0"
       sources."extract-stack-1.0.0"
       sources."extsprintf-1.3.0"
       sources."fast-deep-equal-3.1.3"
-      sources."fast-glob-3.3.0"
+      sources."fast-glob-3.3.1"
       sources."fast-json-stable-stringify-2.1.0"
       sources."fast-levenshtein-2.0.6"
       sources."fastq-1.15.0"
@@ -107037,7 +105686,6 @@ in
       (sources."inquirer-8.2.5" // {
         dependencies = [
           sources."ansi-escapes-4.3.2"
-          sources."type-fest-0.21.3"
         ];
       })
       sources."into-stream-3.1.0"
@@ -107092,7 +105740,11 @@ in
       sources."node-abort-controller-3.1.1"
       sources."node-fetch-2.6.12"
       sources."normalize-url-2.0.1"
-      sources."npm-run-path-2.0.2"
+      (sources."npm-run-path-2.0.2" // {
+        dependencies = [
+          sources."path-key-2.0.1"
+        ];
+      })
       sources."oauth-sign-0.9.0"
       sources."object-assign-4.1.1"
       sources."object-sizeof-1.6.3"
@@ -107105,8 +105757,12 @@ in
       sources."p-finally-1.0.0"
       sources."p-is-promise-1.1.0"
       sources."p-timeout-2.0.1"
-      sources."password-prompt-1.1.2"
-      sources."path-key-2.0.1"
+      (sources."password-prompt-1.1.3" // {
+        dependencies = [
+          sources."ansi-escapes-4.3.2"
+        ];
+      })
+      sources."path-key-3.1.1"
       sources."path-type-4.0.0"
       sources."performance-now-2.1.0"
       sources."picomatch-2.3.1"
@@ -107120,7 +105776,7 @@ in
       sources."qs-6.5.3"
       sources."query-string-5.1.1"
       sources."queue-microtask-1.2.3"
-      sources."rate-limiter-flexible-2.4.1"
+      sources."rate-limiter-flexible-2.4.2"
       (sources."readable-stream-2.3.8" // {
         dependencies = [
           sources."safe-buffer-5.1.2"
@@ -107139,8 +105795,8 @@ in
       sources."safe-buffer-5.2.1"
       sources."safer-buffer-2.1.2"
       sources."semver-7.5.4"
-      sources."shebang-command-1.2.0"
-      sources."shebang-regex-1.0.0"
+      sources."shebang-command-2.0.0"
+      sources."shebang-regex-3.0.0"
       sources."signal-exit-3.0.7"
       sources."slash-3.0.0"
       sources."sort-keys-2.0.0"
@@ -107171,11 +105827,11 @@ in
       sources."tough-cookie-2.5.0"
       sources."tr46-0.0.3"
       sources."treeify-1.1.0"
-      sources."tslib-2.6.0"
+      sources."tslib-2.6.1"
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
       sources."type-check-0.3.2"
-      sources."type-fest-0.20.2"
+      sources."type-fest-0.21.3"
       sources."universalify-0.1.2"
       sources."uri-js-4.4.1"
       sources."url-parse-lax-3.0.0"
@@ -107190,9 +105846,9 @@ in
       sources."wcwidth-1.0.1"
       sources."webidl-conversions-3.0.1"
       sources."whatwg-url-5.0.0"
-      sources."which-1.3.1"
+      sources."which-2.0.2"
       sources."widest-line-3.1.0"
-      sources."word-wrap-1.2.4"
+      sources."word-wrap-1.2.5"
       sources."wrap-ansi-7.0.0"
       sources."yallist-4.0.0"
     ];
@@ -107209,10 +105865,10 @@ in
   firebase-tools = nodeEnv.buildNodePackage {
     name = "firebase-tools";
     packageName = "firebase-tools";
-    version = "12.4.5";
+    version = "12.4.6";
     src = fetchurl {
-      url = "https://registry.npmjs.org/firebase-tools/-/firebase-tools-12.4.5.tgz";
-      sha512 = "qDDJ1QgbsqQYLNGcOO34ltnqEEbyayKGMDo4Q7ScpGsISf45tYKaVlnLJSwPrIG+tMoljJ8B3s5sqeR32udfQQ==";
+      url = "https://registry.npmjs.org/firebase-tools/-/firebase-tools-12.4.6.tgz";
+      sha512 = "WcHCxBsmFschPDdiKrVQla7kGdTDHuDBKbL01yYEVXCQA3lPXUUfTRS5D1LKi/8RH3Kv0MkvO2eXNuxIGo2qmg==";
     };
     dependencies = [
       (sources."@apidevtools/json-schema-ref-parser-9.1.2" // {
@@ -107227,12 +105883,12 @@ in
       sources."@google-cloud/precise-date-3.0.1"
       sources."@google-cloud/projectify-3.0.0"
       sources."@google-cloud/promisify-2.0.4"
-      (sources."@google-cloud/pubsub-3.7.1" // {
+      (sources."@google-cloud/pubsub-3.7.3" // {
         dependencies = [
           sources."google-auth-library-8.9.0"
         ];
       })
-      sources."@grpc/grpc-js-1.8.18"
+      sources."@grpc/grpc-js-1.8.21"
       sources."@grpc/proto-loader-0.7.8"
       (sources."@isaacs/cliui-8.0.2" // {
         dependencies = [
@@ -107277,7 +105933,7 @@ in
       sources."@types/markdown-it-12.2.3"
       sources."@types/mdurl-1.0.2"
       sources."@types/minimatch-5.1.2"
-      sources."@types/node-20.4.2"
+      sources."@types/node-20.4.5"
       sources."@types/rimraf-3.0.2"
       sources."@types/triple-beam-1.3.2"
       sources."abbrev-1.1.1"
@@ -107492,7 +106148,7 @@ in
           sources."estraverse-4.3.0"
         ];
       })
-      sources."eslint-visitor-keys-3.4.1"
+      sources."eslint-visitor-keys-3.4.2"
       sources."espree-9.6.1"
       sources."esprima-4.0.1"
       sources."estraverse-5.3.0"
@@ -107549,7 +106205,7 @@ in
       sources."fn.name-1.1.0"
       (sources."foreground-child-3.1.1" // {
         dependencies = [
-          sources."signal-exit-4.0.2"
+          sources."signal-exit-4.1.0"
         ];
       })
       sources."forever-agent-0.6.1"
@@ -107653,7 +106309,7 @@ in
       sources."isexe-2.0.0"
       sources."isomorphic-fetch-3.0.0"
       sources."isstream-0.1.2"
-      sources."jackspeak-2.2.1"
+      sources."jackspeak-2.2.2"
       sources."jju-1.4.0"
       sources."join-path-1.1.1"
       (sources."js-yaml-3.14.1" // {
@@ -107883,7 +106539,7 @@ in
           sources."strip-json-comments-2.0.1"
         ];
       })
-      sources."re2-1.19.1"
+      sources."re2-1.20.1"
       sources."readable-stream-3.6.2"
       (sources."readdir-glob-1.1.3" // {
         dependencies = [
@@ -108005,7 +106661,7 @@ in
       sources."toxic-1.0.1"
       sources."tr46-0.0.3"
       sources."triple-beam-1.4.1"
-      sources."tslib-2.6.0"
+      sources."tslib-2.6.1"
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
       sources."type-check-0.3.2"
@@ -108037,14 +106693,14 @@ in
       })
       sources."wcwidth-1.0.1"
       sources."webidl-conversions-3.0.1"
-      sources."whatwg-fetch-3.6.16"
+      sources."whatwg-fetch-3.6.17"
       sources."whatwg-url-5.0.0"
       sources."which-1.3.1"
       sources."wide-align-1.1.5"
       sources."widest-line-3.1.0"
       sources."winston-3.10.0"
       sources."winston-transport-4.5.0"
-      sources."word-wrap-1.2.4"
+      sources."word-wrap-1.2.5"
       sources."wrap-ansi-7.0.0"
       sources."wrap-ansi-cjs-7.0.0"
       sources."wrappy-1.0.2"
@@ -108189,7 +106845,7 @@ in
         ];
       })
       sources."find-up-5.0.0"
-      sources."fkill-8.1.0"
+      sources."fkill-8.1.1"
       sources."function-bind-1.1.1"
       sources."fuzzy-search-3.2.1"
       sources."get-stream-6.0.1"
@@ -108312,7 +106968,7 @@ in
       sources."through-2.3.8"
       sources."tmp-0.0.33"
       sources."trim-newlines-4.1.1"
-      sources."tslib-2.6.0"
+      sources."tslib-2.6.1"
       sources."type-fest-0.21.3"
       sources."util-deprecate-1.0.2"
       sources."validate-npm-package-license-3.0.4"
@@ -108353,7 +107009,7 @@ in
       sources."@types/atob-2.1.2"
       sources."@types/bn.js-5.1.1"
       sources."@types/inquirer-6.5.0"
-      sources."@types/node-20.4.2"
+      sources."@types/node-20.4.5"
       sources."@types/pbkdf2-3.1.0"
       sources."@types/secp256k1-4.0.3"
       sources."@types/through-0.0.30"
@@ -109065,7 +107721,7 @@ in
       sources."@trufflesuite/uws-js-unofficial-20.10.0-unofficial.2"
       sources."@types/bn.js-5.1.1"
       sources."@types/lru-cache-5.1.1"
-      sources."@types/node-20.4.2"
+      sources."@types/node-20.4.5"
       sources."@types/seedrandom-3.0.1"
       sources."abstract-level-1.0.3"
       (sources."abstract-leveldown-7.2.0" // {
@@ -109197,7 +107853,7 @@ in
       sources."@types/common-tags-1.8.1"
       sources."@types/http-cache-semantics-4.0.1"
       sources."@types/keyv-3.1.4"
-      sources."@types/node-20.4.2"
+      sources."@types/node-20.4.5"
       sources."@types/node-fetch-2.6.4"
       sources."@types/responselike-1.0.0"
       sources."@types/yoga-layout-1.9.2"
@@ -109216,7 +107872,7 @@ in
       sources."boolbase-1.0.0"
       sources."boxen-5.1.2"
       sources."brace-expansion-1.1.11"
-      sources."browserslist-4.21.9"
+      sources."browserslist-4.21.10"
       sources."cacheable-lookup-5.0.4"
       (sources."cacheable-request-7.0.4" // {
         dependencies = [
@@ -109224,7 +107880,7 @@ in
         ];
       })
       sources."camelcase-6.3.0"
-      sources."caniuse-lite-1.0.30001517"
+      sources."caniuse-lite-1.0.30001518"
       (sources."chalk-4.1.2" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
@@ -109285,7 +107941,7 @@ in
       sources."domhandler-4.3.1"
       sources."domutils-2.8.0"
       sources."dot-prop-5.3.0"
-      sources."electron-to-chromium-1.4.466"
+      sources."electron-to-chromium-1.4.480"
       sources."emoji-regex-8.0.0"
       sources."encoding-0.1.13"
       sources."end-of-stream-1.4.4"
@@ -109864,7 +108520,7 @@ in
           sources."iconv-lite-0.4.24"
         ];
       })
-      sources."fast-glob-3.3.0"
+      sources."fast-glob-3.3.1"
       sources."fast-plist-0.1.3"
       sources."fastq-1.15.0"
       sources."figures-3.2.0"
@@ -109879,7 +108535,7 @@ in
       sources."first-chunk-stream-2.0.0"
       (sources."foreground-child-3.1.1" // {
         dependencies = [
-          sources."signal-exit-4.0.2"
+          sources."signal-exit-4.1.0"
         ];
       })
       sources."fs-minipass-3.0.2"
@@ -109950,7 +108606,7 @@ in
       sources."isarray-1.0.0"
       sources."isbinaryfile-5.0.0"
       sources."isexe-2.0.0"
-      sources."jackspeak-2.2.1"
+      sources."jackspeak-2.2.2"
       (sources."jake-10.8.7" // {
         dependencies = [
           sources."brace-expansion-1.1.11"
@@ -110041,7 +108697,7 @@ in
       sources."npm-normalize-package-bin-3.0.1"
       sources."npm-package-arg-10.1.0"
       sources."npm-packlist-7.0.4"
-      sources."npm-pick-manifest-8.0.1"
+      sources."npm-pick-manifest-8.0.2"
       sources."npm-registry-fetch-14.0.5"
       sources."npm-run-path-4.0.1"
       sources."npmlog-6.0.2"
@@ -110187,7 +108843,7 @@ in
       sources."tr46-0.0.3"
       sources."treeverse-1.0.4"
       sources."truncate-utf8-bytes-1.0.2"
-      sources."tslib-2.6.0"
+      sources."tslib-2.6.1"
       sources."tuf-js-1.1.7"
       sources."type-fest-0.8.1"
       sources."unique-filename-3.0.0"
@@ -110634,15 +109290,15 @@ in
   "@gitbeaker/cli" = nodeEnv.buildNodePackage {
     name = "_at_gitbeaker_slash_cli";
     packageName = "@gitbeaker/cli";
-    version = "39.8.0";
+    version = "39.10.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@gitbeaker/cli/-/cli-39.8.0.tgz";
-      sha512 = "NKPA8wL0nd/3IX28nS+x9GVjn6a85pN2akpiv5VCEeRVTBsbu7yHatuWZisqt2lFGEuRhpaUrIAt2peDLHmX/w==";
+      url = "https://registry.npmjs.org/@gitbeaker/cli/-/cli-39.10.2.tgz";
+      sha512 = "kDM08MsuMDs2cjt7XvKKxpziCsewVIbBu9wUl/RRuaXtqneUyFJB4eD80w3T2xwAzOJ5Py1Qj/CaIxc+BGqQCA==";
     };
     dependencies = [
-      sources."@gitbeaker/core-39.8.0"
-      sources."@gitbeaker/requester-utils-39.8.0"
-      sources."@gitbeaker/rest-39.8.0"
+      sources."@gitbeaker/core-39.10.2"
+      sources."@gitbeaker/requester-utils-39.10.2"
+      sources."@gitbeaker/rest-39.10.2"
       sources."ansi-styles-4.3.0"
       sources."call-bind-1.0.2"
       sources."chalk-4.1.2"
@@ -110693,6 +109349,7 @@ in
           sources."supports-color-5.5.0"
         ];
       })
+      sources."@ljharb/through-2.3.9"
       sources."@pnpm/config.env-replace-1.1.0"
       (sources."@pnpm/network.ca-file-1.0.2" // {
         dependencies = [
@@ -110700,7 +109357,7 @@ in
         ];
       })
       sources."@pnpm/npm-conf-2.2.2"
-      sources."@sindresorhus/is-5.5.2"
+      sources."@sindresorhus/is-5.6.0"
       sources."@szmarczak/http-timer-5.0.1"
       sources."@tootallnate/once-1.1.2"
       sources."@types/http-cache-semantics-4.0.1"
@@ -110721,7 +109378,7 @@ in
       sources."ansi-styles-4.3.0"
       sources."arrify-1.0.1"
       sources."ast-types-0.13.4"
-      sources."atomically-2.0.1"
+      sources."atomically-2.0.2"
       sources."base64-js-1.5.1"
       sources."bl-4.1.0"
       (sources."boxen-7.1.1" // {
@@ -110737,7 +109394,7 @@ in
       sources."buffer-5.7.1"
       sources."bytes-3.1.2"
       sources."cacheable-lookup-7.0.0"
-      sources."cacheable-request-10.2.12"
+      sources."cacheable-request-10.2.13"
       sources."camelcase-7.0.1"
       sources."camelcase-keys-8.0.2"
       sources."chalk-5.3.0"
@@ -110800,7 +109457,7 @@ in
       sources."esprima-4.0.1"
       sources."estraverse-4.3.0"
       sources."esutils-2.0.3"
-      sources."execa-7.1.1"
+      sources."execa-7.2.0"
       sources."external-editor-3.1.0"
       sources."fast-deep-equal-3.1.3"
       sources."fast-levenshtein-2.0.6"
@@ -110854,7 +109511,7 @@ in
       sources."indent-string-5.0.0"
       sources."inherits-2.0.4"
       sources."ini-2.0.0"
-      (sources."inquirer-9.2.8" // {
+      (sources."inquirer-9.2.9" // {
         dependencies = [
           sources."is-unicode-supported-0.1.0"
           (sources."ora-5.4.1" // {
@@ -110925,7 +109582,7 @@ in
       sources."mute-stream-1.0.0"
       sources."netmask-2.0.2"
       sources."node-domexception-1.0.0"
-      sources."node-fetch-3.3.1"
+      sources."node-fetch-3.3.2"
       sources."normalize-package-data-4.0.1"
       sources."normalize-url-8.0.0"
       (sources."npm-run-path-5.1.0" // {
@@ -111031,13 +109688,12 @@ in
       sources."strip-final-newline-3.0.0"
       sources."strip-indent-4.0.0"
       sources."strip-json-comments-2.0.1"
-      sources."stubborn-fs-1.2.4"
+      sources."stubborn-fs-1.2.5"
       sources."supports-color-7.2.0"
-      sources."through-2.3.8"
       sources."tmp-0.0.33"
       sources."toidentifier-1.0.1"
       sources."trim-newlines-4.1.1"
-      sources."tslib-2.6.0"
+      sources."tslib-2.6.1"
       sources."type-check-0.3.2"
       sources."type-fest-2.19.0"
       sources."typedarray-to-buffer-3.1.5"
@@ -111062,7 +109718,7 @@ in
           sources."strip-ansi-7.1.0"
         ];
       })
-      sources."word-wrap-1.2.4"
+      sources."word-wrap-1.2.5"
       sources."wrap-ansi-6.2.0"
       sources."write-file-atomic-3.0.3"
       sources."xdg-basedir-5.1.0"
@@ -111104,7 +109760,7 @@ in
       sources."foreground-child-3.1.1"
       sources."is-fullwidth-code-point-3.0.0"
       sources."isexe-2.0.0"
-      sources."jackspeak-2.2.1"
+      sources."jackspeak-2.2.2"
       sources."lru-cache-10.0.0"
       sources."minimatch-9.0.3"
       sources."minipass-7.0.2"
@@ -111112,7 +109768,7 @@ in
       sources."path-scurry-1.10.1"
       sources."shebang-command-2.0.0"
       sources."shebang-regex-3.0.0"
-      sources."signal-exit-4.0.2"
+      sources."signal-exit-4.1.0"
       sources."string-width-5.1.2"
       (sources."string-width-cjs-4.2.3" // {
         dependencies = [
@@ -111289,7 +109945,7 @@ in
       sources."unbzip2-stream-1.4.3"
       sources."util-deprecate-1.0.2"
       sources."webidl-conversions-3.0.1"
-      sources."whatwg-fetch-3.6.16"
+      sources."whatwg-fetch-3.6.17"
       sources."whatwg-url-5.0.0"
       sources."wrap-ansi-7.0.0"
       sources."wrappy-1.0.2"
@@ -111393,7 +110049,7 @@ in
           sources."supports-color-5.5.0"
         ];
       })
-      sources."@exodus/schemasafe-1.0.1"
+      sources."@exodus/schemasafe-1.1.1"
       sources."@graphql-cli/common-4.1.0"
       (sources."@graphql-cli/init-4.1.0" // {
         dependencies = [
@@ -111431,7 +110087,7 @@ in
       (sources."@graphql-tools/import-6.7.18" // {
         dependencies = [
           sources."@graphql-tools/utils-9.2.1"
-          sources."tslib-2.6.0"
+          sources."tslib-2.6.1"
         ];
       })
       (sources."@graphql-tools/json-file-loader-6.2.6" // {
@@ -111443,7 +110099,7 @@ in
           })
           (sources."camel-case-4.1.2" // {
             dependencies = [
-              sources."tslib-2.6.0"
+              sources."tslib-2.6.1"
             ];
           })
         ];
@@ -111459,7 +110115,7 @@ in
         dependencies = [
           sources."@graphql-tools/merge-8.3.1"
           sources."@graphql-tools/utils-8.9.0"
-          sources."tslib-2.6.0"
+          sources."tslib-2.6.1"
         ];
       })
       (sources."@graphql-tools/url-loader-6.10.1" // {
@@ -111490,7 +110146,7 @@ in
       sources."@nodelib/fs.walk-1.2.8"
       sources."@sindresorhus/is-0.14.0"
       sources."@szmarczak/http-timer-1.1.2"
-      sources."@types/node-20.4.2"
+      sources."@types/node-20.4.5"
       sources."@types/parse-json-4.0.0"
       sources."@types/websocket-1.0.2"
       sources."abort-controller-3.0.0"
@@ -111603,7 +110259,7 @@ in
       sources."extract-files-9.0.0"
       sources."extsprintf-1.3.0"
       sources."fast-deep-equal-3.1.3"
-      sources."fast-glob-3.3.0"
+      sources."fast-glob-3.3.1"
       sources."fast-json-stable-stringify-2.1.0"
       sources."fast-safe-stringify-2.1.1"
       sources."fastq-1.15.0"
@@ -111747,7 +110403,7 @@ in
       })
       (sources."lower-case-2.0.2" // {
         dependencies = [
-          sources."tslib-2.6.0"
+          sources."tslib-2.6.1"
         ];
       })
       sources."lowercase-keys-1.0.1"
@@ -111774,7 +110430,7 @@ in
       sources."nice-try-1.0.5"
       (sources."no-case-3.0.4" // {
         dependencies = [
-          sources."tslib-2.6.0"
+          sources."tslib-2.6.1"
         ];
       })
       sources."node-emoji-1.10.0"
@@ -111833,7 +110489,7 @@ in
       sources."parse-json-5.2.0"
       (sources."pascal-case-3.1.2" // {
         dependencies = [
-          sources."tslib-2.6.0"
+          sources."tslib-2.6.1"
         ];
       })
       sources."passwd-user-3.0.0"
@@ -112011,7 +110667,7 @@ in
       sources."@graphql-tools/merge-9.0.0"
       sources."@graphql-tools/schema-10.0.0"
       sources."@graphql-tools/url-loader-8.0.0"
-      sources."@graphql-tools/utils-10.0.3"
+      sources."@graphql-tools/utils-10.0.4"
       sources."@graphql-tools/wrap-10.0.0"
       sources."@graphql-typed-document-node/core-3.2.0"
       sources."@iarna/toml-2.2.5"
@@ -112029,7 +110685,7 @@ in
       sources."@nodelib/fs.walk-1.2.8"
       sources."@repeaterjs/repeater-3.0.4"
       sources."@types/estree-1.0.1"
-      sources."@types/node-20.4.2"
+      sources."@types/node-20.4.5"
       sources."@types/ws-8.5.5"
       sources."@types/yargs-16.0.5"
       sources."@types/yargs-parser-21.0.0"
@@ -112041,7 +110697,7 @@ in
       sources."@vue/shared-3.3.4"
       sources."@whatwg-node/events-0.1.1"
       sources."@whatwg-node/fetch-0.9.9"
-      sources."@whatwg-node/node-fetch-0.4.10"
+      sources."@whatwg-node/node-fetch-0.4.11"
       sources."acorn-8.10.0"
       sources."ansi-regex-5.0.1"
       sources."ansi-styles-3.2.1"
@@ -112052,11 +110708,11 @@ in
       sources."balanced-match-1.0.2"
       sources."brace-expansion-1.1.11"
       sources."braces-3.0.2"
-      sources."browserslist-4.21.9"
+      sources."browserslist-4.21.10"
       sources."bufferutil-4.0.7"
       sources."busboy-1.6.0"
       sources."callsites-3.1.0"
-      sources."caniuse-lite-1.0.30001517"
+      sources."caniuse-lite-1.0.30001518"
       sources."chalk-2.4.2"
       sources."cliui-7.0.4"
       (sources."code-red-1.0.3" // {
@@ -112079,7 +110735,7 @@ in
       sources."dir-glob-3.0.1"
       sources."dotenv-8.2.0"
       sources."dset-3.1.2"
-      sources."electron-to-chromium-1.4.466"
+      sources."electron-to-chromium-1.4.480"
       sources."emoji-regex-8.0.0"
       sources."encoding-0.1.13"
       sources."error-ex-1.3.2"
@@ -112088,7 +110744,7 @@ in
       sources."estree-walker-2.0.2"
       sources."extract-files-11.0.0"
       sources."fast-decode-uri-component-1.0.1"
-      sources."fast-glob-3.3.0"
+      sources."fast-glob-3.3.1"
       sources."fast-querystring-1.1.2"
       sources."fast-url-parser-1.1.3"
       sources."fastq-1.15.0"
@@ -112136,7 +110792,7 @@ in
       sources."locate-character-3.0.0"
       sources."lower-case-2.0.2"
       sources."lru-cache-5.1.1"
-      sources."magic-string-0.30.1"
+      sources."magic-string-0.30.2"
       sources."mdn-data-2.0.30"
       sources."merge2-1.4.1"
       sources."meros-1.3.0"
@@ -112166,7 +110822,7 @@ in
       })
       sources."picocolors-1.0.0"
       sources."picomatch-2.3.1"
-      sources."postcss-8.4.26"
+      sources."postcss-8.4.27"
       sources."punycode-1.4.1"
       sources."queue-microtask-1.2.3"
       sources."regenerator-runtime-0.13.11"
@@ -112184,7 +110840,7 @@ in
       sources."string-width-4.2.3"
       sources."strip-ansi-6.0.1"
       sources."supports-color-5.5.0"
-      (sources."svelte-4.1.0" // {
+      (sources."svelte-4.1.2" // {
         dependencies = [
           sources."estree-walker-3.0.3"
         ];
@@ -112193,7 +110849,7 @@ in
       sources."to-fast-properties-2.0.0"
       sources."to-regex-range-5.0.1"
       sources."tr46-0.0.3"
-      sources."tslib-2.6.0"
+      sources."tslib-2.6.1"
       sources."typescript-5.1.6"
       sources."unixify-1.0.0"
       sources."update-browserslist-db-1.0.11"
@@ -112295,7 +110951,7 @@ in
       sources."@oclif/config-1.17.0"
       sources."@oclif/errors-1.3.4"
       sources."@oclif/linewrap-1.0.0"
-      (sources."@oclif/parser-3.8.15" // {
+      (sources."@oclif/parser-3.8.16" // {
         dependencies = [
           sources."@oclif/errors-1.3.6"
         ];
@@ -112325,7 +110981,7 @@ in
       sources."@peculiar/webcrypto-1.4.3"
       sources."@repeaterjs/repeater-3.0.4"
       sources."@types/json-schema-7.0.9"
-      sources."@types/node-20.4.2"
+      sources."@types/node-20.4.5"
       sources."@types/ws-8.5.5"
       sources."@whatwg-node/events-0.0.3"
       sources."@whatwg-node/fetch-0.8.8"
@@ -112386,11 +111042,7 @@ in
       sources."cookie-signature-1.0.6"
       sources."cosmiconfig-8.0.0"
       sources."cosmiconfig-toml-loader-1.0.0"
-      (sources."cross-spawn-6.0.5" // {
-        dependencies = [
-          sources."semver-5.7.2"
-        ];
-      })
+      sources."cross-spawn-7.0.3"
       sources."cwise-compiler-1.1.3"
       sources."dataloader-2.2.2"
       sources."debug-4.3.4"
@@ -112421,7 +111073,7 @@ in
       sources."extract-files-11.0.0"
       sources."extract-stack-1.0.0"
       sources."fast-decode-uri-component-1.0.1"
-      sources."fast-glob-3.3.0"
+      sources."fast-glob-3.3.1"
       sources."fast-querystring-1.1.2"
       sources."fast-url-parser-1.1.3"
       sources."fastq-1.15.0"
@@ -112512,7 +111164,6 @@ in
       sources."ndarray-pack-1.2.1"
       sources."negotiator-0.6.3"
       sources."nextgen-events-1.5.3"
-      sources."nice-try-1.0.5"
       sources."node-bitmap-0.0.1"
       sources."node-fetch-2.6.12"
       sources."node-gyp-build-4.6.0"
@@ -112525,8 +111176,12 @@ in
       sources."parent-module-1.0.1"
       sources."parse-json-5.2.0"
       sources."parseurl-1.3.3"
-      sources."password-prompt-1.1.2"
-      sources."path-key-2.0.1"
+      (sources."password-prompt-1.1.3" // {
+        dependencies = [
+          sources."ansi-escapes-4.3.2"
+        ];
+      })
+      sources."path-key-3.1.1"
       sources."path-to-regexp-0.1.7"
       sources."path-type-4.0.0"
       sources."picomatch-2.3.1"
@@ -112563,8 +111218,8 @@ in
       sources."setimmediate-1.0.5"
       sources."setprototypeof-1.1.0"
       sources."seventh-0.7.40"
-      sources."shebang-command-1.2.0"
-      sources."shebang-regex-1.0.0"
+      sources."shebang-command-2.0.0"
+      sources."shebang-regex-3.0.0"
       sources."slash-3.0.0"
       sources."statuses-1.4.0"
       sources."streamsearch-1.1.0"
@@ -112592,9 +111247,10 @@ in
       sources."terminal-kit-1.49.4"
       sources."to-regex-range-5.0.1"
       sources."tr46-0.0.3"
-      sources."tree-kit-0.7.4"
+      sources."tree-kit-0.7.5"
       sources."treeify-1.1.0"
-      sources."tslib-2.6.0"
+      sources."tslib-2.6.1"
+      sources."type-fest-0.21.3"
       sources."type-is-1.6.18"
       sources."uniq-1.0.1"
       sources."universalify-0.1.2"
@@ -112609,9 +111265,9 @@ in
       sources."web-streams-polyfill-3.2.1"
       sources."webcrypto-core-1.7.7"
       sources."webidl-conversions-3.0.1"
-      sources."whatwg-fetch-3.6.16"
+      sources."whatwg-fetch-3.6.17"
       sources."whatwg-url-5.0.0"
-      sources."which-1.3.1"
+      sources."which-2.0.2"
       sources."widest-line-3.1.0"
       sources."wrap-ansi-7.0.0"
       (sources."ws-7.4.2" // {
@@ -112858,99 +111514,6 @@ in
     bypassCache = true;
     reconstructLock = true;
   };
-  gtop = nodeEnv.buildNodePackage {
-    name = "gtop";
-    packageName = "gtop";
-    version = "1.1.3";
-    src = fetchurl {
-      url = "https://registry.npmjs.org/gtop/-/gtop-1.1.3.tgz";
-      sha512 = "LkZYdWebxn7qeQApnDN7Q50rwCg4raayL4DIQNPdhIyNKwwm3rbKHeX4+K4cV0SKBen7jVkY4s1c7aIdxGsF8A==";
-    };
-    dependencies = [
-      sources."@colors/colors-1.5.0"
-      sources."abbrev-1.1.1"
-      sources."ansi-escapes-6.2.0"
-      sources."ansi-regex-2.1.1"
-      sources."ansi-styles-2.2.1"
-      sources."ansi-term-0.0.2"
-      sources."ansicolors-0.3.2"
-      sources."blessed-0.1.81"
-      sources."blessed-contrib-4.11.0"
-      sources."bresenham-0.0.3"
-      sources."buffers-0.1.1"
-      sources."cardinal-2.1.1"
-      sources."chalk-1.1.3"
-      sources."charm-0.1.2"
-      sources."cli-table3-0.6.3"
-      sources."core-util-is-1.0.3"
-      sources."drawille-blessed-contrib-1.0.0"
-      sources."drawille-canvas-blessed-contrib-0.1.3"
-      sources."emoji-regex-8.0.0"
-      sources."escape-string-regexp-1.0.5"
-      sources."esprima-4.0.1"
-      (sources."event-stream-0.9.8" // {
-        dependencies = [
-          sources."optimist-0.2.8"
-        ];
-      })
-      sources."gl-matrix-2.8.1"
-      sources."has-ansi-2.0.0"
-      sources."has-flag-4.0.0"
-      sources."here-0.0.2"
-      sources."inherits-2.0.4"
-      sources."is-fullwidth-code-point-3.0.0"
-      sources."isarray-0.0.1"
-      sources."lodash-4.17.21"
-      sources."map-canvas-0.1.5"
-      sources."marked-4.3.0"
-      (sources."marked-terminal-5.2.0" // {
-        dependencies = [
-          sources."chalk-5.3.0"
-        ];
-      })
-      sources."memory-streams-0.1.3"
-      sources."memorystream-0.3.1"
-      sources."node-emoji-1.11.0"
-      sources."nopt-2.1.2"
-      sources."optimist-0.3.7"
-      sources."picture-tuber-1.0.2"
-      sources."png-js-0.1.1"
-      sources."readable-stream-1.0.34"
-      sources."redeyed-2.1.1"
-      sources."sax-1.2.4"
-      sources."sparkline-0.1.2"
-      (sources."string-width-4.2.3" // {
-        dependencies = [
-          sources."ansi-regex-5.0.1"
-          sources."strip-ansi-6.0.1"
-        ];
-      })
-      sources."string_decoder-0.10.31"
-      sources."strip-ansi-3.0.1"
-      sources."supports-color-2.0.0"
-      (sources."supports-hyperlinks-2.3.0" // {
-        dependencies = [
-          sources."supports-color-7.2.0"
-        ];
-      })
-      sources."systeminformation-5.18.7"
-      sources."term-canvas-0.0.5"
-      sources."type-fest-3.13.1"
-      sources."wordwrap-0.0.3"
-      sources."x256-0.0.2"
-      sources."xml2js-0.4.23"
-      sources."xmlbuilder-11.0.1"
-    ];
-    buildInputs = globalBuildInputs;
-    meta = {
-      description = "graphic top";
-      homepage = "https://github.com/aksakalli/gtop#readme";
-      license = "MIT";
-    };
-    production = true;
-    bypassCache = true;
-    reconstructLock = true;
-  };
   gulp = nodeEnv.buildNodePackage {
     name = "gulp";
     packageName = "gulp";
@@ -114149,7 +112712,7 @@ in
       sources."@colors/colors-1.5.0"
       sources."@fast-csv/format-4.3.5"
       sources."@fast-csv/parse-4.3.6"
-      sources."@types/node-14.18.53"
+      sources."@types/node-14.18.54"
       sources."ajv-6.12.6"
       sources."ansi-regex-5.0.1"
       sources."ansi-styles-4.3.0"
@@ -114159,7 +112722,7 @@ in
       sources."async-2.6.4"
       sources."asynckit-0.4.0"
       sources."available-typed-arrays-1.0.5"
-      sources."aws-sdk-2.1418.0"
+      sources."aws-sdk-2.1427.0"
       sources."aws-sign2-0.7.0"
       sources."aws4-1.12.0"
       sources."base64-js-1.5.1"
@@ -114348,7 +112911,7 @@ in
           sources."colors-1.0.3"
         ];
       })
-      sources."word-wrap-1.2.4"
+      sources."word-wrap-1.2.5"
       sources."wrap-ansi-7.0.0"
       sources."xml2js-0.5.0"
       sources."xmlbuilder-11.0.1"
@@ -114682,10 +113245,10 @@ in
   immich = nodeEnv.buildNodePackage {
     name = "immich";
     packageName = "immich";
-    version = "0.39.0";
+    version = "0.40.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/immich/-/immich-0.39.0.tgz";
-      sha512 = "FoIj/ZV7QrjuBC7F6o6YZ8jqLZDJCZwrr80CxkzERPI7qX8YrSjR1GM4ocA/9oT7p7iA+dIxT//BF5MKNPkn4g==";
+      url = "https://registry.npmjs.org/immich/-/immich-0.40.2.tgz";
+      sha512 = "OT3ysAfWq/0XkFNdf+SIJxUYvMoaNNLQZGm6peezzb/jNTkUoEVzE5uZNPqQ08Yy8JEOfB6h5qxOHujMOnPBkA==";
     };
     dependencies = [
       sources."ansi-regex-5.0.1"
@@ -114713,7 +113276,7 @@ in
       sources."string-width-4.2.3"
       sources."strip-ansi-6.0.1"
       sources."supports-color-5.5.0"
-      sources."systeminformation-5.18.7"
+      sources."systeminformation-5.18.10"
       sources."yocto-queue-0.1.0"
     ];
     buildInputs = globalBuildInputs;
@@ -114762,10 +113325,10 @@ in
   insect = nodeEnv.buildNodePackage {
     name = "insect";
     packageName = "insect";
-    version = "5.8.2";
+    version = "5.9.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/insect/-/insect-5.8.2.tgz";
-      sha512 = "tUESkfAyk3IXd+bHPANmW9j8RV/1zz20hxM6qtL6K3j2lEB2nO55GpFXI4eHkbAKCkBaJA65zHbT2bBK0lNwvw==";
+      url = "https://registry.npmjs.org/insect/-/insect-5.9.0.tgz";
+      sha512 = "F1+BVkyIkzZ/zD1DiNgxcc33lGt7WQ1V8caX2X7JNXo+g0Wnr8339mSHT1PAtfupmTDz/OQ2MmXHPBRIddpt+w==";
     };
     dependencies = [
       sources."@jcubic/lily-0.3.0"
@@ -114788,7 +113351,7 @@ in
       sources."is-wsl-2.2.0"
       sources."isexe-2.0.0"
       sources."jquery-3.7.0"
-      sources."jquery.terminal-2.36.0"
+      sources."jquery.terminal-2.37.0"
       sources."keyboardevent-key-polyfill-1.1.0"
       sources."line-reader-0.4.0"
       sources."nice-try-1.0.5"
@@ -114846,10 +113409,10 @@ in
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
       sources."@opentelemetry/api-1.4.1"
-      sources."@opentelemetry/core-1.15.0"
-      sources."@opentelemetry/resources-1.15.0"
-      sources."@opentelemetry/sdk-trace-base-1.15.0"
-      sources."@opentelemetry/semantic-conventions-1.15.0"
+      sources."@opentelemetry/core-1.15.1"
+      sources."@opentelemetry/resources-1.15.1"
+      sources."@opentelemetry/sdk-trace-base-1.15.1"
+      sources."@opentelemetry/semantic-conventions-1.15.1"
       sources."@protobufjs/aspromise-1.1.2"
       sources."@protobufjs/base64-1.1.2"
       sources."@protobufjs/codegen-2.0.4"
@@ -114861,7 +113424,7 @@ in
       sources."@protobufjs/pool-1.1.0"
       sources."@protobufjs/utf8-1.1.0"
       sources."@selderee/plugin-htmlparser2-0.11.0"
-      sources."@types/node-20.4.2"
+      sources."@types/node-20.4.5"
       (sources."@types/node-fetch-2.6.4" // {
         dependencies = [
           sources."form-data-3.0.1"
@@ -115076,7 +113639,7 @@ in
       sources."to-regex-range-5.0.1"
       sources."tough-cookie-4.1.3"
       sources."tr46-0.0.3"
-      sources."tslib-2.6.0"
+      sources."tslib-2.6.1"
       sources."tunnel-0.0.6"
       sources."tunnel-agent-0.6.0"
       sources."turndown-7.1.2"
@@ -115160,7 +113723,7 @@ in
       sources."ansi-styles-3.2.1"
       (sources."ast-types-0.13.4" // {
         dependencies = [
-          sources."tslib-2.6.0"
+          sources."tslib-2.6.1"
         ];
       })
       sources."astral-regex-2.0.0"
@@ -115426,7 +113989,7 @@ in
       sources."uuid-3.4.0"
       sources."which-2.0.2"
       sources."windows-release-3.3.3"
-      sources."word-wrap-1.2.4"
+      sources."word-wrap-1.2.5"
       (sources."wrap-ansi-6.2.0" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
@@ -115691,7 +114254,7 @@ in
       sources."@aws-sdk/service-error-classification-3.296.0"
       sources."@aws-sdk/shared-ini-file-loader-3.296.0"
       sources."@aws-sdk/signature-v4-3.296.0"
-      sources."@aws-sdk/signature-v4-crt-3.370.0"
+      sources."@aws-sdk/signature-v4-crt-3.378.0"
       sources."@aws-sdk/signature-v4-multi-region-3.296.0"
       sources."@aws-sdk/smithy-client-3.296.0"
       sources."@aws-sdk/token-providers-3.296.0"
@@ -115722,7 +114285,7 @@ in
       sources."@aws-sdk/util-waiter-3.296.0"
       sources."@aws-sdk/xml-builder-3.295.0"
       sources."@babel/runtime-7.22.6"
-      sources."@braintree/sanitize-url-6.0.2"
+      sources."@braintree/sanitize-url-6.0.3"
       sources."@cronvel/get-pixels-3.4.1"
       sources."@gar/promisify-1.1.3"
       sources."@httptoolkit/websocket-stream-6.0.1"
@@ -115758,19 +114321,19 @@ in
           sources."rimraf-3.0.2"
         ];
       })
-      sources."@smithy/eventstream-codec-1.0.2"
-      sources."@smithy/is-array-buffer-1.0.2"
-      sources."@smithy/querystring-parser-1.0.2"
-      sources."@smithy/signature-v4-1.0.2"
-      sources."@smithy/types-1.1.1"
-      sources."@smithy/util-buffer-from-1.0.2"
-      sources."@smithy/util-hex-encoding-1.0.2"
-      sources."@smithy/util-middleware-1.0.2"
-      sources."@smithy/util-uri-escape-1.0.2"
-      sources."@smithy/util-utf8-1.0.2"
+      sources."@smithy/eventstream-codec-2.0.1"
+      sources."@smithy/is-array-buffer-2.0.0"
+      sources."@smithy/querystring-parser-2.0.1"
+      sources."@smithy/signature-v4-2.0.1"
+      sources."@smithy/types-2.0.2"
+      sources."@smithy/util-buffer-from-2.0.0"
+      sources."@smithy/util-hex-encoding-2.0.0"
+      sources."@smithy/util-middleware-2.0.0"
+      sources."@smithy/util-uri-escape-2.0.0"
+      sources."@smithy/util-utf8-2.0.0"
       sources."@tootallnate/once-2.0.0"
       sources."@types/nanoid-3.0.0"
-      sources."@types/node-20.4.2"
+      sources."@types/node-20.4.5"
       sources."@types/ws-8.5.5"
       sources."abab-2.0.6"
       sources."abbrev-1.1.1"
@@ -115810,7 +114373,7 @@ in
       sources."asynckit-0.4.0"
       sources."atob-2.1.2"
       sources."available-typed-arrays-1.0.5"
-      sources."aws-crt-1.15.22"
+      sources."aws-crt-1.17.0"
       (sources."aws-sdk-2.1340.0" // {
         dependencies = [
           sources."buffer-4.9.2"
@@ -116625,8 +115188,8 @@ in
       })
       sources."tr46-4.1.1"
       sources."traverse-0.3.9"
-      sources."tree-kit-0.7.4"
-      sources."tslib-2.6.0"
+      sources."tree-kit-0.7.5"
+      sources."tslib-2.6.1"
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
       sources."typedarray-0.0.6"
@@ -116718,9 +115281,9 @@ in
       sources."abbrev-1.1.1"
       sources."balanced-match-1.0.2"
       sources."brace-expansion-2.0.1"
-      sources."commander-11.0.0"
+      sources."commander-10.0.1"
       sources."config-chain-1.1.13"
-      sources."editorconfig-1.0.3"
+      sources."editorconfig-1.0.4"
       sources."fs.realpath-1.0.0"
       (sources."glob-8.1.0" // {
         dependencies = [
@@ -116993,14 +115556,14 @@ in
     dependencies = [
       sources."@aashutoshrathi/word-wrap-1.2.6"
       sources."@eslint-community/eslint-utils-4.4.0"
-      sources."@eslint-community/regexpp-4.5.1"
-      (sources."@eslint/eslintrc-2.1.0" // {
+      sources."@eslint-community/regexpp-4.6.2"
+      (sources."@eslint/eslintrc-2.1.1" // {
         dependencies = [
           sources."debug-4.3.4"
           sources."ms-2.1.2"
         ];
       })
-      sources."@eslint/js-8.44.0"
+      sources."@eslint/js-8.46.0"
       (sources."@humanwhocodes/config-array-0.11.10" // {
         dependencies = [
           sources."debug-4.3.4"
@@ -117023,6 +115586,7 @@ in
       sources."array-buffer-byte-length-1.0.0"
       sources."array-flatten-1.1.1"
       sources."array-includes-3.1.6"
+      sources."array.prototype.findlastindex-1.2.2"
       sources."array.prototype.flat-1.3.1"
       sources."array.prototype.flatmap-1.3.1"
       sources."array.prototype.tosorted-1.1.1"
@@ -117080,7 +115644,7 @@ in
       sources."escalade-3.1.1"
       sources."escape-html-1.0.3"
       sources."escape-string-regexp-4.0.0"
-      (sources."eslint-8.45.0" // {
+      (sources."eslint-8.46.0" // {
         dependencies = [
           sources."debug-4.3.4"
           sources."ms-2.1.2"
@@ -117106,7 +115670,7 @@ in
           sources."eslint-visitor-keys-1.3.0"
         ];
       })
-      (sources."eslint-plugin-import-2.27.5" // {
+      (sources."eslint-plugin-import-2.28.0" // {
         dependencies = [
           sources."debug-3.2.7"
           sources."doctrine-2.1.0"
@@ -117119,19 +115683,19 @@ in
         ];
       })
       sources."eslint-plugin-promise-6.1.1"
-      (sources."eslint-plugin-react-7.32.2" // {
+      (sources."eslint-plugin-react-7.33.1" // {
         dependencies = [
           sources."doctrine-2.1.0"
           sources."resolve-2.0.0-next.4"
         ];
       })
-      sources."eslint-scope-7.2.1"
+      sources."eslint-scope-7.2.2"
       (sources."eslint-utils-3.0.0" // {
         dependencies = [
           sources."eslint-visitor-keys-2.1.0"
         ];
       })
-      sources."eslint-visitor-keys-3.4.1"
+      sources."eslint-visitor-keys-3.4.2"
       sources."espree-9.6.1"
       sources."esquery-1.5.0"
       sources."esrecurse-4.3.0"
@@ -117223,7 +115787,7 @@ in
       sources."json-schema-traverse-0.4.1"
       sources."json-stable-stringify-without-jsonify-1.0.1"
       sources."json5-1.0.2"
-      sources."jsx-ast-utils-3.3.4"
+      sources."jsx-ast-utils-3.3.5"
       sources."levn-0.4.1"
       (sources."load-json-file-5.3.0" // {
         dependencies = [
@@ -117266,6 +115830,7 @@ in
       sources."object.assign-4.1.4"
       sources."object.entries-1.1.6"
       sources."object.fromentries-2.0.6"
+      sources."object.groupby-1.0.0"
       sources."object.hasown-1.1.2"
       sources."object.values-1.1.6"
       sources."on-finished-2.4.1"
@@ -118006,17 +116571,17 @@ in
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
-      sources."@oclif/command-1.8.33"
-      sources."@oclif/config-1.18.14"
+      sources."@oclif/command-1.8.35"
+      sources."@oclif/config-1.18.16"
       sources."@oclif/errors-1.3.6"
-      (sources."@oclif/help-1.0.12" // {
+      (sources."@oclif/help-1.0.14" // {
         dependencies = [
-          sources."@oclif/config-1.18.12"
+          sources."@oclif/config-1.18.15"
           sources."wrap-ansi-6.2.0"
         ];
       })
       sources."@oclif/linewrap-1.0.0"
-      sources."@oclif/parser-3.8.15"
+      sources."@oclif/parser-3.8.16"
       (sources."@oclif/plugin-help-3.3.1" // {
         dependencies = [
           sources."@oclif/config-1.18.2"
@@ -118069,11 +116634,7 @@ in
           sources."semver-6.3.1"
         ];
       })
-      (sources."cross-spawn-6.0.5" // {
-        dependencies = [
-          sources."semver-5.7.2"
-        ];
-      })
+      sources."cross-spawn-7.0.3"
       (sources."d-1.0.1" // {
         dependencies = [
           sources."type-1.2.0"
@@ -118096,7 +116657,7 @@ in
       sources."external-editor-3.1.0"
       sources."extract-stack-2.0.0"
       sources."fast-deep-equal-3.1.3"
-      sources."fast-glob-3.3.0"
+      sources."fast-glob-3.3.1"
       sources."fast-json-stable-stringify-2.1.0"
       sources."fastq-1.15.0"
       (sources."figures-3.2.0" // {
@@ -118153,7 +116714,6 @@ in
       sources."mute-stream-0.0.8"
       sources."natural-orderby-2.0.3"
       sources."next-tick-1.1.0"
-      sources."nice-try-1.0.5"
       sources."node-downloader-helper-1.0.19"
       sources."object-inspect-1.12.3"
       sources."object-treeify-1.1.33"
@@ -118162,13 +116722,9 @@ in
       sources."p-limit-2.3.0"
       sources."p-locate-3.0.0"
       sources."p-try-2.2.0"
-      (sources."password-prompt-1.1.2" // {
-        dependencies = [
-          sources."ansi-escapes-3.2.0"
-        ];
-      })
+      sources."password-prompt-1.1.3"
       sources."path-exists-3.0.0"
-      sources."path-key-2.0.1"
+      sources."path-key-3.1.1"
       sources."path-type-4.0.0"
       sources."picomatch-2.3.1"
       sources."pkg-up-3.1.0"
@@ -118187,8 +116743,8 @@ in
       })
       sources."safer-buffer-2.1.2"
       sources."semver-7.5.4"
-      sources."shebang-command-1.2.0"
-      sources."shebang-regex-1.0.0"
+      sources."shebang-command-2.0.0"
+      sources."shebang-regex-3.0.0"
       sources."side-channel-1.0.4"
       sources."signal-exit-3.0.7"
       sources."slash-3.0.0"
@@ -118200,14 +116756,14 @@ in
       sources."through-2.3.8"
       sources."tmp-0.0.33"
       sources."to-regex-range-5.0.1"
-      sources."tslib-2.6.0"
+      sources."tslib-2.6.1"
       sources."type-2.7.2"
       sources."type-fest-0.21.3"
       sources."typedarray-to-buffer-3.1.5"
       sources."universalify-0.1.2"
       sources."uri-js-4.4.1"
       sources."urijs-1.19.11"
-      sources."which-1.3.1"
+      sources."which-2.0.2"
       sources."widest-line-3.1.0"
       sources."wrap-ansi-7.0.0"
       sources."write-file-atomic-3.0.3"
@@ -118257,7 +116813,7 @@ in
       sources."@socket.io/component-emitter-3.1.0"
       sources."@types/cookie-0.4.1"
       sources."@types/cors-2.8.13"
-      sources."@types/node-20.4.2"
+      sources."@types/node-20.4.5"
       sources."accepts-1.3.8"
       sources."ansi-regex-5.0.1"
       sources."ansi-styles-4.3.0"
@@ -118568,13 +117124,13 @@ in
       sources."braces-3.0.2"
       sources."browser-or-node-1.3.0"
       sources."browser-process-hrtime-1.0.0"
-      sources."browserslist-4.21.9"
+      sources."browserslist-4.21.10"
       sources."buffer-5.7.1"
       sources."buffer-from-1.1.2"
       sources."bufferutil-4.0.7"
       sources."bytes-3.1.2"
       sources."call-bind-1.0.2"
-      sources."caniuse-lite-1.0.30001517"
+      sources."caniuse-lite-1.0.30001518"
       sources."canvas-2.11.2"
       sources."chalk-2.4.2"
       sources."chardet-1.6.0"
@@ -118595,7 +117151,7 @@ in
       sources."convert-source-map-1.9.0"
       sources."cookie-0.5.0"
       sources."cookie-signature-1.0.6"
-      sources."core-js-3.31.1"
+      sources."core-js-3.32.0"
       sources."core-util-is-1.0.3"
       sources."cors-2.8.5"
       sources."create-hash-1.2.0"
@@ -118633,12 +117189,12 @@ in
       })
       sources."dotenv-8.6.0"
       sources."ee-first-1.1.1"
-      sources."electron-to-chromium-1.4.466"
+      sources."electron-to-chromium-1.4.480"
       sources."emoji-regex-8.0.0"
       sources."encodeurl-1.0.2"
       sources."encoding-0.1.13"
       sources."end-of-stream-1.4.4"
-      sources."enquirer-2.3.6"
+      sources."enquirer-2.4.1"
       sources."es-abstract-1.22.1"
       sources."es-array-method-boxes-properly-1.0.0"
       sources."es-set-tostringtag-2.0.1"
@@ -118660,7 +117216,7 @@ in
         ];
       })
       sources."express-validator-6.15.0"
-      sources."fast-glob-3.3.0"
+      sources."fast-glob-3.3.1"
       sources."fastq-1.15.0"
       sources."fill-range-7.0.1"
       sources."filter-obj-1.1.0"
@@ -119006,7 +117562,7 @@ in
       sources."toidentifier-1.0.1"
       sources."tough-cookie-4.1.3"
       sources."tr46-0.0.3"
-      sources."tslib-2.6.0"
+      sources."tslib-2.6.1"
       sources."tunnel-agent-0.6.0"
       sources."type-is-1.6.18"
       sources."typed-array-buffer-1.0.0"
@@ -119088,7 +117644,7 @@ in
       sources."core-util-is-1.0.3"
       sources."emoji-regex-8.0.0"
       sources."escalade-3.1.1"
-      sources."fast-glob-3.3.0"
+      sources."fast-glob-3.3.1"
       sources."fastq-1.15.0"
       sources."fill-range-7.0.1"
       sources."get-caller-file-2.0.5"
@@ -119358,7 +117914,7 @@ in
           sources."pkginfo-0.3.1"
         ];
       })
-      sources."word-wrap-1.2.4"
+      sources."word-wrap-1.2.5"
       sources."wordwrap-1.0.0"
       sources."wrap-ansi-2.1.0"
       sources."wrappy-1.0.2"
@@ -119592,7 +118148,7 @@ in
           sources."pkginfo-0.3.1"
         ];
       })
-      sources."word-wrap-1.2.4"
+      sources."word-wrap-1.2.5"
       sources."wordwrap-1.0.0"
       (sources."wrap-ansi-7.0.0" // {
         dependencies = [
@@ -119666,24 +118222,24 @@ in
       sources."@npmcli/node-gyp-3.0.0"
       sources."@npmcli/promise-spawn-6.0.2"
       sources."@npmcli/run-script-6.0.2"
-      sources."@nrwl/devkit-16.5.3"
-      sources."@nrwl/tao-16.5.3"
-      (sources."@nx/devkit-16.5.3" // {
+      sources."@nrwl/devkit-16.6.0"
+      sources."@nrwl/tao-16.6.0"
+      (sources."@nx/devkit-16.6.0" // {
         dependencies = [
           sources."lru-cache-6.0.0"
           sources."semver-7.5.3"
         ];
       })
-      sources."@nx/nx-darwin-arm64-16.5.3"
-      sources."@nx/nx-darwin-x64-16.5.3"
-      sources."@nx/nx-freebsd-x64-16.5.3"
-      sources."@nx/nx-linux-arm-gnueabihf-16.5.3"
-      sources."@nx/nx-linux-arm64-gnu-16.5.3"
-      sources."@nx/nx-linux-arm64-musl-16.5.3"
-      sources."@nx/nx-linux-x64-gnu-16.5.3"
-      sources."@nx/nx-linux-x64-musl-16.5.3"
-      sources."@nx/nx-win32-arm64-msvc-16.5.3"
-      sources."@nx/nx-win32-x64-msvc-16.5.3"
+      sources."@nx/nx-darwin-arm64-16.6.0"
+      sources."@nx/nx-darwin-x64-16.6.0"
+      sources."@nx/nx-freebsd-x64-16.6.0"
+      sources."@nx/nx-linux-arm-gnueabihf-16.6.0"
+      sources."@nx/nx-linux-arm64-gnu-16.6.0"
+      sources."@nx/nx-linux-arm64-musl-16.6.0"
+      sources."@nx/nx-linux-x64-gnu-16.6.0"
+      sources."@nx/nx-linux-x64-musl-16.6.0"
+      sources."@nx/nx-win32-arm64-msvc-16.6.0"
+      sources."@nx/nx-win32-x64-msvc-16.6.0"
       sources."@octokit/auth-token-3.0.4"
       sources."@octokit/core-4.2.4"
       sources."@octokit/endpoint-7.0.6"
@@ -119711,17 +118267,17 @@ in
       sources."@swc-node/core-1.10.4"
       sources."@swc-node/register-1.6.6"
       sources."@swc-node/sourcemap-support-0.3.0"
-      sources."@swc/core-1.3.70"
-      sources."@swc/core-darwin-arm64-1.3.70"
-      sources."@swc/core-darwin-x64-1.3.70"
-      sources."@swc/core-linux-arm-gnueabihf-1.3.70"
-      sources."@swc/core-linux-arm64-gnu-1.3.70"
-      sources."@swc/core-linux-arm64-musl-1.3.70"
-      sources."@swc/core-linux-x64-gnu-1.3.70"
-      sources."@swc/core-linux-x64-musl-1.3.70"
-      sources."@swc/core-win32-arm64-msvc-1.3.70"
-      sources."@swc/core-win32-ia32-msvc-1.3.70"
-      sources."@swc/core-win32-x64-msvc-1.3.70"
+      sources."@swc/core-1.3.73"
+      sources."@swc/core-darwin-arm64-1.3.73"
+      sources."@swc/core-darwin-x64-1.3.73"
+      sources."@swc/core-linux-arm-gnueabihf-1.3.73"
+      sources."@swc/core-linux-arm64-gnu-1.3.73"
+      sources."@swc/core-linux-arm64-musl-1.3.73"
+      sources."@swc/core-linux-x64-gnu-1.3.73"
+      sources."@swc/core-linux-x64-musl-1.3.73"
+      sources."@swc/core-win32-arm64-msvc-1.3.73"
+      sources."@swc/core-win32-ia32-msvc-1.3.73"
+      sources."@swc/core-win32-x64-msvc-1.3.73"
       sources."@swc/helpers-0.5.1"
       sources."@tootallnate/once-2.0.0"
       sources."@tufjs/canonical-json-1.0.0"
@@ -119895,7 +118451,7 @@ in
           sources."tmp-0.0.33"
         ];
       })
-      sources."fast-glob-3.3.0"
+      sources."fast-glob-3.3.1"
       sources."fastq-1.15.0"
       sources."figures-3.2.0"
       (sources."filelist-1.0.4" // {
@@ -119910,7 +118466,7 @@ in
       sources."follow-redirects-1.15.2"
       (sources."foreground-child-3.1.1" // {
         dependencies = [
-          sources."signal-exit-4.0.2"
+          sources."signal-exit-4.1.0"
         ];
       })
       sources."form-data-4.0.0"
@@ -120023,13 +118579,13 @@ in
       sources."isarray-1.0.0"
       sources."isexe-2.0.0"
       sources."isobject-3.0.1"
-      sources."jackspeak-2.2.1"
+      sources."jackspeak-2.2.2"
       (sources."jake-10.8.7" // {
         dependencies = [
           sources."minimatch-3.1.2"
         ];
       })
-      sources."jest-diff-29.6.1"
+      sources."jest-diff-29.6.2"
       sources."jest-get-type-29.4.3"
       sources."js-tokens-4.0.0"
       sources."js-yaml-4.1.0"
@@ -120156,6 +118712,7 @@ in
         ];
       })
       sources."node-gyp-build-4.6.0"
+      sources."node-machine-id-1.1.12"
       sources."nopt-6.0.0"
       (sources."normalize-package-data-3.0.3" // {
         dependencies = [
@@ -120185,7 +118742,7 @@ in
           sources."npm-normalize-package-bin-1.0.1"
         ];
       })
-      (sources."npm-pick-manifest-8.0.1" // {
+      (sources."npm-pick-manifest-8.0.2" // {
         dependencies = [
           sources."hosted-git-info-6.1.1"
           sources."npm-package-arg-10.1.0"
@@ -120199,7 +118756,7 @@ in
       })
       sources."npm-run-path-4.0.1"
       sources."npmlog-6.0.2"
-      (sources."nx-16.5.3" // {
+      (sources."nx-16.6.0" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."cli-spinners-2.6.1"
@@ -120277,7 +118834,7 @@ in
       sources."pify-5.0.0"
       sources."pirates-4.0.6"
       sources."pkg-dir-4.2.0"
-      (sources."pretty-format-29.6.1" // {
+      (sources."pretty-format-29.6.2" // {
         dependencies = [
           sources."ansi-styles-5.2.0"
         ];
@@ -120421,7 +118978,7 @@ in
       sources."tr46-0.0.3"
       sources."trim-newlines-3.0.1"
       sources."tsconfig-paths-4.2.0"
-      sources."tslib-2.6.0"
+      sources."tslib-2.6.1"
       sources."tuf-js-1.1.7"
       sources."type-fest-0.18.1"
       sources."typedarray-0.0.6"
@@ -120465,7 +119022,7 @@ in
       sources."wrappy-1.0.2"
       (sources."write-file-atomic-5.0.1" // {
         dependencies = [
-          sources."signal-exit-4.0.2"
+          sources."signal-exit-4.1.0"
         ];
       })
       (sources."write-json-file-3.2.0" // {
@@ -120530,7 +119087,7 @@ in
       sources."sax-1.2.4"
       sources."semver-5.7.2"
       sources."source-map-0.6.1"
-      sources."tslib-2.6.0"
+      sources."tslib-2.6.1"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -121490,7 +120047,7 @@ in
       sources."@types/commander-2.12.2"
       sources."@types/diff-3.5.5"
       sources."@types/get-stdin-5.0.1"
-      sources."@types/node-20.4.2"
+      sources."@types/node-20.4.5"
       sources."commander-2.20.3"
       sources."diff-3.5.0"
       sources."get-stdin-5.0.1"
@@ -121589,7 +120146,7 @@ in
       sources."ini-3.0.1"
       sources."is-fullwidth-code-point-3.0.0"
       sources."isexe-2.0.0"
-      sources."jackspeak-2.2.1"
+      sources."jackspeak-2.2.2"
       sources."js-yaml-4.1.0"
       sources."jsonc-parser-3.2.0"
       sources."linkify-it-4.0.1"
@@ -121606,7 +120163,7 @@ in
       sources."run-con-1.2.12"
       sources."shebang-command-2.0.0"
       sources."shebang-regex-3.0.0"
-      sources."signal-exit-4.0.2"
+      sources."signal-exit-4.1.0"
       sources."string-width-5.1.2"
       (sources."string-width-cjs-4.2.3" // {
         dependencies = [
@@ -121659,7 +120216,7 @@ in
       sources."braces-3.0.2"
       sources."dir-glob-3.0.1"
       sources."entities-3.0.1"
-      sources."fast-glob-3.3.0"
+      sources."fast-glob-3.3.1"
       sources."fastq-1.15.0"
       sources."fill-range-7.0.1"
       sources."glob-parent-5.1.2"
@@ -122013,7 +120570,7 @@ in
         ];
       })
       sources."browserify-zlib-0.2.0"
-      sources."browserslist-4.21.9"
+      sources."browserslist-4.21.10"
       sources."buffer-4.9.2"
       sources."buffer-from-1.1.2"
       sources."buffer-xor-1.0.3"
@@ -122026,7 +120583,7 @@ in
       })
       sources."cache-base-1.0.1"
       sources."call-bind-1.0.2"
-      sources."caniuse-lite-1.0.30001517"
+      sources."caniuse-lite-1.0.30001518"
       sources."case-sensitive-paths-webpack-plugin-2.1.2"
       sources."chalk-2.4.2"
       sources."chart.js-2.9.4"
@@ -122113,7 +120670,7 @@ in
       sources."domain-browser-1.2.0"
       sources."duplexify-3.7.1"
       sources."ee-first-1.1.1"
-      sources."electron-to-chromium-1.4.466"
+      sources."electron-to-chromium-1.4.480"
       (sources."elliptic-6.5.4" // {
         dependencies = [
           sources."bn.js-4.12.0"
@@ -123152,7 +121709,7 @@ in
         ];
       })
       sources."vinyl-0.5.3"
-      sources."word-wrap-1.2.4"
+      sources."word-wrap-1.2.5"
       sources."wrappy-1.0.2"
       sources."write-0.2.1"
       sources."xml2js-0.4.23"
@@ -123517,7 +122074,7 @@ in
       sources."@ledgerhq/devices-8.0.5"
       sources."@ledgerhq/errors-6.13.0"
       sources."@ledgerhq/hw-transport-6.28.6"
-      sources."@ledgerhq/hw-transport-node-hid-6.27.18"
+      sources."@ledgerhq/hw-transport-node-hid-6.27.19"
       sources."@ledgerhq/hw-transport-node-hid-noevents-6.27.17"
       (sources."@ledgerhq/hw-transport-u2f-5.36.0-deprecated" // {
         dependencies = [
@@ -123552,7 +122109,7 @@ in
       sources."@types/istanbul-lib-coverage-2.0.4"
       sources."@types/istanbul-lib-report-3.0.0"
       sources."@types/istanbul-reports-3.0.1"
-      sources."@types/node-20.4.2"
+      sources."@types/node-20.4.5"
       sources."@types/stack-utils-2.0.1"
       sources."@types/w3c-web-usb-1.0.6"
       sources."@types/yargs-16.0.5"
@@ -123999,7 +122556,7 @@ in
       sources."is-fullwidth-code-point-3.0.0"
       sources."is-lambda-1.0.1"
       sources."isexe-2.0.0"
-      sources."jackspeak-2.2.1"
+      sources."jackspeak-2.2.2"
       sources."lru-cache-7.18.3"
       sources."make-fetch-happen-11.1.1"
       sources."minimatch-3.1.2"
@@ -124058,7 +122615,7 @@ in
       sources."set-blocking-2.0.0"
       sources."shebang-command-2.0.0"
       sources."shebang-regex-3.0.0"
-      sources."signal-exit-4.0.2"
+      sources."signal-exit-4.1.0"
       sources."smart-buffer-4.2.0"
       sources."socks-2.7.1"
       sources."socks-proxy-agent-7.0.0"
@@ -124569,7 +123126,7 @@ in
       sources."@types/cacheable-request-6.0.3"
       sources."@types/http-cache-semantics-4.0.1"
       sources."@types/keyv-3.1.4"
-      sources."@types/node-20.4.2"
+      sources."@types/node-20.4.5"
       sources."@types/responselike-1.0.0"
       sources."abbrev-1.1.1"
       sources."accepts-1.3.8"
@@ -124679,7 +123236,7 @@ in
         ];
       })
       sources."end-of-stream-1.4.4"
-      sources."enquirer-2.3.6"
+      sources."enquirer-2.4.1"
       sources."entities-2.2.0"
       sources."escape-html-1.0.3"
       sources."etag-1.8.1"
@@ -124909,7 +123466,7 @@ in
       sources."toidentifier-1.0.1"
       sources."tough-cookie-4.0.0"
       sources."tr46-0.0.3"
-      sources."tslib-2.6.0"
+      sources."tslib-2.6.1"
       sources."type-is-1.6.18"
       sources."typedarray-0.0.6"
       sources."uglify-js-3.16.3"
@@ -125226,6 +123783,7 @@ in
           sources."path-exists-4.0.0"
         ];
       })
+      sources."@ljharb/through-2.3.9"
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
@@ -125243,11 +123801,11 @@ in
       sources."@types/http-cache-semantics-4.0.1"
       sources."@types/keyv-3.1.4"
       sources."@types/minimist-1.2.2"
-      sources."@types/node-20.4.2"
+      sources."@types/node-20.4.5"
       sources."@types/normalize-package-data-2.4.1"
       sources."@types/responselike-1.0.0"
       sources."aggregate-error-4.0.1"
-      sources."all-package-names-2.0.695"
+      sources."all-package-names-2.0.706"
       sources."ansi-align-3.0.1"
       sources."ansi-escapes-4.3.2"
       sources."ansi-regex-5.0.1"
@@ -125362,10 +123920,10 @@ in
       sources."error-ex-1.3.2"
       sources."escape-goat-4.0.0"
       sources."escape-string-regexp-5.0.0"
-      sources."execa-7.1.1"
+      sources."execa-7.2.0"
       sources."exit-hook-3.2.0"
       sources."external-editor-3.1.0"
-      sources."fast-glob-3.3.0"
+      sources."fast-glob-3.3.1"
       sources."fastq-1.15.0"
       sources."figures-5.0.0"
       sources."fill-range-7.0.1"
@@ -125423,7 +123981,7 @@ in
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."ini-2.0.0"
-      sources."inquirer-9.2.8"
+      sources."inquirer-9.2.9"
       (sources."inquirer-autosubmit-prompt-0.2.0" // {
         dependencies = [
           sources."ansi-escapes-3.2.0"
@@ -125626,7 +124184,7 @@ in
       sources."os-tmpdir-1.0.2"
       (sources."ow-1.1.1" // {
         dependencies = [
-          sources."@sindresorhus/is-5.5.2"
+          sources."@sindresorhus/is-5.6.0"
           sources."callsites-4.0.0"
         ];
       })
@@ -125645,10 +124203,10 @@ in
       sources."p-try-2.2.0"
       (sources."package-json-8.1.1" // {
         dependencies = [
-          sources."@sindresorhus/is-5.5.2"
+          sources."@sindresorhus/is-5.6.0"
           sources."@szmarczak/http-timer-5.0.1"
           sources."cacheable-lookup-7.0.0"
-          sources."cacheable-request-10.2.12"
+          sources."cacheable-request-10.2.13"
           sources."got-12.6.1"
           sources."http2-wrapper-2.2.0"
           sources."lowercase-keys-3.0.0"
@@ -125746,7 +124304,7 @@ in
       sources."run-parallel-1.2.0"
       (sources."rxjs-7.8.1" // {
         dependencies = [
-          sources."tslib-2.6.0"
+          sources."tslib-2.6.1"
         ];
       })
       sources."safe-buffer-5.2.1"
@@ -125860,10 +124418,10 @@ in
   npm-check-updates = nodeEnv.buildNodePackage {
     name = "npm-check-updates";
     packageName = "npm-check-updates";
-    version = "16.10.16";
+    version = "16.10.17";
     src = fetchurl {
-      url = "https://registry.npmjs.org/npm-check-updates/-/npm-check-updates-16.10.16.tgz";
-      sha512 = "d8mNYce/l8o5RHPE5ZUp2P1zj9poI7KWQCh5AsTIP3EhicONEhc63mLQQv4/nkCsMb3wCrikx6YOo4BOwN4+1w==";
+      url = "https://registry.npmjs.org/npm-check-updates/-/npm-check-updates-16.10.17.tgz";
+      sha512 = "ZoIbWYJhlgMDoByq1WC6Ys3E76IvNCxgS54tPUFbK5J/nqf/BCJt6xiMPAEa7G1HuyAruG+orUF9uTsTGUZl8g==";
     };
     dependencies = [
       sources."@colors/colors-1.5.0"
@@ -125895,7 +124453,7 @@ in
       sources."@sigstore/bundle-1.0.0"
       sources."@sigstore/protobuf-specs-0.2.0"
       sources."@sigstore/tuf-1.0.3"
-      sources."@sindresorhus/is-5.5.2"
+      sources."@sindresorhus/is-5.6.0"
       sources."@szmarczak/http-timer-5.0.1"
       sources."@tootallnate/once-2.0.0"
       sources."@tufjs/canonical-json-1.0.0"
@@ -125931,7 +124489,7 @@ in
         ];
       })
       sources."cacheable-lookup-7.0.0"
-      sources."cacheable-request-10.2.12"
+      sources."cacheable-request-10.2.13"
       sources."camelcase-7.0.1"
       sources."chalk-5.3.0"
       sources."chownr-2.0.0"
@@ -125980,14 +124538,14 @@ in
       sources."err-code-2.0.3"
       sources."escape-goat-4.0.0"
       sources."exponential-backoff-3.1.1"
-      sources."fast-glob-3.3.0"
+      sources."fast-glob-3.3.1"
       sources."fast-memoize-2.5.2"
       sources."fastq-1.15.0"
       sources."fill-range-7.0.1"
       sources."find-up-5.0.0"
       (sources."foreground-child-3.1.1" // {
         dependencies = [
-          sources."signal-exit-4.0.2"
+          sources."signal-exit-4.1.0"
         ];
       })
       sources."form-data-encoder-2.1.4"
@@ -126046,7 +124604,7 @@ in
       sources."is-typedarray-1.0.0"
       sources."is-yarn-global-0.4.1"
       sources."isexe-2.0.0"
-      sources."jackspeak-2.2.1"
+      sources."jackspeak-2.2.2"
       sources."jju-1.4.0"
       sources."js-yaml-4.1.0"
       sources."json-buffer-3.0.1"
@@ -126125,7 +124683,7 @@ in
         ];
       })
       sources."npm-packlist-7.0.4"
-      sources."npm-pick-manifest-8.0.1"
+      sources."npm-pick-manifest-8.0.2"
       sources."npm-registry-fetch-14.0.5"
       sources."npmlog-6.0.2"
       sources."once-1.4.0"
@@ -126388,7 +124946,7 @@ in
       sources."@asyncapi/specs-4.3.1"
       sources."@esbuild/android-arm-0.15.18"
       sources."@esbuild/linux-loong64-0.15.18"
-      sources."@exodus/schemasafe-1.0.1"
+      sources."@exodus/schemasafe-1.1.1"
       sources."@ibm-cloud/openapi-ruleset-0.45.5"
       sources."@ibm-cloud/openapi-ruleset-utilities-0.0.1"
       sources."@jsdevtools/ono-7.1.3"
@@ -126420,9 +124978,8 @@ in
       sources."@stoplight/json-ref-resolver-3.1.6"
       sources."@stoplight/ordered-object-literal-1.0.4"
       sources."@stoplight/path-1.3.2"
-      (sources."@stoplight/spectral-cli-6.8.0" // {
+      (sources."@stoplight/spectral-cli-6.10.0" // {
         dependencies = [
-          sources."@stoplight/json-3.20.3"
           sources."fast-glob-3.2.12"
         ];
       })
@@ -126432,35 +124989,28 @@ in
         ];
       })
       sources."@stoplight/spectral-formats-1.5.0"
-      sources."@stoplight/spectral-formatters-1.1.0"
+      sources."@stoplight/spectral-formatters-1.2.0"
       sources."@stoplight/spectral-functions-1.7.2"
       sources."@stoplight/spectral-parsers-1.0.3"
       sources."@stoplight/spectral-ref-resolver-1.0.4"
       sources."@stoplight/spectral-ruleset-bundler-1.5.2"
-      (sources."@stoplight/spectral-ruleset-migrator-1.9.4" // {
-        dependencies = [
-          sources."@stoplight/json-3.20.3"
-        ];
-      })
+      sources."@stoplight/spectral-ruleset-migrator-1.9.5"
       sources."@stoplight/spectral-rulesets-1.16.0"
       (sources."@stoplight/spectral-runtime-1.1.2" // {
         dependencies = [
           sources."@stoplight/types-12.5.0"
         ];
       })
-      sources."@stoplight/types-13.16.0"
+      sources."@stoplight/types-13.17.0"
       sources."@stoplight/yaml-4.2.3"
       sources."@stoplight/yaml-ast-parser-0.0.48"
-      sources."@tootallnate/once-1.1.2"
       sources."@types/es-aggregate-error-1.0.2"
       sources."@types/estree-0.0.39"
       sources."@types/json-schema-7.0.12"
-      sources."@types/node-20.4.2"
+      sources."@types/node-20.4.5"
       sources."@types/urijs-1.19.19"
       sources."abort-controller-3.0.0"
       sources."acorn-8.10.0"
-      sources."acorn-walk-8.2.0"
-      sources."agent-base-6.0.2"
       sources."ajv-8.12.0"
       sources."ajv-draft-04-1.0.0"
       sources."ajv-errors-3.0.0"
@@ -126483,7 +125033,6 @@ in
       sources."brace-expansion-1.1.11"
       sources."braces-3.0.2"
       sources."builtins-1.0.3"
-      sources."bytes-3.1.2"
       sources."cac-6.7.14"
       sources."call-bind-1.0.2"
       sources."call-me-maybe-1.0.2"
@@ -126497,26 +125046,18 @@ in
       sources."commondir-1.0.1"
       sources."compare-versions-4.1.4"
       sources."concat-map-0.0.1"
-      sources."core-util-is-1.0.3"
       sources."cross-spawn-7.0.3"
       sources."cuid-2.1.8"
-      sources."data-uri-to-buffer-3.0.1"
+      sources."data-uri-to-buffer-2.0.2"
       sources."debug-4.3.4"
-      sources."deep-is-0.1.4"
       sources."deepmerge-2.2.1"
       sources."defaults-1.0.4"
       sources."define-properties-1.2.0"
-      (sources."degenerator-3.0.4" // {
-        dependencies = [
-          sources."ast-types-0.13.4"
-        ];
-      })
-      sources."depd-2.0.0"
       sources."dependency-graph-0.11.0"
       sources."dir-glob-3.0.1"
       sources."emoji-regex-8.0.0"
       sources."encoding-0.1.13"
-      sources."enquirer-2.3.6"
+      sources."enquirer-2.4.1"
       sources."es-abstract-1.22.1"
       sources."es-aggregate-error-1.0.9"
       sources."es-set-tostringtag-2.0.1"
@@ -126545,20 +125086,16 @@ in
       sources."esbuild-windows-arm64-0.15.18"
       sources."escalade-3.1.1"
       sources."escape-string-regexp-1.0.5"
-      sources."escodegen-1.14.3"
       sources."esprima-4.0.1"
-      sources."estraverse-4.3.0"
       sources."estree-walker-2.0.2"
       sources."esutils-2.0.3"
       sources."event-target-shim-5.0.1"
       sources."execa-5.1.1"
       sources."fast-deep-equal-3.1.3"
-      sources."fast-glob-3.3.0"
-      sources."fast-levenshtein-2.0.6"
+      sources."fast-glob-3.3.1"
       sources."fast-memoize-2.5.2"
       sources."fast-safe-stringify-2.1.1"
       sources."fastq-1.15.0"
-      sources."file-uri-to-path-2.0.0"
       sources."fill-range-7.0.1"
       (sources."find-up-5.0.0" // {
         dependencies = [
@@ -126570,32 +125107,17 @@ in
       })
       sources."for-each-0.3.3"
       sources."format-util-1.0.5"
-      (sources."fs-extra-10.1.0" // {
-        dependencies = [
-          sources."jsonfile-6.1.0"
-          sources."universalify-2.0.0"
-        ];
-      })
+      sources."fs-extra-10.1.0"
       sources."fs.realpath-1.0.0"
       sources."fsevents-2.3.2"
-      sources."ftp-0.3.10"
       sources."function-bind-1.1.1"
       sources."function.prototype.name-1.1.5"
       sources."functions-have-names-1.2.3"
       sources."get-caller-file-2.0.5"
       sources."get-intrinsic-1.2.1"
-      (sources."get-source-2.0.12" // {
-        dependencies = [
-          sources."data-uri-to-buffer-2.0.2"
-        ];
-      })
+      sources."get-source-2.0.12"
       sources."get-stream-6.0.1"
       sources."get-symbol-description-1.0.0"
-      (sources."get-uri-3.0.2" // {
-        dependencies = [
-          sources."fs-extra-8.1.0"
-        ];
-      })
       sources."glob-7.2.3"
       sources."glob-parent-5.1.2"
       sources."globalthis-1.0.3"
@@ -126609,10 +125131,8 @@ in
       sources."has-proto-1.0.1"
       sources."has-symbols-1.0.3"
       sources."has-tostringtag-1.0.0"
-      sources."http-errors-2.0.0"
-      sources."http-proxy-agent-4.0.1"
+      sources."hpagent-1.2.0"
       sources."http2-client-1.3.5"
-      sources."https-proxy-agent-5.0.1"
       sources."human-signals-2.1.0"
       (sources."ibm-openapi-validator-0.97.5" // {
         dependencies = [
@@ -126625,7 +125145,6 @@ in
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."internal-slot-1.0.5"
-      sources."ip-1.1.8"
       sources."is-array-buffer-3.0.2"
       sources."is-bigint-1.0.4"
       sources."is-binary-path-2.1.0"
@@ -126647,7 +125166,7 @@ in
       sources."is-symbol-1.0.4"
       sources."is-typed-array-1.1.12"
       sources."is-weakref-1.0.2"
-      sources."isarray-0.0.1"
+      sources."isarray-2.0.5"
       sources."isexe-2.0.0"
       sources."js-yaml-3.14.1"
       sources."jsep-1.3.8"
@@ -126659,12 +125178,11 @@ in
       })
       sources."json-schema-traverse-1.0.0"
       sources."jsonc-parser-2.2.1"
-      sources."jsonfile-4.0.0"
+      sources."jsonfile-6.1.0"
       sources."jsonpath-plus-7.1.0"
       sources."jsonpointer-5.0.1"
       sources."jsonschema-1.4.1"
       sources."leven-3.1.0"
-      sources."levn-0.3.0"
       sources."locate-path-3.0.0"
       sources."lodash-4.17.21"
       sources."lodash.get-4.4.2"
@@ -126675,7 +125193,6 @@ in
       sources."lodash.uniq-4.5.0"
       sources."lodash.uniqby-4.7.0"
       sources."lodash.uniqwith-4.5.0"
-      sources."lru-cache-5.1.1"
       sources."magic-string-0.25.9"
       sources."matcher-1.1.1"
       sources."merge-stream-2.0.0"
@@ -126684,7 +125201,6 @@ in
       sources."mimic-fn-2.1.0"
       sources."minimatch-3.1.2"
       sources."ms-2.1.2"
-      sources."netmask-2.0.2"
       (sources."nimma-0.2.2" // {
         dependencies = [
           sources."jsonpath-plus-6.0.1"
@@ -126712,12 +125228,9 @@ in
           sources."yaml-2.3.1"
         ];
       })
-      sources."optionator-0.8.3"
       sources."p-limit-2.3.0"
       sources."p-locate-3.0.0"
       sources."p-try-2.2.0"
-      sources."pac-proxy-agent-5.0.0"
-      sources."pac-resolver-5.0.1"
       sources."pad-2.3.0"
       sources."path-exists-3.0.0"
       sources."path-is-absolute-1.0.1"
@@ -126726,18 +125239,9 @@ in
       sources."path-type-4.0.0"
       sources."picomatch-2.3.1"
       sources."pony-cause-1.1.1"
-      sources."prelude-ls-1.1.2"
       sources."printable-characters-1.0.42"
-      sources."proxy-agent-5.0.0"
-      sources."proxy-from-env-1.1.0"
       sources."punycode-2.3.0"
       sources."queue-microtask-1.2.3"
-      (sources."raw-body-2.5.2" // {
-        dependencies = [
-          sources."iconv-lite-0.4.24"
-        ];
-      })
-      sources."readable-stream-1.1.14"
       sources."readdirp-3.6.0"
       sources."reftools-1.1.9"
       sources."regexp.prototype.flags-1.5.0"
@@ -126749,16 +125253,11 @@ in
       sources."reusify-1.0.4"
       sources."rollup-2.79.1"
       sources."run-parallel-1.2.0"
-      (sources."safe-array-concat-1.0.0" // {
-        dependencies = [
-          sources."isarray-2.0.5"
-        ];
-      })
+      sources."safe-array-concat-1.0.0"
       sources."safe-regex-test-1.0.0"
       sources."safe-stable-stringify-1.1.1"
       sources."safer-buffer-2.1.2"
       sources."semver-5.7.2"
-      sources."setprototypeof-1.2.0"
       sources."shebang-command-2.0.0"
       sources."shebang-regex-3.0.0"
       sources."should-13.2.3"
@@ -126771,24 +125270,15 @@ in
       sources."signal-exit-3.0.7"
       sources."simple-eval-1.0.0"
       sources."slash-3.0.0"
-      sources."smart-buffer-4.2.0"
-      (sources."socks-2.7.1" // {
-        dependencies = [
-          sources."ip-2.0.0"
-        ];
-      })
-      sources."socks-proxy-agent-5.0.1"
       sources."source-map-0.6.1"
       sources."sourcemap-codec-1.4.8"
       sources."sprintf-js-1.0.3"
       sources."stacktracey-2.1.8"
-      sources."statuses-2.0.1"
       sources."string-argv-0.3.2"
       sources."string-width-4.2.3"
       sources."string.prototype.trim-1.2.7"
       sources."string.prototype.trimend-1.0.6"
       sources."string.prototype.trimstart-1.0.6"
-      sources."string_decoder-0.10.31"
       sources."strip-ansi-6.0.1"
       sources."strip-final-newline-2.0.0"
       sources."supports-color-7.2.0"
@@ -126796,37 +125286,30 @@ in
       sources."swagger2openapi-7.0.8"
       sources."text-table-0.2.0"
       sources."to-regex-range-5.0.1"
-      sources."toidentifier-1.0.1"
       sources."tr46-0.0.3"
       sources."tsconfck-2.1.2"
-      sources."tslib-2.6.0"
-      sources."type-check-0.3.2"
+      sources."tslib-2.6.1"
       sources."typed-array-buffer-1.0.0"
       sources."typed-array-byte-length-1.0.0"
       sources."typed-array-byte-offset-1.0.0"
       sources."typed-array-length-1.0.4"
       sources."typescript-5.1.6"
       sources."unbox-primitive-1.0.2"
-      sources."universalify-0.1.2"
-      sources."unpipe-1.0.0"
+      sources."universalify-2.0.0"
       sources."uri-js-4.4.1"
       sources."urijs-1.19.11"
       sources."utility-types-3.10.0"
       sources."validate-npm-package-name-3.0.0"
       sources."validator-13.9.0"
-      sources."vm2-3.9.19"
       sources."wcwidth-1.0.1"
       sources."webidl-conversions-3.0.1"
       sources."whatwg-url-5.0.0"
       sources."which-2.0.2"
       sources."which-boxed-primitive-1.0.2"
       sources."which-typed-array-1.1.11"
-      sources."word-wrap-1.2.4"
       sources."wrap-ansi-7.0.0"
       sources."wrappy-1.0.2"
-      sources."xregexp-2.0.0"
       sources."y18n-5.0.8"
-      sources."yallist-3.1.1"
       sources."yaml-1.10.2"
       sources."yaml-js-0.2.3"
       sources."yargs-17.3.1"
@@ -126879,7 +125362,7 @@ in
           sources."semver-6.3.1"
         ];
       })
-      sources."@babel/helper-define-polyfill-provider-0.4.1"
+      sources."@babel/helper-define-polyfill-provider-0.4.2"
       sources."@babel/helper-environment-visitor-7.22.5"
       sources."@babel/helper-function-name-7.22.5"
       sources."@babel/helper-hoist-variables-7.22.5"
@@ -126979,7 +125462,7 @@ in
           sources."semver-6.3.1"
         ];
       })
-      sources."@babel/preset-modules-0.1.5"
+      sources."@babel/preset-modules-0.1.6"
       sources."@babel/regjsgen-0.8.0"
       sources."@babel/runtime-7.22.6"
       sources."@babel/template-7.22.5"
@@ -126997,7 +125480,6 @@ in
         ];
       })
       sources."@mrmlnc/readdir-enhanced-2.2.1"
-      sources."@nicolo-ribaudo/semver-v6-6.3.3"
       sources."@nodelib/fs.stat-1.1.3"
       sources."@parcel/fs-1.11.0"
       sources."@parcel/logger-1.11.1"
@@ -127053,9 +125535,13 @@ in
       sources."available-typed-arrays-1.0.5"
       sources."aws-sign2-0.7.0"
       sources."aws4-1.12.0"
-      sources."babel-plugin-polyfill-corejs2-0.4.4"
-      sources."babel-plugin-polyfill-corejs3-0.8.2"
-      sources."babel-plugin-polyfill-regenerator-0.5.1"
+      (sources."babel-plugin-polyfill-corejs2-0.4.5" // {
+        dependencies = [
+          sources."semver-6.3.1"
+        ];
+      })
+      sources."babel-plugin-polyfill-corejs3-0.8.3"
+      sources."babel-plugin-polyfill-regenerator-0.5.2"
       (sources."babel-runtime-6.26.0" // {
         dependencies = [
           sources."regenerator-runtime-0.11.1"
@@ -127099,7 +125585,7 @@ in
           sources."pako-1.0.11"
         ];
       })
-      sources."browserslist-4.21.9"
+      sources."browserslist-4.21.10"
       (sources."buffer-4.9.2" // {
         dependencies = [
           sources."isarray-1.0.0"
@@ -127116,7 +125602,7 @@ in
       sources."caller-path-2.0.0"
       sources."callsites-2.0.0"
       sources."caniuse-api-3.0.0"
-      sources."caniuse-lite-1.0.30001517"
+      sources."caniuse-lite-1.0.30001518"
       sources."caseless-0.12.0"
       sources."chalk-2.4.2"
       sources."chokidar-2.1.8"
@@ -127142,7 +125628,7 @@ in
       sources."convert-source-map-1.9.0"
       sources."copy-descriptor-0.1.1"
       sources."core-js-2.6.12"
-      sources."core-js-compat-3.31.1"
+      sources."core-js-compat-3.32.0"
       sources."core-util-is-1.0.3"
       sources."cosmiconfig-5.2.1"
       (sources."create-ecdh-4.0.4" // {
@@ -127249,7 +125735,7 @@ in
       sources."duplexer2-0.1.4"
       sources."ecc-jsbn-0.1.2"
       sources."ee-first-1.1.1"
-      sources."electron-to-chromium-1.4.466"
+      sources."electron-to-chromium-1.4.480"
       (sources."elliptic-6.5.4" // {
         dependencies = [
           sources."bn.js-4.12.0"
@@ -127367,7 +125853,7 @@ in
           sources."acorn-8.10.0"
           sources."posthtml-0.15.2"
           sources."posthtml-parser-0.7.2"
-          sources."terser-5.19.1"
+          sources."terser-5.19.2"
         ];
       })
       (sources."htmlparser2-6.1.0" // {
@@ -127889,7 +126375,7 @@ in
       sources."which-1.3.1"
       sources."which-boxed-primitive-1.0.2"
       sources."which-typed-array-1.1.11"
-      sources."word-wrap-1.2.4"
+      sources."word-wrap-1.2.5"
       sources."wrappy-1.0.2"
       sources."ws-5.2.3"
       sources."xml-name-validator-3.0.0"
@@ -128027,17 +126513,17 @@ in
       sources."@parcel/watcher-win32-arm64-2.2.0"
       sources."@parcel/watcher-win32-x64-2.2.0"
       sources."@parcel/workers-2.9.3"
-      sources."@swc/core-1.3.70"
-      sources."@swc/core-darwin-arm64-1.3.70"
-      sources."@swc/core-darwin-x64-1.3.70"
-      sources."@swc/core-linux-arm-gnueabihf-1.3.70"
-      sources."@swc/core-linux-arm64-gnu-1.3.70"
-      sources."@swc/core-linux-arm64-musl-1.3.70"
-      sources."@swc/core-linux-x64-gnu-1.3.70"
-      sources."@swc/core-linux-x64-musl-1.3.70"
-      sources."@swc/core-win32-arm64-msvc-1.3.70"
-      sources."@swc/core-win32-ia32-msvc-1.3.70"
-      sources."@swc/core-win32-x64-msvc-1.3.70"
+      sources."@swc/core-1.3.73"
+      sources."@swc/core-darwin-arm64-1.3.73"
+      sources."@swc/core-darwin-x64-1.3.73"
+      sources."@swc/core-linux-arm-gnueabihf-1.3.73"
+      sources."@swc/core-linux-arm64-gnu-1.3.73"
+      sources."@swc/core-linux-arm64-musl-1.3.73"
+      sources."@swc/core-linux-x64-gnu-1.3.73"
+      sources."@swc/core-linux-x64-musl-1.3.73"
+      sources."@swc/core-win32-arm64-msvc-1.3.73"
+      sources."@swc/core-win32-ia32-msvc-1.3.73"
+      sources."@swc/core-win32-x64-msvc-1.3.73"
       sources."@swc/helpers-0.5.1"
       sources."@trysound/sax-0.2.0"
       sources."abab-2.0.6"
@@ -128066,11 +126552,11 @@ in
       sources."brace-expansion-2.0.1"
       sources."braces-3.0.2"
       sources."browser-process-hrtime-1.0.0"
-      sources."browserslist-4.21.9"
+      sources."browserslist-4.21.10"
       sources."buffer-from-1.1.2"
       sources."callsites-3.1.0"
       sources."caniuse-api-3.0.0"
-      sources."caniuse-lite-1.0.30001517"
+      sources."caniuse-lite-1.0.30001518"
       sources."caseless-0.12.0"
       (sources."chalk-4.1.2" // {
         dependencies = [
@@ -128120,7 +126606,7 @@ in
       sources."dotenv-7.0.0"
       sources."dotenv-expand-5.1.0"
       sources."ecc-jsbn-0.1.2"
-      sources."electron-to-chromium-1.4.466"
+      sources."electron-to-chromium-1.4.480"
       sources."entities-4.5.0"
       sources."error-ex-1.3.2"
       sources."escalade-3.1.1"
@@ -128242,7 +126728,7 @@ in
       sources."picocolors-1.0.0"
       sources."picomatch-2.3.1"
       sources."pn-1.1.0"
-      sources."postcss-8.4.26"
+      sources."postcss-8.4.27"
       sources."postcss-calc-9.0.1"
       sources."postcss-colormin-6.0.0"
       sources."postcss-convert-values-6.0.0"
@@ -128323,7 +126809,7 @@ in
       })
       sources."symbol-tree-3.2.4"
       sources."term-size-2.2.1"
-      (sources."terser-5.19.1" // {
+      (sources."terser-5.19.2" // {
         dependencies = [
           sources."commander-2.20.3"
         ];
@@ -128332,7 +126818,7 @@ in
       sources."to-regex-range-5.0.1"
       sources."tough-cookie-2.5.0"
       sources."tr46-1.0.1"
-      sources."tslib-2.6.0"
+      sources."tslib-2.6.1"
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
       sources."type-check-0.3.2"
@@ -128362,7 +126848,7 @@ in
       sources."whatwg-encoding-1.0.5"
       sources."whatwg-mimetype-2.3.0"
       sources."whatwg-url-7.1.0"
-      sources."word-wrap-1.2.4"
+      sources."word-wrap-1.2.5"
       sources."wrappy-1.0.2"
       sources."ws-6.2.2"
       sources."xml-name-validator-3.0.0"
@@ -128677,10 +127163,10 @@ in
   patch-package = nodeEnv.buildNodePackage {
     name = "patch-package";
     packageName = "patch-package";
-    version = "7.0.2";
+    version = "8.0.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/patch-package/-/patch-package-7.0.2.tgz";
-      sha512 = "PMYfL8LXxGIRmxXLqlEaBxzKPu7/SdP13ld6GSfAUJUZRmBDPp8chZs0dpzaAFn9TSPnFiMwkC6PJt6pBiAl8Q==";
+      url = "https://registry.npmjs.org/patch-package/-/patch-package-8.0.0.tgz";
+      sha512 = "da8BVIhzjtgScwDJ2TtKsfT5JFWz1hYoBl9rUQ1f38MC2HwnEIkK8VN3dKMKcP7P7bvvgzNDbfNHtx3MsQb5vA==";
     };
     dependencies = [
       sources."@yarnpkg/lockfile-1.1.0"
@@ -128708,7 +127194,9 @@ in
       sources."is-number-7.0.0"
       sources."is-wsl-2.2.0"
       sources."isexe-2.0.0"
+      sources."json-stable-stringify-1.0.2"
       sources."jsonfile-6.1.0"
+      sources."jsonify-0.0.1"
       sources."klaw-sync-6.0.0"
       sources."lru-cache-6.0.0"
       sources."micromatch-4.0.5"
@@ -129518,7 +128006,7 @@ in
       sources."end-of-stream-1.4.4"
       sources."escalade-3.1.1"
       sources."expand-template-2.0.3"
-      sources."fast-glob-3.3.0"
+      sources."fast-glob-3.3.1"
       sources."fastq-1.15.0"
       sources."fill-range-7.0.1"
       sources."from2-2.3.0"
@@ -129655,10 +128143,9 @@ in
           sources."semver-5.7.2"
         ];
       })
-      (sources."@pm2/agent-2.0.1" // {
+      (sources."@pm2/agent-2.0.3" // {
         dependencies = [
           sources."dayjs-1.8.36"
-          sources."semver-7.2.3"
         ];
       })
       (sources."@pm2/io-5.0.0" // {
@@ -129676,10 +128163,8 @@ in
         ];
       })
       sources."@pm2/pm2-version-check-1.0.4"
-      sources."@tootallnate/once-1.1.2"
-      sources."acorn-8.10.0"
-      sources."acorn-walk-8.2.0"
-      sources."agent-base-6.0.2"
+      sources."@tootallnate/quickjs-emscripten-0.23.0"
+      sources."agent-base-7.1.0"
       sources."amp-0.3.1"
       sources."amp-message-0.1.2"
       sources."ansi-colors-4.1.3"
@@ -129699,6 +128184,7 @@ in
       })
       sources."axios-0.21.4"
       sources."balanced-match-1.0.2"
+      sources."basic-ftp-5.0.3"
       sources."binary-extensions-2.2.0"
       sources."blessed-0.1.81"
       sources."bodec-0.1.0"
@@ -129706,7 +128192,6 @@ in
       sources."braces-3.0.2"
       sources."buffer-from-1.1.2"
       sources."bufferutil-4.0.7"
-      sources."bytes-3.1.2"
       sources."chalk-3.0.0"
       sources."charm-0.1.2"
       sources."chokidar-3.5.3"
@@ -129716,35 +128201,29 @@ in
       sources."commander-2.15.1"
       sources."concat-map-0.0.1"
       sources."continuation-local-storage-3.2.1"
-      sources."core-util-is-1.0.3"
       sources."croner-4.1.97"
       sources."culvert-0.1.2"
-      sources."data-uri-to-buffer-3.0.1"
+      sources."data-uri-to-buffer-5.0.1"
       sources."dayjs-1.11.9"
       sources."debug-4.3.4"
-      sources."deep-is-0.1.4"
-      sources."degenerator-3.0.4"
-      sources."depd-2.0.0"
+      sources."degenerator-5.0.1"
       sources."emitter-listener-1.1.2"
       sources."enquirer-2.3.6"
       sources."escape-string-regexp-4.0.0"
-      sources."escodegen-1.14.3"
+      sources."escodegen-2.1.0"
       sources."esprima-4.0.1"
-      sources."estraverse-4.3.0"
+      sources."estraverse-5.3.0"
       sources."esutils-2.0.3"
       sources."eventemitter2-5.0.1"
       sources."fast-json-patch-3.1.1"
-      sources."fast-levenshtein-2.0.6"
       sources."fclone-1.0.11"
-      sources."file-uri-to-path-2.0.0"
       sources."fill-range-7.0.1"
       sources."follow-redirects-1.15.2"
       sources."fs-extra-8.1.0"
       sources."fs.realpath-1.0.0"
       sources."fsevents-2.3.2"
-      sources."ftp-0.3.10"
       sources."function-bind-1.1.1"
-      sources."get-uri-3.0.2"
+      sources."get-uri-6.0.1"
       sources."git-node-fs-1.0.0"
       sources."git-sha1-0.1.2"
       sources."glob-7.2.3"
@@ -129752,9 +128231,8 @@ in
       sources."graceful-fs-4.2.11"
       sources."has-1.0.3"
       sources."has-flag-4.0.0"
-      sources."http-errors-2.0.0"
-      sources."http-proxy-agent-4.0.1"
-      sources."https-proxy-agent-5.0.1"
+      sources."http-proxy-agent-7.0.0"
+      sources."https-proxy-agent-7.0.1"
       sources."iconv-lite-0.4.24"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
@@ -129765,15 +128243,13 @@ in
       sources."is-extglob-2.1.1"
       sources."is-glob-4.0.3"
       sources."is-number-7.0.0"
-      sources."isarray-0.0.1"
       sources."js-git-0.7.8"
       sources."json-stringify-safe-5.0.1"
       sources."jsonfile-4.0.0"
       sources."lazy-1.0.11"
-      sources."levn-0.3.0"
       sources."lodash-4.17.21"
       sources."log-driver-1.2.7"
-      sources."lru-cache-5.1.1"
+      sources."lru-cache-7.18.3"
       sources."minimatch-3.1.2"
       sources."mkdirp-1.0.4"
       sources."module-details-from-path-1.0.3"
@@ -129793,9 +128269,8 @@ in
         ];
       })
       sources."once-1.4.0"
-      sources."optionator-0.8.3"
-      sources."pac-proxy-agent-5.0.0"
-      sources."pac-resolver-5.0.1"
+      sources."pac-proxy-agent-7.0.0"
+      sources."pac-resolver-7.0.0"
       sources."pako-0.2.9"
       sources."path-is-absolute-1.0.1"
       sources."path-parse-1.0.7"
@@ -129810,13 +128285,10 @@ in
           sources."pidusage-2.0.21"
         ];
       })
-      sources."prelude-ls-1.1.2"
       sources."promptly-2.2.0"
-      sources."proxy-agent-5.0.0"
+      sources."proxy-agent-6.3.0"
       sources."proxy-from-env-1.1.0"
-      sources."raw-body-2.5.2"
       sources."read-1.0.7"
-      sources."readable-stream-1.1.14"
       sources."readdirp-3.6.0"
       sources."require-in-the-middle-5.2.0"
       sources."resolve-1.22.3"
@@ -129827,10 +128299,8 @@ in
       (sources."semver-7.5.4" // {
         dependencies = [
           sources."lru-cache-6.0.0"
-          sources."yallist-4.0.0"
         ];
       })
-      sources."setprototypeof-1.2.0"
       sources."shimmer-1.2.1"
       sources."signal-exit-3.0.7"
       sources."smart-buffer-4.2.0"
@@ -129839,23 +128309,18 @@ in
           sources."ip-2.0.0"
         ];
       })
-      sources."socks-proxy-agent-5.0.1"
+      sources."socks-proxy-agent-8.0.1"
       sources."source-map-0.6.1"
       sources."source-map-support-0.5.21"
       sources."sprintf-js-1.1.2"
-      sources."statuses-2.0.1"
-      sources."string_decoder-0.10.31"
       sources."supports-color-7.2.0"
       sources."supports-preserve-symlinks-flag-1.0.0"
-      sources."systeminformation-5.18.7"
+      sources."systeminformation-5.18.10"
       sources."to-regex-range-5.0.1"
-      sources."toidentifier-1.0.1"
-      sources."tslib-2.6.0"
+      sources."tslib-2.6.1"
       sources."tv4-1.3.0"
       sources."tx2-1.0.5"
-      sources."type-check-0.3.2"
       sources."universalify-0.1.2"
-      sources."unpipe-1.0.0"
       sources."utf-8-validate-5.0.10"
       sources."uuid-3.4.0"
       (sources."vizion-2.2.1" // {
@@ -129863,12 +128328,9 @@ in
           sources."async-2.6.4"
         ];
       })
-      sources."vm2-3.9.19"
-      sources."word-wrap-1.2.4"
       sources."wrappy-1.0.2"
       sources."ws-7.4.6"
-      sources."xregexp-2.0.0"
-      sources."yallist-3.1.1"
+      sources."yallist-4.0.0"
       sources."yamljs-0.3.0"
     ];
     buildInputs = globalBuildInputs;
@@ -129884,10 +128346,10 @@ in
   pnpm = nodeEnv.buildNodePackage {
     name = "pnpm";
     packageName = "pnpm";
-    version = "8.6.9";
+    version = "8.6.11";
     src = fetchurl {
-      url = "https://registry.npmjs.org/pnpm/-/pnpm-8.6.9.tgz";
-      sha512 = "LPEaCGvlV4dVGeJeHqi/pCR/SETooqmScv2wcr0gTqGUebpkt1w9TIEX0awLMhLO29p7pcXfz5ZO59B70Tnc0w==";
+      url = "https://registry.npmjs.org/pnpm/-/pnpm-8.6.11.tgz";
+      sha512 = "jqknppuj45tDzJsLcLqkAxytBHZXIx9JTYkGNq0/7pSRggpio9wRxTDj4NA2ilOHPlJ5BVjB5Ij5dx65woMi5A==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -129930,10 +128392,10 @@ in
   postcss = nodeEnv.buildNodePackage {
     name = "postcss";
     packageName = "postcss";
-    version = "8.4.26";
+    version = "8.4.27";
     src = fetchurl {
-      url = "https://registry.npmjs.org/postcss/-/postcss-8.4.26.tgz";
-      sha512 = "jrXHFF8iTloAenySjM/ob3gSj7pCu0Ji49hnjqzsgSRa50hkWCKD0HQ+gMNJkW38jBI68MpAAg7ZWwHwX8NMMw==";
+      url = "https://registry.npmjs.org/postcss/-/postcss-8.4.27.tgz";
+      sha512 = "gY/ACJtJPSmUFPDCHtX78+01fHa64FaU4zaaWfuh1MhGJISufJAH4cun6k/8fwsHYeK4UQmENQK+tRLCFJE8JQ==";
     };
     dependencies = [
       sources."nanoid-3.3.6"
@@ -129966,24 +128428,24 @@ in
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
-      sources."@swc/core-1.3.70"
-      sources."@swc/core-darwin-arm64-1.3.70"
-      sources."@swc/core-darwin-x64-1.3.70"
-      sources."@swc/core-linux-arm-gnueabihf-1.3.70"
-      sources."@swc/core-linux-arm64-gnu-1.3.70"
-      sources."@swc/core-linux-arm64-musl-1.3.70"
-      sources."@swc/core-linux-x64-gnu-1.3.70"
-      sources."@swc/core-linux-x64-musl-1.3.70"
-      sources."@swc/core-win32-arm64-msvc-1.3.70"
-      sources."@swc/core-win32-ia32-msvc-1.3.70"
-      sources."@swc/core-win32-x64-msvc-1.3.70"
+      sources."@swc/core-1.3.73"
+      sources."@swc/core-darwin-arm64-1.3.73"
+      sources."@swc/core-darwin-x64-1.3.73"
+      sources."@swc/core-linux-arm-gnueabihf-1.3.73"
+      sources."@swc/core-linux-arm64-gnu-1.3.73"
+      sources."@swc/core-linux-arm64-musl-1.3.73"
+      sources."@swc/core-linux-x64-gnu-1.3.73"
+      sources."@swc/core-linux-x64-musl-1.3.73"
+      sources."@swc/core-win32-arm64-msvc-1.3.73"
+      sources."@swc/core-win32-ia32-msvc-1.3.73"
+      sources."@swc/core-win32-x64-msvc-1.3.73"
       sources."@swc/helpers-0.5.1"
-      sources."@swc/wasm-1.3.70"
+      sources."@swc/wasm-1.3.73"
       sources."@tsconfig/node10-1.0.9"
       sources."@tsconfig/node12-1.0.11"
       sources."@tsconfig/node14-1.0.3"
       sources."@tsconfig/node16-1.0.4"
-      sources."@types/node-20.4.2"
+      sources."@types/node-20.4.5"
       sources."acorn-8.10.0"
       sources."acorn-walk-8.2.0"
       sources."ansi-regex-5.0.1"
@@ -130002,7 +128464,7 @@ in
       sources."dir-glob-3.0.1"
       sources."emoji-regex-8.0.0"
       sources."escalade-3.1.1"
-      sources."fast-glob-3.3.0"
+      sources."fast-glob-3.3.1"
       sources."fastq-1.15.0"
       sources."fill-range-7.0.1"
       sources."fs-extra-11.1.1"
@@ -130033,7 +128495,7 @@ in
       sources."picocolors-1.0.0"
       sources."picomatch-2.3.1"
       sources."pify-2.3.0"
-      sources."postcss-8.4.26"
+      sources."postcss-8.4.27"
       sources."postcss-load-config-4.0.1"
       sources."postcss-reporter-7.0.5"
       sources."pretty-hrtime-1.0.3"
@@ -130050,7 +128512,7 @@ in
       sources."thenby-1.3.4"
       sources."to-regex-range-5.0.1"
       sources."ts-node-10.9.1"
-      sources."tslib-2.6.0"
+      sources."tslib-2.6.1"
       sources."typescript-5.1.6"
       sources."universalify-2.0.0"
       sources."v8-compile-cache-lib-3.0.1"
@@ -130205,13 +128667,13 @@ in
   prisma = nodeEnv.buildNodePackage {
     name = "prisma";
     packageName = "prisma";
-    version = "5.0.0";
+    version = "5.1.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/prisma/-/prisma-5.0.0.tgz";
-      sha512 = "KYWk83Fhi1FH59jSpavAYTt2eoMVW9YKgu8ci0kuUnt6Dup5Qy47pcB4/TLmiPAbhGrxxSz7gsSnJcCmkyPANA==";
+      url = "https://registry.npmjs.org/prisma/-/prisma-5.1.0.tgz";
+      sha512 = "wkXvh+6wxk03G8qwpZMOed4Y3j+EQ+bMTlvbDZHeal6k1E8QuGKzRO7DRXlE1NV0WNgOAas8kwZqcLETQ2+BiQ==";
     };
     dependencies = [
-      sources."@prisma/engines-5.0.0"
+      sources."@prisma/engines-5.1.0"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -130226,10 +128688,10 @@ in
   "@prisma/language-server" = nodeEnv.buildNodePackage {
     name = "_at_prisma_slash_language-server";
     packageName = "@prisma/language-server";
-    version = "5.0.0";
+    version = "5.1.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@prisma/language-server/-/language-server-5.0.0.tgz";
-      sha512 = "nj1zRWuy9WVtK2Qv2o6X3ghMr1LDSi4xDN7iTGm5Z12bEXr8cdM53oO/+2UrgOSdyrzbk1wdZqNJ+1Hn+objgQ==";
+      url = "https://registry.npmjs.org/@prisma/language-server/-/language-server-5.1.0.tgz";
+      sha512 = "n7TS0Wgupl4FXytRrR8vCgjfoJEmKuHIHLaYrServN6pWnEyKY/vAYAhDRPYV/IduxV1ZzPqCJvdGRK/53Gf4w==";
     };
     dependencies = [
       sources."@ampproject/remapping-2.2.1"
@@ -130265,7 +128727,7 @@ in
           sources."@jridgewell/sourcemap-codec-1.4.14"
         ];
       })
-      sources."@prisma/prisma-schema-wasm-4.17.0-26.6b0aef69b7cdfc787f822ecd7cdc76d5f1991584"
+      sources."@prisma/prisma-schema-wasm-5.1.0-28.a9b7003df90aa623086e4d6f4e43c72468e6339b"
       sources."@types/js-levenshtein-1.1.1"
       sources."aggregate-error-3.1.0"
       sources."ansi-regex-5.0.1"
@@ -130275,10 +128737,10 @@ in
       sources."argparse-1.0.10"
       sources."balanced-match-1.0.2"
       sources."brace-expansion-1.1.11"
-      sources."browserslist-4.21.9"
+      sources."browserslist-4.21.10"
       sources."caching-transform-4.0.0"
       sources."camelcase-5.3.1"
-      sources."caniuse-lite-1.0.30001517"
+      sources."caniuse-lite-1.0.30001518"
       sources."chalk-2.4.2"
       sources."clean-stack-2.2.0"
       sources."cliui-6.0.0"
@@ -130291,7 +128753,7 @@ in
       sources."debug-4.3.4"
       sources."decamelize-1.2.0"
       sources."default-require-extensions-3.0.1"
-      sources."electron-to-chromium-1.4.466"
+      sources."electron-to-chromium-1.4.480"
       sources."emoji-regex-8.0.0"
       sources."es6-error-4.1.1"
       sources."escalade-3.1.1"
@@ -130324,14 +128786,18 @@ in
       sources."istanbul-lib-hook-3.0.0"
       sources."istanbul-lib-instrument-4.0.3"
       sources."istanbul-lib-processinfo-2.0.3"
-      (sources."istanbul-lib-report-3.0.0" // {
+      (sources."istanbul-lib-report-3.0.1" // {
         dependencies = [
           sources."has-flag-4.0.0"
+          sources."lru-cache-6.0.0"
+          sources."make-dir-4.0.0"
+          sources."semver-7.5.4"
           sources."supports-color-7.2.0"
+          sources."yallist-4.0.0"
         ];
       })
       sources."istanbul-lib-source-maps-4.0.1"
-      sources."istanbul-reports-3.1.5"
+      sources."istanbul-reports-3.1.6"
       sources."js-levenshtein-1.1.6"
       sources."js-tokens-4.0.0"
       sources."js-yaml-3.14.1"
@@ -130456,7 +128922,7 @@ in
       sources."inherits-2.0.4"
       sources."is-fullwidth-code-point-3.0.0"
       sources."isexe-2.0.0"
-      sources."jackspeak-2.2.1"
+      sources."jackspeak-2.2.2"
       sources."keypress-0.2.1"
       sources."lodash-4.17.21"
       sources."lru-cache-10.0.0"
@@ -130468,7 +128934,7 @@ in
       sources."path-scurry-1.10.1"
       sources."shebang-command-2.0.0"
       sources."shebang-regex-3.0.0"
-      sources."signal-exit-4.0.2"
+      sources."signal-exit-4.1.0"
       sources."string-width-5.1.2"
       (sources."string-width-cjs-4.2.3" // {
         dependencies = [
@@ -130983,7 +129449,7 @@ in
       sources."source-map-0.6.1"
       sources."strip-json-comments-2.0.1"
       sources."to-readable-stream-1.0.0"
-      sources."tslib-2.6.0"
+      sources."tslib-2.6.1"
       sources."universalify-2.0.0"
       sources."url-parse-lax-3.0.0"
       sources."winreg-1.2.4"
@@ -131002,10 +129468,10 @@ in
   pyright = nodeEnv.buildNodePackage {
     name = "pyright";
     packageName = "pyright";
-    version = "1.1.318";
+    version = "1.1.319";
     src = fetchurl {
-      url = "https://registry.npmjs.org/pyright/-/pyright-1.1.318.tgz";
-      sha512 = "w2FLP8i6fKcwmBKtdNKbaWE3IQub3EZe4jICrf6m5i7VaA4iYi4kN++zFp/z1sz76N7EAxZ85UG/81/csNWRHw==";
+      url = "https://registry.npmjs.org/pyright/-/pyright-1.1.319.tgz";
+      sha512 = "6AC0r2r5rT0BpcPH7S27JS0CpFNKvvfdTRLinWwzeMdJCma9ceF8zUgnvMahHfLUcXn4fyypfth9Dito9tey8g==";
     };
     dependencies = [
       sources."fsevents-2.3.2"
@@ -131023,10 +129489,10 @@ in
   quicktype = nodeEnv.buildNodePackage {
     name = "quicktype";
     packageName = "quicktype";
-    version = "23.0.59";
+    version = "23.0.63";
     src = fetchurl {
-      url = "https://registry.npmjs.org/quicktype/-/quicktype-23.0.59.tgz";
-      sha512 = "fTo7eNzFByP7x5xGkpiKDaNaqMejIiMuMcxtqurUaxbDSC0fPf3E3oGk0cMoWA3LK0Idu53BTayBd/Md7JhnEg==";
+      url = "https://registry.npmjs.org/quicktype/-/quicktype-23.0.63.tgz";
+      sha512 = "ncTNNEHeQJPGZm7uoHdE5RpFNCmOb0DUSp2vi8Dd+IGNwJtHtf5AOIIWWN6f7PnficD+wY8huMmVRYDDxFpjnQ==";
     };
     dependencies = [
       (sources."@75lb/deep-merge-1.1.1" // {
@@ -131044,25 +129510,25 @@ in
           sources."typescript-4.9.4"
         ];
       })
-      sources."@swc/core-1.3.70"
-      sources."@swc/core-darwin-arm64-1.3.70"
-      sources."@swc/core-darwin-x64-1.3.70"
-      sources."@swc/core-linux-arm-gnueabihf-1.3.70"
-      sources."@swc/core-linux-arm64-gnu-1.3.70"
-      sources."@swc/core-linux-arm64-musl-1.3.70"
-      sources."@swc/core-linux-x64-gnu-1.3.70"
-      sources."@swc/core-linux-x64-musl-1.3.70"
-      sources."@swc/core-win32-arm64-msvc-1.3.70"
-      sources."@swc/core-win32-ia32-msvc-1.3.70"
-      sources."@swc/core-win32-x64-msvc-1.3.70"
+      sources."@swc/core-1.3.73"
+      sources."@swc/core-darwin-arm64-1.3.73"
+      sources."@swc/core-darwin-x64-1.3.73"
+      sources."@swc/core-linux-arm-gnueabihf-1.3.73"
+      sources."@swc/core-linux-arm64-gnu-1.3.73"
+      sources."@swc/core-linux-arm64-musl-1.3.73"
+      sources."@swc/core-linux-x64-gnu-1.3.73"
+      sources."@swc/core-linux-x64-musl-1.3.73"
+      sources."@swc/core-win32-arm64-msvc-1.3.73"
+      sources."@swc/core-win32-ia32-msvc-1.3.73"
+      sources."@swc/core-win32-x64-msvc-1.3.73"
       sources."@swc/helpers-0.5.1"
-      sources."@swc/wasm-1.3.70"
+      sources."@swc/wasm-1.3.73"
       sources."@tsconfig/node10-1.0.9"
       sources."@tsconfig/node12-1.0.11"
       sources."@tsconfig/node14-1.0.3"
       sources."@tsconfig/node16-1.0.4"
       sources."@types/json-schema-7.0.12"
-      sources."@types/node-16.18.38"
+      sources."@types/node-16.18.39"
       sources."@types/urijs-1.19.19"
       sources."abort-controller-3.0.0"
       sources."acorn-8.10.0"
@@ -131091,7 +129557,7 @@ in
       })
       sources."concat-map-0.0.1"
       sources."create-require-1.1.1"
-      sources."cross-fetch-3.1.8"
+      sources."cross-fetch-4.0.0"
       sources."diff-4.0.2"
       sources."emoji-regex-8.0.0"
       sources."encoding-0.1.13"
@@ -131125,13 +129591,9 @@ in
       sources."path-is-absolute-1.0.1"
       sources."pluralize-8.0.0"
       sources."process-0.11.10"
-      (sources."quicktype-core-23.0.59" // {
-        dependencies = [
-          sources."readable-stream-4.3.0"
-        ];
-      })
-      sources."quicktype-graphql-input-23.0.59"
-      sources."quicktype-typescript-input-23.0.59"
+      sources."quicktype-core-23.0.63"
+      sources."quicktype-graphql-input-23.0.63"
+      sources."quicktype-typescript-input-23.0.63"
       sources."readable-stream-4.4.2"
       sources."require-directory-2.1.1"
       sources."safe-buffer-5.2.1"
@@ -131158,7 +129620,7 @@ in
       sources."tiny-inflate-1.0.3"
       sources."tr46-0.0.3"
       sources."ts-node-10.9.1"
-      sources."tslib-2.6.0"
+      sources."tslib-2.6.1"
       sources."typescript-4.9.5"
       sources."typical-4.0.0"
       sources."unicode-properties-1.4.1"
@@ -131334,7 +129796,7 @@ in
           sources."semver-6.3.1"
         ];
       })
-      sources."@babel/helper-define-polyfill-provider-0.4.1"
+      sources."@babel/helper-define-polyfill-provider-0.4.2"
       sources."@babel/helper-environment-visitor-7.22.5"
       sources."@babel/helper-function-name-7.22.5"
       sources."@babel/helper-hoist-variables-7.22.5"
@@ -131444,7 +129906,7 @@ in
           sources."semver-6.3.1"
         ];
       })
-      sources."@babel/preset-modules-0.1.5"
+      sources."@babel/preset-modules-0.1.6"
       sources."@babel/preset-react-7.22.5"
       sources."@babel/preset-stage-0-7.8.3"
       sources."@babel/register-7.22.5"
@@ -131458,13 +129920,12 @@ in
       sources."@jridgewell/set-array-1.1.2"
       sources."@jridgewell/sourcemap-codec-1.4.14"
       sources."@jridgewell/trace-mapping-0.3.18"
-      sources."@nicolo-ribaudo/semver-v6-6.3.3"
       sources."@reach/router-1.3.4"
       sources."@sindresorhus/is-0.7.0"
       sources."@types/glob-7.2.0"
       sources."@types/json-schema-7.0.12"
       sources."@types/minimatch-5.1.2"
-      sources."@types/node-20.4.2"
+      sources."@types/node-20.4.5"
       sources."@types/parse-json-4.0.0"
       sources."@types/prop-types-15.7.5"
       sources."@types/q-1.5.5"
@@ -131563,9 +130024,13 @@ in
         ];
       })
       sources."babel-plugin-macros-2.8.0"
-      sources."babel-plugin-polyfill-corejs2-0.4.4"
-      sources."babel-plugin-polyfill-corejs3-0.8.2"
-      sources."babel-plugin-polyfill-regenerator-0.5.1"
+      (sources."babel-plugin-polyfill-corejs2-0.4.5" // {
+        dependencies = [
+          sources."semver-6.3.1"
+        ];
+      })
+      sources."babel-plugin-polyfill-corejs3-0.8.3"
+      sources."babel-plugin-polyfill-regenerator-0.5.2"
       sources."babel-plugin-transform-react-remove-prop-types-0.4.24"
       sources."babel-plugin-universal-import-4.0.2"
       (sources."babel-runtime-6.26.0" // {
@@ -131624,7 +130089,7 @@ in
         ];
       })
       sources."browserify-zlib-0.1.4"
-      sources."browserslist-4.21.9"
+      sources."browserslist-4.21.10"
       sources."buffer-5.7.1"
       sources."buffer-alloc-1.2.0"
       sources."buffer-alloc-unsafe-1.1.0"
@@ -131654,7 +130119,7 @@ in
       sources."camel-case-3.0.0"
       sources."camelcase-5.3.1"
       sources."caniuse-api-3.0.0"
-      sources."caniuse-lite-1.0.30001517"
+      sources."caniuse-lite-1.0.30001518"
       sources."case-sensitive-paths-webpack-plugin-2.4.0"
       sources."caw-2.0.1"
       sources."chalk-2.4.2"
@@ -131731,7 +130196,7 @@ in
       sources."copy-concurrently-1.0.5"
       sources."copy-descriptor-0.1.1"
       sources."core-js-2.6.12"
-      sources."core-js-compat-3.31.1"
+      sources."core-js-compat-3.32.0"
       sources."core-util-is-1.0.3"
       sources."cors-2.8.5"
       sources."cosmiconfig-6.0.0"
@@ -131875,7 +130340,7 @@ in
       sources."duplexify-3.7.1"
       sources."ee-first-1.1.1"
       sources."ejs-2.7.4"
-      sources."electron-to-chromium-1.4.466"
+      sources."electron-to-chromium-1.4.480"
       (sources."elliptic-6.5.4" // {
         dependencies = [
           sources."bn.js-4.12.0"
@@ -133224,7 +131689,7 @@ in
       sources."@emotion/memoize-0.8.1"
       sources."@emotion/stylis-0.8.5"
       sources."@emotion/unitless-0.7.5"
-      sources."@exodus/schemasafe-1.0.1"
+      sources."@exodus/schemasafe-1.1.1"
       sources."@jridgewell/gen-mapping-0.3.3"
       sources."@jridgewell/resolve-uri-3.1.0"
       sources."@jridgewell/set-array-1.1.2"
@@ -133232,12 +131697,12 @@ in
       sources."@jridgewell/sourcemap-codec-1.4.14"
       sources."@jridgewell/trace-mapping-0.3.18"
       sources."@redocly/ajv-8.11.0"
-      sources."@redocly/openapi-core-1.0.0-rc.2"
-      sources."@types/eslint-8.44.0"
+      sources."@redocly/openapi-core-1.0.0"
+      sources."@types/eslint-8.44.1"
       sources."@types/eslint-scope-3.7.4"
       sources."@types/estree-1.0.1"
       sources."@types/json-schema-7.0.12"
-      sources."@types/node-14.18.53"
+      sources."@types/node-14.18.54"
       sources."@webassemblyjs/ast-1.11.6"
       sources."@webassemblyjs/floating-point-hex-parser-1.11.6"
       sources."@webassemblyjs/helper-api-error-1.11.6"
@@ -133298,7 +131763,7 @@ in
         ];
       })
       sources."browserify-zlib-0.2.0"
-      sources."browserslist-4.21.9"
+      sources."browserslist-4.21.10"
       sources."buffer-4.9.2"
       sources."buffer-from-1.1.2"
       sources."buffer-xor-1.0.3"
@@ -133307,7 +131772,7 @@ in
       sources."call-me-maybe-1.0.2"
       sources."camelcase-6.3.0"
       sources."camelize-1.0.1"
-      sources."caniuse-lite-1.0.30001517"
+      sources."caniuse-lite-1.0.30001518"
       sources."chalk-4.1.2"
       sources."chokidar-3.5.3"
       sources."chrome-trace-event-1.0.3"
@@ -133323,7 +131788,7 @@ in
       sources."console-browserify-1.2.0"
       sources."constants-browserify-1.0.0"
       sources."convert-source-map-1.9.0"
-      sources."core-js-3.31.1"
+      sources."core-js-3.32.0"
       sources."core-util-is-1.0.3"
       (sources."create-ecdh-4.0.4" // {
         dependencies = [
@@ -133345,7 +131810,7 @@ in
       })
       sources."domain-browser-1.2.0"
       sources."dompurify-2.4.7"
-      sources."electron-to-chromium-1.4.466"
+      sources."electron-to-chromium-1.4.480"
       (sources."elliptic-6.5.4" // {
         dependencies = [
           sources."bn.js-4.12.0"
@@ -133548,7 +132013,7 @@ in
       sources."supports-color-7.2.0"
       sources."swagger2openapi-7.0.8"
       sources."tapable-2.2.1"
-      sources."terser-5.19.1"
+      sources."terser-5.19.2"
       sources."terser-webpack-plugin-5.3.9"
       sources."timers-browserify-2.0.12"
       sources."to-arraybuffer-1.0.1"
@@ -133609,7 +132074,7 @@ in
     };
     dependencies = [
       sources."@types/prop-types-15.7.5"
-      sources."@types/react-18.2.15"
+      sources."@types/react-18.2.18"
       sources."@types/scheduler-0.16.3"
       sources."@types/yoga-layout-1.9.2"
       sources."ansi-escapes-4.3.2"
@@ -134095,7 +132560,7 @@ in
       sources."glob-10.3.3"
       sources."is-fullwidth-code-point-3.0.0"
       sources."isexe-2.0.0"
-      sources."jackspeak-2.2.1"
+      sources."jackspeak-2.2.2"
       sources."lru-cache-10.0.0"
       sources."minimatch-9.0.3"
       sources."minipass-7.0.2"
@@ -134103,7 +132568,7 @@ in
       sources."path-scurry-1.10.1"
       sources."shebang-command-2.0.0"
       sources."shebang-regex-3.0.0"
-      sources."signal-exit-4.0.2"
+      sources."signal-exit-4.1.0"
       sources."string-width-5.1.2"
       (sources."string-width-cjs-4.2.3" // {
         dependencies = [
@@ -134141,14 +132606,11 @@ in
   rollup = nodeEnv.buildNodePackage {
     name = "rollup";
     packageName = "rollup";
-    version = "3.26.3";
+    version = "3.27.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/rollup/-/rollup-3.26.3.tgz";
-      sha512 = "7Tin0C8l86TkpcMtXvQu6saWH93nhG3dGQ1/+l5V2TDMceTxO7kDiK6GzbfLWNNxqJXm591PcEZUozZm51ogwQ==";
+      url = "https://registry.npmjs.org/rollup/-/rollup-3.27.0.tgz";
+      sha512 = "aOltLCrYZ0FhJDm7fCqwTjIUEVjWjcydKBV/Zeid6Mn8BWgDCUBBWT5beM5ieForYNo/1ZHuGJdka26kvQ3Gzg==";
     };
-    dependencies = [
-      sources."fsevents-2.3.2"
-    ];
     buildInputs = globalBuildInputs;
     meta = {
       description = "Next-generation ES module bundler";
@@ -134162,20 +132624,20 @@ in
   "rust-analyzer-build-deps-../../applications/editors/vscode/extensions/rust-lang.rust-analyzer/build-deps" = nodeEnv.buildNodePackage {
     name = "rust-analyzer";
     packageName = "rust-analyzer";
-    version = "0.3.1426";
+    version = "0.3.1607";
     src = ../../applications/editors/vscode/extensions/rust-lang.rust-analyzer/build-deps;
     dependencies = [
       sources."@aashutoshrathi/word-wrap-1.2.6"
       sources."@eslint-community/eslint-utils-4.4.0"
-      sources."@eslint-community/regexpp-4.5.1"
-      (sources."@eslint/eslintrc-2.1.0" // {
+      sources."@eslint-community/regexpp-4.6.2"
+      (sources."@eslint/eslintrc-2.1.1" // {
         dependencies = [
           sources."brace-expansion-1.1.11"
           sources."minimatch-3.1.2"
         ];
       })
-      sources."@eslint/js-8.44.0"
-      sources."@hpcc-js/wasm-2.5.0"
+      sources."@eslint/js-8.46.0"
+      sources."@hpcc-js/wasm-2.13.1"
       (sources."@humanwhocodes/config-array-0.11.10" // {
         dependencies = [
           sources."brace-expansion-1.1.11"
@@ -134200,7 +132662,7 @@ in
       sources."@typescript-eslint/typescript-estree-5.62.0"
       sources."@typescript-eslint/utils-5.62.0"
       sources."@typescript-eslint/visitor-keys-5.62.0"
-      sources."@vscode/test-electron-2.3.3"
+      sources."@vscode/test-electron-2.3.4"
       sources."acorn-8.10.0"
       sources."acorn-jsx-5.3.2"
       sources."agent-base-6.0.2"
@@ -134256,7 +132718,7 @@ in
       sources."d3-force-3.0.0"
       sources."d3-format-3.1.0"
       sources."d3-geo-3.1.0"
-      sources."d3-graphviz-5.0.2"
+      sources."d3-graphviz-5.1.0"
       sources."d3-hierarchy-3.1.2"
       sources."d3-interpolate-3.0.1"
       sources."d3-path-3.1.0"
@@ -134289,18 +132751,18 @@ in
       sources."entities-4.5.0"
       sources."escalade-3.1.1"
       sources."escape-string-regexp-4.0.0"
-      (sources."eslint-8.45.0" // {
+      (sources."eslint-8.46.0" // {
         dependencies = [
           sources."brace-expansion-1.1.11"
-          sources."eslint-scope-7.2.1"
+          sources."eslint-scope-7.2.2"
           sources."estraverse-5.3.0"
           sources."glob-parent-6.0.2"
           sources."minimatch-3.1.2"
         ];
       })
-      sources."eslint-config-prettier-8.8.0"
+      sources."eslint-config-prettier-8.9.0"
       sources."eslint-scope-5.1.1"
-      sources."eslint-visitor-keys-3.4.1"
+      sources."eslint-visitor-keys-3.4.2"
       sources."espree-9.6.1"
       (sources."esquery-1.5.0" // {
         dependencies = [
@@ -134316,7 +132778,7 @@ in
       sources."esutils-2.0.3"
       sources."expand-template-2.0.3"
       sources."fast-deep-equal-3.1.3"
-      sources."fast-glob-3.3.0"
+      sources."fast-glob-3.3.1"
       sources."fast-json-stable-stringify-2.1.0"
       sources."fast-levenshtein-2.0.6"
       sources."fastq-1.15.0"
@@ -134474,7 +132936,7 @@ in
       sources."text-table-0.2.0"
       sources."tmp-0.2.1"
       sources."to-regex-range-5.0.1"
-      sources."tslib-2.6.0"
+      sources."tslib-2.6.1"
       (sources."tsutils-3.21.0" // {
         dependencies = [
           sources."tslib-1.14.1"
@@ -134517,7 +132979,7 @@ in
       sources."xmlbuilder-11.0.1"
       sources."y18n-5.0.8"
       sources."yallist-4.0.0"
-      sources."yargs-17.6.2"
+      sources."yargs-17.7.2"
       sources."yargs-parser-21.1.1"
       sources."yauzl-2.10.0"
       sources."yazl-2.5.1"
@@ -134542,7 +133004,7 @@ in
       sources."escalade-3.1.1"
       sources."nanoid-3.3.6"
       sources."picocolors-1.0.0"
-      sources."postcss-8.4.26"
+      sources."postcss-8.4.27"
       sources."source-map-js-1.0.2"
       sources."strip-json-comments-3.1.1"
     ];
@@ -134656,10 +133118,10 @@ in
   sass = nodeEnv.buildNodePackage {
     name = "sass";
     packageName = "sass";
-    version = "1.64.0";
+    version = "1.64.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/sass/-/sass-1.64.0.tgz";
-      sha512 = "m7YtAGmQta9uANIUJwXesAJMSncqH+3INc8kdVXs6eV6GUC8Qu2IYKQSN8PRLgiQfpca697G94klm2leYMxSHw==";
+      url = "https://registry.npmjs.org/sass/-/sass-1.64.2.tgz";
+      sha512 = "TnDlfc+CRnUAgLO9D8cQLFu/GIjJIzJCGkE7o4ekIGQOH7T3GetiRR/PsTWJUHhkzcSPrARkPI+gNWn5alCzDg==";
     };
     dependencies = [
       sources."anymatch-3.1.3"
@@ -134881,8 +133343,8 @@ in
       sources."@types/cacheable-request-6.0.3"
       sources."@types/http-cache-semantics-4.0.1"
       sources."@types/keyv-3.1.4"
-      sources."@types/lodash-4.14.195"
-      sources."@types/node-20.4.2"
+      sources."@types/lodash-4.14.196"
+      sources."@types/node-20.4.5"
       sources."@types/responselike-1.0.0"
       sources."adm-zip-0.5.10"
       sources."agent-base-6.0.2"
@@ -134910,7 +133372,7 @@ in
       sources."asynckit-0.4.0"
       sources."at-least-node-1.0.0"
       sources."available-typed-arrays-1.0.5"
-      (sources."aws-sdk-2.1418.0" // {
+      (sources."aws-sdk-2.1427.0" // {
         dependencies = [
           sources."buffer-4.9.2"
           sources."ieee754-1.1.13"
@@ -134944,7 +133406,7 @@ in
           sources."get-stream-5.2.0"
         ];
       })
-      sources."cachedir-2.3.0"
+      sources."cachedir-2.4.0"
       sources."call-bind-1.0.2"
       (sources."chalk-4.1.2" // {
         dependencies = [
@@ -135075,7 +133537,7 @@ in
       sources."ext-name-5.0.0"
       sources."external-editor-3.1.0"
       sources."fast-deep-equal-3.1.3"
-      sources."fast-glob-3.3.0"
+      sources."fast-glob-3.3.1"
       sources."fast-safe-stringify-2.1.1"
       sources."fastest-levenshtein-1.0.16"
       sources."fastq-1.15.0"
@@ -135084,7 +133546,7 @@ in
       sources."file-type-16.5.4"
       sources."filename-reserved-regex-2.0.0"
       sources."filenamify-4.3.0"
-      sources."filesize-10.0.7"
+      sources."filesize-10.0.8"
       sources."fill-range-7.0.1"
       sources."find-requires-1.0.0"
       sources."flat-5.0.2"
@@ -135333,7 +133795,7 @@ in
       sources."tr46-0.0.3"
       sources."traverse-0.6.7"
       sources."trim-repeated-1.0.0"
-      sources."tslib-2.6.0"
+      sources."tslib-2.6.1"
       sources."type-2.7.2"
       sources."type-fest-0.21.3"
       sources."unbzip2-stream-1.4.3"
@@ -136020,17 +134482,17 @@ in
   snyk = nodeEnv.buildNodePackage {
     name = "snyk";
     packageName = "snyk";
-    version = "1.1192.0";
+    version = "1.1198.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/snyk/-/snyk-1.1192.0.tgz";
-      sha512 = "26Pj6ece4hEE4STEnYAFcbVdplVIb8kzzFuCs5mrhNeZs+eBb0KJNLL4d38nhtFd7iyYIhdrofXxs9TItCAsMg==";
+      url = "https://registry.npmjs.org/snyk/-/snyk-1.1198.0.tgz";
+      sha512 = "FlG2HYVFJOMqYePririH2wM8hal4SJ/GqRGZ1J/X6hcxs48uEtc53cw1qq/snyPbHVQOlC92itxaVKtEc2uaGA==";
     };
     dependencies = [
-      sources."@sentry-internal/tracing-7.59.3"
-      sources."@sentry/core-7.59.3"
-      sources."@sentry/node-7.59.3"
-      sources."@sentry/types-7.59.3"
-      sources."@sentry/utils-7.59.3"
+      sources."@sentry-internal/tracing-7.61.0"
+      sources."@sentry/core-7.61.0"
+      sources."@sentry/node-7.61.0"
+      sources."@sentry/types-7.61.0"
+      sources."@sentry/utils-7.61.0"
       sources."agent-base-6.0.2"
       sources."boolean-3.2.0"
       sources."cookie-0.4.2"
@@ -136059,7 +134521,7 @@ in
       sources."semver-compare-1.0.0"
       sources."serialize-error-7.0.1"
       sources."sprintf-js-1.1.2"
-      sources."tslib-2.6.0"
+      sources."tslib-2.6.1"
       sources."type-fest-0.13.1"
       sources."yallist-4.0.0"
     ];
@@ -136085,7 +134547,7 @@ in
       sources."@socket.io/component-emitter-3.1.0"
       sources."@types/cookie-0.4.1"
       sources."@types/cors-2.8.13"
-      sources."@types/node-20.4.2"
+      sources."@types/node-20.4.5"
       sources."accepts-1.3.8"
       sources."base64id-2.0.0"
       sources."bufferutil-4.0.7"
@@ -136282,15 +134744,16 @@ in
   sql-formatter = nodeEnv.buildNodePackage {
     name = "sql-formatter";
     packageName = "sql-formatter";
-    version = "12.2.3";
+    version = "12.2.4";
     src = fetchurl {
-      url = "https://registry.npmjs.org/sql-formatter/-/sql-formatter-12.2.3.tgz";
-      sha512 = "sVRjEBTKJ5to2kfn11eDHcfVswz1//AL6HdGbPVN8ROWQ/XTv7E3z7rjgRxEimaBq5yDBE55JCljgcJ8a3+s7Q==";
+      url = "https://registry.npmjs.org/sql-formatter/-/sql-formatter-12.2.4.tgz";
+      sha512 = "Qj45LEHSfgrdYDOrAtIkR8SdS10SWcqCIM2WZwQwMKF2v9sM0K2dlThWPS7eYCUrhttZIrU1WwuIwHk7MjsWOw==";
     };
     dependencies = [
       sources."argparse-2.0.1"
       sources."commander-2.20.3"
       sources."discontinuous-range-1.0.0"
+      sources."get-stdin-8.0.0"
       sources."moo-0.5.2"
       sources."nearley-2.20.1"
       sources."railroad-diagrams-1.0.0"
@@ -136559,7 +135022,7 @@ in
       sources."function-bind-1.1.1"
       sources."function.prototype.name-1.1.5"
       sources."functions-have-names-1.2.3"
-      sources."futoin-hkdf-1.5.2"
+      sources."futoin-hkdf-1.5.3"
       sources."generate-function-2.3.1"
       sources."generate-object-property-1.2.0"
       sources."get-intrinsic-1.2.1"
@@ -137295,7 +135758,7 @@ in
       sources."which-boxed-primitive-1.0.2"
       sources."which-collection-1.0.1"
       sources."which-typed-array-1.1.11"
-      sources."word-wrap-1.2.4"
+      sources."word-wrap-1.2.5"
       sources."wrap-fn-0.1.5"
       sources."wrappy-1.0.2"
       sources."ws-7.5.9"
@@ -137400,7 +135863,7 @@ in
       sources."async-limiter-1.0.1"
       sources."asynckit-0.4.0"
       sources."available-typed-arrays-1.0.5"
-      (sources."aws-sdk-2.1418.0" // {
+      (sources."aws-sdk-2.1427.0" // {
         dependencies = [
           sources."uuid-8.0.0"
         ];
@@ -138216,9 +136679,9 @@ in
       sources."@babel/code-frame-7.22.5"
       sources."@babel/helper-validator-identifier-7.22.5"
       sources."@babel/highlight-7.22.5"
-      sources."@csstools/css-parser-algorithms-2.3.0"
-      sources."@csstools/css-tokenizer-2.1.1"
-      sources."@csstools/media-query-list-parser-2.1.2"
+      sources."@csstools/css-parser-algorithms-2.3.1"
+      sources."@csstools/css-tokenizer-2.2.0"
+      sources."@csstools/media-query-list-parser-2.1.3"
       sources."@csstools/selector-specificity-3.0.0"
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
@@ -138264,7 +136727,7 @@ in
       sources."error-ex-1.3.2"
       sources."escape-string-regexp-1.0.5"
       sources."fast-deep-equal-3.1.3"
-      sources."fast-glob-3.3.0"
+      sources."fast-glob-3.3.1"
       sources."fastest-levenshtein-1.0.16"
       sources."fastq-1.15.0"
       sources."file-entry-cache-6.0.1"
@@ -138339,7 +136802,7 @@ in
       sources."path-type-4.0.0"
       sources."picocolors-1.0.0"
       sources."picomatch-2.3.1"
-      sources."postcss-8.4.26"
+      sources."postcss-8.4.27"
       sources."postcss-resolve-nested-selector-0.1.1"
       sources."postcss-safe-parser-6.0.0"
       sources."postcss-selector-parser-6.0.13"
@@ -138356,7 +136819,7 @@ in
       sources."rimraf-3.0.2"
       sources."run-parallel-1.2.0"
       sources."semver-7.5.4"
-      sources."signal-exit-4.0.2"
+      sources."signal-exit-4.1.0"
       sources."slash-3.0.0"
       (sources."slice-ansi-4.0.0" // {
         dependencies = [
@@ -138587,25 +137050,25 @@ in
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
-      sources."@swc/core-1.3.70"
-      sources."@swc/core-darwin-arm64-1.3.70"
-      sources."@swc/core-darwin-x64-1.3.70"
-      sources."@swc/core-linux-arm-gnueabihf-1.3.70"
-      sources."@swc/core-linux-arm64-gnu-1.3.70"
-      sources."@swc/core-linux-arm64-musl-1.3.70"
-      sources."@swc/core-linux-x64-gnu-1.3.70"
-      sources."@swc/core-linux-x64-musl-1.3.70"
-      sources."@swc/core-win32-arm64-msvc-1.3.70"
-      sources."@swc/core-win32-ia32-msvc-1.3.70"
-      sources."@swc/core-win32-x64-msvc-1.3.70"
+      sources."@swc/core-1.3.73"
+      sources."@swc/core-darwin-arm64-1.3.73"
+      sources."@swc/core-darwin-x64-1.3.73"
+      sources."@swc/core-linux-arm-gnueabihf-1.3.73"
+      sources."@swc/core-linux-arm64-gnu-1.3.73"
+      sources."@swc/core-linux-arm64-musl-1.3.73"
+      sources."@swc/core-linux-x64-gnu-1.3.73"
+      sources."@swc/core-linux-x64-musl-1.3.73"
+      sources."@swc/core-win32-arm64-msvc-1.3.73"
+      sources."@swc/core-win32-ia32-msvc-1.3.73"
+      sources."@swc/core-win32-x64-msvc-1.3.73"
       sources."@swc/helpers-0.5.1"
-      sources."@swc/wasm-1.3.70"
+      sources."@swc/wasm-1.3.73"
       sources."@tsconfig/node10-1.0.9"
       sources."@tsconfig/node12-1.0.11"
       sources."@tsconfig/node14-1.0.3"
       sources."@tsconfig/node16-1.0.4"
       sources."@types/estree-1.0.1"
-      sources."@types/node-20.4.2"
+      sources."@types/node-20.4.5"
       sources."@types/pug-2.0.6"
       sources."acorn-8.10.0"
       sources."acorn-walk-8.2.0"
@@ -138622,11 +137085,11 @@ in
       sources."binary-extensions-2.2.0"
       sources."brace-expansion-1.1.11"
       sources."braces-3.0.2"
-      sources."browserslist-4.21.9"
+      sources."browserslist-4.21.10"
       sources."buffer-crc32-0.2.13"
       sources."call-bind-1.0.2"
       sources."callsites-3.1.0"
-      sources."caniuse-lite-1.0.30001517"
+      sources."caniuse-lite-1.0.30001518"
       sources."chalk-2.4.2"
       sources."character-parser-2.2.0"
       sources."chokidar-3.5.3"
@@ -138647,13 +137110,13 @@ in
       sources."detect-indent-6.1.0"
       sources."diff-4.0.2"
       sources."doctypes-1.1.0"
-      sources."electron-to-chromium-1.4.466"
+      sources."electron-to-chromium-1.4.480"
       sources."errno-0.1.8"
       sources."es6-promise-3.3.1"
       sources."escalade-3.1.1"
       sources."escape-string-regexp-1.0.5"
       sources."estree-walker-3.0.3"
-      sources."fast-glob-3.3.0"
+      sources."fast-glob-3.3.1"
       sources."fastq-1.15.0"
       sources."fill-range-7.0.1"
       sources."fs.realpath-1.0.0"
@@ -138734,7 +137197,7 @@ in
       sources."picocolors-1.0.0"
       sources."picomatch-2.3.1"
       sources."pify-4.0.1"
-      sources."postcss-8.4.26"
+      sources."postcss-8.4.27"
       sources."postcss-load-config-4.0.1"
       sources."promise-7.3.1"
       sources."prr-1.0.1"
@@ -138760,7 +137223,7 @@ in
       sources."sade-1.8.1"
       sources."safer-buffer-2.1.2"
       sources."sander-0.5.1"
-      sources."sass-1.64.0"
+      sources."sass-1.64.2"
       sources."sax-1.2.4"
       sources."semver-6.3.1"
       sources."sorcery-0.11.0"
@@ -138779,10 +137242,10 @@ in
       sources."sugarss-4.0.1"
       sources."supports-color-5.5.0"
       sources."supports-preserve-symlinks-flag-1.0.0"
-      (sources."svelte-4.1.0" // {
+      (sources."svelte-4.1.2" // {
         dependencies = [
           sources."@jridgewell/sourcemap-codec-1.4.15"
-          sources."magic-string-0.30.1"
+          sources."magic-string-0.30.2"
         ];
       })
       sources."svelte-preprocess-5.0.4"
@@ -138790,7 +137253,7 @@ in
       sources."to-regex-range-5.0.1"
       sources."token-stream-1.0.0"
       sources."ts-node-10.9.1"
-      sources."tslib-2.6.0"
+      sources."tslib-2.6.1"
       sources."typescript-5.1.6"
       sources."update-browserslist-db-1.0.11"
       sources."v8-compile-cache-lib-3.0.1"
@@ -138858,24 +137321,24 @@ in
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
-      sources."@swc/core-1.3.70"
-      sources."@swc/core-darwin-arm64-1.3.70"
-      sources."@swc/core-darwin-x64-1.3.70"
-      sources."@swc/core-linux-arm-gnueabihf-1.3.70"
-      sources."@swc/core-linux-arm64-gnu-1.3.70"
-      sources."@swc/core-linux-arm64-musl-1.3.70"
-      sources."@swc/core-linux-x64-gnu-1.3.70"
-      sources."@swc/core-linux-x64-musl-1.3.70"
-      sources."@swc/core-win32-arm64-msvc-1.3.70"
-      sources."@swc/core-win32-ia32-msvc-1.3.70"
-      sources."@swc/core-win32-x64-msvc-1.3.70"
+      sources."@swc/core-1.3.73"
+      sources."@swc/core-darwin-arm64-1.3.73"
+      sources."@swc/core-darwin-x64-1.3.73"
+      sources."@swc/core-linux-arm-gnueabihf-1.3.73"
+      sources."@swc/core-linux-arm64-gnu-1.3.73"
+      sources."@swc/core-linux-arm64-musl-1.3.73"
+      sources."@swc/core-linux-x64-gnu-1.3.73"
+      sources."@swc/core-linux-x64-musl-1.3.73"
+      sources."@swc/core-win32-arm64-msvc-1.3.73"
+      sources."@swc/core-win32-ia32-msvc-1.3.73"
+      sources."@swc/core-win32-x64-msvc-1.3.73"
       sources."@swc/helpers-0.5.1"
-      sources."@swc/wasm-1.3.70"
+      sources."@swc/wasm-1.3.73"
       sources."@tsconfig/node10-1.0.9"
       sources."@tsconfig/node12-1.0.11"
       sources."@tsconfig/node14-1.0.3"
       sources."@tsconfig/node16-1.0.4"
-      sources."@types/node-20.4.2"
+      sources."@types/node-20.4.5"
       sources."@types/pug-2.0.6"
       (sources."@vscode/emmet-helper-2.8.4" // {
         dependencies = [
@@ -138896,10 +137359,10 @@ in
       sources."binary-extensions-2.2.0"
       sources."brace-expansion-1.1.11"
       sources."braces-3.0.2"
-      sources."browserslist-4.21.9"
+      sources."browserslist-4.21.10"
       sources."buffer-crc32-0.2.13"
       sources."call-bind-1.0.2"
-      sources."caniuse-lite-1.0.30001517"
+      sources."caniuse-lite-1.0.30001518"
       sources."chalk-2.4.2"
       sources."character-parser-2.2.0"
       sources."chokidar-3.5.3"
@@ -138918,14 +137381,14 @@ in
       sources."detect-indent-6.1.0"
       sources."diff-4.0.2"
       sources."doctypes-1.1.0"
-      sources."electron-to-chromium-1.4.466"
-      sources."emmet-2.4.5"
+      sources."electron-to-chromium-1.4.480"
+      sources."emmet-2.4.6"
       sources."errno-0.1.8"
       sources."es6-promise-3.3.1"
       sources."escalade-3.1.1"
       sources."escape-string-regexp-1.0.5"
       sources."estree-walker-2.0.2"
-      sources."fast-glob-3.3.0"
+      sources."fast-glob-3.3.1"
       sources."fastq-1.15.0"
       sources."fill-range-7.0.1"
       sources."fs.realpath-1.0.0"
@@ -139004,7 +137467,7 @@ in
       sources."picocolors-1.0.0"
       sources."picomatch-2.3.1"
       sources."pify-4.0.1"
-      sources."postcss-8.4.26"
+      sources."postcss-8.4.27"
       sources."postcss-load-config-4.0.1"
       sources."prettier-2.8.8"
       sources."prettier-plugin-svelte-2.10.1"
@@ -139030,7 +137493,7 @@ in
       sources."run-parallel-1.2.0"
       sources."safer-buffer-2.1.2"
       sources."sander-0.5.1"
-      sources."sass-1.64.0"
+      sources."sass-1.64.2"
       sources."sax-1.2.4"
       sources."semver-6.3.1"
       sources."sorcery-0.11.0"
@@ -139056,7 +137519,7 @@ in
       sources."to-regex-range-5.0.1"
       sources."token-stream-1.0.0"
       sources."ts-node-10.9.1"
-      sources."tslib-2.6.0"
+      sources."tslib-2.6.1"
       sources."typescript-5.1.6"
       sources."update-browserslist-db-1.0.11"
       sources."v8-compile-cache-lib-3.0.1"
@@ -139814,24 +138277,24 @@ in
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
-      sources."@swc/core-1.3.70"
-      sources."@swc/core-darwin-arm64-1.3.70"
-      sources."@swc/core-darwin-x64-1.3.70"
-      sources."@swc/core-linux-arm-gnueabihf-1.3.70"
-      sources."@swc/core-linux-arm64-gnu-1.3.70"
-      sources."@swc/core-linux-arm64-musl-1.3.70"
-      sources."@swc/core-linux-x64-gnu-1.3.70"
-      sources."@swc/core-linux-x64-musl-1.3.70"
-      sources."@swc/core-win32-arm64-msvc-1.3.70"
-      sources."@swc/core-win32-ia32-msvc-1.3.70"
-      sources."@swc/core-win32-x64-msvc-1.3.70"
+      sources."@swc/core-1.3.73"
+      sources."@swc/core-darwin-arm64-1.3.73"
+      sources."@swc/core-darwin-x64-1.3.73"
+      sources."@swc/core-linux-arm-gnueabihf-1.3.73"
+      sources."@swc/core-linux-arm64-gnu-1.3.73"
+      sources."@swc/core-linux-arm64-musl-1.3.73"
+      sources."@swc/core-linux-x64-gnu-1.3.73"
+      sources."@swc/core-linux-x64-musl-1.3.73"
+      sources."@swc/core-win32-arm64-msvc-1.3.73"
+      sources."@swc/core-win32-ia32-msvc-1.3.73"
+      sources."@swc/core-win32-x64-msvc-1.3.73"
       sources."@swc/helpers-0.5.1"
-      sources."@swc/wasm-1.3.70"
+      sources."@swc/wasm-1.3.73"
       sources."@tsconfig/node10-1.0.9"
       sources."@tsconfig/node12-1.0.11"
       sources."@tsconfig/node14-1.0.3"
       sources."@tsconfig/node16-1.0.4"
-      sources."@types/node-20.4.2"
+      sources."@types/node-20.4.5"
       sources."acorn-8.10.0"
       sources."acorn-walk-8.2.0"
       sources."any-promise-1.3.0"
@@ -139854,7 +138317,7 @@ in
       sources."didyoumean-1.2.2"
       sources."diff-4.0.2"
       sources."dlv-1.1.3"
-      (sources."fast-glob-3.3.0" // {
+      (sources."fast-glob-3.3.1" // {
         dependencies = [
           sources."glob-parent-5.1.2"
         ];
@@ -139893,7 +138356,7 @@ in
       sources."picomatch-2.3.1"
       sources."pify-2.3.0"
       sources."pirates-4.0.6"
-      sources."postcss-8.4.26"
+      sources."postcss-8.4.27"
       sources."postcss-import-15.1.0"
       sources."postcss-js-4.0.1"
       sources."postcss-load-config-4.0.1"
@@ -139918,7 +138381,7 @@ in
           sources."arg-4.1.3"
         ];
       })
-      sources."tslib-2.6.0"
+      sources."tslib-2.6.1"
       sources."typescript-5.1.6"
       sources."util-deprecate-1.0.2"
       sources."v8-compile-cache-lib-3.0.1"
@@ -140264,10 +138727,10 @@ in
   terser = nodeEnv.buildNodePackage {
     name = "terser";
     packageName = "terser";
-    version = "5.19.1";
+    version = "5.19.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/terser/-/terser-5.19.1.tgz";
-      sha512 = "27hxBUVdV6GoNg1pKQ7Z5cbR6V9txPVyBA+FQw3BaZ1Wuzvztce5p156DaP0NVZNrMZZ+6iG9Syf7WgMNKDg2Q==";
+      url = "https://registry.npmjs.org/terser/-/terser-5.19.2.tgz";
+      sha512 = "qC5+dmecKJA4cpYxRa5aVkKehYsQKc+AHeKl0Oe62aYjBL8ZA33tTljktDHJSaxxMnbI5ZYw+o/S2DxxLu8OfA==";
     };
     dependencies = [
       sources."@jridgewell/gen-mapping-0.3.3"
@@ -141315,14 +139778,14 @@ in
       sources."@aashutoshrathi/word-wrap-1.2.6"
       sources."@babel/runtime-7.22.6"
       sources."@eslint-community/eslint-utils-4.4.0"
-      sources."@eslint-community/regexpp-4.5.1"
-      (sources."@eslint/eslintrc-2.1.0" // {
+      sources."@eslint-community/regexpp-4.6.2"
+      (sources."@eslint/eslintrc-2.1.1" // {
         dependencies = [
           sources."debug-4.3.4"
           sources."ms-2.1.2"
         ];
       })
-      sources."@eslint/js-8.44.0"
+      sources."@eslint/js-8.46.0"
       (sources."@humanwhocodes/config-array-0.11.10" // {
         dependencies = [
           sources."debug-4.3.4"
@@ -141347,6 +139810,7 @@ in
       sources."aria-query-5.3.0"
       sources."array-buffer-byte-length-1.0.0"
       sources."array-includes-3.1.6"
+      sources."array.prototype.findlastindex-1.2.2"
       sources."array.prototype.flat-1.3.1"
       sources."array.prototype.flatmap-1.3.1"
       sources."array.prototype.tosorted-1.1.1"
@@ -141379,7 +139843,7 @@ in
       sources."es-shim-unscopables-1.0.0"
       sources."es-to-primitive-1.2.1"
       sources."escape-string-regexp-4.0.0"
-      (sources."eslint-8.45.0" // {
+      (sources."eslint-8.46.0" // {
         dependencies = [
           sources."debug-4.3.4"
           sources."doctrine-3.0.0"
@@ -141388,16 +139852,16 @@ in
       })
       sources."eslint-import-resolver-node-0.3.7"
       sources."eslint-module-utils-2.8.0"
-      sources."eslint-plugin-import-2.27.5"
+      sources."eslint-plugin-import-2.28.0"
       sources."eslint-plugin-jsx-a11y-6.7.1"
-      (sources."eslint-plugin-react-7.32.2" // {
+      (sources."eslint-plugin-react-7.33.1" // {
         dependencies = [
           sources."resolve-2.0.0-next.4"
         ];
       })
       sources."eslint-plugin-react-hooks-4.6.0"
-      sources."eslint-scope-7.2.1"
-      sources."eslint-visitor-keys-3.4.1"
+      sources."eslint-scope-7.2.2"
+      sources."eslint-visitor-keys-3.4.2"
       sources."espree-9.6.1"
       sources."esquery-1.5.0"
       sources."esrecurse-4.3.0"
@@ -141461,7 +139925,7 @@ in
       sources."json-schema-traverse-0.4.1"
       sources."json-stable-stringify-without-jsonify-1.0.1"
       sources."json5-1.0.2"
-      sources."jsx-ast-utils-3.3.4"
+      sources."jsx-ast-utils-3.3.5"
       sources."language-subtag-registry-0.3.22"
       sources."language-tags-1.0.5"
       sources."levn-0.4.1"
@@ -141479,6 +139943,7 @@ in
       sources."object.assign-4.1.4"
       sources."object.entries-1.1.6"
       sources."object.fromentries-2.0.6"
+      sources."object.groupby-1.0.0"
       sources."object.hasown-1.1.2"
       sources."object.values-1.1.6"
       sources."once-1.4.0"
@@ -141576,7 +140041,7 @@ in
       sources."@types/cors-2.8.13"
       sources."@types/http-cache-semantics-4.0.1"
       sources."@types/keyv-3.1.4"
-      sources."@types/node-20.4.2"
+      sources."@types/node-20.4.5"
       sources."@types/responselike-1.0.0"
       sources."abbrev-1.1.1"
       sources."abstract-logging-2.0.1"
@@ -141641,7 +140106,7 @@ in
       sources."content-type-1.0.5"
       sources."cookie-0.4.2"
       sources."cookie-signature-1.0.6"
-      sources."core-js-3.31.1"
+      sources."core-js-3.32.0"
       sources."core-util-is-1.0.2"
       sources."cors-2.8.5"
       sources."css-select-4.3.0"
@@ -141932,7 +140397,7 @@ in
       sources."token-types-4.2.1"
       sources."tr46-0.0.3"
       sources."trim-repeated-1.0.0"
-      sources."tslib-2.6.0"
+      sources."tslib-2.6.1"
       sources."type-is-1.6.18"
       sources."ua-parser-js-1.0.33"
       sources."uc.micro-1.0.6"
@@ -142069,7 +140534,7 @@ in
       sources."content-type-1.0.5"
       sources."cookie-0.4.0"
       sources."cookie-signature-1.0.6"
-      sources."core-js-3.31.1"
+      sources."core-js-3.32.0"
       sources."core-util-is-1.0.2"
       sources."css-select-1.2.0"
       sources."css-what-2.1.3"
@@ -142664,7 +141129,7 @@ in
       sources."@types/cacheable-request-6.0.3"
       sources."@types/http-cache-semantics-4.0.1"
       sources."@types/keyv-3.1.4"
-      sources."@types/node-20.4.2"
+      sources."@types/node-20.4.5"
       sources."@types/responselike-1.0.0"
       sources."abbrev-1.1.1"
       sources."abstract-logging-2.0.1"
@@ -142745,7 +141210,7 @@ in
       sources."content-type-1.0.5"
       sources."cookie-0.4.0"
       sources."cookie-signature-1.0.6"
-      sources."core-js-3.31.1"
+      sources."core-js-3.32.0"
       sources."core-util-is-1.0.2"
       sources."css-select-1.2.0"
       sources."css-what-2.1.3"
@@ -143132,7 +141597,7 @@ in
       sources."@types/cacheable-request-6.0.3"
       sources."@types/http-cache-semantics-4.0.1"
       sources."@types/keyv-3.1.4"
-      sources."@types/node-20.4.2"
+      sources."@types/node-20.4.5"
       sources."@types/responselike-1.0.0"
       sources."abbrev-1.1.1"
       sources."abstract-logging-2.0.1"
@@ -143213,7 +141678,7 @@ in
       sources."content-type-1.0.5"
       sources."cookie-0.4.0"
       sources."cookie-signature-1.0.6"
-      sources."core-js-3.31.1"
+      sources."core-js-3.32.0"
       sources."core-util-is-1.0.2"
       sources."css-select-1.2.0"
       sources."css-what-2.1.3"
@@ -143588,16 +142053,16 @@ in
   thelounge-theme-gruvbox = nodeEnv.buildNodePackage {
     name = "thelounge-theme-gruvbox";
     packageName = "thelounge-theme-gruvbox";
-    version = "1.0.5";
+    version = "2.1.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/thelounge-theme-gruvbox/-/thelounge-theme-gruvbox-1.0.5.tgz";
-      sha512 = "Mq1S+oiNz3UmzeG7fhNJUihMps6T+i8x0+7vQ8UTZ00D6TYJ45ftFS3qcSHw/eR/Xu/A99nH3MXwdSwaeGrYQg==";
+      url = "https://registry.npmjs.org/thelounge-theme-gruvbox/-/thelounge-theme-gruvbox-2.1.2.tgz";
+      sha512 = "+/LN6XrSTl1v5UDtIKzXQ/peqoF5BfdfWujzE0dNae7oipYY4AgOkzFcKZOU/pVxbtgbSISQm8Q6exUNDazznQ==";
     };
     buildInputs = globalBuildInputs;
     meta = {
-      description = "gruvbox monospace";
-      homepage = "https://github.com/TheSpiritof69/thelounge-theme-gruvbox";
-      license = "MIT";
+      description = "The only theme you'll ever need ;P";
+      homepage = "https://github.com/brunnre8/thelounge-theme-gruvbox#readme";
+      license = "GPLv3";
     };
     production = true;
     bypassCache = true;
@@ -143984,10 +142449,10 @@ in
   three = nodeEnv.buildNodePackage {
     name = "three";
     packageName = "three";
-    version = "0.154.0";
+    version = "0.155.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/three/-/three-0.154.0.tgz";
-      sha512 = "Uzz8C/5GesJzv8i+Y2prEMYUwodwZySPcNhuJUdsVMH2Yn4Nm8qlbQe6qRN5fOhg55XB0WiLfTPBxVHxpE60ug==";
+      url = "https://registry.npmjs.org/three/-/three-0.155.0.tgz";
+      sha512 = "sNgCYmDijnIqkD/bMfk+1pHg3YzsxW7V2ChpuP6HCQ8NiZr3RufsXQr8M3SSUMjW4hG+sUk7YbyuY0DncaDTJQ==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -144031,7 +142496,7 @@ in
       sources."@types/cacheable-request-6.0.3"
       sources."@types/http-cache-semantics-4.0.1"
       sources."@types/keyv-3.1.4"
-      sources."@types/node-20.4.2"
+      sources."@types/node-20.4.5"
       sources."@types/responselike-1.0.0"
       sources."@xmldom/xmldom-0.8.10"
       sources."ajv-6.12.6"
@@ -144234,31 +142699,31 @@ in
       sources."@jridgewell/resolve-uri-3.1.1"
       sources."@jridgewell/sourcemap-codec-1.4.15"
       sources."@jridgewell/trace-mapping-0.3.9"
-      sources."@swc/core-1.3.70"
-      sources."@swc/core-darwin-arm64-1.3.70"
-      sources."@swc/core-darwin-x64-1.3.70"
-      sources."@swc/core-linux-arm-gnueabihf-1.3.70"
-      sources."@swc/core-linux-arm64-gnu-1.3.70"
-      sources."@swc/core-linux-arm64-musl-1.3.70"
-      sources."@swc/core-linux-x64-gnu-1.3.70"
-      sources."@swc/core-linux-x64-musl-1.3.70"
-      sources."@swc/core-win32-arm64-msvc-1.3.70"
-      sources."@swc/core-win32-ia32-msvc-1.3.70"
-      sources."@swc/core-win32-x64-msvc-1.3.70"
+      sources."@swc/core-1.3.73"
+      sources."@swc/core-darwin-arm64-1.3.73"
+      sources."@swc/core-darwin-x64-1.3.73"
+      sources."@swc/core-linux-arm-gnueabihf-1.3.73"
+      sources."@swc/core-linux-arm64-gnu-1.3.73"
+      sources."@swc/core-linux-arm64-musl-1.3.73"
+      sources."@swc/core-linux-x64-gnu-1.3.73"
+      sources."@swc/core-linux-x64-musl-1.3.73"
+      sources."@swc/core-win32-arm64-msvc-1.3.73"
+      sources."@swc/core-win32-ia32-msvc-1.3.73"
+      sources."@swc/core-win32-x64-msvc-1.3.73"
       sources."@swc/helpers-0.5.1"
-      sources."@swc/wasm-1.3.70"
+      sources."@swc/wasm-1.3.73"
       sources."@tsconfig/node10-1.0.9"
       sources."@tsconfig/node12-1.0.11"
       sources."@tsconfig/node14-1.0.3"
       sources."@tsconfig/node16-1.0.4"
-      sources."@types/node-20.4.2"
+      sources."@types/node-20.4.5"
       sources."acorn-8.10.0"
       sources."acorn-walk-8.2.0"
       sources."arg-4.1.3"
       sources."create-require-1.1.1"
       sources."diff-4.0.2"
       sources."make-error-1.3.6"
-      sources."tslib-2.6.0"
+      sources."tslib-2.6.1"
       sources."typescript-5.1.6"
       sources."v8-compile-cache-lib-3.0.1"
       sources."yn-3.1.1"
@@ -144362,13 +142827,13 @@ in
       sources."@pnpm/network.ca-file-1.0.2"
       sources."@pnpm/npm-conf-2.2.2"
       sources."@primer/octicons-17.10.2"
-      sources."@sindresorhus/is-5.5.2"
+      sources."@sindresorhus/is-5.6.0"
       sources."@socket.io/component-emitter-3.1.0"
       sources."@szmarczak/http-timer-5.0.1"
       sources."@types/cookie-0.4.1"
       sources."@types/cors-2.8.13"
       sources."@types/http-cache-semantics-4.0.1"
-      sources."@types/node-16.18.38"
+      sources."@types/node-16.18.39"
       sources."@types/triple-beam-1.3.2"
       sources."JSONStream-1.3.5"
       sources."abbrev-1.1.1"
@@ -144427,7 +142892,7 @@ in
       sources."builtin-status-codes-3.0.0"
       sources."bytes-3.1.2"
       sources."cacheable-lookup-7.0.0"
-      sources."cacheable-request-10.2.12"
+      sources."cacheable-request-10.2.13"
       sources."cached-path-relative-1.1.0"
       sources."call-bind-1.0.2"
       sources."cipher-base-1.0.4"
@@ -144639,7 +143104,7 @@ in
       sources."negotiator-0.6.3"
       sources."node-cache-5.1.2"
       sources."node-gyp-build-4.6.0"
-      sources."node-watch-0.7.3"
+      sources."node-watch-0.7.4"
       sources."nopt-1.0.10"
       sources."normalize-url-8.0.0"
       sources."nprogress-0.2.0"
@@ -144857,7 +143322,7 @@ in
       sources."@types/debug-4.1.8"
       sources."@types/is-empty-1.2.1"
       sources."@types/ms-0.7.31"
-      sources."@types/node-18.16.19"
+      sources."@types/node-18.17.1"
       sources."@types/supports-color-8.1.1"
       sources."@types/unist-2.0.7"
       sources."abbrev-2.0.0"
@@ -144901,7 +143366,7 @@ in
       sources."is-fullwidth-code-point-3.0.0"
       sources."is-plain-obj-4.1.0"
       sources."isexe-2.0.0"
-      sources."jackspeak-2.2.1"
+      sources."jackspeak-2.2.2"
       sources."js-tokens-4.0.0"
       sources."json-parse-even-better-errors-3.0.0"
       sources."lines-and-columns-2.0.3"
@@ -144935,7 +143400,7 @@ in
       })
       sources."shebang-command-2.0.0"
       sources."shebang-regex-3.0.0"
-      sources."signal-exit-4.0.2"
+      sources."signal-exit-4.1.0"
       sources."string-width-5.1.2"
       (sources."string-width-cjs-4.2.3" // {
         dependencies = [
@@ -145177,10 +143642,10 @@ in
   vega-lite = nodeEnv.buildNodePackage {
     name = "vega-lite";
     packageName = "vega-lite";
-    version = "5.14.0";
+    version = "5.14.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/vega-lite/-/vega-lite-5.14.0.tgz";
-      sha512 = "BlGSp+nZNmBO0ukRAA86so/6KfUEIN0Mqmo2xo2Tv6UTxLlfh3oGvsKh6g6283meJickwntR+K4qUOIVnGUoyg==";
+      url = "https://registry.npmjs.org/vega-lite/-/vega-lite-5.14.1.tgz";
+      sha512 = "VFvi0QtUoLQqwfAXTGjo0Acw/OTjiK3zOrcO/HyksGnnNDBHWM1GTcFryiWZYoAi99ehvv7tI/q94O46+fGRSQ==";
     };
     dependencies = [
       sources."@types/clone-2.1.1"
@@ -145290,158 +143755,13 @@ in
   vercel = nodeEnv.buildNodePackage {
     name = "vercel";
     packageName = "vercel";
-    version = "31.0.4";
+    version = "31.2.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/vercel/-/vercel-31.0.4.tgz";
-      sha512 = "KO2r6he/KtCWg7mgdiGVJefe6Y369yfne794/K3mzFjJZo8A1lEt6vB5yy2a79G4SX8VY7JfT2DvfsAlhIb7vQ==";
+      url = "https://registry.npmjs.org/vercel/-/vercel-31.2.1.tgz";
+      sha512 = "I73NWAHTLYgDYbz16AQdHaxcSBxk2Ck1YRpM+qi3yhr8859bkYEImMJ48UYmFQ+4KrS8y+o+PDhvJL8meB2yvw==";
     };
     dependencies = [
-      sources."@adobe/css-tools-4.2.0"
-      sources."@ampproject/remapping-2.2.1"
-      sources."@babel/code-frame-7.22.5"
-      sources."@babel/compat-data-7.22.9"
-      (sources."@babel/core-7.22.9" // {
-        dependencies = [
-          sources."semver-6.3.1"
-        ];
-      })
-      (sources."@babel/generator-7.22.9" // {
-        dependencies = [
-          sources."@jridgewell/resolve-uri-3.1.0"
-          sources."@jridgewell/sourcemap-codec-1.4.14"
-          sources."@jridgewell/trace-mapping-0.3.18"
-          sources."jsesc-2.5.2"
-        ];
-      })
-      sources."@babel/helper-annotate-as-pure-7.22.5"
-      sources."@babel/helper-builder-binary-assignment-operator-visitor-7.22.5"
-      (sources."@babel/helper-compilation-targets-7.22.9" // {
-        dependencies = [
-          sources."lru-cache-5.1.1"
-          sources."semver-6.3.1"
-          sources."yallist-3.1.1"
-        ];
-      })
-      (sources."@babel/helper-create-class-features-plugin-7.22.9" // {
-        dependencies = [
-          sources."semver-6.3.1"
-        ];
-      })
-      (sources."@babel/helper-create-regexp-features-plugin-7.22.9" // {
-        dependencies = [
-          sources."semver-6.3.1"
-        ];
-      })
-      sources."@babel/helper-define-polyfill-provider-0.4.1"
-      sources."@babel/helper-environment-visitor-7.22.5"
-      sources."@babel/helper-function-name-7.22.5"
-      sources."@babel/helper-hoist-variables-7.22.5"
-      sources."@babel/helper-member-expression-to-functions-7.22.5"
-      sources."@babel/helper-module-imports-7.22.5"
-      sources."@babel/helper-module-transforms-7.22.9"
-      sources."@babel/helper-optimise-call-expression-7.22.5"
-      sources."@babel/helper-plugin-utils-7.22.5"
-      sources."@babel/helper-remap-async-to-generator-7.22.9"
-      sources."@babel/helper-replace-supers-7.22.9"
-      sources."@babel/helper-simple-access-7.22.5"
-      sources."@babel/helper-skip-transparent-expression-wrappers-7.22.5"
-      sources."@babel/helper-split-export-declaration-7.22.6"
-      sources."@babel/helper-string-parser-7.22.5"
-      sources."@babel/helper-validator-identifier-7.22.5"
-      sources."@babel/helper-validator-option-7.22.5"
-      sources."@babel/helper-wrap-function-7.22.9"
-      sources."@babel/helpers-7.22.6"
-      (sources."@babel/highlight-7.22.5" // {
-        dependencies = [
-          sources."chalk-2.4.2"
-        ];
-      })
-      sources."@babel/parser-7.22.7"
-      sources."@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.22.5"
-      sources."@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.22.5"
-      sources."@babel/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2"
-      sources."@babel/plugin-proposal-unicode-property-regex-7.18.6"
-      sources."@babel/plugin-syntax-async-generators-7.8.4"
-      sources."@babel/plugin-syntax-class-properties-7.12.13"
-      sources."@babel/plugin-syntax-class-static-block-7.14.5"
-      sources."@babel/plugin-syntax-dynamic-import-7.8.3"
-      sources."@babel/plugin-syntax-export-namespace-from-7.8.3"
-      sources."@babel/plugin-syntax-import-assertions-7.22.5"
-      sources."@babel/plugin-syntax-import-attributes-7.22.5"
-      sources."@babel/plugin-syntax-import-meta-7.10.4"
-      sources."@babel/plugin-syntax-json-strings-7.8.3"
-      sources."@babel/plugin-syntax-jsx-7.22.5"
-      sources."@babel/plugin-syntax-logical-assignment-operators-7.10.4"
-      sources."@babel/plugin-syntax-nullish-coalescing-operator-7.8.3"
-      sources."@babel/plugin-syntax-numeric-separator-7.10.4"
-      sources."@babel/plugin-syntax-object-rest-spread-7.8.3"
-      sources."@babel/plugin-syntax-optional-catch-binding-7.8.3"
-      sources."@babel/plugin-syntax-optional-chaining-7.8.3"
-      sources."@babel/plugin-syntax-private-property-in-object-7.14.5"
-      sources."@babel/plugin-syntax-top-level-await-7.14.5"
-      sources."@babel/plugin-syntax-typescript-7.22.5"
-      sources."@babel/plugin-syntax-unicode-sets-regex-7.18.6"
-      sources."@babel/plugin-transform-arrow-functions-7.22.5"
-      sources."@babel/plugin-transform-async-generator-functions-7.22.7"
-      sources."@babel/plugin-transform-async-to-generator-7.22.5"
-      sources."@babel/plugin-transform-block-scoped-functions-7.22.5"
-      sources."@babel/plugin-transform-block-scoping-7.22.5"
-      sources."@babel/plugin-transform-class-properties-7.22.5"
-      sources."@babel/plugin-transform-class-static-block-7.22.5"
-      sources."@babel/plugin-transform-classes-7.22.6"
-      sources."@babel/plugin-transform-computed-properties-7.22.5"
-      sources."@babel/plugin-transform-destructuring-7.22.5"
-      sources."@babel/plugin-transform-dotall-regex-7.22.5"
-      sources."@babel/plugin-transform-duplicate-keys-7.22.5"
-      sources."@babel/plugin-transform-dynamic-import-7.22.5"
-      sources."@babel/plugin-transform-exponentiation-operator-7.22.5"
-      sources."@babel/plugin-transform-export-namespace-from-7.22.5"
-      sources."@babel/plugin-transform-for-of-7.22.5"
-      sources."@babel/plugin-transform-function-name-7.22.5"
-      sources."@babel/plugin-transform-json-strings-7.22.5"
-      sources."@babel/plugin-transform-literals-7.22.5"
-      sources."@babel/plugin-transform-logical-assignment-operators-7.22.5"
-      sources."@babel/plugin-transform-member-expression-literals-7.22.5"
-      sources."@babel/plugin-transform-modules-amd-7.22.5"
-      sources."@babel/plugin-transform-modules-commonjs-7.22.5"
-      sources."@babel/plugin-transform-modules-systemjs-7.22.5"
-      sources."@babel/plugin-transform-modules-umd-7.22.5"
-      sources."@babel/plugin-transform-named-capturing-groups-regex-7.22.5"
-      sources."@babel/plugin-transform-new-target-7.22.5"
-      sources."@babel/plugin-transform-nullish-coalescing-operator-7.22.5"
-      sources."@babel/plugin-transform-numeric-separator-7.22.5"
-      sources."@babel/plugin-transform-object-rest-spread-7.22.5"
-      sources."@babel/plugin-transform-object-super-7.22.5"
-      sources."@babel/plugin-transform-optional-catch-binding-7.22.5"
-      sources."@babel/plugin-transform-optional-chaining-7.22.6"
-      sources."@babel/plugin-transform-parameters-7.22.5"
-      sources."@babel/plugin-transform-private-methods-7.22.5"
-      sources."@babel/plugin-transform-private-property-in-object-7.22.5"
-      sources."@babel/plugin-transform-property-literals-7.22.5"
-      sources."@babel/plugin-transform-regenerator-7.22.5"
-      sources."@babel/plugin-transform-reserved-words-7.22.5"
-      sources."@babel/plugin-transform-shorthand-properties-7.22.5"
-      sources."@babel/plugin-transform-spread-7.22.5"
-      sources."@babel/plugin-transform-sticky-regex-7.22.5"
-      sources."@babel/plugin-transform-template-literals-7.22.5"
-      sources."@babel/plugin-transform-typeof-symbol-7.22.5"
-      sources."@babel/plugin-transform-typescript-7.22.9"
-      sources."@babel/plugin-transform-unicode-escapes-7.22.5"
-      sources."@babel/plugin-transform-unicode-property-regex-7.22.5"
-      sources."@babel/plugin-transform-unicode-regex-7.22.5"
-      sources."@babel/plugin-transform-unicode-sets-regex-7.22.5"
-      (sources."@babel/preset-env-7.22.9" // {
-        dependencies = [
-          sources."semver-6.3.1"
-        ];
-      })
-      sources."@babel/preset-modules-0.1.5"
-      sources."@babel/preset-typescript-7.22.5"
-      sources."@babel/regjsgen-0.8.0"
-      sources."@babel/runtime-7.22.6"
-      sources."@babel/template-7.22.5"
-      sources."@babel/traverse-7.22.8"
-      sources."@babel/types-7.22.5"
+      sources."@babel/runtime-7.12.1"
       sources."@cspotcode/source-map-support-0.8.1"
       sources."@edge-runtime/format-2.1.0"
       sources."@edge-runtime/node-utils-2.0.3"
@@ -145451,149 +143771,53 @@ in
           sources."@edge-runtime/primitives-3.0.1"
         ];
       })
-      sources."@emotion/hash-0.9.1"
-      sources."@esbuild/android-arm-0.17.6"
-      sources."@esbuild/android-arm64-0.17.6"
-      sources."@esbuild/android-x64-0.17.6"
-      sources."@esbuild/darwin-arm64-0.17.6"
-      sources."@esbuild/darwin-x64-0.17.6"
-      sources."@esbuild/freebsd-arm64-0.17.6"
-      sources."@esbuild/freebsd-x64-0.17.6"
-      sources."@esbuild/linux-arm-0.17.6"
-      sources."@esbuild/linux-arm64-0.17.6"
-      sources."@esbuild/linux-ia32-0.17.6"
-      sources."@esbuild/linux-loong64-0.17.6"
-      sources."@esbuild/linux-mips64el-0.17.6"
-      sources."@esbuild/linux-ppc64-0.17.6"
-      sources."@esbuild/linux-riscv64-0.17.6"
-      sources."@esbuild/linux-s390x-0.17.6"
-      sources."@esbuild/linux-x64-0.17.6"
-      sources."@esbuild/netbsd-x64-0.17.6"
-      sources."@esbuild/openbsd-x64-0.17.6"
-      sources."@esbuild/sunos-x64-0.17.6"
-      sources."@esbuild/win32-arm64-0.17.6"
-      sources."@esbuild/win32-ia32-0.17.6"
-      sources."@esbuild/win32-x64-0.17.6"
-      sources."@gar/promisify-1.1.3"
-      sources."@jridgewell/gen-mapping-0.3.3"
       sources."@jridgewell/resolve-uri-3.1.1"
-      sources."@jridgewell/set-array-1.1.2"
-      sources."@jridgewell/source-map-0.3.5"
       sources."@jridgewell/sourcemap-codec-1.4.15"
       sources."@jridgewell/trace-mapping-0.3.9"
-      sources."@jspm/core-2.0.1"
       (sources."@mapbox/node-pre-gyp-1.0.11" // {
         dependencies = [
           sources."semver-7.5.4"
         ];
       })
-      sources."@nicolo-ribaudo/semver-v6-6.3.3"
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
-      (sources."@npmcli/fs-1.1.1" // {
-        dependencies = [
-          sources."semver-7.5.4"
-        ];
-      })
-      sources."@npmcli/move-file-1.1.2"
-      sources."@npmcli/package-json-2.0.0"
-      (sources."@remix-run/dev-1.18.1" // {
-        dependencies = [
-          sources."arg-5.0.2"
-          sources."brace-expansion-2.0.1"
-          sources."esbuild-0.17.6"
-          sources."fast-glob-3.2.11"
-          sources."minimatch-9.0.3"
-          sources."semver-7.5.4"
-        ];
-      })
-      sources."@remix-run/express-1.19.0"
-      (sources."@remix-run/node-1.19.0" // {
-        dependencies = [
-          sources."@remix-run/router-1.7.2"
-          sources."@remix-run/server-runtime-1.19.0"
-          sources."cookie-signature-1.2.1"
-        ];
-      })
-      sources."@remix-run/router-1.7.1"
-      sources."@remix-run/serve-1.19.0"
-      sources."@remix-run/server-runtime-1.18.1"
-      sources."@remix-run/web-blob-3.0.4"
-      sources."@remix-run/web-fetch-4.3.5"
-      sources."@remix-run/web-file-3.0.2"
-      sources."@remix-run/web-form-data-3.0.4"
-      sources."@remix-run/web-stream-1.0.3"
       sources."@rollup/pluginutils-4.2.1"
       sources."@sinclair/typebox-0.25.24"
-      sources."@sindresorhus/is-4.6.0"
-      sources."@swc/core-1.3.70"
-      sources."@swc/core-darwin-arm64-1.3.70"
-      sources."@swc/core-darwin-x64-1.3.70"
-      sources."@swc/core-linux-arm-gnueabihf-1.3.70"
-      sources."@swc/core-linux-arm64-gnu-1.3.70"
-      sources."@swc/core-linux-arm64-musl-1.3.70"
-      sources."@swc/core-linux-x64-gnu-1.3.70"
-      sources."@swc/core-linux-x64-musl-1.3.70"
-      sources."@swc/core-win32-arm64-msvc-1.3.70"
-      sources."@swc/core-win32-ia32-msvc-1.3.70"
-      sources."@swc/core-win32-x64-msvc-1.3.70"
+      sources."@swc/core-1.3.73"
+      sources."@swc/core-darwin-arm64-1.3.73"
+      sources."@swc/core-darwin-x64-1.3.73"
+      sources."@swc/core-linux-arm-gnueabihf-1.3.73"
+      sources."@swc/core-linux-arm64-gnu-1.3.73"
+      sources."@swc/core-linux-arm64-musl-1.3.73"
+      sources."@swc/core-linux-x64-gnu-1.3.73"
+      sources."@swc/core-linux-x64-musl-1.3.73"
+      sources."@swc/core-win32-arm64-msvc-1.3.73"
+      sources."@swc/core-win32-ia32-msvc-1.3.73"
+      sources."@swc/core-win32-x64-msvc-1.3.73"
       sources."@swc/helpers-0.5.1"
-      sources."@swc/wasm-1.3.70"
-      sources."@szmarczak/http-timer-4.0.6"
-      sources."@tootallnate/once-1.1.2"
+      sources."@swc/wasm-1.3.73"
       sources."@ts-morph/common-0.11.1"
       sources."@tsconfig/node10-1.0.9"
       sources."@tsconfig/node12-1.0.11"
       sources."@tsconfig/node14-1.0.3"
       sources."@tsconfig/node16-1.0.4"
-      sources."@types/acorn-4.0.6"
-      sources."@types/cacheable-request-6.0.3"
-      sources."@types/cookie-0.4.1"
-      sources."@types/debug-4.1.8"
-      sources."@types/estree-1.0.1"
-      sources."@types/estree-jsx-0.0.1"
-      sources."@types/glob-7.2.0"
-      sources."@types/hast-2.3.5"
-      sources."@types/http-cache-semantics-4.0.1"
+      sources."@types/content-type-1.1.3"
       sources."@types/json-schema-7.0.12"
-      sources."@types/keyv-3.1.4"
-      sources."@types/mdast-3.0.12"
-      sources."@types/mdurl-1.0.2"
-      sources."@types/minimatch-5.1.2"
-      sources."@types/ms-0.7.31"
       sources."@types/node-14.18.33"
       sources."@types/node-fetch-2.6.3"
-      sources."@types/responselike-1.0.0"
-      sources."@types/unist-2.0.7"
-      sources."@vanilla-extract/babel-plugin-debug-ids-1.0.3"
-      sources."@vanilla-extract/css-1.12.0"
-      (sources."@vanilla-extract/integration-6.2.1" // {
-        dependencies = [
-          sources."esbuild-0.17.6"
-        ];
-      })
-      sources."@vanilla-extract/private-1.0.3"
       sources."@vercel/build-utils-6.8.2"
       sources."@vercel/error-utils-1.0.10"
-      (sources."@vercel/gatsby-plugin-vercel-analytics-1.0.10" // {
-        dependencies = [
-          sources."@babel/runtime-7.12.1"
-        ];
-      })
-      (sources."@vercel/gatsby-plugin-vercel-builder-1.3.14" // {
-        dependencies = [
-          sources."fs-extra-11.1.0"
-        ];
-      })
+      sources."@vercel/gatsby-plugin-vercel-analytics-1.0.10"
+      sources."@vercel/gatsby-plugin-vercel-builder-1.3.15"
       sources."@vercel/go-2.5.1"
       sources."@vercel/hydrogen-0.0.64"
-      sources."@vercel/next-3.9.0"
+      sources."@vercel/next-3.9.3"
       sources."@vercel/nft-0.22.5"
-      sources."@vercel/node-2.15.6"
+      sources."@vercel/node-2.15.7"
       sources."@vercel/python-3.1.60"
       sources."@vercel/redwood-1.1.15"
-      (sources."@vercel/remix-builder-1.8.18" // {
+      (sources."@vercel/remix-builder-1.9.0" // {
         dependencies = [
           sources."semver-7.3.8"
         ];
@@ -145606,182 +143830,46 @@ in
         ];
       })
       sources."@vercel/ruby-1.3.76"
-      sources."@vercel/static-build-1.3.41"
+      sources."@vercel/static-build-1.3.43"
       sources."@vercel/static-config-2.0.17"
-      sources."@web3-storage/multipart-parser-1.0.0"
-      sources."@zxing/text-encoding-0.9.0"
       sources."abbrev-1.1.1"
-      sources."abort-controller-3.0.0"
-      sources."accepts-1.3.8"
       sources."acorn-8.10.0"
-      sources."acorn-jsx-5.3.2"
       sources."acorn-walk-8.2.0"
       sources."agent-base-6.0.2"
-      sources."aggregate-error-3.1.0"
-      sources."ahocorasick-1.0.2"
       sources."ajv-8.6.3"
-      sources."ansi-escapes-4.3.2"
       sources."ansi-regex-5.0.1"
-      sources."ansi-styles-3.2.1"
-      sources."anymatch-3.1.3"
       sources."aproba-2.0.0"
       sources."are-we-there-yet-2.0.0"
       sources."arg-4.1.3"
-      sources."argparse-2.0.1"
-      sources."array-flatten-1.1.1"
-      sources."array-union-2.1.0"
-      sources."ast-types-0.13.4"
-      sources."astring-1.8.6"
       sources."async-listen-3.0.0"
       sources."async-sema-3.1.1"
       sources."asynckit-0.4.0"
-      sources."available-typed-arrays-1.0.5"
-      sources."babel-plugin-polyfill-corejs2-0.4.4"
-      sources."babel-plugin-polyfill-corejs3-0.8.2"
-      sources."babel-plugin-polyfill-regenerator-0.5.1"
-      sources."bail-2.0.2"
       sources."balanced-match-1.0.2"
-      sources."base64-js-1.5.1"
-      (sources."basic-auth-2.0.1" // {
-        dependencies = [
-          sources."safe-buffer-5.1.2"
-        ];
-      })
-      sources."big.js-5.2.2"
-      sources."binary-extensions-2.2.0"
       sources."bindings-1.5.0"
-      sources."bl-4.1.0"
-      (sources."body-parser-1.20.1" // {
-        dependencies = [
-          sources."debug-2.6.9"
-          sources."iconv-lite-0.4.24"
-          sources."ms-2.0.0"
-        ];
-      })
       sources."brace-expansion-1.1.11"
       sources."braces-3.0.2"
-      sources."browserify-zlib-0.1.4"
-      sources."browserslist-4.21.9"
-      sources."buffer-5.7.1"
-      sources."buffer-from-1.1.2"
-      sources."bufferutil-4.0.7"
-      sources."bytes-3.1.2"
-      sources."cac-6.7.14"
-      (sources."cacache-15.3.0" // {
-        dependencies = [
-          sources."minipass-3.3.6"
-        ];
-      })
-      sources."cacheable-lookup-5.0.4"
-      (sources."cacheable-request-7.0.4" // {
-        dependencies = [
-          sources."get-stream-5.2.0"
-          sources."pump-3.0.0"
-        ];
-      })
-      sources."call-bind-1.0.2"
-      sources."caniuse-lite-1.0.30001517"
-      (sources."chalk-4.1.2" // {
-        dependencies = [
-          sources."ansi-styles-4.3.0"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."has-flag-4.0.0"
-          sources."supports-color-7.2.0"
-        ];
-      })
-      sources."character-entities-2.0.2"
-      sources."character-entities-html4-2.1.0"
-      sources."character-entities-legacy-3.0.0"
-      sources."character-reference-invalid-2.0.1"
-      sources."chardet-0.7.0"
-      sources."chokidar-3.5.3"
       sources."chownr-2.0.0"
-      sources."clean-stack-2.2.0"
-      sources."cli-cursor-3.1.0"
-      sources."cli-spinners-2.9.0"
-      sources."cli-width-3.0.0"
-      sources."clone-1.0.4"
-      sources."clone-response-1.0.3"
       sources."code-block-writer-10.1.1"
-      sources."color-convert-1.9.3"
-      sources."color-name-1.1.3"
       sources."color-support-1.1.3"
       sources."combined-stream-1.0.8"
-      sources."comma-separated-tokens-2.0.3"
-      sources."commander-2.20.3"
-      sources."compressible-2.0.18"
-      (sources."compression-1.7.4" // {
-        dependencies = [
-          sources."bytes-3.0.0"
-          sources."debug-2.6.9"
-          sources."ms-2.0.0"
-          sources."safe-buffer-5.1.2"
-        ];
-      })
       sources."concat-map-0.0.1"
       sources."console-control-strings-1.1.0"
-      sources."content-disposition-0.5.4"
-      sources."content-type-1.0.5"
+      sources."content-type-1.0.4"
       sources."convert-hrtime-3.0.0"
-      sources."convert-source-map-1.9.0"
-      sources."cookie-0.4.2"
-      sources."cookie-signature-1.0.6"
-      sources."copy-anything-2.0.6"
-      sources."core-js-compat-3.31.1"
-      sources."core-util-is-1.0.3"
       sources."create-require-1.1.1"
-      sources."cross-spawn-7.0.3"
-      sources."css-what-6.1.0"
-      sources."cssesc-3.0.0"
-      sources."csstype-3.1.2"
-      sources."data-uri-to-buffer-3.0.1"
-      sources."deasync-0.1.28"
       sources."debug-4.3.4"
-      sources."decode-named-character-reference-1.0.2"
-      (sources."decompress-response-6.0.0" // {
-        dependencies = [
-          sources."mimic-response-3.1.0"
-        ];
-      })
-      sources."deep-is-0.1.4"
-      sources."deep-object-diff-1.1.9"
-      sources."deepmerge-4.3.1"
-      sources."defaults-1.0.4"
-      sources."defer-to-connect-2.0.1"
-      sources."degenerator-3.0.4"
       sources."delayed-stream-1.0.0"
       sources."delegates-1.0.0"
-      sources."depd-2.0.0"
-      sources."dequal-2.0.3"
-      sources."destroy-1.2.0"
-      sources."detect-indent-6.1.0"
       sources."detect-libc-2.0.2"
-      sources."detect-newline-3.1.0"
       sources."diff-4.0.2"
-      sources."dir-glob-3.0.1"
-      sources."dotenv-16.3.1"
-      (sources."duplexify-3.7.1" // {
-        dependencies = [
-          sources."readable-stream-2.3.8"
-          sources."safe-buffer-5.1.2"
-          sources."string_decoder-1.1.1"
-        ];
-      })
       (sources."edge-runtime-2.4.3" // {
         dependencies = [
           sources."@edge-runtime/primitives-3.0.3"
           sources."@edge-runtime/vm-3.0.3"
         ];
       })
-      sources."ee-first-1.1.1"
-      sources."electron-to-chromium-1.4.466"
       sources."emoji-regex-8.0.0"
-      sources."emojis-list-3.0.0"
-      sources."encodeurl-1.0.2"
       sources."encoding-0.1.13"
-      sources."end-of-stream-1.4.4"
-      sources."errno-0.1.8"
       sources."esbuild-0.14.47"
       sources."esbuild-android-64-0.14.47"
       sources."esbuild-android-arm64-0.14.47"
@@ -145799,675 +143887,115 @@ in
       sources."esbuild-linux-s390x-0.14.47"
       sources."esbuild-netbsd-64-0.14.47"
       sources."esbuild-openbsd-64-0.14.47"
-      sources."esbuild-plugins-node-modules-polyfill-1.3.0"
       sources."esbuild-sunos-64-0.14.47"
       sources."esbuild-windows-32-0.14.47"
       sources."esbuild-windows-64-0.14.47"
       sources."esbuild-windows-arm64-0.14.47"
-      sources."escalade-3.1.1"
-      sources."escape-html-1.0.3"
-      sources."escape-string-regexp-1.0.5"
-      (sources."escodegen-1.14.3" // {
-        dependencies = [
-          sources."source-map-0.6.1"
-        ];
-      })
-      sources."esprima-4.0.1"
-      sources."estraverse-4.3.0"
-      sources."estree-util-attach-comments-2.1.1"
-      (sources."estree-util-build-jsx-2.2.2" // {
-        dependencies = [
-          sources."@types/estree-jsx-1.0.0"
-          sources."estree-util-is-identifier-name-2.1.0"
-          sources."estree-walker-3.0.3"
-        ];
-      })
-      sources."estree-util-is-identifier-name-1.1.0"
-      (sources."estree-util-value-to-estree-1.3.0" // {
-        dependencies = [
-          sources."is-plain-obj-3.0.0"
-        ];
-      })
-      (sources."estree-util-visit-1.2.1" // {
-        dependencies = [
-          sources."@types/estree-jsx-1.0.0"
-        ];
-      })
       sources."estree-walker-2.0.2"
-      sources."esutils-2.0.3"
       sources."etag-1.8.1"
-      sources."eval-0.1.6"
-      sources."event-target-shim-5.0.1"
-      (sources."execa-5.1.1" // {
-        dependencies = [
-          sources."signal-exit-3.0.7"
-        ];
-      })
       sources."exit-hook-2.2.1"
-      (sources."express-4.18.2" // {
-        dependencies = [
-          sources."cookie-0.5.0"
-          sources."debug-2.6.9"
-          sources."ms-2.0.0"
-          sources."path-to-regexp-0.1.7"
-        ];
-      })
-      sources."extend-3.0.2"
-      (sources."external-editor-3.1.0" // {
-        dependencies = [
-          sources."iconv-lite-0.4.24"
-        ];
-      })
       sources."fast-deep-equal-3.1.3"
-      sources."fast-glob-3.3.0"
+      sources."fast-glob-3.3.1"
       sources."fast-json-stable-stringify-2.1.0"
-      sources."fast-levenshtein-2.0.6"
       sources."fastq-1.15.0"
-      sources."fault-2.0.1"
-      sources."figures-3.2.0"
       sources."file-uri-to-path-1.0.0"
       sources."fill-range-7.0.1"
-      (sources."finalhandler-1.2.0" // {
-        dependencies = [
-          sources."debug-2.6.9"
-          sources."ms-2.0.0"
-        ];
-      })
-      sources."find-up-5.0.0"
-      sources."for-each-0.3.3"
       sources."form-data-3.0.1"
-      sources."format-0.2.2"
-      sources."forwarded-0.2.0"
-      sources."fresh-0.5.2"
-      sources."fs-constants-1.0.0"
-      sources."fs-extra-10.1.0"
+      sources."fs-extra-11.1.0"
       (sources."fs-minipass-2.1.0" // {
         dependencies = [
           sources."minipass-3.3.6"
         ];
       })
       sources."fs.realpath-1.0.0"
-      sources."fsevents-2.3.2"
-      (sources."ftp-0.3.10" // {
-        dependencies = [
-          sources."isarray-0.0.1"
-          sources."readable-stream-1.1.14"
-          sources."string_decoder-0.10.31"
-        ];
-      })
-      sources."function-bind-1.1.1"
       (sources."gauge-3.0.2" // {
         dependencies = [
           sources."signal-exit-3.0.7"
         ];
       })
-      sources."generic-names-4.0.0"
-      sources."gensync-1.0.0-beta.2"
-      sources."get-intrinsic-1.2.1"
-      sources."get-port-5.1.1"
-      sources."get-stream-6.0.1"
-      (sources."get-uri-3.0.2" // {
-        dependencies = [
-          sources."file-uri-to-path-2.0.0"
-          sources."fs-extra-8.1.0"
-          sources."jsonfile-4.0.0"
-          sources."universalify-0.1.2"
-        ];
-      })
-      sources."git-hooks-list-1.0.3"
       sources."glob-7.2.3"
       sources."glob-parent-5.1.2"
-      sources."globals-11.12.0"
-      sources."globby-10.0.0"
-      sources."gopd-1.0.1"
-      sources."got-11.8.6"
       sources."graceful-fs-4.2.11"
-      sources."gunzip-maybe-1.4.2"
-      sources."has-1.0.3"
-      sources."has-flag-3.0.0"
-      sources."has-proto-1.0.1"
-      sources."has-symbols-1.0.3"
-      sources."has-tostringtag-1.0.0"
       sources."has-unicode-2.0.1"
-      (sources."hast-util-to-estree-2.3.3" // {
-        dependencies = [
-          sources."@types/estree-jsx-1.0.0"
-          sources."estree-util-is-identifier-name-2.1.0"
-        ];
-      })
-      sources."hast-util-whitespace-2.0.1"
-      sources."http-cache-semantics-4.1.1"
-      sources."http-errors-2.0.0"
-      sources."http-proxy-agent-4.0.1"
-      sources."http2-wrapper-1.0.3"
       sources."https-proxy-agent-5.0.1"
-      sources."human-signals-2.1.0"
       sources."iconv-lite-0.6.3"
-      sources."icss-utils-5.1.0"
-      sources."ieee754-1.2.1"
-      sources."ignore-5.2.4"
-      sources."image-size-0.5.5"
-      sources."immutable-4.3.1"
-      sources."imurmurhash-0.1.4"
-      sources."indent-string-4.0.0"
-      sources."infer-owner-1.0.4"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
-      sources."inline-style-parser-0.1.1"
-      sources."inquirer-8.2.5"
-      sources."ip-1.1.8"
-      sources."ipaddr.js-1.9.1"
-      sources."is-alphabetical-2.0.1"
-      sources."is-alphanumerical-2.0.1"
-      sources."is-arguments-1.1.1"
-      sources."is-binary-path-2.1.0"
-      sources."is-buffer-2.0.5"
-      sources."is-callable-1.2.7"
-      sources."is-core-module-2.12.1"
-      sources."is-decimal-2.0.1"
-      sources."is-deflate-1.0.0"
       sources."is-extglob-2.1.1"
       sources."is-fullwidth-code-point-3.0.0"
-      sources."is-generator-function-1.0.10"
       sources."is-glob-4.0.3"
-      sources."is-gzip-1.0.0"
-      sources."is-hexadecimal-2.0.1"
-      sources."is-interactive-1.0.0"
       sources."is-number-7.0.0"
-      sources."is-plain-obj-4.1.0"
-      sources."is-reference-3.0.1"
-      sources."is-stream-2.0.1"
-      sources."is-typed-array-1.1.12"
-      sources."is-unicode-supported-0.1.0"
-      sources."is-what-3.14.1"
-      sources."isarray-1.0.0"
-      sources."isexe-2.0.0"
-      sources."javascript-stringify-2.1.0"
-      sources."js-tokens-4.0.0"
-      sources."js-yaml-4.1.0"
-      sources."jsesc-3.0.2"
-      sources."json-buffer-3.0.1"
-      sources."json-parse-even-better-errors-2.3.1"
       sources."json-schema-to-ts-1.6.4"
       sources."json-schema-traverse-1.0.0"
-      sources."json5-2.2.3"
-      sources."jsonc-parser-3.2.0"
       sources."jsonfile-6.1.0"
-      sources."keyv-4.5.3"
-      sources."kleur-4.1.5"
-      (sources."less-4.1.3" // {
-        dependencies = [
-          sources."make-dir-2.1.0"
-          sources."semver-5.7.2"
-          sources."source-map-0.6.1"
-        ];
-      })
-      sources."levn-0.3.0"
-      (sources."lightningcss-1.21.5" // {
-        dependencies = [
-          sources."detect-libc-1.0.3"
-        ];
-      })
-      sources."lightningcss-darwin-arm64-1.21.5"
-      sources."lightningcss-darwin-x64-1.21.5"
-      sources."lightningcss-linux-arm-gnueabihf-1.21.5"
-      sources."lightningcss-linux-arm64-gnu-1.21.5"
-      sources."lightningcss-linux-arm64-musl-1.21.5"
-      sources."lightningcss-linux-x64-gnu-1.21.5"
-      sources."lightningcss-linux-x64-musl-1.21.5"
-      sources."lightningcss-win32-x64-msvc-1.21.5"
-      sources."lilconfig-2.1.0"
-      sources."loader-utils-3.2.1"
-      sources."local-pkg-0.4.3"
-      sources."locate-path-6.0.0"
-      sources."lodash-4.17.21"
-      sources."lodash.camelcase-4.3.0"
-      sources."lodash.debounce-4.0.8"
-      sources."log-symbols-4.1.0"
-      sources."longest-streak-3.1.0"
-      sources."lowercase-keys-2.0.0"
       sources."lru-cache-6.0.0"
       sources."make-dir-3.1.0"
       sources."make-error-1.3.6"
-      sources."markdown-extensions-1.1.1"
-      sources."mdast-util-definitions-5.1.2"
-      sources."mdast-util-from-markdown-1.3.1"
-      sources."mdast-util-frontmatter-1.0.1"
-      sources."mdast-util-mdx-1.1.0"
-      (sources."mdast-util-mdx-expression-1.3.2" // {
-        dependencies = [
-          sources."@types/estree-jsx-1.0.0"
-        ];
-      })
-      sources."mdast-util-mdx-jsx-1.2.0"
-      (sources."mdast-util-mdxjs-esm-1.3.1" // {
-        dependencies = [
-          sources."@types/estree-jsx-1.0.0"
-        ];
-      })
-      sources."mdast-util-phrasing-3.0.1"
-      sources."mdast-util-to-hast-11.3.0"
-      sources."mdast-util-to-markdown-1.5.0"
-      sources."mdast-util-to-string-3.2.0"
-      sources."mdurl-1.0.1"
-      sources."media-query-parser-2.0.2"
-      sources."media-typer-0.3.0"
-      sources."merge-descriptors-1.0.1"
-      sources."merge-stream-2.0.0"
       sources."merge2-1.4.1"
-      sources."methods-1.1.2"
-      sources."micromark-3.2.0"
-      sources."micromark-core-commonmark-1.1.0"
-      sources."micromark-extension-frontmatter-1.1.1"
-      sources."micromark-extension-mdx-expression-1.0.8"
-      (sources."micromark-extension-mdx-jsx-1.0.5" // {
-        dependencies = [
-          sources."estree-util-is-identifier-name-2.1.0"
-        ];
-      })
-      sources."micromark-extension-mdx-md-1.0.1"
-      sources."micromark-extension-mdxjs-1.0.1"
-      sources."micromark-extension-mdxjs-esm-1.0.5"
-      sources."micromark-factory-destination-1.1.0"
-      sources."micromark-factory-label-1.1.0"
-      sources."micromark-factory-mdx-expression-1.0.9"
-      sources."micromark-factory-space-1.1.0"
-      sources."micromark-factory-title-1.1.0"
-      sources."micromark-factory-whitespace-1.1.0"
-      sources."micromark-util-character-1.2.0"
-      sources."micromark-util-chunked-1.1.0"
-      sources."micromark-util-classify-character-1.1.0"
-      sources."micromark-util-combine-extensions-1.1.0"
-      sources."micromark-util-decode-numeric-character-reference-1.1.0"
-      sources."micromark-util-decode-string-1.1.0"
-      sources."micromark-util-encode-1.1.0"
-      sources."micromark-util-events-to-acorn-1.2.3"
-      sources."micromark-util-html-tag-name-1.2.0"
-      sources."micromark-util-normalize-identifier-1.1.0"
-      sources."micromark-util-resolve-all-1.1.0"
-      sources."micromark-util-sanitize-uri-1.2.0"
-      sources."micromark-util-subtokenize-1.1.0"
-      sources."micromark-util-symbol-1.1.0"
-      sources."micromark-util-types-1.1.0"
       sources."micromatch-4.0.5"
-      sources."mime-1.6.0"
       sources."mime-db-1.52.0"
       sources."mime-types-2.1.35"
-      sources."mimic-fn-2.1.0"
-      sources."mimic-response-1.0.1"
       sources."minimatch-3.1.2"
-      sources."minimist-1.2.8"
       sources."minipass-5.0.0"
-      (sources."minipass-collect-1.0.2" // {
-        dependencies = [
-          sources."minipass-3.3.6"
-        ];
-      })
-      (sources."minipass-flush-1.0.5" // {
-        dependencies = [
-          sources."minipass-3.3.6"
-        ];
-      })
-      (sources."minipass-pipeline-1.2.4" // {
-        dependencies = [
-          sources."minipass-3.3.6"
-        ];
-      })
       (sources."minizlib-2.1.2" // {
         dependencies = [
           sources."minipass-3.3.6"
         ];
       })
       sources."mkdirp-1.0.4"
-      sources."mkdirp-classic-0.5.3"
-      sources."mlly-1.4.0"
-      (sources."morgan-1.10.0" // {
-        dependencies = [
-          sources."debug-2.6.9"
-          sources."ms-2.0.0"
-          sources."on-finished-2.3.0"
-        ];
-      })
       sources."mri-1.2.0"
-      sources."mrmime-1.0.1"
       sources."ms-2.1.2"
-      sources."mute-stream-0.0.8"
-      sources."nanoid-3.3.6"
-      (sources."needle-3.2.0" // {
-        dependencies = [
-          sources."debug-3.2.7"
-        ];
-      })
-      sources."negotiator-0.6.3"
-      sources."netmask-2.0.2"
-      sources."node-addon-api-1.7.2"
       sources."node-fetch-2.6.9"
       sources."node-gyp-build-4.6.0"
-      sources."node-releases-2.0.13"
       sources."nopt-5.0.0"
-      sources."normalize-path-3.0.0"
-      sources."normalize-url-6.1.0"
-      sources."npm-run-path-4.0.1"
       sources."npmlog-5.0.1"
       sources."object-assign-4.1.1"
-      sources."object-inspect-1.12.3"
-      sources."on-finished-2.4.1"
-      sources."on-headers-1.0.2"
       sources."once-1.4.0"
-      sources."onetime-5.1.2"
-      sources."optionator-0.8.3"
-      sources."ora-5.4.1"
-      sources."os-tmpdir-1.0.2"
-      sources."outdent-0.8.0"
-      sources."p-cancelable-2.1.1"
-      sources."p-limit-3.1.0"
-      sources."p-locate-5.0.0"
-      sources."p-map-4.0.0"
-      sources."pac-proxy-agent-5.0.0"
-      sources."pac-resolver-5.0.1"
-      sources."pako-0.2.9"
-      sources."parse-entities-4.0.1"
       sources."parse-ms-2.1.0"
-      sources."parse-node-version-1.0.1"
-      sources."parseurl-1.3.3"
       sources."path-browserify-1.0.1"
-      sources."path-exists-4.0.0"
       sources."path-is-absolute-1.0.1"
-      sources."path-key-3.1.1"
-      sources."path-parse-1.0.7"
       sources."path-to-regexp-6.2.1"
-      sources."path-type-4.0.0"
-      sources."pathe-1.1.1"
-      sources."peek-stream-1.1.3"
-      (sources."periscopic-3.1.0" // {
-        dependencies = [
-          sources."estree-walker-3.0.3"
-        ];
-      })
       sources."picocolors-1.0.0"
       sources."picomatch-2.3.1"
-      sources."pidtree-0.6.0"
-      sources."pify-4.0.1"
-      sources."pkg-types-1.0.3"
-      sources."postcss-8.4.26"
-      sources."postcss-discard-duplicates-5.1.0"
-      sources."postcss-load-config-4.0.1"
-      sources."postcss-modules-6.0.0"
-      sources."postcss-modules-extract-imports-3.0.0"
-      sources."postcss-modules-local-by-default-4.0.3"
-      sources."postcss-modules-scope-3.0.0"
-      sources."postcss-modules-values-4.0.0"
-      sources."postcss-selector-parser-6.0.13"
-      sources."postcss-value-parser-4.2.0"
-      sources."prelude-ls-1.1.2"
-      sources."prettier-2.8.8"
       sources."pretty-bytes-5.6.0"
       sources."pretty-ms-7.0.1"
-      sources."process-nextick-args-2.0.1"
-      sources."promise-inflight-1.0.1"
-      sources."property-information-6.2.0"
-      sources."proxy-addr-2.0.7"
-      (sources."proxy-agent-5.0.0" // {
-        dependencies = [
-          sources."lru-cache-5.1.1"
-          sources."yallist-3.1.1"
-        ];
-      })
-      sources."proxy-from-env-1.1.0"
-      sources."prr-1.0.1"
-      sources."pump-2.0.1"
-      sources."pumpify-1.5.1"
       sources."punycode-2.3.0"
-      sources."qs-6.11.0"
       sources."queue-microtask-1.2.3"
-      sources."quick-lru-5.1.1"
-      sources."range-parser-1.2.1"
-      (sources."raw-body-2.5.1" // {
-        dependencies = [
-          sources."iconv-lite-0.4.24"
-        ];
-      })
-      sources."react-refresh-0.14.0"
       sources."readable-stream-3.6.2"
-      sources."readdirp-3.6.0"
-      (sources."recast-0.21.5" // {
-        dependencies = [
-          sources."ast-types-0.15.2"
-          sources."source-map-0.6.1"
-        ];
-      })
-      sources."regenerate-1.4.2"
-      sources."regenerate-unicode-properties-10.1.0"
       sources."regenerator-runtime-0.13.11"
-      sources."regenerator-transform-0.15.1"
-      sources."regexpu-core-5.3.2"
-      (sources."regjsparser-0.9.1" // {
-        dependencies = [
-          sources."jsesc-0.5.0"
-        ];
-      })
-      sources."remark-frontmatter-4.0.1"
-      sources."remark-mdx-frontmatter-1.1.1"
-      sources."remark-parse-10.0.2"
-      sources."remark-rehype-9.1.0"
       sources."require-from-string-2.0.2"
-      sources."require-like-0.1.2"
-      sources."resolve-1.22.3"
-      sources."resolve-alpn-1.2.1"
       sources."resolve-from-5.0.0"
-      sources."resolve.exports-2.0.2"
-      sources."responselike-2.0.1"
-      (sources."restore-cursor-3.1.0" // {
-        dependencies = [
-          sources."signal-exit-3.0.7"
-        ];
-      })
       sources."reusify-1.0.4"
       sources."rimraf-3.0.2"
-      sources."rollup-3.26.3"
-      sources."run-async-2.4.1"
       sources."run-parallel-1.2.0"
-      sources."rxjs-7.8.1"
-      sources."sade-1.8.1"
       sources."safe-buffer-5.2.1"
       sources."safer-buffer-2.1.2"
-      sources."sass-1.64.0"
-      sources."sax-1.2.4"
       sources."semver-6.1.1"
-      (sources."send-0.18.0" // {
-        dependencies = [
-          (sources."debug-2.6.9" // {
-            dependencies = [
-              sources."ms-2.0.0"
-            ];
-          })
-          sources."ms-2.1.3"
-        ];
-      })
-      sources."serve-static-1.15.0"
       sources."set-blocking-2.0.0"
-      sources."set-cookie-parser-2.6.0"
-      sources."setprototypeof-1.2.0"
-      sources."shebang-command-2.0.0"
-      sources."shebang-regex-3.0.0"
-      sources."side-channel-1.0.4"
       sources."signal-exit-4.0.2"
-      sources."slash-3.0.0"
-      sources."smart-buffer-4.2.0"
-      (sources."socks-2.7.1" // {
-        dependencies = [
-          sources."ip-2.0.0"
-        ];
-      })
-      sources."socks-proxy-agent-5.0.1"
-      sources."sort-object-keys-1.1.3"
-      (sources."sort-package-json-1.57.0" // {
-        dependencies = [
-          sources."is-plain-obj-2.1.0"
-        ];
-      })
-      sources."source-map-0.7.4"
-      sources."source-map-js-1.0.2"
-      (sources."source-map-support-0.5.21" // {
-        dependencies = [
-          sources."source-map-0.6.1"
-        ];
-      })
-      sources."space-separated-tokens-2.0.2"
-      (sources."ssri-8.0.1" // {
-        dependencies = [
-          sources."minipass-3.3.6"
-        ];
-      })
-      sources."statuses-2.0.1"
-      sources."stream-shift-1.0.1"
-      sources."stream-slice-0.1.2"
-      sources."string-hash-1.1.3"
       sources."string-width-4.2.3"
       sources."string_decoder-1.3.0"
-      sources."stringify-entities-4.0.3"
       sources."strip-ansi-6.0.1"
-      sources."strip-bom-3.0.0"
-      sources."strip-final-newline-2.0.0"
-      sources."style-to-object-0.4.1"
-      sources."stylus-0.59.0"
-      sources."sugarss-4.0.1"
-      sources."supports-color-5.5.0"
-      sources."supports-preserve-symlinks-flag-1.0.0"
       sources."tar-6.1.15"
-      (sources."tar-fs-2.1.1" // {
-        dependencies = [
-          sources."chownr-1.1.4"
-          sources."pump-3.0.0"
-        ];
-      })
-      sources."tar-stream-2.2.0"
-      sources."terser-5.19.1"
-      sources."through-2.3.8"
-      (sources."through2-2.0.5" // {
-        dependencies = [
-          sources."readable-stream-2.3.8"
-          sources."safe-buffer-5.1.2"
-          sources."string_decoder-1.1.1"
-        ];
-      })
       sources."time-span-4.0.0"
-      sources."tmp-0.0.33"
-      sources."to-fast-properties-2.0.0"
       sources."to-regex-range-5.0.1"
-      sources."toidentifier-1.0.1"
-      sources."toml-3.0.0"
       sources."tr46-0.0.3"
-      sources."trough-2.1.0"
       sources."ts-morph-12.0.0"
       sources."ts-node-10.9.1"
       sources."ts-toolbelt-6.15.5"
-      sources."tsconfig-paths-4.2.0"
-      sources."tslib-2.6.0"
-      sources."type-check-0.3.2"
-      sources."type-fest-0.21.3"
-      sources."type-is-1.6.18"
+      sources."tslib-2.6.1"
       sources."typescript-4.9.5"
-      sources."ufo-1.1.2"
-      sources."unicode-canonical-property-names-ecmascript-2.0.0"
-      sources."unicode-match-property-ecmascript-2.0.0"
-      sources."unicode-match-property-value-ecmascript-2.1.0"
-      sources."unicode-property-aliases-ecmascript-2.1.0"
-      sources."unified-10.1.2"
-      sources."unique-filename-1.1.1"
-      sources."unique-slug-2.0.2"
-      sources."unist-builder-3.0.1"
-      sources."unist-util-generated-2.0.1"
-      sources."unist-util-is-5.2.1"
-      sources."unist-util-position-4.0.4"
-      sources."unist-util-position-from-estree-1.1.2"
-      sources."unist-util-remove-position-4.0.2"
-      sources."unist-util-stringify-position-3.0.3"
-      sources."unist-util-visit-4.1.2"
-      sources."unist-util-visit-parents-5.1.3"
       sources."universalify-2.0.0"
-      sources."unpipe-1.0.0"
-      sources."update-browserslist-db-1.0.11"
       sources."uri-js-4.4.1"
-      sources."utf-8-validate-5.0.10"
-      sources."util-0.12.5"
       sources."util-deprecate-1.0.2"
-      sources."utils-merge-1.0.1"
-      (sources."uvu-0.5.6" // {
-        dependencies = [
-          sources."diff-5.1.0"
-        ];
-      })
       sources."v8-compile-cache-lib-3.0.1"
-      sources."vary-1.1.2"
-      sources."vfile-5.3.7"
-      sources."vfile-message-3.1.4"
-      (sources."vite-4.4.4" // {
-        dependencies = [
-          sources."@esbuild/android-arm-0.18.14"
-          sources."@esbuild/android-arm64-0.18.14"
-          sources."@esbuild/android-x64-0.18.14"
-          sources."@esbuild/darwin-arm64-0.18.14"
-          sources."@esbuild/darwin-x64-0.18.14"
-          sources."@esbuild/freebsd-arm64-0.18.14"
-          sources."@esbuild/freebsd-x64-0.18.14"
-          sources."@esbuild/linux-arm-0.18.14"
-          sources."@esbuild/linux-arm64-0.18.14"
-          sources."@esbuild/linux-ia32-0.18.14"
-          sources."@esbuild/linux-loong64-0.18.14"
-          sources."@esbuild/linux-mips64el-0.18.14"
-          sources."@esbuild/linux-ppc64-0.18.14"
-          sources."@esbuild/linux-riscv64-0.18.14"
-          sources."@esbuild/linux-s390x-0.18.14"
-          sources."@esbuild/linux-x64-0.18.14"
-          sources."@esbuild/netbsd-x64-0.18.14"
-          sources."@esbuild/openbsd-x64-0.18.14"
-          sources."@esbuild/sunos-x64-0.18.14"
-          sources."@esbuild/win32-arm64-0.18.14"
-          sources."@esbuild/win32-ia32-0.18.14"
-          sources."@esbuild/win32-x64-0.18.14"
-          sources."esbuild-0.18.14"
-        ];
-      })
-      (sources."vite-node-0.28.5" // {
-        dependencies = [
-          sources."source-map-0.6.1"
-        ];
-      })
-      sources."vm2-3.9.19"
-      sources."wcwidth-1.0.1"
-      sources."web-encoding-1.1.5"
-      sources."web-streams-polyfill-3.2.1"
       sources."web-vitals-0.2.4"
       sources."webidl-conversions-3.0.1"
       sources."whatwg-url-5.0.0"
-      sources."which-2.0.2"
-      sources."which-typed-array-1.1.11"
       sources."wide-align-1.1.5"
-      sources."word-wrap-1.2.4"
-      (sources."wrap-ansi-7.0.0" // {
-        dependencies = [
-          sources."ansi-styles-4.3.0"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-        ];
-      })
       sources."wrappy-1.0.2"
-      sources."ws-7.5.9"
-      (sources."xdm-2.1.0" // {
-        dependencies = [
-          sources."estree-util-is-identifier-name-2.1.0"
-          sources."estree-walker-3.0.3"
-          sources."loader-utils-2.0.4"
-        ];
-      })
-      sources."xregexp-2.0.0"
-      sources."xtend-4.0.2"
       sources."yallist-4.0.0"
-      sources."yaml-2.3.1"
       sources."yn-3.1.1"
-      sources."yocto-queue-0.1.0"
-      sources."zwitch-2.0.4"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -146521,9 +144049,9 @@ in
         ];
       })
       sources."@eslint-community/eslint-utils-4.4.0"
-      sources."@eslint-community/regexpp-4.5.1"
-      sources."@eslint/eslintrc-2.1.0"
-      sources."@eslint/js-8.44.0"
+      sources."@eslint-community/regexpp-4.6.2"
+      sources."@eslint/eslintrc-2.1.1"
+      sources."@eslint/js-8.46.0"
       sources."@humanwhocodes/config-array-0.11.10"
       sources."@humanwhocodes/module-importer-1.0.1"
       sources."@humanwhocodes/object-schema-1.2.1"
@@ -146555,10 +144083,10 @@ in
       sources."diff-4.0.2"
       sources."doctrine-3.0.0"
       sources."escape-string-regexp-4.0.0"
-      sources."eslint-8.45.0"
-      sources."eslint-plugin-vue-9.15.1"
-      sources."eslint-scope-7.2.1"
-      sources."eslint-visitor-keys-3.4.1"
+      sources."eslint-8.46.0"
+      sources."eslint-plugin-vue-9.16.1"
+      sources."eslint-scope-7.2.2"
+      sources."eslint-visitor-keys-3.4.2"
       sources."espree-9.6.1"
       sources."esprima-4.0.1"
       sources."esquery-1.5.0"
@@ -147162,7 +144690,7 @@ in
       sources."@starptech/rehype-webparser-0.10.0"
       sources."@starptech/webparser-0.10.0"
       sources."@szmarczak/http-timer-1.1.2"
-      sources."@types/node-20.4.2"
+      sources."@types/node-20.4.5"
       sources."@types/unist-2.0.7"
       sources."@types/vfile-3.0.2"
       sources."@types/vfile-message-2.0.0"
@@ -147310,7 +144838,7 @@ in
         ];
       })
       sources."comma-separated-tokens-1.0.8"
-      sources."commander-11.0.0"
+      sources."commander-10.0.1"
       sources."common-tags-1.8.2"
       sources."component-emitter-1.3.0"
       sources."concat-map-0.0.1"
@@ -147349,7 +144877,7 @@ in
       sources."doctrine-3.0.0"
       sources."dot-prop-4.2.1"
       sources."duplexer3-0.1.5"
-      (sources."editorconfig-1.0.3" // {
+      (sources."editorconfig-1.0.4" // {
         dependencies = [
           sources."brace-expansion-2.0.1"
           sources."lru-cache-6.0.0"
@@ -148102,7 +145630,7 @@ in
       sources."which-module-2.0.1"
       sources."widest-line-2.0.1"
       sources."window-size-0.2.0"
-      sources."word-wrap-1.2.4"
+      sources."word-wrap-1.2.5"
       (sources."wrap-ansi-2.1.0" // {
         dependencies = [
           sources."ansi-regex-2.1.1"
@@ -148315,11 +145843,11 @@ in
       sources."@devicefarmer/adbkit-logcat-2.1.3"
       sources."@devicefarmer/adbkit-monkey-1.2.1"
       sources."@eslint-community/eslint-utils-4.4.0"
-      sources."@eslint-community/regexpp-4.5.1"
-      (sources."@eslint/eslintrc-2.1.0" // {
+      sources."@eslint-community/regexpp-4.6.2"
+      (sources."@eslint/eslintrc-2.1.1" // {
         dependencies = [
           sources."ajv-6.12.6"
-          sources."eslint-visitor-keys-3.4.1"
+          sources."eslint-visitor-keys-3.4.2"
           sources."espree-9.6.1"
           sources."json-schema-traverse-0.4.1"
           sources."strip-json-comments-3.1.1"
@@ -148341,11 +145869,11 @@ in
         ];
       })
       sources."@pnpm/npm-conf-2.2.2"
-      sources."@sindresorhus/is-5.5.2"
+      sources."@sindresorhus/is-5.6.0"
       sources."@szmarczak/http-timer-5.0.1"
       sources."@types/http-cache-semantics-4.0.1"
       sources."@types/minimatch-3.0.5"
-      sources."@types/node-20.4.2"
+      sources."@types/node-20.4.5"
       sources."@types/yauzl-2.10.0"
       sources."abort-controller-3.0.0"
       sources."accepts-1.3.8"
@@ -148409,7 +145937,7 @@ in
       sources."bunyan-1.8.15"
       sources."bytes-3.1.2"
       sources."cacheable-lookup-7.0.0"
-      (sources."cacheable-request-10.2.12" // {
+      (sources."cacheable-request-10.2.13" // {
         dependencies = [
           sources."get-stream-6.0.1"
         ];
@@ -148520,7 +146048,7 @@ in
         ];
       })
       sources."eslint-plugin-no-unsanitized-4.0.2"
-      sources."eslint-scope-7.2.1"
+      sources."eslint-scope-7.2.2"
       sources."eslint-visitor-keys-3.3.0"
       sources."espree-9.5.0"
       sources."esprima-4.0.1"
@@ -148546,7 +146074,7 @@ in
       sources."fast-json-patch-3.1.1"
       sources."fast-json-stable-stringify-2.1.0"
       sources."fast-levenshtein-2.0.6"
-      sources."fast-redact-3.2.0"
+      sources."fast-redact-3.3.0"
       sources."fastq-1.15.0"
       sources."fd-slicer-1.1.0"
       sources."fetch-blob-3.2.0"
@@ -148663,7 +146191,7 @@ in
       sources."isstream-0.1.2"
       sources."jed-1.1.1"
       sources."jose-4.13.1"
-      sources."js-sdsl-4.4.1"
+      sources."js-sdsl-4.4.2"
       sources."js-tokens-4.0.0"
       sources."js-yaml-4.1.0"
       sources."jsbn-0.1.1"
@@ -149002,11 +146530,11 @@ in
       sources."@jridgewell/source-map-0.3.5"
       sources."@jridgewell/sourcemap-codec-1.4.14"
       sources."@jridgewell/trace-mapping-0.3.18"
-      sources."@types/eslint-8.44.0"
+      sources."@types/eslint-8.44.1"
       sources."@types/eslint-scope-3.7.4"
       sources."@types/estree-1.0.1"
       sources."@types/json-schema-7.0.12"
-      sources."@types/node-20.4.2"
+      sources."@types/node-20.4.5"
       sources."@webassemblyjs/ast-1.11.6"
       sources."@webassemblyjs/floating-point-hex-parser-1.11.6"
       sources."@webassemblyjs/helper-api-error-1.11.6"
@@ -149028,12 +146556,12 @@ in
       sources."acorn-import-assertions-1.9.0"
       sources."ajv-6.12.6"
       sources."ajv-keywords-3.5.2"
-      sources."browserslist-4.21.9"
+      sources."browserslist-4.21.10"
       sources."buffer-from-1.1.2"
-      sources."caniuse-lite-1.0.30001517"
+      sources."caniuse-lite-1.0.30001518"
       sources."chrome-trace-event-1.0.3"
       sources."commander-2.20.3"
-      sources."electron-to-chromium-1.4.466"
+      sources."electron-to-chromium-1.4.480"
       sources."enhanced-resolve-5.15.0"
       sources."es-module-lexer-1.3.0"
       sources."escalade-3.1.1"
@@ -149069,7 +146597,7 @@ in
       sources."source-map-support-0.5.21"
       sources."supports-color-8.1.1"
       sources."tapable-2.2.1"
-      sources."terser-5.19.1"
+      sources."terser-5.19.2"
       sources."terser-webpack-plugin-5.3.9"
       sources."update-browserslist-db-1.0.11"
       sources."uri-js-4.4.1"
@@ -149103,11 +146631,11 @@ in
       sources."@jridgewell/source-map-0.3.5"
       sources."@jridgewell/sourcemap-codec-1.4.14"
       sources."@jridgewell/trace-mapping-0.3.18"
-      sources."@types/eslint-8.44.0"
+      sources."@types/eslint-8.44.1"
       sources."@types/eslint-scope-3.7.4"
       sources."@types/estree-1.0.1"
       sources."@types/json-schema-7.0.12"
-      sources."@types/node-20.4.2"
+      sources."@types/node-20.4.5"
       sources."@webassemblyjs/ast-1.11.6"
       sources."@webassemblyjs/floating-point-hex-parser-1.11.6"
       sources."@webassemblyjs/helper-api-error-1.11.6"
@@ -149132,15 +146660,15 @@ in
       sources."acorn-import-assertions-1.9.0"
       sources."ajv-6.12.6"
       sources."ajv-keywords-3.5.2"
-      sources."browserslist-4.21.9"
+      sources."browserslist-4.21.10"
       sources."buffer-from-1.1.2"
-      sources."caniuse-lite-1.0.30001517"
+      sources."caniuse-lite-1.0.30001518"
       sources."chrome-trace-event-1.0.3"
       sources."clone-deep-4.0.1"
       sources."colorette-2.0.20"
       sources."commander-10.0.1"
       sources."cross-spawn-7.0.3"
-      sources."electron-to-chromium-1.4.466"
+      sources."electron-to-chromium-1.4.480"
       sources."enhanced-resolve-5.15.0"
       sources."envinfo-7.10.0"
       sources."es-module-lexer-1.3.0"
@@ -149204,7 +146732,7 @@ in
       sources."supports-color-8.1.1"
       sources."supports-preserve-symlinks-flag-1.0.0"
       sources."tapable-2.2.1"
-      (sources."terser-5.19.1" // {
+      (sources."terser-5.19.2" // {
         dependencies = [
           sources."commander-2.20.3"
         ];
@@ -149250,7 +146778,7 @@ in
       sources."@types/bonjour-3.5.10"
       sources."@types/connect-3.4.35"
       sources."@types/connect-history-api-fallback-1.5.0"
-      sources."@types/eslint-8.44.0"
+      sources."@types/eslint-8.44.1"
       sources."@types/eslint-scope-3.7.4"
       sources."@types/estree-1.0.1"
       sources."@types/express-4.17.17"
@@ -149259,7 +146787,7 @@ in
       sources."@types/http-proxy-1.17.11"
       sources."@types/json-schema-7.0.12"
       sources."@types/mime-1.3.2"
-      sources."@types/node-20.4.2"
+      sources."@types/node-20.4.5"
       sources."@types/qs-6.9.7"
       sources."@types/range-parser-1.2.4"
       sources."@types/retry-0.12.0"
@@ -149305,12 +146833,12 @@ in
       sources."bonjour-service-1.1.1"
       sources."brace-expansion-1.1.11"
       sources."braces-3.0.2"
-      sources."browserslist-4.21.9"
+      sources."browserslist-4.21.10"
       sources."buffer-from-1.1.2"
       sources."bufferutil-4.0.7"
       sources."bytes-3.0.0"
       sources."call-bind-1.0.2"
-      sources."caniuse-lite-1.0.30001517"
+      sources."caniuse-lite-1.0.30001518"
       sources."chokidar-3.5.3"
       sources."chrome-trace-event-1.0.3"
       sources."colorette-2.0.20"
@@ -149338,7 +146866,7 @@ in
       sources."dns-equal-1.0.0"
       sources."dns-packet-5.6.0"
       sources."ee-first-1.1.1"
-      sources."electron-to-chromium-1.4.466"
+      sources."electron-to-chromium-1.4.480"
       sources."encodeurl-1.0.2"
       sources."enhanced-resolve-5.15.0"
       sources."es-module-lexer-1.3.0"
@@ -149518,7 +147046,7 @@ in
       sources."strip-final-newline-2.0.0"
       sources."supports-color-8.1.1"
       sources."tapable-2.2.1"
-      sources."terser-5.19.1"
+      sources."terser-5.19.2"
       (sources."terser-webpack-plugin-5.3.9" // {
         dependencies = [
           sources."ajv-6.12.6"
@@ -149585,11 +147113,11 @@ in
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
-      sources."@types/eslint-8.44.0"
+      sources."@types/eslint-8.44.1"
       sources."@types/eslint-scope-3.7.4"
       sources."@types/estree-1.0.1"
       sources."@types/json-schema-7.0.12"
-      sources."@types/node-20.4.2"
+      sources."@types/node-20.4.5"
       sources."@webassemblyjs/ast-1.11.6"
       sources."@webassemblyjs/floating-point-hex-parser-1.11.6"
       sources."@webassemblyjs/helper-api-error-1.11.6"
@@ -149613,13 +147141,13 @@ in
       sources."ajv-formats-2.1.1"
       sources."ajv-keywords-5.1.0"
       sources."braces-3.0.2"
-      sources."browserslist-4.21.9"
+      sources."browserslist-4.21.10"
       sources."buffer-from-1.1.2"
-      sources."caniuse-lite-1.0.30001517"
+      sources."caniuse-lite-1.0.30001518"
       sources."chrome-trace-event-1.0.3"
       sources."commander-2.20.3"
       sources."dir-glob-3.0.1"
-      sources."electron-to-chromium-1.4.466"
+      sources."electron-to-chromium-1.4.480"
       sources."enhanced-resolve-5.15.0"
       sources."es-module-lexer-1.3.0"
       sources."escalade-3.1.1"
@@ -149632,7 +147160,7 @@ in
       sources."estraverse-4.3.0"
       sources."events-3.3.0"
       sources."fast-deep-equal-3.1.3"
-      (sources."fast-glob-3.3.0" // {
+      (sources."fast-glob-3.3.1" // {
         dependencies = [
           sources."glob-parent-5.1.2"
         ];
@@ -149678,7 +147206,7 @@ in
       sources."source-map-support-0.5.21"
       sources."supports-color-8.1.1"
       sources."tapable-2.2.1"
-      sources."terser-5.19.1"
+      sources."terser-5.19.2"
       (sources."terser-webpack-plugin-5.3.9" // {
         dependencies = [
           sources."ajv-6.12.6"
@@ -149732,7 +147260,7 @@ in
       sources."@protobufjs/pool-1.1.0"
       sources."@protobufjs/utf8-1.1.0"
       sources."@types/long-4.0.2"
-      sources."@types/node-20.4.2"
+      sources."@types/node-20.4.5"
       sources."@webtorrent/http-node-1.3.0"
       sources."addr-to-ip-port-1.5.4"
       sources."airplay-js-0.3.0"
@@ -150059,7 +147587,7 @@ in
         ];
       })
       sources."torrent-piece-2.0.1"
-      sources."tslib-2.6.0"
+      sources."tslib-2.6.1"
       sources."type-fest-0.21.3"
       sources."typedarray-0.0.6"
       sources."uint64be-2.0.2"
@@ -150118,10 +147646,10 @@ in
   "@withgraphite/graphite-cli" = nodeEnv.buildNodePackage {
     name = "_at_withgraphite_slash_graphite-cli";
     packageName = "@withgraphite/graphite-cli";
-    version = "0.20.36";
+    version = "0.21.5";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@withgraphite/graphite-cli/-/graphite-cli-0.20.36.tgz";
-      sha512 = "67In1MjJVRrPErgQm3WszakCUn+oX3JXwD81dn/VHDTodUdhUTR3ZOkpQ1o2NnzF9s1+/3nWH5z/t3KiEdZeNw==";
+      url = "https://registry.npmjs.org/@withgraphite/graphite-cli/-/graphite-cli-0.21.5.tgz";
+      sha512 = "RD86gEIlbZV7/IRrDvNlCQBiy9kuNNsSom8QV8Kki7ZXhBqHZqa7iFkxALBJl6D2BeEminddxvxjBXO5JbqxMg==";
     };
     dependencies = [
       sources."ansi-regex-5.0.1"
@@ -150160,18 +147688,18 @@ in
   wrangler = nodeEnv.buildNodePackage {
     name = "wrangler";
     packageName = "wrangler";
-    version = "3.3.0";
+    version = "3.4.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/wrangler/-/wrangler-3.3.0.tgz";
-      sha512 = "m9+mmf3BOT5Q6pPxiXOa/MkmCrJO/CGxuePrDW0las4oNmPdT+seYxQZkM8QJVKANm0MBuU1dJqSPPF3arh73w==";
+      url = "https://registry.npmjs.org/wrangler/-/wrangler-3.4.0.tgz";
+      sha512 = "sATQ84zH/zFUHSaa4hY3V24TBrad3R9HhGV47U6Ek7XRQDLQHBm0jt84mJD3sSV/hhaq5s+xidIYulhm+m1/Tg==";
     };
     dependencies = [
       sources."@cloudflare/kv-asset-handler-0.2.0"
-      sources."@cloudflare/workerd-darwin-64-1.20230717.0"
-      sources."@cloudflare/workerd-darwin-arm64-1.20230717.0"
-      sources."@cloudflare/workerd-linux-64-1.20230717.0"
-      sources."@cloudflare/workerd-linux-arm64-1.20230717.0"
-      sources."@cloudflare/workerd-windows-64-1.20230717.0"
+      sources."@cloudflare/workerd-darwin-64-1.20230724.0"
+      sources."@cloudflare/workerd-darwin-arm64-1.20230724.0"
+      sources."@cloudflare/workerd-linux-64-1.20230724.0"
+      sources."@cloudflare/workerd-linux-arm64-1.20230724.0"
+      sources."@cloudflare/workerd-windows-64-1.20230724.0"
       sources."@esbuild-plugins/node-globals-polyfill-0.1.1"
       sources."@esbuild-plugins/node-modules-polyfill-0.1.4"
       sources."@esbuild/android-arm-0.16.3"
@@ -150251,7 +147779,7 @@ in
       sources."magic-string-0.25.9"
       sources."mime-3.0.0"
       sources."mimic-response-3.1.0"
-      sources."miniflare-3.20230717.0"
+      sources."miniflare-3.20230724.0"
       sources."minimist-1.2.8"
       sources."mkdirp-classic-0.5.3"
       sources."ms-2.1.2"
@@ -150295,12 +147823,12 @@ in
       sources."tar-fs-2.1.1"
       sources."tar-stream-2.2.0"
       sources."to-regex-range-5.0.1"
-      sources."tslib-2.6.0"
+      sources."tslib-2.6.1"
       sources."tunnel-agent-0.6.0"
       sources."undici-5.22.1"
       sources."utf-8-validate-6.0.3"
       sources."util-deprecate-1.0.2"
-      sources."workerd-1.20230717.0"
+      sources."workerd-1.20230724.0"
       sources."wrappy-1.0.2"
       sources."ws-8.13.0"
       sources."xxhash-wasm-1.0.2"
@@ -150348,14 +147876,14 @@ in
       sources."@aashutoshrathi/word-wrap-1.2.6"
       sources."@babel/runtime-7.22.6"
       sources."@eslint-community/eslint-utils-4.4.0"
-      sources."@eslint-community/regexpp-4.5.1"
-      (sources."@eslint/eslintrc-2.1.0" // {
+      sources."@eslint-community/regexpp-4.6.2"
+      (sources."@eslint/eslintrc-2.1.1" // {
         dependencies = [
           sources."debug-4.3.4"
           sources."ms-2.1.2"
         ];
       })
-      sources."@eslint/js-8.44.0"
+      sources."@eslint/js-8.46.0"
       (sources."@humanwhocodes/config-array-0.11.10" // {
         dependencies = [
           sources."debug-4.3.4"
@@ -150378,6 +147906,7 @@ in
       sources."aria-query-5.3.0"
       sources."array-buffer-byte-length-1.0.0"
       sources."array-includes-3.1.6"
+      sources."array.prototype.findlastindex-1.2.2"
       sources."array.prototype.flat-1.3.1"
       sources."array.prototype.flatmap-1.3.1"
       sources."array.prototype.tosorted-1.1.1"
@@ -150409,7 +147938,7 @@ in
       sources."es-shim-unscopables-1.0.0"
       sources."es-to-primitive-1.2.1"
       sources."escape-string-regexp-4.0.0"
-      (sources."eslint-8.45.0" // {
+      (sources."eslint-8.46.0" // {
         dependencies = [
           sources."debug-4.3.4"
           sources."doctrine-3.0.0"
@@ -150418,16 +147947,16 @@ in
       })
       sources."eslint-import-resolver-node-0.3.7"
       sources."eslint-module-utils-2.8.0"
-      sources."eslint-plugin-import-2.27.5"
+      sources."eslint-plugin-import-2.28.0"
       sources."eslint-plugin-jsx-a11y-6.7.1"
-      (sources."eslint-plugin-react-7.32.2" // {
+      (sources."eslint-plugin-react-7.33.1" // {
         dependencies = [
           sources."resolve-2.0.0-next.4"
         ];
       })
       sources."eslint-plugin-react-hooks-4.6.0"
-      sources."eslint-scope-7.2.1"
-      sources."eslint-visitor-keys-3.4.1"
+      sources."eslint-scope-7.2.2"
+      sources."eslint-visitor-keys-3.4.2"
       sources."espree-9.6.1"
       sources."esquery-1.5.0"
       sources."esrecurse-4.3.0"
@@ -150491,7 +148020,7 @@ in
       sources."json-schema-traverse-0.4.1"
       sources."json-stable-stringify-without-jsonify-1.0.1"
       sources."json5-1.0.2"
-      sources."jsx-ast-utils-3.3.4"
+      sources."jsx-ast-utils-3.3.5"
       sources."language-subtag-registry-0.3.22"
       sources."language-tags-1.0.5"
       sources."levn-0.4.1"
@@ -150509,6 +148038,7 @@ in
       sources."object.assign-4.1.4"
       sources."object.entries-1.1.6"
       sources."object.fromentries-2.0.6"
+      sources."object.groupby-1.0.0"
       sources."object.hasown-1.1.2"
       sources."object.values-1.1.6"
       sources."once-1.4.0"
@@ -150909,7 +148439,7 @@ in
       sources."config-chain-1.1.13"
       sources."configstore-5.0.1"
       sources."console-control-strings-1.1.0"
-      sources."core-js-3.31.1"
+      sources."core-js-3.32.0"
       sources."core-util-is-1.0.3"
       sources."create-error-class-3.0.2"
       sources."cross-spawn-7.0.3"
@@ -150976,7 +148506,7 @@ in
       sources."exit-hook-1.1.1"
       sources."extend-3.0.2"
       sources."external-editor-3.1.0"
-      sources."fast-glob-3.3.0"
+      sources."fast-glob-3.3.1"
       sources."fastq-1.15.0"
       sources."figures-3.2.0"
       (sources."filelist-1.0.4" // {
@@ -151588,7 +149118,7 @@ in
       sources."to-regex-range-5.0.1"
       sources."treeverse-1.0.4"
       sources."trim-newlines-2.0.0"
-      sources."tslib-2.6.0"
+      sources."tslib-2.6.1"
       sources."tunnel-0.0.6"
       (sources."twig-1.16.0" // {
         dependencies = [
@@ -151748,10 +149278,10 @@ in
   "@zwave-js/server" = nodeEnv.buildNodePackage {
     name = "_at_zwave-js_slash_server";
     packageName = "@zwave-js/server";
-    version = "1.29.1";
+    version = "1.30.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@zwave-js/server/-/server-1.29.1.tgz";
-      sha512 = "TQV4hOHJMN4ZZeiKFjLEx4hTStYL+IdjSTLXAGWcnTei8+4nbuYQTzwgxwx5Cz7e9Bq9VTfKWUAOG16h8xBDbw==";
+      url = "https://registry.npmjs.org/@zwave-js/server/-/server-1.30.0.tgz";
+      sha512 = "eDVrjqS4fMAtT7pLe/LyKSX7npu+7MPHLjjvyJVhpFOfpQllqeALPSHBh5fFz9CJsjg3T3Dl5NkbA/dVzXVBzg==";
     };
     dependencies = [
       sources."@alcalzone/jsonl-db-3.1.0"
@@ -151768,7 +149298,7 @@ in
       sources."@esm2cjs/form-data-encoder-2.1.4"
       sources."@esm2cjs/got-12.5.3"
       sources."@esm2cjs/http-timer-5.0.1"
-      sources."@esm2cjs/is-5.5.2"
+      sources."@esm2cjs/is-5.6.0"
       sources."@esm2cjs/lowercase-keys-3.0.0"
       sources."@esm2cjs/mimic-response-4.0.0"
       sources."@esm2cjs/normalize-url-8.0.0"
@@ -151778,12 +149308,12 @@ in
       sources."@esm2cjs/responselike-3.0.0"
       sources."@homebridge/ciao-1.1.7"
       sources."@leichtgewicht/ip-codec-2.0.4"
-      sources."@sentry-internal/tracing-7.59.3"
-      sources."@sentry/core-7.59.3"
-      sources."@sentry/integrations-7.59.3"
-      sources."@sentry/node-7.59.3"
-      sources."@sentry/types-7.59.3"
-      sources."@sentry/utils-7.59.3"
+      sources."@sentry-internal/tracing-7.61.0"
+      sources."@sentry/core-7.61.0"
+      sources."@sentry/integrations-7.61.0"
+      sources."@sentry/node-7.61.0"
+      sources."@sentry/types-7.61.0"
+      sources."@sentry/utils-7.61.0"
       sources."@serialport/binding-mock-10.2.2"
       sources."@serialport/bindings-cpp-10.8.0"
       sources."@serialport/bindings-interface-1.2.2"
@@ -151800,14 +149330,14 @@ in
       sources."@serialport/stream-10.5.0"
       sources."@types/http-cache-semantics-4.0.1"
       sources."@types/triple-beam-1.3.2"
-      sources."@zwave-js/cc-11.5.2"
-      sources."@zwave-js/config-11.5.2"
-      sources."@zwave-js/core-11.5.2"
-      sources."@zwave-js/host-11.5.2"
-      sources."@zwave-js/nvmedit-11.5.2"
-      sources."@zwave-js/serial-11.5.2"
-      sources."@zwave-js/shared-11.5.2"
-      sources."@zwave-js/testing-11.5.2"
+      sources."@zwave-js/cc-11.8.1"
+      sources."@zwave-js/config-11.8.1"
+      sources."@zwave-js/core-11.8.1"
+      sources."@zwave-js/host-11.8.1"
+      sources."@zwave-js/nvmedit-11.8.1"
+      sources."@zwave-js/serial-11.8.1"
+      sources."@zwave-js/shared-11.8.0"
+      sources."@zwave-js/testing-11.8.1"
       sources."agent-base-6.0.2"
       sources."alcalzone-shared-4.0.8"
       sources."ansi-colors-4.1.3"
@@ -151920,7 +149450,7 @@ in
       sources."text-hex-1.0.0"
       sources."tiny-glob-0.2.9"
       sources."triple-beam-1.4.1"
-      sources."tslib-2.6.0"
+      sources."tslib-2.6.1"
       sources."universalify-2.0.0"
       sources."utf-8-validate-6.0.3"
       sources."util-deprecate-1.0.2"
@@ -151935,7 +149465,7 @@ in
       sources."yallist-4.0.0"
       sources."yargs-17.7.2"
       sources."yargs-parser-21.1.1"
-      sources."zwave-js-11.5.2"
+      sources."zwave-js-11.8.1"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -151947,79 +149477,4 @@ in
     bypassCache = true;
     reconstructLock = true;
   };
-  zx = nodeEnv.buildNodePackage {
-    name = "zx";
-    packageName = "zx";
-    version = "7.2.3";
-    src = fetchurl {
-      url = "https://registry.npmjs.org/zx/-/zx-7.2.3.tgz";
-      sha512 = "QODu38nLlYXg/B/Gw7ZKiZrvPkEsjPN3LQ5JFXM7h0JvwhEdPNNl+4Ao1y4+o3CLNiDUNcwzQYZ4/Ko7kKzCMA==";
-    };
-    dependencies = [
-      sources."@nodelib/fs.scandir-2.1.5"
-      sources."@nodelib/fs.stat-2.0.5"
-      sources."@nodelib/fs.walk-1.2.8"
-      sources."@types/fs-extra-11.0.1"
-      sources."@types/jsonfile-6.1.1"
-      sources."@types/minimist-1.2.2"
-      sources."@types/node-18.16.19"
-      sources."@types/ps-tree-1.1.2"
-      sources."@types/which-3.0.0"
-      sources."braces-3.0.2"
-      sources."chalk-5.3.0"
-      sources."data-uri-to-buffer-4.0.1"
-      sources."dir-glob-3.0.1"
-      sources."duplexer-0.1.2"
-      sources."event-stream-3.3.4"
-      sources."fast-glob-3.3.0"
-      sources."fastq-1.15.0"
-      sources."fetch-blob-3.2.0"
-      sources."fill-range-7.0.1"
-      sources."formdata-polyfill-4.0.10"
-      sources."from-0.1.7"
-      sources."fs-extra-11.1.1"
-      sources."fx-28.0.0"
-      sources."glob-parent-5.1.2"
-      sources."globby-13.2.2"
-      sources."graceful-fs-4.2.11"
-      sources."ignore-5.2.4"
-      sources."is-extglob-2.1.1"
-      sources."is-glob-4.0.3"
-      sources."is-number-7.0.0"
-      sources."isexe-2.0.0"
-      sources."jsonfile-6.1.0"
-      sources."map-stream-0.1.0"
-      sources."merge2-1.4.1"
-      sources."micromatch-4.0.5"
-      sources."minimist-1.2.8"
-      sources."node-domexception-1.0.0"
-      sources."node-fetch-3.3.1"
-      sources."path-type-4.0.0"
-      sources."pause-stream-0.0.11"
-      sources."picomatch-2.3.1"
-      sources."ps-tree-1.2.0"
-      sources."queue-microtask-1.2.3"
-      sources."reusify-1.0.4"
-      sources."run-parallel-1.2.0"
-      sources."slash-4.0.0"
-      sources."split-0.3.3"
-      sources."stream-combiner-0.0.4"
-      sources."through-2.3.8"
-      sources."to-regex-range-5.0.1"
-      sources."universalify-2.0.0"
-      sources."web-streams-polyfill-3.2.1"
-      sources."webpod-0.0.2"
-      sources."which-3.0.1"
-      sources."yaml-2.3.1"
-    ];
-    buildInputs = globalBuildInputs;
-    meta = {
-      description = "A tool for writing better scripts";
-      homepage = "https://github.com/google/zx#readme";
-      license = "Apache-2.0";
-    };
-    production = true;
-    bypassCache = true;
-    reconstructLock = true;
-  };
 }
diff --git a/pkgs/development/ocaml-modules/cohttp/default.nix b/pkgs/development/ocaml-modules/cohttp/default.nix
index 8a1df8618dbf4..2cd68dc9cb1e8 100644
--- a/pkgs/development/ocaml-modules/cohttp/default.nix
+++ b/pkgs/development/ocaml-modules/cohttp/default.nix
@@ -6,13 +6,13 @@
 
 buildDunePackage rec {
   pname = "cohttp";
-  version = "5.1.0";
+  version = "5.3.0";
 
   minimalOCamlVersion = "4.08";
 
   src = fetchurl {
-    url = "https://github.com/mirage/ocaml-cohttp/releases/download/v${version}/cohttp-v${version}.tbz";
-    hash = "sha256-mINgeBO7DSsWd84gYjQNUQFqbh8KBZ+S2bYI/iVWMAc=";
+    url = "https://github.com/mirage/ocaml-cohttp/releases/download/v${version}/cohttp-${version}.tbz";
+    hash = "sha256-s72RxwTl6lEOkkuDqy7eH8RqLM5Eiw+M70iDuaFu7d0=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/ocaml-modules/http-mirage-client/default.nix b/pkgs/development/ocaml-modules/http-mirage-client/default.nix
index 434482bdc3bcd..f6c9a59193e27 100644
--- a/pkgs/development/ocaml-modules/http-mirage-client/default.nix
+++ b/pkgs/development/ocaml-modules/http-mirage-client/default.nix
@@ -16,14 +16,13 @@
 
 buildDunePackage rec {
   pname = "http-mirage-client";
-  version = "0.0.3";
+  version = "0.0.5";
 
-  duneVersion = "3";
   minimalOCamlVersion = "4.08";
 
   src = fetchurl {
     url = "https://github.com/roburio/http-mirage-client/releases/download/v${version}/http-mirage-client-${version}.tbz";
-    hash = "sha256-6PMxZQfPiDTFbj9gOO2tW5FHF0MUP5tOySjkYg+QwGA=";
+    hash = "sha256-w/dMv5QvgglTFj9V4wRoDqK+36YeE0xWLxcAVS0oHz0=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/ocaml-modules/ptime/default.nix b/pkgs/development/ocaml-modules/ptime/default.nix
index ee12abd3e3b1d..9c1914b0f322c 100644
--- a/pkgs/development/ocaml-modules/ptime/default.nix
+++ b/pkgs/development/ocaml-modules/ptime/default.nix
@@ -1,28 +1,40 @@
-{ stdenv, lib, fetchurl, ocaml, findlib, ocamlbuild, topkg
+{ stdenv
+, lib
+, fetchurl
+, ocaml
+, findlib
+, ocamlbuild
+, topkg
 }:
 
-lib.throwIfNot (lib.versionAtLeast ocaml.version "4.08")
-  "ptime is not available for OCaml ${ocaml.version}"
-
-stdenv.mkDerivation rec {
-  version = "1.0.0";
+stdenv.mkDerivation (finalAttrs: {
+  version = "1.1.0";
   pname = "ocaml${ocaml.version}-ptime";
 
   src = fetchurl {
-    url = "https://erratique.ch/software/ptime/releases/ptime-${version}.tbz";
-    sha256 = "sha256-RByDjAFiyDdR8G663/MxabuSHTTuwVn7urtw7Z3iEQs=";
+    url = "https://erratique.ch/software/ptime/releases/ptime-${finalAttrs.version}.tbz";
+    hash = "sha256-y/WxVFT7JxBeLDNAI+HhHY+TnXF4hw9cvo7SbfcBPrE=";
   };
 
-  nativeBuildInputs = [ ocaml findlib ocamlbuild topkg ];
-  buildInputs = [ topkg ];
+  nativeBuildInputs = [
+    findlib
+    ocaml
+    ocamlbuild
+    topkg
+  ];
+
+  buildInputs = [
+    topkg
+  ];
 
   strictDeps = true;
 
   inherit (topkg) buildPhase installPhase;
 
   meta = {
-    homepage = "https://erratique.ch/software/ptime";
     description = "POSIX time for OCaml";
+    homepage = "https://erratique.ch/software/ptime";
+    license = lib.licenses.isc;
     longDescription = ''
       Ptime has platform independent POSIX time support in pure OCaml.
       It provides a type to represent a well-defined range of POSIX timestamps
@@ -35,7 +47,6 @@ stdenv.mkDerivation rec {
 
       Ptime is not a calendar library.
     '';
-    license = lib.licenses.isc;
     maintainers = with lib.maintainers; [ sternenseemann ];
   };
-}
+})
diff --git a/pkgs/development/ocaml-modules/rfc7748/default.nix b/pkgs/development/ocaml-modules/rfc7748/default.nix
index b15ad8684eab9..0cc59fa3e7c56 100644
--- a/pkgs/development/ocaml-modules/rfc7748/default.nix
+++ b/pkgs/development/ocaml-modules/rfc7748/default.nix
@@ -1,6 +1,7 @@
 { lib
 , buildDunePackage
 , fetchFromGitHub
+, fetchpatch
 , ocaml
 
 , ounit
@@ -18,6 +19,12 @@ buildDunePackage rec {
     sha256 = "sha256-mgZooyfxrKBVQFn01B8PULmFUW9Zq5HJfgHCSJSkJo4=";
   };
 
+  # Compatibility with OCaml 5.0
+  patches = fetchpatch {
+    url = "https://github.com/burgerdev/ocaml-rfc7748/commit/f66257bae0317c7b24c4b208ee27ab6eb68460e4.patch";
+    hash = "sha256-780yy8gLOwwf7xIKIIIaoGpDPcY7+dZ0jPS4nrkH2s8=";
+  };
+
   minimalOCamlVersion = "4.05";
 
   propagatedBuildInputs = [ zarith ];
diff --git a/pkgs/development/ocaml-modules/sosa/default.nix b/pkgs/development/ocaml-modules/sosa/default.nix
index 623f21748a87c..1ef11e363ff81 100644
--- a/pkgs/development/ocaml-modules/sosa/default.nix
+++ b/pkgs/development/ocaml-modules/sosa/default.nix
@@ -2,9 +2,8 @@
 , findlib, ocaml, ocamlbuild
 }:
 
-if lib.versionOlder ocaml.version "4.02"
-then throw "sosa is not available for OCaml ${ocaml.version}"
-else
+lib.throwIf (lib.versionOlder ocaml.version "4.02")
+  "sosa is not available for OCaml ${ocaml.version}"
 
 stdenv.mkDerivation rec {
   pname = "ocaml${ocaml.version}-sosa";
@@ -17,6 +16,13 @@ stdenv.mkDerivation rec {
     sha256 = "053hdv6ww0q4mivajj4iyp7krfvgq8zajq9d8x4mia4lid7j0dyk";
   };
 
+  postPatch = lib.optionalString (lib.versionAtLeast ocaml.version "4.07") ''
+    for p in functors list_of of_mutable
+    do
+      substituteInPlace src/lib/$p.ml --replace Pervasives. Stdlib.
+    done
+  '';
+
   nativeBuildInputs = [ ocaml ocamlbuild findlib ];
 
   strictDeps = true;
diff --git a/pkgs/development/ocaml-modules/unix-errno/default.nix b/pkgs/development/ocaml-modules/unix-errno/default.nix
index 2b8deb6621d30..d869748ecb500 100644
--- a/pkgs/development/ocaml-modules/unix-errno/default.nix
+++ b/pkgs/development/ocaml-modules/unix-errno/default.nix
@@ -2,13 +2,13 @@
 
 buildDunePackage rec {
   pname = "unix-errno";
-  version = "0.6.1";
+  version = "0.6.2";
 
   minimalOCamlVersion = "4.03.0"; # Specified to be 4.01.0, but it's actually 4.03
 
   src = fetchurl {
     url = "https://github.com/xapi-project/ocaml-unix-errno/releases/download/${version}/unix-errno-${version}.tbz";
-    sha256 = "sha256-jZqtHwUKTffjuOP2jdKKQRtEOBKyclhfeiPO96hEj4c=";
+    sha256 = "sha256-LWqbyGcxs6f/FcOPo3JYR3U+AL0JHeWCiGjuYhxxrWU=";
   };
 
   propagatedBuildInputs = [ ctypes integers result ];
diff --git a/pkgs/development/ocaml-modules/x509/default.nix b/pkgs/development/ocaml-modules/x509/default.nix
index 76076039518c9..aca71e2dfc172 100644
--- a/pkgs/development/ocaml-modules/x509/default.nix
+++ b/pkgs/development/ocaml-modules/x509/default.nix
@@ -8,13 +8,13 @@ buildDunePackage rec {
   minimalOCamlVersion = "4.08";
 
   pname = "x509";
-  version = "0.16.4";
+  version = "0.16.5";
 
   duneVersion = "3";
 
   src = fetchurl {
     url = "https://github.com/mirleft/ocaml-x509/releases/download/v${version}/x509-${version}.tbz";
-    hash = "sha256-XegxhdASQK/I7Xd0gJSLumTGbCYFpWsjR7PlZSWqaVo=";
+    hash = "sha256-FJ4lpf6jf2GfsmkL7lwA8BydzzHTNfj/yqs5p1OMzZk=";
   };
 
   checkInputs = [ alcotest cstruct-unix ];
diff --git a/pkgs/development/ocaml-modules/xenstore-tool/default.nix b/pkgs/development/ocaml-modules/xenstore-tool/default.nix
index b3c8c241ae41a..e75a2036642fb 100644
--- a/pkgs/development/ocaml-modules/xenstore-tool/default.nix
+++ b/pkgs/development/ocaml-modules/xenstore-tool/default.nix
@@ -1,13 +1,15 @@
-{ buildDunePackage, xenstore_transport, xenstore, lwt }:
+{ buildDunePackage, camlp-streams, xenstore_transport, xenstore, lwt }:
 
 buildDunePackage {
   pname = "xenstore-tool";
 
   inherit (xenstore_transport) src version;
 
-  duneVersion = "3";
+  postPatch = ''
+    substituteInPlace cli/dune --replace 'libraries ' 'libraries camlp-streams '
+  '';
 
-  buildInputs = [ xenstore_transport xenstore lwt ];
+  buildInputs = [ camlp-streams xenstore_transport xenstore lwt ];
 
   meta = xenstore_transport.meta // {
     description = "Command line tool for interfacing with xenstore";
diff --git a/pkgs/development/perl-modules/Data-UUID-CVE-2013-4184.patch b/pkgs/development/perl-modules/Data-UUID-CVE-2013-4184.patch
new file mode 100644
index 0000000000000..731e2eeb0dffb
--- /dev/null
+++ b/pkgs/development/perl-modules/Data-UUID-CVE-2013-4184.patch
@@ -0,0 +1,214 @@
+Eliminate use of state/node files in temp directory, which are a security concern due to insecure writing of State/Node files in a temporary directory, with predictable filenames, with a possible symlink attack.
+
+Fixes CVE-2013-4184
+
+https://github.com/bleargh45/Data-UUID/pull/40 by Graham TerMarsch @bleargh45
+
+
+diff --git a/Makefile.PL b/Makefile.PL
+index 4ca26af..fb1a0f0 100644
+--- a/Makefile.PL
++++ b/Makefile.PL
+@@ -89,30 +89,14 @@ WriteMakefile(
+ 
+   CONFIGURE           => sub {
+     my %opt;
+-    GetOptions(\%opt, 's|state-storage-directory:s', 'd|default-umask:s',
+-        'help|?', 'man') or pod2usage(2);
++    GetOptions(\%opt, 'help|?', 'man') or pod2usage(2);
+     pod2usage(1) if $opt{help};
+     pod2usage(-verbose => 2) if $opt{man};
+ 
+     print "Configured options (run perl Makefile.PL --help for how to change this):\n";
+ 
+-    my $d = File::Spec->tmpdir;
+-    $d = $opt{s} || $d;
+-    print "\tUUID state storage: $d\n";
+-    $d =~ s/\\/\\\\/g if $^O eq 'MSWin32';
+-
+-    my $m = '0007';
+-    unless ($^O eq 'MSWin32') {
+-        $m = $opt{d} || $m;
+-        print "\tdefault umask: $m\n";
+-    }
+-
+-    chmod(0666, sprintf("%s/%s", $d, ".UUID_NODEID"));
+-    chmod(0666, sprintf("%s/%s", $d, ".UUID_STATE"));
+     return {
+-      DEFINE => '-D_STDIR=' . shell_quote(c_quote($d))
+-              . ' -D' . shell_quote("__$Config{osname}__")
+-              . ' -D_DEFAULT_UMASK=' . shell_quote($m)
++      DEFINE => ' -D' . shell_quote("__$Config{osname}__")
+            };
+   }
+ );
+@@ -127,11 +111,9 @@ Makefile.PL - configure Makefile for Data::UUID
+ 
+ perl Makefile.PL [options] [EU::MM options]
+ 
+-perl Makefile.PL -s=/var/local/lib/data-uuid -d=0007
++perl Makefile.PL
+ 
+     Options:
+-    --state-storage-directory   directory for storing library state information
+-    --default-umask             umask for files in the state storage directory
+     --help                      brief help message
+     --man                       full documentation
+ 
+@@ -141,18 +123,6 @@ Options can be abbreviated, see L<Getopt::Long/"Case and abbreviations">.
+ 
+ =over
+ 
+-=item --state-storage-directory
+-
+-Optional. Takes a string that is interpreted as directory for storing library
+-state information. Default is c:/tmp/ on Windows if it already exists, or the
+-operating system's temporary directory (see tmpdir in L<File::Spec/"METHODS">),
+-or /var/tmp as fallback.
+-
+-=item --default-umask
+-
+-Optional. Takes a string that is interpreted as umask for the files in the state
+-storage directory. Default is 0007. This is ignored on Windows.
+-
+ =item --help
+ 
+ Print a brief help message and exits.
+@@ -165,10 +135,7 @@ Prints the manual page and exits.
+ 
+ =head1 DESCRIPTION
+ 
+-B<Makefile.PL> writes the Makefile for the Data::UUID library. It is configured
+-with the options L</"--state-storage-directory"> and L</"--default-umask">.
+-Unless given, default values are used. In any case the values are printed for
+-confirmation.
++B<Makefile.PL> writes the Makefile for the Data::UUID library.
+ 
+ Additionally, the usual EU::MM options are processed, see
+ L<ExtUtils::MakeMaker/"Using Attributes and Parameters">.
+diff --git a/README b/README
+index 8aaa1c2..34d53a5 100644
+--- a/README
++++ b/README
+@@ -23,15 +23,6 @@ To install this module type the following:
+    make test
+    make install
+ 
+-NOTE: This module is designed to save its state information in a permanent 
+-storage location. The installation script (i.e. Makefile.PL) prompts for 
+-a directory name to use as a storage location for state file and defaults 
+-this directory to "/var/tmp" if no directory name is provided. 
+-The installation script will not accept names of directories that do not
+-exist, however, it will take the locations, which the installing user
+-has no write permissions to. In this case, the state information will not be
+-saved, which will maximize the chances of generating duplicate UUIDs.
+-
+ COPYRIGHT AND LICENCE
+ 
+ Copyright (C) 2001, Alexander Golomshtok
+diff --git a/UUID.h b/UUID.h
+index dc5ea28..11d6e13 100644
+--- a/UUID.h
++++ b/UUID.h
+@@ -44,23 +44,6 @@
+ #include <process.h>
+ #endif
+ 
+-#if !defined _STDIR
+-#    define  _STDIR			"/var/tmp"
+-#endif
+-#if !defined _DEFAULT_UMASK
+-#    define  _DEFAULT_UMASK		0007
+-#endif
+-
+-#define UUID_STATE			".UUID_STATE"
+-#define UUID_NODEID			".UUID_NODEID"
+-#if defined __mingw32__ || (defined _WIN32 && !defined(__cygwin__)) || defined _MSC_VER
+-#define UUID_STATE_NV_STORE		_STDIR"\\"UUID_STATE
+-#define UUID_NODEID_NV_STORE		_STDIR"\\"UUID_NODEID
+-#else
+-#define UUID_STATE_NV_STORE		_STDIR"/"UUID_STATE
+-#define UUID_NODEID_NV_STORE		_STDIR"/"UUID_NODEID
+-#endif
+-
+ #define UUIDS_PER_TICK 1024
+ #ifdef _MSC_VER
+ #define I64(C) C##i64
+@@ -134,7 +117,6 @@ typedef struct _uuid_state_t {
+ typedef struct _uuid_context_t {
+    uuid_state_t state;
+    uuid_node_t  nodeid;
+-   perl_uuid_time_t  next_save;
+ } uuid_context_t;
+ 
+ static void format_uuid_v1(
+diff --git a/UUID.xs b/UUID.xs
+index c3496a8..8191727 100644
+--- a/UUID.xs
++++ b/UUID.xs
+@@ -356,29 +356,11 @@ PREINIT:
+    UV             one = 1;
+ CODE:
+    RETVAL = (uuid_context_t *)PerlMemShared_malloc(sizeof(uuid_context_t));
+-   if ((fd = fopen(UUID_STATE_NV_STORE, "rb"))) {
+-      fread(&(RETVAL->state), sizeof(uuid_state_t), 1, fd);
+-      fclose(fd);
+-      get_current_time(&timestamp);
+-      RETVAL->next_save = timestamp;
+-   }
+-   if ((fd = fopen(UUID_NODEID_NV_STORE, "rb"))) {
+-      pid_t *hate = (pid_t *) &(RETVAL->nodeid); 
+-      fread(&(RETVAL->nodeid), sizeof(uuid_node_t), 1, fd );
+-      fclose(fd);
+-      
+-      *hate += getpid();
+-   } else {
++
+       get_random_info(seed);
+       seed[0] |= 0x80;
+       memcpy(&(RETVAL->nodeid), seed, sizeof(uuid_node_t));
+-      mask = umask(_DEFAULT_UMASK);
+-      if ((fd = fopen(UUID_NODEID_NV_STORE, "wb"))) {
+-         fwrite(&(RETVAL->nodeid), sizeof(uuid_node_t), 1, fd);
+-         fclose(fd);
+-      };
+-      umask(mask);
+-   }
++
+    errno = 0;
+ #if DU_THREADSAFE
+    MUTEX_LOCK(&instances_mutex);
+@@ -415,17 +397,6 @@ PPCODE:
+    self->state.node = self->nodeid;
+    self->state.ts   = timestamp;
+    self->state.cs   = clockseq;
+-   if (timestamp > self->next_save ) {
+-      mask = umask(_DEFAULT_UMASK);
+-      if((fd = fopen(UUID_STATE_NV_STORE, "wb"))) {
+-	 LOCK(fd);
+-         fwrite(&(self->state), sizeof(uuid_state_t), 1, fd);
+-	 UNLOCK(fd);
+-         fclose(fd);
+-      }
+-      umask(mask);
+-      self->next_save = timestamp + (10 * 10 * 1000 * 1000);
+-   }
+    ST(0) = make_ret(uuid, ix);
+    XSRETURN(1);
+ 
+@@ -585,14 +556,6 @@ CODE:
+    MUTEX_UNLOCK(&instances_mutex);
+    if (count == 0) {
+ #endif
+-      mask = umask(_DEFAULT_UMASK);
+-      if ((fd = fopen(UUID_STATE_NV_STORE, "wb"))) {
+-         LOCK(fd);
+-         fwrite(&(self->state), sizeof(uuid_state_t), 1, fd);
+-         UNLOCK(fd);
+-         fclose(fd);
+-      };
+-      umask(mask);
+       PerlMemShared_free(self);
+ #if DU_THREADSAFE
+    }
+
diff --git a/pkgs/development/python-modules/accelerate/default.nix b/pkgs/development/python-modules/accelerate/default.nix
index 4de49a21a8308..9aefa22948783 100644
--- a/pkgs/development/python-modules/accelerate/default.nix
+++ b/pkgs/development/python-modules/accelerate/default.nix
@@ -2,6 +2,8 @@
 , lib
 , buildPythonPackage
 , fetchFromGitHub
+, fetchpatch
+, pythonAtLeast
 , pythonOlder
 , pytestCheckHook
 , setuptools
@@ -17,7 +19,7 @@
 
 buildPythonPackage rec {
   pname = "accelerate";
-  version = "0.19.0";
+  version = "0.21.0";
   format = "pyproject";
   disabled = pythonOlder "3.7";
 
@@ -25,9 +27,18 @@ buildPythonPackage rec {
     owner = "huggingface";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-gW4wCpkyxoWfxXu8UHZfgopSQhOoPhGgqEqFiHJ+Db4=";
+    hash = "sha256-BwM3gyNhsRkxtxLNrycUGwBmXf8eq/7b56/ykMryt5w=";
   };
 
+  patches = [
+    # fix import error when torch>=2.0.1 and torch.distributed is disabled
+    # https://github.com/huggingface/accelerate/pull/1800
+    (fetchpatch {
+      url = "https://github.com/huggingface/accelerate/commit/32701039d302d3875c50c35ab3e76c467755eae9.patch";
+      hash = "sha256-Hth7qyOfx1sC8UaRdbYTnyRXD/VRKf41GtLc0ee1t2I=";
+    })
+  ];
+
   nativeBuildInputs = [ setuptools ];
 
   propagatedBuildInputs = [
@@ -53,15 +64,25 @@ buildPythonPackage rec {
     # try to download data:
     "FeatureExamplesTests"
     "test_infer_auto_device_map_on_t0pp"
-    # known failure with Torch>2.0; see https://github.com/huggingface/accelerate/pull/1339:
-    # (remove for next release)
-    "test_gradient_sync_cpu_multi"
   ] ++ lib.optionals (stdenv.isLinux && stdenv.isAarch64) [
     # usual aarch64-linux RuntimeError: DataLoader worker (pid(s) <...>) exited unexpectedly
     "CheckpointTest"
+  ] ++ lib.optionals (stdenv.isDarwin && stdenv.isx86_64) [
+    # RuntimeError: torch_shm_manager: execl failed: Permission denied
+    "CheckpointTest"
+  ] ++ lib.optionals (pythonAtLeast "3.11") [
+    # python3.11 not yet supported for torch.compile
+    "test_dynamo_extract_model"
   ];
-  # numerous instances of torch.multiprocessing.spawn.ProcessRaisedException:
-  doCheck = !stdenv.isDarwin;
+
+  disabledTestPaths = lib.optionals (!(stdenv.isLinux && stdenv.isx86_64)) [
+    # numerous instances of torch.multiprocessing.spawn.ProcessRaisedException:
+    "tests/test_cpu.py"
+    "tests/test_grad_sync.py"
+    "tests/test_metrics.py"
+    "tests/test_scheduler.py"
+  ];
+
   pythonImportsCheck = [
     "accelerate"
   ];
diff --git a/pkgs/development/python-modules/adafruit-platformdetect/default.nix b/pkgs/development/python-modules/adafruit-platformdetect/default.nix
index 337e6fb2459eb..d0755af53ee11 100644
--- a/pkgs/development/python-modules/adafruit-platformdetect/default.nix
+++ b/pkgs/development/python-modules/adafruit-platformdetect/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "adafruit-platformdetect";
-  version = "3.47.0";
+  version = "3.48.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -15,7 +15,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "Adafruit-PlatformDetect";
     inherit version;
-    hash = "sha256-42YG+brxKCo16xp72+EhmCkgABC2BAFYNWTKqTT1jeE=";
+    hash = "sha256-wc8TC1IoeeeANlQILFeXUx9jJqpn1Mr3KNhJC6ZJAhU=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/pkgs/development/python-modules/ailment/default.nix b/pkgs/development/python-modules/ailment/default.nix
index 21325a9442266..ab46608dde44f 100644
--- a/pkgs/development/python-modules/ailment/default.nix
+++ b/pkgs/development/python-modules/ailment/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "ailment";
-  version = "9.2.61";
+  version = "9.2.62";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "angr";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-QIYJ0Xp1MwCHN1LcpGXF+ZjzFV7dRP6faQy1nwBiMFM=";
+    hash = "sha256-a4YRbFOnBTGte52wYlAsh9o4+x+dugHGhU6kboSdU2c=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/aioairzone-cloud/default.nix b/pkgs/development/python-modules/aioairzone-cloud/default.nix
index f69358a1305ef..db3f27b5d3f0d 100644
--- a/pkgs/development/python-modules/aioairzone-cloud/default.nix
+++ b/pkgs/development/python-modules/aioairzone-cloud/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "aioairzone-cloud";
-  version = "0.2.0";
+  version = "0.2.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "Noltari";
     repo = "aioairzone-cloud";
     rev = "refs/tags/${version}";
-    hash = "sha256-mfygibuKSkBrVZ+zILCAYnfzEvrzD7ZXbUtTSZ54rVk=";
+    hash = "sha256-GOt6oFf1ogxODrgs6/OdgTjA1UNyiNZOPFr+0DRgz0M=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/aioesphomeapi/default.nix b/pkgs/development/python-modules/aioesphomeapi/default.nix
index 0f885273c055f..b126a756b2e58 100644
--- a/pkgs/development/python-modules/aioesphomeapi/default.nix
+++ b/pkgs/development/python-modules/aioesphomeapi/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "aioesphomeapi";
-  version = "15.1.14";
+  version = "15.1.15";
   format = "setuptools";
 
   disabled = pythonOlder "3.9";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "esphome";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-rBBjDyUIxwOPp/OAfR8JGtxjjVN/nrnre/lR0WZs1HA=";
+    hash = "sha256-qNljw3V0rfMb6GDtTd+jy/hHBaM3kc9y+RCEoNTKHFM=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/aiohomekit/default.nix b/pkgs/development/python-modules/aiohomekit/default.nix
index a2d14ff72a7e9..c0d8da7837583 100644
--- a/pkgs/development/python-modules/aiohomekit/default.nix
+++ b/pkgs/development/python-modules/aiohomekit/default.nix
@@ -19,7 +19,7 @@
 
 buildPythonPackage rec {
   pname = "aiohomekit";
-  version = "2.6.11";
+  version = "2.6.12";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -28,7 +28,7 @@ buildPythonPackage rec {
     owner = "Jc2k";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-oTH/YM21l9N03F9zFTOAvxgdG6SyL6qXeeA28jLAOq8=";
+    hash = "sha256-a1qxj/6VCnTqfcCfvjjnfM53JjJXP672wumGCvXwxUY=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/aiomqtt/default.nix b/pkgs/development/python-modules/aiomqtt/default.nix
new file mode 100644
index 0000000000000..17f2cb45e6a0b
--- /dev/null
+++ b/pkgs/development/python-modules/aiomqtt/default.nix
@@ -0,0 +1,67 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, fetchpatch
+
+# build-system
+, poetry-core
+, poetry-dynamic-versioning
+
+# dependencies
+, paho-mqtt
+, typing-extensions
+
+# tests
+, anyio
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "aiomqtt";
+  version = "1.0.0";
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "sbtinstruments";
+    repo = "aiomqtt";
+    rev = "v${version}";
+    hash = "sha256-ct4KIGxiC5m0yrid0tOa/snO9oErxbqhLLH9kD69aEQ=";
+  };
+
+  patches = [
+    (fetchpatch {
+      # adds test marker for network access
+      url = "https://github.com/sbtinstruments/aiomqtt/commit/225c1bfc99bc6ff908bd03c1115963e43ab8a9e6.patch";
+      hash = "sha256-UMEwCoX2mWBA7+p+JujkH5fc9sd/2hbb28EJ0fN24z4=";
+    })
+  ];
+
+  nativeBuildInputs = [
+    poetry-core
+    poetry-dynamic-versioning
+  ];
+
+  propagatedBuildInputs = [
+    paho-mqtt
+    typing-extensions
+  ];
+
+  pythonImportsCheck = [ "aiomqtt" ];
+
+  nativeCheckInputs = [
+    anyio
+    pytestCheckHook
+  ];
+
+  pytestFlagsArray = [
+    "-m" "'not network'"
+  ];
+
+  meta = with lib; {
+    description = "The idiomatic asyncio MQTT client, wrapped around paho-mqtt";
+    homepage = "https://github.com/sbtinstruments/aiomqtt";
+    changelog = "https://github.com/sbtinstruments/aiomqtt/blob/${src.rev}/CHANGELOG.md";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ ];
+  };
+}
diff --git a/pkgs/development/python-modules/aiomysensors/default.nix b/pkgs/development/python-modules/aiomysensors/default.nix
index 0e3fde70d79af..80bc2b2a05257 100644
--- a/pkgs/development/python-modules/aiomysensors/default.nix
+++ b/pkgs/development/python-modules/aiomysensors/default.nix
@@ -27,6 +27,12 @@ buildPythonPackage rec {
     hash = "sha256-hLUITEPUoUKGqN3AnacahnKwoKdfGN3mp34df74gsbE=";
   };
 
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace " --cov=src --cov-report=term-missing:skip-covered" "" \
+      --replace 'marshmallow = "^3.17"' 'marshmallow = "*"' \
+      --replace 'awesomeversion = "^22.6"' 'awesomeversion = "*"'
+  '';
   nativeBuildInputs = [
     poetry-core
   ];
@@ -45,12 +51,6 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  postPatch = ''
-    substituteInPlace pyproject.toml \
-      --replace " --cov=src --cov-report=term-missing:skip-covered" "" \
-      --replace 'marshmallow = "^3.17"' 'marshmallow = "*"'
-  '';
-
   pythonImportsCheck = [
     "aiomysensors"
   ];
diff --git a/pkgs/development/python-modules/aiopvpc/default.nix b/pkgs/development/python-modules/aiopvpc/default.nix
index e4afdbadbfa5e..602128265fdc6 100644
--- a/pkgs/development/python-modules/aiopvpc/default.nix
+++ b/pkgs/development/python-modules/aiopvpc/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "aiopvpc";
-  version = "4.2.1";
+  version = "4.2.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "azogue";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-gfF/SFfiZgkWH0cQZF3hxEp6xxRi46nfDBB23Gerv5g=";
+    hash = "sha256-k02lNjFjOcMfHa1jLJlMFUOOVrdTrACNoEXDSZ693K8=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/aiounifi/default.nix b/pkgs/development/python-modules/aiounifi/default.nix
index 70f1690a2e85c..9798938070c3a 100644
--- a/pkgs/development/python-modules/aiounifi/default.nix
+++ b/pkgs/development/python-modules/aiounifi/default.nix
@@ -1,6 +1,7 @@
 { lib
 , aiohttp
 , aioresponses
+, async-timeout
 , buildPythonPackage
 , fetchFromGitHub
 , orjson
@@ -8,11 +9,12 @@
 , pytest-asyncio
 , pytestCheckHook
 , pythonOlder
+, segno
 }:
 
 buildPythonPackage rec {
   pname = "aiounifi";
-  version = "49";
+  version = "50";
   format = "setuptools";
 
   disabled = pythonOlder "3.9";
@@ -21,12 +23,14 @@ buildPythonPackage rec {
     owner = "Kane610";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-GZ++R8NUhpUQbeNhavWnIhk1AuPnEAAHRq9ZYdeHFDc=";
+    hash = "sha256-ydSKXydtOJaAI2PCPX+8jh4w9otX64Lj7QwbasTdWf0=";
   };
 
   propagatedBuildInputs = [
     aiohttp
+    async-timeout
     orjson
+    segno
   ];
 
   nativeCheckInputs = [
diff --git a/pkgs/development/python-modules/androidtvremote2/default.nix b/pkgs/development/python-modules/androidtvremote2/default.nix
index 04ef1cfa01974..9640906d169f5 100644
--- a/pkgs/development/python-modules/androidtvremote2/default.nix
+++ b/pkgs/development/python-modules/androidtvremote2/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "androidtvremote2";
-  version = "0.0.12";
+  version = "0.0.13";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "tronikos";
     repo = "androidtvremote2";
     rev = "refs/tags/v${version}";
-    hash = "sha256-A/1zNBrYo9oPAVexq/W2G9mqBeTsUvF5/T2db6g9AGk=";
+    hash = "sha256-+9VVUIvM//Fxv1a/+PAKWSQE8/TgBZzeTisgMqj6KPU=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/angr/default.nix b/pkgs/development/python-modules/angr/default.nix
index 16e34408e856b..9d06b45a3c295 100644
--- a/pkgs/development/python-modules/angr/default.nix
+++ b/pkgs/development/python-modules/angr/default.nix
@@ -32,7 +32,7 @@
 
 buildPythonPackage rec {
   pname = "angr";
-  version = "9.2.61";
+  version = "9.2.62";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -41,7 +41,7 @@ buildPythonPackage rec {
     owner = pname;
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-8nGiGDohzxiFNyvMls9EeUxcV7iFIBS2YhaE6Hep0KU=";
+    hash = "sha256-GyX0LBXABRRQj3bVW8whxp2T5CSPnfI/Vjlj5V4MqrE=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/archinfo/default.nix b/pkgs/development/python-modules/archinfo/default.nix
index 504fb66a491f8..58b6cc6c6fdc9 100644
--- a/pkgs/development/python-modules/archinfo/default.nix
+++ b/pkgs/development/python-modules/archinfo/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "archinfo";
-  version = "9.2.61";
+  version = "9.2.62";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "angr";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-ZTS+Z0PWcA/jhBx37SVZOZ+NjPyG2VaRYMmBg0BeCDI=";
+    hash = "sha256-7PNwJMsX3Z/j+zy9CgEvCRpbyJi9qI7ex6KJXwkywgU=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/async-lru/default.nix b/pkgs/development/python-modules/async-lru/default.nix
index 031b8f540c937..2f4ef7262acde 100644
--- a/pkgs/development/python-modules/async-lru/default.nix
+++ b/pkgs/development/python-modules/async-lru/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "async-lru";
-  version = "2.0.3";
+  version = "2.0.4";
 
   disabled = pythonOlder "3.8";
 
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "aio-libs";
     repo = "async-lru";
     rev = "refs/tags/v${version}";
-    hash = "sha256-5NlcufnCqcB8k8nscFJGwlpEbDJG5KAEwWBat5dvI84=";
+    hash = "sha256-S2sOkgtS+YdMtVP7UHD3+oR8Fem8roLhhgVVfh33PcM=";
   };
 
   propagatedBuildInputs = lib.optionals (pythonOlder "3.11") [
diff --git a/pkgs/development/python-modules/awesomeversion/default.nix b/pkgs/development/python-modules/awesomeversion/default.nix
index fd2f0aa77bd56..d838a0f287501 100644
--- a/pkgs/development/python-modules/awesomeversion/default.nix
+++ b/pkgs/development/python-modules/awesomeversion/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "awesomeversion";
-  version = "22.9.0";
+  version = "23.5.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "ludeeus";
     repo = pname;
     rev = version;
-    hash = "sha256-OQArggd7210OyFpZKm3kr3fFbakIDG7U3WBNImAAobw=";
+    hash = "sha256-3bHE3U4MM/fQM9zBYfoLpAObay82vchjX9FpJukMGNg=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/azure-mgmt-authorization/default.nix b/pkgs/development/python-modules/azure-mgmt-authorization/default.nix
index 4aaee3f68ffd9..08b3c763227bf 100644
--- a/pkgs/development/python-modules/azure-mgmt-authorization/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-authorization/default.nix
@@ -11,12 +11,12 @@
 
 buildPythonPackage rec {
   pname = "azure-mgmt-authorization";
-  version = "3.0.0";
+  version = "4.0.0";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    hash = "sha256-Cl1/aDvzNyI2uEHNvUZ39rCO185BuZnD5kTUKGJSBX0=";
+    hash = "sha256-abhavAmuZPxyl1vUNDEXDYx+tdFmdUuYqsXzhF3lfcQ=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/azure-mgmt-compute/default.nix b/pkgs/development/python-modules/azure-mgmt-compute/default.nix
index e76e593d2963c..5a3cb3a370fe0 100644
--- a/pkgs/development/python-modules/azure-mgmt-compute/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-compute/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "azure-mgmt-compute";
-  version = "30.0.0";
+  version = "30.1.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    hash = "sha256-cyD7r8OSdwsD7QK2h2AYXmCUVS7ZjX/V6nchClpRPHg=";
+    hash = "sha256-pWN525DU4kwHi8h0XQ5fdzIp+e8GfNcSwQ+qmIYVp1s=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/azure-mgmt-network/default.nix b/pkgs/development/python-modules/azure-mgmt-network/default.nix
index aacdf91ded3a2..b0bdd1c086bba 100644
--- a/pkgs/development/python-modules/azure-mgmt-network/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-network/default.nix
@@ -9,7 +9,7 @@
 }:
 
 buildPythonPackage rec {
-  version = "23.1.0";
+  version = "24.0.0";
   pname = "azure-mgmt-network";
   format = "setuptools";
 
@@ -18,7 +18,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    hash = "sha256-NxcmmRE4MdfOG7naNcY1AHxzz/xUmoWlj1VUK1SxK/M=";
+    hash = "sha256-LtahQ2PnJC2jlD3pHp+IBLaUaNXTamZqdFdE/iJ4840=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/bentoml/default.nix b/pkgs/development/python-modules/bentoml/default.nix
index a48222d9c2437..0b7aee718ff6e 100644
--- a/pkgs/development/python-modules/bentoml/default.nix
+++ b/pkgs/development/python-modules/bentoml/default.nix
@@ -67,7 +67,7 @@
 }:
 
 let
-  version = "1.1.0";
+  version = "1.1.1";
   aws = [ fs-s3fs ];
   grpc = [
     grpcio
@@ -103,7 +103,7 @@ buildPythonPackage {
     owner = "bentoml";
     repo = "BentoML";
     rev = "v${version}";
-    hash = "sha256-ZhgBw/zBazfVNPvcfAlHEGvc9hzVm7aKLXmwwvMmF0A=";
+    hash = "sha256-V5lquPZT7XBnRdPIEfgbxIBHX+i4N081SYQVK0CkSo8=";
   };
 
   pythonRelaxDeps = [
diff --git a/pkgs/development/python-modules/bleak-retry-connector/default.nix b/pkgs/development/python-modules/bleak-retry-connector/default.nix
index 855090184bf22..846684551480a 100644
--- a/pkgs/development/python-modules/bleak-retry-connector/default.nix
+++ b/pkgs/development/python-modules/bleak-retry-connector/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "bleak-retry-connector";
-  version = "3.1.0";
+  version = "3.1.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "Bluetooth-Devices";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-hFtk25ia3ZupqAWp9ODLYGMClKLPU9UrSfYFXRX4rJE=";
+    hash = "sha256-fw1Eo4f9MdCjICkZiCUX3wa947s1kv9qqYmYjd0zqF4=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/bluetooth-auto-recovery/default.nix b/pkgs/development/python-modules/bluetooth-auto-recovery/default.nix
index c0047b69dd411..c76e979f97d3d 100644
--- a/pkgs/development/python-modules/bluetooth-auto-recovery/default.nix
+++ b/pkgs/development/python-modules/bluetooth-auto-recovery/default.nix
@@ -1,5 +1,6 @@
 { lib
 , async-timeout
+, bluetooth-adapters
 , btsocket
 , buildPythonPackage
 , fetchFromGitHub
@@ -12,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "bluetooth-auto-recovery";
-  version = "1.2.0";
+  version = "1.2.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -21,7 +22,7 @@ buildPythonPackage rec {
     owner = "Bluetooth-Devices";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-uPa8iXG++doRMAK83NSnqiqnZSIjdL7zMTkjdRrSjtA=";
+    hash = "sha256-5OOIehWb7nxKs1AF9/0yjZhbc3h4MWdgAVCa7irq5YE=";
   };
 
   nativeBuildInputs = [
@@ -30,6 +31,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     async-timeout
+    bluetooth-adapters
     btsocket
     pyric
     usb-devices
diff --git a/pkgs/development/python-modules/bthome-ble/default.nix b/pkgs/development/python-modules/bthome-ble/default.nix
index 6285f09ec32d6..31774f941983e 100644
--- a/pkgs/development/python-modules/bthome-ble/default.nix
+++ b/pkgs/development/python-modules/bthome-ble/default.nix
@@ -2,9 +2,9 @@
 , bluetooth-data-tools
 , bluetooth-sensor-state-data
 , buildPythonPackage
+, cryptography
 , fetchFromGitHub
 , poetry-core
-, pycryptodomex
 , pytestCheckHook
 , pythonOlder
 , pytz
@@ -13,16 +13,16 @@
 
 buildPythonPackage rec {
   pname = "bthome-ble";
-  version = "2.12.0";
+  version = "3.0.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
 
   src = fetchFromGitHub {
     owner = "Bluetooth-Devices";
-    repo = pname;
+    repo = "bthome-ble";
     rev = "refs/tags/v${version}";
-    hash = "sha256-SonB0pT6sC6kpFmIMzNeASUHyuik4HOOquWx6+K05Y8=";
+    hash = "sha256-dLXeJojGeiwPPxXES1qzay1kC/YiI6pKyxKD2z32Av8=";
   };
 
   nativeBuildInputs = [
@@ -32,8 +32,8 @@ buildPythonPackage rec {
   propagatedBuildInputs = [
     bluetooth-data-tools
     bluetooth-sensor-state-data
+    cryptography
     sensor-state-data
-    pycryptodomex
     pytz
   ];
 
diff --git a/pkgs/development/python-modules/chess/default.nix b/pkgs/development/python-modules/chess/default.nix
index c96c722cc3868..5e32d74b43793 100644
--- a/pkgs/development/python-modules/chess/default.nix
+++ b/pkgs/development/python-modules/chess/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "chess";
-  version = "1.9.4";
+  version = "1.10.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "niklasf";
     repo = "python-${pname}";
     rev = "refs/tags/v${version}";
-    hash = "sha256-YBABB//53gwJIwrmKJh8W+05hTBhl+49vCYv9//4E+0=";
+    hash = "sha256-jfPg1W9Qp0DlAbMXaFqZ6Ri2zMOW6EKUHwi7Azn/yl0=";
   };
 
   pythonImportsCheck = [
diff --git a/pkgs/development/python-modules/claripy/default.nix b/pkgs/development/python-modules/claripy/default.nix
index e0b6126482c51..e9b2ded49a2b5 100644
--- a/pkgs/development/python-modules/claripy/default.nix
+++ b/pkgs/development/python-modules/claripy/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "claripy";
-  version = "9.2.61";
+  version = "9.2.62";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "angr";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-ibxXVHVskDF0DcOWccNKQpWu2V50ZSLCoZHRo+XEZTM=";
+    hash = "sha256-rjHz0NfxUzEQxDD4XiUlIr/RltXN7GKRojWs/nxs1ac=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/cle/default.nix b/pkgs/development/python-modules/cle/default.nix
index 3435e20b65eda..17e09f785ff59 100644
--- a/pkgs/development/python-modules/cle/default.nix
+++ b/pkgs/development/python-modules/cle/default.nix
@@ -16,7 +16,7 @@
 
 let
   # The binaries are following the argr projects release cycle
-  version = "9.2.61";
+  version = "9.2.62";
 
   # Binary files from https://github.com/angr/binaries (only used for testing and only here)
   binaries = fetchFromGitHub {
@@ -38,7 +38,7 @@ buildPythonPackage rec {
     owner = "angr";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-iAKHNVAtUdm+ZTk5nXejI7WdEV9sTjLnfZ4B6Wxzk18=";
+    hash = "sha256-w1U9/Hvu64ULWQouE5gFRxtfUcNdKIIWACaYXtvlCtE=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/coredis/default.nix b/pkgs/development/python-modules/coredis/default.nix
new file mode 100644
index 0000000000000..1e3375b28bd1e
--- /dev/null
+++ b/pkgs/development/python-modules/coredis/default.nix
@@ -0,0 +1,59 @@
+{ lib
+, fetchFromGitHub
+, buildPythonPackage
+, async-timeout
+, deprecated
+, pympler
+, wrapt
+, pytestCheckHook
+, redis
+, pytest-asyncio
+}:
+
+buildPythonPackage rec {
+  pname = "coredis";
+  version = "4.14.0";
+  format = "setuptools";
+
+  src = fetchFromGitHub {
+    owner = "alisaifee";
+    repo = pname;
+    rev = version;
+    hash = "sha256-pHCQ5dePk2VhYNf/Ka+sovIn2OAVYHnLQhPFVjKmgb4=";
+  };
+
+  postPatch = ''
+    substituteInPlace pytest.ini --replace "-K" ""
+  '';
+
+  propagatedBuildInputs = [
+    async-timeout
+    deprecated
+    pympler
+    wrapt
+  ];
+
+  pythonImportsCheck = [ "coredis" ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+    redis
+    pytest-asyncio
+  ];
+
+  # all other tests require docker
+  pytestFlagsArray = [
+    "tests/test_lru_cache.py"
+    "tests/test_parsers.py"
+    "tests/test_retry.py"
+    "tests/test_utils.py"
+  ];
+
+  meta = with lib; {
+    changelog = "https://github.com/alisaifee/coredis/blob/${src.rev}/HISTORY.rst";
+    homepage = "https://github.com/alisaifee/coredis";
+    description = "An async redis client with support for redis server, cluster & sentinel";
+    license = licenses.mit;
+    maintainers = with maintainers; [ netali ];
+  };
+}
diff --git a/pkgs/development/python-modules/dask-awkward/default.nix b/pkgs/development/python-modules/dask-awkward/default.nix
index c255857d4c059..fc29437b7c424 100644
--- a/pkgs/development/python-modules/dask-awkward/default.nix
+++ b/pkgs/development/python-modules/dask-awkward/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "dask-awkward";
-  version = "2023.6.3";
+  version = "2023.8.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "dask-contrib";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-2Ejt1fyh8Z81WI+oIFWZxr4M1vfgs6tB4jCCMxBz2Rc=";
+    hash = "sha256-2nF2G6bpwHeMlB0+/DRW4I7W6mK3wfXkuqCSRQusJu4=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/pkgs/development/python-modules/dbus-fast/default.nix b/pkgs/development/python-modules/dbus-fast/default.nix
index 58551be4de1f7..42e10168f3dbe 100644
--- a/pkgs/development/python-modules/dbus-fast/default.nix
+++ b/pkgs/development/python-modules/dbus-fast/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "dbus-fast";
-  version = "1.86.0";
+  version = "1.88.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "Bluetooth-Devices";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-YSkSnRQqalHpRVJx5PUO8EXXV8V6jRNpycO/GqNWmIM=";
+    hash = "sha256-sx2q/we7f8IfoqdsTiDo1QqMY6TSVMW//vKTtkqcrY8=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/django-stubs/default.nix b/pkgs/development/python-modules/django-stubs/default.nix
index 037d1f31ee981..fe7e96579cdbb 100644
--- a/pkgs/development/python-modules/django-stubs/default.nix
+++ b/pkgs/development/python-modules/django-stubs/default.nix
@@ -14,14 +14,14 @@
 
 buildPythonPackage rec {
   pname = "django-stubs";
-  version = "4.2.0";
+  version = "4.2.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-k7r/gk8KBW5xA2tCO5QqdPB7kJ5F4/o4GFuRD1l8XAg=";
+    hash = "sha256-2tqzm0bZro83qOh5xZDzmp4EK1ZcA/oMWo91S0QbHyM=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/django/4.nix b/pkgs/development/python-modules/django/4.nix
index 4e36523e0cbf2..c3df9cf4aef0c 100644
--- a/pkgs/development/python-modules/django/4.nix
+++ b/pkgs/development/python-modules/django/4.nix
@@ -42,14 +42,14 @@
 
 buildPythonPackage rec {
   pname = "Django";
-  version = "4.2.3";
+  version = "4.2.4";
   format = "pyproject";
 
   disabled = pythonOlder "3.10";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-RadH4cWz1t8bFBsUgeGTsDP9H9vaP/Umd9yBr9qsuu0=";
+    hash = "sha256-fkIl7AZeDzVMz3NJoi0gneCcwcB0gyvp64TFHBeZxDI=";
   };
 
   patches = [
diff --git a/pkgs/development/python-modules/dvc-data/default.nix b/pkgs/development/python-modules/dvc-data/default.nix
index 6fadd434415ae..f65b3eb16cd7b 100644
--- a/pkgs/development/python-modules/dvc-data/default.nix
+++ b/pkgs/development/python-modules/dvc-data/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "dvc-data";
-  version = "2.5.0";
+  version = "2.6.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "iterative";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-K4quPZZnHqZkuR8moJ8TwmfHQ3BennoByZ5XW5X5rDA=";
+    hash = "sha256-Tqo2dhTes/HHhWqBZkJ9qW8i6FGWRx1Uk+0Q3pwsD+M=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/pkgs/development/python-modules/dvc-objects/default.nix b/pkgs/development/python-modules/dvc-objects/default.nix
index e619732f329d5..a4c3fb5838738 100644
--- a/pkgs/development/python-modules/dvc-objects/default.nix
+++ b/pkgs/development/python-modules/dvc-objects/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "dvc-objects";
-  version = "0.23.1";
+  version = "0.24.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "iterative";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-EVhzVzgShqFbQvZD4KEw+sDWE473DMM1HyDj2okMxuk=";
+    hash = "sha256-DpRnbvGF6HOCAcQ7HRf9x1bzrHHnL95Fz/TzpCosRZo=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/pkgs/development/python-modules/dvclive/default.nix b/pkgs/development/python-modules/dvclive/default.nix
index 1082529bcc43e..cbd787a7c22e8 100644
--- a/pkgs/development/python-modules/dvclive/default.nix
+++ b/pkgs/development/python-modules/dvclive/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "dvclive";
-  version = "2.12.1";
+  version = "2.13.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "iterative";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-0J3XLBfH8kpIAyAnMhbS6d4vW3vtlbhCKIuaNsLZACg=";
+    hash = "sha256-5tvwIa2kx5MlMZV6J+NqN9v/TjOeZC6wftO102/QbCk=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/pkgs/development/python-modules/flake8/default.nix b/pkgs/development/python-modules/flake8/default.nix
index d56d42abf2ea4..860f449fd8b3f 100644
--- a/pkgs/development/python-modules/flake8/default.nix
+++ b/pkgs/development/python-modules/flake8/default.nix
@@ -45,5 +45,6 @@ buildPythonPackage rec {
     homepage = "https://github.com/pycqa/flake8";
     license = licenses.mit;
     maintainers = with maintainers; [ dotlambda ];
+    mainProgram = "flake8";
   };
 }
diff --git a/pkgs/development/python-modules/fnv-hash-fast/default.nix b/pkgs/development/python-modules/fnv-hash-fast/default.nix
index b6fdb148edb31..2be3f227baf79 100644
--- a/pkgs/development/python-modules/fnv-hash-fast/default.nix
+++ b/pkgs/development/python-modules/fnv-hash-fast/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "fnv-hash-fast";
-  version = "0.3.1";
+  version = "0.4.0";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "bdraco";
     repo = "fnv-hash-fast";
     rev = "v${version}";
-    hash = "sha256-yApMUTO6Kq2YESGMpkU4/FlN57+hX0uQr2fGH7QIdUE=";
+    hash = "sha256-4JhzrRnpb9+FYXd0S2XcBelaHuRksm8RC29rxZqtlpw=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/fritzconnection/default.nix b/pkgs/development/python-modules/fritzconnection/default.nix
index bdc0826ac87b3..1f359dfdf7c34 100644
--- a/pkgs/development/python-modules/fritzconnection/default.nix
+++ b/pkgs/development/python-modules/fritzconnection/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "fritzconnection";
-  version = "1.12.0";
+  version = "1.12.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "kbr";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-1giXmmyuy+qrY6xV3yZn4kcDd6w6l8uCL4ozcZE4N00=";
+    hash = "sha256-e+w3ce6KdvbYzH48XPEQTiBgtjbKWNdQj8ie4yw0rzE=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-container/default.nix b/pkgs/development/python-modules/google-cloud-container/default.nix
index e37b81a6f3620..db7ab280b4bd5 100644
--- a/pkgs/development/python-modules/google-cloud-container/default.nix
+++ b/pkgs/development/python-modules/google-cloud-container/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-container";
-  version = "2.27.0";
+  version = "2.28.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-d5XR09tdeJ/x5SRtExplDUWsbFXBtzcTQ4pbWhmjkvk=";
+    hash = "sha256-yML87bCWsuiV+jcznu6QDaLwKxSCb4Nd2BUm5f+wtRE=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-translate/default.nix b/pkgs/development/python-modules/google-cloud-translate/default.nix
index f132e8c3581c2..0c487e19cb7f5 100644
--- a/pkgs/development/python-modules/google-cloud-translate/default.nix
+++ b/pkgs/development/python-modules/google-cloud-translate/default.nix
@@ -14,14 +14,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-translate";
-  version = "3.11.2";
+  version = "3.11.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-CZluS7DfpcICMYWvhxkvHSwANmj4yfT6xDJCMQskQj4=";
+    hash = "sha256-LnjfcMGAMfF4ceLZdeeZjj3vyiL4JsjBsLiMlvXKVps=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/gptcache/default.nix b/pkgs/development/python-modules/gptcache/default.nix
new file mode 100644
index 0000000000000..9fd2c80c3c491
--- /dev/null
+++ b/pkgs/development/python-modules/gptcache/default.nix
@@ -0,0 +1,42 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, cachetools
+, numpy
+, pythonOlder
+, requests
+}:
+
+buildPythonPackage rec {
+  pname = "gptcache";
+  version = "0.1.37";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.8.1";
+
+  src = fetchFromGitHub {
+    owner = "zilliztech";
+    repo = "GPTCache";
+    rev = "refs/tags/${version}";
+    hash = "sha256-eQu3O6jPL1BRObA99XA2EOznn9NaArVRouqD1Ypz/4w=";
+  };
+
+  propagatedBuildInputs = [
+    cachetools
+    numpy
+    requests
+  ];
+
+  # many tests require network access and complicated dependencies
+  doCheck = false;
+
+  pythonImportsCheck = [ "gptcache" ];
+
+  meta = with lib; {
+    description = "Semantic cache for LLMs and fully integrated with LangChain and llama_index";
+    homepage = "https://github.com/zilliztech/GPTCache";
+    changelog = "https://github.com/zilliztech/GPTCache/releases/tag/${src.rev}";
+    license = licenses.mit;
+    maintainers = with maintainers; [ natsukium ];
+  };
+}
diff --git a/pkgs/development/python-modules/graphene/default.nix b/pkgs/development/python-modules/graphene/default.nix
index a0debdabb581c..e87dc333558fd 100644
--- a/pkgs/development/python-modules/graphene/default.nix
+++ b/pkgs/development/python-modules/graphene/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "graphene";
-  version = "3.2.2";
+  version = "3.3.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     owner = "graphql-python";
     repo = "graphene";
     rev = "refs/tags/v${version}";
-    hash = "sha256-kwF6oXp06w7r1PbPoJTCQ9teTExYMoqvIZDhtv5QNn8=";
+    hash = "sha256-DGxicCXZp9kW/OFkr0lAWaQ+GaECx+HD8+X4aW63vgQ=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/guidance/default.nix b/pkgs/development/python-modules/guidance/default.nix
new file mode 100644
index 0000000000000..7cd557d394ef1
--- /dev/null
+++ b/pkgs/development/python-modules/guidance/default.nix
@@ -0,0 +1,80 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+, aiohttp
+, diskcache
+, gptcache
+, msal
+, nest-asyncio
+, numpy
+, openai
+, platformdirs
+, pygtrie
+, pyparsing
+, requests
+, tiktoken
+, torch
+}:
+
+buildPythonPackage rec {
+  pname = "guidance";
+  version = "0.0.64";
+  format = "setuptools";
+
+  src = fetchFromGitHub {
+    owner = "microsoft";
+    repo = "guidance";
+    rev = "refs/tags/${version}";
+    hash = "sha256-tQpDJprxctKI88F+CZ9aSJbVo7tjmI4+VrI+WO4QlxE=";
+  };
+
+  propagatedBuildInputs = [
+    aiohttp
+    diskcache
+    gptcache
+    msal
+    nest-asyncio
+    numpy
+    openai
+    platformdirs
+    pygtrie
+    pyparsing
+    requests
+    tiktoken
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+    torch
+  ];
+
+  disabledTests = [
+    # require network access
+    "test_each_parallel_with_gen_openai"
+  ];
+
+  disabledTestPaths = [
+    # require network access
+    "tests/library/test_gen.py"
+    "tests/library/test_include.py"
+    "tests/library/test_select.py"
+    "tests/llms/test_openai.py"
+    "tests/llms/test_transformers.py"
+    "tests/test_program.py"
+  ];
+
+  preCheck = ''
+    export HOME=$TMPDIR
+  '';
+
+  pythonImportsCheck = [ "guidance" ];
+
+  meta = with lib; {
+    description = "A guidance language for controlling large language models";
+    homepage = "https://github.com/microsoft/guidance";
+    changelog = "https://github.com/microsoft/guidance/releases/tag/${src.rev}";
+    license = licenses.mit;
+    maintainers = with maintainers; [ natsukium ];
+  };
+}
diff --git a/pkgs/development/python-modules/hap-python/default.nix b/pkgs/development/python-modules/hap-python/default.nix
index 05699dd07e343..c40d1633eaedf 100644
--- a/pkgs/development/python-modules/hap-python/default.nix
+++ b/pkgs/development/python-modules/hap-python/default.nix
@@ -1,4 +1,5 @@
 { lib
+, async-timeout
 , buildPythonPackage
 , base36
 , chacha20poly1305-reuseable
@@ -16,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "hap-python";
-  version = "4.7.0";
+  version = "4.7.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -25,10 +26,11 @@ buildPythonPackage rec {
     owner = "ikalchev";
     repo = "HAP-python";
     rev = "refs/tags/${version}";
-    hash = "sha256-/UBJh1m+WscN9I85/kvlNQnowNybEDyGVuQk4HBDWLE=";
+    hash = "sha256-M/STfco+Bx+KxBT1lUIrYyGSjBcPw2UVX02gNOROke4=";
   };
 
   propagatedBuildInputs = [
+    async-timeout
     chacha20poly1305-reuseable
     cryptography
     h11
diff --git a/pkgs/development/python-modules/hassil/default.nix b/pkgs/development/python-modules/hassil/default.nix
index 1b80c9a4986e1..6059ce3cb5e6a 100644
--- a/pkgs/development/python-modules/hassil/default.nix
+++ b/pkgs/development/python-modules/hassil/default.nix
@@ -13,7 +13,7 @@
 
 let
   pname = "hassil";
-  version = "1.0.6";
+  version = "1.2.5";
 in
 buildPythonPackage {
   inherit pname version;
@@ -21,7 +21,7 @@ buildPythonPackage {
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-rCSVKFIkfPg2aYFwuYVLMxMO8S11dV8f4eckpFbNB3k=";
+    hash = "sha256-udOkZILoba2+eR8oSFThsB846COaIXawwRYhn261mCA=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/hnswlib/default.nix b/pkgs/development/python-modules/hnswlib/default.nix
new file mode 100644
index 0000000000000..c3dab17f5336b
--- /dev/null
+++ b/pkgs/development/python-modules/hnswlib/default.nix
@@ -0,0 +1,32 @@
+{ buildPythonPackage
+, hnswlib
+, numpy
+, pybind11
+, setuptools
+, unittestCheckHook
+}:
+
+buildPythonPackage {
+  pname = "hnswlib";
+  inherit (hnswlib) version src meta;
+  format = "pyproject";
+
+  nativeBuildInputs = [
+    numpy
+    setuptools
+    pybind11
+  ];
+
+  nativeCheckInputs = [
+    unittestCheckHook
+  ];
+
+  unittestFlagsArray = [
+    "tests/python"
+    "--pattern 'bindings_test*.py'"
+  ];
+
+  pythonImportsCheck = [
+    "hnswlib"
+  ];
+}
diff --git a/pkgs/development/python-modules/imap-tools/default.nix b/pkgs/development/python-modules/imap-tools/default.nix
index e302731825de3..b7d2811fbd100 100644
--- a/pkgs/development/python-modules/imap-tools/default.nix
+++ b/pkgs/development/python-modules/imap-tools/default.nix
@@ -1,15 +1,15 @@
 { lib
 , buildPythonPackage
-, isPy27
+, pythonOlder
 , fetchFromGitHub
 , pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "imap-tools";
-  version = "1.0.0";
+  version = "1.2.0";
 
-  disabled = isPy27;
+  disabled = pythonOlder "3.5";
 
   format = "setuptools";
 
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "ikvk";
     repo = "imap_tools";
     rev = "refs/tags/v${version}";
-    hash = "sha256-JAMEJv0Vc5iunuKusyD+rxLiubEIDgHsr7FrMZgLy9Q=";
+    hash = "sha256-FC4uvBqQ9Lqpvj94ByM7LYiqqjAQQljYduBxwum49lI=";
   };
 
   nativeCheckInputs = [
diff --git a/pkgs/development/python-modules/insightface/default.nix b/pkgs/development/python-modules/insightface/default.nix
new file mode 100644
index 0000000000000..6d5c4a66239cc
--- /dev/null
+++ b/pkgs/development/python-modules/insightface/default.nix
@@ -0,0 +1,77 @@
+{ lib
+, albumentations
+, buildPythonPackage
+, cython
+, easydict
+, fetchPypi
+, insightface
+, matplotlib
+, mxnet
+, numpy
+, onnx
+, onnxruntime
+, opencv4
+, prettytable
+, pythonOlder
+, scikit-image
+, scikit-learn
+, tensorboard
+, testers
+, tqdm
+}:
+
+buildPythonPackage rec {
+  pname = "insightface";
+  version = "0.7.3";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.8";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-8ZH3GWEuuzcBj0GTaBRQBUTND4bm/NZ2wCPzVMZo3fc=";
+  };
+
+  nativeBuildInputs = [
+    cython
+  ];
+
+  propagatedBuildInputs = [
+    easydict
+    matplotlib
+    mxnet
+    numpy
+    onnx
+    onnxruntime
+    opencv4
+    scikit-learn
+    scikit-image
+    tensorboard
+    tqdm
+    albumentations
+    prettytable
+  ];
+
+  pythonImportsCheck = [
+    "insightface"
+    "insightface.app"
+    "insightface.data"
+  ];
+
+  passthru.tests.version = testers.testVersion {
+    package = insightface;
+    command = "insightface-cli --help";
+    # Doesn't support --version but we still want to make sure the cli is executable
+    # and returns the help output
+    version = "help";
+  };
+
+  doCheck = false; # Upstream has no tests
+
+  meta = with lib; {
+    description = "State-of-the-art 2D and 3D Face Analysis Project";
+    homepage = "https://github.com/deepinsight/insightface";
+    license = licenses.mit;
+    maintainers = with maintainers; [ oddlama ];
+  };
+}
diff --git a/pkgs/development/python-modules/jc/default.nix b/pkgs/development/python-modules/jc/default.nix
index 036f13ad369e0..f597b7d549ffc 100644
--- a/pkgs/development/python-modules/jc/default.nix
+++ b/pkgs/development/python-modules/jc/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "jc";
-  version = "1.23.3";
+  version = "1.23.4";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "kellyjonbrazil";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-feD/8GLkewfVwtGRZs8YaWnb96bFICpcH6nkJmCmPgs=";
+    hash = "sha256-d0KONiYS/5JXrl5izFSTYeABEhCW+W9cKpMgk9o9LB4=";
   };
 
   propagatedBuildInputs = [ ruamel-yaml xmltodict pygments ];
diff --git a/pkgs/development/python-modules/jsonmerge/default.nix b/pkgs/development/python-modules/jsonmerge/default.nix
index 6d2c8b10108cf..83275f54a9b4b 100644
--- a/pkgs/development/python-modules/jsonmerge/default.nix
+++ b/pkgs/development/python-modules/jsonmerge/default.nix
@@ -9,6 +9,8 @@ buildPythonPackage rec {
   pname = "jsonmerge";
   version = "1.9.2";
 
+  format = "setuptools";
+
   src = fetchPypi {
     inherit pname version;
     hash = "sha256-xDdX4BgLDhm3rkwTCtQqB8xYDDGRL2H0gj6Ory+jlKM=";
@@ -18,11 +20,6 @@ buildPythonPackage rec {
 
   nativeCheckInputs = [ pytestCheckHook ];
 
-  disabledTests = [
-    # Fails with "Unresolvable JSON pointer"
-    "test_local_reference_in_meta"
-  ];
-
   meta = with lib; {
     description = "Merge a series of JSON documents";
     homepage = "https://github.com/avian2/jsonmerge";
diff --git a/pkgs/development/python-modules/lektor/default.nix b/pkgs/development/python-modules/lektor/default.nix
index 1549ea201f147..b483a05caabb9 100644
--- a/pkgs/development/python-modules/lektor/default.nix
+++ b/pkgs/development/python-modules/lektor/default.nix
@@ -2,11 +2,13 @@
 , babel
 , buildPythonPackage
 , click
-, deprecated
 , exifread
 , fetchFromGitHub
+, fetchNpmDeps
 , filetype
 , flask
+, hatch-vcs
+, hatchling
 , importlib-metadata
 , inifile
 , jinja2
@@ -14,8 +16,10 @@
 , marshmallow
 , marshmallow-dataclass
 , mistune
+, nodejs
+, npmHooks
+, pillow
 , pip
-, pyopenssl
 , pytest-click
 , pytest-mock
 , pytest-pylint
@@ -25,15 +29,13 @@
 , python-slugify
 , pytz
 , requests
-, setuptools
-, typing-inspect
-, watchdog
+, watchfiles
 , werkzeug
 }:
 
 buildPythonPackage rec {
   pname = "lektor";
-  version = "3.4.0b4";
+  version = "3.4.0b8";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -42,13 +44,28 @@ buildPythonPackage rec {
     owner = "lektor";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-O0bTmJqRymrQuHW19Y7/Kp+2XlbmDzcjl/jDACDlCSk=";
+    hash = "sha256-FtmRW4AS11zAX2jvGY8XTsPrN3mhHkIWoFY7sXmqG/U=";
   };
 
+  npmDeps = fetchNpmDeps {
+    src = "${src}/frontend";
+    hash = "sha256-Z7LP9rrVSzKoLITUarsnRbrhIw7W7TZSZUgV/OT+m0M=";
+  };
+
+  npmRoot = "frontend";
+
+  nativeBuildInputs = [
+    hatch-vcs
+    hatchling
+    nodejs
+    npmHooks.npmConfigHook
+  ];
+
+  env.SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
   propagatedBuildInputs = [
     babel
     click
-    deprecated
     exifread
     filetype
     flask
@@ -58,17 +75,16 @@ buildPythonPackage rec {
     marshmallow
     marshmallow-dataclass
     mistune
+    pillow
     pip
-    pyopenssl
     python-slugify
-    pytz
     requests
-    setuptools
-    typing-inspect
-    watchdog
+    watchfiles
     werkzeug
   ] ++ lib.optionals (pythonOlder "3.8") [
     importlib-metadata
+  ] ++ lib.optionals (pythonOlder "3.9") [
+    pytz
   ];
 
   nativeCheckInputs = [
@@ -86,8 +102,11 @@ buildPythonPackage rec {
   ];
 
   disabledTests = [
-    # Test requires network access
+    # Tests require network access
     "test_path_installed_plugin_is_none"
+    "test_VirtualEnv_run_pip_install"
+    # expects FHS paths
+    "test_VirtualEnv_executable"
   ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/librespot/default.nix b/pkgs/development/python-modules/librespot/default.nix
new file mode 100644
index 0000000000000..21a25729fa4bf
--- /dev/null
+++ b/pkgs/development/python-modules/librespot/default.nix
@@ -0,0 +1,61 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, defusedxml
+, protobuf
+, pythonRelaxDepsHook
+, websocket-client
+, pyogg
+, zeroconf
+, requests
+, pycryptodomex
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "librespot";
+  version = "0.0.9";
+  format = "setuptools";
+
+  src = fetchFromGitHub {
+    owner = "kokarare1212";
+    repo = "librespot-python";
+    rev = "v${version}";
+    hash = "sha256-k9qVsxjRlUZ7vCBx00quiAR7S+YkfyoZiAKVnOOG4xM=";
+  };
+
+  nativeBuildInputs = [
+    pythonRelaxDepsHook
+  ];
+
+  propagatedBuildInputs = [
+    defusedxml
+    protobuf
+    pycryptodomex
+    pyogg
+    requests
+    websocket-client
+    zeroconf
+  ];
+
+  pythonRelaxDeps = [
+    "protobuf"
+    "pyogg"
+    "requests"
+    "zeroconf"
+  ];
+
+  # Doesn't include any tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "librespot"
+  ];
+
+  meta = with lib; {
+    description = "Open Source Spotify Client";
+    homepage = "https://github.com/kokarare1212/librespot-python";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ onny ];
+  };
+}
diff --git a/pkgs/development/python-modules/life360/default.nix b/pkgs/development/python-modules/life360/default.nix
index cb61561eacd50..e3fd2a8ecbae0 100644
--- a/pkgs/development/python-modules/life360/default.nix
+++ b/pkgs/development/python-modules/life360/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "life360";
-  version = "5.5.0";
+  version = "6.0.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "pnbruckner";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-F/j3qIdz63pEQ+nj1poP3lBFWSpSq4nLseYg+N2tykU=";
+    hash = "sha256-GRQPH7fp8YkkCEpXtvgFxJO6VLFQK/PBaRe0Tfg3KdU=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/losant-rest/default.nix b/pkgs/development/python-modules/losant-rest/default.nix
index 1b97989636a54..7f0231c7d357d 100644
--- a/pkgs/development/python-modules/losant-rest/default.nix
+++ b/pkgs/development/python-modules/losant-rest/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "losant-rest";
-  version = "1.17.5";
+  version = "1.18.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "Losant";
     repo = "losant-rest-python";
     rev = "v${version}";
-    hash = "sha256-P3MpnVWjeB2OwqRcm4Wj6GixBDguMOFN227iM+e5Fi8=";
+    hash = "sha256-wl8L+ZQQgzWb7QUHWHSOT3meCn1baE7Prs1nWAOvnKo=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/mcstatus/default.nix b/pkgs/development/python-modules/mcstatus/default.nix
index 9b9eef88eae18..9643dc0140610 100644
--- a/pkgs/development/python-modules/mcstatus/default.nix
+++ b/pkgs/development/python-modules/mcstatus/default.nix
@@ -4,16 +4,16 @@
 , click
 , dnspython
 , fetchFromGitHub
-, mock
 , poetry-core
 , pytest-asyncio
+, pytest-rerunfailures
 , pytestCheckHook
 , pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "mcstatus";
-  version = "10.0.3";
+  version = "11.0.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -22,9 +22,15 @@ buildPythonPackage rec {
     owner = "py-mine";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-LHcLqP9IGqi0YmjgFoTwojyS+IZmBOBujYWMPuqNc6w=";
+    hash = "sha256-+r6WL59T9rNAKl3r4Hef75uJoD7DRYA23uS/OlzRyRk=";
   };
 
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace 'version = "0.0.0"' 'version = "${version}"' \
+      --replace " --cov=mcstatus --cov-append --cov-branch --cov-report=term-missing -vvv --no-cov-on-fail" ""
+  '';
+
   nativeBuildInputs = [
     poetry-core
   ];
@@ -36,19 +42,11 @@ buildPythonPackage rec {
   ];
 
   nativeCheckInputs = [
-    mock
     pytest-asyncio
+    pytest-rerunfailures
     pytestCheckHook
   ];
 
-  postPatch = ''
-    substituteInPlace pyproject.toml \
-      --replace 'version = "0.0.0"' 'version = "${version}"' \
-      --replace " --cov=mcstatus --cov-append --cov-branch --cov-report=term-missing -vvv --no-cov-on-fail" "" \
-      --replace 'asyncio-dgram = "2.1.2"' 'asyncio-dgram = ">=2.1.2"' \
-      --replace 'dnspython = "2.2.1"' 'dnspython = ">=2.2.0"'
-  '';
-
   pythonImportsCheck = [
     "mcstatus"
   ];
diff --git a/pkgs/development/python-modules/music-tag/default.nix b/pkgs/development/python-modules/music-tag/default.nix
new file mode 100644
index 0000000000000..f997ca47253ce
--- /dev/null
+++ b/pkgs/development/python-modules/music-tag/default.nix
@@ -0,0 +1,41 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, mutagen
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "music-tag";
+  version = "0.4.3";
+  format = "setuptools";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-Cqtubu2o3w9TFuwtIZC9dFYbfgNWKrCRzo1Wh828//Y=";
+  };
+
+  propagatedBuildInputs = [
+    mutagen
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pytestFlagsArray = [ "test" ];
+
+  # Tests fail: ModuleNotFoundError: No module named '_test_common'
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "music_tag"
+  ];
+
+  meta = with lib; {
+    description = "Simple interface to edit audio file metadata";
+    homepage = "https://github.com/KristoforMaynard/music-tag";
+    license = licenses.mit;
+    maintainers = with maintainers; [ onny ];
+  };
+}
diff --git a/pkgs/development/python-modules/mwdblib/default.nix b/pkgs/development/python-modules/mwdblib/default.nix
index 738e36dfe3e58..28e7f8c89f8a8 100644
--- a/pkgs/development/python-modules/mwdblib/default.nix
+++ b/pkgs/development/python-modules/mwdblib/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "mwdblib";
-  version = "4.4.0";
+  version = "4.5.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "CERT-Polska";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-WwSKWfnSDJT8kIAk4e8caeL2UztFaIpNCDy1j46IbzM=";
+    hash = "sha256-+hh7SJFITpLumIuzNgBbXtFh+26tUG66UFv6DLDk5ag=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/mxnet/default.nix b/pkgs/development/python-modules/mxnet/default.nix
index a9e778bdd8c6f..8b386a425a0ee 100644
--- a/pkgs/development/python-modules/mxnet/default.nix
+++ b/pkgs/development/python-modules/mxnet/default.nix
@@ -20,6 +20,9 @@ buildPythonPackage {
   doCheck = !isPy3k;
 
   postPatch = ''
+    # Required to support numpy >=1.24 where np.bool is removed in favor of just bool
+    substituteInPlace python/mxnet/numpy/utils.py \
+      --replace "bool = onp.bool" "bool = bool"
     substituteInPlace python/setup.py \
       --replace "graphviz<0.9.0," "graphviz"
   '';
diff --git a/pkgs/development/python-modules/mypy-boto3-builder/default.nix b/pkgs/development/python-modules/mypy-boto3-builder/default.nix
index 9952ade339c43..bc9193ec51020 100644
--- a/pkgs/development/python-modules/mypy-boto3-builder/default.nix
+++ b/pkgs/development/python-modules/mypy-boto3-builder/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "mypy-boto3-builder";
-  version = "7.15.1";
+  version = "7.16.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.10";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     owner = "youtype";
     repo = "mypy_boto3_builder";
     rev = "refs/tags/${version}";
-    hash = "sha256-pZBAzy1MK8Mm9QyUM5/t8JKs3q/cYOmzCWRC4H0aWjY=";
+    hash = "sha256-zqiJqjsE54mzN1/NScKeXtRa3Tt3IzSdtnmOxP4meEE=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/mypy-boto3-ebs/default.nix b/pkgs/development/python-modules/mypy-boto3-ebs/default.nix
index cb8348934340d..62b26ff2d21b6 100644
--- a/pkgs/development/python-modules/mypy-boto3-ebs/default.nix
+++ b/pkgs/development/python-modules/mypy-boto3-ebs/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "mypy-boto3-ebs";
-  version = "1.27.0";
+  version = "1.28.13";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-hBFD5BNZ0OaHwL4iMLPNA916dLUBHTBl2f18/iOPsTs=";
+    hash = "sha256-GhOEPhx4zD5jXyTMH75DOq0UL4LgOMkJn0U5nKciNMI=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/mypy-boto3-s3/default.nix b/pkgs/development/python-modules/mypy-boto3-s3/default.nix
index 864a136f7353e..4b3ed66afb0f6 100644
--- a/pkgs/development/python-modules/mypy-boto3-s3/default.nix
+++ b/pkgs/development/python-modules/mypy-boto3-s3/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "mypy-boto3-s3";
-  version = "1.28.8";
+  version = "1.28.15.post1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-ye0X/uLA4u3rKWazeWr3s0ncxO7uVNvVmiaf25QY61U=";
+    hash = "sha256-ZVAr6CV4n9FuTKzxCuzWQIVUtgrl0mG+YP1GvuadhZI=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/myst-nb/default.nix b/pkgs/development/python-modules/myst-nb/default.nix
index a5694987abd5c..6ede481fba85b 100644
--- a/pkgs/development/python-modules/myst-nb/default.nix
+++ b/pkgs/development/python-modules/myst-nb/default.nix
@@ -2,6 +2,7 @@
 , buildPythonPackage
 , pythonOlder
 , fetchPypi
+, fetchpatch
 , flit-core
 , importlib-metadata
 , ipython
@@ -30,6 +31,27 @@ buildPythonPackage rec {
     hash = "sha256-D2E4ZRX6sHxzZGrcqX//L2n0HpDTE6JgIXxbvkGdhYs=";
   };
 
+  patches = [
+    # Fix compatiblity with myst-parser 1.0. Remove with the next release.
+    (fetchpatch {
+      url = "https://github.com/executablebooks/MyST-NB/commit/48c45c6a8c4501005766c2d821b5e9ddfbedd5fa.patch";
+      hash = "sha256-jGL2MjZArvPtbiaR/rRGCIi0QwYO0iTIK26GLuTrBM8=";
+      excludes = [
+        "myst_nb/__init__.py"
+        "docs/authoring/custom-formats.Rmd"
+        "docs/authoring/jupyter-notebooks.md"
+        "docs/index.md"
+        "pyproject.toml"
+        "tests/nb_fixtures/reporter_warnings.txt"
+      ];
+    })
+  ];
+
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace "myst-parser~=0.18.0" "myst-parser"
+  '';
+
   nativeBuildInputs = [
     flit-core
     pythonRelaxDepsHook
@@ -53,7 +75,10 @@ buildPythonPackage rec {
     "myst-parser"
   ];
 
-  pythonImportsCheck = [ "myst_nb" ];
+  pythonImportsCheck = [
+    "myst_nb"
+    "myst_nb.sphinx_ext"
+  ];
 
   meta = with lib; {
     description = "A Jupyter Notebook Sphinx reader built on top of the MyST markdown parser";
diff --git a/pkgs/development/python-modules/nclib/default.nix b/pkgs/development/python-modules/nclib/default.nix
index 244f49a48e5bd..e6db538859fc1 100644
--- a/pkgs/development/python-modules/nclib/default.nix
+++ b/pkgs/development/python-modules/nclib/default.nix
@@ -6,12 +6,12 @@
 
 buildPythonPackage rec {
   pname = "nclib";
-  version = "1.0.2";
+  version = "1.0.3";
   disabled = pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-rA8oeYvMhw8HURxPLBRqpMHnAez/xBjyPFoKXIIvBjg=";
+    hash = "sha256-26KjYMxJMj5ANb2ej9hVl689sAcGHp89QUkH2xiLhZk=";
   };
 
   # Project has no tests
diff --git a/pkgs/development/python-modules/nexia/default.nix b/pkgs/development/python-modules/nexia/default.nix
index b804251ebc232..c5a5a2d006011 100644
--- a/pkgs/development/python-modules/nexia/default.nix
+++ b/pkgs/development/python-modules/nexia/default.nix
@@ -3,6 +3,7 @@
 , buildPythonPackage
 , orjson
 , fetchFromGitHub
+, pytest-asyncio
 , pytestCheckHook
 , pythonOlder
 , requests
@@ -11,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "nexia";
-  version = "2.0.6";
+  version = "2.0.7";
   format = "setuptools";
 
   disabled = pythonOlder "3.5";
@@ -20,7 +21,7 @@ buildPythonPackage rec {
     owner = "bdraco";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-VBK+h5K/irI0T0eUaYC1iouzMUo/lJshLTe0h5CtnAQ=";
+    hash = "sha256-1uCmlFkha5oaNm5N0/8402ulBr7fNRUbDDASECfN9r8=";
   };
 
   propagatedBuildInputs = [
@@ -31,6 +32,7 @@ buildPythonPackage rec {
   nativeCheckInputs = [
     aioresponses
     requests-mock
+    pytest-asyncio
     pytestCheckHook
   ];
 
diff --git a/pkgs/development/python-modules/onnxruntime/default.nix b/pkgs/development/python-modules/onnxruntime/default.nix
index af369b0d82d18..8fea2e6d9117e 100644
--- a/pkgs/development/python-modules/onnxruntime/default.nix
+++ b/pkgs/development/python-modules/onnxruntime/default.nix
@@ -1,4 +1,5 @@
 { lib
+, stdenv
 , buildPythonPackage
 , autoPatchelfHook
 , pythonRelaxDepsHook
@@ -7,6 +8,7 @@
 , numpy
 , packaging
 , oneDNN
+, re2
 
 }:
 
@@ -34,8 +36,9 @@ buildPythonPackage {
   '';
 
   nativeBuildInputs = [
-    autoPatchelfHook
     pythonRelaxDepsHook
+  ] ++ lib.optionals stdenv.isLinux [
+    autoPatchelfHook
   ];
 
   # This project requires fairly large dependencies such as sympy which we really don't always need.
@@ -48,6 +51,7 @@ buildPythonPackage {
   # Libraries are not linked correctly.
   buildInputs = [
     oneDNN
+    re2
     onnxruntime.protobuf
   ];
 
diff --git a/pkgs/development/python-modules/opentelemetry-api/default.nix b/pkgs/development/python-modules/opentelemetry-api/default.nix
index 5e2959849b84e..2a4de0a92cc98 100644
--- a/pkgs/development/python-modules/opentelemetry-api/default.nix
+++ b/pkgs/development/python-modules/opentelemetry-api/default.nix
@@ -17,13 +17,15 @@ let
     version = "1.18.0";
     disabled = pythonOlder "3.7";
 
+    # to avoid breakage, every package in opentelemetry-python must inherit this version, src, and meta
     src = fetchFromGitHub {
       owner = "open-telemetry";
       repo = "opentelemetry-python";
       rev = "refs/tags/v${self.version}";
-      hash = "sha256-h6XDzM29wYiC51S7OpBXvWFCfZ7DmIyGMG2pFjJV7pI=";
-      sparseCheckout = [ "/${self.pname}" ];
-    } + "/${self.pname}";
+      hash = "sha256-8xf4TqEkBeueejQBckFGwBNN4Gyo+/7/my6Z1Mnei5Q=";
+    };
+
+    sourceRoot = "source/opentelemetry-api";
 
     format = "pyproject";
 
@@ -55,10 +57,11 @@ let
     passthru.tests.${self.pname} = self.overridePythonAttrs { doCheck = true; };
 
     meta = with lib; {
-      homepage = "https://opentelemetry.io";
+      homepage = "https://github.com/open-telemetry/opentelemetry-python/tree/main/opentelemetry-api";
       description = "OpenTelemetry Python API";
+      changelog = "https://github.com/open-telemetry/opentelemetry-python/releases/tag/${self.src.rev}";
       license = licenses.asl20;
-      maintainers = teams.deshaw.members;
+      maintainers = teams.deshaw.members ++ [ maintainers.natsukium ];
     };
   };
 in self
diff --git a/pkgs/development/python-modules/opentelemetry-exporter-otlp-proto-common/default.nix b/pkgs/development/python-modules/opentelemetry-exporter-otlp-proto-common/default.nix
index 2cfd38f2d1b79..a786318a58ba7 100644
--- a/pkgs/development/python-modules/opentelemetry-exporter-otlp-proto-common/default.nix
+++ b/pkgs/development/python-modules/opentelemetry-exporter-otlp-proto-common/default.nix
@@ -1,26 +1,20 @@
 { lib
 , buildPythonPackage
 , pythonOlder
-, fetchFromGitHub
 , hatchling
+, opentelemetry-api
 , opentelemetry-proto
 , opentelemetry-sdk
 , opentelemetry-test-utils
 , pytestCheckHook
 }:
 
-buildPythonPackage rec {
+buildPythonPackage {
+  inherit (opentelemetry-api) version src;
   pname = "opentelemetry-exporter-otlp-proto-common";
-  version = "1.18.0";
   disabled = pythonOlder "3.7";
 
-  src = fetchFromGitHub {
-    owner = "open-telemetry";
-    repo = "opentelemetry-python";
-    rev = "refs/tags/v${version}";
-    hash = "sha256-HNlkbDyYnr0/lDeY1xt0pRxqk+977ljgPdfJzAxL3AQ=";
-    sparseCheckout = [ "/exporter/${pname}" ];
-  } + "/exporter/${pname}";
+  sourceRoot = "source/exporter/opentelemetry-exporter-otlp-proto-common";
 
   format = "pyproject";
 
@@ -40,10 +34,8 @@ buildPythonPackage rec {
 
   pythonImportsCheck = [ "opentelemetry.exporter.otlp.proto.common" ];
 
-  meta = with lib; {
+  meta = opentelemetry-api.meta // {
     homepage = "https://github.com/open-telemetry/opentelemetry-python/tree/main/exporter/opentelemetry-exporter-otlp-proto-common";
     description = "OpenTelemetry Protobuf encoding";
-    license = licenses.asl20;
-    maintainers = teams.deshaw.members;
   };
 }
diff --git a/pkgs/development/python-modules/opentelemetry-exporter-otlp-proto-grpc/default.nix b/pkgs/development/python-modules/opentelemetry-exporter-otlp-proto-grpc/default.nix
index 1b12b8f265efd..d4f2f4c4305b1 100644
--- a/pkgs/development/python-modules/opentelemetry-exporter-otlp-proto-grpc/default.nix
+++ b/pkgs/development/python-modules/opentelemetry-exporter-otlp-proto-grpc/default.nix
@@ -1,29 +1,23 @@
 { lib
 , buildPythonPackage
 , pythonOlder
-, fetchFromGitHub
 , backoff
 , googleapis-common-protos
 , grpcio
 , hatchling
+, opentelemetry-api
 , opentelemetry-test-utils
 , opentelemetry-exporter-otlp-proto-common
 , pytest-grpc
 , pytestCheckHook
 }:
 
-buildPythonPackage rec {
+buildPythonPackage {
+  inherit (opentelemetry-api) version src;
   pname = "opentelemetry-exporter-otlp-proto-grpc";
-  version = "1.18.0";
   disabled = pythonOlder "3.7";
 
-  src = fetchFromGitHub {
-    owner = "open-telemetry";
-    repo = "opentelemetry-python";
-    rev = "refs/tags/v${version}";
-    hash = "sha256-feAmPL/G3ABIY5tBODlMJIBzxqg6Bl7imJB2EYtEp2o=";
-    sparseCheckout = [ "/exporter/${pname}" ];
-  } + "/exporter/${pname}";
+  sourceRoot = "source/exporter/opentelemetry-exporter-otlp-proto-grpc";
 
   format = "pyproject";
 
@@ -49,10 +43,8 @@ buildPythonPackage rec {
 
   pythonImportsCheck = [ "opentelemetry.exporter.otlp.proto.grpc" ];
 
-  meta = with lib; {
+  meta = opentelemetry-api.meta // {
     homepage = "https://github.com/open-telemetry/opentelemetry-python/tree/main/exporter/opentelemetry-exporter-otlp-proto-grpc";
     description = "OpenTelemetry Collector Protobuf over gRPC Exporter";
-    license = licenses.asl20;
-    maintainers = teams.deshaw.members;
   };
 }
diff --git a/pkgs/development/python-modules/opentelemetry-exporter-otlp-proto-http/default.nix b/pkgs/development/python-modules/opentelemetry-exporter-otlp-proto-http/default.nix
index ccf4cc7a21013..6d7bf23dafa34 100644
--- a/pkgs/development/python-modules/opentelemetry-exporter-otlp-proto-http/default.nix
+++ b/pkgs/development/python-modules/opentelemetry-exporter-otlp-proto-http/default.nix
@@ -1,10 +1,10 @@
 { lib
 , buildPythonPackage
 , pythonOlder
-, fetchFromGitHub
 , backoff
 , googleapis-common-protos
 , hatchling
+, opentelemetry-api
 , opentelemetry-exporter-otlp-proto-common
 , opentelemetry-test-utils
 , requests
@@ -12,18 +12,12 @@
 , pytestCheckHook
 }:
 
-buildPythonPackage rec {
+buildPythonPackage {
+  inherit (opentelemetry-api) version src;
   pname = "opentelemetry-exporter-otlp-proto-http";
-  version = "1.18.0";
   disabled = pythonOlder "3.7";
 
-  src = fetchFromGitHub {
-    owner = "open-telemetry";
-    repo = "opentelemetry-python";
-    rev = "refs/tags/v${version}";
-    hash = "sha256-r4jvIhRM9E4CuZyS/XvvYO+F9cPxip8ab57CUfip47Q=";
-    sparseCheckout = [ "/exporter/${pname}" ];
-  } + "/exporter/${pname}";
+  sourceRoot = "source/exporter/opentelemetry-exporter-otlp-proto-http";
 
   format = "pyproject";
 
@@ -46,10 +40,8 @@ buildPythonPackage rec {
 
   pythonImportsCheck = [ "opentelemetry.exporter.otlp.proto.http" ];
 
-  meta = with lib; {
+  meta = opentelemetry-api.meta // {
     homepage = "https://github.com/open-telemetry/opentelemetry-python/tree/main/exporter/opentelemetry-exporter-otlp-proto-http";
     description = "OpenTelemetry Collector Protobuf over HTTP Exporter";
-    license = licenses.asl20;
-    maintainers = teams.deshaw.members;
   };
 }
diff --git a/pkgs/development/python-modules/opentelemetry-exporter-otlp/default.nix b/pkgs/development/python-modules/opentelemetry-exporter-otlp/default.nix
index 278298be12178..a3606148883f5 100644
--- a/pkgs/development/python-modules/opentelemetry-exporter-otlp/default.nix
+++ b/pkgs/development/python-modules/opentelemetry-exporter-otlp/default.nix
@@ -1,26 +1,20 @@
 { lib
 , buildPythonPackage
 , pythonOlder
-, fetchFromGitHub
 , backoff
 , hatchling
+, opentelemetry-api
 , opentelemetry-exporter-otlp-proto-grpc
 , opentelemetry-exporter-otlp-proto-http
 , pytestCheckHook
 }:
 
-buildPythonPackage rec {
+buildPythonPackage {
+  inherit (opentelemetry-api) version src;
   pname = "opentelemetry-exporter-otlp";
-  version = "1.18.0";
   disabled = pythonOlder "3.7";
 
-  src = fetchFromGitHub {
-    owner = "open-telemetry";
-    repo = "opentelemetry-python";
-    rev = "refs/tags/v${version}";
-    hash = "sha256-ph9ahT6M8UBvuUJjk6nug68Ou/D7XuuXkfnKHEdD8x8=";
-    sparseCheckout = [ "/exporter/${pname}" ];
-  } + "/exporter/${pname}";
+  sourceRoot = "source/exporter/opentelemetry-exporter-otlp";
 
   format = "pyproject";
 
@@ -39,10 +33,8 @@ buildPythonPackage rec {
 
   pythonImportsCheck = [ "opentelemetry.exporter.otlp" ];
 
-  meta = with lib; {
+  meta = opentelemetry-api.meta // {
     homepage = "https://github.com/open-telemetry/opentelemetry-python/tree/main/exporter/opentelemetry-exporter-otlp";
     description = "OpenTelemetry Collector Exporters";
-    license = licenses.asl20;
-    maintainers = teams.deshaw.members;
   };
 }
diff --git a/pkgs/development/python-modules/opentelemetry-exporter-prometheus/default.nix b/pkgs/development/python-modules/opentelemetry-exporter-prometheus/default.nix
index 003241d74c1ca..1e74b3fd502fb 100644
--- a/pkgs/development/python-modules/opentelemetry-exporter-prometheus/default.nix
+++ b/pkgs/development/python-modules/opentelemetry-exporter-prometheus/default.nix
@@ -1,7 +1,6 @@
 { lib
 , buildPythonPackage
 , pythonOlder
-, fetchFromGitHub
 , hatchling
 , opentelemetry-api
 , opentelemetry-sdk
@@ -10,18 +9,12 @@
 , pytestCheckHook
 }:
 
-buildPythonPackage rec {
+buildPythonPackage {
+  inherit (opentelemetry-api) version src;
   pname = "opentelemetry-exporter-prometheus";
-  version = "1.18.0";
   disabled = pythonOlder "3.7";
 
-  src = fetchFromGitHub {
-    owner = "open-telemetry";
-    repo = "opentelemetry-python";
-    rev = "refs/tags/v${version}";
-    hash = "sha256-vWVLUt3Ett04kqUyoTOBNvRj51/M35X83saBBxeOTZI=";
-    sparseCheckout = [ "/exporter/${pname}" ];
-  } + "/exporter/${pname}";
+  sourceRoot = "source/exporter/opentelemetry-exporter-prometheus";
 
   format = "pyproject";
 
@@ -42,10 +35,8 @@ buildPythonPackage rec {
 
   pythonImportsCheck = [ "opentelemetry.exporter.prometheus" ];
 
-  meta = with lib; {
+  meta = opentelemetry-api.meta // {
     homepage = "https://github.com/open-telemetry/opentelemetry-python/tree/main/exporter/opentelemetry-exporter-prometheus";
     description = "Prometheus Metric Exporter for OpenTelemetry";
-    license = licenses.asl20;
-    maintainers = teams.deshaw.members;
   };
 }
diff --git a/pkgs/development/python-modules/opentelemetry-instrumentation-aiohttp-client/default.nix b/pkgs/development/python-modules/opentelemetry-instrumentation-aiohttp-client/default.nix
index 379b5a608ae32..de0823c0aac94 100644
--- a/pkgs/development/python-modules/opentelemetry-instrumentation-aiohttp-client/default.nix
+++ b/pkgs/development/python-modules/opentelemetry-instrumentation-aiohttp-client/default.nix
@@ -1,7 +1,6 @@
 { lib
 , buildPythonPackage
 , pythonOlder
-, fetchFromGitHub
 , hatchling
 , opentelemetry-api
 , opentelemetry-instrumentation
@@ -12,21 +11,13 @@
 , pytestCheckHook
 , aiohttp
 }:
-let
-  pname = "opentelemetry-instrumentation-aiohttp-client";
-  version = "0.39b0";
-in
+
 buildPythonPackage {
-  inherit pname version;
+  inherit (opentelemetry-instrumentation) version src;
+  pname = "opentelemetry-instrumentation-aiohttp-client";
   disabled = pythonOlder "3.7";
 
-  src = fetchFromGitHub {
-    owner = "open-telemetry";
-    repo = "opentelemetry-python-contrib";
-    rev = "refs/tags/v${version}";
-    hash = "sha256-HFDebR3d1osFAIlNuIbs5s+uPeTTJ1xkz+BpE5BpciU=";
-    sparseCheckout = [ "/instrumentation/${pname}" ];
-  } + "/instrumentation/${pname}";
+  sourceRoot = "source/instrumentation/opentelemetry-instrumentation-aiohttp-client";
 
   format = "pyproject";
 
@@ -54,10 +45,8 @@ buildPythonPackage {
 
   pythonImportsCheck = [ "opentelemetry.instrumentation.aiohttp_client" ];
 
-  meta = with lib; {
+  meta = opentelemetry-instrumentation.meta // {
     homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/instrumentation/opentelemetry-instrumentation-aiohttp-client";
     description = "OpenTelemetry Instrumentation for aiohttp-client";
-    license = licenses.asl20;
-    maintainers = with maintainers; [ happysalada ];
   };
 }
diff --git a/pkgs/development/python-modules/opentelemetry-instrumentation-asgi/default.nix b/pkgs/development/python-modules/opentelemetry-instrumentation-asgi/default.nix
index 3fb18175ab22e..5777498873b77 100644
--- a/pkgs/development/python-modules/opentelemetry-instrumentation-asgi/default.nix
+++ b/pkgs/development/python-modules/opentelemetry-instrumentation-asgi/default.nix
@@ -1,7 +1,6 @@
 { lib
 , buildPythonPackage
 , pythonOlder
-, fetchFromGitHub
 , asgiref
 , hatchling
 , opentelemetry-api
@@ -12,18 +11,12 @@
 , pytestCheckHook
 }:
 
-buildPythonPackage rec {
+buildPythonPackage {
+  inherit (opentelemetry-instrumentation) version src;
   pname = "opentelemetry-instrumentation-asgi";
-  version = "0.39b0";
   disabled = pythonOlder "3.7";
 
-  src = fetchFromGitHub {
-    owner = "open-telemetry";
-    repo = "opentelemetry-python-contrib";
-    rev = "refs/tags/v${version}";
-    hash = "sha256-BfNrbOQwyApdcKOVGF0LqzWOxzLkHZYiYdYVVPkGmdQ=";
-    sparseCheckout = [ "/instrumentation/${pname}" ];
-  } + "/instrumentation/${pname}";
+  sourceRoot = "source/instrumentation/opentelemetry-instrumentation-asgi";
 
   format = "pyproject";
 
@@ -46,10 +39,8 @@ buildPythonPackage rec {
 
   pythonImportsCheck = [ "opentelemetry.instrumentation.asgi" ];
 
-  meta = with lib; {
+  meta = opentelemetry-instrumentation.meta // {
     homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/instrumentation/opentelemetry-instrumentation-asgi";
     description = "ASGI instrumentation for OpenTelemetry";
-    license = licenses.asl20;
-    maintainers = teams.deshaw.members;
   };
 }
diff --git a/pkgs/development/python-modules/opentelemetry-instrumentation-django/default.nix b/pkgs/development/python-modules/opentelemetry-instrumentation-django/default.nix
index 2d8536a9037dd..ec19eacf0e3d6 100644
--- a/pkgs/development/python-modules/opentelemetry-instrumentation-django/default.nix
+++ b/pkgs/development/python-modules/opentelemetry-instrumentation-django/default.nix
@@ -1,7 +1,6 @@
 { lib
 , buildPythonPackage
 , pythonOlder
-, fetchFromGitHub
 , django
 , hatchling
 , opentelemetry-api
@@ -14,18 +13,12 @@
 , pytestCheckHook
 }:
 
-buildPythonPackage rec {
+buildPythonPackage {
+  inherit (opentelemetry-instrumentation) version src;
   pname = "opentelemetry-instrumentation-django";
-  version = "0.39b0";
   disabled = pythonOlder "3.7";
 
-  src = fetchFromGitHub {
-    owner = "open-telemetry";
-    repo = "opentelemetry-python-contrib";
-    rev = "refs/tags/v${version}";
-    hash = "sha256-5tyLFQTYuJBFAFZirqsaHXCw72Q3TigDctZZFi/2zdI=";
-    sparseCheckout = [ "/instrumentation/${pname}" ];
-  } + "/instrumentation/${pname}";
+  sourceRoot = "source/instrumentation/opentelemetry-instrumentation-django";
 
   format = "pyproject";
 
@@ -50,10 +43,8 @@ buildPythonPackage rec {
 
   pythonImportsCheck = [ "opentelemetry.instrumentation.django" ];
 
-  meta = with lib; {
+  meta = opentelemetry-instrumentation.meta // {
     homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/instrumentation/opentelemetry-instrumentation-django";
     description = "OpenTelemetry Instrumentation for Django";
-    license = licenses.asl20;
-    maintainers = teams.deshaw.members;
   };
 }
diff --git a/pkgs/development/python-modules/opentelemetry-instrumentation-grpc/default.nix b/pkgs/development/python-modules/opentelemetry-instrumentation-grpc/default.nix
index abeed7f058820..8313faa8d6ddb 100644
--- a/pkgs/development/python-modules/opentelemetry-instrumentation-grpc/default.nix
+++ b/pkgs/development/python-modules/opentelemetry-instrumentation-grpc/default.nix
@@ -1,7 +1,6 @@
 { lib
 , buildPythonPackage
 , pythonOlder
-, fetchFromGitHub
 , hatchling
 , opentelemetry-api
 , opentelemetry-instrumentation
@@ -13,18 +12,12 @@
 , grpcio
 }:
 
-buildPythonPackage rec {
+buildPythonPackage {
+  inherit (opentelemetry-instrumentation) version src;
   pname = "opentelemetry-instrumentation-grpc";
-  version = "0.39b0";
   disabled = pythonOlder "3.7";
 
-  src = fetchFromGitHub {
-    owner = "open-telemetry";
-    repo = "opentelemetry-python-contrib";
-    rev = "refs/tags/v${version}";
-    hash = "sha256-DkDAE0MsF9HdywxlFzqJaqNor4O/jpnSqINsKTuiVqU=";
-    sparseCheckout = [ "/instrumentation/${pname}" ];
-  } + "/instrumentation/${pname}";
+  sourceRoot = "source/instrumentation/opentelemetry-instrumentation-grpc";
 
   format = "pyproject";
 
@@ -52,10 +45,8 @@ buildPythonPackage rec {
 
   pythonImportsCheck = [ "opentelemetry.instrumentation.grpc" ];
 
-  meta = with lib; {
+  meta = opentelemetry-instrumentation.meta // {
     homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/instrumentation/opentelemetry-instrumentation-grpc";
     description = "OpenTelemetry Instrumentation for grpc";
-    license = licenses.asl20;
-    maintainers = with maintainers; [ happysalada ];
   };
 }
diff --git a/pkgs/development/python-modules/opentelemetry-instrumentation-wsgi/default.nix b/pkgs/development/python-modules/opentelemetry-instrumentation-wsgi/default.nix
index b50674ea1b68c..408cfb6923297 100644
--- a/pkgs/development/python-modules/opentelemetry-instrumentation-wsgi/default.nix
+++ b/pkgs/development/python-modules/opentelemetry-instrumentation-wsgi/default.nix
@@ -1,7 +1,6 @@
 { lib
 , buildPythonPackage
 , pythonOlder
-, fetchFromGitHub
 , hatchling
 , opentelemetry-api
 , opentelemetry-instrumentation
@@ -11,18 +10,12 @@
 , pytestCheckHook
 }:
 
-buildPythonPackage rec {
+buildPythonPackage {
+  inherit (opentelemetry-instrumentation) version src;
   pname = "opentelemetry-instrumentation-wsgi";
-  version = "0.39b0";
   disabled = pythonOlder "3.7";
 
-  src = fetchFromGitHub {
-    owner = "open-telemetry";
-    repo = "opentelemetry-python-contrib";
-    rev = "refs/tags/v${version}";
-    hash = "sha256-DBZGXY8Y208YC/guk0qUB04UA/JFAtiv3kjsikskTRs=";
-    sparseCheckout = [ "/instrumentation/${pname}" ];
-  } + "/instrumentation/${pname}";
+  sourceRoot = "source/instrumentation/opentelemetry-instrumentation-wsgi";
 
   format = "pyproject";
 
@@ -44,10 +37,8 @@ buildPythonPackage rec {
 
   pythonImportsCheck = [ "opentelemetry.instrumentation.wsgi" ];
 
-  meta = with lib; {
+  meta = opentelemetry-instrumentation.meta // {
     homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/instrumentation/opentelemetry-instrumentation-wsgi";
     description = "WSGI Middleware for OpenTelemetry";
-    license = licenses.asl20;
-    maintainers = teams.deshaw.members;
   };
 }
diff --git a/pkgs/development/python-modules/opentelemetry-instrumentation/default.nix b/pkgs/development/python-modules/opentelemetry-instrumentation/default.nix
index 140ca386554c2..8716ef4efedec 100644
--- a/pkgs/development/python-modules/opentelemetry-instrumentation/default.nix
+++ b/pkgs/development/python-modules/opentelemetry-instrumentation/default.nix
@@ -16,13 +16,15 @@ buildPythonPackage rec {
   version = "0.39b0";
   disabled = pythonOlder "3.7";
 
+  # to avoid breakage, every package in opentelemetry-python-contrib must inherit this version, src, and meta
   src = fetchFromGitHub {
     owner = "open-telemetry";
     repo = "opentelemetry-python-contrib";
     rev = "refs/tags/v${version}";
-    hash = "sha256-+zk76A640nyd1L0I55JrMMs7EnQ+SPQdYGAFIyQFc6E=";
-    sparseCheckout = [ "/${pname}" ];
-  } + "/${pname}";
+    hash = "sha256-MPBOdurEQhA9BPRgVftejjtkvN/zRQEJDjQcS2QW3xc=";
+  };
+
+  sourceRoot = "source/opentelemetry-instrumentation";
 
   format = "pyproject";
 
@@ -47,7 +49,8 @@ buildPythonPackage rec {
   meta = with lib; {
     homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/opentelemetry-instrumentation";
     description = "Instrumentation Tools & Auto Instrumentation for OpenTelemetry Python";
+    changelog = "https://github.com/open-telemetry/opentelemetry-python-contrib/releases/tag/${src.rev}";
     license = licenses.asl20;
-    maintainers = teams.deshaw.members;
+    maintainers = teams.deshaw.members ++ [ maintainers.natsukium ];
   };
 }
diff --git a/pkgs/development/python-modules/opentelemetry-proto/default.nix b/pkgs/development/python-modules/opentelemetry-proto/default.nix
index b3df8b893989e..c673dee3986bc 100644
--- a/pkgs/development/python-modules/opentelemetry-proto/default.nix
+++ b/pkgs/development/python-modules/opentelemetry-proto/default.nix
@@ -1,24 +1,18 @@
 { lib
 , buildPythonPackage
 , pythonOlder
-, fetchFromGitHub
 , hatchling
+, opentelemetry-api
 , protobuf
 , pytestCheckHook
 }:
 
-buildPythonPackage rec {
+buildPythonPackage {
+  inherit (opentelemetry-api) version src;
   pname = "opentelemetry-proto";
-  version = "1.18.0";
   disabled = pythonOlder "3.7";
 
-  src = fetchFromGitHub {
-    owner = "open-telemetry";
-    repo = "opentelemetry-python";
-    rev = "refs/tags/v${version}";
-    hash = "sha256-6iB+QlBUqRvIJ9p38NYgP4icW2rYs1P3bNCxI95cOvs=";
-    sparseCheckout = [ "/${pname}" ];
-  } + "/${pname}";
+  sourceRoot = "source/opentelemetry-proto";
 
   format = "pyproject";
 
@@ -36,10 +30,8 @@ buildPythonPackage rec {
 
   pythonImportsCheck = [ "opentelemetry.proto" ];
 
-  meta = with lib; {
+  meta = opentelemetry-api.meta // {
     homepage = "https://github.com/open-telemetry/opentelemetry-python/tree/main/opentelemetry-proto";
     description = "OpenTelemetry Python Proto";
-    license = licenses.asl20;
-    maintainers = teams.deshaw.members;
   };
 }
diff --git a/pkgs/development/python-modules/opentelemetry-sdk/default.nix b/pkgs/development/python-modules/opentelemetry-sdk/default.nix
index 6ac7b8037fb7b..1b4683137d956 100644
--- a/pkgs/development/python-modules/opentelemetry-sdk/default.nix
+++ b/pkgs/development/python-modules/opentelemetry-sdk/default.nix
@@ -1,7 +1,6 @@
 { lib
 , buildPythonPackage
 , pythonOlder
-, fetchFromGitHub
 , flaky
 , hatchling
 , opentelemetry-api
@@ -14,17 +13,11 @@
 
 let
   self = buildPythonPackage {
+    inherit (opentelemetry-api) version src;
     pname = "opentelemetry-sdk";
-    version = "1.18.0";
     disabled = pythonOlder "3.7";
 
-    src = fetchFromGitHub {
-      owner = "open-telemetry";
-      repo = "opentelemetry-python";
-      rev = "refs/tags/v${self.version}";
-      hash = "sha256-YMFSmzuvm/VA9Fpe7pbF9mnGQHOQpobWMb1iGRt+d3w=";
-      sparseCheckout = [ "/${self.pname}" ];
-    } + "/${self.pname}";
+    sourceRoot = "source/opentelemetry-sdk";
 
     format = "pyproject";
 
@@ -56,11 +49,9 @@ let
     # Enable tests via passthru to avoid cyclic dependency with opentelemetry-test-utils.
     passthru.tests.${self.pname} = self.overridePythonAttrs { doCheck = true; };
 
-    meta = with lib; {
-      homepage = "https://opentelemetry.io";
-      description = "OpenTelemetry Python API and SDK";
-      license = licenses.asl20;
-      maintainers = teams.deshaw.members;
+    meta = opentelemetry-api.meta // {
+      homepage = "https://github.com/open-telemetry/opentelemetry-python/tree/main/opentelemetry-sdk";
+      description = "OpenTelemetry Python SDK";
     };
   };
 in self
diff --git a/pkgs/development/python-modules/opentelemetry-semantic-conventions/default.nix b/pkgs/development/python-modules/opentelemetry-semantic-conventions/default.nix
index d9743975bf6ca..0ae9fb34d06f3 100644
--- a/pkgs/development/python-modules/opentelemetry-semantic-conventions/default.nix
+++ b/pkgs/development/python-modules/opentelemetry-semantic-conventions/default.nix
@@ -1,23 +1,17 @@
 { lib
 , buildPythonPackage
 , pythonOlder
-, fetchFromGitHub
 , hatchling
+, opentelemetry-api
 , pytestCheckHook
 }:
 
-buildPythonPackage rec {
+buildPythonPackage {
+  inherit (opentelemetry-api) version src;
   pname = "opentelemetry-semantic-conventions";
-  version = "1.18.0";
   disabled = pythonOlder "3.7";
 
-  src = fetchFromGitHub {
-    owner = "open-telemetry";
-    repo = "opentelemetry-python";
-    rev = "refs/tags/v${version}";
-    hash = "sha256-82L/tDoWgu0r+Li3CS3hjVR99DQQmA5yt3y85+37imI=";
-    sparseCheckout = [ "/${pname}" ];
-  } + "/${pname}";
+  sourceRoot = "source/opentelemetry-semantic-conventions";
 
   format = "pyproject";
 
@@ -31,10 +25,8 @@ buildPythonPackage rec {
 
   pythonImportsCheck = [ "opentelemetry.semconv" ];
 
-  meta = with lib; {
+  meta = opentelemetry-api.meta // {
     homepage = "https://github.com/open-telemetry/opentelemetry-python/tree/main/opentelemetry-semantic-conventions";
     description = "OpenTelemetry Semantic Conventions";
-    license = licenses.asl20;
-    maintainers = teams.deshaw.members;
   };
 }
diff --git a/pkgs/development/python-modules/opentelemetry-test-utils/default.nix b/pkgs/development/python-modules/opentelemetry-test-utils/default.nix
index 0f78e511a8852..71e87b0737a99 100644
--- a/pkgs/development/python-modules/opentelemetry-test-utils/default.nix
+++ b/pkgs/development/python-modules/opentelemetry-test-utils/default.nix
@@ -2,25 +2,18 @@
 , callPackage
 , buildPythonPackage
 , pythonOlder
-, fetchFromGitHub
 , asgiref
 , hatchling
 , opentelemetry-api
 , opentelemetry-sdk
 }:
 
-buildPythonPackage rec {
+buildPythonPackage {
+  inherit (opentelemetry-api) version src;
   pname = "opentelemetry-test-utils";
-  version = "1.18.0";
   disabled = pythonOlder "3.7";
 
-  src = fetchFromGitHub {
-    owner = "open-telemetry";
-    repo = "opentelemetry-python";
-    rev = "refs/tags/v${version}";
-    hash = "sha256-WRcKTE3eVqOSQUi5gZ3du+RGw8CrMazXHrctdrjgzHo=";
-    sparseCheckout = [ "/tests/${pname}" ];
-  } + "/tests/${pname}";
+  sourceRoot = "source/tests/opentelemetry-test-utils";
 
   format = "pyproject";
 
@@ -36,10 +29,8 @@ buildPythonPackage rec {
 
   pythonImportsCheck = [ "opentelemetry.test" ];
 
-  meta = with lib; {
+  meta = opentelemetry-api.meta // {
     homepage = "https://github.com/open-telemetry/opentelemetry-python/tree/main/tests/opentelemetry-test-utils";
     description = "Test utilities for OpenTelemetry unit tests";
-    license = licenses.asl20;
-    maintainers = teams.deshaw.members;
   };
 }
diff --git a/pkgs/development/python-modules/opentelemetry-util-http/default.nix b/pkgs/development/python-modules/opentelemetry-util-http/default.nix
index ddd25dccb7844..49ec52a380b05 100644
--- a/pkgs/development/python-modules/opentelemetry-util-http/default.nix
+++ b/pkgs/development/python-modules/opentelemetry-util-http/default.nix
@@ -1,7 +1,6 @@
 { lib
 , buildPythonPackage
 , pythonOlder
-, fetchFromGitHub
 , hatchling
 , opentelemetry-instrumentation
 , opentelemetry-sdk
@@ -10,18 +9,12 @@
 , pytestCheckHook
 }:
 
-buildPythonPackage rec {
+buildPythonPackage {
+  inherit (opentelemetry-instrumentation) version src;
   pname = "opentelemetry-util-http";
-  version = "0.39b0";
   disabled = pythonOlder "3.7";
 
-  src = fetchFromGitHub {
-    owner = "open-telemetry";
-    repo = "opentelemetry-python-contrib";
-    rev = "refs/tags/v${version}";
-    hash = "sha256-C20/M5wimQec/8tTKx7+jkIYgfgNPtU9lkPKliIM3Uk=";
-    sparseCheckout = [ "/util/${pname}" ];
-  } + "/util/${pname}";
+  sourceRoot = "source/util/opentelemetry-util-http";
 
   format = "pyproject";
 
@@ -42,10 +35,8 @@ buildPythonPackage rec {
 
   pythonImportsCheck = [ "opentelemetry.util.http" ];
 
-  meta = with lib; {
+  meta = opentelemetry-instrumentation.meta // {
     homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/util/opentelemetry-util-http";
     description = "Web util for OpenTelemetry";
-    license = licenses.asl20;
-    maintainers = teams.deshaw.members;
   };
 }
diff --git a/pkgs/development/python-modules/opower/default.nix b/pkgs/development/python-modules/opower/default.nix
index 37553cf69ea39..f0e07dc09bf1d 100644
--- a/pkgs/development/python-modules/opower/default.nix
+++ b/pkgs/development/python-modules/opower/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "opower";
-  version = "0.0.15";
+  version = "0.0.18";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "tronikos";
     repo = "opower";
     rev = "refs/tags/v${version}";
-    hash = "sha256-hSwKdxtWgxJCdKk9tw7iCBC7I4buxbRfx4GRwyym6rg=";
+    hash = "sha256-IlM4BPwZ42Bequs3edzP+iclOsHRf6bsDaaZOg+ynx4=";
   };
 
   pythonRemoveDeps = [
diff --git a/pkgs/development/python-modules/pgvector/default.nix b/pkgs/development/python-modules/pgvector/default.nix
index 9713669f159cd..89f3974d40690 100644
--- a/pkgs/development/python-modules/pgvector/default.nix
+++ b/pkgs/development/python-modules/pgvector/default.nix
@@ -16,16 +16,16 @@
 
 buildPythonPackage rec {
   pname = "pgvector";
-  version = "0.1.8";
+  version = "0.2.0";
   format = "setuptools";
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "pgvector";
     repo = "pgvector-python";
     rev = "refs/tags/v${version}";
-    hash = "sha256-+0daPPZGVkqfZw0gOZwIl+knL/zZki9fs5kA3dYqPpE=";
+    hash = "sha256-VcV/WyDY1UN2TcuvNRQRIh5YIlewGQXf6fcTZihvftQ=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pipdeptree/default.nix b/pkgs/development/python-modules/pipdeptree/default.nix
index 5b99b49c54994..43d99563a47cb 100644
--- a/pkgs/development/python-modules/pipdeptree/default.nix
+++ b/pkgs/development/python-modules/pipdeptree/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "pipdeptree";
-  version = "2.10.2";
+  version = "2.12.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "tox-dev";
     repo = "pipdeptree";
     rev = "refs/tags/${version}";
-    hash = "sha256-W7aCSekm6vZSlEAgwgrwmUBV2/jCiBol7JyNMYUVpPY=";
+    hash = "sha256-4qRMET04JLVuDRfQtv/uQquf76iU00rnsWNaUXj1Gfw=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/pkgs/development/python-modules/piper-phonemize/default.nix b/pkgs/development/python-modules/piper-phonemize/default.nix
new file mode 100644
index 0000000000000..cd09567a61e36
--- /dev/null
+++ b/pkgs/development/python-modules/piper-phonemize/default.nix
@@ -0,0 +1,34 @@
+{ buildPythonPackage
+, onnxruntime-native
+, piper-phonemize-native
+, pybind11
+, setuptools
+}:
+
+buildPythonPackage {
+  inherit (piper-phonemize-native) pname version src;
+  format = "pyproject";
+
+  nativeBuildInputs = [
+    pybind11
+    setuptools
+  ];
+
+  buildInputs = [
+    onnxruntime-native
+    piper-phonemize-native
+    piper-phonemize-native.espeak-ng
+  ];
+
+  pythonImportsCheck = [
+    "piper_phonemize"
+  ];
+
+  # no tests
+  doCheck = false;
+
+  meta = {
+    description = "Phonemization libary used by Piper text to speech system";
+    inherit (piper-phonemize-native.meta) homepage license maintainers;
+  };
+}
diff --git a/pkgs/development/python-modules/plaid-python/default.nix b/pkgs/development/python-modules/plaid-python/default.nix
index acd2e4e88160b..648d04ddf7fcd 100644
--- a/pkgs/development/python-modules/plaid-python/default.nix
+++ b/pkgs/development/python-modules/plaid-python/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "plaid-python";
-  version = "15.1.0";
+  version = "15.2.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-BFouiIBQ2HwZ+7Qp2ULam3DW/pwsxIkOejLtTelhWd4=";
+    hash = "sha256-NJCU82Q19X1fApYcbP+ZAxf76uwAnSnhch4aBer9Nm4=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/plugwise/default.nix b/pkgs/development/python-modules/plugwise/default.nix
index 4cd07a0249d88..7c7d36167feab 100644
--- a/pkgs/development/python-modules/plugwise/default.nix
+++ b/pkgs/development/python-modules/plugwise/default.nix
@@ -20,7 +20,7 @@
 
 buildPythonPackage rec {
   pname = "plugwise";
-  version = "0.31.8";
+  version = "0.31.9";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -29,7 +29,7 @@ buildPythonPackage rec {
     owner = pname;
     repo = "python-plugwise";
     rev = "refs/tags/v${version}";
-    hash = "sha256-glC/2bpjw0SKE6EezWLk9a4otBU21JSxsbIE5/LBGnY=";
+    hash = "sha256-IRetWNKVzWsrHOphdgV5xmdiubwDx8KOUA7x+BmTt9A=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/potentials/default.nix b/pkgs/development/python-modules/potentials/default.nix
index 87c374fd533ec..4cad316d2a662 100644
--- a/pkgs/development/python-modules/potentials/default.nix
+++ b/pkgs/development/python-modules/potentials/default.nix
@@ -20,7 +20,7 @@
 }:
 
 buildPythonPackage rec {
-  version = "0.3.6";
+  version = "0.3.7";
   pname = "potentials";
   format = "setuptools";
 
@@ -28,7 +28,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-VEPGa3Wp+B3KterfA5XGjaDf6sIAkSST0GWdeqaJcE0=";
+    hash = "sha256-vkrNVRf9ntYSpf8nXmAmGjc+sQ4iFllisYHd9s+uQv0=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/ppft/default.nix b/pkgs/development/python-modules/ppft/default.nix
index 1dce18366b760..3a868d78d86dc 100644
--- a/pkgs/development/python-modules/ppft/default.nix
+++ b/pkgs/development/python-modules/ppft/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "ppft";
-  version = "1.7.6.6";
+  version = "1.7.6.7";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-+TPwQE8+gIvIYHRayzt5zU/jHqGaIIiaZF+QBBW+YPE=";
+    hash = "sha256-qzRDaBTi8YI481aI/YabJkGy0tjcoiuNJG9nAd/JVMg=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/py-radix-sr/default.nix b/pkgs/development/python-modules/py-radix-sr/default.nix
new file mode 100644
index 0000000000000..f76f12708f837
--- /dev/null
+++ b/pkgs/development/python-modules/py-radix-sr/default.nix
@@ -0,0 +1,34 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "py-radix-sr";
+  version = "1.0.1";
+  format = "setuptools";
+
+  src = fetchFromGitHub {
+    owner = "SEKOIA-IO";
+    repo = "py-radix";
+    rev = "v${version}";
+    hash = "sha256-aHV+NvPR4Gyk6bEpCftgBylis9rU7BWLpBMatjP4QmE=";
+  };
+
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "name='py-radix'" "name='py-radix-sr'"
+  '';
+
+  pythonImportsCheck = [ "radix" ];
+
+  nativeCheckInputs = [ pytestCheckHook ];
+
+  meta = with lib; {
+    description = "Python radix tree for IPv4 and IPv6 prefix matching";
+    homepage = "https://github.com/SEKOIA-IO/py-radix";
+    license = with licenses; [ isc bsdOriginal ];
+    maintainers = with maintainers; [ netali ];
+  };
+}
diff --git a/pkgs/development/python-modules/pydata-google-auth/default.nix b/pkgs/development/python-modules/pydata-google-auth/default.nix
index 61b39e54279c8..f24f2e78470bb 100644
--- a/pkgs/development/python-modules/pydata-google-auth/default.nix
+++ b/pkgs/development/python-modules/pydata-google-auth/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "pydata-google-auth";
-  version = "1.8.0";
+  version = "1.8.2";
   format = "setuptools";
 
   src = fetchFromGitHub {
     repo = pname;
     owner = "pydata";
     rev = "refs/tags/${version}";
-    hash = "sha256-PMQj+ySdin02MUBIumyW/PvCGqUhmloDCnBFJggd4I8=";
+    hash = "sha256-Wo+tXbzOuz/cW8GuWoSxLA/Lr2S9NMdePa8tIV39mbY=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pyemd/default.nix b/pkgs/development/python-modules/pyemd/default.nix
index c7b277a60989e..bb178a5724153 100644
--- a/pkgs/development/python-modules/pyemd/default.nix
+++ b/pkgs/development/python-modules/pyemd/default.nix
@@ -1,16 +1,40 @@
-{ lib, buildPythonPackage, fetchPypi, numpy, cython }:
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchPypi
+, cython
+, packaging
+, setuptools
+, numpy
+, pytestCheckHook
+}:
 
 buildPythonPackage rec {
   pname = "pyemd";
-  version = "0.5.1";
+  version = "1.0.0";
+
+  disabled = pythonOlder "3.7";
+
+  format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "fc81c2116f8573e559dfbb8d73e03d9f73c22d0770559f406516984302e07e70";
+    hash = "sha256-tCta57LRWx1N7mOBDqeYo5IX6Kdre0nA62OoTg/ZAP4=";
   };
 
-  propagatedBuildInputs = [ numpy ];
-  buildInputs = [ cython ];
+  nativeBuildInputs = [
+    cython
+    packaging
+    setuptools
+  ];
+
+  propagatedBuildInputs = [
+    numpy
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
 
   meta = with lib; {
     description = "A Python wrapper for Ofir Pele and Michael Werman's implementation of the Earth Mover's Distance";
diff --git a/pkgs/development/python-modules/pyglm/default.nix b/pkgs/development/python-modules/pyglm/default.nix
new file mode 100644
index 0000000000000..b98fee9d38dbc
--- /dev/null
+++ b/pkgs/development/python-modules/pyglm/default.nix
@@ -0,0 +1,23 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+}:
+buildPythonPackage rec {
+  pname = "PyGLM";
+  version = "2.7.0";
+
+  src = fetchFromGitHub {
+    owner = "Zuzu-Typ";
+    repo = "PyGLM";
+    rev = "${version}";
+    hash = "sha256-+On4gqfB9hxuINQdcGcrZyOsphfylUNq7tB2uvjsCkE=";
+    fetchSubmodules = true;
+  };
+
+  meta = with lib; {
+    homepage = "https://github.com/Zuzu-Typ/PyGLM";
+    description = "An OpenGL Mathematics (GLM) library for Python written in C++";
+    license = licenses.zlib;
+    maintainers = with maintainers; [ sund3RRR ];
+  };
+}
diff --git a/pkgs/development/python-modules/pyqt/6.x.nix b/pkgs/development/python-modules/pyqt/6.x.nix
index 3edf1adf02843..22f2048ba1d33 100644
--- a/pkgs/development/python-modules/pyqt/6.x.nix
+++ b/pkgs/development/python-modules/pyqt/6.x.nix
@@ -23,14 +23,14 @@
 
 buildPythonPackage rec {
   pname = "PyQt6";
-  version = "6.5.1";
+  version = "6.5.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-4WagVownvMjbACcaUEOTYiZpC2pKdM4KXK60CAQKl8M=";
+    hash = "sha256-FIfuc1D5/7ZtYKtBdlGSUsKzcXYsvo+DQP2VH2OAEoA=";
   };
 
   patches = [
diff --git a/pkgs/development/python-modules/pyschlage/default.nix b/pkgs/development/python-modules/pyschlage/default.nix
index 80920c5c91487..abc30c72ce84b 100644
--- a/pkgs/development/python-modules/pyschlage/default.nix
+++ b/pkgs/development/python-modules/pyschlage/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "pyschlage";
-  version = "2023.6.0";
+  version = "2023.7.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "dknowles2";
     repo = "pyschlage";
     rev = "refs/tags/${version}";
-    hash = "sha256-ogYVk0Kvv595IlIa/qdV1lqlnW45IG29PX5EEaMaphw=";
+    hash = "sha256-PH8ClpuYwTu+34hSPPwI1KMFut6UaxWVrbf38LYb9EQ=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/pkgs/development/python-modules/pysensibo/default.nix b/pkgs/development/python-modules/pysensibo/default.nix
index 2ebfa8238f391..75672f3466dd8 100644
--- a/pkgs/development/python-modules/pysensibo/default.nix
+++ b/pkgs/development/python-modules/pysensibo/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "pysensibo";
-  version = "1.0.28";
+  version = "1.0.32";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-7mYYsJCiJZedbmO9fv/Zr+QZOaSE6d6ld94yWUhUmUQ=";
+    hash = "sha256-5A98g2SyJa+aGFewPLUgL73XpkccQTYec1mCZvIOa9w=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/python-homewizard-energy/default.nix b/pkgs/development/python-modules/python-homewizard-energy/default.nix
index c327257e0a926..bfb53c92df414 100644
--- a/pkgs/development/python-modules/python-homewizard-energy/default.nix
+++ b/pkgs/development/python-modules/python-homewizard-energy/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "python-homewizard-energy";
-  version = "2.0.1";
+  version = "2.0.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "DCSBL";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-s3FNRpMZC/MG3s+ZDHgdsIT2AhvBDmGvJfutUPzY4wE=";
+    hash = "sha256-XTSnIL/hBL1Rsyv/tBce/WCvA3n7mZern0v3i6gTOeA=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/python-kasa/default.nix b/pkgs/development/python-modules/python-kasa/default.nix
index acbb9383e12bb..78f97117f89f7 100644
--- a/pkgs/development/python-modules/python-kasa/default.nix
+++ b/pkgs/development/python-modules/python-kasa/default.nix
@@ -1,5 +1,6 @@
 { lib
 , anyio
+, async-timeout
 , asyncclick
 , buildPythonPackage
 , fetchFromGitHub
@@ -16,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "python-kasa";
-  version = "0.5.2";
+  version = "0.5.3";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -25,7 +26,7 @@ buildPythonPackage rec {
     owner = pname;
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-+ezs8mj3TRmeIhKPxyov9BPdNkhj0ri4FgoZdW7O8tA=";
+    hash = "sha256-7GJnkT7FOYzytQyOCP8zU5hUk4SbeC7gc1qkhl5eXGo=";
   };
 
   nativeBuildInputs = [
@@ -34,6 +35,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     anyio
+    async-timeout
     asyncclick
     pydantic
   ];
diff --git a/pkgs/development/python-modules/python-matter-server/default.nix b/pkgs/development/python-modules/python-matter-server/default.nix
index c609630a2df78..c04beb032f950 100644
--- a/pkgs/development/python-modules/python-matter-server/default.nix
+++ b/pkgs/development/python-modules/python-matter-server/default.nix
@@ -27,7 +27,7 @@
 
 buildPythonPackage rec {
   pname = "python-matter-server";
-  version = "3.6.3";
+  version = "3.7.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.10";
@@ -36,7 +36,7 @@ buildPythonPackage rec {
     owner = "home-assistant-libs";
     repo = "python-matter-server";
     rev = "refs/tags/${version}";
-    hash = "sha256-xtxbZS8CPCkgyFX08THn7hGurFj8dQV+KIZ6VvTY7hA=";
+    hash = "sha256-t++7jQreibGpJRjJawicxjFIye5X6R1dpFqiM6yvRf0=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/python-roborock/default.nix b/pkgs/development/python-modules/python-roborock/default.nix
index 4732993348013..aa675053d8208 100644
--- a/pkgs/development/python-modules/python-roborock/default.nix
+++ b/pkgs/development/python-modules/python-roborock/default.nix
@@ -20,7 +20,7 @@
 
 buildPythonPackage rec {
   pname = "python-roborock";
-  version = "0.30.2";
+  version = "0.30.3";
   format = "pyproject";
 
   disabled = pythonOlder "3.10";
@@ -29,7 +29,7 @@ buildPythonPackage rec {
     owner = "humbertogontijo";
     repo = "python-roborock";
     rev = "refs/tags/v${version}";
-    hash = "sha256-mjhHNnhYNMrn4aiPvcq6YM9XCyfzOeZ/yh3RIYiZeaY=";
+    hash = "sha256-EHHyuiG/yRGY7/Z5TAq/83rIkyehg37eTFxSOWrVhR0=";
   };
 
   pythonRelaxDeps = [
diff --git a/pkgs/development/python-modules/pyturbojpeg/default.nix b/pkgs/development/python-modules/pyturbojpeg/default.nix
index 9384ff0e0b409..3da9eb457fcda 100644
--- a/pkgs/development/python-modules/pyturbojpeg/default.nix
+++ b/pkgs/development/python-modules/pyturbojpeg/default.nix
@@ -10,13 +10,13 @@
 
 buildPythonPackage rec {
   pname = "pyturbojpeg";
-  version = "1.7.0";
+  version = "1.7.2";
   format = "setuptools";
 
   src = fetchPypi {
     pname = "PyTurboJPEG";
     inherit version;
-    hash = "sha256-9c7lfeM6PXF6CR3JtLi1NPmTwEbrv9Kh1kvdDQbskuI=";
+    hash = "sha256-ChFD05ZK0TCVvM+uqGzma2x5qqyD94uBvFpSnWuyL2c=";
   };
 
   patches = [
diff --git a/pkgs/development/python-modules/pyvex/default.nix b/pkgs/development/python-modules/pyvex/default.nix
index 26af176ec470f..b6d3593b94ce2 100644
--- a/pkgs/development/python-modules/pyvex/default.nix
+++ b/pkgs/development/python-modules/pyvex/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "pyvex";
-  version = "9.2.61";
+  version = "9.2.62";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-UbaaudnwsIXs/IsiZyCamnWjLndwrn244ZdbvZa7P0I=";
+    hash = "sha256-eBmmXdtYeG6O8Wdt0Gye78/6dt+XZznXyEzlv9WFwcI=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pyvista/default.nix b/pkgs/development/python-modules/pyvista/default.nix
index 000418a340ce4..e63038b54c0b3 100644
--- a/pkgs/development/python-modules/pyvista/default.nix
+++ b/pkgs/development/python-modules/pyvista/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "pyvista";
-  version = "0.40.1";
+  version = "0.41.1";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-nGLguMbenfKONcY1W5S+BZ6zHmnW/Sivs2/NpDqrEck=";
+    hash = "sha256-vFxEMKEkiFOBrkvmaJPwoo+lOe6V9AmPxl32Tocy9p8=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pywemo/default.nix b/pkgs/development/python-modules/pywemo/default.nix
index a37d3a7d1b365..6a643979715d4 100644
--- a/pkgs/development/python-modules/pywemo/default.nix
+++ b/pkgs/development/python-modules/pywemo/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "pywemo";
-  version = "1.1.0";
+  version = "1.2.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = pname;
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-OROS5mLMDXxygzWvURZtt5MD+gey5GxfsvpkbshOzR0=";
+    hash = "sha256-6aigzwHP9iAQF4GKKQfnZl9sAbwZfOAG/xPf6ay7rGs=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/reolink-aio/default.nix b/pkgs/development/python-modules/reolink-aio/default.nix
index b18c432aed8f9..ee631bf221c1f 100644
--- a/pkgs/development/python-modules/reolink-aio/default.nix
+++ b/pkgs/development/python-modules/reolink-aio/default.nix
@@ -1,17 +1,16 @@
 { lib
 , aiohttp
-, aiounittest
 , buildPythonPackage
 , fetchFromGitHub
 , ffmpeg-python
-, pytestCheckHook
+, orjson
 , pythonOlder
 , requests
 }:
 
 buildPythonPackage rec {
   pname = "reolink-aio";
-  version = "0.7.3";
+  version = "0.7.6";
   format = "setuptools";
 
   disabled = pythonOlder "3.9";
@@ -20,7 +19,7 @@ buildPythonPackage rec {
     owner = "starkillerOG";
     repo = "reolink_aio";
     rev = "refs/tags/${version}";
-    hash = "sha256-QCs0tb0yS5el6kYIoWm71x14e0rsp3lOUntgrj0hvBo=";
+    hash = "sha256-muxM9+3D8WL2muw5yxbYKmbkVc5lTcj9XQOr67hb/pU=";
   };
 
   postPatch = ''
@@ -28,34 +27,16 @@ buildPythonPackage rec {
     substituteInPlace setup.py \
       --replace "ffmpeg" "ffmpeg-python"
   '';
+
   propagatedBuildInputs = [
     aiohttp
     ffmpeg-python
+    orjson
     requests
   ];
 
-  doCheck = false; # all testse require a network device
-
-  nativeCheckInputs = [
-    aiounittest
-    pytestCheckHook
-  ];
-
-  pytestFlagsArray = [
-    "tests/test.py"
-  ];
-
-  disabledTests = [
-    # Tests require network access
-    "test1_settings"
-    "test2_states"
-    "test3_images"
-    "test4_properties"
-    "test_succes"
-    "test_wrong_host"
-    "test_wrong_password"
-    "test_wrong_user"
-  ];
+  # All tests require a network device
+  doCheck = false;
 
   pythonImportsCheck = [
     "reolink_aio"
diff --git a/pkgs/development/python-modules/riscv-isac/default.nix b/pkgs/development/python-modules/riscv-isac/default.nix
index 13aca2c0d7b60..651c27be676a7 100644
--- a/pkgs/development/python-modules/riscv-isac/default.nix
+++ b/pkgs/development/python-modules/riscv-isac/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "riscv-isac";
-  version = "0.17.0";
+  version = "0.18.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "riscv-software-src";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-I0RsvSCrSlNGVj8z+WUQx6vbdNkKCRyMFvNx+0mTBAE=";
+    hash = "sha256-7CWUyYwzynFq/Qk5SzQB+ljsVVI98kPPDT63Emhqihw=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/rst2pdf/default.nix b/pkgs/development/python-modules/rst2pdf/default.nix
index 7bb8ac8545a04..6d6a484255743 100644
--- a/pkgs/development/python-modules/rst2pdf/default.nix
+++ b/pkgs/development/python-modules/rst2pdf/default.nix
@@ -18,13 +18,13 @@
 
 buildPythonPackage rec {
   pname = "rst2pdf";
-  version = "0.100";
+  version = "0.101";
 
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-Zkw8FubT3qJ06ECkNurE26bLUKtq8xYvydVxa+PLe0I=";
+    sha256 = "sha256-AF8FssEIFHmeY2oVrAPNe85pbmgKWO52yD6ycNNzTSg=";
   };
 
   outputs = [ "out" "man" ];
@@ -66,6 +66,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Convert reStructured Text to PDF via ReportLab";
     homepage = "https://rst2pdf.org/";
+    changelog = "https://github.com/rst2pdf/rst2pdf/blob/${version}/CHANGES.rst";
     license = licenses.mit;
     maintainers = with maintainers; [ marsam ];
   };
diff --git a/pkgs/development/python-modules/shtab/default.nix b/pkgs/development/python-modules/shtab/default.nix
index 4f939eed4f25f..f27d2c1f253d9 100644
--- a/pkgs/development/python-modules/shtab/default.nix
+++ b/pkgs/development/python-modules/shtab/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "shtab";
-  version = "1.6.2";
+  version = "1.6.3";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "iterative";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-qhWkUprDEFRvb9/0dGWBjyIFQY08sAqFSl5jYGtN6Z8=";
+    hash = "sha256-9XXAVwno8rO5Uw7S5FWsyEUSqUE46QRehpAr5wIlYgc=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/pkgs/development/python-modules/smart-meter-texas/default.nix b/pkgs/development/python-modules/smart-meter-texas/default.nix
index d7d568602358a..bd0d181a3ede3 100644
--- a/pkgs/development/python-modules/smart-meter-texas/default.nix
+++ b/pkgs/development/python-modules/smart-meter-texas/default.nix
@@ -10,15 +10,15 @@
 
 buildPythonPackage rec {
   pname = "smart-meter-texas";
-  version = "0.5.1";
+  version = "0.5.3";
 
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "grahamwetzler";
     repo = "smart-meter-texas";
-    rev = "v${version}";
-    hash = "sha256-rjMRV5MekwRkipes2nWos/1zi3sD+Ls8LyD3+t5FOZc=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-8htd5fLrtkaVlSEm+RB7tWA5YZkcAOjAXVNzZiMwP7k=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/sphinx-basic-ng/default.nix b/pkgs/development/python-modules/sphinx-basic-ng/default.nix
index f92c9e237ff5c..69a34dd2c6195 100644
--- a/pkgs/development/python-modules/sphinx-basic-ng/default.nix
+++ b/pkgs/development/python-modules/sphinx-basic-ng/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "sphinx-basic-ng";
-  version = "1.0.0.beta1";
+  version = "1.0.0.beta2";
   disable = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "pradyunsg";
     repo = "sphinx-basic-ng";
     rev = version;
-    hash = "sha256-Zh9KvKs4js+AVSfIk0pAj6Kzq/O2m/MGTF+HCwYJTXk=";
+    hash = "sha256-MHBGIKOKhGklrx3O075LRud8NhY2hzlTWh+jalrFpko=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/sqlalchemy-mixins/default.nix b/pkgs/development/python-modules/sqlalchemy-mixins/default.nix
index 0feeaa5d32fbd..edb6ab2ed29ec 100644
--- a/pkgs/development/python-modules/sqlalchemy-mixins/default.nix
+++ b/pkgs/development/python-modules/sqlalchemy-mixins/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "sqlalchemy-mixins";
-  version = "2.0.3";
+  version = "2.0.4.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "absent1706";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-DOQlG86VJEV1Eqqo+KLwmRo2tNePq+Na05s1eDhBjcQ=";
+    hash = "sha256-soashrkokHveEI9YXAAPBPHydhoToJhCHx+g7bunhLE=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/sqlite-utils/default.nix b/pkgs/development/python-modules/sqlite-utils/default.nix
index 2a29fda8daaee..c3ad45ec13a6f 100644
--- a/pkgs/development/python-modules/sqlite-utils/default.nix
+++ b/pkgs/development/python-modules/sqlite-utils/default.nix
@@ -8,8 +8,11 @@
 , python-dateutil
 , sqlite-fts4
 , tabulate
+, pluggy
 , pytestCheckHook
 , hypothesis
+, testers
+, sqlite-utils
 }:
 
 buildPythonPackage rec {
@@ -35,6 +38,7 @@ buildPythonPackage rec {
     python-dateutil
     sqlite-fts4
     tabulate
+    pluggy
   ];
 
   nativeCheckInputs = [
@@ -46,6 +50,10 @@ buildPythonPackage rec {
     "sqlite_utils"
   ];
 
+  passthru.tests.version = testers.testVersion {
+    package = sqlite-utils;
+  };
+
   meta = with lib; {
     description = "Python CLI utility and library for manipulating SQLite databases";
     homepage = "https://github.com/simonw/sqlite-utils";
diff --git a/pkgs/development/python-modules/subarulink/default.nix b/pkgs/development/python-modules/subarulink/default.nix
index a73ad1bc1c6f1..d08fe36473ac8 100644
--- a/pkgs/development/python-modules/subarulink/default.nix
+++ b/pkgs/development/python-modules/subarulink/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "subarulink";
-  version = "0.7.6-1";
+  version = "0.7.7";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "G-Two";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-/VaGiOnPyTHSwkxlQtwyIZohD3QK897kapmM3S8bHtM=";
+    hash = "sha256-SrOFKXh/wG2+HKaLvyNP6/Le9R3Ri7+/xsUBAazo7js=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/sure/default.nix b/pkgs/development/python-modules/sure/default.nix
index 3252011450d33..991c881020566 100644
--- a/pkgs/development/python-modules/sure/default.nix
+++ b/pkgs/development/python-modules/sure/default.nix
@@ -5,30 +5,20 @@
 , six
 , mock
 , isPyPy
-, pythonOlder
-, fetchpatch
 }:
 
 buildPythonPackage rec {
   pname = "sure";
-  version = "2.0.0";
+  version = "2.0.1";
   format = "setuptools";
 
   disabled = isPyPy;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "34ae88c846046742ef074036bf311dc90ab152b7bc09c342b281cebf676727a2";
+    sha256 = "sha256-yPxvq8Dn9phO6ruUJUDkVkblvvC7mf5Z4C2mNOTUuco=";
   };
 
-  patches = [
-    # https://github.com/gabrielfalcao/sure/issues/169
-    (fetchpatch {
-      url = "https://raw.githubusercontent.com/archlinux/svntogit-community/055baa81cd987e566de62a5657513937521a90d4/trunk/python310.diff";
-      hash = "sha256-BKylV8xpTOuO/X4hzZKpoIcAQcdAK0kXYENRad7AGPc=";
-    })
-  ];
-
   propagatedBuildInputs = [
     six
     mock
@@ -38,8 +28,6 @@ buildPythonPackage rec {
     rednose
   ];
 
-  doCheck = pythonOlder "3.11";
-
   pythonImportsCheck = [
     "sure"
   ];
@@ -47,7 +35,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Utility belt for automated testing";
     homepage = "https://sure.readthedocs.io/";
-    changelog = "https://github.com/gabrielfalcao/sure/blob/${version}/CHANGELOG.md";
+    changelog = "https://github.com/gabrielfalcao/sure/blob/v${version}/CHANGELOG.md";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ ];
   };
diff --git a/pkgs/development/python-modules/tensorflow/default.nix b/pkgs/development/python-modules/tensorflow/default.nix
index d95678f7fc6b3..8d16f6921d2f8 100644
--- a/pkgs/development/python-modules/tensorflow/default.nix
+++ b/pkgs/development/python-modules/tensorflow/default.nix
@@ -448,7 +448,7 @@ let
       license = licenses.asl20;
       maintainers = with maintainers; [ abbradar ];
       platforms = with platforms; linux ++ darwin;
-      broken = !(xlaSupport -> cudaSupport);
+      broken = !(xlaSupport -> cudaSupport) || python.pythonVersion == "3.11";
     } // lib.optionalAttrs stdenv.isDarwin {
       timeout = 86400; # 24 hours
       maxSilent = 14400; # 4h, double the default of 7200s
diff --git a/pkgs/development/python-modules/tpm2-pytss/default.nix b/pkgs/development/python-modules/tpm2-pytss/default.nix
index 3c18e7cbdc035..b732988db39df 100644
--- a/pkgs/development/python-modules/tpm2-pytss/default.nix
+++ b/pkgs/development/python-modules/tpm2-pytss/default.nix
@@ -6,7 +6,6 @@
 , asn1crypto
 , cffi
 , cryptography
-, ibm-sw-tpm2
 , pkgconfig # see nativeBuildInputs
 , pkg-config # see nativeBuildInputs
 , pycparser
@@ -15,6 +14,8 @@
 , pyyaml
 , setuptools-scm
 , tpm2-tss
+, tpm2-tools
+, swtpm
 }:
 
 buildPythonPackage rec {
@@ -40,8 +41,22 @@ buildPythonPackage rec {
       url = "https://github.com/baloo/tpm2-pytss/commit/099c069f28cfcd0a3019adebfeafa976f9395221.patch";
       sha256 = "sha256-wU2WfLYFDmkhGzYornZ386tB3zb3GYfGOTc+/QOFb1o=";
     })
+
+    # Lookup tcti via getinfo not system's ld_library_path
+    # https://github.com/tpm2-software/tpm2-pytss/pull/525
+    (fetchpatch {
+      url = "https://github.com/tpm2-software/tpm2-pytss/commit/97289a08ddf44f7bdccdd122d6055c69e12dc584.patch";
+      sha256 = "sha256-VFq3Hv4I8U8ifP/aSjyu0BiW/4jfPlRDKqRcqUGw6UQ=";
+    })
+
+    # Fix hardcoded `fapi-config.json` configuration path
+    ./fapi-config.patch
   ];
 
+  postPatch = ''
+    sed -i "s#@TPM2_TSS@#${tpm2-tss.out}#" src/tpm2_pytss/FAPI.py
+  '';
+
   nativeBuildInputs = [
     cffi
     pkgconfig # this is the Python module
@@ -60,12 +75,12 @@ buildPythonPackage rec {
     pyyaml
   ];
 
-  # https://github.com/tpm2-software/tpm2-pytss/issues/341
-  doCheck = false;
+  doCheck = true;
 
   nativeCheckInputs = [
-    ibm-sw-tpm2
     pytestCheckHook
+    tpm2-tools
+    swtpm
   ];
 
   pythonImportsCheck = [
diff --git a/pkgs/development/python-modules/tpm2-pytss/fapi-config.patch b/pkgs/development/python-modules/tpm2-pytss/fapi-config.patch
new file mode 100644
index 0000000000000..f6245ef304674
--- /dev/null
+++ b/pkgs/development/python-modules/tpm2-pytss/fapi-config.patch
@@ -0,0 +1,12 @@
+diff --git a/src/tpm2_pytss/FAPI.py b/src/tpm2_pytss/FAPI.py
+index 916eda6..1afba3f 100644
+--- a/src/tpm2_pytss/FAPI.py
++++ b/src/tpm2_pytss/FAPI.py
+@@ -23,6 +23,7 @@ logger = logging.getLogger(__name__)
+ 
+ FAPI_CONFIG_ENV = "TSS2_FAPICONF"
+ FAPI_CONFIG_PATHS = [
++    "@TPM2_TSS@/etc/tpm2-tss/fapi-config.json",
+     "/etc/tpm2-tss/fapi-config.json",
+     "/usr/local/etc/tpm2-tss/fapi-config.json",
+ ]
diff --git a/pkgs/development/python-modules/transformers/default.nix b/pkgs/development/python-modules/transformers/default.nix
index dbeb2a01ca09c..cd5af01e0b9ae 100644
--- a/pkgs/development/python-modules/transformers/default.nix
+++ b/pkgs/development/python-modules/transformers/default.nix
@@ -51,7 +51,7 @@
 
 buildPythonPackage rec {
   pname = "transformers";
-  version = "4.30.2";
+  version = "4.31.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -60,14 +60,13 @@ buildPythonPackage rec {
     owner = "huggingface";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-S1jQsBObKGZY9tlbcNcgchwUs/eeaohYxOtbN1cPa2Q=";
+    hash = "sha256-YbLI/CkRto8G4bV7ijUkB/0cc7LkfNBQxL1iNv8aWW4=";
   };
 
   propagatedBuildInputs = [
     filelock
     huggingface-hub
     numpy
-    protobuf
     packaging
     pyyaml
     regex
@@ -91,8 +90,11 @@ buildPythonPackage rec {
     ja = [
       # fugashi
       # ipadic
-      # unidic_lite
+      # rhoknp
+      # sudachidict_core
+      # sudachipy
       # unidic
+      # unidic_lite
     ];
     sklearn = [
       scikit-learn
@@ -122,6 +124,7 @@ buildPythonPackage rec {
       onnxconverter-common
       tf2onnx
       onnxruntime
+      onnxruntime-tools
     ];
     modelcreation = [
       cookiecutter
diff --git a/pkgs/development/python-modules/ttstokenizer/default.nix b/pkgs/development/python-modules/ttstokenizer/default.nix
new file mode 100644
index 0000000000000..554e0341fb164
--- /dev/null
+++ b/pkgs/development/python-modules/ttstokenizer/default.nix
@@ -0,0 +1,38 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, anyascii
+, inflect
+, nltk
+, numpy
+}:
+
+buildPythonPackage rec {
+  pname = "ttstokenizer";
+  version = "1.0.0";
+  format = "setuptools";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-HtDXDKlZ3jpwIgb5DvaqurEkRe8TRJ2xqKl2IKElnKU=";
+  };
+
+  propagatedBuildInputs = [
+    anyascii
+    inflect
+    nltk
+    numpy
+  ];
+
+  pythonImportsCheck = [ "ttstokenizer" ];
+
+  # no tests
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Tokenizer for Text to Speech (TTS) models";
+    homepage = "https://pypi.org/project/ttstokenizer";
+    license = with licenses; [ asl20 ];
+    maintainers = with maintainers; [ happysalada ];
+  };
+}
diff --git a/pkgs/development/python-modules/types-pillow/default.nix b/pkgs/development/python-modules/types-pillow/default.nix
index fa0b37055c3b5..c3c63592624f2 100644
--- a/pkgs/development/python-modules/types-pillow/default.nix
+++ b/pkgs/development/python-modules/types-pillow/default.nix
@@ -5,13 +5,13 @@
 
 buildPythonPackage rec {
   pname = "types-pillow";
-  version = "9.5.0.4";
+  version = "10.0.0.2";
   format = "setuptools";
 
   src = fetchPypi {
     inherit version;
     pname = "types-Pillow";
-    hash = "sha256-8bavR6vRUYR+4lkR/+unhImbx9x/nrqMpqWqxSKwEu8=";
+    hash = "sha256-/gk4CrItQSztmJoGfp7kr3Gfo6R7obU7IytGUUqHEEI=";
   };
 
   # Modules doesn't have tests
diff --git a/pkgs/development/python-modules/types-tabulate/default.nix b/pkgs/development/python-modules/types-tabulate/default.nix
index 2be7a114282fd..123aaa346171e 100644
--- a/pkgs/development/python-modules/types-tabulate/default.nix
+++ b/pkgs/development/python-modules/types-tabulate/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "types-tabulate";
-  version = "0.9.0.2";
+  version = "0.9.0.3";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-HdQyKjoUbpBzFpx0J4uPFKWOuZBcqdsNJYjfQI8nysk=";
+    hash = "sha256-GXZR+dZGcZPNFm2FABFqbTom8qTrLbCTvJU17hwL5V4=";
   };
 
   # Module doesn't have tests
diff --git a/pkgs/development/python-modules/ulid-transform/default.nix b/pkgs/development/python-modules/ulid-transform/default.nix
index e22985753812c..d6ec6611b7551 100644
--- a/pkgs/development/python-modules/ulid-transform/default.nix
+++ b/pkgs/development/python-modules/ulid-transform/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "ulid-transform";
-  version = "0.7.2";
+  version = "0.8.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "bdraco";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-AQeCgos/6BCvITTSnBYxefvAMWHHbJBsmbVMACl6L3o=";
+    hash = "sha256-UOAeIVjn3Z5zC4jZP0y+XH1HjYesxjGmFYpEknu8cag=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/unstructured-inference/default.nix b/pkgs/development/python-modules/unstructured-inference/default.nix
index d8bb5e2896d37..e03d2a6f45444 100644
--- a/pkgs/development/python-modules/unstructured-inference/default.nix
+++ b/pkgs/development/python-modules/unstructured-inference/default.nix
@@ -21,14 +21,14 @@
 
 buildPythonPackage rec {
   pname = "unstructured-inference";
-  version = "0.5.5";
+  version = "0.5.7";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "Unstructured-IO";
     repo = "unstructured-inference";
-    rev = version;
-    hash = "sha256-Oma6vPoiA+5czauYFgsU1W6UECDRurYmBTaCSiEILNs=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-xlsihi1ZTNgdnSk3H8rMBRi4AAxPKNFqygcIMtM/jE0=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/vsure/default.nix b/pkgs/development/python-modules/vsure/default.nix
index b204c6c79bfff..583a17c0704a7 100644
--- a/pkgs/development/python-modules/vsure/default.nix
+++ b/pkgs/development/python-modules/vsure/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "vsure";
-  version = "2.6.2";
+  version = "2.6.4";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-8AqxLIrsFtAazH+ZqhXbkYNhlAhQ5XL/tNFRAGLh2kk=";
+    hash = "sha256-d9t/zO1ROCndS+5kiFVyDbs+96z7GMHaH6T82b8hl40=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/whirlpool-sixth-sense/default.nix b/pkgs/development/python-modules/whirlpool-sixth-sense/default.nix
index 36ba90d6d7152..5985b96d6dc94 100644
--- a/pkgs/development/python-modules/whirlpool-sixth-sense/default.nix
+++ b/pkgs/development/python-modules/whirlpool-sixth-sense/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "whirlpool-sixth-sense";
-  version = "0.18.3";
+  version = "0.18.4";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "abmantis";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-GvebWPO+jKDJk7yuMgEctlvKLXeo95GlJUSuI+FMCRU=";
+    hash = "sha256-9dwkylr+aCTGw/VIY90nxq8IkqBASeEfdr5JGz7pZrc=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/wyoming/default.nix b/pkgs/development/python-modules/wyoming/default.nix
index 984e3a285d526..feb7106c513c4 100644
--- a/pkgs/development/python-modules/wyoming/default.nix
+++ b/pkgs/development/python-modules/wyoming/default.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname = "wyoming";
-  version = "0.0.1";
+  version = "1.1.0";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-EIUbKL8DNFNNGmLRcu12mlw4H+gAHmCUw09eLG0s8+M=";
+    hash = "sha256-I5GgDu9HRj6fIX66q3RuDeB13h6dpwxrSBxKhzE+Fus=";
   };
 
   pythonImportsCheck = [
diff --git a/pkgs/development/python-modules/xiaomi-ble/default.nix b/pkgs/development/python-modules/xiaomi-ble/default.nix
index 62bcee4ca7c1a..45edddf408c01 100644
--- a/pkgs/development/python-modules/xiaomi-ble/default.nix
+++ b/pkgs/development/python-modules/xiaomi-ble/default.nix
@@ -1,8 +1,10 @@
 { lib
+, bleak
 , bleak-retry-connector
 , bluetooth-data-tools
 , bluetooth-sensor-state-data
 , buildPythonPackage
+, cryptography
 , fetchFromGitHub
 , home-assistant-bluetooth
 , poetry-core
@@ -14,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "xiaomi-ble";
-  version = "0.18.2";
+  version = "0.21.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -23,17 +25,25 @@ buildPythonPackage rec {
     owner = "Bluetooth-Devices";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-cYmy7tUO3UcSNCpod4sa5R+9K6qB+w0Xtp3Fjbp6VTw=";
+    hash = "sha256-5AzqsCWDgGhJ1EgJrbA8QHjP/Y14cIdSA0GKwZMrxX0=";
   };
 
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace " --cov=xiaomi_ble --cov-report=term-missing:skip-covered" "" \
+      --replace 'pycryptodomex = ">=3.18.0"' 'pycryptodomex = ">=3.17.0"'
+  '';
+
   nativeBuildInputs = [
     poetry-core
   ];
 
   propagatedBuildInputs = [
+    bleak
     bleak-retry-connector
     bluetooth-data-tools
     bluetooth-sensor-state-data
+    cryptography
     home-assistant-bluetooth
     pycryptodomex
     sensor-state-data
@@ -43,11 +53,6 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  postPatch = ''
-    substituteInPlace pyproject.toml \
-      --replace " --cov=xiaomi_ble --cov-report=term-missing:skip-covered" ""
-  '';
-
   pythonImportsCheck = [
     "xiaomi_ble"
   ];
diff --git a/pkgs/development/python-modules/yabadaba/default.nix b/pkgs/development/python-modules/yabadaba/default.nix
index c83b61bafe5df..bc8146a91489d 100644
--- a/pkgs/development/python-modules/yabadaba/default.nix
+++ b/pkgs/development/python-modules/yabadaba/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "yabadaba";
-  version = "0.2.0";
+  version = "0.2.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "usnistgov";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-PXmkRbCFag2WAtodwgb3kX+hRDZdCKKi/YwAMSQePxQ=";
+    hash = "sha256-D3dzO+vhf1utBMmX2RUgvxuaPneFnXDseqfz6CMDmv4=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/yeelight/default.nix b/pkgs/development/python-modules/yeelight/default.nix
index 5a19645b6b1fe..05ca35fa759e1 100644
--- a/pkgs/development/python-modules/yeelight/default.nix
+++ b/pkgs/development/python-modules/yeelight/default.nix
@@ -1,4 +1,5 @@
 { lib
+, async-timeout
 , buildPythonPackage
 , fetchFromGitLab
 , flit-core
@@ -10,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "yeelight";
-  version = "0.7.11";
+  version = "0.7.12";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +20,7 @@ buildPythonPackage rec {
     owner = "stavros";
     repo = "python-yeelight";
     rev = "refs/tags/v${version}";
-    hash = "sha256-NKW8f0Xi8kACot+qunJp+tz3ioSa5UGoeLmbPfjBaXg=";
+    hash = "sha256-oTlfrx3YN6mPxu7+xzTmYG2L7KulFDlB3+oOhVOFSA8=";
   };
 
   nativeBuildInputs = [ flit-core ];
@@ -27,6 +28,8 @@ buildPythonPackage rec {
   propagatedBuildInputs = [
     future
     ifaddr
+  ] ++ lib.optionals (pythonOlder "3.11") [
+    async-timeout
   ];
 
   nativeCheckInputs = [
diff --git a/pkgs/development/python-modules/yolink-api/default.nix b/pkgs/development/python-modules/yolink-api/default.nix
index 766cfbe6b0e53..a2ac657c9d6ad 100644
--- a/pkgs/development/python-modules/yolink-api/default.nix
+++ b/pkgs/development/python-modules/yolink-api/default.nix
@@ -1,8 +1,8 @@
 { lib
 , aiohttp
+, aiomqtt
 , buildPythonPackage
 , fetchFromGitHub
-, asyncio-mqtt
 , pydantic
 , pythonOlder
 , setuptools
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "yolink-api";
-  version = "0.2.9";
+  version = "0.3.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "YoSmart-Inc";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-DbdoGNwz7HtscnDv+rOI2zcs4i4Dl1DpRZNH/DOcJHc=";
+    hash = "sha256-t/e3DSpmrH48I6ZAmDljL5YblsY2/UWgPCcodi2A7Ro=";
   };
 
   nativeBuildInputs = [
@@ -29,7 +29,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     aiohttp
-    asyncio-mqtt
+    aiomqtt
     pydantic
     tenacity
   ];
diff --git a/pkgs/development/python-modules/zeroconf/default.nix b/pkgs/development/python-modules/zeroconf/default.nix
index 19e4abdccc71f..5265b9ae7a394 100644
--- a/pkgs/development/python-modules/zeroconf/default.nix
+++ b/pkgs/development/python-modules/zeroconf/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "zeroconf";
-  version = "0.70.0";
+  version = "0.72.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "jstasiak";
     repo = "python-zeroconf";
     rev = "refs/tags/${version}";
-    hash = "sha256-AXzPx6T82TYQhoHFkOeNDawD6xnsIBDk35Jlp+Jt5ZQ=";
+    hash = "sha256-Km7qZEXp0Srzt7XAq9D/U8WI/7go81Lvgx3Xck24XDc=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/zha-quirks/default.nix b/pkgs/development/python-modules/zha-quirks/default.nix
index bf5f6386ac587..29ffbdeb3709f 100644
--- a/pkgs/development/python-modules/zha-quirks/default.nix
+++ b/pkgs/development/python-modules/zha-quirks/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "zha-quirks";
-  version = "0.0.101";
+  version = "0.0.102";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "zigpy";
     repo = "zha-device-handlers";
     rev = "refs/tags/${version}";
-    hash = "sha256-YZGsDSrxPpxluxyRkOPyvJLQ9YADuZ8NYcznIGZ0BYg=";
+    hash = "sha256-TsL6JRxYf8KqmLqfN0nosxaTbzezlP4Q0Fb876WeTHI=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/ruby-modules/with-packages/Gemfile b/pkgs/development/ruby-modules/with-packages/Gemfile
index b6cfd674cfcf5..30cd0f6b72b99 100644
--- a/pkgs/development/ruby-modules/with-packages/Gemfile
+++ b/pkgs/development/ruby-modules/with-packages/Gemfile
@@ -128,6 +128,7 @@ gem 'rspec'
 gem 'rubocop'
 gem 'rubocop-performance'
 gem 'ruby-libvirt'
+gem 'ruby-lsp'
 gem 'ruby-lxc'
 gem 'ruby-progressbar'
 gem 'ruby-terminfo'
diff --git a/pkgs/development/tools/allure/default.nix b/pkgs/development/tools/allure/default.nix
index a0ede8a0b9643..511f8a7383519 100644
--- a/pkgs/development/tools/allure/default.nix
+++ b/pkgs/development/tools/allure/default.nix
@@ -2,7 +2,7 @@
 
 let
   pname = "allure";
-  version = "2.23.0";
+  version = "2.23.1";
 in
 stdenv.mkDerivation rec {
   inherit pname version;
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://github.com/allure-framework/allure2/releases/download/${version}/allure-${version}.tgz";
-    sha256 = "sha256-RBe9S6eHnKhtar/rLoLs6gl2TJtCNfoGrYLDbE6CpRI=";
+    sha256 = "sha256-B06QKq6X9epmRt1wbGORzh8fLUXRAHo1Tv2hWUXJ9Ds=";
   };
   dontConfigure = true;
   dontBuild = true;
diff --git a/pkgs/development/tools/analysis/codeql/default.nix b/pkgs/development/tools/analysis/codeql/default.nix
index 8a2789e0bc872..3825f81bcf100 100644
--- a/pkgs/development/tools/analysis/codeql/default.nix
+++ b/pkgs/development/tools/analysis/codeql/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "codeql";
-  version = "2.14.0";
+  version = "2.14.1";
 
   dontConfigure = true;
   dontBuild = true;
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
 
   src = fetchzip {
     url = "https://github.com/github/codeql-cli-binaries/releases/download/v${version}/codeql.zip";
-    sha256 = "sha256-ogodg7BFacM5gMMB04R7SBPiVGHBea/lwzTZo04jtWY=";
+    sha256 = "sha256-6gq70bF954CNUS1t38o+1YqWZORGgxM1CWcbUnRyhOU=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/tools/analysis/ikos/default.nix b/pkgs/development/tools/analysis/ikos/default.nix
index a1eec36204bf7..65d5f0e91bd88 100644
--- a/pkgs/development/tools/analysis/ikos/default.nix
+++ b/pkgs/development/tools/analysis/ikos/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchFromGitHub, cmake, boost, tbb
+{ stdenv, lib, fetchFromGitHub, fetchpatch, cmake, boost, tbb
 , gmp, llvm, clang, sqlite, python3
 , ocamlPackages, mpfr, ppl, doxygen, graphviz
 }:
@@ -11,13 +11,18 @@ in
 
 stdenv.mkDerivation rec {
   pname = "ikos";
-  version = "3.0";
+  version = "3.1";
 
   src = fetchFromGitHub {
     owner = "NASA-SW-VnV";
     repo = "ikos";
     rev = "v${version}";
-    sha256 = "0k3kp1af0qx3l1x6a4sl4fm8qlwchjvwkvs2ck0fhfnc62q2im5f";
+    hash = "sha256-scaFkUhCkIi41iR6CGPbEndzXkgqTKMb3PDNvhgVbCE=";
+  };
+
+  patches = fetchpatch {
+    url = "https://github.com/NASA-SW-VnV/ikos/commit/2e647432427b3f0dbb639e0371d976ab6406f290.patch";
+    hash = "sha256-ffzjlqEp4qp76Kwl5zpyQlg/xUMt8aLDSSP4XA4ndS8=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/tools/api-linter/default.nix b/pkgs/development/tools/api-linter/default.nix
index 593d7d7a681b5..e58d5f093a3b4 100644
--- a/pkgs/development/tools/api-linter/default.nix
+++ b/pkgs/development/tools/api-linter/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "api-linter";
-  version = "1.54.1";
+  version = "1.55.0";
 
   src = fetchFromGitHub {
     owner = "googleapis";
     repo = "api-linter";
     rev = "v${version}";
-    hash = "sha256-Z3VhjBI1WYLs3uEONgbItkqUX8P5ZTZ84B1YC6hPgu8=";
+    hash = "sha256-aywqb//fhygphjX3suVfqNIG0saPPnhgLPA/DBpSVQY=";
   };
 
-  vendorHash = "sha256-EXmS3ys5uFY+7vv22+a/82V2RjTaEMas8SFOXwSS9qY=";
+  vendorHash = "sha256-oK1d9aQ43Zj+Xt4tMhn+Lz1Q09psqqdTUqbgEdkuBvg=";
 
   subPackages = [ "cmd/api-linter" ];
 
@@ -23,7 +23,7 @@ buildGoModule rec {
     "-w"
   ];
 
-  # reference: https://github.com/googleapis/api-linter/blob/v1.54.1/.github/workflows/release.yaml#L76
+  # reference: https://github.com/googleapis/api-linter/blob/v1.55.0/.github/workflows/release.yaml#L76
   preBuild = ''
     cat > cmd/api-linter/version.go <<EOF
     package main
diff --git a/pkgs/development/tools/apkid/default.nix b/pkgs/development/tools/apkid/default.nix
index 06d798e481da7..b4c02c8eac195 100644
--- a/pkgs/development/tools/apkid/default.nix
+++ b/pkgs/development/tools/apkid/default.nix
@@ -5,14 +5,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "apkid";
-  version = "2.1.4";
+  version = "2.1.5";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "rednaga";
     repo = "APKiD";
     rev = "refs/tags/v${version}";
-    hash = "sha256-ASxly2dH+TnwvU3CYD52XbC79n2dku01j3+YHOZ745U=";
+    hash = "sha256-yO3k2kT043/KkiCjDnNUlqxX86kQqMZ+CghD+yon3r4=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
diff --git a/pkgs/development/tools/azcopy/default.nix b/pkgs/development/tools/azcopy/default.nix
index 1dc747d863662..3ab48462dbbcd 100644
--- a/pkgs/development/tools/azcopy/default.nix
+++ b/pkgs/development/tools/azcopy/default.nix
@@ -2,18 +2,18 @@
 
 buildGoModule rec {
   pname = "azure-storage-azcopy";
-  version = "10.19.0";
+  version = "10.20.0";
 
   src = fetchFromGitHub {
     owner = "Azure";
     repo = "azure-storage-azcopy";
     rev = "v${version}";
-    sha256 = "sha256-NmiLNkecd5u8r1L6e3jdAGP4HCP1udWxM2jRZkFe1qI=";
+    sha256 = "sha256-0NUOOJu3iuKBlIi4z1Jv8e00BTsgk0dpLOgfpIKSc2A=";
   };
 
   subPackages = [ "." ];
 
-  vendorHash = "sha256-XurlmsKblDCX3ldFEmYmK24NEfdw9ahiUWgsxYGwz48=";
+  vendorHash = "sha256-byFroeXRMepN9RYak2++tT9IE8ZbT+0qJAyipHkE5WE=";
 
   doCheck = false;
 
diff --git a/pkgs/development/tools/bacon/default.nix b/pkgs/development/tools/bacon/default.nix
index 0054617ff1904..6dae41dfd6dbd 100644
--- a/pkgs/development/tools/bacon/default.nix
+++ b/pkgs/development/tools/bacon/default.nix
@@ -7,16 +7,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "bacon";
-  version = "2.12.0";
+  version = "2.12.1";
 
   src = fetchFromGitHub {
     owner = "Canop";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-4uvR+KATP1sYPNimU0qQRtVo7zX0xIfbn7nqynZwwfw=";
+    hash = "sha256-oD60D98mPQV454uld+g6FVKAxpyjwrfMAVfQcVPp9Fg=";
   };
 
-  cargoHash = "sha256-PFPym2XxQrqhxgV67qMKcblL8dW7poX85YxzR5Xf9qU=";
+  cargoHash = "sha256-lX1IXVGVCe/7jbkjIu+ammWi0BgE+r1tpsZaqz4WLPY=";
 
   buildInputs = lib.optionals stdenv.isDarwin [
     CoreServices
diff --git a/pkgs/development/tools/bearer/default.nix b/pkgs/development/tools/bearer/default.nix
index 8fd6b7245e955..483972a0db741 100644
--- a/pkgs/development/tools/bearer/default.nix
+++ b/pkgs/development/tools/bearer/default.nix
@@ -7,16 +7,16 @@
 
 buildGoModule rec {
   pname = "bearer";
-  version = "1.16.0";
+  version = "1.17.0";
 
   src = fetchFromGitHub {
     owner = "bearer";
     repo = "bearer";
     rev = "refs/tags/v${version}";
-    hash = "sha256-u6dekNeUkqpnDmO1T9p90B1MfugQlvkFXQXyBC3dLVc=";
+    hash = "sha256-cN+YEdNtxt/DDn4ZbUnDg0rHgSJ3xL2LmmtZQ+eKNZs=";
   };
 
-  vendorHash = "sha256-eusdAz70KtkcizOayT7R426ZlHjuhmpq0/ZnL+2MJlU=";
+  vendorHash = "sha256-d2QMNxTM7Cbr5X2Y1J9VBleVjMy9wZeEItYkChaYBR0=";
 
   subPackages = [
     "cmd/bearer"
diff --git a/pkgs/development/tools/build-managers/apache-maven/build-package.nix b/pkgs/development/tools/build-managers/apache-maven/build-package.nix
index 5353572af13e0..fd0457789ade9 100644
--- a/pkgs/development/tools/build-managers/apache-maven/build-package.nix
+++ b/pkgs/development/tools/build-managers/apache-maven/build-package.nix
@@ -16,7 +16,7 @@
 # originally extracted from dbeaver
 # created to allow using maven packages in the same style as rust
 
-stdenv.mkDerivation (rec {
+let
   fetchedMavenDeps = stdenv.mkDerivation ({
     name = "${pname}-${version}-maven-deps";
     inherit src patches;
@@ -44,6 +44,13 @@ stdenv.mkDerivation (rec {
     outputHashMode = "recursive";
     outputHash = mvnHash;
   } // mvnFetchExtraArgs);
+in
+stdenv.mkDerivation (builtins.removeAttrs args [ "mvnFetchExtraArgs" ] // {
+  inherit fetchedMavenDeps;
+
+  nativeBuildInputs = args.nativeBuildInputs or [ ] ++ [
+    maven
+  ];
 
   buildPhase = ''
     runHook preBuild
@@ -53,4 +60,8 @@ stdenv.mkDerivation (rec {
 
     runHook postBuild
   '';
-} // builtins.removeAttrs args [ "mvnFetchExtraArgs" ])
+
+  meta = args.meta or { } // {
+    platforms = args.meta.platforms or maven.meta.platforms;
+  };
+})
diff --git a/pkgs/development/tools/build-managers/buck2/default.nix b/pkgs/development/tools/build-managers/buck2/default.nix
index 9a743beb2be16..bb4e224f6eb27 100644
--- a/pkgs/development/tools/build-managers/buck2/default.nix
+++ b/pkgs/development/tools/build-managers/buck2/default.nix
@@ -30,7 +30,7 @@ let
     aarch64-linux  = "aarch64-unknown-linux-musl";
   }."${stdenv.hostPlatform.system}" or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
 
-  buck2-version = "2023-07-18";
+  buck2-version = "2023-08-01";
   src =
     let
       hashes = builtins.fromJSON (builtins.readFile ./hashes.json);
diff --git a/pkgs/development/tools/build-managers/buck2/hashes.json b/pkgs/development/tools/build-managers/buck2/hashes.json
index 3f44cb318aa2e..69a7a0f72f3a0 100644
--- a/pkgs/development/tools/build-managers/buck2/hashes.json
+++ b/pkgs/development/tools/build-managers/buck2/hashes.json
@@ -1,6 +1,6 @@
 { "_comment": "@generated by pkgs/development/tools/build-managers/buck2/update.sh"
-, "x86_64-linux": "sha256-vYEE1VXzT9qT2ImYYuWPCw/1mTrzngrUzxMBNldaUEo="
-, "x86_64-darwin": "sha256-0S82F2m6CX7ra/uByBuaGMVXP1ECN7Ydi9VEyrxYdTs="
-, "aarch64-linux": "sha256-zghI4zvm/MN8plIB+nuv/tfd8DJ7mEXMc39PW55ieds="
-, "aarch64-darwin": "sha256-euzixGUDb3W9B86HYPAgcNiTu3jxUVULAfNMKkFz5gU="
+, "x86_64-linux": "sha256-wZULK2FPZ4GtQ5MMQmgfmtbMHJ7sPbue2RdVY0dmRuE="
+, "x86_64-darwin": "sha256-FmayArw2gswKjAEv0AzpFZNiXNx3GmJnPwH9g+Y/BGU="
+, "aarch64-linux": "sha256-3M1dRIFU0CwoVCbmq3oghhz51wW37melzt9hdIHqzzY="
+, "aarch64-darwin": "sha256-UAe73UNDSLL8OHqzAd+NOwwtW4bpVBz/aL4wdy3VuYg="
 }
diff --git a/pkgs/development/tools/codespelunker/default.nix b/pkgs/development/tools/codespelunker/default.nix
index 2515fc7931a24..107b4e3b099f8 100644
--- a/pkgs/development/tools/codespelunker/default.nix
+++ b/pkgs/development/tools/codespelunker/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "codespelunker";
-  version = "1.2.0";
+  version = "1.3.0";
 
   src = fetchFromGitHub {
     owner = "boyter";
     repo = "cs";
     rev = "v${version}";
-    hash = "sha256-kWKDr8KKD3M5MyRuEMMZXvTqflDidkMsu2fN9N0s50w=";
+    hash = "sha256-9Od2SOUYf4ij+UWOX/1kWS+qUZRje1wjzSAzBc5qk8s=";
   };
 
   vendorHash = null;
diff --git a/pkgs/development/tools/continuous-integration/dagger/default.nix b/pkgs/development/tools/continuous-integration/dagger/default.nix
index a38f6329b5273..8ebc464cb346a 100644
--- a/pkgs/development/tools/continuous-integration/dagger/default.nix
+++ b/pkgs/development/tools/continuous-integration/dagger/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "dagger";
-  version = "0.6.3";
+  version = "0.6.4";
 
   src = fetchFromGitHub {
     owner = "dagger";
     repo = "dagger";
     rev = "v${version}";
-    hash = "sha256-9Mv+We4VtsnnZJJF5P3+1EhrX6QrcV7hEzYaLqai5IU=";
+    hash = "sha256-ms736KXQjqWnIU7WHQ4k1r6qwCp07N6tufCx9s9biVc=";
   };
 
-  vendorHash = "sha256-ptfrcsE3YQBqChxbOjkO3xia6ZTI0fGJNXA+q32m9wY=";
+  vendorHash = "sha256-zssmvu1s7O2DdvjxUYkR13CKOe4EYn50RFRRIPBJ9qg=";
   proxyVendor = true;
 
   subPackages = [
diff --git a/pkgs/development/tools/continuous-integration/github-runner/default.nix b/pkgs/development/tools/continuous-integration/github-runner/default.nix
index bf45ca1eec5b6..6ccc923ec30d0 100644
--- a/pkgs/development/tools/continuous-integration/github-runner/default.nix
+++ b/pkgs/development/tools/continuous-integration/github-runner/default.nix
@@ -17,13 +17,13 @@
 }:
 buildDotnetModule rec {
   pname = "github-runner";
-  version = "2.306.0";
+  version = "2.307.1";
 
   src = fetchFromGitHub {
     owner = "actions";
     repo = "runner";
     rev = "v${version}";
-    hash = "sha256-wffHekmyMIGTpUHBPgcxAOPRoTDuuWJZh9pJly3I2eQ=";
+    hash = "sha256-h/JcOw7p/loBD6aj7NeZyqK3GtapNkjWTYw0G6OCmVQ=";
     leaveDotGit = true;
     postFetch = ''
       git -C $out rev-parse --short HEAD > $out/.git-revision
diff --git a/pkgs/development/tools/continuous-integration/woodpecker/agent.nix b/pkgs/development/tools/continuous-integration/woodpecker/agent.nix
index 2865711d507c3..5bbc4cf99ceaa 100644
--- a/pkgs/development/tools/continuous-integration/woodpecker/agent.nix
+++ b/pkgs/development/tools/continuous-integration/woodpecker/agent.nix
@@ -1,11 +1,10 @@
-{ lib, buildGoModule, callPackage, fetchFromGitHub }:
+{ buildGoModule, callPackage }:
 let
   common = callPackage ./common.nix { };
 in
 buildGoModule {
   pname = "woodpecker-agent";
-  inherit (common) version src ldflags postBuild;
-  vendorSha256 = null;
+  inherit (common) version src ldflags postInstall vendorHash;
 
   subPackages = "cmd/agent";
 
@@ -13,5 +12,6 @@ buildGoModule {
 
   meta = common.meta // {
     description = "Woodpecker Continuous Integration agent";
+    mainProgram = "woodpecker-agent";
   };
 }
diff --git a/pkgs/development/tools/continuous-integration/woodpecker/cli.nix b/pkgs/development/tools/continuous-integration/woodpecker/cli.nix
index b5eda9efb9173..efe6d5facb390 100644
--- a/pkgs/development/tools/continuous-integration/woodpecker/cli.nix
+++ b/pkgs/development/tools/continuous-integration/woodpecker/cli.nix
@@ -1,11 +1,10 @@
-{ lib, buildGoModule, callPackage, fetchFromGitHub }:
+{ buildGoModule, callPackage }:
 let
   common = callPackage ./common.nix { };
 in
 buildGoModule {
   pname = "woodpecker-cli";
-  inherit (common) version src ldflags postBuild;
-  vendorSha256 = null;
+  inherit (common) version src ldflags postInstall vendorHash;
 
   subPackages = "cmd/cli";
 
diff --git a/pkgs/development/tools/continuous-integration/woodpecker/common.nix b/pkgs/development/tools/continuous-integration/woodpecker/common.nix
index eec37c515f75e..5cf27e5cc31c1 100644
--- a/pkgs/development/tools/continuous-integration/woodpecker/common.nix
+++ b/pkgs/development/tools/continuous-integration/woodpecker/common.nix
@@ -1,11 +1,12 @@
 { lib, fetchFromGitHub }:
 let
-  version = "0.15.11";
-  srcHash = "sha256-iDcEkaR1ZvH7Q68sxbwOiP1WKbkiDhCOtkuipbjXHKM=";
-  yarnHash = "sha256-PY0BIBbjyi2DG+n5x/IPc0AwrFSwII4huMDU+FeZ/Sc=";
+  version = "1.0.0";
+  srcHash = "sha256-1HSSHR3myn1x75kO/70w1p21a7dHwFiC7iAH/KRoYsE=";
+  vendorHash = "sha256-UFTK3EK8eYB3/iKxycCIkSHdLsKGnDkYCpoFJSajm5M=";
+  yarnHash = "sha256-QNeQwWU36A05zaARWmqEOhfyZRW68OgF4wTonQLYQfs=";
 in
 {
-  inherit version yarnHash;
+  inherit version yarnHash vendorHash;
 
   src = fetchFromGitHub {
     owner = "woodpecker-ci";
@@ -14,8 +15,8 @@ in
     hash = srcHash;
   };
 
-  postBuild = ''
-    cd $GOPATH/bin
+  postInstall = ''
+    cd $out/bin
     for f in *; do
       mv -- "$f" "woodpecker-$f"
     done
diff --git a/pkgs/development/tools/continuous-integration/woodpecker/frontend.nix b/pkgs/development/tools/continuous-integration/woodpecker/frontend.nix
index ccd9a36b8c860..01767d6fe00eb 100644
--- a/pkgs/development/tools/continuous-integration/woodpecker/frontend.nix
+++ b/pkgs/development/tools/continuous-integration/woodpecker/frontend.nix
@@ -1,6 +1,19 @@
-{ lib, callPackage, fetchFromGitHub, fetchYarnDeps, mkYarnPackage }:
+{ lib, buildPackages, callPackage, fetchFromGitHub, fetchYarnDeps, mkYarnPackage }:
 let
   common = callPackage ./common.nix { };
+
+  esbuild_0_17_19 = buildPackages.esbuild.overrideAttrs (_: rec {
+    version = "0.17.19";
+
+    src = fetchFromGitHub {
+      owner = "evanw";
+      repo = "esbuild";
+      rev = "v${version}";
+      hash = "sha256-PLC7OJLSOiDq4OjvrdfCawZPfbfuZix4Waopzrj8qsU=";
+    };
+
+    vendorHash = "sha256-+BfxCyg0KkDQpHt/wycy/8CTG6YBA/VJvJFhhzUnSiQ=";
+  });
 in
 mkYarnPackage {
   pname = "woodpecker-frontend";
@@ -9,15 +22,19 @@ mkYarnPackage {
   src = "${common.src}/web";
 
   packageJSON = ./woodpecker-package.json;
+  yarnLock = ./yarn.lock;
+
   offlineCache = fetchYarnDeps {
-    yarnLock = "${common.src}/web/yarn.lock";
+    yarnLock = ./yarn.lock;
     hash = common.yarnHash;
   };
 
+  ESBUILD_BINARY_PATH = lib.getExe esbuild_0_17_19;
+
   buildPhase = ''
     runHook preBuild
 
-    yarn build
+    yarn --offline build
 
     runHook postBuild
   '';
diff --git a/pkgs/development/tools/continuous-integration/woodpecker/server.nix b/pkgs/development/tools/continuous-integration/woodpecker/server.nix
index d97412649b5db..874949dff2f49 100644
--- a/pkgs/development/tools/continuous-integration/woodpecker/server.nix
+++ b/pkgs/development/tools/continuous-integration/woodpecker/server.nix
@@ -1,11 +1,10 @@
-{ lib, buildGoModule, callPackage, fetchFromGitHub, woodpecker-frontend }:
+{ buildGoModule, callPackage, woodpecker-frontend }:
 let
   common = callPackage ./common.nix { };
 in
 buildGoModule {
   pname = "woodpecker-server";
-  inherit (common) version src ldflags postBuild;
-  vendorSha256 = null;
+  inherit (common) version src ldflags postInstall vendorHash;
 
   postPatch = ''
     cp -r ${woodpecker-frontend} web/dist
@@ -23,5 +22,6 @@ buildGoModule {
 
   meta = common.meta // {
     description = "Woodpecker Continuous Integration server";
+    mainProgram = "woodpecker-server";
   };
 }
diff --git a/pkgs/development/tools/continuous-integration/woodpecker/update.sh b/pkgs/development/tools/continuous-integration/woodpecker/update.sh
index b53e5b4239361..bfe948e8f5072 100755
--- a/pkgs/development/tools/continuous-integration/woodpecker/update.sh
+++ b/pkgs/development/tools/continuous-integration/woodpecker/update.sh
@@ -1,5 +1,5 @@
 #!/usr/bin/env nix-shell
-#!nix-shell -i bash -p nix wget prefetch-yarn-deps nix-prefetch-github jq
+#!nix-shell -i bash -p nix wget prefetch-yarn-deps nix-prefetch-github jq nix-prefetch pnpm-lock-export
 
 # shellcheck shell=bash
 
@@ -30,20 +30,24 @@ version="${version#v}"
 # Woodpecker repository
 src_hash=$(nix-prefetch-github woodpecker-ci woodpecker --rev "v${version}" | jq -r .hash)
 
+# Go modules
+vendorHash=$(nix-prefetch '{ sha256 }: (callPackage (import ./cli.nix) { }).goModules.overrideAttrs (_: { modHash = sha256; })')
+
 # Front-end dependencies
 woodpecker_src="https://raw.githubusercontent.com/woodpecker-ci/woodpecker/v$version"
 wget "${TOKEN_ARGS[@]}" "$woodpecker_src/web/package.json" -O woodpecker-package.json
 
-web_tmpdir=$(mktemp -d)
-trap 'rm -rf "$web_tmpdir"' EXIT
-pushd "$web_tmpdir"
-wget "${TOKEN_ARGS[@]}" "$woodpecker_src/web/yarn.lock"
+trap 'rm -rf pnpm-lock.yaml' EXIT
+wget "${TOKEN_ARGS[@]}" "$woodpecker_src/web/pnpm-lock.yaml"
+pnpm-lock-export --schema yarn.lock@v1
 yarn_hash=$(prefetch-yarn-deps yarn.lock)
-popd
 
 # Use friendlier hashes
+src_hash=$(nix hash to-sri --type sha256 "$src_hash")
+vendorHash=$(nix hash to-sri --type sha256 "$vendorHash")
 yarn_hash=$(nix hash to-sri --type sha256 "$yarn_hash")
 
 sed -i -E -e "s#version = \".*\"#version = \"$version\"#" common.nix
 sed -i -E -e "s#srcHash = \".*\"#srcHash = \"$src_hash\"#" common.nix
+sed -i -E -e "s#vendorHash = \".*\"#vendorHash = \"$vendorHash\"#" common.nix
 sed -i -E -e "s#yarnHash = \".*\"#yarnHash = \"$yarn_hash\"#" common.nix
diff --git a/pkgs/development/tools/continuous-integration/woodpecker/woodpecker-package.json b/pkgs/development/tools/continuous-integration/woodpecker/woodpecker-package.json
index 3caa2f3cbf7f0..f7aada656ae42 100644
--- a/pkgs/development/tools/continuous-integration/woodpecker/woodpecker-package.json
+++ b/pkgs/development/tools/continuous-integration/woodpecker/woodpecker-package.json
@@ -17,46 +17,60 @@
     "test": "echo 'No tests configured' && exit 0"
   },
   "dependencies": {
-    "@kyvg/vue3-notification": "2.3.4",
-    "ansi-to-html": "0.7.2",
-    "dayjs": "1.10.7",
-    "floating-vue": "2.0.0-beta.5",
-    "fuse.js": "6.4.6",
-    "humanize-duration": "3.27.0",
-    "javascript-time-ago": "2.3.10",
-    "node-emoji": "1.11.0",
-    "pinia": "2.0.0",
-    "vue": "v3.2.20",
-    "vue-router": "4.0.10"
+    "@intlify/unplugin-vue-i18n": "^0.10.1",
+    "@kyvg/vue3-notification": "^2.9.1",
+    "@vueuse/core": "^9.13.0",
+    "ansi_up": "^5.2.1",
+    "dayjs": "^1.11.9",
+    "floating-vue": "^2.0.0-beta.24",
+    "fuse.js": "^6.6.2",
+    "humanize-duration": "^3.28.0",
+    "javascript-time-ago": "^2.5.9",
+    "lodash": "^4.17.21",
+    "node-emoji": "^1.11.0",
+    "pinia": "^2.1.4",
+    "prismjs": "^1.29.0",
+    "vue": "^3.3.4",
+    "vue-i18n": "^9.2.2",
+    "vue-router": "^4.2.2"
   },
   "devDependencies": {
-    "@iconify/json": "1.1.421",
-    "@types/humanize-duration": "3.27.0",
-    "@types/javascript-time-ago": "2.0.3",
-    "@types/node": "16.11.6",
-    "@types/node-emoji": "1.8.1",
-    "@typescript-eslint/eslint-plugin": "5.6.0",
-    "@typescript-eslint/parser": "5.6.0",
-    "@vitejs/plugin-vue": "1.9.4",
-    "@vue/compiler-sfc": "3.2.20",
-    "eslint": "7.32.0",
-    "eslint-config-airbnb-base": "15.0.0",
-    "eslint-config-airbnb-typescript": "16.1.0",
-    "eslint-config-prettier": "8.3.0",
-    "eslint-plugin-import": "2.25.3",
-    "eslint-plugin-prettier": "4.0.0",
-    "eslint-plugin-promise": "5.1.1",
-    "eslint-plugin-simple-import-sort": "7.0.0",
-    "eslint-plugin-vue": "7.18.0",
-    "eslint-plugin-vue-scoped-css": "1.3.0",
-    "prettier": "2.4.1",
-    "typescript": "4.4.4",
-    "unplugin-icons": "0.12.17",
-    "unplugin-vue-components": "0.17.0",
-    "vite": "2.9.13",
-    "vite-plugin-windicss": "1.4.12",
-    "vite-svg-loader": "3.0.0",
-    "vue-tsc": "0.28.10",
-    "windicss": "3.2.0"
+    "@iconify/json": "^2.2.85",
+    "@types/humanize-duration": "^3.27.1",
+    "@types/javascript-time-ago": "^2.0.3",
+    "@types/lodash": "^4.14.195",
+    "@types/node": "^18.16.19",
+    "@types/node-emoji": "^1.8.2",
+    "@types/prismjs": "^1.26.0",
+    "@typescript-eslint/eslint-plugin": "^5.60.1",
+    "@typescript-eslint/parser": "^5.60.1",
+    "@vitejs/plugin-vue": "^4.2.3",
+    "@vue/compiler-sfc": "^3.3.4",
+    "eslint": "^8.44.0",
+    "eslint-config-airbnb-base": "^15.0.0",
+    "eslint-config-airbnb-typescript": "^17.0.0",
+    "eslint-config-prettier": "^8.8.0",
+    "eslint-plugin-import": "^2.27.5",
+    "eslint-plugin-prettier": "^4.2.1",
+    "eslint-plugin-promise": "^6.1.1",
+    "eslint-plugin-simple-import-sort": "^10.0.0",
+    "eslint-plugin-vue": "^9.15.1",
+    "eslint-plugin-vue-scoped-css": "^2.5.0",
+    "prettier": "^2.8.8",
+    "typescript": "5.0.3",
+    "unplugin-icons": "^0.16.3",
+    "unplugin-vue-components": "^0.24.1",
+    "vite": "^4.3.9",
+    "vite-plugin-prismjs": "^0.0.8",
+    "vite-plugin-windicss": "^1.9.0",
+    "vite-svg-loader": "^4.0.0",
+    "vue-eslint-parser": "^9.3.1",
+    "vue-tsc": "^1.8.3",
+    "windicss": "^3.5.6"
+  },
+  "pnpm": {
+    "overrides": {
+      "semver@<7.5.2": ">=7.5.2"
+    }
   }
 }
diff --git a/pkgs/development/tools/continuous-integration/woodpecker/yarn.lock b/pkgs/development/tools/continuous-integration/woodpecker/yarn.lock
new file mode 100644
index 0000000000000..22790763a4292
--- /dev/null
+++ b/pkgs/development/tools/continuous-integration/woodpecker/yarn.lock
@@ -0,0 +1,3219 @@
+# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
+# yarn lockfile v1
+
+
+"@aashutoshrathi/word-wrap@1.2.6":
+  version "1.2.6"
+  resolved "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz"
+  integrity "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA=="
+
+"@ampproject/remapping@2.2.1":
+  version "2.2.1"
+  resolved "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz"
+  integrity "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg=="
+  dependencies:
+    "@jridgewell/gen-mapping" "0.3.3"
+    "@jridgewell/trace-mapping" "0.3.18"
+
+"@antfu/install-pkg@0.1.1":
+  version "0.1.1"
+  resolved "https://registry.npmjs.org/@antfu/install-pkg/-/install-pkg-0.1.1.tgz"
+  integrity "sha512-LyB/8+bSfa0DFGC06zpCEfs89/XoWZwws5ygEa5D+Xsm3OfI+aXQ86VgVG7Acyef+rSZ5HE7J8rrxzrQeM3PjQ=="
+  dependencies:
+    "execa" "5.1.1"
+    "find-up" "5.0.0"
+
+"@antfu/utils@0.7.4":
+  version "0.7.4"
+  resolved "https://registry.npmjs.org/@antfu/utils/-/utils-0.7.4.tgz"
+  integrity "sha512-qe8Nmh9rYI/HIspLSTwtbMFPj6dISG6+dJnOguTlPNXtCvS2uezdxscVBb7/3DrmNbQK49TDqpkSQ1chbRGdpQ=="
+
+"@babel/code-frame@7.22.5":
+  version "7.22.5"
+  resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.5.tgz"
+  integrity "sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ=="
+  dependencies:
+    "@babel/highlight" "7.22.5"
+
+"@babel/compat-data@7.22.5":
+  version "7.22.5"
+  resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.5.tgz"
+  integrity "sha512-4Jc/YuIaYqKnDDz892kPIledykKg12Aw1PYX5i/TY28anJtacvM1Rrr8wbieB9GfEJwlzqT0hUEao0CxEebiDA=="
+
+"@babel/core@7.22.5":
+  version "7.22.5"
+  resolved "https://registry.npmjs.org/@babel/core/-/core-7.22.5.tgz"
+  integrity "sha512-SBuTAjg91A3eKOvD+bPEz3LlhHZRNu1nFOVts9lzDJTXshHTjII0BAtDS3Y2DAkdZdDKWVZGVwkDfc4Clxn1dg=="
+  dependencies:
+    "@ampproject/remapping" "2.2.1"
+    "@babel/code-frame" "7.22.5"
+    "@babel/generator" "7.22.5"
+    "@babel/helper-compilation-targets" "7.22.5"
+    "@babel/helper-module-transforms" "7.22.5"
+    "@babel/helpers" "7.22.5"
+    "@babel/parser" "7.22.5"
+    "@babel/template" "7.22.5"
+    "@babel/traverse" "7.22.5"
+    "@babel/types" "7.22.5"
+    "convert-source-map" "1.9.0"
+    "debug" "4.3.4"
+    "gensync" "1.0.0-beta.2"
+    "json5" "2.2.3"
+    "semver" "7.5.3"
+
+"@babel/generator@7.22.5":
+  version "7.22.5"
+  resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.22.5.tgz"
+  integrity "sha512-+lcUbnTRhd0jOewtFSedLyiPsD5tswKkbgcezOqqWFUVNEwoUTlpPOBmvhG7OXWLR4jMdv0czPGH5XbflnD1EA=="
+  dependencies:
+    "@babel/types" "7.22.5"
+    "@jridgewell/gen-mapping" "0.3.3"
+    "@jridgewell/trace-mapping" "0.3.18"
+    "jsesc" "2.5.2"
+
+"@babel/helper-compilation-targets@7.22.5":
+  version "7.22.5"
+  resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.5.tgz"
+  integrity "sha512-Ji+ywpHeuqxB8WDxraCiqR0xfhYjiDE/e6k7FuIaANnoOFxAHskHChz4vA1mJC9Lbm01s1PVAGhQY4FUKSkGZw=="
+  dependencies:
+    "@babel/compat-data" "7.22.5"
+    "@babel/core" "7.22.5"
+    "@babel/helper-validator-option" "7.22.5"
+    "browserslist" "4.21.9"
+    "lru-cache" "5.1.1"
+    "semver" "7.5.3"
+
+"@babel/helper-environment-visitor@7.22.5":
+  version "7.22.5"
+  resolved "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz"
+  integrity "sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q=="
+
+"@babel/helper-function-name@7.22.5":
+  version "7.22.5"
+  resolved "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz"
+  integrity "sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ=="
+  dependencies:
+    "@babel/template" "7.22.5"
+    "@babel/types" "7.22.5"
+
+"@babel/helper-hoist-variables@7.22.5":
+  version "7.22.5"
+  resolved "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz"
+  integrity "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw=="
+  dependencies:
+    "@babel/types" "7.22.5"
+
+"@babel/helper-module-imports@7.22.5":
+  version "7.22.5"
+  resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz"
+  integrity "sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg=="
+  dependencies:
+    "@babel/types" "7.22.5"
+
+"@babel/helper-module-transforms@7.22.5":
+  version "7.22.5"
+  resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.5.tgz"
+  integrity "sha512-+hGKDt/Ze8GFExiVHno/2dvG5IdstpzCq0y4Qc9OJ25D4q3pKfiIP/4Vp3/JvhDkLKsDK2api3q3fpIgiIF5bw=="
+  dependencies:
+    "@babel/helper-environment-visitor" "7.22.5"
+    "@babel/helper-module-imports" "7.22.5"
+    "@babel/helper-simple-access" "7.22.5"
+    "@babel/helper-split-export-declaration" "7.22.5"
+    "@babel/helper-validator-identifier" "7.22.5"
+    "@babel/template" "7.22.5"
+    "@babel/traverse" "7.22.5"
+    "@babel/types" "7.22.5"
+
+"@babel/helper-simple-access@7.22.5":
+  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=="
+  dependencies:
+    "@babel/types" "7.22.5"
+
+"@babel/helper-split-export-declaration@7.22.5":
+  version "7.22.5"
+  resolved "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.5.tgz"
+  integrity "sha512-thqK5QFghPKWLhAV321lxF95yCg2K3Ob5yw+M3VHWfdia0IkPXUtoLH8x/6Fh486QUvzhb8YOWHChTVen2/PoQ=="
+  dependencies:
+    "@babel/types" "7.22.5"
+
+"@babel/helper-string-parser@7.22.5":
+  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=="
+
+"@babel/helper-validator-identifier@7.22.5":
+  version "7.22.5"
+  resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz"
+  integrity "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ=="
+
+"@babel/helper-validator-option@7.22.5":
+  version "7.22.5"
+  resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz"
+  integrity "sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw=="
+
+"@babel/helpers@7.22.5":
+  version "7.22.5"
+  resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.5.tgz"
+  integrity "sha512-pSXRmfE1vzcUIDFQcSGA5Mr+GxBV9oiRKDuDxXvWQQBCh8HoIjs/2DlDB7H8smac1IVrB9/xdXj2N3Wol9Cr+Q=="
+  dependencies:
+    "@babel/template" "7.22.5"
+    "@babel/traverse" "7.22.5"
+    "@babel/types" "7.22.5"
+
+"@babel/highlight@7.22.5":
+  version "7.22.5"
+  resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.5.tgz"
+  integrity "sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw=="
+  dependencies:
+    "@babel/helper-validator-identifier" "7.22.5"
+    "chalk" "2.4.2"
+    "js-tokens" "4.0.0"
+
+"@babel/parser@7.22.5":
+  version "7.22.5"
+  resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.22.5.tgz"
+  integrity "sha512-DFZMC9LJUG9PLOclRC32G63UXwzqS2koQC8dkx+PLdmt1xSePYpbT/NbsrJy8Q/muXz7o/h/d4A7Fuyixm559Q=="
+  dependencies:
+    "@babel/types" "7.22.5"
+
+"@babel/template@7.22.5":
+  version "7.22.5"
+  resolved "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz"
+  integrity "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw=="
+  dependencies:
+    "@babel/code-frame" "7.22.5"
+    "@babel/parser" "7.22.5"
+    "@babel/types" "7.22.5"
+
+"@babel/traverse@7.22.5":
+  version "7.22.5"
+  resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.5.tgz"
+  integrity "sha512-7DuIjPgERaNo6r+PZwItpjCZEa5vyw4eJGufeLxrPdBXBoLcCJCIasvK6pK/9DVNrLZTLFhUGqaC6X/PA007TQ=="
+  dependencies:
+    "@babel/code-frame" "7.22.5"
+    "@babel/generator" "7.22.5"
+    "@babel/helper-environment-visitor" "7.22.5"
+    "@babel/helper-function-name" "7.22.5"
+    "@babel/helper-hoist-variables" "7.22.5"
+    "@babel/helper-split-export-declaration" "7.22.5"
+    "@babel/parser" "7.22.5"
+    "@babel/types" "7.22.5"
+    "debug" "4.3.4"
+    "globals" "11.12.0"
+
+"@babel/types@7.22.5":
+  version "7.22.5"
+  resolved "https://registry.npmjs.org/@babel/types/-/types-7.22.5.tgz"
+  integrity "sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA=="
+  dependencies:
+    "@babel/helper-string-parser" "7.22.5"
+    "@babel/helper-validator-identifier" "7.22.5"
+    "to-fast-properties" "2.0.0"
+
+"@esbuild/android-arm64@0.17.19":
+  version "0.17.19"
+  resolved "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.17.19.tgz"
+  integrity "sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA=="
+
+"@esbuild/android-arm@0.17.19":
+  version "0.17.19"
+  resolved "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.19.tgz"
+  integrity "sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A=="
+
+"@esbuild/android-x64@0.17.19":
+  version "0.17.19"
+  resolved "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.17.19.tgz"
+  integrity "sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww=="
+
+"@esbuild/darwin-arm64@0.17.19":
+  version "0.17.19"
+  resolved "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.19.tgz"
+  integrity "sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg=="
+
+"@esbuild/darwin-x64@0.17.19":
+  version "0.17.19"
+  resolved "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.17.19.tgz"
+  integrity "sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw=="
+
+"@esbuild/freebsd-arm64@0.17.19":
+  version "0.17.19"
+  resolved "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.19.tgz"
+  integrity "sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ=="
+
+"@esbuild/freebsd-x64@0.17.19":
+  version "0.17.19"
+  resolved "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.17.19.tgz"
+  integrity "sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ=="
+
+"@esbuild/linux-arm64@0.17.19":
+  version "0.17.19"
+  resolved "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.19.tgz"
+  integrity "sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg=="
+
+"@esbuild/linux-arm@0.17.19":
+  version "0.17.19"
+  resolved "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.17.19.tgz"
+  integrity "sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA=="
+
+"@esbuild/linux-ia32@0.17.19":
+  version "0.17.19"
+  resolved "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.17.19.tgz"
+  integrity "sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ=="
+
+"@esbuild/linux-loong64@0.17.19":
+  version "0.17.19"
+  resolved "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.17.19.tgz"
+  integrity "sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ=="
+
+"@esbuild/linux-mips64el@0.17.19":
+  version "0.17.19"
+  resolved "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.17.19.tgz"
+  integrity "sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A=="
+
+"@esbuild/linux-ppc64@0.17.19":
+  version "0.17.19"
+  resolved "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.17.19.tgz"
+  integrity "sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg=="
+
+"@esbuild/linux-riscv64@0.17.19":
+  version "0.17.19"
+  resolved "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.17.19.tgz"
+  integrity "sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA=="
+
+"@esbuild/linux-s390x@0.17.19":
+  version "0.17.19"
+  resolved "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.17.19.tgz"
+  integrity "sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q=="
+
+"@esbuild/linux-x64@0.17.19":
+  version "0.17.19"
+  resolved "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.19.tgz"
+  integrity "sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw=="
+
+"@esbuild/netbsd-x64@0.17.19":
+  version "0.17.19"
+  resolved "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.17.19.tgz"
+  integrity "sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q=="
+
+"@esbuild/openbsd-x64@0.17.19":
+  version "0.17.19"
+  resolved "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.17.19.tgz"
+  integrity "sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g=="
+
+"@esbuild/sunos-x64@0.17.19":
+  version "0.17.19"
+  resolved "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.17.19.tgz"
+  integrity "sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg=="
+
+"@esbuild/win32-arm64@0.17.19":
+  version "0.17.19"
+  resolved "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.17.19.tgz"
+  integrity "sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag=="
+
+"@esbuild/win32-ia32@0.17.19":
+  version "0.17.19"
+  resolved "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.17.19.tgz"
+  integrity "sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw=="
+
+"@esbuild/win32-x64@0.17.19":
+  version "0.17.19"
+  resolved "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.19.tgz"
+  integrity "sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA=="
+
+"@eslint-community/eslint-utils@4.4.0":
+  version "4.4.0"
+  resolved "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz"
+  integrity "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA=="
+  dependencies:
+    "eslint" "8.44.0"
+    "eslint-visitor-keys" "3.4.1"
+
+"@eslint-community/regexpp@4.5.1":
+  version "4.5.1"
+  resolved "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.1.tgz"
+  integrity "sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ=="
+
+"@eslint/eslintrc@2.1.0":
+  version "2.1.0"
+  resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.0.tgz"
+  integrity "sha512-Lj7DECXqIVCqnqjjHMPna4vn6GJcMgul/wuS0je9OZ9gsL0zzDpKPVtcG1HaDVc+9y+qgXneTeUMbCqXJNpH1A=="
+  dependencies:
+    "ajv" "6.12.6"
+    "debug" "4.3.4"
+    "espree" "9.6.0"
+    "globals" "13.20.0"
+    "ignore" "5.2.4"
+    "import-fresh" "3.3.0"
+    "js-yaml" "4.1.0"
+    "minimatch" "3.1.2"
+    "strip-json-comments" "3.1.1"
+
+"@eslint/js@8.44.0":
+  version "8.44.0"
+  resolved "https://registry.npmjs.org/@eslint/js/-/js-8.44.0.tgz"
+  integrity "sha512-Ag+9YM4ocKQx9AarydN0KY2j0ErMHNIocPDrVo8zAE44xLTjEtz81OdR68/cydGtk6m6jDb5Za3r2useMzYmSw=="
+
+"@floating-ui/core@1.3.1":
+  version "1.3.1"
+  resolved "https://registry.npmjs.org/@floating-ui/core/-/core-1.3.1.tgz"
+  integrity "sha512-Bu+AMaXNjrpjh41znzHqaz3r2Nr8hHuHZT6V2LBKMhyMl0FgKA62PNYbqnfgmzOhoWZj70Zecisbo4H1rotP5g=="
+
+"@floating-ui/dom@1.1.1":
+  version "1.1.1"
+  resolved "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.1.1.tgz"
+  integrity "sha512-TpIO93+DIujg3g7SykEAGZMDtbJRrmnYRCNYSjJlvIbGhBjRSNTLVbNeDQBrzy9qDgUbiWdc7KA0uZHZ2tJmiw=="
+  dependencies:
+    "@floating-ui/core" "1.3.1"
+
+"@humanwhocodes/config-array@0.11.10":
+  version "0.11.10"
+  resolved "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz"
+  integrity "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ=="
+  dependencies:
+    "@humanwhocodes/object-schema" "1.2.1"
+    "debug" "4.3.4"
+    "minimatch" "3.1.2"
+
+"@humanwhocodes/module-importer@1.0.1":
+  version "1.0.1"
+  resolved "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz"
+  integrity "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA=="
+
+"@humanwhocodes/object-schema@1.2.1":
+  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=="
+
+"@iconify/json@^2.2.85", "@iconify/json@2.2.85":
+  version "2.2.85"
+  resolved "https://registry.npmjs.org/@iconify/json/-/json-2.2.85.tgz"
+  integrity "sha512-T72zjZlpP311ftbdzpOFbRCictazlrX1xR8lLu3swVvFo22b/SZNBN4r0cv+e+eVNZvMxhF/cFww2fkaZ3m7Pg=="
+  dependencies:
+    "@iconify/types" "2.0.0"
+    "pathe" "1.1.1"
+
+"@iconify/types@2.0.0":
+  version "2.0.0"
+  resolved "https://registry.npmjs.org/@iconify/types/-/types-2.0.0.tgz"
+  integrity "sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg=="
+
+"@iconify/utils@2.1.7":
+  version "2.1.7"
+  resolved "https://registry.npmjs.org/@iconify/utils/-/utils-2.1.7.tgz"
+  integrity "sha512-P8S3z/L1LcV4Qem9AoCfVAaTFGySEMzFEY4CHZLkfRj0Fv9LiR+AwjDgrDrzyI93U2L2mg9JHsbTJ52mF8suNw=="
+  dependencies:
+    "@antfu/install-pkg" "0.1.1"
+    "@antfu/utils" "0.7.4"
+    "@iconify/types" "2.0.0"
+    "debug" "4.3.4"
+    "kolorist" "1.8.0"
+    "local-pkg" "0.4.3"
+
+"@intlify/bundle-utils@5.5.0":
+  version "5.5.0"
+  resolved "https://registry.npmjs.org/@intlify/bundle-utils/-/bundle-utils-5.5.0.tgz"
+  integrity "sha512-k5xe8oAoPXiH6unXvyyyCRbq+LtLn1tSi/6r5f6mF+MsX7mcOMtgYbyAQINsjFrf7EDu5Pg4BY00VWSt8bI9XQ=="
+  dependencies:
+    "@intlify/message-compiler" "9.3.0-beta.17"
+    "@intlify/shared" "9.3.0-beta.17"
+    "acorn" "8.9.0"
+    "escodegen" "2.1.0"
+    "estree-walker" "2.0.2"
+    "jsonc-eslint-parser" "1.4.1"
+    "magic-string" "0.30.0"
+    "source-map" "0.6.1"
+    "vue-i18n" "9.2.2"
+    "yaml-eslint-parser" "0.3.2"
+
+"@intlify/core-base@9.2.2":
+  version "9.2.2"
+  resolved "https://registry.npmjs.org/@intlify/core-base/-/core-base-9.2.2.tgz"
+  integrity "sha512-JjUpQtNfn+joMbrXvpR4hTF8iJQ2sEFzzK3KIESOx+f+uwIjgw20igOyaIdhfsVVBCds8ZM64MoeNSx+PHQMkA=="
+  dependencies:
+    "@intlify/devtools-if" "9.2.2"
+    "@intlify/message-compiler" "9.2.2"
+    "@intlify/shared" "9.2.2"
+    "@intlify/vue-devtools" "9.2.2"
+
+"@intlify/devtools-if@9.2.2":
+  version "9.2.2"
+  resolved "https://registry.npmjs.org/@intlify/devtools-if/-/devtools-if-9.2.2.tgz"
+  integrity "sha512-4ttr/FNO29w+kBbU7HZ/U0Lzuh2cRDhP8UlWOtV9ERcjHzuyXVZmjyleESK6eVP60tGC9QtQW9yZE+JeRhDHkg=="
+  dependencies:
+    "@intlify/shared" "9.2.2"
+
+"@intlify/message-compiler@9.2.2":
+  version "9.2.2"
+  resolved "https://registry.npmjs.org/@intlify/message-compiler/-/message-compiler-9.2.2.tgz"
+  integrity "sha512-IUrQW7byAKN2fMBe8z6sK6riG1pue95e5jfokn8hA5Q3Bqy4MBJ5lJAofUsawQJYHeoPJ7svMDyBaVJ4d0GTtA=="
+  dependencies:
+    "@intlify/shared" "9.2.2"
+    "source-map" "0.6.1"
+
+"@intlify/message-compiler@9.3.0-beta.17":
+  version "9.3.0-beta.17"
+  resolved "https://registry.npmjs.org/@intlify/message-compiler/-/message-compiler-9.3.0-beta.17.tgz"
+  integrity "sha512-i7hvVIRk1Ax2uKa9xLRJCT57to08OhFMhFXXjWN07rmx5pWQYQ23MfX1xgggv9drnWTNhqEiD+u4EJeHoS5+Ww=="
+  dependencies:
+    "@intlify/shared" "9.3.0-beta.17"
+    "source-map" "0.6.1"
+
+"@intlify/shared@9.2.2":
+  version "9.2.2"
+  resolved "https://registry.npmjs.org/@intlify/shared/-/shared-9.2.2.tgz"
+  integrity "sha512-wRwTpsslgZS5HNyM7uDQYZtxnbI12aGiBZURX3BTR9RFIKKRWpllTsgzHWvj3HKm3Y2Sh5LPC1r0PDCKEhVn9Q=="
+
+"@intlify/shared@9.3.0-beta.17":
+  version "9.3.0-beta.17"
+  resolved "https://registry.npmjs.org/@intlify/shared/-/shared-9.3.0-beta.17.tgz"
+  integrity "sha512-mscf7RQsUTOil35jTij4KGW1RC9SWQjYScwLxP53Ns6g24iEd5HN7ksbt9O6FvTmlQuX77u+MXpBdfJsGqizLQ=="
+
+"@intlify/unplugin-vue-i18n@^0.10.1", "@intlify/unplugin-vue-i18n@0.10.1":
+  version "0.10.1"
+  resolved "https://registry.npmjs.org/@intlify/unplugin-vue-i18n/-/unplugin-vue-i18n-0.10.1.tgz"
+  integrity "sha512-9ZzE0ddlDO06Xzg25JPiNbx6PJPDho5k/Np+uL9fJRZEKq2TxT3c+ZK+Pec6j0ybhhVXeda8/yE3tPUf4SOXZQ=="
+  dependencies:
+    "@intlify/bundle-utils" "5.5.0"
+    "@intlify/shared" "9.3.0-beta.17"
+    "@rollup/pluginutils" "5.0.2"
+    "@vue/compiler-sfc" "3.3.4"
+    "debug" "4.3.4"
+    "fast-glob" "3.3.0"
+    "js-yaml" "4.1.0"
+    "json5" "2.2.3"
+    "pathe" "1.1.1"
+    "picocolors" "1.0.0"
+    "source-map" "0.6.1"
+    "unplugin" "1.3.1"
+    "vue-i18n" "9.2.2"
+
+"@intlify/vue-devtools@9.2.2":
+  version "9.2.2"
+  resolved "https://registry.npmjs.org/@intlify/vue-devtools/-/vue-devtools-9.2.2.tgz"
+  integrity "sha512-+dUyqyCHWHb/UcvY1MlIpO87munedm3Gn6E9WWYdWrMuYLcoIoOEVDWSS8xSwtlPU+kA+MEQTP6Q1iI/ocusJg=="
+  dependencies:
+    "@intlify/core-base" "9.2.2"
+    "@intlify/shared" "9.2.2"
+
+"@jridgewell/gen-mapping@0.3.3":
+  version "0.3.3"
+  resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz"
+  integrity "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ=="
+  dependencies:
+    "@jridgewell/set-array" "1.1.2"
+    "@jridgewell/sourcemap-codec" "1.4.15"
+    "@jridgewell/trace-mapping" "0.3.18"
+
+"@jridgewell/resolve-uri@3.1.0":
+  version "3.1.0"
+  resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz"
+  integrity "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w=="
+
+"@jridgewell/set-array@1.1.2":
+  version "1.1.2"
+  resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz"
+  integrity "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw=="
+
+"@jridgewell/sourcemap-codec@1.4.14":
+  version "1.4.14"
+  resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz"
+  integrity "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw=="
+
+"@jridgewell/sourcemap-codec@1.4.15":
+  version "1.4.15"
+  resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz"
+  integrity "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg=="
+
+"@jridgewell/trace-mapping@0.3.18":
+  version "0.3.18"
+  resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz"
+  integrity "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA=="
+  dependencies:
+    "@jridgewell/resolve-uri" "3.1.0"
+    "@jridgewell/sourcemap-codec" "1.4.14"
+
+"@kyvg/vue3-notification@^2.9.1", "@kyvg/vue3-notification@2.9.1":
+  version "2.9.1"
+  resolved "https://registry.npmjs.org/@kyvg/vue3-notification/-/vue3-notification-2.9.1.tgz"
+  integrity "sha512-FsY8g25tQetr3etnarxHtCeNFKssH8sheFu13LyL2JJmOOel437QqKV5n4RBDDDTIo55iKgIVYXeojliXYdEhw=="
+  dependencies:
+    "vue" "3.3.4"
+
+"@nodelib/fs.scandir@2.1.5":
+  version "2.1.5"
+  resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz"
+  integrity "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g=="
+  dependencies:
+    "@nodelib/fs.stat" "2.0.5"
+    "run-parallel" "1.2.0"
+
+"@nodelib/fs.stat@2.0.5":
+  version "2.0.5"
+  resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz"
+  integrity "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A=="
+
+"@nodelib/fs.walk@1.2.8":
+  version "1.2.8"
+  resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz"
+  integrity "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg=="
+  dependencies:
+    "@nodelib/fs.scandir" "2.1.5"
+    "fastq" "1.15.0"
+
+"@rollup/pluginutils@5.0.2":
+  version "5.0.2"
+  resolved "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.2.tgz"
+  integrity "sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA=="
+  dependencies:
+    "@types/estree" "1.0.1"
+    "estree-walker" "2.0.2"
+    "picomatch" "2.3.1"
+
+"@trysound/sax@0.2.0":
+  version "0.2.0"
+  resolved "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz"
+  integrity "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA=="
+
+"@types/estree@1.0.1":
+  version "1.0.1"
+  resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz"
+  integrity "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA=="
+
+"@types/humanize-duration@^3.27.1", "@types/humanize-duration@3.27.1":
+  version "3.27.1"
+  resolved "https://registry.npmjs.org/@types/humanize-duration/-/humanize-duration-3.27.1.tgz"
+  integrity "sha512-K3e+NZlpCKd6Bd/EIdqjFJRFHbrq5TzPPLwREk5Iv/YoIjQrs6ljdAUCo+Lb2xFlGNOjGSE0dqsVD19cZL137w=="
+
+"@types/javascript-time-ago@^2.0.3", "@types/javascript-time-ago@2.0.3":
+  version "2.0.3"
+  resolved "https://registry.npmjs.org/@types/javascript-time-ago/-/javascript-time-ago-2.0.3.tgz"
+  integrity "sha512-G6SdYh6gHxgCTU0s4cMIRHwRO4p3f7jQSZbDPfUOZpUAG1od3rTjT0e8rxGThUiTTWQHwpBRws8eHO8D2QqfkA=="
+
+"@types/json-schema@7.0.12":
+  version "7.0.12"
+  resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz"
+  integrity "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA=="
+
+"@types/json5@0.0.29":
+  version "0.0.29"
+  resolved "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz"
+  integrity "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ=="
+
+"@types/lodash@^4.14.195", "@types/lodash@4.14.195":
+  version "4.14.195"
+  resolved "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.195.tgz"
+  integrity "sha512-Hwx9EUgdwf2GLarOjQp5ZH8ZmblzcbTBC2wtQWNKARBSxM9ezRIAUpeDTgoQRAFB0+8CNWXVA9+MaSOzOF3nPg=="
+
+"@types/node-emoji@^1.8.2", "@types/node-emoji@1.8.2":
+  version "1.8.2"
+  resolved "https://registry.npmjs.org/@types/node-emoji/-/node-emoji-1.8.2.tgz"
+  integrity "sha512-PfF1qL/9veo8BSHLV84C9ORNr3lHSlnWJ6yU8OdNufoftajeWHTLVbGHvp2B7e7DPDS9gMs6cfeSsqo5rqSitg=="
+
+"@types/node@^18.16.19", "@types/node@18.16.19":
+  version "18.16.19"
+  resolved "https://registry.npmjs.org/@types/node/-/node-18.16.19.tgz"
+  integrity "sha512-IXl7o+R9iti9eBW4Wg2hx1xQDig183jj7YLn8F7udNceyfkbn1ZxmzZXuak20gR40D7pIkIY1kYGx5VIGbaHKA=="
+
+"@types/prismjs@^1.26.0", "@types/prismjs@1.26.0":
+  version "1.26.0"
+  resolved "https://registry.npmjs.org/@types/prismjs/-/prismjs-1.26.0.tgz"
+  integrity "sha512-ZTaqn/qSqUuAq1YwvOFQfVW1AR/oQJlLSZVustdjwI+GZ8kr0MSHBj0tsXPW1EqHubx50gtBEjbPGsdZwQwCjQ=="
+
+"@types/semver@7.5.0":
+  version "7.5.0"
+  resolved "https://registry.npmjs.org/@types/semver/-/semver-7.5.0.tgz"
+  integrity "sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw=="
+
+"@types/web-bluetooth@0.0.16":
+  version "0.0.16"
+  resolved "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.16.tgz"
+  integrity "sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ=="
+
+"@typescript-eslint/eslint-plugin@^5.60.1", "@typescript-eslint/eslint-plugin@5.60.1":
+  version "5.60.1"
+  resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.60.1.tgz"
+  integrity "sha512-KSWsVvsJsLJv3c4e73y/Bzt7OpqMCADUO846bHcuWYSYM19bldbAeDv7dYyV0jwkbMfJ2XdlzwjhXtuD7OY6bw=="
+  dependencies:
+    "@eslint-community/regexpp" "4.5.1"
+    "@typescript-eslint/parser" "5.60.1"
+    "@typescript-eslint/scope-manager" "5.60.1"
+    "@typescript-eslint/type-utils" "5.60.1"
+    "@typescript-eslint/utils" "5.60.1"
+    "debug" "4.3.4"
+    "eslint" "8.44.0"
+    "grapheme-splitter" "1.0.4"
+    "ignore" "5.2.4"
+    "natural-compare-lite" "1.4.0"
+    "semver" "7.5.3"
+    "tsutils" "3.21.0"
+    "typescript" "5.0.3"
+
+"@typescript-eslint/parser@^5.60.1", "@typescript-eslint/parser@5.60.1":
+  version "5.60.1"
+  resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.60.1.tgz"
+  integrity "sha512-pHWlc3alg2oSMGwsU/Is8hbm3XFbcrb6P5wIxcQW9NsYBfnrubl/GhVVD/Jm/t8HXhA2WncoIRfBtnCgRGV96Q=="
+  dependencies:
+    "@typescript-eslint/scope-manager" "5.60.1"
+    "@typescript-eslint/types" "5.60.1"
+    "@typescript-eslint/typescript-estree" "5.60.1"
+    "debug" "4.3.4"
+    "eslint" "8.44.0"
+    "typescript" "5.0.3"
+
+"@typescript-eslint/scope-manager@5.60.1":
+  version "5.60.1"
+  resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.60.1.tgz"
+  integrity "sha512-Dn/LnN7fEoRD+KspEOV0xDMynEmR3iSHdgNsarlXNLGGtcUok8L4N71dxUgt3YvlO8si7E+BJ5Fe3wb5yUw7DQ=="
+  dependencies:
+    "@typescript-eslint/types" "5.60.1"
+    "@typescript-eslint/visitor-keys" "5.60.1"
+
+"@typescript-eslint/type-utils@5.60.1":
+  version "5.60.1"
+  resolved "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.60.1.tgz"
+  integrity "sha512-vN6UztYqIu05nu7JqwQGzQKUJctzs3/Hg7E2Yx8rz9J+4LgtIDFWjjl1gm3pycH0P3mHAcEUBd23LVgfrsTR8A=="
+  dependencies:
+    "@typescript-eslint/typescript-estree" "5.60.1"
+    "@typescript-eslint/utils" "5.60.1"
+    "debug" "4.3.4"
+    "eslint" "8.44.0"
+    "tsutils" "3.21.0"
+    "typescript" "5.0.3"
+
+"@typescript-eslint/types@5.60.1":
+  version "5.60.1"
+  resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.60.1.tgz"
+  integrity "sha512-zDcDx5fccU8BA0IDZc71bAtYIcG9PowaOwaD8rjYbqwK7dpe/UMQl3inJ4UtUK42nOCT41jTSCwg76E62JpMcg=="
+
+"@typescript-eslint/typescript-estree@5.60.1":
+  version "5.60.1"
+  resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.60.1.tgz"
+  integrity "sha512-hkX70J9+2M2ZT6fhti5Q2FoU9zb+GeZK2SLP1WZlvUDqdMbEKhexZODD1WodNRyO8eS+4nScvT0dts8IdaBzfw=="
+  dependencies:
+    "@typescript-eslint/types" "5.60.1"
+    "@typescript-eslint/visitor-keys" "5.60.1"
+    "debug" "4.3.4"
+    "globby" "11.1.0"
+    "is-glob" "4.0.3"
+    "semver" "7.5.3"
+    "tsutils" "3.21.0"
+    "typescript" "5.0.3"
+
+"@typescript-eslint/utils@5.60.1":
+  version "5.60.1"
+  resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.60.1.tgz"
+  integrity "sha512-tiJ7FFdFQOWssFa3gqb94Ilexyw0JVxj6vBzaSpfN/8IhoKkDuSAenUKvsSHw2A/TMpJb26izIszTXaqygkvpQ=="
+  dependencies:
+    "@eslint-community/eslint-utils" "4.4.0"
+    "@types/json-schema" "7.0.12"
+    "@types/semver" "7.5.0"
+    "@typescript-eslint/scope-manager" "5.60.1"
+    "@typescript-eslint/types" "5.60.1"
+    "@typescript-eslint/typescript-estree" "5.60.1"
+    "eslint" "8.44.0"
+    "eslint-scope" "5.1.1"
+    "semver" "7.5.3"
+
+"@typescript-eslint/visitor-keys@5.60.1":
+  version "5.60.1"
+  resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.60.1.tgz"
+  integrity "sha512-xEYIxKcultP6E/RMKqube11pGjXH1DCo60mQoWhVYyKfLkwbIVVjYxmOenNMxILx0TjCujPTjjnTIVzm09TXIw=="
+  dependencies:
+    "@typescript-eslint/types" "5.60.1"
+    "eslint-visitor-keys" "3.4.1"
+
+"@vitejs/plugin-vue@^4.2.3", "@vitejs/plugin-vue@4.2.3":
+  version "4.2.3"
+  resolved "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-4.2.3.tgz"
+  integrity "sha512-R6JDUfiZbJA9cMiguQ7jxALsgiprjBeHL5ikpXfJCH62pPHtI+JdJ5xWj6Ev73yXSlYl86+blXn1kZHQ7uElxw=="
+  dependencies:
+    "vite" "4.3.9"
+    "vue" "3.3.4"
+
+"@volar/language-core@1.7.10":
+  version "1.7.10"
+  resolved "https://registry.npmjs.org/@volar/language-core/-/language-core-1.7.10.tgz"
+  integrity "sha512-18Gmth5M0UI3hDDqhZngjMnb6WCslcfglkOdepRIhGxRYe7xR7DRRzciisYDMZsvOQxDYme+uaohg0dKUxLV2Q=="
+  dependencies:
+    "@volar/source-map" "1.7.10"
+
+"@volar/source-map@1.7.10":
+  version "1.7.10"
+  resolved "https://registry.npmjs.org/@volar/source-map/-/source-map-1.7.10.tgz"
+  integrity "sha512-FBpLEOKJpRxeh2nYbw1mTI5sZOPXYU8LlsCz6xuBY3yNtAizDTTIZtBHe1V8BaMpoSMgRysZe4gVxMEi3rDGVA=="
+  dependencies:
+    "muggle-string" "0.3.1"
+
+"@volar/typescript@1.7.10":
+  version "1.7.10"
+  resolved "https://registry.npmjs.org/@volar/typescript/-/typescript-1.7.10.tgz"
+  integrity "sha512-yqIov4wndLU3GE1iE25bU5W6T+P+exPePcE1dFPPBKzQIBki1KvmdQN5jBlJp3Wo+wp7UIxa/RsdNkXT+iFBjg=="
+  dependencies:
+    "@volar/language-core" "1.7.10"
+
+"@vue/compiler-core@3.3.4":
+  version "3.3.4"
+  resolved "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.3.4.tgz"
+  integrity "sha512-cquyDNvZ6jTbf/+x+AgM2Arrp6G4Dzbb0R64jiG804HRMfRiFXWI6kqUVqZ6ZR0bQhIoQjB4+2bhNtVwndW15g=="
+  dependencies:
+    "@babel/parser" "7.22.5"
+    "@vue/shared" "3.3.4"
+    "estree-walker" "2.0.2"
+    "source-map-js" "1.0.2"
+
+"@vue/compiler-dom@3.3.4":
+  version "3.3.4"
+  resolved "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.3.4.tgz"
+  integrity "sha512-wyM+OjOVpuUukIq6p5+nwHYtj9cFroz9cwkfmP9O1nzH68BenTTv0u7/ndggT8cIQlnBeOo6sUT/gvHcIkLA5w=="
+  dependencies:
+    "@vue/compiler-core" "3.3.4"
+    "@vue/shared" "3.3.4"
+
+"@vue/compiler-sfc@^3.3.4", "@vue/compiler-sfc@3.3.4":
+  version "3.3.4"
+  resolved "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.3.4.tgz"
+  integrity "sha512-6y/d8uw+5TkCuzBkgLS0v3lSM3hJDntFEiUORM11pQ/hKvkhSKZrXW6i69UyXlJQisJxuUEJKAWEqWbWsLeNKQ=="
+  dependencies:
+    "@babel/parser" "7.22.5"
+    "@vue/compiler-core" "3.3.4"
+    "@vue/compiler-dom" "3.3.4"
+    "@vue/compiler-ssr" "3.3.4"
+    "@vue/reactivity-transform" "3.3.4"
+    "@vue/shared" "3.3.4"
+    "estree-walker" "2.0.2"
+    "magic-string" "0.30.0"
+    "postcss" "8.4.24"
+    "source-map-js" "1.0.2"
+
+"@vue/compiler-ssr@3.3.4":
+  version "3.3.4"
+  resolved "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.3.4.tgz"
+  integrity "sha512-m0v6oKpup2nMSehwA6Uuu+j+wEwcy7QmwMkVNVfrV9P2qE5KshC6RwOCq8fjGS/Eak/uNb8AaWekfiXxbBB6gQ=="
+  dependencies:
+    "@vue/compiler-dom" "3.3.4"
+    "@vue/shared" "3.3.4"
+
+"@vue/devtools-api@6.5.0":
+  version "6.5.0"
+  resolved "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.5.0.tgz"
+  integrity "sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q=="
+
+"@vue/language-core@1.8.3":
+  version "1.8.3"
+  resolved "https://registry.npmjs.org/@vue/language-core/-/language-core-1.8.3.tgz"
+  integrity "sha512-AzhvMYoQkK/tg8CpAAttO19kx1zjS3+weYIr2AhlH/M5HebVzfftQoq4jZNFifjq+hyLKi8j9FiDMS8oqA89+A=="
+  dependencies:
+    "@volar/language-core" "1.7.10"
+    "@volar/source-map" "1.7.10"
+    "@vue/compiler-dom" "3.3.4"
+    "@vue/reactivity" "3.3.4"
+    "@vue/shared" "3.3.4"
+    "minimatch" "9.0.2"
+    "muggle-string" "0.3.1"
+    "typescript" "5.0.3"
+    "vue-template-compiler" "2.7.14"
+
+"@vue/reactivity-transform@3.3.4":
+  version "3.3.4"
+  resolved "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.3.4.tgz"
+  integrity "sha512-MXgwjako4nu5WFLAjpBnCj/ieqcjE2aJBINUNQzkZQfzIZA4xn+0fV1tIYBJvvva3N3OvKGofRLvQIwEQPpaXw=="
+  dependencies:
+    "@babel/parser" "7.22.5"
+    "@vue/compiler-core" "3.3.4"
+    "@vue/shared" "3.3.4"
+    "estree-walker" "2.0.2"
+    "magic-string" "0.30.0"
+
+"@vue/reactivity@3.3.4":
+  version "3.3.4"
+  resolved "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.3.4.tgz"
+  integrity "sha512-kLTDLwd0B1jG08NBF3R5rqULtv/f8x3rOFByTDz4J53ttIQEDmALqKqXY0J+XQeN0aV2FBxY8nJDf88yvOPAqQ=="
+  dependencies:
+    "@vue/shared" "3.3.4"
+
+"@vue/runtime-core@3.3.4":
+  version "3.3.4"
+  resolved "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.3.4.tgz"
+  integrity "sha512-R+bqxMN6pWO7zGI4OMlmvePOdP2c93GsHFM/siJI7O2nxFRzj55pLwkpCedEY+bTMgp5miZ8CxfIZo3S+gFqvA=="
+  dependencies:
+    "@vue/reactivity" "3.3.4"
+    "@vue/shared" "3.3.4"
+
+"@vue/runtime-dom@3.3.4":
+  version "3.3.4"
+  resolved "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.3.4.tgz"
+  integrity "sha512-Aj5bTJ3u5sFsUckRghsNjVTtxZQ1OyMWCr5dZRAPijF/0Vy4xEoRCwLyHXcj4D0UFbJ4lbx3gPTgg06K/GnPnQ=="
+  dependencies:
+    "@vue/runtime-core" "3.3.4"
+    "@vue/shared" "3.3.4"
+    "csstype" "3.1.2"
+
+"@vue/server-renderer@3.3.4":
+  version "3.3.4"
+  resolved "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.3.4.tgz"
+  integrity "sha512-Q6jDDzR23ViIb67v+vM1Dqntu+HUexQcsWKhhQa4ARVzxOY2HbC7QRW/ggkDBd5BU+uM1sV6XOAP0b216o34JQ=="
+  dependencies:
+    "@vue/compiler-ssr" "3.3.4"
+    "@vue/shared" "3.3.4"
+    "vue" "3.3.4"
+
+"@vue/shared@3.3.4":
+  version "3.3.4"
+  resolved "https://registry.npmjs.org/@vue/shared/-/shared-3.3.4.tgz"
+  integrity "sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ=="
+
+"@vue/typescript@1.8.3":
+  version "1.8.3"
+  resolved "https://registry.npmjs.org/@vue/typescript/-/typescript-1.8.3.tgz"
+  integrity "sha512-6bdgSnIFpRYHlt70pHmnmNksPU00bfXgqAISeaNz3W6d2cH0OTfH8h/IhligQ82sJIhsuyfftQJ5518ZuKIhtA=="
+  dependencies:
+    "@volar/typescript" "1.7.10"
+    "@vue/language-core" "1.8.3"
+
+"@vueuse/core@^9.13.0", "@vueuse/core@9.13.0":
+  version "9.13.0"
+  resolved "https://registry.npmjs.org/@vueuse/core/-/core-9.13.0.tgz"
+  integrity "sha512-pujnclbeHWxxPRqXWmdkKV5OX4Wk4YeK7wusHqRwU0Q7EFusHoqNA/aPhB6KCh9hEqJkLAJo7bb0Lh9b+OIVzw=="
+  dependencies:
+    "@types/web-bluetooth" "0.0.16"
+    "@vueuse/metadata" "9.13.0"
+    "@vueuse/shared" "9.13.0"
+    "vue-demi" "0.14.5"
+
+"@vueuse/metadata@9.13.0":
+  version "9.13.0"
+  resolved "https://registry.npmjs.org/@vueuse/metadata/-/metadata-9.13.0.tgz"
+  integrity "sha512-gdU7TKNAUVlXXLbaF+ZCfte8BjRJQWPCa2J55+7/h+yDtzw3vOoGQDRXzI6pyKyo6bXFT5/QoPE4hAknExjRLQ=="
+
+"@vueuse/shared@9.13.0":
+  version "9.13.0"
+  resolved "https://registry.npmjs.org/@vueuse/shared/-/shared-9.13.0.tgz"
+  integrity "sha512-UrnhU+Cnufu4S6JLCPZnkWh0WwZGUp72ktOF2DFptMlOs3TOdVv8xJN53zhHGARmVOsz5KqOls09+J1NR6sBKw=="
+  dependencies:
+    "vue-demi" "0.14.5"
+
+"@windicss/config@1.9.0":
+  version "1.9.0"
+  resolved "https://registry.npmjs.org/@windicss/config/-/config-1.9.0.tgz"
+  integrity "sha512-QO4+udbmDIgZwAi89tqUt5nGwBq3IgyELjLn83twZXiIqzOw+77ecCuM0oPSbzWmIbCqXq3wRQHd6Z1u5E/5zQ=="
+  dependencies:
+    "debug" "4.3.4"
+    "jiti" "1.18.2"
+    "windicss" "3.5.6"
+
+"@windicss/plugin-utils@1.9.0":
+  version "1.9.0"
+  resolved "https://registry.npmjs.org/@windicss/plugin-utils/-/plugin-utils-1.9.0.tgz"
+  integrity "sha512-omAacM5ExIr9XBUI2z47CyCXJBke4imJZqXW41YgHhRLbahTngbScFk5yxa6dXivDXUpUKqasOPXBJgA4bhHCg=="
+  dependencies:
+    "@antfu/utils" "0.7.4"
+    "@windicss/config" "1.9.0"
+    "debug" "4.3.4"
+    "fast-glob" "3.3.0"
+    "magic-string" "0.30.0"
+    "micromatch" "4.0.5"
+    "windicss" "3.5.6"
+
+"acorn-jsx@5.3.2":
+  version "5.3.2"
+  resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz"
+  integrity "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ=="
+  dependencies:
+    "acorn" "8.9.0"
+
+"acorn@7.4.1":
+  version "7.4.1"
+  resolved "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz"
+  integrity "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A=="
+
+"acorn@8.9.0":
+  version "8.9.0"
+  resolved "https://registry.npmjs.org/acorn/-/acorn-8.9.0.tgz"
+  integrity "sha512-jaVNAFBHNLXspO543WnNNPZFRtavh3skAkITqD0/2aeMkKZTN+254PyhwxFYrk3vQ1xfY+2wbesJMs/JC8/PwQ=="
+
+"ajv@6.12.6":
+  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.3"
+    "fast-json-stable-stringify" "2.1.0"
+    "json-schema-traverse" "0.4.1"
+    "uri-js" "4.4.1"
+
+"ansi-regex@5.0.1":
+  version "5.0.1"
+  resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz"
+  integrity "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="
+
+"ansi-styles@3.2.1":
+  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=="
+  dependencies:
+    "color-convert" "1.9.3"
+
+"ansi-styles@4.3.0":
+  version "4.3.0"
+  resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz"
+  integrity "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="
+  dependencies:
+    "color-convert" "2.0.1"
+
+"ansi_up@^5.2.1", "ansi_up@5.2.1":
+  version "5.2.1"
+  resolved "https://registry.npmjs.org/ansi_up/-/ansi_up-5.2.1.tgz"
+  integrity "sha512-5bz5T/7FRmlxA37zDXhG6cAwlcZtfnmNLDJra66EEIT3kYlw5aPJdbkJEhm59D6kA4Wi5ict6u6IDYHJaQlH+g=="
+
+"anymatch@3.1.3":
+  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.3.1"
+
+"argparse@2.0.1":
+  version "2.0.1"
+  resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz"
+  integrity "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="
+
+"array-buffer-byte-length@1.0.0":
+  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=="
+  dependencies:
+    "call-bind" "1.0.2"
+    "is-array-buffer" "3.0.2"
+
+"array-includes@3.1.6":
+  version "3.1.6"
+  resolved "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz"
+  integrity "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw=="
+  dependencies:
+    "call-bind" "1.0.2"
+    "define-properties" "1.2.0"
+    "es-abstract" "1.21.2"
+    "get-intrinsic" "1.2.1"
+    "is-string" "1.0.7"
+
+"array-union@2.1.0":
+  version "2.1.0"
+  resolved "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz"
+  integrity "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw=="
+
+"array.prototype.flat@1.3.1":
+  version "1.3.1"
+  resolved "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz"
+  integrity "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA=="
+  dependencies:
+    "call-bind" "1.0.2"
+    "define-properties" "1.2.0"
+    "es-abstract" "1.21.2"
+    "es-shim-unscopables" "1.0.0"
+
+"array.prototype.flatmap@1.3.1":
+  version "1.3.1"
+  resolved "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz"
+  integrity "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ=="
+  dependencies:
+    "call-bind" "1.0.2"
+    "define-properties" "1.2.0"
+    "es-abstract" "1.21.2"
+    "es-shim-unscopables" "1.0.0"
+
+"atob@2.1.2":
+  version "2.1.2"
+  resolved "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz"
+  integrity "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg=="
+
+"available-typed-arrays@1.0.5":
+  version "1.0.5"
+  resolved "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz"
+  integrity "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw=="
+
+"babel-plugin-prismjs@2.1.0":
+  version "2.1.0"
+  resolved "https://registry.npmjs.org/babel-plugin-prismjs/-/babel-plugin-prismjs-2.1.0.tgz"
+  integrity "sha512-ehzSKYfeAz4U78zi/sfwsjDPlq0LvDKxNefcZTJ/iKBu+plsHsLqZhUeGf1+82LAcA35UZGbU6ksEx2Utphc/g=="
+  dependencies:
+    "prismjs" "1.29.0"
+
+"balanced-match@1.0.2":
+  version "1.0.2"
+  resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz"
+  integrity "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
+
+"binary-extensions@2.2.0":
+  version "2.2.0"
+  resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz"
+  integrity "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA=="
+
+"boolbase@1.0.0":
+  version "1.0.0"
+  resolved "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz"
+  integrity "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww=="
+
+"brace-expansion@1.1.11":
+  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.2"
+    "concat-map" "0.0.1"
+
+"brace-expansion@2.0.1":
+  version "2.0.1"
+  resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz"
+  integrity "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA=="
+  dependencies:
+    "balanced-match" "1.0.2"
+
+"braces@3.0.2":
+  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"
+
+"browserslist@4.21.9":
+  version "4.21.9"
+  resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.21.9.tgz"
+  integrity "sha512-M0MFoZzbUrRU4KNfCrDLnvyE7gub+peetoTid3TBIqtunaDJyXlwhakT+/VkvSXcfIzFfK/nkCs4nmyTmxdNSg=="
+  dependencies:
+    "caniuse-lite" "1.0.30001509"
+    "electron-to-chromium" "1.4.447"
+    "node-releases" "2.0.12"
+    "update-browserslist-db" "1.0.11"
+
+"call-bind@1.0.2":
+  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.2.1"
+
+"callsites@3.1.0":
+  version "3.1.0"
+  resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz"
+  integrity "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ=="
+
+"caniuse-lite@1.0.30001509":
+  version "1.0.30001509"
+  resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001509.tgz"
+  integrity "sha512-2uDDk+TRiTX5hMcUYT/7CSyzMZxjfGu0vAUjS2g0LSD8UoXOv0LtpH4LxGMemsiPq6LCVIUjNwVM0erkOkGCDA=="
+
+"chalk@2.4.2":
+  version "2.4.2"
+  resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz"
+  integrity "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ=="
+  dependencies:
+    "ansi-styles" "3.2.1"
+    "escape-string-regexp" "1.0.5"
+    "supports-color" "5.5.0"
+
+"chalk@4.1.2":
+  version "4.1.2"
+  resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz"
+  integrity "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="
+  dependencies:
+    "ansi-styles" "4.3.0"
+    "supports-color" "7.2.0"
+
+"chokidar@3.5.3":
+  version "3.5.3"
+  resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz"
+  integrity "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw=="
+  dependencies:
+    "anymatch" "3.1.3"
+    "braces" "3.0.2"
+    "glob-parent" "5.1.2"
+    "is-binary-path" "2.1.0"
+    "is-glob" "4.0.3"
+    "normalize-path" "3.0.0"
+    "readdirp" "3.6.0"
+
+"color-convert@1.9.3":
+  version "1.9.3"
+  resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz"
+  integrity "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg=="
+  dependencies:
+    "color-name" "1.1.3"
+
+"color-convert@2.0.1":
+  version "2.0.1"
+  resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz"
+  integrity "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ=="
+  dependencies:
+    "color-name" "1.1.4"
+
+"color-name@1.1.3":
+  version "1.1.3"
+  resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz"
+  integrity "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="
+
+"color-name@1.1.4":
+  version "1.1.4"
+  resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz"
+  integrity "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
+
+"commander@7.2.0":
+  version "7.2.0"
+  resolved "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz"
+  integrity "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw=="
+
+"concat-map@0.0.1":
+  version "0.0.1"
+  resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz"
+  integrity "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="
+
+"confusing-browser-globals@1.0.11":
+  version "1.0.11"
+  resolved "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz"
+  integrity "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA=="
+
+"convert-source-map@1.9.0":
+  version "1.9.0"
+  resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz"
+  integrity "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A=="
+
+"cross-spawn@7.0.3":
+  version "7.0.3"
+  resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz"
+  integrity "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w=="
+  dependencies:
+    "path-key" "3.1.1"
+    "shebang-command" "2.0.0"
+    "which" "2.0.2"
+
+"css-select@5.1.0":
+  version "5.1.0"
+  resolved "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz"
+  integrity "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg=="
+  dependencies:
+    "boolbase" "1.0.0"
+    "css-what" "6.1.0"
+    "domhandler" "5.0.3"
+    "domutils" "3.1.0"
+    "nth-check" "2.1.1"
+
+"css-tree@2.2.1":
+  version "2.2.1"
+  resolved "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz"
+  integrity "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA=="
+  dependencies:
+    "mdn-data" "2.0.28"
+    "source-map-js" "1.0.2"
+
+"css-tree@2.3.1":
+  version "2.3.1"
+  resolved "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz"
+  integrity "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw=="
+  dependencies:
+    "mdn-data" "2.0.30"
+    "source-map-js" "1.0.2"
+
+"css-what@6.1.0":
+  version "6.1.0"
+  resolved "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz"
+  integrity "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw=="
+
+"css@3.0.0":
+  version "3.0.0"
+  resolved "https://registry.npmjs.org/css/-/css-3.0.0.tgz"
+  integrity "sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ=="
+  dependencies:
+    "inherits" "2.0.4"
+    "source-map" "0.6.1"
+    "source-map-resolve" "0.6.0"
+
+"cssesc@3.0.0":
+  version "3.0.0"
+  resolved "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz"
+  integrity "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg=="
+
+"csso@5.0.5":
+  version "5.0.5"
+  resolved "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz"
+  integrity "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ=="
+  dependencies:
+    "css-tree" "2.2.1"
+
+"csstype@3.1.2":
+  version "3.1.2"
+  resolved "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz"
+  integrity "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ=="
+
+"dayjs@^1.11.9", "dayjs@1.11.9":
+  version "1.11.9"
+  resolved "https://registry.npmjs.org/dayjs/-/dayjs-1.11.9.tgz"
+  integrity "sha512-QvzAURSbQ0pKdIye2txOzNaHmxtUBXerpY0FJsFXUMKbIZeFm5ht1LS/jFsrncjnmtv8HsG0W2g6c0zUjZWmpA=="
+
+"de-indent@1.0.2":
+  version "1.0.2"
+  resolved "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz"
+  integrity "sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg=="
+
+"debug@3.2.7":
+  version "3.2.7"
+  resolved "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz"
+  integrity "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ=="
+  dependencies:
+    "ms" "2.1.3"
+
+"debug@4.3.4":
+  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"
+
+"decode-uri-component@0.2.2":
+  version "0.2.2"
+  resolved "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz"
+  integrity "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ=="
+
+"deep-is@0.1.4":
+  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=="
+
+"define-properties@1.2.0":
+  version "1.2.0"
+  resolved "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz"
+  integrity "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA=="
+  dependencies:
+    "has-property-descriptors" "1.0.0"
+    "object-keys" "1.1.1"
+
+"dir-glob@3.0.1":
+  version "3.0.1"
+  resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz"
+  integrity "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA=="
+  dependencies:
+    "path-type" "4.0.0"
+
+"doctrine@2.1.0":
+  version "2.1.0"
+  resolved "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz"
+  integrity "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw=="
+  dependencies:
+    "esutils" "2.0.3"
+
+"doctrine@3.0.0":
+  version "3.0.0"
+  resolved "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz"
+  integrity "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w=="
+  dependencies:
+    "esutils" "2.0.3"
+
+"dom-serializer@2.0.0":
+  version "2.0.0"
+  resolved "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz"
+  integrity "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg=="
+  dependencies:
+    "domelementtype" "2.3.0"
+    "domhandler" "5.0.3"
+    "entities" "4.5.0"
+
+"domelementtype@2.3.0":
+  version "2.3.0"
+  resolved "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz"
+  integrity "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw=="
+
+"domhandler@5.0.3":
+  version "5.0.3"
+  resolved "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz"
+  integrity "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w=="
+  dependencies:
+    "domelementtype" "2.3.0"
+
+"domutils@3.1.0":
+  version "3.1.0"
+  resolved "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz"
+  integrity "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA=="
+  dependencies:
+    "dom-serializer" "2.0.0"
+    "domelementtype" "2.3.0"
+    "domhandler" "5.0.3"
+
+"electron-to-chromium@1.4.447":
+  version "1.4.447"
+  resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.447.tgz"
+  integrity "sha512-sxX0LXh+uL41hSJsujAN86PjhrV/6c79XmpY0TvjZStV6VxIgarf8SRkUoUTuYmFcZQTemsoqo8qXOGw5npWfw=="
+
+"entities@4.5.0":
+  version "4.5.0"
+  resolved "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz"
+  integrity "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw=="
+
+"es-abstract@1.21.2":
+  version "1.21.2"
+  resolved "https://registry.npmjs.org/es-abstract/-/es-abstract-1.21.2.tgz"
+  integrity "sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg=="
+  dependencies:
+    "array-buffer-byte-length" "1.0.0"
+    "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.5"
+    "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.10"
+    "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.0"
+    "safe-regex-test" "1.0.0"
+    "string.prototype.trim" "1.2.7"
+    "string.prototype.trimend" "1.0.6"
+    "string.prototype.trimstart" "1.0.6"
+    "typed-array-length" "1.0.4"
+    "unbox-primitive" "1.0.2"
+    "which-typed-array" "1.1.9"
+
+"es-set-tostringtag@2.0.1":
+  version "2.0.1"
+  resolved "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz"
+  integrity "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg=="
+  dependencies:
+    "get-intrinsic" "1.2.1"
+    "has" "1.0.3"
+    "has-tostringtag" "1.0.0"
+
+"es-shim-unscopables@1.0.0":
+  version "1.0.0"
+  resolved "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz"
+  integrity "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w=="
+  dependencies:
+    "has" "1.0.3"
+
+"es-to-primitive@1.2.1":
+  version "1.2.1"
+  resolved "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz"
+  integrity "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA=="
+  dependencies:
+    "is-callable" "1.2.7"
+    "is-date-object" "1.0.5"
+    "is-symbol" "1.0.4"
+
+"esbuild@0.17.19":
+  version "0.17.19"
+  resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.17.19.tgz"
+  integrity "sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw=="
+
+"escalade@3.1.1":
+  version "3.1.1"
+  resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz"
+  integrity "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw=="
+
+"escape-string-regexp@1.0.5":
+  version "1.0.5"
+  resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz"
+  integrity "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg=="
+
+"escape-string-regexp@4.0.0":
+  version "4.0.0"
+  resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz"
+  integrity "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA=="
+
+"escodegen@2.1.0":
+  version "2.1.0"
+  resolved "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz"
+  integrity "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w=="
+  dependencies:
+    "esprima" "4.0.1"
+    "estraverse" "5.3.0"
+    "esutils" "2.0.3"
+
+"eslint-config-airbnb-base@^15.0.0", "eslint-config-airbnb-base@15.0.0":
+  version "15.0.0"
+  resolved "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-15.0.0.tgz"
+  integrity "sha512-xaX3z4ZZIcFLvh2oUNvcX5oEofXda7giYmuplVxoOg5A7EXJMrUyqRgR+mhDhPK8LZ4PttFOBvCYDbX3sUoUig=="
+  dependencies:
+    "confusing-browser-globals" "1.0.11"
+    "eslint" "8.44.0"
+    "eslint-plugin-import" "2.27.5"
+    "object.assign" "4.1.4"
+    "object.entries" "1.1.6"
+    "semver" "7.5.3"
+
+"eslint-config-airbnb-typescript@^17.0.0", "eslint-config-airbnb-typescript@17.0.0":
+  version "17.0.0"
+  resolved "https://registry.npmjs.org/eslint-config-airbnb-typescript/-/eslint-config-airbnb-typescript-17.0.0.tgz"
+  integrity "sha512-elNiuzD0kPAPTXjFWg+lE24nMdHMtuxgYoD30OyMD6yrW1AhFZPAg27VX7d3tzOErw+dgJTNWfRSDqEcXb4V0g=="
+  dependencies:
+    "@typescript-eslint/eslint-plugin" "5.60.1"
+    "@typescript-eslint/parser" "5.60.1"
+    "eslint" "8.44.0"
+    "eslint-config-airbnb-base" "15.0.0"
+    "eslint-plugin-import" "2.27.5"
+
+"eslint-config-prettier@^8.8.0", "eslint-config-prettier@8.8.0":
+  version "8.8.0"
+  resolved "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.8.0.tgz"
+  integrity "sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA=="
+  dependencies:
+    "eslint" "8.44.0"
+
+"eslint-import-resolver-node@0.3.7":
+  version "0.3.7"
+  resolved "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz"
+  integrity "sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA=="
+  dependencies:
+    "debug" "3.2.7"
+    "is-core-module" "2.12.1"
+    "resolve" "1.22.2"
+
+"eslint-module-utils@2.8.0":
+  version "2.8.0"
+  resolved "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz"
+  integrity "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw=="
+  dependencies:
+    "@typescript-eslint/parser" "5.60.1"
+    "debug" "3.2.7"
+    "eslint" "8.44.0"
+    "eslint-import-resolver-node" "0.3.7"
+
+"eslint-plugin-import@^2.27.5", "eslint-plugin-import@2.27.5":
+  version "2.27.5"
+  resolved "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.27.5.tgz"
+  integrity "sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow=="
+  dependencies:
+    "@typescript-eslint/parser" "5.60.1"
+    "array-includes" "3.1.6"
+    "array.prototype.flat" "1.3.1"
+    "array.prototype.flatmap" "1.3.1"
+    "debug" "3.2.7"
+    "doctrine" "2.1.0"
+    "eslint" "8.44.0"
+    "eslint-import-resolver-node" "0.3.7"
+    "eslint-module-utils" "2.8.0"
+    "has" "1.0.3"
+    "is-core-module" "2.12.1"
+    "is-glob" "4.0.3"
+    "minimatch" "3.1.2"
+    "object.values" "1.1.6"
+    "resolve" "1.22.2"
+    "semver" "7.5.3"
+    "tsconfig-paths" "3.14.2"
+
+"eslint-plugin-prettier@^4.2.1", "eslint-plugin-prettier@4.2.1":
+  version "4.2.1"
+  resolved "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz"
+  integrity "sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ=="
+  dependencies:
+    "eslint" "8.44.0"
+    "eslint-config-prettier" "8.8.0"
+    "prettier" "2.8.8"
+    "prettier-linter-helpers" "1.0.0"
+
+"eslint-plugin-promise@^6.1.1", "eslint-plugin-promise@6.1.1":
+  version "6.1.1"
+  resolved "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-6.1.1.tgz"
+  integrity "sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig=="
+  dependencies:
+    "eslint" "8.44.0"
+
+"eslint-plugin-simple-import-sort@^10.0.0", "eslint-plugin-simple-import-sort@10.0.0":
+  version "10.0.0"
+  resolved "https://registry.npmjs.org/eslint-plugin-simple-import-sort/-/eslint-plugin-simple-import-sort-10.0.0.tgz"
+  integrity "sha512-AeTvO9UCMSNzIHRkg8S6c3RPy5YEwKWSQPx3DYghLedo2ZQxowPFLGDN1AZ2evfg6r6mjBSZSLxLFsWSu3acsw=="
+  dependencies:
+    "eslint" "8.44.0"
+
+"eslint-plugin-vue-scoped-css@^2.5.0", "eslint-plugin-vue-scoped-css@2.5.0":
+  version "2.5.0"
+  resolved "https://registry.npmjs.org/eslint-plugin-vue-scoped-css/-/eslint-plugin-vue-scoped-css-2.5.0.tgz"
+  integrity "sha512-vR+raYNE1aQ69lS1lZGiKoz8rXFI3MWf2fxrfns/XCQ0XT5sIguhDtQS+9JmUQJClenLDEe2CQx7P+eeSdF4cA=="
+  dependencies:
+    "eslint" "8.44.0"
+    "eslint-utils" "3.0.0"
+    "lodash" "4.17.21"
+    "postcss" "8.4.24"
+    "postcss-safe-parser" "6.0.0"
+    "postcss-scss" "4.0.6"
+    "postcss-selector-parser" "6.0.13"
+    "postcss-styl" "0.12.3"
+    "vue-eslint-parser" "9.3.1"
+
+"eslint-plugin-vue@^9.15.1", "eslint-plugin-vue@9.15.1":
+  version "9.15.1"
+  resolved "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.15.1.tgz"
+  integrity "sha512-CJE/oZOslvmAR9hf8SClTdQ9JLweghT6JCBQNrT2Iel1uVw0W0OLJxzvPd6CxmABKCvLrtyDnqGV37O7KQv6+A=="
+  dependencies:
+    "@eslint-community/eslint-utils" "4.4.0"
+    "eslint" "8.44.0"
+    "natural-compare" "1.4.0"
+    "nth-check" "2.1.1"
+    "postcss-selector-parser" "6.0.13"
+    "semver" "7.5.3"
+    "vue-eslint-parser" "9.3.1"
+    "xml-name-validator" "4.0.0"
+
+"eslint-scope@5.1.1":
+  version "5.1.1"
+  resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz"
+  integrity "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw=="
+  dependencies:
+    "esrecurse" "4.3.0"
+    "estraverse" "4.3.0"
+
+"eslint-scope@7.2.0":
+  version "7.2.0"
+  resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz"
+  integrity "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw=="
+  dependencies:
+    "esrecurse" "4.3.0"
+    "estraverse" "5.3.0"
+
+"eslint-utils@2.1.0":
+  version "2.1.0"
+  resolved "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz"
+  integrity "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg=="
+  dependencies:
+    "eslint-visitor-keys" "1.3.0"
+
+"eslint-utils@3.0.0":
+  version "3.0.0"
+  resolved "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz"
+  integrity "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA=="
+  dependencies:
+    "eslint" "8.44.0"
+    "eslint-visitor-keys" "2.1.0"
+
+"eslint-visitor-keys@1.3.0":
+  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=="
+
+"eslint-visitor-keys@2.1.0":
+  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=="
+
+"eslint-visitor-keys@3.4.1":
+  version "3.4.1"
+  resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz"
+  integrity "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA=="
+
+"eslint@^8.44.0", "eslint@8.44.0":
+  version "8.44.0"
+  resolved "https://registry.npmjs.org/eslint/-/eslint-8.44.0.tgz"
+  integrity "sha512-0wpHoUbDUHgNCyvFB5aXLiQVfK9B0at6gUvzy83k4kAsQ/u769TQDX6iKC+aO4upIHO9WSaA3QoXYQDHbNwf1A=="
+  dependencies:
+    "@eslint-community/eslint-utils" "4.4.0"
+    "@eslint-community/regexpp" "4.5.1"
+    "@eslint/eslintrc" "2.1.0"
+    "@eslint/js" "8.44.0"
+    "@humanwhocodes/config-array" "0.11.10"
+    "@humanwhocodes/module-importer" "1.0.1"
+    "@nodelib/fs.walk" "1.2.8"
+    "ajv" "6.12.6"
+    "chalk" "4.1.2"
+    "cross-spawn" "7.0.3"
+    "debug" "4.3.4"
+    "doctrine" "3.0.0"
+    "escape-string-regexp" "4.0.0"
+    "eslint-scope" "7.2.0"
+    "eslint-visitor-keys" "3.4.1"
+    "espree" "9.6.0"
+    "esquery" "1.5.0"
+    "esutils" "2.0.3"
+    "fast-deep-equal" "3.1.3"
+    "file-entry-cache" "6.0.1"
+    "find-up" "5.0.0"
+    "glob-parent" "6.0.2"
+    "globals" "13.20.0"
+    "graphemer" "1.4.0"
+    "ignore" "5.2.4"
+    "import-fresh" "3.3.0"
+    "imurmurhash" "0.1.4"
+    "is-glob" "4.0.3"
+    "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"
+    "strip-json-comments" "3.1.1"
+    "text-table" "0.2.0"
+
+"espree@6.2.1":
+  version "6.2.1"
+  resolved "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz"
+  integrity "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw=="
+  dependencies:
+    "acorn" "7.4.1"
+    "acorn-jsx" "5.3.2"
+    "eslint-visitor-keys" "1.3.0"
+
+"espree@9.6.0":
+  version "9.6.0"
+  resolved "https://registry.npmjs.org/espree/-/espree-9.6.0.tgz"
+  integrity "sha512-1FH/IiruXZ84tpUlm0aCUEwMl2Ho5ilqVh0VvQXw+byAz/4SAciyHLlfmL5WYqsvD38oymdUwBss0LtK8m4s/A=="
+  dependencies:
+    "acorn" "8.9.0"
+    "acorn-jsx" "5.3.2"
+    "eslint-visitor-keys" "3.4.1"
+
+"esprima@4.0.1":
+  version "4.0.1"
+  resolved "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz"
+  integrity "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A=="
+
+"esquery@1.5.0":
+  version "1.5.0"
+  resolved "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz"
+  integrity "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg=="
+  dependencies:
+    "estraverse" "5.3.0"
+
+"esrecurse@4.3.0":
+  version "4.3.0"
+  resolved "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz"
+  integrity "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag=="
+  dependencies:
+    "estraverse" "5.3.0"
+
+"estraverse@4.3.0":
+  version "4.3.0"
+  resolved "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz"
+  integrity "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw=="
+
+"estraverse@5.3.0":
+  version "5.3.0"
+  resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz"
+  integrity "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA=="
+
+"estree-walker@2.0.2":
+  version "2.0.2"
+  resolved "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz"
+  integrity "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="
+
+"esutils@2.0.3":
+  version "2.0.3"
+  resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz"
+  integrity "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g=="
+
+"execa@5.1.1":
+  version "5.1.1"
+  resolved "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz"
+  integrity "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg=="
+  dependencies:
+    "cross-spawn" "7.0.3"
+    "get-stream" "6.0.1"
+    "human-signals" "2.1.0"
+    "is-stream" "2.0.1"
+    "merge-stream" "2.0.0"
+    "npm-run-path" "4.0.1"
+    "onetime" "5.1.2"
+    "signal-exit" "3.0.7"
+    "strip-final-newline" "2.0.0"
+
+"fast-deep-equal@3.1.3":
+  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=="
+
+"fast-diff@1.3.0":
+  version "1.3.0"
+  resolved "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz"
+  integrity "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw=="
+
+"fast-glob@3.3.0":
+  version "3.3.0"
+  resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.0.tgz"
+  integrity "sha512-ChDuvbOypPuNjO8yIDf36x7BlZX1smcUMTTcyoIjycexOxd6DFsKsg21qVBzEmr3G7fUKIRy2/psii+CIUt7FA=="
+  dependencies:
+    "@nodelib/fs.stat" "2.0.5"
+    "@nodelib/fs.walk" "1.2.8"
+    "glob-parent" "5.1.2"
+    "merge2" "1.4.1"
+    "micromatch" "4.0.5"
+
+"fast-json-stable-stringify@2.1.0":
+  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=="
+
+"fast-levenshtein@2.0.6":
+  version "2.0.6"
+  resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz"
+  integrity "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw=="
+
+"fastq@1.15.0":
+  version "1.15.0"
+  resolved "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz"
+  integrity "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw=="
+  dependencies:
+    "reusify" "1.0.4"
+
+"file-entry-cache@6.0.1":
+  version "6.0.1"
+  resolved "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz"
+  integrity "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg=="
+  dependencies:
+    "flat-cache" "3.0.4"
+
+"fill-range@7.0.1":
+  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"
+
+"find-up@5.0.0":
+  version "5.0.0"
+  resolved "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz"
+  integrity "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng=="
+  dependencies:
+    "locate-path" "6.0.0"
+    "path-exists" "4.0.0"
+
+"flat-cache@3.0.4":
+  version "3.0.4"
+  resolved "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz"
+  integrity "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg=="
+  dependencies:
+    "flatted" "3.2.7"
+    "rimraf" "3.0.2"
+
+"flatted@3.2.7":
+  version "3.2.7"
+  resolved "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz"
+  integrity "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ=="
+
+"floating-vue@^2.0.0-beta.24", "floating-vue@2.0.0-beta.24":
+  version "2.0.0-beta.24"
+  resolved "https://registry.npmjs.org/floating-vue/-/floating-vue-2.0.0-beta.24.tgz"
+  integrity "sha512-URSzP6YXaF4u1oZ9XGL8Sn8puuM7ivp5jkOUrpy5Q1mfo9BfGppJOn+ierTmsSUfJEeHBae8KT7r5DeI3vQIEw=="
+  dependencies:
+    "@floating-ui/dom" "1.1.1"
+    "vue" "3.3.4"
+    "vue-resize" "2.0.0-alpha.1"
+
+"for-each@0.3.3":
+  version "0.3.3"
+  resolved "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz"
+  integrity "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw=="
+  dependencies:
+    "is-callable" "1.2.7"
+
+"fs.realpath@1.0.0":
+  version "1.0.0"
+  resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz"
+  integrity "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw=="
+
+"fsevents@2.3.2":
+  version "2.3.2"
+  resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz"
+  integrity "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA=="
+
+"function-bind@1.1.1":
+  version "1.1.1"
+  resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz"
+  integrity "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
+
+"function.prototype.name@1.1.5":
+  version "1.1.5"
+  resolved "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz"
+  integrity "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA=="
+  dependencies:
+    "call-bind" "1.0.2"
+    "define-properties" "1.2.0"
+    "es-abstract" "1.21.2"
+    "functions-have-names" "1.2.3"
+
+"functions-have-names@1.2.3":
+  version "1.2.3"
+  resolved "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz"
+  integrity "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ=="
+
+"fuse.js@^6.6.2", "fuse.js@6.6.2":
+  version "6.6.2"
+  resolved "https://registry.npmjs.org/fuse.js/-/fuse.js-6.6.2.tgz"
+  integrity "sha512-cJaJkxCCxC8qIIcPBF9yGxY0W/tVZS3uEISDxhYIdtk8OL93pe+6Zj7LjCqVV4dzbqcriOZ+kQ/NE4RXZHsIGA=="
+
+"gensync@1.0.0-beta.2":
+  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-intrinsic@1.2.1":
+  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"
+
+"get-stream@6.0.1":
+  version "6.0.1"
+  resolved "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz"
+  integrity "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg=="
+
+"get-symbol-description@1.0.0":
+  version "1.0.0"
+  resolved "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz"
+  integrity "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw=="
+  dependencies:
+    "call-bind" "1.0.2"
+    "get-intrinsic" "1.2.1"
+
+"glob-parent@5.1.2":
+  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.3"
+
+"glob-parent@6.0.2":
+  version "6.0.2"
+  resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz"
+  integrity "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A=="
+  dependencies:
+    "is-glob" "4.0.3"
+
+"glob@7.2.3":
+  version "7.2.3"
+  resolved "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz"
+  integrity "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q=="
+  dependencies:
+    "fs.realpath" "1.0.0"
+    "inflight" "1.0.6"
+    "inherits" "2.0.4"
+    "minimatch" "3.1.2"
+    "once" "1.4.0"
+    "path-is-absolute" "1.0.1"
+
+"globals@11.12.0":
+  version "11.12.0"
+  resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz"
+  integrity "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA=="
+
+"globals@13.20.0":
+  version "13.20.0"
+  resolved "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz"
+  integrity "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ=="
+  dependencies:
+    "type-fest" "0.20.2"
+
+"globalthis@1.0.3":
+  version "1.0.3"
+  resolved "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz"
+  integrity "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA=="
+  dependencies:
+    "define-properties" "1.2.0"
+
+"globby@11.1.0":
+  version "11.1.0"
+  resolved "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz"
+  integrity "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g=="
+  dependencies:
+    "array-union" "2.1.0"
+    "dir-glob" "3.0.1"
+    "fast-glob" "3.3.0"
+    "ignore" "5.2.4"
+    "merge2" "1.4.1"
+    "slash" "3.0.0"
+
+"gopd@1.0.1":
+  version "1.0.1"
+  resolved "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz"
+  integrity "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA=="
+  dependencies:
+    "get-intrinsic" "1.2.1"
+
+"grapheme-splitter@1.0.4":
+  version "1.0.4"
+  resolved "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz"
+  integrity "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ=="
+
+"graphemer@1.4.0":
+  version "1.4.0"
+  resolved "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz"
+  integrity "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag=="
+
+"has-bigints@1.0.2":
+  version "1.0.2"
+  resolved "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz"
+  integrity "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ=="
+
+"has-flag@3.0.0":
+  version "3.0.0"
+  resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz"
+  integrity "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw=="
+
+"has-flag@4.0.0":
+  version "4.0.0"
+  resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz"
+  integrity "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="
+
+"has-property-descriptors@1.0.0":
+  version "1.0.0"
+  resolved "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz"
+  integrity "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ=="
+  dependencies:
+    "get-intrinsic" "1.2.1"
+
+"has-proto@1.0.1":
+  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=="
+
+"has-symbols@1.0.3":
+  version "1.0.3"
+  resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz"
+  integrity "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A=="
+
+"has-tostringtag@1.0.0":
+  version "1.0.0"
+  resolved "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz"
+  integrity "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ=="
+  dependencies:
+    "has-symbols" "1.0.3"
+
+"has@1.0.3":
+  version "1.0.3"
+  resolved "https://registry.npmjs.org/has/-/has-1.0.3.tgz"
+  integrity "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw=="
+  dependencies:
+    "function-bind" "1.1.1"
+
+"he@1.2.0":
+  version "1.2.0"
+  resolved "https://registry.npmjs.org/he/-/he-1.2.0.tgz"
+  integrity "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw=="
+
+"human-signals@2.1.0":
+  version "2.1.0"
+  resolved "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz"
+  integrity "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw=="
+
+"humanize-duration@^3.28.0", "humanize-duration@3.28.0":
+  version "3.28.0"
+  resolved "https://registry.npmjs.org/humanize-duration/-/humanize-duration-3.28.0.tgz"
+  integrity "sha512-jMAxraOOmHuPbffLVDKkEKi/NeG8dMqP8lGRd6Tbf7JgAeG33jjgPWDbXXU7ypCI0o+oNKJFgbSB9FKVdWNI2A=="
+
+"ignore@5.2.4":
+  version "5.2.4"
+  resolved "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz"
+  integrity "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ=="
+
+"import-fresh@3.3.0":
+  version "3.3.0"
+  resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz"
+  integrity "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw=="
+  dependencies:
+    "parent-module" "1.0.1"
+    "resolve-from" "4.0.0"
+
+"imurmurhash@0.1.4":
+  version "0.1.4"
+  resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz"
+  integrity "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA=="
+
+"inflight@1.0.6":
+  version "1.0.6"
+  resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz"
+  integrity "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA=="
+  dependencies:
+    "once" "1.4.0"
+    "wrappy" "1.0.2"
+
+"inherits@2.0.4":
+  version "2.0.4"
+  resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz"
+  integrity "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
+
+"internal-slot@1.0.5":
+  version "1.0.5"
+  resolved "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz"
+  integrity "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ=="
+  dependencies:
+    "get-intrinsic" "1.2.1"
+    "has" "1.0.3"
+    "side-channel" "1.0.4"
+
+"is-array-buffer@3.0.2":
+  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=="
+  dependencies:
+    "call-bind" "1.0.2"
+    "get-intrinsic" "1.2.1"
+    "is-typed-array" "1.1.10"
+
+"is-bigint@1.0.4":
+  version "1.0.4"
+  resolved "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz"
+  integrity "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg=="
+  dependencies:
+    "has-bigints" "1.0.2"
+
+"is-binary-path@2.1.0":
+  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.2.0"
+
+"is-boolean-object@1.1.2":
+  version "1.1.2"
+  resolved "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz"
+  integrity "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA=="
+  dependencies:
+    "call-bind" "1.0.2"
+    "has-tostringtag" "1.0.0"
+
+"is-callable@1.2.7":
+  version "1.2.7"
+  resolved "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz"
+  integrity "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA=="
+
+"is-core-module@2.12.1":
+  version "2.12.1"
+  resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.1.tgz"
+  integrity "sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg=="
+  dependencies:
+    "has" "1.0.3"
+
+"is-date-object@1.0.5":
+  version "1.0.5"
+  resolved "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz"
+  integrity "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ=="
+  dependencies:
+    "has-tostringtag" "1.0.0"
+
+"is-extglob@2.1.1":
+  version "2.1.1"
+  resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz"
+  integrity "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ=="
+
+"is-glob@4.0.3":
+  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"
+
+"is-negative-zero@2.0.2":
+  version "2.0.2"
+  resolved "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz"
+  integrity "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA=="
+
+"is-number-object@1.0.7":
+  version "1.0.7"
+  resolved "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz"
+  integrity "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ=="
+  dependencies:
+    "has-tostringtag" "1.0.0"
+
+"is-number@7.0.0":
+  version "7.0.0"
+  resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz"
+  integrity "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="
+
+"is-path-inside@3.0.3":
+  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=="
+
+"is-regex@1.1.4":
+  version "1.1.4"
+  resolved "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz"
+  integrity "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg=="
+  dependencies:
+    "call-bind" "1.0.2"
+    "has-tostringtag" "1.0.0"
+
+"is-shared-array-buffer@1.0.2":
+  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=="
+  dependencies:
+    "call-bind" "1.0.2"
+
+"is-stream@2.0.1":
+  version "2.0.1"
+  resolved "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz"
+  integrity "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg=="
+
+"is-string@1.0.7":
+  version "1.0.7"
+  resolved "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz"
+  integrity "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg=="
+  dependencies:
+    "has-tostringtag" "1.0.0"
+
+"is-symbol@1.0.4":
+  version "1.0.4"
+  resolved "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz"
+  integrity "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg=="
+  dependencies:
+    "has-symbols" "1.0.3"
+
+"is-typed-array@1.1.10":
+  version "1.1.10"
+  resolved "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz"
+  integrity "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A=="
+  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"
+
+"is-weakref@1.0.2":
+  version "1.0.2"
+  resolved "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz"
+  integrity "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ=="
+  dependencies:
+    "call-bind" "1.0.2"
+
+"isexe@2.0.0":
+  version "2.0.0"
+  resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz"
+  integrity "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="
+
+"javascript-time-ago@^2.5.9", "javascript-time-ago@2.5.9":
+  version "2.5.9"
+  resolved "https://registry.npmjs.org/javascript-time-ago/-/javascript-time-ago-2.5.9.tgz"
+  integrity "sha512-pQ8mNco/9g9TqWXWWjP0EWl6i/lAQScOyEeXy5AB+f7MfLSdgyV9BJhiOD1zrIac/lrxPYOWNbyl/IW8CW5n0A=="
+  dependencies:
+    "relative-time-format" "1.1.6"
+
+"jiti@1.18.2":
+  version "1.18.2"
+  resolved "https://registry.npmjs.org/jiti/-/jiti-1.18.2.tgz"
+  integrity "sha512-QAdOptna2NYiSSpv0O/BwoHBSmz4YhpzJHyi+fnMRTXFjp7B8i/YG5Z8IfusxB1ufjcD2Sre1F3R+nX3fvy7gg=="
+
+"js-tokens@4.0.0":
+  version "4.0.0"
+  resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz"
+  integrity "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
+
+"js-yaml@4.1.0":
+  version "4.1.0"
+  resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz"
+  integrity "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA=="
+  dependencies:
+    "argparse" "2.0.1"
+
+"jsesc@2.5.2":
+  version "2.5.2"
+  resolved "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz"
+  integrity "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA=="
+
+"json-schema-traverse@0.4.1":
+  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=="
+
+"json-stable-stringify-without-jsonify@1.0.1":
+  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=="
+
+"json5@1.0.2":
+  version "1.0.2"
+  resolved "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz"
+  integrity "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA=="
+  dependencies:
+    "minimist" "1.2.8"
+
+"json5@2.2.3":
+  version "2.2.3"
+  resolved "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz"
+  integrity "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg=="
+
+"jsonc-eslint-parser@1.4.1":
+  version "1.4.1"
+  resolved "https://registry.npmjs.org/jsonc-eslint-parser/-/jsonc-eslint-parser-1.4.1.tgz"
+  integrity "sha512-hXBrvsR1rdjmB2kQmUjf1rEIa+TqHBGMge8pwi++C+Si1ad7EjZrJcpgwym+QGK/pqTx+K7keFAtLlVNdLRJOg=="
+  dependencies:
+    "acorn" "7.4.1"
+    "eslint-utils" "2.1.0"
+    "eslint-visitor-keys" "1.3.0"
+    "espree" "6.2.1"
+    "semver" "7.5.3"
+
+"kolorist@1.8.0":
+  version "1.8.0"
+  resolved "https://registry.npmjs.org/kolorist/-/kolorist-1.8.0.tgz"
+  integrity "sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ=="
+
+"levn@0.4.1":
+  version "0.4.1"
+  resolved "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz"
+  integrity "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ=="
+  dependencies:
+    "prelude-ls" "1.2.1"
+    "type-check" "0.4.0"
+
+"local-pkg@0.4.3":
+  version "0.4.3"
+  resolved "https://registry.npmjs.org/local-pkg/-/local-pkg-0.4.3.tgz"
+  integrity "sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g=="
+
+"locate-path@6.0.0":
+  version "6.0.0"
+  resolved "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz"
+  integrity "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw=="
+  dependencies:
+    "p-locate" "5.0.0"
+
+"lodash.merge@4.6.2":
+  version "4.6.2"
+  resolved "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz"
+  integrity "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ=="
+
+"lodash.sortedlastindex@4.1.0":
+  version "4.1.0"
+  resolved "https://registry.npmjs.org/lodash.sortedlastindex/-/lodash.sortedlastindex-4.1.0.tgz"
+  integrity "sha512-s8xEQdsp2Tu5zUqVdFSe9C0kR8YlnAJYLqMdkh+pIRBRxF6/apWseLdHl3/+jv2I61dhPwtI/Ff+EqvCpc+N8w=="
+
+"lodash@^4.17.21", "lodash@4.17.21":
+  version "4.17.21"
+  resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz"
+  integrity "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
+
+"lru-cache@5.1.1":
+  version "5.1.1"
+  resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz"
+  integrity "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w=="
+  dependencies:
+    "yallist" "3.1.1"
+
+"lru-cache@6.0.0":
+  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"
+
+"magic-string@0.30.0":
+  version "0.30.0"
+  resolved "https://registry.npmjs.org/magic-string/-/magic-string-0.30.0.tgz"
+  integrity "sha512-LA+31JYDJLs82r2ScLrlz1GjSgu66ZV518eyWT+S8VhyQn/JL0u9MeBOvQMGYiPk1DBiSN9DDMOcXvigJZaViQ=="
+  dependencies:
+    "@jridgewell/sourcemap-codec" "1.4.15"
+
+"mdn-data@2.0.28":
+  version "2.0.28"
+  resolved "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz"
+  integrity "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g=="
+
+"mdn-data@2.0.30":
+  version "2.0.30"
+  resolved "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz"
+  integrity "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA=="
+
+"merge-stream@2.0.0":
+  version "2.0.0"
+  resolved "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz"
+  integrity "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w=="
+
+"merge2@1.4.1":
+  version "1.4.1"
+  resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz"
+  integrity "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg=="
+
+"micromatch@4.0.5":
+  version "4.0.5"
+  resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz"
+  integrity "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA=="
+  dependencies:
+    "braces" "3.0.2"
+    "picomatch" "2.3.1"
+
+"mimic-fn@2.1.0":
+  version "2.1.0"
+  resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz"
+  integrity "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg=="
+
+"minimatch@3.1.2":
+  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.11"
+
+"minimatch@7.4.6":
+  version "7.4.6"
+  resolved "https://registry.npmjs.org/minimatch/-/minimatch-7.4.6.tgz"
+  integrity "sha512-sBz8G/YjVniEz6lKPNpKxXwazJe4c19fEfV2GDMX6AjFz+MX9uDWIZW8XreVhkFW3fkIdTv/gxWr/Kks5FFAVw=="
+  dependencies:
+    "brace-expansion" "2.0.1"
+
+"minimatch@9.0.2":
+  version "9.0.2"
+  resolved "https://registry.npmjs.org/minimatch/-/minimatch-9.0.2.tgz"
+  integrity "sha512-PZOT9g5v2ojiTL7r1xF6plNHLtOeTpSlDI007As2NlA2aYBMfVom17yqa6QzhmDP8QOhn7LjHTg7DFCVSSa6yg=="
+  dependencies:
+    "brace-expansion" "2.0.1"
+
+"minimist@1.2.8":
+  version "1.2.8"
+  resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz"
+  integrity "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA=="
+
+"ms@2.1.2":
+  version "2.1.2"
+  resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz"
+  integrity "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+
+"ms@2.1.3":
+  version "2.1.3"
+  resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz"
+  integrity "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
+
+"muggle-string@0.3.1":
+  version "0.3.1"
+  resolved "https://registry.npmjs.org/muggle-string/-/muggle-string-0.3.1.tgz"
+  integrity "sha512-ckmWDJjphvd/FvZawgygcUeQCxzvohjFO5RxTjj4eq8kw359gFF3E1brjfI+viLMxss5JrHTDRHZvu2/tuy0Qg=="
+
+"nanoid@3.3.6":
+  version "3.3.6"
+  resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz"
+  integrity "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA=="
+
+"natural-compare-lite@1.4.0":
+  version "1.4.0"
+  resolved "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz"
+  integrity "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g=="
+
+"natural-compare@1.4.0":
+  version "1.4.0"
+  resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz"
+  integrity "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw=="
+
+"node-emoji@^1.11.0", "node-emoji@1.11.0":
+  version "1.11.0"
+  resolved "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz"
+  integrity "sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A=="
+  dependencies:
+    "lodash" "4.17.21"
+
+"node-releases@2.0.12":
+  version "2.0.12"
+  resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.12.tgz"
+  integrity "sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ=="
+
+"normalize-path@3.0.0":
+  version "3.0.0"
+  resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz"
+  integrity "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA=="
+
+"npm-run-path@4.0.1":
+  version "4.0.1"
+  resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz"
+  integrity "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw=="
+  dependencies:
+    "path-key" "3.1.1"
+
+"nth-check@2.1.1":
+  version "2.1.1"
+  resolved "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz"
+  integrity "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w=="
+  dependencies:
+    "boolbase" "1.0.0"
+
+"object-inspect@1.12.3":
+  version "1.12.3"
+  resolved "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz"
+  integrity "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g=="
+
+"object-keys@1.1.1":
+  version "1.1.1"
+  resolved "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz"
+  integrity "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA=="
+
+"object.assign@4.1.4":
+  version "4.1.4"
+  resolved "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz"
+  integrity "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ=="
+  dependencies:
+    "call-bind" "1.0.2"
+    "define-properties" "1.2.0"
+    "has-symbols" "1.0.3"
+    "object-keys" "1.1.1"
+
+"object.entries@1.1.6":
+  version "1.1.6"
+  resolved "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz"
+  integrity "sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w=="
+  dependencies:
+    "call-bind" "1.0.2"
+    "define-properties" "1.2.0"
+    "es-abstract" "1.21.2"
+
+"object.values@1.1.6":
+  version "1.1.6"
+  resolved "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz"
+  integrity "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw=="
+  dependencies:
+    "call-bind" "1.0.2"
+    "define-properties" "1.2.0"
+    "es-abstract" "1.21.2"
+
+"once@1.4.0":
+  version "1.4.0"
+  resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz"
+  integrity "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w=="
+  dependencies:
+    "wrappy" "1.0.2"
+
+"onetime@5.1.2":
+  version "5.1.2"
+  resolved "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz"
+  integrity "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg=="
+  dependencies:
+    "mimic-fn" "2.1.0"
+
+"optionator@0.9.3":
+  version "0.9.3"
+  resolved "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz"
+  integrity "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg=="
+  dependencies:
+    "@aashutoshrathi/word-wrap" "1.2.6"
+    "deep-is" "0.1.4"
+    "fast-levenshtein" "2.0.6"
+    "levn" "0.4.1"
+    "prelude-ls" "1.2.1"
+    "type-check" "0.4.0"
+
+"p-limit@3.1.0":
+  version "3.1.0"
+  resolved "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz"
+  integrity "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ=="
+  dependencies:
+    "yocto-queue" "0.1.0"
+
+"p-locate@5.0.0":
+  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=="
+  dependencies:
+    "p-limit" "3.1.0"
+
+"parent-module@1.0.1":
+  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=="
+  dependencies:
+    "callsites" "3.1.0"
+
+"path-exists@4.0.0":
+  version "4.0.0"
+  resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz"
+  integrity "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w=="
+
+"path-is-absolute@1.0.1":
+  version "1.0.1"
+  resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz"
+  integrity "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg=="
+
+"path-key@3.1.1":
+  version "3.1.1"
+  resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz"
+  integrity "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q=="
+
+"path-parse@1.0.7":
+  version "1.0.7"
+  resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz"
+  integrity "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw=="
+
+"path-type@4.0.0":
+  version "4.0.0"
+  resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz"
+  integrity "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw=="
+
+"pathe@1.1.1":
+  version "1.1.1"
+  resolved "https://registry.npmjs.org/pathe/-/pathe-1.1.1.tgz"
+  integrity "sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q=="
+
+"picocolors@1.0.0":
+  version "1.0.0"
+  resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz"
+  integrity "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ=="
+
+"picomatch@2.3.1":
+  version "2.3.1"
+  resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz"
+  integrity "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="
+
+"pinia@^2.1.4", "pinia@2.1.4":
+  version "2.1.4"
+  resolved "https://registry.npmjs.org/pinia/-/pinia-2.1.4.tgz"
+  integrity "sha512-vYlnDu+Y/FXxv1ABo1vhjC+IbqvzUdiUC3sfDRrRyY2CQSrqqaa+iiHmqtARFxJVqWQMCJfXx1PBvFs9aJVLXQ=="
+  dependencies:
+    "@vue/devtools-api" "6.5.0"
+    "typescript" "5.0.3"
+    "vue" "3.3.4"
+    "vue-demi" "0.14.5"
+
+"postcss-safe-parser@6.0.0":
+  version "6.0.0"
+  resolved "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-6.0.0.tgz"
+  integrity "sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ=="
+  dependencies:
+    "postcss" "8.4.24"
+
+"postcss-scss@4.0.6":
+  version "4.0.6"
+  resolved "https://registry.npmjs.org/postcss-scss/-/postcss-scss-4.0.6.tgz"
+  integrity "sha512-rLDPhJY4z/i4nVFZ27j9GqLxj1pwxE80eAzUNRMXtcpipFYIeowerzBgG3yJhMtObGEXidtIgbUpQ3eLDsf5OQ=="
+  dependencies:
+    "postcss" "8.4.24"
+
+"postcss-selector-parser@6.0.13":
+  version "6.0.13"
+  resolved "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz"
+  integrity "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ=="
+  dependencies:
+    "cssesc" "3.0.0"
+    "util-deprecate" "1.0.2"
+
+"postcss-styl@0.12.3":
+  version "0.12.3"
+  resolved "https://registry.npmjs.org/postcss-styl/-/postcss-styl-0.12.3.tgz"
+  integrity "sha512-8I7Cd8sxiEITIp32xBK4K/Aj1ukX6vuWnx8oY/oAH35NfQI4OZaY5nd68Yx8HeN5S49uhQ6DL0rNk0ZBu/TaLg=="
+  dependencies:
+    "debug" "4.3.4"
+    "fast-diff" "1.3.0"
+    "lodash.sortedlastindex" "4.1.0"
+    "postcss" "8.4.24"
+    "stylus" "0.57.0"
+
+"postcss@8.4.24":
+  version "8.4.24"
+  resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.24.tgz"
+  integrity "sha512-M0RzbcI0sO/XJNucsGjvWU9ERWxb/ytp1w6dKtxTKgixdtQDq4rmx/g8W1hnaheq9jgwL/oyEdH5Bc4WwJKMqg=="
+  dependencies:
+    "nanoid" "3.3.6"
+    "picocolors" "1.0.0"
+    "source-map-js" "1.0.2"
+
+"prelude-ls@1.2.1":
+  version "1.2.1"
+  resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz"
+  integrity "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g=="
+
+"prettier-linter-helpers@1.0.0":
+  version "1.0.0"
+  resolved "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz"
+  integrity "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w=="
+  dependencies:
+    "fast-diff" "1.3.0"
+
+"prettier@^2.8.8", "prettier@2.8.8":
+  version "2.8.8"
+  resolved "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz"
+  integrity "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q=="
+
+"prismjs@^1.29.0", "prismjs@1.29.0":
+  version "1.29.0"
+  resolved "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz"
+  integrity "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q=="
+
+"punycode@2.3.0":
+  version "2.3.0"
+  resolved "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz"
+  integrity "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA=="
+
+"queue-microtask@1.2.3":
+  version "1.2.3"
+  resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz"
+  integrity "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A=="
+
+"readdirp@3.6.0":
+  version "3.6.0"
+  resolved "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz"
+  integrity "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA=="
+  dependencies:
+    "picomatch" "2.3.1"
+
+"regexp.prototype.flags@1.5.0":
+  version "1.5.0"
+  resolved "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz"
+  integrity "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA=="
+  dependencies:
+    "call-bind" "1.0.2"
+    "define-properties" "1.2.0"
+    "functions-have-names" "1.2.3"
+
+"relative-time-format@1.1.6":
+  version "1.1.6"
+  resolved "https://registry.npmjs.org/relative-time-format/-/relative-time-format-1.1.6.tgz"
+  integrity "sha512-aCv3juQw4hT1/P/OrVltKWLlp15eW1GRcwP1XdxHrPdZE9MtgqFpegjnTjLhi2m2WI9MT/hQQtE+tjEWG1hgkQ=="
+
+"resolve-from@4.0.0":
+  version "4.0.0"
+  resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz"
+  integrity "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g=="
+
+"resolve@1.22.2":
+  version "1.22.2"
+  resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz"
+  integrity "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g=="
+  dependencies:
+    "is-core-module" "2.12.1"
+    "path-parse" "1.0.7"
+    "supports-preserve-symlinks-flag" "1.0.0"
+
+"reusify@1.0.4":
+  version "1.0.4"
+  resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz"
+  integrity "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw=="
+
+"rimraf@3.0.2":
+  version "3.0.2"
+  resolved "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz"
+  integrity "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA=="
+  dependencies:
+    "glob" "7.2.3"
+
+"rollup@3.26.0":
+  version "3.26.0"
+  resolved "https://registry.npmjs.org/rollup/-/rollup-3.26.0.tgz"
+  integrity "sha512-YzJH0eunH2hr3knvF3i6IkLO/jTjAEwU4HoMUbQl4//Tnl3ou0e7P5SjxdDr8HQJdeUJShlbEHXrrnEHy1l7Yg=="
+
+"run-parallel@1.2.0":
+  version "1.2.0"
+  resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz"
+  integrity "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA=="
+  dependencies:
+    "queue-microtask" "1.2.3"
+
+"safe-regex-test@1.0.0":
+  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=="
+  dependencies:
+    "call-bind" "1.0.2"
+    "get-intrinsic" "1.2.1"
+    "is-regex" "1.1.4"
+
+"safer-buffer@2.1.2":
+  version "2.1.2"
+  resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz"
+  integrity "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
+
+"sax@1.2.4":
+  version "1.2.4"
+  resolved "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz"
+  integrity "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw=="
+
+"semver@7.5.3":
+  version "7.5.3"
+  resolved "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz"
+  integrity "sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ=="
+  dependencies:
+    "lru-cache" "6.0.0"
+
+"shebang-command@2.0.0":
+  version "2.0.0"
+  resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz"
+  integrity "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA=="
+  dependencies:
+    "shebang-regex" "3.0.0"
+
+"shebang-regex@3.0.0":
+  version "3.0.0"
+  resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz"
+  integrity "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A=="
+
+"side-channel@1.0.4":
+  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.2"
+    "get-intrinsic" "1.2.1"
+    "object-inspect" "1.12.3"
+
+"signal-exit@3.0.7":
+  version "3.0.7"
+  resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz"
+  integrity "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="
+
+"slash@3.0.0":
+  version "3.0.0"
+  resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz"
+  integrity "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q=="
+
+"source-map-js@1.0.2":
+  version "1.0.2"
+  resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz"
+  integrity "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw=="
+
+"source-map-resolve@0.6.0":
+  version "0.6.0"
+  resolved "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.6.0.tgz"
+  integrity "sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w=="
+  dependencies:
+    "atob" "2.1.2"
+    "decode-uri-component" "0.2.2"
+
+"source-map@0.6.1":
+  version "0.6.1"
+  resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz"
+  integrity "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
+
+"source-map@0.7.4":
+  version "0.7.4"
+  resolved "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz"
+  integrity "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA=="
+
+"string.prototype.trim@1.2.7":
+  version "1.2.7"
+  resolved "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz"
+  integrity "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg=="
+  dependencies:
+    "call-bind" "1.0.2"
+    "define-properties" "1.2.0"
+    "es-abstract" "1.21.2"
+
+"string.prototype.trimend@1.0.6":
+  version "1.0.6"
+  resolved "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz"
+  integrity "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ=="
+  dependencies:
+    "call-bind" "1.0.2"
+    "define-properties" "1.2.0"
+    "es-abstract" "1.21.2"
+
+"string.prototype.trimstart@1.0.6":
+  version "1.0.6"
+  resolved "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz"
+  integrity "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA=="
+  dependencies:
+    "call-bind" "1.0.2"
+    "define-properties" "1.2.0"
+    "es-abstract" "1.21.2"
+
+"strip-ansi@6.0.1":
+  version "6.0.1"
+  resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz"
+  integrity "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="
+  dependencies:
+    "ansi-regex" "5.0.1"
+
+"strip-bom@3.0.0":
+  version "3.0.0"
+  resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz"
+  integrity "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA=="
+
+"strip-final-newline@2.0.0":
+  version "2.0.0"
+  resolved "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz"
+  integrity "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA=="
+
+"strip-json-comments@3.1.1":
+  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=="
+
+"stylus@0.57.0":
+  version "0.57.0"
+  resolved "https://registry.npmjs.org/stylus/-/stylus-0.57.0.tgz"
+  integrity "sha512-yOI6G8WYfr0q8v8rRvE91wbxFU+rJPo760Va4MF6K0I6BZjO4r+xSynkvyPBP9tV1CIEUeRsiidjIs2rzb1CnQ=="
+  dependencies:
+    "css" "3.0.0"
+    "debug" "4.3.4"
+    "glob" "7.2.3"
+    "safer-buffer" "2.1.2"
+    "sax" "1.2.4"
+    "source-map" "0.7.4"
+
+"supports-color@5.5.0":
+  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"
+
+"supports-color@7.2.0":
+  version "7.2.0"
+  resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz"
+  integrity "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="
+  dependencies:
+    "has-flag" "4.0.0"
+
+"supports-preserve-symlinks-flag@1.0.0":
+  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=="
+
+"svgo@3.0.2":
+  version "3.0.2"
+  resolved "https://registry.npmjs.org/svgo/-/svgo-3.0.2.tgz"
+  integrity "sha512-Z706C1U2pb1+JGP48fbazf3KxHrWOsLme6Rv7imFBn5EnuanDW1GPaA/P1/dvObE670JDePC3mnj0k0B7P0jjQ=="
+  dependencies:
+    "@trysound/sax" "0.2.0"
+    "commander" "7.2.0"
+    "css-select" "5.1.0"
+    "css-tree" "2.3.1"
+    "csso" "5.0.5"
+    "picocolors" "1.0.0"
+
+"text-table@0.2.0":
+  version "0.2.0"
+  resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz"
+  integrity "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw=="
+
+"to-fast-properties@2.0.0":
+  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=="
+
+"to-regex-range@5.0.1":
+  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"
+
+"tsconfig-paths@3.14.2":
+  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=="
+  dependencies:
+    "@types/json5" "0.0.29"
+    "json5" "1.0.2"
+    "minimist" "1.2.8"
+    "strip-bom" "3.0.0"
+
+"tslib@1.14.1":
+  version "1.14.1"
+  resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz"
+  integrity "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
+
+"tsutils@3.21.0":
+  version "3.21.0"
+  resolved "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz"
+  integrity "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA=="
+  dependencies:
+    "tslib" "1.14.1"
+    "typescript" "5.0.3"
+
+"type-check@0.4.0":
+  version "0.4.0"
+  resolved "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz"
+  integrity "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew=="
+  dependencies:
+    "prelude-ls" "1.2.1"
+
+"type-fest@0.20.2":
+  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=="
+
+"typed-array-length@1.0.4":
+  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=="
+  dependencies:
+    "call-bind" "1.0.2"
+    "for-each" "0.3.3"
+    "is-typed-array" "1.1.10"
+
+"typescript@5.0.3":
+  version "5.0.3"
+  resolved "https://registry.npmjs.org/typescript/-/typescript-5.0.3.tgz"
+  integrity "sha512-xv8mOEDnigb/tN9PSMTwSEqAnUvkoXMQlicOb0IUVDBSQCgBSaAAROUZYy2IcUy5qU6XajK5jjjO7TMWqBTKZA=="
+
+"unbox-primitive@1.0.2":
+  version "1.0.2"
+  resolved "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz"
+  integrity "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw=="
+  dependencies:
+    "call-bind" "1.0.2"
+    "has-bigints" "1.0.2"
+    "has-symbols" "1.0.3"
+    "which-boxed-primitive" "1.0.2"
+
+"unplugin-icons@^0.16.3", "unplugin-icons@0.16.3":
+  version "0.16.3"
+  resolved "https://registry.npmjs.org/unplugin-icons/-/unplugin-icons-0.16.3.tgz"
+  integrity "sha512-hivVVr6++WHSj6Iz+rjTa14/ALMYT+PFd2sPtTBKlQR3cdzui1VwM72TzSu94NkDm/KVncvOIiBwoHwUPeL9bg=="
+  dependencies:
+    "@antfu/install-pkg" "0.1.1"
+    "@antfu/utils" "0.7.4"
+    "@iconify/utils" "2.1.7"
+    "@vue/compiler-sfc" "3.3.4"
+    "debug" "4.3.4"
+    "kolorist" "1.8.0"
+    "local-pkg" "0.4.3"
+    "unplugin" "1.3.1"
+
+"unplugin-vue-components@^0.24.1", "unplugin-vue-components@0.24.1":
+  version "0.24.1"
+  resolved "https://registry.npmjs.org/unplugin-vue-components/-/unplugin-vue-components-0.24.1.tgz"
+  integrity "sha512-T3A8HkZoIE1Cja95xNqolwza0yD5IVlgZZ1PVAGvVCx8xthmjsv38xWRCtHtwl+rvZyL9uif42SRkDGw9aCfMA=="
+  dependencies:
+    "@antfu/utils" "0.7.4"
+    "@rollup/pluginutils" "5.0.2"
+    "chokidar" "3.5.3"
+    "debug" "4.3.4"
+    "fast-glob" "3.3.0"
+    "local-pkg" "0.4.3"
+    "magic-string" "0.30.0"
+    "minimatch" "7.4.6"
+    "resolve" "1.22.2"
+    "unplugin" "1.3.1"
+    "vue" "3.3.4"
+
+"unplugin@1.3.1":
+  version "1.3.1"
+  resolved "https://registry.npmjs.org/unplugin/-/unplugin-1.3.1.tgz"
+  integrity "sha512-h4uUTIvFBQRxUKS2Wjys6ivoeofGhxzTe2sRWlooyjHXVttcVfV/JiavNd3d4+jty0SVV0dxGw9AkY9MwiaCEw=="
+  dependencies:
+    "acorn" "8.9.0"
+    "chokidar" "3.5.3"
+    "webpack-sources" "3.2.3"
+    "webpack-virtual-modules" "0.5.0"
+
+"update-browserslist-db@1.0.11":
+  version "1.0.11"
+  resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz"
+  integrity "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA=="
+  dependencies:
+    "browserslist" "4.21.9"
+    "escalade" "3.1.1"
+    "picocolors" "1.0.0"
+
+"uri-js@4.4.1":
+  version "4.4.1"
+  resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz"
+  integrity "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg=="
+  dependencies:
+    "punycode" "2.3.0"
+
+"util-deprecate@1.0.2":
+  version "1.0.2"
+  resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"
+  integrity "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
+
+"vite-plugin-prismjs@^0.0.8", "vite-plugin-prismjs@0.0.8":
+  version "0.0.8"
+  resolved "https://registry.npmjs.org/vite-plugin-prismjs/-/vite-plugin-prismjs-0.0.8.tgz"
+  integrity "sha512-mBPPMS/hwVUArdqCtp/oajZT7iq1qwJDDCciNZ3R5+Q5tQUuUHXtDKuZHYnklPLElNbENf2FyuOtC4FrgxQRAA=="
+  dependencies:
+    "@babel/core" "7.22.5"
+    "babel-plugin-prismjs" "2.1.0"
+
+"vite-plugin-windicss@^1.9.0", "vite-plugin-windicss@1.9.0":
+  version "1.9.0"
+  resolved "https://registry.npmjs.org/vite-plugin-windicss/-/vite-plugin-windicss-1.9.0.tgz"
+  integrity "sha512-w0unPfcbVU5eaISAsFTLgIb41SLhmXoUF75Othu8NqFioe8+DEqiuvJ7/k/LRuEuvI8Rt/OKrY6cNzrB+dykaA=="
+  dependencies:
+    "@windicss/plugin-utils" "1.9.0"
+    "debug" "4.3.4"
+    "kolorist" "1.8.0"
+    "vite" "4.3.9"
+    "windicss" "3.5.6"
+
+"vite-svg-loader@^4.0.0", "vite-svg-loader@4.0.0":
+  version "4.0.0"
+  resolved "https://registry.npmjs.org/vite-svg-loader/-/vite-svg-loader-4.0.0.tgz"
+  integrity "sha512-0MMf1yzzSYlV4MGePsLVAOqXsbF5IVxbn4EEzqRnWxTQl8BJg/cfwIzfQNmNQxZp5XXwd4kyRKF1LytuHZTnqA=="
+  dependencies:
+    "@vue/compiler-sfc" "3.3.4"
+    "svgo" "3.0.2"
+
+"vite@^4.3.9", "vite@4.3.9":
+  version "4.3.9"
+  resolved "https://registry.npmjs.org/vite/-/vite-4.3.9.tgz"
+  integrity "sha512-qsTNZjO9NoJNW7KnOrgYwczm0WctJ8m/yqYAMAK9Lxt4SoySUfS5S8ia9K7JHpa3KEeMfyF8LoJ3c5NeBJy6pg=="
+  dependencies:
+    "@types/node" "18.16.19"
+    "esbuild" "0.17.19"
+    "postcss" "8.4.24"
+    "rollup" "3.26.0"
+
+"vue-demi@0.14.5":
+  version "0.14.5"
+  resolved "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.5.tgz"
+  integrity "sha512-o9NUVpl/YlsGJ7t+xuqJKx8EBGf1quRhCiT6D/J0pfwmk9zUwYkC7yrF4SZCe6fETvSM3UNL2edcbYrSyc4QHA=="
+  dependencies:
+    "vue" "3.3.4"
+
+"vue-eslint-parser@^9.3.1", "vue-eslint-parser@9.3.1":
+  version "9.3.1"
+  resolved "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.3.1.tgz"
+  integrity "sha512-Clr85iD2XFZ3lJ52/ppmUDG/spxQu6+MAeHXjjyI4I1NUYZ9xmenQp4N0oaHJhrA8OOxltCVxMRfANGa70vU0g=="
+  dependencies:
+    "debug" "4.3.4"
+    "eslint" "8.44.0"
+    "eslint-scope" "7.2.0"
+    "eslint-visitor-keys" "3.4.1"
+    "espree" "9.6.0"
+    "esquery" "1.5.0"
+    "lodash" "4.17.21"
+    "semver" "7.5.3"
+
+"vue-i18n@^9.2.2", "vue-i18n@9.2.2":
+  version "9.2.2"
+  resolved "https://registry.npmjs.org/vue-i18n/-/vue-i18n-9.2.2.tgz"
+  integrity "sha512-yswpwtj89rTBhegUAv9Mu37LNznyu3NpyLQmozF3i1hYOhwpG8RjcjIFIIfnu+2MDZJGSZPXaKWvnQA71Yv9TQ=="
+  dependencies:
+    "@intlify/core-base" "9.2.2"
+    "@intlify/shared" "9.2.2"
+    "@intlify/vue-devtools" "9.2.2"
+    "@vue/devtools-api" "6.5.0"
+    "vue" "3.3.4"
+
+"vue-resize@2.0.0-alpha.1":
+  version "2.0.0-alpha.1"
+  resolved "https://registry.npmjs.org/vue-resize/-/vue-resize-2.0.0-alpha.1.tgz"
+  integrity "sha512-7+iqOueLU7uc9NrMfrzbG8hwMqchfVfSzpVlCMeJQe4pyibqyoifDNbKTZvwxZKDvGkB+PdFeKvnGZMoEb8esg=="
+  dependencies:
+    "vue" "3.3.4"
+
+"vue-router@^4.2.2", "vue-router@4.2.2":
+  version "4.2.2"
+  resolved "https://registry.npmjs.org/vue-router/-/vue-router-4.2.2.tgz"
+  integrity "sha512-cChBPPmAflgBGmy3tBsjeoe3f3VOSG6naKyY5pjtrqLGbNEXdzCigFUHgBvp9e3ysAtFtEx7OLqcSDh/1Cq2TQ=="
+  dependencies:
+    "@vue/devtools-api" "6.5.0"
+    "vue" "3.3.4"
+
+"vue-template-compiler@2.7.14":
+  version "2.7.14"
+  resolved "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.7.14.tgz"
+  integrity "sha512-zyA5Y3ArvVG0NacJDkkzJuPQDF8RFeRlzV2vLeSnhSpieO6LK2OVbdLPi5MPPs09Ii+gMO8nY4S3iKQxBxDmWQ=="
+  dependencies:
+    "de-indent" "1.0.2"
+    "he" "1.2.0"
+
+"vue-tsc@^1.8.3", "vue-tsc@1.8.3":
+  version "1.8.3"
+  resolved "https://registry.npmjs.org/vue-tsc/-/vue-tsc-1.8.3.tgz"
+  integrity "sha512-Ua4DHuYxjudlhCW2nRZtaXbhIDVncRGIbDjZhHpF8Z8vklct/G/35/kAPuGNSOmq0JcvhPAe28Oa7LWaUerZVA=="
+  dependencies:
+    "@vue/language-core" "1.8.3"
+    "@vue/typescript" "1.8.3"
+    "semver" "7.5.3"
+    "typescript" "5.0.3"
+
+"vue@^3.3.4", "vue@3.3.4":
+  version "3.3.4"
+  resolved "https://registry.npmjs.org/vue/-/vue-3.3.4.tgz"
+  integrity "sha512-VTyEYn3yvIeY1Py0WaYGZsXnz3y5UnGi62GjVEqvEGPl6nxbOrCXbVOTQWBEJUqAyTUk2uJ5JLVnYJ6ZzGbrSw=="
+  dependencies:
+    "@vue/compiler-dom" "3.3.4"
+    "@vue/compiler-sfc" "3.3.4"
+    "@vue/runtime-dom" "3.3.4"
+    "@vue/server-renderer" "3.3.4"
+    "@vue/shared" "3.3.4"
+
+"webpack-sources@3.2.3":
+  version "3.2.3"
+  resolved "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz"
+  integrity "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w=="
+
+"webpack-virtual-modules@0.5.0":
+  version "0.5.0"
+  resolved "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.5.0.tgz"
+  integrity "sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw=="
+
+"which-boxed-primitive@1.0.2":
+  version "1.0.2"
+  resolved "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz"
+  integrity "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg=="
+  dependencies:
+    "is-bigint" "1.0.4"
+    "is-boolean-object" "1.1.2"
+    "is-number-object" "1.0.7"
+    "is-string" "1.0.7"
+    "is-symbol" "1.0.4"
+
+"which-typed-array@1.1.9":
+  version "1.1.9"
+  resolved "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz"
+  integrity "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA=="
+  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"
+    "is-typed-array" "1.1.10"
+
+"which@2.0.2":
+  version "2.0.2"
+  resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz"
+  integrity "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA=="
+  dependencies:
+    "isexe" "2.0.0"
+
+"windicss@^3.5.6", "windicss@3.5.6":
+  version "3.5.6"
+  resolved "https://registry.npmjs.org/windicss/-/windicss-3.5.6.tgz"
+  integrity "sha512-P1mzPEjgFMZLX0ZqfFht4fhV/FX8DTG7ERG1fBLiWvd34pTLVReS5CVsewKn9PApSgXnVfPWwvq+qUsRwpnwFA=="
+
+"wrappy@1.0.2":
+  version "1.0.2"
+  resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz"
+  integrity "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
+
+"xml-name-validator@4.0.0":
+  version "4.0.0"
+  resolved "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz"
+  integrity "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw=="
+
+"yallist@3.1.1":
+  version "3.1.1"
+  resolved "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz"
+  integrity "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="
+
+"yallist@4.0.0":
+  version "4.0.0"
+  resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz"
+  integrity "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
+
+"yaml-eslint-parser@0.3.2":
+  version "0.3.2"
+  resolved "https://registry.npmjs.org/yaml-eslint-parser/-/yaml-eslint-parser-0.3.2.tgz"
+  integrity "sha512-32kYO6kJUuZzqte82t4M/gB6/+11WAuHiEnK7FreMo20xsCKPeFH5tDBU7iWxR7zeJpNnMXfJyXwne48D0hGrg=="
+  dependencies:
+    "eslint-visitor-keys" "1.3.0"
+    "lodash" "4.17.21"
+    "yaml" "1.10.2"
+
+"yaml@1.10.2":
+  version "1.10.2"
+  resolved "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz"
+  integrity "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg=="
+
+"yocto-queue@0.1.0":
+  version "0.1.0"
+  resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz"
+  integrity "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q=="
diff --git a/pkgs/development/tools/convco/default.nix b/pkgs/development/tools/convco/default.nix
index 34cc516e0bf31..1ac7aaaaf8ac5 100644
--- a/pkgs/development/tools/convco/default.nix
+++ b/pkgs/development/tools/convco/default.nix
@@ -11,16 +11,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "convco";
-  version = "0.4.0";
+  version = "0.4.1";
 
   src = fetchFromGitHub {
     owner = "convco";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-Fv1yaBnfn/wik1Ix24shwfritwxno3NoeJgHPsHgZOI=";
+    sha256 = "sha256-HOHUyO2Ct0BlQtLqqwsQZZPmnLij8AsayX+aIhIpZpw=";
   };
 
-  cargoHash = "sha256-q0VrN+5Ypq4ga/gI5MlyRaMdD8NxzuaZ804KaRQzpRs=";
+  cargoHash = "sha256-p8aDqBZ0HpQ4iWG0lAF6KIvE4F5P1myd/Dt/txaoz0k=";
 
   nativeBuildInputs = [ cmake pkg-config ];
 
diff --git a/pkgs/development/tools/database/litefs/default.nix b/pkgs/development/tools/database/litefs/default.nix
index 08f7494ececbd..660d06c63661e 100644
--- a/pkgs/development/tools/database/litefs/default.nix
+++ b/pkgs/development/tools/database/litefs/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "litefs";
-  version = "0.5.1";
+  version = "0.5.2";
 
   src = fetchFromGitHub {
     owner = "superfly";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-95q10NQer/KPfBVpabupvm3wuhacnqNG3lXc1pzV3Js=";
+    sha256 = "sha256-EPOOQSjhhUgUcO+edcZIPomd6g/BI9Ee5MsmylKq1Sk=";
   };
 
   vendorHash = "sha256-4e1tAAXM2EYuqe1AbN1wng/bq1BP7MSOV6woeKjc3x4=";
diff --git a/pkgs/development/tools/database/schemaspy/default.nix b/pkgs/development/tools/database/schemaspy/default.nix
index 92bbb19a599ae..6847b9aa20a78 100644
--- a/pkgs/development/tools/database/schemaspy/default.nix
+++ b/pkgs/development/tools/database/schemaspy/default.nix
@@ -33,7 +33,6 @@ maven.buildMavenPackage rec {
   nativeBuildInputs = [
     makeWrapper
     git
-    maven
 
     # springframework boot gets angry about 1970 sources
     # fix from https://github.com/nix-community/mavenix/issues/25
diff --git a/pkgs/development/tools/database/sqlcl/default.nix b/pkgs/development/tools/database/sqlcl/default.nix
index ccf3bd4a23d3f..67d905ae0565c 100644
--- a/pkgs/development/tools/database/sqlcl/default.nix
+++ b/pkgs/development/tools/database/sqlcl/default.nix
@@ -1,17 +1,12 @@
 { lib, stdenv, makeWrapper, requireFile, unzip, jdk }:
 
-let
-  version = "22.4.0.342.1212";
-  fileVersion = "1032835-01";
-in
-  stdenv.mkDerivation {
-
-  inherit version;
+stdenv.mkDerivation rec {
   pname = "sqlcl";
+  version = "23.2.0.178.1027";
 
   src = requireFile rec {
     url = "https://www.oracle.com/database/sqldeveloper/technologies/sqlcl/download/";
-    name = "V${fileVersion}.zip";
+    name = "sqlcl-${version}.zip";
     message = ''
       This Nix expression requires that ${name} already be part of the store. To
       obtain it you need to
@@ -37,7 +32,7 @@ in
 
         nix-prefetch-url --type sha256 file:///path/to/${name}
     '';
-    sha256 = "0i4xsj502s465fgmlcqn80r8rqzr11mv74x9fzrlbqmkkh5c782k";
+    hash = "sha256-wGqLlV88yYJrVblKzeG6VerfsEgCi1JQd49ONZmUB4Y=";
   };
 
   nativeBuildInputs = [ makeWrapper unzip ];
diff --git a/pkgs/development/tools/database/trino-cli/default.nix b/pkgs/development/tools/database/trino-cli/default.nix
index 5b7530c965e8f..db4310b543d2a 100644
--- a/pkgs/development/tools/database/trino-cli/default.nix
+++ b/pkgs/development/tools/database/trino-cli/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "trino-cli";
-  version = "418";
+  version = "422";
 
   jarfilename = "${pname}-${version}-executable.jar";
 
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://maven/io/trino/${pname}/${version}/${jarfilename}";
-    sha256 = "sha256-IVLQG+y2Uvph+0WE+BE2beDSCGzfgkOdclESi+szcZM=";
+    sha256 = "sha256-isOcZDbm4Ykkolmcn4lRMkknZkTYRvMOXVZlGKRnXU8=";
   };
 
   dontUnpack = true;
diff --git a/pkgs/development/tools/doc2go/default.nix b/pkgs/development/tools/doc2go/default.nix
new file mode 100644
index 0000000000000..0635c7ba1040c
--- /dev/null
+++ b/pkgs/development/tools/doc2go/default.nix
@@ -0,0 +1,49 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+}:
+
+buildGoModule rec {
+  pname = "doc2go";
+  version = "0.4.1";
+
+  src = fetchFromGitHub {
+    owner = "abhinav";
+    repo = "doc2go";
+    rev = "v${version}";
+    hash = "sha256-iypcjj6FFsus9mrafLBX0u7bHnzs718aEWC5dO3q0es=";
+  };
+  vendorHash = "sha256-IMqYCVGsspYigTmYNHD1b6Sgzxl47cdiCs+rq4C3Y08=";
+
+  ldflags = [ "-s" "-w" "-X main._version=${version}" ];
+
+  subPackages = [ "." ];
+
+  checkFlags = [
+    # needs to fetch additional go modules
+    "-skip=TestFinder_ImportedPackage/Modules"
+  ];
+
+  preCheck = ''
+    # run all tests
+    unset subPackages
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/abhinav/doc2go";
+    changelog = "https://github.com/abhinav/doc2go/blob/${src.rev}/CHANGELOG.md";
+    description = "Your Go project's documentation, to-go";
+    longDescription = ''
+      doc2go is a command line tool that generates static HTML documentation
+      from your Go code. It is a self-hosted static alternative to
+      https://pkg.go.dev/ and https://godocs.io/.
+    '';
+    license = with licenses; [
+      # general project license
+      asl20
+      # internal/godoc/synopsis*.go adapted from golang source
+      bsd3
+    ];
+    maintainers = with maintainers; [ jk ];
+  };
+}
diff --git a/pkgs/development/tools/doctl/default.nix b/pkgs/development/tools/doctl/default.nix
index 2cb364bab7998..df318159d3f2b 100644
--- a/pkgs/development/tools/doctl/default.nix
+++ b/pkgs/development/tools/doctl/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "doctl";
-  version = "1.97.0";
+  version = "1.97.1";
 
   vendorHash = null;
 
@@ -31,7 +31,7 @@ buildGoModule rec {
     owner = "digitalocean";
     repo = "doctl";
     rev = "v${version}";
-    sha256 = "sha256-ii8j1SBG+dGIBzh5fekvVjHhpkQnL84b5yYz6fSYyvo=";
+    sha256 = "sha256-qEoSq4sLobsYYdwR8vp5WpugeQdLbXDtBVBTAztxPkY=";
   };
 
   meta = with lib; {
diff --git a/pkgs/development/tools/dprint/default.nix b/pkgs/development/tools/dprint/default.nix
index a1cf5f02783f2..ac973700bf3a6 100644
--- a/pkgs/development/tools/dprint/default.nix
+++ b/pkgs/development/tools/dprint/default.nix
@@ -2,14 +2,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "dprint";
-  version = "0.39.1";
+  version = "0.40.0";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "sha256-aJHNVhZ1pWnPErPmFXy2AfZNtGWcYjuGChJ3fGsAOSA=";
+    sha256 = "sha256-leneOdV65aAUGRdVFpPuVnCmu3VmVzZXxOLJ5vspVB8=";
   };
 
-  cargoHash = "sha256-9uZm0jCl9Bu2GNEa1lphQLzMEOWzkWlb6OESPm14AJ4=";
+  cargoHash = "sha256-C0cgN7G+zQZr+V/iPHh6HXV8DnPaE0bWkbJmbfIMwgk=";
 
   buildInputs = lib.optionals stdenv.isDarwin [ Security ];
 
diff --git a/pkgs/development/tools/efm-langserver/default.nix b/pkgs/development/tools/efm-langserver/default.nix
index 788c4edc9a86f..c696fbaa995a9 100644
--- a/pkgs/development/tools/efm-langserver/default.nix
+++ b/pkgs/development/tools/efm-langserver/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "efm-langserver";
-  version = "0.0.44";
+  version = "0.0.46";
 
   src = fetchFromGitHub {
     owner = "mattn";
     repo = "efm-langserver";
     rev = "v${version}";
-    sha256 = "sha256-+yN08MAoFaixvt2EexhRNucG6I4v2FdHf44XlYIwzhA=";
+    sha256 = "sha256-mGcpV4PDD6HJZH+3Lybsds4xPJS5rkOouKqKX7j+7WA=";
   };
 
-  vendorSha256 = "sha256-KABezphT5/o3XWSFNe2OvfawFR8uwsGMnjsI9xh378Q=";
+  vendorHash = "sha256-KABezphT5/o3XWSFNe2OvfawFR8uwsGMnjsI9xh378Q=";
   subPackages = [ "." ];
 
   meta = with lib; {
diff --git a/pkgs/development/tools/esbuild/default.nix b/pkgs/development/tools/esbuild/default.nix
index 6179116d0adb1..1e7c0b3ff1e4f 100644
--- a/pkgs/development/tools/esbuild/default.nix
+++ b/pkgs/development/tools/esbuild/default.nix
@@ -23,5 +23,6 @@ buildGoModule rec {
     changelog = "https://github.com/evanw/esbuild/blob/v${version}/CHANGELOG.md";
     license = licenses.mit;
     maintainers = with maintainers; [ lucus16 marsam undefined-moe ];
+    mainProgram = "esbuild";
   };
 }
diff --git a/pkgs/development/tools/esbuild/netlify.nix b/pkgs/development/tools/esbuild/netlify.nix
index ddf5b301d3458..685426122924d 100644
--- a/pkgs/development/tools/esbuild/netlify.nix
+++ b/pkgs/development/tools/esbuild/netlify.nix
@@ -29,5 +29,6 @@ buildGoModule rec {
     homepage = "https://github.com/netlify/esbuild";
     license = licenses.mit;
     maintainers = with maintainers; [ roberth ];
+    mainProgram = "esbuild";
   };
 }
diff --git a/pkgs/development/tools/espup/default.nix b/pkgs/development/tools/espup/default.nix
new file mode 100644
index 0000000000000..6ff3a2972a46e
--- /dev/null
+++ b/pkgs/development/tools/espup/default.nix
@@ -0,0 +1,82 @@
+{ lib
+, rustPlatform
+, fetchFromGitHub
+, pkg-config
+, installShellFiles
+, bzip2
+, openssl
+, xz
+, zstd
+, stdenv
+, darwin
+, runCommand
+, espup
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "espup";
+  version = "0.4.1";
+
+  src = fetchFromGitHub {
+    owner = "esp-rs";
+    repo = "espup";
+    rev = "v${version}";
+    hash = "sha256-gzM+RT4Rt+LaYk7CwYUTIMci8DDI0y3+7y+N2yKRDOc=";
+  };
+
+  cargoHash = "sha256-GYhF6VDBAieZbu4x9EiQVVJkmx0aRYK0xwGGP0nuVGc=";
+
+  nativeBuildInputs = [
+    pkg-config
+    installShellFiles
+  ];
+
+  buildInputs = [
+    bzip2
+    openssl
+    xz
+    zstd
+  ] ++ lib.optionals stdenv.isDarwin [
+    darwin.apple_sdk.frameworks.CoreFoundation
+    darwin.apple_sdk.frameworks.Security
+  ];
+
+  env = {
+    OPENSSL_NO_VENDOR = true;
+    ZSTD_SYS_USE_PKG_CONFIG = true;
+  };
+
+  preCheck = ''
+    export HOME=$(mktemp -d)
+  '';
+
+  checkFlags = [
+    # makes network calls
+    "--skip=toolchain::rust::tests::test_xtensa_rust_parse_version"
+  ];
+
+  postInstall = ''
+    installShellCompletion --cmd espup \
+      --bash <($out/bin/espup completions bash) \
+      --fish <($out/bin/espup completions fish) \
+      --zsh <($out/bin/espup completions zsh)
+  '';
+
+  passthru.tests = {
+    simple = runCommand "${pname}-test" { } ''
+      if [[ `${espup}/bin/espup --version` != *"${version}"*  ]]; then
+        echo "Error: program version does not match package version"
+        exit 1
+      fi
+
+      touch $out
+    '';
+  };
+
+  meta = with lib; {
+    description = "Tool for installing and maintaining Espressif Rust ecosystem.";
+    homepage = "https://github.com/esp-rs/espup/";
+    license = with licenses; [ mit asl20 ];
+    maintainers = with maintainers; [ knightpp ];
+  };
+}
diff --git a/pkgs/development/tools/geckodriver/default.nix b/pkgs/development/tools/geckodriver/default.nix
index 6f6a937efbed3..ef71dc143f192 100644
--- a/pkgs/development/tools/geckodriver/default.nix
+++ b/pkgs/development/tools/geckodriver/default.nix
@@ -26,5 +26,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/mozilla/geckodriver";
     license = licenses.mpl20;
     maintainers = with maintainers; [ jraygauthier ];
+    mainProgram = "geckodriver";
   };
 }
diff --git a/pkgs/development/tools/global-platform-pro/default.nix b/pkgs/development/tools/global-platform-pro/default.nix
index 5a0bc00069535..47bac190dc447 100644
--- a/pkgs/development/tools/global-platform-pro/default.nix
+++ b/pkgs/development/tools/global-platform-pro/default.nix
@@ -17,9 +17,9 @@ mavenJdk8.buildMavenPackage rec {
     sha256 = "1vws6cbgm3mrwc2xz9j1y262vw21x3hjc9m7rqc4hn3m7gjpwsvg";
   };
 
-  mvnHash = "sha256-rRLsCTY3fEAvGRDvNXqpjac2Gb5fdlyhK2wTK5CVN9k=";
+  mvnHash = "sha256-xFcEZpJ0+ApJTDTuA63LgvUwLrxATVKoj5Mh3WZyfq8=";
 
-  nativeBuildInputs = [ jdk8 mavenJdk8 makeWrapper ];
+  nativeBuildInputs = [ jdk8 makeWrapper ];
 
   installPhase = ''
     mkdir -p "$out/lib/java" "$out/share/java"
@@ -41,11 +41,10 @@ mavenJdk8.buildMavenPackage rec {
     homepage = "https://github.com/martinpaljak/GlobalPlatformPro";
     sourceProvenance = with sourceTypes; [
       fromSource
-      binaryBytecode  # deps
+      binaryBytecode # deps
     ];
     license = with licenses; [ lgpl3 ];
     maintainers = with maintainers; [ ekleog ];
     mainProgram = "gp";
-    platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/tools/go-task/default.nix b/pkgs/development/tools/go-task/default.nix
index ed35f4bb7f6a5..0d4cf62bf9d55 100644
--- a/pkgs/development/tools/go-task/default.nix
+++ b/pkgs/development/tools/go-task/default.nix
@@ -8,16 +8,16 @@
 
 buildGoModule rec {
   pname = "go-task";
-  version = "3.27.1";
+  version = "3.28.0";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = "task";
     rev = "refs/tags/v${version}";
-    hash = "sha256-MwZtdxoWo5yeJKzbMIfigt0WUjZ52B8MeRsx43D8n1k=";
+    hash = "sha256-jVRQnZGM+N3W/f4mW322qPiv7PFrFoyUHNdZNoAkpAc=";
   };
 
-  vendorHash = "sha256-05+/NbLks9Dp9Z7KscK9yeEzFJug7VFBqViievX6UOs=";
+  vendorHash = "sha256-gXWuKOTb/7AIF6orXlIHpdSxdYxl12Es2cl4egdJfxo=";
 
   doCheck = false;
 
diff --git a/pkgs/development/tools/goa/default.nix b/pkgs/development/tools/goa/default.nix
index 8c427e12083b4..95a258886c1ff 100644
--- a/pkgs/development/tools/goa/default.nix
+++ b/pkgs/development/tools/goa/default.nix
@@ -5,15 +5,15 @@
 
 buildGoModule rec {
   pname = "goa";
-  version = "3.12.1";
+  version = "3.12.3";
 
   src = fetchFromGitHub {
     owner = "goadesign";
     repo = "goa";
     rev = "v${version}";
-    sha256 = "sha256-cQyBPg+3Sf2ABjRv3n9dVgMvhUpndNPUnOsRS4a+ABw=";
+    sha256 = "sha256-OWYIfzJcR0V5GogVntzu5hOe3h3JO5FYWxSqYSxRp6A=";
   };
-  vendorHash = "sha256-XQyE99o6notsinQv39JbxW0XG3FqlMoDfDJQ72U5GTA=";
+  vendorHash = "sha256-Zt8Nzga9xRYuUv8ofCJa3yL2Kq+xvnqs3c0g2BnrgTo=";
 
   subPackages = [ "cmd/goa" ];
 
diff --git a/pkgs/development/tools/goimports-reviser/default.nix b/pkgs/development/tools/goimports-reviser/default.nix
new file mode 100644
index 0000000000000..2d36c207fdbeb
--- /dev/null
+++ b/pkgs/development/tools/goimports-reviser/default.nix
@@ -0,0 +1,45 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+}:
+
+buildGoModule rec {
+  pname = "goimports-reviser";
+  version = "3.3.1";
+
+  src = fetchFromGitHub {
+    owner = "incu6us";
+    repo = "goimports-reviser";
+    rev = "v${version}";
+    hash = "sha256-JIXBC7fk/Bd3tTHiK+qtB+5CdAATaB/j1nvKOJrz4n4=";
+  };
+  vendorHash = "sha256-lyV4HlpzzxYC6OZPGVdNVL2mvTFE9yHO37zZdB/ePBg=";
+
+  CGO_ENABLED = 0;
+
+  subPackages = [ "." ];
+
+  ldflags = [
+    "-s"
+    "-w"
+    "-X=main.Tag=${src.rev}"
+  ];
+
+  checkFlags = [
+    "-skip=TestSourceFile_Fix_WithAliasForVersionSuffix/success_with_set_alias"
+  ];
+
+  preCheck = ''
+    # unset to run all tests
+    unset subPackages
+    # unset as some tests require cgo
+    unset CGO_ENABLED
+  '';
+
+  meta = with lib; {
+    description = "Right imports sorting & code formatting tool (goimports alternative)";
+    homepage = "https://github.com/incu6us/goimports-reviser";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jk ];
+  };
+}
diff --git a/pkgs/development/tools/grpc-gateway/default.nix b/pkgs/development/tools/grpc-gateway/default.nix
index 84174993ef2fb..ee17ae777e785 100644
--- a/pkgs/development/tools/grpc-gateway/default.nix
+++ b/pkgs/development/tools/grpc-gateway/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "grpc-gateway";
-  version = "2.16.0";
+  version = "2.16.2";
 
   src = fetchFromGitHub {
     owner = "grpc-ecosystem";
     repo = "grpc-gateway";
     rev = "v${version}";
-    sha256 = "sha256-yoy3wESegXxlyaelex2gqr3GdzwwjxK7YTAzDCILr/c=";
+    sha256 = "sha256-oKmT1qvEWNk0q5JnzsUaCWCsllUtyIAsWXUP4DsmgnA=";
   };
 
-  vendorHash = "sha256-dxzAiLEiZ+2+J9ZrkBemUt+slxz1zUa9Fx0VhUjFdN0=";
+  vendorHash = "sha256-YqDQ6dQQDzkehRN0jWmfjG4acB4rtL2HGHOl71IM8Lk=";
 
   meta = with lib; {
     description =
diff --git a/pkgs/development/tools/java/java-language-server/default.nix b/pkgs/development/tools/java/java-language-server/default.nix
index 6087b0496b1e9..cffd77a63e100 100644
--- a/pkgs/development/tools/java/java-language-server/default.nix
+++ b/pkgs/development/tools/java/java-language-server/default.nix
@@ -24,9 +24,9 @@ maven.buildMavenPackage rec {
 
   mvnFetchExtraArgs.dontConfigure = true;
   mvnParameters = "-DskipTests";
-  mvnHash = "sha256-bzYBSrCS9Kp+qnVO60h915Or1VWabphwLEu6lcBULuc=";
+  mvnHash = "sha256-XhAqd67RtETd9XvqbiEuTOwPUsUtoLkhXy2Dde7NLTo=";
 
-  nativeBuildInputs = [ maven jdk makeWrapper ];
+  nativeBuildInputs = [ jdk makeWrapper ];
 
   dontConfigure = true;
   preBuild = ''
@@ -56,6 +56,5 @@ maven.buildMavenPackage rec {
     homepage = "https://github.com/georgewfraser/java-language-server";
     license = licenses.mit;
     maintainers = with maintainers; [ hqurve ];
-    platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/tools/language-servers/gopls/default.nix b/pkgs/development/tools/language-servers/gopls/default.nix
index 987a1d13dc9b3..3ae6bdef70c74 100644
--- a/pkgs/development/tools/language-servers/gopls/default.nix
+++ b/pkgs/development/tools/language-servers/gopls/default.nix
@@ -2,17 +2,17 @@
 
 buildGoModule rec {
   pname = "gopls";
-  version = "0.12.4";
+  version = "0.13.1";
 
   src = fetchFromGitHub {
     owner = "golang";
     repo = "tools";
     rev = "gopls/v${version}";
-    sha256 = "sha256-OieIbWgc5l7HS6otkRxsKYQmNIjPbADQ+C3A6qJr2h0=";
+    hash = "sha256-2eGnctA5HlNRGv9iV5HoT4ByA8fK/mTxldHll0UMD5c=";
   };
 
   modRoot = "gopls";
-  vendorSha256 = "sha256-0Svz0VFmNW/f8Po+DpIQi0bJB1ICLcSJM1sG/Nju+ZY=";
+  vendorHash = "sha256-2H8Qh88ikmEqToGOCOoovcCh3dMToeFP/GavG9dlML8=";
 
   doCheck = false;
 
diff --git a/pkgs/development/tools/language-servers/jdt-language-server/default.nix b/pkgs/development/tools/language-servers/jdt-language-server/default.nix
index af1c972a26c0b..3de28f65145f5 100644
--- a/pkgs/development/tools/language-servers/jdt-language-server/default.nix
+++ b/pkgs/development/tools/language-servers/jdt-language-server/default.nix
@@ -7,12 +7,12 @@
 
 stdenv.mkDerivation rec {
   pname = "jdt-language-server";
-  version = "1.21.0";
-  timestamp = "202303161431";
+  version = "1.26.0";
+  timestamp = "202307271613";
 
   src = fetchurl {
     url = "https://download.eclipse.org/jdtls/milestones/${version}/jdt-language-server-${version}-${timestamp}.tar.gz";
-    sha256 = "sha256-c8RDSvOgLbl05LDNelKgQXucbJnjJ7GVcut6mVT6GjA=";
+    sha256 = "sha256-ul/l7jsqg5UofiSu8gzm4Xg0z46HcRfmyqysamiKbFM=";
   };
 
   sourceRoot = ".";
@@ -97,5 +97,6 @@ stdenv.mkDerivation rec {
     sourceProvenance = with sourceTypes; [ binaryBytecode ];
     license = licenses.epl20;
     maintainers = with maintainers; [ matt-snider ];
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/tools/language-servers/pylyzer/default.nix b/pkgs/development/tools/language-servers/pylyzer/default.nix
index 61e48b5f1f9e1..819ba778ab04a 100644
--- a/pkgs/development/tools/language-servers/pylyzer/default.nix
+++ b/pkgs/development/tools/language-servers/pylyzer/default.nix
@@ -5,27 +5,30 @@
 , git
 , python3
 , makeWrapper
+, writeScriptBin
 , darwin
 , which
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "pylyzer";
-  version = "0.0.37";
+  version = "0.0.39";
 
   src = fetchFromGitHub {
     owner = "mtshiba";
     repo = "pylyzer";
     rev = "v${version}";
-    hash = "sha256-MzcGWOJud8SA6cpTdhms+Hfi0sAqelOr7dgy/k1H+qw=";
+    hash = "sha256-GHrB4FmZWmnkcfr3y4Ulk3TBmVn1Xsixqeni8h9PykY=";
   };
 
-  cargoHash = "sha256-Xl0YxBmhhFKBzxbO1GXIds3XdSS78/7Z1rOAmLgTYSw=";
+  cargoHash = "sha256-Fe/bD8pIXElYfxYHF6JPVlpHhRrgJMDjEFfnequ00Bo=";
 
   nativeBuildInputs = [
     git
     python3
     makeWrapper
+  ] ++ lib.optionals stdenv.isDarwin [
+    (writeScriptBin "diskutil" "")
   ];
 
   buildInputs = [
diff --git a/pkgs/development/tools/ldid-procursus/default.nix b/pkgs/development/tools/ldid-procursus/default.nix
new file mode 100644
index 0000000000000..52866b041c0cb
--- /dev/null
+++ b/pkgs/development/tools/ldid-procursus/default.nix
@@ -0,0 +1,29 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, pkg-config
+, libplist
+, openssl
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "ldid-procursus";
+  version = "2.1.5-procursus7";
+  src = fetchFromGitHub {
+    owner = "ProcursusTeam";
+    repo = "ldid";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-QnSmWY9zCOPYAn2VHc5H+VQXjTCyr0EuosxvKGGpDtQ=";
+  };
+  nativeBuildInputs = [ pkg-config libplist openssl ];
+  stripDebugFlags = [ "--strip-unneeded" ];
+  makeFlags = [ "PREFIX=${placeholder "out"}" ];
+
+  meta = with lib; {
+    description = "Put real or fake signatures in a Mach-O binary";
+    homepage = "https://github.com/ProcursusTeam/ldid";
+    maintainers = with maintainers; [ keto ];
+    platforms = platforms.unix;
+    license = licenses.agpl3Only;
+  };
+})
diff --git a/pkgs/development/tools/memray/default.nix b/pkgs/development/tools/memray/default.nix
index 2b9611cce575b..4ca4b6cb27715 100644
--- a/pkgs/development/tools/memray/default.nix
+++ b/pkgs/development/tools/memray/default.nix
@@ -8,14 +8,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "memray";
-  version = "1.8.1";
+  version = "1.9.0";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "bloomberg";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-ztoIUYuXfD8Mgj5vIsZnpuF8a5F9Za6xXHKW0Hscz20=";
+    hash = "sha256-fXA98kw+2NlbWTLXWK875t1RBIXH2a0SgS+0OseODKI=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/tools/misc/ast-grep/default.nix b/pkgs/development/tools/misc/ast-grep/default.nix
index dd50ba9067871..47d7db0390a64 100644
--- a/pkgs/development/tools/misc/ast-grep/default.nix
+++ b/pkgs/development/tools/misc/ast-grep/default.nix
@@ -6,16 +6,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "ast-grep";
-  version = "0.9.1";
+  version = "0.10.0";
 
   src = fetchFromGitHub {
     owner = "ast-grep";
     repo = "ast-grep";
     rev = version;
-    hash = "sha256-gAzO5ganbwxarqHGVhAl9PtiHEr89puoPJK+iXtrvyU=";
+    hash = "sha256-Il7VJyp4iIo8KrFHRoE4QptgzlJGKr+Npp2IkjDx/vc=";
   };
 
-  cargoHash = "sha256-SvGxDXC1nN6LitWHGcVieHJpEEuY1omqAvjaJmHPauE=";
+  cargoHash = "sha256-KReLBqdXtef20tULasw47wrm5k+qUBwo8tPiOTvD9cQ=";
 
   # error: linker `aarch64-linux-gnu-gcc` not found
   postPatch = ''
diff --git a/pkgs/development/tools/misc/ccache/default.nix b/pkgs/development/tools/misc/ccache/default.nix
index e40ded4042d93..443f1b2c45700 100644
--- a/pkgs/development/tools/misc/ccache/default.nix
+++ b/pkgs/development/tools/misc/ccache/default.nix
@@ -31,9 +31,11 @@ stdenv.mkDerivation (finalAttrs: {
     # Linux it uses objdump. We don't have dwarfdump packaged for
     # Darwin, so this patch updates the test to also use objdump on
     # Darwin.
+    # Additionally, when cross compiling, the correct target prefix
+    # needs to be set.
     (substituteAll {
-      src = ./force-objdump-on-darwin.patch;
-      objdump = "${binutils.bintools}/bin/objdump";
+      src = ./fix-objdump-path.patch;
+      objdump = "${binutils.bintools}/bin/${binutils.targetPrefix}objdump";
     })
   ];
 
diff --git a/pkgs/development/tools/misc/ccache/force-objdump-on-darwin.patch b/pkgs/development/tools/misc/ccache/fix-objdump-path.patch
index 04c431aafb740..04c431aafb740 100644
--- a/pkgs/development/tools/misc/ccache/force-objdump-on-darwin.patch
+++ b/pkgs/development/tools/misc/ccache/fix-objdump-path.patch
diff --git a/pkgs/development/tools/misc/circleci-cli/default.nix b/pkgs/development/tools/misc/circleci-cli/default.nix
index 283949b3617e1..a6808c2bb3bd0 100644
--- a/pkgs/development/tools/misc/circleci-cli/default.nix
+++ b/pkgs/development/tools/misc/circleci-cli/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "circleci-cli";
-  version = "0.1.27660";
+  version = "0.1.28084";
 
   src = fetchFromGitHub {
     owner = "CircleCI-Public";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-bor2rQfyvUD6SYSxYYTTL7TvvFuZ0oZdN0E+HoVCo28=";
+    sha256 = "sha256-LyD9zAS/tjI6Ad+tC2mCadOEuXHlhkNpF0M5lzli5Qc=";
   };
 
-  vendorHash = "sha256-Tbce59lQsj6Db0B734PAWiAz9NbLCp43it28j5IJf68=";
+  vendorHash = "sha256-bPi0voXVJPAMWuovDInzk2PzbP0kPFpyOyjYoPZTNLM=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/development/tools/misc/grcov/default.nix b/pkgs/development/tools/misc/grcov/default.nix
index 09573ee226565..c40fea7f397ea 100644
--- a/pkgs/development/tools/misc/grcov/default.nix
+++ b/pkgs/development/tools/misc/grcov/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "grcov";
-  version = "0.8.18";
+  version = "0.8.19";
 
   src = fetchFromGitHub {
     owner = "mozilla";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-IC5ROi4kwZLCX7/kFb7VgOzQtsj74hujQ5IrrFneFTA=";
+    sha256 = "sha256-1t+hzB9sSApLScCkjBnLk9i2dsoEwZmWCFukEOvHhZI=";
   };
 
-  cargoHash = "sha256-DcPidu3WFyVWBS4EVavxFhy9wwqP4rGmaALKnfxua2E=";
+  cargoHash = "sha256-4KzFbfUqnGmle2fwSaHMPIJHQFDq8H2Qzm4FdYdqpuM=";
 
   # tests do not find grcov path correctly
   checkFlags = let
diff --git a/pkgs/development/tools/misc/libtool/default.nix b/pkgs/development/tools/misc/libtool/default.nix
index b9e32372922f5..6970d2a94ec9a 100644
--- a/pkgs/development/tools/misc/libtool/default.nix
+++ b/pkgs/development/tools/misc/libtool/default.nix
@@ -34,5 +34,7 @@ stdenv.mkDerivation rec {
 
     license = lib.licenses.gpl2Plus;
     platforms = lib.platforms.unix;
+
+    mainProgram = "libtool";
   };
 }
diff --git a/pkgs/development/tools/misc/libtool/libtool2.nix b/pkgs/development/tools/misc/libtool/libtool2.nix
index a2c58010eff7c..50c064cadfd0e 100644
--- a/pkgs/development/tools/misc/libtool/libtool2.nix
+++ b/pkgs/development/tools/misc/libtool/libtool2.nix
@@ -68,5 +68,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     maintainers = [ ];
     platforms = platforms.unix;
+    mainProgram = "libtool";
   };
 }
diff --git a/pkgs/development/tools/misc/rsonpath/default.nix b/pkgs/development/tools/misc/rsonpath/default.nix
index 70a3ece26a39d..56e6662b7c5f8 100644
--- a/pkgs/development/tools/misc/rsonpath/default.nix
+++ b/pkgs/development/tools/misc/rsonpath/default.nix
@@ -7,16 +7,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "rsonpath";
-  version = "0.5.1";
+  version = "0.6.0";
 
   src = fetchFromGitHub {
     owner = "v0ldek";
     repo = "rsonpath";
     rev = "v${version}";
-    hash = "sha256-1fopV2qWbWoCH5cT3s6vLxNTv5LgBm8bug0MJ9p7NmU=";
+    hash = "sha256-RRMT//OnwzoZEsOPZyHfQQbkphopZBI1u8xQe8LsPBo=";
   };
 
-  cargoHash = "sha256-4IFhUIP5MWNYoHoVi9tjRRzQrsdduiCnmVde5gctdsY=";
+  cargoHash = "sha256-o9L6GUYDDm/WM8iD0k/OGf26w9O8DLH0jMr//ruKnrs=";
 
   buildNoDefaultFeatures = true;
   buildFeatures = [
diff --git a/pkgs/development/tools/misc/runme/default.nix b/pkgs/development/tools/misc/runme/default.nix
index 033240878c351..60b2fbfe32560 100644
--- a/pkgs/development/tools/misc/runme/default.nix
+++ b/pkgs/development/tools/misc/runme/default.nix
@@ -11,16 +11,16 @@
 
 buildGoModule rec {
   pname = "runme";
-  version = "1.6.0";
+  version = "1.7.0";
 
   src = fetchFromGitHub {
     owner = "stateful";
     repo = "runme";
     rev = "v${version}";
-    hash = "sha256-WxsMANyxV+ibAf0/TnkVExyC8XgBjtO92GHNztM0GiU=";
+    hash = "sha256-vtlsa+XdsE33oR5MH1zaHUIJ4Rsn/RqtryTgNGgEHJw=";
   };
 
-  vendorHash = "sha256-gFe4lfe6M8NF1zzqK+jLmQix/311yWhFccLsOn+LOZc=";
+  vendorHash = "sha256-5FMrz4I/i/uJDI4vK9hiet4zMRf0CSbc/YJAFi8hlEM=";
 
   nativeBuildInputs = [
     installShellFiles
diff --git a/pkgs/development/tools/misc/rustywind/default.nix b/pkgs/development/tools/misc/rustywind/default.nix
index e1f39eaaddfae..d3ac55b131117 100644
--- a/pkgs/development/tools/misc/rustywind/default.nix
+++ b/pkgs/development/tools/misc/rustywind/default.nix
@@ -5,16 +5,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "rustywind";
-  version = "0.16.0";
+  version = "0.17.0";
 
   src = fetchFromGitHub {
     owner = "avencera";
     repo = "rustywind";
     rev = "v${version}";
-    hash = "sha256-xDpRS8WrFu5uPtbXJGXrxElJinxl1lkpYZ1tGrNrBHA=";
+    hash = "sha256-cRQdPOiERvxBZzaS26op1bDba9sCn3TyBIhlwI5XCro=";
   };
 
-  cargoHash = "sha256-2bo6KkHVw1lyLD4iWidAyxZzQMRTO5DWvYmqUQld15g=";
+  cargoHash = "sha256-hw9DUe4iJ0DLX4P48ZpvZr6Xmq5rQ5rGmT13fO5uRoY=";
 
   meta = with lib; {
     description = "CLI for organizing Tailwind CSS classes";
diff --git a/pkgs/development/tools/misc/seer/default.nix b/pkgs/development/tools/misc/seer/default.nix
index a05fac0fb5c36..92bc871185ff1 100644
--- a/pkgs/development/tools/misc/seer/default.nix
+++ b/pkgs/development/tools/misc/seer/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, cmake, qtcharts, qtbase, wrapQtAppsHook }:
+{ lib, stdenv, fetchFromGitHub, cmake, gdb, qtcharts, qtbase, wrapQtAppsHook }:
 
 stdenv.mkDerivation rec {
   pname = "seer";
@@ -15,6 +15,11 @@ stdenv.mkDerivation rec {
     cd src
   '';
 
+  patchPhase = ''
+    substituteInPlace src/{SeerGdbConfigPage,SeerMainWindow,SeerGdbWidget}.cpp \
+      --replace "/usr/bin/gdb" "${gdb}/bin/gdb"
+  '';
+
   buildInputs = [ qtbase qtcharts ];
   nativeBuildInputs = [ cmake wrapQtAppsHook ];
 
diff --git a/pkgs/development/tools/misc/texlab/default.nix b/pkgs/development/tools/misc/texlab/default.nix
index 879e37cfdb4a4..4f1334f4dde6e 100644
--- a/pkgs/development/tools/misc/texlab/default.nix
+++ b/pkgs/development/tools/misc/texlab/default.nix
@@ -15,16 +15,16 @@ let
 in
 rustPlatform.buildRustPackage rec {
   pname = "texlab";
-  version = "5.7.0";
+  version = "5.8.0";
 
   src = fetchFromGitHub {
     owner = "latex-lsp";
     repo = "texlab";
     rev = "refs/tags/v${version}";
-    hash = "sha256-GvORAPbQOdVpz4yY66b3OObewU98V26cZ6nrJ35nlkg=";
+    hash = "sha256-KjCE7ei01ks4TMYiHE9In2Z3AWOw/4D4kIl0vFA4YKs=";
   };
 
-  cargoHash = "sha256-b7v3ODOjY5BQCzVqlLCNUOaZS95AvIvyjOeas2XfRjM=";
+  cargoHash = "sha256-1R9bNyNHDcRwn5nlkEFtSGA4V7Bn1Pq3v0E8njGUAYU=";
 
   outputs = [ "out" ] ++ lib.optional (!isCross) "man";
 
diff --git a/pkgs/development/tools/misc/tokei/default.nix b/pkgs/development/tools/misc/tokei/default.nix
index a93eee5cb1d19..b91460160ce8c 100644
--- a/pkgs/development/tools/misc/tokei/default.nix
+++ b/pkgs/development/tools/misc/tokei/default.nix
@@ -28,5 +28,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/XAMPPRocky/tokei";
     license = with licenses; [ asl20 /* or */ mit ];
     maintainers = with maintainers; [ gebner lilyball ];
+    mainProgram = "tokei";
   };
 }
diff --git a/pkgs/development/tools/mysql-shell/default.nix b/pkgs/development/tools/mysql-shell/default.nix
index 208c957148069..837d560f4dc42 100644
--- a/pkgs/development/tools/mysql-shell/default.nix
+++ b/pkgs/development/tools/mysql-shell/default.nix
@@ -38,16 +38,16 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "mysql-shell";
-  version = "8.0.33";
+  version = "8.0.34";
 
   srcs = [
     (fetchurl {
       url = "https://cdn.mysql.com//Downloads/MySQL-Shell/mysql-shell-${version}-src.tar.gz";
-      hash = "sha256-ElcAOvyQjXNns35p4J+jnGu8orZR81Itz/fxYh7Usbs=";
+      hash = "sha256-QY1PmhGw3PhqZ79+H/Xbb9uOvmrBlFQRS7idnV5OXF0=";
     })
     (fetchurl {
       url = "https://dev.mysql.com/get/Downloads/MySQL-${lib.versions.majorMinor version}/mysql-${version}.tar.gz";
-      hash = "sha256-liAC9dkG9C9AsnejnS25OTEkjB8H/49DEsKI5jgD3RI=";
+      hash = "sha256-5l0Do8QmGLX7+ZBCrtMyCUAumyeqYsfIdD/9R4jY2x0=";
     })
   ];
 
diff --git a/pkgs/development/tools/ocaml/dune/3.nix b/pkgs/development/tools/ocaml/dune/3.nix
index c282286524edf..73795811d5141 100644
--- a/pkgs/development/tools/ocaml/dune/3.nix
+++ b/pkgs/development/tools/ocaml/dune/3.nix
@@ -6,11 +6,11 @@ else
 
 stdenv.mkDerivation rec {
   pname = "dune";
-  version = "3.9.2";
+  version = "3.10.0";
 
   src = fetchurl {
     url = "https://github.com/ocaml/dune/releases/download/${version}/dune-${version}.tbz";
-    hash = "sha256-TzrL1F09zbu9qJE3L0PwVpQra5btl37FKBupqHUTSt8=";
+    hash = "sha256-n/AzhKmKjfeYUsxnTwtHOLqK7BcCm24u61FPiV5xA1U=";
   };
 
   nativeBuildInputs = [ ocaml findlib ];
diff --git a/pkgs/development/tools/open-policy-agent/default.nix b/pkgs/development/tools/open-policy-agent/default.nix
index e83782cb7e3d5..7b7da31ad1de5 100644
--- a/pkgs/development/tools/open-policy-agent/default.nix
+++ b/pkgs/development/tools/open-policy-agent/default.nix
@@ -11,13 +11,13 @@ assert enableWasmEval && stdenv.isDarwin -> builtins.throw "building with wasm o
 
 buildGoModule rec {
   pname = "open-policy-agent";
-  version = "0.54.0";
+  version = "0.55.0";
 
   src = fetchFromGitHub {
     owner = "open-policy-agent";
     repo = "opa";
     rev = "v${version}";
-    hash = "sha256-sMJ+mf6AR4qTx+nXk18ElFiPfymf/ZEoBJDZLGWtPUI=";
+    hash = "sha256-piQ8Cig2zG6UhzVbiDCTruAXNis8P5HUja4xiiol9jA=";
   };
   vendorHash = null;
 
diff --git a/pkgs/development/tools/pscale/default.nix b/pkgs/development/tools/pscale/default.nix
index 1bcc1df08c0c5..e5480cc776000 100644
--- a/pkgs/development/tools/pscale/default.nix
+++ b/pkgs/development/tools/pscale/default.nix
@@ -8,16 +8,16 @@
 
 buildGoModule rec {
   pname = "pscale";
-  version = "0.147.0";
+  version = "0.150.0";
 
   src = fetchFromGitHub {
     owner = "planetscale";
     repo = "cli";
     rev = "v${version}";
-    sha256 = "sha256-G23KJe0KvqdFOfuvbPHPiTOz/++IEFl3SKqqS+MsD2o=";
+    sha256 = "sha256-tDpiInZab7RZ54Ho9uXnNEturINMhv0YqK5A9pmnEgs=";
   };
 
-  vendorHash = "sha256-E8ianic0W63P52qXCn2EKjZC9pAQ1bkLCx0jobD2/UE=";
+  vendorHash = "sha256-I/cZa5IDmnYw/MU5h7jarYqbTY+5NrDDj5pz9WTcvGo=";
 
   ldflags = [
     "-s" "-w"
diff --git a/pkgs/development/tools/rubyfmt/0001-cargo-lock-update-version.patch b/pkgs/development/tools/rubyfmt/0001-cargo-lock-update-version.patch
new file mode 100644
index 0000000000000..d2bf9f9431cab
--- /dev/null
+++ b/pkgs/development/tools/rubyfmt/0001-cargo-lock-update-version.patch
@@ -0,0 +1,25 @@
+From d9df7aaaaf9c758499f569376a041045d99e4015 Mon Sep 17 00:00:00 2001
+From: Bob van der Linden <bobvanderlinden@gmail.com>
+Date: Thu, 9 Feb 2023 16:17:46 +0100
+Subject: [PATCH 1/2] cargo: lock: update version
+
+---
+ Cargo.lock | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Cargo.lock b/Cargo.lock
+index 79a81d1..374c10a 100644
+--- a/Cargo.lock
++++ b/Cargo.lock
+@@ -642,7 +642,7 @@ dependencies = [
+ 
+ [[package]]
+ name = "rubyfmt-main"
+-version = "0.8.0-pre"
++version = "0.8.1"
+ dependencies = [
+  "atty",
+  "clap",
+-- 
+2.39.1
+
diff --git a/pkgs/development/tools/rubyfmt/0002-remove-dependency-on-git.patch b/pkgs/development/tools/rubyfmt/0002-remove-dependency-on-git.patch
new file mode 100644
index 0000000000000..d7e3b90ab79f4
--- /dev/null
+++ b/pkgs/development/tools/rubyfmt/0002-remove-dependency-on-git.patch
@@ -0,0 +1,62 @@
+From 3bbc396c4ddc8a5e26f7776155bb366c8d47c440 Mon Sep 17 00:00:00 2001
+From: Bob van der Linden <bobvanderlinden@gmail.com>
+Date: Thu, 9 Feb 2023 16:55:00 +0100
+Subject: [PATCH 2/2] remove dependency on git
+
+---
+ librubyfmt/build.rs | 35 +++--------------------------------
+ 1 file changed, 3 insertions(+), 32 deletions(-)
+
+diff --git a/librubyfmt/build.rs b/librubyfmt/build.rs
+index ef94c09..4668785 100644
+--- a/librubyfmt/build.rs
++++ b/librubyfmt/build.rs
+@@ -26,27 +26,9 @@ fn main() -> Output {
+     let path = std::env::current_dir()?;
+     let ruby_checkout_path = path.join("ruby_checkout");
+ 
+-    let old_checkout_sha = if ruby_checkout_path.join(ripper).exists() {
+-        Some(get_ruby_checkout_sha())
+-    } else {
+-        None
+-    };
+-
+-    let _ = Command::new("git")
+-        .args(&["submodule", "update", "--init"])
+-        .status();
+-
+-    let new_checkout_sha = get_ruby_checkout_sha();
+-
+-    // Only rerun this build if the ruby_checkout has changed
+-    match old_checkout_sha {
+-        Some(old_sha) if old_sha == new_checkout_sha => {}
+-        _ => {
+-            make_configure(&ruby_checkout_path)?;
+-            run_configure(&ruby_checkout_path)?;
+-            build_ruby(&ruby_checkout_path)?;
+-        }
+-    }
++    make_configure(&ruby_checkout_path)?;
++    run_configure(&ruby_checkout_path)?;
++    build_ruby(&ruby_checkout_path)?;
+ 
+     cc::Build::new()
+         .file("src/rubyfmt.c")
+@@ -152,14 +134,3 @@ fn check_process_success(command: &str, code: ExitStatus) -> Output {
+     }
+ }
+ 
+-fn get_ruby_checkout_sha() -> String {
+-    String::from_utf8(
+-        Command::new("git")
+-            .args(&["rev-parse", "HEAD"])
+-            .current_dir("./ruby_checkout")
+-            .output()
+-            .expect("git rev-parse shouldn't fail")
+-            .stdout,
+-    )
+-    .expect("output should be valid utf8")
+-}
+-- 
+2.39.1
+
diff --git a/pkgs/development/tools/rubyfmt/default.nix b/pkgs/development/tools/rubyfmt/default.nix
new file mode 100644
index 0000000000000..6cf2324b1d416
--- /dev/null
+++ b/pkgs/development/tools/rubyfmt/default.nix
@@ -0,0 +1,78 @@
+{ lib
+, stdenv
+, rustPlatform
+, fetchFromGitHub
+, autoconf
+, automake
+, bison
+, ruby
+, zlib
+, readline
+, libiconv
+, libobjc
+, libunwind
+, libxcrypt
+, Foundation
+, Security
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "rubyfmt";
+  version = "0.8.1";
+
+  src = fetchFromGitHub {
+    owner = "fables-tales";
+    repo = "rubyfmt";
+    rev = "v${version}";
+    hash = "sha256-lHq9lcLMp6HUHMonEe3T2YGwMYW1W131H1jo1cy6kyc=";
+    fetchSubmodules = true;
+  };
+
+  nativeBuildInputs = [
+    autoconf
+    automake
+    bison
+    ruby
+  ];
+
+  buildInputs = [
+    zlib
+    libxcrypt
+  ] ++ lib.optionals stdenv.isDarwin [
+    readline
+    libiconv
+    libobjc
+    libunwind
+    Foundation
+    Security
+  ];
+
+  preConfigure = ''
+    pushd librubyfmt/ruby_checkout
+    autoreconf --install --force --verbose
+    ./configure
+    popd
+  '';
+
+  cargoPatches = [
+    # The 0.8.1 release did not have an up-to-date lock file. The rubyfmt
+    # version in Cargo.toml was bumped, but it wasn't updated in the lock file.
+    ./0001-cargo-lock-update-version.patch
+
+    # Avoid checking whether ruby gitsubmodule is up-to-date.
+    ./0002-remove-dependency-on-git.patch
+  ];
+
+  cargoHash = "sha256-keeIonGNgE0U0IVi8DeXAy6ygTXVXH+WDjob36epUDI=";
+
+  preFixup = ''
+    mv $out/bin/rubyfmt{-main,}
+  '';
+
+  meta = with lib; {
+    description = "A Ruby autoformatter";
+    homepage = "https://github.com/fables-tales/rubyfmt";
+    license = licenses.mit;
+    maintainers = with maintainers; [ bobvanderlinden ];
+  };
+}
diff --git a/pkgs/development/tools/ruff/Cargo.lock b/pkgs/development/tools/ruff/Cargo.lock
index 86899ddff4709..622032c09a222 100644
--- a/pkgs/development/tools/ruff/Cargo.lock
+++ b/pkgs/development/tools/ruff/Cargo.lock
@@ -134,6 +134,21 @@ dependencies = [
 ]
 
 [[package]]
+name = "arrayvec"
+version = "0.7.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711"
+
+[[package]]
+name = "ascii-canvas"
+version = "3.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8824ecca2e851cec16968d54a01dd372ef8f95b244fb84b84e70128be347c3c6"
+dependencies = [
+ "term",
+]
+
+[[package]]
 name = "assert_cmd"
 version = "2.0.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -170,6 +185,21 @@ dependencies = [
 ]
 
 [[package]]
+name = "bit-set"
+version = "0.5.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1"
+dependencies = [
+ "bit-vec",
+]
+
+[[package]]
+name = "bit-vec"
+version = "0.6.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb"
+
+[[package]]
 name = "bitflags"
 version = "1.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -610,6 +640,16 @@ dependencies = [
 ]
 
 [[package]]
+name = "dirs-next"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1"
+dependencies = [
+ "cfg-if",
+ "dirs-sys-next",
+]
+
+[[package]]
 name = "dirs-sys"
 version = "0.3.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -633,6 +673,17 @@ dependencies = [
 ]
 
 [[package]]
+name = "dirs-sys-next"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d"
+dependencies = [
+ "libc",
+ "redox_users",
+ "winapi",
+]
+
+[[package]]
 name = "doc-comment"
 version = "0.3.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -657,6 +708,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91"
 
 [[package]]
+name = "ena"
+version = "0.14.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c533630cf40e9caa44bd91aadc88a75d75a4c3a12b4cfde353cbed41daa1e1f1"
+dependencies = [
+ "log",
+]
+
+[[package]]
 name = "encode_unicode"
 version = "0.3.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -733,8 +793,14 @@ dependencies = [
 ]
 
 [[package]]
+name = "fixedbitset"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80"
+
+[[package]]
 name = "flake8-to-ruff"
-version = "0.0.280"
+version = "0.0.282"
 dependencies = [
  "anyhow",
  "clap",
@@ -967,6 +1033,7 @@ dependencies = [
  "number_prefix",
  "portable-atomic",
  "unicode-width",
+ "vt100",
 ]
 
 [[package]]
@@ -1100,6 +1167,28 @@ dependencies = [
 ]
 
 [[package]]
+name = "lalrpop"
+version = "0.20.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "da4081d44f4611b66c6dd725e6de3169f9f63905421e8626fcb86b6a898998b8"
+dependencies = [
+ "ascii-canvas",
+ "bit-set",
+ "diff",
+ "ena",
+ "is-terminal",
+ "itertools",
+ "lalrpop-util",
+ "petgraph",
+ "regex",
+ "regex-syntax 0.7.3",
+ "string_cache",
+ "term",
+ "tiny-keccak",
+ "unicode-xid",
+]
+
+[[package]]
 name = "lalrpop-util"
 version = "0.20.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1200,6 +1289,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "09fc20d2ca12cb9f044c93e3bd6d32d523e6e2ec3db4f7b2939cd99026ecd3f0"
 
 [[package]]
+name = "lock_api"
+version = "0.4.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16"
+dependencies = [
+ "autocfg",
+ "scopeguard",
+]
+
+[[package]]
 name = "log"
 version = "0.4.19"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1278,6 +1377,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "308d96db8debc727c3fd9744aac51751243420e46edf401010908da7f8d5e57c"
 
 [[package]]
+name = "new_debug_unreachable"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e4a24736216ec316047a1fc4252e27dabb04218aa4a3f37c6e7ddbf1f9782b54"
+
+[[package]]
 name = "nextest-workspace-hack"
 version = "0.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1296,12 +1401,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "nohash-hasher"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451"
-
-[[package]]
 name = "nom"
 version = "7.1.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1428,6 +1527,29 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39"
 
 [[package]]
+name = "parking_lot"
+version = "0.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
+dependencies = [
+ "lock_api",
+ "parking_lot_core",
+]
+
+[[package]]
+name = "parking_lot_core"
+version = "0.9.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "redox_syscall 0.3.5",
+ "smallvec",
+ "windows-targets 0.48.1",
+]
+
+[[package]]
 name = "paste"
 version = "1.0.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1519,13 +1641,22 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94"
 
 [[package]]
+name = "petgraph"
+version = "0.6.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4dd7d28ee937e54fe3080c91faa1c3a46c06de6252988a7f4592ba2310ef22a4"
+dependencies = [
+ "fixedbitset",
+ "indexmap 1.9.3",
+]
+
+[[package]]
 name = "phf"
 version = "0.11.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc"
 dependencies = [
- "phf_macros",
- "phf_shared",
+ "phf_shared 0.11.2",
 ]
 
 [[package]]
@@ -1535,7 +1666,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e8d39688d359e6b34654d328e262234662d16cc0f60ec8dcbe5e718709342a5a"
 dependencies = [
  "phf_generator",
- "phf_shared",
+ "phf_shared 0.11.2",
 ]
 
 [[package]]
@@ -1544,21 +1675,17 @@ version = "0.11.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0"
 dependencies = [
- "phf_shared",
+ "phf_shared 0.11.2",
  "rand",
 ]
 
 [[package]]
-name = "phf_macros"
-version = "0.11.2"
+name = "phf_shared"
+version = "0.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3444646e286606587e49f3bcf1679b8cef1dc2c5ecc29ddacaffc305180d464b"
+checksum = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096"
 dependencies = [
- "phf_generator",
- "phf_shared",
- "proc-macro2",
- "quote",
- "syn 2.0.23",
+ "siphasher",
 ]
 
 [[package]]
@@ -1622,6 +1749,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "767eb9f07d4a5ebcb39bbf2d452058a93c011373abf6832e24194a1c3f004794"
 
 [[package]]
+name = "ppv-lite86"
+version = "0.2.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
+
+[[package]]
+name = "precomputed-hash"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c"
+
+[[package]]
 name = "predicates"
 version = "3.0.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1745,6 +1884,18 @@ version = "0.8.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
 dependencies = [
+ "libc",
+ "rand_chacha",
+ "rand_core",
+]
+
+[[package]]
+name = "rand_chacha"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
+dependencies = [
+ "ppv-lite86",
  "rand_core",
 ]
 
@@ -1753,6 +1904,9 @@ name = "rand_core"
 version = "0.6.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
+dependencies = [
+ "getrandom",
+]
 
 [[package]]
 name = "rayon"
@@ -1888,7 +2042,7 @@ dependencies = [
 
 [[package]]
 name = "ruff"
-version = "0.0.280"
+version = "0.0.282"
 dependencies = [
  "annotate-snippets 0.9.1",
  "anyhow",
@@ -1909,14 +2063,12 @@ dependencies = [
  "log",
  "memchr",
  "natord",
- "nohash-hasher",
  "num-bigint",
  "num-traits",
  "once_cell",
  "path-absolutize",
  "pathdiff",
  "pep440_rs",
- "phf",
  "pretty_assertions",
  "pyproject-toml",
  "quick-junit",
@@ -1927,15 +2079,16 @@ dependencies = [
  "ruff_index",
  "ruff_macros",
  "ruff_python_ast",
+ "ruff_python_codegen",
+ "ruff_python_index",
+ "ruff_python_literal",
+ "ruff_python_parser",
  "ruff_python_semantic",
  "ruff_python_stdlib",
  "ruff_python_trivia",
- "ruff_rustpython",
+ "ruff_source_file",
  "ruff_text_size",
- "ruff_textwrap",
  "rustc-hash",
- "rustpython-format",
- "rustpython-parser",
  "schemars",
  "semver",
  "serde",
@@ -1966,7 +2119,7 @@ dependencies = [
  "ruff",
  "ruff_python_ast",
  "ruff_python_formatter",
- "rustpython-parser",
+ "ruff_python_parser",
  "serde",
  "serde_json",
  "tikv-jemallocator",
@@ -1988,7 +2141,7 @@ dependencies = [
 
 [[package]]
 name = "ruff_cli"
-version = "0.0.280"
+version = "0.0.282"
 dependencies = [
  "annotate-snippets 0.9.1",
  "anyhow",
@@ -2017,11 +2170,13 @@ dependencies = [
  "ruff",
  "ruff_cache",
  "ruff_diagnostics",
+ "ruff_macros",
  "ruff_python_ast",
  "ruff_python_formatter",
  "ruff_python_stdlib",
+ "ruff_python_trivia",
+ "ruff_source_file",
  "ruff_text_size",
- "ruff_textwrap",
  "rustc-hash",
  "serde",
  "serde_json",
@@ -2046,7 +2201,6 @@ dependencies = [
  "indoc",
  "itertools",
  "libcst",
- "log",
  "once_cell",
  "pretty_assertions",
  "rayon",
@@ -2055,11 +2209,13 @@ dependencies = [
  "ruff_cli",
  "ruff_diagnostics",
  "ruff_formatter",
+ "ruff_python_ast",
+ "ruff_python_codegen",
  "ruff_python_formatter",
+ "ruff_python_literal",
+ "ruff_python_parser",
  "ruff_python_stdlib",
- "ruff_textwrap",
- "rustpython-format",
- "rustpython-parser",
+ "ruff_python_trivia",
  "schemars",
  "serde",
  "serde_json",
@@ -2068,6 +2224,9 @@ dependencies = [
  "strum_macros",
  "tempfile",
  "toml",
+ "tracing",
+ "tracing-indicatif",
+ "tracing-subscriber",
 ]
 
 [[package]]
@@ -2110,7 +2269,7 @@ dependencies = [
  "itertools",
  "proc-macro2",
  "quote",
- "ruff_textwrap",
+ "ruff_python_trivia",
  "syn 2.0.23",
 ]
 
@@ -2118,24 +2277,32 @@ dependencies = [
 name = "ruff_python_ast"
 version = "0.0.0"
 dependencies = [
- "anyhow",
  "bitflags 2.3.3",
  "insta",
  "is-macro",
- "itertools",
- "log",
  "memchr",
  "num-bigint",
  "num-traits",
  "once_cell",
+ "ruff_python_parser",
  "ruff_python_trivia",
+ "ruff_source_file",
  "ruff_text_size",
  "rustc-hash",
- "rustpython-ast",
- "rustpython-literal",
- "rustpython-parser",
  "serde",
  "smallvec",
+ "static_assertions",
+]
+
+[[package]]
+name = "ruff_python_codegen"
+version = "0.0.0"
+dependencies = [
+ "once_cell",
+ "ruff_python_ast",
+ "ruff_python_literal",
+ "ruff_python_parser",
+ "ruff_source_file",
 ]
 
 [[package]]
@@ -2152,10 +2319,12 @@ dependencies = [
  "once_cell",
  "ruff_formatter",
  "ruff_python_ast",
+ "ruff_python_index",
+ "ruff_python_parser",
  "ruff_python_trivia",
+ "ruff_source_file",
  "ruff_text_size",
  "rustc-hash",
- "rustpython-parser",
  "serde",
  "serde_json",
  "similar",
@@ -2164,6 +2333,55 @@ dependencies = [
 ]
 
 [[package]]
+name = "ruff_python_index"
+version = "0.0.0"
+dependencies = [
+ "itertools",
+ "ruff_python_ast",
+ "ruff_python_parser",
+ "ruff_python_trivia",
+ "ruff_source_file",
+ "ruff_text_size",
+]
+
+[[package]]
+name = "ruff_python_literal"
+version = "0.0.0"
+dependencies = [
+ "bitflags 2.3.3",
+ "hexf-parse",
+ "is-macro",
+ "itertools",
+ "lexical-parse-float",
+ "num-bigint",
+ "num-traits",
+ "rand",
+ "unic-ucd-category",
+]
+
+[[package]]
+name = "ruff_python_parser"
+version = "0.0.0"
+dependencies = [
+ "anyhow",
+ "insta",
+ "is-macro",
+ "itertools",
+ "lalrpop",
+ "lalrpop-util",
+ "num-bigint",
+ "num-traits",
+ "ruff_python_ast",
+ "ruff_text_size",
+ "rustc-hash",
+ "static_assertions",
+ "tiny-keccak",
+ "unic-emoji-char",
+ "unic-ucd-ident",
+ "unicode_names2",
+]
+
+[[package]]
 name = "ruff_python_resolver"
 version = "0.0.0"
 dependencies = [
@@ -2179,14 +2397,13 @@ version = "0.0.0"
 dependencies = [
  "bitflags 2.3.3",
  "is-macro",
- "nohash-hasher",
  "num-traits",
  "ruff_index",
  "ruff_python_ast",
  "ruff_python_stdlib",
+ "ruff_source_file",
  "ruff_text_size",
  "rustc-hash",
- "rustpython-parser",
  "smallvec",
 ]
 
@@ -2200,20 +2417,15 @@ version = "0.0.0"
 dependencies = [
  "insta",
  "memchr",
+ "ruff_python_ast",
+ "ruff_python_parser",
+ "ruff_source_file",
  "ruff_text_size",
  "smallvec",
  "unic-ucd-ident",
 ]
 
 [[package]]
-name = "ruff_rustpython"
-version = "0.0.0"
-dependencies = [
- "anyhow",
- "rustpython-parser",
-]
-
-[[package]]
 name = "ruff_shrinking"
 version = "0.1.0"
 dependencies = [
@@ -2222,28 +2434,32 @@ dependencies = [
  "fs-err",
  "regex",
  "ruff_python_ast",
- "ruff_rustpython",
- "rustpython-ast",
+ "ruff_python_parser",
+ "ruff_text_size",
  "shlex",
  "tracing",
  "tracing-subscriber",
 ]
 
 [[package]]
-name = "ruff_text_size"
+name = "ruff_source_file"
 version = "0.0.0"
-source = "git+https://github.com/astral-sh/RustPython-Parser.git?rev=4d03b9b5b212fc869e4cfda151414438186a7779#4d03b9b5b212fc869e4cfda151414438186a7779"
 dependencies = [
- "schemars",
+ "insta",
+ "memchr",
+ "once_cell",
+ "ruff_text_size",
  "serde",
 ]
 
 [[package]]
-name = "ruff_textwrap"
+name = "ruff_text_size"
 version = "0.0.0"
 dependencies = [
- "ruff_python_trivia",
- "ruff_text_size",
+ "schemars",
+ "serde",
+ "serde_test",
+ "static_assertions",
 ]
 
 [[package]]
@@ -2257,9 +2473,11 @@ dependencies = [
  "ruff",
  "ruff_diagnostics",
  "ruff_python_ast",
+ "ruff_python_codegen",
  "ruff_python_formatter",
- "ruff_rustpython",
- "rustpython-parser",
+ "ruff_python_index",
+ "ruff_python_parser",
+ "ruff_source_file",
  "serde",
  "serde-wasm-bindgen",
  "wasm-bindgen",
@@ -2332,74 +2550,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "rustpython-ast"
-version = "0.2.0"
-source = "git+https://github.com/astral-sh/RustPython-Parser.git?rev=4d03b9b5b212fc869e4cfda151414438186a7779#4d03b9b5b212fc869e4cfda151414438186a7779"
-dependencies = [
- "is-macro",
- "num-bigint",
- "rustpython-parser-core",
- "static_assertions",
-]
-
-[[package]]
-name = "rustpython-format"
-version = "0.2.0"
-source = "git+https://github.com/astral-sh/RustPython-Parser.git?rev=4d03b9b5b212fc869e4cfda151414438186a7779#4d03b9b5b212fc869e4cfda151414438186a7779"
-dependencies = [
- "bitflags 2.3.3",
- "itertools",
- "num-bigint",
- "num-traits",
- "rustpython-literal",
-]
-
-[[package]]
-name = "rustpython-literal"
-version = "0.2.0"
-source = "git+https://github.com/astral-sh/RustPython-Parser.git?rev=4d03b9b5b212fc869e4cfda151414438186a7779#4d03b9b5b212fc869e4cfda151414438186a7779"
-dependencies = [
- "hexf-parse",
- "is-macro",
- "lexical-parse-float",
- "num-traits",
- "unic-ucd-category",
-]
-
-[[package]]
-name = "rustpython-parser"
-version = "0.2.0"
-source = "git+https://github.com/astral-sh/RustPython-Parser.git?rev=4d03b9b5b212fc869e4cfda151414438186a7779#4d03b9b5b212fc869e4cfda151414438186a7779"
-dependencies = [
- "anyhow",
- "is-macro",
- "itertools",
- "lalrpop-util",
- "log",
- "num-bigint",
- "num-traits",
- "phf",
- "phf_codegen",
- "rustc-hash",
- "rustpython-ast",
- "rustpython-parser-core",
- "tiny-keccak",
- "unic-emoji-char",
- "unic-ucd-ident",
- "unicode_names2",
-]
-
-[[package]]
-name = "rustpython-parser-core"
-version = "0.2.0"
-source = "git+https://github.com/astral-sh/RustPython-Parser.git?rev=4d03b9b5b212fc869e4cfda151414438186a7779#4d03b9b5b212fc869e4cfda151414438186a7779"
-dependencies = [
- "is-macro",
- "memchr",
- "ruff_text_size",
-]
-
-[[package]]
 name = "rustversion"
 version = "1.0.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2535,6 +2685,15 @@ dependencies = [
 ]
 
 [[package]]
+name = "serde_test"
+version = "1.0.176"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5a2f49ace1498612d14f7e0b8245519584db8299541dfe31a06374a828d620ab"
+dependencies = [
+ "serde",
+]
+
+[[package]]
 name = "serde_with"
 version = "3.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2617,6 +2776,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
 
 [[package]]
+name = "string_cache"
+version = "0.8.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f91138e76242f575eb1d3b38b4f1362f10d3a43f47d182a5b359af488a02293b"
+dependencies = [
+ "new_debug_unreachable",
+ "once_cell",
+ "parking_lot",
+ "phf_shared 0.10.0",
+ "precomputed-hash",
+]
+
+[[package]]
 name = "strsim"
 version = "0.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2690,6 +2862,17 @@ dependencies = [
 ]
 
 [[package]]
+name = "term"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c59df8ac95d96ff9bede18eb7300b0fda5e5d8d90960e76f8e14ae765eedbf1f"
+dependencies = [
+ "dirs-next",
+ "rustversion",
+ "winapi",
+]
+
+[[package]]
 name = "termcolor"
 version = "1.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2943,6 +3126,18 @@ dependencies = [
 ]
 
 [[package]]
+name = "tracing-indicatif"
+version = "0.3.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b38ed3722d27705c3bd7ca0ccf29acc3d8e1c717b4cd87f97891a2c1834ea1af"
+dependencies = [
+ "indicatif",
+ "tracing",
+ "tracing-core",
+ "tracing-subscriber",
+]
+
+[[package]]
 name = "tracing-log"
 version = "0.1.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3069,6 +3264,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b"
 
 [[package]]
+name = "unicode-xid"
+version = "0.2.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c"
+
+[[package]]
 name = "unicode_names2"
 version = "0.6.0"
 source = "git+https://github.com/youknowone/unicode_names2.git?rev=4ce16aa85cbcdd9cc830410f1a72ef9a235f2fde#4ce16aa85cbcdd9cc830410f1a72ef9a235f2fde"
@@ -3135,6 +3336,39 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
 
 [[package]]
+name = "vt100"
+version = "0.15.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "84cd863bf0db7e392ba3bd04994be3473491b31e66340672af5d11943c6274de"
+dependencies = [
+ "itoa",
+ "log",
+ "unicode-width",
+ "vte",
+]
+
+[[package]]
+name = "vte"
+version = "0.11.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f5022b5fbf9407086c180e9557be968742d839e68346af7792b8592489732197"
+dependencies = [
+ "arrayvec",
+ "utf8parse",
+ "vte_generate_state_changes",
+]
+
+[[package]]
+name = "vte_generate_state_changes"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d257817081c7dffcdbab24b9e62d2def62e2ff7d00b1c20062551e6cccc145ff"
+dependencies = [
+ "proc-macro2",
+ "quote",
+]
+
+[[package]]
 name = "wait-timeout"
 version = "0.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
diff --git a/pkgs/development/tools/ruff/default.nix b/pkgs/development/tools/ruff/default.nix
index 7b1582a552108..96ef5f4d3c7c1 100644
--- a/pkgs/development/tools/ruff/default.nix
+++ b/pkgs/development/tools/ruff/default.nix
@@ -10,20 +10,19 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "ruff";
-  version = "0.0.280";
+  version = "0.0.282";
 
   src = fetchFromGitHub {
     owner = "astral-sh";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-Pp/yurRPUHqrCD3V93z5EGMYf4IyLFQOL9d2sNe3TKs=";
+    hash = "sha256-CQsgRTpZTBj07/9SYkrQXtb5FOguCtf5LCli65v20YA=";
   };
 
   cargoLock = {
     lockFile = ./Cargo.lock;
     outputHashes = {
       "libcst-0.1.0" = "sha256-FgQE8ofRXQs/zHh7AKscXu0deN3IG+Nk/h+a09Co5R8=";
-      "ruff_text_size-0.0.0" = "sha256-5BAsTsgvrP+77yZuA/QfEwVOmCj82ab8Y4D3NtY7E2Q=";
       "unicode_names2-0.6.0" = "sha256-eWg9+ISm/vztB0KIdjhq5il2ZnwGJQCleCYfznCI3Wg=";
     };
   };
diff --git a/pkgs/development/tools/rust/cargo-all-features/default.nix b/pkgs/development/tools/rust/cargo-all-features/default.nix
index a61d558821089..0a7aeb9accb37 100644
--- a/pkgs/development/tools/rust/cargo-all-features/default.nix
+++ b/pkgs/development/tools/rust/cargo-all-features/default.nix
@@ -5,14 +5,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-all-features";
-  version = "1.9.0";
+  version = "1.10.0";
 
   src = fetchCrate {
     inherit pname version;
-    hash = "sha256-OLnz1SmMLs/yats/lZugqNUlBQHSNR1bOuEmnHGdoN8=";
+    hash = "sha256-/w3Xd7PXUNtqzRYmUqJtth+GDuXSnsk1NiYCTYsHuAQ=";
   };
 
-  cargoHash = "sha256-Gg5tF8IvbtIoqR0AKRS7IbcCNOCJO8oxwX0KkUr+l/M=";
+  cargoHash = "sha256-d69jj2FGptjndJG1tq3Fb/8F3kuFXN5otsYGhXYhhZg=";
 
   meta = with lib; {
     description = "A Cargo subcommand to build and test all feature flag combinations";
diff --git a/pkgs/development/tools/rust/cargo-deny/default.nix b/pkgs/development/tools/rust/cargo-deny/default.nix
index 37f4967a8ab6c..1ff7abaa4cb14 100644
--- a/pkgs/development/tools/rust/cargo-deny/default.nix
+++ b/pkgs/development/tools/rust/cargo-deny/default.nix
@@ -2,42 +2,34 @@
 , rustPlatform
 , fetchFromGitHub
 , pkg-config
-, libgit2_1_5
-, openssl
-, zlib
 , zstd
 , stdenv
-, curl
 , darwin
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-deny";
-  version = "0.13.9";
+  version = "0.14.1";
 
   src = fetchFromGitHub {
     owner = "EmbarkStudios";
-    repo = pname;
+    repo = "cargo-deny";
     rev = version;
-    hash = "sha256-fkbYPn7GmnOgLvJqbizVKKLBnzVn0Ji6jQc23DimIX4=";
+    hash = "sha256-3k8UPA4zf2WfEZ8fnBhqpYH269nfecBv+68+7IDkuY4=";
   };
 
-  cargoHash = "sha256-WHr2Ky0LlK/EVOrSK3MF9Yt/Qe/6o7Ftx7X8iECj6pM=";
+  cargoHash = "sha256-w72T2MGtf6+YePscCHBWMzHXnB7+kdguZDuB7Hqs4rI=";
 
-  nativeBuildInputs = [ pkg-config ];
+  nativeBuildInputs = [
+    pkg-config
+  ];
 
   buildInputs = [
-    libgit2_1_5
-    openssl
-    zlib
     zstd
   ] ++ lib.optionals stdenv.isDarwin [
-    curl
     darwin.apple_sdk.frameworks.Security
   ];
 
-  buildNoDefaultFeatures = true;
-
   env = {
     ZSTD_SYS_USE_PKG_CONFIG = true;
   };
diff --git a/pkgs/development/tools/rust/cargo-guppy/default.nix b/pkgs/development/tools/rust/cargo-guppy/default.nix
index f1e066f1b9c0a..4596b93b32a1f 100644
--- a/pkgs/development/tools/rust/cargo-guppy/default.nix
+++ b/pkgs/development/tools/rust/cargo-guppy/default.nix
@@ -9,16 +9,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-guppy";
-  version = "unstable-2023-06-26";
+  version = "unstable-2023-07-29";
 
   src = fetchFromGitHub {
     owner = "guppy-rs";
     repo = "guppy";
-    rev = "c05b95997a127cebef76d3b238e0341086e59e32";
-    sha256 = "sha256-CQ0bpc5pmPMQMQ+8mcrUwo19zqyfkk5pE/lWRr9azXs=";
+    rev = "7c7f352d9d2dea1007b4475d4a76f86f061b6ba9";
+    sha256 = "sha256-H2vU7qax0P8Ulh1/DHnlmGRqSqzLuRy9TZOvikSLONw=";
   };
 
-  cargoSha256 = "sha256-OHtg3za8EyQVYQ6XQzLK7UgvGSl8ObfeKURFL6vBDnE=";
+  cargoSha256 = "sha256-lr7N/qqB1AwhNA+mbEAJFSp/rDxGp3qIGSKP9B3JAls=";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/pkgs/development/tools/rust/cargo-hakari/default.nix b/pkgs/development/tools/rust/cargo-hakari/default.nix
index 06c1fd6016f47..842ea1a1915d7 100644
--- a/pkgs/development/tools/rust/cargo-hakari/default.nix
+++ b/pkgs/development/tools/rust/cargo-hakari/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-hakari";
-  version = "0.9.26";
+  version = "0.9.27";
 
   src = fetchFromGitHub {
     owner = "guppy-rs";
     repo = "guppy";
     rev = "cargo-hakari-${version}";
-    sha256 = "sha256-CQ0bpc5pmPMQMQ+8mcrUwo19zqyfkk5pE/lWRr9azXs=";
+    sha256 = "sha256-H2vU7qax0P8Ulh1/DHnlmGRqSqzLuRy9TZOvikSLONw=";
   };
 
-  cargoHash = "sha256-F6+GRn3l849vRVKE1KhLMnxwR5NWu1b78xTxrHi817A=";
+  cargoHash = "sha256-fRaGtQc9CA5A6fQ1yj5zsg1Qv42yIi8ZlIcp4o5cNBU=";
 
   cargoBuildFlags = [ "-p" "cargo-hakari" ];
   cargoTestFlags = [ "-p" "cargo-hakari" ];
diff --git a/pkgs/development/tools/rust/cargo-llvm-cov/default.nix b/pkgs/development/tools/rust/cargo-llvm-cov/default.nix
index 31997a8661323..15fd02bba6e13 100644
--- a/pkgs/development/tools/rust/cargo-llvm-cov/default.nix
+++ b/pkgs/development/tools/rust/cargo-llvm-cov/default.nix
@@ -6,13 +6,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-llvm-cov";
-  version = "0.5.23";
+  version = "0.5.24";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "sha256-sAuarLfvgX6qjZV2eum3+wY5gRiCbRSbJUBgFIHd8y0=";
+    sha256 = "sha256-Woayb/SgSCHwYYYezQXsna9N0Jot0/iga+jrOhjsSvc=";
   };
-  cargoSha256 = "sha256-gGzVQqPHvjERvQV2Yo3wFP7n/w3atuLrHSch1CWui4I=";
+  cargoSha256 = "sha256-8rP/wtDFH7hL3jt/QpWqriRwxlm0E2QvIqbCLiN7ZiM=";
 
   # skip tests which require llvm-tools-preview
   checkFlags = [
diff --git a/pkgs/development/tools/rust/cargo-llvm-lines/default.nix b/pkgs/development/tools/rust/cargo-llvm-lines/default.nix
index ff376c42b8d30..8ccc4d9a29ec0 100644
--- a/pkgs/development/tools/rust/cargo-llvm-lines/default.nix
+++ b/pkgs/development/tools/rust/cargo-llvm-lines/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-llvm-lines";
-  version = "0.4.31";
+  version = "0.4.32";
 
   src = fetchFromGitHub {
     owner = "dtolnay";
     repo = pname;
     rev = version;
-    hash = "sha256-DshvnPqbFvS1o3CYex+ObN5J4DNQH3CxaZReIAPKTns=";
+    hash = "sha256-uoIfB+jkLamrsDRMaxExQC1syN6VeTJhfei8FgikTCE=";
   };
 
-  cargoHash = "sha256-Ic4ZqONusG+7TbB0GYSqzNQ3LIPxCm8ppRN94o8IYSE=";
+  cargoHash = "sha256-SXiFkPm/2C5dABKPZBq3XXdElZemZN5E2vQTceATyE0=";
 
   meta = with lib; {
     description = "Count the number of lines of LLVM IR across all instantiations of a generic function";
diff --git a/pkgs/development/tools/rust/cargo-nextest/default.nix b/pkgs/development/tools/rust/cargo-nextest/default.nix
index a7725ad4eefcf..ba38d5be85b6e 100644
--- a/pkgs/development/tools/rust/cargo-nextest/default.nix
+++ b/pkgs/development/tools/rust/cargo-nextest/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-nextest";
-  version = "0.9.54";
+  version = "0.9.57";
 
   src = fetchFromGitHub {
     owner = "nextest-rs";
     repo = "nextest";
     rev = "cargo-nextest-${version}";
-    hash = "sha256-HkDGW91XDoYMfknPg6td51KTYniCfGtGQd3dkzumRpo=";
+    hash = "sha256-vtKe0cl9PxZgc1zUJQI1YCQm4cRHmzqlBEC4RGUxM44=";
   };
 
-  cargoHash = "sha256-McL5G/PtdOou17hWLiNTSJEjTh4YpT1GUPjTMAVNxQA=";
+  cargoHash = "sha256-o7nuDoBpSst84jyAVfrE8pLoYcKMF922r39G+gruBUo=";
 
   buildInputs = lib.optionals stdenv.isDarwin [ Security ];
 
diff --git a/pkgs/development/tools/rust/cargo-shuttle/Cargo.lock b/pkgs/development/tools/rust/cargo-shuttle/Cargo.lock
index 583c501f48887..0705235d85752 100644
--- a/pkgs/development/tools/rust/cargo-shuttle/Cargo.lock
+++ b/pkgs/development/tools/rust/cargo-shuttle/Cargo.lock
@@ -308,9 +308,9 @@ dependencies = [
 
 [[package]]
 name = "atoi"
-version = "1.0.0"
+version = "2.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d7c57d12312ff59c811c0643f4d80830505833c9ffaebd193d819392b265be8e"
+checksum = "f28d99ec8bfea296261ca1af174f24225171fea9664ba9003cbebee704810528"
 dependencies = [
  "num-traits",
 ]
@@ -660,7 +660,7 @@ dependencies = [
  "async-trait",
  "axum-core",
  "base64 0.21.2",
- "bitflags",
+ "bitflags 1.3.2",
  "bytes",
  "futures-util",
  "headers",
@@ -812,6 +812,12 @@ dependencies = [
 ]
 
 [[package]]
+name = "base64ct"
+version = "1.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b"
+
+[[package]]
 name = "basic-toml"
 version = "0.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -851,6 +857,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
 
 [[package]]
+name = "bitflags"
+version = "2.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "630be753d4e58660abd17930c71b647fe46c27ea6b63cc59e1e3851406972e42"
+dependencies = [
+ "serde",
+]
+
+[[package]]
 name = "bitvec"
 version = "1.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -944,7 +959,7 @@ dependencies = [
  "base64 0.13.1",
  "bitvec",
  "hex",
- "indexmap",
+ "indexmap 1.9.3",
  "js-sys",
  "lazy_static",
  "rand",
@@ -1124,7 +1139,7 @@ dependencies = [
 
 [[package]]
 name = "cargo-shuttle"
-version = "0.21.0"
+version = "0.22.0"
 dependencies = [
  "anyhow",
  "assert_cmd",
@@ -1252,7 +1267,7 @@ checksum = "914c8c79fb560f238ef6429439a30023c862f7a28e688c58f7203f12b29970bd"
 dependencies = [
  "anstream",
  "anstyle",
- "bitflags",
+ "bitflags 1.3.2",
  "clap_lex",
  "strsim",
 ]
@@ -1343,6 +1358,12 @@ dependencies = [
 ]
 
 [[package]]
+name = "const-oid"
+version = "0.9.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "795bc6e66a8e340f075fcf6227e417a2dc976b92b91f3cdc778bb858778b6747"
+
+[[package]]
 name = "const-random"
 version = "0.1.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1618,7 +1639,7 @@ version = "0.26.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a84cda67535339806297f1b331d6dd6320470d2a0fe65381e79ee9e156dd3d13"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
  "crossterm_winapi",
  "libc",
  "mio",
@@ -1747,6 +1768,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "c2e66c9d817f1720209181c316d28635c050fa304f9c79e47a520882661b7308"
 
 [[package]]
+name = "der"
+version = "0.7.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0c7ed52955ce76b1554f509074bb357d3fb8ac9b51288a65a3fd480d1dfba946"
+dependencies = [
+ "const-oid",
+ "pem-rfc7468",
+ "zeroize",
+]
+
+[[package]]
 name = "der-parser"
 version = "8.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1825,6 +1857,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
 dependencies = [
  "block-buffer 0.10.4",
+ "const-oid",
  "crypto-common",
  "subtle",
 ]
@@ -1925,6 +1958,9 @@ name = "either"
 version = "1.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91"
+dependencies = [
+ "serde",
+]
 
 [[package]]
 name = "encode_unicode"
@@ -1967,6 +2003,12 @@ dependencies = [
 ]
 
 [[package]]
+name = "equivalent"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
+
+[[package]]
 name = "errno"
 version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1988,6 +2030,17 @@ dependencies = [
 ]
 
 [[package]]
+name = "etcetera"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "136d1b5283a1ab77bd9257427ffd09d8667ced0570b6f938942bc7568ed5b943"
+dependencies = [
+ "cfg-if 1.0.0",
+ "home",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
 name = "event-listener"
 version = "2.5.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2197,13 +2250,13 @@ dependencies = [
 
 [[package]]
 name = "futures-intrusive"
-version = "0.4.2"
+version = "0.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a604f7a68fbf8103337523b1fadc8ade7361ee3f112f7c680ad179651616aed5"
+checksum = "1d930c203dd0b6ff06e0201a4a2fe9149b43c684fd4420555b26d21b1a02956f"
 dependencies = [
  "futures-core",
  "lock_api",
- "parking_lot 0.11.2",
+ "parking_lot 0.12.1",
 ]
 
 [[package]]
@@ -2301,7 +2354,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "b6c80984affa11d98d1b88b66ac8853f143217b399d3c74116778ff8fdb4ed2e"
 dependencies = [
  "fallible-iterator",
- "indexmap",
+ "indexmap 1.9.3",
  "stable_deref_trait",
 ]
 
@@ -2311,7 +2364,7 @@ version = "0.17.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "7b989d6a7ca95a362cf2cfc5ad688b3a467be1f87e480b8dad07fee8c79b0044"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
  "libc",
  "libgit2-sys",
  "log",
@@ -2362,7 +2415,7 @@ version = "0.10.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "d09154c0c8677e4da0ec35e896f56ee3e338e741b9599fae06075edd83a4081c"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
  "bstr",
  "gix-path",
  "libc",
@@ -2418,7 +2471,7 @@ version = "0.5.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "93e43efd776bc543f46f0fd0ca3d920c37af71a764a16f2aebd89765e9ff2993"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
  "bstr",
 ]
 
@@ -2507,7 +2560,7 @@ version = "0.6.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e8ffa5bf0772f9b01de501c035b6b084cf9b8bb07dec41e3afc6a17336a65f47"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
  "dirs 4.0.0",
  "gix-path",
  "libc",
@@ -2577,7 +2630,7 @@ dependencies = [
  "futures-sink",
  "futures-util",
  "http",
- "indexmap",
+ "indexmap 1.9.3",
  "slab",
  "tokio",
  "tokio-util",
@@ -2625,7 +2678,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "f3e372db8e5c0d213e0cd0b9be18be2aca3d44cf2fe30a9d46a65581cd454584"
 dependencies = [
  "base64 0.13.1",
- "bitflags",
+ "bitflags 1.3.2",
  "bytes",
  "headers-core",
  "http",
@@ -2960,6 +3013,16 @@ dependencies = [
 ]
 
 [[package]]
+name = "indexmap"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d5477fe2230a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d"
+dependencies = [
+ "equivalent",
+ "hashbrown 0.14.0",
+]
+
+[[package]]
 name = "indicatif"
 version = "0.17.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3160,6 +3223,9 @@ name = "lazy_static"
 version = "1.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
+dependencies = [
+ "spin 0.5.2",
+]
 
 [[package]]
 name = "leb128"
@@ -3195,9 +3261,9 @@ checksum = "f7012b1bbb0719e1097c47611d3898568c546d597c2e74d66f6087edd5233ff4"
 
 [[package]]
 name = "libsqlite3-sys"
-version = "0.24.2"
+version = "0.26.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "898745e570c7d0453cc1fbc4a701eb6c662ed54e8fec8b7d14be137ebeeb9d14"
+checksum = "afc22eff61b133b115c6e8c74e818c628d6d5e7a502afea6f64dee076dd94326"
 dependencies = [
  "cc",
  "pkg-config",
@@ -3492,7 +3558,7 @@ checksum = "ebe15399de63ad4294c80069967736cbb87ebe467a8cd0629df9cab88a6fbde6"
 dependencies = [
  "async-trait",
  "base64 0.13.1",
- "bitflags",
+ "bitflags 1.3.2",
  "bson",
  "chrono",
  "derivative",
@@ -3559,7 +3625,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "f346ff70e7dbfd675fe90590b92d59ef2de15a8779ae305ebcbfd3f0caf59be4"
 dependencies = [
  "autocfg",
- "bitflags",
+ "bitflags 1.3.2",
  "cfg-if 1.0.0",
  "libc",
  "memoffset 0.6.5",
@@ -3572,7 +3638,7 @@ version = "0.26.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "bfdda3d196821d6af13126e40375cdf7da646a96114af134d5f417a9a1dc8e1a"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
  "cfg-if 1.0.0",
  "libc",
  "static_assertions",
@@ -3628,6 +3694,23 @@ dependencies = [
 ]
 
 [[package]]
+name = "num-bigint-dig"
+version = "0.8.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dc84195820f291c7697304f3cbdadd1cb7199c0efc917ff5eafd71225c136151"
+dependencies = [
+ "byteorder",
+ "lazy_static",
+ "libm",
+ "num-integer",
+ "num-iter",
+ "num-traits",
+ "rand",
+ "smallvec",
+ "zeroize",
+]
+
+[[package]]
 name = "num-integer"
 version = "0.1.45"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3638,6 +3721,17 @@ dependencies = [
 ]
 
 [[package]]
+name = "num-iter"
+version = "0.1.43"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7d03e6c028c5dc5cac6e2dec0efda81fc887605bb3d884578bb6d6bf7514e252"
+dependencies = [
+ "autocfg",
+ "num-integer",
+ "num-traits",
+]
+
+[[package]]
 name = "num-traits"
 version = "0.2.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3689,7 +3783,7 @@ checksum = "03b4680b86d9cfafba8fc491dc9b6df26b68cf40e9e6cd73909194759a63c385"
 dependencies = [
  "crc32fast",
  "hashbrown 0.13.2",
- "indexmap",
+ "indexmap 1.9.3",
  "memchr",
 ]
 
@@ -3720,7 +3814,7 @@ version = "0.10.54"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "69b3f656a17a6cbc115b5c7a40c616947d213ba182135b014d6051b73ab6f019"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
  "cfg-if 1.0.0",
  "foreign-types",
  "libc",
@@ -3830,7 +3924,7 @@ dependencies = [
  "fnv",
  "futures-channel",
  "futures-util",
- "indexmap",
+ "indexmap 1.9.3",
  "once_cell",
  "pin-project-lite",
  "thiserror",
@@ -3987,6 +4081,15 @@ dependencies = [
 ]
 
 [[package]]
+name = "pem-rfc7468"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412"
+dependencies = [
+ "base64ct",
+]
+
+[[package]]
 name = "percent-encoding"
 version = "2.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4043,7 +4146,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "4dd7d28ee937e54fe3080c91faa1c3a46c06de6252988a7f4592ba2310ef22a4"
 dependencies = [
  "fixedbitset",
- "indexmap",
+ "indexmap 1.9.3",
 ]
 
 [[package]]
@@ -4088,6 +4191,27 @@ dependencies = [
 ]
 
 [[package]]
+name = "pkcs1"
+version = "0.7.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c8ffb9f10fa047879315e6625af03c164b16962a5368d724ed16323b68ace47f"
+dependencies = [
+ "der",
+ "pkcs8",
+ "spki",
+]
+
+[[package]]
+name = "pkcs8"
+version = "0.10.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7"
+dependencies = [
+ "der",
+ "spki",
+]
+
+[[package]]
 name = "pkg-config"
 version = "0.3.27"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4210,7 +4334,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "4e35c06b98bf36aba164cc17cb25f7e232f5c4aeea73baa14b8a9f0d92dbfa65"
 dependencies = [
  "bit-set",
- "bitflags",
+ "bitflags 1.3.2",
  "byteorder",
  "lazy_static",
  "num-traits",
@@ -4292,7 +4416,7 @@ version = "0.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ffade02495f22453cd593159ea2f59827aae7f53fa8323f756799b670881dcf8"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
  "memchr",
  "unicase",
 ]
@@ -4409,7 +4533,7 @@ version = "0.2.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
 ]
 
 [[package]]
@@ -4418,7 +4542,7 @@ version = "0.3.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
 ]
 
 [[package]]
@@ -4611,7 +4735,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "fd29fa1f740be6dc91982013957e08c3c4232d7efcfe19e12da87d50bad47758"
 dependencies = [
  "ahash 0.8.3",
- "bitflags",
+ "bitflags 1.3.2",
  "instant",
  "num-traits",
  "rhai_codegen",
@@ -4668,6 +4792,28 @@ dependencies = [
 ]
 
 [[package]]
+name = "rsa"
+version = "0.9.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6ab43bb47d23c1a631b4b680199a45255dce26fa9ab2fa902581f624ff13e6a8"
+dependencies = [
+ "byteorder",
+ "const-oid",
+ "digest 0.10.7",
+ "num-bigint-dig",
+ "num-integer",
+ "num-iter",
+ "num-traits",
+ "pkcs1",
+ "pkcs8",
+ "rand_core",
+ "signature",
+ "spki",
+ "subtle",
+ "zeroize",
+]
+
+[[package]]
 name = "rust-embed"
 version = "6.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4757,7 +4903,7 @@ version = "0.36.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "14e4d67015953998ad0eb82887a0eb0129e18a7e2f3b7b0f6c422fddcd503d62"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
  "errno",
  "io-lifetimes",
  "libc",
@@ -4771,7 +4917,7 @@ version = "0.37.20"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "b96e891d04aa506a6d1f318d2771bcb1c7dfda84e126660ace067c9b474bb2c0"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
  "errno",
  "io-lifetimes",
  "itoa",
@@ -4801,7 +4947,7 @@ checksum = "e32ca28af694bc1bbf399c33a516dbdf1c90090b8ab23c2bc24f834aa2247f5f"
 dependencies = [
  "log",
  "ring",
- "rustls-webpki",
+ "rustls-webpki 0.100.1",
  "sct",
 ]
 
@@ -4837,13 +4983,23 @@ dependencies = [
 ]
 
 [[package]]
+name = "rustls-webpki"
+version = "0.101.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "513722fd73ad80a71f72b61009ea1b584bcfa1483ca93949c8f290298837fa59"
+dependencies = [
+ "ring",
+ "untrusted",
+]
+
+[[package]]
 name = "rustrict"
 version = "0.7.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "991ae78d5c4b604c9a419490fdee1c6adfaee3e40ecb97217e02508a91f9550e"
 dependencies = [
  "arrayvec 0.7.4",
- "bitflags",
+ "bitflags 1.3.2",
  "doc-comment",
  "finl_unicode",
  "itertools",
@@ -4927,7 +5083,7 @@ version = "2.9.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "1fc758eb7bffce5b308734e9b0c1468893cae9ff70ebf13e7090be8dcbcc83a8"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
  "core-foundation",
  "core-foundation-sys",
  "libc",
@@ -5003,7 +5159,7 @@ version = "1.0.97"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "bdf3bf93142acad5821c99197022e170842cdbc1c30482b98750c688c640842a"
 dependencies = [
- "indexmap",
+ "indexmap 1.9.3",
  "itoa",
  "ryu",
  "serde",
@@ -5069,7 +5225,7 @@ dependencies = [
  "base64 0.13.1",
  "chrono",
  "hex",
- "indexmap",
+ "indexmap 1.9.3",
  "serde",
  "serde_json",
  "time",
@@ -5165,7 +5321,7 @@ dependencies = [
 
 [[package]]
 name = "shuttle-admin"
-version = "0.21.0"
+version = "0.22.0"
 dependencies = [
  "anyhow",
  "clap",
@@ -5182,7 +5338,7 @@ dependencies = [
 
 [[package]]
 name = "shuttle-auth"
-version = "0.21.0"
+version = "0.22.0"
 dependencies = [
  "anyhow",
  "async-trait",
@@ -5211,7 +5367,7 @@ dependencies = [
 
 [[package]]
 name = "shuttle-codegen"
-version = "0.21.0"
+version = "0.22.0"
 dependencies = [
  "pretty_assertions",
  "proc-macro-error",
@@ -5223,7 +5379,7 @@ dependencies = [
 
 [[package]]
 name = "shuttle-common"
-version = "0.21.0"
+version = "0.22.0"
 dependencies = [
  "anyhow",
  "async-trait",
@@ -5271,8 +5427,17 @@ dependencies = [
 ]
 
 [[package]]
+name = "shuttle-common-tests"
+version = "0.22.0"
+dependencies = [
+ "hyper",
+ "shuttle-common",
+ "tower",
+]
+
+[[package]]
 name = "shuttle-deployer"
-version = "0.21.0"
+version = "0.22.0"
 dependencies = [
  "anyhow",
  "async-trait",
@@ -5322,7 +5487,7 @@ dependencies = [
 
 [[package]]
 name = "shuttle-gateway"
-version = "0.21.0"
+version = "0.22.0"
 dependencies = [
  "anyhow",
  "async-trait",
@@ -5379,7 +5544,7 @@ dependencies = [
 
 [[package]]
 name = "shuttle-proto"
-version = "0.21.0"
+version = "0.22.0"
 dependencies = [
  "anyhow",
  "chrono",
@@ -5396,7 +5561,7 @@ dependencies = [
 
 [[package]]
 name = "shuttle-provisioner"
-version = "0.21.0"
+version = "0.22.0"
 dependencies = [
  "aws-config",
  "aws-sdk-rds",
@@ -5421,8 +5586,32 @@ dependencies = [
 ]
 
 [[package]]
+name = "shuttle-resource-recorder"
+version = "0.22.0"
+dependencies = [
+ "async-trait",
+ "chrono",
+ "clap",
+ "portpicker",
+ "pretty_assertions",
+ "prost-types",
+ "serde_json",
+ "shuttle-common",
+ "shuttle-common-tests",
+ "shuttle-proto",
+ "sqlx",
+ "strum",
+ "thiserror",
+ "tokio",
+ "tonic",
+ "tracing",
+ "tracing-subscriber",
+ "ulid",
+]
+
+[[package]]
 name = "shuttle-runtime"
-version = "0.21.0"
+version = "0.22.0"
 dependencies = [
  "anyhow",
  "async-trait",
@@ -5455,7 +5644,7 @@ dependencies = [
 
 [[package]]
 name = "shuttle-service"
-version = "0.21.0"
+version = "0.22.0"
 dependencies = [
  "anyhow",
  "async-trait",
@@ -5502,6 +5691,16 @@ dependencies = [
 ]
 
 [[package]]
+name = "signature"
+version = "2.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5e1788eed21689f9cf370582dfc467ef36ed9c707f073528ddafa8d83e3b8500"
+dependencies = [
+ "digest 0.10.7",
+ "rand_core",
+]
+
+[[package]]
 name = "simple_asn1"
 version = "0.6.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -5591,6 +5790,16 @@ dependencies = [
 ]
 
 [[package]]
+name = "spki"
+version = "0.7.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9d1e996ef02c474957d681f1b05213dfb0abab947b446a62d37770b23500184a"
+dependencies = [
+ "base64ct",
+ "der",
+]
+
+[[package]]
 name = "sqlformat"
 version = "0.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -5603,101 +5812,208 @@ dependencies = [
 
 [[package]]
 name = "sqlx"
-version = "0.6.3"
+version = "0.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f8de3b03a925878ed54a954f621e64bf55a3c1bd29652d0d1a17830405350188"
+checksum = "8e58421b6bc416714d5115a2ca953718f6c621a51b68e4f4922aea5a4391a721"
 dependencies = [
  "sqlx-core",
  "sqlx-macros",
+ "sqlx-mysql",
+ "sqlx-postgres",
+ "sqlx-sqlite",
 ]
 
 [[package]]
 name = "sqlx-core"
-version = "0.6.3"
+version = "0.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fa8241483a83a3f33aa5fff7e7d9def398ff9990b2752b6c6112b83c6d246029"
+checksum = "dd4cef4251aabbae751a3710927945901ee1d97ee96d757f6880ebb9a79bfd53"
 dependencies = [
- "ahash 0.7.6",
+ "ahash 0.8.3",
  "atoi",
- "base64 0.13.1",
- "bitflags",
  "byteorder",
  "bytes",
  "chrono",
  "crc",
  "crossbeam-queue",
- "dirs 4.0.0",
  "dotenvy",
  "either",
  "event-listener",
- "flume",
  "futures-channel",
  "futures-core",
- "futures-executor",
  "futures-intrusive",
+ "futures-io",
  "futures-util",
  "hashlink",
  "hex",
- "hkdf",
- "hmac 0.12.1",
- "indexmap",
- "itoa",
- "libc",
- "libsqlite3-sys",
+ "indexmap 2.0.0",
  "log",
- "md-5",
  "memchr",
  "once_cell",
  "paste",
  "percent-encoding",
- "rand",
- "rustls 0.20.8",
+ "rustls 0.21.2",
  "rustls-pemfile",
  "serde",
  "serde_json",
- "sha1",
  "sha2 0.10.7",
  "smallvec",
  "sqlformat",
- "sqlx-rt",
- "stringprep",
  "thiserror",
+ "tokio",
  "tokio-stream",
+ "tracing",
  "url",
  "uuid",
- "webpki-roots 0.22.6",
- "whoami",
+ "webpki-roots 0.24.0",
 ]
 
 [[package]]
 name = "sqlx-macros"
-version = "0.6.3"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "208e3165167afd7f3881b16c1ef3f2af69fa75980897aac8874a0696516d12c2"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "sqlx-core",
+ "sqlx-macros-core",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "sqlx-macros-core"
+version = "0.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9966e64ae989e7e575b19d7265cb79d7fc3cbbdf179835cb0d716f294c2049c9"
+checksum = "8a4a8336d278c62231d87f24e8a7a74898156e34c1c18942857be2acb29c7dfc"
 dependencies = [
  "dotenvy",
  "either",
  "heck",
+ "hex",
  "once_cell",
  "proc-macro2",
  "quote",
+ "serde",
  "serde_json",
  "sha2 0.10.7",
  "sqlx-core",
- "sqlx-rt",
+ "sqlx-mysql",
+ "sqlx-postgres",
+ "sqlx-sqlite",
  "syn 1.0.109",
+ "tempfile",
+ "tokio",
  "url",
 ]
 
 [[package]]
-name = "sqlx-rt"
-version = "0.6.3"
+name = "sqlx-mysql"
+version = "0.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "804d3f245f894e61b1e6263c84b23ca675d96753b5abfd5cc8597d86806e8024"
+checksum = "8ca69bf415b93b60b80dc8fda3cb4ef52b2336614d8da2de5456cc942a110482"
 dependencies = [
+ "atoi",
+ "base64 0.21.2",
+ "bitflags 2.3.3",
+ "byteorder",
+ "bytes",
+ "chrono",
+ "crc",
+ "digest 0.10.7",
+ "dotenvy",
+ "either",
+ "futures-channel",
+ "futures-core",
+ "futures-io",
+ "futures-util",
+ "generic-array",
+ "hex",
+ "hkdf",
+ "hmac 0.12.1",
+ "itoa",
+ "log",
+ "md-5",
+ "memchr",
  "once_cell",
- "tokio",
- "tokio-rustls 0.23.4",
+ "percent-encoding",
+ "rand",
+ "rsa",
+ "serde",
+ "sha1",
+ "sha2 0.10.7",
+ "smallvec",
+ "sqlx-core",
+ "stringprep",
+ "thiserror",
+ "tracing",
+ "uuid",
+ "whoami",
+]
+
+[[package]]
+name = "sqlx-postgres"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a0db2df1b8731c3651e204629dd55e52adbae0462fa1bdcbed56a2302c18181e"
+dependencies = [
+ "atoi",
+ "base64 0.21.2",
+ "bitflags 2.3.3",
+ "byteorder",
+ "chrono",
+ "crc",
+ "dotenvy",
+ "etcetera",
+ "futures-channel",
+ "futures-core",
+ "futures-io",
+ "futures-util",
+ "hex",
+ "hkdf",
+ "hmac 0.12.1",
+ "home",
+ "itoa",
+ "log",
+ "md-5",
+ "memchr",
+ "once_cell",
+ "rand",
+ "serde",
+ "serde_json",
+ "sha1",
+ "sha2 0.10.7",
+ "smallvec",
+ "sqlx-core",
+ "stringprep",
+ "thiserror",
+ "tracing",
+ "uuid",
+ "whoami",
+]
+
+[[package]]
+name = "sqlx-sqlite"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "be4c21bf34c7cae5b283efb3ac1bcc7670df7561124dc2f8bdc0b59be40f79a2"
+dependencies = [
+ "atoi",
+ "chrono",
+ "flume",
+ "futures-channel",
+ "futures-core",
+ "futures-executor",
+ "futures-intrusive",
+ "futures-util",
+ "libsqlite3-sys",
+ "log",
+ "percent-encoding",
+ "serde",
+ "sqlx-core",
+ "tracing",
+ "url",
+ "uuid",
 ]
 
 [[package]]
@@ -5808,7 +6124,7 @@ version = "0.25.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "928ebd55ab758962e230f51ca63735c5b283f26292297c81404289cda5d78631"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
  "cap-fs-ext",
  "cap-std",
  "fd-lock",
@@ -6174,7 +6490,7 @@ version = "0.16.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "dd30deba9a1cd7153c22aecf93e86df639e7b81c622b0af8d9255e989991a7b7"
 dependencies = [
- "indexmap",
+ "indexmap 1.9.3",
  "itertools",
  "nom8",
  "toml_datetime 0.5.1",
@@ -6186,7 +6502,7 @@ version = "0.19.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "2380d56e8670370eee6566b0bfd4265f65b3f432e8c6d85623f728d4fa31f739"
 dependencies = [
- "indexmap",
+ "indexmap 1.9.3",
  "serde",
  "serde_spanned",
  "toml_datetime 0.6.2",
@@ -6246,7 +6562,7 @@ checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c"
 dependencies = [
  "futures-core",
  "futures-util",
- "indexmap",
+ "indexmap 1.9.3",
  "pin-project",
  "pin-project-lite",
  "rand",
@@ -6264,7 +6580,7 @@ version = "0.2.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "aba3f3efabf7fb41fae8534fc20a817013dd1c12cb45441efb6c82e6556b4cd8"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
  "bytes",
  "futures-core",
  "futures-util",
@@ -6282,7 +6598,7 @@ version = "0.3.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "f873044bf02dd1e8239e9c1293ea39dad76dc594ec16185d0a1bf31d8dc8d858"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
  "bytes",
  "futures-core",
  "futures-util",
@@ -6301,7 +6617,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "5d1d42a9b3f3ec46ba828e8d376aec14592ea199f70a06a548587ecd1c4ab658"
 dependencies = [
  "base64 0.20.0",
- "bitflags",
+ "bitflags 1.3.2",
  "bytes",
  "futures-core",
  "futures-util",
@@ -6576,6 +6892,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9e79c4d996edb816c91e4308506774452e55e95c3c9de07b6729e17e15a5ef81"
 
 [[package]]
+name = "ulid"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "13a3aaa69b04e5b66cc27309710a569ea23593612387d67daaf102e73aa974fd"
+dependencies = [
+ "rand",
+]
+
+[[package]]
 name = "unarray"
 version = "0.1.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -6691,7 +7016,7 @@ version = "3.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "68ae74ef183fae36d650f063ae7bde1cacbe1cd7e72b617cbe1e985551878b98"
 dependencies = [
- "indexmap",
+ "indexmap 1.9.3",
  "serde",
  "serde_json",
  "utoipa-gen",
@@ -6825,7 +7150,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "474a216b3461220699d5e192ceac8fbc5b489af020760803b5a9d1e030dc8b0f"
 dependencies = [
  "anyhow",
- "bitflags",
+ "bitflags 1.3.2",
  "cap-rand",
  "cap-std",
  "io-extras",
@@ -6934,7 +7259,7 @@ version = "0.100.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "64b20236ab624147dfbb62cf12a19aaf66af0e41b8398838b66e997d07d269d4"
 dependencies = [
- "indexmap",
+ "indexmap 1.9.3",
  "url",
 ]
 
@@ -6948,7 +7273,7 @@ dependencies = [
  "async-trait",
  "bincode",
  "cfg-if 1.0.0",
- "indexmap",
+ "indexmap 1.9.3",
  "libc",
  "log",
  "object",
@@ -7050,7 +7375,7 @@ dependencies = [
  "anyhow",
  "cranelift-entity",
  "gimli",
- "indexmap",
+ "indexmap 1.9.3",
  "log",
  "object",
  "serde",
@@ -7129,7 +7454,7 @@ dependencies = [
  "anyhow",
  "cc",
  "cfg-if 1.0.0",
- "indexmap",
+ "indexmap 1.9.3",
  "libc",
  "log",
  "mach",
@@ -7264,7 +7589,16 @@ version = "0.23.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "b03058f88386e5ff5310d9111d53f48b17d732b401aeb83a8d5190f2ac459338"
 dependencies = [
- "rustls-webpki",
+ "rustls-webpki 0.100.1",
+]
+
+[[package]]
+name = "webpki-roots"
+version = "0.24.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b291546d5d9d1eab74f069c77749f2cb8504a12caa20f0f2de93ddbf6f411888"
+dependencies = [
+ "rustls-webpki 0.101.2",
 ]
 
 [[package]]
@@ -7283,10 +7617,6 @@ name = "whoami"
 version = "1.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "2c70234412ca409cc04e864e89523cb0fc37f5e1344ebed5a3ebf4192b6b9f68"
-dependencies = [
- "wasm-bindgen",
- "web-sys",
-]
 
 [[package]]
 name = "widestring"
@@ -7302,7 +7632,7 @@ checksum = "6627da83e9cdf851594a1dcf047573e700ecaa7ce79b70e02f3df5e5d24d0096"
 dependencies = [
  "anyhow",
  "async-trait",
- "bitflags",
+ "bitflags 1.3.2",
  "thiserror",
  "tracing",
  "wasmtime",
@@ -7572,7 +7902,7 @@ version = "0.35.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "1c52a121f0fbf9320d5f2a9a5d82f6cb7557eda5e8b47fc3e7f359ec866ae960"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
  "io-lifetimes",
  "windows-sys 0.48.0",
 ]
@@ -7585,7 +7915,7 @@ checksum = "f887c3da527a51b321076ebe6a7513026a4757b6d4d144259946552d6fc728b3"
 dependencies = [
  "anyhow",
  "id-arena",
- "indexmap",
+ "indexmap 1.9.3",
  "log",
  "pulldown-cmark",
  "unicode-xid",
diff --git a/pkgs/development/tools/rust/cargo-shuttle/default.nix b/pkgs/development/tools/rust/cargo-shuttle/default.nix
index 8c73a286e8e5a..fb5061349ae8c 100644
--- a/pkgs/development/tools/rust/cargo-shuttle/default.nix
+++ b/pkgs/development/tools/rust/cargo-shuttle/default.nix
@@ -10,13 +10,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-shuttle";
-  version = "0.21.0";
+  version = "0.22.0";
 
   src = fetchFromGitHub {
     owner = "shuttle-hq";
     repo = "shuttle";
     rev = "v${version}";
-    hash = "sha256-tmFj1hqsAWeWOCmw1rELveK57uxMtCEkZygRjGm54IY=";
+    hash = "sha256-mHmeNKr9Q/wIHO2G8xVOJTSr5myIzhXWl6R+SLEbDN8=";
   };
 
   cargoLock = {
diff --git a/pkgs/development/tools/rust/cargo-zigbuild/default.nix b/pkgs/development/tools/rust/cargo-zigbuild/default.nix
index 70639540ffea3..fbec63f6c8efc 100644
--- a/pkgs/development/tools/rust/cargo-zigbuild/default.nix
+++ b/pkgs/development/tools/rust/cargo-zigbuild/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-zigbuild";
-  version = "0.16.12";
+  version = "0.17.0";
 
   src = fetchFromGitHub {
     owner = "messense";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-qrttPpbmh8yL80naXeOosBDjxKjWRxmsVHJLRzLOehQ=";
+    hash = "sha256-Zezrn1whQ62TnAFUZFyxORvRl4BFFeK/MEa29kaFj28=";
   };
 
-  cargoSha256 = "sha256-6bGRV1qYF+VWJjA5qS6PYx/4iLvsIDABxkN2N3AYXAU=";
+  cargoHash = "sha256-921ULk061l7HHg6hLMany61N2SbMRw4wMaDvUbSGEq8=";
 
   nativeBuildInputs = [ makeWrapper ];
 
diff --git a/pkgs/development/tools/rust/probe-run/default.nix b/pkgs/development/tools/rust/probe-run/default.nix
index f69ebb750db53..0a1fa745dc355 100644
--- a/pkgs/development/tools/rust/probe-run/default.nix
+++ b/pkgs/development/tools/rust/probe-run/default.nix
@@ -12,14 +12,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "probe-run";
-  version = "0.3.9";
+  version = "0.3.10";
 
   src = fetchCrate {
     inherit pname version;
-    hash = "sha256-VNFLX+aPkanX573YpRok2JUWf74O7gtlgmuHkI30y2g=";
+    hash = "sha256-PIUL7aUIHyHuetkMbJsZ3x1coyzKGwI/AJE/R6uFBM4=";
   };
 
-  cargoHash = "sha256-cjr7lNwzqcIfjXn1CVHKgeRZlsJ0QG+0x9h6q5e3D0o=";
+  cargoHash = "sha256-7q5M3huI7Qje5E3Rl2i/9I4g90R8vhJD9Hk78biewBE=";
 
   nativeBuildInputs = [
     pkg-config
diff --git a/pkgs/development/tools/rust/rustycli/default.nix b/pkgs/development/tools/rust/rustycli/default.nix
new file mode 100644
index 0000000000000..451ae2f956116
--- /dev/null
+++ b/pkgs/development/tools/rust/rustycli/default.nix
@@ -0,0 +1,33 @@
+{ lib
+, rustPlatform
+, fetchCrate
+, stdenv
+, darwin
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "rustycli";
+  version = "0.1.1";
+
+  src = fetchCrate {
+    inherit pname version;
+    hash = "sha256-4Txw6Cmwwgu7K8VIVoX9GR76VUqAEw6uYptmczbjqg0=";
+  };
+
+  cargoHash = "sha256-WU3lgGJH6qVDI1Un3HBqg0edqiP5sobTsAIXdnjeNTU=";
+
+  buildInputs = lib.optionals stdenv.isDarwin [
+    darwin.apple_sdk.frameworks.Security
+  ];
+
+  # some examples fail to compile
+  cargoTestFlags = [ "--tests" ];
+
+  meta = with lib; {
+    description = "Access the rust playground right in terminal";
+    homepage = "https://github.com/pwnwriter/rustycli";
+    changelog = "https://github.com/pwnwriter/rustycli/releases/tag/v${version}";
+    license = licenses.mit;
+    maintainers = with maintainers; [ figsoda ];
+  };
+}
diff --git a/pkgs/development/tools/rust/specr-transpile/default.nix b/pkgs/development/tools/rust/specr-transpile/default.nix
new file mode 100644
index 0000000000000..01068b3ab6b68
--- /dev/null
+++ b/pkgs/development/tools/rust/specr-transpile/default.nix
@@ -0,0 +1,23 @@
+{ lib
+, rustPlatform
+, fetchCrate
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "specr-transpile";
+  version = "0.1.20";
+
+  src = fetchCrate {
+    inherit pname version;
+    hash = "sha256-HXqUp80vPFwG0B+f/Zfem0gOHF/igmtxTvS1c8amLmo=";
+  };
+
+  cargoHash = "sha256-UCIXuVwMDCJkHQJtmRUw6EiGDYCF5DeUVxBrQM4lgxg=";
+
+  meta = with lib; {
+    description = "Converts Specr lang code to Rust";
+    homepage = "https://github.com/RalfJung/minirust-tooling";
+    license = with licenses; [ asl20 mit ];
+    maintainers = with maintainers; [ figsoda ];
+  };
+}
diff --git a/pkgs/development/tools/selenium/chromedriver/default.nix b/pkgs/development/tools/selenium/chromedriver/default.nix
index d8201fabb2f6f..f17208fbfbdd1 100644
--- a/pkgs/development/tools/selenium/chromedriver/default.nix
+++ b/pkgs/development/tools/selenium/chromedriver/default.nix
@@ -6,7 +6,7 @@
 }:
 
 let
-  upstream-info = (lib.importJSON ../../../../applications/networking/browsers/chromium/upstream-info.json).stable.chromedriver;
+  upstream-info = (import ../../../../applications/networking/browsers/chromium/upstream-info.nix).stable.chromedriver;
   allSpecs = {
     x86_64-linux = {
       system = "linux64";
@@ -73,5 +73,6 @@ in stdenv.mkDerivation rec {
     # Note from primeos: By updating Chromium I also update Google Chrome and
     # ChromeDriver.
     platforms = attrNames allSpecs;
+    mainProgram = "chromedriver";
   };
 }
diff --git a/pkgs/development/tools/supabase-cli/default.nix b/pkgs/development/tools/supabase-cli/default.nix
index ce7bc9b81a41d..58eb966001079 100644
--- a/pkgs/development/tools/supabase-cli/default.nix
+++ b/pkgs/development/tools/supabase-cli/default.nix
@@ -9,16 +9,16 @@
 
 buildGoModule rec {
   pname = "supabase-cli";
-  version = "1.79.0";
+  version = "1.82.4";
 
   src = fetchFromGitHub {
     owner = "supabase";
     repo = "cli";
     rev = "v${version}";
-    sha256 = "sha256-Nw5dzWrufGqIFbonRbjWJWeaOMlq+1Fa5jY+DnE/big=";
+    sha256 = "sha256-lxdIwLhyFDKh3Gb2hkbZcamDEf4DdGEWkaizkGod0Eo=";
   };
 
-  vendorSha256 = "sha256-PcuZx1xg/VyH/cBCUoM6NVph2/HI+k+GHfK5ZLhMRcQ=";
+  vendorSha256 = "sha256-/jYZp0bZUIHUn2Tmbgrpvz3mTQt3rF14wbcvWhEUAzw=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/development/tools/typos/default.nix b/pkgs/development/tools/typos/default.nix
index 9ab8a36b742d6..79c8205c3bfcd 100644
--- a/pkgs/development/tools/typos/default.nix
+++ b/pkgs/development/tools/typos/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "typos";
-  version = "1.16.1";
+  version = "1.16.2";
 
   src = fetchFromGitHub {
     owner = "crate-ci";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-Hs/fvsQCp3QrkqjYYE5oLYfhuJyvyMKXa/EGDmFL254=";
+    hash = "sha256-1s9wN72QnlvtcB8W26Mw4uC8c6/txUfv6QBpqcWzYZQ=";
   };
 
-  cargoHash = "sha256-SgZK8U1j5dNhjueFriVL3Zb4YrnznaqOoEfDZjAKCmE=";
+  cargoHash = "sha256-0bzW34QuD0OJLXDzrVRPzVTyCZHWiQZh6MUP5Wix+Tg=";
 
   meta = with lib; {
     description = "Source code spell checker";
diff --git a/pkgs/development/web/bun/default.nix b/pkgs/development/web/bun/default.nix
index 86d5e3e9961e9..6eacf78e56ab0 100644
--- a/pkgs/development/web/bun/default.nix
+++ b/pkgs/development/web/bun/default.nix
@@ -11,7 +11,7 @@
 }:
 
 stdenvNoCC.mkDerivation rec {
-  version = "0.7.0";
+  version = "0.7.1";
   pname = "bun";
 
   src = passthru.sources.${stdenvNoCC.hostPlatform.system} or (throw "Unsupported system: ${stdenvNoCC.hostPlatform.system}");
@@ -32,19 +32,19 @@ stdenvNoCC.mkDerivation rec {
     sources = {
       "aarch64-darwin" = fetchurl {
         url = "https://github.com/oven-sh/bun/releases/download/bun-v${version}/bun-darwin-aarch64.zip";
-        hash = "sha256-5PcDK1rSHu9WucCuxBclnEzB9DkbQNwzYnq0Moto9aw=";
+        hash = "sha256-5AC1jd2rTVZ+Rfn7B1uvps9NVVAByMlo0mjhM8Wc6jI=";
       };
       "aarch64-linux" = fetchurl {
         url = "https://github.com/oven-sh/bun/releases/download/bun-v${version}/bun-linux-aarch64.zip";
-        hash = "sha256-9Kwqa3V/LMjuZSS00uPNkHAnWvBo/33kgzmwa903T80=";
+        hash = "sha256-DM1HVlbqPCOkT05IAVciP1c5g7PIZPmjHmlbWD8DmoU=";
       };
       "x86_64-darwin" = fetchurl {
         url = "https://github.com/oven-sh/bun/releases/download/bun-v${version}/bun-darwin-x64.zip";
-        hash = "sha256-aH5ldcHKk3VzJ13qoHt9qt/TYZvg35jZG8NQ3GGnE9I=";
+        hash = "sha256-UjInXqkdfigrmIJycee4Nxjv+LhYGLjP+Z/B8WnAfmI=";
       };
       "x86_64-linux" = fetchurl {
         url = "https://github.com/oven-sh/bun/releases/download/bun-v${version}/bun-linux-x64.zip";
-        hash = "sha256-cczuQoE6LV9NPaHx14Z6va4QsXb3cUYL799SGzKTIYA=";
+        hash = "sha256-l5lSbJwsPHejcgCXvTDPjvzSP6s/OBgOS44g2xTxfYo=";
       };
     };
     updateScript = writeShellScript "update-bun" ''
diff --git a/pkgs/development/web/cypress/default.nix b/pkgs/development/web/cypress/default.nix
index 1d68d92deaead..4532b77430459 100644
--- a/pkgs/development/web/cypress/default.nix
+++ b/pkgs/development/web/cypress/default.nix
@@ -18,7 +18,7 @@ let
   availableBinaries = {
     x86_64-linux = {
       platform = "linux-x64";
-      checksum = "sha256-wzdtFHsSzXl8TCtTBVAwwsvzUd4DakCAPRVHtwoGLB0=";
+      checksum = "sha256-khMJRCGNIITvs56SHHKxoxptoMBb7lqA3FS293qfMys=";
     };
     aarch64-linux = {
       platform = "linux-arm64";
@@ -30,7 +30,7 @@ let
   inherit (binary) platform checksum;
 in stdenv.mkDerivation rec {
   pname = "cypress";
-  version = "12.17.1";
+  version = "12.17.3";
 
   src = fetchzip {
     url = "https://cdn.cypress.io/desktop/${version}/${platform}/cypress.zip";
diff --git a/pkgs/development/web/edge-runtime/default.nix b/pkgs/development/web/edge-runtime/default.nix
index 644349697c854..b5115aca9fb19 100644
--- a/pkgs/development/web/edge-runtime/default.nix
+++ b/pkgs/development/web/edge-runtime/default.nix
@@ -11,7 +11,7 @@
 
 let
   pname = "edge-runtime";
-  version = "1.6.7";
+  version = "1.8.1";
 in
 rustPlatform.buildRustPackage {
   inherit pname version;
@@ -20,11 +20,11 @@ rustPlatform.buildRustPackage {
     owner = "supabase";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-Jq9UXFgbTDKe1AWyg4fxn62ODqWu0AUqzlUOo+JUYpo=";
+    hash = "sha256-B8XsH2aOvd87nxUGpSpaNnpTIY0tKDWh7RkXoJcBjrs=";
     fetchSubmodules = true;
   };
 
-  cargoHash = "sha256-fOqo9aPgpW6oAEHtZIE7iHjTIRrgDPbdSFBaq4s0r94=";
+  cargoHash = "sha256-I8BC13WUlBdT6OxTD2t0Aw5qYXpUyOa0MYUB8H2XNx8=";
 
   nativeBuildInputs = [ pkg-config rustPlatform.bindgenHook ];
 
diff --git a/pkgs/development/web/mailcatcher/Gemfile.lock b/pkgs/development/web/mailcatcher/Gemfile.lock
index 69cc56a0029aa..b2268cfba6da7 100644
--- a/pkgs/development/web/mailcatcher/Gemfile.lock
+++ b/pkgs/development/web/mailcatcher/Gemfile.lock
@@ -1,35 +1,143 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    daemons (1.3.1)
-    eventmachine (1.0.9.1)
-    mail (2.7.1)
+    addressable (2.8.4)
+      public_suffix (>= 2.0.2, < 6.0)
+    capybara (3.39.2)
+      addressable
+      matrix
+      mini_mime (>= 0.1.3)
+      nokogiri (~> 1.8)
+      rack (>= 1.6.0)
+      rack-test (>= 0.6.3)
+      regexp_parser (>= 1.5, < 3.0)
+      xpath (~> 3.2)
+    capybara-screenshot (1.0.26)
+      capybara (>= 1.0, < 4)
+      launchy
+    chunky_png (1.4.0)
+    coffee-script (2.4.1)
+      coffee-script-source
+      execjs
+    coffee-script-source (1.12.2)
+    compass (1.0.3)
+      chunky_png (~> 1.2)
+      compass-core (~> 1.0.2)
+      compass-import-once (~> 1.0.5)
+      rb-fsevent (>= 0.9.3)
+      rb-inotify (>= 0.9)
+      sass (>= 3.3.13, < 3.5)
+    compass-core (1.0.3)
+      multi_json (~> 1.0)
+      sass (>= 3.3.0, < 3.5)
+    compass-import-once (1.0.5)
+      sass (>= 3.2, < 3.5)
+    concurrent-ruby (1.2.2)
+    daemons (1.4.1)
+    date (3.3.3)
+    diff-lcs (1.5.0)
+    eventmachine (1.2.7)
+    execjs (2.8.1)
+    faye-websocket (0.11.3)
+      eventmachine (>= 0.12.0)
+      websocket-driver (>= 0.5.1)
+    ffi (1.15.5)
+    launchy (2.5.2)
+      addressable (~> 2.8)
+    mail (2.8.1)
       mini_mime (>= 0.1.1)
-    mailcatcher (0.7.1)
-      eventmachine (= 1.0.9.1)
+      net-imap
+      net-pop
+      net-smtp
+    mailcatcher (0.9.0)
+      eventmachine (= 1.2.7)
+      faye-websocket (~> 0.11.1)
       mail (~> 2.3)
+      net-smtp
       rack (~> 1.5)
       sinatra (~> 1.2)
-      skinny (~> 0.2.3)
       sqlite3 (~> 1.3)
-      thin (~> 1.5.0)
-    mini_mime (1.0.1)
-    rack (1.6.11)
+      thin (~> 1.8)
+    matrix (0.4.2)
+    mini_mime (1.1.2)
+    mini_portile2 (2.8.4)
+    multi_json (1.15.0)
+    net-imap (0.3.7)
+      date
+      net-protocol
+    net-pop (0.1.2)
+      net-protocol
+    net-protocol (0.2.1)
+      timeout
+    net-smtp (0.3.3)
+      net-protocol
+    nokogiri (1.15.3)
+      mini_portile2 (~> 2.8.2)
+      racc (~> 1.4)
+    psych (5.1.0)
+      stringio
+    public_suffix (5.0.3)
+    racc (1.7.1)
+    rack (1.6.13)
     rack-protection (1.5.5)
       rack
+    rack-test (2.1.0)
+      rack (>= 1.3)
+    rake (13.0.6)
+    rb-fsevent (0.11.2)
+    rb-inotify (0.10.1)
+      ffi (~> 1.0)
+    rdoc (6.5.0)
+      psych (>= 4.0.0)
+    regexp_parser (2.8.1)
+    rexml (3.2.6)
+    rspec (3.12.0)
+      rspec-core (~> 3.12.0)
+      rspec-expectations (~> 3.12.0)
+      rspec-mocks (~> 3.12.0)
+    rspec-core (3.12.2)
+      rspec-support (~> 3.12.0)
+    rspec-expectations (3.12.3)
+      diff-lcs (>= 1.2.0, < 2.0)
+      rspec-support (~> 3.12.0)
+    rspec-mocks (3.12.6)
+      diff-lcs (>= 1.2.0, < 2.0)
+      rspec-support (~> 3.12.0)
+    rspec-support (3.12.1)
+    rubyzip (2.3.2)
+    sass (3.4.25)
+    selenium-webdriver (4.9.0)
+      rexml (~> 3.2, >= 3.2.5)
+      rubyzip (>= 1.2.2, < 3.0)
+      websocket (~> 1.0)
     sinatra (1.4.8)
       rack (~> 1.5)
       rack-protection (~> 1.4)
       tilt (>= 1.3, < 3)
-    skinny (0.2.4)
-      eventmachine (~> 1.0.0)
-      thin (>= 1.5, < 1.7)
-    sqlite3 (1.4.0)
-    thin (1.5.1)
-      daemons (>= 1.0.9)
-      eventmachine (>= 0.12.6)
-      rack (>= 1.0.0)
-    tilt (2.0.9)
+    sprockets (3.7.2)
+      concurrent-ruby (~> 1.0)
+      rack (> 1, < 3)
+    sprockets-helpers (1.4.0)
+      sprockets (>= 2.2)
+    sprockets-sass (2.0.0.beta2)
+      sprockets (>= 2.0, < 4.0)
+    sqlite3 (1.6.3)
+      mini_portile2 (~> 2.8.0)
+    stringio (3.0.7)
+    thin (1.8.2)
+      daemons (~> 1.0, >= 1.0.9)
+      eventmachine (~> 1.0, >= 1.0.4)
+      rack (>= 1, < 3)
+    tilt (2.2.0)
+    timeout (0.4.0)
+    uglifier (4.2.0)
+      execjs (>= 0.3.0, < 3)
+    websocket (1.2.9)
+    websocket-driver (0.7.6)
+      websocket-extensions (>= 0.1.0)
+    websocket-extensions (0.1.5)
+    xpath (3.2.0)
+      nokogiri (~> 1.8)
 
 PLATFORMS
   ruby
diff --git a/pkgs/development/web/mailcatcher/default.nix b/pkgs/development/web/mailcatcher/default.nix
index 8be3c7ebb932b..df6ed0a5233a0 100644
--- a/pkgs/development/web/mailcatcher/default.nix
+++ b/pkgs/development/web/mailcatcher/default.nix
@@ -1,9 +1,10 @@
-{ lib, bundlerApp, bundlerUpdateScript }:
+{ pkgs, lib, bundlerApp, bundlerUpdateScript }:
 
 bundlerApp {
   pname = "mailcatcher";
   gemdir = ./.;
   exes = [ "mailcatcher" "catchmail" ];
+  ruby = pkgs.ruby_3_0;
 
   passthru.updateScript = bundlerUpdateScript "mailcatcher";
 
diff --git a/pkgs/development/web/mailcatcher/gemset.nix b/pkgs/development/web/mailcatcher/gemset.nix
index 96d07e2dfce50..65595451c5cb4 100644
--- a/pkgs/development/web/mailcatcher/gemset.nix
+++ b/pkgs/development/web/mailcatcher/gemset.nix
@@ -1,65 +1,350 @@
 {
+  addressable = {
+    dependencies = ["public_suffix"];
+    groups = ["default" "development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "15s8van7r2ad3dq6i03l3z4hqnvxcq75a3h72kxvf9an53sqma20";
+      type = "gem";
+    };
+    version = "2.8.4";
+  };
+  capybara = {
+    dependencies = ["addressable" "matrix" "mini_mime" "nokogiri" "rack" "rack-test" "regexp_parser" "xpath"];
+    groups = ["development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "114qm5f5vhwaaw9rj1h2lcamh46zl13v1m18jiw68zl961gwmw6n";
+      type = "gem";
+    };
+    version = "3.39.2";
+  };
+  capybara-screenshot = {
+    dependencies = ["capybara" "launchy"];
+    groups = ["development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0xqc7hdiw1ql42mklpfvqd2pyfsxmy55cpx0h9y0jlkpl1q96sw1";
+      type = "gem";
+    };
+    version = "1.0.26";
+  };
+  chunky_png = {
+    groups = ["default" "development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1znw5x86hmm9vfhidwdsijz8m38pqgmv98l9ryilvky0aldv7mc9";
+      type = "gem";
+    };
+    version = "1.4.0";
+  };
+  coffee-script = {
+    dependencies = ["coffee-script-source" "execjs"];
+    groups = ["development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0rc7scyk7mnpfxqv5yy4y5q1hx3i7q3ahplcp4bq2g5r24g2izl2";
+      type = "gem";
+    };
+    version = "2.4.1";
+  };
+  coffee-script-source = {
+    groups = ["default" "development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1907v9q1zcqmmyqzhzych5l7qifgls2rlbnbhy5vzyr7i7yicaz1";
+      type = "gem";
+    };
+    version = "1.12.2";
+  };
+  compass = {
+    dependencies = ["chunky_png" "compass-core" "compass-import-once" "rb-fsevent" "rb-inotify" "sass"];
+    groups = ["development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0lfi83w8z75czr0pf0rmj9hda22082h3cmvczl8r1ma9agf88y2c";
+      type = "gem";
+    };
+    version = "1.0.3";
+  };
+  compass-core = {
+    dependencies = ["multi_json" "sass"];
+    groups = ["default" "development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0yaspqwdmzwdcqviclbs3blq7an16pysrfzylz8q1gxmmd6bpj3a";
+      type = "gem";
+    };
+    version = "1.0.3";
+  };
+  compass-import-once = {
+    dependencies = ["sass"];
+    groups = ["default" "development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0bn7gwbfz7jvvdd0qdfqlx67fcb83gyvxqc7dr9fhcnks3z8z5rq";
+      type = "gem";
+    };
+    version = "1.0.5";
+  };
+  concurrent-ruby = {
+    groups = ["default" "development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0krcwb6mn0iklajwngwsg850nk8k9b35dhmc2qkbdqvmifdi2y9q";
+      type = "gem";
+    };
+    version = "1.2.2";
+  };
   daemons = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0l5gai3vd4g7aqff0k1mp41j9zcsvm2rbwmqn115a325k9r7pf4w";
+      sha256 = "07cszb0zl8mqmwhc8a2yfg36vi6lbgrp4pa5bvmryrpcz9v6viwg";
+      type = "gem";
+    };
+    version = "1.4.1";
+  };
+  date = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "03skfikihpx37rc27vr3hwrb057gxnmdzxhmzd4bf4jpkl0r55w1";
+      type = "gem";
+    };
+    version = "3.3.3";
+  };
+  diff-lcs = {
+    groups = ["default" "development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0rwvjahnp7cpmracd8x732rjgnilqv2sx7d1gfrysslc3h039fa9";
       type = "gem";
     };
-    version = "1.3.1";
+    version = "1.5.0";
   };
   eventmachine = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "17jr1caa3ggg696dd02g2zqzdjqj9x9q2nl7va82l36f7c5v6k4z";
+      sha256 = "0wh9aqb0skz80fhfn66lbpr4f86ya2z5rx6gm5xlfhd05bj1ch4r";
+      type = "gem";
+    };
+    version = "1.2.7";
+  };
+  execjs = {
+    groups = ["default" "development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "121h6af4i6wr3wxvv84y53jcyw2sk71j5wsncm6wq6yqrwcrk4vd";
+      type = "gem";
+    };
+    version = "2.8.1";
+  };
+  faye-websocket = {
+    dependencies = ["eventmachine" "websocket-driver"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "01xkpv5b4fjc5n6n1fq6z1ris991av2fbadvs8r71i9r34b8g48h";
+      type = "gem";
+    };
+    version = "0.11.3";
+  };
+  ffi = {
+    groups = ["default" "development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1862ydmclzy1a0cjbvm8dz7847d9rch495ib0zb64y84d3xd4bkg";
+      type = "gem";
+    };
+    version = "1.15.5";
+  };
+  launchy = {
+    dependencies = ["addressable"];
+    groups = ["default" "development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "06r43899384das2bkbrpsdxsafyyqa94il7111053idfalb4984a";
       type = "gem";
     };
-    version = "1.0.9.1";
+    version = "2.5.2";
   };
   mail = {
-    dependencies = ["mini_mime"];
+    dependencies = ["mini_mime" "net-imap" "net-pop" "net-smtp"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "00wwz6ys0502dpk8xprwcqfwyf3hmnx6lgxaiq6vj43mkx43sapc";
+      sha256 = "1bf9pysw1jfgynv692hhaycfxa8ckay1gjw5hz3madrbrynryfzc";
       type = "gem";
     };
-    version = "2.7.1";
+    version = "2.8.1";
   };
   mailcatcher = {
-    dependencies = ["eventmachine" "mail" "rack" "sinatra" "skinny" "sqlite3" "thin"];
+    dependencies = ["eventmachine" "faye-websocket" "mail" "net-smtp" "rack" "sinatra" "sqlite3" "thin"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "02w1ycyfv7x0sh9799lz7xa65p5qvl5z4pa8a7prb68h2zwkfq0n";
+      sha256 = "003d2a6i97syw67jxrjq0p4xm19p9cfqnbmsg4b1c3mdb5c78rfz";
+      type = "gem";
+    };
+    version = "0.9.0";
+  };
+  matrix = {
+    groups = ["default" "development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1h2cgkpzkh3dd0flnnwfq6f3nl2b1zff9lvqz8xs853ssv5kq23i";
       type = "gem";
     };
-    version = "0.7.1";
+    version = "0.4.2";
   };
   mini_mime = {
+    groups = ["default" "development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0lbim375gw2dk6383qirz13hgdmxlan0vc5da2l072j3qw6fqjm5";
+      type = "gem";
+    };
+    version = "1.1.2";
+  };
+  mini_portile2 = {
+    groups = ["default" "development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "02mj8mpd6ck5gpcnsimx5brzggw5h5mmmpq2djdypfq16wcw82qq";
+      type = "gem";
+    };
+    version = "2.8.4";
+  };
+  multi_json = {
+    groups = ["default" "development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0pb1g1y3dsiahavspyzkdy39j4q377009f6ix0bh1ag4nqw43l0z";
+      type = "gem";
+    };
+    version = "1.15.0";
+  };
+  net-imap = {
+    dependencies = ["date" "net-protocol"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1q4pshq387lzv9m39jv32vwb8wrq3wc4jwgl4jk209r4l33v09d3";
+      sha256 = "0lf7wqg7czhaj51qsnmn28j7jmcxhkh3m28rl1cjrqsgjxhwj7r3";
       type = "gem";
     };
-    version = "1.0.1";
+    version = "0.3.7";
   };
-  rack = {
+  net-pop = {
+    dependencies = ["net-protocol"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1wyz41jd4zpjn0v1xsf9j778qx1vfrl24yc20cpmph8k42c4x2w4";
+      type = "gem";
+    };
+    version = "0.1.2";
+  };
+  net-protocol = {
+    dependencies = ["timeout"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0dxckrlw4q1lcn3qg4mimmjazmg9bma5gllv72f8js3p36fb3b91";
+      type = "gem";
+    };
+    version = "0.2.1";
+  };
+  net-smtp = {
+    dependencies = ["net-protocol"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1g9926ln2lw12lfxm4ylq1h6nl0rafl10za3xvjzc87qvnqic87f";
+      sha256 = "1c6md06hm5bf6rv53sk54dl2vg038pg8kglwv3rayx0vk2mdql9x";
+      type = "gem";
+    };
+    version = "0.3.3";
+  };
+  nokogiri = {
+    dependencies = ["mini_portile2" "racc"];
+    groups = ["default" "development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1jw8a20a9k05fpz3q24im19b97idss3179z76yn5scc5b8lk2rl7";
+      type = "gem";
+    };
+    version = "1.15.3";
+  };
+  psych = {
+    dependencies = ["stringio"];
+    groups = ["default" "development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1msambb54r3d1sg6smyj4k2pj9h9lz8jq4jamip7ivcyv32a85vz";
+      type = "gem";
+    };
+    version = "5.1.0";
+  };
+  public_suffix = {
+    groups = ["default" "development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0n9j7mczl15r3kwqrah09cxj8hxdfawiqxa60kga2bmxl9flfz9k";
+      type = "gem";
+    };
+    version = "5.0.3";
+  };
+  racc = {
+    groups = ["default" "development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "11v3l46mwnlzlc371wr3x6yylpgafgwdf0q7hc7c1lzx6r414r5g";
+      type = "gem";
+    };
+    version = "1.7.1";
+  };
+  rack = {
+    groups = ["default" "development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0wr1f3g9rc9i8svfxa9cijajl1661d817s56b2w7rd572zwn0zi0";
       type = "gem";
     };
-    version = "1.6.11";
+    version = "1.6.13";
   };
   rack-protection = {
     dependencies = ["rack"];
@@ -72,6 +357,164 @@
     };
     version = "1.5.5";
   };
+  rack-test = {
+    dependencies = ["rack"];
+    groups = ["default" "development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1ysx29gk9k14a14zsp5a8czys140wacvp91fja8xcja0j1hzqq8c";
+      type = "gem";
+    };
+    version = "2.1.0";
+  };
+  rake = {
+    groups = ["development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "15whn7p9nrkxangbs9hh75q585yfn66lv0v2mhj6q6dl6x8bzr2w";
+      type = "gem";
+    };
+    version = "13.0.6";
+  };
+  rb-fsevent = {
+    groups = ["default" "development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1zmf31rnpm8553lqwibvv3kkx0v7majm1f341xbxc0bk5sbhp423";
+      type = "gem";
+    };
+    version = "0.11.2";
+  };
+  rb-inotify = {
+    dependencies = ["ffi"];
+    groups = ["default" "development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1jm76h8f8hji38z3ggf4bzi8vps6p7sagxn3ab57qc0xyga64005";
+      type = "gem";
+    };
+    version = "0.10.1";
+  };
+  rdoc = {
+    dependencies = ["psych"];
+    groups = ["development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "05r2cxscapr9saqjw8dlp89as7jvc2mlz1h5kssrmkbz105qmfcm";
+      type = "gem";
+    };
+    version = "6.5.0";
+  };
+  regexp_parser = {
+    groups = ["default" "development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "136br91alxdwh1s85z912dwz23qlhm212vy6i3wkinz3z8mkxxl3";
+      type = "gem";
+    };
+    version = "2.8.1";
+  };
+  rexml = {
+    groups = ["default" "development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "05i8518ay14kjbma550mv0jm8a6di8yp5phzrd8rj44z9qnrlrp0";
+      type = "gem";
+    };
+    version = "3.2.6";
+  };
+  rspec = {
+    dependencies = ["rspec-core" "rspec-expectations" "rspec-mocks"];
+    groups = ["development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "171rc90vcgjl8p1bdrqa92ymrj8a87qf6w20x05xq29mljcigi6c";
+      type = "gem";
+    };
+    version = "3.12.0";
+  };
+  rspec-core = {
+    dependencies = ["rspec-support"];
+    groups = ["default" "development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0l95bnjxdabrn79hwdhn2q1n7mn26pj7y1w5660v5qi81x458nqm";
+      type = "gem";
+    };
+    version = "3.12.2";
+  };
+  rspec-expectations = {
+    dependencies = ["diff-lcs" "rspec-support"];
+    groups = ["default" "development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "05j44jfqlv7j2rpxb5vqzf9hfv7w8ba46wwgxwcwd8p0wzi1hg89";
+      type = "gem";
+    };
+    version = "3.12.3";
+  };
+  rspec-mocks = {
+    dependencies = ["diff-lcs" "rspec-support"];
+    groups = ["default" "development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1gq7gviwpck7fhp4y5ibljljvxgjklza18j62qf6zkm2icaa8lfy";
+      type = "gem";
+    };
+    version = "3.12.6";
+  };
+  rspec-support = {
+    groups = ["default" "development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1ky86j3ksi26ng9ybd7j0qsdf1lpr8mzrmn98yy9gzv801fvhsgr";
+      type = "gem";
+    };
+    version = "3.12.1";
+  };
+  rubyzip = {
+    groups = ["default" "development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0grps9197qyxakbpw02pda59v45lfgbgiyw48i0mq9f2bn9y6mrz";
+      type = "gem";
+    };
+    version = "2.3.2";
+  };
+  sass = {
+    groups = ["development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0kfpcwh8dgw4lc81qglkvjl73689jy3g7196zkxm4fpskg1p5lkw";
+      type = "gem";
+    };
+    version = "3.4.25";
+  };
+  selenium-webdriver = {
+    dependencies = ["rexml" "rubyzip" "websocket"];
+    groups = ["development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1kxnv3ywssagv2q453hasrrrvsv68d5f3ccm33pyacdji88w8pqg";
+      type = "gem";
+    };
+    version = "4.9.0";
+  };
   sinatra = {
     dependencies = ["rack" "rack-protection" "tilt"];
     groups = ["default"];
@@ -83,26 +526,59 @@
     };
     version = "1.4.8";
   };
-  skinny = {
-    dependencies = ["eventmachine" "thin"];
-    groups = ["default"];
+  sprockets = {
+    dependencies = ["concurrent-ruby" "rack"];
+    groups = ["development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "182jw5a0fbqah5w9jancvfmjbk88h8bxdbwnl4d3q809rpxdg8ay";
+      type = "gem";
+    };
+    version = "3.7.2";
+  };
+  sprockets-helpers = {
+    dependencies = ["sprockets"];
+    groups = ["development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0513ma356g05lsskhsb363263177h6ccmp475il0p69y18his2ij";
+      type = "gem";
+    };
+    version = "1.4.0";
+  };
+  sprockets-sass = {
+    dependencies = ["sprockets"];
+    groups = ["development"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1y3yvx88ylgz4d2s1wskjk5rkmrcr15q3ibzp1q88qwzr5y493a9";
+      sha256 = "02g153dhzmrlik5dd9kyq0rvr2xjm3fwx8rm7apqfrykc47aizqr";
       type = "gem";
     };
-    version = "0.2.4";
+    version = "2.0.0.beta2";
   };
   sqlite3 = {
+    dependencies = ["mini_portile2"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0pmgpqx2sg8pms54rk7kjjy8jwsw21g1f7mb02fggbdcqy8jk3fx";
+      sha256 = "0h95kr5529qv786mfk8r2jjdsdi6v7v3k3dpz69mrcc9i0vpdd37";
       type = "gem";
     };
-    version = "1.4.0";
+    version = "1.6.3";
+  };
+  stringio = {
+    groups = ["default" "development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0557v4z7996cgqw7i9197848mymv02krads93dn9lyqa5d7xd0dn";
+      type = "gem";
+    };
+    version = "3.0.7";
   };
   thin = {
     dependencies = ["daemons" "eventmachine" "rack"];
@@ -110,19 +586,82 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0hrq9m3hb6pm8yrqshhg0gafkphdpvwcqmr7k722kgdisp3w91ga";
+      sha256 = "08g1yq6zzvgndj8fd98ah7pp8g2diw28p8bfjgv7rvjvp8d2am8w";
       type = "gem";
     };
-    version = "1.5.1";
+    version = "1.8.2";
   };
   tilt = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ca4k0clwf0rkvy7726x4nxpjxkpv67w043i39saxgldxd97zmwz";
+      sha256 = "0bmjgbv8158klwp2r3klxjwaj93nh1sbl4xvj9wsha0ic478avz7";
+      type = "gem";
+    };
+    version = "2.2.0";
+  };
+  timeout = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1d9cvm0f4zdpwa795v3zv4973y5zk59j7s1x3yn90jjrhcz1yvfd";
+      type = "gem";
+    };
+    version = "0.4.0";
+  };
+  uglifier = {
+    dependencies = ["execjs"];
+    groups = ["development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0wgh7bzy68vhv9v68061519dd8samcy8sazzz0w3k8kqpy3g4s5f";
+      type = "gem";
+    };
+    version = "4.2.0";
+  };
+  websocket = {
+    groups = ["default" "development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0dib6p55sl606qb4vpwrvj5wh881kk4aqn2zpfapf8ckx7g14jw8";
+      type = "gem";
+    };
+    version = "1.2.9";
+  };
+  websocket-driver = {
+    dependencies = ["websocket-extensions"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1nyh873w4lvahcl8kzbjfca26656d5c6z3md4sbqg5y1gfz0157n";
+      type = "gem";
+    };
+    version = "0.7.6";
+  };
+  websocket-extensions = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0hc2g9qps8lmhibl5baa91b4qx8wqw872rgwagml78ydj8qacsqw";
+      type = "gem";
+    };
+    version = "0.1.5";
+  };
+  xpath = {
+    dependencies = ["nokogiri"];
+    groups = ["default" "development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0bh8lk9hvlpn7vmi6h4hkcwjzvs2y0cmkk3yjjdr8fxvj6fsgzbd";
       type = "gem";
     };
-    version = "2.0.9";
+    version = "3.2.0";
   };
 }
diff --git a/pkgs/development/web/minify/default.nix b/pkgs/development/web/minify/default.nix
index 85c1083c6a6df..3e3d139bec4b4 100644
--- a/pkgs/development/web/minify/default.nix
+++ b/pkgs/development/web/minify/default.nix
@@ -9,18 +9,16 @@
 
 buildGoModule rec {
   pname = "minify";
-  version = "2.12.7";
+  version = "2.12.8";
 
   src = fetchFromGitHub {
     owner = "tdewolff";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-V3lFM58ciU9RrIp5s+ZMaCUAfRJxbTuQxusXhLCiGmI=";
+    hash = "sha256-5p1HWXx9kKKaiC0dTQDd1JpRDhKkDGdnDpuz+I0kgpo=";
   };
 
-  patches = [ ./update-go-version-mod.patch ];
-
-  vendorHash = "sha256-v3ZPaeE1YW9BRXHxGsmN8tHv3ApOY+NivfePctOmYlM=";
+  vendorHash = "sha256-RBBCcqahIF1KjnK/Kxr0TZlRJirFffo9Dt40gNk5EQE=";
 
   nativeBuildInputs = [ installShellFiles ];
 
@@ -47,5 +45,6 @@ buildGoModule rec {
     downloadPage = "https://github.com/tdewolff/minify";
     changelog = "https://github.com/tdewolff/minify/releases/tag/v${version}";
     license = licenses.mit;
+    maintainers = with maintainers; [ gaelreyrol ];
   };
 }
diff --git a/pkgs/development/web/minify/update-go-version-mod.patch b/pkgs/development/web/minify/update-go-version-mod.patch
deleted file mode 100644
index 5f8178cdf980e..0000000000000
--- a/pkgs/development/web/minify/update-go-version-mod.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/go.mod b/go.mod
-index cebe363..f9ae9c8 100644
---- a/go.mod
-+++ b/go.mod
-@@ -1,6 +1,6 @@
- module github.com/tdewolff/minify/v2
- 
--go 1.13
-+go 1.18
- 
- require (
- 	github.com/cheekybits/is v0.0.0-20150225183255-68e9c0620927 // indirect
diff --git a/pkgs/development/web/pnpm-lock-export/default.nix b/pkgs/development/web/pnpm-lock-export/default.nix
index ae0daf3df754d..831ad4f5cd039 100644
--- a/pkgs/development/web/pnpm-lock-export/default.nix
+++ b/pkgs/development/web/pnpm-lock-export/default.nix
@@ -1,16 +1,16 @@
 { lib, buildNpmPackage, fetchFromGitHub }:
 buildNpmPackage rec {
   pname = "pnpm-lock-export";
-  version = "0.4.0";
+  version = "unstable-2023-07-31";
 
   src = fetchFromGitHub {
-    owner = "cvent";
+    owner = "adamcstephens";
     repo = "pnpm-lock-export";
-    rev = "v${version}";
-    hash = "sha256-vS6AW3R4go1Fdr3PBOCnuN4JDrDkl1lWVF7q+q+xDGg=";
+    rev = "cc03755d6718a9c0d268d0f375907328ac15dc92";
+    hash = "sha256-9OlFgmdKjvz4pB36Wm/fUAQDsD8zs32OSA3m2IAgrH8=";
   };
 
-  npmDepsHash = "sha256-3uW/lzB+UDhFQtRb3X8szNlgAWTcSdwVdtyZvLu+cjI=";
+  npmDepsHash = "sha256-nqkH7vFD78YvYr9Klguk2o7qHr5wr3ZjaywUKRRRjJo=";
 
   postPatch = ''
     cp ${./package-lock.json} package-lock.json
diff --git a/pkgs/development/web/pnpm-lock-export/package-lock.json b/pkgs/development/web/pnpm-lock-export/package-lock.json
index 9ef62b10e5c3c..7ca48860c5f87 100644
--- a/pkgs/development/web/pnpm-lock-export/package-lock.json
+++ b/pkgs/development/web/pnpm-lock-export/package-lock.json
@@ -10,45 +10,54 @@
       "license": "MIT",
       "dependencies": {
         "@manypkg/get-packages": "^1.1.3",
-        "@pnpm/lockfile-file": "^5.1.4",
-        "@pnpm/lockfile-utils": "^4.1.0",
-        "@pnpm/logger": "^4.0.0",
-        "@pnpm/prune-lockfile": "^4.0.12",
-        "@pnpm/read-project-manifest": "^3.0.6",
-        "@pnpm/types": "^8.4.0",
+        "@pnpm/lockfile-file": "^8.1.2",
+        "@pnpm/lockfile-utils": "^8.0.3",
+        "@pnpm/logger": "^5.0.0",
+        "@pnpm/prune-lockfile": "^5.0.5",
+        "@pnpm/read-project-manifest": "^5.0.4",
+        "@pnpm/types": "^9.2.0",
         "argparse": "^2.0.1",
-        "dependency-path": "^9.2.3",
-        "semver": "^7.3.7"
+        "dependency-path": "^9.2.8",
+        "semver": "^7.5.4"
       },
       "bin": {
         "pnpm-lock-export": "dist/src/bin/pnpm-lock-export.js"
       },
       "devDependencies": {
-        "@pnpm/lockfile-types": "^4.2.0",
-        "@pnpm/registry-mock": "^2.20.0",
-        "@swc/core": "^1.2.218",
-        "@swc/jest": "^0.2.22",
-        "@tsconfig/node16-strictest": "^1.0.0",
+        "@pnpm/lockfile-types": "^5.1.1",
+        "@pnpm/registry-mock": "^3.10.2",
+        "@swc/core": "^1.3.70",
+        "@swc/jest": "^0.2.26",
+        "@tsconfig/node16-strictest": "^1.0.4",
         "@types/argparse": "^2.0.10",
-        "@types/jest": "^28.1.6",
-        "@types/node": "^16",
-        "@types/semver": "^7.3.10",
-        "@typescript-eslint/eslint-plugin": "^5.31.0",
-        "@typescript-eslint/parser": "^5.31.0",
-        "eslint": "^8.20.0",
+        "@types/jest": "^29.5.3",
+        "@types/node": "^18.16.19",
+        "@types/semver": "^7.5.0",
+        "@typescript-eslint/eslint-plugin": "^6.1.0",
+        "@typescript-eslint/parser": "^6.1.0",
+        "eslint": "^8.45.0",
         "jest": "^28.1.3",
-        "prettier": "^2.7.1",
+        "prettier": "^3.0.0",
         "tmp-promise": "^3.0.3",
-        "typescript": "^4.7.4"
+        "typescript": "^4.9.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.0",
-      "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz",
-      "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==",
+      "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.1.0",
+        "@jridgewell/gen-mapping": "^0.3.0",
         "@jridgewell/trace-mapping": "^0.3.9"
       },
       "engines": {
@@ -56,46 +65,46 @@
       }
     },
     "node_modules/@babel/code-frame": {
-      "version": "7.18.6",
-      "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz",
-      "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==",
+      "version": "7.22.5",
+      "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.5.tgz",
+      "integrity": "sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==",
       "dependencies": {
-        "@babel/highlight": "^7.18.6"
+        "@babel/highlight": "^7.22.5"
       },
       "engines": {
         "node": ">=6.9.0"
       }
     },
     "node_modules/@babel/compat-data": {
-      "version": "7.21.0",
-      "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.21.0.tgz",
-      "integrity": "sha512-gMuZsmsgxk/ENC3O/fRw5QY8A9/uxQbbCEypnLIiYYc/qVJtEV7ouxC3EllIIwNzMqAQee5tanFabWsUOutS7g==",
+      "version": "7.22.9",
+      "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.9.tgz",
+      "integrity": "sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==",
       "dev": true,
       "engines": {
         "node": ">=6.9.0"
       }
     },
     "node_modules/@babel/core": {
-      "version": "7.21.3",
-      "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.21.3.tgz",
-      "integrity": "sha512-qIJONzoa/qiHghnm0l1n4i/6IIziDpzqc36FBs4pzMhDUraHqponwJLiAKm1hGLP3OSB/TVNz6rMwVGpwxxySw==",
+      "version": "7.22.9",
+      "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.9.tgz",
+      "integrity": "sha512-G2EgeufBcYw27U4hhoIwFcgc1XU7TlXJ3mv04oOv1WCuo900U/anZSPzEqNjwdjgffkk2Gs0AN0dW1CKVLcG7w==",
       "dev": true,
       "dependencies": {
         "@ampproject/remapping": "^2.2.0",
-        "@babel/code-frame": "^7.18.6",
-        "@babel/generator": "^7.21.3",
-        "@babel/helper-compilation-targets": "^7.20.7",
-        "@babel/helper-module-transforms": "^7.21.2",
-        "@babel/helpers": "^7.21.0",
-        "@babel/parser": "^7.21.3",
-        "@babel/template": "^7.20.7",
-        "@babel/traverse": "^7.21.3",
-        "@babel/types": "^7.21.3",
+        "@babel/code-frame": "^7.22.5",
+        "@babel/generator": "^7.22.9",
+        "@babel/helper-compilation-targets": "^7.22.9",
+        "@babel/helper-module-transforms": "^7.22.9",
+        "@babel/helpers": "^7.22.6",
+        "@babel/parser": "^7.22.7",
+        "@babel/template": "^7.22.5",
+        "@babel/traverse": "^7.22.8",
+        "@babel/types": "^7.22.5",
         "convert-source-map": "^1.7.0",
         "debug": "^4.1.0",
         "gensync": "^1.0.0-beta.2",
         "json5": "^2.2.2",
-        "semver": "^6.3.0"
+        "semver": "^6.3.1"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -106,21 +115,21 @@
       }
     },
     "node_modules/@babel/core/node_modules/semver": {
-      "version": "6.3.0",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-      "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+      "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.21.3",
-      "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.21.3.tgz",
-      "integrity": "sha512-QS3iR1GYC/YGUnW7IdggFeN5c1poPUurnGttOV/bZgPGV+izC/D8HnD6DLwod0fsatNyVn1G3EVWMYIF0nHbeA==",
+      "version": "7.22.9",
+      "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.9.tgz",
+      "integrity": "sha512-KtLMbmicyuK2Ak/FTCJVbDnkN1SlT8/kceFTiuDiiRUUSMnHMidxSCdG4ndkTOHHpoomWe/4xkvHkEOncwjYIw==",
       "dev": true,
       "dependencies": {
-        "@babel/types": "^7.21.3",
+        "@babel/types": "^7.22.5",
         "@jridgewell/gen-mapping": "^0.3.2",
         "@jridgewell/trace-mapping": "^0.3.17",
         "jsesc": "^2.5.1"
@@ -129,31 +138,17 @@
         "node": ">=6.9.0"
       }
     },
-    "node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping": {
-      "version": "0.3.2",
-      "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz",
-      "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==",
-      "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/@babel/helper-compilation-targets": {
-      "version": "7.20.7",
-      "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz",
-      "integrity": "sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==",
+      "version": "7.22.9",
+      "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.9.tgz",
+      "integrity": "sha512-7qYrNM6HjpnPHJbopxmb8hSPoZ0gsX8IvUS32JGVoy+pU9e5N0nLr1VjJoR6kA4d9dmGLxNYOjeB8sUDal2WMw==",
       "dev": true,
       "dependencies": {
-        "@babel/compat-data": "^7.20.5",
-        "@babel/helper-validator-option": "^7.18.6",
-        "browserslist": "^4.21.3",
+        "@babel/compat-data": "^7.22.9",
+        "@babel/helper-validator-option": "^7.22.5",
+        "browserslist": "^4.21.9",
         "lru-cache": "^5.1.1",
-        "semver": "^6.3.0"
+        "semver": "^6.3.1"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -163,158 +158,158 @@
       }
     },
     "node_modules/@babel/helper-compilation-targets/node_modules/semver": {
-      "version": "6.3.0",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-      "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+      "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-environment-visitor": {
-      "version": "7.18.9",
-      "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz",
-      "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==",
+      "version": "7.22.5",
+      "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz",
+      "integrity": "sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==",
       "dev": true,
       "engines": {
         "node": ">=6.9.0"
       }
     },
     "node_modules/@babel/helper-function-name": {
-      "version": "7.21.0",
-      "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz",
-      "integrity": "sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==",
+      "version": "7.22.5",
+      "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz",
+      "integrity": "sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==",
       "dev": true,
       "dependencies": {
-        "@babel/template": "^7.20.7",
-        "@babel/types": "^7.21.0"
+        "@babel/template": "^7.22.5",
+        "@babel/types": "^7.22.5"
       },
       "engines": {
         "node": ">=6.9.0"
       }
     },
     "node_modules/@babel/helper-hoist-variables": {
-      "version": "7.18.6",
-      "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz",
-      "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==",
+      "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.18.6"
+        "@babel/types": "^7.22.5"
       },
       "engines": {
         "node": ">=6.9.0"
       }
     },
     "node_modules/@babel/helper-module-imports": {
-      "version": "7.18.6",
-      "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz",
-      "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==",
+      "version": "7.22.5",
+      "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz",
+      "integrity": "sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==",
       "dev": true,
       "dependencies": {
-        "@babel/types": "^7.18.6"
+        "@babel/types": "^7.22.5"
       },
       "engines": {
         "node": ">=6.9.0"
       }
     },
     "node_modules/@babel/helper-module-transforms": {
-      "version": "7.21.2",
-      "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.21.2.tgz",
-      "integrity": "sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ==",
+      "version": "7.22.9",
+      "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.9.tgz",
+      "integrity": "sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==",
       "dev": true,
       "dependencies": {
-        "@babel/helper-environment-visitor": "^7.18.9",
-        "@babel/helper-module-imports": "^7.18.6",
-        "@babel/helper-simple-access": "^7.20.2",
-        "@babel/helper-split-export-declaration": "^7.18.6",
-        "@babel/helper-validator-identifier": "^7.19.1",
-        "@babel/template": "^7.20.7",
-        "@babel/traverse": "^7.21.2",
-        "@babel/types": "^7.21.2"
+        "@babel/helper-environment-visitor": "^7.22.5",
+        "@babel/helper-module-imports": "^7.22.5",
+        "@babel/helper-simple-access": "^7.22.5",
+        "@babel/helper-split-export-declaration": "^7.22.6",
+        "@babel/helper-validator-identifier": "^7.22.5"
       },
       "engines": {
         "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0"
       }
     },
     "node_modules/@babel/helper-plugin-utils": {
-      "version": "7.20.2",
-      "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz",
-      "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==",
+      "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,
       "engines": {
         "node": ">=6.9.0"
       }
     },
     "node_modules/@babel/helper-simple-access": {
-      "version": "7.20.2",
-      "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz",
-      "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==",
+      "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.20.2"
+        "@babel/types": "^7.22.5"
       },
       "engines": {
         "node": ">=6.9.0"
       }
     },
     "node_modules/@babel/helper-split-export-declaration": {
-      "version": "7.18.6",
-      "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz",
-      "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==",
+      "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.18.6"
+        "@babel/types": "^7.22.5"
       },
       "engines": {
         "node": ">=6.9.0"
       }
     },
     "node_modules/@babel/helper-string-parser": {
-      "version": "7.19.4",
-      "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz",
-      "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==",
+      "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.19.1",
-      "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz",
-      "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==",
+      "version": "7.22.5",
+      "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz",
+      "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==",
       "engines": {
         "node": ">=6.9.0"
       }
     },
     "node_modules/@babel/helper-validator-option": {
-      "version": "7.21.0",
-      "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz",
-      "integrity": "sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==",
+      "version": "7.22.5",
+      "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz",
+      "integrity": "sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==",
       "dev": true,
       "engines": {
         "node": ">=6.9.0"
       }
     },
     "node_modules/@babel/helpers": {
-      "version": "7.21.0",
-      "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.21.0.tgz",
-      "integrity": "sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA==",
+      "version": "7.22.6",
+      "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.6.tgz",
+      "integrity": "sha512-YjDs6y/fVOYFV8hAf1rxd1QvR9wJe1pDBZ2AREKq/SDayfPzgk0PBnVuTCE5X1acEpMMNOVUqoe+OwiZGJ+OaA==",
       "dev": true,
       "dependencies": {
-        "@babel/template": "^7.20.7",
-        "@babel/traverse": "^7.21.0",
-        "@babel/types": "^7.21.0"
+        "@babel/template": "^7.22.5",
+        "@babel/traverse": "^7.22.6",
+        "@babel/types": "^7.22.5"
       },
       "engines": {
         "node": ">=6.9.0"
       }
     },
     "node_modules/@babel/highlight": {
-      "version": "7.18.6",
-      "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz",
-      "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==",
+      "version": "7.22.5",
+      "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.5.tgz",
+      "integrity": "sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==",
       "dependencies": {
-        "@babel/helper-validator-identifier": "^7.18.6",
+        "@babel/helper-validator-identifier": "^7.22.5",
         "chalk": "^2.0.0",
         "js-tokens": "^4.0.0"
       },
@@ -387,9 +382,9 @@
       }
     },
     "node_modules/@babel/parser": {
-      "version": "7.21.3",
-      "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.3.tgz",
-      "integrity": "sha512-lobG0d7aOfQRXh8AyklEAgZGvA4FShxo6xQbUrrT/cNBPUdIDojlokwJsQyCC/eKia7ifqM0yP+2DRZ4WKw2RQ==",
+      "version": "7.22.7",
+      "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.7.tgz",
+      "integrity": "sha512-7NF8pOkHP5o2vpmGgNGcfAeCvOYhGLyA3Z4eBQkT1RJlWu47n63bCs93QfJ2hIAFCil7L5P2IWhs1oToVgrL0Q==",
       "dev": true,
       "bin": {
         "parser": "bin/babel-parser.js"
@@ -546,12 +541,12 @@
       }
     },
     "node_modules/@babel/plugin-syntax-typescript": {
-      "version": "7.20.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.20.0.tgz",
-      "integrity": "sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ==",
+      "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.19.0"
+        "@babel/helper-plugin-utils": "^7.22.5"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -572,33 +567,33 @@
       }
     },
     "node_modules/@babel/template": {
-      "version": "7.20.7",
-      "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz",
-      "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==",
+      "version": "7.22.5",
+      "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz",
+      "integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==",
       "dev": true,
       "dependencies": {
-        "@babel/code-frame": "^7.18.6",
-        "@babel/parser": "^7.20.7",
-        "@babel/types": "^7.20.7"
+        "@babel/code-frame": "^7.22.5",
+        "@babel/parser": "^7.22.5",
+        "@babel/types": "^7.22.5"
       },
       "engines": {
         "node": ">=6.9.0"
       }
     },
     "node_modules/@babel/traverse": {
-      "version": "7.21.3",
-      "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.21.3.tgz",
-      "integrity": "sha512-XLyopNeaTancVitYZe2MlUEvgKb6YVVPXzofHgqHijCImG33b/uTurMS488ht/Hbsb2XK3U2BnSTxKVNGV3nGQ==",
-      "dev": true,
-      "dependencies": {
-        "@babel/code-frame": "^7.18.6",
-        "@babel/generator": "^7.21.3",
-        "@babel/helper-environment-visitor": "^7.18.9",
-        "@babel/helper-function-name": "^7.21.0",
-        "@babel/helper-hoist-variables": "^7.18.6",
-        "@babel/helper-split-export-declaration": "^7.18.6",
-        "@babel/parser": "^7.21.3",
-        "@babel/types": "^7.21.3",
+      "version": "7.22.8",
+      "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.8.tgz",
+      "integrity": "sha512-y6LPR+wpM2I3qJrsheCTwhIinzkETbplIgPBbwvqPKc+uljeA5gP+3nP8irdYt1mjQaDnlIcG+dw8OjAco4GXw==",
+      "dev": true,
+      "dependencies": {
+        "@babel/code-frame": "^7.22.5",
+        "@babel/generator": "^7.22.7",
+        "@babel/helper-environment-visitor": "^7.22.5",
+        "@babel/helper-function-name": "^7.22.5",
+        "@babel/helper-hoist-variables": "^7.22.5",
+        "@babel/helper-split-export-declaration": "^7.22.6",
+        "@babel/parser": "^7.22.7",
+        "@babel/types": "^7.22.5",
         "debug": "^4.1.0",
         "globals": "^11.1.0"
       },
@@ -616,13 +611,13 @@
       }
     },
     "node_modules/@babel/types": {
-      "version": "7.21.3",
-      "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.3.tgz",
-      "integrity": "sha512-sBGdETxC+/M4o/zKC0sl6sjWv62WFR/uzxrJ6uYyMLZOUlPnwzw0tKgVHOXxaAd5l2g8pEDM5RZ495GPQI77kg==",
+      "version": "7.22.5",
+      "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.5.tgz",
+      "integrity": "sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==",
       "dev": true,
       "dependencies": {
-        "@babel/helper-string-parser": "^7.19.4",
-        "@babel/helper-validator-identifier": "^7.19.1",
+        "@babel/helper-string-parser": "^7.22.5",
+        "@babel/helper-validator-identifier": "^7.22.5",
         "to-fast-properties": "^2.0.0"
       },
       "engines": {
@@ -656,23 +651,23 @@
       }
     },
     "node_modules/@eslint-community/regexpp": {
-      "version": "4.4.1",
-      "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.4.1.tgz",
-      "integrity": "sha512-BISJ6ZE4xQsuL/FmsyRaiffpq977bMlsKfGHTQrOGFErfByxIe6iZTxPf/00Zon9b9a7iUykfQwejN3s2ZW/Bw==",
+      "version": "4.6.2",
+      "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.6.2.tgz",
+      "integrity": "sha512-pPTNuaAG3QMH+buKyBIGJs3g/S5y0caxw0ygM3YyE6yJFySwiGGSzA+mM3KJ8QQvzeLh3blwgSonkFjgQdxzMw==",
       "dev": true,
       "engines": {
         "node": "^12.0.0 || ^14.0.0 || >=16.0.0"
       }
     },
     "node_modules/@eslint/eslintrc": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.1.tgz",
-      "integrity": "sha512-eFRmABvW2E5Ho6f5fHLqgena46rOj7r7OKHYfLElqcBfGFHHpjBhivyi5+jOEQuSpdc/1phIZJlbC2te+tZNIw==",
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.1.tgz",
+      "integrity": "sha512-9t7ZA7NGGK8ckelF0PQCfcxIUzs1Md5rrO6U/c+FIQNanea5UZC0wqKXH4vHBccmu4ZJgZ2idtPeW7+Q2npOEA==",
       "dev": true,
       "dependencies": {
         "ajv": "^6.12.4",
         "debug": "^4.3.2",
-        "espree": "^9.5.0",
+        "espree": "^9.6.0",
         "globals": "^13.19.0",
         "ignore": "^5.2.0",
         "import-fresh": "^3.2.1",
@@ -700,18 +695,26 @@
       }
     },
     "node_modules/@eslint/js": {
-      "version": "8.36.0",
-      "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.36.0.tgz",
-      "integrity": "sha512-lxJ9R5ygVm8ZWgYdUweoq5ownDlJ4upvoWmO4eLxBYHdMo+vZ/Rx0EN6MbKWDJOSUGrqJy2Gt+Dyv/VKml0fjg==",
+      "version": "8.46.0",
+      "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.46.0.tgz",
+      "integrity": "sha512-a8TLtmPi8xzPkCbp/OGFUo5yhRkHM2Ko9kOWP4znJr0WAhWyThaw3PnwX4vOTWOAMsV2uRt32PPDcEz63esSaA==",
       "dev": true,
       "engines": {
         "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
       }
     },
+    "node_modules/@gwhitney/detect-indent": {
+      "version": "7.0.1",
+      "resolved": "https://registry.npmjs.org/@gwhitney/detect-indent/-/detect-indent-7.0.1.tgz",
+      "integrity": "sha512-7bQW+gkKa2kKZPeJf6+c6gFK9ARxQfn+FKy9ScTBppyKRWH2KzsmweXUoklqeEiHiNVWaeP5csIdsNq6w7QhzA==",
+      "engines": {
+        "node": ">=12.20"
+      }
+    },
     "node_modules/@humanwhocodes/config-array": {
-      "version": "0.11.8",
-      "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz",
-      "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==",
+      "version": "0.11.10",
+      "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz",
+      "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==",
       "dev": true,
       "dependencies": {
         "@humanwhocodes/object-schema": "^1.2.1",
@@ -814,6 +817,18 @@
         "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
       }
     },
+    "node_modules/@jest/console/node_modules/@jest/schemas": {
+      "version": "28.1.3",
+      "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz",
+      "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==",
+      "dev": true,
+      "dependencies": {
+        "@sinclair/typebox": "^0.24.1"
+      },
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+      }
+    },
     "node_modules/@jest/console/node_modules/@jest/types": {
       "version": "28.1.3",
       "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz",
@@ -831,15 +846,85 @@
         "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
       }
     },
+    "node_modules/@jest/console/node_modules/@sinclair/typebox": {
+      "version": "0.24.51",
+      "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz",
+      "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==",
+      "dev": true
+    },
     "node_modules/@jest/console/node_modules/@types/yargs": {
-      "version": "17.0.23",
-      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.23.tgz",
-      "integrity": "sha512-yuogunc04OnzGQCrfHx+Kk883Q4X0aSwmYZhKjI21m+SVYzjIbrWl8dOOwSv5hf2Um2pdCOXWo9isteZTNXUZQ==",
+      "version": "17.0.24",
+      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz",
+      "integrity": "sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==",
       "dev": true,
       "dependencies": {
         "@types/yargs-parser": "*"
       }
     },
+    "node_modules/@jest/console/node_modules/ansi-styles": {
+      "version": "5.2.0",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
+      "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
+      "dev": true,
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+      }
+    },
+    "node_modules/@jest/console/node_modules/jest-message-util": {
+      "version": "28.1.3",
+      "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz",
+      "integrity": "sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==",
+      "dev": true,
+      "dependencies": {
+        "@babel/code-frame": "^7.12.13",
+        "@jest/types": "^28.1.3",
+        "@types/stack-utils": "^2.0.0",
+        "chalk": "^4.0.0",
+        "graceful-fs": "^4.2.9",
+        "micromatch": "^4.0.4",
+        "pretty-format": "^28.1.3",
+        "slash": "^3.0.0",
+        "stack-utils": "^2.0.3"
+      },
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+      }
+    },
+    "node_modules/@jest/console/node_modules/jest-util": {
+      "version": "28.1.3",
+      "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz",
+      "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==",
+      "dev": true,
+      "dependencies": {
+        "@jest/types": "^28.1.3",
+        "@types/node": "*",
+        "chalk": "^4.0.0",
+        "ci-info": "^3.2.0",
+        "graceful-fs": "^4.2.9",
+        "picomatch": "^2.2.3"
+      },
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+      }
+    },
+    "node_modules/@jest/console/node_modules/pretty-format": {
+      "version": "28.1.3",
+      "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz",
+      "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==",
+      "dev": true,
+      "dependencies": {
+        "@jest/schemas": "^28.1.3",
+        "ansi-regex": "^5.0.1",
+        "ansi-styles": "^5.0.0",
+        "react-is": "^18.0.0"
+      },
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+      }
+    },
     "node_modules/@jest/core": {
       "version": "28.1.3",
       "resolved": "https://registry.npmjs.org/@jest/core/-/core-28.1.3.tgz",
@@ -888,6 +973,18 @@
         }
       }
     },
+    "node_modules/@jest/core/node_modules/@jest/schemas": {
+      "version": "28.1.3",
+      "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz",
+      "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==",
+      "dev": true,
+      "dependencies": {
+        "@sinclair/typebox": "^0.24.1"
+      },
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+      }
+    },
     "node_modules/@jest/core/node_modules/@jest/types": {
       "version": "28.1.3",
       "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz",
@@ -905,15 +1002,85 @@
         "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
       }
     },
+    "node_modules/@jest/core/node_modules/@sinclair/typebox": {
+      "version": "0.24.51",
+      "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz",
+      "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==",
+      "dev": true
+    },
     "node_modules/@jest/core/node_modules/@types/yargs": {
-      "version": "17.0.23",
-      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.23.tgz",
-      "integrity": "sha512-yuogunc04OnzGQCrfHx+Kk883Q4X0aSwmYZhKjI21m+SVYzjIbrWl8dOOwSv5hf2Um2pdCOXWo9isteZTNXUZQ==",
+      "version": "17.0.24",
+      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz",
+      "integrity": "sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==",
       "dev": true,
       "dependencies": {
         "@types/yargs-parser": "*"
       }
     },
+    "node_modules/@jest/core/node_modules/ansi-styles": {
+      "version": "5.2.0",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
+      "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
+      "dev": true,
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+      }
+    },
+    "node_modules/@jest/core/node_modules/jest-message-util": {
+      "version": "28.1.3",
+      "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz",
+      "integrity": "sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==",
+      "dev": true,
+      "dependencies": {
+        "@babel/code-frame": "^7.12.13",
+        "@jest/types": "^28.1.3",
+        "@types/stack-utils": "^2.0.0",
+        "chalk": "^4.0.0",
+        "graceful-fs": "^4.2.9",
+        "micromatch": "^4.0.4",
+        "pretty-format": "^28.1.3",
+        "slash": "^3.0.0",
+        "stack-utils": "^2.0.3"
+      },
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+      }
+    },
+    "node_modules/@jest/core/node_modules/jest-util": {
+      "version": "28.1.3",
+      "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz",
+      "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==",
+      "dev": true,
+      "dependencies": {
+        "@jest/types": "^28.1.3",
+        "@types/node": "*",
+        "chalk": "^4.0.0",
+        "ci-info": "^3.2.0",
+        "graceful-fs": "^4.2.9",
+        "picomatch": "^2.2.3"
+      },
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+      }
+    },
+    "node_modules/@jest/core/node_modules/pretty-format": {
+      "version": "28.1.3",
+      "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz",
+      "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==",
+      "dev": true,
+      "dependencies": {
+        "@jest/schemas": "^28.1.3",
+        "ansi-regex": "^5.0.1",
+        "ansi-styles": "^5.0.0",
+        "react-is": "^18.0.0"
+      },
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+      }
+    },
     "node_modules/@jest/create-cache-key-function": {
       "version": "27.5.1",
       "resolved": "https://registry.npmjs.org/@jest/create-cache-key-function/-/create-cache-key-function-27.5.1.tgz",
@@ -941,6 +1108,18 @@
         "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
       }
     },
+    "node_modules/@jest/environment/node_modules/@jest/schemas": {
+      "version": "28.1.3",
+      "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz",
+      "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==",
+      "dev": true,
+      "dependencies": {
+        "@sinclair/typebox": "^0.24.1"
+      },
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+      }
+    },
     "node_modules/@jest/environment/node_modules/@jest/types": {
       "version": "28.1.3",
       "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz",
@@ -958,10 +1137,16 @@
         "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
       }
     },
+    "node_modules/@jest/environment/node_modules/@sinclair/typebox": {
+      "version": "0.24.51",
+      "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz",
+      "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==",
+      "dev": true
+    },
     "node_modules/@jest/environment/node_modules/@types/yargs": {
-      "version": "17.0.23",
-      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.23.tgz",
-      "integrity": "sha512-yuogunc04OnzGQCrfHx+Kk883Q4X0aSwmYZhKjI21m+SVYzjIbrWl8dOOwSv5hf2Um2pdCOXWo9isteZTNXUZQ==",
+      "version": "17.0.24",
+      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz",
+      "integrity": "sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==",
       "dev": true,
       "dependencies": {
         "@types/yargs-parser": "*"
@@ -981,6 +1166,18 @@
       }
     },
     "node_modules/@jest/expect-utils": {
+      "version": "29.6.2",
+      "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.6.2.tgz",
+      "integrity": "sha512-6zIhM8go3RV2IG4aIZaZbxwpOzz3ZiM23oxAlkquOIole+G6TrbeXnykxWYlqF7kz2HlBjdKtca20x9atkEQYg==",
+      "dev": true,
+      "dependencies": {
+        "jest-get-type": "^29.4.3"
+      },
+      "engines": {
+        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+      }
+    },
+    "node_modules/@jest/expect/node_modules/@jest/expect-utils": {
       "version": "28.1.3",
       "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-28.1.3.tgz",
       "integrity": "sha512-wvbi9LUrHJLn3NlDW6wF2hvIMtd4JUl2QNVrjq+IBSHirgfrR3o9RnVtxzdEGO2n9JyIWwHnLfby5KzqBGg2YA==",
@@ -992,6 +1189,178 @@
         "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
       }
     },
+    "node_modules/@jest/expect/node_modules/@jest/schemas": {
+      "version": "28.1.3",
+      "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz",
+      "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==",
+      "dev": true,
+      "dependencies": {
+        "@sinclair/typebox": "^0.24.1"
+      },
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+      }
+    },
+    "node_modules/@jest/expect/node_modules/@jest/types": {
+      "version": "28.1.3",
+      "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz",
+      "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==",
+      "dev": true,
+      "dependencies": {
+        "@jest/schemas": "^28.1.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": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+      }
+    },
+    "node_modules/@jest/expect/node_modules/@sinclair/typebox": {
+      "version": "0.24.51",
+      "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz",
+      "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==",
+      "dev": true
+    },
+    "node_modules/@jest/expect/node_modules/@types/yargs": {
+      "version": "17.0.24",
+      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz",
+      "integrity": "sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==",
+      "dev": true,
+      "dependencies": {
+        "@types/yargs-parser": "*"
+      }
+    },
+    "node_modules/@jest/expect/node_modules/ansi-styles": {
+      "version": "5.2.0",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
+      "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
+      "dev": true,
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+      }
+    },
+    "node_modules/@jest/expect/node_modules/diff-sequences": {
+      "version": "28.1.1",
+      "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-28.1.1.tgz",
+      "integrity": "sha512-FU0iFaH/E23a+a718l8Qa/19bF9p06kgE0KipMOMadwa3SjnaElKzPaUC0vnibs6/B/9ni97s61mcejk8W1fQw==",
+      "dev": true,
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+      }
+    },
+    "node_modules/@jest/expect/node_modules/expect": {
+      "version": "28.1.3",
+      "resolved": "https://registry.npmjs.org/expect/-/expect-28.1.3.tgz",
+      "integrity": "sha512-eEh0xn8HlsuOBxFgIss+2mX85VAS4Qy3OSkjV7rlBWljtA4oWH37glVGyOZSZvErDT/yBywZdPGwCXuTvSG85g==",
+      "dev": true,
+      "dependencies": {
+        "@jest/expect-utils": "^28.1.3",
+        "jest-get-type": "^28.0.2",
+        "jest-matcher-utils": "^28.1.3",
+        "jest-message-util": "^28.1.3",
+        "jest-util": "^28.1.3"
+      },
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+      }
+    },
+    "node_modules/@jest/expect/node_modules/jest-diff": {
+      "version": "28.1.3",
+      "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-28.1.3.tgz",
+      "integrity": "sha512-8RqP1B/OXzjjTWkqMX67iqgwBVJRgCyKD3L9nq+6ZqJMdvjE8RgHktqZ6jNrkdMT+dJuYNI3rhQpxaz7drJHfw==",
+      "dev": true,
+      "dependencies": {
+        "chalk": "^4.0.0",
+        "diff-sequences": "^28.1.1",
+        "jest-get-type": "^28.0.2",
+        "pretty-format": "^28.1.3"
+      },
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+      }
+    },
+    "node_modules/@jest/expect/node_modules/jest-get-type": {
+      "version": "28.0.2",
+      "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-28.0.2.tgz",
+      "integrity": "sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA==",
+      "dev": true,
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+      }
+    },
+    "node_modules/@jest/expect/node_modules/jest-matcher-utils": {
+      "version": "28.1.3",
+      "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-28.1.3.tgz",
+      "integrity": "sha512-kQeJ7qHemKfbzKoGjHHrRKH6atgxMk8Enkk2iPQ3XwO6oE/KYD8lMYOziCkeSB9G4adPM4nR1DE8Tf5JeWH6Bw==",
+      "dev": true,
+      "dependencies": {
+        "chalk": "^4.0.0",
+        "jest-diff": "^28.1.3",
+        "jest-get-type": "^28.0.2",
+        "pretty-format": "^28.1.3"
+      },
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+      }
+    },
+    "node_modules/@jest/expect/node_modules/jest-message-util": {
+      "version": "28.1.3",
+      "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz",
+      "integrity": "sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==",
+      "dev": true,
+      "dependencies": {
+        "@babel/code-frame": "^7.12.13",
+        "@jest/types": "^28.1.3",
+        "@types/stack-utils": "^2.0.0",
+        "chalk": "^4.0.0",
+        "graceful-fs": "^4.2.9",
+        "micromatch": "^4.0.4",
+        "pretty-format": "^28.1.3",
+        "slash": "^3.0.0",
+        "stack-utils": "^2.0.3"
+      },
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+      }
+    },
+    "node_modules/@jest/expect/node_modules/jest-util": {
+      "version": "28.1.3",
+      "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz",
+      "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==",
+      "dev": true,
+      "dependencies": {
+        "@jest/types": "^28.1.3",
+        "@types/node": "*",
+        "chalk": "^4.0.0",
+        "ci-info": "^3.2.0",
+        "graceful-fs": "^4.2.9",
+        "picomatch": "^2.2.3"
+      },
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+      }
+    },
+    "node_modules/@jest/expect/node_modules/pretty-format": {
+      "version": "28.1.3",
+      "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz",
+      "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==",
+      "dev": true,
+      "dependencies": {
+        "@jest/schemas": "^28.1.3",
+        "ansi-regex": "^5.0.1",
+        "ansi-styles": "^5.0.0",
+        "react-is": "^18.0.0"
+      },
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+      }
+    },
     "node_modules/@jest/fake-timers": {
       "version": "28.1.3",
       "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-28.1.3.tgz",
@@ -1009,6 +1378,18 @@
         "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
       }
     },
+    "node_modules/@jest/fake-timers/node_modules/@jest/schemas": {
+      "version": "28.1.3",
+      "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz",
+      "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==",
+      "dev": true,
+      "dependencies": {
+        "@sinclair/typebox": "^0.24.1"
+      },
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+      }
+    },
     "node_modules/@jest/fake-timers/node_modules/@jest/types": {
       "version": "28.1.3",
       "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz",
@@ -1026,15 +1407,85 @@
         "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
       }
     },
+    "node_modules/@jest/fake-timers/node_modules/@sinclair/typebox": {
+      "version": "0.24.51",
+      "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz",
+      "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==",
+      "dev": true
+    },
     "node_modules/@jest/fake-timers/node_modules/@types/yargs": {
-      "version": "17.0.23",
-      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.23.tgz",
-      "integrity": "sha512-yuogunc04OnzGQCrfHx+Kk883Q4X0aSwmYZhKjI21m+SVYzjIbrWl8dOOwSv5hf2Um2pdCOXWo9isteZTNXUZQ==",
+      "version": "17.0.24",
+      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz",
+      "integrity": "sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==",
       "dev": true,
       "dependencies": {
         "@types/yargs-parser": "*"
       }
     },
+    "node_modules/@jest/fake-timers/node_modules/ansi-styles": {
+      "version": "5.2.0",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
+      "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
+      "dev": true,
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+      }
+    },
+    "node_modules/@jest/fake-timers/node_modules/jest-message-util": {
+      "version": "28.1.3",
+      "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz",
+      "integrity": "sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==",
+      "dev": true,
+      "dependencies": {
+        "@babel/code-frame": "^7.12.13",
+        "@jest/types": "^28.1.3",
+        "@types/stack-utils": "^2.0.0",
+        "chalk": "^4.0.0",
+        "graceful-fs": "^4.2.9",
+        "micromatch": "^4.0.4",
+        "pretty-format": "^28.1.3",
+        "slash": "^3.0.0",
+        "stack-utils": "^2.0.3"
+      },
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+      }
+    },
+    "node_modules/@jest/fake-timers/node_modules/jest-util": {
+      "version": "28.1.3",
+      "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz",
+      "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==",
+      "dev": true,
+      "dependencies": {
+        "@jest/types": "^28.1.3",
+        "@types/node": "*",
+        "chalk": "^4.0.0",
+        "ci-info": "^3.2.0",
+        "graceful-fs": "^4.2.9",
+        "picomatch": "^2.2.3"
+      },
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+      }
+    },
+    "node_modules/@jest/fake-timers/node_modules/pretty-format": {
+      "version": "28.1.3",
+      "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz",
+      "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==",
+      "dev": true,
+      "dependencies": {
+        "@jest/schemas": "^28.1.3",
+        "ansi-regex": "^5.0.1",
+        "ansi-styles": "^5.0.0",
+        "react-is": "^18.0.0"
+      },
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+      }
+    },
     "node_modules/@jest/globals": {
       "version": "28.1.3",
       "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-28.1.3.tgz",
@@ -1049,6 +1500,18 @@
         "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
       }
     },
+    "node_modules/@jest/globals/node_modules/@jest/schemas": {
+      "version": "28.1.3",
+      "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz",
+      "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==",
+      "dev": true,
+      "dependencies": {
+        "@sinclair/typebox": "^0.24.1"
+      },
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+      }
+    },
     "node_modules/@jest/globals/node_modules/@jest/types": {
       "version": "28.1.3",
       "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz",
@@ -1066,10 +1529,16 @@
         "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
       }
     },
+    "node_modules/@jest/globals/node_modules/@sinclair/typebox": {
+      "version": "0.24.51",
+      "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz",
+      "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==",
+      "dev": true
+    },
     "node_modules/@jest/globals/node_modules/@types/yargs": {
-      "version": "17.0.23",
-      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.23.tgz",
-      "integrity": "sha512-yuogunc04OnzGQCrfHx+Kk883Q4X0aSwmYZhKjI21m+SVYzjIbrWl8dOOwSv5hf2Um2pdCOXWo9isteZTNXUZQ==",
+      "version": "17.0.24",
+      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz",
+      "integrity": "sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==",
       "dev": true,
       "dependencies": {
         "@types/yargs-parser": "*"
@@ -1119,6 +1588,18 @@
         }
       }
     },
+    "node_modules/@jest/reporters/node_modules/@jest/schemas": {
+      "version": "28.1.3",
+      "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz",
+      "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==",
+      "dev": true,
+      "dependencies": {
+        "@sinclair/typebox": "^0.24.1"
+      },
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+      }
+    },
     "node_modules/@jest/reporters/node_modules/@jest/types": {
       "version": "28.1.3",
       "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz",
@@ -1136,27 +1617,97 @@
         "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
       }
     },
+    "node_modules/@jest/reporters/node_modules/@sinclair/typebox": {
+      "version": "0.24.51",
+      "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz",
+      "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==",
+      "dev": true
+    },
     "node_modules/@jest/reporters/node_modules/@types/yargs": {
-      "version": "17.0.23",
-      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.23.tgz",
-      "integrity": "sha512-yuogunc04OnzGQCrfHx+Kk883Q4X0aSwmYZhKjI21m+SVYzjIbrWl8dOOwSv5hf2Um2pdCOXWo9isteZTNXUZQ==",
+      "version": "17.0.24",
+      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz",
+      "integrity": "sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==",
       "dev": true,
       "dependencies": {
         "@types/yargs-parser": "*"
       }
     },
-    "node_modules/@jest/schemas": {
+    "node_modules/@jest/reporters/node_modules/ansi-styles": {
+      "version": "5.2.0",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
+      "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
+      "dev": true,
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+      }
+    },
+    "node_modules/@jest/reporters/node_modules/jest-message-util": {
       "version": "28.1.3",
-      "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz",
-      "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==",
+      "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz",
+      "integrity": "sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==",
       "dev": true,
       "dependencies": {
-        "@sinclair/typebox": "^0.24.1"
+        "@babel/code-frame": "^7.12.13",
+        "@jest/types": "^28.1.3",
+        "@types/stack-utils": "^2.0.0",
+        "chalk": "^4.0.0",
+        "graceful-fs": "^4.2.9",
+        "micromatch": "^4.0.4",
+        "pretty-format": "^28.1.3",
+        "slash": "^3.0.0",
+        "stack-utils": "^2.0.3"
+      },
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+      }
+    },
+    "node_modules/@jest/reporters/node_modules/jest-util": {
+      "version": "28.1.3",
+      "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz",
+      "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==",
+      "dev": true,
+      "dependencies": {
+        "@jest/types": "^28.1.3",
+        "@types/node": "*",
+        "chalk": "^4.0.0",
+        "ci-info": "^3.2.0",
+        "graceful-fs": "^4.2.9",
+        "picomatch": "^2.2.3"
       },
       "engines": {
         "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
       }
     },
+    "node_modules/@jest/reporters/node_modules/pretty-format": {
+      "version": "28.1.3",
+      "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz",
+      "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==",
+      "dev": true,
+      "dependencies": {
+        "@jest/schemas": "^28.1.3",
+        "ansi-regex": "^5.0.1",
+        "ansi-styles": "^5.0.0",
+        "react-is": "^18.0.0"
+      },
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+      }
+    },
+    "node_modules/@jest/schemas": {
+      "version": "29.6.0",
+      "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz",
+      "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==",
+      "dev": true,
+      "dependencies": {
+        "@sinclair/typebox": "^0.27.8"
+      },
+      "engines": {
+        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+      }
+    },
     "node_modules/@jest/source-map": {
       "version": "28.1.2",
       "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-28.1.2.tgz",
@@ -1186,6 +1737,18 @@
         "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
       }
     },
+    "node_modules/@jest/test-result/node_modules/@jest/schemas": {
+      "version": "28.1.3",
+      "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz",
+      "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==",
+      "dev": true,
+      "dependencies": {
+        "@sinclair/typebox": "^0.24.1"
+      },
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+      }
+    },
     "node_modules/@jest/test-result/node_modules/@jest/types": {
       "version": "28.1.3",
       "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz",
@@ -1203,10 +1766,16 @@
         "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
       }
     },
+    "node_modules/@jest/test-result/node_modules/@sinclair/typebox": {
+      "version": "0.24.51",
+      "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz",
+      "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==",
+      "dev": true
+    },
     "node_modules/@jest/test-result/node_modules/@types/yargs": {
-      "version": "17.0.23",
-      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.23.tgz",
-      "integrity": "sha512-yuogunc04OnzGQCrfHx+Kk883Q4X0aSwmYZhKjI21m+SVYzjIbrWl8dOOwSv5hf2Um2pdCOXWo9isteZTNXUZQ==",
+      "version": "17.0.24",
+      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz",
+      "integrity": "sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==",
       "dev": true,
       "dependencies": {
         "@types/yargs-parser": "*"
@@ -1253,6 +1822,18 @@
         "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
       }
     },
+    "node_modules/@jest/transform/node_modules/@jest/schemas": {
+      "version": "28.1.3",
+      "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz",
+      "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==",
+      "dev": true,
+      "dependencies": {
+        "@sinclair/typebox": "^0.24.1"
+      },
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+      }
+    },
     "node_modules/@jest/transform/node_modules/@jest/types": {
       "version": "28.1.3",
       "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz",
@@ -1270,15 +1851,51 @@
         "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
       }
     },
+    "node_modules/@jest/transform/node_modules/@sinclair/typebox": {
+      "version": "0.24.51",
+      "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz",
+      "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==",
+      "dev": true
+    },
     "node_modules/@jest/transform/node_modules/@types/yargs": {
-      "version": "17.0.23",
-      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.23.tgz",
-      "integrity": "sha512-yuogunc04OnzGQCrfHx+Kk883Q4X0aSwmYZhKjI21m+SVYzjIbrWl8dOOwSv5hf2Um2pdCOXWo9isteZTNXUZQ==",
+      "version": "17.0.24",
+      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz",
+      "integrity": "sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==",
       "dev": true,
       "dependencies": {
         "@types/yargs-parser": "*"
       }
     },
+    "node_modules/@jest/transform/node_modules/jest-util": {
+      "version": "28.1.3",
+      "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz",
+      "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==",
+      "dev": true,
+      "dependencies": {
+        "@jest/types": "^28.1.3",
+        "@types/node": "*",
+        "chalk": "^4.0.0",
+        "ci-info": "^3.2.0",
+        "graceful-fs": "^4.2.9",
+        "picomatch": "^2.2.3"
+      },
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+      }
+    },
+    "node_modules/@jest/transform/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,
+      "dependencies": {
+        "imurmurhash": "^0.1.4",
+        "signal-exit": "^3.0.7"
+      },
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+      }
+    },
     "node_modules/@jest/types": {
       "version": "27.5.1",
       "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz",
@@ -1296,13 +1913,14 @@
       }
     },
     "node_modules/@jridgewell/gen-mapping": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz",
-      "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==",
+      "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.0",
-        "@jridgewell/sourcemap-codec": "^1.4.10"
+        "@jridgewell/set-array": "^1.0.1",
+        "@jridgewell/sourcemap-codec": "^1.4.10",
+        "@jridgewell/trace-mapping": "^0.3.9"
       },
       "engines": {
         "node": ">=6.0.0"
@@ -1327,21 +1945,27 @@
       }
     },
     "node_modules/@jridgewell/sourcemap-codec": {
-      "version": "1.4.14",
-      "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz",
-      "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==",
+      "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.17",
-      "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz",
-      "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==",
+      "version": "0.3.18",
+      "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz",
+      "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==",
       "dev": true,
       "dependencies": {
         "@jridgewell/resolve-uri": "3.1.0",
         "@jridgewell/sourcemap-codec": "1.4.14"
       }
     },
+    "node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec": {
+      "version": "1.4.14",
+      "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz",
+      "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==",
+      "dev": true
+    },
     "node_modules/@manypkg/find-root": {
       "version": "1.1.0",
       "resolved": "https://registry.npmjs.org/@manypkg/find-root/-/find-root-1.1.0.tgz",
@@ -1404,11 +2028,11 @@
       }
     },
     "node_modules/@pnpm/constants": {
-      "version": "6.1.0",
-      "resolved": "https://registry.npmjs.org/@pnpm/constants/-/constants-6.1.0.tgz",
-      "integrity": "sha512-L6AiU3OXv9kjKGTJN9j8n1TeJGDcLX9atQlZvAkthlvbXjvKc5SKNWESc/eXhr5nEfuMWhQhiKHDJCpYejmeCQ==",
+      "version": "7.1.1",
+      "resolved": "https://registry.npmjs.org/@pnpm/constants/-/constants-7.1.1.tgz",
+      "integrity": "sha512-31pZqMtjwV+Vaq7MaPrT1EoDFSYwye3dp6BiHIGRJmVThCQwySRKM7hCvqqI94epNkqFAAYoWrNynWoRYosGdw==",
       "engines": {
-        "node": ">=14.19"
+        "node": ">=16.14"
       },
       "funding": {
         "url": "https://opencollective.com/pnpm"
@@ -1429,202 +2053,150 @@
       }
     },
     "node_modules/@pnpm/dependency-path": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/@pnpm/dependency-path/-/dependency-path-1.1.3.tgz",
-      "integrity": "sha512-HXmS9XzZ1CLCGFtfydAkWayn/o3jaftVFESXrJH0W6NENS92rYCUVvutqL/4Kfx72k0HHUbIZLQAsoISxKId8Q==",
+      "version": "2.1.3",
+      "resolved": "https://registry.npmjs.org/@pnpm/dependency-path/-/dependency-path-2.1.3.tgz",
+      "integrity": "sha512-OKuLDqRZfAJAb4fnPZyPyrR827ISL1WV5YBs0q4BitPAz8ORUPSXSCFVailLhoyZWLE0Ag6hROy42Jkw/WnCUw==",
       "dependencies": {
-        "@pnpm/crypto.base32-hash": "1.0.1",
-        "@pnpm/types": "8.10.0",
+        "@pnpm/crypto.base32-hash": "2.0.0",
+        "@pnpm/types": "9.2.0",
         "encode-registry": "^3.0.0",
-        "semver": "^7.3.8"
+        "semver": "^7.5.4"
       },
       "engines": {
-        "node": ">=14.6"
+        "node": ">=16.14"
+      },
+      "funding": {
+        "url": "https://opencollective.com/pnpm"
+      }
+    },
+    "node_modules/@pnpm/dependency-path/node_modules/@pnpm/crypto.base32-hash": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/@pnpm/crypto.base32-hash/-/crypto.base32-hash-2.0.0.tgz",
+      "integrity": "sha512-3ttOeHBpmWRbgJrpDQ8Nwd3W8s8iuiP5YZM0JRyKWaMtX8lu9d7/AKyxPmhYsMJuN+q/1dwHa7QFeDZJ53b0oA==",
+      "dependencies": {
+        "rfc4648": "^1.5.2"
+      },
+      "engines": {
+        "node": ">=16.14"
       },
       "funding": {
         "url": "https://opencollective.com/pnpm"
       }
     },
     "node_modules/@pnpm/error": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/@pnpm/error/-/error-3.1.0.tgz",
-      "integrity": "sha512-bmXBD/kzlgHqlIZPP8QJUDAxGqug2qhPdnqNnuXyWQSyIEgeaXyPiUh91MLj9GwLoHA9Zdrx5+dfEougzxf4mA==",
+      "version": "5.0.2",
+      "resolved": "https://registry.npmjs.org/@pnpm/error/-/error-5.0.2.tgz",
+      "integrity": "sha512-0TEm+tWNYm+9uh6DSKyRbv8pv/6b4NL0PastLvMxIoqZbBZ5Zj1cYi332R9xsSUi31ZOsu2wpgn/bC7DA9hrjg==",
       "dependencies": {
-        "@pnpm/constants": "6.1.0"
+        "@pnpm/constants": "7.1.1"
       },
       "engines": {
-        "node": ">=14.6"
+        "node": ">=16.14"
       },
       "funding": {
         "url": "https://opencollective.com/pnpm"
       }
     },
     "node_modules/@pnpm/git-utils": {
-      "version": "0.1.0",
-      "resolved": "https://registry.npmjs.org/@pnpm/git-utils/-/git-utils-0.1.0.tgz",
-      "integrity": "sha512-W3zsG9585cKL+FqgcT+IfTgZX5C+CbNkFjOnJN+qbysT1N30+BbvEByCcDMsTy7QDrAk6oS7WU1Rym3U2xlh2Q==",
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/@pnpm/git-utils/-/git-utils-1.0.0.tgz",
+      "integrity": "sha512-lUI+XrzOJN4zdPGOGnFUrmtXAXpXi8wD8OI0nWOZmlh+raqbLzC3VkXu1zgaduOK6YonOcnQW88O+ojav1rAdA==",
       "dependencies": {
-        "execa": "npm:safe-execa@^0.1.1"
+        "execa": "npm:safe-execa@0.1.2"
       },
       "engines": {
-        "node": ">=14.6"
+        "node": ">=16.14"
       },
       "funding": {
         "url": "https://opencollective.com/pnpm"
       }
     },
     "node_modules/@pnpm/graceful-fs": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/@pnpm/graceful-fs/-/graceful-fs-2.0.0.tgz",
-      "integrity": "sha512-ogUZCGf0/UILZt6d8PsO4gA4pXh7f0BumXeFkcCe4AQ65PXPKfAkHC0C30Lheh2EgFOpLZm3twDP1Eiww18gew==",
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/@pnpm/graceful-fs/-/graceful-fs-3.0.0.tgz",
+      "integrity": "sha512-72kkqIL2sacOVr6Y6B6xDGjRC4QgTLeIGkw/5XYyeMgMeL9mDE0lonZEOL9JuLS0XPOXQoyDtRCSmUrzAA57LQ==",
       "dependencies": {
-        "graceful-fs": "^4.2.6"
+        "graceful-fs": "^4.2.11"
       },
       "engines": {
-        "node": ">=14.19"
+        "node": ">=16.14"
       },
       "funding": {
         "url": "https://opencollective.com/pnpm"
       }
     },
     "node_modules/@pnpm/lockfile-file": {
-      "version": "5.3.8",
-      "resolved": "https://registry.npmjs.org/@pnpm/lockfile-file/-/lockfile-file-5.3.8.tgz",
-      "integrity": "sha512-fgXUwTeyW6yhJp1pUdMZJoFTg7qgi1yr7n3rlqm5sgM7leX1Zzx+6+oNSldeRfz0M2jMANU0PXvqyx2meknO/Q==",
-      "dependencies": {
-        "@pnpm/constants": "6.1.0",
-        "@pnpm/error": "3.1.0",
-        "@pnpm/git-utils": "0.1.0",
-        "@pnpm/lockfile-types": "4.3.3",
-        "@pnpm/merge-lockfile-changes": "3.0.11",
-        "@pnpm/types": "8.7.0",
+      "version": "8.1.2",
+      "resolved": "https://registry.npmjs.org/@pnpm/lockfile-file/-/lockfile-file-8.1.2.tgz",
+      "integrity": "sha512-7HqPs4qDgfyBpnYqELwLvQQm/4xVRAzQ0Zv3sNt8IhJz8pncjPKcNVVXsGQEUg6Y922ThXfTCumbkSuPFl/rlA==",
+      "dependencies": {
+        "@pnpm/constants": "7.1.1",
+        "@pnpm/dependency-path": "2.1.3",
+        "@pnpm/error": "5.0.2",
+        "@pnpm/git-utils": "1.0.0",
+        "@pnpm/lockfile-types": "5.1.1",
+        "@pnpm/merge-lockfile-changes": "5.0.3",
+        "@pnpm/types": "9.2.0",
+        "@pnpm/util.lex-comparator": "1.0.0",
         "@zkochan/rimraf": "^2.1.2",
         "comver-to-semver": "^1.0.0",
-        "dependency-path": "9.2.6",
-        "js-yaml": "npm:@zkochan/js-yaml@^0.0.6",
+        "js-yaml": "npm:@zkochan/js-yaml@0.0.6",
         "normalize-path": "^3.0.0",
         "ramda": "npm:@pnpm/ramda@0.28.1",
-        "semver": "^7.3.8",
+        "semver": "^7.5.4",
         "sort-keys": "^4.2.0",
         "strip-bom": "^4.0.0",
-        "write-file-atomic": "^4.0.2"
+        "write-file-atomic": "^5.0.1"
       },
       "engines": {
-        "node": ">=14.6"
+        "node": ">=16.14"
       },
       "funding": {
         "url": "https://opencollective.com/pnpm"
       },
       "peerDependencies": {
-        "@pnpm/logger": "^4.0.0"
-      }
-    },
-    "node_modules/@pnpm/lockfile-file/node_modules/@pnpm/lockfile-types": {
-      "version": "4.3.3",
-      "resolved": "https://registry.npmjs.org/@pnpm/lockfile-types/-/lockfile-types-4.3.3.tgz",
-      "integrity": "sha512-FY+u1JOclJNy/O3EuOPWhQyN23aQTisxmm29Tj52EGFy8zPz7SZev2+K06jUzqKuo7EChQlrR8Tqv/gTOMQN2w==",
-      "dependencies": {
-        "@pnpm/types": "8.7.0"
-      },
-      "engines": {
-        "node": ">=14.6"
-      },
-      "funding": {
-        "url": "https://opencollective.com/pnpm"
-      }
-    },
-    "node_modules/@pnpm/lockfile-file/node_modules/@pnpm/types": {
-      "version": "8.7.0",
-      "resolved": "https://registry.npmjs.org/@pnpm/types/-/types-8.7.0.tgz",
-      "integrity": "sha512-2j4ldzfOQNa3EZfJEmJrBQefE+OWBMgAoWWnVeXi5B7itVHRcg27Np+q0FxzuZE//O0N44WKH4WJG53sBsUqCQ==",
-      "engines": {
-        "node": ">=14.6"
-      },
-      "funding": {
-        "url": "https://opencollective.com/pnpm"
-      }
-    },
-    "node_modules/@pnpm/lockfile-file/node_modules/dependency-path": {
-      "version": "9.2.6",
-      "resolved": "https://registry.npmjs.org/dependency-path/-/dependency-path-9.2.6.tgz",
-      "integrity": "sha512-B6t52bLlGj/vpyVcqGuido0QNYIMpFKzfZzmgmYVjwuzLrlIuY9Dky4Dru8J5vWPcj/GHu3DtXUUemzCVwJ3Iw==",
-      "dependencies": {
-        "@pnpm/crypto.base32-hash": "1.0.1",
-        "@pnpm/types": "8.7.0",
-        "encode-registry": "^3.0.0",
-        "semver": "^7.3.7"
-      },
-      "engines": {
-        "node": ">=14.6"
-      },
-      "funding": {
-        "url": "https://opencollective.com/pnpm"
+        "@pnpm/logger": "^5.0.0"
       }
     },
     "node_modules/@pnpm/lockfile-types": {
-      "version": "4.3.6",
-      "resolved": "https://registry.npmjs.org/@pnpm/lockfile-types/-/lockfile-types-4.3.6.tgz",
-      "integrity": "sha512-5vvdV3tEVOCzzeGv2FXK4590qPUVpZ+5gdqCawFuiNTJavx+4rmmY4aDUjdVXUcKGwqkIBPVKe/SNUBA3A2rtg==",
+      "version": "5.1.1",
+      "resolved": "https://registry.npmjs.org/@pnpm/lockfile-types/-/lockfile-types-5.1.1.tgz",
+      "integrity": "sha512-QswQGFENlosERR2rCxp/0MhyOwBsRyfDvngTOmn8QG2IPd3KsCJFUNFnLddAp13L+9bxcTgijYIuyN2MlShoFw==",
       "dependencies": {
-        "@pnpm/types": "8.10.0"
+        "@pnpm/types": "9.2.0"
       },
       "engines": {
-        "node": ">=14.6"
+        "node": ">=16.14"
       },
       "funding": {
         "url": "https://opencollective.com/pnpm"
       }
     },
     "node_modules/@pnpm/lockfile-utils": {
-      "version": "4.2.8",
-      "resolved": "https://registry.npmjs.org/@pnpm/lockfile-utils/-/lockfile-utils-4.2.8.tgz",
-      "integrity": "sha512-4vonZnjhNPd7GFzDmcQeBoIucNWpbbrTQNT61QxB5cNbdYej3WBVtuApwEzkZ65/rpnv3+ek1DoXomMi1ttozQ==",
-      "dependencies": {
-        "@pnpm/lockfile-types": "4.3.5",
-        "@pnpm/resolver-base": "9.1.4",
-        "@pnpm/types": "8.9.0",
-        "dependency-path": "9.2.8",
+      "version": "8.0.3",
+      "resolved": "https://registry.npmjs.org/@pnpm/lockfile-utils/-/lockfile-utils-8.0.3.tgz",
+      "integrity": "sha512-NezoTk3xdA9Dh7dd7lqi1v3QM2GR+ZvuPz9VaDXToqhUKYlcARgSbR56+eIAtraImeZdANIKjvwmJExVkUHAug==",
+      "dependencies": {
+        "@pnpm/dependency-path": "2.1.3",
+        "@pnpm/lockfile-types": "5.1.1",
+        "@pnpm/resolver-base": "10.0.2",
+        "@pnpm/types": "9.2.0",
         "get-npm-tarball-url": "^2.0.3",
         "ramda": "npm:@pnpm/ramda@0.28.1"
       },
       "engines": {
-        "node": ">=14.6"
-      },
-      "funding": {
-        "url": "https://opencollective.com/pnpm"
-      }
-    },
-    "node_modules/@pnpm/lockfile-utils/node_modules/@pnpm/lockfile-types": {
-      "version": "4.3.5",
-      "resolved": "https://registry.npmjs.org/@pnpm/lockfile-types/-/lockfile-types-4.3.5.tgz",
-      "integrity": "sha512-5GdnnhGdz+4JphrKYYZ7rcv9t37BllNwdCbFLYli6ajyIeoSCklNNCHWNewskWs3PZZUHW8LxD/nKHPaarbm9g==",
-      "dependencies": {
-        "@pnpm/types": "8.9.0"
-      },
-      "engines": {
-        "node": ">=14.6"
-      },
-      "funding": {
-        "url": "https://opencollective.com/pnpm"
-      }
-    },
-    "node_modules/@pnpm/lockfile-utils/node_modules/@pnpm/types": {
-      "version": "8.9.0",
-      "resolved": "https://registry.npmjs.org/@pnpm/types/-/types-8.9.0.tgz",
-      "integrity": "sha512-3MYHYm8epnciApn6w5Fzx6sepawmsNU7l6lvIq+ER22/DPSrr83YMhU/EQWnf4lORn2YyiXFj0FJSyJzEtIGmw==",
-      "engines": {
-        "node": ">=14.6"
+        "node": ">=16.14"
       },
       "funding": {
         "url": "https://opencollective.com/pnpm"
       }
     },
     "node_modules/@pnpm/logger": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/@pnpm/logger/-/logger-4.0.0.tgz",
-      "integrity": "sha512-SIShw+k556e7S7tLZFVSIHjCdiVog1qWzcKW2RbLEHPItdisAFVNIe34kYd9fMSswTlSRLS/qRjw3ZblzWmJ9Q==",
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/@pnpm/logger/-/logger-5.0.0.tgz",
+      "integrity": "sha512-YfcB2QrX+Wx1o6LD1G2Y2fhDhOix/bAY/oAnMpHoNLsKkWIRbt1oKLkIFvxBMzLwAEPqnYWguJrYC+J6i4ywbw==",
       "dependencies": {
-        "bole": "^4.0.0",
+        "bole": "^5.0.0",
         "ndjson": "^2.0.0"
       },
       "engines": {
@@ -1632,107 +2204,62 @@
       }
     },
     "node_modules/@pnpm/merge-lockfile-changes": {
-      "version": "3.0.11",
-      "resolved": "https://registry.npmjs.org/@pnpm/merge-lockfile-changes/-/merge-lockfile-changes-3.0.11.tgz",
-      "integrity": "sha512-LICYA0yc46ELJe6uECMO4rYhRb5W8DQDHFlVAkg7/tm9UT65aweiNopxVCHUNaHn5+m9u1QamsIXzvKnBwV+Kw==",
+      "version": "5.0.3",
+      "resolved": "https://registry.npmjs.org/@pnpm/merge-lockfile-changes/-/merge-lockfile-changes-5.0.3.tgz",
+      "integrity": "sha512-RmWcpl7wWDx17upkxPfGorpLr85FbyihZoi2naoc04nocawKkVVeI68PDWFkgEmImuoQgHZaFCgAVgTbwJyb9A==",
       "dependencies": {
-        "@pnpm/lockfile-types": "4.3.3",
+        "@pnpm/lockfile-types": "5.1.1",
         "comver-to-semver": "^1.0.0",
         "ramda": "npm:@pnpm/ramda@0.28.1",
-        "semver": "^7.3.7"
-      },
-      "engines": {
-        "node": ">=14.6"
-      },
-      "funding": {
-        "url": "https://opencollective.com/pnpm"
-      }
-    },
-    "node_modules/@pnpm/merge-lockfile-changes/node_modules/@pnpm/lockfile-types": {
-      "version": "4.3.3",
-      "resolved": "https://registry.npmjs.org/@pnpm/lockfile-types/-/lockfile-types-4.3.3.tgz",
-      "integrity": "sha512-FY+u1JOclJNy/O3EuOPWhQyN23aQTisxmm29Tj52EGFy8zPz7SZev2+K06jUzqKuo7EChQlrR8Tqv/gTOMQN2w==",
-      "dependencies": {
-        "@pnpm/types": "8.7.0"
+        "semver": "^7.5.4"
       },
       "engines": {
-        "node": ">=14.6"
-      },
-      "funding": {
-        "url": "https://opencollective.com/pnpm"
-      }
-    },
-    "node_modules/@pnpm/merge-lockfile-changes/node_modules/@pnpm/types": {
-      "version": "8.7.0",
-      "resolved": "https://registry.npmjs.org/@pnpm/types/-/types-8.7.0.tgz",
-      "integrity": "sha512-2j4ldzfOQNa3EZfJEmJrBQefE+OWBMgAoWWnVeXi5B7itVHRcg27Np+q0FxzuZE//O0N44WKH4WJG53sBsUqCQ==",
-      "engines": {
-        "node": ">=14.6"
+        "node": ">=16.14"
       },
       "funding": {
         "url": "https://opencollective.com/pnpm"
       }
     },
     "node_modules/@pnpm/prune-lockfile": {
-      "version": "4.0.24",
-      "resolved": "https://registry.npmjs.org/@pnpm/prune-lockfile/-/prune-lockfile-4.0.24.tgz",
-      "integrity": "sha512-v0NA9ZkxUkaT9LxwCwN6JNrQ8ok1L7skxn9wk+1icLYKPQXgSNKap0zSAJeBtyNd9NXGXxO0QG8Noeto/MCAKg==",
-      "dependencies": {
-        "@pnpm/constants": "6.2.0",
-        "@pnpm/dependency-path": "1.1.3",
-        "@pnpm/lockfile-types": "4.3.6",
-        "@pnpm/types": "8.10.0",
+      "version": "5.0.5",
+      "resolved": "https://registry.npmjs.org/@pnpm/prune-lockfile/-/prune-lockfile-5.0.5.tgz",
+      "integrity": "sha512-XY6P824cS1YN3LTy6IQzL9PDnE44Dq7SCxEaxWikPamgNRWO8m5rw1P8bdEzZQVuqJFdy8SjCgkE5VQrEEEiBw==",
+      "dependencies": {
+        "@pnpm/constants": "7.1.1",
+        "@pnpm/dependency-path": "2.1.3",
+        "@pnpm/lockfile-types": "5.1.1",
+        "@pnpm/types": "9.2.0",
         "ramda": "npm:@pnpm/ramda@0.28.1"
       },
       "engines": {
-        "node": ">=14.6"
-      },
-      "funding": {
-        "url": "https://opencollective.com/pnpm"
-      }
-    },
-    "node_modules/@pnpm/prune-lockfile/node_modules/@pnpm/constants": {
-      "version": "6.2.0",
-      "resolved": "https://registry.npmjs.org/@pnpm/constants/-/constants-6.2.0.tgz",
-      "integrity": "sha512-GlDVUkeTR2WK0oZAM+wtDY6RBMLw6b0Z/5qKgBbDszx4e+R7CHyfG7JofyypogRCfeWXeAXp2C2FkFTh+sNgIg==",
-      "engines": {
-        "node": ">=14.6"
+        "node": ">=16.14"
       },
       "funding": {
         "url": "https://opencollective.com/pnpm"
       }
     },
     "node_modules/@pnpm/read-project-manifest": {
-      "version": "3.0.13",
-      "resolved": "https://registry.npmjs.org/@pnpm/read-project-manifest/-/read-project-manifest-3.0.13.tgz",
-      "integrity": "sha512-DEpAO64fA6VhcAudrjTAM4RIWCvw0Pmr4L0gaZqV0yta5zIkOTfFXT07lo80Zch4bvqmcOxlbM6Bazd4W+6Cww==",
-      "dependencies": {
-        "@pnpm/error": "3.1.0",
-        "@pnpm/graceful-fs": "2.0.0",
-        "@pnpm/types": "8.7.0",
-        "@pnpm/write-project-manifest": "3.0.10",
-        "detect-indent": "^6.1.0",
+      "version": "5.0.4",
+      "resolved": "https://registry.npmjs.org/@pnpm/read-project-manifest/-/read-project-manifest-5.0.4.tgz",
+      "integrity": "sha512-fEfk7jjEhQrKm6xdQ9zIUVEqy8gAACo8TNaflVoXj+6QRul3mKaqW5zrjo11zYvDUA6lHIFw5ka1QnHXGlu67A==",
+      "dependencies": {
+        "@gwhitney/detect-indent": "7.0.1",
+        "@pnpm/error": "5.0.2",
+        "@pnpm/graceful-fs": "3.0.0",
+        "@pnpm/text.comments-parser": "2.0.0",
+        "@pnpm/types": "9.2.0",
+        "@pnpm/write-project-manifest": "5.0.2",
         "fast-deep-equal": "^3.1.3",
         "is-windows": "^1.0.2",
-        "json5": "^2.2.1",
+        "json5": "^2.2.3",
+        "lodash.clonedeep": "^4.5.0",
         "parse-json": "^5.2.0",
         "read-yaml-file": "^2.1.0",
         "sort-keys": "^4.2.0",
         "strip-bom": "^4.0.0"
       },
       "engines": {
-        "node": ">=14.6"
-      },
-      "funding": {
-        "url": "https://opencollective.com/pnpm"
-      }
-    },
-    "node_modules/@pnpm/read-project-manifest/node_modules/@pnpm/types": {
-      "version": "8.7.0",
-      "resolved": "https://registry.npmjs.org/@pnpm/types/-/types-8.7.0.tgz",
-      "integrity": "sha512-2j4ldzfOQNa3EZfJEmJrBQefE+OWBMgAoWWnVeXi5B7itVHRcg27Np+q0FxzuZE//O0N44WKH4WJG53sBsUqCQ==",
-      "engines": {
-        "node": ">=14.6"
+        "node": ">=16.14"
       },
       "funding": {
         "url": "https://opencollective.com/pnpm"
@@ -1762,14 +2289,14 @@
       }
     },
     "node_modules/@pnpm/registry-mock": {
-      "version": "2.20.0",
-      "resolved": "https://registry.npmjs.org/@pnpm/registry-mock/-/registry-mock-2.20.0.tgz",
-      "integrity": "sha512-ADVI/RsdN+l4GHD9gKJvXpNd/UBX5W0Nfv/PEuc4kf++aBzDvEHd2n0QAnk5LZTidCHXvYCagFgcCy/oFkkIJg==",
+      "version": "3.11.0",
+      "resolved": "https://registry.npmjs.org/@pnpm/registry-mock/-/registry-mock-3.11.0.tgz",
+      "integrity": "sha512-Uc2h/h97YepX0Depm6/nOIUzjLz1Ny7xoL91GYcRRq/pbWJamCCGFSmZTHiBc3oX1WzremOqe4vvqE3uTkWZQg==",
       "dev": true,
       "dependencies": {
         "anonymous-npm-registry-client": "^0.2.0",
-        "cpr": "^3.0.1",
         "execa": "^5.1.1",
+        "fs-extra": "^11.1.1",
         "read-yaml-file": "^2.1.0",
         "rimraf": "^3.0.2",
         "tempy": "^1.0.1",
@@ -1806,6 +2333,20 @@
         "url": "https://github.com/sindresorhus/execa?sponsor=1"
       }
     },
+    "node_modules/@pnpm/registry-mock/node_modules/fs-extra": {
+      "version": "11.1.1",
+      "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.1.tgz",
+      "integrity": "sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==",
+      "dev": true,
+      "dependencies": {
+        "graceful-fs": "^4.2.0",
+        "jsonfile": "^6.0.1",
+        "universalify": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=14.14"
+      }
+    },
     "node_modules/@pnpm/registry-mock/node_modules/js-yaml": {
       "version": "4.1.0",
       "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
@@ -1818,6 +2359,18 @@
         "js-yaml": "bin/js-yaml.js"
       }
     },
+    "node_modules/@pnpm/registry-mock/node_modules/jsonfile": {
+      "version": "6.1.0",
+      "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
+      "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
+      "dev": true,
+      "dependencies": {
+        "universalify": "^2.0.0"
+      },
+      "optionalDependencies": {
+        "graceful-fs": "^4.1.6"
+      }
+    },
     "node_modules/@pnpm/registry-mock/node_modules/read-yaml-file": {
       "version": "2.1.0",
       "resolved": "https://registry.npmjs.org/read-yaml-file/-/read-yaml-file-2.1.0.tgz",
@@ -1831,74 +2384,107 @@
         "node": ">=10.13"
       }
     },
+    "node_modules/@pnpm/registry-mock/node_modules/universalify": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
+      "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
+      "dev": true,
+      "engines": {
+        "node": ">= 10.0.0"
+      }
+    },
     "node_modules/@pnpm/resolver-base": {
-      "version": "9.1.4",
-      "resolved": "https://registry.npmjs.org/@pnpm/resolver-base/-/resolver-base-9.1.4.tgz",
-      "integrity": "sha512-OoclNn2NxqyJ+BjrB6gaR2Vj1rA6eryIn+xEh5UDX5y3rNrFL1pKCYHkEJv4qqKSayX1JsGHv7NzK5iSh4g3iA==",
+      "version": "10.0.2",
+      "resolved": "https://registry.npmjs.org/@pnpm/resolver-base/-/resolver-base-10.0.2.tgz",
+      "integrity": "sha512-5Uop0eLVxoGnG+K5aNkiBeJqyDD4F34+ZpQxxFLtL7xGf9aISPY6OlFfHU0hBD/8aFtZ5JSXhHUsb42aFyqP5Q==",
       "dependencies": {
-        "@pnpm/types": "8.9.0"
+        "@pnpm/types": "9.2.0"
       },
       "engines": {
-        "node": ">=14.6"
+        "node": ">=16.14"
       },
       "funding": {
         "url": "https://opencollective.com/pnpm"
       }
     },
-    "node_modules/@pnpm/resolver-base/node_modules/@pnpm/types": {
-      "version": "8.9.0",
-      "resolved": "https://registry.npmjs.org/@pnpm/types/-/types-8.9.0.tgz",
-      "integrity": "sha512-3MYHYm8epnciApn6w5Fzx6sepawmsNU7l6lvIq+ER22/DPSrr83YMhU/EQWnf4lORn2YyiXFj0FJSyJzEtIGmw==",
+    "node_modules/@pnpm/text.comments-parser": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/@pnpm/text.comments-parser/-/text.comments-parser-2.0.0.tgz",
+      "integrity": "sha512-DRWtTmmxQQtuWHf1xPt9bqzCSq8d0MQF5x1kdpCDMLd7xk3nP4To2/OGkPrb8MKbrWsgCNDwXyKCFlEKrAg7fg==",
+      "dependencies": {
+        "strip-comments-strings": "1.2.0"
+      },
       "engines": {
-        "node": ">=14.6"
+        "node": ">=16.14"
       },
       "funding": {
         "url": "https://opencollective.com/pnpm"
       }
     },
     "node_modules/@pnpm/types": {
-      "version": "8.10.0",
-      "resolved": "https://registry.npmjs.org/@pnpm/types/-/types-8.10.0.tgz",
-      "integrity": "sha512-A4pcNNvFJdkMXArEjTCOIYNL2VxD4uBynWZ6cBIELXb5qJ0tUzwKsaSz4J953I0rQFqnsFpUYqaWIquI10W1sw==",
+      "version": "9.2.0",
+      "resolved": "https://registry.npmjs.org/@pnpm/types/-/types-9.2.0.tgz",
+      "integrity": "sha512-LtkHgtJ5Bjny4poUWyMhOKHc822/zm8NhPx+7VbopfDYnTrKgJwTyTbZjZEyN5KpDw3R1Fr8VYdmv5gn4eyWbw==",
       "engines": {
-        "node": ">=14.6"
+        "node": ">=16.14"
       },
       "funding": {
         "url": "https://opencollective.com/pnpm"
       }
     },
+    "node_modules/@pnpm/util.lex-comparator": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/@pnpm/util.lex-comparator/-/util.lex-comparator-1.0.0.tgz",
+      "integrity": "sha512-3aBQPHntVgk5AweBWZn+1I/fqZ9krK/w01197aYVkAJQGftb+BVWgEepxY5GChjSW12j52XX+CmfynYZ/p0DFQ==",
+      "engines": {
+        "node": ">=12.22.0"
+      }
+    },
     "node_modules/@pnpm/write-project-manifest": {
-      "version": "3.0.10",
-      "resolved": "https://registry.npmjs.org/@pnpm/write-project-manifest/-/write-project-manifest-3.0.10.tgz",
-      "integrity": "sha512-sw5AXR+KplipHL3GiPq8xNib8XUsi8ieh4XFVgjrAGkLIhfOrslonULY7d0QpVMotFMS7ha74s0s059T/5cnmQ==",
+      "version": "5.0.2",
+      "resolved": "https://registry.npmjs.org/@pnpm/write-project-manifest/-/write-project-manifest-5.0.2.tgz",
+      "integrity": "sha512-BSYKyVOp+GbqxqYBuBex05iJgplgbiwoJGxLsK989lGT9Ekc0QatNpbyhk1vVhocv7AlRySrAyI7Yk2l4do/9g==",
       "dependencies": {
-        "@pnpm/types": "8.7.0",
-        "json5": "^2.2.1",
-        "write-file-atomic": "^4.0.2",
-        "write-yaml-file": "^4.2.0"
+        "@pnpm/text.comments-parser": "2.0.0",
+        "@pnpm/types": "9.2.0",
+        "json5": "^2.2.3",
+        "write-file-atomic": "^5.0.1",
+        "write-yaml-file": "^5.0.0"
       },
       "engines": {
-        "node": ">=14.6"
+        "node": ">=16.14"
       },
       "funding": {
         "url": "https://opencollective.com/pnpm"
       }
     },
-    "node_modules/@pnpm/write-project-manifest/node_modules/@pnpm/types": {
-      "version": "8.7.0",
-      "resolved": "https://registry.npmjs.org/@pnpm/types/-/types-8.7.0.tgz",
-      "integrity": "sha512-2j4ldzfOQNa3EZfJEmJrBQefE+OWBMgAoWWnVeXi5B7itVHRcg27Np+q0FxzuZE//O0N44WKH4WJG53sBsUqCQ==",
-      "engines": {
-        "node": ">=14.6"
+    "node_modules/@pnpm/write-project-manifest/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==",
+      "dependencies": {
+        "argparse": "^2.0.1"
       },
-      "funding": {
-        "url": "https://opencollective.com/pnpm"
+      "bin": {
+        "js-yaml": "bin/js-yaml.js"
+      }
+    },
+    "node_modules/@pnpm/write-project-manifest/node_modules/write-yaml-file": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/write-yaml-file/-/write-yaml-file-5.0.0.tgz",
+      "integrity": "sha512-FdNA4RyH1L43TlvGG8qOMIfcEczwA5ij+zLXUy3Z83CjxhLvcV7/Q/8pk22wnCgYw7PJhtK+7lhO+qqyT4NdvQ==",
+      "dependencies": {
+        "js-yaml": "^4.1.0",
+        "write-file-atomic": "^5.0.1"
+      },
+      "engines": {
+        "node": ">=16.14"
       }
     },
     "node_modules/@sinclair/typebox": {
-      "version": "0.24.51",
-      "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz",
-      "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==",
+      "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
     },
     "node_modules/@sinonjs/commons": {
@@ -1920,9 +2506,9 @@
       }
     },
     "node_modules/@swc/core": {
-      "version": "1.3.42",
-      "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.3.42.tgz",
-      "integrity": "sha512-nVFUd5+7tGniM2cT3LXaqnu3735Cu4az8A9gAKK+8sdpASI52SWuqfDBmjFCK9xG90MiVDVp2PTZr0BWqCIzpw==",
+      "version": "1.3.72",
+      "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.3.72.tgz",
+      "integrity": "sha512-+AKjwLH3/STfPrd7CHzB9+NG1FVT0UKJMUChuWq9sQ8b9xlV8vUeRgZXgh/EHYvNQgl/OUTQKtL6xU2yOLuEuA==",
       "dev": true,
       "hasInstallScript": true,
       "engines": {
@@ -1933,22 +2519,30 @@
         "url": "https://opencollective.com/swc"
       },
       "optionalDependencies": {
-        "@swc/core-darwin-arm64": "1.3.42",
-        "@swc/core-darwin-x64": "1.3.42",
-        "@swc/core-linux-arm-gnueabihf": "1.3.42",
-        "@swc/core-linux-arm64-gnu": "1.3.42",
-        "@swc/core-linux-arm64-musl": "1.3.42",
-        "@swc/core-linux-x64-gnu": "1.3.42",
-        "@swc/core-linux-x64-musl": "1.3.42",
-        "@swc/core-win32-arm64-msvc": "1.3.42",
-        "@swc/core-win32-ia32-msvc": "1.3.42",
-        "@swc/core-win32-x64-msvc": "1.3.42"
+        "@swc/core-darwin-arm64": "1.3.72",
+        "@swc/core-darwin-x64": "1.3.72",
+        "@swc/core-linux-arm-gnueabihf": "1.3.72",
+        "@swc/core-linux-arm64-gnu": "1.3.72",
+        "@swc/core-linux-arm64-musl": "1.3.72",
+        "@swc/core-linux-x64-gnu": "1.3.72",
+        "@swc/core-linux-x64-musl": "1.3.72",
+        "@swc/core-win32-arm64-msvc": "1.3.72",
+        "@swc/core-win32-ia32-msvc": "1.3.72",
+        "@swc/core-win32-x64-msvc": "1.3.72"
+      },
+      "peerDependencies": {
+        "@swc/helpers": "^0.5.0"
+      },
+      "peerDependenciesMeta": {
+        "@swc/helpers": {
+          "optional": true
+        }
       }
     },
     "node_modules/@swc/core-darwin-arm64": {
-      "version": "1.3.42",
-      "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.42.tgz",
-      "integrity": "sha512-hM6RrZFyoCM9mX3cj/zM5oXwhAqjUdOCLXJx7KTQps7NIkv/Qjvobgvyf2gAb89j3ARNo9NdIoLjTjJ6oALtiA==",
+      "version": "1.3.72",
+      "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.72.tgz",
+      "integrity": "sha512-oNSI5hVfZ+1xpj+dH1g4kQqA0VsGtqd8S9S+cDqkHZiOOVOevw9KN6dzVtmLOcPtlULVypVc0TVvsB55KdVZhQ==",
       "cpu": [
         "arm64"
       ],
@@ -1962,9 +2556,9 @@
       }
     },
     "node_modules/@swc/core-darwin-x64": {
-      "version": "1.3.42",
-      "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.3.42.tgz",
-      "integrity": "sha512-bjsWtHMb6wJK1+RGlBs2USvgZ0txlMk11y0qBLKo32gLKTqzUwRw0Fmfzuf6Ue2a/w//7eqMlPFEre4LvJajGw==",
+      "version": "1.3.72",
+      "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.3.72.tgz",
+      "integrity": "sha512-y5O/WQ1g0/VfTgeNahWIOutbdD5U2Gi703jaefdcoJo3FUx8WU108QQdbVGwGMgaqapo3iQB6Qs9paixYQAYsA==",
       "cpu": [
         "x64"
       ],
@@ -1978,9 +2572,9 @@
       }
     },
     "node_modules/@swc/core-linux-arm-gnueabihf": {
-      "version": "1.3.42",
-      "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.42.tgz",
-      "integrity": "sha512-Oe0ggMz3MyqXNfeVmY+bBTL0hFSNY3bx8dhcqsh4vXk/ZVGse94QoC4dd92LuPHmKT0x6nsUzB86x2jU9QHW5g==",
+      "version": "1.3.72",
+      "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.72.tgz",
+      "integrity": "sha512-05JdWcso0OomHF+7bk5MBDgI8MZ9skcQ/4nhSv5gboSgSiuBmKM15Bg3lZ5iAUwGByNj7pGkSmmd3YwTrXEB+g==",
       "cpu": [
         "arm"
       ],
@@ -1994,9 +2588,9 @@
       }
     },
     "node_modules/@swc/core-linux-arm64-gnu": {
-      "version": "1.3.42",
-      "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.42.tgz",
-      "integrity": "sha512-ZJsa8NIW1RLmmHGTJCbM7OPSbBZ9rOMrLqDtUOGrT0uoJXZnnQqolflamB5wviW0X6h3Z3/PSTNGNDCJ3u3Lqg==",
+      "version": "1.3.72",
+      "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.72.tgz",
+      "integrity": "sha512-8qRELJaeYshhJgqvyOeXCKqBOpai+JYdWuouMbvvDUL85j3OcZhzR+bipexEbbJKcOCdRnoYB7Qg6mjqZ0t7VA==",
       "cpu": [
         "arm64"
       ],
@@ -2010,9 +2604,9 @@
       }
     },
     "node_modules/@swc/core-linux-arm64-musl": {
-      "version": "1.3.42",
-      "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.42.tgz",
-      "integrity": "sha512-YpZwlFAfOp5vkm/uVUJX1O7N3yJDO1fDQRWqsOPPNyIJkI2ydlRQtgN6ZylC159Qv+TimfXnGTlNr7o3iBAqjg==",
+      "version": "1.3.72",
+      "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.72.tgz",
+      "integrity": "sha512-tOqAGZw+Pe7YrBHFrwFVyRiKqjgjzwYbJmY+UDxLrzWrZSVtC3eO2TPrp7kWmhirg40Og81BbdfRAl8ds48w0Q==",
       "cpu": [
         "arm64"
       ],
@@ -2026,9 +2620,9 @@
       }
     },
     "node_modules/@swc/core-linux-x64-gnu": {
-      "version": "1.3.42",
-      "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.42.tgz",
-      "integrity": "sha512-0ccpKnsZbyHBzaQFdP8U9i29nvOfKitm6oJfdJzlqsY/jCqwvD8kv2CAKSK8WhJz//ExI2LqNrDI0yazx5j7+A==",
+      "version": "1.3.72",
+      "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.72.tgz",
+      "integrity": "sha512-U2W2xWR3s9nplGVWz376GiBlcLTgxyYKlpZPBNZk0w3OvTcjKC62gW1Pe7PUkk4NgJUnaQDBa/mb4V4Zl+GZPA==",
       "cpu": [
         "x64"
       ],
@@ -2042,9 +2636,9 @@
       }
     },
     "node_modules/@swc/core-linux-x64-musl": {
-      "version": "1.3.42",
-      "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.42.tgz",
-      "integrity": "sha512-7eckRRuTZ6+3K21uyfXXgc2ZCg0mSWRRNwNT3wap2bYkKPeqTgb8pm8xYSZNEiMuDonHEat6XCCV36lFY6kOdQ==",
+      "version": "1.3.72",
+      "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.72.tgz",
+      "integrity": "sha512-3+2dUiZBsifKgvnFEHWdysXjInK8K+BfPBw2tTZJmq1+fZLt0rvuErYDVMLfIJnVWLCcJMnDtTXrvkFV1y/6iA==",
       "cpu": [
         "x64"
       ],
@@ -2058,9 +2652,9 @@
       }
     },
     "node_modules/@swc/core-win32-arm64-msvc": {
-      "version": "1.3.42",
-      "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.42.tgz",
-      "integrity": "sha512-t27dJkdw0GWANdN4TV0lY/V5vTYSx5SRjyzzZolep358ueCGuN1XFf1R0JcCbd1ojosnkQg2L7A7991UjXingg==",
+      "version": "1.3.72",
+      "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.72.tgz",
+      "integrity": "sha512-ndI8xZ2AId806D25xgqw2SFJ9gc/jhg21+5hA8XPq9ZL+oDiaYDztaP3ijVmZ1G5xXKD9DpgB7xmylv/f6o6GA==",
       "cpu": [
         "arm64"
       ],
@@ -2074,9 +2668,9 @@
       }
     },
     "node_modules/@swc/core-win32-ia32-msvc": {
-      "version": "1.3.42",
-      "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.42.tgz",
-      "integrity": "sha512-xfpc/Zt/aMILX4IX0e3loZaFyrae37u3MJCv1gJxgqrpeLi7efIQr3AmERkTK3mxTO6R5urSliWw2W3FyZ7D3Q==",
+      "version": "1.3.72",
+      "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.72.tgz",
+      "integrity": "sha512-F3TK8JHP3SRFjLRlzcRVZPnvvGm2CQ5/cwbIkaEq0Dla3kyctU8SiRqvtYwWCW4JuY10cUygIg93Ec/C9Lkk4g==",
       "cpu": [
         "ia32"
       ],
@@ -2090,9 +2684,9 @@
       }
     },
     "node_modules/@swc/core-win32-x64-msvc": {
-      "version": "1.3.42",
-      "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.42.tgz",
-      "integrity": "sha512-ra2K4Tu++EJLPhzZ6L8hWUsk94TdK/2UKhL9dzCBhtzKUixsGCEqhtqH1zISXNvW8qaVLFIMUP37ULe80/IJaA==",
+      "version": "1.3.72",
+      "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.72.tgz",
+      "integrity": "sha512-FXMnIUtLl0yEmGkw+xbUg/uUPExvUxUlLSHbX7CnbSuOIHqMHzvEd9skIueLAst4bvmJ8kT1hDyAIWQcTIAJYQ==",
       "cpu": [
         "x64"
       ],
@@ -2106,9 +2700,9 @@
       }
     },
     "node_modules/@swc/jest": {
-      "version": "0.2.24",
-      "resolved": "https://registry.npmjs.org/@swc/jest/-/jest-0.2.24.tgz",
-      "integrity": "sha512-fwgxQbM1wXzyKzl1+IW0aGrRvAA8k0Y3NxFhKigbPjOJ4mCKnWEcNX9HQS3gshflcxq8YKhadabGUVfdwjCr6Q==",
+      "version": "0.2.27",
+      "resolved": "https://registry.npmjs.org/@swc/jest/-/jest-0.2.27.tgz",
+      "integrity": "sha512-Xt8EJ6Wy0NYVL8KDPcDMsuUSzyV2UAByamyy28x2iDZCJw2eVz3acedCGBYxxlPR/DNr6QbA35OSymuXhC9QVA==",
       "dev": true,
       "dependencies": {
         "@jest/create-cache-key-function": "^27.4.2",
@@ -2134,9 +2728,9 @@
       "dev": true
     },
     "node_modules/@types/babel__core": {
-      "version": "7.20.0",
-      "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.0.tgz",
-      "integrity": "sha512-+n8dL/9GWblDO0iU6eZAwEIJVr5DWigtle+Q6HLOrh/pdbXOhOtqzq8VPPE2zvNJzSKY4vH/z3iT3tn0A3ypiQ==",
+      "version": "7.20.1",
+      "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.1.tgz",
+      "integrity": "sha512-aACu/U/omhdk15O4Nfb+fHgH/z3QsfQzpnvRZhYhThms83ZnAOZz7zZAWO7mn2yyNQaA4xTO8GLK3uqFU4bYYw==",
       "dev": true,
       "dependencies": {
         "@babel/parser": "^7.20.7",
@@ -2166,12 +2760,12 @@
       }
     },
     "node_modules/@types/babel__traverse": {
-      "version": "7.18.3",
-      "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.18.3.tgz",
-      "integrity": "sha512-1kbcJ40lLB7MHsj39U4Sh1uTd2E7rLEa79kmDpI6cy+XiXsteB3POdQomoq4FxszMrO3ZYchkhYJw7A2862b3w==",
+      "version": "7.20.1",
+      "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.1.tgz",
+      "integrity": "sha512-MitHFXnhtgwsGZWtT68URpOvLN4EREih1u3QtQiN4VdAxWKRVvGCSvw/Qth0M0Qq3pJpnGOu5JaM/ydK7OGbqg==",
       "dev": true,
       "dependencies": {
-        "@babel/types": "^7.3.0"
+        "@babel/types": "^7.20.7"
       }
     },
     "node_modules/@types/graceful-fs": {
@@ -2208,19 +2802,19 @@
       }
     },
     "node_modules/@types/jest": {
-      "version": "28.1.8",
-      "resolved": "https://registry.npmjs.org/@types/jest/-/jest-28.1.8.tgz",
-      "integrity": "sha512-8TJkV++s7B6XqnDrzR1m/TT0A0h948Pnl/097veySPN67VRAgQ4gZ7n2KfJo2rVq6njQjdxU3GCCyDvAeuHoiw==",
+      "version": "29.5.3",
+      "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.3.tgz",
+      "integrity": "sha512-1Nq7YrO/vJE/FYnqYyw0FS8LdrjExSgIiHyKg7xPpn+yi8Q4huZryKnkJatN1ZRH89Kw2v33/8ZMB7DuZeSLlA==",
       "dev": true,
       "dependencies": {
-        "expect": "^28.0.0",
-        "pretty-format": "^28.0.0"
+        "expect": "^29.0.0",
+        "pretty-format": "^29.0.0"
       }
     },
     "node_modules/@types/json-schema": {
-      "version": "7.0.11",
-      "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz",
-      "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==",
+      "version": "7.0.12",
+      "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz",
+      "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==",
       "dev": true
     },
     "node_modules/@types/lodash": {
@@ -2230,21 +2824,21 @@
       "dev": true
     },
     "node_modules/@types/node": {
-      "version": "16.18.20",
-      "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.20.tgz",
-      "integrity": "sha512-9fH66vSJnF563exTu3y1g2IbDz1vCj01Lbqms97r8j0qzfFisT2biypSfybVv/eYrtTB74x9xQTdRU8RyMiRrg==",
+      "version": "18.17.1",
+      "resolved": "https://registry.npmjs.org/@types/node/-/node-18.17.1.tgz",
+      "integrity": "sha512-xlR1jahfizdplZYRU59JlUx9uzF1ARa8jbhM11ccpCJya8kvos5jwdm2ZAgxSCwOl0fq21svP18EVwPBXMQudw==",
       "dev": true
     },
     "node_modules/@types/prettier": {
-      "version": "2.7.2",
-      "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.2.tgz",
-      "integrity": "sha512-KufADq8uQqo1pYKVIYzfKbJfBAc0sOeXqGbFaSpv8MRmC/zXgowNZmFcbngndGk922QDmOASEXUZCaY48gs4cg==",
+      "version": "2.7.3",
+      "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.3.tgz",
+      "integrity": "sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==",
       "dev": true
     },
     "node_modules/@types/semver": {
-      "version": "7.3.13",
-      "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.13.tgz",
-      "integrity": "sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==",
+      "version": "7.5.0",
+      "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.0.tgz",
+      "integrity": "sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==",
       "dev": true
     },
     "node_modules/@types/stack-utils": {
@@ -2269,32 +2863,34 @@
       "dev": true
     },
     "node_modules/@typescript-eslint/eslint-plugin": {
-      "version": "5.56.0",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.56.0.tgz",
-      "integrity": "sha512-ZNW37Ccl3oMZkzxrYDUX4o7cnuPgU+YrcaYXzsRtLB16I1FR5SHMqga3zGsaSliZADCWo2v8qHWqAYIj8nWCCg==",
+      "version": "6.2.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.2.0.tgz",
+      "integrity": "sha512-rClGrMuyS/3j0ETa1Ui7s6GkLhfZGKZL3ZrChLeAiACBE/tRc1wq8SNZESUuluxhLj9FkUefRs2l6bCIArWBiQ==",
       "dev": true,
       "dependencies": {
-        "@eslint-community/regexpp": "^4.4.0",
-        "@typescript-eslint/scope-manager": "5.56.0",
-        "@typescript-eslint/type-utils": "5.56.0",
-        "@typescript-eslint/utils": "5.56.0",
+        "@eslint-community/regexpp": "^4.5.1",
+        "@typescript-eslint/scope-manager": "6.2.0",
+        "@typescript-eslint/type-utils": "6.2.0",
+        "@typescript-eslint/utils": "6.2.0",
+        "@typescript-eslint/visitor-keys": "6.2.0",
         "debug": "^4.3.4",
-        "grapheme-splitter": "^1.0.4",
-        "ignore": "^5.2.0",
+        "graphemer": "^1.4.0",
+        "ignore": "^5.2.4",
+        "natural-compare": "^1.4.0",
         "natural-compare-lite": "^1.4.0",
-        "semver": "^7.3.7",
-        "tsutils": "^3.21.0"
+        "semver": "^7.5.4",
+        "ts-api-utils": "^1.0.1"
       },
       "engines": {
-        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+        "node": "^16.0.0 || >=18.0.0"
       },
       "funding": {
         "type": "opencollective",
         "url": "https://opencollective.com/typescript-eslint"
       },
       "peerDependencies": {
-        "@typescript-eslint/parser": "^5.0.0",
-        "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
+        "@typescript-eslint/parser": "^6.0.0 || ^6.0.0-alpha",
+        "eslint": "^7.0.0 || ^8.0.0"
       },
       "peerDependenciesMeta": {
         "typescript": {
@@ -2303,25 +2899,26 @@
       }
     },
     "node_modules/@typescript-eslint/parser": {
-      "version": "5.56.0",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.56.0.tgz",
-      "integrity": "sha512-sn1OZmBxUsgxMmR8a8U5QM/Wl+tyqlH//jTqCg8daTAmhAk26L2PFhcqPLlYBhYUJMZJK276qLXlHN3a83o2cg==",
+      "version": "6.2.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.2.0.tgz",
+      "integrity": "sha512-igVYOqtiK/UsvKAmmloQAruAdUHihsOCvplJpplPZ+3h4aDkC/UKZZNKgB6h93ayuYLuEymU3h8nF1xMRbh37g==",
       "dev": true,
       "dependencies": {
-        "@typescript-eslint/scope-manager": "5.56.0",
-        "@typescript-eslint/types": "5.56.0",
-        "@typescript-eslint/typescript-estree": "5.56.0",
+        "@typescript-eslint/scope-manager": "6.2.0",
+        "@typescript-eslint/types": "6.2.0",
+        "@typescript-eslint/typescript-estree": "6.2.0",
+        "@typescript-eslint/visitor-keys": "6.2.0",
         "debug": "^4.3.4"
       },
       "engines": {
-        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+        "node": "^16.0.0 || >=18.0.0"
       },
       "funding": {
         "type": "opencollective",
         "url": "https://opencollective.com/typescript-eslint"
       },
       "peerDependencies": {
-        "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
+        "eslint": "^7.0.0 || ^8.0.0"
       },
       "peerDependenciesMeta": {
         "typescript": {
@@ -2330,16 +2927,16 @@
       }
     },
     "node_modules/@typescript-eslint/scope-manager": {
-      "version": "5.56.0",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.56.0.tgz",
-      "integrity": "sha512-jGYKyt+iBakD0SA5Ww8vFqGpoV2asSjwt60Gl6YcO8ksQ8s2HlUEyHBMSa38bdLopYqGf7EYQMUIGdT/Luw+sw==",
+      "version": "6.2.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.2.0.tgz",
+      "integrity": "sha512-1ZMNVgm5nnHURU8ZSJ3snsHzpFeNK84rdZjluEVBGNu7jDymfqceB3kdIZ6A4xCfEFFhRIB6rF8q/JIqJd2R0Q==",
       "dev": true,
       "dependencies": {
-        "@typescript-eslint/types": "5.56.0",
-        "@typescript-eslint/visitor-keys": "5.56.0"
+        "@typescript-eslint/types": "6.2.0",
+        "@typescript-eslint/visitor-keys": "6.2.0"
       },
       "engines": {
-        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+        "node": "^16.0.0 || >=18.0.0"
       },
       "funding": {
         "type": "opencollective",
@@ -2347,25 +2944,25 @@
       }
     },
     "node_modules/@typescript-eslint/type-utils": {
-      "version": "5.56.0",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.56.0.tgz",
-      "integrity": "sha512-8WxgOgJjWRy6m4xg9KoSHPzBNZeQbGlQOH7l2QEhQID/+YseaFxg5J/DLwWSsi9Axj4e/cCiKx7PVzOq38tY4A==",
+      "version": "6.2.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.2.0.tgz",
+      "integrity": "sha512-DnGZuNU2JN3AYwddYIqrVkYW0uUQdv0AY+kz2M25euVNlujcN2u+rJgfJsBFlUEzBB6OQkUqSZPyuTLf2bP5mw==",
       "dev": true,
       "dependencies": {
-        "@typescript-eslint/typescript-estree": "5.56.0",
-        "@typescript-eslint/utils": "5.56.0",
+        "@typescript-eslint/typescript-estree": "6.2.0",
+        "@typescript-eslint/utils": "6.2.0",
         "debug": "^4.3.4",
-        "tsutils": "^3.21.0"
+        "ts-api-utils": "^1.0.1"
       },
       "engines": {
-        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+        "node": "^16.0.0 || >=18.0.0"
       },
       "funding": {
         "type": "opencollective",
         "url": "https://opencollective.com/typescript-eslint"
       },
       "peerDependencies": {
-        "eslint": "*"
+        "eslint": "^7.0.0 || ^8.0.0"
       },
       "peerDependenciesMeta": {
         "typescript": {
@@ -2374,12 +2971,12 @@
       }
     },
     "node_modules/@typescript-eslint/types": {
-      "version": "5.56.0",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.56.0.tgz",
-      "integrity": "sha512-JyAzbTJcIyhuUhogmiu+t79AkdnqgPUEsxMTMc/dCZczGMJQh1MK2wgrju++yMN6AWroVAy2jxyPcPr3SWCq5w==",
+      "version": "6.2.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.2.0.tgz",
+      "integrity": "sha512-1nRRaDlp/XYJQLvkQJG5F3uBTno5SHPT7XVcJ5n1/k2WfNI28nJsvLakxwZRNY5spuatEKO7d5nZWsQpkqXwBA==",
       "dev": true,
       "engines": {
-        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+        "node": "^16.0.0 || >=18.0.0"
       },
       "funding": {
         "type": "opencollective",
@@ -2387,21 +2984,21 @@
       }
     },
     "node_modules/@typescript-eslint/typescript-estree": {
-      "version": "5.56.0",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.56.0.tgz",
-      "integrity": "sha512-41CH/GncsLXOJi0jb74SnC7jVPWeVJ0pxQj8bOjH1h2O26jXN3YHKDT1ejkVz5YeTEQPeLCCRY0U2r68tfNOcg==",
+      "version": "6.2.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.2.0.tgz",
+      "integrity": "sha512-Mts6+3HQMSM+LZCglsc2yMIny37IhUgp1Qe8yJUYVyO6rHP7/vN0vajKu3JvHCBIy8TSiKddJ/Zwu80jhnGj1w==",
       "dev": true,
       "dependencies": {
-        "@typescript-eslint/types": "5.56.0",
-        "@typescript-eslint/visitor-keys": "5.56.0",
+        "@typescript-eslint/types": "6.2.0",
+        "@typescript-eslint/visitor-keys": "6.2.0",
         "debug": "^4.3.4",
         "globby": "^11.1.0",
         "is-glob": "^4.0.3",
-        "semver": "^7.3.7",
-        "tsutils": "^3.21.0"
+        "semver": "^7.5.4",
+        "ts-api-utils": "^1.0.1"
       },
       "engines": {
-        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+        "node": "^16.0.0 || >=18.0.0"
       },
       "funding": {
         "type": "opencollective",
@@ -2414,42 +3011,41 @@
       }
     },
     "node_modules/@typescript-eslint/utils": {
-      "version": "5.56.0",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.56.0.tgz",
-      "integrity": "sha512-XhZDVdLnUJNtbzaJeDSCIYaM+Tgr59gZGbFuELgF7m0IY03PlciidS7UQNKLE0+WpUTn1GlycEr6Ivb/afjbhA==",
+      "version": "6.2.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.2.0.tgz",
+      "integrity": "sha512-RCFrC1lXiX1qEZN8LmLrxYRhOkElEsPKTVSNout8DMzf8PeWoQG7Rxz2SadpJa3VSh5oYKGwt7j7X/VRg+Y3OQ==",
       "dev": true,
       "dependencies": {
-        "@eslint-community/eslint-utils": "^4.2.0",
-        "@types/json-schema": "^7.0.9",
-        "@types/semver": "^7.3.12",
-        "@typescript-eslint/scope-manager": "5.56.0",
-        "@typescript-eslint/types": "5.56.0",
-        "@typescript-eslint/typescript-estree": "5.56.0",
-        "eslint-scope": "^5.1.1",
-        "semver": "^7.3.7"
+        "@eslint-community/eslint-utils": "^4.4.0",
+        "@types/json-schema": "^7.0.12",
+        "@types/semver": "^7.5.0",
+        "@typescript-eslint/scope-manager": "6.2.0",
+        "@typescript-eslint/types": "6.2.0",
+        "@typescript-eslint/typescript-estree": "6.2.0",
+        "semver": "^7.5.4"
       },
       "engines": {
-        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+        "node": "^16.0.0 || >=18.0.0"
       },
       "funding": {
         "type": "opencollective",
         "url": "https://opencollective.com/typescript-eslint"
       },
       "peerDependencies": {
-        "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
+        "eslint": "^7.0.0 || ^8.0.0"
       }
     },
     "node_modules/@typescript-eslint/visitor-keys": {
-      "version": "5.56.0",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.56.0.tgz",
-      "integrity": "sha512-1mFdED7u5bZpX6Xxf5N9U2c18sb+8EvU3tyOIj6LQZ5OOvnmj8BVeNNP603OFPm5KkS1a7IvCIcwrdHXaEMG/Q==",
+      "version": "6.2.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.2.0.tgz",
+      "integrity": "sha512-QbaYUQVKKo9bgCzpjz45llCfwakyoxHetIy8CAvYCtd16Zu1KrpzNHofwF8kGkpPOxZB2o6kz+0nqH8ZkIzuoQ==",
       "dev": true,
       "dependencies": {
-        "@typescript-eslint/types": "5.56.0",
-        "eslint-visitor-keys": "^3.3.0"
+        "@typescript-eslint/types": "6.2.0",
+        "eslint-visitor-keys": "^3.4.1"
       },
       "engines": {
-        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+        "node": "^16.0.0 || >=18.0.0"
       },
       "funding": {
         "type": "opencollective",
@@ -2585,6 +3181,39 @@
       "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
       "dev": true
     },
+    "node_modules/@verdaccio/config/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"
+      }
+    },
+    "node_modules/@verdaccio/config/node_modules/semver": {
+      "version": "7.3.8",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
+      "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
+      "dev": true,
+      "dependencies": {
+        "lru-cache": "^6.0.0"
+      },
+      "bin": {
+        "semver": "bin/semver.js"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/@verdaccio/config/node_modules/yallist": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+      "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+      "dev": true
+    },
     "node_modules/@verdaccio/core": {
       "version": "6.0.0-6-next.67",
       "resolved": "https://registry.npmjs.org/@verdaccio/core/-/core-6.0.0-6-next.67.tgz",
@@ -2628,6 +3257,39 @@
       "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
       "dev": true
     },
+    "node_modules/@verdaccio/core/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"
+      }
+    },
+    "node_modules/@verdaccio/core/node_modules/semver": {
+      "version": "7.3.8",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
+      "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
+      "dev": true,
+      "dependencies": {
+        "lru-cache": "^6.0.0"
+      },
+      "bin": {
+        "semver": "bin/semver.js"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/@verdaccio/core/node_modules/yallist": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+      "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+      "dev": true
+    },
     "node_modules/@verdaccio/file-locking": {
       "version": "10.3.0",
       "resolved": "https://registry.npmjs.org/@verdaccio/file-locking/-/file-locking-10.3.0.tgz",
@@ -2911,6 +3573,39 @@
         "url": "https://opencollective.com/verdaccio"
       }
     },
+    "node_modules/@verdaccio/utils/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"
+      }
+    },
+    "node_modules/@verdaccio/utils/node_modules/semver": {
+      "version": "7.3.8",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
+      "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
+      "dev": true,
+      "dependencies": {
+        "lru-cache": "^6.0.0"
+      },
+      "bin": {
+        "semver": "bin/semver.js"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/@verdaccio/utils/node_modules/yallist": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+      "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+      "dev": true
+    },
     "node_modules/@zkochan/rimraf": {
       "version": "2.1.2",
       "resolved": "https://registry.npmjs.org/@zkochan/rimraf/-/rimraf-2.1.2.tgz",
@@ -2962,9 +3657,9 @@
       }
     },
     "node_modules/acorn": {
-      "version": "8.8.2",
-      "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz",
-      "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==",
+      "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"
@@ -3411,9 +4106,9 @@
       }
     },
     "node_modules/bole": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/bole/-/bole-4.0.1.tgz",
-      "integrity": "sha512-42r0aSOJFJti2l6LasBHq2BuWJzohGs349olQnH/ETlJo87XnoWw7UT8pGE6UstjxzOKkwz7tjoFcmSr6L16vg==",
+      "version": "5.0.6",
+      "resolved": "https://registry.npmjs.org/bole/-/bole-5.0.6.tgz",
+      "integrity": "sha512-HtZbVmxHqreaC29XVvGPShDtL2zSafkLe8vMdvFr4ppvtjrObVxtejoU/3jpRbxzxFeqDLXv5oIxUhSVw1NaAw==",
       "dependencies": {
         "fast-safe-stringify": "^2.0.7",
         "individual": "^3.0.0"
@@ -3440,9 +4135,9 @@
       }
     },
     "node_modules/browserslist": {
-      "version": "4.21.5",
-      "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz",
-      "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==",
+      "version": "4.21.10",
+      "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.10.tgz",
+      "integrity": "sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ==",
       "dev": true,
       "funding": [
         {
@@ -3452,13 +4147,17 @@
         {
           "type": "tidelift",
           "url": "https://tidelift.com/funding/github/npm/browserslist"
+        },
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/ai"
         }
       ],
       "dependencies": {
-        "caniuse-lite": "^1.0.30001449",
-        "electron-to-chromium": "^1.4.284",
-        "node-releases": "^2.0.8",
-        "update-browserslist-db": "^1.0.10"
+        "caniuse-lite": "^1.0.30001517",
+        "electron-to-chromium": "^1.4.477",
+        "node-releases": "^2.0.13",
+        "update-browserslist-db": "^1.0.11"
       },
       "bin": {
         "browserslist": "cli.js"
@@ -3559,9 +4258,9 @@
       }
     },
     "node_modules/caniuse-lite": {
-      "version": "1.0.30001469",
-      "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001469.tgz",
-      "integrity": "sha512-Rcp7221ScNqQPP3W+lVOYDyjdR6dC+neEQCttoNr5bAyz54AboB4iwpnWgyi8P4YUsPybVzT4LgWiBbI3drL4g==",
+      "version": "1.0.30001518",
+      "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001518.tgz",
+      "integrity": "sha512-rup09/e3I0BKjncL+FesTayKtPrdwKhUufQFd3riFw1hHg8JmIFoInYfB102cFcY/pPgGmdyl/iy+jgiDi2vdA==",
       "dev": true,
       "funding": [
         {
@@ -3571,6 +4270,10 @@
         {
           "type": "tidelift",
           "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
+        },
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/ai"
         }
       ]
     },
@@ -3621,9 +4324,9 @@
       }
     },
     "node_modules/cjs-module-lexer": {
-      "version": "1.2.2",
-      "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz",
-      "integrity": "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==",
+      "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
     },
     "node_modules/clean-stack": {
@@ -3705,9 +4408,9 @@
       }
     },
     "node_modules/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==",
+      "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
     },
     "node_modules/color-convert": {
@@ -3926,33 +4629,6 @@
         "node": ">= 0.10"
       }
     },
-    "node_modules/cpr": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/cpr/-/cpr-3.0.1.tgz",
-      "integrity": "sha512-Xch4PXQ/KC8lJ+KfJ9JI6eG/nmppLrPPWg5Q+vh65Qr9EjuJEubxh/H/Le1TmCZ7+Xv7iJuNRqapyOFZB+wsxA==",
-      "dev": true,
-      "dependencies": {
-        "graceful-fs": "^4.1.5",
-        "minimist": "^1.2.0",
-        "mkdirp": "~0.5.1",
-        "rimraf": "^2.5.4"
-      },
-      "bin": {
-        "cpr": "bin/cpr"
-      }
-    },
-    "node_modules/cpr/node_modules/rimraf": {
-      "version": "2.7.1",
-      "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
-      "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
-      "dev": true,
-      "dependencies": {
-        "glob": "^7.1.3"
-      },
-      "bin": {
-        "rimraf": "bin.js"
-      }
-    },
     "node_modules/cross-spawn": {
       "version": "7.0.3",
       "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
@@ -4116,14 +4792,6 @@
         "npm": "1.2.8000 || >= 1.4.16"
       }
     },
-    "node_modules/detect-indent": {
-      "version": "6.1.0",
-      "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz",
-      "integrity": "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==",
-      "engines": {
-        "node": ">=8"
-      }
-    },
     "node_modules/detect-newline": {
       "version": "3.1.0",
       "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz",
@@ -4134,12 +4802,12 @@
       }
     },
     "node_modules/diff-sequences": {
-      "version": "28.1.1",
-      "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-28.1.1.tgz",
-      "integrity": "sha512-FU0iFaH/E23a+a718l8Qa/19bF9p06kgE0KipMOMadwa3SjnaElKzPaUC0vnibs6/B/9ni97s61mcejk8W1fQw==",
+      "version": "29.4.3",
+      "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.4.3.tgz",
+      "integrity": "sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==",
       "dev": true,
       "engines": {
-        "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
       }
     },
     "node_modules/dir-glob": {
@@ -4217,9 +4885,9 @@
       "dev": true
     },
     "node_modules/electron-to-chromium": {
-      "version": "1.4.340",
-      "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.340.tgz",
-      "integrity": "sha512-zx8hqumOqltKsv/MF50yvdAlPF9S/4PXbyfzJS6ZGhbddGkRegdwImmfSVqCkEziYzrIGZ/TlrzBND4FysfkDg==",
+      "version": "1.4.477",
+      "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.477.tgz",
+      "integrity": "sha512-shUVy6Eawp33dFBFIoYbIwLHrX0IZ857AlH9ug2o4rvbWmpaCUdBpQ5Zw39HRrfzAFm4APJE9V+E2A/WB0YqJw==",
       "dev": true
     },
     "node_modules/emittery": {
@@ -4317,27 +4985,27 @@
       }
     },
     "node_modules/eslint": {
-      "version": "8.36.0",
-      "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.36.0.tgz",
-      "integrity": "sha512-Y956lmS7vDqomxlaaQAHVmeb4tNMp2FWIvU/RnU5BD3IKMD/MJPr76xdyr68P8tV1iNMvN2mRK0yy3c+UjL+bw==",
+      "version": "8.46.0",
+      "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.46.0.tgz",
+      "integrity": "sha512-cIO74PvbW0qU8e0mIvk5IV3ToWdCq5FYG6gWPHHkx6gNdjlbAYvtfHmlCMXxjcoVaIdwy/IAt3+mDkZkfvb2Dg==",
       "dev": true,
       "dependencies": {
         "@eslint-community/eslint-utils": "^4.2.0",
-        "@eslint-community/regexpp": "^4.4.0",
-        "@eslint/eslintrc": "^2.0.1",
-        "@eslint/js": "8.36.0",
-        "@humanwhocodes/config-array": "^0.11.8",
+        "@eslint-community/regexpp": "^4.6.1",
+        "@eslint/eslintrc": "^2.1.1",
+        "@eslint/js": "^8.46.0",
+        "@humanwhocodes/config-array": "^0.11.10",
         "@humanwhocodes/module-importer": "^1.0.1",
         "@nodelib/fs.walk": "^1.2.8",
-        "ajv": "^6.10.0",
+        "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.1.1",
-        "eslint-visitor-keys": "^3.3.0",
-        "espree": "^9.5.0",
+        "eslint-scope": "^7.2.2",
+        "eslint-visitor-keys": "^3.4.2",
+        "espree": "^9.6.1",
         "esquery": "^1.4.2",
         "esutils": "^2.0.2",
         "fast-deep-equal": "^3.1.3",
@@ -4345,22 +5013,19 @@
         "find-up": "^5.0.0",
         "glob-parent": "^6.0.2",
         "globals": "^13.19.0",
-        "grapheme-splitter": "^1.0.4",
+        "graphemer": "^1.4.0",
         "ignore": "^5.2.0",
-        "import-fresh": "^3.0.0",
         "imurmurhash": "^0.1.4",
         "is-glob": "^4.0.0",
         "is-path-inside": "^3.0.3",
-        "js-sdsl": "^4.1.4",
         "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.1",
+        "optionator": "^0.9.3",
         "strip-ansi": "^6.0.1",
-        "strip-json-comments": "^3.1.0",
         "text-table": "^0.2.0"
       },
       "bin": {
@@ -4374,47 +5039,31 @@
       }
     },
     "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==",
+      "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": "^4.1.1"
+        "estraverse": "^5.2.0"
       },
       "engines": {
-        "node": ">=8.0.0"
+        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+      },
+      "funding": {
+        "url": "https://opencollective.com/eslint"
       }
     },
     "node_modules/eslint-visitor-keys": {
-      "version": "3.3.0",
-      "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz",
-      "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==",
+      "version": "3.4.2",
+      "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.2.tgz",
+      "integrity": "sha512-8drBzUEyZ2llkpCA67iYrgEssKDUu68V8ChqqOfFupIaG/LCVPUT+CoGJpT77zJprs4T/W7p07LP7zAIMuweVw==",
       "dev": true,
       "engines": {
         "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
-      }
-    },
-    "node_modules/eslint/node_modules/eslint-scope": {
-      "version": "7.1.1",
-      "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz",
-      "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==",
-      "dev": true,
-      "dependencies": {
-        "esrecurse": "^4.3.0",
-        "estraverse": "^5.2.0"
       },
-      "engines": {
-        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
-      }
-    },
-    "node_modules/eslint/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"
+      "funding": {
+        "url": "https://opencollective.com/eslint"
       }
     },
     "node_modules/eslint/node_modules/find-up": {
@@ -4476,14 +5125,14 @@
       }
     },
     "node_modules/espree": {
-      "version": "9.5.0",
-      "resolved": "https://registry.npmjs.org/espree/-/espree-9.5.0.tgz",
-      "integrity": "sha512-JPbJGhKc47++oo4JkEoTe2wjy4fmMwvFpgJT9cQzmfXKp22Dr6Hf1tdCteLz1h0P3t+mGvWZ+4Uankvh8+c6zw==",
+      "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.8.0",
+        "acorn": "^8.9.0",
         "acorn-jsx": "^5.3.2",
-        "eslint-visitor-keys": "^3.3.0"
+        "eslint-visitor-keys": "^3.4.1"
       },
       "engines": {
         "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
@@ -4516,15 +5165,6 @@
         "node": ">=0.10"
       }
     },
-    "node_modules/esquery/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/esrecurse": {
       "version": "4.3.0",
       "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
@@ -4537,7 +5177,7 @@
         "node": ">=4.0"
       }
     },
-    "node_modules/esrecurse/node_modules/estraverse": {
+    "node_modules/estraverse": {
       "version": "5.3.0",
       "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
       "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
@@ -4546,15 +5186,6 @@
         "node": ">=4.0"
       }
     },
-    "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/esutils": {
       "version": "2.0.3",
       "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
@@ -4593,9 +5224,9 @@
     },
     "node_modules/execa": {
       "name": "safe-execa",
-      "version": "0.1.3",
-      "resolved": "https://registry.npmjs.org/safe-execa/-/safe-execa-0.1.3.tgz",
-      "integrity": "sha512-KuOb5C35fJRrhTfErHX+Bw03PayibKwpmOPHnyWMkwSqeiyjq2/D6E524rtJFrvqoUKH6iTe/NC4nOtgWflU7g==",
+      "version": "0.1.2",
+      "resolved": "https://registry.npmjs.org/safe-execa/-/safe-execa-0.1.2.tgz",
+      "integrity": "sha512-vdTshSQ2JsRCgT8eKZWNJIL26C6bVqy1SOmuCMlKHegVeo8KYRobRrefOdUq9OozSPUUiSxrylteeRmLOMFfWg==",
       "dependencies": {
         "@zkochan/which": "^2.0.3",
         "execa": "^5.1.1",
@@ -4637,19 +5268,20 @@
       }
     },
     "node_modules/expect": {
-      "version": "28.1.3",
-      "resolved": "https://registry.npmjs.org/expect/-/expect-28.1.3.tgz",
-      "integrity": "sha512-eEh0xn8HlsuOBxFgIss+2mX85VAS4Qy3OSkjV7rlBWljtA4oWH37glVGyOZSZvErDT/yBywZdPGwCXuTvSG85g==",
+      "version": "29.6.2",
+      "resolved": "https://registry.npmjs.org/expect/-/expect-29.6.2.tgz",
+      "integrity": "sha512-iAErsLxJ8C+S02QbLAwgSGSezLQK+XXRDt8IuFXFpwCNw2ECmzZSmjKcCaFVp5VRMk+WAvz6h6jokzEzBFZEuA==",
       "dev": true,
       "dependencies": {
-        "@jest/expect-utils": "^28.1.3",
-        "jest-get-type": "^28.0.2",
-        "jest-matcher-utils": "^28.1.3",
-        "jest-message-util": "^28.1.3",
-        "jest-util": "^28.1.3"
+        "@jest/expect-utils": "^29.6.2",
+        "@types/node": "*",
+        "jest-get-type": "^29.4.3",
+        "jest-matcher-utils": "^29.6.2",
+        "jest-message-util": "^29.6.2",
+        "jest-util": "^29.6.2"
       },
       "engines": {
-        "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
       }
     },
     "node_modules/express": {
@@ -5219,10 +5851,10 @@
       "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/grapheme-splitter": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz",
-      "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==",
+    "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/handlebars": {
@@ -5629,7 +6261,8 @@
     "node_modules/is-typedarray": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
-      "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA=="
+      "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==",
+      "dev": true
     },
     "node_modules/is-windows": {
       "version": "1.0.2",
@@ -5682,26 +6315,26 @@
       }
     },
     "node_modules/istanbul-lib-instrument/node_modules/semver": {
-      "version": "6.3.0",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-      "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+      "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/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==",
+      "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,
       "dependencies": {
         "istanbul-lib-coverage": "^3.0.0",
-        "make-dir": "^3.0.0",
+        "make-dir": "^4.0.0",
         "supports-color": "^7.1.0"
       },
       "engines": {
-        "node": ">=8"
+        "node": ">=10"
       }
     },
     "node_modules/istanbul-lib-source-maps": {
@@ -5719,9 +6352,9 @@
       }
     },
     "node_modules/istanbul-reports": {
-      "version": "3.1.5",
-      "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz",
-      "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==",
+      "version": "3.1.6",
+      "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.6.tgz",
+      "integrity": "sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==",
       "dev": true,
       "dependencies": {
         "html-escaper": "^2.0.0",
@@ -5823,6 +6456,18 @@
         "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
       }
     },
+    "node_modules/jest-circus/node_modules/@jest/schemas": {
+      "version": "28.1.3",
+      "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz",
+      "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==",
+      "dev": true,
+      "dependencies": {
+        "@sinclair/typebox": "^0.24.1"
+      },
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+      }
+    },
     "node_modules/jest-circus/node_modules/@jest/types": {
       "version": "28.1.3",
       "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz",
@@ -5840,15 +6485,133 @@
         "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
       }
     },
+    "node_modules/jest-circus/node_modules/@sinclair/typebox": {
+      "version": "0.24.51",
+      "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz",
+      "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==",
+      "dev": true
+    },
     "node_modules/jest-circus/node_modules/@types/yargs": {
-      "version": "17.0.23",
-      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.23.tgz",
-      "integrity": "sha512-yuogunc04OnzGQCrfHx+Kk883Q4X0aSwmYZhKjI21m+SVYzjIbrWl8dOOwSv5hf2Um2pdCOXWo9isteZTNXUZQ==",
+      "version": "17.0.24",
+      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz",
+      "integrity": "sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==",
       "dev": true,
       "dependencies": {
         "@types/yargs-parser": "*"
       }
     },
+    "node_modules/jest-circus/node_modules/ansi-styles": {
+      "version": "5.2.0",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
+      "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
+      "dev": true,
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+      }
+    },
+    "node_modules/jest-circus/node_modules/diff-sequences": {
+      "version": "28.1.1",
+      "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-28.1.1.tgz",
+      "integrity": "sha512-FU0iFaH/E23a+a718l8Qa/19bF9p06kgE0KipMOMadwa3SjnaElKzPaUC0vnibs6/B/9ni97s61mcejk8W1fQw==",
+      "dev": true,
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+      }
+    },
+    "node_modules/jest-circus/node_modules/jest-diff": {
+      "version": "28.1.3",
+      "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-28.1.3.tgz",
+      "integrity": "sha512-8RqP1B/OXzjjTWkqMX67iqgwBVJRgCyKD3L9nq+6ZqJMdvjE8RgHktqZ6jNrkdMT+dJuYNI3rhQpxaz7drJHfw==",
+      "dev": true,
+      "dependencies": {
+        "chalk": "^4.0.0",
+        "diff-sequences": "^28.1.1",
+        "jest-get-type": "^28.0.2",
+        "pretty-format": "^28.1.3"
+      },
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+      }
+    },
+    "node_modules/jest-circus/node_modules/jest-get-type": {
+      "version": "28.0.2",
+      "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-28.0.2.tgz",
+      "integrity": "sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA==",
+      "dev": true,
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+      }
+    },
+    "node_modules/jest-circus/node_modules/jest-matcher-utils": {
+      "version": "28.1.3",
+      "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-28.1.3.tgz",
+      "integrity": "sha512-kQeJ7qHemKfbzKoGjHHrRKH6atgxMk8Enkk2iPQ3XwO6oE/KYD8lMYOziCkeSB9G4adPM4nR1DE8Tf5JeWH6Bw==",
+      "dev": true,
+      "dependencies": {
+        "chalk": "^4.0.0",
+        "jest-diff": "^28.1.3",
+        "jest-get-type": "^28.0.2",
+        "pretty-format": "^28.1.3"
+      },
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+      }
+    },
+    "node_modules/jest-circus/node_modules/jest-message-util": {
+      "version": "28.1.3",
+      "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz",
+      "integrity": "sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==",
+      "dev": true,
+      "dependencies": {
+        "@babel/code-frame": "^7.12.13",
+        "@jest/types": "^28.1.3",
+        "@types/stack-utils": "^2.0.0",
+        "chalk": "^4.0.0",
+        "graceful-fs": "^4.2.9",
+        "micromatch": "^4.0.4",
+        "pretty-format": "^28.1.3",
+        "slash": "^3.0.0",
+        "stack-utils": "^2.0.3"
+      },
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+      }
+    },
+    "node_modules/jest-circus/node_modules/jest-util": {
+      "version": "28.1.3",
+      "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz",
+      "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==",
+      "dev": true,
+      "dependencies": {
+        "@jest/types": "^28.1.3",
+        "@types/node": "*",
+        "chalk": "^4.0.0",
+        "ci-info": "^3.2.0",
+        "graceful-fs": "^4.2.9",
+        "picomatch": "^2.2.3"
+      },
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+      }
+    },
+    "node_modules/jest-circus/node_modules/pretty-format": {
+      "version": "28.1.3",
+      "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz",
+      "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==",
+      "dev": true,
+      "dependencies": {
+        "@jest/schemas": "^28.1.3",
+        "ansi-regex": "^5.0.1",
+        "ansi-styles": "^5.0.0",
+        "react-is": "^18.0.0"
+      },
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+      }
+    },
     "node_modules/jest-cli": {
       "version": "28.1.3",
       "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-28.1.3.tgz",
@@ -5883,6 +6646,18 @@
         }
       }
     },
+    "node_modules/jest-cli/node_modules/@jest/schemas": {
+      "version": "28.1.3",
+      "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz",
+      "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==",
+      "dev": true,
+      "dependencies": {
+        "@sinclair/typebox": "^0.24.1"
+      },
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+      }
+    },
     "node_modules/jest-cli/node_modules/@jest/types": {
       "version": "28.1.3",
       "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz",
@@ -5900,15 +6675,38 @@
         "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
       }
     },
+    "node_modules/jest-cli/node_modules/@sinclair/typebox": {
+      "version": "0.24.51",
+      "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz",
+      "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==",
+      "dev": true
+    },
     "node_modules/jest-cli/node_modules/@types/yargs": {
-      "version": "17.0.23",
-      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.23.tgz",
-      "integrity": "sha512-yuogunc04OnzGQCrfHx+Kk883Q4X0aSwmYZhKjI21m+SVYzjIbrWl8dOOwSv5hf2Um2pdCOXWo9isteZTNXUZQ==",
+      "version": "17.0.24",
+      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz",
+      "integrity": "sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==",
       "dev": true,
       "dependencies": {
         "@types/yargs-parser": "*"
       }
     },
+    "node_modules/jest-cli/node_modules/jest-util": {
+      "version": "28.1.3",
+      "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz",
+      "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==",
+      "dev": true,
+      "dependencies": {
+        "@jest/types": "^28.1.3",
+        "@types/node": "*",
+        "chalk": "^4.0.0",
+        "ci-info": "^3.2.0",
+        "graceful-fs": "^4.2.9",
+        "picomatch": "^2.2.3"
+      },
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+      }
+    },
     "node_modules/jest-config": {
       "version": "28.1.3",
       "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-28.1.3.tgz",
@@ -5954,6 +6752,18 @@
         }
       }
     },
+    "node_modules/jest-config/node_modules/@jest/schemas": {
+      "version": "28.1.3",
+      "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz",
+      "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==",
+      "dev": true,
+      "dependencies": {
+        "@sinclair/typebox": "^0.24.1"
+      },
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+      }
+    },
     "node_modules/jest-config/node_modules/@jest/types": {
       "version": "28.1.3",
       "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz",
@@ -5971,30 +6781,89 @@
         "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
       }
     },
+    "node_modules/jest-config/node_modules/@sinclair/typebox": {
+      "version": "0.24.51",
+      "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz",
+      "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==",
+      "dev": true
+    },
     "node_modules/jest-config/node_modules/@types/yargs": {
-      "version": "17.0.23",
-      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.23.tgz",
-      "integrity": "sha512-yuogunc04OnzGQCrfHx+Kk883Q4X0aSwmYZhKjI21m+SVYzjIbrWl8dOOwSv5hf2Um2pdCOXWo9isteZTNXUZQ==",
+      "version": "17.0.24",
+      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz",
+      "integrity": "sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==",
       "dev": true,
       "dependencies": {
         "@types/yargs-parser": "*"
       }
     },
-    "node_modules/jest-diff": {
+    "node_modules/jest-config/node_modules/ansi-styles": {
+      "version": "5.2.0",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
+      "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
+      "dev": true,
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+      }
+    },
+    "node_modules/jest-config/node_modules/jest-get-type": {
+      "version": "28.0.2",
+      "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-28.0.2.tgz",
+      "integrity": "sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA==",
+      "dev": true,
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+      }
+    },
+    "node_modules/jest-config/node_modules/jest-util": {
       "version": "28.1.3",
-      "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-28.1.3.tgz",
-      "integrity": "sha512-8RqP1B/OXzjjTWkqMX67iqgwBVJRgCyKD3L9nq+6ZqJMdvjE8RgHktqZ6jNrkdMT+dJuYNI3rhQpxaz7drJHfw==",
+      "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz",
+      "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==",
       "dev": true,
       "dependencies": {
+        "@jest/types": "^28.1.3",
+        "@types/node": "*",
         "chalk": "^4.0.0",
-        "diff-sequences": "^28.1.1",
-        "jest-get-type": "^28.0.2",
-        "pretty-format": "^28.1.3"
+        "ci-info": "^3.2.0",
+        "graceful-fs": "^4.2.9",
+        "picomatch": "^2.2.3"
       },
       "engines": {
         "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
       }
     },
+    "node_modules/jest-config/node_modules/pretty-format": {
+      "version": "28.1.3",
+      "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz",
+      "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==",
+      "dev": true,
+      "dependencies": {
+        "@jest/schemas": "^28.1.3",
+        "ansi-regex": "^5.0.1",
+        "ansi-styles": "^5.0.0",
+        "react-is": "^18.0.0"
+      },
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+      }
+    },
+    "node_modules/jest-diff": {
+      "version": "29.6.2",
+      "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.6.2.tgz",
+      "integrity": "sha512-t+ST7CB9GX5F2xKwhwCf0TAR17uNDiaPTZnVymP9lw0lssa9vG+AFyDZoeIHStU3WowFFwT+ky+er0WVl2yGhA==",
+      "dev": true,
+      "dependencies": {
+        "chalk": "^4.0.0",
+        "diff-sequences": "^29.4.3",
+        "jest-get-type": "^29.4.3",
+        "pretty-format": "^29.6.2"
+      },
+      "engines": {
+        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+      }
+    },
     "node_modules/jest-docblock": {
       "version": "28.1.1",
       "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-28.1.1.tgz",
@@ -6023,6 +6892,18 @@
         "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
       }
     },
+    "node_modules/jest-each/node_modules/@jest/schemas": {
+      "version": "28.1.3",
+      "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz",
+      "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==",
+      "dev": true,
+      "dependencies": {
+        "@sinclair/typebox": "^0.24.1"
+      },
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+      }
+    },
     "node_modules/jest-each/node_modules/@jest/types": {
       "version": "28.1.3",
       "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz",
@@ -6040,15 +6921,74 @@
         "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
       }
     },
+    "node_modules/jest-each/node_modules/@sinclair/typebox": {
+      "version": "0.24.51",
+      "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz",
+      "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==",
+      "dev": true
+    },
     "node_modules/jest-each/node_modules/@types/yargs": {
-      "version": "17.0.23",
-      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.23.tgz",
-      "integrity": "sha512-yuogunc04OnzGQCrfHx+Kk883Q4X0aSwmYZhKjI21m+SVYzjIbrWl8dOOwSv5hf2Um2pdCOXWo9isteZTNXUZQ==",
+      "version": "17.0.24",
+      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz",
+      "integrity": "sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==",
       "dev": true,
       "dependencies": {
         "@types/yargs-parser": "*"
       }
     },
+    "node_modules/jest-each/node_modules/ansi-styles": {
+      "version": "5.2.0",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
+      "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
+      "dev": true,
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+      }
+    },
+    "node_modules/jest-each/node_modules/jest-get-type": {
+      "version": "28.0.2",
+      "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-28.0.2.tgz",
+      "integrity": "sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA==",
+      "dev": true,
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+      }
+    },
+    "node_modules/jest-each/node_modules/jest-util": {
+      "version": "28.1.3",
+      "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz",
+      "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==",
+      "dev": true,
+      "dependencies": {
+        "@jest/types": "^28.1.3",
+        "@types/node": "*",
+        "chalk": "^4.0.0",
+        "ci-info": "^3.2.0",
+        "graceful-fs": "^4.2.9",
+        "picomatch": "^2.2.3"
+      },
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+      }
+    },
+    "node_modules/jest-each/node_modules/pretty-format": {
+      "version": "28.1.3",
+      "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz",
+      "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==",
+      "dev": true,
+      "dependencies": {
+        "@jest/schemas": "^28.1.3",
+        "ansi-regex": "^5.0.1",
+        "ansi-styles": "^5.0.0",
+        "react-is": "^18.0.0"
+      },
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+      }
+    },
     "node_modules/jest-environment-node": {
       "version": "28.1.3",
       "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-28.1.3.tgz",
@@ -6066,6 +7006,18 @@
         "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
       }
     },
+    "node_modules/jest-environment-node/node_modules/@jest/schemas": {
+      "version": "28.1.3",
+      "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz",
+      "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==",
+      "dev": true,
+      "dependencies": {
+        "@sinclair/typebox": "^0.24.1"
+      },
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+      }
+    },
     "node_modules/jest-environment-node/node_modules/@jest/types": {
       "version": "28.1.3",
       "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz",
@@ -6083,24 +7035,47 @@
         "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
       }
     },
+    "node_modules/jest-environment-node/node_modules/@sinclair/typebox": {
+      "version": "0.24.51",
+      "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz",
+      "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==",
+      "dev": true
+    },
     "node_modules/jest-environment-node/node_modules/@types/yargs": {
-      "version": "17.0.23",
-      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.23.tgz",
-      "integrity": "sha512-yuogunc04OnzGQCrfHx+Kk883Q4X0aSwmYZhKjI21m+SVYzjIbrWl8dOOwSv5hf2Um2pdCOXWo9isteZTNXUZQ==",
+      "version": "17.0.24",
+      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz",
+      "integrity": "sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==",
       "dev": true,
       "dependencies": {
         "@types/yargs-parser": "*"
       }
     },
-    "node_modules/jest-get-type": {
-      "version": "28.0.2",
-      "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-28.0.2.tgz",
-      "integrity": "sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA==",
+    "node_modules/jest-environment-node/node_modules/jest-util": {
+      "version": "28.1.3",
+      "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz",
+      "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==",
       "dev": true,
+      "dependencies": {
+        "@jest/types": "^28.1.3",
+        "@types/node": "*",
+        "chalk": "^4.0.0",
+        "ci-info": "^3.2.0",
+        "graceful-fs": "^4.2.9",
+        "picomatch": "^2.2.3"
+      },
       "engines": {
         "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
       }
     },
+    "node_modules/jest-get-type": {
+      "version": "29.4.3",
+      "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.4.3.tgz",
+      "integrity": "sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==",
+      "dev": true,
+      "engines": {
+        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+      }
+    },
     "node_modules/jest-haste-map": {
       "version": "28.1.3",
       "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-28.1.3.tgz",
@@ -6126,6 +7101,18 @@
         "fsevents": "^2.3.2"
       }
     },
+    "node_modules/jest-haste-map/node_modules/@jest/schemas": {
+      "version": "28.1.3",
+      "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz",
+      "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==",
+      "dev": true,
+      "dependencies": {
+        "@sinclair/typebox": "^0.24.1"
+      },
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+      }
+    },
     "node_modules/jest-haste-map/node_modules/@jest/types": {
       "version": "28.1.3",
       "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz",
@@ -6143,15 +7130,38 @@
         "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
       }
     },
+    "node_modules/jest-haste-map/node_modules/@sinclair/typebox": {
+      "version": "0.24.51",
+      "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz",
+      "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==",
+      "dev": true
+    },
     "node_modules/jest-haste-map/node_modules/@types/yargs": {
-      "version": "17.0.23",
-      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.23.tgz",
-      "integrity": "sha512-yuogunc04OnzGQCrfHx+Kk883Q4X0aSwmYZhKjI21m+SVYzjIbrWl8dOOwSv5hf2Um2pdCOXWo9isteZTNXUZQ==",
+      "version": "17.0.24",
+      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz",
+      "integrity": "sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==",
       "dev": true,
       "dependencies": {
         "@types/yargs-parser": "*"
       }
     },
+    "node_modules/jest-haste-map/node_modules/jest-util": {
+      "version": "28.1.3",
+      "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz",
+      "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==",
+      "dev": true,
+      "dependencies": {
+        "@jest/types": "^28.1.3",
+        "@types/node": "*",
+        "chalk": "^4.0.0",
+        "ci-info": "^3.2.0",
+        "graceful-fs": "^4.2.9",
+        "picomatch": "^2.2.3"
+      },
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+      }
+    },
     "node_modules/jest-leak-detector": {
       "version": "28.1.3",
       "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-28.1.3.tgz",
@@ -6165,48 +7175,102 @@
         "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
       }
     },
-    "node_modules/jest-matcher-utils": {
+    "node_modules/jest-leak-detector/node_modules/@jest/schemas": {
       "version": "28.1.3",
-      "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-28.1.3.tgz",
-      "integrity": "sha512-kQeJ7qHemKfbzKoGjHHrRKH6atgxMk8Enkk2iPQ3XwO6oE/KYD8lMYOziCkeSB9G4adPM4nR1DE8Tf5JeWH6Bw==",
+      "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz",
+      "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==",
       "dev": true,
       "dependencies": {
-        "chalk": "^4.0.0",
-        "jest-diff": "^28.1.3",
-        "jest-get-type": "^28.0.2",
-        "pretty-format": "^28.1.3"
+        "@sinclair/typebox": "^0.24.1"
       },
       "engines": {
         "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
       }
     },
-    "node_modules/jest-message-util": {
+    "node_modules/jest-leak-detector/node_modules/@sinclair/typebox": {
+      "version": "0.24.51",
+      "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz",
+      "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==",
+      "dev": true
+    },
+    "node_modules/jest-leak-detector/node_modules/ansi-styles": {
+      "version": "5.2.0",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
+      "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
+      "dev": true,
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+      }
+    },
+    "node_modules/jest-leak-detector/node_modules/jest-get-type": {
+      "version": "28.0.2",
+      "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-28.0.2.tgz",
+      "integrity": "sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA==",
+      "dev": true,
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+      }
+    },
+    "node_modules/jest-leak-detector/node_modules/pretty-format": {
       "version": "28.1.3",
-      "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz",
-      "integrity": "sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==",
+      "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz",
+      "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==",
+      "dev": true,
+      "dependencies": {
+        "@jest/schemas": "^28.1.3",
+        "ansi-regex": "^5.0.1",
+        "ansi-styles": "^5.0.0",
+        "react-is": "^18.0.0"
+      },
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+      }
+    },
+    "node_modules/jest-matcher-utils": {
+      "version": "29.6.2",
+      "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.6.2.tgz",
+      "integrity": "sha512-4LiAk3hSSobtomeIAzFTe+N8kL6z0JtF3n6I4fg29iIW7tt99R7ZcIFW34QkX+DuVrf+CUe6wuVOpm7ZKFJzZQ==",
+      "dev": true,
+      "dependencies": {
+        "chalk": "^4.0.0",
+        "jest-diff": "^29.6.2",
+        "jest-get-type": "^29.4.3",
+        "pretty-format": "^29.6.2"
+      },
+      "engines": {
+        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+      }
+    },
+    "node_modules/jest-message-util": {
+      "version": "29.6.2",
+      "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.6.2.tgz",
+      "integrity": "sha512-vnIGYEjoPSuRqV8W9t+Wow95SDp6KPX2Uf7EoeG9G99J2OVh7OSwpS4B6J0NfpEIpfkBNHlBZpA2rblEuEFhZQ==",
       "dev": true,
       "dependencies": {
         "@babel/code-frame": "^7.12.13",
-        "@jest/types": "^28.1.3",
+        "@jest/types": "^29.6.1",
         "@types/stack-utils": "^2.0.0",
         "chalk": "^4.0.0",
         "graceful-fs": "^4.2.9",
         "micromatch": "^4.0.4",
-        "pretty-format": "^28.1.3",
+        "pretty-format": "^29.6.2",
         "slash": "^3.0.0",
         "stack-utils": "^2.0.3"
       },
       "engines": {
-        "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
       }
     },
     "node_modules/jest-message-util/node_modules/@jest/types": {
-      "version": "28.1.3",
-      "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz",
-      "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==",
+      "version": "29.6.1",
+      "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.1.tgz",
+      "integrity": "sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==",
       "dev": true,
       "dependencies": {
-        "@jest/schemas": "^28.1.3",
+        "@jest/schemas": "^29.6.0",
         "@types/istanbul-lib-coverage": "^2.0.0",
         "@types/istanbul-reports": "^3.0.0",
         "@types/node": "*",
@@ -6214,13 +7278,13 @@
         "chalk": "^4.0.0"
       },
       "engines": {
-        "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
       }
     },
     "node_modules/jest-message-util/node_modules/@types/yargs": {
-      "version": "17.0.23",
-      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.23.tgz",
-      "integrity": "sha512-yuogunc04OnzGQCrfHx+Kk883Q4X0aSwmYZhKjI21m+SVYzjIbrWl8dOOwSv5hf2Um2pdCOXWo9isteZTNXUZQ==",
+      "version": "17.0.24",
+      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz",
+      "integrity": "sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==",
       "dev": true,
       "dependencies": {
         "@types/yargs-parser": "*"
@@ -6239,6 +7303,18 @@
         "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
       }
     },
+    "node_modules/jest-mock/node_modules/@jest/schemas": {
+      "version": "28.1.3",
+      "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz",
+      "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==",
+      "dev": true,
+      "dependencies": {
+        "@sinclair/typebox": "^0.24.1"
+      },
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+      }
+    },
     "node_modules/jest-mock/node_modules/@jest/types": {
       "version": "28.1.3",
       "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz",
@@ -6256,10 +7332,16 @@
         "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
       }
     },
+    "node_modules/jest-mock/node_modules/@sinclair/typebox": {
+      "version": "0.24.51",
+      "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz",
+      "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==",
+      "dev": true
+    },
     "node_modules/jest-mock/node_modules/@types/yargs": {
-      "version": "17.0.23",
-      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.23.tgz",
-      "integrity": "sha512-yuogunc04OnzGQCrfHx+Kk883Q4X0aSwmYZhKjI21m+SVYzjIbrWl8dOOwSv5hf2Um2pdCOXWo9isteZTNXUZQ==",
+      "version": "17.0.24",
+      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz",
+      "integrity": "sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==",
       "dev": true,
       "dependencies": {
         "@types/yargs-parser": "*"
@@ -6324,6 +7406,67 @@
         "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
       }
     },
+    "node_modules/jest-resolve/node_modules/@jest/schemas": {
+      "version": "28.1.3",
+      "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz",
+      "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==",
+      "dev": true,
+      "dependencies": {
+        "@sinclair/typebox": "^0.24.1"
+      },
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+      }
+    },
+    "node_modules/jest-resolve/node_modules/@jest/types": {
+      "version": "28.1.3",
+      "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz",
+      "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==",
+      "dev": true,
+      "dependencies": {
+        "@jest/schemas": "^28.1.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": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+      }
+    },
+    "node_modules/jest-resolve/node_modules/@sinclair/typebox": {
+      "version": "0.24.51",
+      "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz",
+      "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==",
+      "dev": true
+    },
+    "node_modules/jest-resolve/node_modules/@types/yargs": {
+      "version": "17.0.24",
+      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz",
+      "integrity": "sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==",
+      "dev": true,
+      "dependencies": {
+        "@types/yargs-parser": "*"
+      }
+    },
+    "node_modules/jest-resolve/node_modules/jest-util": {
+      "version": "28.1.3",
+      "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz",
+      "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==",
+      "dev": true,
+      "dependencies": {
+        "@jest/types": "^28.1.3",
+        "@types/node": "*",
+        "chalk": "^4.0.0",
+        "ci-info": "^3.2.0",
+        "graceful-fs": "^4.2.9",
+        "picomatch": "^2.2.3"
+      },
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+      }
+    },
     "node_modules/jest-runner": {
       "version": "28.1.3",
       "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-28.1.3.tgz",
@@ -6356,6 +7499,18 @@
         "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
       }
     },
+    "node_modules/jest-runner/node_modules/@jest/schemas": {
+      "version": "28.1.3",
+      "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz",
+      "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==",
+      "dev": true,
+      "dependencies": {
+        "@sinclair/typebox": "^0.24.1"
+      },
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+      }
+    },
     "node_modules/jest-runner/node_modules/@jest/types": {
       "version": "28.1.3",
       "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz",
@@ -6373,15 +7528,85 @@
         "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
       }
     },
+    "node_modules/jest-runner/node_modules/@sinclair/typebox": {
+      "version": "0.24.51",
+      "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz",
+      "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==",
+      "dev": true
+    },
     "node_modules/jest-runner/node_modules/@types/yargs": {
-      "version": "17.0.23",
-      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.23.tgz",
-      "integrity": "sha512-yuogunc04OnzGQCrfHx+Kk883Q4X0aSwmYZhKjI21m+SVYzjIbrWl8dOOwSv5hf2Um2pdCOXWo9isteZTNXUZQ==",
+      "version": "17.0.24",
+      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz",
+      "integrity": "sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==",
       "dev": true,
       "dependencies": {
         "@types/yargs-parser": "*"
       }
     },
+    "node_modules/jest-runner/node_modules/ansi-styles": {
+      "version": "5.2.0",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
+      "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
+      "dev": true,
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+      }
+    },
+    "node_modules/jest-runner/node_modules/jest-message-util": {
+      "version": "28.1.3",
+      "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz",
+      "integrity": "sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==",
+      "dev": true,
+      "dependencies": {
+        "@babel/code-frame": "^7.12.13",
+        "@jest/types": "^28.1.3",
+        "@types/stack-utils": "^2.0.0",
+        "chalk": "^4.0.0",
+        "graceful-fs": "^4.2.9",
+        "micromatch": "^4.0.4",
+        "pretty-format": "^28.1.3",
+        "slash": "^3.0.0",
+        "stack-utils": "^2.0.3"
+      },
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+      }
+    },
+    "node_modules/jest-runner/node_modules/jest-util": {
+      "version": "28.1.3",
+      "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz",
+      "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==",
+      "dev": true,
+      "dependencies": {
+        "@jest/types": "^28.1.3",
+        "@types/node": "*",
+        "chalk": "^4.0.0",
+        "ci-info": "^3.2.0",
+        "graceful-fs": "^4.2.9",
+        "picomatch": "^2.2.3"
+      },
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+      }
+    },
+    "node_modules/jest-runner/node_modules/pretty-format": {
+      "version": "28.1.3",
+      "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz",
+      "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==",
+      "dev": true,
+      "dependencies": {
+        "@jest/schemas": "^28.1.3",
+        "ansi-regex": "^5.0.1",
+        "ansi-styles": "^5.0.0",
+        "react-is": "^18.0.0"
+      },
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+      }
+    },
     "node_modules/jest-runtime": {
       "version": "28.1.3",
       "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-28.1.3.tgz",
@@ -6415,6 +7640,18 @@
         "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
       }
     },
+    "node_modules/jest-runtime/node_modules/@jest/schemas": {
+      "version": "28.1.3",
+      "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz",
+      "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==",
+      "dev": true,
+      "dependencies": {
+        "@sinclair/typebox": "^0.24.1"
+      },
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+      }
+    },
     "node_modules/jest-runtime/node_modules/@jest/types": {
       "version": "28.1.3",
       "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz",
@@ -6432,15 +7669,33 @@
         "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
       }
     },
+    "node_modules/jest-runtime/node_modules/@sinclair/typebox": {
+      "version": "0.24.51",
+      "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz",
+      "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==",
+      "dev": true
+    },
     "node_modules/jest-runtime/node_modules/@types/yargs": {
-      "version": "17.0.23",
-      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.23.tgz",
-      "integrity": "sha512-yuogunc04OnzGQCrfHx+Kk883Q4X0aSwmYZhKjI21m+SVYzjIbrWl8dOOwSv5hf2Um2pdCOXWo9isteZTNXUZQ==",
+      "version": "17.0.24",
+      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz",
+      "integrity": "sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==",
       "dev": true,
       "dependencies": {
         "@types/yargs-parser": "*"
       }
     },
+    "node_modules/jest-runtime/node_modules/ansi-styles": {
+      "version": "5.2.0",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
+      "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
+      "dev": true,
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+      }
+    },
     "node_modules/jest-runtime/node_modules/execa": {
       "version": "5.1.1",
       "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz",
@@ -6464,6 +7719,58 @@
         "url": "https://github.com/sindresorhus/execa?sponsor=1"
       }
     },
+    "node_modules/jest-runtime/node_modules/jest-message-util": {
+      "version": "28.1.3",
+      "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz",
+      "integrity": "sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==",
+      "dev": true,
+      "dependencies": {
+        "@babel/code-frame": "^7.12.13",
+        "@jest/types": "^28.1.3",
+        "@types/stack-utils": "^2.0.0",
+        "chalk": "^4.0.0",
+        "graceful-fs": "^4.2.9",
+        "micromatch": "^4.0.4",
+        "pretty-format": "^28.1.3",
+        "slash": "^3.0.0",
+        "stack-utils": "^2.0.3"
+      },
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+      }
+    },
+    "node_modules/jest-runtime/node_modules/jest-util": {
+      "version": "28.1.3",
+      "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz",
+      "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==",
+      "dev": true,
+      "dependencies": {
+        "@jest/types": "^28.1.3",
+        "@types/node": "*",
+        "chalk": "^4.0.0",
+        "ci-info": "^3.2.0",
+        "graceful-fs": "^4.2.9",
+        "picomatch": "^2.2.3"
+      },
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+      }
+    },
+    "node_modules/jest-runtime/node_modules/pretty-format": {
+      "version": "28.1.3",
+      "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz",
+      "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==",
+      "dev": true,
+      "dependencies": {
+        "@jest/schemas": "^28.1.3",
+        "ansi-regex": "^5.0.1",
+        "ansi-styles": "^5.0.0",
+        "react-is": "^18.0.0"
+      },
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+      }
+    },
     "node_modules/jest-snapshot": {
       "version": "28.1.3",
       "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-28.1.3.tgz",
@@ -6498,6 +7805,30 @@
         "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
       }
     },
+    "node_modules/jest-snapshot/node_modules/@jest/expect-utils": {
+      "version": "28.1.3",
+      "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-28.1.3.tgz",
+      "integrity": "sha512-wvbi9LUrHJLn3NlDW6wF2hvIMtd4JUl2QNVrjq+IBSHirgfrR3o9RnVtxzdEGO2n9JyIWwHnLfby5KzqBGg2YA==",
+      "dev": true,
+      "dependencies": {
+        "jest-get-type": "^28.0.2"
+      },
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+      }
+    },
+    "node_modules/jest-snapshot/node_modules/@jest/schemas": {
+      "version": "28.1.3",
+      "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz",
+      "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==",
+      "dev": true,
+      "dependencies": {
+        "@sinclair/typebox": "^0.24.1"
+      },
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+      }
+    },
     "node_modules/jest-snapshot/node_modules/@jest/types": {
       "version": "28.1.3",
       "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz",
@@ -6515,16 +7846,118 @@
         "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
       }
     },
+    "node_modules/jest-snapshot/node_modules/@sinclair/typebox": {
+      "version": "0.24.51",
+      "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz",
+      "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==",
+      "dev": true
+    },
     "node_modules/jest-snapshot/node_modules/@types/yargs": {
-      "version": "17.0.23",
-      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.23.tgz",
-      "integrity": "sha512-yuogunc04OnzGQCrfHx+Kk883Q4X0aSwmYZhKjI21m+SVYzjIbrWl8dOOwSv5hf2Um2pdCOXWo9isteZTNXUZQ==",
+      "version": "17.0.24",
+      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz",
+      "integrity": "sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==",
       "dev": true,
       "dependencies": {
         "@types/yargs-parser": "*"
       }
     },
-    "node_modules/jest-util": {
+    "node_modules/jest-snapshot/node_modules/ansi-styles": {
+      "version": "5.2.0",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
+      "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
+      "dev": true,
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+      }
+    },
+    "node_modules/jest-snapshot/node_modules/diff-sequences": {
+      "version": "28.1.1",
+      "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-28.1.1.tgz",
+      "integrity": "sha512-FU0iFaH/E23a+a718l8Qa/19bF9p06kgE0KipMOMadwa3SjnaElKzPaUC0vnibs6/B/9ni97s61mcejk8W1fQw==",
+      "dev": true,
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+      }
+    },
+    "node_modules/jest-snapshot/node_modules/expect": {
+      "version": "28.1.3",
+      "resolved": "https://registry.npmjs.org/expect/-/expect-28.1.3.tgz",
+      "integrity": "sha512-eEh0xn8HlsuOBxFgIss+2mX85VAS4Qy3OSkjV7rlBWljtA4oWH37glVGyOZSZvErDT/yBywZdPGwCXuTvSG85g==",
+      "dev": true,
+      "dependencies": {
+        "@jest/expect-utils": "^28.1.3",
+        "jest-get-type": "^28.0.2",
+        "jest-matcher-utils": "^28.1.3",
+        "jest-message-util": "^28.1.3",
+        "jest-util": "^28.1.3"
+      },
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+      }
+    },
+    "node_modules/jest-snapshot/node_modules/jest-diff": {
+      "version": "28.1.3",
+      "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-28.1.3.tgz",
+      "integrity": "sha512-8RqP1B/OXzjjTWkqMX67iqgwBVJRgCyKD3L9nq+6ZqJMdvjE8RgHktqZ6jNrkdMT+dJuYNI3rhQpxaz7drJHfw==",
+      "dev": true,
+      "dependencies": {
+        "chalk": "^4.0.0",
+        "diff-sequences": "^28.1.1",
+        "jest-get-type": "^28.0.2",
+        "pretty-format": "^28.1.3"
+      },
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+      }
+    },
+    "node_modules/jest-snapshot/node_modules/jest-get-type": {
+      "version": "28.0.2",
+      "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-28.0.2.tgz",
+      "integrity": "sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA==",
+      "dev": true,
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+      }
+    },
+    "node_modules/jest-snapshot/node_modules/jest-matcher-utils": {
+      "version": "28.1.3",
+      "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-28.1.3.tgz",
+      "integrity": "sha512-kQeJ7qHemKfbzKoGjHHrRKH6atgxMk8Enkk2iPQ3XwO6oE/KYD8lMYOziCkeSB9G4adPM4nR1DE8Tf5JeWH6Bw==",
+      "dev": true,
+      "dependencies": {
+        "chalk": "^4.0.0",
+        "jest-diff": "^28.1.3",
+        "jest-get-type": "^28.0.2",
+        "pretty-format": "^28.1.3"
+      },
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+      }
+    },
+    "node_modules/jest-snapshot/node_modules/jest-message-util": {
+      "version": "28.1.3",
+      "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz",
+      "integrity": "sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==",
+      "dev": true,
+      "dependencies": {
+        "@babel/code-frame": "^7.12.13",
+        "@jest/types": "^28.1.3",
+        "@types/stack-utils": "^2.0.0",
+        "chalk": "^4.0.0",
+        "graceful-fs": "^4.2.9",
+        "micromatch": "^4.0.4",
+        "pretty-format": "^28.1.3",
+        "slash": "^3.0.0",
+        "stack-utils": "^2.0.3"
+      },
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+      }
+    },
+    "node_modules/jest-snapshot/node_modules/jest-util": {
       "version": "28.1.3",
       "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz",
       "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==",
@@ -6541,13 +7974,45 @@
         "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
       }
     },
-    "node_modules/jest-util/node_modules/@jest/types": {
+    "node_modules/jest-snapshot/node_modules/pretty-format": {
       "version": "28.1.3",
-      "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz",
-      "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==",
+      "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz",
+      "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==",
       "dev": true,
       "dependencies": {
         "@jest/schemas": "^28.1.3",
+        "ansi-regex": "^5.0.1",
+        "ansi-styles": "^5.0.0",
+        "react-is": "^18.0.0"
+      },
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+      }
+    },
+    "node_modules/jest-util": {
+      "version": "29.6.2",
+      "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.6.2.tgz",
+      "integrity": "sha512-3eX1qb6L88lJNCFlEADKOkjpXJQyZRiavX1INZ4tRnrBVr2COd3RgcTLyUiEXMNBlDU/cgYq6taUS0fExrWW4w==",
+      "dev": true,
+      "dependencies": {
+        "@jest/types": "^29.6.1",
+        "@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"
+      }
+    },
+    "node_modules/jest-util/node_modules/@jest/types": {
+      "version": "29.6.1",
+      "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.1.tgz",
+      "integrity": "sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==",
+      "dev": true,
+      "dependencies": {
+        "@jest/schemas": "^29.6.0",
         "@types/istanbul-lib-coverage": "^2.0.0",
         "@types/istanbul-reports": "^3.0.0",
         "@types/node": "*",
@@ -6555,13 +8020,13 @@
         "chalk": "^4.0.0"
       },
       "engines": {
-        "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
       }
     },
     "node_modules/jest-util/node_modules/@types/yargs": {
-      "version": "17.0.23",
-      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.23.tgz",
-      "integrity": "sha512-yuogunc04OnzGQCrfHx+Kk883Q4X0aSwmYZhKjI21m+SVYzjIbrWl8dOOwSv5hf2Um2pdCOXWo9isteZTNXUZQ==",
+      "version": "17.0.24",
+      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz",
+      "integrity": "sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==",
       "dev": true,
       "dependencies": {
         "@types/yargs-parser": "*"
@@ -6584,6 +8049,18 @@
         "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
       }
     },
+    "node_modules/jest-validate/node_modules/@jest/schemas": {
+      "version": "28.1.3",
+      "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz",
+      "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==",
+      "dev": true,
+      "dependencies": {
+        "@sinclair/typebox": "^0.24.1"
+      },
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+      }
+    },
     "node_modules/jest-validate/node_modules/@jest/types": {
       "version": "28.1.3",
       "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz",
@@ -6601,15 +8078,33 @@
         "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
       }
     },
+    "node_modules/jest-validate/node_modules/@sinclair/typebox": {
+      "version": "0.24.51",
+      "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz",
+      "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==",
+      "dev": true
+    },
     "node_modules/jest-validate/node_modules/@types/yargs": {
-      "version": "17.0.23",
-      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.23.tgz",
-      "integrity": "sha512-yuogunc04OnzGQCrfHx+Kk883Q4X0aSwmYZhKjI21m+SVYzjIbrWl8dOOwSv5hf2Um2pdCOXWo9isteZTNXUZQ==",
+      "version": "17.0.24",
+      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz",
+      "integrity": "sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==",
       "dev": true,
       "dependencies": {
         "@types/yargs-parser": "*"
       }
     },
+    "node_modules/jest-validate/node_modules/ansi-styles": {
+      "version": "5.2.0",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
+      "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
+      "dev": true,
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+      }
+    },
     "node_modules/jest-validate/node_modules/camelcase": {
       "version": "6.3.0",
       "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
@@ -6622,6 +8117,30 @@
         "url": "https://github.com/sponsors/sindresorhus"
       }
     },
+    "node_modules/jest-validate/node_modules/jest-get-type": {
+      "version": "28.0.2",
+      "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-28.0.2.tgz",
+      "integrity": "sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA==",
+      "dev": true,
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+      }
+    },
+    "node_modules/jest-validate/node_modules/pretty-format": {
+      "version": "28.1.3",
+      "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz",
+      "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==",
+      "dev": true,
+      "dependencies": {
+        "@jest/schemas": "^28.1.3",
+        "ansi-regex": "^5.0.1",
+        "ansi-styles": "^5.0.0",
+        "react-is": "^18.0.0"
+      },
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+      }
+    },
     "node_modules/jest-watcher": {
       "version": "28.1.3",
       "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-28.1.3.tgz",
@@ -6641,6 +8160,18 @@
         "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
       }
     },
+    "node_modules/jest-watcher/node_modules/@jest/schemas": {
+      "version": "28.1.3",
+      "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz",
+      "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==",
+      "dev": true,
+      "dependencies": {
+        "@sinclair/typebox": "^0.24.1"
+      },
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+      }
+    },
     "node_modules/jest-watcher/node_modules/@jest/types": {
       "version": "28.1.3",
       "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz",
@@ -6658,15 +8189,38 @@
         "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
       }
     },
+    "node_modules/jest-watcher/node_modules/@sinclair/typebox": {
+      "version": "0.24.51",
+      "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz",
+      "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==",
+      "dev": true
+    },
     "node_modules/jest-watcher/node_modules/@types/yargs": {
-      "version": "17.0.23",
-      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.23.tgz",
-      "integrity": "sha512-yuogunc04OnzGQCrfHx+Kk883Q4X0aSwmYZhKjI21m+SVYzjIbrWl8dOOwSv5hf2Um2pdCOXWo9isteZTNXUZQ==",
+      "version": "17.0.24",
+      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz",
+      "integrity": "sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==",
       "dev": true,
       "dependencies": {
         "@types/yargs-parser": "*"
       }
     },
+    "node_modules/jest-watcher/node_modules/jest-util": {
+      "version": "28.1.3",
+      "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz",
+      "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==",
+      "dev": true,
+      "dependencies": {
+        "@jest/types": "^28.1.3",
+        "@types/node": "*",
+        "chalk": "^4.0.0",
+        "ci-info": "^3.2.0",
+        "graceful-fs": "^4.2.9",
+        "picomatch": "^2.2.3"
+      },
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+      }
+    },
     "node_modules/jest-worker": {
       "version": "28.1.3",
       "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz",
@@ -6696,6 +8250,18 @@
         "url": "https://github.com/chalk/supports-color?sponsor=1"
       }
     },
+    "node_modules/jest/node_modules/@jest/schemas": {
+      "version": "28.1.3",
+      "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz",
+      "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==",
+      "dev": true,
+      "dependencies": {
+        "@sinclair/typebox": "^0.24.1"
+      },
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+      }
+    },
     "node_modules/jest/node_modules/@jest/types": {
       "version": "28.1.3",
       "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz",
@@ -6713,25 +8279,21 @@
         "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
       }
     },
+    "node_modules/jest/node_modules/@sinclair/typebox": {
+      "version": "0.24.51",
+      "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz",
+      "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==",
+      "dev": true
+    },
     "node_modules/jest/node_modules/@types/yargs": {
-      "version": "17.0.23",
-      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.23.tgz",
-      "integrity": "sha512-yuogunc04OnzGQCrfHx+Kk883Q4X0aSwmYZhKjI21m+SVYzjIbrWl8dOOwSv5hf2Um2pdCOXWo9isteZTNXUZQ==",
+      "version": "17.0.24",
+      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz",
+      "integrity": "sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==",
       "dev": true,
       "dependencies": {
         "@types/yargs-parser": "*"
       }
     },
-    "node_modules/js-sdsl": {
-      "version": "4.4.0",
-      "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.4.0.tgz",
-      "integrity": "sha512-FfVSdx6pJ41Oa+CF7RDaFmTnCaFhua+SNYQX74riGOpl96x+2jQCqEfQ2bnXu/5DPCqlRuiqyvTJM0Qjz26IVg==",
-      "dev": true,
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/js-sdsl"
-      }
-    },
     "node_modules/js-tokens": {
       "version": "4.0.0",
       "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
@@ -6977,6 +8539,11 @@
       "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==",
       "dev": true
     },
+    "node_modules/lodash.clonedeep": {
+      "version": "4.5.0",
+      "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz",
+      "integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ=="
+    },
     "node_modules/lodash.merge": {
       "version": "4.6.2",
       "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
@@ -7033,29 +8600,20 @@
       }
     },
     "node_modules/make-dir": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
-      "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
+      "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,
       "dependencies": {
-        "semver": "^6.0.0"
+        "semver": "^7.5.3"
       },
       "engines": {
-        "node": ">=8"
+        "node": ">=10"
       },
       "funding": {
         "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/make-dir/node_modules/semver": {
-      "version": "6.3.0",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-      "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
-      "dev": true,
-      "bin": {
-        "semver": "bin/semver.js"
-      }
-    },
     "node_modules/makeerror": {
       "version": "1.0.12",
       "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz",
@@ -7378,9 +8936,9 @@
       "dev": true
     },
     "node_modules/node-releases": {
-      "version": "2.0.10",
-      "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz",
-      "integrity": "sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==",
+      "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/normalize-package-data": {
@@ -7552,17 +9110,17 @@
       }
     },
     "node_modules/optionator": {
-      "version": "0.9.1",
-      "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz",
-      "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==",
+      "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",
-        "word-wrap": "^1.2.3"
+        "type-check": "^0.4.0"
       },
       "engines": {
         "node": ">= 0.8.0"
@@ -7876,9 +9434,9 @@
       }
     },
     "node_modules/pirates": {
-      "version": "4.0.5",
-      "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz",
-      "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==",
+      "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"
@@ -7915,33 +9473,32 @@
       }
     },
     "node_modules/prettier": {
-      "version": "2.8.7",
-      "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.7.tgz",
-      "integrity": "sha512-yPngTo3aXUUmyuTjeTUT75txrf+aMh9FiD7q9ZE/i6r0bPb22g4FsE6Y338PQX1bmfy08i9QQCB7/rcUAVntfw==",
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.0.0.tgz",
+      "integrity": "sha512-zBf5eHpwHOGPC47h0zrPyNn+eAEIdEzfywMoYn2XPi0P44Zp0tSq64rq0xAREh4auw2cJZHo9QUob+NqCQky4g==",
       "dev": true,
       "bin": {
-        "prettier": "bin-prettier.js"
+        "prettier": "bin/prettier.cjs"
       },
       "engines": {
-        "node": ">=10.13.0"
+        "node": ">=14"
       },
       "funding": {
         "url": "https://github.com/prettier/prettier?sponsor=1"
       }
     },
     "node_modules/pretty-format": {
-      "version": "28.1.3",
-      "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz",
-      "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==",
+      "version": "29.6.2",
+      "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz",
+      "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==",
       "dev": true,
       "dependencies": {
-        "@jest/schemas": "^28.1.3",
-        "ansi-regex": "^5.0.1",
+        "@jest/schemas": "^29.6.0",
         "ansi-styles": "^5.0.0",
         "react-is": "^18.0.0"
       },
       "engines": {
-        "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
       }
     },
     "node_modules/pretty-format/node_modules/ansi-styles": {
@@ -8392,9 +9949,9 @@
       "dev": true
     },
     "node_modules/semver": {
-      "version": "7.3.8",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
-      "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
+      "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"
       },
@@ -8849,6 +10406,11 @@
         "node": ">=8"
       }
     },
+    "node_modules/strip-comments-strings": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/strip-comments-strings/-/strip-comments-strings-1.2.0.tgz",
+      "integrity": "sha512-zwF4bmnyEjZwRhaak9jUWNxc0DoeKBJ7lwSN/LEc8dQXZcUFG6auaaTQJokQWXopLdM3iTx01nQT8E4aL29DAQ=="
+    },
     "node_modules/strip-final-newline": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
@@ -9099,11 +10661,17 @@
       "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==",
       "dev": true
     },
-    "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/ts-api-utils": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.0.1.tgz",
+      "integrity": "sha512-lC/RGlPmwdrIBFTX59wwNzqh7aR2otPNPR/5brHZm/XKFYKsfqxihXUe9pU3JI+3vGkl+vyCoNNnPhJn3aLK1A==",
+      "dev": true,
+      "engines": {
+        "node": ">=16.13.0"
+      },
+      "peerDependencies": {
+        "typescript": ">=4.2.0"
+      }
     },
     "node_modules/tsscmp": {
       "version": "1.0.6",
@@ -9114,21 +10682,6 @@
         "node": ">=0.6.x"
       }
     },
-    "node_modules/tsutils": {
-      "version": "3.21.0",
-      "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz",
-      "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==",
-      "dev": true,
-      "dependencies": {
-        "tslib": "^1.8.1"
-      },
-      "engines": {
-        "node": ">= 6"
-      },
-      "peerDependencies": {
-        "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta"
-      }
-    },
     "node_modules/tunnel-agent": {
       "version": "0.6.0",
       "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
@@ -9209,6 +10762,7 @@
       "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==",
+      "dev": true,
       "dependencies": {
         "is-typedarray": "^1.0.0"
       }
@@ -9275,9 +10829,9 @@
       }
     },
     "node_modules/update-browserslist-db": {
-      "version": "1.0.10",
-      "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz",
-      "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==",
+      "version": "1.0.11",
+      "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz",
+      "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==",
       "dev": true,
       "funding": [
         {
@@ -9287,6 +10841,10 @@
         {
           "type": "tidelift",
           "url": "https://tidelift.com/funding/github/npm/browserslist"
+        },
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/ai"
         }
       ],
       "dependencies": {
@@ -9294,7 +10852,7 @@
         "picocolors": "^1.0.0"
       },
       "bin": {
-        "browserslist-lint": "cli.js"
+        "update-browserslist-db": "cli.js"
       },
       "peerDependencies": {
         "browserslist": ">= 4.21.0"
@@ -9573,6 +11131,39 @@
         "node": ">=10"
       }
     },
+    "node_modules/verdaccio/node_modules/semver": {
+      "version": "7.3.8",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
+      "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
+      "dev": true,
+      "dependencies": {
+        "lru-cache": "^6.0.0"
+      },
+      "bin": {
+        "semver": "bin/semver.js"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/verdaccio/node_modules/semver/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"
+      }
+    },
+    "node_modules/verdaccio/node_modules/yallist": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+      "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+      "dev": true
+    },
     "node_modules/verror": {
       "version": "1.10.0",
       "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
@@ -9642,15 +11233,6 @@
         "string-width": "^1.0.2 || 2 || 3 || 4"
       }
     },
-    "node_modules/word-wrap": {
-      "version": "1.2.3",
-      "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
-      "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
     "node_modules/wordwrap": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
@@ -9703,21 +11285,33 @@
       "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
     },
     "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==",
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.1.tgz",
+      "integrity": "sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==",
       "dependencies": {
         "imurmurhash": "^0.1.4",
-        "signal-exit": "^3.0.7"
+        "signal-exit": "^4.0.1"
       },
       "engines": {
-        "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+      }
+    },
+    "node_modules/write-file-atomic/node_modules/signal-exit": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
+      "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
+      "engines": {
+        "node": ">=14"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
       }
     },
     "node_modules/write-yaml-file": {
       "version": "4.2.0",
       "resolved": "https://registry.npmjs.org/write-yaml-file/-/write-yaml-file-4.2.0.tgz",
       "integrity": "sha512-LwyucHy0uhWqbrOkh9cBluZBeNVxzHjDaE9mwepZG3n3ZlbM4v3ndrFw51zW/NXYFFqP+QWZ72ihtLWTh05e4Q==",
+      "dev": true,
       "dependencies": {
         "js-yaml": "^4.0.0",
         "write-file-atomic": "^3.0.3"
@@ -9730,6 +11324,7 @@
       "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"
       },
@@ -9741,6 +11336,7 @@
       "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,
       "dependencies": {
         "imurmurhash": "^0.1.4",
         "is-typedarray": "^1.0.0",
@@ -9764,9 +11360,9 @@
       "dev": true
     },
     "node_modules/yargs": {
-      "version": "17.7.1",
-      "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.1.tgz",
-      "integrity": "sha512-cwiTb08Xuv5fqF4AovYacTFNxk62th7LKJ6BL9IGUpTJrWoU7/7WdQGTP2SjKf1dUNBGzDd28p/Yfs/GI6JrLw==",
+      "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",
diff --git a/pkgs/development/web/pnpm-lock-export/update.sh b/pkgs/development/web/pnpm-lock-export/update.sh
index c1c336c74a07c..d45948bb3b26b 100755
--- a/pkgs/development/web/pnpm-lock-export/update.sh
+++ b/pkgs/development/web/pnpm-lock-export/update.sh
@@ -16,22 +16,19 @@ fi
 set -x
 
 cd "$(dirname "$0")"
-version="$1"
+rev="$1"
 
 set -euo pipefail
 
-if [ -z "$version" ]; then
-    version="$(wget -O- "${TOKEN_ARGS[@]}" "https://api.github.com/repos/cvent/pnpm-lock-export/releases?per_page=1" | jq -r '.[0].tag_name')"
+if [ -z "$rev" ]; then
+    rev="$(wget -O- "${TOKEN_ARGS[@]}" "https://api.github.com/repos/adamcstephens/pnpm-lock-export/commits?per_page=1" | jq -r '.[0].sha')"
 fi
 
-# strip leading "v"
-version="${version#v}"
-
 # pnpm-lock-export repository
-src_hash=$(nix-prefetch-github cvent pnpm-lock-export --rev "v${version}" | jq -r .hash)
+src_hash=$(nix-prefetch-github adamcstephens pnpm-lock-export --rev "${rev}" | jq -r .hash)
 
 # Front-end dependencies
-upstream_src="https://raw.githubusercontent.com/cvent/pnpm-lock-export/v$version"
+upstream_src="https://raw.githubusercontent.com/adamcstephens/pnpm-lock-export/${rev}"
 
 trap 'rm -rf package.json' EXIT
 wget "${TOKEN_ARGS[@]}" "$upstream_src/package.json"
@@ -41,6 +38,6 @@ deps_hash=$(prefetch-npm-deps package-lock.json)
 # Use friendlier hashes
 deps_hash=$(nix hash to-sri --type sha256 "$deps_hash")
 
-sed -i -E -e "s#version = \".*\"#version = \"$version\"#" default.nix
+sed -i -E -e "s#rev = \".*\"#rev = \"$rev\"#" default.nix
 sed -i -E -e "s#hash = \".*\"#hash = \"$src_hash\"#" default.nix
 sed -i -E -e "s#npmDepsHash = \".*\"#npmDepsHash = \"$deps_hash\"#" default.nix
diff --git a/pkgs/development/web/twitter-bootstrap/default.nix b/pkgs/development/web/twitter-bootstrap/default.nix
index 7284bc95e54e1..aad89980645dd 100644
--- a/pkgs/development/web/twitter-bootstrap/default.nix
+++ b/pkgs/development/web/twitter-bootstrap/default.nix
@@ -1,20 +1,28 @@
-{ lib, stdenv, fetchurl, unzip }:
+{ lib
+, stdenv
+, fetchurl
+, unzip
+}:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "bootstrap";
-  version = "5.3.0";
+  version = "5.3.1";
 
   src = fetchurl {
-    url = "https://github.com/twbs/bootstrap/releases/download/v${version}/${pname}-${version}-dist.zip";
-    sha256 = "sha256-RUN0HbrDlUt7fMDjSHaIoTyOchSmfsMQZyATZmz2zY0=";
+    url = "https://github.com/twbs/bootstrap/releases/download/v${finalAttrs.version}/bootstrap-${finalAttrs.version}-dist.zip";
+    hash = "sha256-SfxkgJujf07f2vq0ViDhjGgRDCeg32L0RKDHHTWBp6Q=";
   };
 
   nativeBuildInputs = [ unzip ];
 
   dontBuild = true;
   installPhase = ''
+    runHook preInstall
+
     mkdir $out
     cp -r * $out/
+
+    runHook postInstall
   '';
 
   meta = {
@@ -22,5 +30,4 @@ stdenv.mkDerivation rec {
     homepage = "https://getbootstrap.com/";
     license = lib.licenses.mit;
   };
-
-}
+})
diff --git a/pkgs/games/aaaaxy/default.nix b/pkgs/games/aaaaxy/default.nix
index 25110ee53268e..1db4f31e79a7d 100644
--- a/pkgs/games/aaaaxy/default.nix
+++ b/pkgs/games/aaaaxy/default.nix
@@ -19,17 +19,17 @@
 
 buildGoModule rec {
   pname = "aaaaxy";
-  version = "1.4.33";
+  version = "1.4.39";
 
   src = fetchFromGitHub {
     owner = "divVerent";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-PE5TYzfO2/3DehCVmo9mNNXgghnNR02frqRe6I0EfFY=";
+    hash = "sha256-eawsTvPJwWKDSZd/2XBneitoydSRxEAU5RAPZgE6NSo=";
     fetchSubmodules = true;
   };
 
-  vendorHash = "sha256-qnn+2aUpYQYg31p+rAHTGHgrwfEHRtZECOg9oIERrrc=";
+  vendorHash = "sha256-uHTYp8PBXdQ2w+kjxLVvUOzOvDfXF53lcBriK8sif7A=";
 
   buildInputs = [
     alsa-lib
diff --git a/pkgs/games/ferium/default.nix b/pkgs/games/ferium/default.nix
index 6f602ca0de2e8..5a8859e95e2f6 100644
--- a/pkgs/games/ferium/default.nix
+++ b/pkgs/games/ferium/default.nix
@@ -34,6 +34,6 @@ rustPlatform.buildRustPackage rec {
     description = "Fast and multi-source CLI program for managing Minecraft mods and modpacks from Modrinth, CurseForge, and GitHub Releases";
     homepage = "https://github.com/gorilla-devs/ferium";
     license = licenses.mpl20;
-    maintainers = with maintainers; [ leo60228 imsofi ];
+    maintainers = with maintainers; [ leo60228 soupglasses ];
   };
 }
diff --git a/pkgs/games/forge-mtg/default.nix b/pkgs/games/forge-mtg/default.nix
index 32a756ce620fe..fbcc652d80d33 100644
--- a/pkgs/games/forge-mtg/default.nix
+++ b/pkgs/games/forge-mtg/default.nix
@@ -29,7 +29,7 @@ maven.buildMavenPackage {
   mvnParameters = "-DskipTests";
   mvnHash = "sha256-ajrHnaiJS7ZnR9BjLaXK2bnAKCp5UWQqYpjWbz3z6bw=";
 
-  nativeBuildInputs = [ maven makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   installPhase = ''
     runHook preInstall
@@ -59,7 +59,6 @@ maven.buildMavenPackage {
   meta = with lib; {
     description = "Magic: the Gathering card game with rules enforcement";
     homepage = "https://www.slightlymagic.net/forum/viewforum.php?f=26";
-    platforms = openjdk.meta.platforms;
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ eigengrau ];
   };
diff --git a/pkgs/games/freeciv/default.nix b/pkgs/games/freeciv/default.nix
index b83b37f66aaab..89d38d941e964 100644
--- a/pkgs/games/freeciv/default.nix
+++ b/pkgs/games/freeciv/default.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "freeciv";
-  version = "3.0.4";
+  version = "3.0.8";
 
   src = fetchFromGitHub {
     owner = "freeciv";
     repo = "freeciv";
     rev = "R${lib.replaceStrings [ "." ] [ "_" ] version}";
-    sha256 = "sha256-hhX+aM/NHdqOM0qSKSJyW2FAWTsyAHrjaNhxtP2vbVA=";
+    hash = "sha256-6DWVou4d1oAOlhHb2A2vxR4Fy+1q7Xz9w9VK9rEzZxA=";
   };
 
   postPatch = ''
@@ -24,6 +24,9 @@ stdenv.mkDerivation rec {
       substituteInPlace $f \
         --replace '/usr/bin/env python3' ${python3.interpreter}
     done
+    for f in bootstrap/*.sh; do
+      patchShebangs $f
+    done
   '';
 
   nativeBuildInputs = [ autoreconfHook pkg-config ]
diff --git a/pkgs/games/gnubg/default.nix b/pkgs/games/gnubg/default.nix
index 7276267905290..84bc7f5df8af0 100644
--- a/pkgs/games/gnubg/default.nix
+++ b/pkgs/games/gnubg/default.nix
@@ -1,15 +1,16 @@
-{ lib, stdenv, fetchurl, pkg-config, glib, python2, gtk2, readline }:
+{ lib, stdenv, fetchurl, pkg-config, glib, python3, gtk2, readline,
+  copyDesktopItems, makeDesktopItem }:
 
 stdenv.mkDerivation rec {
   pname = "gnubg";
-  version = "1.06.002";
+  version = "1.07.001";
 
   src = fetchurl {
-    url = "http://gnubg.org/media/sources/gnubg-release-${version}-sources.tar.gz";
-    sha256 = "11xwhcli1h12k6rnhhyq4jphzrhfik7i8ah3k32pqw803460n6yf";
+    url = "mirror://gnu/gnubg/gnubg-release-${version}-sources.tar.gz";
+    hash = "sha256-cjmXKUGcrZ8RLDBmoS0AANpFCkVq3XsJTYkVUGnWgh4=";
   };
 
-  nativeBuildInputs = [ pkg-config python2 glib ];
+  nativeBuildInputs = [ copyDesktopItems pkg-config python3 glib ];
 
   buildInputs = [ gtk2 readline ];
 
@@ -17,9 +18,19 @@ stdenv.mkDerivation rec {
 
   configureFlags = [ "--with-gtk" "--with--board3d" ];
 
+  desktopItems = makeDesktopItem {
+    desktopName = "GNU Backgammon";
+    name = pname;
+    genericName = "Backgammon";
+    comment = meta.description;
+    exec = pname;
+    icon = pname;
+    categories = [ "Game" "GTK" "StrategyGame" ];
+  };
+
   meta = with lib;
     { description = "World class backgammon application";
-      homepage = "http://www.gnubg.org/";
+      homepage = "https://www.gnu.org/software/gnubg/";
       license = licenses.gpl3;
       maintainers = [ maintainers.ehmry ];
       platforms = platforms.linux;
diff --git a/pkgs/games/hmcl/default.nix b/pkgs/games/hmcl/default.nix
new file mode 100644
index 0000000000000..f6ded13dc0f4c
--- /dev/null
+++ b/pkgs/games/hmcl/default.nix
@@ -0,0 +1,97 @@
+{ lib
+, stdenv
+, fetchurl
+, makeBinaryWrapper
+, makeDesktopItem
+, wrapGAppsHook
+, copyDesktopItems
+, imagemagick
+, jre
+, xorg
+, libGL
+, glfw
+, openal
+, libglvnd
+, alsa-lib
+, wayland
+, libpulseaudio
+}:
+
+let
+  version = "3.5.5";
+  icon = fetchurl {
+    url = "https://github.com/huanghongxun/HMCL/raw/release-${version}/HMCLauncher/HMCL/HMCL.ico";
+    hash = "sha256-MWp78rP4b39Scz5/gpsjwaJhSu+K9q3S2B2cD/V31MA=";
+  };
+in
+stdenv.mkDerivation (finalAttrs: {
+  pname = "hmcl";
+  inherit version;
+
+  src = fetchurl {
+    url = "https://github.com/huanghongxun/HMCL/releases/download/release-${version}/HMCL-${version}.jar";
+    hash = "sha256-bXZF38pd8I8cReuDNrZzDj1hp1Crk+P26JNiikUCg4g=";
+  };
+
+  dontUnpack = true;
+
+  dontWrapGApps = true;
+
+  desktopItems = [
+    (makeDesktopItem {
+      name = "HMCL";
+      exec = "hmcl";
+      icon = "hmcl";
+      comment = finalAttrs.meta.description;
+      desktopName = "HMCL";
+      categories = [ "Game" ];
+    })
+  ];
+
+  nativeBuildInputs = [
+    makeBinaryWrapper
+    wrapGAppsHook
+    copyDesktopItems
+    imagemagick
+  ];
+
+  installPhase =
+    let
+      libpath = lib.makeLibraryPath ([
+        libGL
+        glfw
+        openal
+        libglvnd
+      ] ++ lib.optionals stdenv.isLinux [
+        xorg.libX11
+        xorg.libXxf86vm
+        xorg.libXext
+        xorg.libXcursor
+        xorg.libXrandr
+        xorg.libXtst
+        libpulseaudio
+        wayland
+        alsa-lib
+      ]);
+    in
+    ''
+      runHook preInstall
+      mkdir -p $out/{bin,lib/hmcl}
+      cp $src $out/lib/hmcl/hmcl.jar
+      magick ${icon} hmcl.png
+      install -Dm644 hmcl.png $out/share/icons/hicolor/32x32/apps/hmcl.png
+      makeBinaryWrapper ${jre}/bin/java $out/bin/hmcl \
+        --add-flags "-jar $out/lib/hmcl/hmcl.jar" \
+        --set LD_LIBRARY_PATH ${libpath}
+      runHook postInstall
+    '';
+
+  meta = with lib; {
+    homepage = "https://hmcl.huangyuhui.net";
+    description = "A Minecraft Launcher which is multi-functional, cross-platform and popular";
+    sourceProvenance = with sourceTypes; [ binaryBytecode ];
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ rs0vere ];
+    inherit (jre.meta) platforms;
+  };
+})
diff --git a/pkgs/games/jfsw/default.nix b/pkgs/games/jfsw/default.nix
new file mode 100644
index 0000000000000..e170f0024531b
--- /dev/null
+++ b/pkgs/games/jfsw/default.nix
@@ -0,0 +1,57 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, which
+, SDL2
+, perl
+, pkg-config
+, wrapGAppsHook
+, gtk3
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "jfsw";
+  version = "20211225";
+
+  src = fetchFromGitHub {
+    owner = "jonof";
+    repo = "jfsw";
+    rev = "refs/tags/${finalAttrs.version}";
+    fetchSubmodules = true;
+    hash = "sha256-oRJHVsVo+KQfJyd8TcPxTMPPi993qxQb0wnD9nR4vJY=";
+  };
+
+  nativeBuildInputs = [
+    which
+    SDL2
+    perl
+    pkg-config
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    SDL2
+    gtk3
+  ];
+
+  strictDeps = true;
+  enableParallelBuilding = true;
+
+  installPhase = ''
+    runHook preInstall
+
+    install -Dm755 sw -t $out/bin
+
+    runHook postInstall
+  '';
+
+  meta = {
+    description = "Modern port the original Shadow Warrior";
+    homepage = "http://www.jonof.id.au/jfsw/";
+    license = lib.licenses.gpl2Plus;
+    mainProgram = "sw";
+    maintainers = with lib.maintainers; [ moody ];
+    broken = stdenv.isDarwin;
+    inherit (SDL2.meta) platforms;
+  };
+})
diff --git a/pkgs/games/opendungeons/default.nix b/pkgs/games/opendungeons/default.nix
index 61f8aad304c8b..10bcf19a53e7d 100644
--- a/pkgs/games/opendungeons/default.nix
+++ b/pkgs/games/opendungeons/default.nix
@@ -1,14 +1,35 @@
-{ lib, stdenv, fetchFromGitHub, ogre, cegui, boost, sfml, openal, cmake, ois, pkg-config }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, pkg-config
+, ogre_13
+, cegui
+, boost
+, sfml
+, openal
+, ois
+}:
 
-stdenv.mkDerivation rec {
+let
+  ogre' = ogre_13.overrideAttrs (old: {
+    cmakeFlags = old.cmakeFlags ++ [
+      "-DOGRE_RESOURCEMANAGER_STRICT=0"
+    ];
+  });
+  cegui' = cegui.override {
+    ogre = ogre';
+  };
+in
+stdenv.mkDerivation {
   pname = "opendungeons";
-  version = "unstable-2021-11-06";
+  version = "unstable-2023-03-18";
 
   src = fetchFromGitHub {
-    owner = "OpenDungeons";
+    owner = "paroj";
     repo = "OpenDungeons";
-    rev = "c180ed1864eab5fbe847d1dd5c5c936c4e45444e";
-    sha256 = "0xf7gkpy8ll1h59wyaljf0hr8prg7p4ixz80mxqwcnm9cglpgn63";
+    rev = "974378d75591214dccbe0fb26e6ec8a40c2156e0";
+    hash = "sha256-vz9cT+rNcyKT3W9I9VRKcFol2SH1FhOhOALALjgKfIE=";
   };
 
   patches = [
@@ -21,8 +42,25 @@ stdenv.mkDerivation rec {
     cp source/utils/StackTrace{Stub,Unix}.cpp
   '';
 
-  nativeBuildInputs = [ cmake pkg-config ];
-  buildInputs = [ ogre cegui boost sfml openal ois ];
+  strictDeps = true;
+
+  nativeBuildInputs = [
+    cmake
+    pkg-config
+  ];
+
+  buildInputs = [
+    ogre'
+    cegui'
+    boost
+    sfml
+    openal
+    ois
+  ];
+
+  cmakeFlags = [
+    "-DOD_TREAT_WARNINGS_AS_ERRORS=FALSE"
+  ];
 
   meta = with lib; {
     description = "An open source, real time strategy game sharing game elements with the Dungeon Keeper series and Evil Genius";
diff --git a/pkgs/games/stuntrally/default.nix b/pkgs/games/stuntrally/default.nix
index af5535ec7ab6f..b4b2268c33e9a 100644
--- a/pkgs/games/stuntrally/default.nix
+++ b/pkgs/games/stuntrally/default.nix
@@ -3,7 +3,7 @@
 , stdenv
 , cmake
 , boost
-, ogre
+, ogre_13
 , mygui
 , ois
 , SDL2
@@ -19,7 +19,7 @@
 }:
 
 let
-  stuntrally_ogre = ogre.overrideAttrs (old: {
+  stuntrally_ogre = ogre_13.overrideAttrs (old: {
     cmakeFlags = old.cmakeFlags ++ [
       "-DOGRE_NODELESS_POSITIONING=ON"
       "-DOGRE_RESOURCEMANAGER_STRICT=0"
@@ -27,7 +27,7 @@ let
   });
   stuntrally_mygui = mygui.override {
     withOgre = true;
-    inherit ogre;
+    ogre = stuntrally_ogre;
   };
 in
 
diff --git a/pkgs/games/unciv/default.nix b/pkgs/games/unciv/default.nix
index f9808bebb65e3..e0cf519acccba 100644
--- a/pkgs/games/unciv/default.nix
+++ b/pkgs/games/unciv/default.nix
@@ -25,11 +25,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "unciv";
-  version = "4.7.8-patch1";
+  version = "4.7.11";
 
   src = fetchurl {
     url = "https://github.com/yairm210/Unciv/releases/download/${version}/Unciv.jar";
-    hash = "sha256-y4mCv4bSz9hMGt/ZAAjbhF1tBy4l3r3GMi0jJr3mnVc=";
+    hash = "sha256-1QMfGONaw6XX3F2bo5tBghJbnii7z6RE+ZuanIGUF8Q=";
   };
 
   dontUnpack = true;
diff --git a/pkgs/misc/fastly/default.nix b/pkgs/misc/fastly/default.nix
index ec6f213d36124..261c06dd2e24a 100644
--- a/pkgs/misc/fastly/default.nix
+++ b/pkgs/misc/fastly/default.nix
@@ -10,13 +10,13 @@
 
 buildGoModule rec {
   pname = "fastly";
-  version = "10.2.3";
+  version = "10.2.4";
 
   src = fetchFromGitHub {
     owner = "fastly";
     repo = "cli";
     rev = "refs/tags/v${version}";
-    hash = "sha256-NSXaDPb1cMLDH1Twf/Nc+O/2hfTPobTvR0lzq2JR1EQ=";
+    hash = "sha256-4N2Eo6InqdK5CFhHp8X3+1xKA99Wtnj2Q0/GDglWoBc=";
     # The git commit is part of the `fastly version` original output;
     # leave that output the same in nixpkgs. Use the `.git` directory
     # to retrieve the commit SHA, and remove the directory afterwards,
@@ -33,7 +33,7 @@ buildGoModule rec {
     "cmd/fastly"
   ];
 
-  vendorHash = "sha256-mZg/IApgrYLpyWSWWnZE4Yu/K8daWW+phNuq3e/iwog=";
+  vendorHash = "sha256-IimrJZLaSkwWsqoVmNRyLhcME4y1YKw5xLayKxRj5lw=";
 
   nativeBuildInputs = [
     installShellFiles
diff --git a/pkgs/misc/uboot/0001-rpi-Copy-properties-from-firmware-dtb-to-the-loaded-.patch b/pkgs/misc/uboot/0001-rpi-Copy-properties-from-firmware-dtb-to-the-loaded-.patch
deleted file mode 100644
index 8c4c3eff54928..0000000000000
--- a/pkgs/misc/uboot/0001-rpi-Copy-properties-from-firmware-dtb-to-the-loaded-.patch
+++ /dev/null
@@ -1,92 +0,0 @@
-From 65d90cd17ad7cd3f9aeeb805a08be780fc5bae1a Mon Sep 17 00:00:00 2001
-From: Sjoerd Simons <sjoerd@collabora.com>
-Date: Sun, 22 Aug 2021 16:36:55 +0200
-Subject: [PATCH] rpi: Copy properties from firmware dtb to the loaded dtb
-
-The RPI firmware adjusts several property values in the dtb it passes
-to u-boot depending on the board/SoC revision. Inherit some of these
-when u-boot loads a dtb itself. Specificaly copy:
-
-* /model: The firmware provides a more specific string
-* /memreserve: The firmware defines a reserved range, better keep it
-* emmc2bus and pcie0 dma-ranges: The C0T revision of the bcm2711 Soc (as
-  present on rpi 400 and some rpi 4B boards) has different values for
-  these then the B0T revision. So these need to be adjusted to boot on
-  these boards
-* blconfig: The firmware defines the memory area where the blconfig
-  stored. Copy those over so it can be enabled.
-* /chosen/kaslr-seed: The firmware generates a kaslr seed, take advantage
-  of that.
-
-Signed-off-by: Sjoerd Simons <sjoerd@collabora.com>
-Origin: https://patchwork.ozlabs.org/project/uboot/patch/20210822143656.289891-1-sjoerd@collabora.com/
----
- board/raspberrypi/rpi/rpi.c | 48 +++++++++++++++++++++++++++++++++++++
- 1 file changed, 48 insertions(+)
-
-diff --git a/board/raspberrypi/rpi/rpi.c b/board/raspberrypi/rpi/rpi.c
-index 372b26b6f2..64b8684b68 100644
---- a/board/raspberrypi/rpi/rpi.c
-+++ b/board/raspberrypi/rpi/rpi.c
-@@ -495,10 +495,58 @@ void *board_fdt_blob_setup(void)
- 	return (void *)fw_dtb_pointer;
- }
- 
-+int copy_property(void *dst, void *src, char *path, char *property)
-+{
-+	int dst_offset, src_offset;
-+	const fdt32_t *prop;
-+	int len;
-+
-+	src_offset = fdt_path_offset(src, path);
-+	dst_offset = fdt_path_offset(dst, path);
-+
-+	if (src_offset < 0 || dst_offset < 0)
-+		return -1;
-+
-+	prop = fdt_getprop(src, src_offset, property, &len);
-+	if (!prop)
-+		return -1;
-+
-+	return fdt_setprop(dst, dst_offset, property, prop, len);
-+}
-+
-+/* Copy tweaks from the firmware dtb to the loaded dtb */
-+void  update_fdt_from_fw(void *fdt, void *fw_fdt)
-+{
-+	/* Using dtb from firmware directly; leave it alone */
-+	if (fdt == fw_fdt)
-+		return;
-+
-+	/* The firmware provides a more precie model; so copy that */
-+	copy_property(fdt, fw_fdt, "/", "model");
-+
-+	/* memory reserve as suggested by the firmware */
-+	copy_property(fdt, fw_fdt, "/", "memreserve");
-+
-+	/* Adjust dma-ranges for the SD card and PCI bus as they can depend on
-+	 * the SoC revision
-+	 */
-+	copy_property(fdt, fw_fdt, "emmc2bus", "dma-ranges");
-+	copy_property(fdt, fw_fdt, "pcie0", "dma-ranges");
-+
-+	/* Bootloader configuration template exposes as nvmem */
-+	if (copy_property(fdt, fw_fdt, "blconfig", "reg") == 0)
-+		copy_property(fdt, fw_fdt, "blconfig", "status");
-+
-+	/* kernel address randomisation seed as provided by the firmware */
-+	copy_property(fdt, fw_fdt, "/chosen", "kaslr-seed");
-+}
-+
- int ft_board_setup(void *blob, struct bd_info *bd)
- {
- 	int node;
- 
-+	update_fdt_from_fw(blob, (void *)fw_dtb_pointer);
-+
- 	node = fdt_node_offset_by_compatible(blob, -1, "simple-framebuffer");
- 	if (node < 0)
- 		lcd_dt_simplefb_add_node(blob);
--- 
-2.32.0
-
diff --git a/pkgs/misc/uboot/default.nix b/pkgs/misc/uboot/default.nix
index 517f9e784a616..ce4e18b656ad4 100644
--- a/pkgs/misc/uboot/default.nix
+++ b/pkgs/misc/uboot/default.nix
@@ -24,10 +24,10 @@
 }:
 
 let
-  defaultVersion = "2023.01";
+  defaultVersion = "2023.07.02";
   defaultSrc = fetchurl {
-    url = "ftp://ftp.denx.de/pub/u-boot/u-boot-${defaultVersion}.tar.bz2";
-    hash = "sha256-aUI7rTgPiaCRZjbonm3L0uRRLVhDCNki0QOdHkMxlQ8=";
+    url = "https://ftp.denx.de/pub/u-boot/u-boot-${defaultVersion}.tar.bz2";
+    hash = "sha256-a2pIWBwUq7D5W9h8GvTXQJIkBte4AQAqn5Ryf93gIdU=";
   };
   buildUBoot = lib.makeOverridable ({
     version ? null
@@ -48,11 +48,6 @@ let
 
     patches = [
       ./0001-configs-rpi-allow-for-bigger-kernels.patch
-
-      # Make U-Boot forward some important settings from the firmware-provided FDT. Fixes booting on BCM2711C0 boards.
-      # See also: https://github.com/NixOS/nixpkgs/issues/135828
-      # Source: https://patchwork.ozlabs.org/project/uboot/patch/20210822143656.289891-1-sjoerd@collabora.com/
-      ./0001-rpi-Copy-properties-from-firmware-dtb-to-the-loaded-.patch
     ] ++ extraPatches;
 
     postPatch = ''
@@ -70,6 +65,7 @@ let
       (buildPackages.python3.withPackages (p: [
         p.libfdt
         p.setuptools # for pkg_resources
+        p.pyelftools
       ]))
       swig
       which # for scripts/dtc-version.sh
@@ -487,7 +483,6 @@ in {
       sha256 = "0h7xm4ck3p3380c6bqm5ixrkxwcx6z5vysqdwvfa7gcqx5d6x5zz";
     };
   in buildUBoot {
-    extraMakeFlags = [ "all" "u-boot.itb" ];
     defconfig = "rock64-rk3328_defconfig";
     extraMeta = {
       platforms = [ "aarch64-linux" ];
@@ -509,7 +504,6 @@ in {
   };
 
   ubootRockPro64 = buildUBoot {
-    extraMakeFlags = [ "all" "u-boot.itb" ];
     extraPatches = [
       # https://patchwork.ozlabs.org/project/uboot/list/?series=237654&archive=both&state=*
       (fetchpatch {
diff --git a/pkgs/os-specific/bsd/netbsd/default.nix b/pkgs/os-specific/bsd/netbsd/default.nix
index 6bf884d382840..11d8aa2ec3b0a 100644
--- a/pkgs/os-specific/bsd/netbsd/default.nix
+++ b/pkgs/os-specific/bsd/netbsd/default.nix
@@ -212,7 +212,7 @@ in makeScopeWithSplicing
     ] ++ lib.optionals stdenv.hostPlatform.isDarwin [
       # GNU objcopy produces broken .a libs which won't link into dependers.
       # Makefiles only invoke `$OBJCOPY -x/-X`, so cctools strip works here.
-      "OBJCOPY=${buildPackages.darwin.cctools}/bin/strip"
+      "OBJCOPY=${buildPackages.darwin.cctools-port}/bin/strip"
     ];
     RENAME = "-D";
 
diff --git a/pkgs/os-specific/darwin/airbuddy/default.nix b/pkgs/os-specific/darwin/airbuddy/default.nix
index 1dfb5cf1c1357..303311ccb1051 100644
--- a/pkgs/os-specific/darwin/airbuddy/default.nix
+++ b/pkgs/os-specific/darwin/airbuddy/default.nix
@@ -6,12 +6,12 @@
 
 stdenvNoCC.mkDerivation (finalAttrs: {
   pname = "airbuddy";
-  version = "2.7";
+  version = "2.7.1";
 
   src = fetchurl {
     name = "AirBuddy.dmg";
     url = "https://download.airbuddy.app/WebDownload/AirBuddy_v${finalAttrs.version}.dmg";
-    hash = "sha256-i/pxRG5o03jh9D46F9s8cSpf8A1aQEb+u3JiPjDlubA=";
+    hash = "sha256-z8iy3kIBO+1HDgmWxXmFHArLdw85CLNSMvMFZfEJAp0=";
   };
 
   dontPatch = true;
diff --git a/pkgs/os-specific/darwin/apple-sdk-11.0/private-frameworks.nix b/pkgs/os-specific/darwin/apple-sdk-11.0/private-frameworks.nix
index 27749dde100a0..f95932516d208 100644
--- a/pkgs/os-specific/darwin/apple-sdk-11.0/private-frameworks.nix
+++ b/pkgs/os-specific/darwin/apple-sdk-11.0/private-frameworks.nix
@@ -7,14 +7,15 @@
   AddressBookCore = { inherit ContactsPersistence; };
   AudioToolboxCore = {};
   ContactsPersistence = {};
-  UIFoundation = {};
   GameCenterFoundation = {};
   GameCenterUI = {};
   GameCenterUICore = {};
-  URLFormatting = {};
-  SignpostMetrics = {};
+  MediaRemote = {};
   PassKitCore = {};
+  SignpostMetrics = {};
   SkyLight = {};
+  UIFoundation = {};
+  URLFormatting = {};
 
   # Also expose CoreSymbolication; used by `root` package.
   CoreSymbolication = {};
diff --git a/pkgs/os-specific/darwin/sketchybar/default.nix b/pkgs/os-specific/darwin/sketchybar/default.nix
index 6d478d8ab3347..b27390608a28a 100644
--- a/pkgs/os-specific/darwin/sketchybar/default.nix
+++ b/pkgs/os-specific/darwin/sketchybar/default.nix
@@ -1,4 +1,13 @@
-{ lib, stdenv, fetchFromGitHub, Carbon, Cocoa, CoreWLAN, DisplayServices, SkyLight }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, Carbon
+, Cocoa
+, CoreWLAN
+, DisplayServices
+, MediaRemote
+, SkyLight
+}:
 
 let
   inherit (stdenv.hostPlatform) system;
@@ -7,34 +16,44 @@ let
     "x86_64-darwin" = "x86";
   }.${system} or (throw "Unsupported system: ${system}");
 in
-
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "sketchybar";
-  version = "2.15.1";
+  version = "2.15.2";
 
   src = fetchFromGitHub {
     owner = "FelixKratz";
     repo = "SketchyBar";
-    rev = "v${version}";
-    hash = "sha256-0jCVDaFc7ZvA8apeHRoQvPhAlaGlBHzqUkS9or88PcM=";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-13wc+1IgplB+L0j1AbBr/MUjEo4W38ZgJwrAhbdOroE=";
   };
 
-  buildInputs = [ Carbon Cocoa CoreWLAN DisplayServices SkyLight ];
+  buildInputs = [
+    Carbon
+    Cocoa
+    CoreWLAN
+    DisplayServices
+    MediaRemote
+    SkyLight
+  ];
 
   makeFlags = [
     target
   ];
 
   installPhase = ''
+    runHook preInstall
+
     mkdir -p $out/bin
     cp ./bin/sketchybar $out/bin/sketchybar
+
+    runHook postInstall
   '';
 
-  meta = with lib; {
+  meta = {
     description = "A highly customizable macOS status bar replacement";
     homepage = "https://github.com/FelixKratz/SketchyBar";
-    platforms = platforms.darwin;
-    maintainers = [ maintainers.azuwis ];
-    license = licenses.gpl3;
+    license = lib.licenses.gpl3;
+    maintainers = with lib.maintainers; [ azuwis khaneliman ];
+    platforms = lib.platforms.darwin;
   };
-}
+})
diff --git a/pkgs/os-specific/darwin/skhd/default.nix b/pkgs/os-specific/darwin/skhd/default.nix
index ad33cf713d0c6..2de0a8d4d510b 100644
--- a/pkgs/os-specific/darwin/skhd/default.nix
+++ b/pkgs/os-specific/darwin/skhd/default.nix
@@ -1,19 +1,29 @@
-{ lib, stdenv, fetchFromGitHub, Carbon }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, Carbon
+, Cocoa
+}:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "skhd";
-  version = "0.3.5";
+  version = "0.3.9";
 
   src = fetchFromGitHub {
     owner = "koekeishiya";
-    repo = pname;
-    rev = "v${version}";
-    sha256 = "0x099979kgpim18r0vi9vd821qnv0rl3rkj0nd1nx3wljxgf7mrg";
+    repo = "skhd";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-fnkWws/g4BdHKDRhqoCpdPFUavOHdk8R7h7H1dAdAYI=";
   };
 
-  buildInputs = [ Carbon ];
+  buildInputs = [
+    Carbon
+    Cocoa
+  ];
 
-  makeFlags = [ "BUILD_PATH=$(out)/bin" ];
+  makeFlags = [
+    "BUILD_PATH=$(out)/bin"
+  ];
 
   postInstall = ''
     mkdir -p $out/Library/LaunchDaemons
@@ -21,11 +31,11 @@ stdenv.mkDerivation rec {
     substituteInPlace $out/Library/LaunchDaemons/org.nixos.skhd.plist --subst-var out
   '';
 
-  meta = with lib; {
+  meta = {
     description = "Simple hotkey daemon for macOS";
     homepage = "https://github.com/koekeishiya/skhd";
-    platforms = platforms.darwin;
-    maintainers = with maintainers; [ cmacrae lnl7 periklis ];
-    license = licenses.mit;
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ cmacrae lnl7 periklis khaneliman];
+    platforms = lib.platforms.darwin;
   };
-}
+})
diff --git a/pkgs/os-specific/linux/below/default.nix b/pkgs/os-specific/linux/below/default.nix
index 2bdca0805a229..0a91fd5859065 100644
--- a/pkgs/os-specific/linux/below/default.nix
+++ b/pkgs/os-specific/linux/below/default.nix
@@ -43,5 +43,6 @@ rustPlatform.buildRustPackage rec {
     description = "A time traveling resource monitor for modern Linux systems";
     license = licenses.asl20;
     homepage = "https://github.com/facebookincubator/below";
+    mainProgram = "below";
   };
 }
diff --git a/pkgs/os-specific/linux/iio-sensor-proxy/default.nix b/pkgs/os-specific/linux/iio-sensor-proxy/default.nix
index d2dd660560178..05fd82401a290 100644
--- a/pkgs/os-specific/linux/iio-sensor-proxy/default.nix
+++ b/pkgs/os-specific/linux/iio-sensor-proxy/default.nix
@@ -1,51 +1,58 @@
-{ lib, stdenv, fetchFromGitLab, autoconf-archive, gettext, libtool, intltool, autoconf, automake
-, glib, gtk3, gtk-doc, libgudev, pkg-config, systemd }:
+{ lib
+, stdenv
+, fetchFromGitLab
+, cmake
+, libxml2
+, meson
+, ninja
+, pkg-config
+, libgudev
+, systemd
+, polkit
+}:
 
 stdenv.mkDerivation rec {
   pname = "iio-sensor-proxy";
-  version = "3.0";
+  version = "3.5";
 
   src = fetchFromGitLab {
     domain = "gitlab.freedesktop.org";
-    owner  = "hadess";
-    repo   = pname;
-    rev    = version;
-    sha256 = "0ngbz1vkbjci3ml6p47jh6c6caipvbkm8mxrc8ayr6vc2p9l1g49";
+    owner = "hadess";
+    repo = pname;
+    rev = version;
+    hash = "sha256-pFu+nJzj45s7yIKoLWLeiv2AT5vLf6JpdWWQ0JZfnvY=";
   };
 
-  configurePhase = ''
-    runHook preConfigure
-
-    ./autogen.sh --prefix=$out \
-      --with-udevrulesdir=$out/lib/udev/rules.d \
-      --with-systemdsystemunitdir=$out/lib/systemd/system
-
-    runHook postConfigure
+  postPatch = ''
+    # upstream meson.build currently doesn't have an option to change the default polkit dir
+    substituteInPlace data/meson.build \
+      --replace 'polkit_policy_directory' "'$out/share/polkit-1/actions'"
   '';
 
   buildInputs = [
-    glib
-    gtk3
-    gtk-doc
     libgudev
     systemd
+    polkit
   ];
 
   nativeBuildInputs = [
-    autoconf
-    autoconf-archive
-    automake
-    gettext
-    intltool
-    libtool
+    meson
+    cmake
+    libxml2
+    ninja
     pkg-config
   ];
 
+  mesonFlags = [
+    (lib.mesonOption "udevrulesdir" "${placeholder "out"}/lib/udev/rules.d")
+    (lib.mesonOption "systemdsystemunitdir" "${placeholder "out"}/lib/systemd/system")
+  ];
+
   meta = with lib; {
     description = "Proxy for sending IIO sensor data to D-Bus";
     homepage = "https://gitlab.freedesktop.org/hadess/iio-sensor-proxy";
-    license = licenses.gpl3 ;
-    maintainers = with maintainers; [ peterhoeg ];
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ _999eagle ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix
index 042a9aa5a3bb9..3240fe93de199 100644
--- a/pkgs/os-specific/linux/kernel/common-config.nix
+++ b/pkgs/os-specific/linux/kernel/common-config.nix
@@ -715,7 +715,7 @@ let
       MEDIA_PCI_SUPPORT        = yes;
       MEDIA_USB_SUPPORT        = yes;
       MEDIA_ANALOG_TV_SUPPORT  = yes;
-      VIDEO_STK1160_COMMON     = module;
+      VIDEO_STK1160_COMMON     = whenOlder "6.5" module;
     };
 
     "9p" = {
diff --git a/pkgs/os-specific/linux/kernel/hardened/patches.json b/pkgs/os-specific/linux/kernel/hardened/patches.json
index d53a05d910990..01d761a6eeb07 100644
--- a/pkgs/os-specific/linux/kernel/hardened/patches.json
+++ b/pkgs/os-specific/linux/kernel/hardened/patches.json
@@ -12,61 +12,61 @@
     "4.19": {
         "patch": {
             "extra": "-hardened1",
-            "name": "linux-hardened-4.19.288-hardened1.patch",
-            "sha256": "0iw70vp9m7ldq85jfycfaihq2974giwi1d9fdd1yrhljlwzf9y6p",
-            "url": "https://github.com/anthraxx/linux-hardened/releases/download/4.19.288-hardened1/linux-hardened-4.19.288-hardened1.patch"
+            "name": "linux-hardened-4.19.289-hardened1.patch",
+            "sha256": "1bi0cf15nqbk5hkhy76cd1xbb3fsnrgz705lry19v467hn3c0fx3",
+            "url": "https://github.com/anthraxx/linux-hardened/releases/download/4.19.289-hardened1/linux-hardened-4.19.289-hardened1.patch"
         },
-        "sha256": "1sz3jp6kx0axdwp0wsq903q1090rbav9d12m5128335m8p2d1srk",
-        "version": "4.19.288"
+        "sha256": "1cx33aa9v2071gixvp68pqpp4vxcx61dqg04rf6xns1qg48p93qi",
+        "version": "4.19.289"
     },
     "5.10": {
         "patch": {
             "extra": "-hardened1",
-            "name": "linux-hardened-5.10.186-hardened1.patch",
-            "sha256": "0k6f2sxk2gy601w0132i5glznhi35wbdpxkqsfgxlr2gi2w021wr",
-            "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.10.186-hardened1/linux-hardened-5.10.186-hardened1.patch"
+            "name": "linux-hardened-5.10.188-hardened1.patch",
+            "sha256": "10mnrnzg3b5iirvn9x241zxwlysrnv7i65hiil2h8f7lswwgb6ar",
+            "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.10.188-hardened1/linux-hardened-5.10.188-hardened1.patch"
         },
-        "sha256": "1qqv91r13akgik1q4jybf8czskxxizk6lpv4rsvjn9sx2dm2jq0y",
-        "version": "5.10.186"
+        "sha256": "04k1mc23vqv3mr4m80rab1w7z1cwc0n1kcxzc5vfcfp26nmqnmf9",
+        "version": "5.10.188"
     },
     "5.15": {
         "patch": {
             "extra": "-hardened1",
-            "name": "linux-hardened-5.15.120-hardened1.patch",
-            "sha256": "0wqnwjww062ykh1y2yrbsy75b0fz8xlkazijgvj3rl14wvccf39x",
-            "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.15.120-hardened1/linux-hardened-5.15.120-hardened1.patch"
+            "name": "linux-hardened-5.15.123-hardened1.patch",
+            "sha256": "0q942jcz22yq7lbhmbwpg12p75zb0ky36zp2waz30cixw7lmyx6b",
+            "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.15.123-hardened1/linux-hardened-5.15.123-hardened1.patch"
         },
-        "sha256": "1xl3nrykbxdwv5a9rk0xnb7l61dsyjvkm1ryrdii09vbmsg0i6b4",
-        "version": "5.15.120"
+        "sha256": "14xzk4rn7fwgdysnd763rbl25krvq40wk3y5cf8hasifl529brid",
+        "version": "5.15.123"
     },
     "5.4": {
         "patch": {
             "extra": "-hardened1",
-            "name": "linux-hardened-5.4.249-hardened1.patch",
-            "sha256": "11rwyr68wrhjl0cdkvbgcpxwz4bwx3hii9k6xmai7hpds6rb3nsx",
-            "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.4.249-hardened1/linux-hardened-5.4.249-hardened1.patch"
+            "name": "linux-hardened-5.4.251-hardened1.patch",
+            "sha256": "148qyspyj4a6yrl45f358z64iqxf40zb71ccj5kvwbrn395xiwgs",
+            "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.4.251-hardened1/linux-hardened-5.4.251-hardened1.patch"
         },
-        "sha256": "079mylc5j7hk5xn59q3z2xydyh88pq7yipn67x3y7nvf5i35hm6w",
-        "version": "5.4.249"
+        "sha256": "1jhqnazgiyz1vvrhnq5byl3h1mxrr3555fpiz4byycc1sqz9bd5w",
+        "version": "5.4.251"
     },
     "6.1": {
         "patch": {
             "extra": "-hardened1",
-            "name": "linux-hardened-6.1.39-hardened1.patch",
-            "sha256": "0j4sgcs6m2mq9dn1v525bymhdhha3x8ivrpfrhqm553q4vdnmbg7",
-            "url": "https://github.com/anthraxx/linux-hardened/releases/download/6.1.39-hardened1/linux-hardened-6.1.39-hardened1.patch"
+            "name": "linux-hardened-6.1.42-hardened1.patch",
+            "sha256": "0v5ja4q8wq3gwds0m8bzrxhx6vagg97lvcxrw3glm1d5sv1v94l6",
+            "url": "https://github.com/anthraxx/linux-hardened/releases/download/6.1.42-hardened1/linux-hardened-6.1.42-hardened1.patch"
         },
-        "sha256": "1f45j3ch1ljbacjlg8q45iva9lvwys938rdg0s516mznzlifxpac",
-        "version": "6.1.39"
+        "sha256": "1lqy72yvsbcv7an1gr8sam6ym3788ss811xb3sw7d2qwaldjdy5a",
+        "version": "6.1.42"
     },
     "6.4": {
         "patch": {
             "extra": "-hardened1",
-            "name": "linux-hardened-6.4.4-hardened1.patch",
-            "sha256": "0yy02hn190wvl24z1j9kjmnyxrlp6s9fhkyvqgcm8i56d7d69zhb",
-            "url": "https://github.com/anthraxx/linux-hardened/releases/download/6.4.4-hardened1/linux-hardened-6.4.4-hardened1.patch"
+            "name": "linux-hardened-6.4.7-hardened1.patch",
+            "sha256": "1kzkx0i3hkq25rywl8xsf5i8716ycjspblk1hrkaq6a02ci0697b",
+            "url": "https://github.com/anthraxx/linux-hardened/releases/download/6.4.7-hardened1/linux-hardened-6.4.7-hardened1.patch"
         },
-        "sha256": "0apzfnn04w6jda9yw5cbgj8784frvqrryb1iw5ad390lwwmlmg4w",
-        "version": "6.4.4"
+        "sha256": "1n57qijg0m27wcrqll8rb1hi1n0n8ca3bzsnbz05d9ya3nv3q56y",
+        "version": "6.4.7"
     }
 }
diff --git a/pkgs/os-specific/linux/kernel/linux-5.10.nix b/pkgs/os-specific/linux/kernel/linux-5.10.nix
index cf73906098954..a6baeaac8901a 100644
--- a/pkgs/os-specific/linux/kernel/linux-5.10.nix
+++ b/pkgs/os-specific/linux/kernel/linux-5.10.nix
@@ -3,7 +3,7 @@
 with lib;
 
 buildLinux (args // rec {
-  version = "5.10.187";
+  version = "5.10.188";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = versions.pad 3 version;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
-    sha256 = "1fwbz5xg3jxfzji9jlxqwf5rz9acgn4sm2inp3l017iy1chm957n";
+    sha256 = "04k1mc23vqv3mr4m80rab1w7z1cwc0n1kcxzc5vfcfp26nmqnmf9";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-5.15.nix b/pkgs/os-specific/linux/kernel/linux-5.15.nix
index 8c66af32b4425..c7117f88080de 100644
--- a/pkgs/os-specific/linux/kernel/linux-5.15.nix
+++ b/pkgs/os-specific/linux/kernel/linux-5.15.nix
@@ -3,7 +3,7 @@
 with lib;
 
 buildLinux (args // rec {
-  version = "5.15.122";
+  version = "5.15.123";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = versions.pad 3 version;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
-    sha256 = "0b9ljdi9vgwzw4wa8gx1ia5fmb1pm8lnslx0q2l2kqhwrl0mhx9q";
+    sha256 = "14xzk4rn7fwgdysnd763rbl25krvq40wk3y5cf8hasifl529brid";
   };
 } // (args.argsOverride or { }))
diff --git a/pkgs/os-specific/linux/kernel/linux-5.4.nix b/pkgs/os-specific/linux/kernel/linux-5.4.nix
index daa4385b76140..5f3afdab8c2e3 100644
--- a/pkgs/os-specific/linux/kernel/linux-5.4.nix
+++ b/pkgs/os-specific/linux/kernel/linux-5.4.nix
@@ -3,7 +3,7 @@
 with lib;
 
 buildLinux (args // rec {
-  version = "5.4.250";
+  version = "5.4.251";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = versions.pad 3 version;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
-    sha256 = "1ywil04x3mw62n53pkrkxrhkg1xyi3g9ssvg6igbyqk0a9v8hnqg";
+    sha256 = "1jhqnazgiyz1vvrhnq5byl3h1mxrr3555fpiz4byycc1sqz9bd5w";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-6.1.nix b/pkgs/os-specific/linux/kernel/linux-6.1.nix
index 7fade741a748e..51c7bac8f1654 100644
--- a/pkgs/os-specific/linux/kernel/linux-6.1.nix
+++ b/pkgs/os-specific/linux/kernel/linux-6.1.nix
@@ -3,7 +3,7 @@
 with lib;
 
 buildLinux (args // rec {
-  version = "6.1.41";
+  version = "6.1.42";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = versions.pad 3 version;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v6.x/linux-${version}.tar.xz";
-    sha256 = "1dqbawgcpwxszqqnf7a66db8xlldxnr4f3sqlq42l1gaiskhja1i";
+    sha256 = "1lqy72yvsbcv7an1gr8sam6ym3788ss811xb3sw7d2qwaldjdy5a";
   };
 } // (args.argsOverride or { }))
diff --git a/pkgs/os-specific/linux/kernel/linux-6.4.nix b/pkgs/os-specific/linux/kernel/linux-6.4.nix
index aaa568ff2b327..ae38cdfa6607f 100644
--- a/pkgs/os-specific/linux/kernel/linux-6.4.nix
+++ b/pkgs/os-specific/linux/kernel/linux-6.4.nix
@@ -3,7 +3,7 @@
 with lib;
 
 buildLinux (args // rec {
-  version = "6.4.6";
+  version = "6.4.7";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = versions.pad 3 version;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v6.x/linux-${version}.tar.xz";
-    sha256 = "192ya79h3lw781ka22ibgbvdcx6maa74nyk0lqjsz2n4xybc9v71";
+    sha256 = "1n57qijg0m27wcrqll8rb1hi1n0n8ca3bzsnbz05d9ya3nv3q56y";
   };
 } // (args.argsOverride or { }))
diff --git a/pkgs/os-specific/linux/kernel/linux-testing.nix b/pkgs/os-specific/linux/kernel/linux-testing.nix
index 4e1c34d6ae4bd..0851a72e010d9 100644
--- a/pkgs/os-specific/linux/kernel/linux-testing.nix
+++ b/pkgs/os-specific/linux/kernel/linux-testing.nix
@@ -3,7 +3,7 @@
 with lib;
 
 buildLinux (args // rec {
-  version = "6.4-rc7";
+  version = "6.5-rc3";
   extraMeta.branch = lib.versions.majorMinor version;
 
   # modDirVersion needs to be x.y.z, will always add .0
@@ -11,7 +11,7 @@ buildLinux (args // rec {
 
   src = fetchzip {
     url = "https://git.kernel.org/torvalds/t/linux-${version}.tar.gz";
-    hash = "sha256-UDhLrKe8yMvmWbS19Xt1G3SQpAUWyKrfV3v1MJ5Vep8=";
+    hash = "sha256-z4y4eNkY458rxebey3eCG0CUDLJP9oQETVlH8Av3Lhs=";
   };
 
   # Should the testing kernels ever be built on Hydra?
diff --git a/pkgs/os-specific/linux/kernel/xanmod-kernels.nix b/pkgs/os-specific/linux/kernel/xanmod-kernels.nix
index 4781f5f14e55d..4412bd56fadde 100644
--- a/pkgs/os-specific/linux/kernel/xanmod-kernels.nix
+++ b/pkgs/os-specific/linux/kernel/xanmod-kernels.nix
@@ -3,14 +3,14 @@
 let
   # These names are how they are designated in https://xanmod.org.
   ltsVariant = {
-    version = "6.1.39";
-    hash = "sha256-H7KoNTl00OCQhUZXNM6PfiknI+lOVNxe2+levmJM5gA=";
+    version = "6.1.42";
+    hash = "sha256-mOydloX5bff9wrFh40wf12GW+sION9SoGK2mAC1yNOw=";
     variant = "lts";
   };
 
   mainVariant = {
-    version = "6.4.4";
-    hash = "sha256-EdyGAdWIPr91SNz68tVhya9YO4/dL/wEmEklo45i2p0=";
+    version = "6.4.7";
+    hash = "sha256-0yOVCMqhoiWz8IlYRR0wXytAzjv81Cf5NoFa9qxGMm4=";
     variant = "main";
   };
 
diff --git a/pkgs/os-specific/linux/kernel/zen-kernels.nix b/pkgs/os-specific/linux/kernel/zen-kernels.nix
index 9455f887dd289..7c32a5dae5c45 100644
--- a/pkgs/os-specific/linux/kernel/zen-kernels.nix
+++ b/pkgs/os-specific/linux/kernel/zen-kernels.nix
@@ -4,16 +4,16 @@ let
   # comments with variant added for update script
   # ./update-zen.py zen
   zenVariant = {
-    version = "6.4.2"; #zen
+    version = "6.4.7"; #zen
     suffix = "zen1"; #zen
-    sha256 = "1swd3y97w55wh9vl6k1bsrx6fqi6b6ssbw306h87nxn36xwzx8cd"; #zen
+    sha256 = "1xxznqkgn17sh134c4szjhk8im342zh7z6200k3csnqd9fink2r7"; #zen
     isLqx = false;
   };
   # ./update-zen.py lqx
   lqxVariant = {
-    version = "6.4.2"; #lqx
+    version = "6.4.7"; #lqx
     suffix = "lqx1"; #lqx
-    sha256 = "14hr88lbwm2pz3knw6nxlahdk4pwwb4ya63mrd7zg7g1x2xhfb59"; #lqx
+    sha256 = "055l8l83368858ap1pslxcs76hkms8ik627v7d7wczm9f1vldbln"; #lqx
     isLqx = true;
   };
   zenKernelsFor = { version, suffix, sha256, isLqx }: buildLinux (args // {
diff --git a/pkgs/os-specific/linux/ksmbd-tools/default.nix b/pkgs/os-specific/linux/ksmbd-tools/default.nix
index 2376dddbb34a8..6813e773a9595 100644
--- a/pkgs/os-specific/linux/ksmbd-tools/default.nix
+++ b/pkgs/os-specific/linux/ksmbd-tools/default.nix
@@ -13,13 +13,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ksmbd-tools";
-  version = "3.4.8";
+  version = "3.4.9";
 
   src = fetchFromGitHub {
     owner = "cifsd-team";
     repo = pname;
     rev = version;
-    sha256 = "sha256-R/OWZekAGtDxE71MrzjWsdpaWGBu0c+VP0VkPro6GEo=";
+    sha256 = "sha256-GZccOlp9zZMqtv3+u8JnKFfIe8sjwbZBLkDk8lt3CGk=";
   };
 
   buildInputs = [ glib libnl ] ++ lib.optional withKerberos libkrb5;
diff --git a/pkgs/os-specific/linux/nvidia-x11/default.nix b/pkgs/os-specific/linux/nvidia-x11/default.nix
index 254a02f1f0c14..8f1ca40aa97cb 100644
--- a/pkgs/os-specific/linux/nvidia-x11/default.nix
+++ b/pkgs/os-specific/linux/nvidia-x11/default.nix
@@ -65,11 +65,11 @@ rec {
   # Vulkan developer beta driver
   # See here for more information: https://developer.nvidia.com/vulkan-driver
   vulkan_beta = generic rec {
-    version = "525.47.34";
+    version = "525.47.35";
     persistencedVersion = "525.116.04";
     settingsVersion = "525.116.04";
-    sha256_64bit = "sha256-/QJmOZtzS7mnjWupz1RwVeqDAiqx4nw4xPp6mEGUHlk=";
-    openSha256 = "sha256-bQ7qW9KOPAxccbBfQs7s+UX4TrIW/eI4CvjIMlLekfo=";
+    sha256_64bit = "sha256-HnjCHsHHH/fqqyc8dXDx/wQhVkXWoH5Z9jJ+/zQWNFc=";
+    openSha256 = "sha256-/qkCMybr8sC/Da9zi2KbSkLBeQcSbVURnAg1IbjZiBk=";
     settingsSha256 = "sha256-qNjfsT9NGV151EHnG4fgBonVFSKc4yFEVomtXg9uYD4=";
     persistencedSha256 = "sha256-ci86XGlno6DbHw6rkVSzBpopaapfJvk0+lHcR4LDq50=";
     url = "https://developer.nvidia.com/downloads/vulkan-beta-${lib.concatStrings (lib.splitString "." version)}-linux";
diff --git a/pkgs/os-specific/linux/rdma-core/default.nix b/pkgs/os-specific/linux/rdma-core/default.nix
index d6d67d4d1d41b..d793e87c6f29e 100644
--- a/pkgs/os-specific/linux/rdma-core/default.nix
+++ b/pkgs/os-specific/linux/rdma-core/default.nix
@@ -1,22 +1,46 @@
-{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, docutils
-, pandoc, ethtool, iproute2, libnl, udev, python3, perl
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, pkg-config
+, docutils
+, pandoc
+, ethtool
+, iproute2
+, libnl
+, udev
+, python3
+, perl
 } :
 
-
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "rdma-core";
-  version = "46.0";
+  version = "46.1";
 
   src = fetchFromGitHub {
     owner = "linux-rdma";
     repo = "rdma-core";
-    rev = "v${version}";
-    sha256 = "sha256-/mhaEACBAtKdjn5hIj7YnuzrwraiuA4sR9eHg3w0YZM=";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-pVPWoLnWCGP+CZtG5bnOKUtjiuOa6Qic9wlGeY68w/8=";
   };
 
   strictDeps = true;
-  nativeBuildInputs = [ cmake pkg-config pandoc docutils python3 ];
-  buildInputs = [ libnl ethtool iproute2 udev perl ];
+
+  nativeBuildInputs = [
+    cmake
+    docutils
+    pandoc
+    pkg-config
+    python3
+  ];
+
+  buildInputs = [
+    ethtool
+    iproute2
+    libnl
+    perl
+    udev
+  ];
 
   cmakeFlags = [
     "-DCMAKE_INSTALL_RUNDIR=/run"
@@ -42,11 +66,11 @@ stdenv.mkDerivation rec {
     done
   '';
 
-  meta = with lib; {
+  meta = {
     description = "RDMA Core Userspace Libraries and Daemons";
     homepage = "https://github.com/linux-rdma/rdma-core";
-    license = licenses.gpl2Only;
-    platforms = platforms.linux;
-    maintainers = with maintainers; [ markuskowa ];
+    license = lib.licenses.gpl2Only;
+    platforms = lib.platforms.linux;
+    maintainers = [ lib.maintainers.markuskowa ];
   };
-}
+})
diff --git a/pkgs/os-specific/linux/rtl8812au/default.nix b/pkgs/os-specific/linux/rtl8812au/default.nix
index 343bff9e3f85e..9646886a6de17 100644
--- a/pkgs/os-specific/linux/rtl8812au/default.nix
+++ b/pkgs/os-specific/linux/rtl8812au/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation {
   pname = "rtl8812au";
-  version = "${kernel.version}-unstable-2023-07-20";
+  version = "${kernel.version}-unstable-2023-07-22";
 
   src = fetchFromGitHub {
     owner = "morrownr";
     repo = "8812au-20210629";
-    rev = "51338202d21a63202b324afd22bd361141c8c5e5";
-    hash = "sha256-NIdKUP5t/dzQ9xIG5Kc6eRudr6vTpCafunXZHZLcoL8=";
+    rev = "b5f4e6e894eca8fea38661e2fc22a2570e0274ad";
+    hash = "sha256-3uPowesJVh/cnagMz/Uadb+U5rDUAWfU39tZaDNCoqg=";
   };
 
   nativeBuildInputs = [ bc nukeReferences ] ++ kernel.moduleBuildDependencies;
diff --git a/pkgs/os-specific/linux/rtl88x2bu/default.nix b/pkgs/os-specific/linux/rtl88x2bu/default.nix
index 5c2aa97048dda..2775b18018895 100644
--- a/pkgs/os-specific/linux/rtl88x2bu/default.nix
+++ b/pkgs/os-specific/linux/rtl88x2bu/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation {
   pname = "rtl88x2bu";
-  version = "${kernel.version}-unstable-2023-07-20";
+  version = "${kernel.version}-unstable-2023-07-23";
 
   src = fetchFromGitHub {
     owner = "morrownr";
     repo = "88x2bu-20210702";
-    rev = "28bcb8b3eb4a531727c7a48001fa91903492fd1a";
-    sha256 = "sha256-LeCPu9ypJUdKV4lwJIy934g+VqD1S6P0fgnczTI3z7c=";
+    rev = "83db18e610845df9434a628ca3feb9004296b307";
+    sha256 = "sha256-as3S7WQkug3suJ5ovUbRu/UzO5GDrGLdgkiWrCrvztk=";
   };
 
   hardeningDisable = [ "pic" ];
@@ -34,6 +34,6 @@ stdenv.mkDerivation {
     homepage = "https://github.com/morrownr/88x2bu-20210702";
     license = licenses.gpl2Only;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ otavio ralith ];
+    maintainers = with maintainers; [ otavio ];
   };
 }
diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix
index f14b7acd62585..ed4204b9d11a7 100644
--- a/pkgs/os-specific/linux/systemd/default.nix
+++ b/pkgs/os-specific/linux/systemd/default.nix
@@ -82,6 +82,9 @@
 , bpftools
 , libbpf
 
+  # Needed to produce a ukify that works for cross compiling UKIs.
+, targetPackages
+
 , withAcl ? true
 , withAnalyze ? true
 , withApparmor ? true
@@ -209,7 +212,6 @@ stdenv.mkDerivation (finalAttrs: {
       (musl-patches + "/0012-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch")
       (musl-patches + "/0013-add-missing-FTW_-macros-for-musl.patch")
       (musl-patches + "/0014-Use-uintmax_t-for-handling-rlim_t.patch")
-      (musl-patches + "/0015-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch")
       (musl-patches + "/0016-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch")
       (musl-patches + "/0017-Define-glibc-compatible-basename-for-non-glibc-syste.patch")
       (musl-patches + "/0018-Do-not-disable-buffering-when-writing-to-oom_score_a.patch")
@@ -235,6 +237,16 @@ stdenv.mkDerivation (finalAttrs: {
     # BPF does not work with stack protector
     substituteInPlace src/core/bpf/meson.build \
       --replace "clang_flags = [" "clang_flags = [ '-fno-stack-protector',"
+  '' + lib.optionalString withUkify ''
+    substituteInPlace src/ukify/ukify.py \
+      --replace \
+      "'readelf'" \
+      "'${targetPackages.stdenv.cc.bintools.targetPrefix}readelf'"
+    # The objcopy dependency is removed in v254
+    substituteInPlace src/ukify/ukify.py \
+      --replace \
+      "'objcopy'" \
+      "'${targetPackages.stdenv.cc.bintools.targetPrefix}objcopy'"
   '' + (
     let
       # The following patches references to dynamic libraries to ensure that
@@ -724,6 +736,11 @@ stdenv.mkDerivation (finalAttrs: {
     done
   '' + lib.optionalString withEfi ''
     mv $out/dont-strip-me $out/lib/systemd/boot/efi
+  '' + lib.optionalString withUkify ''
+    # To cross compile a derivation that builds a UKI with ukify, we need to wrap
+    # ukify with the correct binutils. When wrapping, no splicing happens so we
+    # have to explicitly pull binutils from targetPackages.
+    wrapProgram $out/lib/systemd/ukify --set PATH ${lib.makeBinPath [ targetPackages.stdenv.cc.bintools ] }
   '';
 
   disallowedReferences = lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform)
diff --git a/pkgs/os-specific/linux/udisks/2-default.nix b/pkgs/os-specific/linux/udisks/2-default.nix
index 36f0963935bb4..07a9ceaa5173c 100644
--- a/pkgs/os-specific/linux/udisks/2-default.nix
+++ b/pkgs/os-specific/linux/udisks/2-default.nix
@@ -83,7 +83,10 @@ stdenv.mkDerivation rec {
 
   doCheck = true;
 
-  passthru.tests.vm = nixosTests.udisks2;
+  passthru = {
+    inherit libblockdev;
+    tests.vm = nixosTests.udisks2;
+  };
 
   meta = with lib; {
     description = "A daemon, tools and libraries to access and manipulate disks, storage devices and technologies";
diff --git a/pkgs/os-specific/linux/uhk-agent/default.nix b/pkgs/os-specific/linux/uhk-agent/default.nix
index 74c4972f85f52..435318842048a 100644
--- a/pkgs/os-specific/linux/uhk-agent/default.nix
+++ b/pkgs/os-specific/linux/uhk-agent/default.nix
@@ -1,11 +1,11 @@
 { appimageTools, lib, fetchurl }:
 let
   pname = "uhk-agent";
-  version = "3.0.0";
+  version = "3.0.1";
   src = fetchurl {
     url = "https://github.com/UltimateHackingKeyboard/agent/releases/download/v${version}/UHK.Agent-${version}-linux-x86_64.AppImage";
     name = "${pname}-${version}.AppImage";
-    sha256 = "sha256-oRdV2pbUlXHqBED51ThLdS4kyLuSAXxFmeSLoCbCGUI=";
+    sha256 = "sha256-TX7mL6BWAZHZ2W9/BneOt1vxt2slC2Lv6eFWPAgS2a8=";
   };
 
   appimageContents = appimageTools.extract {
diff --git a/pkgs/servers/adguardhome/bins.nix b/pkgs/servers/adguardhome/bins.nix
index cd1b8c950f520..bacb2eebb9ac6 100644
--- a/pkgs/servers/adguardhome/bins.nix
+++ b/pkgs/servers/adguardhome/bins.nix
@@ -1,31 +1,31 @@
 { fetchurl, fetchzip }:
 {
 x86_64-darwin = fetchzip {
-  sha256 = "sha256-t+nFutMp1DwK7S9rQXcGQJjG/8plmlu5rJ1v5t8zJzE=";
-  url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.34/AdGuardHome_darwin_amd64.zip";
+  sha256 = "sha256-7GoW0Re4NZa31mmNPto9fCVzKCl5ymUYQCwmDfuAnIc=";
+  url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.35/AdGuardHome_darwin_amd64.zip";
 };
 aarch64-darwin = fetchzip {
-  sha256 = "sha256-irL+9P+ZmGsAqbCOEtaC0u+YJykRgjG7dJx1qvP197w=";
-  url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.34/AdGuardHome_darwin_arm64.zip";
+  sha256 = "sha256-A3EGk+dsh1/m4rAWKNq6va75pA4OFLo9kSLb0b/1uZA=";
+  url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.35/AdGuardHome_darwin_arm64.zip";
 };
 i686-linux = fetchurl {
-  sha256 = "sha256-6XEtCqlYIFh4Aw/Y+PxvLJmk5os5T0JPMnE2yTdT4Tw=";
-  url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.34/AdGuardHome_linux_386.tar.gz";
+  sha256 = "sha256-8OIxMXjCZEurxInuDRAzEZ/Vjn1ixzZRMqXiSKgx7GE=";
+  url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.35/AdGuardHome_linux_386.tar.gz";
 };
 x86_64-linux = fetchurl {
-  sha256 = "sha256-o2EmkJ9jJAhQS25JCN15GBb+gGFOiKS/87PW2ge0YNg=";
-  url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.34/AdGuardHome_linux_amd64.tar.gz";
+  sha256 = "sha256-japMeJETDPy0RaxJOs6dDktQfTZ1sLB4jotxLYZhxfc=";
+  url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.35/AdGuardHome_linux_amd64.tar.gz";
 };
 aarch64-linux = fetchurl {
-  sha256 = "sha256-YjecZiVwaK3/1In5uKSE5pF21YQJNpxEpPK0abNf3iQ=";
-  url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.34/AdGuardHome_linux_arm64.tar.gz";
+  sha256 = "sha256-E1MsoM3ZDaEPFLvXWt/+0hv8CVu2v9xlX0rvh4vmj6Y=";
+  url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.35/AdGuardHome_linux_arm64.tar.gz";
 };
 armv6l-linux = fetchurl {
-  sha256 = "sha256-Or650AgvB/452wFiBLw1DezLIzYMSg0dQG66HeKypYg=";
-  url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.34/AdGuardHome_linux_armv6.tar.gz";
+  sha256 = "sha256-LovoihsVGtDif7sSqS3CE3QXNv2v2aSLr/x9sq2j78E=";
+  url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.35/AdGuardHome_linux_armv6.tar.gz";
 };
 armv7l-linux = fetchurl {
-  sha256 = "sha256-i/jKr05o7UeXdEPusTQP0FeQoATl36ydDgtg5w/pMO4=";
-  url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.34/AdGuardHome_linux_armv7.tar.gz";
+  sha256 = "sha256-ArTTEWD0yYLRrX8jytkMtKWLbEfr90O4i73dMjA+sdE=";
+  url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.35/AdGuardHome_linux_armv7.tar.gz";
 };
 }
diff --git a/pkgs/servers/adguardhome/default.nix b/pkgs/servers/adguardhome/default.nix
index b42d1818cf995..7a3c9bd04fdd1 100644
--- a/pkgs/servers/adguardhome/default.nix
+++ b/pkgs/servers/adguardhome/default.nix
@@ -7,7 +7,7 @@ in
 
 stdenv.mkDerivation rec {
   pname = "adguardhome";
-  version = "0.107.34";
+  version = "0.107.35";
   src = sources.${system} or (throw "Source for ${pname} is not available for ${system}");
 
   installPhase = ''
diff --git a/pkgs/servers/audiobookshelf/default.nix b/pkgs/servers/audiobookshelf/default.nix
index f44019bf7cc4d..748800f52ed62 100644
--- a/pkgs/servers/audiobookshelf/default.nix
+++ b/pkgs/servers/audiobookshelf/default.nix
@@ -1,16 +1,16 @@
-{ lib, stdenv, pkgs, fetchFromGitHub, runCommand, buildNpmPackage, nodejs_18, tone, ffmpeg-full, util-linux, libwebp }:
+{ lib, stdenv, pkgs, fetchFromGitHub, runCommand, buildNpmPackage, nodejs_18, tone, ffmpeg-full, util-linux, python3 }:
 
 let
   nodejs = nodejs_18;
 
   pname = "audiobookshelf";
-  version = "2.2.23";
+  version = "2.3.3";
 
   src = fetchFromGitHub {
     owner = "advplyr";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-dmeqxXrVKXFIYI5/CBvGN5wAssY2DC6fIRDr2+0EL+I=";
+    sha256 = "sha256-wSIA2KKDKf3DNgYNNIyYNT8xyPWCZvwLcWuDhWOZpLs=";
   };
 
   client = buildNpmPackage {
@@ -24,7 +24,7 @@ let
     NODE_OPTIONS = "--openssl-legacy-provider";
 
     npmBuildScript = "generate";
-    npmDepsHash = "sha256-W4S8+4V4CrU9b+nbuH3+kKQKlIkOT9i72+YAWO/3gCQ=";
+    npmDepsHash = "sha256-s3CwGFK87podBJwAqh7JoMA28vnmf77iexrAbbwZlFk=";
   };
 
   wrapper = import ./wrapper.nix {
@@ -35,10 +35,11 @@ in buildNpmPackage {
   inherit pname version src;
 
   buildInputs = [ util-linux ];
+  nativeBuildInputs = [ python3 ];
 
   dontNpmBuild = true;
   npmInstallFlags = [ "--only-production" ];
-  npmDepsHash = "sha256-XBQNLcFHq6U/yknlXiIEGulTDTw1wLBnhEi3h5dtBuE=";
+  npmDepsHash = "sha256-gueSlQh4tRTjIWvpNG2cj1np/zUGbjsnv3fA2owtiQY=";
 
   installPhase = ''
     mkdir -p $out/opt/client
diff --git a/pkgs/servers/bazarr/default.nix b/pkgs/servers/bazarr/default.nix
index a08c2246ce209..601fc49e4d058 100644
--- a/pkgs/servers/bazarr/default.nix
+++ b/pkgs/servers/bazarr/default.nix
@@ -8,13 +8,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "bazarr";
-  version = "1.2.3";
+  version = "1.2.4";
 
   sourceRoot = ".";
 
   src = fetchurl {
     url = "https://github.com/morpheus65535/bazarr/releases/download/v${version}/bazarr.zip";
-    sha256 = "sha256-6yLXsdw3wdxrCqNsNrbcjqfqgRR1Nuyyxw6osYQl8uY=";
+    sha256 = "sha256-TdBazeY/w9vSEbs/OgRtdoi/riAUai1zrmM/A8ecaWA=";
   };
 
   nativeBuildInputs = [ unzip makeWrapper ];
diff --git a/pkgs/servers/code-server/default.nix b/pkgs/servers/code-server/default.nix
index 03667318804a8..0c5cb23108520 100644
--- a/pkgs/servers/code-server/default.nix
+++ b/pkgs/servers/code-server/default.nix
@@ -70,19 +70,19 @@ let
   #
   # To compute the commit when upgrading this derivation, do:
   # `$ git rev-parse <git-rev>` where <git-rev> is the git revision of the `src`
-  # Example: `$ git rev-parse v4.14.1`
-  commit = "5c511237970f4be0f1e5785feaa254da951bc367";
+  # Example: `$ git rev-parse v4.16.1`
+  commit = "94ef3776ad7bebfb5780dfc9632e04d20d5c9a6c";
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "code-server";
-  version = "4.15.0";
+  version = "4.16.1";
 
   src = fetchFromGitHub {
     owner = "coder";
     repo = "code-server";
     rev = "v${finalAttrs.version}";
     fetchSubmodules = true;
-    hash = "sha256-2/zIfeCROPrlwHuKk0ySPMLdI504aNLNZge+XUSrZB8=";
+    hash = "sha256-h4AooHHKV/EfN2S1z7CQKqnYW3uA3sKhSW4senlzjxI=";
   };
 
   yarnCache = stdenv.mkDerivation {
@@ -322,5 +322,6 @@ stdenv.mkDerivation (finalAttrs: {
     license = lib.licenses.mit;
     maintainers = with lib.maintainers; [ offline henkery code-asher ];
     platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" ];
+    mainProgram = "code-server";
   };
 })
diff --git a/pkgs/servers/consul/default.nix b/pkgs/servers/consul/default.nix
index 1f9b68060321b..6f145137567a5 100644
--- a/pkgs/servers/consul/default.nix
+++ b/pkgs/servers/consul/default.nix
@@ -42,5 +42,6 @@ buildGoModule rec {
     platforms = platforms.linux ++ platforms.darwin;
     license = licenses.mpl20;
     maintainers = with maintainers; [ pradeepchhetri vdemeester nh2 techknowlogick];
+    mainProgram = "consul";
   };
 }
diff --git a/pkgs/servers/dns/acme-dns/default.nix b/pkgs/servers/dns/acme-dns/default.nix
index 08cd511f18274..db6ea4bbea009 100644
--- a/pkgs/servers/dns/acme-dns/default.nix
+++ b/pkgs/servers/dns/acme-dns/default.nix
@@ -30,5 +30,6 @@ buildGoModule rec {
     changelog = "https://github.com/joohoi/acme-dns/releases/tag/${src.rev}";
     license = lib.licenses.mit;
     maintainers = with lib.maintainers; [ emilylange ];
+    mainProgram = "acme-dns";
   };
 }
diff --git a/pkgs/servers/heisenbridge/default.nix b/pkgs/servers/heisenbridge/default.nix
index 31b535795a5f4..c2e75335f1fca 100644
--- a/pkgs/servers/heisenbridge/default.nix
+++ b/pkgs/servers/heisenbridge/default.nix
@@ -2,13 +2,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "heisenbridge";
-  version = "1.14.3";
+  version = "1.14.4";
 
   src = fetchFromGitHub {
     owner = "hifi";
     repo = pname;
     rev = "refs/tags/v${version}";
-    sha256 = "sha256-IKvB3L5xgAGLkN67rw2dp4Nvv0w4XbeXMcMmY7SGeNU=";
+    sha256 = "sha256-4poHHwJ9WcOTTwOtPfANMqusaLltaoLryxNMQE1Parc=";
   };
 
   postPatch = ''
diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix
index 578339e4d6e44..aed44fb5808e2 100644
--- a/pkgs/servers/home-assistant/component-packages.nix
+++ b/pkgs/servers/home-assistant/component-packages.nix
@@ -2,7 +2,7 @@
 # Do not edit!
 
 {
-  version = "2023.7.3";
+  version = "2023.8.0";
   components = {
     "3_day_blinds" = ps: with ps; [
     ];
@@ -62,6 +62,7 @@
       aioruuvigateway
       aioshelly
       airthings-ble
+      async-interrupt
       bleak
       bleak-retry-connector
       bluetooth-adapters
@@ -205,6 +206,7 @@
       aioruuvigateway
       aioshelly
       aranet4
+      async-interrupt
       bleak
       bleak-retry-connector
       bluetooth-adapters
@@ -265,6 +267,8 @@
     "aten_pe" = ps: with ps; [
       atenpdu
     ];
+    "atlanticcityelectric" = ps: with ps; [
+    ];
     "atome" = ps: with ps; [
       pyatome
     ];
@@ -336,6 +340,8 @@
     ]; # missing inputs: pybbox
     "beewi_smartclim" = ps: with ps; [
     ]; # missing inputs: beewi-smartclim
+    "bge" = ps: with ps; [
+    ];
     "binary_sensor" = ps: with ps; [
     ];
     "bitcoin" = ps: with ps; [
@@ -369,6 +375,7 @@
       aiohttp-cors
       aioruuvigateway
       aioshelly
+      async-interrupt
       bleak
       bleak-retry-connector
       bluemaestro-ble
@@ -413,6 +420,7 @@
       aiohttp-cors
       aioruuvigateway
       aioshelly
+      async-interrupt
       bleak
       bleak-retry-connector
       bluetooth-adapters
@@ -437,6 +445,7 @@
       aiohttp-cors
       aioruuvigateway
       aioshelly
+      async-interrupt
       bleak
       bleak-retry-connector
       bluetooth-adapters
@@ -511,6 +520,7 @@
       aiohttp-cors
       aioruuvigateway
       aioshelly
+      async-interrupt
       bleak
       bleak-retry-connector
       bluetooth-adapters
@@ -623,6 +633,8 @@
     "color_extractor" = ps: with ps; [
       colorthief
     ];
+    "comed" = ps: with ps; [
+    ];
     "comed_hourly_pricing" = ps: with ps; [
     ];
     "comfoconnect" = ps: with ps; [
@@ -741,6 +753,8 @@
     "delijn" = ps: with ps; [
       pydelijn
     ];
+    "delmarva" = ps: with ps; [
+    ];
     "deluge" = ps: with ps; [
       deluge-client
     ];
@@ -807,15 +821,6 @@
     ];
     "discovergy" = ps: with ps; [
     ]; # missing inputs: pydiscovergy
-    "discovery" = ps: with ps; [
-      aiohttp-cors
-      fnv-hash-fast
-      ifaddr
-      netdisco
-      psutil-home-assistant
-      sqlalchemy
-      zeroconf
-    ];
     "dlib_face_detect" = ps: with ps; [
       face-recognition
     ];
@@ -864,6 +869,7 @@
       aiohttp-cors
       aioruuvigateway
       aioshelly
+      async-interrupt
       bleak
       bleak-retry-connector
       bluetooth-adapters
@@ -908,6 +914,8 @@
     "dunehd" = ps: with ps; [
       pdunehd
     ];
+    "duotecno" = ps: with ps; [
+    ]; # missing inputs: pyduotecno
     "dwd_weather_warnings" = ps: with ps; [
       dwdwfsapi
     ];
@@ -967,6 +975,12 @@
     ];
     "electrasmart" = ps: with ps; [
     ]; # missing inputs: pyElectra
+    "electric_kiwi" = ps: with ps; [
+      aiohttp-cors
+      fnv-hash-fast
+      psutil-home-assistant
+      sqlalchemy
+    ]; # missing inputs: electrickiwi-api
     "elgato" = ps: with ps; [
       elgato
     ];
@@ -1057,6 +1071,7 @@
       aiohttp-cors
       aioruuvigateway
       aioshelly
+      async-interrupt
       bleak
       bleak-retry-connector
       bluetooth-adapters
@@ -1085,6 +1100,7 @@
     "esphome" = ps: with ps; [
       aioesphomeapi
       aiohttp-cors
+      async-interrupt
       bleak
       bleak-retry-connector
       bluetooth-adapters
@@ -1114,6 +1130,7 @@
       aiohttp-cors
       aioruuvigateway
       aioshelly
+      async-interrupt
       bleak
       bleak-retry-connector
       bluetooth-adapters
@@ -1134,6 +1151,10 @@
       webrtcvad
       zeroconf
     ];
+    "event" = ps: with ps; [
+    ];
+    "evergy" = ps: with ps; [
+    ];
     "everlights" = ps: with ps; [
       pyeverlights
     ];
@@ -1221,6 +1242,7 @@
       aiohttp-cors
       aioruuvigateway
       aioshelly
+      async-interrupt
       bleak
       bleak-retry-connector
       bluetooth-adapters
@@ -1355,6 +1377,31 @@
     "garages_amsterdam" = ps: with ps; [
       odp-amsterdam
     ];
+    "gardena_bluetooth" = ps: with ps; [
+      aioesphomeapi
+      aiohttp-cors
+      aioruuvigateway
+      aioshelly
+      async-interrupt
+      bleak
+      bleak-retry-connector
+      bluetooth-adapters
+      bluetooth-auto-recovery
+      bluetooth-data-tools
+      dbus-fast
+      esphome-dashboard-api
+      fnv-hash-fast
+      hassil
+      home-assistant-intents
+      ifaddr
+      mutagen
+      psutil-home-assistant
+      pyserial
+      pyudev
+      sqlalchemy
+      webrtcvad
+      zeroconf
+    ]; # missing inputs: gardena_bluetooth
     "gaviota" = ps: with ps; [
     ];
     "gc100" = ps: with ps; [
@@ -1487,6 +1534,7 @@
       aiohttp-cors
       aioruuvigateway
       aioshelly
+      async-interrupt
       bleak
       bleak-retry-connector
       bluetooth-adapters
@@ -1699,6 +1747,7 @@
       aiohttp-cors
       aioruuvigateway
       aioshelly
+      async-interrupt
       bleak
       bleak-retry-connector
       bluetooth-adapters
@@ -1769,8 +1818,7 @@
       pygti
     ];
     "hydrawise" = ps: with ps; [
-      hydrawiser
-    ];
+    ]; # missing inputs: pydrawise
     "hyperion" = ps: with ps; [
       hyperion-py
     ];
@@ -1789,6 +1837,7 @@
       aiohttp-cors
       aioruuvigateway
       aioshelly
+      async-interrupt
       bleak
       bleak-retry-connector
       bluetooth-adapters
@@ -1857,6 +1906,7 @@
       aiohttp-cors
       aioruuvigateway
       aioshelly
+      async-interrupt
       bleak
       bleak-retry-connector
       bluetooth-adapters
@@ -1996,6 +2046,7 @@
       aiohttp-cors
       aioruuvigateway
       aioshelly
+      async-interrupt
       bleak
       bleak-retry-connector
       bluetooth-adapters
@@ -2027,6 +2078,7 @@
       aiohttp-cors
       aioruuvigateway
       aioshelly
+      async-interrupt
       bleak
       bleak-retry-connector
       bluetooth-adapters
@@ -2134,6 +2186,7 @@
       aiohttp-cors
       aioruuvigateway
       aioshelly
+      async-interrupt
       bleak
       bleak-retry-connector
       bluetooth-adapters
@@ -2159,6 +2212,7 @@
       aiohttp-cors
       aioruuvigateway
       aioshelly
+      async-interrupt
       bleak
       bleak-retry-connector
       bluetooth-adapters
@@ -2277,6 +2331,12 @@
     ];
     "loqed" = ps: with ps; [
       aiohttp-cors
+      hass-nabucasa
+      hassil
+      home-assistant-intents
+      mutagen
+      pyturbojpeg
+      webrtcvad
     ]; # missing inputs: loqedAPI
     "lovelace" = ps: with ps; [
     ];
@@ -2380,6 +2440,7 @@
       aiohttp-cors
       aioruuvigateway
       aioshelly
+      async-interrupt
       bleak
       bleak-retry-connector
       bluetooth-adapters
@@ -2439,8 +2500,6 @@
       aiohttp-cors
       pyturbojpeg
     ];
-    "miflora" = ps: with ps; [
-    ];
     "mijndomein_energie" = ps: with ps; [
     ];
     "mikrotik" = ps: with ps; [
@@ -2460,8 +2519,6 @@
     "minio" = ps: with ps; [
       minio
     ];
-    "mitemp_bt" = ps: with ps; [
-    ];
     "mjpeg" = ps: with ps; [
     ];
     "moat" = ps: with ps; [
@@ -2469,6 +2526,7 @@
       aiohttp-cors
       aioruuvigateway
       aioshelly
+      async-interrupt
       bleak
       bleak-retry-connector
       bluetooth-adapters
@@ -2535,6 +2593,7 @@
       aiohttp-cors
       aioruuvigateway
       aioshelly
+      async-interrupt
       bleak
       bleak-retry-connector
       bluetooth-adapters
@@ -2663,7 +2722,6 @@
       google-nest-sdm
       ha-ffmpeg
       psutil-home-assistant
-      python-nest
       sqlalchemy
     ];
     "netatmo" = ps: with ps; [
@@ -2889,6 +2947,12 @@
     "opnsense" = ps: with ps; [
       pyopnsense
     ];
+    "opower" = ps: with ps; [
+      fnv-hash-fast
+      opower
+      psutil-home-assistant
+      sqlalchemy
+    ];
     "opple" = ps: with ps; [
     ]; # missing inputs: pyoppleio-legacy
     "oralb" = ps: with ps; [
@@ -2896,6 +2960,7 @@
       aiohttp-cors
       aioruuvigateway
       aioshelly
+      async-interrupt
       bleak
       bleak-retry-connector
       bluetooth-adapters
@@ -3001,15 +3066,23 @@
     "peco" = ps: with ps; [
       peco
     ];
+    "peco_opower" = ps: with ps; [
+    ];
+    "pegel_online" = ps: with ps; [
+    ]; # missing inputs: aiopegelonline
     "pencom" = ps: with ps; [
       pencompy
     ];
+    "pepco" = ps: with ps; [
+    ];
     "persistent_notification" = ps: with ps; [
     ];
     "person" = ps: with ps; [
       aiohttp-cors
       pillow
     ];
+    "pge" = ps: with ps; [
+    ];
     "philips_js" = ps: with ps; [
       ha-philipsjs
     ];
@@ -3102,6 +3175,8 @@
     ];
     "ps4" = ps: with ps; [
     ]; # missing inputs: pyps4-2ndscreen
+    "pse" = ps: with ps; [
+    ];
     "pulseaudio_loopback" = ps: with ps; [
       pulsectl
     ];
@@ -3140,6 +3215,7 @@
       aiohttp-cors
       aioruuvigateway
       aioshelly
+      async-interrupt
       bleak
       bleak-retry-connector
       bluetooth-adapters
@@ -3223,6 +3299,7 @@
       aiohttp-cors
       aioruuvigateway
       aioshelly
+      async-interrupt
       bleak
       bleak-retry-connector
       bluetooth-adapters
@@ -3389,6 +3466,7 @@
       aiohttp-cors
       aioruuvigateway
       aioshelly
+      async-interrupt
       bleak
       bleak-retry-connector
       bluetooth-adapters
@@ -3496,6 +3574,7 @@
       aiohttp-cors
       aioruuvigateway
       aioshelly
+      async-interrupt
       bleak
       bleak-retry-connector
       bluetooth-adapters
@@ -3528,6 +3607,7 @@
       aiohttp-cors
       aioruuvigateway
       aioshelly
+      async-interrupt
       bleak
       bleak-retry-connector
       bluetooth-adapters
@@ -3553,6 +3633,7 @@
       aiohttp-cors
       aioruuvigateway
       aioshelly
+      async-interrupt
       bleak
       bleak-retry-connector
       bluetooth-adapters
@@ -3736,6 +3817,7 @@
       aiohttp-cors
       aioruuvigateway
       aioshelly
+      async-interrupt
       bleak
       bleak-retry-connector
       bluetooth-adapters
@@ -3926,6 +4008,7 @@
       aiohttp-cors
       aioruuvigateway
       aioshelly
+      async-interrupt
       bleak
       bleak-retry-connector
       bluetooth-adapters
@@ -4056,6 +4139,7 @@
       aiohttp-cors
       aioruuvigateway
       aioshelly
+      async-interrupt
       bleak
       bleak-retry-connector
       bluetooth-adapters
@@ -4083,6 +4167,7 @@
       aiohttp-cors
       aioruuvigateway
       aioshelly
+      async-interrupt
       bleak
       bleak-retry-connector
       bluetooth-adapters
@@ -4142,6 +4227,7 @@
       aiohttp-cors
       aioruuvigateway
       aioshelly
+      async-interrupt
       bleak
       bleak-retry-connector
       bluetooth-adapters
@@ -4293,8 +4379,6 @@
     "ukraine_alarm" = ps: with ps; [
       uasiren
     ];
-    "ultraloq" = ps: with ps; [
-    ];
     "unifi" = ps: with ps; [
       aiounifi
     ];
@@ -4549,20 +4633,14 @@
       ha-ffmpeg
     ];
     "xiaomi_aqara" = ps: with ps; [
-      aiohttp-cors
-      fnv-hash-fast
-      ifaddr
-      netdisco
-      psutil-home-assistant
       pyxiaomigateway
-      sqlalchemy
-      zeroconf
     ];
     "xiaomi_ble" = ps: with ps; [
       aioesphomeapi
       aiohttp-cors
       aioruuvigateway
       aioshelly
+      async-interrupt
       bleak
       bleak-retry-connector
       bluetooth-adapters
@@ -4606,6 +4684,7 @@
       aiohttp-cors
       aioruuvigateway
       aioshelly
+      async-interrupt
       bleak
       bleak-retry-connector
       bluetooth-adapters
@@ -4673,10 +4752,9 @@
     "youtube" = ps: with ps; [
       aiohttp-cors
       fnv-hash-fast
-      google-api-python-client
       psutil-home-assistant
       sqlalchemy
-    ];
+    ]; # missing inputs: youtubeaio
     "zabbix" = ps: with ps; [
       py-zabbix
     ];
@@ -4878,7 +4956,6 @@
     "dialogflow"
     "directv"
     "discord"
-    "discovery"
     "dlna_dmr"
     "dlna_dms"
     "dnsip"
@@ -4915,6 +4992,7 @@
     "escea"
     "esphome"
     "eufylife_ble"
+    "event"
     "everlights"
     "evil_genius_labs"
     "ezviz"
@@ -5200,10 +5278,12 @@
     "opengarage"
     "openhardwaremonitor"
     "openhome"
+    "opensky"
     "opentherm_gw"
     "openuv"
     "openweathermap"
     "opnsense"
+    "opower"
     "oralb"
     "otbr"
     "overkiz"
@@ -5487,7 +5567,6 @@
     "yeelight"
     "yolink"
     "youless"
-    "youtube"
     "zamg"
     "zeroconf"
     "zerproc"
diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix
index d79b8cf5c913e..d8aa8a5bc4ea2 100644
--- a/pkgs/servers/home-assistant/default.nix
+++ b/pkgs/servers/home-assistant/default.nix
@@ -78,11 +78,11 @@ let
 
       ha-av = super.av.overridePythonAttrs (oldAttrs: rec {
         pname = "ha-av";
-        version = "10.1.0";
+        version = "10.1.1";
 
         src = fetchPypi {
           inherit pname version;
-          hash = "sha256-HjOu/A1U3CfoVq6VqxA621/9wXk8hFnTFWtdpnVoFr4=";
+          hash = "sha256-QaMFVvglipN0kG1+ZQNKk7WTydSyIPn2qa32UtvLidw=";
         };
       });
 
@@ -95,17 +95,6 @@ let
         };
       });
 
-      # Pinned due to API changes in 10.0
-      mcstatus = super.mcstatus.overridePythonAttrs (oldAttrs: rec {
-        version = "9.3.0";
-        src = fetchFromGitHub {
-          owner = "py-mine";
-          repo = "mcstatus";
-          rev = "refs/tags/v${version}";
-          hash = "sha256-kNThVElEDqhbCitktBv5tQkjMaU4IsX0dJk63hvLhb0=";
-        };
-      });
-
       # moto tests are a nuissance
       moto = super.moto.overridePythonAttrs (_: {
         doCheck = false;
@@ -297,7 +286,7 @@ let
   extraBuildInputs = extraPackages python.pkgs;
 
   # Don't forget to run parse-requirements.py after updating
-  hassVersion = "2023.7.3";
+  hassVersion = "2023.8.0";
 
 in python.pkgs.buildPythonApplication rec {
   pname = "homeassistant";
@@ -313,7 +302,7 @@ in python.pkgs.buildPythonApplication rec {
   # Primary source is the pypi sdist, because it contains translations
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-wYS7G3AD1G7UzXfrJxrHGpQTBLJFa7Qln1VU0pdcNro=";
+    hash = "sha256-Nvh52oVovcmicqYuXJcQveTTjTd/ZHjrKTMh2rtQKdU=";
   };
 
   # Secondary source is git for tests
@@ -321,7 +310,7 @@ in python.pkgs.buildPythonApplication rec {
     owner = "home-assistant";
     repo = "core";
     rev = "refs/tags/${version}";
-    hash = "sha256-2m0RpEQ4Rds9+JVQj5/HTmOZzYd4yWL+MfjQs923VL0=";
+    hash = "sha256-WGM7xo2iOS1q19eVzBIh4t8B8s1kw7E1gsFChR8SPc0=";
   };
 
   nativeBuildInputs = with python.pkgs; [
@@ -359,7 +348,7 @@ in python.pkgs.buildPythonApplication rec {
       "pyOpenSSL"
       "PyYAML"
       "requests"
-      "typing_extensions"
+      "typing-extensions"
       "voluptuous-serialize"
       "yarl"
     ];
diff --git a/pkgs/servers/home-assistant/frontend.nix b/pkgs/servers/home-assistant/frontend.nix
index 5e405401c18d1..172d9f7c9659b 100644
--- a/pkgs/servers/home-assistant/frontend.nix
+++ b/pkgs/servers/home-assistant/frontend.nix
@@ -4,7 +4,7 @@ buildPythonPackage rec {
   # the frontend version corresponding to a specific home-assistant version can be found here
   # https://github.com/home-assistant/home-assistant/blob/master/homeassistant/components/frontend/manifest.json
   pname = "home-assistant-frontend";
-  version = "20230705.1";
+  version = "20230802.0";
   format = "wheel";
 
   src = fetchPypi {
@@ -12,7 +12,7 @@ buildPythonPackage rec {
     pname = "home_assistant_frontend";
     dist = "py3";
     python = "py3";
-    hash = "sha256-VC+yrU5RRAj4qe1MhQLMl9RfW6NmAl5NhXZDACfFlmo=";
+    hash = "sha256-fggFSpcdHRgqHKruWvGJ97DkhdgRTSu0V3YmzVNCm4A=";
   };
 
   # there is nothing to strip in this package
diff --git a/pkgs/servers/home-assistant/intents.nix b/pkgs/servers/home-assistant/intents.nix
index 35e5853cfa127..282662ccded1b 100644
--- a/pkgs/servers/home-assistant/intents.nix
+++ b/pkgs/servers/home-assistant/intents.nix
@@ -19,25 +19,19 @@
 
 buildPythonPackage rec {
   pname = "home-assistant-intents";
-  version = "2023.6.28";
+  version = "2023.7.25";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
 
   src = fetchFromGitHub {
     owner = "home-assistant";
-    repo = "intents";
+    repo = "intents-package";
     rev = "refs/tags/${version}";
-    hash = "sha256-K441nrwoQ7zzle4iC679oGxU6iZn/yTJOElvDblHB7U=";
+    hash = "sha256-/9+d22CqlEi+ukjIZRsyCuPPeTCD+XZp8+5iUM3Nc3o=";
+    fetchSubmodules = true;
   };
 
-  sourceRoot = "source/package";
-
-  postPatch = ''
-    substituteInPlace pyproject.toml \
-      --replace "2023.4.26" "${version}"
-  '';
-
   nativeBuildInputs = [
     hassil
     jinja2
@@ -48,7 +42,7 @@ buildPythonPackage rec {
   ];
 
   postInstall = ''
-    pushd ..
+    pushd intents
     # https://github.com/home-assistant/intents/blob/main/script/package#L18
     ${python.pythonForBuild.interpreter} -m script.intentfest merged_output $out/${python.sitePackages}/home_assistant_intents/data
     popd
@@ -60,7 +54,12 @@ buildPythonPackage rec {
   ];
 
   pytestFlagsArray = [
-    "../tests"
+    "intents/tests"
+  ];
+
+  disabledTests = [
+    # AssertionError: Recognition failed for 'put apples on the list'
+    "test_shopping_list_HassShoppingListAddItem"
   ];
 
   meta = with lib; {
diff --git a/pkgs/servers/home-assistant/stubs.nix b/pkgs/servers/home-assistant/stubs.nix
index 2539c4bc5a389..0f06de8f7dce1 100644
--- a/pkgs/servers/home-assistant/stubs.nix
+++ b/pkgs/servers/home-assistant/stubs.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "homeassistant-stubs";
-  version = "2023.7.3";
+  version = "2023.8.0";
   format = "pyproject";
 
   disabled = python.version != home-assistant.python.version;
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "KapJI";
     repo = "homeassistant-stubs";
     rev = "refs/tags/${version}";
-    hash = "sha256-M7AGGGB7PpZBrNf9bUNX13SbQ8raK6nEUNkHbTIYuXQ=";
+    hash = "sha256-znnNWQpoJ+omYt7keW14Nc7FDqiCpZNsEWL0hEijtsI=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/servers/home-assistant/tests.nix b/pkgs/servers/home-assistant/tests.nix
index 5b058ffb92b94..154f8dc2f2797 100644
--- a/pkgs/servers/home-assistant/tests.nix
+++ b/pkgs/servers/home-assistant/tests.nix
@@ -58,6 +58,12 @@ let
       # Flaky: AssertionError: assert '0.0' == '12.0'
       "--deselect tests/components/history_stats/test_sensor.py::test_end_time_with_microseconds_zeroed"
     ];
+    jellyfin = [
+      # AssertionError: assert 'audio/x-flac' == 'audio/flac'
+      "--deselect tests/components/jellyfin/test_media_source.py::test_resolve"
+      # AssertionError: assert [+ received] == [- snapshot]
+      "--deselect tests/components/jellyfin/test_media_source.py::test_music_library"
+    ];
     modbus = [
       # homeassistant.components.modbus.modbus:modbus.py:317 Pymodbus: modbusTest: Modbus Error: test connect exception
       "--deselect tests/components/modbus/test_init.py::test_pymodbus_connect_fail"
@@ -75,6 +81,10 @@ let
       # "TypeError: object Mock can't be used in 'await' expression
       "--deselect tests/components/unifiprotect/test_repairs.py::test_ea_warning_fix"
     ];
+    xiaomi_ble = [
+      # assert 0 == 1"
+      "--deselect tests/components/xiaomi_ble/test_sensor.py::test_xiaomi_consumable"
+    ];
     zha = [
       "--deselect tests/components/zha/test_config_flow.py::test_formation_strategy_restore_manual_backup_non_ezsp"
       "--deselect tests/components/zha/test_config_flow.py::test_formation_strategy_restore_automatic_backup_non_ezsp"
diff --git a/pkgs/servers/http/envoy/default.nix b/pkgs/servers/http/envoy/default.nix
index 5fbaeb5e23914..f9cc5591cc35d 100644
--- a/pkgs/servers/http/envoy/default.nix
+++ b/pkgs/servers/http/envoy/default.nix
@@ -24,8 +24,8 @@ let
     # However, the version string is more useful for end-users.
     # These are contained in a attrset of their own to make it obvious that
     # people should update both.
-    version = "1.26.1";
-    rev = "c7e8e7356d3a969c1b8e4e1f2687699acd91c6a1";
+    version = "1.26.3";
+    rev = "ea9d25e93cef74b023c95ca1a3f79449cdf7fa9a";
   };
 in
 buildBazelPackage rec {
@@ -36,7 +36,7 @@ buildBazelPackage rec {
     owner = "envoyproxy";
     repo = "envoy";
     inherit (srcVer) rev;
-    sha256 = "sha256-WHedup6z/9t/Jg6CBrwtDy9xv6IwO3gUuBqos4h+k2s=";
+    sha256 = "sha256-ZZAVuelcPzFQRqh9SwRxt+odEjF0jTNh/KkLWHKiZ3o=";
 
     postFetch = ''
       chmod -R +w $out
@@ -80,8 +80,8 @@ buildBazelPackage rec {
 
   fetchAttrs = {
     sha256 = {
-      x86_64-linux = "sha256-mw3k2r4heoAcBdcc7uYdnotUBrF1nM5Vmqbay+2DkjI=";
-      aarch64-linux = "sha256-2gSxzm7SXvrGEgwZnp5KdEpbV/+zdosf8Z5lrkK3QiI=";
+      x86_64-linux = "sha256-7CB6mRe+q1LMryh50dEjgR+RWU//tbaedgipuB4B+S4=";
+      aarch64-linux = "sha256-kdc1vMPueONOaT8w0Gbkz7OUOcPMMHHdwQ+ABTIL8xs=";
     }.${stdenv.system} or (throw "unsupported system ${stdenv.system}");
     dontUseCmakeConfigure = true;
     dontUseGnConfigure = true;
diff --git a/pkgs/servers/http/nginx/generic.nix b/pkgs/servers/http/nginx/generic.nix
index f8768461ab4ae..3db19396bee94 100644
--- a/pkgs/servers/http/nginx/generic.nix
+++ b/pkgs/servers/http/nginx/generic.nix
@@ -178,7 +178,7 @@ stdenv.mkDerivation {
   passthru = {
     inherit modules;
     tests = {
-      inherit (nixosTests) nginx nginx-auth nginx-etag nginx-globalredirect nginx-http3 nginx-pubhtml nginx-sandbox nginx-sso nginx-proxyprotocol;
+      inherit (nixosTests) nginx nginx-auth nginx-etag nginx-globalredirect nginx-http3 nginx-proxyprotocol nginx-pubhtml nginx-sandbox nginx-sso nginx-status-page;
       variants = lib.recurseIntoAttrs nixosTests.nginx-variants;
       acme-integration = nixosTests.acme;
     } // passthru.tests;
diff --git a/pkgs/servers/kanidm/default.nix b/pkgs/servers/kanidm/default.nix
index d5ae310dd5464..e6c49b846f4be 100644
--- a/pkgs/servers/kanidm/default.nix
+++ b/pkgs/servers/kanidm/default.nix
@@ -4,13 +4,13 @@
 , nixosTests
 , rustPlatform
 , fetchFromGitHub
-, fetchpatch
 , installShellFiles
 , pkg-config
 , udev
 , openssl
 , sqlite
 , pam
+, bashInteractive
 }:
 
 let
@@ -18,45 +18,35 @@ let
 in
 rustPlatform.buildRustPackage rec {
   pname = "kanidm";
-  version = "1.1.0-alpha.12";
+  version = "1.1.0-beta.13";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
-    rev = "f5924443f08e462067937a5dd0e2c19e5e1255da";
-    hash = "sha256-kJUxVrGpczIdOqKQbgRp1xERfKP6C0SDQgWdjtSuvZ8=";
+    # Latest 1.1.0-beta.13 tip
+    rev = "5d1e2f90e6901017ab3ef9b5fbc10e25a5451fd2";
+    hash = "sha256-70yeHVOrCuC+H96UC84kly3CCQ+y1RGzF5K/2FIag/o=";
   };
 
-  cargoLock = {
-    lockFile = ./Cargo.lock;
-    outputHashes = {
-      "tracing-forest-0.1.5" = "sha256-L6auSKB4DCnZBZpx7spiikhSOD6i1W3erc3zjn+26Ao=";
-    };
-  };
+  cargoHash = "sha256-Qdc+E5+k9NNE4s6eAnpkam56pc2JJPahkuT4lB328cY=";
 
   KANIDM_BUILD_PROFILE = "release_nixos_${arch}";
 
-  patches = [
-    (fetchpatch {
-      # Bring back x86_64-v1 microarchitecture level
-      name = "cpu-opt-level.patch";
-      url = "https://github.com/kanidm/kanidm/commit/59c6723f7dfb2266eae45c3b2ddd377872a7a113.patch";
-      hash = "sha256-8rVEYitxvdVduQ/+AD/UG3v+mgT/VxkLoxNIXczUfCQ=";
-    })
-  ];
-
   postPatch =
     let
       format = (formats.toml { }).generate "${KANIDM_BUILD_PROFILE}.toml";
       profile = {
-        web_ui_pkg_path = "@web_ui_pkg_path@";
+        admin_bind_path = "/run/kanidmd/sock";
         cpu_flags = if stdenv.isx86_64 then "x86_64_legacy" else "none";
+        default_config_path = "/etc/kanidm/server.toml";
+        default_unix_shell_path = "${lib.getBin bashInteractive}/bin/bash";
+        web_ui_pkg_path = "@web_ui_pkg_path@";
       };
     in
     ''
       cp ${format profile} libs/profiles/${KANIDM_BUILD_PROFILE}.toml
       substituteInPlace libs/profiles/${KANIDM_BUILD_PROFILE}.toml \
-        --replace '@web_ui_pkg_path@' "$out/ui"
+        --replace '@web_ui_pkg_path@' "${placeholder "out"}/ui"
     '';
 
   nativeBuildInputs = [
@@ -92,6 +82,7 @@ rustPlatform.buildRustPackage rec {
   passthru.tests = { inherit (nixosTests) kanidm; };
 
   meta = with lib; {
+    changelog = "https://github.com/kanidm/kanidm/releases/tag/v${version}";
     description = "A simple, secure and fast identity management platform";
     homepage = "https://github.com/kanidm/kanidm";
     license = licenses.mpl20;
diff --git a/pkgs/servers/keycloak/keycloak-metrics-spi/default.nix b/pkgs/servers/keycloak/keycloak-metrics-spi/default.nix
index 65fd0934baec9..7a7442d8946a7 100644
--- a/pkgs/servers/keycloak/keycloak-metrics-spi/default.nix
+++ b/pkgs/servers/keycloak/keycloak-metrics-spi/default.nix
@@ -1,26 +1,27 @@
-{ stdenv, lib, fetchurl }:
+{ maven, lib, fetchFromGitHub }:
 
-stdenv.mkDerivation rec {
+maven.buildMavenPackage rec {
   pname = "keycloak-metrics-spi";
   version = "4.0.0";
 
-  src = fetchurl {
-    url = "https://github.com/aerogear/keycloak-metrics-spi/releases/download/${version}/keycloak-metrics-spi-${version}.jar";
-    sha256 = "sha256-D0NNBuc9YBiywGoq5hG4dcoiunyG/C2ZX73p4lS5v4s=";
+  src = fetchFromGitHub {
+    owner = "aerogear";
+    repo = pname;
+    rev = "refs/tags/${version}";
+    hash = "sha256-pacmx5w1VVWz3HmHO6sc2friNUpzo4zyJI1/TQgCXlc=";
   };
 
-  dontUnpack = true;
-  dontBuild = true;
+  mvnHash = "sha256-rwAc2KtKo4vJ0JWwPquMyt+FHVNTmMpzBPbo8lWDN/A=";
 
   installPhase = ''
-    mkdir -p $out
-    install "$src" "$out"
+    runHook preInstall
+    install -Dm444 -t "$out" target/keycloak-metrics-spi-*.jar
+    runHook postInstall
   '';
 
   meta = with lib; {
     homepage = "https://github.com/aerogear/keycloak-metrics-spi";
     description = "Keycloak Service Provider that adds a metrics endpoint";
-    sourceProvenance = with sourceTypes; [ binaryBytecode ];
     license = licenses.asl20;
     maintainers = with maintainers; [ benley ];
   };
diff --git a/pkgs/servers/keycloak/scim-for-keycloak/default.nix b/pkgs/servers/keycloak/scim-for-keycloak/default.nix
index ee3f3ffd7a17f..e192f38fcb109 100644
--- a/pkgs/servers/keycloak/scim-for-keycloak/default.nix
+++ b/pkgs/servers/keycloak/scim-for-keycloak/default.nix
@@ -16,10 +16,6 @@ maven.buildMavenPackage rec {
 
   mvnHash = "sha256-MWxm2q6tx8YcdEsleC2h+s+lp9whi11VQ1yFr8AZUyQ=";
 
-  nativeBuildInputs = [
-    maven
-  ];
-
   installPhase = ''
     EAR=$(find -iname "*.ear")
     install -D "$EAR" "$out/$(basename $EAR)"
diff --git a/pkgs/servers/keycloak/scim-keycloak-user-storage-spi/default.nix b/pkgs/servers/keycloak/scim-keycloak-user-storage-spi/default.nix
index b1d76343363f6..cc6e41aa81f84 100644
--- a/pkgs/servers/keycloak/scim-keycloak-user-storage-spi/default.nix
+++ b/pkgs/servers/keycloak/scim-keycloak-user-storage-spi/default.nix
@@ -5,20 +5,16 @@
 
 maven.buildMavenPackage {
   pname = "scim-keycloak-user-storage-spi";
-  version = "unstable-2023-04-12";
+  version = "unstable-2023-07-10";
 
   src = fetchFromGitHub {
     owner = "justin-stephenson";
     repo = "scim-keycloak-user-storage-spi";
-    rev = "e2a78d9dddbb21a42a9aaeb5c72b5ed1ef76d2a0";
-    hash = "sha256-xFEXMZw575hONMG9ZNQ+5xKEVeKvGyzurqbAW48Mrg8=";
+    rev = "54a3fd77b05079c9ebd931e8b6a3725310a1f7b7";
+    hash = "sha256-rQR8+LevFHTFLoyCPSu50jdSXu4YgBibjVB804rEsFs=";
   };
 
-  mvnHash = "sha256-kV3hjwEQ0jAhFm9EB9O0l87gCZGsRQ/9cazlSjHrY74=";
-
-  nativeBuildInputs = [
-    maven
-  ];
+  mvnHash = "sha256-vNPSNoOmtD1UMfWvLm8CH7RRatyeu3fnX9zteZpkay0=";
 
   installPhase = ''
     install -D "target/scim-user-spi-0.0.1-SNAPSHOT.jar" "$out/scim-user-spi-0.0.1-SNAPSHOT.jar"
diff --git a/pkgs/servers/ldap/389/default.nix b/pkgs/servers/ldap/389/default.nix
index a6fa16ebefdea..f5404856599ef 100644
--- a/pkgs/servers/ldap/389/default.nix
+++ b/pkgs/servers/ldap/389/default.nix
@@ -37,20 +37,20 @@
 
 stdenv.mkDerivation rec {
   pname = "389-ds-base";
-  version = "2.4.1";
+  version = "2.4.2";
 
   src = fetchFromGitHub {
     owner = "389ds";
     repo = pname;
     rev = "${pname}-${version}";
-    hash = "sha256-LoM2iztWC/HEq0jBKzzi+T6euXcNIDqsEzAeWfQSr90=";
+    hash = "sha256-3wePHYA2z4qwW0KTECTDN8X9yJuUB0n14KjKbWN0Knk=";
   };
 
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
     sourceRoot = "source/src";
     name = "${pname}-${version}";
-    hash = "sha256-+eJgWeLVoJ8j8J2QNM91EY3DBy4zicTwKAU1rcLr8R4=";
+    hash = "sha256-972tJ8aKNxC3O8VxbAau7OSej873IBXsP3isMXAXKcU=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/servers/ldap/lldap/default.nix b/pkgs/servers/ldap/lldap/default.nix
index 1948ca015dda8..3c83fe037a0d7 100644
--- a/pkgs/servers/ldap/lldap/default.nix
+++ b/pkgs/servers/ldap/lldap/default.nix
@@ -110,5 +110,6 @@ in rustPlatform.buildRustPackage (commonDerivationAttrs // {
     license = licenses.gpl3Only;
     platforms = platforms.linux;
     maintainers = with maintainers; [ emilylange bendlas ];
+    mainProgram = "lldap";
   };
 })
diff --git a/pkgs/servers/mail/stalwart/Cargo.lock b/pkgs/servers/mail/stalwart/Cargo.lock
index 1140656e59c42..73d43bda98c5d 100644
--- a/pkgs/servers/mail/stalwart/Cargo.lock
+++ b/pkgs/servers/mail/stalwart/Cargo.lock
@@ -697,9 +697,9 @@ dependencies = [
 
 [[package]]
 name = "clap"
-version = "4.3.17"
+version = "4.3.19"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5b0827b011f6f8ab38590295339817b0d26f344aa4932c3ced71b45b0c54b4a9"
+checksum = "5fd304a20bff958a57f04c4e96a2e7594cc4490a0e809cbd48bb6437edaa452d"
 dependencies = [
  "clap_builder",
  "clap_derive",
@@ -708,9 +708,9 @@ dependencies = [
 
 [[package]]
 name = "clap_builder"
-version = "4.3.17"
+version = "4.3.19"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9441b403be87be858db6a23edb493e7f694761acdc3343d5a0fcaafd304cbc9e"
+checksum = "01c6a3f08f1fe5662a35cfe393aec09c4df95f60ee93b7556505260f75eee9e1"
 dependencies = [
  "anstream",
  "anstyle",
@@ -1029,6 +1029,7 @@ dependencies = [
  "argon2",
  "async-trait",
  "bb8",
+ "futures",
  "ldap3",
  "lru-cache",
  "mail-builder",
@@ -1039,6 +1040,7 @@ dependencies = [
  "password-hash 0.5.0",
  "pbkdf2 0.12.2",
  "pwhash",
+ "regex",
  "rustls 0.21.5",
  "scrypt",
  "sha1",
@@ -1149,9 +1151,9 @@ dependencies = [
 
 [[package]]
 name = "either"
-version = "1.8.1"
+version = "1.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91"
+checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07"
 dependencies = [
  "serde",
 ]
@@ -1920,7 +1922,7 @@ dependencies = [
 
 [[package]]
 name = "imap"
-version = "0.3.1"
+version = "0.3.2"
 dependencies = [
  "ahash 0.8.3",
  "dashmap",
@@ -2084,7 +2086,7 @@ dependencies = [
 
 [[package]]
 name = "jmap"
-version = "0.3.1"
+version = "0.3.2"
 dependencies = [
  "aes-gcm",
  "aes-gcm-siv",
@@ -2280,9 +2282,9 @@ dependencies = [
 
 [[package]]
 name = "libz-sys"
-version = "1.1.9"
+version = "1.1.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "56ee889ecc9568871456d42f603d6a0ce59ff328d291063a45cbdf0036baf6db"
+checksum = "d97137b25e321a73eef1418d1d5d2eda4d77e12813f8e6dead84bc52c5870a7b"
 dependencies = [
  "cc",
  "pkg-config",
@@ -2390,7 +2392,7 @@ dependencies = [
 
 [[package]]
 name = "mail-server"
-version = "0.3.1"
+version = "0.3.2"
 dependencies = [
  "directory",
  "imap",
@@ -3295,9 +3297,9 @@ dependencies = [
 
 [[package]]
 name = "quote"
-version = "1.0.31"
+version = "1.0.32"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5fe8a65d69dd0808184ebb5f836ab526bb259db23c657efa38711b1072ee47f0"
+checksum = "50f3b39ccfb720540debaa0164757101c08ecb8d326b15358ce76a62c7e85965"
 dependencies = [
  "proc-macro2",
 ]
@@ -3522,9 +3524,9 @@ dependencies = [
 
 [[package]]
 name = "roaring"
-version = "0.10.1"
+version = "0.10.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ef0fb5e826a8bde011ecae6a8539dd333884335c57ff0f003fbe27c25bbe8f71"
+checksum = "6106b5cf8587f5834158895e9715a3c6c9716c8aefab57f1f7680917191c7873"
 dependencies = [
  "bytemuck",
  "byteorder",
@@ -3704,7 +3706,7 @@ checksum = "79ea77c539259495ce8ca47f53e66ae0330a8819f67e23ac96ca02f50e7b7d36"
 dependencies = [
  "log",
  "ring",
- "rustls-webpki 0.101.1",
+ "rustls-webpki 0.101.2",
  "sct",
 ]
 
@@ -3741,9 +3743,9 @@ dependencies = [
 
 [[package]]
 name = "rustls-webpki"
-version = "0.101.1"
+version = "0.101.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "15f36a6828982f422756984e47912a7a51dcbc2a197aa791158f8ca61cd8204e"
+checksum = "513722fd73ad80a71f72b61009ea1b584bcfa1483ca93949c8f290298837fa59"
 dependencies = [
  "ring",
  "untrusted",
@@ -3832,9 +3834,9 @@ dependencies = [
 
 [[package]]
 name = "security-framework"
-version = "2.9.1"
+version = "2.9.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1fc758eb7bffce5b308734e9b0c1468893cae9ff70ebf13e7090be8dcbcc83a8"
+checksum = "05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de"
 dependencies = [
  "bitflags 1.3.2",
  "core-foundation",
@@ -3845,9 +3847,9 @@ dependencies = [
 
 [[package]]
 name = "security-framework-sys"
-version = "2.9.0"
+version = "2.9.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f51d0c0d83bec45f16480d0ce0058397a69e48fcdc52d1dc8855fb68acbd31a7"
+checksum = "e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a"
 dependencies = [
  "core-foundation-sys",
  "libc",
@@ -3855,9 +3857,9 @@ dependencies = [
 
 [[package]]
 name = "serde"
-version = "1.0.174"
+version = "1.0.176"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3b88756493a5bd5e5395d53baa70b194b05764ab85b59e43e4b8f4e1192fa9b1"
+checksum = "76dc28c9523c5d70816e393136b86d48909cfb27cecaa902d338c19ed47164dc"
 dependencies = [
  "serde_derive",
 ]
@@ -3873,9 +3875,9 @@ dependencies = [
 
 [[package]]
 name = "serde_derive"
-version = "1.0.174"
+version = "1.0.176"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6e5c3a298c7f978e53536f95a63bdc4c4a64550582f31a0359a9afda6aede62e"
+checksum = "a4e7b8c5dc823e3b90651ff1d3808419cd14e5ad76de04feaf37da114e7a306f"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -3884,9 +3886,9 @@ dependencies = [
 
 [[package]]
 name = "serde_json"
-version = "1.0.103"
+version = "1.0.104"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d03b412469450d4404fe8499a268edd7f8b79fecb074b0d812ad64ca21f4031b"
+checksum = "076066c5f1078eac5b722a31827a8832fe108bed65dfa75e233c89f8206e976c"
 dependencies = [
  "itoa",
  "ryu",
@@ -4002,7 +4004,7 @@ checksum = "43b2853a4d09f215c24cc5489c992ce46052d359b5109343cbafbf26bc62f8a3"
 [[package]]
 name = "sieve-rs"
 version = "0.3.1"
-source = "git+https://github.com/stalwartlabs/sieve#0ab2dc8cd41ee5dadcc3ab5e932b9b92abc5e067"
+source = "git+https://github.com/stalwartlabs/sieve#f9c01ba6947d73855fdd645b17c9a5d347724ee3"
 dependencies = [
  "ahash 0.8.3",
  "bincode",
@@ -4055,7 +4057,7 @@ checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9"
 
 [[package]]
 name = "smtp"
-version = "0.3.1"
+version = "0.3.2"
 dependencies = [
  "ahash 0.8.3",
  "blake3",
@@ -4355,7 +4357,7 @@ dependencies = [
 
 [[package]]
 name = "stalwart-cli"
-version = "0.3.1"
+version = "0.3.2"
 dependencies = [
  "clap",
  "console",
@@ -4377,7 +4379,7 @@ dependencies = [
 
 [[package]]
 name = "stalwart-install"
-version = "0.3.1"
+version = "0.3.2"
 dependencies = [
  "base64 0.21.2",
  "clap",
@@ -5318,7 +5320,7 @@ version = "0.24.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "b291546d5d9d1eab74f069c77749f2cb8504a12caa20f0f2de93ddbf6f411888"
 dependencies = [
- "rustls-webpki 0.101.1",
+ "rustls-webpki 0.101.2",
 ]
 
 [[package]]
diff --git a/pkgs/servers/mail/stalwart/default.nix b/pkgs/servers/mail/stalwart/default.nix
index 7cff28f413d14..66b0e2bdebc8c 100644
--- a/pkgs/servers/mail/stalwart/default.nix
+++ b/pkgs/servers/mail/stalwart/default.nix
@@ -9,10 +9,11 @@
 , zstd
 , stdenv
 , darwin
+, nix-update-script
 }:
 
 let
-  version = "0.3.1";
+  version = "0.3.2";
 in
 rustPlatform.buildRustPackage {
   pname = "stalwart-mail";
@@ -22,7 +23,7 @@ rustPlatform.buildRustPackage {
     owner = "stalwartlabs";
     repo = "mail-server";
     rev = "v${version}";
-    hash = "sha256-RLLKZ1nUYv8fCEd6SSIpy7o88Ee5vs5EaPcfulCXiIU=";
+    hash = "sha256-5+r1xWpxIwyvRUPw2X4vIvbvqUe6lBcYurbxwNySXAY=";
     fetchSubmodules = true;
   };
 
@@ -35,7 +36,7 @@ rustPlatform.buildRustPackage {
       "mail-builder-0.3.0" = "sha256-0o/fV7ZKiRKeitBBt8yOM/2nXIEgOGSMEMaBj+3i7Kw=";
       "mail-parser-0.8.2" = "sha256-XvKEgzQ+HDoLI16CmqE/RRgApg0q9Au9sqOOEpZz6W0=";
       "mail-send-0.4.0" = "sha256-bMPI871hBj/RvrW4kESGS9XzfnkSo8r2/9uUwgE12EU=";
-      "sieve-rs-0.3.1" = "sha256-0LE98L7JEc6FObygIsln4Enw2kx8FnLotJ/fXGpc4E8=";
+      "sieve-rs-0.3.1" = "sha256-FJBQorFRXQYhiCzprAqiv69Qae9YI5OAipjayooFDAw=";
       "smtp-proto-0.1.1" = "sha256-HhKZQHQv3tMEfRZgCoAtyxVzwHbcB4FSjKlMoU1PkHg=";
     };
   };
@@ -64,6 +65,8 @@ rustPlatform.buildRustPackage {
   # Tests require reading to /etc/resolv.conf
   doCheck = false;
 
+  passthru.update-script = nix-update-script { };
+
   meta = with lib; {
     description = "Secure & Modern All-in-One Mail Server (IMAP, JMAP, SMTP)";
     homepage = "https://github.com/stalwartlabs/mail-server";
diff --git a/pkgs/servers/mastodon/source.nix b/pkgs/servers/mastodon/source.nix
index 0d0656c3a39af..4456dff25bbe4 100644
--- a/pkgs/servers/mastodon/source.nix
+++ b/pkgs/servers/mastodon/source.nix
@@ -3,8 +3,8 @@
   src = fetchFromGitHub {
     owner = "mastodon";
     repo = "mastodon";
-    rev = "v4.1.5";
-    hash = "sha256-1bWrKcw+EQyu7WBujR5sptiUOjbhJvIM76h9jcX24jw=";
+    rev = "v4.1.6";
+    hash = "sha256-UjTN9vEuZX9tDeHnW41TEZtnchNu2IOleHPisrv18Qk=";
   };
 in applyPatches {
   inherit src;
diff --git a/pkgs/servers/mastodon/version.nix b/pkgs/servers/mastodon/version.nix
index 6240cd822c755..9b1e0114f7eda 100644
--- a/pkgs/servers/mastodon/version.nix
+++ b/pkgs/servers/mastodon/version.nix
@@ -1 +1 @@
-"4.1.5"
+"4.1.6"
diff --git a/pkgs/servers/matrix-synapse/default.nix b/pkgs/servers/matrix-synapse/default.nix
index 02679e43e72f3..56650531a65d8 100644
--- a/pkgs/servers/matrix-synapse/default.nix
+++ b/pkgs/servers/matrix-synapse/default.nix
@@ -12,20 +12,20 @@ in
 with python3.pkgs;
 buildPythonApplication rec {
   pname = "matrix-synapse";
-  version = "1.88.0";
+  version = "1.89.0";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "matrix-org";
     repo = "synapse";
     rev = "v${version}";
-    hash = "sha256-uNk+vyOCbaoy8Jw8W5KyedIw6bJ0ci8NkFTMlBVcxEw=";
+    hash = "sha256-ywDXjwYYCR0ojemRnShDmeoeUlDkpFH/ajFxV2DrR70=";
   };
 
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
     name = "${pname}-${version}";
-    hash = "sha256-ILLZUQjUbLvmNsDpCSqKAYO/PRHTJ/XTDJTo/LCT/mg=";
+    hash = "sha256-Atwa7yIA9kPsle0/DKQD30PJljVNArqWgau4Ueqzo94=";
   };
 
   postPatch = ''
diff --git a/pkgs/servers/matrix-synapse/matrix-appservice-irc/default.nix b/pkgs/servers/matrix-synapse/matrix-appservice-irc/default.nix
index 69696cbf91957..753118528bdd5 100644
--- a/pkgs/servers/matrix-synapse/matrix-appservice-irc/default.nix
+++ b/pkgs/servers/matrix-synapse/matrix-appservice-irc/default.nix
@@ -1,32 +1,82 @@
 { lib
-, buildNpmPackage
+, stdenv
 , fetchFromGitHub
-, python3
+, fetchYarnDeps
+, prefetch-yarn-deps
+, nodejs
+, nodejs-slim
 , matrix-sdk-crypto-nodejs
 , nixosTests
 , nix-update-script
 }:
 
-buildNpmPackage rec {
+let
   pname = "matrix-appservice-irc";
-  version = "0.38.0";
+  version = "1.0.1";
 
   src = fetchFromGitHub {
     owner = "matrix-org";
-    repo = "matrix-appservice-irc";
+    repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-rV4B9OQl1Ht26X4e7sqCe1PR5RpzIcjj4OvWG6udJWo=";
+    hash = "sha256-wUbWvCa9xvot73nXZjF3/RawM98ffBCW5YR2+ZKzmEo=";
   };
 
-  npmDepsHash = "sha256-iZuPr3a1BPtRfkEoxOs4oRL/nCfy3PLx5T9dX49/B0s=";
+  yarnOfflineCache = fetchYarnDeps {
+    name = "${pname}-${version}-offline-cache";
+    yarnLock = "${src}/yarn.lock";
+    hash = "sha256-P9u5sK9rIHWRE8kFMj05fVjv26jwsawvHBZgSn7j5BE=";
+  };
+
+in
+stdenv.mkDerivation {
+  inherit pname version src yarnOfflineCache;
+
+  strictDeps = true;
 
   nativeBuildInputs = [
-    python3
+    prefetch-yarn-deps
+    nodejs-slim
+    nodejs.pkgs.yarn
+    nodejs.pkgs.node-gyp-build
   ];
 
-  postInstall = ''
-    rm -rv $out/lib/node_modules/matrix-appservice-irc/node_modules/@matrix-org/matrix-sdk-crypto-nodejs
-    ln -sv ${matrix-sdk-crypto-nodejs}/lib/node_modules/@matrix-org/matrix-sdk-crypto-nodejs $out/lib/node_modules/matrix-appservice-irc/node_modules/@matrix-org/
+  configurePhase = ''
+    runHook preConfigure
+
+    export HOME=$(mktemp -d)
+    yarn config --offline set yarn-offline-mirror "$yarnOfflineCache"
+    fixup-yarn-lock yarn.lock
+    yarn install --frozen-lockfile --offline --no-progress --non-interactive --ignore-scripts
+    patchShebangs node_modules/ bin/
+
+    runHook postConfigure
+  '';
+
+  buildPhase = ''
+    runHook preBuild
+
+    yarn --offline build
+
+    runHook postBuild
+  '';
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir $out
+    cp package.json $out
+    cp app.js config.schema.yml $out
+    cp -r bin lib public $out
+
+    # prune dependencies to production only
+    yarn install --frozen-lockfile --offline --no-progress --non-interactive --ignore-scripts --production
+    cp -r node_modules $out
+
+    # replace matrix-sdk-crypto-nodejs with nixos package
+    rm -rv $out/node_modules/@matrix-org/matrix-sdk-crypto-nodejs
+    ln -sv ${matrix-sdk-crypto-nodejs}/lib/node_modules/@matrix-org/matrix-sdk-crypto-nodejs $out/node_modules/@matrix-org/
+
+    runHook postInstall
   '';
 
   passthru.tests.matrix-appservice-irc = nixosTests.matrix-appservice-irc;
diff --git a/pkgs/servers/matrix-synapse/matrix-appservice-slack/package.json b/pkgs/servers/matrix-synapse/matrix-appservice-slack/package.json
index aa3225725df3f..d4a27436aea1e 100644
--- a/pkgs/servers/matrix-synapse/matrix-appservice-slack/package.json
+++ b/pkgs/servers/matrix-synapse/matrix-appservice-slack/package.json
@@ -1,6 +1,6 @@
 {
   "name": "matrix-appservice-slack",
-  "version": "2.1.1",
+  "version": "2.1.2",
   "description": "A Matrix <--> Slack bridge",
   "engines": {
     "node": ">=16 <=18"
@@ -42,12 +42,13 @@
     "axios": "^0.27.2",
     "classnames": "^2.3.2",
     "escape-string-regexp": "^4.0.0",
-    "matrix-appservice-bridge": "^8.1.1",
+    "https-proxy-agent": "^5.0.1",
+    "matrix-appservice-bridge": "^8.1.2",
     "matrix-widget-api": "^1.1.1",
     "minimist": "^1.2.6",
     "nedb": "^1.8.0",
     "node-emoji": "^1.10.0",
-    "nunjucks": "^3.2.3",
+    "nunjucks": "^3.2.4",
     "p-queue": "^6.0.0",
     "pg-promise": "^10.11.1",
     "randomstring": "^1.2.1",
diff --git a/pkgs/servers/matrix-synapse/matrix-appservice-slack/pin.json b/pkgs/servers/matrix-synapse/matrix-appservice-slack/pin.json
index f5b5f49390abc..3adfcbabae62b 100644
--- a/pkgs/servers/matrix-synapse/matrix-appservice-slack/pin.json
+++ b/pkgs/servers/matrix-synapse/matrix-appservice-slack/pin.json
@@ -1,5 +1,5 @@
 {
-  "version": "2.1.1",
-  "srcHash": "sha256-+NO/V3EyqdxavnSTBU7weJnueL6+aCH3UWkqclpsId0=",
-  "yarnHash": "1pqv7g3xbfs4zhmyxy5p216kq2jwjfjzxw2dv2a7hl0qwk6igyki"
+  "version": "2.1.2",
+  "srcHash": "sha256-e9k+5xvgHkVt/fKAr0XhYjbEzHYwdGRdqiPWWbT0T5M=",
+  "yarnHash": "0266rrfx0fnrhn64ivy4iygf6nl5vc5i08j6h72k2zrh3rg203kz"
 }
diff --git a/pkgs/servers/matrix-synapse/matrix-hookshot/package.json b/pkgs/servers/matrix-synapse/matrix-hookshot/package.json
index 2ae23cb09a3ac..744f593caf13f 100644
--- a/pkgs/servers/matrix-synapse/matrix-hookshot/package.json
+++ b/pkgs/servers/matrix-synapse/matrix-hookshot/package.json
@@ -1,6 +1,6 @@
 {
   "name": "matrix-hookshot",
-  "version": "4.4.0",
+  "version": "4.4.1",
   "description": "A bridge between Matrix and multiple project management services, such as GitHub, GitLab and JIRA.",
   "main": "lib/app.js",
   "repository": "https://github.com/matrix-org/matrix-hookshot",
@@ -56,7 +56,7 @@
     "ioredis": "^5.2.3",
     "jira-client": "^8.0.0",
     "markdown-it": "^12.3.2",
-    "matrix-appservice-bridge": "^9.0.0",
+    "matrix-appservice-bridge": "^9.0.1",
     "matrix-bot-sdk": "npm:@vector-im/matrix-bot-sdk@^0.6.6-element.1",
     "matrix-widget-api": "^1.0.0",
     "micromatch": "^4.0.4",
diff --git a/pkgs/servers/matrix-synapse/matrix-hookshot/pin.json b/pkgs/servers/matrix-synapse/matrix-hookshot/pin.json
index a5429d85d4600..503d692256d56 100644
--- a/pkgs/servers/matrix-synapse/matrix-hookshot/pin.json
+++ b/pkgs/servers/matrix-synapse/matrix-hookshot/pin.json
@@ -1,6 +1,6 @@
 {
-  "version": "4.4.0",
-  "srcHash": "sha256-mPLDdAVIMb5d2LPGtIfm/ofRs42081S3+QTsvqkfp3s=",
-  "yarnHash": "0qd3h870mk3a2lzm0r7kyh07ykw86h9xwai9h205gnv1w0d59z6i",
-  "cargoHash": "sha256-NGcnRKasYE4dleQLq+E4cM6C04Rfu4AsenDznGyC2Nk="
+  "version": "4.4.1",
+  "srcHash": "sha256-pQSivF/90BvvqtBGTi8eSssPzJdkUNW9cXztG+V+Joo=",
+  "yarnHash": "1adcl20d5nis8w3amwkcxddybikn5whgx9ixv78lm9h2mc45y6jw",
+  "cargoHash": "sha256-c5hZroZ3A9dhviSuqVfNMSr5KL/FEXecuyMfZwMD9kc="
 }
diff --git a/pkgs/servers/matrix-synapse/plugins/default.nix b/pkgs/servers/matrix-synapse/plugins/default.nix
index 7c77bf933c5c0..1f35ae0502411 100644
--- a/pkgs/servers/matrix-synapse/plugins/default.nix
+++ b/pkgs/servers/matrix-synapse/plugins/default.nix
@@ -5,5 +5,6 @@
   matrix-synapse-ldap3 = callPackage ./ldap3.nix { };
   matrix-synapse-mjolnir-antispam = callPackage ./mjolnir-antispam.nix { };
   matrix-synapse-pam = callPackage ./pam.nix { };
+  matrix-synapse-s3-storage-provider = callPackage ./s3-storage-provider.nix { };
   matrix-synapse-shared-secret-auth = callPackage ./shared-secret-auth.nix { };
 }
diff --git a/pkgs/servers/matrix-synapse/plugins/s3-storage-provider.nix b/pkgs/servers/matrix-synapse/plugins/s3-storage-provider.nix
new file mode 100644
index 0000000000000..646dfc3728d12
--- /dev/null
+++ b/pkgs/servers/matrix-synapse/plugins/s3-storage-provider.nix
@@ -0,0 +1,33 @@
+{ lib, buildPythonPackage, fetchFromGitHub, matrix-synapse, twisted, humanize, boto3, tqdm }:
+
+buildPythonPackage rec {
+  pname = "matrix-synapse-s3-storage-provider";
+  version = "1.2.1";
+
+  src = fetchFromGitHub {
+    owner = "matrix-org";
+    repo = "synapse-s3-storage-provider";
+    rev = "v${version}";
+    sha256 = "sha256-92Xkq54jrUE2I9uVOxI72V9imLNU6K4JqDdOZb+4f+Y=";
+  };
+
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "humanize>=0.5.1,<0.6" "humanize>=0.5.1"
+  '';
+
+  doCheck = false;
+  pythonImportsCheck = [ "s3_storage_provider" ];
+
+  buildInputs = [ matrix-synapse ];
+  propagatedBuildInputs = [ twisted humanize boto3 tqdm ]
+    # for the s3_media_upload script
+    ++ matrix-synapse.propagatedBuildInputs;
+
+  meta = with lib; {
+    description = "Synapse storage provider to fetch and store media in Amazon S3";
+    homepage = "https://github.com/matrix-org/synapse-s3-storage-provider";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ yuka ];
+  };
+}
diff --git a/pkgs/servers/matrix-synapse/sliding-sync/default.nix b/pkgs/servers/matrix-synapse/sliding-sync/default.nix
index ce636dbbce9bf..bd1f7358b11db 100644
--- a/pkgs/servers/matrix-synapse/sliding-sync/default.nix
+++ b/pkgs/servers/matrix-synapse/sliding-sync/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "matrix-sliding-sync";
-  version = "0.99.4";
+  version = "0.99.5";
 
   src = fetchFromGitHub {
     owner = "matrix-org";
     repo = "sliding-sync";
     rev = "v${version}";
-    hash = "sha256-s7hQ4qCOhkNS8Mc2HZjFqedtj0KqXMAxVMZRIjPyvOA=";
+    hash = "sha256-L2cWKPVclurOCpyQezHPB+5zYD91EREBXjRYBzjxkII=";
   };
 
   vendorHash = "sha256-447P2TbBUEHmHubHiiZCrFVCj2/tmEuYFzLo27UyCk4=";
diff --git a/pkgs/servers/misc/irrd/default.nix b/pkgs/servers/misc/irrd/default.nix
new file mode 100644
index 0000000000000..1ba0c158331fc
--- /dev/null
+++ b/pkgs/servers/misc/irrd/default.nix
@@ -0,0 +1,159 @@
+{ lib
+, python3
+, fetchPypi
+, git
+, postgresql
+, postgresqlTestHook
+, redis
+}:
+
+let
+  py = python3.override {
+    packageOverrides = final: prev: {
+      sqlalchemy = prev.sqlalchemy.overridePythonAttrs (oldAttrs: rec {
+        version = "1.3.24";
+        src = fetchPypi {
+          inherit (oldAttrs) pname;
+          inherit version;
+          hash = "sha256-67t3fL+TEjWbiXv4G6ANrg9ctp+6KhgmXcwYpvXvdRk=";
+        };
+        doCheck = false;
+      });
+      starlette = prev.starlette.overridePythonAttrs (oldAttrs: rec {
+        version = "0.20.4";
+        src = fetchPypi {
+          inherit (oldAttrs) pname;
+          inherit version;
+          hash = "sha256-QvzzEi+Zj+/OPixa1+Xtvw8Cz2hdZGqDoI1ARyavUIQ=";
+        };
+        nativeBuildInputs = with final; [
+          setuptools
+        ];
+        doCheck = false;
+      });
+      ariadne = prev.ariadne.overridePythonAttrs (oldAttrs: rec {
+        version = "0.17.1";
+        src = fetchPypi {
+          inherit (oldAttrs) pname;
+          inherit version;
+          hash = "sha256-B98wl/NkNOyq99AKsVQem9TZ0meOnvg7IdWIEAI2vy8=";
+        };
+        nativeBuildInputs = with final; [
+          setuptools
+        ];
+        doCheck = false;
+      });
+      alembic = prev.alembic.overridePythonAttrs (lib.const {
+        doCheck = false;
+      });
+      beautifultable = prev.beautifultable.overridePythonAttrs (oldAttrs: rec {
+        version = "0.8.0";
+        src = fetchPypi {
+          inherit (oldAttrs) pname;
+          inherit version;
+          hash = "sha256-1E2VUbvte/qIZ1Mk+E77mqhXOE1E6fsh61MPCgutuBU=";
+        };
+        doCheck = false;
+      });
+    };
+  };
+in
+
+py.pkgs.buildPythonPackage rec {
+  pname = "irrd";
+  version = "4.3.0.post1";
+  format = "setuptools";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-hayfdcYAgIopfUiAR/AUWMuTzwpXvXuq6iPp9uhWN1M=";
+  };
+
+  patches = [
+    ./irrd-asgiref-3.8.0.diff
+  ];
+
+  pythonRelaxDeps = true;
+  nativeBuildInputs = with python3.pkgs; [
+    pythonRelaxDepsHook
+  ];
+  postPatch = ''
+    substituteInPlace setup.py --replace psycopg2-binary psycopg2
+  '';
+
+  nativeCheckInputs = [
+    git
+    redis
+    postgresql
+    postgresqlTestHook
+  ] ++ (with py.pkgs; [
+    pytest-asyncio
+    pytest-freezegun
+    pytestCheckHook
+  ]);
+
+  propagatedBuildInputs = with py.pkgs; [
+    python-gnupg
+    passlib
+    bcrypt
+    ipy
+    ordered-set
+    beautifultable
+    pyyaml
+    datrie
+    setproctitle
+    python-daemon
+    pid
+    py.pkgs.redis
+    hiredis
+    coredis
+    requests
+    pytz
+    ariadne
+    uvicorn
+    starlette
+    psutil
+    asgiref
+    pydantic
+    typing-extensions
+    py-radix-sr
+    psycopg2
+    sqlalchemy
+    alembic
+    ujson
+    wheel
+    websockets
+  ] ++ py.pkgs.uvicorn.optional-dependencies.standard;
+
+  preCheck = ''
+    redis-server &
+    REDIS_PID=$!
+
+    while ! redis-cli --scan ; do
+      echo waiting for redis
+      sleep 1
+    done
+
+    export IRRD_DATABASE_URL="postgres:///$PGDATABASE"
+    export IRRD_REDIS_URL="redis://localhost/1"
+  '';
+
+  postCheck = ''
+    kill $REDIS_PID
+  '';
+
+  # skip tests that require internet access
+  disabledTests = [
+    "test_020_dash_o_noop"
+    "test_050_non_json_response"
+  ];
+
+  meta = with lib; {
+    changelog = "https://irrd.readthedocs.io/en/v${version}/releases/";
+    description = "An Internet Routing Registry database server, processing IRR objects in the RPSL format";
+    license = licenses.mit;
+    homepage = "https://github.com/irrdnet/irrd";
+    maintainers = with maintainers; [ netali yuka ];
+  };
+}
+
diff --git a/pkgs/servers/misc/irrd/irrd-asgiref-3.8.0.diff b/pkgs/servers/misc/irrd/irrd-asgiref-3.8.0.diff
new file mode 100644
index 0000000000000..0b81cbc6613dc
--- /dev/null
+++ b/pkgs/servers/misc/irrd/irrd-asgiref-3.8.0.diff
@@ -0,0 +1,51 @@
+diff --git a/irrd/server/graphql/schema_builder.py b/irrd/server/graphql/schema_builder.py
+index 65ddf5d..b3b385a 100644
+--- a/irrd/server/graphql/schema_builder.py
++++ b/irrd/server/graphql/schema_builder.py
+@@ -31,32 +31,32 @@ def build_executable_schema():
+     """
+     schema = SchemaGenerator()
+ 
+-    schema.rpsl_object_type.set_type_resolver(sta(resolve_rpsl_object_type, False))
+-    schema.rpsl_contact_union_type.set_type_resolver(sta(resolve_rpsl_object_type, False))
++    schema.rpsl_object_type.set_type_resolver(sta(resolve_rpsl_object_type, thread_sensitive=False))
++    schema.rpsl_contact_union_type.set_type_resolver(sta(resolve_rpsl_object_type, thread_sensitive=False))
+ 
+-    schema.query_type.set_field("rpslObjects", sta(resolve_rpsl_objects, False))
+-    schema.query_type.set_field("databaseStatus", sta(resolve_database_status, False))
+-    schema.query_type.set_field("asnPrefixes", sta(resolve_asn_prefixes, False))
+-    schema.query_type.set_field("asSetPrefixes", sta(resolve_as_set_prefixes, False))
+-    schema.query_type.set_field("recursiveSetMembers", sta(resolve_recursive_set_members, False))
++    schema.query_type.set_field("rpslObjects", sta(resolve_rpsl_objects, thread_sensitive=False))
++    schema.query_type.set_field("databaseStatus", sta(resolve_database_status, thread_sensitive=False))
++    schema.query_type.set_field("asnPrefixes", sta(resolve_asn_prefixes, thread_sensitive=False))
++    schema.query_type.set_field("asSetPrefixes", sta(resolve_as_set_prefixes, thread_sensitive=False))
++    schema.query_type.set_field("recursiveSetMembers", sta(resolve_recursive_set_members, thread_sensitive=False))
+ 
+-    schema.rpsl_object_type.set_field("mntByObjs", sta(resolve_rpsl_object_mnt_by_objs, False))
+-    schema.rpsl_object_type.set_field("journal", sta(resolve_rpsl_object_journal, False))
++    schema.rpsl_object_type.set_field("mntByObjs", sta(resolve_rpsl_object_mnt_by_objs, thread_sensitive=False))
++    schema.rpsl_object_type.set_field("journal", sta(resolve_rpsl_object_journal, thread_sensitive=False))
+     for object_type in schema.object_types:
+         if "adminCObjs" in schema.graphql_types[object_type.name]:
+-            object_type.set_field("adminCObjs", sta(resolve_rpsl_object_adminc_objs, False))
++            object_type.set_field("adminCObjs", sta(resolve_rpsl_object_adminc_objs, thread_sensitive=False))
+     for object_type in schema.object_types:
+         if "techCObjs" in schema.graphql_types[object_type.name]:
+-            object_type.set_field("techCObjs", sta(resolve_rpsl_object_techc_objs, False))
++            object_type.set_field("techCObjs", sta(resolve_rpsl_object_techc_objs, thread_sensitive=False))
+     for object_type in schema.object_types:
+         if "mbrsByRefObjs" in schema.graphql_types[object_type.name]:
+-            object_type.set_field("mbrsByRefObjs", sta(resolve_rpsl_object_members_by_ref_objs, False))
++            object_type.set_field("mbrsByRefObjs", sta(resolve_rpsl_object_members_by_ref_objs, thread_sensitive=False))
+     for object_type in schema.object_types:
+         if "memberOfObjs" in schema.graphql_types[object_type.name]:
+-            object_type.set_field("memberOfObjs", sta(resolve_rpsl_object_member_of_objs, False))
++            object_type.set_field("memberOfObjs", sta(resolve_rpsl_object_member_of_objs, thread_sensitive=False))
+     for object_type in schema.object_types:
+         if "membersObjs" in schema.graphql_types[object_type.name]:
+-            object_type.set_field("membersObjs", sta(resolve_rpsl_object_members_objs, False))
++            object_type.set_field("membersObjs", sta(resolve_rpsl_object_members_objs, thread_sensitive=False))
+ 
+     @schema.asn_scalar_type.value_parser
+     def parse_asn_scalar(value):
diff --git a/pkgs/servers/misc/oven-media-engine/default.nix b/pkgs/servers/misc/oven-media-engine/default.nix
index 5bfaeb8e046b8..85a5f90edeac0 100644
--- a/pkgs/servers/misc/oven-media-engine/default.nix
+++ b/pkgs/servers/misc/oven-media-engine/default.nix
@@ -19,13 +19,13 @@
 
 stdenv.mkDerivation rec {
   pname = "oven-media-engine";
-  version = "0.15.13";
+  version = "0.15.14";
 
   src = fetchFromGitHub {
     owner = "AirenSoft";
     repo = "OvenMediaEngine";
     rev = "v${version}";
-    sha256 = "sha256-CwWQg27i5CNbfFPhFx1bxS2XGH33OVq4sMhYIHgBHnQ=";
+    sha256 = "sha256-pLLnk0FXJ6gb0WSdWGEzJSEbKdOpjdWECIRzrHvi8HQ=";
   };
 
   sourceRoot = "source/src";
diff --git a/pkgs/servers/monitoring/cadvisor/default.nix b/pkgs/servers/monitoring/cadvisor/default.nix
index acd6d918016e2..79780d39d8534 100644
--- a/pkgs/servers/monitoring/cadvisor/default.nix
+++ b/pkgs/servers/monitoring/cadvisor/default.nix
@@ -2,18 +2,18 @@
 
 buildGoModule rec {
   pname = "cadvisor";
-  version = "0.46.0";
+  version = "unstable-2023-07-28";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = "cadvisor";
-    rev = "v${version}";
-    sha256 = "sha256-ciGj8SK7OgK3x8Njih4aIQ0vvNV9s5/w2i+DF/vw1O8=";
+    rev = "fdd3d9182bea6f7f11e4f934631c4abef3aa0584";
+    hash = "sha256-U6oZ80EYx56FJ7VsDKzCXH4TvFEH+oPmgK/Nd8T/Zp4=";
   };
 
   modRoot = "./cmd";
 
-  vendorSha256 = "sha256-dg+osxsxdJ8Tg++wdd4L6FMjiPLLFQj0NXb2aSC7vQg=";
+  vendorHash = "sha256-hvgObwmNKk6yTJSyEHuHZ5abuXGPwPC42xUSAAF8UA0=";
 
   ldflags = [ "-s" "-w" "-X github.com/google/cadvisor/version.Version=${version}" ];
 
@@ -22,10 +22,6 @@ buildGoModule rec {
     rm $out/bin/example
   '';
 
-  preCheck = ''
-    rm internal/container/mesos/handler_test.go
-  '';
-
   meta = with lib; {
     description = "Analyzes resource usage and performance characteristics of running docker containers";
     homepage = "https://github.com/google/cadvisor";
diff --git a/pkgs/servers/monitoring/grafana-agent/default.nix b/pkgs/servers/monitoring/grafana-agent/default.nix
index 3859c2df59652..e07621e8213d0 100644
--- a/pkgs/servers/monitoring/grafana-agent/default.nix
+++ b/pkgs/servers/monitoring/grafana-agent/default.nix
@@ -73,5 +73,6 @@ buildGoModule rec {
     homepage = "https://grafana.com/products/cloud";
     changelog = "https://github.com/grafana/agent/blob/${src.rev}/CHANGELOG.md";
     maintainers = with lib.maintainers; [ flokli emilylange ];
+    mainProgram = "grafana-agent";
   };
 }
diff --git a/pkgs/servers/monitoring/grafana/default.nix b/pkgs/servers/monitoring/grafana/default.nix
index e5305dbe736be..2433f92b1cf88 100644
--- a/pkgs/servers/monitoring/grafana/default.nix
+++ b/pkgs/servers/monitoring/grafana/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "grafana";
-  version = "10.0.2";
+  version = "10.0.3";
 
   excludedPackages = [ "alert_webhook_listener" "clean-swagger" "release_publisher" "slow_proxy" "slow_proxy_mac" "macaron" "devenv" ];
 
@@ -10,15 +10,15 @@ buildGoModule rec {
     rev = "v${version}";
     owner = "grafana";
     repo = "grafana";
-    hash = "sha256-Db2j6D2Ds75qDUawOSe5jhtePrbxGq7nWnFooWa2vTI=";
+    hash = "sha256-2LHCG2x4SJzUgBfYZFQCTlrUGule9j+1x3R1vDmBlAs=";
   };
 
   srcStatic = fetchurl {
     url = "https://dl.grafana.com/oss/release/grafana-${version}.linux-amd64.tar.gz";
-    hash = "sha256-Mkn9KhyJmOKCuO3gDL+mgKijvResB/4mRAff6grOpuo=";
+    hash = "sha256-2ut+7hMnttQHzarxojTsnY4q5abQheD9PYxgYhTrYDI=";
   };
 
-  vendorHash = "sha256-hN4hHJhjlCdQUvxYKHItez9H7/WqCK5Nlog5INO4m/g=";
+  vendorHash = "sha256-VMy7RGp5F5cc1nBpt5Fm1LbY6IK1/JHLEEGIoYzUvdw=";
 
   nativeBuildInputs = [ wire ];
 
diff --git a/pkgs/servers/monitoring/karma/default.nix b/pkgs/servers/monitoring/karma/default.nix
index 416e388d8f493..5bc19740d8dec 100644
--- a/pkgs/servers/monitoring/karma/default.nix
+++ b/pkgs/servers/monitoring/karma/default.nix
@@ -1,39 +1,42 @@
-{ pkgs
-, lib
+{ lib
 , stdenv
 , buildGoModule
-, callPackage
 , fetchFromGitHub
+, fetchNpmDeps
 , nixosTests
-, nodejs_18
+, nodejs
+, npmHooks
 }:
 
-let
-  uiNodeDependencies = (import ./node-composition.nix {
-    inherit pkgs;
-    inherit (stdenv.hostPlatform) system;
-    # pin nodejs version
-    nodejs = nodejs_18;
-   }).nodeDependencies;
-in
-
 buildGoModule rec {
   pname = "karma";
-  version = "0.114";
+  version = "0.115";
 
   src = fetchFromGitHub {
     owner = "prymitive";
     repo = "karma";
     rev = "v${version}";
-    hash = "sha256-ZstBumK2ywwdr1ksMN7P8mHdYUiMOpfpYnvt0v0Io4w=";
+    hash = "sha256-SW/nmJcSk/LmoKLuD5stsSaRGaJctl6hVSODNCT9i64=";
+  };
+
+  vendorHash = "sha256-Y55AaB8KRV+Tq/Trg1BOOwziyt+yJ2b3iVYA6bDebQY=";
+
+  npmDeps = fetchNpmDeps {
+    src = "${src}/ui";
+    hash = "sha256-/L+eU0xwaopL2im9epiZiZ23dUqJ+3OwhWw/rIZC6hI=";
   };
 
-  vendorHash = "sha256-ZsXPA4KyKbc/bwkidyHNDg62mE8KlE+yIssOBZLmHVg=";
+  npmRoot = "ui";
 
   nativeBuildInputs = [
-    nodejs_18
+    nodejs
+    npmHooks.npmConfigHook
   ];
 
+  overrideModAttrs = oldAttrs: {
+    nativeBuildInputs = lib.filter (drv: drv != npmHooks.npmConfigHook) oldAttrs.nativeBuildInputs;
+  };
+
   postPatch = ''
     # Since we're using node2nix packages, the NODE_INSTALL hook isn't needed in the makefile
     sed -i \
@@ -43,32 +46,11 @@ buildGoModule rec {
   '';
 
   buildPhase = ''
-    # node will fail without this
-    export HOME=$(mktemp -d)
-
-    # build requires a writable .cache directory, so we'll create a
-    # temporary writable node_modules dir and link every package to it
-
-    # simply linking the node_modules directory would increase the closure size for uiNodeDependencies to >700MB
-    cp -r ${uiNodeDependencies}/lib/node_modules ./ui/
-    chmod -R +w ./ui/node_modules
-    mkdir -p ./ui/node_modules/.bin
-
-    pushd ./ui/node_modules/.bin
-
-    for x in ${uiNodeDependencies}/lib/node_modules/.bin/*; do
-      ln -sfv ./$(readlink "$x") ./$(basename "$x")
-    done
-
-    popd
-
-    mkdir -p ./ui/node_modules/.cache
+    runHook preBuild
 
-    # build package
     VERSION="v${version}" make -j$NIX_BUILD_CORES
 
-    # clean up
-    rm -rf ./ui/node_modules
+    runHook postBuild
   '';
 
   installPhase = ''
@@ -78,6 +60,7 @@ buildGoModule rec {
   passthru.tests.karma = nixosTests.karma;
 
   meta = with lib; {
+    changelog = "https://github.com/prymitive/karma/blob/${src.rev}/CHANGELOG.md";
     description = "Alert dashboard for Prometheus Alertmanager";
     homepage = "https://karma-dashboard.io/";
     license = licenses.asl20;
diff --git a/pkgs/servers/monitoring/karma/generate-dependencies.sh b/pkgs/servers/monitoring/karma/generate-dependencies.sh
deleted file mode 100755
index 15354c7182bc2..0000000000000
--- a/pkgs/servers/monitoring/karma/generate-dependencies.sh
+++ /dev/null
@@ -1,30 +0,0 @@
-#! /usr/bin/env nix-shell
-#! nix-shell -i bash -p nodePackages.node2nix nodejs_18 gnused wget
-
-# Usage: ./generate-dependencies.sh <version>
-# Use the same version format as in ./default.nix (without the 'v')
-
-set -eou pipefail
-
-version=$1
-
-
-echo "Karma version: $version"
-cd "$(dirname $(readlink -f $0))"
-
-wget -O ./package-lock.json https://raw.githubusercontent.com/prymitive/karma/v$version/ui/package-lock.json
-wget -O ./package.json https://raw.githubusercontent.com/prymitive/karma/v$version/ui/package.json
-
-sed -i -e 's/"name": "ui",/"name": "karma-ui",/g' ./package.json
-sed -i -e 's/"name": "ui",/"name": "karma-ui",/g' ./package-lock.json
-
-node2nix \
-    --nodejs-18 \
-    --development \
-    -l ./package-lock.json \
-    -i ./package.json \
-    -o ./node-packages.nix \
-    -c ./node-composition.nix \
-    -e ./node-env.nix
-
-rm package-lock.json
diff --git a/pkgs/servers/monitoring/karma/node-composition.nix b/pkgs/servers/monitoring/karma/node-composition.nix
deleted file mode 100644
index d9c0daef7834c..0000000000000
--- a/pkgs/servers/monitoring/karma/node-composition.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-# This file has been generated by node2nix 1.11.1. Do not edit!
-
-{pkgs ? import <nixpkgs> {
-    inherit system;
-  }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs_18"}:
-
-let
-  nodeEnv = import ./node-env.nix {
-    inherit (pkgs) stdenv lib python2 runCommand writeTextFile writeShellScript;
-    inherit pkgs nodejs;
-    libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null;
-  };
-in
-import ./node-packages.nix {
-  inherit (pkgs) fetchurl nix-gitignore stdenv lib fetchgit;
-  inherit nodeEnv;
-}
diff --git a/pkgs/servers/monitoring/karma/node-env.nix b/pkgs/servers/monitoring/karma/node-env.nix
deleted file mode 100644
index 5dad9ec63d47c..0000000000000
--- a/pkgs/servers/monitoring/karma/node-env.nix
+++ /dev/null
@@ -1,686 +0,0 @@
-# This file originates from node2nix
-
-{lib, stdenv, nodejs, python2, pkgs, libtool, runCommand, writeTextFile, writeShellScript}:
-
-let
-  # Workaround to cope with utillinux in Nixpkgs 20.09 and util-linux in Nixpkgs master
-  utillinux = if pkgs ? utillinux then pkgs.utillinux else pkgs.util-linux;
-
-  python = if nodejs ? python then nodejs.python else python2;
-
-  # Create a tar wrapper that filters all the 'Ignoring unknown extended header keyword' noise
-  tarWrapper = runCommand "tarWrapper" {} ''
-    mkdir -p $out/bin
-
-    cat > $out/bin/tar <<EOF
-    #! ${stdenv.shell} -e
-    $(type -p tar) "\$@" --warning=no-unknown-keyword --delay-directory-restore
-    EOF
-
-    chmod +x $out/bin/tar
-  '';
-
-  # Function that generates a TGZ file from a NPM project
-  buildNodeSourceDist =
-    { name, version, src, ... }:
-
-    stdenv.mkDerivation {
-      name = "node-tarball-${name}-${version}";
-      inherit src;
-      buildInputs = [ nodejs ];
-      buildPhase = ''
-        export HOME=$TMPDIR
-        tgzFile=$(npm pack | tail -n 1) # Hooks to the pack command will add output (https://docs.npmjs.com/misc/scripts)
-      '';
-      installPhase = ''
-        mkdir -p $out/tarballs
-        mv $tgzFile $out/tarballs
-        mkdir -p $out/nix-support
-        echo "file source-dist $out/tarballs/$tgzFile" >> $out/nix-support/hydra-build-products
-      '';
-    };
-
-  # Common shell logic
-  installPackage = writeShellScript "install-package" ''
-    installPackage() {
-      local packageName=$1 src=$2
-
-      local strippedName
-
-      local DIR=$PWD
-      cd $TMPDIR
-
-      unpackFile $src
-
-      # Make the base dir in which the target dependency resides first
-      mkdir -p "$(dirname "$DIR/$packageName")"
-
-      if [ -f "$src" ]
-      then
-          # Figure out what directory has been unpacked
-          packageDir="$(find . -maxdepth 1 -type d | tail -1)"
-
-          # Restore write permissions to make building work
-          find "$packageDir" -type d -exec chmod u+x {} \;
-          chmod -R u+w "$packageDir"
-
-          # Move the extracted tarball into the output folder
-          mv "$packageDir" "$DIR/$packageName"
-      elif [ -d "$src" ]
-      then
-          # Get a stripped name (without hash) of the source directory.
-          # On old nixpkgs it's already set internally.
-          if [ -z "$strippedName" ]
-          then
-              strippedName="$(stripHash $src)"
-          fi
-
-          # Restore write permissions to make building work
-          chmod -R u+w "$strippedName"
-
-          # Move the extracted directory into the output folder
-          mv "$strippedName" "$DIR/$packageName"
-      fi
-
-      # Change to the package directory to install dependencies
-      cd "$DIR/$packageName"
-    }
-  '';
-
-  # Bundle the dependencies of the package
-  #
-  # Only include dependencies if they don't exist. They may also be bundled in the package.
-  includeDependencies = {dependencies}:
-    lib.optionalString (dependencies != []) (
-      ''
-        mkdir -p node_modules
-        cd node_modules
-      ''
-      + (lib.concatMapStrings (dependency:
-        ''
-          if [ ! -e "${dependency.packageName}" ]; then
-              ${composePackage dependency}
-          fi
-        ''
-      ) dependencies)
-      + ''
-        cd ..
-      ''
-    );
-
-  # Recursively composes the dependencies of a package
-  composePackage = { name, packageName, src, dependencies ? [], ... }@args:
-    builtins.addErrorContext "while evaluating node package '${packageName}'" ''
-      installPackage "${packageName}" "${src}"
-      ${includeDependencies { inherit dependencies; }}
-      cd ..
-      ${lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."}
-    '';
-
-  pinpointDependencies = {dependencies, production}:
-    let
-      pinpointDependenciesFromPackageJSON = writeTextFile {
-        name = "pinpointDependencies.js";
-        text = ''
-          var fs = require('fs');
-          var path = require('path');
-
-          function resolveDependencyVersion(location, name) {
-              if(location == process.env['NIX_STORE']) {
-                  return null;
-              } else {
-                  var dependencyPackageJSON = path.join(location, "node_modules", name, "package.json");
-
-                  if(fs.existsSync(dependencyPackageJSON)) {
-                      var dependencyPackageObj = JSON.parse(fs.readFileSync(dependencyPackageJSON));
-
-                      if(dependencyPackageObj.name == name) {
-                          return dependencyPackageObj.version;
-                      }
-                  } else {
-                      return resolveDependencyVersion(path.resolve(location, ".."), name);
-                  }
-              }
-          }
-
-          function replaceDependencies(dependencies) {
-              if(typeof dependencies == "object" && dependencies !== null) {
-                  for(var dependency in dependencies) {
-                      var resolvedVersion = resolveDependencyVersion(process.cwd(), dependency);
-
-                      if(resolvedVersion === null) {
-                          process.stderr.write("WARNING: cannot pinpoint dependency: "+dependency+", context: "+process.cwd()+"\n");
-                      } else {
-                          dependencies[dependency] = resolvedVersion;
-                      }
-                  }
-              }
-          }
-
-          /* Read the package.json configuration */
-          var packageObj = JSON.parse(fs.readFileSync('./package.json'));
-
-          /* Pinpoint all dependencies */
-          replaceDependencies(packageObj.dependencies);
-          if(process.argv[2] == "development") {
-              replaceDependencies(packageObj.devDependencies);
-          }
-          else {
-              packageObj.devDependencies = {};
-          }
-          replaceDependencies(packageObj.optionalDependencies);
-          replaceDependencies(packageObj.peerDependencies);
-
-          /* Write the fixed package.json file */
-          fs.writeFileSync("package.json", JSON.stringify(packageObj, null, 2));
-        '';
-      };
-    in
-    ''
-      node ${pinpointDependenciesFromPackageJSON} ${if production then "production" else "development"}
-
-      ${lib.optionalString (dependencies != [])
-        ''
-          if [ -d node_modules ]
-          then
-              cd node_modules
-              ${lib.concatMapStrings (dependency: pinpointDependenciesOfPackage dependency) dependencies}
-              cd ..
-          fi
-        ''}
-    '';
-
-  # Recursively traverses all dependencies of a package and pinpoints all
-  # dependencies in the package.json file to the versions that are actually
-  # being used.
-
-  pinpointDependenciesOfPackage = { packageName, dependencies ? [], production ? true, ... }@args:
-    ''
-      if [ -d "${packageName}" ]
-      then
-          cd "${packageName}"
-          ${pinpointDependencies { inherit dependencies production; }}
-          cd ..
-          ${lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."}
-      fi
-    '';
-
-  # Extract the Node.js source code which is used to compile packages with
-  # native bindings
-  nodeSources = runCommand "node-sources" {} ''
-    tar --no-same-owner --no-same-permissions -xf ${nodejs.src}
-    mv node-* $out
-  '';
-
-  # Script that adds _integrity fields to all package.json files to prevent NPM from consulting the cache (that is empty)
-  addIntegrityFieldsScript = writeTextFile {
-    name = "addintegrityfields.js";
-    text = ''
-      var fs = require('fs');
-      var path = require('path');
-
-      function augmentDependencies(baseDir, dependencies) {
-          for(var dependencyName in dependencies) {
-              var dependency = dependencies[dependencyName];
-
-              // Open package.json and augment metadata fields
-              var packageJSONDir = path.join(baseDir, "node_modules", dependencyName);
-              var packageJSONPath = path.join(packageJSONDir, "package.json");
-
-              if(fs.existsSync(packageJSONPath)) { // Only augment packages that exist. Sometimes we may have production installs in which development dependencies can be ignored
-                  console.log("Adding metadata fields to: "+packageJSONPath);
-                  var packageObj = JSON.parse(fs.readFileSync(packageJSONPath));
-
-                  if(dependency.integrity) {
-                      packageObj["_integrity"] = dependency.integrity;
-                  } else {
-                      packageObj["_integrity"] = "sha1-000000000000000000000000000="; // When no _integrity string has been provided (e.g. by Git dependencies), add a dummy one. It does not seem to harm and it bypasses downloads.
-                  }
-
-                  if(dependency.resolved) {
-                      packageObj["_resolved"] = dependency.resolved; // Adopt the resolved property if one has been provided
-                  } else {
-                      packageObj["_resolved"] = dependency.version; // Set the resolved version to the version identifier. This prevents NPM from cloning Git repositories.
-                  }
-
-                  if(dependency.from !== undefined) { // Adopt from property if one has been provided
-                      packageObj["_from"] = dependency.from;
-                  }
-
-                  fs.writeFileSync(packageJSONPath, JSON.stringify(packageObj, null, 2));
-              }
-
-              // Augment transitive dependencies
-              if(dependency.dependencies !== undefined) {
-                  augmentDependencies(packageJSONDir, dependency.dependencies);
-              }
-          }
-      }
-
-      if(fs.existsSync("./package-lock.json")) {
-          var packageLock = JSON.parse(fs.readFileSync("./package-lock.json"));
-
-          if(![1, 2].includes(packageLock.lockfileVersion)) {
-            process.stderr.write("Sorry, I only understand lock file versions 1 and 2!\n");
-            process.exit(1);
-          }
-
-          if(packageLock.dependencies !== undefined) {
-              augmentDependencies(".", packageLock.dependencies);
-          }
-      }
-    '';
-  };
-
-  # Reconstructs a package-lock file from the node_modules/ folder structure and package.json files with dummy sha1 hashes
-  reconstructPackageLock = writeTextFile {
-    name = "reconstructpackagelock.js";
-    text = ''
-      var fs = require('fs');
-      var path = require('path');
-
-      var packageObj = JSON.parse(fs.readFileSync("package.json"));
-
-      var lockObj = {
-          name: packageObj.name,
-          version: packageObj.version,
-          lockfileVersion: 2,
-          requires: true,
-          packages: {
-              "": {
-                  name: packageObj.name,
-                  version: packageObj.version,
-                  license: packageObj.license,
-                  bin: packageObj.bin,
-                  dependencies: packageObj.dependencies,
-                  engines: packageObj.engines,
-                  optionalDependencies: packageObj.optionalDependencies
-              }
-          },
-          dependencies: {}
-      };
-
-      function augmentPackageJSON(filePath, packages, dependencies) {
-          var packageJSON = path.join(filePath, "package.json");
-          if(fs.existsSync(packageJSON)) {
-              var packageObj = JSON.parse(fs.readFileSync(packageJSON));
-              packages[filePath] = {
-                  version: packageObj.version,
-                  integrity: "sha1-000000000000000000000000000=",
-                  dependencies: packageObj.dependencies,
-                  engines: packageObj.engines,
-                  optionalDependencies: packageObj.optionalDependencies
-              };
-              dependencies[packageObj.name] = {
-                  version: packageObj.version,
-                  integrity: "sha1-000000000000000000000000000=",
-                  dependencies: {}
-              };
-              processDependencies(path.join(filePath, "node_modules"), packages, dependencies[packageObj.name].dependencies);
-          }
-      }
-
-      function processDependencies(dir, packages, dependencies) {
-          if(fs.existsSync(dir)) {
-              var files = fs.readdirSync(dir);
-
-              files.forEach(function(entry) {
-                  var filePath = path.join(dir, entry);
-                  var stats = fs.statSync(filePath);
-
-                  if(stats.isDirectory()) {
-                      if(entry.substr(0, 1) == "@") {
-                          // When we encounter a namespace folder, augment all packages belonging to the scope
-                          var pkgFiles = fs.readdirSync(filePath);
-
-                          pkgFiles.forEach(function(entry) {
-                              if(stats.isDirectory()) {
-                                  var pkgFilePath = path.join(filePath, entry);
-                                  augmentPackageJSON(pkgFilePath, packages, dependencies);
-                              }
-                          });
-                      } else {
-                          augmentPackageJSON(filePath, packages, dependencies);
-                      }
-                  }
-              });
-          }
-      }
-
-      processDependencies("node_modules", lockObj.packages, lockObj.dependencies);
-
-      fs.writeFileSync("package-lock.json", JSON.stringify(lockObj, null, 2));
-    '';
-  };
-
-  # Script that links bins defined in package.json to the node_modules bin directory
-  # NPM does not do this for top-level packages itself anymore as of v7
-  linkBinsScript = writeTextFile {
-    name = "linkbins.js";
-    text = ''
-      var fs = require('fs');
-      var path = require('path');
-
-      var packageObj = JSON.parse(fs.readFileSync("package.json"));
-
-      var nodeModules = Array(packageObj.name.split("/").length).fill("..").join(path.sep);
-
-      if(packageObj.bin !== undefined) {
-          fs.mkdirSync(path.join(nodeModules, ".bin"))
-
-          if(typeof packageObj.bin == "object") {
-              Object.keys(packageObj.bin).forEach(function(exe) {
-                  if(fs.existsSync(packageObj.bin[exe])) {
-                      console.log("linking bin '" + exe + "'");
-                      fs.symlinkSync(
-                          path.join("..", packageObj.name, packageObj.bin[exe]),
-                          path.join(nodeModules, ".bin", exe)
-                      );
-                  }
-                  else {
-                      console.log("skipping non-existent bin '" + exe + "'");
-                  }
-              })
-          }
-          else {
-              if(fs.existsSync(packageObj.bin)) {
-                  console.log("linking bin '" + packageObj.bin + "'");
-                  fs.symlinkSync(
-                      path.join("..", packageObj.name, packageObj.bin),
-                      path.join(nodeModules, ".bin", packageObj.name.split("/").pop())
-                  );
-              }
-              else {
-                  console.log("skipping non-existent bin '" + packageObj.bin + "'");
-              }
-          }
-      }
-      else if(packageObj.directories !== undefined && packageObj.directories.bin !== undefined) {
-          fs.mkdirSync(path.join(nodeModules, ".bin"))
-
-          fs.readdirSync(packageObj.directories.bin).forEach(function(exe) {
-              if(fs.existsSync(path.join(packageObj.directories.bin, exe))) {
-                  console.log("linking bin '" + exe + "'");
-                  fs.symlinkSync(
-                      path.join("..", packageObj.name, packageObj.directories.bin, exe),
-                      path.join(nodeModules, ".bin", exe)
-                  );
-              }
-              else {
-                  console.log("skipping non-existent bin '" + exe + "'");
-              }
-          })
-      }
-    '';
-  };
-
-  prepareAndInvokeNPM = {packageName, bypassCache, reconstructLock, npmFlags, production}:
-    let
-      forceOfflineFlag = if bypassCache then "--offline" else "--registry http://www.example.com";
-    in
-    ''
-        # Pinpoint the versions of all dependencies to the ones that are actually being used
-        echo "pinpointing versions of dependencies..."
-        source $pinpointDependenciesScriptPath
-
-        # Patch the shebangs of the bundled modules to prevent them from
-        # calling executables outside the Nix store as much as possible
-        patchShebangs .
-
-        # Deploy the Node.js package by running npm install. Since the
-        # dependencies have been provided already by ourselves, it should not
-        # attempt to install them again, which is good, because we want to make
-        # it Nix's responsibility. If it needs to install any dependencies
-        # anyway (e.g. because the dependency parameters are
-        # incomplete/incorrect), it fails.
-        #
-        # The other responsibilities of NPM are kept -- version checks, build
-        # steps, postprocessing etc.
-
-        export HOME=$TMPDIR
-        cd "${packageName}"
-        runHook preRebuild
-
-        ${lib.optionalString bypassCache ''
-          ${lib.optionalString reconstructLock ''
-            if [ -f package-lock.json ]
-            then
-                echo "WARNING: Reconstruct lock option enabled, but a lock file already exists!"
-                echo "This will most likely result in version mismatches! We will remove the lock file and regenerate it!"
-                rm package-lock.json
-            else
-                echo "No package-lock.json file found, reconstructing..."
-            fi
-
-            node ${reconstructPackageLock}
-          ''}
-
-          node ${addIntegrityFieldsScript}
-        ''}
-
-        npm ${forceOfflineFlag} --nodedir=${nodeSources} ${npmFlags} ${lib.optionalString production "--production"} rebuild
-
-        runHook postRebuild
-
-        if [ "''${dontNpmInstall-}" != "1" ]
-        then
-            # NPM tries to download packages even when they already exist if npm-shrinkwrap is used.
-            rm -f npm-shrinkwrap.json
-
-            npm ${forceOfflineFlag} --nodedir=${nodeSources} --no-bin-links --ignore-scripts ${npmFlags} ${lib.optionalString production "--production"} install
-        fi
-
-        # Link executables defined in package.json
-        node ${linkBinsScript}
-    '';
-
-  # Builds and composes an NPM package including all its dependencies
-  buildNodePackage =
-    { name
-    , packageName
-    , version ? null
-    , dependencies ? []
-    , buildInputs ? []
-    , production ? true
-    , npmFlags ? ""
-    , dontNpmInstall ? false
-    , bypassCache ? false
-    , reconstructLock ? false
-    , preRebuild ? ""
-    , dontStrip ? true
-    , unpackPhase ? "true"
-    , buildPhase ? "true"
-    , meta ? {}
-    , ... }@args:
-
-    let
-      extraArgs = removeAttrs args [ "name" "dependencies" "buildInputs" "dontStrip" "dontNpmInstall" "preRebuild" "unpackPhase" "buildPhase" "meta" ];
-    in
-    stdenv.mkDerivation ({
-      name = "${name}${if version == null then "" else "-${version}"}";
-      buildInputs = [ tarWrapper python nodejs ]
-        ++ lib.optional (stdenv.isLinux) utillinux
-        ++ lib.optional (stdenv.isDarwin) libtool
-        ++ buildInputs;
-
-      inherit nodejs;
-
-      inherit dontStrip; # Stripping may fail a build for some package deployments
-      inherit dontNpmInstall preRebuild unpackPhase buildPhase;
-
-      compositionScript = composePackage args;
-      pinpointDependenciesScript = pinpointDependenciesOfPackage args;
-
-      passAsFile = [ "compositionScript" "pinpointDependenciesScript" ];
-
-      installPhase = ''
-        source ${installPackage}
-
-        # Create and enter a root node_modules/ folder
-        mkdir -p $out/lib/node_modules
-        cd $out/lib/node_modules
-
-        # Compose the package and all its dependencies
-        source $compositionScriptPath
-
-        ${prepareAndInvokeNPM { inherit packageName bypassCache reconstructLock npmFlags production; }}
-
-        # Create symlink to the deployed executable folder, if applicable
-        if [ -d "$out/lib/node_modules/.bin" ]
-        then
-            ln -s $out/lib/node_modules/.bin $out/bin
-
-            # Patch the shebang lines of all the executables
-            ls $out/bin/* | while read i
-            do
-                file="$(readlink -f "$i")"
-                chmod u+rwx "$file"
-                patchShebangs "$file"
-            done
-        fi
-
-        # Create symlinks to the deployed manual page folders, if applicable
-        if [ -d "$out/lib/node_modules/${packageName}/man" ]
-        then
-            mkdir -p $out/share
-            for dir in "$out/lib/node_modules/${packageName}/man/"*
-            do
-                mkdir -p $out/share/man/$(basename "$dir")
-                for page in "$dir"/*
-                do
-                    ln -s $page $out/share/man/$(basename "$dir")
-                done
-            done
-        fi
-
-        # Run post install hook, if provided
-        runHook postInstall
-      '';
-
-      meta = {
-        # default to Node.js' platforms
-        platforms = nodejs.meta.platforms;
-      } // meta;
-    } // extraArgs);
-
-  # Builds a node environment (a node_modules folder and a set of binaries)
-  buildNodeDependencies =
-    { name
-    , packageName
-    , version ? null
-    , src
-    , dependencies ? []
-    , buildInputs ? []
-    , production ? true
-    , npmFlags ? ""
-    , dontNpmInstall ? false
-    , bypassCache ? false
-    , reconstructLock ? false
-    , dontStrip ? true
-    , unpackPhase ? "true"
-    , buildPhase ? "true"
-    , ... }@args:
-
-    let
-      extraArgs = removeAttrs args [ "name" "dependencies" "buildInputs" ];
-    in
-      stdenv.mkDerivation ({
-        name = "node-dependencies-${name}${if version == null then "" else "-${version}"}";
-
-        buildInputs = [ tarWrapper python nodejs ]
-          ++ lib.optional (stdenv.isLinux) utillinux
-          ++ lib.optional (stdenv.isDarwin) libtool
-          ++ buildInputs;
-
-        inherit dontStrip; # Stripping may fail a build for some package deployments
-        inherit dontNpmInstall unpackPhase buildPhase;
-
-        includeScript = includeDependencies { inherit dependencies; };
-        pinpointDependenciesScript = pinpointDependenciesOfPackage args;
-
-        passAsFile = [ "includeScript" "pinpointDependenciesScript" ];
-
-        installPhase = ''
-          source ${installPackage}
-
-          mkdir -p $out/${packageName}
-          cd $out/${packageName}
-
-          source $includeScriptPath
-
-          # Create fake package.json to make the npm commands work properly
-          cp ${src}/package.json .
-          chmod 644 package.json
-          ${lib.optionalString bypassCache ''
-            if [ -f ${src}/package-lock.json ]
-            then
-                cp ${src}/package-lock.json .
-                chmod 644 package-lock.json
-            fi
-          ''}
-
-          # Go to the parent folder to make sure that all packages are pinpointed
-          cd ..
-          ${lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."}
-
-          ${prepareAndInvokeNPM { inherit packageName bypassCache reconstructLock npmFlags production; }}
-
-          # Expose the executables that were installed
-          cd ..
-          ${lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."}
-
-          mv ${packageName} lib
-          ln -s $out/lib/node_modules/.bin $out/bin
-        '';
-      } // extraArgs);
-
-  # Builds a development shell
-  buildNodeShell =
-    { name
-    , packageName
-    , version ? null
-    , src
-    , dependencies ? []
-    , buildInputs ? []
-    , production ? true
-    , npmFlags ? ""
-    , dontNpmInstall ? false
-    , bypassCache ? false
-    , reconstructLock ? false
-    , dontStrip ? true
-    , unpackPhase ? "true"
-    , buildPhase ? "true"
-    , ... }@args:
-
-    let
-      nodeDependencies = buildNodeDependencies args;
-      extraArgs = removeAttrs args [ "name" "dependencies" "buildInputs" "dontStrip" "dontNpmInstall" "unpackPhase" "buildPhase" ];
-    in
-    stdenv.mkDerivation ({
-      name = "node-shell-${name}${if version == null then "" else "-${version}"}";
-
-      buildInputs = [ python nodejs ] ++ lib.optional (stdenv.isLinux) utillinux ++ buildInputs;
-      buildCommand = ''
-        mkdir -p $out/bin
-        cat > $out/bin/shell <<EOF
-        #! ${stdenv.shell} -e
-        $shellHook
-        exec ${stdenv.shell}
-        EOF
-        chmod +x $out/bin/shell
-      '';
-
-      # Provide the dependencies in a development shell through the NODE_PATH environment variable
-      inherit nodeDependencies;
-      shellHook = lib.optionalString (dependencies != []) ''
-        export NODE_PATH=${nodeDependencies}/lib/node_modules
-        export PATH="${nodeDependencies}/bin:$PATH"
-      '';
-    } // extraArgs);
-in
-{
-  buildNodeSourceDist = lib.makeOverridable buildNodeSourceDist;
-  buildNodePackage = lib.makeOverridable buildNodePackage;
-  buildNodeDependencies = lib.makeOverridable buildNodeDependencies;
-  buildNodeShell = lib.makeOverridable buildNodeShell;
-}
diff --git a/pkgs/servers/monitoring/karma/node-packages.nix b/pkgs/servers/monitoring/karma/node-packages.nix
deleted file mode 100644
index b39a50d2980fa..0000000000000
--- a/pkgs/servers/monitoring/karma/node-packages.nix
+++ /dev/null
@@ -1,21059 +0,0 @@
-# This file has been generated by node2nix 1.11.1. Do not edit!
-
-{nodeEnv, fetchurl, fetchgit, nix-gitignore, stdenv, lib, globalBuildInputs ? []}:
-
-let
-  sources = {
-    "@adobe/css-tools-4.0.1" = {
-      name = "_at_adobe_slash_css-tools";
-      packageName = "@adobe/css-tools";
-      version = "4.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.0.1.tgz";
-        sha512 = "+u76oB43nOHrF4DDWRLWDCtci7f3QJoEBigemIdIeTi1ODqjx6Tad9NCVnPRwewWlKkVab5PlK8DCtPTyX7S8g==";
-      };
-    };
-    "@ampproject/remapping-2.2.0" = {
-      name = "_at_ampproject_slash_remapping";
-      packageName = "@ampproject/remapping";
-      version = "2.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz";
-        sha512 = "qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==";
-      };
-    };
-    "@apideck/better-ajv-errors-0.3.6" = {
-      name = "_at_apideck_slash_better-ajv-errors";
-      packageName = "@apideck/better-ajv-errors";
-      version = "0.3.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@apideck/better-ajv-errors/-/better-ajv-errors-0.3.6.tgz";
-        sha512 = "P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA==";
-      };
-    };
-    "@babel/code-frame-7.18.6" = {
-      name = "_at_babel_slash_code-frame";
-      packageName = "@babel/code-frame";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz";
-        sha512 = "TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==";
-      };
-    };
-    "@babel/compat-data-7.18.13" = {
-      name = "_at_babel_slash_compat-data";
-      packageName = "@babel/compat-data";
-      version = "7.18.13";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.18.13.tgz";
-        sha512 = "5yUzC5LqyTFp2HLmDoxGQelcdYgSpP9xsnMWBphAscOdFrHSAVbLNzWiy32sVNDqJRDiJK6klfDnAgu6PAGSHw==";
-      };
-    };
-    "@babel/core-7.12.9" = {
-      name = "_at_babel_slash_core";
-      packageName = "@babel/core";
-      version = "7.12.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/core/-/core-7.12.9.tgz";
-        sha512 = "gTXYh3M5wb7FRXQy+FErKFAv90BnlOuNn1QkCK2lREoPAjrQCO49+HVSrFoe5uakFAF5eenS75KbO2vQiLrTMQ==";
-      };
-    };
-    "@babel/core-7.18.13" = {
-      name = "_at_babel_slash_core";
-      packageName = "@babel/core";
-      version = "7.18.13";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/core/-/core-7.18.13.tgz";
-        sha512 = "ZisbOvRRusFktksHSG6pjj1CSvkPkcZq/KHD45LAkVP/oiHJkNBZWfpvlLmX8OtHDG8IuzsFlVRWo08w7Qxn0A==";
-      };
-    };
-    "@babel/eslint-parser-7.18.9" = {
-      name = "_at_babel_slash_eslint-parser";
-      packageName = "@babel/eslint-parser";
-      version = "7.18.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.18.9.tgz";
-        sha512 = "KzSGpMBggz4fKbRbWLNyPVTuQr6cmCcBhOyXTw/fieOVaw5oYAwcAj4a7UKcDYCPxQq+CG1NCDZH9e2JTXquiQ==";
-      };
-    };
-    "@babel/generator-7.18.13" = {
-      name = "_at_babel_slash_generator";
-      packageName = "@babel/generator";
-      version = "7.18.13";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/generator/-/generator-7.18.13.tgz";
-        sha512 = "CkPg8ySSPuHTYPJYo7IRALdqyjM9HCbt/3uOBEFbzyGVP6Mn8bwFPB0jX6982JVNBlYzM1nnPkfjuXSOPtQeEQ==";
-      };
-    };
-    "@babel/helper-annotate-as-pure-7.18.6" = {
-      name = "_at_babel_slash_helper-annotate-as-pure";
-      packageName = "@babel/helper-annotate-as-pure";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz";
-        sha512 = "duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==";
-      };
-    };
-    "@babel/helper-builder-binary-assignment-operator-visitor-7.18.9" = {
-      name = "_at_babel_slash_helper-builder-binary-assignment-operator-visitor";
-      packageName = "@babel/helper-builder-binary-assignment-operator-visitor";
-      version = "7.18.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz";
-        sha512 = "yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==";
-      };
-    };
-    "@babel/helper-compilation-targets-7.18.9" = {
-      name = "_at_babel_slash_helper-compilation-targets";
-      packageName = "@babel/helper-compilation-targets";
-      version = "7.18.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.9.tgz";
-        sha512 = "tzLCyVmqUiFlcFoAPLA/gL9TeYrF61VLNtb+hvkuVaB5SUjW7jcfrglBIX1vUIoT7CLP3bBlIMeyEsIl2eFQNg==";
-      };
-    };
-    "@babel/helper-create-class-features-plugin-7.18.13" = {
-      name = "_at_babel_slash_helper-create-class-features-plugin";
-      packageName = "@babel/helper-create-class-features-plugin";
-      version = "7.18.13";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.18.13.tgz";
-        sha512 = "hDvXp+QYxSRL+23mpAlSGxHMDyIGChm0/AwTfTAAK5Ufe40nCsyNdaYCGuK91phn/fVu9kqayImRDkvNAgdrsA==";
-      };
-    };
-    "@babel/helper-create-regexp-features-plugin-7.18.6" = {
-      name = "_at_babel_slash_helper-create-regexp-features-plugin";
-      packageName = "@babel/helper-create-regexp-features-plugin";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.18.6.tgz";
-        sha512 = "7LcpH1wnQLGrI+4v+nPp+zUvIkF9x0ddv1Hkdue10tg3gmRnLy97DXh4STiOf1qeIInyD69Qv5kKSZzKD8B/7A==";
-      };
-    };
-    "@babel/helper-define-polyfill-provider-0.1.5" = {
-      name = "_at_babel_slash_helper-define-polyfill-provider";
-      packageName = "@babel/helper-define-polyfill-provider";
-      version = "0.1.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.1.5.tgz";
-        sha512 = "nXuzCSwlJ/WKr8qxzW816gwyT6VZgiJG17zR40fou70yfAcqjoNyTLl/DQ+FExw5Hx5KNqshmN8Ldl/r2N7cTg==";
-      };
-    };
-    "@babel/helper-define-polyfill-provider-0.3.2" = {
-      name = "_at_babel_slash_helper-define-polyfill-provider";
-      packageName = "@babel/helper-define-polyfill-provider";
-      version = "0.3.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.2.tgz";
-        sha512 = "r9QJJ+uDWrd+94BSPcP6/de67ygLtvVy6cK4luE6MOuDsZIdoaPBnfSpbO/+LTifjPckbKXRuI9BB/Z2/y3iTg==";
-      };
-    };
-    "@babel/helper-environment-visitor-7.18.9" = {
-      name = "_at_babel_slash_helper-environment-visitor";
-      packageName = "@babel/helper-environment-visitor";
-      version = "7.18.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz";
-        sha512 = "3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==";
-      };
-    };
-    "@babel/helper-explode-assignable-expression-7.18.6" = {
-      name = "_at_babel_slash_helper-explode-assignable-expression";
-      packageName = "@babel/helper-explode-assignable-expression";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz";
-        sha512 = "eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==";
-      };
-    };
-    "@babel/helper-function-name-7.18.9" = {
-      name = "_at_babel_slash_helper-function-name";
-      packageName = "@babel/helper-function-name";
-      version = "7.18.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.18.9.tgz";
-        sha512 = "fJgWlZt7nxGksJS9a0XdSaI4XvpExnNIgRP+rVefWh5U7BL8pPuir6SJUmFKRfjWQ51OtWSzwOxhaH/EBWWc0A==";
-      };
-    };
-    "@babel/helper-hoist-variables-7.18.6" = {
-      name = "_at_babel_slash_helper-hoist-variables";
-      packageName = "@babel/helper-hoist-variables";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz";
-        sha512 = "UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==";
-      };
-    };
-    "@babel/helper-member-expression-to-functions-7.18.9" = {
-      name = "_at_babel_slash_helper-member-expression-to-functions";
-      packageName = "@babel/helper-member-expression-to-functions";
-      version = "7.18.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz";
-        sha512 = "RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg==";
-      };
-    };
-    "@babel/helper-module-imports-7.18.6" = {
-      name = "_at_babel_slash_helper-module-imports";
-      packageName = "@babel/helper-module-imports";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz";
-        sha512 = "0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==";
-      };
-    };
-    "@babel/helper-module-transforms-7.18.9" = {
-      name = "_at_babel_slash_helper-module-transforms";
-      packageName = "@babel/helper-module-transforms";
-      version = "7.18.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.18.9.tgz";
-        sha512 = "KYNqY0ICwfv19b31XzvmI/mfcylOzbLtowkw+mfvGPAQ3kfCnMLYbED3YecL5tPd8nAYFQFAd6JHp2LxZk/J1g==";
-      };
-    };
-    "@babel/helper-optimise-call-expression-7.18.6" = {
-      name = "_at_babel_slash_helper-optimise-call-expression";
-      packageName = "@babel/helper-optimise-call-expression";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz";
-        sha512 = "HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==";
-      };
-    };
-    "@babel/helper-plugin-utils-7.10.4" = {
-      name = "_at_babel_slash_helper-plugin-utils";
-      packageName = "@babel/helper-plugin-utils";
-      version = "7.10.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz";
-        sha512 = "O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==";
-      };
-    };
-    "@babel/helper-plugin-utils-7.18.9" = {
-      name = "_at_babel_slash_helper-plugin-utils";
-      packageName = "@babel/helper-plugin-utils";
-      version = "7.18.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.18.9.tgz";
-        sha512 = "aBXPT3bmtLryXaoJLyYPXPlSD4p1ld9aYeR+sJNOZjJJGiOpb+fKfh3NkcCu7J54nUJwCERPBExCCpyCOHnu/w==";
-      };
-    };
-    "@babel/helper-remap-async-to-generator-7.18.9" = {
-      name = "_at_babel_slash_helper-remap-async-to-generator";
-      packageName = "@babel/helper-remap-async-to-generator";
-      version = "7.18.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz";
-        sha512 = "dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==";
-      };
-    };
-    "@babel/helper-replace-supers-7.18.9" = {
-      name = "_at_babel_slash_helper-replace-supers";
-      packageName = "@babel/helper-replace-supers";
-      version = "7.18.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.18.9.tgz";
-        sha512 = "dNsWibVI4lNT6HiuOIBr1oyxo40HvIVmbwPUm3XZ7wMh4k2WxrxTqZwSqw/eEmXDS9np0ey5M2bz9tBmO9c+YQ==";
-      };
-    };
-    "@babel/helper-simple-access-7.18.6" = {
-      name = "_at_babel_slash_helper-simple-access";
-      packageName = "@babel/helper-simple-access";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz";
-        sha512 = "iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==";
-      };
-    };
-    "@babel/helper-skip-transparent-expression-wrappers-7.18.9" = {
-      name = "_at_babel_slash_helper-skip-transparent-expression-wrappers";
-      packageName = "@babel/helper-skip-transparent-expression-wrappers";
-      version = "7.18.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.18.9.tgz";
-        sha512 = "imytd2gHi3cJPsybLRbmFrF7u5BIEuI2cNheyKi3/iOBC63kNn3q8Crn2xVuESli0aM4KYsyEqKyS7lFL8YVtw==";
-      };
-    };
-    "@babel/helper-split-export-declaration-7.18.6" = {
-      name = "_at_babel_slash_helper-split-export-declaration";
-      packageName = "@babel/helper-split-export-declaration";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz";
-        sha512 = "bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==";
-      };
-    };
-    "@babel/helper-string-parser-7.18.10" = {
-      name = "_at_babel_slash_helper-string-parser";
-      packageName = "@babel/helper-string-parser";
-      version = "7.18.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz";
-        sha512 = "XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==";
-      };
-    };
-    "@babel/helper-validator-identifier-7.18.6" = {
-      name = "_at_babel_slash_helper-validator-identifier";
-      packageName = "@babel/helper-validator-identifier";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz";
-        sha512 = "MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==";
-      };
-    };
-    "@babel/helper-validator-option-7.18.6" = {
-      name = "_at_babel_slash_helper-validator-option";
-      packageName = "@babel/helper-validator-option";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz";
-        sha512 = "XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==";
-      };
-    };
-    "@babel/helper-wrap-function-7.18.11" = {
-      name = "_at_babel_slash_helper-wrap-function";
-      packageName = "@babel/helper-wrap-function";
-      version = "7.18.11";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.18.11.tgz";
-        sha512 = "oBUlbv+rjZLh2Ks9SKi4aL7eKaAXBWleHzU89mP0G6BMUlRxSckk9tSIkgDGydhgFxHuGSlBQZfnaD47oBEB7w==";
-      };
-    };
-    "@babel/helpers-7.18.9" = {
-      name = "_at_babel_slash_helpers";
-      packageName = "@babel/helpers";
-      version = "7.18.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helpers/-/helpers-7.18.9.tgz";
-        sha512 = "Jf5a+rbrLoR4eNdUmnFu8cN5eNJT6qdTdOg5IHIzq87WwyRw9PwguLFOWYgktN/60IP4fgDUawJvs7PjQIzELQ==";
-      };
-    };
-    "@babel/highlight-7.18.6" = {
-      name = "_at_babel_slash_highlight";
-      packageName = "@babel/highlight";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz";
-        sha512 = "u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==";
-      };
-    };
-    "@babel/parser-7.18.13" = {
-      name = "_at_babel_slash_parser";
-      packageName = "@babel/parser";
-      version = "7.18.13";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/parser/-/parser-7.18.13.tgz";
-        sha512 = "dgXcIfMuQ0kgzLB2b9tRZs7TTFFaGM2AbtA4fJgUUYukzGH4jwsS7hzQHEGs67jdehpm22vkgKwvbU+aEflgwg==";
-      };
-    };
-    "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6" = {
-      name = "_at_babel_slash_plugin-bugfix-safari-id-destructuring-collision-in-function-expression";
-      packageName = "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz";
-        sha512 = "Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==";
-      };
-    };
-    "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9" = {
-      name = "_at_babel_slash_plugin-bugfix-v8-spread-parameters-in-optional-chaining";
-      packageName = "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining";
-      version = "7.18.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9.tgz";
-        sha512 = "AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg==";
-      };
-    };
-    "@babel/plugin-proposal-async-generator-functions-7.18.10" = {
-      name = "_at_babel_slash_plugin-proposal-async-generator-functions";
-      packageName = "@babel/plugin-proposal-async-generator-functions";
-      version = "7.18.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.18.10.tgz";
-        sha512 = "1mFuY2TOsR1hxbjCo4QL+qlIjV07p4H4EUYw2J/WCqsvFV6V9X9z9YhXbWndc/4fw+hYGlDT7egYxliMp5O6Ew==";
-      };
-    };
-    "@babel/plugin-proposal-class-properties-7.18.6" = {
-      name = "_at_babel_slash_plugin-proposal-class-properties";
-      packageName = "@babel/plugin-proposal-class-properties";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz";
-        sha512 = "cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==";
-      };
-    };
-    "@babel/plugin-proposal-class-static-block-7.18.6" = {
-      name = "_at_babel_slash_plugin-proposal-class-static-block";
-      packageName = "@babel/plugin-proposal-class-static-block";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.6.tgz";
-        sha512 = "+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw==";
-      };
-    };
-    "@babel/plugin-proposal-decorators-7.18.10" = {
-      name = "_at_babel_slash_plugin-proposal-decorators";
-      packageName = "@babel/plugin-proposal-decorators";
-      version = "7.18.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.18.10.tgz";
-        sha512 = "wdGTwWF5QtpTY/gbBtQLAiCnoxfD4qMbN87NYZle1dOZ9Os8Y6zXcKrIaOU8W+TIvFUWVGG9tUgNww3CjXRVVw==";
-      };
-    };
-    "@babel/plugin-proposal-dynamic-import-7.18.6" = {
-      name = "_at_babel_slash_plugin-proposal-dynamic-import";
-      packageName = "@babel/plugin-proposal-dynamic-import";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz";
-        sha512 = "1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==";
-      };
-    };
-    "@babel/plugin-proposal-export-default-from-7.18.10" = {
-      name = "_at_babel_slash_plugin-proposal-export-default-from";
-      packageName = "@babel/plugin-proposal-export-default-from";
-      version = "7.18.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.18.10.tgz";
-        sha512 = "5H2N3R2aQFxkV4PIBUR/i7PUSwgTZjouJKzI8eKswfIjT0PhvzkPn0t0wIS5zn6maQuvtT0t1oHtMUz61LOuow==";
-      };
-    };
-    "@babel/plugin-proposal-export-namespace-from-7.18.9" = {
-      name = "_at_babel_slash_plugin-proposal-export-namespace-from";
-      packageName = "@babel/plugin-proposal-export-namespace-from";
-      version = "7.18.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz";
-        sha512 = "k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==";
-      };
-    };
-    "@babel/plugin-proposal-json-strings-7.18.6" = {
-      name = "_at_babel_slash_plugin-proposal-json-strings";
-      packageName = "@babel/plugin-proposal-json-strings";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz";
-        sha512 = "lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==";
-      };
-    };
-    "@babel/plugin-proposal-logical-assignment-operators-7.18.9" = {
-      name = "_at_babel_slash_plugin-proposal-logical-assignment-operators";
-      packageName = "@babel/plugin-proposal-logical-assignment-operators";
-      version = "7.18.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.18.9.tgz";
-        sha512 = "128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q==";
-      };
-    };
-    "@babel/plugin-proposal-nullish-coalescing-operator-7.18.6" = {
-      name = "_at_babel_slash_plugin-proposal-nullish-coalescing-operator";
-      packageName = "@babel/plugin-proposal-nullish-coalescing-operator";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz";
-        sha512 = "wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==";
-      };
-    };
-    "@babel/plugin-proposal-numeric-separator-7.18.6" = {
-      name = "_at_babel_slash_plugin-proposal-numeric-separator";
-      packageName = "@babel/plugin-proposal-numeric-separator";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz";
-        sha512 = "ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==";
-      };
-    };
-    "@babel/plugin-proposal-object-rest-spread-7.12.1" = {
-      name = "_at_babel_slash_plugin-proposal-object-rest-spread";
-      packageName = "@babel/plugin-proposal-object-rest-spread";
-      version = "7.12.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz";
-        sha512 = "s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA==";
-      };
-    };
-    "@babel/plugin-proposal-object-rest-spread-7.18.9" = {
-      name = "_at_babel_slash_plugin-proposal-object-rest-spread";
-      packageName = "@babel/plugin-proposal-object-rest-spread";
-      version = "7.18.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.18.9.tgz";
-        sha512 = "kDDHQ5rflIeY5xl69CEqGEZ0KY369ehsCIEbTGb4siHG5BE9sga/T0r0OUwyZNLMmZE79E1kbsqAjwFCW4ds6Q==";
-      };
-    };
-    "@babel/plugin-proposal-optional-catch-binding-7.18.6" = {
-      name = "_at_babel_slash_plugin-proposal-optional-catch-binding";
-      packageName = "@babel/plugin-proposal-optional-catch-binding";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz";
-        sha512 = "Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==";
-      };
-    };
-    "@babel/plugin-proposal-optional-chaining-7.18.9" = {
-      name = "_at_babel_slash_plugin-proposal-optional-chaining";
-      packageName = "@babel/plugin-proposal-optional-chaining";
-      version = "7.18.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.9.tgz";
-        sha512 = "v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w==";
-      };
-    };
-    "@babel/plugin-proposal-private-methods-7.18.6" = {
-      name = "_at_babel_slash_plugin-proposal-private-methods";
-      packageName = "@babel/plugin-proposal-private-methods";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz";
-        sha512 = "nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==";
-      };
-    };
-    "@babel/plugin-proposal-private-property-in-object-7.18.6" = {
-      name = "_at_babel_slash_plugin-proposal-private-property-in-object";
-      packageName = "@babel/plugin-proposal-private-property-in-object";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.18.6.tgz";
-        sha512 = "9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw==";
-      };
-    };
-    "@babel/plugin-proposal-unicode-property-regex-7.18.6" = {
-      name = "_at_babel_slash_plugin-proposal-unicode-property-regex";
-      packageName = "@babel/plugin-proposal-unicode-property-regex";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz";
-        sha512 = "2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==";
-      };
-    };
-    "@babel/plugin-syntax-async-generators-7.8.4" = {
-      name = "_at_babel_slash_plugin-syntax-async-generators";
-      packageName = "@babel/plugin-syntax-async-generators";
-      version = "7.8.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz";
-        sha512 = "tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==";
-      };
-    };
-    "@babel/plugin-syntax-bigint-7.8.3" = {
-      name = "_at_babel_slash_plugin-syntax-bigint";
-      packageName = "@babel/plugin-syntax-bigint";
-      version = "7.8.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz";
-        sha512 = "wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==";
-      };
-    };
-    "@babel/plugin-syntax-class-properties-7.12.13" = {
-      name = "_at_babel_slash_plugin-syntax-class-properties";
-      packageName = "@babel/plugin-syntax-class-properties";
-      version = "7.12.13";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz";
-        sha512 = "fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==";
-      };
-    };
-    "@babel/plugin-syntax-class-static-block-7.14.5" = {
-      name = "_at_babel_slash_plugin-syntax-class-static-block";
-      packageName = "@babel/plugin-syntax-class-static-block";
-      version = "7.14.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz";
-        sha512 = "b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==";
-      };
-    };
-    "@babel/plugin-syntax-decorators-7.18.6" = {
-      name = "_at_babel_slash_plugin-syntax-decorators";
-      packageName = "@babel/plugin-syntax-decorators";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.18.6.tgz";
-        sha512 = "fqyLgjcxf/1yhyZ6A+yo1u9gJ7eleFQod2lkaUsF9DQ7sbbY3Ligym3L0+I2c0WmqNKDpoD9UTb1AKP3qRMOAQ==";
-      };
-    };
-    "@babel/plugin-syntax-dynamic-import-7.8.3" = {
-      name = "_at_babel_slash_plugin-syntax-dynamic-import";
-      packageName = "@babel/plugin-syntax-dynamic-import";
-      version = "7.8.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz";
-        sha512 = "5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==";
-      };
-    };
-    "@babel/plugin-syntax-export-default-from-7.18.6" = {
-      name = "_at_babel_slash_plugin-syntax-export-default-from";
-      packageName = "@babel/plugin-syntax-export-default-from";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.18.6.tgz";
-        sha512 = "Kr//z3ujSVNx6E9z9ih5xXXMqK07VVTuqPmqGe6Mss/zW5XPeLZeSDZoP9ab/hT4wPKqAgjl2PnhPrcpk8Seew==";
-      };
-    };
-    "@babel/plugin-syntax-export-namespace-from-7.8.3" = {
-      name = "_at_babel_slash_plugin-syntax-export-namespace-from";
-      packageName = "@babel/plugin-syntax-export-namespace-from";
-      version = "7.8.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz";
-        sha512 = "MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==";
-      };
-    };
-    "@babel/plugin-syntax-flow-7.18.6" = {
-      name = "_at_babel_slash_plugin-syntax-flow";
-      packageName = "@babel/plugin-syntax-flow";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.18.6.tgz";
-        sha512 = "LUbR+KNTBWCUAqRG9ex5Gnzu2IOkt8jRJbHHXFT9q+L9zm7M/QQbEqXyw1n1pohYvOyWC8CjeyjrSaIwiYjK7A==";
-      };
-    };
-    "@babel/plugin-syntax-import-assertions-7.18.6" = {
-      name = "_at_babel_slash_plugin-syntax-import-assertions";
-      packageName = "@babel/plugin-syntax-import-assertions";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.18.6.tgz";
-        sha512 = "/DU3RXad9+bZwrgWJQKbr39gYbJpLJHezqEzRzi/BHRlJ9zsQb4CK2CA/5apllXNomwA1qHwzvHl+AdEmC5krQ==";
-      };
-    };
-    "@babel/plugin-syntax-import-meta-7.10.4" = {
-      name = "_at_babel_slash_plugin-syntax-import-meta";
-      packageName = "@babel/plugin-syntax-import-meta";
-      version = "7.10.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz";
-        sha512 = "Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==";
-      };
-    };
-    "@babel/plugin-syntax-json-strings-7.8.3" = {
-      name = "_at_babel_slash_plugin-syntax-json-strings";
-      packageName = "@babel/plugin-syntax-json-strings";
-      version = "7.8.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz";
-        sha512 = "lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==";
-      };
-    };
-    "@babel/plugin-syntax-jsx-7.12.1" = {
-      name = "_at_babel_slash_plugin-syntax-jsx";
-      packageName = "@babel/plugin-syntax-jsx";
-      version = "7.12.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.1.tgz";
-        sha512 = "1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg==";
-      };
-    };
-    "@babel/plugin-syntax-jsx-7.18.6" = {
-      name = "_at_babel_slash_plugin-syntax-jsx";
-      packageName = "@babel/plugin-syntax-jsx";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz";
-        sha512 = "6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==";
-      };
-    };
-    "@babel/plugin-syntax-logical-assignment-operators-7.10.4" = {
-      name = "_at_babel_slash_plugin-syntax-logical-assignment-operators";
-      packageName = "@babel/plugin-syntax-logical-assignment-operators";
-      version = "7.10.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz";
-        sha512 = "d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==";
-      };
-    };
-    "@babel/plugin-syntax-nullish-coalescing-operator-7.8.3" = {
-      name = "_at_babel_slash_plugin-syntax-nullish-coalescing-operator";
-      packageName = "@babel/plugin-syntax-nullish-coalescing-operator";
-      version = "7.8.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz";
-        sha512 = "aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==";
-      };
-    };
-    "@babel/plugin-syntax-numeric-separator-7.10.4" = {
-      name = "_at_babel_slash_plugin-syntax-numeric-separator";
-      packageName = "@babel/plugin-syntax-numeric-separator";
-      version = "7.10.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz";
-        sha512 = "9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==";
-      };
-    };
-    "@babel/plugin-syntax-object-rest-spread-7.8.3" = {
-      name = "_at_babel_slash_plugin-syntax-object-rest-spread";
-      packageName = "@babel/plugin-syntax-object-rest-spread";
-      version = "7.8.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz";
-        sha512 = "XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==";
-      };
-    };
-    "@babel/plugin-syntax-optional-catch-binding-7.8.3" = {
-      name = "_at_babel_slash_plugin-syntax-optional-catch-binding";
-      packageName = "@babel/plugin-syntax-optional-catch-binding";
-      version = "7.8.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz";
-        sha512 = "6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==";
-      };
-    };
-    "@babel/plugin-syntax-optional-chaining-7.8.3" = {
-      name = "_at_babel_slash_plugin-syntax-optional-chaining";
-      packageName = "@babel/plugin-syntax-optional-chaining";
-      version = "7.8.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz";
-        sha512 = "KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==";
-      };
-    };
-    "@babel/plugin-syntax-private-property-in-object-7.14.5" = {
-      name = "_at_babel_slash_plugin-syntax-private-property-in-object";
-      packageName = "@babel/plugin-syntax-private-property-in-object";
-      version = "7.14.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz";
-        sha512 = "0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==";
-      };
-    };
-    "@babel/plugin-syntax-top-level-await-7.14.5" = {
-      name = "_at_babel_slash_plugin-syntax-top-level-await";
-      packageName = "@babel/plugin-syntax-top-level-await";
-      version = "7.14.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz";
-        sha512 = "hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==";
-      };
-    };
-    "@babel/plugin-syntax-typescript-7.18.6" = {
-      name = "_at_babel_slash_plugin-syntax-typescript";
-      packageName = "@babel/plugin-syntax-typescript";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.18.6.tgz";
-        sha512 = "mAWAuq4rvOepWCBid55JuRNvpTNf2UGVgoz4JV0fXEKolsVZDzsa4NqCef758WZJj/GDu0gVGItjKFiClTAmZA==";
-      };
-    };
-    "@babel/plugin-transform-arrow-functions-7.18.6" = {
-      name = "_at_babel_slash_plugin-transform-arrow-functions";
-      packageName = "@babel/plugin-transform-arrow-functions";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.18.6.tgz";
-        sha512 = "9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ==";
-      };
-    };
-    "@babel/plugin-transform-async-to-generator-7.18.6" = {
-      name = "_at_babel_slash_plugin-transform-async-to-generator";
-      packageName = "@babel/plugin-transform-async-to-generator";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.18.6.tgz";
-        sha512 = "ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag==";
-      };
-    };
-    "@babel/plugin-transform-block-scoped-functions-7.18.6" = {
-      name = "_at_babel_slash_plugin-transform-block-scoped-functions";
-      packageName = "@babel/plugin-transform-block-scoped-functions";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz";
-        sha512 = "ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==";
-      };
-    };
-    "@babel/plugin-transform-block-scoping-7.18.9" = {
-      name = "_at_babel_slash_plugin-transform-block-scoping";
-      packageName = "@babel/plugin-transform-block-scoping";
-      version = "7.18.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.18.9.tgz";
-        sha512 = "5sDIJRV1KtQVEbt/EIBwGy4T01uYIo4KRB3VUqzkhrAIOGx7AoctL9+Ux88btY0zXdDyPJ9mW+bg+v+XEkGmtw==";
-      };
-    };
-    "@babel/plugin-transform-classes-7.18.9" = {
-      name = "_at_babel_slash_plugin-transform-classes";
-      packageName = "@babel/plugin-transform-classes";
-      version = "7.18.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.18.9.tgz";
-        sha512 = "EkRQxsxoytpTlKJmSPYrsOMjCILacAjtSVkd4gChEe2kXjFCun3yohhW5I7plXJhCemM0gKsaGMcO8tinvCA5g==";
-      };
-    };
-    "@babel/plugin-transform-computed-properties-7.18.9" = {
-      name = "_at_babel_slash_plugin-transform-computed-properties";
-      packageName = "@babel/plugin-transform-computed-properties";
-      version = "7.18.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.9.tgz";
-        sha512 = "+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw==";
-      };
-    };
-    "@babel/plugin-transform-destructuring-7.18.13" = {
-      name = "_at_babel_slash_plugin-transform-destructuring";
-      packageName = "@babel/plugin-transform-destructuring";
-      version = "7.18.13";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.13.tgz";
-        sha512 = "TodpQ29XekIsex2A+YJPj5ax2plkGa8YYY6mFjCohk/IG9IY42Rtuj1FuDeemfg2ipxIFLzPeA83SIBnlhSIow==";
-      };
-    };
-    "@babel/plugin-transform-dotall-regex-7.18.6" = {
-      name = "_at_babel_slash_plugin-transform-dotall-regex";
-      packageName = "@babel/plugin-transform-dotall-regex";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz";
-        sha512 = "6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==";
-      };
-    };
-    "@babel/plugin-transform-duplicate-keys-7.18.9" = {
-      name = "_at_babel_slash_plugin-transform-duplicate-keys";
-      packageName = "@babel/plugin-transform-duplicate-keys";
-      version = "7.18.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz";
-        sha512 = "d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==";
-      };
-    };
-    "@babel/plugin-transform-exponentiation-operator-7.18.6" = {
-      name = "_at_babel_slash_plugin-transform-exponentiation-operator";
-      packageName = "@babel/plugin-transform-exponentiation-operator";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz";
-        sha512 = "wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==";
-      };
-    };
-    "@babel/plugin-transform-flow-strip-types-7.18.9" = {
-      name = "_at_babel_slash_plugin-transform-flow-strip-types";
-      packageName = "@babel/plugin-transform-flow-strip-types";
-      version = "7.18.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.18.9.tgz";
-        sha512 = "+G6rp2zRuOAInY5wcggsx4+QVao1qPM0osC9fTUVlAV3zOrzTCnrMAFVnR6+a3T8wz1wFIH7KhYMcMB3u1n80A==";
-      };
-    };
-    "@babel/plugin-transform-for-of-7.18.8" = {
-      name = "_at_babel_slash_plugin-transform-for-of";
-      packageName = "@babel/plugin-transform-for-of";
-      version = "7.18.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz";
-        sha512 = "yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==";
-      };
-    };
-    "@babel/plugin-transform-function-name-7.18.9" = {
-      name = "_at_babel_slash_plugin-transform-function-name";
-      packageName = "@babel/plugin-transform-function-name";
-      version = "7.18.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz";
-        sha512 = "WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==";
-      };
-    };
-    "@babel/plugin-transform-literals-7.18.9" = {
-      name = "_at_babel_slash_plugin-transform-literals";
-      packageName = "@babel/plugin-transform-literals";
-      version = "7.18.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz";
-        sha512 = "IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==";
-      };
-    };
-    "@babel/plugin-transform-member-expression-literals-7.18.6" = {
-      name = "_at_babel_slash_plugin-transform-member-expression-literals";
-      packageName = "@babel/plugin-transform-member-expression-literals";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz";
-        sha512 = "qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==";
-      };
-    };
-    "@babel/plugin-transform-modules-amd-7.18.6" = {
-      name = "_at_babel_slash_plugin-transform-modules-amd";
-      packageName = "@babel/plugin-transform-modules-amd";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.18.6.tgz";
-        sha512 = "Pra5aXsmTsOnjM3IajS8rTaLCy++nGM4v3YR4esk5PCsyg9z8NA5oQLwxzMUtDBd8F+UmVza3VxoAaWCbzH1rg==";
-      };
-    };
-    "@babel/plugin-transform-modules-commonjs-7.18.6" = {
-      name = "_at_babel_slash_plugin-transform-modules-commonjs";
-      packageName = "@babel/plugin-transform-modules-commonjs";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.6.tgz";
-        sha512 = "Qfv2ZOWikpvmedXQJDSbxNqy7Xr/j2Y8/KfijM0iJyKkBTmWuvCA1yeH1yDM7NJhBW/2aXxeucLj6i80/LAJ/Q==";
-      };
-    };
-    "@babel/plugin-transform-modules-systemjs-7.18.9" = {
-      name = "_at_babel_slash_plugin-transform-modules-systemjs";
-      packageName = "@babel/plugin-transform-modules-systemjs";
-      version = "7.18.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.18.9.tgz";
-        sha512 = "zY/VSIbbqtoRoJKo2cDTewL364jSlZGvn0LKOf9ntbfxOvjfmyrdtEEOAdswOswhZEb8UH3jDkCKHd1sPgsS0A==";
-      };
-    };
-    "@babel/plugin-transform-modules-umd-7.18.6" = {
-      name = "_at_babel_slash_plugin-transform-modules-umd";
-      packageName = "@babel/plugin-transform-modules-umd";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz";
-        sha512 = "dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==";
-      };
-    };
-    "@babel/plugin-transform-named-capturing-groups-regex-7.18.6" = {
-      name = "_at_babel_slash_plugin-transform-named-capturing-groups-regex";
-      packageName = "@babel/plugin-transform-named-capturing-groups-regex";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.18.6.tgz";
-        sha512 = "UmEOGF8XgaIqD74bC8g7iV3RYj8lMf0Bw7NJzvnS9qQhM4mg+1WHKotUIdjxgD2RGrgFLZZPCFPFj3P/kVDYhg==";
-      };
-    };
-    "@babel/plugin-transform-new-target-7.18.6" = {
-      name = "_at_babel_slash_plugin-transform-new-target";
-      packageName = "@babel/plugin-transform-new-target";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz";
-        sha512 = "DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==";
-      };
-    };
-    "@babel/plugin-transform-object-super-7.18.6" = {
-      name = "_at_babel_slash_plugin-transform-object-super";
-      packageName = "@babel/plugin-transform-object-super";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz";
-        sha512 = "uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==";
-      };
-    };
-    "@babel/plugin-transform-parameters-7.18.8" = {
-      name = "_at_babel_slash_plugin-transform-parameters";
-      packageName = "@babel/plugin-transform-parameters";
-      version = "7.18.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.18.8.tgz";
-        sha512 = "ivfbE3X2Ss+Fj8nnXvKJS6sjRG4gzwPMsP+taZC+ZzEGjAYlvENixmt1sZ5Ca6tWls+BlKSGKPJ6OOXvXCbkFg==";
-      };
-    };
-    "@babel/plugin-transform-property-literals-7.18.6" = {
-      name = "_at_babel_slash_plugin-transform-property-literals";
-      packageName = "@babel/plugin-transform-property-literals";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz";
-        sha512 = "cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==";
-      };
-    };
-    "@babel/plugin-transform-react-constant-elements-7.18.12" = {
-      name = "_at_babel_slash_plugin-transform-react-constant-elements";
-      packageName = "@babel/plugin-transform-react-constant-elements";
-      version = "7.18.12";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.18.12.tgz";
-        sha512 = "Q99U9/ttiu+LMnRU8psd23HhvwXmKWDQIpocm0JKaICcZHnw+mdQbHm6xnSy7dOl8I5PELakYtNBubNQlBXbZw==";
-      };
-    };
-    "@babel/plugin-transform-react-display-name-7.18.6" = {
-      name = "_at_babel_slash_plugin-transform-react-display-name";
-      packageName = "@babel/plugin-transform-react-display-name";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.18.6.tgz";
-        sha512 = "TV4sQ+T013n61uMoygyMRm+xf04Bd5oqFpv2jAEQwSZ8NwQA7zeRPg1LMVg2PWi3zWBz+CLKD+v5bcpZ/BS0aA==";
-      };
-    };
-    "@babel/plugin-transform-react-jsx-7.18.10" = {
-      name = "_at_babel_slash_plugin-transform-react-jsx";
-      packageName = "@babel/plugin-transform-react-jsx";
-      version = "7.18.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.18.10.tgz";
-        sha512 = "gCy7Iikrpu3IZjYZolFE4M1Sm+nrh1/6za2Ewj77Z+XirT4TsbJcvOFOyF+fRPwU6AKKK136CZxx6L8AbSFG6A==";
-      };
-    };
-    "@babel/plugin-transform-react-jsx-development-7.18.6" = {
-      name = "_at_babel_slash_plugin-transform-react-jsx-development";
-      packageName = "@babel/plugin-transform-react-jsx-development";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.18.6.tgz";
-        sha512 = "SA6HEjwYFKF7WDjWcMcMGUimmw/nhNRDWxr+KaLSCrkD/LMDBvWRmHAYgE1HDeF8KUuI8OAu+RT6EOtKxSW2qA==";
-      };
-    };
-    "@babel/plugin-transform-react-pure-annotations-7.18.6" = {
-      name = "_at_babel_slash_plugin-transform-react-pure-annotations";
-      packageName = "@babel/plugin-transform-react-pure-annotations";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.18.6.tgz";
-        sha512 = "I8VfEPg9r2TRDdvnHgPepTKvuRomzA8+u+nhY7qSI1fR2hRNebasZEETLyM5mAUr0Ku56OkXJ0I7NHJnO6cJiQ==";
-      };
-    };
-    "@babel/plugin-transform-regenerator-7.18.6" = {
-      name = "_at_babel_slash_plugin-transform-regenerator";
-      packageName = "@babel/plugin-transform-regenerator";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.6.tgz";
-        sha512 = "poqRI2+qiSdeldcz4wTSTXBRryoq3Gc70ye7m7UD5Ww0nE29IXqMl6r7Nd15WBgRd74vloEMlShtH6CKxVzfmQ==";
-      };
-    };
-    "@babel/plugin-transform-reserved-words-7.18.6" = {
-      name = "_at_babel_slash_plugin-transform-reserved-words";
-      packageName = "@babel/plugin-transform-reserved-words";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz";
-        sha512 = "oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==";
-      };
-    };
-    "@babel/plugin-transform-runtime-7.18.10" = {
-      name = "_at_babel_slash_plugin-transform-runtime";
-      packageName = "@babel/plugin-transform-runtime";
-      version = "7.18.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.18.10.tgz";
-        sha512 = "q5mMeYAdfEbpBAgzl7tBre/la3LeCxmDO1+wMXRdPWbcoMjR3GiXlCLk7JBZVVye0bqTGNMbt0yYVXX1B1jEWQ==";
-      };
-    };
-    "@babel/plugin-transform-shorthand-properties-7.18.6" = {
-      name = "_at_babel_slash_plugin-transform-shorthand-properties";
-      packageName = "@babel/plugin-transform-shorthand-properties";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz";
-        sha512 = "eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==";
-      };
-    };
-    "@babel/plugin-transform-spread-7.18.9" = {
-      name = "_at_babel_slash_plugin-transform-spread";
-      packageName = "@babel/plugin-transform-spread";
-      version = "7.18.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.18.9.tgz";
-        sha512 = "39Q814wyoOPtIB/qGopNIL9xDChOE1pNU0ZY5dO0owhiVt/5kFm4li+/bBtwc7QotG0u5EPzqhZdjMtmqBqyQA==";
-      };
-    };
-    "@babel/plugin-transform-sticky-regex-7.18.6" = {
-      name = "_at_babel_slash_plugin-transform-sticky-regex";
-      packageName = "@babel/plugin-transform-sticky-regex";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz";
-        sha512 = "kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==";
-      };
-    };
-    "@babel/plugin-transform-template-literals-7.18.9" = {
-      name = "_at_babel_slash_plugin-transform-template-literals";
-      packageName = "@babel/plugin-transform-template-literals";
-      version = "7.18.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz";
-        sha512 = "S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==";
-      };
-    };
-    "@babel/plugin-transform-typeof-symbol-7.18.9" = {
-      name = "_at_babel_slash_plugin-transform-typeof-symbol";
-      packageName = "@babel/plugin-transform-typeof-symbol";
-      version = "7.18.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz";
-        sha512 = "SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==";
-      };
-    };
-    "@babel/plugin-transform-typescript-7.18.12" = {
-      name = "_at_babel_slash_plugin-transform-typescript";
-      packageName = "@babel/plugin-transform-typescript";
-      version = "7.18.12";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.18.12.tgz";
-        sha512 = "2vjjam0cum0miPkenUbQswKowuxs/NjMwIKEq0zwegRxXk12C9YOF9STXnaUptITOtOJHKHpzvvWYOjbm6tc0w==";
-      };
-    };
-    "@babel/plugin-transform-unicode-escapes-7.18.10" = {
-      name = "_at_babel_slash_plugin-transform-unicode-escapes";
-      packageName = "@babel/plugin-transform-unicode-escapes";
-      version = "7.18.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz";
-        sha512 = "kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==";
-      };
-    };
-    "@babel/plugin-transform-unicode-regex-7.18.6" = {
-      name = "_at_babel_slash_plugin-transform-unicode-regex";
-      packageName = "@babel/plugin-transform-unicode-regex";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz";
-        sha512 = "gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==";
-      };
-    };
-    "@babel/preset-env-7.18.10" = {
-      name = "_at_babel_slash_preset-env";
-      packageName = "@babel/preset-env";
-      version = "7.18.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.18.10.tgz";
-        sha512 = "wVxs1yjFdW3Z/XkNfXKoblxoHgbtUF7/l3PvvP4m02Qz9TZ6uZGxRVYjSQeR87oQmHco9zWitW5J82DJ7sCjvA==";
-      };
-    };
-    "@babel/preset-flow-7.18.6" = {
-      name = "_at_babel_slash_preset-flow";
-      packageName = "@babel/preset-flow";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.18.6.tgz";
-        sha512 = "E7BDhL64W6OUqpuyHnSroLnqyRTcG6ZdOBl1OKI/QK/HJfplqK/S3sq1Cckx7oTodJ5yOXyfw7rEADJ6UjoQDQ==";
-      };
-    };
-    "@babel/preset-modules-0.1.5" = {
-      name = "_at_babel_slash_preset-modules";
-      packageName = "@babel/preset-modules";
-      version = "0.1.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz";
-        sha512 = "A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==";
-      };
-    };
-    "@babel/preset-react-7.18.6" = {
-      name = "_at_babel_slash_preset-react";
-      packageName = "@babel/preset-react";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.18.6.tgz";
-        sha512 = "zXr6atUmyYdiWRVLOZahakYmOBHtWc2WGCkP8PYTgZi0iJXDY2CN180TdrIW4OGOAdLc7TifzDIvtx6izaRIzg==";
-      };
-    };
-    "@babel/preset-typescript-7.18.6" = {
-      name = "_at_babel_slash_preset-typescript";
-      packageName = "@babel/preset-typescript";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.18.6.tgz";
-        sha512 = "s9ik86kXBAnD760aybBucdpnLsAt0jK1xqJn2juOn9lkOvSHV60os5hxoVJsPzMQxvnUJFAlkont2DvvaYEBtQ==";
-      };
-    };
-    "@babel/register-7.18.9" = {
-      name = "_at_babel_slash_register";
-      packageName = "@babel/register";
-      version = "7.18.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/register/-/register-7.18.9.tgz";
-        sha512 = "ZlbnXDcNYHMR25ITwwNKT88JiaukkdVj/nG7r3wnuXkOTHc60Uy05PwMCPre0hSkY68E6zK3xz+vUJSP2jWmcw==";
-      };
-    };
-    "@babel/runtime-7.18.9" = {
-      name = "_at_babel_slash_runtime";
-      packageName = "@babel/runtime";
-      version = "7.18.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/runtime/-/runtime-7.18.9.tgz";
-        sha512 = "lkqXDcvlFT5rvEjiu6+QYO+1GXrEHRo2LOtS7E4GtX5ESIZOgepqsZBVIj6Pv+a6zqsya9VCgiK1KAK4BvJDAw==";
-      };
-    };
-    "@babel/runtime-corejs3-7.18.9" = {
-      name = "_at_babel_slash_runtime-corejs3";
-      packageName = "@babel/runtime-corejs3";
-      version = "7.18.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.18.9.tgz";
-        sha512 = "qZEWeccZCrHA2Au4/X05QW5CMdm4VjUDCrGq5gf1ZDcM4hRqreKrtwAn7yci9zfgAS9apvnsFXiGBHBAxZdK9A==";
-      };
-    };
-    "@babel/template-7.18.10" = {
-      name = "_at_babel_slash_template";
-      packageName = "@babel/template";
-      version = "7.18.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz";
-        sha512 = "TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==";
-      };
-    };
-    "@babel/traverse-7.18.13" = {
-      name = "_at_babel_slash_traverse";
-      packageName = "@babel/traverse";
-      version = "7.18.13";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.13.tgz";
-        sha512 = "N6kt9X1jRMLPxxxPYWi7tgvJRH/rtoU+dbKAPDM44RFHiMH8igdsaSBgFeskhSl/kLWLDUvIh1RXCrTmg0/zvA==";
-      };
-    };
-    "@babel/types-7.18.13" = {
-      name = "_at_babel_slash_types";
-      packageName = "@babel/types";
-      version = "7.18.13";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/types/-/types-7.18.13.tgz";
-        sha512 = "ePqfTihzW0W6XAU+aMw2ykilisStJfDnsejDCXRchCcMJ4O0+8DhPXf2YUbZ6wjBlsEmZwLK/sPweWtu8hcJYQ==";
-      };
-    };
-    "@base2/pretty-print-object-1.0.1" = {
-      name = "_at_base2_slash_pretty-print-object";
-      packageName = "@base2/pretty-print-object";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@base2/pretty-print-object/-/pretty-print-object-1.0.1.tgz";
-        sha512 = "4iri8i1AqYHJE2DstZYkyEprg6Pq6sKx3xn5FpySk9sNhH7qN2LLlHJCfDTZRILNwQNPD7mATWM0TBui7uC1pA==";
-      };
-    };
-    "@bcoe/v8-coverage-0.2.3" = {
-      name = "_at_bcoe_slash_v8-coverage";
-      packageName = "@bcoe/v8-coverage";
-      version = "0.2.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz";
-        sha512 = "0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==";
-      };
-    };
-    "@colors/colors-1.5.0" = {
-      name = "_at_colors_slash_colors";
-      packageName = "@colors/colors";
-      version = "1.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz";
-        sha512 = "ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==";
-      };
-    };
-    "@csstools/normalize.css-12.0.0" = {
-      name = "_at_csstools_slash_normalize.css";
-      packageName = "@csstools/normalize.css";
-      version = "12.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@csstools/normalize.css/-/normalize.css-12.0.0.tgz";
-        sha512 = "M0qqxAcwCsIVfpFQSlGN5XjXWu8l5JDZN+fPt1LeW5SZexQTgnaEvgXAY+CeygRw0EeppWHi12JxESWiWrB0Sg==";
-      };
-    };
-    "@csstools/postcss-cascade-layers-1.0.5" = {
-      name = "_at_csstools_slash_postcss-cascade-layers";
-      packageName = "@csstools/postcss-cascade-layers";
-      version = "1.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.0.5.tgz";
-        sha512 = "Id/9wBT7FkgFzdEpiEWrsVd4ltDxN0rI0QS0SChbeQiSuux3z21SJCRLu6h2cvCEUmaRi+VD0mHFj+GJD4GFnw==";
-      };
-    };
-    "@csstools/postcss-color-function-1.1.1" = {
-      name = "_at_csstools_slash_postcss-color-function";
-      packageName = "@csstools/postcss-color-function";
-      version = "1.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-1.1.1.tgz";
-        sha512 = "Bc0f62WmHdtRDjf5f3e2STwRAl89N2CLb+9iAwzrv4L2hncrbDwnQD9PCq0gtAt7pOI2leIV08HIBUd4jxD8cw==";
-      };
-    };
-    "@csstools/postcss-font-format-keywords-1.0.1" = {
-      name = "_at_csstools_slash_postcss-font-format-keywords";
-      packageName = "@csstools/postcss-font-format-keywords";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-1.0.1.tgz";
-        sha512 = "ZgrlzuUAjXIOc2JueK0X5sZDjCtgimVp/O5CEqTcs5ShWBa6smhWYbS0x5cVc/+rycTDbjjzoP0KTDnUneZGOg==";
-      };
-    };
-    "@csstools/postcss-hwb-function-1.0.2" = {
-      name = "_at_csstools_slash_postcss-hwb-function";
-      packageName = "@csstools/postcss-hwb-function";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-1.0.2.tgz";
-        sha512 = "YHdEru4o3Rsbjmu6vHy4UKOXZD+Rn2zmkAmLRfPet6+Jz4Ojw8cbWxe1n42VaXQhD3CQUXXTooIy8OkVbUcL+w==";
-      };
-    };
-    "@csstools/postcss-ic-unit-1.0.1" = {
-      name = "_at_csstools_slash_postcss-ic-unit";
-      packageName = "@csstools/postcss-ic-unit";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@csstools/postcss-ic-unit/-/postcss-ic-unit-1.0.1.tgz";
-        sha512 = "Ot1rcwRAaRHNKC9tAqoqNZhjdYBzKk1POgWfhN4uCOE47ebGcLRqXjKkApVDpjifL6u2/55ekkpnFcp+s/OZUw==";
-      };
-    };
-    "@csstools/postcss-is-pseudo-class-2.0.7" = {
-      name = "_at_csstools_slash_postcss-is-pseudo-class";
-      packageName = "@csstools/postcss-is-pseudo-class";
-      version = "2.0.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.7.tgz";
-        sha512 = "7JPeVVZHd+jxYdULl87lvjgvWldYu+Bc62s9vD/ED6/QTGjy0jy0US/f6BG53sVMTBJ1lzKZFpYmofBN9eaRiA==";
-      };
-    };
-    "@csstools/postcss-nested-calc-1.0.0" = {
-      name = "_at_csstools_slash_postcss-nested-calc";
-      packageName = "@csstools/postcss-nested-calc";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@csstools/postcss-nested-calc/-/postcss-nested-calc-1.0.0.tgz";
-        sha512 = "JCsQsw1wjYwv1bJmgjKSoZNvf7R6+wuHDAbi5f/7MbFhl2d/+v+TvBTU4BJH3G1X1H87dHl0mh6TfYogbT/dJQ==";
-      };
-    };
-    "@csstools/postcss-normalize-display-values-1.0.1" = {
-      name = "_at_csstools_slash_postcss-normalize-display-values";
-      packageName = "@csstools/postcss-normalize-display-values";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-1.0.1.tgz";
-        sha512 = "jcOanIbv55OFKQ3sYeFD/T0Ti7AMXc9nM1hZWu8m/2722gOTxFg7xYu4RDLJLeZmPUVQlGzo4jhzvTUq3x4ZUw==";
-      };
-    };
-    "@csstools/postcss-oklab-function-1.1.1" = {
-      name = "_at_csstools_slash_postcss-oklab-function";
-      packageName = "@csstools/postcss-oklab-function";
-      version = "1.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-1.1.1.tgz";
-        sha512 = "nJpJgsdA3dA9y5pgyb/UfEzE7W5Ka7u0CX0/HIMVBNWzWemdcTH3XwANECU6anWv/ao4vVNLTMxhiPNZsTK6iA==";
-      };
-    };
-    "@csstools/postcss-progressive-custom-properties-1.3.0" = {
-      name = "_at_csstools_slash_postcss-progressive-custom-properties";
-      packageName = "@csstools/postcss-progressive-custom-properties";
-      version = "1.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-1.3.0.tgz";
-        sha512 = "ASA9W1aIy5ygskZYuWams4BzafD12ULvSypmaLJT2jvQ8G0M3I8PRQhC0h7mG0Z3LI05+agZjqSR9+K9yaQQjA==";
-      };
-    };
-    "@csstools/postcss-stepped-value-functions-1.0.1" = {
-      name = "_at_csstools_slash_postcss-stepped-value-functions";
-      packageName = "@csstools/postcss-stepped-value-functions";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-1.0.1.tgz";
-        sha512 = "dz0LNoo3ijpTOQqEJLY8nyaapl6umbmDcgj4AD0lgVQ572b2eqA1iGZYTTWhrcrHztWDDRAX2DGYyw2VBjvCvQ==";
-      };
-    };
-    "@csstools/postcss-text-decoration-shorthand-1.0.0" = {
-      name = "_at_csstools_slash_postcss-text-decoration-shorthand";
-      packageName = "@csstools/postcss-text-decoration-shorthand";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-1.0.0.tgz";
-        sha512 = "c1XwKJ2eMIWrzQenN0XbcfzckOLLJiczqy+YvfGmzoVXd7pT9FfObiSEfzs84bpE/VqfpEuAZ9tCRbZkZxxbdw==";
-      };
-    };
-    "@csstools/postcss-trigonometric-functions-1.0.2" = {
-      name = "_at_csstools_slash_postcss-trigonometric-functions";
-      packageName = "@csstools/postcss-trigonometric-functions";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-1.0.2.tgz";
-        sha512 = "woKaLO///4bb+zZC2s80l+7cm07M7268MsyG3M0ActXXEFi6SuhvriQYcb58iiKGbjwwIU7n45iRLEHypB47Og==";
-      };
-    };
-    "@csstools/postcss-unset-value-1.0.2" = {
-      name = "_at_csstools_slash_postcss-unset-value";
-      packageName = "@csstools/postcss-unset-value";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@csstools/postcss-unset-value/-/postcss-unset-value-1.0.2.tgz";
-        sha512 = "c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g==";
-      };
-    };
-    "@csstools/selector-specificity-2.0.2" = {
-      name = "_at_csstools_slash_selector-specificity";
-      packageName = "@csstools/selector-specificity";
-      version = "2.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.0.2.tgz";
-        sha512 = "IkpVW/ehM1hWKln4fCA3NzJU8KwD+kIOvPZA4cqxoJHtE21CCzjyp+Kxbu0i5I4tBNOlXPL9mjwnWlL0VEG4Fg==";
-      };
-    };
-    "@discoveryjs/json-ext-0.5.7" = {
-      name = "_at_discoveryjs_slash_json-ext";
-      packageName = "@discoveryjs/json-ext";
-      version = "0.5.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz";
-        sha512 = "dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==";
-      };
-    };
-    "@emotion/babel-plugin-11.10.2" = {
-      name = "_at_emotion_slash_babel-plugin";
-      packageName = "@emotion/babel-plugin";
-      version = "11.10.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.10.2.tgz";
-        sha512 = "xNQ57njWTFVfPAc3cjfuaPdsgLp5QOSuRsj9MA6ndEhH/AzuZM86qIQzt6rq+aGBwj3n5/TkLmU5lhAfdRmogA==";
-      };
-    };
-    "@emotion/cache-11.10.3" = {
-      name = "_at_emotion_slash_cache";
-      packageName = "@emotion/cache";
-      version = "11.10.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@emotion/cache/-/cache-11.10.3.tgz";
-        sha512 = "Psmp/7ovAa8appWh3g51goxu/z3iVms7JXOreq136D8Bbn6dYraPnmL6mdM8GThEx9vwSn92Fz+mGSjBzN8UPQ==";
-      };
-    };
-    "@emotion/hash-0.9.0" = {
-      name = "_at_emotion_slash_hash";
-      packageName = "@emotion/hash";
-      version = "0.9.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.0.tgz";
-        sha512 = "14FtKiHhy2QoPIzdTcvh//8OyBlknNs2nXRwIhG904opCby3l+9Xaf/wuPvICBF0rc1ZCNBd3nKe9cd2mecVkQ==";
-      };
-    };
-    "@emotion/memoize-0.8.0" = {
-      name = "_at_emotion_slash_memoize";
-      packageName = "@emotion/memoize";
-      version = "0.8.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.0.tgz";
-        sha512 = "G/YwXTkv7Den9mXDO7AhLWkE3q+I92B+VqAE+dYG4NGPaHZGvt3G8Q0p9vmE+sq7rTGphUbAvmQ9YpbfMQGGlA==";
-      };
-    };
-    "@emotion/react-11.10.0" = {
-      name = "_at_emotion_slash_react";
-      packageName = "@emotion/react";
-      version = "11.10.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@emotion/react/-/react-11.10.0.tgz";
-        sha512 = "K6z9zlHxxBXwN8TcpwBKcEsBsOw4JWCCmR+BeeOWgqp8GIU1yA2Odd41bwdAAr0ssbQrbJbVnndvv7oiv1bZeQ==";
-      };
-    };
-    "@emotion/serialize-1.1.0" = {
-      name = "_at_emotion_slash_serialize";
-      packageName = "@emotion/serialize";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.1.0.tgz";
-        sha512 = "F1ZZZW51T/fx+wKbVlwsfchr5q97iW8brAnXmsskz4d0hVB4O3M/SiA3SaeH06x02lSNzkkQv+n3AX3kCXKSFA==";
-      };
-    };
-    "@emotion/sheet-1.2.0" = {
-      name = "_at_emotion_slash_sheet";
-      packageName = "@emotion/sheet";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.2.0.tgz";
-        sha512 = "OiTkRgpxescko+M51tZsMq7Puu/KP55wMT8BgpcXVG2hqXc0Vo0mfymJ/Uj24Hp0i083ji/o0aLddh08UEjq8w==";
-      };
-    };
-    "@emotion/unitless-0.8.0" = {
-      name = "_at_emotion_slash_unitless";
-      packageName = "@emotion/unitless";
-      version = "0.8.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.8.0.tgz";
-        sha512 = "VINS5vEYAscRl2ZUDiT3uMPlrFQupiKgHz5AA4bCH1miKBg4qtwkim1qPmJj/4WG6TreYMY111rEFsjupcOKHw==";
-      };
-    };
-    "@emotion/utils-1.2.0" = {
-      name = "_at_emotion_slash_utils";
-      packageName = "@emotion/utils";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@emotion/utils/-/utils-1.2.0.tgz";
-        sha512 = "sn3WH53Kzpw8oQ5mgMmIzzyAaH2ZqFEbozVVBSYp538E06OSE6ytOp7pRAjNQR+Q/orwqdQYJSe2m3hCOeznkw==";
-      };
-    };
-    "@emotion/weak-memoize-0.3.0" = {
-      name = "_at_emotion_slash_weak-memoize";
-      packageName = "@emotion/weak-memoize";
-      version = "0.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.3.0.tgz";
-        sha512 = "AHPmaAx+RYfZz0eYu6Gviiagpmiyw98ySSlQvCUhVGDRtDFe4DBS0x1bSjdF3gqUDYOczB+yYvBTtEylYSdRhg==";
-      };
-    };
-    "@eslint/eslintrc-1.3.1" = {
-      name = "_at_eslint_slash_eslintrc";
-      packageName = "@eslint/eslintrc";
-      version = "1.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.1.tgz";
-        sha512 = "OhSY22oQQdw3zgPOOwdoj01l/Dzl1Z+xyUP33tkSN+aqyEhymJCcPHyXt+ylW8FSe0TfRC2VG+ROQOapD0aZSQ==";
-      };
-    };
-    "@floating-ui/core-1.0.1" = {
-      name = "_at_floating-ui_slash_core";
-      packageName = "@floating-ui/core";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@floating-ui/core/-/core-1.0.1.tgz";
-        sha512 = "bO37brCPfteXQfFY0DyNDGB3+IMe4j150KFQcgJ5aBP295p9nBGeHEs/p0czrRbtlHq4Px/yoPXO/+dOCcF4uA==";
-      };
-    };
-    "@floating-ui/dom-1.0.1" = {
-      name = "_at_floating-ui_slash_dom";
-      packageName = "@floating-ui/dom";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.0.1.tgz";
-        sha512 = "wBDiLUKWU8QNPNOTAFHiIAkBv1KlHauG2AhqjSeh2H+wR8PX+AArXfz8NkRexH5PgMJMmSOS70YS89AbWYh5dA==";
-      };
-    };
-    "@floating-ui/react-dom-1.0.0" = {
-      name = "_at_floating-ui_slash_react-dom";
-      packageName = "@floating-ui/react-dom";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-1.0.0.tgz";
-        sha512 = "uiOalFKPG937UCLm42RxjESTWUVpbbatvlphQAU6bsv+ence6IoVG8JOUZcy8eW81NkU+Idiwvx10WFLmR4MIg==";
-      };
-    };
-    "@fortawesome/fontawesome-common-types-6.2.0" = {
-      name = "_at_fortawesome_slash_fontawesome-common-types";
-      packageName = "@fortawesome/fontawesome-common-types";
-      version = "6.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.2.0.tgz";
-        sha512 = "rBevIsj2nclStJ7AxTdfsa3ovHb1H+qApwrxcTVo+NNdeJiB9V75hsKfrkG5AwNcRUNxrPPiScGYCNmLMoh8pg==";
-      };
-    };
-    "@fortawesome/fontawesome-svg-core-6.2.0" = {
-      name = "_at_fortawesome_slash_fontawesome-svg-core";
-      packageName = "@fortawesome/fontawesome-svg-core";
-      version = "6.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.2.0.tgz";
-        sha512 = "Cf2mAAeMWFMzpLC7Y9H1I4o3wEU+XovVJhTiNG8ZNgSQj53yl7OCJaS80K4YjrABWZzbAHVaoHE1dVJ27AAYXw==";
-      };
-    };
-    "@fortawesome/free-regular-svg-icons-6.2.0" = {
-      name = "_at_fortawesome_slash_free-regular-svg-icons";
-      packageName = "@fortawesome/free-regular-svg-icons";
-      version = "6.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@fortawesome/free-regular-svg-icons/-/free-regular-svg-icons-6.2.0.tgz";
-        sha512 = "M1dG+PAmkYMTL9BSUHFXY5oaHwBYfHCPhbJ8qj8JELsc9XCrUJ6eEHWip4q0tE+h9C0DVyFkwIM9t7QYyCpprQ==";
-      };
-    };
-    "@fortawesome/free-solid-svg-icons-6.2.0" = {
-      name = "_at_fortawesome_slash_free-solid-svg-icons";
-      packageName = "@fortawesome/free-solid-svg-icons";
-      version = "6.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-6.2.0.tgz";
-        sha512 = "UjCILHIQ4I8cN46EiQn0CZL/h8AwCGgR//1c4R96Q5viSRwuKVo0NdQEc4bm+69ZwC0dUvjbDqAHF1RR5FA3XA==";
-      };
-    };
-    "@fortawesome/react-fontawesome-0.2.0" = {
-      name = "_at_fortawesome_slash_react-fontawesome";
-      packageName = "@fortawesome/react-fontawesome";
-      version = "0.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@fortawesome/react-fontawesome/-/react-fontawesome-0.2.0.tgz";
-        sha512 = "uHg75Rb/XORTtVt7OS9WoK8uM276Ufi7gCzshVWkUJbHhh3svsUUeqXerrM96Wm7fRiDzfKRwSoahhMIkGAYHw==";
-      };
-    };
-    "@gar/promisify-1.1.3" = {
-      name = "_at_gar_slash_promisify";
-      packageName = "@gar/promisify";
-      version = "1.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz";
-        sha512 = "k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==";
-      };
-    };
-    "@humanwhocodes/config-array-0.10.4" = {
-      name = "_at_humanwhocodes_slash_config-array";
-      packageName = "@humanwhocodes/config-array";
-      version = "0.10.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.10.4.tgz";
-        sha512 = "mXAIHxZT3Vcpg83opl1wGlVZ9xydbfZO3r5YfRSH6Gpp2J/PfdBP0wbDa2sO6/qRbcalpoevVyW6A/fI6LfeMw==";
-      };
-    };
-    "@humanwhocodes/gitignore-to-minimatch-1.0.2" = {
-      name = "_at_humanwhocodes_slash_gitignore-to-minimatch";
-      packageName = "@humanwhocodes/gitignore-to-minimatch";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@humanwhocodes/gitignore-to-minimatch/-/gitignore-to-minimatch-1.0.2.tgz";
-        sha512 = "rSqmMJDdLFUsyxR6FMtD00nfQKKLFb1kv+qBbOVKqErvloEIJLo5bDTJTQNTYgeyp78JsA7u/NPi5jT1GR/MuA==";
-      };
-    };
-    "@humanwhocodes/module-importer-1.0.1" = {
-      name = "_at_humanwhocodes_slash_module-importer";
-      packageName = "@humanwhocodes/module-importer";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz";
-        sha512 = "bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==";
-      };
-    };
-    "@humanwhocodes/object-schema-1.2.1" = {
-      name = "_at_humanwhocodes_slash_object-schema";
-      packageName = "@humanwhocodes/object-schema";
-      version = "1.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz";
-        sha512 = "ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==";
-      };
-    };
-    "@istanbuljs/load-nyc-config-1.1.0" = {
-      name = "_at_istanbuljs_slash_load-nyc-config";
-      packageName = "@istanbuljs/load-nyc-config";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz";
-        sha512 = "VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==";
-      };
-    };
-    "@istanbuljs/schema-0.1.3" = {
-      name = "_at_istanbuljs_slash_schema";
-      packageName = "@istanbuljs/schema";
-      version = "0.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz";
-        sha512 = "ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==";
-      };
-    };
-    "@jest/console-27.5.1" = {
-      name = "_at_jest_slash_console";
-      packageName = "@jest/console";
-      version = "27.5.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz";
-        sha512 = "kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==";
-      };
-    };
-    "@jest/console-28.1.3" = {
-      name = "_at_jest_slash_console";
-      packageName = "@jest/console";
-      version = "28.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jest/console/-/console-28.1.3.tgz";
-        sha512 = "QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw==";
-      };
-    };
-    "@jest/core-27.5.1" = {
-      name = "_at_jest_slash_core";
-      packageName = "@jest/core";
-      version = "27.5.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jest/core/-/core-27.5.1.tgz";
-        sha512 = "AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==";
-      };
-    };
-    "@jest/environment-27.5.1" = {
-      name = "_at_jest_slash_environment";
-      packageName = "@jest/environment";
-      version = "27.5.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jest/environment/-/environment-27.5.1.tgz";
-        sha512 = "/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==";
-      };
-    };
-    "@jest/expect-utils-29.0.1" = {
-      name = "_at_jest_slash_expect-utils";
-      packageName = "@jest/expect-utils";
-      version = "29.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.0.1.tgz";
-        sha512 = "Tw5kUUOKmXGQDmQ9TSgTraFFS7HMC1HG/B7y0AN2G2UzjdAXz9BzK2rmNpCSDl7g7y0Gf/VLBm//blonvhtOTQ==";
-      };
-    };
-    "@jest/fake-timers-27.5.1" = {
-      name = "_at_jest_slash_fake-timers";
-      packageName = "@jest/fake-timers";
-      version = "27.5.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.1.tgz";
-        sha512 = "/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==";
-      };
-    };
-    "@jest/globals-27.5.1" = {
-      name = "_at_jest_slash_globals";
-      packageName = "@jest/globals";
-      version = "27.5.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jest/globals/-/globals-27.5.1.tgz";
-        sha512 = "ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==";
-      };
-    };
-    "@jest/reporters-27.5.1" = {
-      name = "_at_jest_slash_reporters";
-      packageName = "@jest/reporters";
-      version = "27.5.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jest/reporters/-/reporters-27.5.1.tgz";
-        sha512 = "cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==";
-      };
-    };
-    "@jest/schemas-28.1.3" = {
-      name = "_at_jest_slash_schemas";
-      packageName = "@jest/schemas";
-      version = "28.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz";
-        sha512 = "/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==";
-      };
-    };
-    "@jest/schemas-29.0.0" = {
-      name = "_at_jest_slash_schemas";
-      packageName = "@jest/schemas";
-      version = "29.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jest/schemas/-/schemas-29.0.0.tgz";
-        sha512 = "3Ab5HgYIIAnS0HjqJHQYZS+zXc4tUmTmBH3z83ajI6afXp8X3ZtdLX+nXx+I7LNkJD7uN9LAVhgnjDgZa2z0kA==";
-      };
-    };
-    "@jest/source-map-27.5.1" = {
-      name = "_at_jest_slash_source-map";
-      packageName = "@jest/source-map";
-      version = "27.5.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jest/source-map/-/source-map-27.5.1.tgz";
-        sha512 = "y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==";
-      };
-    };
-    "@jest/test-result-27.5.1" = {
-      name = "_at_jest_slash_test-result";
-      packageName = "@jest/test-result";
-      version = "27.5.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz";
-        sha512 = "EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==";
-      };
-    };
-    "@jest/test-result-28.1.3" = {
-      name = "_at_jest_slash_test-result";
-      packageName = "@jest/test-result";
-      version = "28.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jest/test-result/-/test-result-28.1.3.tgz";
-        sha512 = "kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg==";
-      };
-    };
-    "@jest/test-sequencer-27.5.1" = {
-      name = "_at_jest_slash_test-sequencer";
-      packageName = "@jest/test-sequencer";
-      version = "27.5.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz";
-        sha512 = "LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==";
-      };
-    };
-    "@jest/transform-27.5.1" = {
-      name = "_at_jest_slash_transform";
-      packageName = "@jest/transform";
-      version = "27.5.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz";
-        sha512 = "ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==";
-      };
-    };
-    "@jest/types-27.5.1" = {
-      name = "_at_jest_slash_types";
-      packageName = "@jest/types";
-      version = "27.5.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz";
-        sha512 = "Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==";
-      };
-    };
-    "@jest/types-28.1.3" = {
-      name = "_at_jest_slash_types";
-      packageName = "@jest/types";
-      version = "28.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz";
-        sha512 = "RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==";
-      };
-    };
-    "@jest/types-29.0.1" = {
-      name = "_at_jest_slash_types";
-      packageName = "@jest/types";
-      version = "29.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jest/types/-/types-29.0.1.tgz";
-        sha512 = "ft01rxzVsbh9qZPJ6EFgAIj3PT9FCRfBF9Xljo2/33VDOUjLZr0ZJ2oKANqh9S/K0/GERCsHDAQlBwj7RxA+9g==";
-      };
-    };
-    "@jridgewell/gen-mapping-0.1.1" = {
-      name = "_at_jridgewell_slash_gen-mapping";
-      packageName = "@jridgewell/gen-mapping";
-      version = "0.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz";
-        sha512 = "sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==";
-      };
-    };
-    "@jridgewell/gen-mapping-0.3.2" = {
-      name = "_at_jridgewell_slash_gen-mapping";
-      packageName = "@jridgewell/gen-mapping";
-      version = "0.3.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz";
-        sha512 = "mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==";
-      };
-    };
-    "@jridgewell/resolve-uri-3.1.0" = {
-      name = "_at_jridgewell_slash_resolve-uri";
-      packageName = "@jridgewell/resolve-uri";
-      version = "3.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz";
-        sha512 = "F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==";
-      };
-    };
-    "@jridgewell/set-array-1.1.2" = {
-      name = "_at_jridgewell_slash_set-array";
-      packageName = "@jridgewell/set-array";
-      version = "1.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz";
-        sha512 = "xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==";
-      };
-    };
-    "@jridgewell/source-map-0.3.2" = {
-      name = "_at_jridgewell_slash_source-map";
-      packageName = "@jridgewell/source-map";
-      version = "0.3.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz";
-        sha512 = "m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==";
-      };
-    };
-    "@jridgewell/sourcemap-codec-1.4.14" = {
-      name = "_at_jridgewell_slash_sourcemap-codec";
-      packageName = "@jridgewell/sourcemap-codec";
-      version = "1.4.14";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz";
-        sha512 = "XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==";
-      };
-    };
-    "@jridgewell/trace-mapping-0.3.15" = {
-      name = "_at_jridgewell_slash_trace-mapping";
-      packageName = "@jridgewell/trace-mapping";
-      version = "0.3.15";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.15.tgz";
-        sha512 = "oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g==";
-      };
-    };
-    "@juggle/resize-observer-3.4.0" = {
-      name = "_at_juggle_slash_resize-observer";
-      packageName = "@juggle/resize-observer";
-      version = "3.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@juggle/resize-observer/-/resize-observer-3.4.0.tgz";
-        sha512 = "dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA==";
-      };
-    };
-    "@leichtgewicht/ip-codec-2.0.4" = {
-      name = "_at_leichtgewicht_slash_ip-codec";
-      packageName = "@leichtgewicht/ip-codec";
-      version = "2.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz";
-        sha512 = "Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==";
-      };
-    };
-    "@mdx-js/mdx-1.6.22" = {
-      name = "_at_mdx-js_slash_mdx";
-      packageName = "@mdx-js/mdx";
-      version = "1.6.22";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-1.6.22.tgz";
-        sha512 = "AMxuLxPz2j5/6TpF/XSdKpQP1NlG0z11dFOlq+2IP/lSgl11GY8ji6S/rgsViN/L0BDvHvUMruRb7ub+24LUYA==";
-      };
-    };
-    "@mdx-js/util-1.6.22" = {
-      name = "_at_mdx-js_slash_util";
-      packageName = "@mdx-js/util";
-      version = "1.6.22";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@mdx-js/util/-/util-1.6.22.tgz";
-        sha512 = "H1rQc1ZOHANWBvPcW+JpGwr+juXSxM8Q8YCkm3GhZd8REu1fHR3z99CErO1p9pkcfcxZnMdIZdIsXkOHY0NilA==";
-      };
-    };
-    "@mrmlnc/readdir-enhanced-2.2.1" = {
-      name = "_at_mrmlnc_slash_readdir-enhanced";
-      packageName = "@mrmlnc/readdir-enhanced";
-      version = "2.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz";
-        sha512 = "bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==";
-      };
-    };
-    "@nodelib/fs.scandir-2.1.5" = {
-      name = "_at_nodelib_slash_fs.scandir";
-      packageName = "@nodelib/fs.scandir";
-      version = "2.1.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz";
-        sha512 = "vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==";
-      };
-    };
-    "@nodelib/fs.stat-1.1.3" = {
-      name = "_at_nodelib_slash_fs.stat";
-      packageName = "@nodelib/fs.stat";
-      version = "1.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz";
-        sha512 = "shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==";
-      };
-    };
-    "@nodelib/fs.stat-2.0.5" = {
-      name = "_at_nodelib_slash_fs.stat";
-      packageName = "@nodelib/fs.stat";
-      version = "2.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz";
-        sha512 = "RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==";
-      };
-    };
-    "@nodelib/fs.walk-1.2.8" = {
-      name = "_at_nodelib_slash_fs.walk";
-      packageName = "@nodelib/fs.walk";
-      version = "1.2.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz";
-        sha512 = "oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==";
-      };
-    };
-    "@npmcli/fs-1.1.1" = {
-      name = "_at_npmcli_slash_fs";
-      packageName = "@npmcli/fs";
-      version = "1.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz";
-        sha512 = "8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==";
-      };
-    };
-    "@npmcli/move-file-1.1.2" = {
-      name = "_at_npmcli_slash_move-file";
-      packageName = "@npmcli/move-file";
-      version = "1.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz";
-        sha512 = "1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==";
-      };
-    };
-    "@percy/cli-1.10.1" = {
-      name = "_at_percy_slash_cli";
-      packageName = "@percy/cli";
-      version = "1.10.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@percy/cli/-/cli-1.10.1.tgz";
-        sha512 = "z4yGgwnCHwUuQEvvnHyanLiC+2mk/9hUM2fIkCwtSU2iKClppXJjICpf+bD/72jQ5QEEB28hF2hrUXED4AZnyQ==";
-      };
-    };
-    "@percy/cli-app-1.10.1" = {
-      name = "_at_percy_slash_cli-app";
-      packageName = "@percy/cli-app";
-      version = "1.10.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@percy/cli-app/-/cli-app-1.10.1.tgz";
-        sha512 = "5ZBL4S19U9ynT1rMhuZ/R0Xf0ybQ6vfs49LLLasZp+IZE567QteXArE6C35MKdZLNntkUZs46LPqfl+K8uIXGw==";
-      };
-    };
-    "@percy/cli-build-1.10.1" = {
-      name = "_at_percy_slash_cli-build";
-      packageName = "@percy/cli-build";
-      version = "1.10.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@percy/cli-build/-/cli-build-1.10.1.tgz";
-        sha512 = "R4Owo4W40jd5pPzfyufHhdFsBJb/R9wEMuD6VdGzJUCEfYY5ZqmhfeyOyVTFYVgcqdmYBya7GElfEehPlaYHpA==";
-      };
-    };
-    "@percy/cli-command-1.10.1" = {
-      name = "_at_percy_slash_cli-command";
-      packageName = "@percy/cli-command";
-      version = "1.10.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@percy/cli-command/-/cli-command-1.10.1.tgz";
-        sha512 = "EMfuyIhMcLWnyNQqplcb2B9aUEcfa+mmJ6P4XjSKip8/6oWD3mhBf4daCHYRbRbas5MwGtqr13DSObI2aenkzg==";
-      };
-    };
-    "@percy/cli-config-1.10.1" = {
-      name = "_at_percy_slash_cli-config";
-      packageName = "@percy/cli-config";
-      version = "1.10.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@percy/cli-config/-/cli-config-1.10.1.tgz";
-        sha512 = "P/ZmEZBv9g/eJJRl6pt9+ahYJRawOjZjnUIs0sGGE6vJUwPpe9vldSUCZzqkOhrbTP/L2V0mwYpYvClQUSP8rg==";
-      };
-    };
-    "@percy/cli-exec-1.10.1" = {
-      name = "_at_percy_slash_cli-exec";
-      packageName = "@percy/cli-exec";
-      version = "1.10.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@percy/cli-exec/-/cli-exec-1.10.1.tgz";
-        sha512 = "+fhiE40dTspz9XY0PGguaNA5wFUWuKcG/DebM/gWg0ZPM2pHA3CCroew0TfM80xRt7gwx2BdCvgWvNgxraAbCw==";
-      };
-    };
-    "@percy/cli-snapshot-1.10.1" = {
-      name = "_at_percy_slash_cli-snapshot";
-      packageName = "@percy/cli-snapshot";
-      version = "1.10.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@percy/cli-snapshot/-/cli-snapshot-1.10.1.tgz";
-        sha512 = "4zL+aIpxe4mq1959Ei1TSHoxaY4k4GxJ7mUvQesDpT16itBDCo7VfBSRHH7TvhpbYfo0hzDTJBR+9LWlIuTanQ==";
-      };
-    };
-    "@percy/cli-upload-1.10.1" = {
-      name = "_at_percy_slash_cli-upload";
-      packageName = "@percy/cli-upload";
-      version = "1.10.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@percy/cli-upload/-/cli-upload-1.10.1.tgz";
-        sha512 = "rZkJaSL7ezCFErt5RdZX40Zl2mAbQg8RZ2qAfi/6lUUV/WqALpQeA1vkUQRMdZvEdbbHKgMAjGCg5NvdvPpRyw==";
-      };
-    };
-    "@percy/client-1.10.1" = {
-      name = "_at_percy_slash_client";
-      packageName = "@percy/client";
-      version = "1.10.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@percy/client/-/client-1.10.1.tgz";
-        sha512 = "rBMsB8hH81Dsaid6BpOT8BJzlRgBaxTusxveVVrj7wLxYiz4zlC6+Q3cBkb/JOyWW/5E2s3ym85AppG3ehy+Zw==";
-      };
-    };
-    "@percy/config-1.10.1" = {
-      name = "_at_percy_slash_config";
-      packageName = "@percy/config";
-      version = "1.10.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@percy/config/-/config-1.10.1.tgz";
-        sha512 = "9WfgQAgSjAgzTaK7/R297JCC9ozRV5FDXdfVf7MSVgRfFoZZrmTGvnOl84yp/4Y2ka2YpQqmUP7CCvCqb28eJQ==";
-      };
-    };
-    "@percy/core-1.10.1" = {
-      name = "_at_percy_slash_core";
-      packageName = "@percy/core";
-      version = "1.10.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@percy/core/-/core-1.10.1.tgz";
-        sha512 = "UEEKQ8a/LKzvMDnRq3evRo23TQAtDgS4oY1AV6m82lHlXx1yslhKlJ6mlG0r/BTnd2A4zfQTN7jTvRAHzQbyCQ==";
-      };
-    };
-    "@percy/dom-1.10.1" = {
-      name = "_at_percy_slash_dom";
-      packageName = "@percy/dom";
-      version = "1.10.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@percy/dom/-/dom-1.10.1.tgz";
-        sha512 = "TVH68GCh5F0a5M3RVjXs0DInWYGP4swF20UxwhmN03eEnhJpspzp8UFCbHKE64Xr6msEfsoXHje8wdBI89OwXA==";
-      };
-    };
-    "@percy/env-1.10.1" = {
-      name = "_at_percy_slash_env";
-      packageName = "@percy/env";
-      version = "1.10.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@percy/env/-/env-1.10.1.tgz";
-        sha512 = "MiwxTj+T4SNptgxOES4GcuNpsFDuxWHVg69FUAGSESag3/X4BraP32FvwS3RuH5kiwwjFJ5AH0qNnySHMKohRQ==";
-      };
-    };
-    "@percy/logger-1.10.1" = {
-      name = "_at_percy_slash_logger";
-      packageName = "@percy/logger";
-      version = "1.10.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@percy/logger/-/logger-1.10.1.tgz";
-        sha512 = "ETO1spqt70vWfXVywiBrM/tE2e5vtl7iJFRI0n2ier6tavUEZqQ0hDQjj0IXsfw86K8Q6yO8mSZtav8ZqOMmTA==";
-      };
-    };
-    "@percy/storybook-4.3.3" = {
-      name = "_at_percy_slash_storybook";
-      packageName = "@percy/storybook";
-      version = "4.3.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@percy/storybook/-/storybook-4.3.3.tgz";
-        sha512 = "UvJI+OUagZAoJuhMv+yCq+ufrwqJXkCNbacKKuSiDLtxfAh7OXGANM7WV3bAvA+bovxJPHXL3rTI82dYz9XPiQ==";
-      };
-    };
-    "@pmmmwh/react-refresh-webpack-plugin-0.5.7" = {
-      name = "_at_pmmmwh_slash_react-refresh-webpack-plugin";
-      packageName = "@pmmmwh/react-refresh-webpack-plugin";
-      version = "0.5.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.7.tgz";
-        sha512 = "bcKCAzF0DV2IIROp9ZHkRJa6O4jy7NlnHdWL3GmcUxYWNjLXkK5kfELELwEfSP5hXPfVL/qOGMAROuMQb9GG8Q==";
-      };
-    };
-    "@popperjs/core-2.11.6" = {
-      name = "_at_popperjs_slash_core";
-      packageName = "@popperjs/core";
-      version = "2.11.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@popperjs/core/-/core-2.11.6.tgz";
-        sha512 = "50/17A98tWUfQ176raKiOGXuYpLyyVMkxxG6oylzL3BPOlA6ADGdK7EYunSa4I064xerltq9TGXs8HmOk5E+vw==";
-      };
-    };
-    "@rollup/plugin-babel-5.3.1" = {
-      name = "_at_rollup_slash_plugin-babel";
-      packageName = "@rollup/plugin-babel";
-      version = "5.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz";
-        sha512 = "WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==";
-      };
-    };
-    "@rollup/plugin-node-resolve-11.2.1" = {
-      name = "_at_rollup_slash_plugin-node-resolve";
-      packageName = "@rollup/plugin-node-resolve";
-      version = "11.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz";
-        sha512 = "yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==";
-      };
-    };
-    "@rollup/plugin-replace-2.4.2" = {
-      name = "_at_rollup_slash_plugin-replace";
-      packageName = "@rollup/plugin-replace";
-      version = "2.4.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz";
-        sha512 = "IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==";
-      };
-    };
-    "@rollup/pluginutils-3.1.0" = {
-      name = "_at_rollup_slash_pluginutils";
-      packageName = "@rollup/pluginutils";
-      version = "3.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz";
-        sha512 = "GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==";
-      };
-    };
-    "@rushstack/eslint-patch-1.1.4" = {
-      name = "_at_rushstack_slash_eslint-patch";
-      packageName = "@rushstack/eslint-patch";
-      version = "1.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.1.4.tgz";
-        sha512 = "LwzQKA4vzIct1zNZzBmRKI9QuNpLgTQMEjsQLf3BXuGYb3QPTP4Yjf6mkdX+X1mYttZ808QpOwAzZjv28kq7DA==";
-      };
-    };
-    "@sinclair/typebox-0.24.28" = {
-      name = "_at_sinclair_slash_typebox";
-      packageName = "@sinclair/typebox";
-      version = "0.24.28";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.28.tgz";
-        sha512 = "dgJd3HLOkLmz4Bw50eZx/zJwtBq65nms3N9VBYu5LTjJ883oBFkTyXRlCB/ZGGwqYpJJHA5zW2Ibhl5ngITfow==";
-      };
-    };
-    "@sinonjs/commons-1.8.3" = {
-      name = "_at_sinonjs_slash_commons";
-      packageName = "@sinonjs/commons";
-      version = "1.8.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz";
-        sha512 = "xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==";
-      };
-    };
-    "@sinonjs/fake-timers-8.1.0" = {
-      name = "_at_sinonjs_slash_fake-timers";
-      packageName = "@sinonjs/fake-timers";
-      version = "8.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz";
-        sha512 = "OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==";
-      };
-    };
-    "@storybook/addons-6.5.10" = {
-      name = "_at_storybook_slash_addons";
-      packageName = "@storybook/addons";
-      version = "6.5.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@storybook/addons/-/addons-6.5.10.tgz";
-        sha512 = "VD4tBCQ23PkSeDoxuHcKy0RfhIs3oMYjBacOZx7d0bvOzK9WjPyvE2ysDAh7r/ceqnwmWHAScIpE+I1RU7gl+g==";
-      };
-    };
-    "@storybook/api-6.5.10" = {
-      name = "_at_storybook_slash_api";
-      packageName = "@storybook/api";
-      version = "6.5.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@storybook/api/-/api-6.5.10.tgz";
-        sha512 = "AkmgSPNEGdKp4oZA4KQ+RJsacw7GwfvjsVDnCkcXqS9zmSr/RNL0fhpcd60KKkmx/hGKPTDFpK3ZayxDrJ/h4A==";
-      };
-    };
-    "@storybook/builder-webpack4-6.5.10" = {
-      name = "_at_storybook_slash_builder-webpack4";
-      packageName = "@storybook/builder-webpack4";
-      version = "6.5.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@storybook/builder-webpack4/-/builder-webpack4-6.5.10.tgz";
-        sha512 = "AoKjsCNoQQoZXYwBDxO8s+yVEd5FjBJAaysEuUTHq2fb81jwLrGcEOo6hjw4jqfugZQIzYUEjPazlvubS78zpw==";
-      };
-    };
-    "@storybook/builder-webpack5-6.5.10" = {
-      name = "_at_storybook_slash_builder-webpack5";
-      packageName = "@storybook/builder-webpack5";
-      version = "6.5.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@storybook/builder-webpack5/-/builder-webpack5-6.5.10.tgz";
-        sha512 = "Hcsm/TzGRXHndgQCftt+pzI7GQJRqAv8A8ie5b3aFcodhJfK0qzZsQD4Y4ZWxXh1I/xe5t74Kl2qUJ40PX+geA==";
-      };
-    };
-    "@storybook/channel-postmessage-6.5.10" = {
-      name = "_at_storybook_slash_channel-postmessage";
-      packageName = "@storybook/channel-postmessage";
-      version = "6.5.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@storybook/channel-postmessage/-/channel-postmessage-6.5.10.tgz";
-        sha512 = "t9PTA0UzFvYa3IlOfpBOolfrRMPTjUMIeCQ6FNyM0aj5GqLKSvoQzP8NeoRpIrvyf6ljFKKdaMaZ3fiCvh45ag==";
-      };
-    };
-    "@storybook/channel-websocket-6.5.10" = {
-      name = "_at_storybook_slash_channel-websocket";
-      packageName = "@storybook/channel-websocket";
-      version = "6.5.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@storybook/channel-websocket/-/channel-websocket-6.5.10.tgz";
-        sha512 = "RTXMZbMWCS3xU+4GVIdfnUXsKcwg/WTozy88/5OxaKjGw6KgRedqLAQJKJ6Y5XlnwIcWelirkHj/COwTTXhbPg==";
-      };
-    };
-    "@storybook/channels-6.5.10" = {
-      name = "_at_storybook_slash_channels";
-      packageName = "@storybook/channels";
-      version = "6.5.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@storybook/channels/-/channels-6.5.10.tgz";
-        sha512 = "lo26YZ6kWpHXLhuHJF4P/bICY7jD/rXEZqReKtGOSk1Lv99/xvG6pqmcy3hWLf3v3Dy/8otjRPSR7izFVIIZgQ==";
-      };
-    };
-    "@storybook/client-api-6.5.10" = {
-      name = "_at_storybook_slash_client-api";
-      packageName = "@storybook/client-api";
-      version = "6.5.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@storybook/client-api/-/client-api-6.5.10.tgz";
-        sha512 = "3wBWZl3NvMFgMovgEh+euiARAT2FXzpvTF4Q1gerGMNNDlrGxHnFvSuy4FHg/irtOGLa4yLz43ULFbYtpKw0Lg==";
-      };
-    };
-    "@storybook/client-logger-6.5.10" = {
-      name = "_at_storybook_slash_client-logger";
-      packageName = "@storybook/client-logger";
-      version = "6.5.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.5.10.tgz";
-        sha512 = "/xA0MHOevXev68hyLMQw8Qo8KczSIdXOxliAgrycMTkDmw5eKeA8TP7B8zP3wGuq/e3MrdD9/8MWhb/IQBNC3w==";
-      };
-    };
-    "@storybook/components-6.5.10" = {
-      name = "_at_storybook_slash_components";
-      packageName = "@storybook/components";
-      version = "6.5.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@storybook/components/-/components-6.5.10.tgz";
-        sha512 = "9OhgB8YQfGwOKjo/N96N5mrtJ6qDVVoEM1zuhea32tJUd2eYf0aSWpryA9VnOM0V1q/8DAoCg5rPBMYWMBU5uw==";
-      };
-    };
-    "@storybook/core-6.5.10" = {
-      name = "_at_storybook_slash_core";
-      packageName = "@storybook/core";
-      version = "6.5.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@storybook/core/-/core-6.5.10.tgz";
-        sha512 = "K86yYa0tYlMxADlwQTculYvPROokQau09SCVqpsLg3wJCTvYFL4+SIqcYoyBSbFmHOdnYbJgPydjN33MYLiOZQ==";
-      };
-    };
-    "@storybook/core-client-6.5.10" = {
-      name = "_at_storybook_slash_core-client";
-      packageName = "@storybook/core-client";
-      version = "6.5.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@storybook/core-client/-/core-client-6.5.10.tgz";
-        sha512 = "THsIjNrOrampTl0Lgfjvfjk1JnktKb4CQLOM80KpQb4cjDqorBjJmErzUkUQ2y3fXvrDmQ/kUREkShET4XEdtA==";
-      };
-    };
-    "@storybook/core-common-6.5.10" = {
-      name = "_at_storybook_slash_core-common";
-      packageName = "@storybook/core-common";
-      version = "6.5.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@storybook/core-common/-/core-common-6.5.10.tgz";
-        sha512 = "Bx+VKkfWdrAmD8T51Sjq/mMhRaiapBHcpG4cU5bc3DMbg+LF2/yrgqv/cjVu+m5gHAzYCac5D7gqzBgvG7Myww==";
-      };
-    };
-    "@storybook/core-events-6.5.10" = {
-      name = "_at_storybook_slash_core-events";
-      packageName = "@storybook/core-events";
-      version = "6.5.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@storybook/core-events/-/core-events-6.5.10.tgz";
-        sha512 = "EVb1gO1172klVIAABLOoigFMx0V88uctY0K/qVCO8n6v+wd2+0Ccn63kl+gTxsAC3WZ8XhXh9q2w5ImHklVECw==";
-      };
-    };
-    "@storybook/core-server-6.5.10" = {
-      name = "_at_storybook_slash_core-server";
-      packageName = "@storybook/core-server";
-      version = "6.5.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@storybook/core-server/-/core-server-6.5.10.tgz";
-        sha512 = "jqwpA0ccA8X5ck4esWBid04+cEIVqirdAcqJeNb9IZAD+bRreO4Im8ilzr7jc5AmQ9fkqHs2NByFKh9TITp8NQ==";
-      };
-    };
-    "@storybook/csf-0.0.2--canary.4566f4d.1" = {
-      name = "_at_storybook_slash_csf";
-      packageName = "@storybook/csf";
-      version = "0.0.2--canary.4566f4d.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@storybook/csf/-/csf-0.0.2--canary.4566f4d.1.tgz";
-        sha512 = "9OVvMVh3t9znYZwb0Svf/YQoxX2gVOeQTGe2bses2yj+a3+OJnCrUF3/hGv6Em7KujtOdL2LL+JnG49oMVGFgQ==";
-      };
-    };
-    "@storybook/csf-tools-6.5.10" = {
-      name = "_at_storybook_slash_csf-tools";
-      packageName = "@storybook/csf-tools";
-      version = "6.5.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@storybook/csf-tools/-/csf-tools-6.5.10.tgz";
-        sha512 = "H77kZQEisu7+skzeIbNZwmE09OqLjwJTeFhLN1pcjxKVa30LEI3pBHcNBxVKqgxl+Yg3KkB7W/ArLO2N+i2ohw==";
-      };
-    };
-    "@storybook/docs-tools-6.5.10" = {
-      name = "_at_storybook_slash_docs-tools";
-      packageName = "@storybook/docs-tools";
-      version = "6.5.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@storybook/docs-tools/-/docs-tools-6.5.10.tgz";
-        sha512 = "/bvYgOO+CxMEcHifkjJg0A60OTGOhcjGxnsB1h0gJuxMrqA/7Qwc108bFmPiX0eiD1BovFkZLJV4O6OY7zP5Vw==";
-      };
-    };
-    "@storybook/manager-webpack4-6.5.10" = {
-      name = "_at_storybook_slash_manager-webpack4";
-      packageName = "@storybook/manager-webpack4";
-      version = "6.5.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@storybook/manager-webpack4/-/manager-webpack4-6.5.10.tgz";
-        sha512 = "N/TlNDhuhARuFipR/ZJ/xEVESz23iIbCsZ4VNehLHm8PpiGlQUehk+jMjWmz5XV0bJItwjRclY+CU3GjZKblfQ==";
-      };
-    };
-    "@storybook/manager-webpack5-6.5.10" = {
-      name = "_at_storybook_slash_manager-webpack5";
-      packageName = "@storybook/manager-webpack5";
-      version = "6.5.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@storybook/manager-webpack5/-/manager-webpack5-6.5.10.tgz";
-        sha512 = "uRo+6e5MiVOtyFVMYIKVqvpDveCjHyzXBfetSYR7rKEZoaDMEnLLiuF7DIH12lzxwmzCJ1gIc4lf5HFiTMNkgw==";
-      };
-    };
-    "@storybook/mdx1-csf-0.0.1" = {
-      name = "_at_storybook_slash_mdx1-csf";
-      packageName = "@storybook/mdx1-csf";
-      version = "0.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@storybook/mdx1-csf/-/mdx1-csf-0.0.1.tgz";
-        sha512 = "4biZIWWzoWlCarMZmTpqcJNgo/RBesYZwGFbQeXiGYsswuvfWARZnW9RE9aUEMZ4XPn7B1N3EKkWcdcWe/K2tg==";
-      };
-    };
-    "@storybook/node-logger-6.5.10" = {
-      name = "_at_storybook_slash_node-logger";
-      packageName = "@storybook/node-logger";
-      version = "6.5.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-6.5.10.tgz";
-        sha512 = "bYswXIKV7Stru8vYfkjUMNN8UhF7Qg7NRsUvG5Djt5lLIae1XmUIgnH40mU/nW4X4BSfcR9MKxsSsngvn2WmQg==";
-      };
-    };
-    "@storybook/preset-create-react-app-4.1.2" = {
-      name = "_at_storybook_slash_preset-create-react-app";
-      packageName = "@storybook/preset-create-react-app";
-      version = "4.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@storybook/preset-create-react-app/-/preset-create-react-app-4.1.2.tgz";
-        sha512 = "5uBZPhuyXx4APgLZnhiZ/PqYYprBua5CabQCfAlk+/9V4vSpX+ww+XP4Rl8Ifc/nf/HktgwtJFH4HXrZGRKC4w==";
-      };
-    };
-    "@storybook/preview-web-6.5.10" = {
-      name = "_at_storybook_slash_preview-web";
-      packageName = "@storybook/preview-web";
-      version = "6.5.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@storybook/preview-web/-/preview-web-6.5.10.tgz";
-        sha512 = "sTC/o5gkvALOtcNgtApGKGN9EavvSxRHBeBh+5BQjV2qQ8ap+26RsfUizNBECAa2Jrn4osaDYn9HRhJLFL69WA==";
-      };
-    };
-    "@storybook/react-6.5.10" = {
-      name = "_at_storybook_slash_react";
-      packageName = "@storybook/react";
-      version = "6.5.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@storybook/react/-/react-6.5.10.tgz";
-        sha512 = "m8S1qQrwA7pDGwdKEvL6LV3YKvSzVUY297Fq+xcTU3irnAy4sHDuFoLqV6Mi1510mErK1r8+rf+0R5rEXB219g==";
-      };
-    };
-    "@storybook/react-docgen-typescript-plugin-1.0.2-canary.6.9d540b91e815f8fc2f8829189deb00553559ff63.0" = {
-      name = "_at_storybook_slash_react-docgen-typescript-plugin";
-      packageName = "@storybook/react-docgen-typescript-plugin";
-      version = "1.0.2-canary.6.9d540b91e815f8fc2f8829189deb00553559ff63.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@storybook/react-docgen-typescript-plugin/-/react-docgen-typescript-plugin-1.0.2-canary.6.9d540b91e815f8fc2f8829189deb00553559ff63.0.tgz";
-        sha512 = "eVg3BxlOm2P+chijHBTByr90IZVUtgRW56qEOLX7xlww2NBuKrcavBlcmn+HH7GIUktquWkMPtvy6e0W0NgA5w==";
-      };
-    };
-    "@storybook/router-6.5.10" = {
-      name = "_at_storybook_slash_router";
-      packageName = "@storybook/router";
-      version = "6.5.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@storybook/router/-/router-6.5.10.tgz";
-        sha512 = "O+vNW/eEpYFF8eCg5jZjNQ6q2DKQVxqDRPCy9pJdEbvavMDZn6AFYgVK+VJe5F4211WW2yncOu922xObCxXJYg==";
-      };
-    };
-    "@storybook/semver-7.3.2" = {
-      name = "_at_storybook_slash_semver";
-      packageName = "@storybook/semver";
-      version = "7.3.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@storybook/semver/-/semver-7.3.2.tgz";
-        sha512 = "SWeszlsiPsMI0Ps0jVNtH64cI5c0UF3f7KgjVKJoNP30crQ6wUSddY2hsdeczZXEKVJGEn50Q60flcGsQGIcrg==";
-      };
-    };
-    "@storybook/store-6.5.10" = {
-      name = "_at_storybook_slash_store";
-      packageName = "@storybook/store";
-      version = "6.5.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@storybook/store/-/store-6.5.10.tgz";
-        sha512 = "RswrSYh2IiKkytFPxP9AvP+hekjrvHK2ILvyDk2ZgduCN4n5ivsekOb+N3M2t+dq1eLuW9or5n2T4OWwAwjxxQ==";
-      };
-    };
-    "@storybook/telemetry-6.5.10" = {
-      name = "_at_storybook_slash_telemetry";
-      packageName = "@storybook/telemetry";
-      version = "6.5.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@storybook/telemetry/-/telemetry-6.5.10.tgz";
-        sha512 = "+M5HILDFS8nDumLxeSeAwi1MTzIuV6UWzV4yB2wcsEXOBTdplcl9oYqFKtlst78oOIdGtpPYxYfivDlqxC2K4g==";
-      };
-    };
-    "@storybook/theming-6.5.10" = {
-      name = "_at_storybook_slash_theming";
-      packageName = "@storybook/theming";
-      version = "6.5.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@storybook/theming/-/theming-6.5.10.tgz";
-        sha512 = "BvTQBBcSEwKKcsVmF+Ol6v0RIQUr+bxP7gb10wtfBd23mZTEFA0C1N5FnZr/dDeiBKG1pvf1UKvoYA731y0BsA==";
-      };
-    };
-    "@storybook/ui-6.5.10" = {
-      name = "_at_storybook_slash_ui";
-      packageName = "@storybook/ui";
-      version = "6.5.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@storybook/ui/-/ui-6.5.10.tgz";
-        sha512 = "6iaoaRAiTqB1inTw35vao+5hjcDE0Qa0A3a9ZIeNa6yHvpB1k0lO/N/0PMrRdVvySYpXVD1iry4z4QYdo1rU+w==";
-      };
-    };
-    "@surma/rollup-plugin-off-main-thread-2.2.3" = {
-      name = "_at_surma_slash_rollup-plugin-off-main-thread";
-      packageName = "@surma/rollup-plugin-off-main-thread";
-      version = "2.2.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-2.2.3.tgz";
-        sha512 = "lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==";
-      };
-    };
-    "@svgr/babel-plugin-add-jsx-attribute-5.4.0" = {
-      name = "_at_svgr_slash_babel-plugin-add-jsx-attribute";
-      packageName = "@svgr/babel-plugin-add-jsx-attribute";
-      version = "5.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz";
-        sha512 = "ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg==";
-      };
-    };
-    "@svgr/babel-plugin-remove-jsx-attribute-5.4.0" = {
-      name = "_at_svgr_slash_babel-plugin-remove-jsx-attribute";
-      packageName = "@svgr/babel-plugin-remove-jsx-attribute";
-      version = "5.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz";
-        sha512 = "yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg==";
-      };
-    };
-    "@svgr/babel-plugin-remove-jsx-empty-expression-5.0.1" = {
-      name = "_at_svgr_slash_babel-plugin-remove-jsx-empty-expression";
-      packageName = "@svgr/babel-plugin-remove-jsx-empty-expression";
-      version = "5.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz";
-        sha512 = "LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA==";
-      };
-    };
-    "@svgr/babel-plugin-replace-jsx-attribute-value-5.0.1" = {
-      name = "_at_svgr_slash_babel-plugin-replace-jsx-attribute-value";
-      packageName = "@svgr/babel-plugin-replace-jsx-attribute-value";
-      version = "5.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz";
-        sha512 = "PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ==";
-      };
-    };
-    "@svgr/babel-plugin-svg-dynamic-title-5.4.0" = {
-      name = "_at_svgr_slash_babel-plugin-svg-dynamic-title";
-      packageName = "@svgr/babel-plugin-svg-dynamic-title";
-      version = "5.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz";
-        sha512 = "zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg==";
-      };
-    };
-    "@svgr/babel-plugin-svg-em-dimensions-5.4.0" = {
-      name = "_at_svgr_slash_babel-plugin-svg-em-dimensions";
-      packageName = "@svgr/babel-plugin-svg-em-dimensions";
-      version = "5.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz";
-        sha512 = "cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw==";
-      };
-    };
-    "@svgr/babel-plugin-transform-react-native-svg-5.4.0" = {
-      name = "_at_svgr_slash_babel-plugin-transform-react-native-svg";
-      packageName = "@svgr/babel-plugin-transform-react-native-svg";
-      version = "5.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz";
-        sha512 = "3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q==";
-      };
-    };
-    "@svgr/babel-plugin-transform-svg-component-5.5.0" = {
-      name = "_at_svgr_slash_babel-plugin-transform-svg-component";
-      packageName = "@svgr/babel-plugin-transform-svg-component";
-      version = "5.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz";
-        sha512 = "q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ==";
-      };
-    };
-    "@svgr/babel-preset-5.5.0" = {
-      name = "_at_svgr_slash_babel-preset";
-      packageName = "@svgr/babel-preset";
-      version = "5.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-5.5.0.tgz";
-        sha512 = "4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig==";
-      };
-    };
-    "@svgr/core-5.5.0" = {
-      name = "_at_svgr_slash_core";
-      packageName = "@svgr/core";
-      version = "5.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@svgr/core/-/core-5.5.0.tgz";
-        sha512 = "q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ==";
-      };
-    };
-    "@svgr/hast-util-to-babel-ast-5.5.0" = {
-      name = "_at_svgr_slash_hast-util-to-babel-ast";
-      packageName = "@svgr/hast-util-to-babel-ast";
-      version = "5.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz";
-        sha512 = "cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ==";
-      };
-    };
-    "@svgr/plugin-jsx-5.5.0" = {
-      name = "_at_svgr_slash_plugin-jsx";
-      packageName = "@svgr/plugin-jsx";
-      version = "5.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz";
-        sha512 = "V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA==";
-      };
-    };
-    "@svgr/plugin-svgo-5.5.0" = {
-      name = "_at_svgr_slash_plugin-svgo";
-      packageName = "@svgr/plugin-svgo";
-      version = "5.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz";
-        sha512 = "r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ==";
-      };
-    };
-    "@svgr/webpack-5.5.0" = {
-      name = "_at_svgr_slash_webpack";
-      packageName = "@svgr/webpack";
-      version = "5.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@svgr/webpack/-/webpack-5.5.0.tgz";
-        sha512 = "DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g==";
-      };
-    };
-    "@testing-library/dom-8.17.1" = {
-      name = "_at_testing-library_slash_dom";
-      packageName = "@testing-library/dom";
-      version = "8.17.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@testing-library/dom/-/dom-8.17.1.tgz";
-        sha512 = "KnH2MnJUzmFNPW6RIKfd+zf2Wue8mEKX0M3cpX6aKl5ZXrJM1/c/Pc8c2xDNYQCnJO48Sm5ITbMXgqTr3h4jxQ==";
-      };
-    };
-    "@testing-library/jest-dom-5.16.5" = {
-      name = "_at_testing-library_slash_jest-dom";
-      packageName = "@testing-library/jest-dom";
-      version = "5.16.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-5.16.5.tgz";
-        sha512 = "N5ixQ2qKpi5OLYfwQmUb/5mSV9LneAcaUfp32pn4yCnpb8r/Yz0pXFPck21dIicKmi+ta5WRAknkZCfA8refMA==";
-      };
-    };
-    "@testing-library/react-12.1.5" = {
-      name = "_at_testing-library_slash_react";
-      packageName = "@testing-library/react";
-      version = "12.1.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@testing-library/react/-/react-12.1.5.tgz";
-        sha512 = "OfTXCJUFgjd/digLUuPxa0+/3ZxsQmE7ub9kcbW/wi96Bh3o/p5vrETcBGfP17NWPGqeYYl5LTRpwyGoMC4ysg==";
-      };
-    };
-    "@testing-library/react-hooks-8.0.1" = {
-      name = "_at_testing-library_slash_react-hooks";
-      packageName = "@testing-library/react-hooks";
-      version = "8.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@testing-library/react-hooks/-/react-hooks-8.0.1.tgz";
-        sha512 = "Aqhl2IVmLt8IovEVarNDFuJDVWVvhnr9/GCU6UUnrYXwgDFF9h2L2o2P9KBni1AST5sT6riAyoukFLyjQUgD/g==";
-      };
-    };
-    "@testing-library/user-event-14.4.3" = {
-      name = "_at_testing-library_slash_user-event";
-      packageName = "@testing-library/user-event";
-      version = "14.4.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@testing-library/user-event/-/user-event-14.4.3.tgz";
-        sha512 = "kCUc5MEwaEMakkO5x7aoD+DLi02ehmEM2QCGWvNqAS1dV/fAvORWEjnjsEIvml59M7Y5kCkWN6fCCyPOe8OL6Q==";
-      };
-    };
-    "@tootallnate/once-1.1.2" = {
-      name = "_at_tootallnate_slash_once";
-      packageName = "@tootallnate/once";
-      version = "1.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz";
-        sha512 = "RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==";
-      };
-    };
-    "@trysound/sax-0.2.0" = {
-      name = "_at_trysound_slash_sax";
-      packageName = "@trysound/sax";
-      version = "0.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz";
-        sha512 = "L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==";
-      };
-    };
-    "@types/aria-query-4.2.2" = {
-      name = "_at_types_slash_aria-query";
-      packageName = "@types/aria-query";
-      version = "4.2.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/aria-query/-/aria-query-4.2.2.tgz";
-        sha512 = "HnYpAE1Y6kRyKM/XkEuiRQhTHvkzMBurTHnpFLYLBGPIylZNPs9jJcuOOYWxPLJCSEtmZT0Y8rHDokKN7rRTig==";
-      };
-    };
-    "@types/babel__core-7.1.19" = {
-      name = "_at_types_slash_babel__core";
-      packageName = "@types/babel__core";
-      version = "7.1.19";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.19.tgz";
-        sha512 = "WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==";
-      };
-    };
-    "@types/babel__generator-7.6.4" = {
-      name = "_at_types_slash_babel__generator";
-      packageName = "@types/babel__generator";
-      version = "7.6.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz";
-        sha512 = "tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==";
-      };
-    };
-    "@types/babel__template-7.4.1" = {
-      name = "_at_types_slash_babel__template";
-      packageName = "@types/babel__template";
-      version = "7.4.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz";
-        sha512 = "azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==";
-      };
-    };
-    "@types/babel__traverse-7.18.0" = {
-      name = "_at_types_slash_babel__traverse";
-      packageName = "@types/babel__traverse";
-      version = "7.18.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.18.0.tgz";
-        sha512 = "v4Vwdko+pgymgS+A2UIaJru93zQd85vIGWObM5ekZNdXCKtDYqATlEYnWgfo86Q6I1Lh0oXnksDnMU1cwmlPDw==";
-      };
-    };
-    "@types/body-parser-1.19.2" = {
-      name = "_at_types_slash_body-parser";
-      packageName = "@types/body-parser";
-      version = "1.19.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz";
-        sha512 = "ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==";
-      };
-    };
-    "@types/body-scroll-lock-3.1.0" = {
-      name = "_at_types_slash_body-scroll-lock";
-      packageName = "@types/body-scroll-lock";
-      version = "3.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/body-scroll-lock/-/body-scroll-lock-3.1.0.tgz";
-        sha512 = "3owAC4iJub5WPqRhxd8INarF2bWeQq1yQHBgYhN0XLBJMpd5ED10RrJ3aKiAwlTyL5wK7RkBD4SZUQz2AAAMdA==";
-      };
-    };
-    "@types/bonjour-3.5.10" = {
-      name = "_at_types_slash_bonjour";
-      packageName = "@types/bonjour";
-      version = "3.5.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.10.tgz";
-        sha512 = "p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==";
-      };
-    };
-    "@types/bricks.js-1.8.2" = {
-      name = "_at_types_slash_bricks.js";
-      packageName = "@types/bricks.js";
-      version = "1.8.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/bricks.js/-/bricks.js-1.8.2.tgz";
-        sha512 = "fXZJORe5vVtladzUiJI1RN07GXfmO+u4p5wLh567UmnZYbz9s4+m24txwO1mji4jA70ks347hcQCLW/IWlGX9Q==";
-      };
-    };
-    "@types/cheerio-0.22.31" = {
-      name = "_at_types_slash_cheerio";
-      packageName = "@types/cheerio";
-      version = "0.22.31";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/cheerio/-/cheerio-0.22.31.tgz";
-        sha512 = "Kt7Cdjjdi2XWSfrZ53v4Of0wG3ZcmaegFXjMmz9tfNrZSkzzo36G0AL1YqSdcIA78Etjt6E609pt5h1xnQkPUw==";
-      };
-    };
-    "@types/connect-3.4.35" = {
-      name = "_at_types_slash_connect";
-      packageName = "@types/connect";
-      version = "3.4.35";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz";
-        sha512 = "cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==";
-      };
-    };
-    "@types/connect-history-api-fallback-1.3.5" = {
-      name = "_at_types_slash_connect-history-api-fallback";
-      packageName = "@types/connect-history-api-fallback";
-      version = "1.3.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.5.tgz";
-        sha512 = "h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw==";
-      };
-    };
-    "@types/enzyme-3.10.12" = {
-      name = "_at_types_slash_enzyme";
-      packageName = "@types/enzyme";
-      version = "3.10.12";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/enzyme/-/enzyme-3.10.12.tgz";
-        sha512 = "xryQlOEIe1TduDWAOphR0ihfebKFSWOXpIsk+70JskCfRfW+xALdnJ0r1ZOTo85F9Qsjk6vtlU7edTYHbls9tA==";
-      };
-    };
-    "@types/eslint-8.4.6" = {
-      name = "_at_types_slash_eslint";
-      packageName = "@types/eslint";
-      version = "8.4.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.6.tgz";
-        sha512 = "/fqTbjxyFUaYNO7VcW5g+4npmqVACz1bB7RTHYuLj+PRjw9hrCwrUXVQFpChUS0JsyEFvMZ7U/PfmvWgxJhI9g==";
-      };
-    };
-    "@types/eslint-scope-3.7.4" = {
-      name = "_at_types_slash_eslint-scope";
-      packageName = "@types/eslint-scope";
-      version = "3.7.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz";
-        sha512 = "9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==";
-      };
-    };
-    "@types/estree-0.0.39" = {
-      name = "_at_types_slash_estree";
-      packageName = "@types/estree";
-      version = "0.0.39";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz";
-        sha512 = "EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==";
-      };
-    };
-    "@types/estree-0.0.51" = {
-      name = "_at_types_slash_estree";
-      packageName = "@types/estree";
-      version = "0.0.51";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz";
-        sha512 = "CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==";
-      };
-    };
-    "@types/express-4.17.13" = {
-      name = "_at_types_slash_express";
-      packageName = "@types/express";
-      version = "4.17.13";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/express/-/express-4.17.13.tgz";
-        sha512 = "6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==";
-      };
-    };
-    "@types/express-serve-static-core-4.17.30" = {
-      name = "_at_types_slash_express-serve-static-core";
-      packageName = "@types/express-serve-static-core";
-      version = "4.17.30";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.30.tgz";
-        sha512 = "gstzbTWro2/nFed1WXtf+TtrpwxH7Ggs4RLYTLbeVgIkUQOI3WG/JKjgeOU1zXDvezllupjrf8OPIdvTbIaVOQ==";
-      };
-    };
-    "@types/fontfaceobserver-2.1.0" = {
-      name = "_at_types_slash_fontfaceobserver";
-      packageName = "@types/fontfaceobserver";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/fontfaceobserver/-/fontfaceobserver-2.1.0.tgz";
-        sha512 = "Vqf183RAiFdIjUi4asKqogf2HIfLDnxn+dQo9GCpnsU5QrrsLMA2bkJU1dHRudQlizLybWD61Csd1zAgUQ3JKQ==";
-      };
-    };
-    "@types/glob-7.2.0" = {
-      name = "_at_types_slash_glob";
-      packageName = "@types/glob";
-      version = "7.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz";
-        sha512 = "ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==";
-      };
-    };
-    "@types/graceful-fs-4.1.5" = {
-      name = "_at_types_slash_graceful-fs";
-      packageName = "@types/graceful-fs";
-      version = "4.1.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz";
-        sha512 = "anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==";
-      };
-    };
-    "@types/hast-2.3.4" = {
-      name = "_at_types_slash_hast";
-      packageName = "@types/hast";
-      version = "2.3.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/hast/-/hast-2.3.4.tgz";
-        sha512 = "wLEm0QvaoawEDoTRwzTXp4b4jpwiJDvR5KMnFnVodm3scufTlBOWRD6N1OBf9TZMhjlNsSfcO5V+7AF4+Vy+9g==";
-      };
-    };
-    "@types/html-minifier-terser-5.1.2" = {
-      name = "_at_types_slash_html-minifier-terser";
-      packageName = "@types/html-minifier-terser";
-      version = "5.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-5.1.2.tgz";
-        sha512 = "h4lTMgMJctJybDp8CQrxTUiiYmedihHWkjnF/8Pxseu2S6Nlfcy8kwboQ8yejh456rP2yWoEVm1sS/FVsfM48w==";
-      };
-    };
-    "@types/html-minifier-terser-6.1.0" = {
-      name = "_at_types_slash_html-minifier-terser";
-      packageName = "@types/html-minifier-terser";
-      version = "6.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz";
-        sha512 = "oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==";
-      };
-    };
-    "@types/http-proxy-1.17.9" = {
-      name = "_at_types_slash_http-proxy";
-      packageName = "@types/http-proxy";
-      version = "1.17.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.9.tgz";
-        sha512 = "QsbSjA/fSk7xB+UXlCT3wHBy5ai9wOcNDWwZAtud+jXhwOM3l+EYZh8Lng4+/6n8uar0J7xILzqftJdJ/Wdfkw==";
-      };
-    };
-    "@types/is-function-1.0.1" = {
-      name = "_at_types_slash_is-function";
-      packageName = "@types/is-function";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/is-function/-/is-function-1.0.1.tgz";
-        sha512 = "A79HEEiwXTFtfY+Bcbo58M2GRYzCr9itHWzbzHVFNEYCcoU/MMGwYYf721gBrnhpj1s6RGVVha/IgNFnR0Iw/Q==";
-      };
-    };
-    "@types/istanbul-lib-coverage-2.0.4" = {
-      name = "_at_types_slash_istanbul-lib-coverage";
-      packageName = "@types/istanbul-lib-coverage";
-      version = "2.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz";
-        sha512 = "z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==";
-      };
-    };
-    "@types/istanbul-lib-report-3.0.0" = {
-      name = "_at_types_slash_istanbul-lib-report";
-      packageName = "@types/istanbul-lib-report";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz";
-        sha512 = "plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==";
-      };
-    };
-    "@types/istanbul-reports-3.0.1" = {
-      name = "_at_types_slash_istanbul-reports";
-      packageName = "@types/istanbul-reports";
-      version = "3.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz";
-        sha512 = "c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==";
-      };
-    };
-    "@types/jest-29.0.0" = {
-      name = "_at_types_slash_jest";
-      packageName = "@types/jest";
-      version = "29.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/jest/-/jest-29.0.0.tgz";
-        sha512 = "X6Zjz3WO4cT39Gkl0lZ2baFRaEMqJl5NC1OjElkwtNzAlbkr2K/WJXkBkH5VP0zx4Hgsd2TZYdOEfvp2Dxia+Q==";
-      };
-    };
-    "@types/json-schema-7.0.11" = {
-      name = "_at_types_slash_json-schema";
-      packageName = "@types/json-schema";
-      version = "7.0.11";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz";
-        sha512 = "wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==";
-      };
-    };
-    "@types/json5-0.0.29" = {
-      name = "_at_types_slash_json5";
-      packageName = "@types/json5";
-      version = "0.0.29";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz";
-        sha512 = "dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==";
-      };
-    };
-    "@types/lodash-4.14.184" = {
-      name = "_at_types_slash_lodash";
-      packageName = "@types/lodash";
-      version = "4.14.184";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.184.tgz";
-        sha512 = "RoZphVtHbxPZizt4IcILciSWiC6dcn+eZ8oX9IWEYfDMcocdd42f7NPI6fQj+6zI8y4E0L7gu2pcZKLGTRaV9Q==";
-      };
-    };
-    "@types/lodash.debounce-4.0.7" = {
-      name = "_at_types_slash_lodash.debounce";
-      packageName = "@types/lodash.debounce";
-      version = "4.0.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/lodash.debounce/-/lodash.debounce-4.0.7.tgz";
-        sha512 = "X1T4wMZ+gT000M2/91SYj0d/7JfeNZ9PeeOldSNoE/lunLeQXKvkmIumI29IaKMotU/ln/McOIvgzZcQ/3TrSA==";
-      };
-    };
-    "@types/lodash.merge-4.6.7" = {
-      name = "_at_types_slash_lodash.merge";
-      packageName = "@types/lodash.merge";
-      version = "4.6.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/lodash.merge/-/lodash.merge-4.6.7.tgz";
-        sha512 = "OwxUJ9E50gw3LnAefSHJPHaBLGEKmQBQ7CZe/xflHkyy/wH2zVyEIAKReHvVrrn7zKdF58p16We9kMfh7v0RRQ==";
-      };
-    };
-    "@types/lodash.throttle-4.1.7" = {
-      name = "_at_types_slash_lodash.throttle";
-      packageName = "@types/lodash.throttle";
-      version = "4.1.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/lodash.throttle/-/lodash.throttle-4.1.7.tgz";
-        sha512 = "znwGDpjCHQ4FpLLx19w4OXDqq8+OvREa05H89obtSyXyOFKL3dDjCslsmfBz0T2FU8dmf5Wx1QvogbINiGIu9g==";
-      };
-    };
-    "@types/lodash.uniqueid-4.0.7" = {
-      name = "_at_types_slash_lodash.uniqueid";
-      packageName = "@types/lodash.uniqueid";
-      version = "4.0.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/lodash.uniqueid/-/lodash.uniqueid-4.0.7.tgz";
-        sha512 = "ipMGW5nR+DTR6U5O08k1Ufr1F9iH+F3p7bhdwsnq6V6nCn/HgMq22UalDq4n91+03+pHFKyeXV1Y7vdJrm7S4g==";
-      };
-    };
-    "@types/mdast-3.0.10" = {
-      name = "_at_types_slash_mdast";
-      packageName = "@types/mdast";
-      version = "3.0.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.10.tgz";
-        sha512 = "W864tg/Osz1+9f4lrGTZpCSO5/z4608eUp19tbozkq2HJK6i3z1kT0H9tlADXuYIb1YYOBByU4Jsqkk75q48qA==";
-      };
-    };
-    "@types/mime-3.0.1" = {
-      name = "_at_types_slash_mime";
-      packageName = "@types/mime";
-      version = "3.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/mime/-/mime-3.0.1.tgz";
-        sha512 = "Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==";
-      };
-    };
-    "@types/minimatch-5.1.0" = {
-      name = "_at_types_slash_minimatch";
-      packageName = "@types/minimatch";
-      version = "5.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.0.tgz";
-        sha512 = "0RJHq5FqDWo17kdHe+SMDJLfxmLaqHbWnqZ6gNKzDvStUlrmx/eKIY17+ifLS1yybo7X86aUshQMlittDOVNnw==";
-      };
-    };
-    "@types/node-16.11.56" = {
-      name = "_at_types_slash_node";
-      packageName = "@types/node";
-      version = "16.11.56";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-16.11.56.tgz";
-        sha512 = "aFcUkv7EddxxOa/9f74DINReQ/celqH8DiB3fRYgVDM2Xm5QJL8sl80QKuAnGvwAsMn+H3IFA6WCrQh1CY7m1A==";
-      };
-    };
-    "@types/node-fetch-2.6.2" = {
-      name = "_at_types_slash_node-fetch";
-      packageName = "@types/node-fetch";
-      version = "2.6.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.2.tgz";
-        sha512 = "DHqhlq5jeESLy19TYhLakJ07kNumXWjcDdxXsLUMJZ6ue8VZJj4kLPQVE/2mdHh3xZziNF1xppu5lwmS53HR+A==";
-      };
-    };
-    "@types/normalize-package-data-2.4.1" = {
-      name = "_at_types_slash_normalize-package-data";
-      packageName = "@types/normalize-package-data";
-      version = "2.4.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz";
-        sha512 = "Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==";
-      };
-    };
-    "@types/npmlog-4.1.4" = {
-      name = "_at_types_slash_npmlog";
-      packageName = "@types/npmlog";
-      version = "4.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/npmlog/-/npmlog-4.1.4.tgz";
-        sha512 = "WKG4gTr8przEZBiJ5r3s8ZIAoMXNbOgQ+j/d5O4X3x6kZJRLNvyUJuUK/KoG3+8BaOHPhp2m7WC6JKKeovDSzQ==";
-      };
-    };
-    "@types/parse-json-4.0.0" = {
-      name = "_at_types_slash_parse-json";
-      packageName = "@types/parse-json";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz";
-        sha512 = "//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==";
-      };
-    };
-    "@types/parse5-5.0.3" = {
-      name = "_at_types_slash_parse5";
-      packageName = "@types/parse5";
-      version = "5.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/parse5/-/parse5-5.0.3.tgz";
-        sha512 = "kUNnecmtkunAoQ3CnjmMkzNU/gtxG8guhi+Fk2U/kOpIKjIMKnXGp4IJCgQJrXSgMsWYimYG4TGjz/UzbGEBTw==";
-      };
-    };
-    "@types/prettier-2.7.0" = {
-      name = "_at_types_slash_prettier";
-      packageName = "@types/prettier";
-      version = "2.7.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.0.tgz";
-        sha512 = "RI1L7N4JnW5gQw2spvL7Sllfuf1SaHdrZpCHiBlCXjIlufi1SMNnbu2teze3/QE67Fg2tBlH7W+mi4hVNk4p0A==";
-      };
-    };
-    "@types/pretty-hrtime-1.0.1" = {
-      name = "_at_types_slash_pretty-hrtime";
-      packageName = "@types/pretty-hrtime";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/pretty-hrtime/-/pretty-hrtime-1.0.1.tgz";
-        sha512 = "VjID5MJb1eGKthz2qUerWT8+R4b9N+CHvGCzg9fn4kWZgaF9AhdYikQio3R7wV8YY1NsQKPaCwKz1Yff+aHNUQ==";
-      };
-    };
-    "@types/promise-retry-1.1.3" = {
-      name = "_at_types_slash_promise-retry";
-      packageName = "@types/promise-retry";
-      version = "1.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/promise-retry/-/promise-retry-1.1.3.tgz";
-        sha512 = "LxIlEpEX6frE3co3vCO2EUJfHIta1IOmhDlcAsR4GMMv9hev1iTI9VwberVGkePJAuLZs5rMucrV8CziCfuJMw==";
-      };
-    };
-    "@types/prop-types-15.7.5" = {
-      name = "_at_types_slash_prop-types";
-      packageName = "@types/prop-types";
-      version = "15.7.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz";
-        sha512 = "JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==";
-      };
-    };
-    "@types/q-1.5.5" = {
-      name = "_at_types_slash_q";
-      packageName = "@types/q";
-      version = "1.5.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/q/-/q-1.5.5.tgz";
-        sha512 = "L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ==";
-      };
-    };
-    "@types/qs-6.9.7" = {
-      name = "_at_types_slash_qs";
-      packageName = "@types/qs";
-      version = "6.9.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz";
-        sha512 = "FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==";
-      };
-    };
-    "@types/range-parser-1.2.4" = {
-      name = "_at_types_slash_range-parser";
-      packageName = "@types/range-parser";
-      version = "1.2.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz";
-        sha512 = "EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==";
-      };
-    };
-    "@types/react-17.0.49" = {
-      name = "_at_types_slash_react";
-      packageName = "@types/react";
-      version = "17.0.49";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/react/-/react-17.0.49.tgz";
-        sha512 = "CCBPMZaPhcKkYUTqFs/hOWqKjPxhTEmnZWjlHHgIMop67DsXywf9B5Os9Hz8KSacjNOgIdnZVJamwl232uxoPg==";
-      };
-    };
-    "@types/react-dom-17.0.17" = {
-      name = "_at_types_slash_react-dom";
-      packageName = "@types/react-dom";
-      version = "17.0.17";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/react-dom/-/react-dom-17.0.17.tgz";
-        sha512 = "VjnqEmqGnasQKV0CWLevqMTXBYG9GbwuE6x3VetERLh0cq2LTptFE73MrQi2S7GkKXCf2GgwItB/melLnxfnsg==";
-      };
-    };
-    "@types/react-transition-group-4.4.5" = {
-      name = "_at_types_slash_react-transition-group";
-      packageName = "@types/react-transition-group";
-      version = "4.4.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.5.tgz";
-        sha512 = "juKD/eiSM3/xZYzjuzH6ZwpP+/lejltmiS3QEzV/vmb/Q8+HfDmxu+Baga8UEMGBqV88Nbg4l2hY/K2DkyaLLA==";
-      };
-    };
-    "@types/resolve-1.17.1" = {
-      name = "_at_types_slash_resolve";
-      packageName = "@types/resolve";
-      version = "1.17.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz";
-        sha512 = "yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==";
-      };
-    };
-    "@types/retry-0.12.0" = {
-      name = "_at_types_slash_retry";
-      packageName = "@types/retry";
-      version = "0.12.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz";
-        sha512 = "wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==";
-      };
-    };
-    "@types/retry-0.12.2" = {
-      name = "_at_types_slash_retry";
-      packageName = "@types/retry";
-      version = "0.12.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/retry/-/retry-0.12.2.tgz";
-        sha512 = "XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow==";
-      };
-    };
-    "@types/scheduler-0.16.2" = {
-      name = "_at_types_slash_scheduler";
-      packageName = "@types/scheduler";
-      version = "0.16.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz";
-        sha512 = "hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==";
-      };
-    };
-    "@types/serve-index-1.9.1" = {
-      name = "_at_types_slash_serve-index";
-      packageName = "@types/serve-index";
-      version = "1.9.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.1.tgz";
-        sha512 = "d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==";
-      };
-    };
-    "@types/serve-static-1.15.0" = {
-      name = "_at_types_slash_serve-static";
-      packageName = "@types/serve-static";
-      version = "1.15.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.0.tgz";
-        sha512 = "z5xyF6uh8CbjAu9760KDKsH2FcDxZ2tFCsA4HIMWE6IkiYMXfVoa+4f9KX+FN0ZLsaMw1WNG2ETLA6N+/YA+cg==";
-      };
-    };
-    "@types/sockjs-0.3.33" = {
-      name = "_at_types_slash_sockjs";
-      packageName = "@types/sockjs";
-      version = "0.3.33";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.33.tgz";
-        sha512 = "f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==";
-      };
-    };
-    "@types/source-list-map-0.1.2" = {
-      name = "_at_types_slash_source-list-map";
-      packageName = "@types/source-list-map";
-      version = "0.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.2.tgz";
-        sha512 = "K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==";
-      };
-    };
-    "@types/stack-utils-2.0.1" = {
-      name = "_at_types_slash_stack-utils";
-      packageName = "@types/stack-utils";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz";
-        sha512 = "Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==";
-      };
-    };
-    "@types/tapable-1.0.8" = {
-      name = "_at_types_slash_tapable";
-      packageName = "@types/tapable";
-      version = "1.0.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/tapable/-/tapable-1.0.8.tgz";
-        sha512 = "ipixuVrh2OdNmauvtT51o3d8z12p6LtFW9in7U79der/kwejjdNchQC5UMn5u/KxNoM7VHHOs/l8KS8uHxhODQ==";
-      };
-    };
-    "@types/testing-library__jest-dom-5.14.5" = {
-      name = "_at_types_slash_testing-library__jest-dom";
-      packageName = "@types/testing-library__jest-dom";
-      version = "5.14.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.5.tgz";
-        sha512 = "SBwbxYoyPIvxHbeHxTZX2Pe/74F/tX2/D3mMvzabdeJ25bBojfW0TyB8BHrbq/9zaaKICJZjLP+8r6AeZMFCuQ==";
-      };
-    };
-    "@types/trusted-types-2.0.2" = {
-      name = "_at_types_slash_trusted-types";
-      packageName = "@types/trusted-types";
-      version = "2.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.2.tgz";
-        sha512 = "F5DIZ36YVLE+PN+Zwws4kJogq47hNgX3Nx6WyDJ3kcplxyke3XIzB8uK5n/Lpm1HBsbGzd6nmGehL8cPekP+Tg==";
-      };
-    };
-    "@types/uglify-js-3.17.0" = {
-      name = "_at_types_slash_uglify-js";
-      packageName = "@types/uglify-js";
-      version = "3.17.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.17.0.tgz";
-        sha512 = "3HO6rm0y+/cqvOyA8xcYLweF0TKXlAxmQASjbOi49Co51A1N4nR4bEwBgRoD9kNM+rqFGArjKr654SLp2CoGmQ==";
-      };
-    };
-    "@types/unist-2.0.6" = {
-      name = "_at_types_slash_unist";
-      packageName = "@types/unist";
-      version = "2.0.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/unist/-/unist-2.0.6.tgz";
-        sha512 = "PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==";
-      };
-    };
-    "@types/webpack-4.41.32" = {
-      name = "_at_types_slash_webpack";
-      packageName = "@types/webpack";
-      version = "4.41.32";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.32.tgz";
-        sha512 = "cb+0ioil/7oz5//7tZUSwbrSAN/NWHrQylz5cW8G0dWTcF/g+/dSdMlKVZspBYuMAN1+WnwHrkxiRrLcwd0Heg==";
-      };
-    };
-    "@types/webpack-env-1.18.0" = {
-      name = "_at_types_slash_webpack-env";
-      packageName = "@types/webpack-env";
-      version = "1.18.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/webpack-env/-/webpack-env-1.18.0.tgz";
-        sha512 = "56/MAlX5WMsPVbOg7tAxnYvNYMMWr/QJiIp6BxVSW3JJXUVzzOn64qW8TzQyMSqSUFM2+PVI4aUHcHOzIz/1tg==";
-      };
-    };
-    "@types/webpack-sources-3.2.0" = {
-      name = "_at_types_slash_webpack-sources";
-      packageName = "@types/webpack-sources";
-      version = "3.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-3.2.0.tgz";
-        sha512 = "Ft7YH3lEVRQ6ls8k4Ff1oB4jN6oy/XmU6tQISKdhfh+1mR+viZFphS6WL0IrtDOzvefmJg5a0s7ZQoRXwqTEFg==";
-      };
-    };
-    "@types/ws-8.5.3" = {
-      name = "_at_types_slash_ws";
-      packageName = "@types/ws";
-      version = "8.5.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/ws/-/ws-8.5.3.tgz";
-        sha512 = "6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w==";
-      };
-    };
-    "@types/yargs-16.0.4" = {
-      name = "_at_types_slash_yargs";
-      packageName = "@types/yargs";
-      version = "16.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz";
-        sha512 = "T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==";
-      };
-    };
-    "@types/yargs-17.0.11" = {
-      name = "_at_types_slash_yargs";
-      packageName = "@types/yargs";
-      version = "17.0.11";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.11.tgz";
-        sha512 = "aB4y9UDUXTSMxmM4MH+YnuR0g5Cph3FLQBoWoMB21DSvFVAxRVEHEMx3TLh+zUZYMCQtKiqazz0Q4Rre31f/OA==";
-      };
-    };
-    "@types/yargs-parser-21.0.0" = {
-      name = "_at_types_slash_yargs-parser";
-      packageName = "@types/yargs-parser";
-      version = "21.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz";
-        sha512 = "iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==";
-      };
-    };
-    "@types/yauzl-2.10.0" = {
-      name = "_at_types_slash_yauzl";
-      packageName = "@types/yauzl";
-      version = "2.10.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz";
-        sha512 = "Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==";
-      };
-    };
-    "@typescript-eslint/eslint-plugin-5.35.1" = {
-      name = "_at_typescript-eslint_slash_eslint-plugin";
-      packageName = "@typescript-eslint/eslint-plugin";
-      version = "5.35.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.35.1.tgz";
-        sha512 = "RBZZXZlI4XCY4Wzgy64vB+0slT9+yAPQRjj/HSaRwUot33xbDjF1oN9BLwOLTewoOI0jothIltZRe9uJCHf8gg==";
-      };
-    };
-    "@typescript-eslint/experimental-utils-5.35.1" = {
-      name = "_at_typescript-eslint_slash_experimental-utils";
-      packageName = "@typescript-eslint/experimental-utils";
-      version = "5.35.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.35.1.tgz";
-        sha512 = "nF7JD9alMkhEx50QYDUdP8koeHtldnm7EfZkr68ikkc87ffFBIPkH3dqoWyOeQeIiJicB0uHzpMXKR6PP+1Jbg==";
-      };
-    };
-    "@typescript-eslint/parser-5.35.1" = {
-      name = "_at_typescript-eslint_slash_parser";
-      packageName = "@typescript-eslint/parser";
-      version = "5.35.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.35.1.tgz";
-        sha512 = "XL2TBTSrh3yWAsMYpKseBYTVpvudNf69rPOWXWVBI08My2JVT5jR66eTt4IgQFHA/giiKJW5dUD4x/ZviCKyGg==";
-      };
-    };
-    "@typescript-eslint/scope-manager-5.35.1" = {
-      name = "_at_typescript-eslint_slash_scope-manager";
-      packageName = "@typescript-eslint/scope-manager";
-      version = "5.35.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.35.1.tgz";
-        sha512 = "kCYRSAzIW9ByEIzmzGHE50NGAvAP3wFTaZevgWva7GpquDyFPFcmvVkFJGWJJktg/hLwmys/FZwqM9EKr2u24Q==";
-      };
-    };
-    "@typescript-eslint/type-utils-5.35.1" = {
-      name = "_at_typescript-eslint_slash_type-utils";
-      packageName = "@typescript-eslint/type-utils";
-      version = "5.35.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.35.1.tgz";
-        sha512 = "8xT8ljvo43Mp7BiTn1vxLXkjpw8wS4oAc00hMSB4L1/jIiYbjjnc3Qp2GAUOG/v8zsNCd1qwcqfCQ0BuishHkw==";
-      };
-    };
-    "@typescript-eslint/types-5.35.1" = {
-      name = "_at_typescript-eslint_slash_types";
-      packageName = "@typescript-eslint/types";
-      version = "5.35.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.35.1.tgz";
-        sha512 = "FDaujtsH07VHzG0gQ6NDkVVhi1+rhq0qEvzHdJAQjysN+LHDCKDKCBRlZFFE0ec0jKxiv0hN63SNfExy0KrbQQ==";
-      };
-    };
-    "@typescript-eslint/typescript-estree-5.35.1" = {
-      name = "_at_typescript-eslint_slash_typescript-estree";
-      packageName = "@typescript-eslint/typescript-estree";
-      version = "5.35.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.35.1.tgz";
-        sha512 = "JUqE1+VRTGyoXlDWWjm6MdfpBYVq+hixytrv1oyjYIBEOZhBCwtpp5ZSvBt4wIA1MKWlnaC2UXl2XmYGC3BoQA==";
-      };
-    };
-    "@typescript-eslint/utils-5.35.1" = {
-      name = "_at_typescript-eslint_slash_utils";
-      packageName = "@typescript-eslint/utils";
-      version = "5.35.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.35.1.tgz";
-        sha512 = "v6F8JNXgeBWI4pzZn36hT2HXXzoBBBJuOYvoQiaQaEEjdi5STzux3Yj8v7ODIpx36i/5s8TdzuQ54TPc5AITQQ==";
-      };
-    };
-    "@typescript-eslint/visitor-keys-5.35.1" = {
-      name = "_at_typescript-eslint_slash_visitor-keys";
-      packageName = "@typescript-eslint/visitor-keys";
-      version = "5.35.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.35.1.tgz";
-        sha512 = "cEB1DvBVo1bxbW/S5axbGPE6b7FIMAbo3w+AGq6zNDA7+NYJOIkKj/sInfTv4edxd4PxJSgdN4t6/pbvgA+n5g==";
-      };
-    };
-    "@webassemblyjs/ast-1.11.1" = {
-      name = "_at_webassemblyjs_slash_ast";
-      packageName = "@webassemblyjs/ast";
-      version = "1.11.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz";
-        sha512 = "ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==";
-      };
-    };
-    "@webassemblyjs/ast-1.9.0" = {
-      name = "_at_webassemblyjs_slash_ast";
-      packageName = "@webassemblyjs/ast";
-      version = "1.9.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz";
-        sha512 = "C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==";
-      };
-    };
-    "@webassemblyjs/floating-point-hex-parser-1.11.1" = {
-      name = "_at_webassemblyjs_slash_floating-point-hex-parser";
-      packageName = "@webassemblyjs/floating-point-hex-parser";
-      version = "1.11.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz";
-        sha512 = "iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==";
-      };
-    };
-    "@webassemblyjs/floating-point-hex-parser-1.9.0" = {
-      name = "_at_webassemblyjs_slash_floating-point-hex-parser";
-      packageName = "@webassemblyjs/floating-point-hex-parser";
-      version = "1.9.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz";
-        sha512 = "TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==";
-      };
-    };
-    "@webassemblyjs/helper-api-error-1.11.1" = {
-      name = "_at_webassemblyjs_slash_helper-api-error";
-      packageName = "@webassemblyjs/helper-api-error";
-      version = "1.11.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz";
-        sha512 = "RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==";
-      };
-    };
-    "@webassemblyjs/helper-api-error-1.9.0" = {
-      name = "_at_webassemblyjs_slash_helper-api-error";
-      packageName = "@webassemblyjs/helper-api-error";
-      version = "1.9.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz";
-        sha512 = "NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==";
-      };
-    };
-    "@webassemblyjs/helper-buffer-1.11.1" = {
-      name = "_at_webassemblyjs_slash_helper-buffer";
-      packageName = "@webassemblyjs/helper-buffer";
-      version = "1.11.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz";
-        sha512 = "gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==";
-      };
-    };
-    "@webassemblyjs/helper-buffer-1.9.0" = {
-      name = "_at_webassemblyjs_slash_helper-buffer";
-      packageName = "@webassemblyjs/helper-buffer";
-      version = "1.9.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz";
-        sha512 = "qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==";
-      };
-    };
-    "@webassemblyjs/helper-code-frame-1.9.0" = {
-      name = "_at_webassemblyjs_slash_helper-code-frame";
-      packageName = "@webassemblyjs/helper-code-frame";
-      version = "1.9.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz";
-        sha512 = "ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==";
-      };
-    };
-    "@webassemblyjs/helper-fsm-1.9.0" = {
-      name = "_at_webassemblyjs_slash_helper-fsm";
-      packageName = "@webassemblyjs/helper-fsm";
-      version = "1.9.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz";
-        sha512 = "OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==";
-      };
-    };
-    "@webassemblyjs/helper-module-context-1.9.0" = {
-      name = "_at_webassemblyjs_slash_helper-module-context";
-      packageName = "@webassemblyjs/helper-module-context";
-      version = "1.9.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz";
-        sha512 = "MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==";
-      };
-    };
-    "@webassemblyjs/helper-numbers-1.11.1" = {
-      name = "_at_webassemblyjs_slash_helper-numbers";
-      packageName = "@webassemblyjs/helper-numbers";
-      version = "1.11.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz";
-        sha512 = "vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==";
-      };
-    };
-    "@webassemblyjs/helper-wasm-bytecode-1.11.1" = {
-      name = "_at_webassemblyjs_slash_helper-wasm-bytecode";
-      packageName = "@webassemblyjs/helper-wasm-bytecode";
-      version = "1.11.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz";
-        sha512 = "PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==";
-      };
-    };
-    "@webassemblyjs/helper-wasm-bytecode-1.9.0" = {
-      name = "_at_webassemblyjs_slash_helper-wasm-bytecode";
-      packageName = "@webassemblyjs/helper-wasm-bytecode";
-      version = "1.9.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz";
-        sha512 = "R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==";
-      };
-    };
-    "@webassemblyjs/helper-wasm-section-1.11.1" = {
-      name = "_at_webassemblyjs_slash_helper-wasm-section";
-      packageName = "@webassemblyjs/helper-wasm-section";
-      version = "1.11.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz";
-        sha512 = "10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==";
-      };
-    };
-    "@webassemblyjs/helper-wasm-section-1.9.0" = {
-      name = "_at_webassemblyjs_slash_helper-wasm-section";
-      packageName = "@webassemblyjs/helper-wasm-section";
-      version = "1.9.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz";
-        sha512 = "XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==";
-      };
-    };
-    "@webassemblyjs/ieee754-1.11.1" = {
-      name = "_at_webassemblyjs_slash_ieee754";
-      packageName = "@webassemblyjs/ieee754";
-      version = "1.11.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz";
-        sha512 = "hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==";
-      };
-    };
-    "@webassemblyjs/ieee754-1.9.0" = {
-      name = "_at_webassemblyjs_slash_ieee754";
-      packageName = "@webassemblyjs/ieee754";
-      version = "1.9.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz";
-        sha512 = "dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==";
-      };
-    };
-    "@webassemblyjs/leb128-1.11.1" = {
-      name = "_at_webassemblyjs_slash_leb128";
-      packageName = "@webassemblyjs/leb128";
-      version = "1.11.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz";
-        sha512 = "BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==";
-      };
-    };
-    "@webassemblyjs/leb128-1.9.0" = {
-      name = "_at_webassemblyjs_slash_leb128";
-      packageName = "@webassemblyjs/leb128";
-      version = "1.9.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz";
-        sha512 = "ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==";
-      };
-    };
-    "@webassemblyjs/utf8-1.11.1" = {
-      name = "_at_webassemblyjs_slash_utf8";
-      packageName = "@webassemblyjs/utf8";
-      version = "1.11.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz";
-        sha512 = "9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==";
-      };
-    };
-    "@webassemblyjs/utf8-1.9.0" = {
-      name = "_at_webassemblyjs_slash_utf8";
-      packageName = "@webassemblyjs/utf8";
-      version = "1.9.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz";
-        sha512 = "GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==";
-      };
-    };
-    "@webassemblyjs/wasm-edit-1.11.1" = {
-      name = "_at_webassemblyjs_slash_wasm-edit";
-      packageName = "@webassemblyjs/wasm-edit";
-      version = "1.11.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz";
-        sha512 = "g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==";
-      };
-    };
-    "@webassemblyjs/wasm-edit-1.9.0" = {
-      name = "_at_webassemblyjs_slash_wasm-edit";
-      packageName = "@webassemblyjs/wasm-edit";
-      version = "1.9.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz";
-        sha512 = "FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==";
-      };
-    };
-    "@webassemblyjs/wasm-gen-1.11.1" = {
-      name = "_at_webassemblyjs_slash_wasm-gen";
-      packageName = "@webassemblyjs/wasm-gen";
-      version = "1.11.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz";
-        sha512 = "F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==";
-      };
-    };
-    "@webassemblyjs/wasm-gen-1.9.0" = {
-      name = "_at_webassemblyjs_slash_wasm-gen";
-      packageName = "@webassemblyjs/wasm-gen";
-      version = "1.9.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz";
-        sha512 = "cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==";
-      };
-    };
-    "@webassemblyjs/wasm-opt-1.11.1" = {
-      name = "_at_webassemblyjs_slash_wasm-opt";
-      packageName = "@webassemblyjs/wasm-opt";
-      version = "1.11.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz";
-        sha512 = "VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==";
-      };
-    };
-    "@webassemblyjs/wasm-opt-1.9.0" = {
-      name = "_at_webassemblyjs_slash_wasm-opt";
-      packageName = "@webassemblyjs/wasm-opt";
-      version = "1.9.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz";
-        sha512 = "Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==";
-      };
-    };
-    "@webassemblyjs/wasm-parser-1.11.1" = {
-      name = "_at_webassemblyjs_slash_wasm-parser";
-      packageName = "@webassemblyjs/wasm-parser";
-      version = "1.11.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz";
-        sha512 = "rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==";
-      };
-    };
-    "@webassemblyjs/wasm-parser-1.9.0" = {
-      name = "_at_webassemblyjs_slash_wasm-parser";
-      packageName = "@webassemblyjs/wasm-parser";
-      version = "1.9.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz";
-        sha512 = "9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==";
-      };
-    };
-    "@webassemblyjs/wast-parser-1.9.0" = {
-      name = "_at_webassemblyjs_slash_wast-parser";
-      packageName = "@webassemblyjs/wast-parser";
-      version = "1.9.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz";
-        sha512 = "qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==";
-      };
-    };
-    "@webassemblyjs/wast-printer-1.11.1" = {
-      name = "_at_webassemblyjs_slash_wast-printer";
-      packageName = "@webassemblyjs/wast-printer";
-      version = "1.11.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz";
-        sha512 = "IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==";
-      };
-    };
-    "@webassemblyjs/wast-printer-1.9.0" = {
-      name = "_at_webassemblyjs_slash_wast-printer";
-      packageName = "@webassemblyjs/wast-printer";
-      version = "1.9.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz";
-        sha512 = "2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==";
-      };
-    };
-    "@wojtekmaj/enzyme-adapter-react-17-0.6.7" = {
-      name = "_at_wojtekmaj_slash_enzyme-adapter-react-17";
-      packageName = "@wojtekmaj/enzyme-adapter-react-17";
-      version = "0.6.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@wojtekmaj/enzyme-adapter-react-17/-/enzyme-adapter-react-17-0.6.7.tgz";
-        sha512 = "B+byiwi/T1bx5hcj9wc0fUL5Hlb5giSXJzcnEfJVl2j6dGV2NJfcxDBYX0WWwIxlzNiFz8kAvlkFWI2y/nscZQ==";
-      };
-    };
-    "@wojtekmaj/enzyme-adapter-utils-0.1.4" = {
-      name = "_at_wojtekmaj_slash_enzyme-adapter-utils";
-      packageName = "@wojtekmaj/enzyme-adapter-utils";
-      version = "0.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@wojtekmaj/enzyme-adapter-utils/-/enzyme-adapter-utils-0.1.4.tgz";
-        sha512 = "ARGIQSIIv3oBia1m5Ihn1VU0FGmft6KPe39SBKTb8p7LSXO23YI4kNtc4M/cKoIY7P+IYdrZcgMObvedyjoSQA==";
-      };
-    };
-    "@xtuc/ieee754-1.2.0" = {
-      name = "_at_xtuc_slash_ieee754";
-      packageName = "@xtuc/ieee754";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz";
-        sha512 = "DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==";
-      };
-    };
-    "@xtuc/long-4.2.2" = {
-      name = "_at_xtuc_slash_long";
-      packageName = "@xtuc/long";
-      version = "4.2.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz";
-        sha512 = "NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==";
-      };
-    };
-    "abab-2.0.6" = {
-      name = "abab";
-      packageName = "abab";
-      version = "2.0.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz";
-        sha512 = "j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==";
-      };
-    };
-    "accepts-1.3.8" = {
-      name = "accepts";
-      packageName = "accepts";
-      version = "1.3.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz";
-        sha512 = "PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==";
-      };
-    };
-    "acorn-6.4.2" = {
-      name = "acorn";
-      packageName = "acorn";
-      version = "6.4.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz";
-        sha512 = "XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==";
-      };
-    };
-    "acorn-7.4.1" = {
-      name = "acorn";
-      packageName = "acorn";
-      version = "7.4.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz";
-        sha512 = "nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==";
-      };
-    };
-    "acorn-8.8.0" = {
-      name = "acorn";
-      packageName = "acorn";
-      version = "8.8.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz";
-        sha512 = "QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==";
-      };
-    };
-    "acorn-globals-6.0.0" = {
-      name = "acorn-globals";
-      packageName = "acorn-globals";
-      version = "6.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz";
-        sha512 = "ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==";
-      };
-    };
-    "acorn-import-assertions-1.8.0" = {
-      name = "acorn-import-assertions";
-      packageName = "acorn-import-assertions";
-      version = "1.8.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz";
-        sha512 = "m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==";
-      };
-    };
-    "acorn-jsx-5.3.2" = {
-      name = "acorn-jsx";
-      packageName = "acorn-jsx";
-      version = "5.3.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz";
-        sha512 = "rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==";
-      };
-    };
-    "acorn-node-1.8.2" = {
-      name = "acorn-node";
-      packageName = "acorn-node";
-      version = "1.8.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz";
-        sha512 = "8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==";
-      };
-    };
-    "acorn-walk-7.2.0" = {
-      name = "acorn-walk";
-      packageName = "acorn-walk";
-      version = "7.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz";
-        sha512 = "OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==";
-      };
-    };
-    "address-1.2.0" = {
-      name = "address";
-      packageName = "address";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/address/-/address-1.2.0.tgz";
-        sha512 = "tNEZYz5G/zYunxFm7sfhAxkXEuLj3K6BKwv6ZURlsF6yiUQ65z0Q2wZW9L5cPUl9ocofGvXOdFYbFHp0+6MOig==";
-      };
-    };
-    "adjust-sourcemap-loader-4.0.0" = {
-      name = "adjust-sourcemap-loader";
-      packageName = "adjust-sourcemap-loader";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz";
-        sha512 = "OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==";
-      };
-    };
-    "agent-base-6.0.2" = {
-      name = "agent-base";
-      packageName = "agent-base";
-      version = "6.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz";
-        sha512 = "RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==";
-      };
-    };
-    "aggregate-error-3.1.0" = {
-      name = "aggregate-error";
-      packageName = "aggregate-error";
-      version = "3.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz";
-        sha512 = "4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==";
-      };
-    };
-    "airbnb-js-shims-2.2.1" = {
-      name = "airbnb-js-shims";
-      packageName = "airbnb-js-shims";
-      version = "2.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/airbnb-js-shims/-/airbnb-js-shims-2.2.1.tgz";
-        sha512 = "wJNXPH66U2xjgo1Zwyjf9EydvJ2Si94+vSdk6EERcBfB2VZkeltpqIats0cqIZMLCXP3zcyaUKGYQeIBT6XjsQ==";
-      };
-    };
-    "ajv-6.12.6" = {
-      name = "ajv";
-      packageName = "ajv";
-      version = "6.12.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz";
-        sha512 = "j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==";
-      };
-    };
-    "ajv-8.11.0" = {
-      name = "ajv";
-      packageName = "ajv";
-      version = "8.11.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz";
-        sha512 = "wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==";
-      };
-    };
-    "ajv-errors-1.0.1" = {
-      name = "ajv-errors";
-      packageName = "ajv-errors";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz";
-        sha512 = "DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==";
-      };
-    };
-    "ajv-formats-2.1.1" = {
-      name = "ajv-formats";
-      packageName = "ajv-formats";
-      version = "2.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz";
-        sha512 = "Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==";
-      };
-    };
-    "ajv-keywords-3.5.2" = {
-      name = "ajv-keywords";
-      packageName = "ajv-keywords";
-      version = "3.5.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz";
-        sha512 = "5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==";
-      };
-    };
-    "ajv-keywords-5.1.0" = {
-      name = "ajv-keywords";
-      packageName = "ajv-keywords";
-      version = "5.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz";
-        sha512 = "YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==";
-      };
-    };
-    "ansi-align-3.0.1" = {
-      name = "ansi-align";
-      packageName = "ansi-align";
-      version = "3.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz";
-        sha512 = "IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==";
-      };
-    };
-    "ansi-colors-3.2.4" = {
-      name = "ansi-colors";
-      packageName = "ansi-colors";
-      version = "3.2.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz";
-        sha512 = "hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==";
-      };
-    };
-    "ansi-escapes-4.3.2" = {
-      name = "ansi-escapes";
-      packageName = "ansi-escapes";
-      version = "4.3.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz";
-        sha512 = "gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==";
-      };
-    };
-    "ansi-html-community-0.0.8" = {
-      name = "ansi-html-community";
-      packageName = "ansi-html-community";
-      version = "0.0.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz";
-        sha512 = "1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==";
-      };
-    };
-    "ansi-regex-2.1.1" = {
-      name = "ansi-regex";
-      packageName = "ansi-regex";
-      version = "2.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz";
-        sha512 = "TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==";
-      };
-    };
-    "ansi-regex-5.0.1" = {
-      name = "ansi-regex";
-      packageName = "ansi-regex";
-      version = "5.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz";
-        sha512 = "quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==";
-      };
-    };
-    "ansi-regex-6.0.1" = {
-      name = "ansi-regex";
-      packageName = "ansi-regex";
-      version = "6.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz";
-        sha512 = "n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==";
-      };
-    };
-    "ansi-styles-3.2.1" = {
-      name = "ansi-styles";
-      packageName = "ansi-styles";
-      version = "3.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz";
-        sha512 = "VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==";
-      };
-    };
-    "ansi-styles-4.3.0" = {
-      name = "ansi-styles";
-      packageName = "ansi-styles";
-      version = "4.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz";
-        sha512 = "zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==";
-      };
-    };
-    "ansi-styles-5.2.0" = {
-      name = "ansi-styles";
-      packageName = "ansi-styles";
-      version = "5.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz";
-        sha512 = "Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==";
-      };
-    };
-    "ansi-to-html-0.6.15" = {
-      name = "ansi-to-html";
-      packageName = "ansi-to-html";
-      version = "0.6.15";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ansi-to-html/-/ansi-to-html-0.6.15.tgz";
-        sha512 = "28ijx2aHJGdzbs+O5SNQF65r6rrKYnkuwTYm8lZlChuoJ9P1vVzIpWO20sQTqTPDXYp6NFwk326vApTtLVFXpQ==";
-      };
-    };
-    "anymatch-2.0.0" = {
-      name = "anymatch";
-      packageName = "anymatch";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz";
-        sha512 = "5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==";
-      };
-    };
-    "anymatch-3.1.2" = {
-      name = "anymatch";
-      packageName = "anymatch";
-      version = "3.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz";
-        sha512 = "P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==";
-      };
-    };
-    "app-root-dir-1.0.2" = {
-      name = "app-root-dir";
-      packageName = "app-root-dir";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/app-root-dir/-/app-root-dir-1.0.2.tgz";
-        sha512 = "jlpIfsOoNoafl92Sz//64uQHGSyMrD2vYG5d8o2a4qGvyNCvXur7bzIsWtAC/6flI2RYAp3kv8rsfBtaLm7w0g==";
-      };
-    };
-    "aproba-1.2.0" = {
-      name = "aproba";
-      packageName = "aproba";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz";
-        sha512 = "Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==";
-      };
-    };
-    "aproba-2.0.0" = {
-      name = "aproba";
-      packageName = "aproba";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz";
-        sha512 = "lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==";
-      };
-    };
-    "are-we-there-yet-2.0.0" = {
-      name = "are-we-there-yet";
-      packageName = "are-we-there-yet";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz";
-        sha512 = "Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==";
-      };
-    };
-    "arg-5.0.2" = {
-      name = "arg";
-      packageName = "arg";
-      version = "5.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz";
-        sha512 = "PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==";
-      };
-    };
-    "argparse-1.0.10" = {
-      name = "argparse";
-      packageName = "argparse";
-      version = "1.0.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz";
-        sha512 = "o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==";
-      };
-    };
-    "argparse-2.0.1" = {
-      name = "argparse";
-      packageName = "argparse";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz";
-        sha512 = "8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==";
-      };
-    };
-    "aria-query-4.2.2" = {
-      name = "aria-query";
-      packageName = "aria-query";
-      version = "4.2.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz";
-        sha512 = "o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==";
-      };
-    };
-    "aria-query-5.0.2" = {
-      name = "aria-query";
-      packageName = "aria-query";
-      version = "5.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/aria-query/-/aria-query-5.0.2.tgz";
-        sha512 = "eigU3vhqSO+Z8BKDnVLN/ompjhf3pYzecKXz8+whRy+9gZu8n1TCGfwzQUUPnqdHl9ax1Hr9031orZ+UOEYr7Q==";
-      };
-    };
-    "arr-diff-4.0.0" = {
-      name = "arr-diff";
-      packageName = "arr-diff";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz";
-        sha512 = "YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==";
-      };
-    };
-    "arr-flatten-1.1.0" = {
-      name = "arr-flatten";
-      packageName = "arr-flatten";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz";
-        sha512 = "L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==";
-      };
-    };
-    "arr-union-3.1.0" = {
-      name = "arr-union";
-      packageName = "arr-union";
-      version = "3.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz";
-        sha512 = "sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==";
-      };
-    };
-    "array-find-index-1.0.2" = {
-      name = "array-find-index";
-      packageName = "array-find-index";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz";
-        sha512 = "M1HQyIXcBGtVywBt8WVdim+lrNaK7VHp99Qt5pSNziXznKHViIBbXWtfRTpEFpF/c4FdfxNAsCCwPp5phBYJtw==";
-      };
-    };
-    "array-flatten-1.1.1" = {
-      name = "array-flatten";
-      packageName = "array-flatten";
-      version = "1.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz";
-        sha512 = "PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==";
-      };
-    };
-    "array-flatten-2.1.2" = {
-      name = "array-flatten";
-      packageName = "array-flatten";
-      version = "2.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz";
-        sha512 = "hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==";
-      };
-    };
-    "array-includes-3.1.5" = {
-      name = "array-includes";
-      packageName = "array-includes";
-      version = "3.1.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/array-includes/-/array-includes-3.1.5.tgz";
-        sha512 = "iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ==";
-      };
-    };
-    "array-union-1.0.2" = {
-      name = "array-union";
-      packageName = "array-union";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz";
-        sha512 = "Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==";
-      };
-    };
-    "array-union-2.1.0" = {
-      name = "array-union";
-      packageName = "array-union";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz";
-        sha512 = "HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==";
-      };
-    };
-    "array-uniq-1.0.3" = {
-      name = "array-uniq";
-      packageName = "array-uniq";
-      version = "1.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz";
-        sha512 = "MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==";
-      };
-    };
-    "array-unique-0.3.2" = {
-      name = "array-unique";
-      packageName = "array-unique";
-      version = "0.3.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz";
-        sha512 = "SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==";
-      };
-    };
-    "array.prototype.filter-1.0.1" = {
-      name = "array.prototype.filter";
-      packageName = "array.prototype.filter";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/array.prototype.filter/-/array.prototype.filter-1.0.1.tgz";
-        sha512 = "Dk3Ty7N42Odk7PjU/Ci3zT4pLj20YvuVnneG/58ICM6bt4Ij5kZaJTVQ9TSaWaIECX2sFyz4KItkVZqHNnciqw==";
-      };
-    };
-    "array.prototype.flat-1.3.0" = {
-      name = "array.prototype.flat";
-      packageName = "array.prototype.flat";
-      version = "1.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.0.tgz";
-        sha512 = "12IUEkHsAhA4DY5s0FPgNXIdc8VRSqD9Zp78a5au9abH/SOBrsp082JOWFNTjkMozh8mqcdiKuaLGhPeYztxSw==";
-      };
-    };
-    "array.prototype.flatmap-1.3.0" = {
-      name = "array.prototype.flatmap";
-      packageName = "array.prototype.flatmap";
-      version = "1.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.0.tgz";
-        sha512 = "PZC9/8TKAIxcWKdyeb77EzULHPrIX/tIZebLJUQOMR1OwYosT8yggdfWScfTBCDj5utONvOuPQQumYsU2ULbkg==";
-      };
-    };
-    "array.prototype.map-1.0.4" = {
-      name = "array.prototype.map";
-      packageName = "array.prototype.map";
-      version = "1.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/array.prototype.map/-/array.prototype.map-1.0.4.tgz";
-        sha512 = "Qds9QnX7A0qISY7JT5WuJO0NJPE9CMlC6JzHQfhpqAAQQzufVRoeH7EzUY5GcPTx72voG8LV/5eo+b8Qi8hmhA==";
-      };
-    };
-    "array.prototype.reduce-1.0.4" = {
-      name = "array.prototype.reduce";
-      packageName = "array.prototype.reduce";
-      version = "1.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.4.tgz";
-        sha512 = "WnM+AjG/DvLRLo4DDl+r+SvCzYtD2Jd9oeBYMcEaI7t3fFrHY9M53/wdLcTvmZNQ70IU6Htj0emFkZ5TS+lrdw==";
-      };
-    };
-    "arrify-2.0.1" = {
-      name = "arrify";
-      packageName = "arrify";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz";
-        sha512 = "3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==";
-      };
-    };
-    "asap-2.0.6" = {
-      name = "asap";
-      packageName = "asap";
-      version = "2.0.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz";
-        sha512 = "BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==";
-      };
-    };
-    "asn1.js-5.4.1" = {
-      name = "asn1.js";
-      packageName = "asn1.js";
-      version = "5.4.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz";
-        sha512 = "+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==";
-      };
-    };
-    "assert-1.5.0" = {
-      name = "assert";
-      packageName = "assert";
-      version = "1.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz";
-        sha512 = "EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==";
-      };
-    };
-    "assign-symbols-1.0.0" = {
-      name = "assign-symbols";
-      packageName = "assign-symbols";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz";
-        sha512 = "Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==";
-      };
-    };
-    "ast-types-0.14.2" = {
-      name = "ast-types";
-      packageName = "ast-types";
-      version = "0.14.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ast-types/-/ast-types-0.14.2.tgz";
-        sha512 = "O0yuUDnZeQDL+ncNGlJ78BiO4jnYI3bvMsD5prT0/nsgijG/LpNBIr63gTjVTNsiGkgQhiyCShTgxt8oXOrklA==";
-      };
-    };
-    "ast-types-flow-0.0.7" = {
-      name = "ast-types-flow";
-      packageName = "ast-types-flow";
-      version = "0.0.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz";
-        sha512 = "eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==";
-      };
-    };
-    "async-3.2.4" = {
-      name = "async";
-      packageName = "async";
-      version = "3.2.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/async/-/async-3.2.4.tgz";
-        sha512 = "iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==";
-      };
-    };
-    "async-each-1.0.3" = {
-      name = "async-each";
-      packageName = "async-each";
-      version = "1.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz";
-        sha512 = "z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==";
-      };
-    };
-    "asynckit-0.4.0" = {
-      name = "asynckit";
-      packageName = "asynckit";
-      version = "0.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz";
-        sha512 = "Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==";
-      };
-    };
-    "at-least-node-1.0.0" = {
-      name = "at-least-node";
-      packageName = "at-least-node";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz";
-        sha512 = "+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==";
-      };
-    };
-    "atob-2.1.2" = {
-      name = "atob";
-      packageName = "atob";
-      version = "2.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz";
-        sha512 = "Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==";
-      };
-    };
-    "autoprefixer-10.4.5" = {
-      name = "autoprefixer";
-      packageName = "autoprefixer";
-      version = "10.4.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.5.tgz";
-        sha512 = "Fvd8yCoA7lNX/OUllvS+aS1I7WRBclGXsepbvT8ZaPgrH24rgXpZzF0/6Hh3ZEkwg+0AES/Osd196VZmYoEFtw==";
-      };
-    };
-    "autoprefixer-9.8.8" = {
-      name = "autoprefixer";
-      packageName = "autoprefixer";
-      version = "9.8.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.8.tgz";
-        sha512 = "eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA==";
-      };
-    };
-    "axe-core-4.4.3" = {
-      name = "axe-core";
-      packageName = "axe-core";
-      version = "4.4.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/axe-core/-/axe-core-4.4.3.tgz";
-        sha512 = "32+ub6kkdhhWick/UjvEwRchgoetXqTK14INLqbGm5U2TzBkBNF3nQtLYm8ovxSkQWArjEQvftCKryjZaATu3w==";
-      };
-    };
-    "axobject-query-2.2.0" = {
-      name = "axobject-query";
-      packageName = "axobject-query";
-      version = "2.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/axobject-query/-/axobject-query-2.2.0.tgz";
-        sha512 = "Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==";
-      };
-    };
-    "babel-jest-27.5.1" = {
-      name = "babel-jest";
-      packageName = "babel-jest";
-      version = "27.5.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz";
-        sha512 = "cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==";
-      };
-    };
-    "babel-loader-8.2.5" = {
-      name = "babel-loader";
-      packageName = "babel-loader";
-      version = "8.2.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.5.tgz";
-        sha512 = "OSiFfH89LrEMiWd4pLNqGz4CwJDtbs2ZVc+iGu2HrkRfPxId9F2anQj38IxWpmRfsUY0aBZYi1EFcd3mhtRMLQ==";
-      };
-    };
-    "babel-plugin-add-react-displayname-0.0.5" = {
-      name = "babel-plugin-add-react-displayname";
-      packageName = "babel-plugin-add-react-displayname";
-      version = "0.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-plugin-add-react-displayname/-/babel-plugin-add-react-displayname-0.0.5.tgz";
-        sha512 = "LY3+Y0XVDYcShHHorshrDbt4KFWL4bSeniCtl4SYZbask+Syngk1uMPCeN9+nSiZo6zX5s0RTq/J9Pnaaf/KHw==";
-      };
-    };
-    "babel-plugin-apply-mdx-type-prop-1.6.22" = {
-      name = "babel-plugin-apply-mdx-type-prop";
-      packageName = "babel-plugin-apply-mdx-type-prop";
-      version = "1.6.22";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-plugin-apply-mdx-type-prop/-/babel-plugin-apply-mdx-type-prop-1.6.22.tgz";
-        sha512 = "VefL+8o+F/DfK24lPZMtJctrCVOfgbqLAGZSkxwhazQv4VxPg3Za/i40fu22KR2m8eEda+IfSOlPLUSIiLcnCQ==";
-      };
-    };
-    "babel-plugin-dynamic-import-node-2.3.3" = {
-      name = "babel-plugin-dynamic-import-node";
-      packageName = "babel-plugin-dynamic-import-node";
-      version = "2.3.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz";
-        sha512 = "jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==";
-      };
-    };
-    "babel-plugin-extract-import-names-1.6.22" = {
-      name = "babel-plugin-extract-import-names";
-      packageName = "babel-plugin-extract-import-names";
-      version = "1.6.22";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-plugin-extract-import-names/-/babel-plugin-extract-import-names-1.6.22.tgz";
-        sha512 = "yJ9BsJaISua7d8zNT7oRG1ZLBJCIdZ4PZqmH8qa9N5AK01ifk3fnkc98AXhtzE7UkfCsEumvoQWgoYLhOnJ7jQ==";
-      };
-    };
-    "babel-plugin-istanbul-6.1.1" = {
-      name = "babel-plugin-istanbul";
-      packageName = "babel-plugin-istanbul";
-      version = "6.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz";
-        sha512 = "Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==";
-      };
-    };
-    "babel-plugin-jest-hoist-27.5.1" = {
-      name = "babel-plugin-jest-hoist";
-      packageName = "babel-plugin-jest-hoist";
-      version = "27.5.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz";
-        sha512 = "50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==";
-      };
-    };
-    "babel-plugin-macros-3.1.0" = {
-      name = "babel-plugin-macros";
-      packageName = "babel-plugin-macros";
-      version = "3.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz";
-        sha512 = "Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==";
-      };
-    };
-    "babel-plugin-named-asset-import-0.3.8" = {
-      name = "babel-plugin-named-asset-import";
-      packageName = "babel-plugin-named-asset-import";
-      version = "0.3.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.8.tgz";
-        sha512 = "WXiAc++qo7XcJ1ZnTYGtLxmBCVbddAml3CEXgWaBzNzLNoxtQ8AiGEFDMOhot9XjTCQbvP5E77Fj9Gk924f00Q==";
-      };
-    };
-    "babel-plugin-named-exports-order-0.0.2" = {
-      name = "babel-plugin-named-exports-order";
-      packageName = "babel-plugin-named-exports-order";
-      version = "0.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-plugin-named-exports-order/-/babel-plugin-named-exports-order-0.0.2.tgz";
-        sha512 = "OgOYHOLoRK+/mvXU9imKHlG6GkPLYrUCvFXG/CM93R/aNNO8pOOF4aS+S8CCHMDQoNSeiOYEZb/G6RwL95Jktw==";
-      };
-    };
-    "babel-plugin-polyfill-corejs2-0.3.2" = {
-      name = "babel-plugin-polyfill-corejs2";
-      packageName = "babel-plugin-polyfill-corejs2";
-      version = "0.3.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.2.tgz";
-        sha512 = "LPnodUl3lS0/4wN3Rb+m+UK8s7lj2jcLRrjho4gLw+OJs+I4bvGXshINesY5xx/apM+biTnQ9reDI8yj+0M5+Q==";
-      };
-    };
-    "babel-plugin-polyfill-corejs3-0.1.7" = {
-      name = "babel-plugin-polyfill-corejs3";
-      packageName = "babel-plugin-polyfill-corejs3";
-      version = "0.1.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.1.7.tgz";
-        sha512 = "u+gbS9bbPhZWEeyy1oR/YaaSpod/KDT07arZHb80aTpl8H5ZBq+uN1nN9/xtX7jQyfLdPfoqI4Rue/MQSWJquw==";
-      };
-    };
-    "babel-plugin-polyfill-corejs3-0.5.3" = {
-      name = "babel-plugin-polyfill-corejs3";
-      packageName = "babel-plugin-polyfill-corejs3";
-      version = "0.5.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.3.tgz";
-        sha512 = "zKsXDh0XjnrUEW0mxIHLfjBfnXSMr5Q/goMe/fxpQnLm07mcOZiIZHBNWCMx60HmdvjxfXcalac0tfFg0wqxyw==";
-      };
-    };
-    "babel-plugin-polyfill-regenerator-0.4.0" = {
-      name = "babel-plugin-polyfill-regenerator";
-      packageName = "babel-plugin-polyfill-regenerator";
-      version = "0.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.0.tgz";
-        sha512 = "RW1cnryiADFeHmfLS+WW/G431p1PsW5qdRdz0SDRi7TKcUgc7Oh/uXkT7MZ/+tGsT1BkczEAmD5XjUyJ5SWDTw==";
-      };
-    };
-    "babel-plugin-react-docgen-4.2.1" = {
-      name = "babel-plugin-react-docgen";
-      packageName = "babel-plugin-react-docgen";
-      version = "4.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-plugin-react-docgen/-/babel-plugin-react-docgen-4.2.1.tgz";
-        sha512 = "UQ0NmGHj/HAqi5Bew8WvNfCk8wSsmdgNd8ZdMjBCICtyCJCq9LiqgqvjCYe570/Wg7AQArSq1VQ60Dd/CHN7mQ==";
-      };
-    };
-    "babel-plugin-transform-react-remove-prop-types-0.4.24" = {
-      name = "babel-plugin-transform-react-remove-prop-types";
-      packageName = "babel-plugin-transform-react-remove-prop-types";
-      version = "0.4.24";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz";
-        sha512 = "eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==";
-      };
-    };
-    "babel-preset-current-node-syntax-1.0.1" = {
-      name = "babel-preset-current-node-syntax";
-      packageName = "babel-preset-current-node-syntax";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz";
-        sha512 = "M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==";
-      };
-    };
-    "babel-preset-jest-27.5.1" = {
-      name = "babel-preset-jest";
-      packageName = "babel-preset-jest";
-      version = "27.5.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz";
-        sha512 = "Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==";
-      };
-    };
-    "babel-preset-react-app-10.0.1" = {
-      name = "babel-preset-react-app";
-      packageName = "babel-preset-react-app";
-      version = "10.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-preset-react-app/-/babel-preset-react-app-10.0.1.tgz";
-        sha512 = "b0D9IZ1WhhCWkrTXyFuIIgqGzSkRIH5D5AmB0bXbzYAB1OBAwHcUeyWW2LorutLWF5btNo/N7r/cIdmvvKJlYg==";
-      };
-    };
-    "bail-1.0.5" = {
-      name = "bail";
-      packageName = "bail";
-      version = "1.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/bail/-/bail-1.0.5.tgz";
-        sha512 = "xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==";
-      };
-    };
-    "balanced-match-1.0.2" = {
-      name = "balanced-match";
-      packageName = "balanced-match";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz";
-        sha512 = "3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==";
-      };
-    };
-    "base-0.11.2" = {
-      name = "base";
-      packageName = "base";
-      version = "0.11.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/base/-/base-0.11.2.tgz";
-        sha512 = "5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==";
-      };
-    };
-    "base64-js-1.5.1" = {
-      name = "base64-js";
-      packageName = "base64-js";
-      version = "1.5.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz";
-        sha512 = "AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==";
-      };
-    };
-    "batch-0.6.1" = {
-      name = "batch";
-      packageName = "batch";
-      version = "0.6.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz";
-        sha512 = "x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==";
-      };
-    };
-    "better-opn-2.1.1" = {
-      name = "better-opn";
-      packageName = "better-opn";
-      version = "2.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/better-opn/-/better-opn-2.1.1.tgz";
-        sha512 = "kIPXZS5qwyKiX/HcRvDYfmBQUa8XP17I0mYZZ0y4UhpYOSvtsLHDYqmomS+Mj20aDvD3knEiQ0ecQy2nhio3yA==";
-      };
-    };
-    "bfj-7.0.2" = {
-      name = "bfj";
-      packageName = "bfj";
-      version = "7.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/bfj/-/bfj-7.0.2.tgz";
-        sha512 = "+e/UqUzwmzJamNF50tBV6tZPTORow7gQ96iFow+8b562OdMpEK0BcJEq2OSPEDmAbSMBQ7PKZ87ubFkgxpYWgw==";
-      };
-    };
-    "big-integer-1.6.51" = {
-      name = "big-integer";
-      packageName = "big-integer";
-      version = "1.6.51";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/big-integer/-/big-integer-1.6.51.tgz";
-        sha512 = "GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==";
-      };
-    };
-    "big.js-5.2.2" = {
-      name = "big.js";
-      packageName = "big.js";
-      version = "5.2.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz";
-        sha512 = "vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==";
-      };
-    };
-    "binary-extensions-1.13.1" = {
-      name = "binary-extensions";
-      packageName = "binary-extensions";
-      version = "1.13.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz";
-        sha512 = "Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==";
-      };
-    };
-    "binary-extensions-2.2.0" = {
-      name = "binary-extensions";
-      packageName = "binary-extensions";
-      version = "2.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz";
-        sha512 = "jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==";
-      };
-    };
-    "bindings-1.5.0" = {
-      name = "bindings";
-      packageName = "bindings";
-      version = "1.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz";
-        sha512 = "p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==";
-      };
-    };
-    "bluebird-3.7.2" = {
-      name = "bluebird";
-      packageName = "bluebird";
-      version = "3.7.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz";
-        sha512 = "XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==";
-      };
-    };
-    "bn.js-4.12.0" = {
-      name = "bn.js";
-      packageName = "bn.js";
-      version = "4.12.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz";
-        sha512 = "c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==";
-      };
-    };
-    "bn.js-5.2.1" = {
-      name = "bn.js";
-      packageName = "bn.js";
-      version = "5.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz";
-        sha512 = "eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==";
-      };
-    };
-    "body-parser-1.20.0" = {
-      name = "body-parser";
-      packageName = "body-parser";
-      version = "1.20.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz";
-        sha512 = "DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==";
-      };
-    };
-    "body-scroll-lock-3.1.5" = {
-      name = "body-scroll-lock";
-      packageName = "body-scroll-lock";
-      version = "3.1.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/body-scroll-lock/-/body-scroll-lock-3.1.5.tgz";
-        sha512 = "Yi1Xaml0EvNA0OYWxXiYNqY24AfWkbA6w5vxE7GWxtKfzIbZM+Qw+aSmkgsbWzbHiy/RCSkUZBplVxTA+E4jJg==";
-      };
-    };
-    "bonjour-service-1.0.13" = {
-      name = "bonjour-service";
-      packageName = "bonjour-service";
-      version = "1.0.13";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.0.13.tgz";
-        sha512 = "LWKRU/7EqDUC9CTAQtuZl5HzBALoCYwtLhffW3et7vZMwv3bWLpJf8bRYlMD5OCcDpTfnPgNCV4yo9ZIaJGMiA==";
-      };
-    };
-    "boolbase-1.0.0" = {
-      name = "boolbase";
-      packageName = "boolbase";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz";
-        sha512 = "JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==";
-      };
-    };
-    "bootstrap-5.2.0" = {
-      name = "bootstrap";
-      packageName = "bootstrap";
-      version = "5.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/bootstrap/-/bootstrap-5.2.0.tgz";
-        sha512 = "qlnS9GL6YZE6Wnef46GxGv1UpGGzAwO0aPL1yOjzDIJpeApeMvqV24iL+pjr2kU4dduoBA9fINKWKgMToobx9A==";
-      };
-    };
-    "bootswatch-5.2.0" = {
-      name = "bootswatch";
-      packageName = "bootswatch";
-      version = "5.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/bootswatch/-/bootswatch-5.2.0.tgz";
-        sha512 = "v9krdPdybb5hUwVwlv3f7/FhOa5cXbCb5U5CI4gdnalcxR3ekclXE6kPZWL5O8V8qwNI9BB73apASO1MLmRpIA==";
-      };
-    };
-    "boxen-5.1.2" = {
-      name = "boxen";
-      packageName = "boxen";
-      version = "5.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz";
-        sha512 = "9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==";
-      };
-    };
-    "bplist-parser-0.1.1" = {
-      name = "bplist-parser";
-      packageName = "bplist-parser";
-      version = "0.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.1.1.tgz";
-        sha512 = "2AEM0FXy8ZxVLBuqX0hqt1gDwcnz2zygEkQ6zaD5Wko/sB9paUNwlpawrFtKeHUAQUOzjVy9AO4oeonqIHKA9Q==";
-      };
-    };
-    "brace-expansion-1.1.11" = {
-      name = "brace-expansion";
-      packageName = "brace-expansion";
-      version = "1.1.11";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz";
-        sha512 = "iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==";
-      };
-    };
-    "brace-expansion-2.0.1" = {
-      name = "brace-expansion";
-      packageName = "brace-expansion";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz";
-        sha512 = "XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==";
-      };
-    };
-    "braces-2.3.2" = {
-      name = "braces";
-      packageName = "braces";
-      version = "2.3.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz";
-        sha512 = "aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==";
-      };
-    };
-    "braces-3.0.2" = {
-      name = "braces";
-      packageName = "braces";
-      version = "3.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz";
-        sha512 = "b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==";
-      };
-    };
-    "bricks.js-1.8.0" = {
-      name = "bricks.js";
-      packageName = "bricks.js";
-      version = "1.8.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/bricks.js/-/bricks.js-1.8.0.tgz";
-        sha512 = "XJsIGxoixpMDo/KoLXR+uQizFVGWNAQy1lLoIwXKxm6/Zpd9QQLSUd0otybbK7wjqX23ZvCXFxnIw+uCXJHo0A==";
-      };
-    };
-    "brorand-1.1.0" = {
-      name = "brorand";
-      packageName = "brorand";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz";
-        sha512 = "cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==";
-      };
-    };
-    "browser-assert-1.2.1" = {
-      name = "browser-assert";
-      packageName = "browser-assert";
-      version = "1.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/browser-assert/-/browser-assert-1.2.1.tgz";
-        sha512 = "nfulgvOR6S4gt9UKCeGJOuSGBPGiFT6oQ/2UBnvTY/5aQ1PnksW72fhZkM30DzoRRv2WpwZf1vHHEr3mtuXIWQ==";
-      };
-    };
-    "browser-process-hrtime-1.0.0" = {
-      name = "browser-process-hrtime";
-      packageName = "browser-process-hrtime";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz";
-        sha512 = "9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==";
-      };
-    };
-    "browserify-aes-1.2.0" = {
-      name = "browserify-aes";
-      packageName = "browserify-aes";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz";
-        sha512 = "+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==";
-      };
-    };
-    "browserify-cipher-1.0.1" = {
-      name = "browserify-cipher";
-      packageName = "browserify-cipher";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz";
-        sha512 = "sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==";
-      };
-    };
-    "browserify-des-1.0.2" = {
-      name = "browserify-des";
-      packageName = "browserify-des";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz";
-        sha512 = "BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==";
-      };
-    };
-    "browserify-rsa-4.1.0" = {
-      name = "browserify-rsa";
-      packageName = "browserify-rsa";
-      version = "4.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz";
-        sha512 = "AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==";
-      };
-    };
-    "browserify-sign-4.2.1" = {
-      name = "browserify-sign";
-      packageName = "browserify-sign";
-      version = "4.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz";
-        sha512 = "/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==";
-      };
-    };
-    "browserify-zlib-0.2.0" = {
-      name = "browserify-zlib";
-      packageName = "browserify-zlib";
-      version = "0.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz";
-        sha512 = "Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==";
-      };
-    };
-    "browserslist-4.21.3" = {
-      name = "browserslist";
-      packageName = "browserslist";
-      version = "4.21.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/browserslist/-/browserslist-4.21.3.tgz";
-        sha512 = "898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ==";
-      };
-    };
-    "bser-2.1.1" = {
-      name = "bser";
-      packageName = "bser";
-      version = "2.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz";
-        sha512 = "gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==";
-      };
-    };
-    "buffer-4.9.2" = {
-      name = "buffer";
-      packageName = "buffer";
-      version = "4.9.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz";
-        sha512 = "xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==";
-      };
-    };
-    "buffer-crc32-0.2.13" = {
-      name = "buffer-crc32";
-      packageName = "buffer-crc32";
-      version = "0.2.13";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz";
-        sha512 = "VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==";
-      };
-    };
-    "buffer-from-1.1.2" = {
-      name = "buffer-from";
-      packageName = "buffer-from";
-      version = "1.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz";
-        sha512 = "E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==";
-      };
-    };
-    "buffer-xor-1.0.3" = {
-      name = "buffer-xor";
-      packageName = "buffer-xor";
-      version = "1.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz";
-        sha512 = "571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==";
-      };
-    };
-    "builtin-modules-3.3.0" = {
-      name = "builtin-modules";
-      packageName = "builtin-modules";
-      version = "3.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz";
-        sha512 = "zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==";
-      };
-    };
-    "builtin-status-codes-3.0.0" = {
-      name = "builtin-status-codes";
-      packageName = "builtin-status-codes";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz";
-        sha512 = "HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==";
-      };
-    };
-    "bytes-3.0.0" = {
-      name = "bytes";
-      packageName = "bytes";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz";
-        sha512 = "pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==";
-      };
-    };
-    "bytes-3.1.2" = {
-      name = "bytes";
-      packageName = "bytes";
-      version = "3.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz";
-        sha512 = "/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==";
-      };
-    };
-    "c8-7.12.0" = {
-      name = "c8";
-      packageName = "c8";
-      version = "7.12.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/c8/-/c8-7.12.0.tgz";
-        sha512 = "CtgQrHOkyxr5koX1wEUmN/5cfDa2ckbHRA4Gy5LAL0zaCFtVWJS5++n+w4/sr2GWGerBxgTjpKeDclk/Qk6W/A==";
-      };
-    };
-    "cacache-12.0.4" = {
-      name = "cacache";
-      packageName = "cacache";
-      version = "12.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz";
-        sha512 = "a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==";
-      };
-    };
-    "cacache-15.3.0" = {
-      name = "cacache";
-      packageName = "cacache";
-      version = "15.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz";
-        sha512 = "VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==";
-      };
-    };
-    "cache-base-1.0.1" = {
-      name = "cache-base";
-      packageName = "cache-base";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz";
-        sha512 = "AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==";
-      };
-    };
-    "call-bind-1.0.2" = {
-      name = "call-bind";
-      packageName = "call-bind";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz";
-        sha512 = "7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==";
-      };
-    };
-    "call-me-maybe-1.0.1" = {
-      name = "call-me-maybe";
-      packageName = "call-me-maybe";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz";
-        sha512 = "wCyFsDQkKPwwF8BDwOiWNx/9K45L/hvggQiDbve+viMNMQnWhrlYIuBk09offfwCRtCO9P6XwUttufzU11WCVw==";
-      };
-    };
-    "callsites-3.1.0" = {
-      name = "callsites";
-      packageName = "callsites";
-      version = "3.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz";
-        sha512 = "P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==";
-      };
-    };
-    "camel-case-4.1.2" = {
-      name = "camel-case";
-      packageName = "camel-case";
-      version = "4.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz";
-        sha512 = "gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==";
-      };
-    };
-    "camelcase-2.1.1" = {
-      name = "camelcase";
-      packageName = "camelcase";
-      version = "2.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz";
-        sha512 = "DLIsRzJVBQu72meAKPkWQOLcujdXT32hwdfnkI1frSiSRMK1MofjKHf+MEx0SB6fjEFXL8fBDv1dKymBlOp4Qw==";
-      };
-    };
-    "camelcase-5.3.1" = {
-      name = "camelcase";
-      packageName = "camelcase";
-      version = "5.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz";
-        sha512 = "L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==";
-      };
-    };
-    "camelcase-6.3.0" = {
-      name = "camelcase";
-      packageName = "camelcase";
-      version = "6.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz";
-        sha512 = "Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==";
-      };
-    };
-    "camelcase-css-2.0.1" = {
-      name = "camelcase-css";
-      packageName = "camelcase-css";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz";
-        sha512 = "QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==";
-      };
-    };
-    "camelcase-keys-2.1.0" = {
-      name = "camelcase-keys";
-      packageName = "camelcase-keys";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz";
-        sha512 = "bA/Z/DERHKqoEOrp+qeGKw1QlvEQkGZSc0XaY6VnTxZr+Kv1G5zFwttpjv8qxZ/sBPT4nthwZaAcsAZTJlSKXQ==";
-      };
-    };
-    "caniuse-api-3.0.0" = {
-      name = "caniuse-api";
-      packageName = "caniuse-api";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz";
-        sha512 = "bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==";
-      };
-    };
-    "caniuse-lite-1.0.30001384" = {
-      name = "caniuse-lite";
-      packageName = "caniuse-lite";
-      version = "1.0.30001384";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001384.tgz";
-        sha512 = "BBWt57kqWbc0GYZXb47wTXpmAgqr5LSibPzNjk/AWMdmJMQhLqOl3c/Kd4OAU/tu4NLfYkMx8Tlq3RVBkOBolQ==";
-      };
-    };
-    "case-sensitive-paths-webpack-plugin-2.4.0" = {
-      name = "case-sensitive-paths-webpack-plugin";
-      packageName = "case-sensitive-paths-webpack-plugin";
-      version = "2.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz";
-        sha512 = "roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==";
-      };
-    };
-    "ccount-1.1.0" = {
-      name = "ccount";
-      packageName = "ccount";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ccount/-/ccount-1.1.0.tgz";
-        sha512 = "vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg==";
-      };
-    };
-    "chalk-2.4.2" = {
-      name = "chalk";
-      packageName = "chalk";
-      version = "2.4.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz";
-        sha512 = "Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==";
-      };
-    };
-    "chalk-3.0.0" = {
-      name = "chalk";
-      packageName = "chalk";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz";
-        sha512 = "4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==";
-      };
-    };
-    "chalk-4.1.2" = {
-      name = "chalk";
-      packageName = "chalk";
-      version = "4.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz";
-        sha512 = "oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==";
-      };
-    };
-    "char-regex-1.0.2" = {
-      name = "char-regex";
-      packageName = "char-regex";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz";
-        sha512 = "kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==";
-      };
-    };
-    "char-regex-2.0.1" = {
-      name = "char-regex";
-      packageName = "char-regex";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/char-regex/-/char-regex-2.0.1.tgz";
-        sha512 = "oSvEeo6ZUD7NepqAat3RqoucZ5SeqLJgOvVIwkafu6IP3V0pO38s/ypdVUmDDK6qIIHNlYHJAKX9E7R7HoKElw==";
-      };
-    };
-    "character-entities-1.2.4" = {
-      name = "character-entities";
-      packageName = "character-entities";
-      version = "1.2.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz";
-        sha512 = "iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==";
-      };
-    };
-    "character-entities-legacy-1.1.4" = {
-      name = "character-entities-legacy";
-      packageName = "character-entities-legacy";
-      version = "1.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz";
-        sha512 = "3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==";
-      };
-    };
-    "character-reference-invalid-1.1.4" = {
-      name = "character-reference-invalid";
-      packageName = "character-reference-invalid";
-      version = "1.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz";
-        sha512 = "mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==";
-      };
-    };
-    "check-types-11.1.2" = {
-      name = "check-types";
-      packageName = "check-types";
-      version = "11.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/check-types/-/check-types-11.1.2.tgz";
-        sha512 = "tzWzvgePgLORb9/3a0YenggReLKAIb2owL03H2Xdoe5pKcUyWRSEQ8xfCar8t2SIAuEDwtmx2da1YB52YuHQMQ==";
-      };
-    };
-    "cheerio-1.0.0-rc.12" = {
-      name = "cheerio";
-      packageName = "cheerio";
-      version = "1.0.0-rc.12";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz";
-        sha512 = "VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==";
-      };
-    };
-    "cheerio-select-2.1.0" = {
-      name = "cheerio-select";
-      packageName = "cheerio-select";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz";
-        sha512 = "9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==";
-      };
-    };
-    "chokidar-2.1.8" = {
-      name = "chokidar";
-      packageName = "chokidar";
-      version = "2.1.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz";
-        sha512 = "ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==";
-      };
-    };
-    "chokidar-3.5.3" = {
-      name = "chokidar";
-      packageName = "chokidar";
-      version = "3.5.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz";
-        sha512 = "Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==";
-      };
-    };
-    "chownr-1.1.4" = {
-      name = "chownr";
-      packageName = "chownr";
-      version = "1.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz";
-        sha512 = "jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==";
-      };
-    };
-    "chownr-2.0.0" = {
-      name = "chownr";
-      packageName = "chownr";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz";
-        sha512 = "bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==";
-      };
-    };
-    "chrome-trace-event-1.0.3" = {
-      name = "chrome-trace-event";
-      packageName = "chrome-trace-event";
-      version = "1.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz";
-        sha512 = "p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==";
-      };
-    };
-    "ci-info-3.3.2" = {
-      name = "ci-info";
-      packageName = "ci-info";
-      version = "3.3.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ci-info/-/ci-info-3.3.2.tgz";
-        sha512 = "xmDt/QIAdeZ9+nfdPsaBCpMvHNLFiLdjj59qjqn+6iPe6YmHGQ35sBnQ8uslRBXFmXkiZQOJRjvQeoGppoTjjg==";
-      };
-    };
-    "cipher-base-1.0.4" = {
-      name = "cipher-base";
-      packageName = "cipher-base";
-      version = "1.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz";
-        sha512 = "Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==";
-      };
-    };
-    "cjs-module-lexer-1.2.2" = {
-      name = "cjs-module-lexer";
-      packageName = "cjs-module-lexer";
-      version = "1.2.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz";
-        sha512 = "cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==";
-      };
-    };
-    "class-utils-0.3.6" = {
-      name = "class-utils";
-      packageName = "class-utils";
-      version = "0.3.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz";
-        sha512 = "qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==";
-      };
-    };
-    "clean-css-4.2.4" = {
-      name = "clean-css";
-      packageName = "clean-css";
-      version = "4.2.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/clean-css/-/clean-css-4.2.4.tgz";
-        sha512 = "EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A==";
-      };
-    };
-    "clean-css-5.3.1" = {
-      name = "clean-css";
-      packageName = "clean-css";
-      version = "5.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/clean-css/-/clean-css-5.3.1.tgz";
-        sha512 = "lCr8OHhiWCTw4v8POJovCoh4T7I9U11yVsPjMWWnnMmp9ZowCxyad1Pathle/9HjaDp+fdQKjO9fQydE6RHTZg==";
-      };
-    };
-    "clean-stack-2.2.0" = {
-      name = "clean-stack";
-      packageName = "clean-stack";
-      version = "2.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz";
-        sha512 = "4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==";
-      };
-    };
-    "cli-boxes-2.2.1" = {
-      name = "cli-boxes";
-      packageName = "cli-boxes";
-      version = "2.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz";
-        sha512 = "y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==";
-      };
-    };
-    "cli-table3-0.6.2" = {
-      name = "cli-table3";
-      packageName = "cli-table3";
-      version = "0.6.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.2.tgz";
-        sha512 = "QyavHCaIC80cMivimWu4aWHilIpiDpfm3hGmqAmXVL1UsnbLuBSMd21hTX6VY4ZSDSM73ESLeF8TOYId3rBTbw==";
-      };
-    };
-    "cliui-7.0.4" = {
-      name = "cliui";
-      packageName = "cliui";
-      version = "7.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz";
-        sha512 = "OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==";
-      };
-    };
-    "clone-deep-4.0.1" = {
-      name = "clone-deep";
-      packageName = "clone-deep";
-      version = "4.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz";
-        sha512 = "neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==";
-      };
-    };
-    "co-4.6.0" = {
-      name = "co";
-      packageName = "co";
-      version = "4.6.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/co/-/co-4.6.0.tgz";
-        sha512 = "QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==";
-      };
-    };
-    "coa-2.0.2" = {
-      name = "coa";
-      packageName = "coa";
-      version = "2.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz";
-        sha512 = "q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==";
-      };
-    };
-    "collapse-white-space-1.0.6" = {
-      name = "collapse-white-space";
-      packageName = "collapse-white-space";
-      version = "1.0.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.6.tgz";
-        sha512 = "jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ==";
-      };
-    };
-    "collect-v8-coverage-1.0.1" = {
-      name = "collect-v8-coverage";
-      packageName = "collect-v8-coverage";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz";
-        sha512 = "iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==";
-      };
-    };
-    "collection-visit-1.0.0" = {
-      name = "collection-visit";
-      packageName = "collection-visit";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz";
-        sha512 = "lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==";
-      };
-    };
-    "color-convert-1.9.3" = {
-      name = "color-convert";
-      packageName = "color-convert";
-      version = "1.9.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz";
-        sha512 = "QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==";
-      };
-    };
-    "color-convert-2.0.1" = {
-      name = "color-convert";
-      packageName = "color-convert";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz";
-        sha512 = "RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==";
-      };
-    };
-    "color-name-1.1.3" = {
-      name = "color-name";
-      packageName = "color-name";
-      version = "1.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz";
-        sha512 = "72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==";
-      };
-    };
-    "color-name-1.1.4" = {
-      name = "color-name";
-      packageName = "color-name";
-      version = "1.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz";
-        sha512 = "dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==";
-      };
-    };
-    "color-support-1.1.3" = {
-      name = "color-support";
-      packageName = "color-support";
-      version = "1.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz";
-        sha512 = "qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==";
-      };
-    };
-    "colord-2.9.3" = {
-      name = "colord";
-      packageName = "colord";
-      version = "2.9.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz";
-        sha512 = "jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==";
-      };
-    };
-    "colorette-1.4.0" = {
-      name = "colorette";
-      packageName = "colorette";
-      version = "1.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz";
-        sha512 = "Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==";
-      };
-    };
-    "colorette-2.0.19" = {
-      name = "colorette";
-      packageName = "colorette";
-      version = "2.0.19";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz";
-        sha512 = "3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==";
-      };
-    };
-    "combined-stream-1.0.8" = {
-      name = "combined-stream";
-      packageName = "combined-stream";
-      version = "1.0.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz";
-        sha512 = "FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==";
-      };
-    };
-    "comma-separated-tokens-1.0.8" = {
-      name = "comma-separated-tokens";
-      packageName = "comma-separated-tokens";
-      version = "1.0.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz";
-        sha512 = "GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw==";
-      };
-    };
-    "commander-2.20.3" = {
-      name = "commander";
-      packageName = "commander";
-      version = "2.20.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz";
-        sha512 = "GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==";
-      };
-    };
-    "commander-4.1.1" = {
-      name = "commander";
-      packageName = "commander";
-      version = "4.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz";
-        sha512 = "NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==";
-      };
-    };
-    "commander-6.2.1" = {
-      name = "commander";
-      packageName = "commander";
-      version = "6.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz";
-        sha512 = "U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==";
-      };
-    };
-    "commander-7.2.0" = {
-      name = "commander";
-      packageName = "commander";
-      version = "7.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz";
-        sha512 = "QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==";
-      };
-    };
-    "commander-8.3.0" = {
-      name = "commander";
-      packageName = "commander";
-      version = "8.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz";
-        sha512 = "OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==";
-      };
-    };
-    "common-path-prefix-3.0.0" = {
-      name = "common-path-prefix";
-      packageName = "common-path-prefix";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz";
-        sha512 = "QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==";
-      };
-    };
-    "common-tags-1.8.2" = {
-      name = "common-tags";
-      packageName = "common-tags";
-      version = "1.8.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz";
-        sha512 = "gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==";
-      };
-    };
-    "commondir-1.0.1" = {
-      name = "commondir";
-      packageName = "commondir";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz";
-        sha512 = "W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==";
-      };
-    };
-    "component-emitter-1.3.0" = {
-      name = "component-emitter";
-      packageName = "component-emitter";
-      version = "1.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz";
-        sha512 = "Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==";
-      };
-    };
-    "compressible-2.0.18" = {
-      name = "compressible";
-      packageName = "compressible";
-      version = "2.0.18";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz";
-        sha512 = "AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==";
-      };
-    };
-    "compression-1.7.4" = {
-      name = "compression";
-      packageName = "compression";
-      version = "1.7.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz";
-        sha512 = "jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==";
-      };
-    };
-    "compute-scroll-into-view-1.0.17" = {
-      name = "compute-scroll-into-view";
-      packageName = "compute-scroll-into-view";
-      version = "1.0.17";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/compute-scroll-into-view/-/compute-scroll-into-view-1.0.17.tgz";
-        sha512 = "j4dx+Fb0URmzbwwMUrhqWM2BEWHdFGx+qZ9qqASHRPqvTYdqvWnHg0H1hIbcyLnvgnoNAVMlwkepyqM3DaIFUg==";
-      };
-    };
-    "concat-map-0.0.1" = {
-      name = "concat-map";
-      packageName = "concat-map";
-      version = "0.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz";
-        sha512 = "/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==";
-      };
-    };
-    "concat-stream-1.6.2" = {
-      name = "concat-stream";
-      packageName = "concat-stream";
-      version = "1.6.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz";
-        sha512 = "27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==";
-      };
-    };
-    "confusing-browser-globals-1.0.11" = {
-      name = "confusing-browser-globals";
-      packageName = "confusing-browser-globals";
-      version = "1.0.11";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz";
-        sha512 = "JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==";
-      };
-    };
-    "connect-history-api-fallback-2.0.0" = {
-      name = "connect-history-api-fallback";
-      packageName = "connect-history-api-fallback";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz";
-        sha512 = "U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==";
-      };
-    };
-    "console-browserify-1.2.0" = {
-      name = "console-browserify";
-      packageName = "console-browserify";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz";
-        sha512 = "ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==";
-      };
-    };
-    "console-control-strings-1.1.0" = {
-      name = "console-control-strings";
-      packageName = "console-control-strings";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz";
-        sha512 = "ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==";
-      };
-    };
-    "constants-browserify-1.0.0" = {
-      name = "constants-browserify";
-      packageName = "constants-browserify";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz";
-        sha512 = "xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==";
-      };
-    };
-    "content-disposition-0.5.4" = {
-      name = "content-disposition";
-      packageName = "content-disposition";
-      version = "0.5.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz";
-        sha512 = "FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==";
-      };
-    };
-    "content-type-1.0.4" = {
-      name = "content-type";
-      packageName = "content-type";
-      version = "1.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz";
-        sha512 = "hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==";
-      };
-    };
-    "convert-source-map-1.8.0" = {
-      name = "convert-source-map";
-      packageName = "convert-source-map";
-      version = "1.8.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz";
-        sha512 = "+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==";
-      };
-    };
-    "cookie-0.5.0" = {
-      name = "cookie";
-      packageName = "cookie";
-      version = "0.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz";
-        sha512 = "YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==";
-      };
-    };
-    "cookie-signature-1.0.6" = {
-      name = "cookie-signature";
-      packageName = "cookie-signature";
-      version = "1.0.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz";
-        sha512 = "QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==";
-      };
-    };
-    "copy-concurrently-1.0.5" = {
-      name = "copy-concurrently";
-      packageName = "copy-concurrently";
-      version = "1.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz";
-        sha512 = "f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==";
-      };
-    };
-    "copy-descriptor-0.1.1" = {
-      name = "copy-descriptor";
-      packageName = "copy-descriptor";
-      version = "0.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz";
-        sha512 = "XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==";
-      };
-    };
-    "copy-to-clipboard-3.3.2" = {
-      name = "copy-to-clipboard";
-      packageName = "copy-to-clipboard";
-      version = "3.3.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.2.tgz";
-        sha512 = "Vme1Z6RUDzrb6xAI7EZlVZ5uvOk2F//GaxKUxajDqm9LhOVM1inxNAD2vy+UZDYsd0uyA9s7b3/FVZPSxqrCfg==";
-      };
-    };
-    "core-js-3.25.0" = {
-      name = "core-js";
-      packageName = "core-js";
-      version = "3.25.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/core-js/-/core-js-3.25.0.tgz";
-        sha512 = "CVU1xvJEfJGhyCpBrzzzU1kjCfgsGUxhEvwUV2e/cOedYWHdmluamx+knDnmhqALddMG16fZvIqvs9aijsHHaA==";
-      };
-    };
-    "core-js-compat-3.25.0" = {
-      name = "core-js-compat";
-      packageName = "core-js-compat";
-      version = "3.25.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.25.0.tgz";
-        sha512 = "extKQM0g8/3GjFx9US12FAgx8KJawB7RCQ5y8ipYLbmfzEzmFRWdDjIlxDx82g7ygcNG85qMVUSRyABouELdow==";
-      };
-    };
-    "core-js-pure-3.25.0" = {
-      name = "core-js-pure";
-      packageName = "core-js-pure";
-      version = "3.25.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.25.0.tgz";
-        sha512 = "IeHpLwk3uoci37yoI2Laty59+YqH9x5uR65/yiA0ARAJrTrN4YU0rmauLWfvqOuk77SlNJXj2rM6oT/dBD87+A==";
-      };
-    };
-    "core-util-is-1.0.3" = {
-      name = "core-util-is";
-      packageName = "core-util-is";
-      version = "1.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz";
-        sha512 = "ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==";
-      };
-    };
-    "cosmiconfig-6.0.0" = {
-      name = "cosmiconfig";
-      packageName = "cosmiconfig";
-      version = "6.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz";
-        sha512 = "xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==";
-      };
-    };
-    "cosmiconfig-7.0.1" = {
-      name = "cosmiconfig";
-      packageName = "cosmiconfig";
-      version = "7.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz";
-        sha512 = "a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==";
-      };
-    };
-    "cp-file-7.0.0" = {
-      name = "cp-file";
-      packageName = "cp-file";
-      version = "7.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cp-file/-/cp-file-7.0.0.tgz";
-        sha512 = "0Cbj7gyvFVApzpK/uhCtQ/9kE9UnYpxMzaq5nQQC/Dh4iaj5fxp7iEFIullrYwzj8nf0qnsI1Qsx34hAeAebvw==";
-      };
-    };
-    "cpy-8.1.2" = {
-      name = "cpy";
-      packageName = "cpy";
-      version = "8.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cpy/-/cpy-8.1.2.tgz";
-        sha512 = "dmC4mUesv0OYH2kNFEidtf/skUwv4zePmGeepjyyJ0qTo5+8KhA1o99oIAwVVLzQMAeDJml74d6wPPKb6EZUTg==";
-      };
-    };
-    "create-ecdh-4.0.4" = {
-      name = "create-ecdh";
-      packageName = "create-ecdh";
-      version = "4.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz";
-        sha512 = "mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==";
-      };
-    };
-    "create-hash-1.2.0" = {
-      name = "create-hash";
-      packageName = "create-hash";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz";
-        sha512 = "z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==";
-      };
-    };
-    "create-hmac-1.1.7" = {
-      name = "create-hmac";
-      packageName = "create-hmac";
-      version = "1.1.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz";
-        sha512 = "MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==";
-      };
-    };
-    "cross-spawn-7.0.3" = {
-      name = "cross-spawn";
-      packageName = "cross-spawn";
-      version = "7.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz";
-        sha512 = "iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==";
-      };
-    };
-    "crypto-browserify-3.12.0" = {
-      name = "crypto-browserify";
-      packageName = "crypto-browserify";
-      version = "3.12.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz";
-        sha512 = "fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==";
-      };
-    };
-    "crypto-random-string-2.0.0" = {
-      name = "crypto-random-string";
-      packageName = "crypto-random-string";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz";
-        sha512 = "v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==";
-      };
-    };
-    "css-blank-pseudo-3.0.3" = {
-      name = "css-blank-pseudo";
-      packageName = "css-blank-pseudo";
-      version = "3.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-3.0.3.tgz";
-        sha512 = "VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ==";
-      };
-    };
-    "css-declaration-sorter-6.3.0" = {
-      name = "css-declaration-sorter";
-      packageName = "css-declaration-sorter";
-      version = "6.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.3.0.tgz";
-        sha512 = "OGT677UGHJTAVMRhPO+HJ4oKln3wkBTwtDFH0ojbqm+MJm6xuDMHp2nkhh/ThaBqq20IbraBQSWKfSLNHQO9Og==";
-      };
-    };
-    "css-has-pseudo-3.0.4" = {
-      name = "css-has-pseudo";
-      packageName = "css-has-pseudo";
-      version = "3.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-3.0.4.tgz";
-        sha512 = "Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw==";
-      };
-    };
-    "css-loader-3.6.0" = {
-      name = "css-loader";
-      packageName = "css-loader";
-      version = "3.6.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/css-loader/-/css-loader-3.6.0.tgz";
-        sha512 = "M5lSukoWi1If8dhQAUCvj4H8vUt3vOnwbQBH9DdTm/s4Ym2B/3dPMtYZeJmq7Q3S3Pa+I94DcZ7pc9bP14cWIQ==";
-      };
-    };
-    "css-loader-5.2.7" = {
-      name = "css-loader";
-      packageName = "css-loader";
-      version = "5.2.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/css-loader/-/css-loader-5.2.7.tgz";
-        sha512 = "Q7mOvpBNBG7YrVGMxRxcBJZFL75o+cH2abNASdibkj/fffYD8qWbInZrD0S9ccI6vZclF3DsHE7njGlLtaHbhg==";
-      };
-    };
-    "css-loader-6.7.1" = {
-      name = "css-loader";
-      packageName = "css-loader";
-      version = "6.7.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/css-loader/-/css-loader-6.7.1.tgz";
-        sha512 = "yB5CNFa14MbPJcomwNh3wLThtkZgcNyI2bNMRt8iE5Z8Vwl7f8vQXFAzn2HDOJvtDq2NTZBUGMSUNNyrv3/+cw==";
-      };
-    };
-    "css-minimizer-webpack-plugin-3.4.1" = {
-      name = "css-minimizer-webpack-plugin";
-      packageName = "css-minimizer-webpack-plugin";
-      version = "3.4.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.4.1.tgz";
-        sha512 = "1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q==";
-      };
-    };
-    "css-prefers-color-scheme-6.0.3" = {
-      name = "css-prefers-color-scheme";
-      packageName = "css-prefers-color-scheme";
-      version = "6.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz";
-        sha512 = "4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==";
-      };
-    };
-    "css-select-2.1.0" = {
-      name = "css-select";
-      packageName = "css-select";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz";
-        sha512 = "Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==";
-      };
-    };
-    "css-select-4.3.0" = {
-      name = "css-select";
-      packageName = "css-select";
-      version = "4.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz";
-        sha512 = "wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==";
-      };
-    };
-    "css-select-5.1.0" = {
-      name = "css-select";
-      packageName = "css-select";
-      version = "5.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz";
-        sha512 = "nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==";
-      };
-    };
-    "css-select-base-adapter-0.1.1" = {
-      name = "css-select-base-adapter";
-      packageName = "css-select-base-adapter";
-      version = "0.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz";
-        sha512 = "jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==";
-      };
-    };
-    "css-tree-1.0.0-alpha.37" = {
-      name = "css-tree";
-      packageName = "css-tree";
-      version = "1.0.0-alpha.37";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz";
-        sha512 = "DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==";
-      };
-    };
-    "css-tree-1.1.3" = {
-      name = "css-tree";
-      packageName = "css-tree";
-      version = "1.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz";
-        sha512 = "tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==";
-      };
-    };
-    "css-what-3.4.2" = {
-      name = "css-what";
-      packageName = "css-what";
-      version = "3.4.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz";
-        sha512 = "ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==";
-      };
-    };
-    "css-what-6.1.0" = {
-      name = "css-what";
-      packageName = "css-what";
-      version = "6.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz";
-        sha512 = "HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==";
-      };
-    };
-    "css.escape-1.5.1" = {
-      name = "css.escape";
-      packageName = "css.escape";
-      version = "1.5.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz";
-        sha512 = "YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==";
-      };
-    };
-    "cssdb-7.0.1" = {
-      name = "cssdb";
-      packageName = "cssdb";
-      version = "7.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cssdb/-/cssdb-7.0.1.tgz";
-        sha512 = "pT3nzyGM78poCKLAEy2zWIVX2hikq6dIrjuZzLV98MumBg+xMTNYfHx7paUlfiRTgg91O/vR889CIf+qiv79Rw==";
-      };
-    };
-    "cssesc-3.0.0" = {
-      name = "cssesc";
-      packageName = "cssesc";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz";
-        sha512 = "/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==";
-      };
-    };
-    "csshake-1.7.0" = {
-      name = "csshake";
-      packageName = "csshake";
-      version = "1.7.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/csshake/-/csshake-1.7.0.tgz";
-        sha512 = "J8YPxrFmhNCK/sgoiWwbPDmUPramnEts8E9OZ6hdfh8z5wDjdIfVH0VgUz8HU5px5JpyLgnvPon6L3cmGef8TA==";
-      };
-    };
-    "cssnano-5.1.13" = {
-      name = "cssnano";
-      packageName = "cssnano";
-      version = "5.1.13";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cssnano/-/cssnano-5.1.13.tgz";
-        sha512 = "S2SL2ekdEz6w6a2epXn4CmMKU4K3KpcyXLKfAYc9UQQqJRkD/2eLUG0vJ3Db/9OvO5GuAdgXw3pFbR6abqghDQ==";
-      };
-    };
-    "cssnano-preset-default-5.2.12" = {
-      name = "cssnano-preset-default";
-      packageName = "cssnano-preset-default";
-      version = "5.2.12";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.12.tgz";
-        sha512 = "OyCBTZi+PXgylz9HAA5kHyoYhfGcYdwFmyaJzWnzxuGRtnMw/kR6ilW9XzlzlRAtB6PLT/r+prYgkef7hngFew==";
-      };
-    };
-    "cssnano-utils-3.1.0" = {
-      name = "cssnano-utils";
-      packageName = "cssnano-utils";
-      version = "3.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz";
-        sha512 = "JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==";
-      };
-    };
-    "csso-4.2.0" = {
-      name = "csso";
-      packageName = "csso";
-      version = "4.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz";
-        sha512 = "wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==";
-      };
-    };
-    "cssom-0.3.8" = {
-      name = "cssom";
-      packageName = "cssom";
-      version = "0.3.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz";
-        sha512 = "b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==";
-      };
-    };
-    "cssom-0.4.4" = {
-      name = "cssom";
-      packageName = "cssom";
-      version = "0.4.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz";
-        sha512 = "p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==";
-      };
-    };
-    "cssstyle-2.3.0" = {
-      name = "cssstyle";
-      packageName = "cssstyle";
-      version = "2.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz";
-        sha512 = "AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==";
-      };
-    };
-    "csstype-3.1.0" = {
-      name = "csstype";
-      packageName = "csstype";
-      version = "3.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/csstype/-/csstype-3.1.0.tgz";
-        sha512 = "uX1KG+x9h5hIJsaKR9xHUeUraxf8IODOwq9JLNPq6BwB04a/xgpq3rcx47l5BZu5zBPlgD342tdke3Hom/nJRA==";
-      };
-    };
-    "currently-unhandled-0.4.1" = {
-      name = "currently-unhandled";
-      packageName = "currently-unhandled";
-      version = "0.4.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz";
-        sha512 = "/fITjgjGU50vjQ4FH6eUoYu+iUoUKIXws2hL15JJpIR+BbTxaXQsMuuyjtNh2WqsSBS5nsaZHFsFecyw5CCAng==";
-      };
-    };
-    "cyclist-1.0.1" = {
-      name = "cyclist";
-      packageName = "cyclist";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz";
-        sha512 = "NJGVKPS81XejHcLhaLJS7plab0fK3slPh11mESeeDq2W4ZI5kUKK/LRRdVDvjJseojbPB7ZwjnyOybg3Igea/A==";
-      };
-    };
-    "damerau-levenshtein-1.0.8" = {
-      name = "damerau-levenshtein";
-      packageName = "damerau-levenshtein";
-      version = "1.0.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz";
-        sha512 = "sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==";
-      };
-    };
-    "data-urls-2.0.0" = {
-      name = "data-urls";
-      packageName = "data-urls";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz";
-        sha512 = "X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==";
-      };
-    };
-    "date-fns-2.29.2" = {
-      name = "date-fns";
-      packageName = "date-fns";
-      version = "2.29.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/date-fns/-/date-fns-2.29.2.tgz";
-        sha512 = "0VNbwmWJDS/G3ySwFSJA3ayhbURMTJLtwM2DTxf9CWondCnh6DTNlO9JgRSq6ibf4eD0lfMJNBxUdEAHHix+bA==";
-      };
-    };
-    "debug-2.6.9" = {
-      name = "debug";
-      packageName = "debug";
-      version = "2.6.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz";
-        sha512 = "bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==";
-      };
-    };
-    "debug-3.2.7" = {
-      name = "debug";
-      packageName = "debug";
-      version = "3.2.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz";
-        sha512 = "CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==";
-      };
-    };
-    "debug-4.3.4" = {
-      name = "debug";
-      packageName = "debug";
-      version = "4.3.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz";
-        sha512 = "PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==";
-      };
-    };
-    "decamelize-1.2.0" = {
-      name = "decamelize";
-      packageName = "decamelize";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz";
-        sha512 = "z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==";
-      };
-    };
-    "decimal.js-10.4.0" = {
-      name = "decimal.js";
-      packageName = "decimal.js";
-      version = "10.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.0.tgz";
-        sha512 = "Nv6ENEzyPQ6AItkGwLE2PGKinZZ9g59vSh2BeH6NqPu0OTKZ5ruJsVqh/orbAnqXc9pBbgXAIrc2EyaCj8NpGg==";
-      };
-    };
-    "decode-uri-component-0.2.0" = {
-      name = "decode-uri-component";
-      packageName = "decode-uri-component";
-      version = "0.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz";
-        sha512 = "hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og==";
-      };
-    };
-    "dedent-0.7.0" = {
-      name = "dedent";
-      packageName = "dedent";
-      version = "0.7.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz";
-        sha512 = "Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==";
-      };
-    };
-    "deep-is-0.1.4" = {
-      name = "deep-is";
-      packageName = "deep-is";
-      version = "0.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz";
-        sha512 = "oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==";
-      };
-    };
-    "deepmerge-4.2.2" = {
-      name = "deepmerge";
-      packageName = "deepmerge";
-      version = "4.2.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz";
-        sha512 = "FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==";
-      };
-    };
-    "default-browser-id-1.0.4" = {
-      name = "default-browser-id";
-      packageName = "default-browser-id";
-      version = "1.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/default-browser-id/-/default-browser-id-1.0.4.tgz";
-        sha512 = "qPy925qewwul9Hifs+3sx1ZYn14obHxpkX+mPD369w4Rzg+YkJBgi3SOvwUq81nWSjqGUegIgEPwD8u+HUnxlw==";
-      };
-    };
-    "default-gateway-6.0.3" = {
-      name = "default-gateway";
-      packageName = "default-gateway";
-      version = "6.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz";
-        sha512 = "fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==";
-      };
-    };
-    "define-lazy-prop-2.0.0" = {
-      name = "define-lazy-prop";
-      packageName = "define-lazy-prop";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz";
-        sha512 = "Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==";
-      };
-    };
-    "define-properties-1.1.4" = {
-      name = "define-properties";
-      packageName = "define-properties";
-      version = "1.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz";
-        sha512 = "uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==";
-      };
-    };
-    "define-property-0.2.5" = {
-      name = "define-property";
-      packageName = "define-property";
-      version = "0.2.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz";
-        sha512 = "Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==";
-      };
-    };
-    "define-property-1.0.0" = {
-      name = "define-property";
-      packageName = "define-property";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz";
-        sha512 = "cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==";
-      };
-    };
-    "define-property-2.0.2" = {
-      name = "define-property";
-      packageName = "define-property";
-      version = "2.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz";
-        sha512 = "jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==";
-      };
-    };
-    "defined-1.0.0" = {
-      name = "defined";
-      packageName = "defined";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz";
-        sha512 = "Y2caI5+ZwS5c3RiNDJ6u53VhQHv+hHKwhkI1iHvceKUHw9Df6EK2zRLfjejRgMuCuxK7PfSWIMwWecceVvThjQ==";
-      };
-    };
-    "delayed-stream-1.0.0" = {
-      name = "delayed-stream";
-      packageName = "delayed-stream";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz";
-        sha512 = "ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==";
-      };
-    };
-    "delegates-1.0.0" = {
-      name = "delegates";
-      packageName = "delegates";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz";
-        sha512 = "bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==";
-      };
-    };
-    "depd-1.1.2" = {
-      name = "depd";
-      packageName = "depd";
-      version = "1.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz";
-        sha512 = "7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==";
-      };
-    };
-    "depd-2.0.0" = {
-      name = "depd";
-      packageName = "depd";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz";
-        sha512 = "g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==";
-      };
-    };
-    "des.js-1.0.1" = {
-      name = "des.js";
-      packageName = "des.js";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz";
-        sha512 = "Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==";
-      };
-    };
-    "destroy-1.2.0" = {
-      name = "destroy";
-      packageName = "destroy";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz";
-        sha512 = "2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==";
-      };
-    };
-    "detab-2.0.4" = {
-      name = "detab";
-      packageName = "detab";
-      version = "2.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/detab/-/detab-2.0.4.tgz";
-        sha512 = "8zdsQA5bIkoRECvCrNKPla84lyoR7DSAyf7p0YgXzBO9PDJx8KntPUay7NS6yp+KdxdVtiE5SpHKtbp2ZQyA9g==";
-      };
-    };
-    "detect-newline-3.1.0" = {
-      name = "detect-newline";
-      packageName = "detect-newline";
-      version = "3.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz";
-        sha512 = "TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==";
-      };
-    };
-    "detect-node-2.1.0" = {
-      name = "detect-node";
-      packageName = "detect-node";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz";
-        sha512 = "T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==";
-      };
-    };
-    "detect-package-manager-2.0.1" = {
-      name = "detect-package-manager";
-      packageName = "detect-package-manager";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/detect-package-manager/-/detect-package-manager-2.0.1.tgz";
-        sha512 = "j/lJHyoLlWi6G1LDdLgvUtz60Zo5GEj+sVYtTVXnYLDPuzgC3llMxonXym9zIwhhUII8vjdw0LXxavpLqTbl1A==";
-      };
-    };
-    "detect-port-1.3.0" = {
-      name = "detect-port";
-      packageName = "detect-port";
-      version = "1.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/detect-port/-/detect-port-1.3.0.tgz";
-        sha512 = "E+B1gzkl2gqxt1IhUzwjrxBKRqx1UzC3WLONHinn8S3T6lwV/agVCyitiFOsGJ/eYuEUBvD71MZHy3Pv1G9doQ==";
-      };
-    };
-    "detect-port-alt-1.1.6" = {
-      name = "detect-port-alt";
-      packageName = "detect-port-alt";
-      version = "1.1.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz";
-        sha512 = "5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==";
-      };
-    };
-    "detective-5.2.1" = {
-      name = "detective";
-      packageName = "detective";
-      version = "5.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz";
-        sha512 = "v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==";
-      };
-    };
-    "didyoumean-1.2.2" = {
-      name = "didyoumean";
-      packageName = "didyoumean";
-      version = "1.2.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz";
-        sha512 = "gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==";
-      };
-    };
-    "diff-sequences-27.5.1" = {
-      name = "diff-sequences";
-      packageName = "diff-sequences";
-      version = "27.5.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz";
-        sha512 = "k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==";
-      };
-    };
-    "diff-sequences-29.0.0" = {
-      name = "diff-sequences";
-      packageName = "diff-sequences";
-      version = "29.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.0.0.tgz";
-        sha512 = "7Qe/zd1wxSDL4D/X/FPjOMB+ZMDt71W94KYaq05I2l0oQqgXgs7s4ftYYmV38gBSrPz2vcygxfs1xn0FT+rKNA==";
-      };
-    };
-    "diffable-html-5.0.0" = {
-      name = "diffable-html";
-      packageName = "diffable-html";
-      version = "5.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/diffable-html/-/diffable-html-5.0.0.tgz";
-        sha512 = "BymfWdoIv53XDp/sINPyngxiyJr7ygmAoUN7nIlPC7E+jiLvPdVIZteG4btCaB5Nyf8CMyMxp8r4Vi2r1FtSsA==";
-      };
-    };
-    "diffie-hellman-5.0.3" = {
-      name = "diffie-hellman";
-      packageName = "diffie-hellman";
-      version = "5.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz";
-        sha512 = "kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==";
-      };
-    };
-    "dir-glob-2.2.2" = {
-      name = "dir-glob";
-      packageName = "dir-glob";
-      version = "2.2.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz";
-        sha512 = "f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==";
-      };
-    };
-    "dir-glob-3.0.1" = {
-      name = "dir-glob";
-      packageName = "dir-glob";
-      version = "3.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz";
-        sha512 = "WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==";
-      };
-    };
-    "discontinuous-range-1.0.0" = {
-      name = "discontinuous-range";
-      packageName = "discontinuous-range";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/discontinuous-range/-/discontinuous-range-1.0.0.tgz";
-        sha512 = "c68LpLbO+7kP/b1Hr1qs8/BJ09F5khZGTxqxZuhzxpmwJKOgRFHJWIb9/KmqnqHhLdO55aOxFH/EGBvUQbL/RQ==";
-      };
-    };
-    "dlv-1.1.3" = {
-      name = "dlv";
-      packageName = "dlv";
-      version = "1.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz";
-        sha512 = "+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==";
-      };
-    };
-    "dns-equal-1.0.0" = {
-      name = "dns-equal";
-      packageName = "dns-equal";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz";
-        sha512 = "z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==";
-      };
-    };
-    "dns-packet-5.4.0" = {
-      name = "dns-packet";
-      packageName = "dns-packet";
-      version = "5.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/dns-packet/-/dns-packet-5.4.0.tgz";
-        sha512 = "EgqGeaBB8hLiHLZtp/IbaDQTL8pZ0+IvwzSHA6d7VyMDM+B9hgddEMa9xjK5oYnw0ci0JQ6g2XCD7/f6cafU6g==";
-      };
-    };
-    "doctrine-2.1.0" = {
-      name = "doctrine";
-      packageName = "doctrine";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz";
-        sha512 = "35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==";
-      };
-    };
-    "doctrine-3.0.0" = {
-      name = "doctrine";
-      packageName = "doctrine";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz";
-        sha512 = "yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==";
-      };
-    };
-    "dom-accessibility-api-0.5.14" = {
-      name = "dom-accessibility-api";
-      packageName = "dom-accessibility-api";
-      version = "0.5.14";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.14.tgz";
-        sha512 = "NMt+m9zFMPZe0JcY9gN224Qvk6qLIdqex29clBvc/y75ZBX9YA9wNK3frsYvu2DI1xcCIwxwnX+TlsJ2DSOADg==";
-      };
-    };
-    "dom-converter-0.2.0" = {
-      name = "dom-converter";
-      packageName = "dom-converter";
-      version = "0.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz";
-        sha512 = "gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==";
-      };
-    };
-    "dom-helpers-5.2.1" = {
-      name = "dom-helpers";
-      packageName = "dom-helpers";
-      version = "5.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz";
-        sha512 = "nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==";
-      };
-    };
-    "dom-serializer-0.2.2" = {
-      name = "dom-serializer";
-      packageName = "dom-serializer";
-      version = "0.2.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz";
-        sha512 = "2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==";
-      };
-    };
-    "dom-serializer-1.4.1" = {
-      name = "dom-serializer";
-      packageName = "dom-serializer";
-      version = "1.4.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz";
-        sha512 = "VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==";
-      };
-    };
-    "dom-serializer-2.0.0" = {
-      name = "dom-serializer";
-      packageName = "dom-serializer";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz";
-        sha512 = "wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==";
-      };
-    };
-    "dom-walk-0.1.2" = {
-      name = "dom-walk";
-      packageName = "dom-walk";
-      version = "0.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.2.tgz";
-        sha512 = "6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==";
-      };
-    };
-    "domain-browser-1.2.0" = {
-      name = "domain-browser";
-      packageName = "domain-browser";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz";
-        sha512 = "jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==";
-      };
-    };
-    "domelementtype-1.3.1" = {
-      name = "domelementtype";
-      packageName = "domelementtype";
-      version = "1.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz";
-        sha512 = "BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==";
-      };
-    };
-    "domelementtype-2.3.0" = {
-      name = "domelementtype";
-      packageName = "domelementtype";
-      version = "2.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz";
-        sha512 = "OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==";
-      };
-    };
-    "domexception-2.0.1" = {
-      name = "domexception";
-      packageName = "domexception";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz";
-        sha512 = "yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==";
-      };
-    };
-    "domhandler-2.4.2" = {
-      name = "domhandler";
-      packageName = "domhandler";
-      version = "2.4.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz";
-        sha512 = "JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==";
-      };
-    };
-    "domhandler-4.3.1" = {
-      name = "domhandler";
-      packageName = "domhandler";
-      version = "4.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz";
-        sha512 = "GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==";
-      };
-    };
-    "domhandler-5.0.3" = {
-      name = "domhandler";
-      packageName = "domhandler";
-      version = "5.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz";
-        sha512 = "cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==";
-      };
-    };
-    "domutils-1.7.0" = {
-      name = "domutils";
-      packageName = "domutils";
-      version = "1.7.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz";
-        sha512 = "Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==";
-      };
-    };
-    "domutils-2.8.0" = {
-      name = "domutils";
-      packageName = "domutils";
-      version = "2.8.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz";
-        sha512 = "w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==";
-      };
-    };
-    "domutils-3.0.1" = {
-      name = "domutils";
-      packageName = "domutils";
-      version = "3.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/domutils/-/domutils-3.0.1.tgz";
-        sha512 = "z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q==";
-      };
-    };
-    "dot-case-3.0.4" = {
-      name = "dot-case";
-      packageName = "dot-case";
-      version = "3.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz";
-        sha512 = "Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==";
-      };
-    };
-    "dotenv-10.0.0" = {
-      name = "dotenv";
-      packageName = "dotenv";
-      version = "10.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz";
-        sha512 = "rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==";
-      };
-    };
-    "dotenv-8.6.0" = {
-      name = "dotenv";
-      packageName = "dotenv";
-      version = "8.6.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/dotenv/-/dotenv-8.6.0.tgz";
-        sha512 = "IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==";
-      };
-    };
-    "dotenv-expand-5.1.0" = {
-      name = "dotenv-expand";
-      packageName = "dotenv-expand";
-      version = "5.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz";
-        sha512 = "YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==";
-      };
-    };
-    "downshift-6.1.9" = {
-      name = "downshift";
-      packageName = "downshift";
-      version = "6.1.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/downshift/-/downshift-6.1.9.tgz";
-        sha512 = "mzvk61WOX4MEsYHMKCXEVwuz/zM84x/WrCbaCQw71hyNN0fmWXvV673uOQy2idgIA+yqDsjtkV5KPfAFWuQylg==";
-      };
-    };
-    "duplexer-0.1.2" = {
-      name = "duplexer";
-      packageName = "duplexer";
-      version = "0.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz";
-        sha512 = "jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==";
-      };
-    };
-    "duplexify-3.7.1" = {
-      name = "duplexify";
-      packageName = "duplexify";
-      version = "3.7.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz";
-        sha512 = "07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==";
-      };
-    };
-    "ee-first-1.1.1" = {
-      name = "ee-first";
-      packageName = "ee-first";
-      version = "1.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz";
-        sha512 = "WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==";
-      };
-    };
-    "ejs-3.1.8" = {
-      name = "ejs";
-      packageName = "ejs";
-      version = "3.1.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ejs/-/ejs-3.1.8.tgz";
-        sha512 = "/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ==";
-      };
-    };
-    "electron-to-chromium-1.4.233" = {
-      name = "electron-to-chromium";
-      packageName = "electron-to-chromium";
-      version = "1.4.233";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.233.tgz";
-        sha512 = "ejwIKXTg1wqbmkcRJh9Ur3hFGHFDZDw1POzdsVrB2WZjgRuRMHIQQKNpe64N/qh3ZtH2otEoRoS+s6arAAuAAw==";
-      };
-    };
-    "elliptic-6.5.4" = {
-      name = "elliptic";
-      packageName = "elliptic";
-      version = "6.5.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz";
-        sha512 = "iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==";
-      };
-    };
-    "emittery-0.10.2" = {
-      name = "emittery";
-      packageName = "emittery";
-      version = "0.10.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/emittery/-/emittery-0.10.2.tgz";
-        sha512 = "aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==";
-      };
-    };
-    "emittery-0.8.1" = {
-      name = "emittery";
-      packageName = "emittery";
-      version = "0.8.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz";
-        sha512 = "uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==";
-      };
-    };
-    "emoji-regex-8.0.0" = {
-      name = "emoji-regex";
-      packageName = "emoji-regex";
-      version = "8.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz";
-        sha512 = "MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==";
-      };
-    };
-    "emoji-regex-9.2.2" = {
-      name = "emoji-regex";
-      packageName = "emoji-regex";
-      version = "9.2.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz";
-        sha512 = "L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==";
-      };
-    };
-    "emojis-list-3.0.0" = {
-      name = "emojis-list";
-      packageName = "emojis-list";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz";
-        sha512 = "/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==";
-      };
-    };
-    "encodeurl-1.0.2" = {
-      name = "encodeurl";
-      packageName = "encodeurl";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz";
-        sha512 = "TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==";
-      };
-    };
-    "end-of-stream-1.4.4" = {
-      name = "end-of-stream";
-      packageName = "end-of-stream";
-      version = "1.4.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz";
-        sha512 = "+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==";
-      };
-    };
-    "endent-2.1.0" = {
-      name = "endent";
-      packageName = "endent";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/endent/-/endent-2.1.0.tgz";
-        sha512 = "r8VyPX7XL8U01Xgnb1CjZ3XV+z90cXIJ9JPE/R9SEC9vpw2P6CfsRPJmp20DppC5N7ZAMCmjYkJIa744Iyg96w==";
-      };
-    };
-    "enhanced-resolve-4.5.0" = {
-      name = "enhanced-resolve";
-      packageName = "enhanced-resolve";
-      version = "4.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz";
-        sha512 = "Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==";
-      };
-    };
-    "enhanced-resolve-5.10.0" = {
-      name = "enhanced-resolve";
-      packageName = "enhanced-resolve";
-      version = "5.10.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.10.0.tgz";
-        sha512 = "T0yTFjdpldGY8PmuXXR0PyQ1ufZpEGiHVrp7zHKB7jdR4qlmZHhONVM5AQOAWXuF/w3dnHbEQVrNptJgt7F+cQ==";
-      };
-    };
-    "entities-1.1.2" = {
-      name = "entities";
-      packageName = "entities";
-      version = "1.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz";
-        sha512 = "f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==";
-      };
-    };
-    "entities-2.2.0" = {
-      name = "entities";
-      packageName = "entities";
-      version = "2.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz";
-        sha512 = "p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==";
-      };
-    };
-    "entities-4.3.1" = {
-      name = "entities";
-      packageName = "entities";
-      version = "4.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/entities/-/entities-4.3.1.tgz";
-        sha512 = "o4q/dYJlmyjP2zfnaWDUC6A3BQFmVTX+tZPezK7k0GLSU9QYCauscf5Y+qcEPzKL+EixVouYDgLQK5H9GrLpkg==";
-      };
-    };
-    "enzyme-3.11.0" = {
-      name = "enzyme";
-      packageName = "enzyme";
-      version = "3.11.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/enzyme/-/enzyme-3.11.0.tgz";
-        sha512 = "Dw8/Gs4vRjxY6/6i9wU0V+utmQO9kvh9XLnz3LIudviOnVYDEe2ec+0k+NQoMamn1VrjKgCUOWj5jG/5M5M0Qw==";
-      };
-    };
-    "enzyme-shallow-equal-1.0.4" = {
-      name = "enzyme-shallow-equal";
-      packageName = "enzyme-shallow-equal";
-      version = "1.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/enzyme-shallow-equal/-/enzyme-shallow-equal-1.0.4.tgz";
-        sha512 = "MttIwB8kKxypwHvRynuC3ahyNc+cFbR8mjVIltnmzQ0uKGqmsfO4bfBuLxb0beLNPhjblUEYvEbsg+VSygvF1Q==";
-      };
-    };
-    "err-code-2.0.3" = {
-      name = "err-code";
-      packageName = "err-code";
-      version = "2.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz";
-        sha512 = "2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==";
-      };
-    };
-    "errno-0.1.8" = {
-      name = "errno";
-      packageName = "errno";
-      version = "0.1.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz";
-        sha512 = "dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==";
-      };
-    };
-    "error-ex-1.3.2" = {
-      name = "error-ex";
-      packageName = "error-ex";
-      version = "1.3.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz";
-        sha512 = "7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==";
-      };
-    };
-    "error-stack-parser-2.1.4" = {
-      name = "error-stack-parser";
-      packageName = "error-stack-parser";
-      version = "2.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz";
-        sha512 = "Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==";
-      };
-    };
-    "es-abstract-1.20.1" = {
-      name = "es-abstract";
-      packageName = "es-abstract";
-      version = "1.20.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.1.tgz";
-        sha512 = "WEm2oBhfoI2sImeM4OF2zE2V3BYdSF+KnSi9Sidz51fQHd7+JuF8Xgcj9/0o+OWeIeIS/MiuNnlruQrJf16GQA==";
-      };
-    };
-    "es-array-method-boxes-properly-1.0.0" = {
-      name = "es-array-method-boxes-properly";
-      packageName = "es-array-method-boxes-properly";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz";
-        sha512 = "wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==";
-      };
-    };
-    "es-get-iterator-1.1.2" = {
-      name = "es-get-iterator";
-      packageName = "es-get-iterator";
-      version = "1.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.2.tgz";
-        sha512 = "+DTO8GYwbMCwbywjimwZMHp8AuYXOS2JZFWoi2AlPOS3ebnII9w/NLpNZtA7A0YLaVDw+O7KFCeoIV7OPvM7hQ==";
-      };
-    };
-    "es-module-lexer-0.9.3" = {
-      name = "es-module-lexer";
-      packageName = "es-module-lexer";
-      version = "0.9.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz";
-        sha512 = "1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==";
-      };
-    };
-    "es-shim-unscopables-1.0.0" = {
-      name = "es-shim-unscopables";
-      packageName = "es-shim-unscopables";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz";
-        sha512 = "Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==";
-      };
-    };
-    "es-to-primitive-1.2.1" = {
-      name = "es-to-primitive";
-      packageName = "es-to-primitive";
-      version = "1.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz";
-        sha512 = "QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==";
-      };
-    };
-    "es5-shim-4.6.7" = {
-      name = "es5-shim";
-      packageName = "es5-shim";
-      version = "4.6.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/es5-shim/-/es5-shim-4.6.7.tgz";
-        sha512 = "jg21/dmlrNQI7JyyA2w7n+yifSxBng0ZralnSfVZjoCawgNTCnS+yBCyVM9DL5itm7SUnDGgv7hcq2XCZX4iRQ==";
-      };
-    };
-    "es6-shim-0.35.6" = {
-      name = "es6-shim";
-      packageName = "es6-shim";
-      version = "0.35.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/es6-shim/-/es6-shim-0.35.6.tgz";
-        sha512 = "EmTr31wppcaIAgblChZiuN/l9Y7DPyw8Xtbg7fIVngn6zMW+IEBJDJngeKC3x6wr0V/vcA2wqeFnaw1bFJbDdA==";
-      };
-    };
-    "escalade-3.1.1" = {
-      name = "escalade";
-      packageName = "escalade";
-      version = "3.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz";
-        sha512 = "k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==";
-      };
-    };
-    "escape-html-1.0.3" = {
-      name = "escape-html";
-      packageName = "escape-html";
-      version = "1.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz";
-        sha512 = "NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==";
-      };
-    };
-    "escape-string-regexp-1.0.5" = {
-      name = "escape-string-regexp";
-      packageName = "escape-string-regexp";
-      version = "1.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz";
-        sha512 = "vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==";
-      };
-    };
-    "escape-string-regexp-2.0.0" = {
-      name = "escape-string-regexp";
-      packageName = "escape-string-regexp";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz";
-        sha512 = "UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==";
-      };
-    };
-    "escape-string-regexp-4.0.0" = {
-      name = "escape-string-regexp";
-      packageName = "escape-string-regexp";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz";
-        sha512 = "TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==";
-      };
-    };
-    "escodegen-2.0.0" = {
-      name = "escodegen";
-      packageName = "escodegen";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz";
-        sha512 = "mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==";
-      };
-    };
-    "eslint-8.23.0" = {
-      name = "eslint";
-      packageName = "eslint";
-      version = "8.23.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/eslint/-/eslint-8.23.0.tgz";
-        sha512 = "pBG/XOn0MsJcKcTRLr27S5HpzQo4kLr+HjLQIyK4EiCsijDl/TB+h5uEuJU6bQ8Edvwz1XWOjpaP2qgnXGpTcA==";
-      };
-    };
-    "eslint-config-prettier-3.6.0" = {
-      name = "eslint-config-prettier";
-      packageName = "eslint-config-prettier";
-      version = "3.6.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-3.6.0.tgz";
-        sha512 = "ixJ4U3uTLXwJts4rmSVW/lMXjlGwCijhBJHk8iVqKKSifeI0qgFEfWl8L63isfc8Od7EiBALF6BX3jKLluf/jQ==";
-      };
-    };
-    "eslint-config-prettier-8.5.0" = {
-      name = "eslint-config-prettier";
-      packageName = "eslint-config-prettier";
-      version = "8.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz";
-        sha512 = "obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==";
-      };
-    };
-    "eslint-config-react-app-7.0.1" = {
-      name = "eslint-config-react-app";
-      packageName = "eslint-config-react-app";
-      version = "7.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-7.0.1.tgz";
-        sha512 = "K6rNzvkIeHaTd8m/QEh1Zko0KI7BACWkkneSs6s9cKZC/J27X3eZR6Upt1jkmZ/4FK+XUOPPxMEN7+lbUXfSlA==";
-      };
-    };
-    "eslint-import-resolver-node-0.3.6" = {
-      name = "eslint-import-resolver-node";
-      packageName = "eslint-import-resolver-node";
-      version = "0.3.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz";
-        sha512 = "0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==";
-      };
-    };
-    "eslint-module-utils-2.7.4" = {
-      name = "eslint-module-utils";
-      packageName = "eslint-module-utils";
-      version = "2.7.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz";
-        sha512 = "j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==";
-      };
-    };
-    "eslint-plugin-flowtype-8.0.3" = {
-      name = "eslint-plugin-flowtype";
-      packageName = "eslint-plugin-flowtype";
-      version = "8.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-8.0.3.tgz";
-        sha512 = "dX8l6qUL6O+fYPtpNRideCFSpmWOUVx5QcaGLVqe/vlDiBSe4vYljDWDETwnyFzpl7By/WVIu6rcrniCgH9BqQ==";
-      };
-    };
-    "eslint-plugin-import-2.26.0" = {
-      name = "eslint-plugin-import";
-      packageName = "eslint-plugin-import";
-      version = "2.26.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz";
-        sha512 = "hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==";
-      };
-    };
-    "eslint-plugin-jest-25.7.0" = {
-      name = "eslint-plugin-jest";
-      packageName = "eslint-plugin-jest";
-      version = "25.7.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-25.7.0.tgz";
-        sha512 = "PWLUEXeeF7C9QGKqvdSbzLOiLTx+bno7/HC9eefePfEb257QFHg7ye3dh80AZVkaa/RQsBB1Q/ORQvg2X7F0NQ==";
-      };
-    };
-    "eslint-plugin-jest-27.0.1" = {
-      name = "eslint-plugin-jest";
-      packageName = "eslint-plugin-jest";
-      version = "27.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-27.0.1.tgz";
-        sha512 = "LosUsrkwVSs/8Z/I8Hqn5vWgTEsHrfIquDEKOsV8/cl+gbFR4tiRCE1AimEotsHjSC0Rx1tYm6vPhw8C3ktmmg==";
-      };
-    };
-    "eslint-plugin-jsx-a11y-6.6.1" = {
-      name = "eslint-plugin-jsx-a11y";
-      packageName = "eslint-plugin-jsx-a11y";
-      version = "6.6.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.6.1.tgz";
-        sha512 = "sXgFVNHiWffBq23uiS/JaP6eVR622DqwB4yTzKvGZGcPq6/yZ3WmOZfuBks/vHWo9GaFOqC2ZK4i6+C35knx7Q==";
-      };
-    };
-    "eslint-plugin-prettier-4.2.1" = {
-      name = "eslint-plugin-prettier";
-      packageName = "eslint-plugin-prettier";
-      version = "4.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz";
-        sha512 = "f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==";
-      };
-    };
-    "eslint-plugin-react-7.31.1" = {
-      name = "eslint-plugin-react";
-      packageName = "eslint-plugin-react";
-      version = "7.31.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.31.1.tgz";
-        sha512 = "j4/2xWqt/R7AZzG8CakGHA6Xa/u7iR8Q3xCxY+AUghdT92bnIDOBEefV456OeH0QvBcroVc0eyvrrLSyQGYIfg==";
-      };
-    };
-    "eslint-plugin-react-hooks-4.6.0" = {
-      name = "eslint-plugin-react-hooks";
-      packageName = "eslint-plugin-react-hooks";
-      version = "4.6.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz";
-        sha512 = "oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==";
-      };
-    };
-    "eslint-plugin-testing-library-5.6.0" = {
-      name = "eslint-plugin-testing-library";
-      packageName = "eslint-plugin-testing-library";
-      version = "5.6.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/eslint-plugin-testing-library/-/eslint-plugin-testing-library-5.6.0.tgz";
-        sha512 = "y63TRzPhGCMNsnUwMGJU1MFWc/3GvYw+nzobp9QiyNTTKsgAt5RKAOT1I34+XqVBpX1lC8bScoOjCkP7iRv0Mw==";
-      };
-    };
-    "eslint-scope-4.0.3" = {
-      name = "eslint-scope";
-      packageName = "eslint-scope";
-      version = "4.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz";
-        sha512 = "p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==";
-      };
-    };
-    "eslint-scope-5.1.1" = {
-      name = "eslint-scope";
-      packageName = "eslint-scope";
-      version = "5.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz";
-        sha512 = "2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==";
-      };
-    };
-    "eslint-scope-7.1.1" = {
-      name = "eslint-scope";
-      packageName = "eslint-scope";
-      version = "7.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz";
-        sha512 = "QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==";
-      };
-    };
-    "eslint-utils-3.0.0" = {
-      name = "eslint-utils";
-      packageName = "eslint-utils";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz";
-        sha512 = "uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==";
-      };
-    };
-    "eslint-visitor-keys-2.1.0" = {
-      name = "eslint-visitor-keys";
-      packageName = "eslint-visitor-keys";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz";
-        sha512 = "0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==";
-      };
-    };
-    "eslint-visitor-keys-3.3.0" = {
-      name = "eslint-visitor-keys";
-      packageName = "eslint-visitor-keys";
-      version = "3.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz";
-        sha512 = "mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==";
-      };
-    };
-    "eslint-webpack-plugin-3.2.0" = {
-      name = "eslint-webpack-plugin";
-      packageName = "eslint-webpack-plugin";
-      version = "3.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/eslint-webpack-plugin/-/eslint-webpack-plugin-3.2.0.tgz";
-        sha512 = "avrKcGncpPbPSUHX6B3stNGzkKFto3eL+DKM4+VyMrVnhPc3vRczVlCq3uhuFOdRvDHTVXuzwk1ZKUrqDQHQ9w==";
-      };
-    };
-    "espree-9.4.0" = {
-      name = "espree";
-      packageName = "espree";
-      version = "9.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/espree/-/espree-9.4.0.tgz";
-        sha512 = "DQmnRpLj7f6TgN/NYb0MTzJXL+vJF9h3pHy4JhCIs3zwcgez8xmGg3sXHcEO97BrmO2OSvCwMdfdlyl+E9KjOw==";
-      };
-    };
-    "esprima-4.0.1" = {
-      name = "esprima";
-      packageName = "esprima";
-      version = "4.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz";
-        sha512 = "eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==";
-      };
-    };
-    "esquery-1.4.0" = {
-      name = "esquery";
-      packageName = "esquery";
-      version = "1.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz";
-        sha512 = "cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==";
-      };
-    };
-    "esrecurse-4.3.0" = {
-      name = "esrecurse";
-      packageName = "esrecurse";
-      version = "4.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz";
-        sha512 = "KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==";
-      };
-    };
-    "estraverse-4.3.0" = {
-      name = "estraverse";
-      packageName = "estraverse";
-      version = "4.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz";
-        sha512 = "39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==";
-      };
-    };
-    "estraverse-5.3.0" = {
-      name = "estraverse";
-      packageName = "estraverse";
-      version = "5.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz";
-        sha512 = "MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==";
-      };
-    };
-    "estree-to-babel-3.2.1" = {
-      name = "estree-to-babel";
-      packageName = "estree-to-babel";
-      version = "3.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/estree-to-babel/-/estree-to-babel-3.2.1.tgz";
-        sha512 = "YNF+mZ/Wu2FU/gvmzuWtYc8rloubL7wfXCTgouFrnjGVXPA/EeYYA7pupXWrb3Iv1cTBeSSxxJIbK23l4MRNqg==";
-      };
-    };
-    "estree-walker-1.0.1" = {
-      name = "estree-walker";
-      packageName = "estree-walker";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz";
-        sha512 = "1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==";
-      };
-    };
-    "esutils-2.0.3" = {
-      name = "esutils";
-      packageName = "esutils";
-      version = "2.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz";
-        sha512 = "kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==";
-      };
-    };
-    "etag-1.8.1" = {
-      name = "etag";
-      packageName = "etag";
-      version = "1.8.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz";
-        sha512 = "aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==";
-      };
-    };
-    "eventemitter3-4.0.7" = {
-      name = "eventemitter3";
-      packageName = "eventemitter3";
-      version = "4.0.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz";
-        sha512 = "8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==";
-      };
-    };
-    "events-3.3.0" = {
-      name = "events";
-      packageName = "events";
-      version = "3.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/events/-/events-3.3.0.tgz";
-        sha512 = "mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==";
-      };
-    };
-    "evp_bytestokey-1.0.3" = {
-      name = "evp_bytestokey";
-      packageName = "evp_bytestokey";
-      version = "1.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz";
-        sha512 = "/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==";
-      };
-    };
-    "execa-5.1.1" = {
-      name = "execa";
-      packageName = "execa";
-      version = "5.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz";
-        sha512 = "8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==";
-      };
-    };
-    "exit-0.1.2" = {
-      name = "exit";
-      packageName = "exit";
-      version = "0.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz";
-        sha512 = "Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==";
-      };
-    };
-    "expand-brackets-2.1.4" = {
-      name = "expand-brackets";
-      packageName = "expand-brackets";
-      version = "2.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz";
-        sha512 = "w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==";
-      };
-    };
-    "expect-27.5.1" = {
-      name = "expect";
-      packageName = "expect";
-      version = "27.5.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz";
-        sha512 = "E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==";
-      };
-    };
-    "expect-29.0.1" = {
-      name = "expect";
-      packageName = "expect";
-      version = "29.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/expect/-/expect-29.0.1.tgz";
-        sha512 = "yQgemsjLU+1S8t2A7pXT3Sn/v5/37LY8J+tocWtKEA0iEYYc6gfKbbJJX2fxHZmd7K9WpdbQqXUpmYkq1aewYg==";
-      };
-    };
-    "express-4.18.1" = {
-      name = "express";
-      packageName = "express";
-      version = "4.18.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/express/-/express-4.18.1.tgz";
-        sha512 = "zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==";
-      };
-    };
-    "extend-3.0.2" = {
-      name = "extend";
-      packageName = "extend";
-      version = "3.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz";
-        sha512 = "fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==";
-      };
-    };
-    "extend-shallow-2.0.1" = {
-      name = "extend-shallow";
-      packageName = "extend-shallow";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz";
-        sha512 = "zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==";
-      };
-    };
-    "extend-shallow-3.0.2" = {
-      name = "extend-shallow";
-      packageName = "extend-shallow";
-      version = "3.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz";
-        sha512 = "BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==";
-      };
-    };
-    "extglob-2.0.4" = {
-      name = "extglob";
-      packageName = "extglob";
-      version = "2.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz";
-        sha512 = "Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==";
-      };
-    };
-    "extract-zip-2.0.1" = {
-      name = "extract-zip";
-      packageName = "extract-zip";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz";
-        sha512 = "GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==";
-      };
-    };
-    "fast-deep-equal-3.1.3" = {
-      name = "fast-deep-equal";
-      packageName = "fast-deep-equal";
-      version = "3.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz";
-        sha512 = "f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==";
-      };
-    };
-    "fast-diff-1.2.0" = {
-      name = "fast-diff";
-      packageName = "fast-diff";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz";
-        sha512 = "xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==";
-      };
-    };
-    "fast-glob-2.2.7" = {
-      name = "fast-glob";
-      packageName = "fast-glob";
-      version = "2.2.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz";
-        sha512 = "g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==";
-      };
-    };
-    "fast-glob-3.2.11" = {
-      name = "fast-glob";
-      packageName = "fast-glob";
-      version = "3.2.11";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz";
-        sha512 = "xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==";
-      };
-    };
-    "fast-json-parse-1.0.3" = {
-      name = "fast-json-parse";
-      packageName = "fast-json-parse";
-      version = "1.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fast-json-parse/-/fast-json-parse-1.0.3.tgz";
-        sha512 = "FRWsaZRWEJ1ESVNbDWmsAlqDk96gPQezzLghafp5J4GUKjbCz3OkAHuZs5TuPEtkbVQERysLp9xv6c24fBm8Aw==";
-      };
-    };
-    "fast-json-stable-stringify-2.1.0" = {
-      name = "fast-json-stable-stringify";
-      packageName = "fast-json-stable-stringify";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz";
-        sha512 = "lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==";
-      };
-    };
-    "fast-levenshtein-2.0.6" = {
-      name = "fast-levenshtein";
-      packageName = "fast-levenshtein";
-      version = "2.0.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz";
-        sha512 = "DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==";
-      };
-    };
-    "fastq-1.13.0" = {
-      name = "fastq";
-      packageName = "fastq";
-      version = "1.13.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz";
-        sha512 = "YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==";
-      };
-    };
-    "favico.js-0.3.10" = {
-      name = "favico.js";
-      packageName = "favico.js";
-      version = "0.3.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/favico.js/-/favico.js-0.3.10.tgz";
-        sha512 = "S5KvqAOczRjlyjQPPZPSlUEybBkfBgKosY/pzTIxkvKgigB+DkITvIEI70dxQarbv4PZ+UD77QzquCAcU/6LHQ==";
-      };
-    };
-    "faye-websocket-0.11.4" = {
-      name = "faye-websocket";
-      packageName = "faye-websocket";
-      version = "0.11.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz";
-        sha512 = "CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==";
-      };
-    };
-    "fb-watchman-2.0.1" = {
-      name = "fb-watchman";
-      packageName = "fb-watchman";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz";
-        sha512 = "DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==";
-      };
-    };
-    "fd-slicer-1.1.0" = {
-      name = "fd-slicer";
-      packageName = "fd-slicer";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz";
-        sha512 = "cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==";
-      };
-    };
-    "fetch-mock-9.11.0" = {
-      name = "fetch-mock";
-      packageName = "fetch-mock";
-      version = "9.11.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fetch-mock/-/fetch-mock-9.11.0.tgz";
-        sha512 = "PG1XUv+x7iag5p/iNHD4/jdpxL9FtVSqRMUQhPab4hVDt80T1MH5ehzVrL2IdXO9Q2iBggArFvPqjUbHFuI58Q==";
-      };
-    };
-    "fetch-retry-5.0.3" = {
-      name = "fetch-retry";
-      packageName = "fetch-retry";
-      version = "5.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fetch-retry/-/fetch-retry-5.0.3.tgz";
-        sha512 = "uJQyMrX5IJZkhoEUBQ3EjxkeiZkppBd5jS/fMTJmfZxLSiaQjv2zD0kTvuvkSH89uFvgSlB6ueGpjD3HWN7Bxw==";
-      };
-    };
-    "figgy-pudding-3.5.2" = {
-      name = "figgy-pudding";
-      packageName = "figgy-pudding";
-      version = "3.5.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz";
-        sha512 = "0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==";
-      };
-    };
-    "file-entry-cache-6.0.1" = {
-      name = "file-entry-cache";
-      packageName = "file-entry-cache";
-      version = "6.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz";
-        sha512 = "7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==";
-      };
-    };
-    "file-loader-6.2.0" = {
-      name = "file-loader";
-      packageName = "file-loader";
-      version = "6.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz";
-        sha512 = "qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==";
-      };
-    };
-    "file-system-cache-1.1.0" = {
-      name = "file-system-cache";
-      packageName = "file-system-cache";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/file-system-cache/-/file-system-cache-1.1.0.tgz";
-        sha512 = "IzF5MBq+5CR0jXx5RxPe4BICl/oEhBSXKaL9fLhAXrIfIUS77Hr4vzrYyqYMHN6uTt+BOqi3fDCTjjEBCjERKw==";
-      };
-    };
-    "file-uri-to-path-1.0.0" = {
-      name = "file-uri-to-path";
-      packageName = "file-uri-to-path";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz";
-        sha512 = "0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==";
-      };
-    };
-    "filelist-1.0.4" = {
-      name = "filelist";
-      packageName = "filelist";
-      version = "1.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz";
-        sha512 = "w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==";
-      };
-    };
-    "filesize-8.0.7" = {
-      name = "filesize";
-      packageName = "filesize";
-      version = "8.0.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz";
-        sha512 = "pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==";
-      };
-    };
-    "fill-range-4.0.0" = {
-      name = "fill-range";
-      packageName = "fill-range";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz";
-        sha512 = "VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==";
-      };
-    };
-    "fill-range-7.0.1" = {
-      name = "fill-range";
-      packageName = "fill-range";
-      version = "7.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz";
-        sha512 = "qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==";
-      };
-    };
-    "finalhandler-1.2.0" = {
-      name = "finalhandler";
-      packageName = "finalhandler";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz";
-        sha512 = "5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==";
-      };
-    };
-    "find-cache-dir-2.1.0" = {
-      name = "find-cache-dir";
-      packageName = "find-cache-dir";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz";
-        sha512 = "Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==";
-      };
-    };
-    "find-cache-dir-3.3.2" = {
-      name = "find-cache-dir";
-      packageName = "find-cache-dir";
-      version = "3.3.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz";
-        sha512 = "wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==";
-      };
-    };
-    "find-root-1.1.0" = {
-      name = "find-root";
-      packageName = "find-root";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz";
-        sha512 = "NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==";
-      };
-    };
-    "find-up-1.1.2" = {
-      name = "find-up";
-      packageName = "find-up";
-      version = "1.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz";
-        sha512 = "jvElSjyuo4EMQGoTwo1uJU5pQMwTW5lS1x05zzfJuTIyLR3zwO27LYrxNg+dlvKpGOuGy/MzBdXh80g0ve5+HA==";
-      };
-    };
-    "find-up-3.0.0" = {
-      name = "find-up";
-      packageName = "find-up";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz";
-        sha512 = "1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==";
-      };
-    };
-    "find-up-4.1.0" = {
-      name = "find-up";
-      packageName = "find-up";
-      version = "4.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz";
-        sha512 = "PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==";
-      };
-    };
-    "find-up-5.0.0" = {
-      name = "find-up";
-      packageName = "find-up";
-      version = "5.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz";
-        sha512 = "78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==";
-      };
-    };
-    "flat-cache-3.0.4" = {
-      name = "flat-cache";
-      packageName = "flat-cache";
-      version = "3.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz";
-        sha512 = "dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==";
-      };
-    };
-    "flatted-3.2.7" = {
-      name = "flatted";
-      packageName = "flatted";
-      version = "3.2.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz";
-        sha512 = "5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==";
-      };
-    };
-    "flush-write-stream-1.1.1" = {
-      name = "flush-write-stream";
-      packageName = "flush-write-stream";
-      version = "1.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz";
-        sha512 = "3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==";
-      };
-    };
-    "follow-redirects-1.15.1" = {
-      name = "follow-redirects";
-      packageName = "follow-redirects";
-      version = "1.15.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz";
-        sha512 = "yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==";
-      };
-    };
-    "fontfaceobserver-2.3.0" = {
-      name = "fontfaceobserver";
-      packageName = "fontfaceobserver";
-      version = "2.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fontfaceobserver/-/fontfaceobserver-2.3.0.tgz";
-        sha512 = "6FPvD/IVyT4ZlNe7Wcn5Fb/4ChigpucKYSvD6a+0iMoLn2inpo711eyIcKjmDtE5XNcgAkSH9uN/nfAeZzHEfg==";
-      };
-    };
-    "for-in-1.0.2" = {
-      name = "for-in";
-      packageName = "for-in";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz";
-        sha512 = "7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==";
-      };
-    };
-    "foreground-child-2.0.0" = {
-      name = "foreground-child";
-      packageName = "foreground-child";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz";
-        sha512 = "dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==";
-      };
-    };
-    "fork-ts-checker-webpack-plugin-4.1.6" = {
-      name = "fork-ts-checker-webpack-plugin";
-      packageName = "fork-ts-checker-webpack-plugin";
-      version = "4.1.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-4.1.6.tgz";
-        sha512 = "DUxuQaKoqfNne8iikd14SAkh5uw4+8vNifp6gmA73yYNS6ywLIWSLD/n/mBzHQRpW3J7rbATEakmiA8JvkTyZw==";
-      };
-    };
-    "fork-ts-checker-webpack-plugin-6.5.2" = {
-      name = "fork-ts-checker-webpack-plugin";
-      packageName = "fork-ts-checker-webpack-plugin";
-      version = "6.5.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.2.tgz";
-        sha512 = "m5cUmF30xkZ7h4tWUgTAcEaKmUW7tfyUyTqNNOz7OxWJ0v1VWKTcOvH8FWHUwSjlW/356Ijc9vi3XfcPstpQKA==";
-      };
-    };
-    "form-data-3.0.1" = {
-      name = "form-data";
-      packageName = "form-data";
-      version = "3.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz";
-        sha512 = "RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==";
-      };
-    };
-    "forwarded-0.2.0" = {
-      name = "forwarded";
-      packageName = "forwarded";
-      version = "0.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz";
-        sha512 = "buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==";
-      };
-    };
-    "fraction.js-4.2.0" = {
-      name = "fraction.js";
-      packageName = "fraction.js";
-      version = "4.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz";
-        sha512 = "MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==";
-      };
-    };
-    "fragment-cache-0.2.1" = {
-      name = "fragment-cache";
-      packageName = "fragment-cache";
-      version = "0.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz";
-        sha512 = "GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==";
-      };
-    };
-    "fresh-0.5.2" = {
-      name = "fresh";
-      packageName = "fresh";
-      version = "0.5.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz";
-        sha512 = "zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==";
-      };
-    };
-    "from2-2.3.0" = {
-      name = "from2";
-      packageName = "from2";
-      version = "2.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz";
-        sha512 = "OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==";
-      };
-    };
-    "fs-extra-10.1.0" = {
-      name = "fs-extra";
-      packageName = "fs-extra";
-      version = "10.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz";
-        sha512 = "oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==";
-      };
-    };
-    "fs-extra-9.1.0" = {
-      name = "fs-extra";
-      packageName = "fs-extra";
-      version = "9.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz";
-        sha512 = "hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==";
-      };
-    };
-    "fs-minipass-2.1.0" = {
-      name = "fs-minipass";
-      packageName = "fs-minipass";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz";
-        sha512 = "V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==";
-      };
-    };
-    "fs-monkey-1.0.3" = {
-      name = "fs-monkey";
-      packageName = "fs-monkey";
-      version = "1.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz";
-        sha512 = "cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==";
-      };
-    };
-    "fs-write-stream-atomic-1.0.10" = {
-      name = "fs-write-stream-atomic";
-      packageName = "fs-write-stream-atomic";
-      version = "1.0.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz";
-        sha512 = "gehEzmPn2nAwr39eay+x3X34Ra+M2QlVUTLhkXPjWdeO8RF9kszk116avgBJM3ZyNHgHXBNx+VmPaFC36k0PzA==";
-      };
-    };
-    "fs.realpath-1.0.0" = {
-      name = "fs.realpath";
-      packageName = "fs.realpath";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz";
-        sha512 = "OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==";
-      };
-    };
-    "fsevents-1.2.13" = {
-      name = "fsevents";
-      packageName = "fsevents";
-      version = "1.2.13";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz";
-        sha512 = "oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==";
-      };
-    };
-    "fsevents-2.3.2" = {
-      name = "fsevents";
-      packageName = "fsevents";
-      version = "2.3.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz";
-        sha512 = "xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==";
-      };
-    };
-    "function-bind-1.1.1" = {
-      name = "function-bind";
-      packageName = "function-bind";
-      version = "1.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz";
-        sha512 = "yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==";
-      };
-    };
-    "function.prototype.name-1.1.5" = {
-      name = "function.prototype.name";
-      packageName = "function.prototype.name";
-      version = "1.1.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz";
-        sha512 = "uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==";
-      };
-    };
-    "functional-red-black-tree-1.0.1" = {
-      name = "functional-red-black-tree";
-      packageName = "functional-red-black-tree";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz";
-        sha512 = "dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==";
-      };
-    };
-    "functions-have-names-1.2.3" = {
-      name = "functions-have-names";
-      packageName = "functions-have-names";
-      version = "1.2.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz";
-        sha512 = "xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==";
-      };
-    };
-    "gauge-3.0.2" = {
-      name = "gauge";
-      packageName = "gauge";
-      version = "3.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz";
-        sha512 = "+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==";
-      };
-    };
-    "gensync-1.0.0-beta.2" = {
-      name = "gensync";
-      packageName = "gensync";
-      version = "1.0.0-beta.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz";
-        sha512 = "3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==";
-      };
-    };
-    "get-caller-file-2.0.5" = {
-      name = "get-caller-file";
-      packageName = "get-caller-file";
-      version = "2.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz";
-        sha512 = "DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==";
-      };
-    };
-    "get-intrinsic-1.1.2" = {
-      name = "get-intrinsic";
-      packageName = "get-intrinsic";
-      version = "1.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.2.tgz";
-        sha512 = "Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==";
-      };
-    };
-    "get-own-enumerable-property-symbols-3.0.2" = {
-      name = "get-own-enumerable-property-symbols";
-      packageName = "get-own-enumerable-property-symbols";
-      version = "3.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz";
-        sha512 = "I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==";
-      };
-    };
-    "get-package-type-0.1.0" = {
-      name = "get-package-type";
-      packageName = "get-package-type";
-      version = "0.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz";
-        sha512 = "pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==";
-      };
-    };
-    "get-stdin-4.0.1" = {
-      name = "get-stdin";
-      packageName = "get-stdin";
-      version = "4.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz";
-        sha512 = "F5aQMywwJ2n85s4hJPTT9RPxGmubonuB10MNYo17/xph174n2MIR33HRguhzVag10O/npM7SPk73LMZNP+FaWw==";
-      };
-    };
-    "get-stdin-6.0.0" = {
-      name = "get-stdin";
-      packageName = "get-stdin";
-      version = "6.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz";
-        sha512 = "jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==";
-      };
-    };
-    "get-stream-5.2.0" = {
-      name = "get-stream";
-      packageName = "get-stream";
-      version = "5.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz";
-        sha512 = "nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==";
-      };
-    };
-    "get-stream-6.0.1" = {
-      name = "get-stream";
-      packageName = "get-stream";
-      version = "6.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz";
-        sha512 = "ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==";
-      };
-    };
-    "get-symbol-description-1.0.0" = {
-      name = "get-symbol-description";
-      packageName = "get-symbol-description";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz";
-        sha512 = "2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==";
-      };
-    };
-    "get-value-2.0.6" = {
-      name = "get-value";
-      packageName = "get-value";
-      version = "2.0.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz";
-        sha512 = "Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==";
-      };
-    };
-    "glob-7.2.3" = {
-      name = "glob";
-      packageName = "glob";
-      version = "7.2.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz";
-        sha512 = "nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==";
-      };
-    };
-    "glob-parent-3.1.0" = {
-      name = "glob-parent";
-      packageName = "glob-parent";
-      version = "3.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz";
-        sha512 = "E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==";
-      };
-    };
-    "glob-parent-5.1.2" = {
-      name = "glob-parent";
-      packageName = "glob-parent";
-      version = "5.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz";
-        sha512 = "AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==";
-      };
-    };
-    "glob-parent-6.0.2" = {
-      name = "glob-parent";
-      packageName = "glob-parent";
-      version = "6.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz";
-        sha512 = "XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==";
-      };
-    };
-    "glob-promise-3.4.0" = {
-      name = "glob-promise";
-      packageName = "glob-promise";
-      version = "3.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/glob-promise/-/glob-promise-3.4.0.tgz";
-        sha512 = "q08RJ6O+eJn+dVanerAndJwIcumgbDdYiUT7zFQl3Wm1xD6fBKtah7H8ZJChj4wP+8C+QfeVy8xautR7rdmKEw==";
-      };
-    };
-    "glob-to-regexp-0.3.0" = {
-      name = "glob-to-regexp";
-      packageName = "glob-to-regexp";
-      version = "0.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz";
-        sha512 = "Iozmtbqv0noj0uDDqoL0zNq0VBEfK2YFoMAZoxJe4cwphvLR+JskfF30QhXHOR4m3KrE6NLRYw+U9MRXvifyig==";
-      };
-    };
-    "glob-to-regexp-0.4.1" = {
-      name = "glob-to-regexp";
-      packageName = "glob-to-regexp";
-      version = "0.4.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz";
-        sha512 = "lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==";
-      };
-    };
-    "global-4.4.0" = {
-      name = "global";
-      packageName = "global";
-      version = "4.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/global/-/global-4.4.0.tgz";
-        sha512 = "wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==";
-      };
-    };
-    "global-modules-2.0.0" = {
-      name = "global-modules";
-      packageName = "global-modules";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz";
-        sha512 = "NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==";
-      };
-    };
-    "global-prefix-3.0.0" = {
-      name = "global-prefix";
-      packageName = "global-prefix";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz";
-        sha512 = "awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==";
-      };
-    };
-    "globals-11.12.0" = {
-      name = "globals";
-      packageName = "globals";
-      version = "11.12.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz";
-        sha512 = "WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==";
-      };
-    };
-    "globals-13.17.0" = {
-      name = "globals";
-      packageName = "globals";
-      version = "13.17.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz";
-        sha512 = "1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==";
-      };
-    };
-    "globalthis-1.0.3" = {
-      name = "globalthis";
-      packageName = "globalthis";
-      version = "1.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz";
-        sha512 = "sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==";
-      };
-    };
-    "globby-11.1.0" = {
-      name = "globby";
-      packageName = "globby";
-      version = "11.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz";
-        sha512 = "jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==";
-      };
-    };
-    "globby-9.2.0" = {
-      name = "globby";
-      packageName = "globby";
-      version = "9.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/globby/-/globby-9.2.0.tgz";
-        sha512 = "ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg==";
-      };
-    };
-    "graceful-fs-4.2.10" = {
-      name = "graceful-fs";
-      packageName = "graceful-fs";
-      version = "4.2.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz";
-        sha512 = "9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==";
-      };
-    };
-    "grapheme-splitter-1.0.4" = {
-      name = "grapheme-splitter";
-      packageName = "grapheme-splitter";
-      version = "1.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz";
-        sha512 = "bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==";
-      };
-    };
-    "gzip-size-6.0.0" = {
-      name = "gzip-size";
-      packageName = "gzip-size";
-      version = "6.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz";
-        sha512 = "ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==";
-      };
-    };
-    "handle-thing-2.0.1" = {
-      name = "handle-thing";
-      packageName = "handle-thing";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz";
-        sha512 = "9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==";
-      };
-    };
-    "handlebars-4.7.7" = {
-      name = "handlebars";
-      packageName = "handlebars";
-      version = "4.7.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz";
-        sha512 = "aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==";
-      };
-    };
-    "harmony-reflect-1.6.2" = {
-      name = "harmony-reflect";
-      packageName = "harmony-reflect";
-      version = "1.6.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.6.2.tgz";
-        sha512 = "HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==";
-      };
-    };
-    "has-1.0.3" = {
-      name = "has";
-      packageName = "has";
-      version = "1.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/has/-/has-1.0.3.tgz";
-        sha512 = "f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==";
-      };
-    };
-    "has-bigints-1.0.2" = {
-      name = "has-bigints";
-      packageName = "has-bigints";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz";
-        sha512 = "tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==";
-      };
-    };
-    "has-flag-3.0.0" = {
-      name = "has-flag";
-      packageName = "has-flag";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz";
-        sha512 = "sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==";
-      };
-    };
-    "has-flag-4.0.0" = {
-      name = "has-flag";
-      packageName = "has-flag";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz";
-        sha512 = "EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==";
-      };
-    };
-    "has-glob-1.0.0" = {
-      name = "has-glob";
-      packageName = "has-glob";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/has-glob/-/has-glob-1.0.0.tgz";
-        sha512 = "D+8A457fBShSEI3tFCj65PAbT++5sKiFtdCdOam0gnfBgw9D277OERk+HM9qYJXmdVLZ/znez10SqHN0BBQ50g==";
-      };
-    };
-    "has-property-descriptors-1.0.0" = {
-      name = "has-property-descriptors";
-      packageName = "has-property-descriptors";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz";
-        sha512 = "62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==";
-      };
-    };
-    "has-symbols-1.0.3" = {
-      name = "has-symbols";
-      packageName = "has-symbols";
-      version = "1.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz";
-        sha512 = "l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==";
-      };
-    };
-    "has-tostringtag-1.0.0" = {
-      name = "has-tostringtag";
-      packageName = "has-tostringtag";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz";
-        sha512 = "kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==";
-      };
-    };
-    "has-unicode-2.0.1" = {
-      name = "has-unicode";
-      packageName = "has-unicode";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz";
-        sha512 = "8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==";
-      };
-    };
-    "has-value-0.3.1" = {
-      name = "has-value";
-      packageName = "has-value";
-      version = "0.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz";
-        sha512 = "gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==";
-      };
-    };
-    "has-value-1.0.0" = {
-      name = "has-value";
-      packageName = "has-value";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz";
-        sha512 = "IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==";
-      };
-    };
-    "has-values-0.1.4" = {
-      name = "has-values";
-      packageName = "has-values";
-      version = "0.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz";
-        sha512 = "J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==";
-      };
-    };
-    "has-values-1.0.0" = {
-      name = "has-values";
-      packageName = "has-values";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz";
-        sha512 = "ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==";
-      };
-    };
-    "hash-base-3.1.0" = {
-      name = "hash-base";
-      packageName = "hash-base";
-      version = "3.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz";
-        sha512 = "1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==";
-      };
-    };
-    "hash.js-1.1.7" = {
-      name = "hash.js";
-      packageName = "hash.js";
-      version = "1.1.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz";
-        sha512 = "taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==";
-      };
-    };
-    "hast-to-hyperscript-9.0.1" = {
-      name = "hast-to-hyperscript";
-      packageName = "hast-to-hyperscript";
-      version = "9.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/hast-to-hyperscript/-/hast-to-hyperscript-9.0.1.tgz";
-        sha512 = "zQgLKqF+O2F72S1aa4y2ivxzSlko3MAvxkwG8ehGmNiqd98BIN3JM1rAJPmplEyLmGLO2QZYJtIneOSZ2YbJuA==";
-      };
-    };
-    "hast-util-from-parse5-6.0.1" = {
-      name = "hast-util-from-parse5";
-      packageName = "hast-util-from-parse5";
-      version = "6.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-6.0.1.tgz";
-        sha512 = "jeJUWiN5pSxW12Rh01smtVkZgZr33wBokLzKLwinYOUfSzm1Nl/c3GUGebDyOKjdsRgMvoVbV0VpAcpjF4NrJA==";
-      };
-    };
-    "hast-util-parse-selector-2.2.5" = {
-      name = "hast-util-parse-selector";
-      packageName = "hast-util-parse-selector";
-      version = "2.2.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-2.2.5.tgz";
-        sha512 = "7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ==";
-      };
-    };
-    "hast-util-raw-6.0.1" = {
-      name = "hast-util-raw";
-      packageName = "hast-util-raw";
-      version = "6.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-6.0.1.tgz";
-        sha512 = "ZMuiYA+UF7BXBtsTBNcLBF5HzXzkyE6MLzJnL605LKE8GJylNjGc4jjxazAHUtcwT5/CEt6afRKViYB4X66dig==";
-      };
-    };
-    "hast-util-to-parse5-6.0.0" = {
-      name = "hast-util-to-parse5";
-      packageName = "hast-util-to-parse5";
-      version = "6.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-6.0.0.tgz";
-        sha512 = "Lu5m6Lgm/fWuz8eWnrKezHtVY83JeRGaNQ2kn9aJgqaxvVkFCZQBEhgodZUDUvoodgyROHDb3r5IxAEdl6suJQ==";
-      };
-    };
-    "hastscript-6.0.0" = {
-      name = "hastscript";
-      packageName = "hastscript";
-      version = "6.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/hastscript/-/hastscript-6.0.0.tgz";
-        sha512 = "nDM6bvd7lIqDUiYEiu5Sl/+6ReP0BMk/2f4U/Rooccxkj0P5nm+acM5PrGJ/t5I8qPGiqZSE6hVAwZEdZIvP4w==";
-      };
-    };
-    "he-1.2.0" = {
-      name = "he";
-      packageName = "he";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/he/-/he-1.2.0.tgz";
-        sha512 = "F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==";
-      };
-    };
-    "hmac-drbg-1.0.1" = {
-      name = "hmac-drbg";
-      packageName = "hmac-drbg";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz";
-        sha512 = "Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==";
-      };
-    };
-    "hoist-non-react-statics-3.3.2" = {
-      name = "hoist-non-react-statics";
-      packageName = "hoist-non-react-statics";
-      version = "3.3.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz";
-        sha512 = "/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==";
-      };
-    };
-    "hoopy-0.1.4" = {
-      name = "hoopy";
-      packageName = "hoopy";
-      version = "0.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz";
-        sha512 = "HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==";
-      };
-    };
-    "hosted-git-info-2.8.9" = {
-      name = "hosted-git-info";
-      packageName = "hosted-git-info";
-      version = "2.8.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz";
-        sha512 = "mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==";
-      };
-    };
-    "hotkeys-js-3.9.4" = {
-      name = "hotkeys-js";
-      packageName = "hotkeys-js";
-      version = "3.9.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/hotkeys-js/-/hotkeys-js-3.9.4.tgz";
-        sha512 = "2zuLt85Ta+gIyvs4N88pCYskNrxf1TFv3LR9t5mdAZIX8BcgQQ48F2opUptvHa6m8zsy5v/a0i9mWzTrlNWU0Q==";
-      };
-    };
-    "hpack.js-2.1.6" = {
-      name = "hpack.js";
-      packageName = "hpack.js";
-      version = "2.1.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz";
-        sha512 = "zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==";
-      };
-    };
-    "html-element-map-1.3.1" = {
-      name = "html-element-map";
-      packageName = "html-element-map";
-      version = "1.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/html-element-map/-/html-element-map-1.3.1.tgz";
-        sha512 = "6XMlxrAFX4UEEGxctfFnmrFaaZFNf9i5fNuV5wZ3WWQ4FVaNP1aX1LkX9j2mfEx1NpjeE/rL3nmgEn23GdFmrg==";
-      };
-    };
-    "html-encoding-sniffer-2.0.1" = {
-      name = "html-encoding-sniffer";
-      packageName = "html-encoding-sniffer";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz";
-        sha512 = "D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==";
-      };
-    };
-    "html-entities-2.3.3" = {
-      name = "html-entities";
-      packageName = "html-entities";
-      version = "2.3.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/html-entities/-/html-entities-2.3.3.tgz";
-        sha512 = "DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==";
-      };
-    };
-    "html-escaper-2.0.2" = {
-      name = "html-escaper";
-      packageName = "html-escaper";
-      version = "2.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz";
-        sha512 = "H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==";
-      };
-    };
-    "html-minifier-terser-5.1.1" = {
-      name = "html-minifier-terser";
-      packageName = "html-minifier-terser";
-      version = "5.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz";
-        sha512 = "ZPr5MNObqnV/T9akshPKbVgyOqLmy+Bxo7juKCfTfnjNniTAMdy4hz21YQqoofMBJD2kdREaqPPdThoR78Tgxg==";
-      };
-    };
-    "html-minifier-terser-6.1.0" = {
-      name = "html-minifier-terser";
-      packageName = "html-minifier-terser";
-      version = "6.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz";
-        sha512 = "YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==";
-      };
-    };
-    "html-tags-3.2.0" = {
-      name = "html-tags";
-      packageName = "html-tags";
-      version = "3.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/html-tags/-/html-tags-3.2.0.tgz";
-        sha512 = "vy7ClnArOZwCnqZgvv+ddgHgJiAFXe3Ge9ML5/mBctVJoUoYPCdxVucOywjDARn6CVoh3dRSFdPHy2sX80L0Wg==";
-      };
-    };
-    "html-void-elements-1.0.5" = {
-      name = "html-void-elements";
-      packageName = "html-void-elements";
-      version = "1.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/html-void-elements/-/html-void-elements-1.0.5.tgz";
-        sha512 = "uE/TxKuyNIcx44cIWnjr/rfIATDH7ZaOMmstu0CwhFG1Dunhlp4OC6/NMbhiwoq5BpW0ubi303qnEk/PZj614w==";
-      };
-    };
-    "html-webpack-plugin-4.5.2" = {
-      name = "html-webpack-plugin";
-      packageName = "html-webpack-plugin";
-      version = "4.5.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-4.5.2.tgz";
-        sha512 = "q5oYdzjKUIPQVjOosjgvCHQOv9Ett9CYYHlgvJeXG0qQvdSojnBq4vAdQBwn1+yGveAwHCoe/rMR86ozX3+c2A==";
-      };
-    };
-    "html-webpack-plugin-5.5.0" = {
-      name = "html-webpack-plugin";
-      packageName = "html-webpack-plugin";
-      version = "5.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.5.0.tgz";
-        sha512 = "sy88PC2cRTVxvETRgUHFrL4No3UxvcH8G1NepGhqaTT+GXN2kTamqasot0inS5hXeg1cMbFDt27zzo9p35lZVw==";
-      };
-    };
-    "htmlparser2-3.10.1" = {
-      name = "htmlparser2";
-      packageName = "htmlparser2";
-      version = "3.10.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz";
-        sha512 = "IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==";
-      };
-    };
-    "htmlparser2-6.1.0" = {
-      name = "htmlparser2";
-      packageName = "htmlparser2";
-      version = "6.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz";
-        sha512 = "gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==";
-      };
-    };
-    "htmlparser2-8.0.1" = {
-      name = "htmlparser2";
-      packageName = "htmlparser2";
-      version = "8.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.1.tgz";
-        sha512 = "4lVbmc1diZC7GUJQtRQ5yBAeUCL1exyMwmForWkRLnwyzWBFxN633SALPMGYaWZvKe9j1pRZJpauvmxENSp/EA==";
-      };
-    };
-    "http-deceiver-1.2.7" = {
-      name = "http-deceiver";
-      packageName = "http-deceiver";
-      version = "1.2.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz";
-        sha512 = "LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==";
-      };
-    };
-    "http-errors-1.6.3" = {
-      name = "http-errors";
-      packageName = "http-errors";
-      version = "1.6.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz";
-        sha512 = "lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==";
-      };
-    };
-    "http-errors-2.0.0" = {
-      name = "http-errors";
-      packageName = "http-errors";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz";
-        sha512 = "FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==";
-      };
-    };
-    "http-parser-js-0.5.8" = {
-      name = "http-parser-js";
-      packageName = "http-parser-js";
-      version = "0.5.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz";
-        sha512 = "SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==";
-      };
-    };
-    "http-proxy-1.18.1" = {
-      name = "http-proxy";
-      packageName = "http-proxy";
-      version = "1.18.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz";
-        sha512 = "7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==";
-      };
-    };
-    "http-proxy-agent-4.0.1" = {
-      name = "http-proxy-agent";
-      packageName = "http-proxy-agent";
-      version = "4.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz";
-        sha512 = "k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==";
-      };
-    };
-    "http-proxy-middleware-2.0.6" = {
-      name = "http-proxy-middleware";
-      packageName = "http-proxy-middleware";
-      version = "2.0.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz";
-        sha512 = "ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==";
-      };
-    };
-    "https-browserify-1.0.0" = {
-      name = "https-browserify";
-      packageName = "https-browserify";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz";
-        sha512 = "J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==";
-      };
-    };
-    "https-proxy-agent-5.0.1" = {
-      name = "https-proxy-agent";
-      packageName = "https-proxy-agent";
-      version = "5.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz";
-        sha512 = "dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==";
-      };
-    };
-    "human-signals-2.1.0" = {
-      name = "human-signals";
-      packageName = "human-signals";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz";
-        sha512 = "B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==";
-      };
-    };
-    "iconv-lite-0.4.24" = {
-      name = "iconv-lite";
-      packageName = "iconv-lite";
-      version = "0.4.24";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz";
-        sha512 = "v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==";
-      };
-    };
-    "iconv-lite-0.6.3" = {
-      name = "iconv-lite";
-      packageName = "iconv-lite";
-      version = "0.6.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz";
-        sha512 = "4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==";
-      };
-    };
-    "icss-utils-4.1.1" = {
-      name = "icss-utils";
-      packageName = "icss-utils";
-      version = "4.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/icss-utils/-/icss-utils-4.1.1.tgz";
-        sha512 = "4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA==";
-      };
-    };
-    "icss-utils-5.1.0" = {
-      name = "icss-utils";
-      packageName = "icss-utils";
-      version = "5.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz";
-        sha512 = "soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==";
-      };
-    };
-    "idb-7.0.2" = {
-      name = "idb";
-      packageName = "idb";
-      version = "7.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/idb/-/idb-7.0.2.tgz";
-        sha512 = "jjKrT1EnyZewQ/gCBb/eyiYrhGzws2FeY92Yx8qT9S9GeQAmo4JFVIiWRIfKW/6Ob9A+UDAOW9j9jn58fy2HIg==";
-      };
-    };
-    "identity-obj-proxy-3.0.0" = {
-      name = "identity-obj-proxy";
-      packageName = "identity-obj-proxy";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz";
-        sha512 = "00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA==";
-      };
-    };
-    "ieee754-1.2.1" = {
-      name = "ieee754";
-      packageName = "ieee754";
-      version = "1.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz";
-        sha512 = "dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==";
-      };
-    };
-    "iferr-0.1.5" = {
-      name = "iferr";
-      packageName = "iferr";
-      version = "0.1.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz";
-        sha512 = "DUNFN5j7Tln0D+TxzloUjKB+CtVu6myn0JEFak6dG18mNt9YkQ6lzGCdafwofISZ1lLF3xRHJ98VKy9ynkcFaA==";
-      };
-    };
-    "ignore-4.0.6" = {
-      name = "ignore";
-      packageName = "ignore";
-      version = "4.0.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz";
-        sha512 = "cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==";
-      };
-    };
-    "ignore-5.2.0" = {
-      name = "ignore";
-      packageName = "ignore";
-      version = "5.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz";
-        sha512 = "CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==";
-      };
-    };
-    "image-size-1.0.2" = {
-      name = "image-size";
-      packageName = "image-size";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/image-size/-/image-size-1.0.2.tgz";
-        sha512 = "xfOoWjceHntRb3qFCrh5ZFORYH8XCdYpASltMhZ/Q0KZiOwjdE/Yl2QCiWdwD+lygV5bMCvauzgu5PxBX/Yerg==";
-      };
-    };
-    "immer-9.0.15" = {
-      name = "immer";
-      packageName = "immer";
-      version = "9.0.15";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/immer/-/immer-9.0.15.tgz";
-        sha512 = "2eB/sswms9AEUSkOm4SbV5Y7Vmt/bKRwByd52jfLkW4OLYeaTP3EEiJ9agqU0O/tq6Dk62Zfj+TJSqfm1rLVGQ==";
-      };
-    };
-    "immutable-4.1.0" = {
-      name = "immutable";
-      packageName = "immutable";
-      version = "4.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/immutable/-/immutable-4.1.0.tgz";
-        sha512 = "oNkuqVTA8jqG1Q6c+UglTOD1xhC1BtjKI7XkCXRkZHrN5m18/XsnUp8Q89GkQO/z+0WjonSvl0FLhDYftp46nQ==";
-      };
-    };
-    "import-fresh-3.3.0" = {
-      name = "import-fresh";
-      packageName = "import-fresh";
-      version = "3.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz";
-        sha512 = "veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==";
-      };
-    };
-    "import-local-3.1.0" = {
-      name = "import-local";
-      packageName = "import-local";
-      version = "3.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz";
-        sha512 = "ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==";
-      };
-    };
-    "imurmurhash-0.1.4" = {
-      name = "imurmurhash";
-      packageName = "imurmurhash";
-      version = "0.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz";
-        sha512 = "JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==";
-      };
-    };
-    "indent-string-2.1.0" = {
-      name = "indent-string";
-      packageName = "indent-string";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz";
-        sha512 = "aqwDFWSgSgfRaEwao5lg5KEcVd/2a+D1rvoG7NdilmYz0NwRk6StWpWdz/Hpk34MKPpx7s8XxUqimfcQK6gGlg==";
-      };
-    };
-    "indent-string-4.0.0" = {
-      name = "indent-string";
-      packageName = "indent-string";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz";
-        sha512 = "EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==";
-      };
-    };
-    "infer-owner-1.0.4" = {
-      name = "infer-owner";
-      packageName = "infer-owner";
-      version = "1.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz";
-        sha512 = "IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==";
-      };
-    };
-    "inflight-1.0.6" = {
-      name = "inflight";
-      packageName = "inflight";
-      version = "1.0.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz";
-        sha512 = "k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==";
-      };
-    };
-    "inherits-2.0.1" = {
-      name = "inherits";
-      packageName = "inherits";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz";
-        sha512 = "8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==";
-      };
-    };
-    "inherits-2.0.3" = {
-      name = "inherits";
-      packageName = "inherits";
-      version = "2.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz";
-        sha512 = "x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==";
-      };
-    };
-    "inherits-2.0.4" = {
-      name = "inherits";
-      packageName = "inherits";
-      version = "2.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz";
-        sha512 = "k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==";
-      };
-    };
-    "ini-1.3.8" = {
-      name = "ini";
-      packageName = "ini";
-      version = "1.3.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz";
-        sha512 = "JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==";
-      };
-    };
-    "inline-style-parser-0.1.1" = {
-      name = "inline-style-parser";
-      packageName = "inline-style-parser";
-      version = "0.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz";
-        sha512 = "7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==";
-      };
-    };
-    "internal-slot-1.0.3" = {
-      name = "internal-slot";
-      packageName = "internal-slot";
-      version = "1.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz";
-        sha512 = "O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==";
-      };
-    };
-    "interpret-2.2.0" = {
-      name = "interpret";
-      packageName = "interpret";
-      version = "2.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz";
-        sha512 = "Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==";
-      };
-    };
-    "intersection-observer-0.12.2" = {
-      name = "intersection-observer";
-      packageName = "intersection-observer";
-      version = "0.12.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/intersection-observer/-/intersection-observer-0.12.2.tgz";
-        sha512 = "7m1vEcPCxXYI8HqnL8CKI6siDyD+eIWSwgB3DZA+ZTogxk9I4CDnj4wilt9x/+/QbHI4YG5YZNmC6458/e9Ktg==";
-      };
-    };
-    "ip-2.0.0" = {
-      name = "ip";
-      packageName = "ip";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz";
-        sha512 = "WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==";
-      };
-    };
-    "ipaddr.js-1.9.1" = {
-      name = "ipaddr.js";
-      packageName = "ipaddr.js";
-      version = "1.9.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz";
-        sha512 = "0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==";
-      };
-    };
-    "ipaddr.js-2.0.1" = {
-      name = "ipaddr.js";
-      packageName = "ipaddr.js";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz";
-        sha512 = "1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==";
-      };
-    };
-    "is-accessor-descriptor-0.1.6" = {
-      name = "is-accessor-descriptor";
-      packageName = "is-accessor-descriptor";
-      version = "0.1.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz";
-        sha512 = "e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==";
-      };
-    };
-    "is-accessor-descriptor-1.0.0" = {
-      name = "is-accessor-descriptor";
-      packageName = "is-accessor-descriptor";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz";
-        sha512 = "m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==";
-      };
-    };
-    "is-alphabetical-1.0.4" = {
-      name = "is-alphabetical";
-      packageName = "is-alphabetical";
-      version = "1.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz";
-        sha512 = "DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==";
-      };
-    };
-    "is-alphanumerical-1.0.4" = {
-      name = "is-alphanumerical";
-      packageName = "is-alphanumerical";
-      version = "1.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz";
-        sha512 = "UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==";
-      };
-    };
-    "is-arguments-1.1.1" = {
-      name = "is-arguments";
-      packageName = "is-arguments";
-      version = "1.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz";
-        sha512 = "8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==";
-      };
-    };
-    "is-arrayish-0.2.1" = {
-      name = "is-arrayish";
-      packageName = "is-arrayish";
-      version = "0.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz";
-        sha512 = "zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==";
-      };
-    };
-    "is-bigint-1.0.4" = {
-      name = "is-bigint";
-      packageName = "is-bigint";
-      version = "1.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz";
-        sha512 = "zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==";
-      };
-    };
-    "is-binary-path-1.0.1" = {
-      name = "is-binary-path";
-      packageName = "is-binary-path";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz";
-        sha512 = "9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==";
-      };
-    };
-    "is-binary-path-2.1.0" = {
-      name = "is-binary-path";
-      packageName = "is-binary-path";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz";
-        sha512 = "ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==";
-      };
-    };
-    "is-boolean-object-1.1.2" = {
-      name = "is-boolean-object";
-      packageName = "is-boolean-object";
-      version = "1.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz";
-        sha512 = "gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==";
-      };
-    };
-    "is-buffer-1.1.6" = {
-      name = "is-buffer";
-      packageName = "is-buffer";
-      version = "1.1.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz";
-        sha512 = "NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==";
-      };
-    };
-    "is-buffer-2.0.5" = {
-      name = "is-buffer";
-      packageName = "is-buffer";
-      version = "2.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz";
-        sha512 = "i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==";
-      };
-    };
-    "is-callable-1.2.4" = {
-      name = "is-callable";
-      packageName = "is-callable";
-      version = "1.2.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz";
-        sha512 = "nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==";
-      };
-    };
-    "is-core-module-2.10.0" = {
-      name = "is-core-module";
-      packageName = "is-core-module";
-      version = "2.10.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz";
-        sha512 = "Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==";
-      };
-    };
-    "is-data-descriptor-0.1.4" = {
-      name = "is-data-descriptor";
-      packageName = "is-data-descriptor";
-      version = "0.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz";
-        sha512 = "+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==";
-      };
-    };
-    "is-data-descriptor-1.0.0" = {
-      name = "is-data-descriptor";
-      packageName = "is-data-descriptor";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz";
-        sha512 = "jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==";
-      };
-    };
-    "is-date-object-1.0.5" = {
-      name = "is-date-object";
-      packageName = "is-date-object";
-      version = "1.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz";
-        sha512 = "9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==";
-      };
-    };
-    "is-decimal-1.0.4" = {
-      name = "is-decimal";
-      packageName = "is-decimal";
-      version = "1.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz";
-        sha512 = "RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==";
-      };
-    };
-    "is-descriptor-0.1.6" = {
-      name = "is-descriptor";
-      packageName = "is-descriptor";
-      version = "0.1.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz";
-        sha512 = "avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==";
-      };
-    };
-    "is-descriptor-1.0.2" = {
-      name = "is-descriptor";
-      packageName = "is-descriptor";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz";
-        sha512 = "2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==";
-      };
-    };
-    "is-docker-2.2.1" = {
-      name = "is-docker";
-      packageName = "is-docker";
-      version = "2.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz";
-        sha512 = "F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==";
-      };
-    };
-    "is-extendable-0.1.1" = {
-      name = "is-extendable";
-      packageName = "is-extendable";
-      version = "0.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz";
-        sha512 = "5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==";
-      };
-    };
-    "is-extendable-1.0.1" = {
-      name = "is-extendable";
-      packageName = "is-extendable";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz";
-        sha512 = "arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==";
-      };
-    };
-    "is-extglob-2.1.1" = {
-      name = "is-extglob";
-      packageName = "is-extglob";
-      version = "2.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz";
-        sha512 = "SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==";
-      };
-    };
-    "is-finite-1.1.0" = {
-      name = "is-finite";
-      packageName = "is-finite";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz";
-        sha512 = "cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==";
-      };
-    };
-    "is-fullwidth-code-point-3.0.0" = {
-      name = "is-fullwidth-code-point";
-      packageName = "is-fullwidth-code-point";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz";
-        sha512 = "zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==";
-      };
-    };
-    "is-function-1.0.2" = {
-      name = "is-function";
-      packageName = "is-function";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-function/-/is-function-1.0.2.tgz";
-        sha512 = "lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==";
-      };
-    };
-    "is-generator-fn-2.1.0" = {
-      name = "is-generator-fn";
-      packageName = "is-generator-fn";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz";
-        sha512 = "cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==";
-      };
-    };
-    "is-glob-3.1.0" = {
-      name = "is-glob";
-      packageName = "is-glob";
-      version = "3.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz";
-        sha512 = "UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==";
-      };
-    };
-    "is-glob-4.0.3" = {
-      name = "is-glob";
-      packageName = "is-glob";
-      version = "4.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz";
-        sha512 = "xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==";
-      };
-    };
-    "is-hexadecimal-1.0.4" = {
-      name = "is-hexadecimal";
-      packageName = "is-hexadecimal";
-      version = "1.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz";
-        sha512 = "gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==";
-      };
-    };
-    "is-map-2.0.2" = {
-      name = "is-map";
-      packageName = "is-map";
-      version = "2.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz";
-        sha512 = "cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==";
-      };
-    };
-    "is-module-1.0.0" = {
-      name = "is-module";
-      packageName = "is-module";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz";
-        sha512 = "51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==";
-      };
-    };
-    "is-negative-zero-2.0.2" = {
-      name = "is-negative-zero";
-      packageName = "is-negative-zero";
-      version = "2.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz";
-        sha512 = "dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==";
-      };
-    };
-    "is-number-3.0.0" = {
-      name = "is-number";
-      packageName = "is-number";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz";
-        sha512 = "4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==";
-      };
-    };
-    "is-number-7.0.0" = {
-      name = "is-number";
-      packageName = "is-number";
-      version = "7.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz";
-        sha512 = "41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==";
-      };
-    };
-    "is-number-object-1.0.7" = {
-      name = "is-number-object";
-      packageName = "is-number-object";
-      version = "1.0.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz";
-        sha512 = "k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==";
-      };
-    };
-    "is-obj-1.0.1" = {
-      name = "is-obj";
-      packageName = "is-obj";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz";
-        sha512 = "l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==";
-      };
-    };
-    "is-plain-obj-2.1.0" = {
-      name = "is-plain-obj";
-      packageName = "is-plain-obj";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz";
-        sha512 = "YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==";
-      };
-    };
-    "is-plain-obj-3.0.0" = {
-      name = "is-plain-obj";
-      packageName = "is-plain-obj";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz";
-        sha512 = "gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==";
-      };
-    };
-    "is-plain-object-2.0.4" = {
-      name = "is-plain-object";
-      packageName = "is-plain-object";
-      version = "2.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz";
-        sha512 = "h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==";
-      };
-    };
-    "is-plain-object-5.0.0" = {
-      name = "is-plain-object";
-      packageName = "is-plain-object";
-      version = "5.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz";
-        sha512 = "VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==";
-      };
-    };
-    "is-potential-custom-element-name-1.0.1" = {
-      name = "is-potential-custom-element-name";
-      packageName = "is-potential-custom-element-name";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz";
-        sha512 = "bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==";
-      };
-    };
-    "is-regex-1.1.4" = {
-      name = "is-regex";
-      packageName = "is-regex";
-      version = "1.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz";
-        sha512 = "kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==";
-      };
-    };
-    "is-regexp-1.0.0" = {
-      name = "is-regexp";
-      packageName = "is-regexp";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz";
-        sha512 = "7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==";
-      };
-    };
-    "is-root-2.1.0" = {
-      name = "is-root";
-      packageName = "is-root";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz";
-        sha512 = "AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==";
-      };
-    };
-    "is-set-2.0.2" = {
-      name = "is-set";
-      packageName = "is-set";
-      version = "2.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz";
-        sha512 = "+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==";
-      };
-    };
-    "is-shared-array-buffer-1.0.2" = {
-      name = "is-shared-array-buffer";
-      packageName = "is-shared-array-buffer";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz";
-        sha512 = "sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==";
-      };
-    };
-    "is-stream-2.0.1" = {
-      name = "is-stream";
-      packageName = "is-stream";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz";
-        sha512 = "hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==";
-      };
-    };
-    "is-string-1.0.7" = {
-      name = "is-string";
-      packageName = "is-string";
-      version = "1.0.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz";
-        sha512 = "tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==";
-      };
-    };
-    "is-subset-0.1.1" = {
-      name = "is-subset";
-      packageName = "is-subset";
-      version = "0.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-subset/-/is-subset-0.1.1.tgz";
-        sha512 = "6Ybun0IkarhmEqxXCNw/C0bna6Zb/TkfUX9UbwJtK6ObwAVCxmAP308WWTHviM/zAqXk05cdhYsUsZeGQh99iw==";
-      };
-    };
-    "is-symbol-1.0.4" = {
-      name = "is-symbol";
-      packageName = "is-symbol";
-      version = "1.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz";
-        sha512 = "C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==";
-      };
-    };
-    "is-typedarray-1.0.0" = {
-      name = "is-typedarray";
-      packageName = "is-typedarray";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz";
-        sha512 = "cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==";
-      };
-    };
-    "is-utf8-0.2.1" = {
-      name = "is-utf8";
-      packageName = "is-utf8";
-      version = "0.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz";
-        sha512 = "rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==";
-      };
-    };
-    "is-weakref-1.0.2" = {
-      name = "is-weakref";
-      packageName = "is-weakref";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz";
-        sha512 = "qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==";
-      };
-    };
-    "is-whitespace-character-1.0.4" = {
-      name = "is-whitespace-character";
-      packageName = "is-whitespace-character";
-      version = "1.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz";
-        sha512 = "SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w==";
-      };
-    };
-    "is-windows-1.0.2" = {
-      name = "is-windows";
-      packageName = "is-windows";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz";
-        sha512 = "eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==";
-      };
-    };
-    "is-word-character-1.0.4" = {
-      name = "is-word-character";
-      packageName = "is-word-character";
-      version = "1.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-word-character/-/is-word-character-1.0.4.tgz";
-        sha512 = "5SMO8RVennx3nZrqtKwCGyyetPE9VDba5ugvKLaD4KopPG5kR4mQ7tNt/r7feL5yt5h3lpuBbIUmCOG2eSzXHA==";
-      };
-    };
-    "is-wsl-1.1.0" = {
-      name = "is-wsl";
-      packageName = "is-wsl";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz";
-        sha512 = "gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==";
-      };
-    };
-    "is-wsl-2.2.0" = {
-      name = "is-wsl";
-      packageName = "is-wsl";
-      version = "2.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz";
-        sha512 = "fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==";
-      };
-    };
-    "isarray-1.0.0" = {
-      name = "isarray";
-      packageName = "isarray";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz";
-        sha512 = "VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==";
-      };
-    };
-    "isarray-2.0.5" = {
-      name = "isarray";
-      packageName = "isarray";
-      version = "2.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz";
-        sha512 = "xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==";
-      };
-    };
-    "isexe-2.0.0" = {
-      name = "isexe";
-      packageName = "isexe";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz";
-        sha512 = "RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==";
-      };
-    };
-    "isobject-2.1.0" = {
-      name = "isobject";
-      packageName = "isobject";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz";
-        sha512 = "+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==";
-      };
-    };
-    "isobject-3.0.1" = {
-      name = "isobject";
-      packageName = "isobject";
-      version = "3.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz";
-        sha512 = "WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==";
-      };
-    };
-    "isobject-4.0.0" = {
-      name = "isobject";
-      packageName = "isobject";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/isobject/-/isobject-4.0.0.tgz";
-        sha512 = "S/2fF5wH8SJA/kmwr6HYhK/RI/OkhD84k8ntalo0iJjZikgq1XFvR5M8NPT1x5F7fBwCG3qHfnzeP/Vh/ZxCUA==";
-      };
-    };
-    "isomorphic-unfetch-3.1.0" = {
-      name = "isomorphic-unfetch";
-      packageName = "isomorphic-unfetch";
-      version = "3.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/isomorphic-unfetch/-/isomorphic-unfetch-3.1.0.tgz";
-        sha512 = "geDJjpoZ8N0kWexiwkX8F9NkTsXhetLPVbZFQ+JTW239QNOwvB0gniuR1Wc6f0AMTn7/mFGyXvHTifrCp/GH8Q==";
-      };
-    };
-    "istanbul-lib-coverage-3.2.0" = {
-      name = "istanbul-lib-coverage";
-      packageName = "istanbul-lib-coverage";
-      version = "3.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz";
-        sha512 = "eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==";
-      };
-    };
-    "istanbul-lib-instrument-5.2.0" = {
-      name = "istanbul-lib-instrument";
-      packageName = "istanbul-lib-instrument";
-      version = "5.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.0.tgz";
-        sha512 = "6Lthe1hqXHBNsqvgDzGO6l03XNeu3CrG4RqQ1KM9+l5+jNGpEJfIELx1NS3SEHmJQA8np/u+E4EPRKRiu6m19A==";
-      };
-    };
-    "istanbul-lib-report-3.0.0" = {
-      name = "istanbul-lib-report";
-      packageName = "istanbul-lib-report";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz";
-        sha512 = "wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==";
-      };
-    };
-    "istanbul-lib-source-maps-4.0.1" = {
-      name = "istanbul-lib-source-maps";
-      packageName = "istanbul-lib-source-maps";
-      version = "4.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz";
-        sha512 = "n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==";
-      };
-    };
-    "istanbul-reports-3.1.5" = {
-      name = "istanbul-reports";
-      packageName = "istanbul-reports";
-      version = "3.1.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz";
-        sha512 = "nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==";
-      };
-    };
-    "iterate-iterator-1.0.2" = {
-      name = "iterate-iterator";
-      packageName = "iterate-iterator";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/iterate-iterator/-/iterate-iterator-1.0.2.tgz";
-        sha512 = "t91HubM4ZDQ70M9wqp+pcNpu8OyJ9UAtXntT/Bcsvp5tZMnz9vRa+IunKXeI8AnfZMTv0jNuVEmGeLSMjVvfPw==";
-      };
-    };
-    "iterate-value-1.0.2" = {
-      name = "iterate-value";
-      packageName = "iterate-value";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/iterate-value/-/iterate-value-1.0.2.tgz";
-        sha512 = "A6fMAio4D2ot2r/TYzr4yUWrmwNdsN5xL7+HUiyACE4DXm+q8HtPcnFTp+NnW3k4N05tZ7FVYFFb2CR13NxyHQ==";
-      };
-    };
-    "jake-10.8.5" = {
-      name = "jake";
-      packageName = "jake";
-      version = "10.8.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jake/-/jake-10.8.5.tgz";
-        sha512 = "sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==";
-      };
-    };
-    "jest-27.5.1" = {
-      name = "jest";
-      packageName = "jest";
-      version = "27.5.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz";
-        sha512 = "Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==";
-      };
-    };
-    "jest-changed-files-27.5.1" = {
-      name = "jest-changed-files";
-      packageName = "jest-changed-files";
-      version = "27.5.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.5.1.tgz";
-        sha512 = "buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==";
-      };
-    };
-    "jest-circus-27.5.1" = {
-      name = "jest-circus";
-      packageName = "jest-circus";
-      version = "27.5.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-circus/-/jest-circus-27.5.1.tgz";
-        sha512 = "D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==";
-      };
-    };
-    "jest-cli-27.5.1" = {
-      name = "jest-cli";
-      packageName = "jest-cli";
-      version = "27.5.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.1.tgz";
-        sha512 = "Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==";
-      };
-    };
-    "jest-config-27.5.1" = {
-      name = "jest-config";
-      packageName = "jest-config";
-      version = "27.5.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-config/-/jest-config-27.5.1.tgz";
-        sha512 = "5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==";
-      };
-    };
-    "jest-diff-27.5.1" = {
-      name = "jest-diff";
-      packageName = "jest-diff";
-      version = "27.5.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz";
-        sha512 = "m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==";
-      };
-    };
-    "jest-diff-29.0.1" = {
-      name = "jest-diff";
-      packageName = "jest-diff";
-      version = "29.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-diff/-/jest-diff-29.0.1.tgz";
-        sha512 = "l8PYeq2VhcdxG9tl5cU78ClAlg/N7RtVSp0v3MlXURR0Y99i6eFnegmasOandyTmO6uEdo20+FByAjBFEO9nuw==";
-      };
-    };
-    "jest-docblock-27.5.1" = {
-      name = "jest-docblock";
-      packageName = "jest-docblock";
-      version = "27.5.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.1.tgz";
-        sha512 = "rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==";
-      };
-    };
-    "jest-each-27.5.1" = {
-      name = "jest-each";
-      packageName = "jest-each";
-      version = "27.5.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-each/-/jest-each-27.5.1.tgz";
-        sha512 = "1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==";
-      };
-    };
-    "jest-environment-jsdom-27.5.1" = {
-      name = "jest-environment-jsdom";
-      packageName = "jest-environment-jsdom";
-      version = "27.5.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz";
-        sha512 = "TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==";
-      };
-    };
-    "jest-environment-node-27.5.1" = {
-      name = "jest-environment-node";
-      packageName = "jest-environment-node";
-      version = "27.5.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.5.1.tgz";
-        sha512 = "Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==";
-      };
-    };
-    "jest-get-type-27.5.1" = {
-      name = "jest-get-type";
-      packageName = "jest-get-type";
-      version = "27.5.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz";
-        sha512 = "2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==";
-      };
-    };
-    "jest-get-type-29.0.0" = {
-      name = "jest-get-type";
-      packageName = "jest-get-type";
-      version = "29.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.0.0.tgz";
-        sha512 = "83X19z/HuLKYXYHskZlBAShO7UfLFXu/vWajw9ZNJASN32li8yHMaVGAQqxFW1RCFOkB7cubaL6FaJVQqqJLSw==";
-      };
-    };
-    "jest-haste-map-27.5.1" = {
-      name = "jest-haste-map";
-      packageName = "jest-haste-map";
-      version = "27.5.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz";
-        sha512 = "7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==";
-      };
-    };
-    "jest-jasmine2-27.5.1" = {
-      name = "jest-jasmine2";
-      packageName = "jest-jasmine2";
-      version = "27.5.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz";
-        sha512 = "jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==";
-      };
-    };
-    "jest-leak-detector-27.5.1" = {
-      name = "jest-leak-detector";
-      packageName = "jest-leak-detector";
-      version = "27.5.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz";
-        sha512 = "POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==";
-      };
-    };
-    "jest-matcher-utils-27.5.1" = {
-      name = "jest-matcher-utils";
-      packageName = "jest-matcher-utils";
-      version = "27.5.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz";
-        sha512 = "z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==";
-      };
-    };
-    "jest-matcher-utils-29.0.1" = {
-      name = "jest-matcher-utils";
-      packageName = "jest-matcher-utils";
-      version = "29.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.0.1.tgz";
-        sha512 = "/e6UbCDmprRQFnl7+uBKqn4G22c/OmwriE5KCMVqxhElKCQUDcFnq5XM9iJeKtzy4DUjxT27y9VHmKPD8BQPaw==";
-      };
-    };
-    "jest-message-util-27.5.1" = {
-      name = "jest-message-util";
-      packageName = "jest-message-util";
-      version = "27.5.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz";
-        sha512 = "rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==";
-      };
-    };
-    "jest-message-util-28.1.3" = {
-      name = "jest-message-util";
-      packageName = "jest-message-util";
-      version = "28.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz";
-        sha512 = "PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==";
-      };
-    };
-    "jest-message-util-29.0.1" = {
-      name = "jest-message-util";
-      packageName = "jest-message-util";
-      version = "29.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.0.1.tgz";
-        sha512 = "wRMAQt3HrLpxSubdnzOo68QoTfQ+NLXFzU0Heb18ZUzO2S9GgaXNEdQ4rpd0fI9dq2NXkpCk1IUWSqzYKji64A==";
-      };
-    };
-    "jest-mock-27.5.1" = {
-      name = "jest-mock";
-      packageName = "jest-mock";
-      version = "27.5.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz";
-        sha512 = "K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==";
-      };
-    };
-    "jest-pnp-resolver-1.2.2" = {
-      name = "jest-pnp-resolver";
-      packageName = "jest-pnp-resolver";
-      version = "1.2.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz";
-        sha512 = "olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==";
-      };
-    };
-    "jest-regex-util-27.5.1" = {
-      name = "jest-regex-util";
-      packageName = "jest-regex-util";
-      version = "27.5.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz";
-        sha512 = "4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==";
-      };
-    };
-    "jest-regex-util-28.0.2" = {
-      name = "jest-regex-util";
-      packageName = "jest-regex-util";
-      version = "28.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-28.0.2.tgz";
-        sha512 = "4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==";
-      };
-    };
-    "jest-resolve-27.5.1" = {
-      name = "jest-resolve";
-      packageName = "jest-resolve";
-      version = "27.5.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.1.tgz";
-        sha512 = "FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==";
-      };
-    };
-    "jest-resolve-dependencies-27.5.1" = {
-      name = "jest-resolve-dependencies";
-      packageName = "jest-resolve-dependencies";
-      version = "27.5.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz";
-        sha512 = "QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==";
-      };
-    };
-    "jest-runner-27.5.1" = {
-      name = "jest-runner";
-      packageName = "jest-runner";
-      version = "27.5.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-runner/-/jest-runner-27.5.1.tgz";
-        sha512 = "g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==";
-      };
-    };
-    "jest-runtime-27.5.1" = {
-      name = "jest-runtime";
-      packageName = "jest-runtime";
-      version = "27.5.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.5.1.tgz";
-        sha512 = "o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==";
-      };
-    };
-    "jest-serializer-27.5.1" = {
-      name = "jest-serializer";
-      packageName = "jest-serializer";
-      version = "27.5.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.1.tgz";
-        sha512 = "jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==";
-      };
-    };
-    "jest-snapshot-27.5.1" = {
-      name = "jest-snapshot";
-      packageName = "jest-snapshot";
-      version = "27.5.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.5.1.tgz";
-        sha512 = "yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==";
-      };
-    };
-    "jest-util-27.5.1" = {
-      name = "jest-util";
-      packageName = "jest-util";
-      version = "27.5.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz";
-        sha512 = "Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==";
-      };
-    };
-    "jest-util-28.1.3" = {
-      name = "jest-util";
-      packageName = "jest-util";
-      version = "28.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz";
-        sha512 = "XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==";
-      };
-    };
-    "jest-util-29.0.1" = {
-      name = "jest-util";
-      packageName = "jest-util";
-      version = "29.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-util/-/jest-util-29.0.1.tgz";
-        sha512 = "GIWkgNfkeA9d84rORDHPGGTFBrRD13A38QVSKE0bVrGSnoR1KDn8Kqz+0yI5kezMgbT/7zrWaruWP1Kbghlb2A==";
-      };
-    };
-    "jest-validate-27.5.1" = {
-      name = "jest-validate";
-      packageName = "jest-validate";
-      version = "27.5.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.1.tgz";
-        sha512 = "thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==";
-      };
-    };
-    "jest-watch-typeahead-1.1.0" = {
-      name = "jest-watch-typeahead";
-      packageName = "jest-watch-typeahead";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-watch-typeahead/-/jest-watch-typeahead-1.1.0.tgz";
-        sha512 = "Va5nLSJTN7YFtC2jd+7wsoe1pNe5K4ShLux/E5iHEwlB9AxaxmggY7to9KUqKojhaJw3aXqt5WAb4jGPOolpEw==";
-      };
-    };
-    "jest-watcher-27.5.1" = {
-      name = "jest-watcher";
-      packageName = "jest-watcher";
-      version = "27.5.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.5.1.tgz";
-        sha512 = "z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==";
-      };
-    };
-    "jest-watcher-28.1.3" = {
-      name = "jest-watcher";
-      packageName = "jest-watcher";
-      version = "28.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-watcher/-/jest-watcher-28.1.3.tgz";
-        sha512 = "t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g==";
-      };
-    };
-    "jest-worker-26.6.2" = {
-      name = "jest-worker";
-      packageName = "jest-worker";
-      version = "26.6.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz";
-        sha512 = "KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==";
-      };
-    };
-    "jest-worker-27.5.1" = {
-      name = "jest-worker";
-      packageName = "jest-worker";
-      version = "27.5.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz";
-        sha512 = "7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==";
-      };
-    };
-    "jest-worker-28.1.3" = {
-      name = "jest-worker";
-      packageName = "jest-worker";
-      version = "28.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz";
-        sha512 = "CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==";
-      };
-    };
-    "js-string-escape-1.0.1" = {
-      name = "js-string-escape";
-      packageName = "js-string-escape";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/js-string-escape/-/js-string-escape-1.0.1.tgz";
-        sha512 = "Smw4xcfIQ5LVjAOuJCvN/zIodzA/BBSsluuoSykP+lUvScIi4U6RJLfwHet5cxFnCswUjISV8oAXaqaJDY3chg==";
-      };
-    };
-    "js-tokens-4.0.0" = {
-      name = "js-tokens";
-      packageName = "js-tokens";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz";
-        sha512 = "RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==";
-      };
-    };
-    "js-yaml-3.14.1" = {
-      name = "js-yaml";
-      packageName = "js-yaml";
-      version = "3.14.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz";
-        sha512 = "okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==";
-      };
-    };
-    "js-yaml-4.1.0" = {
-      name = "js-yaml";
-      packageName = "js-yaml";
-      version = "4.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz";
-        sha512 = "wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==";
-      };
-    };
-    "jsdom-16.7.0" = {
-      name = "jsdom";
-      packageName = "jsdom";
-      version = "16.7.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz";
-        sha512 = "u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==";
-      };
-    };
-    "jsesc-0.5.0" = {
-      name = "jsesc";
-      packageName = "jsesc";
-      version = "0.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz";
-        sha512 = "uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==";
-      };
-    };
-    "jsesc-2.5.2" = {
-      name = "jsesc";
-      packageName = "jsesc";
-      version = "2.5.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz";
-        sha512 = "OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==";
-      };
-    };
-    "json-parse-better-errors-1.0.2" = {
-      name = "json-parse-better-errors";
-      packageName = "json-parse-better-errors";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz";
-        sha512 = "mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==";
-      };
-    };
-    "json-parse-even-better-errors-2.3.1" = {
-      name = "json-parse-even-better-errors";
-      packageName = "json-parse-even-better-errors";
-      version = "2.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz";
-        sha512 = "xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==";
-      };
-    };
-    "json-schema-0.4.0" = {
-      name = "json-schema";
-      packageName = "json-schema";
-      version = "0.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz";
-        sha512 = "es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==";
-      };
-    };
-    "json-schema-traverse-0.4.1" = {
-      name = "json-schema-traverse";
-      packageName = "json-schema-traverse";
-      version = "0.4.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz";
-        sha512 = "xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==";
-      };
-    };
-    "json-schema-traverse-1.0.0" = {
-      name = "json-schema-traverse";
-      packageName = "json-schema-traverse";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz";
-        sha512 = "NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==";
-      };
-    };
-    "json-stable-stringify-without-jsonify-1.0.1" = {
-      name = "json-stable-stringify-without-jsonify";
-      packageName = "json-stable-stringify-without-jsonify";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz";
-        sha512 = "Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==";
-      };
-    };
-    "json5-1.0.1" = {
-      name = "json5";
-      packageName = "json5";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz";
-        sha512 = "aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==";
-      };
-    };
-    "json5-2.2.1" = {
-      name = "json5";
-      packageName = "json5";
-      version = "2.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz";
-        sha512 = "1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==";
-      };
-    };
-    "jsonfile-6.1.0" = {
-      name = "jsonfile";
-      packageName = "jsonfile";
-      version = "6.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz";
-        sha512 = "5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==";
-      };
-    };
-    "jsonpointer-5.0.1" = {
-      name = "jsonpointer";
-      packageName = "jsonpointer";
-      version = "5.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz";
-        sha512 = "p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==";
-      };
-    };
-    "jsx-ast-utils-3.3.3" = {
-      name = "jsx-ast-utils";
-      packageName = "jsx-ast-utils";
-      version = "3.3.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz";
-        sha512 = "fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==";
-      };
-    };
-    "junk-3.1.0" = {
-      name = "junk";
-      packageName = "junk";
-      version = "3.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/junk/-/junk-3.1.0.tgz";
-        sha512 = "pBxcB3LFc8QVgdggvZWyeys+hnrNWg4OcZIU/1X59k5jQdLBlCsYGRQaz234SqoRLTCgMH00fY0xRJH+F9METQ==";
-      };
-    };
-    "kind-of-3.2.2" = {
-      name = "kind-of";
-      packageName = "kind-of";
-      version = "3.2.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz";
-        sha512 = "NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==";
-      };
-    };
-    "kind-of-4.0.0" = {
-      name = "kind-of";
-      packageName = "kind-of";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz";
-        sha512 = "24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==";
-      };
-    };
-    "kind-of-5.1.0" = {
-      name = "kind-of";
-      packageName = "kind-of";
-      version = "5.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz";
-        sha512 = "NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==";
-      };
-    };
-    "kind-of-6.0.3" = {
-      name = "kind-of";
-      packageName = "kind-of";
-      version = "6.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz";
-        sha512 = "dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==";
-      };
-    };
-    "kleur-3.0.3" = {
-      name = "kleur";
-      packageName = "kleur";
-      version = "3.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz";
-        sha512 = "eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==";
-      };
-    };
-    "klona-2.0.5" = {
-      name = "klona";
-      packageName = "klona";
-      version = "2.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/klona/-/klona-2.0.5.tgz";
-        sha512 = "pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ==";
-      };
-    };
-    "knot.js-1.1.5" = {
-      name = "knot.js";
-      packageName = "knot.js";
-      version = "1.1.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/knot.js/-/knot.js-1.1.5.tgz";
-        sha512 = "ptGtvTrgLNtQj9ilUR+tSyHWTCPp2xu/EHkeo3OvpczzNqBSwjQKz8G7vUhzlRbasXVULBWSejsj6QRQb1pakw==";
-      };
-    };
-    "language-subtag-registry-0.3.22" = {
-      name = "language-subtag-registry";
-      packageName = "language-subtag-registry";
-      version = "0.3.22";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz";
-        sha512 = "tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==";
-      };
-    };
-    "language-tags-1.0.5" = {
-      name = "language-tags";
-      packageName = "language-tags";
-      version = "1.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz";
-        sha512 = "qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==";
-      };
-    };
-    "lazy-universal-dotenv-3.0.1" = {
-      name = "lazy-universal-dotenv";
-      packageName = "lazy-universal-dotenv";
-      version = "3.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lazy-universal-dotenv/-/lazy-universal-dotenv-3.0.1.tgz";
-        sha512 = "prXSYk799h3GY3iOWnC6ZigYzMPjxN2svgjJ9shk7oMadSNX3wXy0B6F32PMJv7qtMnrIbUxoEHzbutvxR2LBQ==";
-      };
-    };
-    "leven-3.1.0" = {
-      name = "leven";
-      packageName = "leven";
-      version = "3.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz";
-        sha512 = "qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==";
-      };
-    };
-    "levn-0.3.0" = {
-      name = "levn";
-      packageName = "levn";
-      version = "0.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz";
-        sha512 = "0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==";
-      };
-    };
-    "levn-0.4.1" = {
-      name = "levn";
-      packageName = "levn";
-      version = "0.4.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz";
-        sha512 = "+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==";
-      };
-    };
-    "lilconfig-2.0.6" = {
-      name = "lilconfig";
-      packageName = "lilconfig";
-      version = "2.0.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.6.tgz";
-        sha512 = "9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==";
-      };
-    };
-    "lines-and-columns-1.2.4" = {
-      name = "lines-and-columns";
-      packageName = "lines-and-columns";
-      version = "1.2.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz";
-        sha512 = "7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==";
-      };
-    };
-    "linkify-it-2.2.0" = {
-      name = "linkify-it";
-      packageName = "linkify-it";
-      version = "2.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/linkify-it/-/linkify-it-2.2.0.tgz";
-        sha512 = "GnAl/knGn+i1U/wjBz3akz2stz+HrHLsxMwHQGofCDfPvlf+gDKN58UtfmUquTY4/MXeE2x7k19KQmeoZi94Iw==";
-      };
-    };
-    "load-json-file-1.1.0" = {
-      name = "load-json-file";
-      packageName = "load-json-file";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz";
-        sha512 = "cy7ZdNRXdablkXYNI049pthVeXFurRyb9+hA/dZzerZ0pGTx42z+y+ssxBaVV2l70t1muq5IdKhn4UtcoGUY9A==";
-      };
-    };
-    "loader-runner-2.4.0" = {
-      name = "loader-runner";
-      packageName = "loader-runner";
-      version = "2.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz";
-        sha512 = "Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==";
-      };
-    };
-    "loader-runner-4.3.0" = {
-      name = "loader-runner";
-      packageName = "loader-runner";
-      version = "4.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz";
-        sha512 = "3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==";
-      };
-    };
-    "loader-utils-1.4.0" = {
-      name = "loader-utils";
-      packageName = "loader-utils";
-      version = "1.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz";
-        sha512 = "qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==";
-      };
-    };
-    "loader-utils-2.0.2" = {
-      name = "loader-utils";
-      packageName = "loader-utils";
-      version = "2.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz";
-        sha512 = "TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==";
-      };
-    };
-    "loader-utils-3.2.0" = {
-      name = "loader-utils";
-      packageName = "loader-utils";
-      version = "3.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.0.tgz";
-        sha512 = "HVl9ZqccQihZ7JM85dco1MvO9G+ONvxoGa9rkhzFsneGLKSUg1gJf9bWzhRhcvm2qChhWpebQhP44qxjKIUCaQ==";
-      };
-    };
-    "locate-path-3.0.0" = {
-      name = "locate-path";
-      packageName = "locate-path";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz";
-        sha512 = "7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==";
-      };
-    };
-    "locate-path-5.0.0" = {
-      name = "locate-path";
-      packageName = "locate-path";
-      version = "5.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz";
-        sha512 = "t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==";
-      };
-    };
-    "locate-path-6.0.0" = {
-      name = "locate-path";
-      packageName = "locate-path";
-      version = "6.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz";
-        sha512 = "iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==";
-      };
-    };
-    "lodash-4.17.21" = {
-      name = "lodash";
-      packageName = "lodash";
-      version = "4.17.21";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz";
-        sha512 = "v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==";
-      };
-    };
-    "lodash.clonedeep-4.5.0" = {
-      name = "lodash.clonedeep";
-      packageName = "lodash.clonedeep";
-      version = "4.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz";
-        sha512 = "H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==";
-      };
-    };
-    "lodash.debounce-4.0.8" = {
-      name = "lodash.debounce";
-      packageName = "lodash.debounce";
-      version = "4.0.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz";
-        sha512 = "FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==";
-      };
-    };
-    "lodash.escape-4.0.1" = {
-      name = "lodash.escape";
-      packageName = "lodash.escape";
-      version = "4.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash.escape/-/lodash.escape-4.0.1.tgz";
-        sha512 = "nXEOnb/jK9g0DYMr1/Xvq6l5xMD7GDG55+GSYIYmS0G4tBk/hURD4JR9WCavs04t33WmJx9kCyp9vJ+mr4BOUw==";
-      };
-    };
-    "lodash.flattendeep-4.4.0" = {
-      name = "lodash.flattendeep";
-      packageName = "lodash.flattendeep";
-      version = "4.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz";
-        sha512 = "uHaJFihxmJcEX3kT4I23ABqKKalJ/zDrDg0lsFtc1h+3uw49SIJ5beyhx5ExVRti3AvKoOJngIj7xz3oylPdWQ==";
-      };
-    };
-    "lodash.isequal-4.5.0" = {
-      name = "lodash.isequal";
-      packageName = "lodash.isequal";
-      version = "4.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz";
-        sha512 = "pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==";
-      };
-    };
-    "lodash.isobject-3.0.2" = {
-      name = "lodash.isobject";
-      packageName = "lodash.isobject";
-      version = "3.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-3.0.2.tgz";
-        sha512 = "3/Qptq2vr7WeJbB4KHUSKlq8Pl7ASXi3UG6CMbBm8WRtXi8+GHm7mKaU3urfpSEzWe2wCIChs6/sdocUsTKJiA==";
-      };
-    };
-    "lodash.memoize-4.1.2" = {
-      name = "lodash.memoize";
-      packageName = "lodash.memoize";
-      version = "4.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz";
-        sha512 = "t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==";
-      };
-    };
-    "lodash.merge-4.6.2" = {
-      name = "lodash.merge";
-      packageName = "lodash.merge";
-      version = "4.6.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz";
-        sha512 = "0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==";
-      };
-    };
-    "lodash.sortby-4.7.0" = {
-      name = "lodash.sortby";
-      packageName = "lodash.sortby";
-      version = "4.7.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz";
-        sha512 = "HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==";
-      };
-    };
-    "lodash.throttle-4.1.1" = {
-      name = "lodash.throttle";
-      packageName = "lodash.throttle";
-      version = "4.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz";
-        sha512 = "wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==";
-      };
-    };
-    "lodash.uniq-4.5.0" = {
-      name = "lodash.uniq";
-      packageName = "lodash.uniq";
-      version = "4.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz";
-        sha512 = "xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==";
-      };
-    };
-    "lodash.uniqueid-4.0.1" = {
-      name = "lodash.uniqueid";
-      packageName = "lodash.uniqueid";
-      version = "4.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash.uniqueid/-/lodash.uniqueid-4.0.1.tgz";
-        sha512 = "GQQWaIeGlL6DIIr06kj1j6sSmBxyNMwI8kaX9aKpHR/XsMTiaXDVPNPAkiboOTK9OJpTJF/dXT3xYoFQnj386Q==";
-      };
-    };
-    "loose-envify-1.4.0" = {
-      name = "loose-envify";
-      packageName = "loose-envify";
-      version = "1.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz";
-        sha512 = "lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==";
-      };
-    };
-    "loud-rejection-1.6.0" = {
-      name = "loud-rejection";
-      packageName = "loud-rejection";
-      version = "1.6.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz";
-        sha512 = "RPNliZOFkqFumDhvYqOaNY4Uz9oJM2K9tC6JWsJJsNdhuONW4LQHRBpb0qf4pJApVffI5N39SwzWZJuEhfd7eQ==";
-      };
-    };
-    "lower-case-2.0.2" = {
-      name = "lower-case";
-      packageName = "lower-case";
-      version = "2.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz";
-        sha512 = "7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==";
-      };
-    };
-    "lru-cache-5.1.1" = {
-      name = "lru-cache";
-      packageName = "lru-cache";
-      version = "5.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz";
-        sha512 = "KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==";
-      };
-    };
-    "lru-cache-6.0.0" = {
-      name = "lru-cache";
-      packageName = "lru-cache";
-      version = "6.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz";
-        sha512 = "Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==";
-      };
-    };
-    "lz-string-1.4.4" = {
-      name = "lz-string";
-      packageName = "lz-string";
-      version = "1.4.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lz-string/-/lz-string-1.4.4.tgz";
-        sha512 = "0ckx7ZHRPqb0oUm8zNr+90mtf9DQB60H1wMCjBtfi62Kl3a7JbHob6gA2bC+xRvZoOL+1hzUK8jeuEIQE8svEQ==";
-      };
-    };
-    "magic-string-0.25.9" = {
-      name = "magic-string";
-      packageName = "magic-string";
-      version = "0.25.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz";
-        sha512 = "RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==";
-      };
-    };
-    "make-dir-2.1.0" = {
-      name = "make-dir";
-      packageName = "make-dir";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz";
-        sha512 = "LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==";
-      };
-    };
-    "make-dir-3.1.0" = {
-      name = "make-dir";
-      packageName = "make-dir";
-      version = "3.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz";
-        sha512 = "g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==";
-      };
-    };
-    "makeerror-1.0.12" = {
-      name = "makeerror";
-      packageName = "makeerror";
-      version = "1.0.12";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz";
-        sha512 = "JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==";
-      };
-    };
-    "map-age-cleaner-0.1.3" = {
-      name = "map-age-cleaner";
-      packageName = "map-age-cleaner";
-      version = "0.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz";
-        sha512 = "bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==";
-      };
-    };
-    "map-cache-0.2.2" = {
-      name = "map-cache";
-      packageName = "map-cache";
-      version = "0.2.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz";
-        sha512 = "8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==";
-      };
-    };
-    "map-obj-1.0.1" = {
-      name = "map-obj";
-      packageName = "map-obj";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz";
-        sha512 = "7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==";
-      };
-    };
-    "map-or-similar-1.5.0" = {
-      name = "map-or-similar";
-      packageName = "map-or-similar";
-      version = "1.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/map-or-similar/-/map-or-similar-1.5.0.tgz";
-        sha512 = "0aF7ZmVon1igznGI4VS30yugpduQW3y3GkcgGJOp7d8x8QrizhigUxjI/m2UojsXXto+jLAH3KSz+xOJTiORjg==";
-      };
-    };
-    "map-visit-1.0.0" = {
-      name = "map-visit";
-      packageName = "map-visit";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz";
-        sha512 = "4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==";
-      };
-    };
-    "markdown-escapes-1.0.4" = {
-      name = "markdown-escapes";
-      packageName = "markdown-escapes";
-      version = "1.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.4.tgz";
-        sha512 = "8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg==";
-      };
-    };
-    "md5.js-1.3.5" = {
-      name = "md5.js";
-      packageName = "md5.js";
-      version = "1.3.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz";
-        sha512 = "xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==";
-      };
-    };
-    "mdast-squeeze-paragraphs-4.0.0" = {
-      name = "mdast-squeeze-paragraphs";
-      packageName = "mdast-squeeze-paragraphs";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mdast-squeeze-paragraphs/-/mdast-squeeze-paragraphs-4.0.0.tgz";
-        sha512 = "zxdPn69hkQ1rm4J+2Cs2j6wDEv7O17TfXTJ33tl/+JPIoEmtV9t2ZzBM5LPHE8QlHsmVD8t3vPKCyY3oH+H8MQ==";
-      };
-    };
-    "mdast-util-definitions-4.0.0" = {
-      name = "mdast-util-definitions";
-      packageName = "mdast-util-definitions";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-4.0.0.tgz";
-        sha512 = "k8AJ6aNnUkB7IE+5azR9h81O5EQ/cTDXtWdMq9Kk5KcEW/8ritU5CeLg/9HhOC++nALHBlaogJ5jz0Ybk3kPMQ==";
-      };
-    };
-    "mdast-util-to-hast-10.0.1" = {
-      name = "mdast-util-to-hast";
-      packageName = "mdast-util-to-hast";
-      version = "10.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-10.0.1.tgz";
-        sha512 = "BW3LM9SEMnjf4HXXVApZMt8gLQWVNXc3jryK0nJu/rOXPOnlkUjmdkDlmxMirpbU9ILncGFIwLH/ubnWBbcdgA==";
-      };
-    };
-    "mdn-data-2.0.14" = {
-      name = "mdn-data";
-      packageName = "mdn-data";
-      version = "2.0.14";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz";
-        sha512 = "dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==";
-      };
-    };
-    "mdn-data-2.0.4" = {
-      name = "mdn-data";
-      packageName = "mdn-data";
-      version = "2.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz";
-        sha512 = "iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==";
-      };
-    };
-    "mdurl-1.0.1" = {
-      name = "mdurl";
-      packageName = "mdurl";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz";
-        sha512 = "/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==";
-      };
-    };
-    "media-typer-0.3.0" = {
-      name = "media-typer";
-      packageName = "media-typer";
-      version = "0.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz";
-        sha512 = "dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==";
-      };
-    };
-    "mem-8.1.1" = {
-      name = "mem";
-      packageName = "mem";
-      version = "8.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mem/-/mem-8.1.1.tgz";
-        sha512 = "qFCFUDs7U3b8mBDPyz5EToEKoAkgCzqquIgi9nkkR9bixxOVOre+09lbuH7+9Kn2NFpm56M3GUWVbU2hQgdACA==";
-      };
-    };
-    "memfs-3.4.7" = {
-      name = "memfs";
-      packageName = "memfs";
-      version = "3.4.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/memfs/-/memfs-3.4.7.tgz";
-        sha512 = "ygaiUSNalBX85388uskeCyhSAoOSgzBbtVCr9jA2RROssFL9Q19/ZXFqS+2Th2sr1ewNIWgFdLzLC3Yl1Zv+lw==";
-      };
-    };
-    "memoize-one-5.2.1" = {
-      name = "memoize-one";
-      packageName = "memoize-one";
-      version = "5.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/memoize-one/-/memoize-one-5.2.1.tgz";
-        sha512 = "zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==";
-      };
-    };
-    "memoizerific-1.11.3" = {
-      name = "memoizerific";
-      packageName = "memoizerific";
-      version = "1.11.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/memoizerific/-/memoizerific-1.11.3.tgz";
-        sha512 = "/EuHYwAPdLtXwAwSZkh/Gutery6pD2KYd44oQLhAvQp/50mpyduZh8Q7PYHXTCJ+wuXxt7oij2LXyIJOOYFPog==";
-      };
-    };
-    "memory-fs-0.4.1" = {
-      name = "memory-fs";
-      packageName = "memory-fs";
-      version = "0.4.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz";
-        sha512 = "cda4JKCxReDXFXRqOHPQscuIYg1PvxbE2S2GP45rnwfEK+vZaXC8C1OFvdHIbgw0DLzowXGVoxLaAmlgRy14GQ==";
-      };
-    };
-    "memory-fs-0.5.0" = {
-      name = "memory-fs";
-      packageName = "memory-fs";
-      version = "0.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz";
-        sha512 = "jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==";
-      };
-    };
-    "meow-3.7.0" = {
-      name = "meow";
-      packageName = "meow";
-      version = "3.7.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz";
-        sha512 = "TNdwZs0skRlpPpCUK25StC4VH+tP5GgeY1HQOOGP+lQ2xtdkN2VtT/5tiX9k3IWpkBPV9b3LsAWXn4GGi/PrSA==";
-      };
-    };
-    "merge-descriptors-1.0.1" = {
-      name = "merge-descriptors";
-      packageName = "merge-descriptors";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz";
-        sha512 = "cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==";
-      };
-    };
-    "merge-stream-2.0.0" = {
-      name = "merge-stream";
-      packageName = "merge-stream";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz";
-        sha512 = "abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==";
-      };
-    };
-    "merge2-1.4.1" = {
-      name = "merge2";
-      packageName = "merge2";
-      version = "1.4.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz";
-        sha512 = "8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==";
-      };
-    };
-    "methods-1.1.2" = {
-      name = "methods";
-      packageName = "methods";
-      version = "1.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz";
-        sha512 = "iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==";
-      };
-    };
-    "microevent.ts-0.1.1" = {
-      name = "microevent.ts";
-      packageName = "microevent.ts";
-      version = "0.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/microevent.ts/-/microevent.ts-0.1.1.tgz";
-        sha512 = "jo1OfR4TaEwd5HOrt5+tAZ9mqT4jmpNAusXtyfNzqVm9uiSYFZlKM1wYL4oU7azZW/PxQW53wM0S6OR1JHNa2g==";
-      };
-    };
-    "micromatch-3.1.10" = {
-      name = "micromatch";
-      packageName = "micromatch";
-      version = "3.1.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz";
-        sha512 = "MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==";
-      };
-    };
-    "micromatch-4.0.5" = {
-      name = "micromatch";
-      packageName = "micromatch";
-      version = "4.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz";
-        sha512 = "DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==";
-      };
-    };
-    "miller-rabin-4.0.1" = {
-      name = "miller-rabin";
-      packageName = "miller-rabin";
-      version = "4.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz";
-        sha512 = "115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==";
-      };
-    };
-    "mime-1.6.0" = {
-      name = "mime";
-      packageName = "mime";
-      version = "1.6.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz";
-        sha512 = "x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==";
-      };
-    };
-    "mime-2.6.0" = {
-      name = "mime";
-      packageName = "mime";
-      version = "2.6.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz";
-        sha512 = "USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==";
-      };
-    };
-    "mime-db-1.52.0" = {
-      name = "mime-db";
-      packageName = "mime-db";
-      version = "1.52.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz";
-        sha512 = "sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==";
-      };
-    };
-    "mime-types-2.1.35" = {
-      name = "mime-types";
-      packageName = "mime-types";
-      version = "2.1.35";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz";
-        sha512 = "ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==";
-      };
-    };
-    "mimic-fn-2.1.0" = {
-      name = "mimic-fn";
-      packageName = "mimic-fn";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz";
-        sha512 = "OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==";
-      };
-    };
-    "mimic-fn-3.1.0" = {
-      name = "mimic-fn";
-      packageName = "mimic-fn";
-      version = "3.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mimic-fn/-/mimic-fn-3.1.0.tgz";
-        sha512 = "Ysbi9uYW9hFyfrThdDEQuykN4Ey6BuwPD2kpI5ES/nFTDn/98yxYNLZJcgUAKPT/mcrLLKaGzJR9YVxJrIdASQ==";
-      };
-    };
-    "min-document-2.19.0" = {
-      name = "min-document";
-      packageName = "min-document";
-      version = "2.19.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz";
-        sha512 = "9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ==";
-      };
-    };
-    "min-indent-1.0.1" = {
-      name = "min-indent";
-      packageName = "min-indent";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz";
-        sha512 = "I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==";
-      };
-    };
-    "mini-css-extract-plugin-2.6.1" = {
-      name = "mini-css-extract-plugin";
-      packageName = "mini-css-extract-plugin";
-      version = "2.6.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.6.1.tgz";
-        sha512 = "wd+SD57/K6DiV7jIR34P+s3uckTRuQvx0tKPcvjFlrEylk6P4mQ2KSWk1hblj1Kxaqok7LogKOieygXqBczNlg==";
-      };
-    };
-    "minimalistic-assert-1.0.1" = {
-      name = "minimalistic-assert";
-      packageName = "minimalistic-assert";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz";
-        sha512 = "UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==";
-      };
-    };
-    "minimalistic-crypto-utils-1.0.1" = {
-      name = "minimalistic-crypto-utils";
-      packageName = "minimalistic-crypto-utils";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz";
-        sha512 = "JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==";
-      };
-    };
-    "minimatch-3.0.4" = {
-      name = "minimatch";
-      packageName = "minimatch";
-      version = "3.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz";
-        sha512 = "yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==";
-      };
-    };
-    "minimatch-3.1.2" = {
-      name = "minimatch";
-      packageName = "minimatch";
-      version = "3.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz";
-        sha512 = "J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==";
-      };
-    };
-    "minimatch-5.1.0" = {
-      name = "minimatch";
-      packageName = "minimatch";
-      version = "5.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz";
-        sha512 = "9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==";
-      };
-    };
-    "minimist-1.2.6" = {
-      name = "minimist";
-      packageName = "minimist";
-      version = "1.2.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz";
-        sha512 = "Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==";
-      };
-    };
-    "minipass-3.3.4" = {
-      name = "minipass";
-      packageName = "minipass";
-      version = "3.3.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/minipass/-/minipass-3.3.4.tgz";
-        sha512 = "I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw==";
-      };
-    };
-    "minipass-collect-1.0.2" = {
-      name = "minipass-collect";
-      packageName = "minipass-collect";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz";
-        sha512 = "6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==";
-      };
-    };
-    "minipass-flush-1.0.5" = {
-      name = "minipass-flush";
-      packageName = "minipass-flush";
-      version = "1.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz";
-        sha512 = "JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==";
-      };
-    };
-    "minipass-pipeline-1.2.4" = {
-      name = "minipass-pipeline";
-      packageName = "minipass-pipeline";
-      version = "1.2.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz";
-        sha512 = "xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==";
-      };
-    };
-    "minizlib-2.1.2" = {
-      name = "minizlib";
-      packageName = "minizlib";
-      version = "2.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz";
-        sha512 = "bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==";
-      };
-    };
-    "mississippi-3.0.0" = {
-      name = "mississippi";
-      packageName = "mississippi";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz";
-        sha512 = "x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==";
-      };
-    };
-    "mixin-deep-1.3.2" = {
-      name = "mixin-deep";
-      packageName = "mixin-deep";
-      version = "1.3.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz";
-        sha512 = "WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==";
-      };
-    };
-    "mkdirp-0.5.6" = {
-      name = "mkdirp";
-      packageName = "mkdirp";
-      version = "0.5.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz";
-        sha512 = "FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==";
-      };
-    };
-    "mkdirp-1.0.4" = {
-      name = "mkdirp";
-      packageName = "mkdirp";
-      version = "1.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz";
-        sha512 = "vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==";
-      };
-    };
-    "mobx-6.6.1" = {
-      name = "mobx";
-      packageName = "mobx";
-      version = "6.6.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mobx/-/mobx-6.6.1.tgz";
-        sha512 = "7su3UZv5JF+ohLr2opabjbUAERfXstMY+wiBtey8yNAPoB8H187RaQXuhFjNkH8aE4iHbDWnhDFZw0+5ic4nGQ==";
-      };
-    };
-    "mobx-react-lite-3.4.0" = {
-      name = "mobx-react-lite";
-      packageName = "mobx-react-lite";
-      version = "3.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mobx-react-lite/-/mobx-react-lite-3.4.0.tgz";
-        sha512 = "bRuZp3C0itgLKHu/VNxi66DN/XVkQG7xtoBVWxpvC5FhAqbOCP21+nPhULjnzEqd7xBMybp6KwytdUpZKEgpIQ==";
-      };
-    };
-    "mobx-stored-1.1.0" = {
-      name = "mobx-stored";
-      packageName = "mobx-stored";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mobx-stored/-/mobx-stored-1.1.0.tgz";
-        sha512 = "KxCIdbNx+L/GemzrFIpd+72ErkqnK4xqcCKyimTOzIn93Cwdh9+8/0sxLpASjx389l3FlDSlOovO0utDOICm+w==";
-      };
-    };
-    "moo-0.5.1" = {
-      name = "moo";
-      packageName = "moo";
-      version = "0.5.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/moo/-/moo-0.5.1.tgz";
-        sha512 = "I1mnb5xn4fO80BH9BLcF0yLypy2UKl+Cb01Fu0hJRkJjlCRtxZMWkTdAtDd5ZqCOxtCkhmRwyI57vWT+1iZ67w==";
-      };
-    };
-    "move-concurrently-1.0.1" = {
-      name = "move-concurrently";
-      packageName = "move-concurrently";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz";
-        sha512 = "hdrFxZOycD/g6A6SoI2bB5NA/5NEqD0569+S47WZhPvm46sD50ZHdYaFmnua5lndde9rCHGjmfK7Z8BuCt/PcQ==";
-      };
-    };
-    "ms-2.0.0" = {
-      name = "ms";
-      packageName = "ms";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz";
-        sha512 = "Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==";
-      };
-    };
-    "ms-2.1.1" = {
-      name = "ms";
-      packageName = "ms";
-      version = "2.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz";
-        sha512 = "tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==";
-      };
-    };
-    "ms-2.1.2" = {
-      name = "ms";
-      packageName = "ms";
-      version = "2.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz";
-        sha512 = "sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==";
-      };
-    };
-    "ms-2.1.3" = {
-      name = "ms";
-      packageName = "ms";
-      version = "2.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz";
-        sha512 = "6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==";
-      };
-    };
-    "multicast-dns-7.2.5" = {
-      name = "multicast-dns";
-      packageName = "multicast-dns";
-      version = "7.2.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz";
-        sha512 = "2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==";
-      };
-    };
-    "nan-2.16.0" = {
-      name = "nan";
-      packageName = "nan";
-      version = "2.16.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/nan/-/nan-2.16.0.tgz";
-        sha512 = "UdAqHyFngu7TfQKsCBgAA6pWDkT8MAO7d0jyOecVhN5354xbLqdn8mV9Tat9gepAupm0bt2DbeaSC8vS52MuFA==";
-      };
-    };
-    "nanoid-3.3.4" = {
-      name = "nanoid";
-      packageName = "nanoid";
-      version = "3.3.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz";
-        sha512 = "MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==";
-      };
-    };
-    "nanomatch-1.2.13" = {
-      name = "nanomatch";
-      packageName = "nanomatch";
-      version = "1.2.13";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz";
-        sha512 = "fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==";
-      };
-    };
-    "natural-compare-1.4.0" = {
-      name = "natural-compare";
-      packageName = "natural-compare";
-      version = "1.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz";
-        sha512 = "OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==";
-      };
-    };
-    "nearley-2.20.1" = {
-      name = "nearley";
-      packageName = "nearley";
-      version = "2.20.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/nearley/-/nearley-2.20.1.tgz";
-        sha512 = "+Mc8UaAebFzgV+KpI5n7DasuuQCHA89dmwm7JXw3TV43ukfNQ9DnBH3Mdb2g/I4Fdxc26pwimBWvjIw0UAILSQ==";
-      };
-    };
-    "negotiator-0.6.3" = {
-      name = "negotiator";
-      packageName = "negotiator";
-      version = "0.6.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz";
-        sha512 = "+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==";
-      };
-    };
-    "neo-async-2.6.2" = {
-      name = "neo-async";
-      packageName = "neo-async";
-      version = "2.6.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz";
-        sha512 = "Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==";
-      };
-    };
-    "nested-error-stacks-2.1.1" = {
-      name = "nested-error-stacks";
-      packageName = "nested-error-stacks";
-      version = "2.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/nested-error-stacks/-/nested-error-stacks-2.1.1.tgz";
-        sha512 = "9iN1ka/9zmX1ZvLV9ewJYEk9h7RyRRtqdK0woXcqohu8EWIerfPUjYJPg0ULy0UqP7cslmdGc8xKDJcojlKiaw==";
-      };
-    };
-    "no-case-3.0.4" = {
-      name = "no-case";
-      packageName = "no-case";
-      version = "3.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz";
-        sha512 = "fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==";
-      };
-    };
-    "node-dir-0.1.17" = {
-      name = "node-dir";
-      packageName = "node-dir";
-      version = "0.1.17";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/node-dir/-/node-dir-0.1.17.tgz";
-        sha512 = "tmPX422rYgofd4epzrNoOXiE8XFZYOcCq1vD7MAXCDO+O+zndlA2ztdKKMa+EeuBG5tHETpr4ml4RGgpqDCCAg==";
-      };
-    };
-    "node-fetch-2.6.7" = {
-      name = "node-fetch";
-      packageName = "node-fetch";
-      version = "2.6.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz";
-        sha512 = "ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==";
-      };
-    };
-    "node-forge-1.3.1" = {
-      name = "node-forge";
-      packageName = "node-forge";
-      version = "1.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz";
-        sha512 = "dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==";
-      };
-    };
-    "node-int64-0.4.0" = {
-      name = "node-int64";
-      packageName = "node-int64";
-      version = "0.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz";
-        sha512 = "O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==";
-      };
-    };
-    "node-libs-browser-2.2.1" = {
-      name = "node-libs-browser";
-      packageName = "node-libs-browser";
-      version = "2.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz";
-        sha512 = "h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==";
-      };
-    };
-    "node-releases-2.0.6" = {
-      name = "node-releases";
-      packageName = "node-releases";
-      version = "2.0.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz";
-        sha512 = "PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==";
-      };
-    };
-    "normalize-package-data-2.5.0" = {
-      name = "normalize-package-data";
-      packageName = "normalize-package-data";
-      version = "2.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz";
-        sha512 = "/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==";
-      };
-    };
-    "normalize-path-2.1.1" = {
-      name = "normalize-path";
-      packageName = "normalize-path";
-      version = "2.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz";
-        sha512 = "3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==";
-      };
-    };
-    "normalize-path-3.0.0" = {
-      name = "normalize-path";
-      packageName = "normalize-path";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz";
-        sha512 = "6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==";
-      };
-    };
-    "normalize-range-0.1.2" = {
-      name = "normalize-range";
-      packageName = "normalize-range";
-      version = "0.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz";
-        sha512 = "bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==";
-      };
-    };
-    "normalize-url-6.1.0" = {
-      name = "normalize-url";
-      packageName = "normalize-url";
-      version = "6.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz";
-        sha512 = "DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==";
-      };
-    };
-    "npm-run-path-4.0.1" = {
-      name = "npm-run-path";
-      packageName = "npm-run-path";
-      version = "4.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz";
-        sha512 = "S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==";
-      };
-    };
-    "npmlog-5.0.1" = {
-      name = "npmlog";
-      packageName = "npmlog";
-      version = "5.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz";
-        sha512 = "AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==";
-      };
-    };
-    "nth-check-1.0.2" = {
-      name = "nth-check";
-      packageName = "nth-check";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz";
-        sha512 = "WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==";
-      };
-    };
-    "nth-check-2.1.1" = {
-      name = "nth-check";
-      packageName = "nth-check";
-      version = "2.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz";
-        sha512 = "lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==";
-      };
-    };
-    "num2fraction-1.2.2" = {
-      name = "num2fraction";
-      packageName = "num2fraction";
-      version = "1.2.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz";
-        sha512 = "Y1wZESM7VUThYY+4W+X4ySH2maqcA+p7UR+w8VWNWVAd6lwuXXWz/w/Cz43J/dI2I+PS6wD5N+bJUF+gjWvIqg==";
-      };
-    };
-    "nwsapi-2.2.1" = {
-      name = "nwsapi";
-      packageName = "nwsapi";
-      version = "2.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.1.tgz";
-        sha512 = "JYOWTeFoS0Z93587vRJgASD5Ut11fYl5NyihP3KrYBvMe1FRRs6RN7m20SA/16GM4P6hTnZjT+UmDOt38UeXNg==";
-      };
-    };
-    "object-assign-4.1.1" = {
-      name = "object-assign";
-      packageName = "object-assign";
-      version = "4.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz";
-        sha512 = "rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==";
-      };
-    };
-    "object-copy-0.1.0" = {
-      name = "object-copy";
-      packageName = "object-copy";
-      version = "0.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz";
-        sha512 = "79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==";
-      };
-    };
-    "object-hash-3.0.0" = {
-      name = "object-hash";
-      packageName = "object-hash";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz";
-        sha512 = "RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==";
-      };
-    };
-    "object-inspect-1.12.2" = {
-      name = "object-inspect";
-      packageName = "object-inspect";
-      version = "1.12.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz";
-        sha512 = "z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==";
-      };
-    };
-    "object-is-1.1.5" = {
-      name = "object-is";
-      packageName = "object-is";
-      version = "1.1.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz";
-        sha512 = "3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==";
-      };
-    };
-    "object-keys-1.1.1" = {
-      name = "object-keys";
-      packageName = "object-keys";
-      version = "1.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz";
-        sha512 = "NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==";
-      };
-    };
-    "object-visit-1.0.1" = {
-      name = "object-visit";
-      packageName = "object-visit";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz";
-        sha512 = "GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==";
-      };
-    };
-    "object.assign-4.1.4" = {
-      name = "object.assign";
-      packageName = "object.assign";
-      version = "4.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz";
-        sha512 = "1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==";
-      };
-    };
-    "object.entries-1.1.5" = {
-      name = "object.entries";
-      packageName = "object.entries";
-      version = "1.1.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/object.entries/-/object.entries-1.1.5.tgz";
-        sha512 = "TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g==";
-      };
-    };
-    "object.fromentries-2.0.5" = {
-      name = "object.fromentries";
-      packageName = "object.fromentries";
-      version = "2.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.5.tgz";
-        sha512 = "CAyG5mWQRRiBU57Re4FKoTBjXfDoNwdFVH2Y1tS9PqCsfUTymAohOkEMSG3aRNKmv4lV3O7p1et7c187q6bynw==";
-      };
-    };
-    "object.getownpropertydescriptors-2.1.4" = {
-      name = "object.getownpropertydescriptors";
-      packageName = "object.getownpropertydescriptors";
-      version = "2.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.4.tgz";
-        sha512 = "sccv3L/pMModT6dJAYF3fzGMVcb38ysQ0tEE6ixv2yXJDtEIPph268OlAdJj5/qZMZDq2g/jqvwppt36uS/uQQ==";
-      };
-    };
-    "object.hasown-1.1.1" = {
-      name = "object.hasown";
-      packageName = "object.hasown";
-      version = "1.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.1.tgz";
-        sha512 = "LYLe4tivNQzq4JdaWW6WO3HMZZJWzkkH8fnI6EebWl0VZth2wL2Lovm74ep2/gZzlaTdV62JZHEqHQ2yVn8Q/A==";
-      };
-    };
-    "object.pick-1.3.0" = {
-      name = "object.pick";
-      packageName = "object.pick";
-      version = "1.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz";
-        sha512 = "tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==";
-      };
-    };
-    "object.values-1.1.5" = {
-      name = "object.values";
-      packageName = "object.values";
-      version = "1.1.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz";
-        sha512 = "QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==";
-      };
-    };
-    "objectorarray-1.0.5" = {
-      name = "objectorarray";
-      packageName = "objectorarray";
-      version = "1.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/objectorarray/-/objectorarray-1.0.5.tgz";
-        sha512 = "eJJDYkhJFFbBBAxeh8xW+weHlkI28n2ZdQV/J/DNfWfSKlGEf2xcfAbZTv3riEXHAhL9SVOTs2pRmXiSTf78xg==";
-      };
-    };
-    "obuf-1.1.2" = {
-      name = "obuf";
-      packageName = "obuf";
-      version = "1.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz";
-        sha512 = "PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==";
-      };
-    };
-    "on-finished-2.4.1" = {
-      name = "on-finished";
-      packageName = "on-finished";
-      version = "2.4.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz";
-        sha512 = "oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==";
-      };
-    };
-    "on-headers-1.0.2" = {
-      name = "on-headers";
-      packageName = "on-headers";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz";
-        sha512 = "pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==";
-      };
-    };
-    "once-1.4.0" = {
-      name = "once";
-      packageName = "once";
-      version = "1.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/once/-/once-1.4.0.tgz";
-        sha512 = "lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==";
-      };
-    };
-    "onetime-5.1.2" = {
-      name = "onetime";
-      packageName = "onetime";
-      version = "5.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz";
-        sha512 = "kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==";
-      };
-    };
-    "open-7.4.2" = {
-      name = "open";
-      packageName = "open";
-      version = "7.4.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/open/-/open-7.4.2.tgz";
-        sha512 = "MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==";
-      };
-    };
-    "open-8.4.0" = {
-      name = "open";
-      packageName = "open";
-      version = "8.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/open/-/open-8.4.0.tgz";
-        sha512 = "XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==";
-      };
-    };
-    "optionator-0.8.3" = {
-      name = "optionator";
-      packageName = "optionator";
-      version = "0.8.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz";
-        sha512 = "+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==";
-      };
-    };
-    "optionator-0.9.1" = {
-      name = "optionator";
-      packageName = "optionator";
-      version = "0.9.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz";
-        sha512 = "74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==";
-      };
-    };
-    "os-browserify-0.3.0" = {
-      name = "os-browserify";
-      packageName = "os-browserify";
-      version = "0.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz";
-        sha512 = "gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==";
-      };
-    };
-    "os-homedir-1.0.2" = {
-      name = "os-homedir";
-      packageName = "os-homedir";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz";
-        sha512 = "B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==";
-      };
-    };
-    "p-all-2.1.0" = {
-      name = "p-all";
-      packageName = "p-all";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/p-all/-/p-all-2.1.0.tgz";
-        sha512 = "HbZxz5FONzz/z2gJfk6bFca0BCiSRF8jU3yCsWOen/vR6lZjfPOu/e7L3uFzTW1i0H8TlC3vqQstEJPQL4/uLA==";
-      };
-    };
-    "p-defer-1.0.0" = {
-      name = "p-defer";
-      packageName = "p-defer";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz";
-        sha512 = "wB3wfAxZpk2AzOfUMJNL+d36xothRSyj8EXOa4f6GMqYDN9BJaaSISbsk+wS9abmnebVw95C2Kb5t85UmpCxuw==";
-      };
-    };
-    "p-event-4.2.0" = {
-      name = "p-event";
-      packageName = "p-event";
-      version = "4.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/p-event/-/p-event-4.2.0.tgz";
-        sha512 = "KXatOjCRXXkSePPb1Nbi0p0m+gQAwdlbhi4wQKJPI1HsMQS9g+Sqp2o+QHziPr7eYJyOZet836KoHEVM1mwOrQ==";
-      };
-    };
-    "p-filter-2.1.0" = {
-      name = "p-filter";
-      packageName = "p-filter";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/p-filter/-/p-filter-2.1.0.tgz";
-        sha512 = "ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==";
-      };
-    };
-    "p-finally-1.0.0" = {
-      name = "p-finally";
-      packageName = "p-finally";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz";
-        sha512 = "LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==";
-      };
-    };
-    "p-limit-2.3.0" = {
-      name = "p-limit";
-      packageName = "p-limit";
-      version = "2.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz";
-        sha512 = "//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==";
-      };
-    };
-    "p-limit-3.1.0" = {
-      name = "p-limit";
-      packageName = "p-limit";
-      version = "3.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz";
-        sha512 = "TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==";
-      };
-    };
-    "p-locate-3.0.0" = {
-      name = "p-locate";
-      packageName = "p-locate";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz";
-        sha512 = "x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==";
-      };
-    };
-    "p-locate-4.1.0" = {
-      name = "p-locate";
-      packageName = "p-locate";
-      version = "4.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz";
-        sha512 = "R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==";
-      };
-    };
-    "p-locate-5.0.0" = {
-      name = "p-locate";
-      packageName = "p-locate";
-      version = "5.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz";
-        sha512 = "LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==";
-      };
-    };
-    "p-map-2.1.0" = {
-      name = "p-map";
-      packageName = "p-map";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz";
-        sha512 = "y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==";
-      };
-    };
-    "p-map-3.0.0" = {
-      name = "p-map";
-      packageName = "p-map";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz";
-        sha512 = "d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==";
-      };
-    };
-    "p-map-4.0.0" = {
-      name = "p-map";
-      packageName = "p-map";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz";
-        sha512 = "/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==";
-      };
-    };
-    "p-retry-4.6.2" = {
-      name = "p-retry";
-      packageName = "p-retry";
-      version = "4.6.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz";
-        sha512 = "312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==";
-      };
-    };
-    "p-timeout-3.2.0" = {
-      name = "p-timeout";
-      packageName = "p-timeout";
-      version = "3.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz";
-        sha512 = "rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==";
-      };
-    };
-    "p-try-2.2.0" = {
-      name = "p-try";
-      packageName = "p-try";
-      version = "2.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz";
-        sha512 = "R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==";
-      };
-    };
-    "pako-1.0.11" = {
-      name = "pako";
-      packageName = "pako";
-      version = "1.0.11";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz";
-        sha512 = "4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==";
-      };
-    };
-    "parallel-transform-1.2.0" = {
-      name = "parallel-transform";
-      packageName = "parallel-transform";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz";
-        sha512 = "P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==";
-      };
-    };
-    "param-case-3.0.4" = {
-      name = "param-case";
-      packageName = "param-case";
-      version = "3.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz";
-        sha512 = "RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==";
-      };
-    };
-    "parent-module-1.0.1" = {
-      name = "parent-module";
-      packageName = "parent-module";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz";
-        sha512 = "GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==";
-      };
-    };
-    "parse-asn1-5.1.6" = {
-      name = "parse-asn1";
-      packageName = "parse-asn1";
-      version = "5.1.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz";
-        sha512 = "RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==";
-      };
-    };
-    "parse-entities-2.0.0" = {
-      name = "parse-entities";
-      packageName = "parse-entities";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz";
-        sha512 = "kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==";
-      };
-    };
-    "parse-json-2.2.0" = {
-      name = "parse-json";
-      packageName = "parse-json";
-      version = "2.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz";
-        sha512 = "QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==";
-      };
-    };
-    "parse-json-5.2.0" = {
-      name = "parse-json";
-      packageName = "parse-json";
-      version = "5.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz";
-        sha512 = "ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==";
-      };
-    };
-    "parse5-6.0.1" = {
-      name = "parse5";
-      packageName = "parse5";
-      version = "6.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz";
-        sha512 = "Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==";
-      };
-    };
-    "parse5-7.0.0" = {
-      name = "parse5";
-      packageName = "parse5";
-      version = "7.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/parse5/-/parse5-7.0.0.tgz";
-        sha512 = "y/t8IXSPWTuRZqXc0ajH/UwDj4mnqLEbSttNbThcFhGrZuOyoyvNBO85PBp2jQa55wY9d07PBNjsK8ZP3K5U6g==";
-      };
-    };
-    "parse5-htmlparser2-tree-adapter-7.0.0" = {
-      name = "parse5-htmlparser2-tree-adapter";
-      packageName = "parse5-htmlparser2-tree-adapter";
-      version = "7.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz";
-        sha512 = "B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==";
-      };
-    };
-    "parseurl-1.3.3" = {
-      name = "parseurl";
-      packageName = "parseurl";
-      version = "1.3.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz";
-        sha512 = "CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==";
-      };
-    };
-    "pascal-case-3.1.2" = {
-      name = "pascal-case";
-      packageName = "pascal-case";
-      version = "3.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz";
-        sha512 = "uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==";
-      };
-    };
-    "pascalcase-0.1.1" = {
-      name = "pascalcase";
-      packageName = "pascalcase";
-      version = "0.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz";
-        sha512 = "XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==";
-      };
-    };
-    "path-browserify-0.0.1" = {
-      name = "path-browserify";
-      packageName = "path-browserify";
-      version = "0.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz";
-        sha512 = "BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==";
-      };
-    };
-    "path-browserify-1.0.1" = {
-      name = "path-browserify";
-      packageName = "path-browserify";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz";
-        sha512 = "b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==";
-      };
-    };
-    "path-dirname-1.0.2" = {
-      name = "path-dirname";
-      packageName = "path-dirname";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz";
-        sha512 = "ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==";
-      };
-    };
-    "path-exists-2.1.0" = {
-      name = "path-exists";
-      packageName = "path-exists";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz";
-        sha512 = "yTltuKuhtNeFJKa1PiRzfLAU5182q1y4Eb4XCJ3PBqyzEDkAZRzBrKKBct682ls9reBVHf9udYLN5Nd+K1B9BQ==";
-      };
-    };
-    "path-exists-3.0.0" = {
-      name = "path-exists";
-      packageName = "path-exists";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz";
-        sha512 = "bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==";
-      };
-    };
-    "path-exists-4.0.0" = {
-      name = "path-exists";
-      packageName = "path-exists";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz";
-        sha512 = "ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==";
-      };
-    };
-    "path-is-absolute-1.0.1" = {
-      name = "path-is-absolute";
-      packageName = "path-is-absolute";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz";
-        sha512 = "AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==";
-      };
-    };
-    "path-key-3.1.1" = {
-      name = "path-key";
-      packageName = "path-key";
-      version = "3.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz";
-        sha512 = "ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==";
-      };
-    };
-    "path-parse-1.0.7" = {
-      name = "path-parse";
-      packageName = "path-parse";
-      version = "1.0.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz";
-        sha512 = "LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==";
-      };
-    };
-    "path-to-regexp-0.1.7" = {
-      name = "path-to-regexp";
-      packageName = "path-to-regexp";
-      version = "0.1.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz";
-        sha512 = "5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==";
-      };
-    };
-    "path-to-regexp-2.4.0" = {
-      name = "path-to-regexp";
-      packageName = "path-to-regexp";
-      version = "2.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-2.4.0.tgz";
-        sha512 = "G6zHoVqC6GGTQkZwF4lkuEyMbVOjoBKAEybQUypI1WTkqinCOrq2x6U2+phkJ1XsEMTy4LjtwPI7HW+NVrRR2w==";
-      };
-    };
-    "path-to-regexp-6.2.1" = {
-      name = "path-to-regexp";
-      packageName = "path-to-regexp";
-      version = "6.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.1.tgz";
-        sha512 = "JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==";
-      };
-    };
-    "path-type-1.1.0" = {
-      name = "path-type";
-      packageName = "path-type";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz";
-        sha512 = "S4eENJz1pkiQn9Znv33Q+deTOKmbl+jj1Fl+qiP/vYezj+S8x+J3Uo0ISrx/QoEvIlOaDWJhPaRd1flJ9HXZqg==";
-      };
-    };
-    "path-type-3.0.0" = {
-      name = "path-type";
-      packageName = "path-type";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz";
-        sha512 = "T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==";
-      };
-    };
-    "path-type-4.0.0" = {
-      name = "path-type";
-      packageName = "path-type";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz";
-        sha512 = "gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==";
-      };
-    };
-    "pbkdf2-3.1.2" = {
-      name = "pbkdf2";
-      packageName = "pbkdf2";
-      version = "3.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz";
-        sha512 = "iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==";
-      };
-    };
-    "pend-1.2.0" = {
-      name = "pend";
-      packageName = "pend";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz";
-        sha512 = "F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==";
-      };
-    };
-    "performance-now-2.1.0" = {
-      name = "performance-now";
-      packageName = "performance-now";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz";
-        sha512 = "7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==";
-      };
-    };
-    "picocolors-0.2.1" = {
-      name = "picocolors";
-      packageName = "picocolors";
-      version = "0.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz";
-        sha512 = "cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==";
-      };
-    };
-    "picocolors-1.0.0" = {
-      name = "picocolors";
-      packageName = "picocolors";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz";
-        sha512 = "1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==";
-      };
-    };
-    "picomatch-2.3.1" = {
-      name = "picomatch";
-      packageName = "picomatch";
-      version = "2.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz";
-        sha512 = "JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==";
-      };
-    };
-    "pify-2.3.0" = {
-      name = "pify";
-      packageName = "pify";
-      version = "2.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz";
-        sha512 = "udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==";
-      };
-    };
-    "pify-3.0.0" = {
-      name = "pify";
-      packageName = "pify";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz";
-        sha512 = "C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==";
-      };
-    };
-    "pify-4.0.1" = {
-      name = "pify";
-      packageName = "pify";
-      version = "4.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz";
-        sha512 = "uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==";
-      };
-    };
-    "pinkie-2.0.4" = {
-      name = "pinkie";
-      packageName = "pinkie";
-      version = "2.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz";
-        sha512 = "MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==";
-      };
-    };
-    "pinkie-promise-2.0.1" = {
-      name = "pinkie-promise";
-      packageName = "pinkie-promise";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz";
-        sha512 = "0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==";
-      };
-    };
-    "pirates-4.0.5" = {
-      name = "pirates";
-      packageName = "pirates";
-      version = "4.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz";
-        sha512 = "8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==";
-      };
-    };
-    "pkg-dir-3.0.0" = {
-      name = "pkg-dir";
-      packageName = "pkg-dir";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz";
-        sha512 = "/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==";
-      };
-    };
-    "pkg-dir-4.2.0" = {
-      name = "pkg-dir";
-      packageName = "pkg-dir";
-      version = "4.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz";
-        sha512 = "HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==";
-      };
-    };
-    "pkg-dir-5.0.0" = {
-      name = "pkg-dir";
-      packageName = "pkg-dir";
-      version = "5.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pkg-dir/-/pkg-dir-5.0.0.tgz";
-        sha512 = "NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==";
-      };
-    };
-    "pkg-up-3.1.0" = {
-      name = "pkg-up";
-      packageName = "pkg-up";
-      version = "3.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz";
-        sha512 = "nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==";
-      };
-    };
-    "pnp-webpack-plugin-1.6.4" = {
-      name = "pnp-webpack-plugin";
-      packageName = "pnp-webpack-plugin";
-      version = "1.6.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pnp-webpack-plugin/-/pnp-webpack-plugin-1.6.4.tgz";
-        sha512 = "7Wjy+9E3WwLOEL30D+m8TSTF7qJJUJLONBnwQp0518siuMxUQUbgZwssaFX+QKlZkjHZcw/IpZCt/H0srrntSg==";
-      };
-    };
-    "pnp-webpack-plugin-1.7.0" = {
-      name = "pnp-webpack-plugin";
-      packageName = "pnp-webpack-plugin";
-      version = "1.7.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pnp-webpack-plugin/-/pnp-webpack-plugin-1.7.0.tgz";
-        sha512 = "2Rb3vm+EXble/sMXNSu6eoBx8e79gKqhNq9F5ZWW6ERNCTE/Q0wQNne5541tE5vKjfM8hpNCYL+LGc1YTfI0dg==";
-      };
-    };
-    "posix-character-classes-0.1.1" = {
-      name = "posix-character-classes";
-      packageName = "posix-character-classes";
-      version = "0.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz";
-        sha512 = "xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==";
-      };
-    };
-    "postcss-7.0.39" = {
-      name = "postcss";
-      packageName = "postcss";
-      version = "7.0.39";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz";
-        sha512 = "yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==";
-      };
-    };
-    "postcss-8.4.16" = {
-      name = "postcss";
-      packageName = "postcss";
-      version = "8.4.16";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss/-/postcss-8.4.16.tgz";
-        sha512 = "ipHE1XBvKzm5xI7hiHCZJCSugxvsdq2mPnsq5+UF+VHCjiBvtDrlxJfMBToWaP9D5XlgNmcFGqoHmUn0EYEaRQ==";
-      };
-    };
-    "postcss-attribute-case-insensitive-5.0.2" = {
-      name = "postcss-attribute-case-insensitive";
-      packageName = "postcss-attribute-case-insensitive";
-      version = "5.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.2.tgz";
-        sha512 = "XIidXV8fDr0kKt28vqki84fRK8VW8eTuIa4PChv2MqKuT6C9UjmSKzen6KaWhWEoYvwxFCa7n/tC1SZ3tyq4SQ==";
-      };
-    };
-    "postcss-browser-comments-4.0.0" = {
-      name = "postcss-browser-comments";
-      packageName = "postcss-browser-comments";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-browser-comments/-/postcss-browser-comments-4.0.0.tgz";
-        sha512 = "X9X9/WN3KIvY9+hNERUqX9gncsgBA25XaeR+jshHz2j8+sYyHktHw1JdKuMjeLpGktXidqDhA7b/qm1mrBDmgg==";
-      };
-    };
-    "postcss-calc-8.2.4" = {
-      name = "postcss-calc";
-      packageName = "postcss-calc";
-      version = "8.2.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz";
-        sha512 = "SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==";
-      };
-    };
-    "postcss-clamp-4.1.0" = {
-      name = "postcss-clamp";
-      packageName = "postcss-clamp";
-      version = "4.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-clamp/-/postcss-clamp-4.1.0.tgz";
-        sha512 = "ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==";
-      };
-    };
-    "postcss-color-functional-notation-4.2.4" = {
-      name = "postcss-color-functional-notation";
-      packageName = "postcss-color-functional-notation";
-      version = "4.2.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.4.tgz";
-        sha512 = "2yrTAUZUab9s6CpxkxC4rVgFEVaR6/2Pipvi6qcgvnYiVqZcbDHEoBDhrXzyb7Efh2CCfHQNtcqWcIruDTIUeg==";
-      };
-    };
-    "postcss-color-hex-alpha-8.0.4" = {
-      name = "postcss-color-hex-alpha";
-      packageName = "postcss-color-hex-alpha";
-      version = "8.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-8.0.4.tgz";
-        sha512 = "nLo2DCRC9eE4w2JmuKgVA3fGL3d01kGq752pVALF68qpGLmx2Qrk91QTKkdUqqp45T1K1XV8IhQpcu1hoAQflQ==";
-      };
-    };
-    "postcss-color-rebeccapurple-7.1.1" = {
-      name = "postcss-color-rebeccapurple";
-      packageName = "postcss-color-rebeccapurple";
-      version = "7.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-7.1.1.tgz";
-        sha512 = "pGxkuVEInwLHgkNxUc4sdg4g3py7zUeCQ9sMfwyHAT+Ezk8a4OaaVZ8lIY5+oNqA/BXXgLyXv0+5wHP68R79hg==";
-      };
-    };
-    "postcss-colormin-5.3.0" = {
-      name = "postcss-colormin";
-      packageName = "postcss-colormin";
-      version = "5.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.0.tgz";
-        sha512 = "WdDO4gOFG2Z8n4P8TWBpshnL3JpmNmJwdnfP2gbk2qBA8PWwOYcmjmI/t3CmMeL72a7Hkd+x/Mg9O2/0rD54Pg==";
-      };
-    };
-    "postcss-convert-values-5.1.2" = {
-      name = "postcss-convert-values";
-      packageName = "postcss-convert-values";
-      version = "5.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.2.tgz";
-        sha512 = "c6Hzc4GAv95B7suy4udszX9Zy4ETyMCgFPUDtWjdFTKH1SE9eFY/jEpHSwTH1QPuwxHpWslhckUQWbNRM4ho5g==";
-      };
-    };
-    "postcss-custom-media-8.0.2" = {
-      name = "postcss-custom-media";
-      packageName = "postcss-custom-media";
-      version = "8.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-8.0.2.tgz";
-        sha512 = "7yi25vDAoHAkbhAzX9dHx2yc6ntS4jQvejrNcC+csQJAXjj15e7VcWfMgLqBNAbOvqi5uIa9huOVwdHbf+sKqg==";
-      };
-    };
-    "postcss-custom-properties-12.1.8" = {
-      name = "postcss-custom-properties";
-      packageName = "postcss-custom-properties";
-      version = "12.1.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-12.1.8.tgz";
-        sha512 = "8rbj8kVu00RQh2fQF81oBqtduiANu4MIxhyf0HbbStgPtnFlWn0yiaYTpLHrPnJbffVY1s9apWsIoVZcc68FxA==";
-      };
-    };
-    "postcss-custom-selectors-6.0.3" = {
-      name = "postcss-custom-selectors";
-      packageName = "postcss-custom-selectors";
-      version = "6.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-6.0.3.tgz";
-        sha512 = "fgVkmyiWDwmD3JbpCmB45SvvlCD6z9CG6Ie6Iere22W5aHea6oWa7EM2bpnv2Fj3I94L3VbtvX9KqwSi5aFzSg==";
-      };
-    };
-    "postcss-dir-pseudo-class-6.0.5" = {
-      name = "postcss-dir-pseudo-class";
-      packageName = "postcss-dir-pseudo-class";
-      version = "6.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-6.0.5.tgz";
-        sha512 = "eqn4m70P031PF7ZQIvSgy9RSJ5uI2171O/OO/zcRNYpJbvaeKFUlar1aJ7rmgiQtbm0FSPsRewjpdS0Oew7MPA==";
-      };
-    };
-    "postcss-discard-comments-5.1.2" = {
-      name = "postcss-discard-comments";
-      packageName = "postcss-discard-comments";
-      version = "5.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz";
-        sha512 = "+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==";
-      };
-    };
-    "postcss-discard-duplicates-5.1.0" = {
-      name = "postcss-discard-duplicates";
-      packageName = "postcss-discard-duplicates";
-      version = "5.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz";
-        sha512 = "zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==";
-      };
-    };
-    "postcss-discard-empty-5.1.1" = {
-      name = "postcss-discard-empty";
-      packageName = "postcss-discard-empty";
-      version = "5.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz";
-        sha512 = "zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==";
-      };
-    };
-    "postcss-discard-overridden-5.1.0" = {
-      name = "postcss-discard-overridden";
-      packageName = "postcss-discard-overridden";
-      version = "5.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz";
-        sha512 = "21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==";
-      };
-    };
-    "postcss-double-position-gradients-3.1.2" = {
-      name = "postcss-double-position-gradients";
-      packageName = "postcss-double-position-gradients";
-      version = "3.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-3.1.2.tgz";
-        sha512 = "GX+FuE/uBR6eskOK+4vkXgT6pDkexLokPaz/AbJna9s5Kzp/yl488pKPjhy0obB475ovfT1Wv8ho7U/cHNaRgQ==";
-      };
-    };
-    "postcss-env-function-4.0.6" = {
-      name = "postcss-env-function";
-      packageName = "postcss-env-function";
-      version = "4.0.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-4.0.6.tgz";
-        sha512 = "kpA6FsLra+NqcFnL81TnsU+Z7orGtDTxcOhl6pwXeEq1yFPpRMkCDpHhrz8CFQDr/Wfm0jLiNQ1OsGGPjlqPwA==";
-      };
-    };
-    "postcss-flexbugs-fixes-4.2.1" = {
-      name = "postcss-flexbugs-fixes";
-      packageName = "postcss-flexbugs-fixes";
-      version = "4.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-4.2.1.tgz";
-        sha512 = "9SiofaZ9CWpQWxOwRh1b/r85KD5y7GgvsNt1056k6OYLvWUun0czCvogfJgylC22uJTwW1KzY3Gz65NZRlvoiQ==";
-      };
-    };
-    "postcss-flexbugs-fixes-5.0.2" = {
-      name = "postcss-flexbugs-fixes";
-      packageName = "postcss-flexbugs-fixes";
-      version = "5.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-5.0.2.tgz";
-        sha512 = "18f9voByak7bTktR2QgDveglpn9DTbBWPUzSOe9g0N4WR/2eSt6Vrcbf0hmspvMI6YWGywz6B9f7jzpFNJJgnQ==";
-      };
-    };
-    "postcss-focus-visible-6.0.4" = {
-      name = "postcss-focus-visible";
-      packageName = "postcss-focus-visible";
-      version = "6.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-6.0.4.tgz";
-        sha512 = "QcKuUU/dgNsstIK6HELFRT5Y3lbrMLEOwG+A4s5cA+fx3A3y/JTq3X9LaOj3OC3ALH0XqyrgQIgey/MIZ8Wczw==";
-      };
-    };
-    "postcss-focus-within-5.0.4" = {
-      name = "postcss-focus-within";
-      packageName = "postcss-focus-within";
-      version = "5.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-5.0.4.tgz";
-        sha512 = "vvjDN++C0mu8jz4af5d52CB184ogg/sSxAFS+oUJQq2SuCe7T5U2iIsVJtsCp2d6R4j0jr5+q3rPkBVZkXD9fQ==";
-      };
-    };
-    "postcss-font-variant-5.0.0" = {
-      name = "postcss-font-variant";
-      packageName = "postcss-font-variant";
-      version = "5.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz";
-        sha512 = "1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==";
-      };
-    };
-    "postcss-gap-properties-3.0.5" = {
-      name = "postcss-gap-properties";
-      packageName = "postcss-gap-properties";
-      version = "3.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-3.0.5.tgz";
-        sha512 = "IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg==";
-      };
-    };
-    "postcss-image-set-function-4.0.7" = {
-      name = "postcss-image-set-function";
-      packageName = "postcss-image-set-function";
-      version = "4.0.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-4.0.7.tgz";
-        sha512 = "9T2r9rsvYzm5ndsBE8WgtrMlIT7VbtTfE7b3BQnudUqnBcBo7L758oc+o+pdj/dUV0l5wjwSdjeOH2DZtfv8qw==";
-      };
-    };
-    "postcss-import-14.1.0" = {
-      name = "postcss-import";
-      packageName = "postcss-import";
-      version = "14.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-import/-/postcss-import-14.1.0.tgz";
-        sha512 = "flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==";
-      };
-    };
-    "postcss-initial-4.0.1" = {
-      name = "postcss-initial";
-      packageName = "postcss-initial";
-      version = "4.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-initial/-/postcss-initial-4.0.1.tgz";
-        sha512 = "0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ==";
-      };
-    };
-    "postcss-js-4.0.0" = {
-      name = "postcss-js";
-      packageName = "postcss-js";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.0.tgz";
-        sha512 = "77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ==";
-      };
-    };
-    "postcss-lab-function-4.2.1" = {
-      name = "postcss-lab-function";
-      packageName = "postcss-lab-function";
-      version = "4.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-4.2.1.tgz";
-        sha512 = "xuXll4isR03CrQsmxyz92LJB2xX9n+pZJ5jE9JgcnmsCammLyKdlzrBin+25dy6wIjfhJpKBAN80gsTlCgRk2w==";
-      };
-    };
-    "postcss-load-config-3.1.4" = {
-      name = "postcss-load-config";
-      packageName = "postcss-load-config";
-      version = "3.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz";
-        sha512 = "6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==";
-      };
-    };
-    "postcss-loader-4.3.0" = {
-      name = "postcss-loader";
-      packageName = "postcss-loader";
-      version = "4.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-loader/-/postcss-loader-4.3.0.tgz";
-        sha512 = "M/dSoIiNDOo8Rk0mUqoj4kpGq91gcxCfb9PoyZVdZ76/AuhxylHDYZblNE8o+EQ9AMSASeMFEKxZf5aU6wlx1Q==";
-      };
-    };
-    "postcss-loader-6.2.1" = {
-      name = "postcss-loader";
-      packageName = "postcss-loader";
-      version = "6.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.2.1.tgz";
-        sha512 = "WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==";
-      };
-    };
-    "postcss-logical-5.0.4" = {
-      name = "postcss-logical";
-      packageName = "postcss-logical";
-      version = "5.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-logical/-/postcss-logical-5.0.4.tgz";
-        sha512 = "RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g==";
-      };
-    };
-    "postcss-media-minmax-5.0.0" = {
-      name = "postcss-media-minmax";
-      packageName = "postcss-media-minmax";
-      version = "5.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-5.0.0.tgz";
-        sha512 = "yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ==";
-      };
-    };
-    "postcss-merge-longhand-5.1.6" = {
-      name = "postcss-merge-longhand";
-      packageName = "postcss-merge-longhand";
-      version = "5.1.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.6.tgz";
-        sha512 = "6C/UGF/3T5OE2CEbOuX7iNO63dnvqhGZeUnKkDeifebY0XqkkvrctYSZurpNE902LDf2yKwwPFgotnfSoPhQiw==";
-      };
-    };
-    "postcss-merge-rules-5.1.2" = {
-      name = "postcss-merge-rules";
-      packageName = "postcss-merge-rules";
-      version = "5.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.2.tgz";
-        sha512 = "zKMUlnw+zYCWoPN6yhPjtcEdlJaMUZ0WyVcxTAmw3lkkN/NDMRkOkiuctQEoWAOvH7twaxUUdvBWl0d4+hifRQ==";
-      };
-    };
-    "postcss-minify-font-values-5.1.0" = {
-      name = "postcss-minify-font-values";
-      packageName = "postcss-minify-font-values";
-      version = "5.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz";
-        sha512 = "el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==";
-      };
-    };
-    "postcss-minify-gradients-5.1.1" = {
-      name = "postcss-minify-gradients";
-      packageName = "postcss-minify-gradients";
-      version = "5.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz";
-        sha512 = "VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==";
-      };
-    };
-    "postcss-minify-params-5.1.3" = {
-      name = "postcss-minify-params";
-      packageName = "postcss-minify-params";
-      version = "5.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.3.tgz";
-        sha512 = "bkzpWcjykkqIujNL+EVEPOlLYi/eZ050oImVtHU7b4lFS82jPnsCb44gvC6pxaNt38Els3jWYDHTjHKf0koTgg==";
-      };
-    };
-    "postcss-minify-selectors-5.2.1" = {
-      name = "postcss-minify-selectors";
-      packageName = "postcss-minify-selectors";
-      version = "5.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz";
-        sha512 = "nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==";
-      };
-    };
-    "postcss-modules-extract-imports-2.0.0" = {
-      name = "postcss-modules-extract-imports";
-      packageName = "postcss-modules-extract-imports";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz";
-        sha512 = "LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ==";
-      };
-    };
-    "postcss-modules-extract-imports-3.0.0" = {
-      name = "postcss-modules-extract-imports";
-      packageName = "postcss-modules-extract-imports";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz";
-        sha512 = "bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==";
-      };
-    };
-    "postcss-modules-local-by-default-3.0.3" = {
-      name = "postcss-modules-local-by-default";
-      packageName = "postcss-modules-local-by-default";
-      version = "3.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.3.tgz";
-        sha512 = "e3xDq+LotiGesympRlKNgaJ0PCzoUIdpH0dj47iWAui/kyTgh3CiAr1qP54uodmJhl6p9rN6BoNcdEDVJx9RDw==";
-      };
-    };
-    "postcss-modules-local-by-default-4.0.0" = {
-      name = "postcss-modules-local-by-default";
-      packageName = "postcss-modules-local-by-default";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz";
-        sha512 = "sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==";
-      };
-    };
-    "postcss-modules-scope-2.2.0" = {
-      name = "postcss-modules-scope";
-      packageName = "postcss-modules-scope";
-      version = "2.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz";
-        sha512 = "YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ==";
-      };
-    };
-    "postcss-modules-scope-3.0.0" = {
-      name = "postcss-modules-scope";
-      packageName = "postcss-modules-scope";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz";
-        sha512 = "hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==";
-      };
-    };
-    "postcss-modules-values-3.0.0" = {
-      name = "postcss-modules-values";
-      packageName = "postcss-modules-values";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz";
-        sha512 = "1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg==";
-      };
-    };
-    "postcss-modules-values-4.0.0" = {
-      name = "postcss-modules-values";
-      packageName = "postcss-modules-values";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz";
-        sha512 = "RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==";
-      };
-    };
-    "postcss-nested-5.0.6" = {
-      name = "postcss-nested";
-      packageName = "postcss-nested";
-      version = "5.0.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-nested/-/postcss-nested-5.0.6.tgz";
-        sha512 = "rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA==";
-      };
-    };
-    "postcss-nesting-10.1.10" = {
-      name = "postcss-nesting";
-      packageName = "postcss-nesting";
-      version = "10.1.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-10.1.10.tgz";
-        sha512 = "lqd7LXCq0gWc0wKXtoKDru5wEUNjm3OryLVNRZ8OnW8km6fSNUuFrjEhU3nklxXE2jvd4qrox566acgh+xQt8w==";
-      };
-    };
-    "postcss-normalize-10.0.1" = {
-      name = "postcss-normalize";
-      packageName = "postcss-normalize";
-      version = "10.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-normalize/-/postcss-normalize-10.0.1.tgz";
-        sha512 = "+5w18/rDev5mqERcG3W5GZNMJa1eoYYNGo8gB7tEwaos0ajk3ZXAI4mHGcNT47NE+ZnZD1pEpUOFLvltIwmeJA==";
-      };
-    };
-    "postcss-normalize-charset-5.1.0" = {
-      name = "postcss-normalize-charset";
-      packageName = "postcss-normalize-charset";
-      version = "5.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz";
-        sha512 = "mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==";
-      };
-    };
-    "postcss-normalize-display-values-5.1.0" = {
-      name = "postcss-normalize-display-values";
-      packageName = "postcss-normalize-display-values";
-      version = "5.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz";
-        sha512 = "WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==";
-      };
-    };
-    "postcss-normalize-positions-5.1.1" = {
-      name = "postcss-normalize-positions";
-      packageName = "postcss-normalize-positions";
-      version = "5.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz";
-        sha512 = "6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==";
-      };
-    };
-    "postcss-normalize-repeat-style-5.1.1" = {
-      name = "postcss-normalize-repeat-style";
-      packageName = "postcss-normalize-repeat-style";
-      version = "5.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz";
-        sha512 = "mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==";
-      };
-    };
-    "postcss-normalize-string-5.1.0" = {
-      name = "postcss-normalize-string";
-      packageName = "postcss-normalize-string";
-      version = "5.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz";
-        sha512 = "oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==";
-      };
-    };
-    "postcss-normalize-timing-functions-5.1.0" = {
-      name = "postcss-normalize-timing-functions";
-      packageName = "postcss-normalize-timing-functions";
-      version = "5.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz";
-        sha512 = "DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==";
-      };
-    };
-    "postcss-normalize-unicode-5.1.0" = {
-      name = "postcss-normalize-unicode";
-      packageName = "postcss-normalize-unicode";
-      version = "5.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.0.tgz";
-        sha512 = "J6M3MizAAZ2dOdSjy2caayJLQT8E8K9XjLce8AUQMwOrCvjCHv24aLC/Lps1R1ylOfol5VIDMaM/Lo9NGlk1SQ==";
-      };
-    };
-    "postcss-normalize-url-5.1.0" = {
-      name = "postcss-normalize-url";
-      packageName = "postcss-normalize-url";
-      version = "5.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz";
-        sha512 = "5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==";
-      };
-    };
-    "postcss-normalize-whitespace-5.1.1" = {
-      name = "postcss-normalize-whitespace";
-      packageName = "postcss-normalize-whitespace";
-      version = "5.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz";
-        sha512 = "83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==";
-      };
-    };
-    "postcss-opacity-percentage-1.1.2" = {
-      name = "postcss-opacity-percentage";
-      packageName = "postcss-opacity-percentage";
-      version = "1.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-opacity-percentage/-/postcss-opacity-percentage-1.1.2.tgz";
-        sha512 = "lyUfF7miG+yewZ8EAk9XUBIlrHyUE6fijnesuz+Mj5zrIHIEw6KcIZSOk/elVMqzLvREmXB83Zi/5QpNRYd47w==";
-      };
-    };
-    "postcss-ordered-values-5.1.3" = {
-      name = "postcss-ordered-values";
-      packageName = "postcss-ordered-values";
-      version = "5.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz";
-        sha512 = "9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==";
-      };
-    };
-    "postcss-overflow-shorthand-3.0.4" = {
-      name = "postcss-overflow-shorthand";
-      packageName = "postcss-overflow-shorthand";
-      version = "3.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-3.0.4.tgz";
-        sha512 = "otYl/ylHK8Y9bcBnPLo3foYFLL6a6Ak+3EQBPOTR7luMYCOsiVTUk1iLvNf6tVPNGXcoL9Hoz37kpfriRIFb4A==";
-      };
-    };
-    "postcss-page-break-3.0.4" = {
-      name = "postcss-page-break";
-      packageName = "postcss-page-break";
-      version = "3.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-3.0.4.tgz";
-        sha512 = "1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==";
-      };
-    };
-    "postcss-place-7.0.5" = {
-      name = "postcss-place";
-      packageName = "postcss-place";
-      version = "7.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-place/-/postcss-place-7.0.5.tgz";
-        sha512 = "wR8igaZROA6Z4pv0d+bvVrvGY4GVHihBCBQieXFY3kuSuMyOmEnnfFzHl/tQuqHZkfkIVBEbDvYcFfHmpSet9g==";
-      };
-    };
-    "postcss-preset-env-7.8.0" = {
-      name = "postcss-preset-env";
-      packageName = "postcss-preset-env";
-      version = "7.8.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-7.8.0.tgz";
-        sha512 = "leqiqLOellpLKfbHkD06E04P6d9ZQ24mat6hu4NSqun7WG0UhspHR5Myiv/510qouCjoo4+YJtNOqg5xHaFnCA==";
-      };
-    };
-    "postcss-pseudo-class-any-link-7.1.6" = {
-      name = "postcss-pseudo-class-any-link";
-      packageName = "postcss-pseudo-class-any-link";
-      version = "7.1.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.6.tgz";
-        sha512 = "9sCtZkO6f/5ML9WcTLcIyV1yz9D1rf0tWc+ulKcvV30s0iZKS/ONyETvoWsr6vnrmW+X+KmuK3gV/w5EWnT37w==";
-      };
-    };
-    "postcss-reduce-initial-5.1.0" = {
-      name = "postcss-reduce-initial";
-      packageName = "postcss-reduce-initial";
-      version = "5.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.0.tgz";
-        sha512 = "5OgTUviz0aeH6MtBjHfbr57tml13PuedK/Ecg8szzd4XRMbYxH4572JFG067z+FqBIf6Zp/d+0581glkvvWMFw==";
-      };
-    };
-    "postcss-reduce-transforms-5.1.0" = {
-      name = "postcss-reduce-transforms";
-      packageName = "postcss-reduce-transforms";
-      version = "5.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz";
-        sha512 = "2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==";
-      };
-    };
-    "postcss-replace-overflow-wrap-4.0.0" = {
-      name = "postcss-replace-overflow-wrap";
-      packageName = "postcss-replace-overflow-wrap";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz";
-        sha512 = "KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==";
-      };
-    };
-    "postcss-selector-not-6.0.1" = {
-      name = "postcss-selector-not";
-      packageName = "postcss-selector-not";
-      version = "6.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-6.0.1.tgz";
-        sha512 = "1i9affjAe9xu/y9uqWH+tD4r6/hDaXJruk8xn2x1vzxC2U3J3LKO3zJW4CyxlNhA56pADJ/djpEwpH1RClI2rQ==";
-      };
-    };
-    "postcss-selector-parser-6.0.10" = {
-      name = "postcss-selector-parser";
-      packageName = "postcss-selector-parser";
-      version = "6.0.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz";
-        sha512 = "IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==";
-      };
-    };
-    "postcss-svgo-5.1.0" = {
-      name = "postcss-svgo";
-      packageName = "postcss-svgo";
-      version = "5.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz";
-        sha512 = "D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==";
-      };
-    };
-    "postcss-unique-selectors-5.1.1" = {
-      name = "postcss-unique-selectors";
-      packageName = "postcss-unique-selectors";
-      version = "5.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz";
-        sha512 = "5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==";
-      };
-    };
-    "postcss-value-parser-4.2.0" = {
-      name = "postcss-value-parser";
-      packageName = "postcss-value-parser";
-      version = "4.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz";
-        sha512 = "1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==";
-      };
-    };
-    "prelude-ls-1.1.2" = {
-      name = "prelude-ls";
-      packageName = "prelude-ls";
-      version = "1.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz";
-        sha512 = "ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==";
-      };
-    };
-    "prelude-ls-1.2.1" = {
-      name = "prelude-ls";
-      packageName = "prelude-ls";
-      version = "1.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz";
-        sha512 = "vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==";
-      };
-    };
-    "prettier-2.3.0" = {
-      name = "prettier";
-      packageName = "prettier";
-      version = "2.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/prettier/-/prettier-2.3.0.tgz";
-        sha512 = "kXtO4s0Lz/DW/IJ9QdWhAf7/NmPWQXkFr/r/WkR3vyI+0v8amTDxiaQSLzs8NBlytfLWX/7uQUMIW677yLKl4w==";
-      };
-    };
-    "prettier-2.7.1" = {
-      name = "prettier";
-      packageName = "prettier";
-      version = "2.7.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/prettier/-/prettier-2.7.1.tgz";
-        sha512 = "ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==";
-      };
-    };
-    "prettier-linter-helpers-1.0.0" = {
-      name = "prettier-linter-helpers";
-      packageName = "prettier-linter-helpers";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz";
-        sha512 = "GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==";
-      };
-    };
-    "pretty-bytes-5.6.0" = {
-      name = "pretty-bytes";
-      packageName = "pretty-bytes";
-      version = "5.6.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz";
-        sha512 = "FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==";
-      };
-    };
-    "pretty-error-2.1.2" = {
-      name = "pretty-error";
-      packageName = "pretty-error";
-      version = "2.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.2.tgz";
-        sha512 = "EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw==";
-      };
-    };
-    "pretty-error-4.0.0" = {
-      name = "pretty-error";
-      packageName = "pretty-error";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz";
-        sha512 = "AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==";
-      };
-    };
-    "pretty-format-27.5.1" = {
-      name = "pretty-format";
-      packageName = "pretty-format";
-      version = "27.5.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz";
-        sha512 = "Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==";
-      };
-    };
-    "pretty-format-28.1.3" = {
-      name = "pretty-format";
-      packageName = "pretty-format";
-      version = "28.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz";
-        sha512 = "8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==";
-      };
-    };
-    "pretty-format-29.0.1" = {
-      name = "pretty-format";
-      packageName = "pretty-format";
-      version = "29.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pretty-format/-/pretty-format-29.0.1.tgz";
-        sha512 = "iTHy3QZMzuL484mSTYbQIM1AHhEQsH8mXWS2/vd2yFBYnG3EBqGiMONo28PlPgrW7P/8s/1ISv+y7WH306l8cw==";
-      };
-    };
-    "pretty-hrtime-1.0.3" = {
-      name = "pretty-hrtime";
-      packageName = "pretty-hrtime";
-      version = "1.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz";
-        sha512 = "66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A==";
-      };
-    };
-    "process-0.11.10" = {
-      name = "process";
-      packageName = "process";
-      version = "0.11.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/process/-/process-0.11.10.tgz";
-        sha512 = "cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==";
-      };
-    };
-    "process-nextick-args-2.0.1" = {
-      name = "process-nextick-args";
-      packageName = "process-nextick-args";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz";
-        sha512 = "3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==";
-      };
-    };
-    "promise-8.1.0" = {
-      name = "promise";
-      packageName = "promise";
-      version = "8.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/promise/-/promise-8.1.0.tgz";
-        sha512 = "W04AqnILOL/sPRXziNicCjSNRruLAuIHEOVBazepu0545DDNGYHz7ar9ZgZ1fMU8/MA4mVxp5rkBWRi6OXIy3Q==";
-      };
-    };
-    "promise-inflight-1.0.1" = {
-      name = "promise-inflight";
-      packageName = "promise-inflight";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz";
-        sha512 = "6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==";
-      };
-    };
-    "promise-retry-2.0.1" = {
-      name = "promise-retry";
-      packageName = "promise-retry";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz";
-        sha512 = "y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==";
-      };
-    };
-    "promise.allsettled-1.0.5" = {
-      name = "promise.allsettled";
-      packageName = "promise.allsettled";
-      version = "1.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/promise.allsettled/-/promise.allsettled-1.0.5.tgz";
-        sha512 = "tVDqeZPoBC0SlzJHzWGZ2NKAguVq2oiYj7gbggbiTvH2itHohijTp7njOUA0aQ/nl+0lr/r6egmhoYu63UZ/pQ==";
-      };
-    };
-    "promise.prototype.finally-3.1.3" = {
-      name = "promise.prototype.finally";
-      packageName = "promise.prototype.finally";
-      version = "3.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/promise.prototype.finally/-/promise.prototype.finally-3.1.3.tgz";
-        sha512 = "EXRF3fC9/0gz4qkt/f5EP5iW4kj9oFpBICNpCNOb/52+8nlHIX07FPLbi/q4qYBQ1xZqivMzTpNQSnArVASolQ==";
-      };
-    };
-    "prompts-2.4.2" = {
-      name = "prompts";
-      packageName = "prompts";
-      version = "2.4.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz";
-        sha512 = "NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==";
-      };
-    };
-    "prop-types-15.8.1" = {
-      name = "prop-types";
-      packageName = "prop-types";
-      version = "15.8.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz";
-        sha512 = "oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==";
-      };
-    };
-    "property-information-5.6.0" = {
-      name = "property-information";
-      packageName = "property-information";
-      version = "5.6.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/property-information/-/property-information-5.6.0.tgz";
-        sha512 = "YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA==";
-      };
-    };
-    "proxy-addr-2.0.7" = {
-      name = "proxy-addr";
-      packageName = "proxy-addr";
-      version = "2.0.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz";
-        sha512 = "llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==";
-      };
-    };
-    "prr-1.0.1" = {
-      name = "prr";
-      packageName = "prr";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz";
-        sha512 = "yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==";
-      };
-    };
-    "psl-1.9.0" = {
-      name = "psl";
-      packageName = "psl";
-      version = "1.9.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz";
-        sha512 = "E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==";
-      };
-    };
-    "public-encrypt-4.0.3" = {
-      name = "public-encrypt";
-      packageName = "public-encrypt";
-      version = "4.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz";
-        sha512 = "zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==";
-      };
-    };
-    "pump-2.0.1" = {
-      name = "pump";
-      packageName = "pump";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz";
-        sha512 = "ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==";
-      };
-    };
-    "pump-3.0.0" = {
-      name = "pump";
-      packageName = "pump";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz";
-        sha512 = "LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==";
-      };
-    };
-    "pumpify-1.5.1" = {
-      name = "pumpify";
-      packageName = "pumpify";
-      version = "1.5.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz";
-        sha512 = "oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==";
-      };
-    };
-    "punycode-1.3.2" = {
-      name = "punycode";
-      packageName = "punycode";
-      version = "1.3.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz";
-        sha512 = "RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==";
-      };
-    };
-    "punycode-1.4.1" = {
-      name = "punycode";
-      packageName = "punycode";
-      version = "1.4.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz";
-        sha512 = "jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==";
-      };
-    };
-    "punycode-2.1.1" = {
-      name = "punycode";
-      packageName = "punycode";
-      version = "2.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz";
-        sha512 = "XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==";
-      };
-    };
-    "purgecss-4.1.3" = {
-      name = "purgecss";
-      packageName = "purgecss";
-      version = "4.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/purgecss/-/purgecss-4.1.3.tgz";
-        sha512 = "99cKy4s+VZoXnPxaoM23e5ABcP851nC2y2GROkkjS8eJaJtlciGavd7iYAw2V84WeBqggZ12l8ef44G99HmTaw==";
-      };
-    };
-    "q-1.5.1" = {
-      name = "q";
-      packageName = "q";
-      version = "1.5.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/q/-/q-1.5.1.tgz";
-        sha512 = "kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==";
-      };
-    };
-    "qs-6.10.3" = {
-      name = "qs";
-      packageName = "qs";
-      version = "6.10.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz";
-        sha512 = "wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==";
-      };
-    };
-    "qs-6.11.0" = {
-      name = "qs";
-      packageName = "qs";
-      version = "6.11.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz";
-        sha512 = "MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==";
-      };
-    };
-    "querystring-0.2.0" = {
-      name = "querystring";
-      packageName = "querystring";
-      version = "0.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz";
-        sha512 = "X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==";
-      };
-    };
-    "querystring-0.2.1" = {
-      name = "querystring";
-      packageName = "querystring";
-      version = "0.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/querystring/-/querystring-0.2.1.tgz";
-        sha512 = "wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg==";
-      };
-    };
-    "querystring-es3-0.2.1" = {
-      name = "querystring-es3";
-      packageName = "querystring-es3";
-      version = "0.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz";
-        sha512 = "773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==";
-      };
-    };
-    "querystringify-2.2.0" = {
-      name = "querystringify";
-      packageName = "querystringify";
-      version = "2.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz";
-        sha512 = "FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==";
-      };
-    };
-    "queue-6.0.2" = {
-      name = "queue";
-      packageName = "queue";
-      version = "6.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz";
-        sha512 = "iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==";
-      };
-    };
-    "queue-microtask-1.2.3" = {
-      name = "queue-microtask";
-      packageName = "queue-microtask";
-      version = "1.2.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz";
-        sha512 = "NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==";
-      };
-    };
-    "quick-lru-5.1.1" = {
-      name = "quick-lru";
-      packageName = "quick-lru";
-      version = "5.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz";
-        sha512 = "WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==";
-      };
-    };
-    "raf-3.4.1" = {
-      name = "raf";
-      packageName = "raf";
-      version = "3.4.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz";
-        sha512 = "Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==";
-      };
-    };
-    "railroad-diagrams-1.0.0" = {
-      name = "railroad-diagrams";
-      packageName = "railroad-diagrams";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/railroad-diagrams/-/railroad-diagrams-1.0.0.tgz";
-        sha512 = "cz93DjNeLY0idrCNOH6PviZGRN9GJhsdm9hpn1YCS879fj4W+x5IFJhhkRZcwVgMmFF7R82UA/7Oh+R8lLZg6A==";
-      };
-    };
-    "ramda-0.28.0" = {
-      name = "ramda";
-      packageName = "ramda";
-      version = "0.28.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ramda/-/ramda-0.28.0.tgz";
-        sha512 = "9QnLuG/kPVgWvMQ4aODhsBUFKOUmnbUnsSXACv+NCQZcHbeb+v8Lodp8OVxtRULN1/xOyYLLaL6npE6dMq5QTA==";
-      };
-    };
-    "randexp-0.4.6" = {
-      name = "randexp";
-      packageName = "randexp";
-      version = "0.4.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/randexp/-/randexp-0.4.6.tgz";
-        sha512 = "80WNmd9DA0tmZrw9qQa62GPPWfuXJknrmVmLcxvq4uZBdYqb1wYoKTmnlGUchvVWe0XiLupYkBoXVOxz3C8DYQ==";
-      };
-    };
-    "randombytes-2.1.0" = {
-      name = "randombytes";
-      packageName = "randombytes";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz";
-        sha512 = "vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==";
-      };
-    };
-    "randomfill-1.0.4" = {
-      name = "randomfill";
-      packageName = "randomfill";
-      version = "1.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz";
-        sha512 = "87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==";
-      };
-    };
-    "range-parser-1.2.1" = {
-      name = "range-parser";
-      packageName = "range-parser";
-      version = "1.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz";
-        sha512 = "Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==";
-      };
-    };
-    "raw-body-2.5.1" = {
-      name = "raw-body";
-      packageName = "raw-body";
-      version = "2.5.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz";
-        sha512 = "qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==";
-      };
-    };
-    "raw-loader-4.0.2" = {
-      name = "raw-loader";
-      packageName = "raw-loader";
-      version = "4.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/raw-loader/-/raw-loader-4.0.2.tgz";
-        sha512 = "ZnScIV3ag9A4wPX/ZayxL/jZH+euYb6FcUinPcgiQW0+UBtEv0O6Q3lGd3cqJ+GHH+rksEv3Pj99oxJ3u3VIKA==";
-      };
-    };
-    "react-17.0.2" = {
-      name = "react";
-      packageName = "react";
-      version = "17.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/react/-/react-17.0.2.tgz";
-        sha512 = "gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==";
-      };
-    };
-    "react-app-polyfill-3.0.0" = {
-      name = "react-app-polyfill";
-      packageName = "react-app-polyfill";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/react-app-polyfill/-/react-app-polyfill-3.0.0.tgz";
-        sha512 = "sZ41cxiU5llIB003yxxQBYrARBqe0repqPTTYBTmMqTz9szeBbE37BehCE891NZsmdZqqP+xWKdT3eo3vOzN8w==";
-      };
-    };
-    "react-cool-dimensions-2.0.7" = {
-      name = "react-cool-dimensions";
-      packageName = "react-cool-dimensions";
-      version = "2.0.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/react-cool-dimensions/-/react-cool-dimensions-2.0.7.tgz";
-        sha512 = "z1VwkAAJ5d8QybDRuYIXTE41RxGr5GYsv1bQhbOBE8cMfoZQZpcF0odL64vdgrQVzat2jayedj1GoYi80FWcbA==";
-      };
-    };
-    "react-day-picker-8.2.0" = {
-      name = "react-day-picker";
-      packageName = "react-day-picker";
-      version = "8.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/react-day-picker/-/react-day-picker-8.2.0.tgz";
-        sha512 = "6sI9+qk1xXSvV94WOz0H4FVGFaGquwMLQGw9WXoOZajMY/CVrLsautRFwkdjZ9jWj7WZR2Se1mTMrEpmcB6BEQ==";
-      };
-    };
-    "react-dev-utils-12.0.1" = {
-      name = "react-dev-utils";
-      packageName = "react-dev-utils";
-      version = "12.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-12.0.1.tgz";
-        sha512 = "84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==";
-      };
-    };
-    "react-docgen-5.4.3" = {
-      name = "react-docgen";
-      packageName = "react-docgen";
-      version = "5.4.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/react-docgen/-/react-docgen-5.4.3.tgz";
-        sha512 = "xlLJyOlnfr8lLEEeaDZ+X2J/KJoe6Nr9AzxnkdQWush5hz2ZSu66w6iLMOScMmxoSHWpWMn+k3v5ZiyCfcWsOA==";
-      };
-    };
-    "react-docgen-typescript-2.2.2" = {
-      name = "react-docgen-typescript";
-      packageName = "react-docgen-typescript";
-      version = "2.2.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/react-docgen-typescript/-/react-docgen-typescript-2.2.2.tgz";
-        sha512 = "tvg2ZtOpOi6QDwsb3GZhOjDkkX0h8Z2gipvTg6OVMUyoYoURhEiRNePT8NZItTVCDh39JJHnLdfCOkzoLbFnTg==";
-      };
-    };
-    "react-dom-17.0.2" = {
-      name = "react-dom";
-      packageName = "react-dom";
-      version = "17.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz";
-        sha512 = "s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==";
-      };
-    };
-    "react-element-to-jsx-string-14.3.4" = {
-      name = "react-element-to-jsx-string";
-      packageName = "react-element-to-jsx-string";
-      version = "14.3.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/react-element-to-jsx-string/-/react-element-to-jsx-string-14.3.4.tgz";
-        sha512 = "t4ZwvV6vwNxzujDQ+37bspnLwA4JlgUPWhLjBJWsNIDceAf6ZKUTCjdm08cN6WeZ5pTMKiCJkmAYnpmR4Bm+dg==";
-      };
-    };
-    "react-error-boundary-3.1.4" = {
-      name = "react-error-boundary";
-      packageName = "react-error-boundary";
-      version = "3.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/react-error-boundary/-/react-error-boundary-3.1.4.tgz";
-        sha512 = "uM9uPzZJTF6wRQORmSrvOIgt4lJ9MC1sNgEOj2XGsDTRE4kmpWxg7ENK9EWNKJRMAOY9z0MuF4yIfl6gp4sotA==";
-      };
-    };
-    "react-error-overlay-6.0.11" = {
-      name = "react-error-overlay";
-      packageName = "react-error-overlay";
-      version = "6.0.11";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz";
-        sha512 = "/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==";
-      };
-    };
-    "react-hotkeys-hook-3.4.7" = {
-      name = "react-hotkeys-hook";
-      packageName = "react-hotkeys-hook";
-      version = "3.4.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/react-hotkeys-hook/-/react-hotkeys-hook-3.4.7.tgz";
-        sha512 = "+bbPmhPAl6ns9VkXkNNyxlmCAIyDAcWbB76O4I0ntr3uWCRuIQf/aRLartUahe9chVMPj+OEzzfk3CQSjclUEQ==";
-      };
-    };
-    "react-idle-timer-4.6.4" = {
-      name = "react-idle-timer";
-      packageName = "react-idle-timer";
-      version = "4.6.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/react-idle-timer/-/react-idle-timer-4.6.4.tgz";
-        sha512 = "iq61dPud8fgj7l1KOJEY5pyiD532fW0KcIe/5XUe/0lB/4Vytoy4tZBlLGSiYodPzKxTL6HyKoOmG6tyzjD7OQ==";
-      };
-    };
-    "react-intersection-observer-9.4.0" = {
-      name = "react-intersection-observer";
-      packageName = "react-intersection-observer";
-      version = "9.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/react-intersection-observer/-/react-intersection-observer-9.4.0.tgz";
-        sha512 = "v0403CmomOVlzhqFXlzOxg0ziLcVq8mfbP0AwAcEQWgZmR2OulOT79Ikznw4UlB3N+jlUYqLMe4SDHUOyp0t2A==";
-      };
-    };
-    "react-is-16.13.1" = {
-      name = "react-is";
-      packageName = "react-is";
-      version = "16.13.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz";
-        sha512 = "24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==";
-      };
-    };
-    "react-is-17.0.2" = {
-      name = "react-is";
-      packageName = "react-is";
-      version = "17.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz";
-        sha512 = "w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==";
-      };
-    };
-    "react-is-18.2.0" = {
-      name = "react-is";
-      packageName = "react-is";
-      version = "18.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz";
-        sha512 = "xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==";
-      };
-    };
-    "react-json-pretty-2.2.0" = {
-      name = "react-json-pretty";
-      packageName = "react-json-pretty";
-      version = "2.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/react-json-pretty/-/react-json-pretty-2.2.0.tgz";
-        sha512 = "3UMzlAXkJ4R8S4vmkRKtvJHTewG4/rn1Q18n0zqdu/ipZbUPLVZD+QwC7uVcD/IAY3s8iNVHlgR2dMzIUS0n1A==";
-      };
-    };
-    "react-linkify-0.2.2" = {
-      name = "react-linkify";
-      packageName = "react-linkify";
-      version = "0.2.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/react-linkify/-/react-linkify-0.2.2.tgz";
-        sha512 = "0S8cvUNtEgfJpIGDPKklyrnrTffJ63WuJAc4KaYLBihl5TjgH5cHUmYD+AXLpsV+CVmfoo/56SUNfrZcY4zYMQ==";
-      };
-    };
-    "react-media-hook-0.4.9" = {
-      name = "react-media-hook";
-      packageName = "react-media-hook";
-      version = "0.4.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/react-media-hook/-/react-media-hook-0.4.9.tgz";
-        sha512 = "FZr/2xA1+23vDJ1IZ794yLqMRRkBoCNOiJATdtTfB5GyVc5djf8FL2qEB/68pSkiNgHdHsmKknMSDr0sC4zBKQ==";
-      };
-    };
-    "react-range-1.8.14" = {
-      name = "react-range";
-      packageName = "react-range";
-      version = "1.8.14";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/react-range/-/react-range-1.8.14.tgz";
-        sha512 = "v2nyD5106rHf9dwHzq+WRlhCes83h1wJRHIMFjbZsYYsO6LF4mG/mR3cH7Cf+dkeHq65DItuqIbLn/3jjYjsHg==";
-      };
-    };
-    "react-refresh-0.11.0" = {
-      name = "react-refresh";
-      packageName = "react-refresh";
-      version = "0.11.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/react-refresh/-/react-refresh-0.11.0.tgz";
-        sha512 = "F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A==";
-      };
-    };
-    "react-refresh-0.14.0" = {
-      name = "react-refresh";
-      packageName = "react-refresh";
-      version = "0.14.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz";
-        sha512 = "wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==";
-      };
-    };
-    "react-scripts-5.0.1" = {
-      name = "react-scripts";
-      packageName = "react-scripts";
-      version = "5.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/react-scripts/-/react-scripts-5.0.1.tgz";
-        sha512 = "8VAmEm/ZAwQzJ+GOMLbBsTdDKOpuZh7RPs0UymvBR2vRk4iZWCskjbFnxqjrzoIvlNNRZ3QJFx6/qDSi6zSnaQ==";
-      };
-    };
-    "react-select-5.4.0" = {
-      name = "react-select";
-      packageName = "react-select";
-      version = "5.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/react-select/-/react-select-5.4.0.tgz";
-        sha512 = "CjE9RFLUvChd5SdlfG4vqxZd55AZJRrLrHzkQyTYeHlpOztqcgnyftYAolJ0SGsBev6zAs6qFrjm6KU3eo2hzg==";
-      };
-    };
-    "react-shallow-renderer-16.15.0" = {
-      name = "react-shallow-renderer";
-      packageName = "react-shallow-renderer";
-      version = "16.15.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/react-shallow-renderer/-/react-shallow-renderer-16.15.0.tgz";
-        sha512 = "oScf2FqQ9LFVQgA73vr86xl2NaOIX73rh+YFqcOp68CWj56tSfgtGKrEbyhCj0rSijyG9M1CYprTh39fBi5hzA==";
-      };
-    };
-    "react-test-renderer-17.0.2" = {
-      name = "react-test-renderer";
-      packageName = "react-test-renderer";
-      version = "17.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-17.0.2.tgz";
-        sha512 = "yaQ9cB89c17PUb0x6UfWRs7kQCorVdHlutU1boVPEsB8IDZH6n9tHxMacc3y0JoXOJUsZb/t/Mb8FUWMKaM7iQ==";
-      };
-    };
-    "react-transition-group-4.4.5" = {
-      name = "react-transition-group";
-      packageName = "react-transition-group";
-      version = "4.4.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz";
-        sha512 = "pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==";
-      };
-    };
-    "read-cache-1.0.0" = {
-      name = "read-cache";
-      packageName = "read-cache";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz";
-        sha512 = "Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==";
-      };
-    };
-    "read-pkg-1.1.0" = {
-      name = "read-pkg";
-      packageName = "read-pkg";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz";
-        sha512 = "7BGwRHqt4s/uVbuyoeejRn4YmFnYZiFl4AuaeXHlgZf3sONF0SOGlxs2Pw8g6hCKupo08RafIO5YXFNOKTfwsQ==";
-      };
-    };
-    "read-pkg-5.2.0" = {
-      name = "read-pkg";
-      packageName = "read-pkg";
-      version = "5.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz";
-        sha512 = "Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==";
-      };
-    };
-    "read-pkg-up-1.0.1" = {
-      name = "read-pkg-up";
-      packageName = "read-pkg-up";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz";
-        sha512 = "WD9MTlNtI55IwYUS27iHh9tK3YoIVhxis8yKhLpTqWtml739uXc9NWTpxoHkfZf3+DkCCsXox94/VWZniuZm6A==";
-      };
-    };
-    "read-pkg-up-7.0.1" = {
-      name = "read-pkg-up";
-      packageName = "read-pkg-up";
-      version = "7.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz";
-        sha512 = "zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==";
-      };
-    };
-    "readable-stream-2.3.7" = {
-      name = "readable-stream";
-      packageName = "readable-stream";
-      version = "2.3.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz";
-        sha512 = "Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==";
-      };
-    };
-    "readable-stream-3.6.0" = {
-      name = "readable-stream";
-      packageName = "readable-stream";
-      version = "3.6.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz";
-        sha512 = "BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==";
-      };
-    };
-    "readdirp-2.2.1" = {
-      name = "readdirp";
-      packageName = "readdirp";
-      version = "2.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz";
-        sha512 = "1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==";
-      };
-    };
-    "readdirp-3.6.0" = {
-      name = "readdirp";
-      packageName = "readdirp";
-      version = "3.6.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz";
-        sha512 = "hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==";
-      };
-    };
-    "recursive-readdir-2.2.2" = {
-      name = "recursive-readdir";
-      packageName = "recursive-readdir";
-      version = "2.2.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.2.tgz";
-        sha512 = "nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg==";
-      };
-    };
-    "redent-1.0.0" = {
-      name = "redent";
-      packageName = "redent";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz";
-        sha512 = "qtW5hKzGQZqKoh6JNSD+4lfitfPKGz42e6QwiRmPM5mmKtR0N41AbJRYu0xJi7nhOJ4WDgRkKvAk6tw4WIwR4g==";
-      };
-    };
-    "redent-3.0.0" = {
-      name = "redent";
-      packageName = "redent";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz";
-        sha512 = "6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==";
-      };
-    };
-    "regenerate-1.4.2" = {
-      name = "regenerate";
-      packageName = "regenerate";
-      version = "1.4.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz";
-        sha512 = "zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==";
-      };
-    };
-    "regenerate-unicode-properties-10.0.1" = {
-      name = "regenerate-unicode-properties";
-      packageName = "regenerate-unicode-properties";
-      version = "10.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz";
-        sha512 = "vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw==";
-      };
-    };
-    "regenerator-runtime-0.13.9" = {
-      name = "regenerator-runtime";
-      packageName = "regenerator-runtime";
-      version = "0.13.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz";
-        sha512 = "p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==";
-      };
-    };
-    "regenerator-transform-0.15.0" = {
-      name = "regenerator-transform";
-      packageName = "regenerator-transform";
-      version = "0.15.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz";
-        sha512 = "LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==";
-      };
-    };
-    "regex-not-1.0.2" = {
-      name = "regex-not";
-      packageName = "regex-not";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz";
-        sha512 = "J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==";
-      };
-    };
-    "regex-parser-2.2.11" = {
-      name = "regex-parser";
-      packageName = "regex-parser";
-      version = "2.2.11";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.11.tgz";
-        sha512 = "jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==";
-      };
-    };
-    "regexp.prototype.flags-1.4.3" = {
-      name = "regexp.prototype.flags";
-      packageName = "regexp.prototype.flags";
-      version = "1.4.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz";
-        sha512 = "fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==";
-      };
-    };
-    "regexpp-3.2.0" = {
-      name = "regexpp";
-      packageName = "regexpp";
-      version = "3.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz";
-        sha512 = "pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==";
-      };
-    };
-    "regexpu-core-5.1.0" = {
-      name = "regexpu-core";
-      packageName = "regexpu-core";
-      version = "5.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.1.0.tgz";
-        sha512 = "bb6hk+xWd2PEOkj5It46A16zFMs2mv86Iwpdu94la4S3sJ7C973h2dHpYKwIBGaWSO7cIRJ+UX0IeMaWcO4qwA==";
-      };
-    };
-    "regjsgen-0.6.0" = {
-      name = "regjsgen";
-      packageName = "regjsgen";
-      version = "0.6.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/regjsgen/-/regjsgen-0.6.0.tgz";
-        sha512 = "ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA==";
-      };
-    };
-    "regjsparser-0.8.4" = {
-      name = "regjsparser";
-      packageName = "regjsparser";
-      version = "0.8.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/regjsparser/-/regjsparser-0.8.4.tgz";
-        sha512 = "J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA==";
-      };
-    };
-    "relateurl-0.2.7" = {
-      name = "relateurl";
-      packageName = "relateurl";
-      version = "0.2.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz";
-        sha512 = "G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==";
-      };
-    };
-    "remark-footnotes-2.0.0" = {
-      name = "remark-footnotes";
-      packageName = "remark-footnotes";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/remark-footnotes/-/remark-footnotes-2.0.0.tgz";
-        sha512 = "3Clt8ZMH75Ayjp9q4CorNeyjwIxHFcTkaektplKGl2A1jNGEUey8cKL0ZC5vJwfcD5GFGsNLImLG/NGzWIzoMQ==";
-      };
-    };
-    "remark-mdx-1.6.22" = {
-      name = "remark-mdx";
-      packageName = "remark-mdx";
-      version = "1.6.22";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/remark-mdx/-/remark-mdx-1.6.22.tgz";
-        sha512 = "phMHBJgeV76uyFkH4rvzCftLfKCr2RZuF+/gmVcaKrpsihyzmhXjA0BEMDaPTXG5y8qZOKPVo83NAOX01LPnOQ==";
-      };
-    };
-    "remark-parse-8.0.3" = {
-      name = "remark-parse";
-      packageName = "remark-parse";
-      version = "8.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/remark-parse/-/remark-parse-8.0.3.tgz";
-        sha512 = "E1K9+QLGgggHxCQtLt++uXltxEprmWzNfg+MxpfHsZlrddKzZ/hZyWHDbK3/Ap8HJQqYJRXP+jHczdL6q6i85Q==";
-      };
-    };
-    "remark-squeeze-paragraphs-4.0.0" = {
-      name = "remark-squeeze-paragraphs";
-      packageName = "remark-squeeze-paragraphs";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/remark-squeeze-paragraphs/-/remark-squeeze-paragraphs-4.0.0.tgz";
-        sha512 = "8qRqmL9F4nuLPIgl92XUuxI3pFxize+F1H0e/W3llTk0UsjJaj01+RrirkMw7P21RKe4X6goQhYRSvNWX+70Rw==";
-      };
-    };
-    "remove-trailing-separator-1.1.0" = {
-      name = "remove-trailing-separator";
-      packageName = "remove-trailing-separator";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz";
-        sha512 = "/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==";
-      };
-    };
-    "renderkid-2.0.7" = {
-      name = "renderkid";
-      packageName = "renderkid";
-      version = "2.0.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/renderkid/-/renderkid-2.0.7.tgz";
-        sha512 = "oCcFyxaMrKsKcTY59qnCAtmDVSLfPbrv6A3tVbPdFMMrv5jaK10V6m40cKsoPNhAqN6rmHW9sswW4o3ruSrwUQ==";
-      };
-    };
-    "renderkid-3.0.0" = {
-      name = "renderkid";
-      packageName = "renderkid";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz";
-        sha512 = "q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==";
-      };
-    };
-    "repeat-element-1.1.4" = {
-      name = "repeat-element";
-      packageName = "repeat-element";
-      version = "1.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz";
-        sha512 = "LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==";
-      };
-    };
-    "repeat-string-1.6.1" = {
-      name = "repeat-string";
-      packageName = "repeat-string";
-      version = "1.6.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz";
-        sha512 = "PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==";
-      };
-    };
-    "repeating-2.0.1" = {
-      name = "repeating";
-      packageName = "repeating";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz";
-        sha512 = "ZqtSMuVybkISo2OWvqvm7iHSWngvdaW3IpsT9/uP8v4gMi591LY6h35wdOfvQdWCKFWZWm2Y1Opp4kV7vQKT6A==";
-      };
-    };
-    "require-directory-2.1.1" = {
-      name = "require-directory";
-      packageName = "require-directory";
-      version = "2.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz";
-        sha512 = "fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==";
-      };
-    };
-    "require-from-string-2.0.2" = {
-      name = "require-from-string";
-      packageName = "require-from-string";
-      version = "2.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz";
-        sha512 = "Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==";
-      };
-    };
-    "requires-port-1.0.0" = {
-      name = "requires-port";
-      packageName = "requires-port";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz";
-        sha512 = "KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==";
-      };
-    };
-    "resolve-1.22.1" = {
-      name = "resolve";
-      packageName = "resolve";
-      version = "1.22.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz";
-        sha512 = "nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==";
-      };
-    };
-    "resolve-2.0.0-next.4" = {
-      name = "resolve";
-      packageName = "resolve";
-      version = "2.0.0-next.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz";
-        sha512 = "iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==";
-      };
-    };
-    "resolve-cwd-3.0.0" = {
-      name = "resolve-cwd";
-      packageName = "resolve-cwd";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz";
-        sha512 = "OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==";
-      };
-    };
-    "resolve-from-4.0.0" = {
-      name = "resolve-from";
-      packageName = "resolve-from";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz";
-        sha512 = "pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==";
-      };
-    };
-    "resolve-from-5.0.0" = {
-      name = "resolve-from";
-      packageName = "resolve-from";
-      version = "5.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz";
-        sha512 = "qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==";
-      };
-    };
-    "resolve-url-0.2.1" = {
-      name = "resolve-url";
-      packageName = "resolve-url";
-      version = "0.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz";
-        sha512 = "ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==";
-      };
-    };
-    "resolve-url-loader-4.0.0" = {
-      name = "resolve-url-loader";
-      packageName = "resolve-url-loader";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-4.0.0.tgz";
-        sha512 = "05VEMczVREcbtT7Bz+C+96eUO5HDNvdthIiMB34t7FcF8ehcu4wC0sSgPUubs3XW2Q3CNLJk/BJrCU9wVRymiA==";
-      };
-    };
-    "resolve.exports-1.1.0" = {
-      name = "resolve.exports";
-      packageName = "resolve.exports";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.0.tgz";
-        sha512 = "J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ==";
-      };
-    };
-    "ret-0.1.15" = {
-      name = "ret";
-      packageName = "ret";
-      version = "0.1.15";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz";
-        sha512 = "TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==";
-      };
-    };
-    "retry-0.12.0" = {
-      name = "retry";
-      packageName = "retry";
-      version = "0.12.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz";
-        sha512 = "9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==";
-      };
-    };
-    "retry-0.13.1" = {
-      name = "retry";
-      packageName = "retry";
-      version = "0.13.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz";
-        sha512 = "XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==";
-      };
-    };
-    "reusify-1.0.4" = {
-      name = "reusify";
-      packageName = "reusify";
-      version = "1.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz";
-        sha512 = "U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==";
-      };
-    };
-    "rimraf-2.7.1" = {
-      name = "rimraf";
-      packageName = "rimraf";
-      version = "2.7.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz";
-        sha512 = "uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==";
-      };
-    };
-    "rimraf-3.0.2" = {
-      name = "rimraf";
-      packageName = "rimraf";
-      version = "3.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz";
-        sha512 = "JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==";
-      };
-    };
-    "ripemd160-2.0.2" = {
-      name = "ripemd160";
-      packageName = "ripemd160";
-      version = "2.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz";
-        sha512 = "ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==";
-      };
-    };
-    "rollup-2.78.1" = {
-      name = "rollup";
-      packageName = "rollup";
-      version = "2.78.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/rollup/-/rollup-2.78.1.tgz";
-        sha512 = "VeeCgtGi4P+o9hIg+xz4qQpRl6R401LWEXBmxYKOV4zlF82lyhgh2hTZnheFUbANE8l2A41F458iwj2vEYaXJg==";
-      };
-    };
-    "rollup-plugin-terser-7.0.2" = {
-      name = "rollup-plugin-terser";
-      packageName = "rollup-plugin-terser";
-      version = "7.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz";
-        sha512 = "w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==";
-      };
-    };
-    "rst-selector-parser-2.2.3" = {
-      name = "rst-selector-parser";
-      packageName = "rst-selector-parser";
-      version = "2.2.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/rst-selector-parser/-/rst-selector-parser-2.2.3.tgz";
-        sha512 = "nDG1rZeP6oFTLN6yNDV/uiAvs1+FS/KlrEwh7+y7dpuApDBy6bI2HTBcc0/V8lv9OTqfyD34eF7au2pm8aBbhA==";
-      };
-    };
-    "run-parallel-1.2.0" = {
-      name = "run-parallel";
-      packageName = "run-parallel";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz";
-        sha512 = "5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==";
-      };
-    };
-    "run-queue-1.0.3" = {
-      name = "run-queue";
-      packageName = "run-queue";
-      version = "1.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz";
-        sha512 = "ntymy489o0/QQplUDnpYAYUsO50K9SBrIVaKCWDOJzYJts0f9WH9RFJkyagebkw5+y1oi00R7ynNW/d12GBumg==";
-      };
-    };
-    "safe-buffer-5.1.1" = {
-      name = "safe-buffer";
-      packageName = "safe-buffer";
-      version = "5.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz";
-        sha512 = "kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==";
-      };
-    };
-    "safe-buffer-5.1.2" = {
-      name = "safe-buffer";
-      packageName = "safe-buffer";
-      version = "5.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz";
-        sha512 = "Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==";
-      };
-    };
-    "safe-buffer-5.2.1" = {
-      name = "safe-buffer";
-      packageName = "safe-buffer";
-      version = "5.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz";
-        sha512 = "rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==";
-      };
-    };
-    "safe-regex-1.1.0" = {
-      name = "safe-regex";
-      packageName = "safe-regex";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz";
-        sha512 = "aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==";
-      };
-    };
-    "safer-buffer-2.1.2" = {
-      name = "safer-buffer";
-      packageName = "safer-buffer";
-      version = "2.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz";
-        sha512 = "YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==";
-      };
-    };
-    "sanitize.css-13.0.0" = {
-      name = "sanitize.css";
-      packageName = "sanitize.css";
-      version = "13.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/sanitize.css/-/sanitize.css-13.0.0.tgz";
-        sha512 = "ZRwKbh/eQ6w9vmTjkuG0Ioi3HBwPFce0O+v//ve+aOq1oeCy7jMV2qzzAlpsNuqpqCBjjriM1lbtZbF/Q8jVyA==";
-      };
-    };
-    "sass-1.54.8" = {
-      name = "sass";
-      packageName = "sass";
-      version = "1.54.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/sass/-/sass-1.54.8.tgz";
-        sha512 = "ib4JhLRRgbg6QVy6bsv5uJxnJMTS2soVcCp9Y88Extyy13A8vV0G1fAwujOzmNkFQbR3LvedudAMbtuNRPbQww==";
-      };
-    };
-    "sass-loader-12.6.0" = {
-      name = "sass-loader";
-      packageName = "sass-loader";
-      version = "12.6.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/sass-loader/-/sass-loader-12.6.0.tgz";
-        sha512 = "oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA==";
-      };
-    };
-    "sax-1.2.4" = {
-      name = "sax";
-      packageName = "sax";
-      version = "1.2.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz";
-        sha512 = "NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==";
-      };
-    };
-    "saxes-5.0.1" = {
-      name = "saxes";
-      packageName = "saxes";
-      version = "5.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz";
-        sha512 = "5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==";
-      };
-    };
-    "scheduler-0.20.2" = {
-      name = "scheduler";
-      packageName = "scheduler";
-      version = "0.20.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz";
-        sha512 = "2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==";
-      };
-    };
-    "schema-utils-1.0.0" = {
-      name = "schema-utils";
-      packageName = "schema-utils";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz";
-        sha512 = "i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==";
-      };
-    };
-    "schema-utils-2.7.0" = {
-      name = "schema-utils";
-      packageName = "schema-utils";
-      version = "2.7.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz";
-        sha512 = "0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==";
-      };
-    };
-    "schema-utils-2.7.1" = {
-      name = "schema-utils";
-      packageName = "schema-utils";
-      version = "2.7.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz";
-        sha512 = "SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==";
-      };
-    };
-    "schema-utils-3.1.1" = {
-      name = "schema-utils";
-      packageName = "schema-utils";
-      version = "3.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz";
-        sha512 = "Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==";
-      };
-    };
-    "schema-utils-4.0.0" = {
-      name = "schema-utils";
-      packageName = "schema-utils";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz";
-        sha512 = "1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==";
-      };
-    };
-    "select-hose-2.0.0" = {
-      name = "select-hose";
-      packageName = "select-hose";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz";
-        sha512 = "mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==";
-      };
-    };
-    "selfsigned-2.0.1" = {
-      name = "selfsigned";
-      packageName = "selfsigned";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/selfsigned/-/selfsigned-2.0.1.tgz";
-        sha512 = "LmME957M1zOsUhG+67rAjKfiWFox3SBxE/yymatMZsAx+oMrJ0YQ8AToOnyCm7xbeg2ep37IHLxdu0o2MavQOQ==";
-      };
-    };
-    "semver-5.7.1" = {
-      name = "semver";
-      packageName = "semver";
-      version = "5.7.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz";
-        sha512 = "sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==";
-      };
-    };
-    "semver-6.3.0" = {
-      name = "semver";
-      packageName = "semver";
-      version = "6.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz";
-        sha512 = "b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==";
-      };
-    };
-    "semver-7.0.0" = {
-      name = "semver";
-      packageName = "semver";
-      version = "7.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz";
-        sha512 = "+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==";
-      };
-    };
-    "semver-7.3.7" = {
-      name = "semver";
-      packageName = "semver";
-      version = "7.3.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz";
-        sha512 = "QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==";
-      };
-    };
-    "send-0.18.0" = {
-      name = "send";
-      packageName = "send";
-      version = "0.18.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/send/-/send-0.18.0.tgz";
-        sha512 = "qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==";
-      };
-    };
-    "serialize-javascript-4.0.0" = {
-      name = "serialize-javascript";
-      packageName = "serialize-javascript";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz";
-        sha512 = "GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==";
-      };
-    };
-    "serialize-javascript-5.0.1" = {
-      name = "serialize-javascript";
-      packageName = "serialize-javascript";
-      version = "5.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz";
-        sha512 = "SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==";
-      };
-    };
-    "serialize-javascript-6.0.0" = {
-      name = "serialize-javascript";
-      packageName = "serialize-javascript";
-      version = "6.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz";
-        sha512 = "Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==";
-      };
-    };
-    "serve-favicon-2.5.0" = {
-      name = "serve-favicon";
-      packageName = "serve-favicon";
-      version = "2.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/serve-favicon/-/serve-favicon-2.5.0.tgz";
-        sha512 = "FMW2RvqNr03x+C0WxTyu6sOv21oOjkq5j8tjquWccwa6ScNyGFOGJVpuS1NmTVGBAHS07xnSKotgf2ehQmf9iA==";
-      };
-    };
-    "serve-index-1.9.1" = {
-      name = "serve-index";
-      packageName = "serve-index";
-      version = "1.9.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz";
-        sha512 = "pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==";
-      };
-    };
-    "serve-static-1.15.0" = {
-      name = "serve-static";
-      packageName = "serve-static";
-      version = "1.15.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz";
-        sha512 = "XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==";
-      };
-    };
-    "set-blocking-2.0.0" = {
-      name = "set-blocking";
-      packageName = "set-blocking";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz";
-        sha512 = "KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==";
-      };
-    };
-    "set-value-2.0.1" = {
-      name = "set-value";
-      packageName = "set-value";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz";
-        sha512 = "JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==";
-      };
-    };
-    "setimmediate-1.0.5" = {
-      name = "setimmediate";
-      packageName = "setimmediate";
-      version = "1.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz";
-        sha512 = "MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==";
-      };
-    };
-    "setprototypeof-1.1.0" = {
-      name = "setprototypeof";
-      packageName = "setprototypeof";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz";
-        sha512 = "BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==";
-      };
-    };
-    "setprototypeof-1.2.0" = {
-      name = "setprototypeof";
-      packageName = "setprototypeof";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz";
-        sha512 = "E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==";
-      };
-    };
-    "sha.js-2.4.11" = {
-      name = "sha.js";
-      packageName = "sha.js";
-      version = "2.4.11";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz";
-        sha512 = "QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==";
-      };
-    };
-    "shallow-clone-3.0.1" = {
-      name = "shallow-clone";
-      packageName = "shallow-clone";
-      version = "3.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz";
-        sha512 = "/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==";
-      };
-    };
-    "shebang-command-2.0.0" = {
-      name = "shebang-command";
-      packageName = "shebang-command";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz";
-        sha512 = "kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==";
-      };
-    };
-    "shebang-regex-3.0.0" = {
-      name = "shebang-regex";
-      packageName = "shebang-regex";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz";
-        sha512 = "7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==";
-      };
-    };
-    "shell-quote-1.7.3" = {
-      name = "shell-quote";
-      packageName = "shell-quote";
-      version = "1.7.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.3.tgz";
-        sha512 = "Vpfqwm4EnqGdlsBFNmHhxhElJYrdfcxPThu+ryKS5J8L/fhAwLazFZtq+S+TWZ9ANj2piSQLGj6NQg+lKPmxrw==";
-      };
-    };
-    "side-channel-1.0.4" = {
-      name = "side-channel";
-      packageName = "side-channel";
-      version = "1.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz";
-        sha512 = "q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==";
-      };
-    };
-    "signal-exit-3.0.7" = {
-      name = "signal-exit";
-      packageName = "signal-exit";
-      version = "3.0.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz";
-        sha512 = "wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==";
-      };
-    };
-    "sisteransi-1.0.5" = {
-      name = "sisteransi";
-      packageName = "sisteransi";
-      version = "1.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz";
-        sha512 = "bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==";
-      };
-    };
-    "slash-2.0.0" = {
-      name = "slash";
-      packageName = "slash";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz";
-        sha512 = "ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==";
-      };
-    };
-    "slash-3.0.0" = {
-      name = "slash";
-      packageName = "slash";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz";
-        sha512 = "g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==";
-      };
-    };
-    "slash-4.0.0" = {
-      name = "slash";
-      packageName = "slash";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz";
-        sha512 = "3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==";
-      };
-    };
-    "snapdragon-0.8.2" = {
-      name = "snapdragon";
-      packageName = "snapdragon";
-      version = "0.8.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz";
-        sha512 = "FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==";
-      };
-    };
-    "snapdragon-node-2.1.1" = {
-      name = "snapdragon-node";
-      packageName = "snapdragon-node";
-      version = "2.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz";
-        sha512 = "O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==";
-      };
-    };
-    "snapdragon-util-3.0.1" = {
-      name = "snapdragon-util";
-      packageName = "snapdragon-util";
-      version = "3.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz";
-        sha512 = "mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==";
-      };
-    };
-    "sockjs-0.3.24" = {
-      name = "sockjs";
-      packageName = "sockjs";
-      version = "0.3.24";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz";
-        sha512 = "GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==";
-      };
-    };
-    "source-list-map-2.0.1" = {
-      name = "source-list-map";
-      packageName = "source-list-map";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz";
-        sha512 = "qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==";
-      };
-    };
-    "source-map-0.5.7" = {
-      name = "source-map";
-      packageName = "source-map";
-      version = "0.5.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz";
-        sha512 = "LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==";
-      };
-    };
-    "source-map-0.6.1" = {
-      name = "source-map";
-      packageName = "source-map";
-      version = "0.6.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz";
-        sha512 = "UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==";
-      };
-    };
-    "source-map-0.7.4" = {
-      name = "source-map";
-      packageName = "source-map";
-      version = "0.7.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz";
-        sha512 = "l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==";
-      };
-    };
-    "source-map-0.8.0-beta.0" = {
-      name = "source-map";
-      packageName = "source-map";
-      version = "0.8.0-beta.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz";
-        sha512 = "2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==";
-      };
-    };
-    "source-map-js-1.0.2" = {
-      name = "source-map-js";
-      packageName = "source-map-js";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz";
-        sha512 = "R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==";
-      };
-    };
-    "source-map-loader-3.0.1" = {
-      name = "source-map-loader";
-      packageName = "source-map-loader";
-      version = "3.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/source-map-loader/-/source-map-loader-3.0.1.tgz";
-        sha512 = "Vp1UsfyPvgujKQzi4pyDiTOnE3E4H+yHvkVRN3c/9PJmQS4CQJExvcDvaX/D+RV+xQben9HJ56jMJS3CgUeWyA==";
-      };
-    };
-    "source-map-resolve-0.5.3" = {
-      name = "source-map-resolve";
-      packageName = "source-map-resolve";
-      version = "0.5.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz";
-        sha512 = "Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==";
-      };
-    };
-    "source-map-support-0.5.21" = {
-      name = "source-map-support";
-      packageName = "source-map-support";
-      version = "0.5.21";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz";
-        sha512 = "uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==";
-      };
-    };
-    "source-map-url-0.4.1" = {
-      name = "source-map-url";
-      packageName = "source-map-url";
-      version = "0.4.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz";
-        sha512 = "cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==";
-      };
-    };
-    "sourcemap-codec-1.4.8" = {
-      name = "sourcemap-codec";
-      packageName = "sourcemap-codec";
-      version = "1.4.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz";
-        sha512 = "9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==";
-      };
-    };
-    "space-separated-tokens-1.1.5" = {
-      name = "space-separated-tokens";
-      packageName = "space-separated-tokens";
-      version = "1.1.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz";
-        sha512 = "q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==";
-      };
-    };
-    "spdx-correct-3.1.1" = {
-      name = "spdx-correct";
-      packageName = "spdx-correct";
-      version = "3.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz";
-        sha512 = "cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==";
-      };
-    };
-    "spdx-exceptions-2.3.0" = {
-      name = "spdx-exceptions";
-      packageName = "spdx-exceptions";
-      version = "2.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz";
-        sha512 = "/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==";
-      };
-    };
-    "spdx-expression-parse-3.0.1" = {
-      name = "spdx-expression-parse";
-      packageName = "spdx-expression-parse";
-      version = "3.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz";
-        sha512 = "cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==";
-      };
-    };
-    "spdx-license-ids-3.0.12" = {
-      name = "spdx-license-ids";
-      packageName = "spdx-license-ids";
-      version = "3.0.12";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.12.tgz";
-        sha512 = "rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA==";
-      };
-    };
-    "spdy-4.0.2" = {
-      name = "spdy";
-      packageName = "spdy";
-      version = "4.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz";
-        sha512 = "r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==";
-      };
-    };
-    "spdy-transport-3.0.0" = {
-      name = "spdy-transport";
-      packageName = "spdy-transport";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz";
-        sha512 = "hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==";
-      };
-    };
-    "split-string-3.1.0" = {
-      name = "split-string";
-      packageName = "split-string";
-      version = "3.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz";
-        sha512 = "NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==";
-      };
-    };
-    "sprintf-js-1.0.3" = {
-      name = "sprintf-js";
-      packageName = "sprintf-js";
-      version = "1.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz";
-        sha512 = "D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==";
-      };
-    };
-    "ssri-6.0.2" = {
-      name = "ssri";
-      packageName = "ssri";
-      version = "6.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz";
-        sha512 = "cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==";
-      };
-    };
-    "ssri-8.0.1" = {
-      name = "ssri";
-      packageName = "ssri";
-      version = "8.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz";
-        sha512 = "97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==";
-      };
-    };
-    "stable-0.1.8" = {
-      name = "stable";
-      packageName = "stable";
-      version = "0.1.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz";
-        sha512 = "ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==";
-      };
-    };
-    "stack-utils-2.0.5" = {
-      name = "stack-utils";
-      packageName = "stack-utils";
-      version = "2.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz";
-        sha512 = "xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==";
-      };
-    };
-    "stackframe-1.3.4" = {
-      name = "stackframe";
-      packageName = "stackframe";
-      version = "1.3.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz";
-        sha512 = "oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==";
-      };
-    };
-    "state-toggle-1.0.3" = {
-      name = "state-toggle";
-      packageName = "state-toggle";
-      version = "1.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.3.tgz";
-        sha512 = "d/5Z4/2iiCnHw6Xzghyhb+GcmF89bxwgXG60wjIiZaxnymbyOmI8Hk4VqHXiVVp6u2ysaskFfXg3ekCj4WNftQ==";
-      };
-    };
-    "static-extend-0.1.2" = {
-      name = "static-extend";
-      packageName = "static-extend";
-      version = "0.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz";
-        sha512 = "72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==";
-      };
-    };
-    "statuses-1.5.0" = {
-      name = "statuses";
-      packageName = "statuses";
-      version = "1.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz";
-        sha512 = "OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==";
-      };
-    };
-    "statuses-2.0.1" = {
-      name = "statuses";
-      packageName = "statuses";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz";
-        sha512 = "RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==";
-      };
-    };
-    "store2-2.14.2" = {
-      name = "store2";
-      packageName = "store2";
-      version = "2.14.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/store2/-/store2-2.14.2.tgz";
-        sha512 = "siT1RiqlfQnGqgT/YzXVUNsom9S0H1OX+dpdGN1xkyYATo4I6sep5NmsRD/40s3IIOvlCq6akxkqG82urIZW1w==";
-      };
-    };
-    "stream-browserify-2.0.2" = {
-      name = "stream-browserify";
-      packageName = "stream-browserify";
-      version = "2.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz";
-        sha512 = "nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==";
-      };
-    };
-    "stream-each-1.2.3" = {
-      name = "stream-each";
-      packageName = "stream-each";
-      version = "1.2.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz";
-        sha512 = "vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==";
-      };
-    };
-    "stream-http-2.8.3" = {
-      name = "stream-http";
-      packageName = "stream-http";
-      version = "2.8.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz";
-        sha512 = "+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==";
-      };
-    };
-    "stream-shift-1.0.1" = {
-      name = "stream-shift";
-      packageName = "stream-shift";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz";
-        sha512 = "AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==";
-      };
-    };
-    "string-length-4.0.2" = {
-      name = "string-length";
-      packageName = "string-length";
-      version = "4.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz";
-        sha512 = "+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==";
-      };
-    };
-    "string-length-5.0.1" = {
-      name = "string-length";
-      packageName = "string-length";
-      version = "5.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/string-length/-/string-length-5.0.1.tgz";
-        sha512 = "9Ep08KAMUn0OadnVaBuRdE2l615CQ508kr0XMadjClfYpdCyvrbFp6Taebo8yyxokQ4viUd/xPPUA4FGgUa0ow==";
-      };
-    };
-    "string-natural-compare-3.0.1" = {
-      name = "string-natural-compare";
-      packageName = "string-natural-compare";
-      version = "3.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/string-natural-compare/-/string-natural-compare-3.0.1.tgz";
-        sha512 = "n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==";
-      };
-    };
-    "string-width-4.2.3" = {
-      name = "string-width";
-      packageName = "string-width";
-      version = "4.2.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz";
-        sha512 = "wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==";
-      };
-    };
-    "string.prototype.matchall-4.0.7" = {
-      name = "string.prototype.matchall";
-      packageName = "string.prototype.matchall";
-      version = "4.0.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.7.tgz";
-        sha512 = "f48okCX7JiwVi1NXCVWcFnZgADDC/n2vePlQ/KUCNqCikLLilQvwjMO8+BHVKvgzH0JB0J9LEPgxOGT02RoETg==";
-      };
-    };
-    "string.prototype.padend-3.1.3" = {
-      name = "string.prototype.padend";
-      packageName = "string.prototype.padend";
-      version = "3.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.3.tgz";
-        sha512 = "jNIIeokznm8SD/TZISQsZKYu7RJyheFNt84DUPrh482GC8RVp2MKqm2O5oBRdGxbDQoXrhhWtPIWQOiy20svUg==";
-      };
-    };
-    "string.prototype.padstart-3.1.3" = {
-      name = "string.prototype.padstart";
-      packageName = "string.prototype.padstart";
-      version = "3.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/string.prototype.padstart/-/string.prototype.padstart-3.1.3.tgz";
-        sha512 = "NZydyOMtYxpTjGqp0VN5PYUF/tsU15yDMZnUdj16qRUIUiMJkHHSDElYyQFrMu+/WloTpA7MQSiADhBicDfaoA==";
-      };
-    };
-    "string.prototype.trim-1.2.6" = {
-      name = "string.prototype.trim";
-      packageName = "string.prototype.trim";
-      version = "1.2.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.6.tgz";
-        sha512 = "8lMR2m+U0VJTPp6JjvJTtGyc4FIGq9CdRt7O9p6T0e6K4vjU+OP+SQJpbe/SBmRcCUIvNUnjsbmY6lnMp8MhsQ==";
-      };
-    };
-    "string.prototype.trimend-1.0.5" = {
-      name = "string.prototype.trimend";
-      packageName = "string.prototype.trimend";
-      version = "1.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz";
-        sha512 = "I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==";
-      };
-    };
-    "string.prototype.trimstart-1.0.5" = {
-      name = "string.prototype.trimstart";
-      packageName = "string.prototype.trimstart";
-      version = "1.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz";
-        sha512 = "THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==";
-      };
-    };
-    "string_decoder-1.1.1" = {
-      name = "string_decoder";
-      packageName = "string_decoder";
-      version = "1.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz";
-        sha512 = "n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==";
-      };
-    };
-    "string_decoder-1.3.0" = {
-      name = "string_decoder";
-      packageName = "string_decoder";
-      version = "1.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz";
-        sha512 = "hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==";
-      };
-    };
-    "stringify-object-3.3.0" = {
-      name = "stringify-object";
-      packageName = "stringify-object";
-      version = "3.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz";
-        sha512 = "rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==";
-      };
-    };
-    "strip-ansi-3.0.1" = {
-      name = "strip-ansi";
-      packageName = "strip-ansi";
-      version = "3.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz";
-        sha512 = "VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==";
-      };
-    };
-    "strip-ansi-6.0.1" = {
-      name = "strip-ansi";
-      packageName = "strip-ansi";
-      version = "6.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz";
-        sha512 = "Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==";
-      };
-    };
-    "strip-ansi-7.0.1" = {
-      name = "strip-ansi";
-      packageName = "strip-ansi";
-      version = "7.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz";
-        sha512 = "cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==";
-      };
-    };
-    "strip-bom-2.0.0" = {
-      name = "strip-bom";
-      packageName = "strip-bom";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz";
-        sha512 = "kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g==";
-      };
-    };
-    "strip-bom-3.0.0" = {
-      name = "strip-bom";
-      packageName = "strip-bom";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz";
-        sha512 = "vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==";
-      };
-    };
-    "strip-bom-4.0.0" = {
-      name = "strip-bom";
-      packageName = "strip-bom";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz";
-        sha512 = "3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==";
-      };
-    };
-    "strip-comments-2.0.1" = {
-      name = "strip-comments";
-      packageName = "strip-comments";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/strip-comments/-/strip-comments-2.0.1.tgz";
-        sha512 = "ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==";
-      };
-    };
-    "strip-final-newline-2.0.0" = {
-      name = "strip-final-newline";
-      packageName = "strip-final-newline";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz";
-        sha512 = "BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==";
-      };
-    };
-    "strip-indent-1.0.1" = {
-      name = "strip-indent";
-      packageName = "strip-indent";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz";
-        sha512 = "I5iQq6aFMM62fBEAIB/hXzwJD6EEZ0xEGCX2t7oXqaKPIRgt4WruAQ285BISgdkP+HLGWyeGmNJcpIwFeRYRUA==";
-      };
-    };
-    "strip-indent-3.0.0" = {
-      name = "strip-indent";
-      packageName = "strip-indent";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz";
-        sha512 = "laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==";
-      };
-    };
-    "strip-json-comments-3.1.1" = {
-      name = "strip-json-comments";
-      packageName = "strip-json-comments";
-      version = "3.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz";
-        sha512 = "6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==";
-      };
-    };
-    "style-loader-1.3.0" = {
-      name = "style-loader";
-      packageName = "style-loader";
-      version = "1.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/style-loader/-/style-loader-1.3.0.tgz";
-        sha512 = "V7TCORko8rs9rIqkSrlMfkqA63DfoGBBJmK1kKGCcSi+BWb4cqz0SRsnp4l6rU5iwOEd0/2ePv68SV22VXon4Q==";
-      };
-    };
-    "style-loader-2.0.0" = {
-      name = "style-loader";
-      packageName = "style-loader";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/style-loader/-/style-loader-2.0.0.tgz";
-        sha512 = "Z0gYUJmzZ6ZdRUqpg1r8GsaFKypE+3xAzuFeMuoHgjc9KZv3wMyCRjQIWEbhoFSq7+7yoHXySDJyyWQaPajeiQ==";
-      };
-    };
-    "style-loader-3.3.1" = {
-      name = "style-loader";
-      packageName = "style-loader";
-      version = "3.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/style-loader/-/style-loader-3.3.1.tgz";
-        sha512 = "GPcQ+LDJbrcxHORTRes6Jy2sfvK2kS6hpSfI/fXhPt+spVzxF6LJ1dHLN9zIGmVaaP044YKaIatFaufENRiDoQ==";
-      };
-    };
-    "style-to-object-0.3.0" = {
-      name = "style-to-object";
-      packageName = "style-to-object";
-      version = "0.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/style-to-object/-/style-to-object-0.3.0.tgz";
-        sha512 = "CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA==";
-      };
-    };
-    "stylehacks-5.1.0" = {
-      name = "stylehacks";
-      packageName = "stylehacks";
-      version = "5.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.0.tgz";
-        sha512 = "SzLmvHQTrIWfSgljkQCw2++C9+Ne91d/6Sp92I8c5uHTcy/PgeHamwITIbBW9wnFTY/3ZfSXR9HIL6Ikqmcu6Q==";
-      };
-    };
-    "stylis-4.0.13" = {
-      name = "stylis";
-      packageName = "stylis";
-      version = "4.0.13";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/stylis/-/stylis-4.0.13.tgz";
-        sha512 = "xGPXiFVl4YED9Jh7Euv2V220mriG9u4B2TA6Ybjc1catrstKD2PpIdU3U0RKpkVBC2EhmL/F0sPCr9vrFTNRag==";
-      };
-    };
-    "supports-color-5.5.0" = {
-      name = "supports-color";
-      packageName = "supports-color";
-      version = "5.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz";
-        sha512 = "QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==";
-      };
-    };
-    "supports-color-7.2.0" = {
-      name = "supports-color";
-      packageName = "supports-color";
-      version = "7.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz";
-        sha512 = "qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==";
-      };
-    };
-    "supports-color-8.1.1" = {
-      name = "supports-color";
-      packageName = "supports-color";
-      version = "8.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz";
-        sha512 = "MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==";
-      };
-    };
-    "supports-hyperlinks-2.2.0" = {
-      name = "supports-hyperlinks";
-      packageName = "supports-hyperlinks";
-      version = "2.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz";
-        sha512 = "6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==";
-      };
-    };
-    "supports-preserve-symlinks-flag-1.0.0" = {
-      name = "supports-preserve-symlinks-flag";
-      packageName = "supports-preserve-symlinks-flag";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz";
-        sha512 = "ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==";
-      };
-    };
-    "svg-parser-2.0.4" = {
-      name = "svg-parser";
-      packageName = "svg-parser";
-      version = "2.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz";
-        sha512 = "e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==";
-      };
-    };
-    "svgo-1.3.2" = {
-      name = "svgo";
-      packageName = "svgo";
-      version = "1.3.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz";
-        sha512 = "yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==";
-      };
-    };
-    "svgo-2.8.0" = {
-      name = "svgo";
-      packageName = "svgo";
-      version = "2.8.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz";
-        sha512 = "+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==";
-      };
-    };
-    "symbol-tree-3.2.4" = {
-      name = "symbol-tree";
-      packageName = "symbol-tree";
-      version = "3.2.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz";
-        sha512 = "9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==";
-      };
-    };
-    "symbol.prototype.description-1.0.5" = {
-      name = "symbol.prototype.description";
-      packageName = "symbol.prototype.description";
-      version = "1.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/symbol.prototype.description/-/symbol.prototype.description-1.0.5.tgz";
-        sha512 = "x738iXRYsrAt9WBhRCVG5BtIC3B7CUkFwbHW2zOvGtwM33s7JjrCDyq8V0zgMYVb5ymsL8+qkzzpANH63CPQaQ==";
-      };
-    };
-    "synchronous-promise-2.0.15" = {
-      name = "synchronous-promise";
-      packageName = "synchronous-promise";
-      version = "2.0.15";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/synchronous-promise/-/synchronous-promise-2.0.15.tgz";
-        sha512 = "k8uzYIkIVwmT+TcglpdN50pS2y1BDcUnBPK9iJeGu0Pl1lOI8pD6wtzgw91Pjpe+RxtTncw32tLxs/R0yNL2Mg==";
-      };
-    };
-    "tailwindcss-3.1.8" = {
-      name = "tailwindcss";
-      packageName = "tailwindcss";
-      version = "3.1.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.1.8.tgz";
-        sha512 = "YSneUCZSFDYMwk+TGq8qYFdCA3yfBRdBlS7txSq0LUmzyeqRe3a8fBQzbz9M3WS/iFT4BNf/nmw9mEzrnSaC0g==";
-      };
-    };
-    "tapable-1.1.3" = {
-      name = "tapable";
-      packageName = "tapable";
-      version = "1.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz";
-        sha512 = "4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==";
-      };
-    };
-    "tapable-2.2.1" = {
-      name = "tapable";
-      packageName = "tapable";
-      version = "2.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz";
-        sha512 = "GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==";
-      };
-    };
-    "tar-6.1.11" = {
-      name = "tar";
-      packageName = "tar";
-      version = "6.1.11";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz";
-        sha512 = "an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==";
-      };
-    };
-    "telejson-6.0.8" = {
-      name = "telejson";
-      packageName = "telejson";
-      version = "6.0.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/telejson/-/telejson-6.0.8.tgz";
-        sha512 = "nerNXi+j8NK1QEfBHtZUN/aLdDcyupA//9kAboYLrtzZlPLpUfqbVGWb9zz91f/mIjRbAYhbgtnJHY8I1b5MBg==";
-      };
-    };
-    "temp-dir-2.0.0" = {
-      name = "temp-dir";
-      packageName = "temp-dir";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz";
-        sha512 = "aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==";
-      };
-    };
-    "tempy-0.6.0" = {
-      name = "tempy";
-      packageName = "tempy";
-      version = "0.6.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/tempy/-/tempy-0.6.0.tgz";
-        sha512 = "G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==";
-      };
-    };
-    "terminal-link-2.1.1" = {
-      name = "terminal-link";
-      packageName = "terminal-link";
-      version = "2.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz";
-        sha512 = "un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==";
-      };
-    };
-    "terser-4.8.1" = {
-      name = "terser";
-      packageName = "terser";
-      version = "4.8.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/terser/-/terser-4.8.1.tgz";
-        sha512 = "4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==";
-      };
-    };
-    "terser-5.15.0" = {
-      name = "terser";
-      packageName = "terser";
-      version = "5.15.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/terser/-/terser-5.15.0.tgz";
-        sha512 = "L1BJiXVmheAQQy+as0oF3Pwtlo4s3Wi1X2zNZ2NxOB4wx9bdS9Vk67XQENLFdLYGCK/Z2di53mTj/hBafR+dTA==";
-      };
-    };
-    "terser-webpack-plugin-1.4.5" = {
-      name = "terser-webpack-plugin";
-      packageName = "terser-webpack-plugin";
-      version = "1.4.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz";
-        sha512 = "04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==";
-      };
-    };
-    "terser-webpack-plugin-4.2.3" = {
-      name = "terser-webpack-plugin";
-      packageName = "terser-webpack-plugin";
-      version = "4.2.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-4.2.3.tgz";
-        sha512 = "jTgXh40RnvOrLQNgIkwEKnQ8rmHjHK4u+6UBEi+W+FPmvb+uo+chJXntKe7/3lW5mNysgSWD60KyesnhW8D6MQ==";
-      };
-    };
-    "terser-webpack-plugin-5.3.5" = {
-      name = "terser-webpack-plugin";
-      packageName = "terser-webpack-plugin";
-      version = "5.3.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.5.tgz";
-        sha512 = "AOEDLDxD2zylUGf/wxHxklEkOe2/r+seuyOWujejFrIxHf11brA1/dWQNIgXa1c6/Wkxgu7zvv0JhOWfc2ELEA==";
-      };
-    };
-    "test-exclude-6.0.0" = {
-      name = "test-exclude";
-      packageName = "test-exclude";
-      version = "6.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz";
-        sha512 = "cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==";
-      };
-    };
-    "text-table-0.2.0" = {
-      name = "text-table";
-      packageName = "text-table";
-      version = "0.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz";
-        sha512 = "N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==";
-      };
-    };
-    "throat-6.0.1" = {
-      name = "throat";
-      packageName = "throat";
-      version = "6.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/throat/-/throat-6.0.1.tgz";
-        sha512 = "8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w==";
-      };
-    };
-    "through2-2.0.5" = {
-      name = "through2";
-      packageName = "through2";
-      version = "2.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz";
-        sha512 = "/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==";
-      };
-    };
-    "thunky-1.1.0" = {
-      name = "thunky";
-      packageName = "thunky";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz";
-        sha512 = "eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==";
-      };
-    };
-    "timemachine-0.3.2" = {
-      name = "timemachine";
-      packageName = "timemachine";
-      version = "0.3.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/timemachine/-/timemachine-0.3.2.tgz";
-        sha512 = "JNKeKZXQJc8UC19JcIq0XziBud+fNNJfatZ57lwk+o1O9mpW2FmzWvRw7FTTOKuN6M0zsjGIlNi0O0QrF5WVRA==";
-      };
-    };
-    "timers-browserify-2.0.12" = {
-      name = "timers-browserify";
-      packageName = "timers-browserify";
-      version = "2.0.12";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz";
-        sha512 = "9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==";
-      };
-    };
-    "tlds-1.231.0" = {
-      name = "tlds";
-      packageName = "tlds";
-      version = "1.231.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/tlds/-/tlds-1.231.0.tgz";
-        sha512 = "L7UQwueHSkGxZHQBXHVmXW64oi+uqNtzFt2x6Ssk7NVnpIbw16CRs4eb/jmKOZ9t2JnqZ/b3Cfvo97lnXqKrhw==";
-      };
-    };
-    "tmpl-1.0.5" = {
-      name = "tmpl";
-      packageName = "tmpl";
-      version = "1.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz";
-        sha512 = "3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==";
-      };
-    };
-    "to-arraybuffer-1.0.1" = {
-      name = "to-arraybuffer";
-      packageName = "to-arraybuffer";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz";
-        sha512 = "okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA==";
-      };
-    };
-    "to-fast-properties-2.0.0" = {
-      name = "to-fast-properties";
-      packageName = "to-fast-properties";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz";
-        sha512 = "/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==";
-      };
-    };
-    "to-object-path-0.3.0" = {
-      name = "to-object-path";
-      packageName = "to-object-path";
-      version = "0.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz";
-        sha512 = "9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==";
-      };
-    };
-    "to-regex-3.0.2" = {
-      name = "to-regex";
-      packageName = "to-regex";
-      version = "3.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz";
-        sha512 = "FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==";
-      };
-    };
-    "to-regex-range-2.1.1" = {
-      name = "to-regex-range";
-      packageName = "to-regex-range";
-      version = "2.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz";
-        sha512 = "ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==";
-      };
-    };
-    "to-regex-range-5.0.1" = {
-      name = "to-regex-range";
-      packageName = "to-regex-range";
-      version = "5.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz";
-        sha512 = "65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==";
-      };
-    };
-    "toggle-selection-1.0.6" = {
-      name = "toggle-selection";
-      packageName = "toggle-selection";
-      version = "1.0.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz";
-        sha512 = "BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==";
-      };
-    };
-    "toidentifier-1.0.1" = {
-      name = "toidentifier";
-      packageName = "toidentifier";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz";
-        sha512 = "o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==";
-      };
-    };
-    "tough-cookie-4.1.2" = {
-      name = "tough-cookie";
-      packageName = "tough-cookie";
-      version = "4.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.2.tgz";
-        sha512 = "G9fqXWoYFZgTc2z8Q5zaHy/vJMjm+WV0AkAeHxVCQiEB1b+dGvWzFW6QV07cY5jQ5gRkeid2qIkzkxUnmoQZUQ==";
-      };
-    };
-    "tr46-0.0.3" = {
-      name = "tr46";
-      packageName = "tr46";
-      version = "0.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz";
-        sha512 = "N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==";
-      };
-    };
-    "tr46-1.0.1" = {
-      name = "tr46";
-      packageName = "tr46";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz";
-        sha512 = "dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==";
-      };
-    };
-    "tr46-2.1.0" = {
-      name = "tr46";
-      packageName = "tr46";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz";
-        sha512 = "15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==";
-      };
-    };
-    "traverse-0.6.6" = {
-      name = "traverse";
-      packageName = "traverse";
-      version = "0.6.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/traverse/-/traverse-0.6.6.tgz";
-        sha512 = "kdf4JKs8lbARxWdp7RKdNzoJBhGUcIalSYibuGyHJbmk40pOysQ0+QPvlkCOICOivDWU2IJo2rkrxyTK2AH4fw==";
-      };
-    };
-    "trim-0.0.1" = {
-      name = "trim";
-      packageName = "trim";
-      version = "0.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz";
-        sha512 = "YzQV+TZg4AxpKxaTHK3c3D+kRDCGVEE7LemdlQZoQXn0iennk10RsIoY6ikzAqJTc9Xjl9C1/waHom/J86ziAQ==";
-      };
-    };
-    "trim-newlines-1.0.0" = {
-      name = "trim-newlines";
-      packageName = "trim-newlines";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz";
-        sha512 = "Nm4cF79FhSTzrLKGDMi3I4utBtFv8qKy4sq1enftf2gMdpqI8oVQTAfySkTz5r49giVzDj88SVZXP4CeYQwjaw==";
-      };
-    };
-    "trim-trailing-lines-1.1.4" = {
-      name = "trim-trailing-lines";
-      packageName = "trim-trailing-lines";
-      version = "1.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.4.tgz";
-        sha512 = "rjUWSqnfTNrjbB9NQWfPMH/xRK1deHeGsHoVfpxJ++XeYXE0d6B1En37AHfw3jtfTU7dzMzZL2jjpe8Qb5gLIQ==";
-      };
-    };
-    "trough-1.0.5" = {
-      name = "trough";
-      packageName = "trough";
-      version = "1.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/trough/-/trough-1.0.5.tgz";
-        sha512 = "rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==";
-      };
-    };
-    "tryer-1.0.1" = {
-      name = "tryer";
-      packageName = "tryer";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz";
-        sha512 = "c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==";
-      };
-    };
-    "ts-dedent-2.2.0" = {
-      name = "ts-dedent";
-      packageName = "ts-dedent";
-      version = "2.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ts-dedent/-/ts-dedent-2.2.0.tgz";
-        sha512 = "q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==";
-      };
-    };
-    "ts-pnp-1.2.0" = {
-      name = "ts-pnp";
-      packageName = "ts-pnp";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ts-pnp/-/ts-pnp-1.2.0.tgz";
-        sha512 = "csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw==";
-      };
-    };
-    "tsconfig-paths-3.14.1" = {
-      name = "tsconfig-paths";
-      packageName = "tsconfig-paths";
-      version = "3.14.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz";
-        sha512 = "fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==";
-      };
-    };
-    "tslib-1.14.1" = {
-      name = "tslib";
-      packageName = "tslib";
-      version = "1.14.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz";
-        sha512 = "Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==";
-      };
-    };
-    "tslib-2.4.0" = {
-      name = "tslib";
-      packageName = "tslib";
-      version = "2.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz";
-        sha512 = "d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==";
-      };
-    };
-    "tsutils-3.21.0" = {
-      name = "tsutils";
-      packageName = "tsutils";
-      version = "3.21.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz";
-        sha512 = "mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==";
-      };
-    };
-    "tty-browserify-0.0.0" = {
-      name = "tty-browserify";
-      packageName = "tty-browserify";
-      version = "0.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz";
-        sha512 = "JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw==";
-      };
-    };
-    "type-check-0.3.2" = {
-      name = "type-check";
-      packageName = "type-check";
-      version = "0.3.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz";
-        sha512 = "ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==";
-      };
-    };
-    "type-check-0.4.0" = {
-      name = "type-check";
-      packageName = "type-check";
-      version = "0.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz";
-        sha512 = "XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==";
-      };
-    };
-    "type-detect-4.0.8" = {
-      name = "type-detect";
-      packageName = "type-detect";
-      version = "4.0.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz";
-        sha512 = "0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==";
-      };
-    };
-    "type-fest-0.16.0" = {
-      name = "type-fest";
-      packageName = "type-fest";
-      version = "0.16.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz";
-        sha512 = "eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==";
-      };
-    };
-    "type-fest-0.20.2" = {
-      name = "type-fest";
-      packageName = "type-fest";
-      version = "0.20.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz";
-        sha512 = "Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==";
-      };
-    };
-    "type-fest-0.21.3" = {
-      name = "type-fest";
-      packageName = "type-fest";
-      version = "0.21.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz";
-        sha512 = "t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==";
-      };
-    };
-    "type-fest-0.6.0" = {
-      name = "type-fest";
-      packageName = "type-fest";
-      version = "0.6.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz";
-        sha512 = "q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==";
-      };
-    };
-    "type-fest-0.8.1" = {
-      name = "type-fest";
-      packageName = "type-fest";
-      version = "0.8.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz";
-        sha512 = "4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==";
-      };
-    };
-    "type-is-1.6.18" = {
-      name = "type-is";
-      packageName = "type-is";
-      version = "1.6.18";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz";
-        sha512 = "TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==";
-      };
-    };
-    "typedarray-0.0.6" = {
-      name = "typedarray";
-      packageName = "typedarray";
-      version = "0.0.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz";
-        sha512 = "/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==";
-      };
-    };
-    "typedarray-to-buffer-3.1.5" = {
-      name = "typedarray-to-buffer";
-      packageName = "typedarray-to-buffer";
-      version = "3.1.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz";
-        sha512 = "zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==";
-      };
-    };
-    "typeface-open-sans-1.1.13" = {
-      name = "typeface-open-sans";
-      packageName = "typeface-open-sans";
-      version = "1.1.13";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/typeface-open-sans/-/typeface-open-sans-1.1.13.tgz";
-        sha512 = "lVGVHvYl7UJDFB9vN8r7NHw3sVm7Rjeow6b9AeABc/J+2mDaCkmcdVtw3QZnsJW39P+xm5zeggIj9gLHYGn9Iw==";
-      };
-    };
-    "typescript-4.8.2" = {
-      name = "typescript";
-      packageName = "typescript";
-      version = "4.8.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/typescript/-/typescript-4.8.2.tgz";
-        sha512 = "C0I1UsrrDHo2fYI5oaCGbSejwX4ch+9Y5jTQELvovfmFkK3HHSZJB8MSJcWLmCUBzQBchCrZ9rMRV6GuNrvGtw==";
-      };
-    };
-    "uc.micro-1.0.6" = {
-      name = "uc.micro";
-      packageName = "uc.micro";
-      version = "1.0.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz";
-        sha512 = "8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==";
-      };
-    };
-    "uglify-js-3.17.0" = {
-      name = "uglify-js";
-      packageName = "uglify-js";
-      version = "3.17.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.0.tgz";
-        sha512 = "aTeNPVmgIMPpm1cxXr2Q/nEbvkmV8yq66F3om7X3P/cvOXQ0TMQ64Wk63iyT1gPlmdmGzjGpyLh1f3y8MZWXGg==";
-      };
-    };
-    "unbox-primitive-1.0.2" = {
-      name = "unbox-primitive";
-      packageName = "unbox-primitive";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz";
-        sha512 = "61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==";
-      };
-    };
-    "unfetch-4.2.0" = {
-      name = "unfetch";
-      packageName = "unfetch";
-      version = "4.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/unfetch/-/unfetch-4.2.0.tgz";
-        sha512 = "F9p7yYCn6cIW9El1zi0HI6vqpeIvBsr3dSuRO6Xuppb1u5rXpCPmMvLSyECLhybr9isec8Ohl0hPekMVrEinDA==";
-      };
-    };
-    "unherit-1.1.3" = {
-      name = "unherit";
-      packageName = "unherit";
-      version = "1.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/unherit/-/unherit-1.1.3.tgz";
-        sha512 = "Ft16BJcnapDKp0+J/rqFC3Rrk6Y/Ng4nzsC028k2jdDII/rdZ7Wd3pPT/6+vIIxRagwRc9K0IUX0Ra4fKvw+WQ==";
-      };
-    };
-    "unicode-canonical-property-names-ecmascript-2.0.0" = {
-      name = "unicode-canonical-property-names-ecmascript";
-      packageName = "unicode-canonical-property-names-ecmascript";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz";
-        sha512 = "yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==";
-      };
-    };
-    "unicode-match-property-ecmascript-2.0.0" = {
-      name = "unicode-match-property-ecmascript";
-      packageName = "unicode-match-property-ecmascript";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz";
-        sha512 = "5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==";
-      };
-    };
-    "unicode-match-property-value-ecmascript-2.0.0" = {
-      name = "unicode-match-property-value-ecmascript";
-      packageName = "unicode-match-property-value-ecmascript";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz";
-        sha512 = "7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==";
-      };
-    };
-    "unicode-property-aliases-ecmascript-2.0.0" = {
-      name = "unicode-property-aliases-ecmascript";
-      packageName = "unicode-property-aliases-ecmascript";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz";
-        sha512 = "5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==";
-      };
-    };
-    "unified-9.2.0" = {
-      name = "unified";
-      packageName = "unified";
-      version = "9.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/unified/-/unified-9.2.0.tgz";
-        sha512 = "vx2Z0vY+a3YoTj8+pttM3tiJHCwY5UFbYdiWrwBEbHmK8pvsPj2rtAX2BFfgXen8T39CJWblWRDT4L5WGXtDdg==";
-      };
-    };
-    "union-value-1.0.1" = {
-      name = "union-value";
-      packageName = "union-value";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz";
-        sha512 = "tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==";
-      };
-    };
-    "unique-filename-1.1.1" = {
-      name = "unique-filename";
-      packageName = "unique-filename";
-      version = "1.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz";
-        sha512 = "Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==";
-      };
-    };
-    "unique-slug-2.0.2" = {
-      name = "unique-slug";
-      packageName = "unique-slug";
-      version = "2.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz";
-        sha512 = "zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==";
-      };
-    };
-    "unique-string-2.0.0" = {
-      name = "unique-string";
-      packageName = "unique-string";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz";
-        sha512 = "uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==";
-      };
-    };
-    "unist-builder-2.0.3" = {
-      name = "unist-builder";
-      packageName = "unist-builder";
-      version = "2.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/unist-builder/-/unist-builder-2.0.3.tgz";
-        sha512 = "f98yt5pnlMWlzP539tPc4grGMsFaQQlP/vM396b00jngsiINumNmsY8rkXjfoi1c6QaM8nQ3vaGDuoKWbe/1Uw==";
-      };
-    };
-    "unist-util-generated-1.1.6" = {
-      name = "unist-util-generated";
-      packageName = "unist-util-generated";
-      version = "1.1.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-1.1.6.tgz";
-        sha512 = "cln2Mm1/CZzN5ttGK7vkoGw+RZ8VcUH6BtGbq98DDtRGquAAOXig1mrBQYelOwMXYS8rK+vZDyyojSjp7JX+Lg==";
-      };
-    };
-    "unist-util-is-4.1.0" = {
-      name = "unist-util-is";
-      packageName = "unist-util-is";
-      version = "4.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.1.0.tgz";
-        sha512 = "ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==";
-      };
-    };
-    "unist-util-position-3.1.0" = {
-      name = "unist-util-position";
-      packageName = "unist-util-position";
-      version = "3.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/unist-util-position/-/unist-util-position-3.1.0.tgz";
-        sha512 = "w+PkwCbYSFw8vpgWD0v7zRCl1FpY3fjDSQ3/N/wNd9Ffa4gPi8+4keqt99N3XW6F99t/mUzp2xAhNmfKWp95QA==";
-      };
-    };
-    "unist-util-remove-2.1.0" = {
-      name = "unist-util-remove";
-      packageName = "unist-util-remove";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/unist-util-remove/-/unist-util-remove-2.1.0.tgz";
-        sha512 = "J8NYPyBm4baYLdCbjmf1bhPu45Cr1MWTm77qd9istEkzWpnN6O9tMsEbB2JhNnBCqGENRqEWomQ+He6au0B27Q==";
-      };
-    };
-    "unist-util-remove-position-2.0.1" = {
-      name = "unist-util-remove-position";
-      packageName = "unist-util-remove-position";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-2.0.1.tgz";
-        sha512 = "fDZsLYIe2uT+oGFnuZmy73K6ZxOPG/Qcm+w7jbEjaFcJgbQ6cqjs/eSPzXhsmGpAsWPkqZM9pYjww5QTn3LHMA==";
-      };
-    };
-    "unist-util-stringify-position-2.0.3" = {
-      name = "unist-util-stringify-position";
-      packageName = "unist-util-stringify-position";
-      version = "2.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz";
-        sha512 = "3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==";
-      };
-    };
-    "unist-util-visit-2.0.3" = {
-      name = "unist-util-visit";
-      packageName = "unist-util-visit";
-      version = "2.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.3.tgz";
-        sha512 = "iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==";
-      };
-    };
-    "unist-util-visit-parents-3.1.1" = {
-      name = "unist-util-visit-parents";
-      packageName = "unist-util-visit-parents";
-      version = "3.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz";
-        sha512 = "1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==";
-      };
-    };
-    "universalify-0.2.0" = {
-      name = "universalify";
-      packageName = "universalify";
-      version = "0.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz";
-        sha512 = "CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==";
-      };
-    };
-    "universalify-2.0.0" = {
-      name = "universalify";
-      packageName = "universalify";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz";
-        sha512 = "hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==";
-      };
-    };
-    "unpipe-1.0.0" = {
-      name = "unpipe";
-      packageName = "unpipe";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz";
-        sha512 = "pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==";
-      };
-    };
-    "unquote-1.1.1" = {
-      name = "unquote";
-      packageName = "unquote";
-      version = "1.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz";
-        sha512 = "vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==";
-      };
-    };
-    "unset-value-1.0.0" = {
-      name = "unset-value";
-      packageName = "unset-value";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz";
-        sha512 = "PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==";
-      };
-    };
-    "untildify-2.1.0" = {
-      name = "untildify";
-      packageName = "untildify";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/untildify/-/untildify-2.1.0.tgz";
-        sha512 = "sJjbDp2GodvkB0FZZcn7k6afVisqX5BZD7Yq3xp4nN2O15BBK0cLm3Vwn2vQaF7UDS0UUsrQMkkplmDI5fskig==";
-      };
-    };
-    "upath-1.2.0" = {
-      name = "upath";
-      packageName = "upath";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz";
-        sha512 = "aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==";
-      };
-    };
-    "update-browserslist-db-1.0.5" = {
-      name = "update-browserslist-db";
-      packageName = "update-browserslist-db";
-      version = "1.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.5.tgz";
-        sha512 = "dteFFpCyvuDdr9S/ff1ISkKt/9YZxKjI9WlRR99c180GaztJtRa/fn18FdxGVKVsnPY7/a/FDN68mcvUmP4U7Q==";
-      };
-    };
-    "uri-js-4.4.1" = {
-      name = "uri-js";
-      packageName = "uri-js";
-      version = "4.4.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz";
-        sha512 = "7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==";
-      };
-    };
-    "urix-0.1.0" = {
-      name = "urix";
-      packageName = "urix";
-      version = "0.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz";
-        sha512 = "Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==";
-      };
-    };
-    "url-0.11.0" = {
-      name = "url";
-      packageName = "url";
-      version = "0.11.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/url/-/url-0.11.0.tgz";
-        sha512 = "kbailJa29QrtXnxgq+DdCEGlbTeYM2eJUxsz6vjZavrCYPMIFHMKQmSKYAIuUK2i7hgPm28a8piX5NTUtM/LKQ==";
-      };
-    };
-    "url-loader-4.1.1" = {
-      name = "url-loader";
-      packageName = "url-loader";
-      version = "4.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/url-loader/-/url-loader-4.1.1.tgz";
-        sha512 = "3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==";
-      };
-    };
-    "url-parse-1.5.10" = {
-      name = "url-parse";
-      packageName = "url-parse";
-      version = "1.5.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz";
-        sha512 = "WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==";
-      };
-    };
-    "use-3.1.1" = {
-      name = "use";
-      packageName = "use";
-      version = "3.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/use/-/use-3.1.1.tgz";
-        sha512 = "cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==";
-      };
-    };
-    "util-0.10.3" = {
-      name = "util";
-      packageName = "util";
-      version = "0.10.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/util/-/util-0.10.3.tgz";
-        sha512 = "5KiHfsmkqacuKjkRkdV7SsfDJ2EGiPsK92s2MhNSY0craxjTdKTtqKsJaCWp4LW33ZZ0OPUv1WO/TFvNQRiQxQ==";
-      };
-    };
-    "util-0.11.1" = {
-      name = "util";
-      packageName = "util";
-      version = "0.11.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/util/-/util-0.11.1.tgz";
-        sha512 = "HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==";
-      };
-    };
-    "util-deprecate-1.0.2" = {
-      name = "util-deprecate";
-      packageName = "util-deprecate";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz";
-        sha512 = "EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==";
-      };
-    };
-    "util.promisify-1.0.0" = {
-      name = "util.promisify";
-      packageName = "util.promisify";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz";
-        sha512 = "i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==";
-      };
-    };
-    "util.promisify-1.0.1" = {
-      name = "util.promisify";
-      packageName = "util.promisify";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz";
-        sha512 = "g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==";
-      };
-    };
-    "utila-0.4.0" = {
-      name = "utila";
-      packageName = "utila";
-      version = "0.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz";
-        sha512 = "Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==";
-      };
-    };
-    "utils-merge-1.0.1" = {
-      name = "utils-merge";
-      packageName = "utils-merge";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz";
-        sha512 = "pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==";
-      };
-    };
-    "uuid-3.4.0" = {
-      name = "uuid";
-      packageName = "uuid";
-      version = "3.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz";
-        sha512 = "HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==";
-      };
-    };
-    "uuid-8.3.2" = {
-      name = "uuid";
-      packageName = "uuid";
-      version = "8.3.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz";
-        sha512 = "+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==";
-      };
-    };
-    "v8-to-istanbul-8.1.1" = {
-      name = "v8-to-istanbul";
-      packageName = "v8-to-istanbul";
-      version = "8.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz";
-        sha512 = "FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==";
-      };
-    };
-    "v8-to-istanbul-9.0.1" = {
-      name = "v8-to-istanbul";
-      packageName = "v8-to-istanbul";
-      version = "9.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.0.1.tgz";
-        sha512 = "74Y4LqY74kLE6IFyIjPtkSTWzUZmj8tdHT9Ii/26dvQ6K9Dl2NbEfj0XgU2sHCtKgt5VupqhlO/5aWuqS+IY1w==";
-      };
-    };
-    "validate-npm-package-license-3.0.4" = {
-      name = "validate-npm-package-license";
-      packageName = "validate-npm-package-license";
-      version = "3.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz";
-        sha512 = "DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==";
-      };
-    };
-    "vary-1.1.2" = {
-      name = "vary";
-      packageName = "vary";
-      version = "1.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz";
-        sha512 = "BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==";
-      };
-    };
-    "vfile-4.2.1" = {
-      name = "vfile";
-      packageName = "vfile";
-      version = "4.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/vfile/-/vfile-4.2.1.tgz";
-        sha512 = "O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==";
-      };
-    };
-    "vfile-location-3.2.0" = {
-      name = "vfile-location";
-      packageName = "vfile-location";
-      version = "3.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/vfile-location/-/vfile-location-3.2.0.tgz";
-        sha512 = "aLEIZKv/oxuCDZ8lkJGhuhztf/BW4M+iHdCwglA/eWc+vtuRFJj8EtgceYFX4LRjOhCAAiNHsKGssC6onJ+jbA==";
-      };
-    };
-    "vfile-message-2.0.4" = {
-      name = "vfile-message";
-      packageName = "vfile-message";
-      version = "2.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.4.tgz";
-        sha512 = "DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==";
-      };
-    };
-    "vm-browserify-1.1.2" = {
-      name = "vm-browserify";
-      packageName = "vm-browserify";
-      version = "1.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz";
-        sha512 = "2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==";
-      };
-    };
-    "w3c-hr-time-1.0.2" = {
-      name = "w3c-hr-time";
-      packageName = "w3c-hr-time";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz";
-        sha512 = "z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==";
-      };
-    };
-    "w3c-xmlserializer-2.0.0" = {
-      name = "w3c-xmlserializer";
-      packageName = "w3c-xmlserializer";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz";
-        sha512 = "4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==";
-      };
-    };
-    "walker-1.0.8" = {
-      name = "walker";
-      packageName = "walker";
-      version = "1.0.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz";
-        sha512 = "ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==";
-      };
-    };
-    "watchpack-1.7.5" = {
-      name = "watchpack";
-      packageName = "watchpack";
-      version = "1.7.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz";
-        sha512 = "9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==";
-      };
-    };
-    "watchpack-2.4.0" = {
-      name = "watchpack";
-      packageName = "watchpack";
-      version = "2.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz";
-        sha512 = "Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==";
-      };
-    };
-    "watchpack-chokidar2-2.0.1" = {
-      name = "watchpack-chokidar2";
-      packageName = "watchpack-chokidar2";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz";
-        sha512 = "nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==";
-      };
-    };
-    "wbuf-1.7.3" = {
-      name = "wbuf";
-      packageName = "wbuf";
-      version = "1.7.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz";
-        sha512 = "O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==";
-      };
-    };
-    "web-namespaces-1.1.4" = {
-      name = "web-namespaces";
-      packageName = "web-namespaces";
-      version = "1.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/web-namespaces/-/web-namespaces-1.1.4.tgz";
-        sha512 = "wYxSGajtmoP4WxfejAPIr4l0fVh+jeMXZb08wNc0tMg6xsfZXj3cECqIK0G7ZAqUq0PP8WlMDtaOGVBTAWztNw==";
-      };
-    };
-    "webidl-conversions-3.0.1" = {
-      name = "webidl-conversions";
-      packageName = "webidl-conversions";
-      version = "3.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz";
-        sha512 = "2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==";
-      };
-    };
-    "webidl-conversions-4.0.2" = {
-      name = "webidl-conversions";
-      packageName = "webidl-conversions";
-      version = "4.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz";
-        sha512 = "YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==";
-      };
-    };
-    "webidl-conversions-5.0.0" = {
-      name = "webidl-conversions";
-      packageName = "webidl-conversions";
-      version = "5.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz";
-        sha512 = "VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==";
-      };
-    };
-    "webidl-conversions-6.1.0" = {
-      name = "webidl-conversions";
-      packageName = "webidl-conversions";
-      version = "6.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz";
-        sha512 = "qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==";
-      };
-    };
-    "webpack-4.46.0" = {
-      name = "webpack";
-      packageName = "webpack";
-      version = "4.46.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz";
-        sha512 = "6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==";
-      };
-    };
-    "webpack-5.74.0" = {
-      name = "webpack";
-      packageName = "webpack";
-      version = "5.74.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/webpack/-/webpack-5.74.0.tgz";
-        sha512 = "A2InDwnhhGN4LYctJj6M1JEaGL7Luj6LOmyBHjcI8529cm5p6VXiTIW2sn6ffvEAKmveLzvu4jrihwXtPojlAA==";
-      };
-    };
-    "webpack-dev-middleware-3.7.3" = {
-      name = "webpack-dev-middleware";
-      packageName = "webpack-dev-middleware";
-      version = "3.7.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz";
-        sha512 = "djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ==";
-      };
-    };
-    "webpack-dev-middleware-4.3.0" = {
-      name = "webpack-dev-middleware";
-      packageName = "webpack-dev-middleware";
-      version = "4.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-4.3.0.tgz";
-        sha512 = "PjwyVY95/bhBh6VUqt6z4THplYcsvQ8YNNBTBM873xLVmw8FLeALn0qurHbs9EmcfhzQis/eoqypSnZeuUz26w==";
-      };
-    };
-    "webpack-dev-middleware-5.3.3" = {
-      name = "webpack-dev-middleware";
-      packageName = "webpack-dev-middleware";
-      version = "5.3.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz";
-        sha512 = "hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==";
-      };
-    };
-    "webpack-dev-server-4.10.0" = {
-      name = "webpack-dev-server";
-      packageName = "webpack-dev-server";
-      version = "4.10.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.10.0.tgz";
-        sha512 = "7dezwAs+k6yXVFZ+MaL8VnE+APobiO3zvpp3rBHe/HmWQ+avwh0Q3d0xxacOiBybZZ3syTZw9HXzpa3YNbAZDQ==";
-      };
-    };
-    "webpack-filter-warnings-plugin-1.2.1" = {
-      name = "webpack-filter-warnings-plugin";
-      packageName = "webpack-filter-warnings-plugin";
-      version = "1.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/webpack-filter-warnings-plugin/-/webpack-filter-warnings-plugin-1.2.1.tgz";
-        sha512 = "Ez6ytc9IseDMLPo0qCuNNYzgtUl8NovOqjIq4uAU8LTD4uoa1w1KpZyyzFtLTEMZpkkOkLfL9eN+KGYdk1Qtwg==";
-      };
-    };
-    "webpack-hot-middleware-2.25.2" = {
-      name = "webpack-hot-middleware";
-      packageName = "webpack-hot-middleware";
-      version = "2.25.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/webpack-hot-middleware/-/webpack-hot-middleware-2.25.2.tgz";
-        sha512 = "CVgm3NAQyfdIonRvXisRwPTUYuSbyZ6BY7782tMeUzWOO7RmVI2NaBYuCp41qyD4gYCkJyTneAJdK69A13B0+A==";
-      };
-    };
-    "webpack-log-2.0.0" = {
-      name = "webpack-log";
-      packageName = "webpack-log";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz";
-        sha512 = "cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==";
-      };
-    };
-    "webpack-manifest-plugin-4.1.1" = {
-      name = "webpack-manifest-plugin";
-      packageName = "webpack-manifest-plugin";
-      version = "4.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/webpack-manifest-plugin/-/webpack-manifest-plugin-4.1.1.tgz";
-        sha512 = "YXUAwxtfKIJIKkhg03MKuiFAD72PlrqCiwdwO4VEXdRO5V0ORCNwaOwAZawPZalCbmH9kBDmXnNeQOw+BIEiow==";
-      };
-    };
-    "webpack-sources-1.4.3" = {
-      name = "webpack-sources";
-      packageName = "webpack-sources";
-      version = "1.4.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz";
-        sha512 = "lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==";
-      };
-    };
-    "webpack-sources-2.3.1" = {
-      name = "webpack-sources";
-      packageName = "webpack-sources";
-      version = "2.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.3.1.tgz";
-        sha512 = "y9EI9AO42JjEcrTJFOYmVywVZdKVUfOvDUPsJea5GIr1JOEGFVqwlY2K098fFoIjOkDzHn2AjRvM8dsBZu+gCA==";
-      };
-    };
-    "webpack-sources-3.2.3" = {
-      name = "webpack-sources";
-      packageName = "webpack-sources";
-      version = "3.2.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz";
-        sha512 = "/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==";
-      };
-    };
-    "webpack-virtual-modules-0.2.2" = {
-      name = "webpack-virtual-modules";
-      packageName = "webpack-virtual-modules";
-      version = "0.2.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.2.2.tgz";
-        sha512 = "kDUmfm3BZrei0y+1NTHJInejzxfhtU8eDj2M7OKb2IWrPFAeO1SOH2KuQ68MSZu9IGEHcxbkKKR1v18FrUSOmA==";
-      };
-    };
-    "webpack-virtual-modules-0.4.4" = {
-      name = "webpack-virtual-modules";
-      packageName = "webpack-virtual-modules";
-      version = "0.4.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.4.4.tgz";
-        sha512 = "h9atBP/bsZohWpHnr+2sic8Iecb60GxftXsWNLLLSqewgIsGzByd2gcIID4nXcG+3tNe4GQG3dLcff3kXupdRA==";
-      };
-    };
-    "websocket-driver-0.7.4" = {
-      name = "websocket-driver";
-      packageName = "websocket-driver";
-      version = "0.7.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz";
-        sha512 = "b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==";
-      };
-    };
-    "websocket-extensions-0.1.4" = {
-      name = "websocket-extensions";
-      packageName = "websocket-extensions";
-      version = "0.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz";
-        sha512 = "OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==";
-      };
-    };
-    "whatwg-encoding-1.0.5" = {
-      name = "whatwg-encoding";
-      packageName = "whatwg-encoding";
-      version = "1.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz";
-        sha512 = "b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==";
-      };
-    };
-    "whatwg-fetch-3.6.2" = {
-      name = "whatwg-fetch";
-      packageName = "whatwg-fetch";
-      version = "3.6.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz";
-        sha512 = "bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA==";
-      };
-    };
-    "whatwg-mimetype-2.3.0" = {
-      name = "whatwg-mimetype";
-      packageName = "whatwg-mimetype";
-      version = "2.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz";
-        sha512 = "M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==";
-      };
-    };
-    "whatwg-url-5.0.0" = {
-      name = "whatwg-url";
-      packageName = "whatwg-url";
-      version = "5.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz";
-        sha512 = "saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==";
-      };
-    };
-    "whatwg-url-6.5.0" = {
-      name = "whatwg-url";
-      packageName = "whatwg-url";
-      version = "6.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/whatwg-url/-/whatwg-url-6.5.0.tgz";
-        sha512 = "rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ==";
-      };
-    };
-    "whatwg-url-7.1.0" = {
-      name = "whatwg-url";
-      packageName = "whatwg-url";
-      version = "7.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz";
-        sha512 = "WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==";
-      };
-    };
-    "whatwg-url-8.7.0" = {
-      name = "whatwg-url";
-      packageName = "whatwg-url";
-      version = "8.7.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz";
-        sha512 = "gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==";
-      };
-    };
-    "which-1.3.1" = {
-      name = "which";
-      packageName = "which";
-      version = "1.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/which/-/which-1.3.1.tgz";
-        sha512 = "HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==";
-      };
-    };
-    "which-2.0.2" = {
-      name = "which";
-      packageName = "which";
-      version = "2.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/which/-/which-2.0.2.tgz";
-        sha512 = "BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==";
-      };
-    };
-    "which-boxed-primitive-1.0.2" = {
-      name = "which-boxed-primitive";
-      packageName = "which-boxed-primitive";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz";
-        sha512 = "bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==";
-      };
-    };
-    "wide-align-1.1.5" = {
-      name = "wide-align";
-      packageName = "wide-align";
-      version = "1.1.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz";
-        sha512 = "eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==";
-      };
-    };
-    "widest-line-3.1.0" = {
-      name = "widest-line";
-      packageName = "widest-line";
-      version = "3.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz";
-        sha512 = "NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==";
-      };
-    };
-    "word-wrap-1.2.3" = {
-      name = "word-wrap";
-      packageName = "word-wrap";
-      version = "1.2.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz";
-        sha512 = "Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==";
-      };
-    };
-    "wordwrap-1.0.0" = {
-      name = "wordwrap";
-      packageName = "wordwrap";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz";
-        sha512 = "gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==";
-      };
-    };
-    "workbox-background-sync-6.5.4" = {
-      name = "workbox-background-sync";
-      packageName = "workbox-background-sync";
-      version = "6.5.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-6.5.4.tgz";
-        sha512 = "0r4INQZMyPky/lj4Ou98qxcThrETucOde+7mRGJl13MPJugQNKeZQOdIJe/1AchOP23cTqHcN/YVpD6r8E6I8g==";
-      };
-    };
-    "workbox-broadcast-update-6.5.4" = {
-      name = "workbox-broadcast-update";
-      packageName = "workbox-broadcast-update";
-      version = "6.5.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-6.5.4.tgz";
-        sha512 = "I/lBERoH1u3zyBosnpPEtcAVe5lwykx9Yg1k6f8/BGEPGaMMgZrwVrqL1uA9QZ1NGGFoyE6t9i7lBjOlDhFEEw==";
-      };
-    };
-    "workbox-build-6.5.4" = {
-      name = "workbox-build";
-      packageName = "workbox-build";
-      version = "6.5.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/workbox-build/-/workbox-build-6.5.4.tgz";
-        sha512 = "kgRevLXEYvUW9WS4XoziYqZ8Q9j/2ziJYEtTrjdz5/L/cTUa2XfyMP2i7c3p34lgqJ03+mTiz13SdFef2POwbA==";
-      };
-    };
-    "workbox-cacheable-response-6.5.4" = {
-      name = "workbox-cacheable-response";
-      packageName = "workbox-cacheable-response";
-      version = "6.5.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-6.5.4.tgz";
-        sha512 = "DCR9uD0Fqj8oB2TSWQEm1hbFs/85hXXoayVwFKLVuIuxwJaihBsLsp4y7J9bvZbqtPJ1KlCkmYVGQKrBU4KAug==";
-      };
-    };
-    "workbox-core-6.5.4" = {
-      name = "workbox-core";
-      packageName = "workbox-core";
-      version = "6.5.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/workbox-core/-/workbox-core-6.5.4.tgz";
-        sha512 = "OXYb+m9wZm8GrORlV2vBbE5EC1FKu71GGp0H4rjmxmF4/HLbMCoTFws87M3dFwgpmg0v00K++PImpNQ6J5NQ6Q==";
-      };
-    };
-    "workbox-expiration-6.5.4" = {
-      name = "workbox-expiration";
-      packageName = "workbox-expiration";
-      version = "6.5.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-6.5.4.tgz";
-        sha512 = "jUP5qPOpH1nXtjGGh1fRBa1wJL2QlIb5mGpct3NzepjGG2uFFBn4iiEBiI9GUmfAFR2ApuRhDydjcRmYXddiEQ==";
-      };
-    };
-    "workbox-google-analytics-6.5.4" = {
-      name = "workbox-google-analytics";
-      packageName = "workbox-google-analytics";
-      version = "6.5.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-6.5.4.tgz";
-        sha512 = "8AU1WuaXsD49249Wq0B2zn4a/vvFfHkpcFfqAFHNHwln3jK9QUYmzdkKXGIZl9wyKNP+RRX30vcgcyWMcZ9VAg==";
-      };
-    };
-    "workbox-navigation-preload-6.5.4" = {
-      name = "workbox-navigation-preload";
-      packageName = "workbox-navigation-preload";
-      version = "6.5.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-6.5.4.tgz";
-        sha512 = "IIwf80eO3cr8h6XSQJF+Hxj26rg2RPFVUmJLUlM0+A2GzB4HFbQyKkrgD5y2d84g2IbJzP4B4j5dPBRzamHrng==";
-      };
-    };
-    "workbox-precaching-6.5.4" = {
-      name = "workbox-precaching";
-      packageName = "workbox-precaching";
-      version = "6.5.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-6.5.4.tgz";
-        sha512 = "hSMezMsW6btKnxHB4bFy2Qfwey/8SYdGWvVIKFaUm8vJ4E53JAY+U2JwLTRD8wbLWoP6OVUdFlXsTdKu9yoLTg==";
-      };
-    };
-    "workbox-range-requests-6.5.4" = {
-      name = "workbox-range-requests";
-      packageName = "workbox-range-requests";
-      version = "6.5.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-6.5.4.tgz";
-        sha512 = "Je2qR1NXCFC8xVJ/Lux6saH6IrQGhMpDrPXWZWWS8n/RD+WZfKa6dSZwU+/QksfEadJEr/NfY+aP/CXFFK5JFg==";
-      };
-    };
-    "workbox-recipes-6.5.4" = {
-      name = "workbox-recipes";
-      packageName = "workbox-recipes";
-      version = "6.5.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/workbox-recipes/-/workbox-recipes-6.5.4.tgz";
-        sha512 = "QZNO8Ez708NNwzLNEXTG4QYSKQ1ochzEtRLGaq+mr2PyoEIC1xFW7MrWxrONUxBFOByksds9Z4//lKAX8tHyUA==";
-      };
-    };
-    "workbox-routing-6.5.4" = {
-      name = "workbox-routing";
-      packageName = "workbox-routing";
-      version = "6.5.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/workbox-routing/-/workbox-routing-6.5.4.tgz";
-        sha512 = "apQswLsbrrOsBUWtr9Lf80F+P1sHnQdYodRo32SjiByYi36IDyL2r7BH1lJtFX8fwNHDa1QOVY74WKLLS6o5Pg==";
-      };
-    };
-    "workbox-strategies-6.5.4" = {
-      name = "workbox-strategies";
-      packageName = "workbox-strategies";
-      version = "6.5.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-6.5.4.tgz";
-        sha512 = "DEtsxhx0LIYWkJBTQolRxG4EI0setTJkqR4m7r4YpBdxtWJH1Mbg01Cj8ZjNOO8etqfA3IZaOPHUxCs8cBsKLw==";
-      };
-    };
-    "workbox-streams-6.5.4" = {
-      name = "workbox-streams";
-      packageName = "workbox-streams";
-      version = "6.5.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/workbox-streams/-/workbox-streams-6.5.4.tgz";
-        sha512 = "FXKVh87d2RFXkliAIheBojBELIPnWbQdyDvsH3t74Cwhg0fDheL1T8BqSM86hZvC0ZESLsznSYWw+Va+KVbUzg==";
-      };
-    };
-    "workbox-sw-6.5.4" = {
-      name = "workbox-sw";
-      packageName = "workbox-sw";
-      version = "6.5.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/workbox-sw/-/workbox-sw-6.5.4.tgz";
-        sha512 = "vo2RQo7DILVRoH5LjGqw3nphavEjK4Qk+FenXeUsknKn14eCNedHOXWbmnvP4ipKhlE35pvJ4yl4YYf6YsJArA==";
-      };
-    };
-    "workbox-webpack-plugin-6.5.4" = {
-      name = "workbox-webpack-plugin";
-      packageName = "workbox-webpack-plugin";
-      version = "6.5.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/workbox-webpack-plugin/-/workbox-webpack-plugin-6.5.4.tgz";
-        sha512 = "LmWm/zoaahe0EGmMTrSLUi+BjyR3cdGEfU3fS6PN1zKFYbqAKuQ+Oy/27e4VSXsyIwAw8+QDfk1XHNGtZu9nQg==";
-      };
-    };
-    "workbox-window-6.5.4" = {
-      name = "workbox-window";
-      packageName = "workbox-window";
-      version = "6.5.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/workbox-window/-/workbox-window-6.5.4.tgz";
-        sha512 = "HnLZJDwYBE+hpG25AQBO8RUWBJRaCsI9ksQJEp3aCOFCaG5kqaToAYXFRAHxzRluM2cQbGzdQF5rjKPWPA1fug==";
-      };
-    };
-    "worker-farm-1.7.0" = {
-      name = "worker-farm";
-      packageName = "worker-farm";
-      version = "1.7.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz";
-        sha512 = "rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==";
-      };
-    };
-    "worker-rpc-0.1.1" = {
-      name = "worker-rpc";
-      packageName = "worker-rpc";
-      version = "0.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/worker-rpc/-/worker-rpc-0.1.1.tgz";
-        sha512 = "P1WjMrUB3qgJNI9jfmpZ/htmBEjFh//6l/5y8SD9hg1Ef5zTTVVoRjTrTEzPrNBQvmhMxkoTsjOXN10GWU7aCg==";
-      };
-    };
-    "wrap-ansi-7.0.0" = {
-      name = "wrap-ansi";
-      packageName = "wrap-ansi";
-      version = "7.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz";
-        sha512 = "YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==";
-      };
-    };
-    "wrappy-1.0.2" = {
-      name = "wrappy";
-      packageName = "wrappy";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz";
-        sha512 = "l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==";
-      };
-    };
-    "write-file-atomic-3.0.3" = {
-      name = "write-file-atomic";
-      packageName = "write-file-atomic";
-      version = "3.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz";
-        sha512 = "AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==";
-      };
-    };
-    "ws-7.5.9" = {
-      name = "ws";
-      packageName = "ws";
-      version = "7.5.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz";
-        sha512 = "F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==";
-      };
-    };
-    "ws-8.8.1" = {
-      name = "ws";
-      packageName = "ws";
-      version = "8.8.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ws/-/ws-8.8.1.tgz";
-        sha512 = "bGy2JzvzkPowEJV++hF07hAD6niYSr0JzBNo/J29WsB57A2r7Wlc1UFcTR9IzrPvuNVO4B8LGqF8qcpsVOhJCA==";
-      };
-    };
-    "x-default-browser-0.4.0" = {
-      name = "x-default-browser";
-      packageName = "x-default-browser";
-      version = "0.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/x-default-browser/-/x-default-browser-0.4.0.tgz";
-        sha512 = "7LKo7RtWfoFN/rHx1UELv/2zHGMx8MkZKDq1xENmOCTkfIqZJ0zZ26NEJX8czhnPXVcqS0ARjjfJB+eJ0/5Cvw==";
-      };
-    };
-    "xml-name-validator-3.0.0" = {
-      name = "xml-name-validator";
-      packageName = "xml-name-validator";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz";
-        sha512 = "A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==";
-      };
-    };
-    "xmlchars-2.2.0" = {
-      name = "xmlchars";
-      packageName = "xmlchars";
-      version = "2.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz";
-        sha512 = "JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==";
-      };
-    };
-    "xtend-4.0.2" = {
-      name = "xtend";
-      packageName = "xtend";
-      version = "4.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz";
-        sha512 = "LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==";
-      };
-    };
-    "y18n-4.0.3" = {
-      name = "y18n";
-      packageName = "y18n";
-      version = "4.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz";
-        sha512 = "JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==";
-      };
-    };
-    "y18n-5.0.8" = {
-      name = "y18n";
-      packageName = "y18n";
-      version = "5.0.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz";
-        sha512 = "0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==";
-      };
-    };
-    "yallist-3.1.1" = {
-      name = "yallist";
-      packageName = "yallist";
-      version = "3.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz";
-        sha512 = "a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==";
-      };
-    };
-    "yallist-4.0.0" = {
-      name = "yallist";
-      packageName = "yallist";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz";
-        sha512 = "3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==";
-      };
-    };
-    "yaml-1.10.2" = {
-      name = "yaml";
-      packageName = "yaml";
-      version = "1.10.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz";
-        sha512 = "r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==";
-      };
-    };
-    "yaml-2.1.1" = {
-      name = "yaml";
-      packageName = "yaml";
-      version = "2.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/yaml/-/yaml-2.1.1.tgz";
-        sha512 = "o96x3OPo8GjWeSLF+wOAbrPfhFOGY0W00GNaxCDv+9hkcDJEnev1yh8S7pgHF0ik6zc8sQLuL8hjHjJULZp8bw==";
-      };
-    };
-    "yargs-16.2.0" = {
-      name = "yargs";
-      packageName = "yargs";
-      version = "16.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz";
-        sha512 = "D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==";
-      };
-    };
-    "yargs-parser-20.2.9" = {
-      name = "yargs-parser";
-      packageName = "yargs-parser";
-      version = "20.2.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz";
-        sha512 = "y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==";
-      };
-    };
-    "yauzl-2.10.0" = {
-      name = "yauzl";
-      packageName = "yauzl";
-      version = "2.10.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz";
-        sha512 = "p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==";
-      };
-    };
-    "yocto-queue-0.1.0" = {
-      name = "yocto-queue";
-      packageName = "yocto-queue";
-      version = "0.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz";
-        sha512 = "rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==";
-      };
-    };
-    "zwitch-1.0.5" = {
-      name = "zwitch";
-      packageName = "zwitch";
-      version = "1.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/zwitch/-/zwitch-1.0.5.tgz";
-        sha512 = "V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==";
-      };
-    };
-  };
-  args = {
-    name = "karma-ui";
-    packageName = "karma-ui";
-    version = "0.0.1";
-    src = ./.;
-    dependencies = [
-      sources."@adobe/css-tools-4.0.1"
-      sources."@ampproject/remapping-2.2.0"
-      sources."@apideck/better-ajv-errors-0.3.6"
-      sources."@babel/code-frame-7.18.6"
-      sources."@babel/compat-data-7.18.13"
-      sources."@babel/core-7.18.13"
-      (sources."@babel/eslint-parser-7.18.9" // {
-        dependencies = [
-          sources."eslint-scope-5.1.1"
-          sources."eslint-visitor-keys-2.1.0"
-          sources."estraverse-4.3.0"
-        ];
-      })
-      (sources."@babel/generator-7.18.13" // {
-        dependencies = [
-          sources."@jridgewell/gen-mapping-0.3.2"
-        ];
-      })
-      sources."@babel/helper-annotate-as-pure-7.18.6"
-      sources."@babel/helper-builder-binary-assignment-operator-visitor-7.18.9"
-      sources."@babel/helper-compilation-targets-7.18.9"
-      sources."@babel/helper-create-class-features-plugin-7.18.13"
-      sources."@babel/helper-create-regexp-features-plugin-7.18.6"
-      sources."@babel/helper-define-polyfill-provider-0.3.2"
-      sources."@babel/helper-environment-visitor-7.18.9"
-      sources."@babel/helper-explode-assignable-expression-7.18.6"
-      sources."@babel/helper-function-name-7.18.9"
-      sources."@babel/helper-hoist-variables-7.18.6"
-      sources."@babel/helper-member-expression-to-functions-7.18.9"
-      sources."@babel/helper-module-imports-7.18.6"
-      sources."@babel/helper-module-transforms-7.18.9"
-      sources."@babel/helper-optimise-call-expression-7.18.6"
-      sources."@babel/helper-plugin-utils-7.18.9"
-      sources."@babel/helper-remap-async-to-generator-7.18.9"
-      sources."@babel/helper-replace-supers-7.18.9"
-      sources."@babel/helper-simple-access-7.18.6"
-      sources."@babel/helper-skip-transparent-expression-wrappers-7.18.9"
-      sources."@babel/helper-split-export-declaration-7.18.6"
-      sources."@babel/helper-string-parser-7.18.10"
-      sources."@babel/helper-validator-identifier-7.18.6"
-      sources."@babel/helper-validator-option-7.18.6"
-      sources."@babel/helper-wrap-function-7.18.11"
-      sources."@babel/helpers-7.18.9"
-      sources."@babel/highlight-7.18.6"
-      sources."@babel/parser-7.18.13"
-      sources."@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6"
-      sources."@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9"
-      sources."@babel/plugin-proposal-async-generator-functions-7.18.10"
-      sources."@babel/plugin-proposal-class-properties-7.18.6"
-      sources."@babel/plugin-proposal-class-static-block-7.18.6"
-      sources."@babel/plugin-proposal-decorators-7.18.10"
-      sources."@babel/plugin-proposal-dynamic-import-7.18.6"
-      sources."@babel/plugin-proposal-export-default-from-7.18.10"
-      sources."@babel/plugin-proposal-export-namespace-from-7.18.9"
-      sources."@babel/plugin-proposal-json-strings-7.18.6"
-      sources."@babel/plugin-proposal-logical-assignment-operators-7.18.9"
-      sources."@babel/plugin-proposal-nullish-coalescing-operator-7.18.6"
-      sources."@babel/plugin-proposal-numeric-separator-7.18.6"
-      sources."@babel/plugin-proposal-object-rest-spread-7.18.9"
-      sources."@babel/plugin-proposal-optional-catch-binding-7.18.6"
-      sources."@babel/plugin-proposal-optional-chaining-7.18.9"
-      sources."@babel/plugin-proposal-private-methods-7.18.6"
-      sources."@babel/plugin-proposal-private-property-in-object-7.18.6"
-      sources."@babel/plugin-proposal-unicode-property-regex-7.18.6"
-      sources."@babel/plugin-syntax-async-generators-7.8.4"
-      sources."@babel/plugin-syntax-bigint-7.8.3"
-      sources."@babel/plugin-syntax-class-properties-7.12.13"
-      sources."@babel/plugin-syntax-class-static-block-7.14.5"
-      sources."@babel/plugin-syntax-decorators-7.18.6"
-      sources."@babel/plugin-syntax-dynamic-import-7.8.3"
-      sources."@babel/plugin-syntax-export-default-from-7.18.6"
-      sources."@babel/plugin-syntax-export-namespace-from-7.8.3"
-      sources."@babel/plugin-syntax-flow-7.18.6"
-      sources."@babel/plugin-syntax-import-assertions-7.18.6"
-      sources."@babel/plugin-syntax-import-meta-7.10.4"
-      sources."@babel/plugin-syntax-json-strings-7.8.3"
-      sources."@babel/plugin-syntax-jsx-7.18.6"
-      sources."@babel/plugin-syntax-logical-assignment-operators-7.10.4"
-      sources."@babel/plugin-syntax-nullish-coalescing-operator-7.8.3"
-      sources."@babel/plugin-syntax-numeric-separator-7.10.4"
-      sources."@babel/plugin-syntax-object-rest-spread-7.8.3"
-      sources."@babel/plugin-syntax-optional-catch-binding-7.8.3"
-      sources."@babel/plugin-syntax-optional-chaining-7.8.3"
-      sources."@babel/plugin-syntax-private-property-in-object-7.14.5"
-      sources."@babel/plugin-syntax-top-level-await-7.14.5"
-      sources."@babel/plugin-syntax-typescript-7.18.6"
-      sources."@babel/plugin-transform-arrow-functions-7.18.6"
-      sources."@babel/plugin-transform-async-to-generator-7.18.6"
-      sources."@babel/plugin-transform-block-scoped-functions-7.18.6"
-      sources."@babel/plugin-transform-block-scoping-7.18.9"
-      sources."@babel/plugin-transform-classes-7.18.9"
-      sources."@babel/plugin-transform-computed-properties-7.18.9"
-      sources."@babel/plugin-transform-destructuring-7.18.13"
-      sources."@babel/plugin-transform-dotall-regex-7.18.6"
-      sources."@babel/plugin-transform-duplicate-keys-7.18.9"
-      sources."@babel/plugin-transform-exponentiation-operator-7.18.6"
-      sources."@babel/plugin-transform-flow-strip-types-7.18.9"
-      sources."@babel/plugin-transform-for-of-7.18.8"
-      sources."@babel/plugin-transform-function-name-7.18.9"
-      sources."@babel/plugin-transform-literals-7.18.9"
-      sources."@babel/plugin-transform-member-expression-literals-7.18.6"
-      sources."@babel/plugin-transform-modules-amd-7.18.6"
-      sources."@babel/plugin-transform-modules-commonjs-7.18.6"
-      sources."@babel/plugin-transform-modules-systemjs-7.18.9"
-      sources."@babel/plugin-transform-modules-umd-7.18.6"
-      sources."@babel/plugin-transform-named-capturing-groups-regex-7.18.6"
-      sources."@babel/plugin-transform-new-target-7.18.6"
-      sources."@babel/plugin-transform-object-super-7.18.6"
-      sources."@babel/plugin-transform-parameters-7.18.8"
-      sources."@babel/plugin-transform-property-literals-7.18.6"
-      sources."@babel/plugin-transform-react-constant-elements-7.18.12"
-      sources."@babel/plugin-transform-react-display-name-7.18.6"
-      sources."@babel/plugin-transform-react-jsx-7.18.10"
-      sources."@babel/plugin-transform-react-jsx-development-7.18.6"
-      sources."@babel/plugin-transform-react-pure-annotations-7.18.6"
-      sources."@babel/plugin-transform-regenerator-7.18.6"
-      sources."@babel/plugin-transform-reserved-words-7.18.6"
-      (sources."@babel/plugin-transform-runtime-7.18.10" // {
-        dependencies = [
-          sources."babel-plugin-polyfill-corejs3-0.5.3"
-        ];
-      })
-      sources."@babel/plugin-transform-shorthand-properties-7.18.6"
-      sources."@babel/plugin-transform-spread-7.18.9"
-      sources."@babel/plugin-transform-sticky-regex-7.18.6"
-      sources."@babel/plugin-transform-template-literals-7.18.9"
-      sources."@babel/plugin-transform-typeof-symbol-7.18.9"
-      sources."@babel/plugin-transform-typescript-7.18.12"
-      sources."@babel/plugin-transform-unicode-escapes-7.18.10"
-      sources."@babel/plugin-transform-unicode-regex-7.18.6"
-      (sources."@babel/preset-env-7.18.10" // {
-        dependencies = [
-          sources."babel-plugin-polyfill-corejs3-0.5.3"
-        ];
-      })
-      sources."@babel/preset-flow-7.18.6"
-      sources."@babel/preset-modules-0.1.5"
-      sources."@babel/preset-react-7.18.6"
-      sources."@babel/preset-typescript-7.18.6"
-      sources."@babel/register-7.18.9"
-      sources."@babel/runtime-7.18.9"
-      sources."@babel/runtime-corejs3-7.18.9"
-      sources."@babel/template-7.18.10"
-      sources."@babel/traverse-7.18.13"
-      sources."@babel/types-7.18.13"
-      sources."@base2/pretty-print-object-1.0.1"
-      sources."@bcoe/v8-coverage-0.2.3"
-      sources."@colors/colors-1.5.0"
-      sources."@csstools/normalize.css-12.0.0"
-      sources."@discoveryjs/json-ext-0.5.7"
-      (sources."@emotion/babel-plugin-11.10.2" // {
-        dependencies = [
-          sources."escape-string-regexp-4.0.0"
-          sources."source-map-0.5.7"
-        ];
-      })
-      sources."@emotion/cache-11.10.3"
-      sources."@emotion/hash-0.9.0"
-      sources."@emotion/memoize-0.8.0"
-      sources."@emotion/react-11.10.0"
-      sources."@emotion/serialize-1.1.0"
-      sources."@emotion/sheet-1.2.0"
-      sources."@emotion/unitless-0.8.0"
-      sources."@emotion/utils-1.2.0"
-      sources."@emotion/weak-memoize-0.3.0"
-      (sources."@eslint/eslintrc-1.3.1" // {
-        dependencies = [
-          sources."ajv-6.12.6"
-          sources."globals-13.17.0"
-          sources."json-schema-traverse-0.4.1"
-        ];
-      })
-      sources."@floating-ui/core-1.0.1"
-      sources."@floating-ui/dom-1.0.1"
-      sources."@floating-ui/react-dom-1.0.0"
-      sources."@fortawesome/fontawesome-common-types-6.2.0"
-      sources."@fortawesome/fontawesome-svg-core-6.2.0"
-      sources."@fortawesome/free-regular-svg-icons-6.2.0"
-      sources."@fortawesome/free-solid-svg-icons-6.2.0"
-      sources."@fortawesome/react-fontawesome-0.2.0"
-      sources."@gar/promisify-1.1.3"
-      sources."@humanwhocodes/config-array-0.10.4"
-      sources."@humanwhocodes/gitignore-to-minimatch-1.0.2"
-      sources."@humanwhocodes/module-importer-1.0.1"
-      sources."@humanwhocodes/object-schema-1.2.1"
-      (sources."@istanbuljs/load-nyc-config-1.1.0" // {
-        dependencies = [
-          sources."argparse-1.0.10"
-          sources."camelcase-5.3.1"
-          sources."find-up-4.1.0"
-          sources."js-yaml-3.14.1"
-          sources."locate-path-5.0.0"
-          sources."p-limit-2.3.0"
-          sources."p-locate-4.1.0"
-        ];
-      })
-      sources."@istanbuljs/schema-0.1.3"
-      (sources."@jest/console-27.5.1" // {
-        dependencies = [
-          sources."@jest/types-27.5.1"
-          sources."@types/yargs-16.0.4"
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.2"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."has-flag-4.0.0"
-          sources."jest-message-util-27.5.1"
-          sources."jest-util-27.5.1"
-          sources."supports-color-7.2.0"
-        ];
-      })
-      (sources."@jest/core-27.5.1" // {
-        dependencies = [
-          sources."@jest/types-27.5.1"
-          sources."@types/yargs-16.0.4"
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.2"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."has-flag-4.0.0"
-          sources."jest-message-util-27.5.1"
-          sources."jest-util-27.5.1"
-          sources."supports-color-7.2.0"
-        ];
-      })
-      (sources."@jest/environment-27.5.1" // {
-        dependencies = [
-          sources."@jest/types-27.5.1"
-          sources."@types/yargs-16.0.4"
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.2"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."has-flag-4.0.0"
-          sources."supports-color-7.2.0"
-        ];
-      })
-      sources."@jest/expect-utils-29.0.1"
-      (sources."@jest/fake-timers-27.5.1" // {
-        dependencies = [
-          sources."@jest/types-27.5.1"
-          sources."@types/yargs-16.0.4"
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.2"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."has-flag-4.0.0"
-          sources."jest-message-util-27.5.1"
-          sources."jest-util-27.5.1"
-          sources."supports-color-7.2.0"
-        ];
-      })
-      (sources."@jest/globals-27.5.1" // {
-        dependencies = [
-          sources."@jest/types-27.5.1"
-          sources."@types/yargs-16.0.4"
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.2"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."diff-sequences-27.5.1"
-          sources."expect-27.5.1"
-          sources."has-flag-4.0.0"
-          sources."jest-diff-27.5.1"
-          sources."jest-get-type-27.5.1"
-          sources."jest-matcher-utils-27.5.1"
-          sources."jest-message-util-27.5.1"
-          sources."supports-color-7.2.0"
-        ];
-      })
-      (sources."@jest/reporters-27.5.1" // {
-        dependencies = [
-          sources."@jest/types-27.5.1"
-          sources."@types/yargs-16.0.4"
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.2"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."has-flag-4.0.0"
-          sources."jest-util-27.5.1"
-          sources."source-map-0.6.1"
-          sources."supports-color-7.2.0"
-          (sources."v8-to-istanbul-8.1.1" // {
-            dependencies = [
-              sources."source-map-0.7.4"
-            ];
-          })
-        ];
-      })
-      sources."@jest/schemas-28.1.3"
-      (sources."@jest/source-map-27.5.1" // {
-        dependencies = [
-          sources."source-map-0.6.1"
-        ];
-      })
-      (sources."@jest/test-result-27.5.1" // {
-        dependencies = [
-          sources."@jest/types-27.5.1"
-          sources."@types/yargs-16.0.4"
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.2"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."has-flag-4.0.0"
-          sources."supports-color-7.2.0"
-        ];
-      })
-      sources."@jest/test-sequencer-27.5.1"
-      (sources."@jest/transform-27.5.1" // {
-        dependencies = [
-          sources."@jest/types-27.5.1"
-          sources."@types/yargs-16.0.4"
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.2"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."has-flag-4.0.0"
-          sources."jest-util-27.5.1"
-          sources."source-map-0.6.1"
-          sources."supports-color-7.2.0"
-        ];
-      })
-      (sources."@jest/types-28.1.3" // {
-        dependencies = [
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.2"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."has-flag-4.0.0"
-          sources."supports-color-7.2.0"
-        ];
-      })
-      sources."@jridgewell/gen-mapping-0.1.1"
-      sources."@jridgewell/resolve-uri-3.1.0"
-      sources."@jridgewell/set-array-1.1.2"
-      (sources."@jridgewell/source-map-0.3.2" // {
-        dependencies = [
-          sources."@jridgewell/gen-mapping-0.3.2"
-        ];
-      })
-      sources."@jridgewell/sourcemap-codec-1.4.14"
-      sources."@jridgewell/trace-mapping-0.3.15"
-      sources."@juggle/resize-observer-3.4.0"
-      sources."@leichtgewicht/ip-codec-2.0.4"
-      (sources."@mdx-js/mdx-1.6.22" // {
-        dependencies = [
-          sources."@babel/core-7.12.9"
-          sources."@babel/plugin-syntax-jsx-7.12.1"
-          sources."semver-5.7.1"
-          sources."source-map-0.5.7"
-        ];
-      })
-      sources."@mdx-js/util-1.6.22"
-      (sources."@mrmlnc/readdir-enhanced-2.2.1" // {
-        dependencies = [
-          sources."glob-to-regexp-0.3.0"
-        ];
-      })
-      sources."@nodelib/fs.scandir-2.1.5"
-      sources."@nodelib/fs.stat-2.0.5"
-      sources."@nodelib/fs.walk-1.2.8"
-      (sources."@npmcli/fs-1.1.1" // {
-        dependencies = [
-          sources."semver-7.3.7"
-        ];
-      })
-      (sources."@npmcli/move-file-1.1.2" // {
-        dependencies = [
-          sources."mkdirp-1.0.4"
-        ];
-      })
-      sources."@percy/cli-1.10.1"
-      sources."@percy/cli-app-1.10.1"
-      sources."@percy/cli-build-1.10.1"
-      sources."@percy/cli-command-1.10.1"
-      sources."@percy/cli-config-1.10.1"
-      sources."@percy/cli-exec-1.10.1"
-      sources."@percy/cli-snapshot-1.10.1"
-      sources."@percy/cli-upload-1.10.1"
-      sources."@percy/client-1.10.1"
-      sources."@percy/config-1.10.1"
-      sources."@percy/core-1.10.1"
-      sources."@percy/dom-1.10.1"
-      sources."@percy/env-1.10.1"
-      sources."@percy/logger-1.10.1"
-      sources."@percy/storybook-4.3.3"
-      sources."@pmmmwh/react-refresh-webpack-plugin-0.5.7"
-      sources."@popperjs/core-2.11.6"
-      sources."@rollup/plugin-babel-5.3.1"
-      sources."@rollup/plugin-node-resolve-11.2.1"
-      sources."@rollup/plugin-replace-2.4.2"
-      (sources."@rollup/pluginutils-3.1.0" // {
-        dependencies = [
-          sources."@types/estree-0.0.39"
-        ];
-      })
-      sources."@rushstack/eslint-patch-1.1.4"
-      sources."@sinclair/typebox-0.24.28"
-      sources."@sinonjs/commons-1.8.3"
-      sources."@sinonjs/fake-timers-8.1.0"
-      sources."@storybook/addons-6.5.10"
-      sources."@storybook/api-6.5.10"
-      (sources."@storybook/builder-webpack4-6.5.10" // {
-        dependencies = [
-          sources."@types/html-minifier-terser-5.1.2"
-          sources."@webassemblyjs/ast-1.9.0"
-          sources."@webassemblyjs/helper-api-error-1.9.0"
-          sources."@webassemblyjs/helper-buffer-1.9.0"
-          sources."@webassemblyjs/helper-wasm-bytecode-1.9.0"
-          sources."@webassemblyjs/helper-wasm-section-1.9.0"
-          sources."@webassemblyjs/ieee754-1.9.0"
-          sources."@webassemblyjs/leb128-1.9.0"
-          sources."@webassemblyjs/utf8-1.9.0"
-          sources."@webassemblyjs/wasm-edit-1.9.0"
-          sources."@webassemblyjs/wasm-gen-1.9.0"
-          sources."@webassemblyjs/wasm-opt-1.9.0"
-          sources."@webassemblyjs/wasm-parser-1.9.0"
-          sources."@webassemblyjs/wast-printer-1.9.0"
-          sources."acorn-6.4.2"
-          sources."ajv-6.12.6"
-          sources."ajv-keywords-3.5.2"
-          sources."ansi-regex-2.1.1"
-          (sources."braces-2.3.2" // {
-            dependencies = [
-              sources."extend-shallow-2.0.1"
-            ];
-          })
-          sources."camelcase-5.3.1"
-          sources."chownr-1.1.4"
-          sources."clean-css-4.2.4"
-          sources."commander-4.1.1"
-          (sources."css-loader-3.6.0" // {
-            dependencies = [
-              sources."loader-utils-1.4.0"
-              sources."schema-utils-2.7.1"
-            ];
-          })
-          sources."css-select-4.3.0"
-          sources."debug-3.2.7"
-          sources."dom-serializer-1.4.1"
-          sources."domhandler-4.3.1"
-          sources."domutils-2.8.0"
-          (sources."enhanced-resolve-4.5.0" // {
-            dependencies = [
-              sources."memory-fs-0.5.0"
-            ];
-          })
-          sources."eslint-scope-4.0.3"
-          sources."estraverse-4.3.0"
-          (sources."fill-range-4.0.0" // {
-            dependencies = [
-              sources."extend-shallow-2.0.1"
-            ];
-          })
-          sources."find-cache-dir-3.3.2"
-          (sources."fork-ts-checker-webpack-plugin-4.1.6" // {
-            dependencies = [
-              sources."semver-5.7.1"
-            ];
-          })
-          sources."has-flag-4.0.0"
-          (sources."html-minifier-terser-5.1.1" // {
-            dependencies = [
-              (sources."terser-4.8.1" // {
-                dependencies = [
-                  sources."commander-2.20.3"
-                ];
-              })
-            ];
-          })
-          (sources."html-webpack-plugin-4.5.2" // {
-            dependencies = [
-              sources."loader-utils-1.4.0"
-            ];
-          })
-          sources."htmlparser2-6.1.0"
-          sources."is-buffer-1.1.6"
-          sources."is-extendable-0.1.1"
-          (sources."is-number-3.0.0" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          sources."is-wsl-1.1.0"
-          sources."isarray-1.0.0"
-          sources."jest-worker-26.6.2"
-          sources."json-schema-traverse-0.4.1"
-          sources."json5-1.0.1"
-          sources."loader-runner-2.4.0"
-          sources."locate-path-5.0.0"
-          sources."lru-cache-5.1.1"
-          sources."make-dir-3.1.0"
-          sources."micromatch-3.1.10"
-          sources."mime-2.6.0"
-          (sources."p-locate-4.1.0" // {
-            dependencies = [
-              sources."p-limit-2.3.0"
-            ];
-          })
-          (sources."pkg-dir-4.2.0" // {
-            dependencies = [
-              sources."find-up-4.1.0"
-            ];
-          })
-          sources."pnp-webpack-plugin-1.6.4"
-          sources."pretty-error-2.1.2"
-          sources."readable-stream-2.3.7"
-          sources."renderkid-2.0.7"
-          sources."rimraf-2.7.1"
-          sources."serialize-javascript-5.0.1"
-          sources."source-map-0.6.1"
-          sources."ssri-6.0.2"
-          sources."string_decoder-1.1.1"
-          sources."strip-ansi-3.0.1"
-          (sources."style-loader-1.3.0" // {
-            dependencies = [
-              sources."schema-utils-2.7.1"
-            ];
-          })
-          sources."supports-color-7.2.0"
-          sources."terser-webpack-plugin-4.2.3"
-          sources."to-regex-range-2.1.1"
-          sources."util.promisify-1.0.0"
-          sources."watchpack-1.7.5"
-          (sources."webpack-4.46.0" // {
-            dependencies = [
-              sources."cacache-12.0.4"
-              sources."commander-2.20.3"
-              sources."find-cache-dir-2.1.0"
-              sources."find-up-3.0.0"
-              sources."loader-utils-1.4.0"
-              sources."locate-path-3.0.0"
-              sources."make-dir-2.1.0"
-              sources."p-limit-2.3.0"
-              sources."p-locate-3.0.0"
-              sources."path-exists-3.0.0"
-              sources."pkg-dir-3.0.0"
-              sources."schema-utils-1.0.0"
-              sources."semver-5.7.1"
-              sources."serialize-javascript-4.0.0"
-              sources."terser-4.8.1"
-              sources."terser-webpack-plugin-1.4.5"
-            ];
-          })
-          sources."webpack-dev-middleware-3.7.3"
-          sources."webpack-filter-warnings-plugin-1.2.1"
-          sources."webpack-sources-1.4.3"
-          sources."webpack-virtual-modules-0.2.2"
-          sources."y18n-4.0.3"
-          sources."yallist-3.1.1"
-        ];
-      })
-      sources."@storybook/builder-webpack5-6.5.10"
-      sources."@storybook/channel-postmessage-6.5.10"
-      sources."@storybook/channel-websocket-6.5.10"
-      sources."@storybook/channels-6.5.10"
-      sources."@storybook/client-api-6.5.10"
-      sources."@storybook/client-logger-6.5.10"
-      sources."@storybook/components-6.5.10"
-      sources."@storybook/core-6.5.10"
-      sources."@storybook/core-client-6.5.10"
-      (sources."@storybook/core-common-6.5.10" // {
-        dependencies = [
-          sources."@webassemblyjs/ast-1.9.0"
-          sources."@webassemblyjs/helper-api-error-1.9.0"
-          sources."@webassemblyjs/helper-buffer-1.9.0"
-          sources."@webassemblyjs/helper-wasm-bytecode-1.9.0"
-          sources."@webassemblyjs/helper-wasm-section-1.9.0"
-          sources."@webassemblyjs/ieee754-1.9.0"
-          sources."@webassemblyjs/leb128-1.9.0"
-          sources."@webassemblyjs/utf8-1.9.0"
-          sources."@webassemblyjs/wasm-edit-1.9.0"
-          sources."@webassemblyjs/wasm-gen-1.9.0"
-          sources."@webassemblyjs/wasm-opt-1.9.0"
-          sources."@webassemblyjs/wasm-parser-1.9.0"
-          sources."@webassemblyjs/wast-printer-1.9.0"
-          sources."acorn-6.4.2"
-          sources."ajv-6.12.6"
-          sources."ajv-keywords-3.5.2"
-          sources."ansi-styles-4.3.0"
-          (sources."braces-2.3.2" // {
-            dependencies = [
-              sources."extend-shallow-2.0.1"
-            ];
-          })
-          sources."cacache-12.0.4"
-          sources."chalk-4.1.2"
-          sources."chownr-1.1.4"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."commander-2.20.3"
-          (sources."enhanced-resolve-4.5.0" // {
-            dependencies = [
-              sources."memory-fs-0.5.0"
-            ];
-          })
-          sources."eslint-scope-4.0.3"
-          sources."estraverse-4.3.0"
-          (sources."fill-range-4.0.0" // {
-            dependencies = [
-              sources."extend-shallow-2.0.1"
-            ];
-          })
-          sources."has-flag-4.0.0"
-          sources."is-buffer-1.1.6"
-          sources."is-extendable-0.1.1"
-          (sources."is-number-3.0.0" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          sources."is-wsl-1.1.0"
-          sources."isarray-1.0.0"
-          sources."json-schema-traverse-0.4.1"
-          sources."loader-runner-2.4.0"
-          (sources."loader-utils-1.4.0" // {
-            dependencies = [
-              sources."json5-1.0.1"
-            ];
-          })
-          sources."lru-cache-5.1.1"
-          sources."micromatch-3.1.10"
-          sources."readable-stream-2.3.7"
-          sources."rimraf-2.7.1"
-          sources."schema-utils-1.0.0"
-          sources."serialize-javascript-4.0.0"
-          sources."source-map-0.6.1"
-          sources."ssri-6.0.2"
-          sources."string_decoder-1.1.1"
-          sources."supports-color-7.2.0"
-          sources."terser-4.8.1"
-          sources."terser-webpack-plugin-1.4.5"
-          sources."to-regex-range-2.1.1"
-          sources."watchpack-1.7.5"
-          sources."webpack-4.46.0"
-          sources."webpack-sources-1.4.3"
-          sources."y18n-4.0.3"
-          sources."yallist-3.1.1"
-        ];
-      })
-      sources."@storybook/core-events-6.5.10"
-      (sources."@storybook/core-server-6.5.10" // {
-        dependencies = [
-          sources."@webassemblyjs/ast-1.9.0"
-          sources."@webassemblyjs/helper-api-error-1.9.0"
-          sources."@webassemblyjs/helper-buffer-1.9.0"
-          sources."@webassemblyjs/helper-wasm-bytecode-1.9.0"
-          sources."@webassemblyjs/helper-wasm-section-1.9.0"
-          sources."@webassemblyjs/ieee754-1.9.0"
-          sources."@webassemblyjs/leb128-1.9.0"
-          sources."@webassemblyjs/utf8-1.9.0"
-          sources."@webassemblyjs/wasm-edit-1.9.0"
-          sources."@webassemblyjs/wasm-gen-1.9.0"
-          sources."@webassemblyjs/wasm-opt-1.9.0"
-          sources."@webassemblyjs/wasm-parser-1.9.0"
-          sources."@webassemblyjs/wast-printer-1.9.0"
-          sources."acorn-6.4.2"
-          sources."ajv-6.12.6"
-          sources."ajv-keywords-3.5.2"
-          sources."ansi-styles-4.3.0"
-          (sources."braces-2.3.2" // {
-            dependencies = [
-              sources."extend-shallow-2.0.1"
-            ];
-          })
-          sources."cacache-12.0.4"
-          sources."chalk-4.1.2"
-          sources."chownr-1.1.4"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          (sources."enhanced-resolve-4.5.0" // {
-            dependencies = [
-              sources."memory-fs-0.5.0"
-            ];
-          })
-          sources."eslint-scope-4.0.3"
-          sources."estraverse-4.3.0"
-          (sources."fill-range-4.0.0" // {
-            dependencies = [
-              sources."extend-shallow-2.0.1"
-            ];
-          })
-          sources."has-flag-4.0.0"
-          sources."is-buffer-1.1.6"
-          sources."is-extendable-0.1.1"
-          (sources."is-number-3.0.0" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          sources."is-wsl-1.1.0"
-          sources."isarray-1.0.0"
-          sources."json-schema-traverse-0.4.1"
-          sources."json5-1.0.1"
-          sources."loader-runner-2.4.0"
-          sources."loader-utils-1.4.0"
-          sources."lru-cache-5.1.1"
-          sources."micromatch-3.1.10"
-          sources."readable-stream-2.3.7"
-          sources."rimraf-2.7.1"
-          sources."schema-utils-1.0.0"
-          sources."serialize-javascript-4.0.0"
-          sources."source-map-0.6.1"
-          sources."ssri-6.0.2"
-          sources."string_decoder-1.1.1"
-          sources."supports-color-7.2.0"
-          (sources."terser-4.8.1" // {
-            dependencies = [
-              sources."commander-2.20.3"
-            ];
-          })
-          sources."terser-webpack-plugin-1.4.5"
-          sources."to-regex-range-2.1.1"
-          (sources."webpack-4.46.0" // {
-            dependencies = [
-              sources."watchpack-1.7.5"
-            ];
-          })
-          sources."webpack-sources-1.4.3"
-          sources."y18n-4.0.3"
-          sources."yallist-3.1.1"
-        ];
-      })
-      sources."@storybook/csf-0.0.2--canary.4566f4d.1"
-      sources."@storybook/csf-tools-6.5.10"
-      sources."@storybook/docs-tools-6.5.10"
-      (sources."@storybook/manager-webpack4-6.5.10" // {
-        dependencies = [
-          sources."@types/html-minifier-terser-5.1.2"
-          sources."@webassemblyjs/ast-1.9.0"
-          sources."@webassemblyjs/helper-api-error-1.9.0"
-          sources."@webassemblyjs/helper-buffer-1.9.0"
-          sources."@webassemblyjs/helper-wasm-bytecode-1.9.0"
-          sources."@webassemblyjs/helper-wasm-section-1.9.0"
-          sources."@webassemblyjs/ieee754-1.9.0"
-          sources."@webassemblyjs/leb128-1.9.0"
-          sources."@webassemblyjs/utf8-1.9.0"
-          sources."@webassemblyjs/wasm-edit-1.9.0"
-          sources."@webassemblyjs/wasm-gen-1.9.0"
-          sources."@webassemblyjs/wasm-opt-1.9.0"
-          sources."@webassemblyjs/wasm-parser-1.9.0"
-          sources."@webassemblyjs/wast-printer-1.9.0"
-          sources."acorn-6.4.2"
-          sources."ajv-6.12.6"
-          sources."ajv-keywords-3.5.2"
-          sources."ansi-regex-2.1.1"
-          sources."ansi-styles-4.3.0"
-          (sources."braces-2.3.2" // {
-            dependencies = [
-              sources."extend-shallow-2.0.1"
-            ];
-          })
-          sources."camelcase-5.3.1"
-          sources."chalk-4.1.2"
-          sources."chownr-1.1.4"
-          sources."clean-css-4.2.4"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."commander-4.1.1"
-          (sources."css-loader-3.6.0" // {
-            dependencies = [
-              sources."loader-utils-1.4.0"
-              sources."schema-utils-2.7.1"
-            ];
-          })
-          sources."css-select-4.3.0"
-          sources."debug-3.2.7"
-          sources."dom-serializer-1.4.1"
-          sources."domhandler-4.3.1"
-          sources."domutils-2.8.0"
-          (sources."enhanced-resolve-4.5.0" // {
-            dependencies = [
-              sources."memory-fs-0.5.0"
-            ];
-          })
-          sources."eslint-scope-4.0.3"
-          sources."estraverse-4.3.0"
-          (sources."fill-range-4.0.0" // {
-            dependencies = [
-              sources."extend-shallow-2.0.1"
-            ];
-          })
-          sources."find-cache-dir-3.3.2"
-          sources."has-flag-4.0.0"
-          (sources."html-minifier-terser-5.1.1" // {
-            dependencies = [
-              (sources."terser-4.8.1" // {
-                dependencies = [
-                  sources."commander-2.20.3"
-                ];
-              })
-            ];
-          })
-          (sources."html-webpack-plugin-4.5.2" // {
-            dependencies = [
-              sources."loader-utils-1.4.0"
-            ];
-          })
-          sources."htmlparser2-6.1.0"
-          sources."is-buffer-1.1.6"
-          sources."is-extendable-0.1.1"
-          (sources."is-number-3.0.0" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          sources."is-wsl-1.1.0"
-          sources."isarray-1.0.0"
-          sources."jest-worker-26.6.2"
-          sources."json-schema-traverse-0.4.1"
-          sources."json5-1.0.1"
-          sources."loader-runner-2.4.0"
-          sources."locate-path-5.0.0"
-          sources."lru-cache-5.1.1"
-          sources."make-dir-3.1.0"
-          sources."micromatch-3.1.10"
-          sources."mime-2.6.0"
-          (sources."p-locate-4.1.0" // {
-            dependencies = [
-              sources."p-limit-2.3.0"
-            ];
-          })
-          (sources."pkg-dir-4.2.0" // {
-            dependencies = [
-              sources."find-up-4.1.0"
-            ];
-          })
-          sources."pnp-webpack-plugin-1.6.4"
-          sources."pretty-error-2.1.2"
-          sources."readable-stream-2.3.7"
-          sources."renderkid-2.0.7"
-          sources."rimraf-2.7.1"
-          sources."serialize-javascript-5.0.1"
-          sources."source-map-0.6.1"
-          sources."ssri-6.0.2"
-          sources."string_decoder-1.1.1"
-          sources."strip-ansi-3.0.1"
-          (sources."style-loader-1.3.0" // {
-            dependencies = [
-              sources."schema-utils-2.7.1"
-            ];
-          })
-          sources."supports-color-7.2.0"
-          sources."terser-webpack-plugin-4.2.3"
-          sources."to-regex-range-2.1.1"
-          sources."util.promisify-1.0.0"
-          sources."watchpack-1.7.5"
-          (sources."webpack-4.46.0" // {
-            dependencies = [
-              sources."cacache-12.0.4"
-              sources."commander-2.20.3"
-              sources."find-cache-dir-2.1.0"
-              sources."find-up-3.0.0"
-              sources."loader-utils-1.4.0"
-              sources."locate-path-3.0.0"
-              sources."make-dir-2.1.0"
-              sources."p-limit-2.3.0"
-              sources."p-locate-3.0.0"
-              sources."path-exists-3.0.0"
-              sources."pkg-dir-3.0.0"
-              sources."schema-utils-1.0.0"
-              sources."semver-5.7.1"
-              sources."serialize-javascript-4.0.0"
-              sources."terser-4.8.1"
-              sources."terser-webpack-plugin-1.4.5"
-            ];
-          })
-          sources."webpack-dev-middleware-3.7.3"
-          sources."webpack-sources-1.4.3"
-          sources."webpack-virtual-modules-0.2.2"
-          sources."y18n-4.0.3"
-          sources."yallist-3.1.1"
-        ];
-      })
-      (sources."@storybook/manager-webpack5-6.5.10" // {
-        dependencies = [
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.2"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."has-flag-4.0.0"
-          sources."supports-color-7.2.0"
-        ];
-      })
-      (sources."@storybook/mdx1-csf-0.0.1" // {
-        dependencies = [
-          sources."prettier-2.3.0"
-        ];
-      })
-      (sources."@storybook/node-logger-6.5.10" // {
-        dependencies = [
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.2"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."has-flag-4.0.0"
-          sources."supports-color-7.2.0"
-        ];
-      })
-      (sources."@storybook/preset-create-react-app-4.1.2" // {
-        dependencies = [
-          sources."semver-7.3.7"
-        ];
-      })
-      sources."@storybook/preview-web-6.5.10"
-      (sources."@storybook/react-6.5.10" // {
-        dependencies = [
-          sources."react-refresh-0.11.0"
-        ];
-      })
-      (sources."@storybook/react-docgen-typescript-plugin-1.0.2-canary.6.9d540b91e815f8fc2f8829189deb00553559ff63.0" // {
-        dependencies = [
-          sources."find-cache-dir-3.3.2"
-          sources."find-up-4.1.0"
-          sources."locate-path-5.0.0"
-          sources."make-dir-3.1.0"
-          sources."p-limit-2.3.0"
-          sources."p-locate-4.1.0"
-          sources."pkg-dir-4.2.0"
-        ];
-      })
-      sources."@storybook/router-6.5.10"
-      (sources."@storybook/semver-7.3.2" // {
-        dependencies = [
-          sources."find-up-4.1.0"
-          sources."locate-path-5.0.0"
-          sources."p-limit-2.3.0"
-          sources."p-locate-4.1.0"
-        ];
-      })
-      sources."@storybook/store-6.5.10"
-      (sources."@storybook/telemetry-6.5.10" // {
-        dependencies = [
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.2"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."has-flag-4.0.0"
-          sources."supports-color-7.2.0"
-        ];
-      })
-      sources."@storybook/theming-6.5.10"
-      sources."@storybook/ui-6.5.10"
-      sources."@surma/rollup-plugin-off-main-thread-2.2.3"
-      sources."@svgr/babel-plugin-add-jsx-attribute-5.4.0"
-      sources."@svgr/babel-plugin-remove-jsx-attribute-5.4.0"
-      sources."@svgr/babel-plugin-remove-jsx-empty-expression-5.0.1"
-      sources."@svgr/babel-plugin-replace-jsx-attribute-value-5.0.1"
-      sources."@svgr/babel-plugin-svg-dynamic-title-5.4.0"
-      sources."@svgr/babel-plugin-svg-em-dimensions-5.4.0"
-      sources."@svgr/babel-plugin-transform-react-native-svg-5.4.0"
-      sources."@svgr/babel-plugin-transform-svg-component-5.5.0"
-      sources."@svgr/babel-preset-5.5.0"
-      sources."@svgr/core-5.5.0"
-      sources."@svgr/hast-util-to-babel-ast-5.5.0"
-      sources."@svgr/plugin-jsx-5.5.0"
-      sources."@svgr/plugin-svgo-5.5.0"
-      sources."@svgr/webpack-5.5.0"
-      (sources."@testing-library/dom-8.17.1" // {
-        dependencies = [
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.2"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."has-flag-4.0.0"
-          sources."supports-color-7.2.0"
-        ];
-      })
-      (sources."@testing-library/jest-dom-5.16.5" // {
-        dependencies = [
-          sources."ansi-styles-4.3.0"
-          sources."chalk-3.0.0"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."has-flag-4.0.0"
-          sources."supports-color-7.2.0"
-        ];
-      })
-      sources."@testing-library/react-12.1.5"
-      sources."@testing-library/react-hooks-8.0.1"
-      sources."@testing-library/user-event-14.4.3"
-      sources."@tootallnate/once-1.1.2"
-      sources."@trysound/sax-0.2.0"
-      sources."@types/aria-query-4.2.2"
-      sources."@types/babel__core-7.1.19"
-      sources."@types/babel__generator-7.6.4"
-      sources."@types/babel__template-7.4.1"
-      sources."@types/babel__traverse-7.18.0"
-      sources."@types/body-parser-1.19.2"
-      sources."@types/body-scroll-lock-3.1.0"
-      sources."@types/bonjour-3.5.10"
-      sources."@types/bricks.js-1.8.2"
-      sources."@types/cheerio-0.22.31"
-      sources."@types/connect-3.4.35"
-      sources."@types/connect-history-api-fallback-1.3.5"
-      sources."@types/enzyme-3.10.12"
-      sources."@types/eslint-8.4.6"
-      sources."@types/eslint-scope-3.7.4"
-      sources."@types/estree-0.0.51"
-      sources."@types/express-4.17.13"
-      sources."@types/express-serve-static-core-4.17.30"
-      sources."@types/fontfaceobserver-2.1.0"
-      sources."@types/glob-7.2.0"
-      sources."@types/graceful-fs-4.1.5"
-      sources."@types/hast-2.3.4"
-      sources."@types/html-minifier-terser-6.1.0"
-      sources."@types/http-proxy-1.17.9"
-      sources."@types/is-function-1.0.1"
-      sources."@types/istanbul-lib-coverage-2.0.4"
-      sources."@types/istanbul-lib-report-3.0.0"
-      sources."@types/istanbul-reports-3.0.1"
-      (sources."@types/jest-29.0.0" // {
-        dependencies = [
-          sources."@jest/schemas-29.0.0"
-          sources."ansi-styles-5.2.0"
-          sources."pretty-format-29.0.1"
-          sources."react-is-18.2.0"
-        ];
-      })
-      sources."@types/json-schema-7.0.11"
-      sources."@types/json5-0.0.29"
-      sources."@types/lodash-4.14.184"
-      sources."@types/lodash.debounce-4.0.7"
-      sources."@types/lodash.merge-4.6.7"
-      sources."@types/lodash.throttle-4.1.7"
-      sources."@types/lodash.uniqueid-4.0.7"
-      sources."@types/mdast-3.0.10"
-      sources."@types/mime-3.0.1"
-      sources."@types/minimatch-5.1.0"
-      sources."@types/node-16.11.56"
-      sources."@types/node-fetch-2.6.2"
-      sources."@types/normalize-package-data-2.4.1"
-      sources."@types/npmlog-4.1.4"
-      sources."@types/parse-json-4.0.0"
-      sources."@types/parse5-5.0.3"
-      sources."@types/prettier-2.7.0"
-      sources."@types/pretty-hrtime-1.0.1"
-      sources."@types/promise-retry-1.1.3"
-      sources."@types/prop-types-15.7.5"
-      sources."@types/q-1.5.5"
-      sources."@types/qs-6.9.7"
-      sources."@types/range-parser-1.2.4"
-      sources."@types/react-17.0.49"
-      sources."@types/react-dom-17.0.17"
-      sources."@types/react-transition-group-4.4.5"
-      sources."@types/resolve-1.17.1"
-      sources."@types/retry-0.12.2"
-      sources."@types/scheduler-0.16.2"
-      sources."@types/serve-index-1.9.1"
-      sources."@types/serve-static-1.15.0"
-      sources."@types/sockjs-0.3.33"
-      sources."@types/source-list-map-0.1.2"
-      sources."@types/stack-utils-2.0.1"
-      sources."@types/tapable-1.0.8"
-      sources."@types/testing-library__jest-dom-5.14.5"
-      sources."@types/trusted-types-2.0.2"
-      (sources."@types/uglify-js-3.17.0" // {
-        dependencies = [
-          sources."source-map-0.6.1"
-        ];
-      })
-      sources."@types/unist-2.0.6"
-      (sources."@types/webpack-4.41.32" // {
-        dependencies = [
-          sources."source-map-0.6.1"
-        ];
-      })
-      sources."@types/webpack-env-1.18.0"
-      sources."@types/webpack-sources-3.2.0"
-      sources."@types/ws-8.5.3"
-      sources."@types/yargs-17.0.11"
-      sources."@types/yargs-parser-21.0.0"
-      sources."@types/yauzl-2.10.0"
-      (sources."@typescript-eslint/eslint-plugin-5.35.1" // {
-        dependencies = [
-          sources."semver-7.3.7"
-        ];
-      })
-      sources."@typescript-eslint/experimental-utils-5.35.1"
-      sources."@typescript-eslint/parser-5.35.1"
-      sources."@typescript-eslint/scope-manager-5.35.1"
-      sources."@typescript-eslint/type-utils-5.35.1"
-      sources."@typescript-eslint/types-5.35.1"
-      (sources."@typescript-eslint/typescript-estree-5.35.1" // {
-        dependencies = [
-          sources."semver-7.3.7"
-        ];
-      })
-      (sources."@typescript-eslint/utils-5.35.1" // {
-        dependencies = [
-          sources."eslint-scope-5.1.1"
-          sources."estraverse-4.3.0"
-        ];
-      })
-      sources."@typescript-eslint/visitor-keys-5.35.1"
-      sources."@webassemblyjs/ast-1.11.1"
-      sources."@webassemblyjs/floating-point-hex-parser-1.11.1"
-      sources."@webassemblyjs/helper-api-error-1.11.1"
-      sources."@webassemblyjs/helper-buffer-1.11.1"
-      (sources."@webassemblyjs/helper-code-frame-1.9.0" // {
-        dependencies = [
-          sources."@webassemblyjs/ast-1.9.0"
-          sources."@webassemblyjs/helper-wasm-bytecode-1.9.0"
-          sources."@webassemblyjs/wast-printer-1.9.0"
-        ];
-      })
-      sources."@webassemblyjs/helper-fsm-1.9.0"
-      (sources."@webassemblyjs/helper-module-context-1.9.0" // {
-        dependencies = [
-          sources."@webassemblyjs/ast-1.9.0"
-          sources."@webassemblyjs/helper-wasm-bytecode-1.9.0"
-        ];
-      })
-      sources."@webassemblyjs/helper-numbers-1.11.1"
-      sources."@webassemblyjs/helper-wasm-bytecode-1.11.1"
-      sources."@webassemblyjs/helper-wasm-section-1.11.1"
-      sources."@webassemblyjs/ieee754-1.11.1"
-      sources."@webassemblyjs/leb128-1.11.1"
-      sources."@webassemblyjs/utf8-1.11.1"
-      sources."@webassemblyjs/wasm-edit-1.11.1"
-      sources."@webassemblyjs/wasm-gen-1.11.1"
-      sources."@webassemblyjs/wasm-opt-1.11.1"
-      sources."@webassemblyjs/wasm-parser-1.11.1"
-      (sources."@webassemblyjs/wast-parser-1.9.0" // {
-        dependencies = [
-          sources."@webassemblyjs/ast-1.9.0"
-          sources."@webassemblyjs/floating-point-hex-parser-1.9.0"
-          sources."@webassemblyjs/helper-api-error-1.9.0"
-          sources."@webassemblyjs/helper-wasm-bytecode-1.9.0"
-        ];
-      })
-      sources."@webassemblyjs/wast-printer-1.11.1"
-      sources."@wojtekmaj/enzyme-adapter-react-17-0.6.7"
-      sources."@wojtekmaj/enzyme-adapter-utils-0.1.4"
-      sources."@xtuc/ieee754-1.2.0"
-      sources."@xtuc/long-4.2.2"
-      sources."abab-2.0.6"
-      sources."accepts-1.3.8"
-      sources."acorn-7.4.1"
-      sources."acorn-globals-6.0.0"
-      sources."acorn-jsx-5.3.2"
-      sources."acorn-node-1.8.2"
-      sources."acorn-walk-7.2.0"
-      sources."address-1.2.0"
-      sources."adjust-sourcemap-loader-4.0.0"
-      sources."agent-base-6.0.2"
-      sources."aggregate-error-3.1.0"
-      sources."airbnb-js-shims-2.2.1"
-      sources."ajv-8.11.0"
-      sources."ajv-errors-1.0.1"
-      sources."ajv-formats-2.1.1"
-      sources."ajv-keywords-5.1.0"
-      sources."ansi-align-3.0.1"
-      sources."ansi-colors-3.2.4"
-      (sources."ansi-escapes-4.3.2" // {
-        dependencies = [
-          sources."type-fest-0.21.3"
-        ];
-      })
-      sources."ansi-html-community-0.0.8"
-      sources."ansi-regex-5.0.1"
-      sources."ansi-styles-3.2.1"
-      sources."ansi-to-html-0.6.15"
-      sources."anymatch-3.1.2"
-      sources."app-root-dir-1.0.2"
-      sources."aproba-2.0.0"
-      sources."are-we-there-yet-2.0.0"
-      sources."arg-5.0.2"
-      sources."argparse-2.0.1"
-      sources."aria-query-5.0.2"
-      sources."arr-diff-4.0.0"
-      sources."arr-flatten-1.1.0"
-      sources."arr-union-3.1.0"
-      sources."array-find-index-1.0.2"
-      sources."array-flatten-1.1.1"
-      sources."array-includes-3.1.5"
-      sources."array-union-2.1.0"
-      sources."array-uniq-1.0.3"
-      sources."array-unique-0.3.2"
-      sources."array.prototype.filter-1.0.1"
-      sources."array.prototype.flat-1.3.0"
-      sources."array.prototype.flatmap-1.3.0"
-      sources."array.prototype.map-1.0.4"
-      sources."array.prototype.reduce-1.0.4"
-      sources."arrify-2.0.1"
-      sources."asap-2.0.6"
-      (sources."asn1.js-5.4.1" // {
-        dependencies = [
-          sources."bn.js-4.12.0"
-        ];
-      })
-      (sources."assert-1.5.0" // {
-        dependencies = [
-          sources."inherits-2.0.1"
-          sources."util-0.10.3"
-        ];
-      })
-      sources."assign-symbols-1.0.0"
-      sources."ast-types-0.14.2"
-      sources."ast-types-flow-0.0.7"
-      sources."async-3.2.4"
-      sources."async-each-1.0.3"
-      sources."asynckit-0.4.0"
-      sources."at-least-node-1.0.0"
-      sources."atob-2.1.2"
-      sources."autoprefixer-9.8.8"
-      sources."axe-core-4.4.3"
-      sources."axobject-query-2.2.0"
-      (sources."babel-jest-27.5.1" // {
-        dependencies = [
-          sources."@jest/types-27.5.1"
-          sources."@types/yargs-16.0.4"
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.2"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."has-flag-4.0.0"
-          sources."supports-color-7.2.0"
-        ];
-      })
-      (sources."babel-loader-8.2.5" // {
-        dependencies = [
-          sources."ajv-6.12.6"
-          sources."ajv-keywords-3.5.2"
-          sources."find-cache-dir-3.3.2"
-          sources."find-up-4.1.0"
-          sources."json-schema-traverse-0.4.1"
-          sources."locate-path-5.0.0"
-          sources."make-dir-3.1.0"
-          sources."p-limit-2.3.0"
-          sources."p-locate-4.1.0"
-          sources."pkg-dir-4.2.0"
-          sources."schema-utils-2.7.1"
-        ];
-      })
-      sources."babel-plugin-add-react-displayname-0.0.5"
-      (sources."babel-plugin-apply-mdx-type-prop-1.6.22" // {
-        dependencies = [
-          sources."@babel/helper-plugin-utils-7.10.4"
-        ];
-      })
-      sources."babel-plugin-dynamic-import-node-2.3.3"
-      (sources."babel-plugin-extract-import-names-1.6.22" // {
-        dependencies = [
-          sources."@babel/helper-plugin-utils-7.10.4"
-        ];
-      })
-      sources."babel-plugin-istanbul-6.1.1"
-      sources."babel-plugin-jest-hoist-27.5.1"
-      sources."babel-plugin-macros-3.1.0"
-      sources."babel-plugin-named-asset-import-0.3.8"
-      sources."babel-plugin-named-exports-order-0.0.2"
-      sources."babel-plugin-polyfill-corejs2-0.3.2"
-      (sources."babel-plugin-polyfill-corejs3-0.1.7" // {
-        dependencies = [
-          sources."@babel/helper-define-polyfill-provider-0.1.5"
-        ];
-      })
-      sources."babel-plugin-polyfill-regenerator-0.4.0"
-      sources."babel-plugin-react-docgen-4.2.1"
-      sources."babel-plugin-transform-react-remove-prop-types-0.4.24"
-      sources."babel-preset-current-node-syntax-1.0.1"
-      sources."babel-preset-jest-27.5.1"
-      sources."babel-preset-react-app-10.0.1"
-      sources."bail-1.0.5"
-      sources."balanced-match-1.0.2"
-      (sources."base-0.11.2" // {
-        dependencies = [
-          sources."define-property-1.0.0"
-        ];
-      })
-      sources."base64-js-1.5.1"
-      sources."batch-0.6.1"
-      (sources."better-opn-2.1.1" // {
-        dependencies = [
-          sources."open-7.4.2"
-        ];
-      })
-      sources."bfj-7.0.2"
-      sources."big-integer-1.6.51"
-      sources."big.js-5.2.2"
-      sources."binary-extensions-2.2.0"
-      sources."bindings-1.5.0"
-      sources."bluebird-3.7.2"
-      sources."bn.js-5.2.1"
-      (sources."body-parser-1.20.0" // {
-        dependencies = [
-          sources."bytes-3.1.2"
-          sources."debug-2.6.9"
-          sources."ms-2.0.0"
-          sources."qs-6.10.3"
-        ];
-      })
-      sources."body-scroll-lock-3.1.5"
-      (sources."bonjour-service-1.0.13" // {
-        dependencies = [
-          sources."array-flatten-2.1.2"
-        ];
-      })
-      sources."boolbase-1.0.0"
-      sources."bootstrap-5.2.0"
-      sources."bootswatch-5.2.0"
-      (sources."boxen-5.1.2" // {
-        dependencies = [
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.2"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."has-flag-4.0.0"
-          sources."supports-color-7.2.0"
-        ];
-      })
-      sources."bplist-parser-0.1.1"
-      sources."brace-expansion-1.1.11"
-      sources."braces-3.0.2"
-      sources."bricks.js-1.8.0"
-      sources."brorand-1.1.0"
-      sources."browser-assert-1.2.1"
-      sources."browser-process-hrtime-1.0.0"
-      sources."browserify-aes-1.2.0"
-      sources."browserify-cipher-1.0.1"
-      sources."browserify-des-1.0.2"
-      sources."browserify-rsa-4.1.0"
-      (sources."browserify-sign-4.2.1" // {
-        dependencies = [
-          sources."safe-buffer-5.2.1"
-        ];
-      })
-      sources."browserify-zlib-0.2.0"
-      sources."browserslist-4.21.3"
-      sources."bser-2.1.1"
-      (sources."buffer-4.9.2" // {
-        dependencies = [
-          sources."isarray-1.0.0"
-        ];
-      })
-      sources."buffer-crc32-0.2.13"
-      sources."buffer-from-1.1.2"
-      sources."buffer-xor-1.0.3"
-      sources."builtin-modules-3.3.0"
-      sources."builtin-status-codes-3.0.0"
-      sources."bytes-3.0.0"
-      sources."c8-7.12.0"
-      (sources."cacache-15.3.0" // {
-        dependencies = [
-          sources."mkdirp-1.0.4"
-          sources."p-map-4.0.0"
-        ];
-      })
-      sources."cache-base-1.0.1"
-      sources."call-bind-1.0.2"
-      sources."call-me-maybe-1.0.1"
-      sources."callsites-3.1.0"
-      sources."camel-case-4.1.2"
-      sources."camelcase-6.3.0"
-      sources."camelcase-css-2.0.1"
-      (sources."camelcase-keys-2.1.0" // {
-        dependencies = [
-          sources."camelcase-2.1.1"
-        ];
-      })
-      sources."caniuse-api-3.0.0"
-      sources."caniuse-lite-1.0.30001384"
-      sources."case-sensitive-paths-webpack-plugin-2.4.0"
-      sources."ccount-1.1.0"
-      sources."chalk-2.4.2"
-      sources."char-regex-1.0.2"
-      sources."character-entities-1.2.4"
-      sources."character-entities-legacy-1.1.4"
-      sources."character-reference-invalid-1.1.4"
-      sources."check-types-11.1.2"
-      (sources."cheerio-1.0.0-rc.12" // {
-        dependencies = [
-          sources."entities-4.3.1"
-          sources."htmlparser2-8.0.1"
-        ];
-      })
-      sources."cheerio-select-2.1.0"
-      (sources."chokidar-3.5.3" // {
-        dependencies = [
-          sources."glob-parent-5.1.2"
-        ];
-      })
-      sources."chownr-2.0.0"
-      sources."chrome-trace-event-1.0.3"
-      sources."ci-info-3.3.2"
-      sources."cipher-base-1.0.4"
-      sources."cjs-module-lexer-1.2.2"
-      (sources."class-utils-0.3.6" // {
-        dependencies = [
-          sources."define-property-0.2.5"
-          (sources."is-accessor-descriptor-0.1.6" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          sources."is-buffer-1.1.6"
-          (sources."is-data-descriptor-0.1.4" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          sources."is-descriptor-0.1.6"
-          sources."kind-of-5.1.0"
-        ];
-      })
-      (sources."clean-css-5.3.1" // {
-        dependencies = [
-          sources."source-map-0.6.1"
-        ];
-      })
-      sources."clean-stack-2.2.0"
-      sources."cli-boxes-2.2.1"
-      sources."cli-table3-0.6.2"
-      sources."cliui-7.0.4"
-      sources."clone-deep-4.0.1"
-      sources."co-4.6.0"
-      sources."coa-2.0.2"
-      sources."collapse-white-space-1.0.6"
-      sources."collect-v8-coverage-1.0.1"
-      sources."collection-visit-1.0.0"
-      sources."color-convert-1.9.3"
-      sources."color-name-1.1.3"
-      sources."color-support-1.1.3"
-      sources."colord-2.9.3"
-      sources."colorette-1.4.0"
-      sources."combined-stream-1.0.8"
-      sources."comma-separated-tokens-1.0.8"
-      sources."commander-6.2.1"
-      sources."common-path-prefix-3.0.0"
-      sources."common-tags-1.8.2"
-      sources."commondir-1.0.1"
-      sources."component-emitter-1.3.0"
-      sources."compressible-2.0.18"
-      (sources."compression-1.7.4" // {
-        dependencies = [
-          sources."debug-2.6.9"
-          sources."ms-2.0.0"
-        ];
-      })
-      sources."compute-scroll-into-view-1.0.17"
-      sources."concat-map-0.0.1"
-      (sources."concat-stream-1.6.2" // {
-        dependencies = [
-          sources."isarray-1.0.0"
-          sources."readable-stream-2.3.7"
-          sources."string_decoder-1.1.1"
-        ];
-      })
-      sources."confusing-browser-globals-1.0.11"
-      sources."connect-history-api-fallback-2.0.0"
-      sources."console-browserify-1.2.0"
-      sources."console-control-strings-1.1.0"
-      sources."constants-browserify-1.0.0"
-      (sources."content-disposition-0.5.4" // {
-        dependencies = [
-          sources."safe-buffer-5.2.1"
-        ];
-      })
-      sources."content-type-1.0.4"
-      sources."convert-source-map-1.8.0"
-      sources."cookie-0.5.0"
-      sources."cookie-signature-1.0.6"
-      (sources."copy-concurrently-1.0.5" // {
-        dependencies = [
-          sources."aproba-1.2.0"
-          sources."rimraf-2.7.1"
-        ];
-      })
-      sources."copy-descriptor-0.1.1"
-      sources."copy-to-clipboard-3.3.2"
-      sources."core-js-3.25.0"
-      (sources."core-js-compat-3.25.0" // {
-        dependencies = [
-          sources."semver-7.0.0"
-        ];
-      })
-      sources."core-js-pure-3.25.0"
-      sources."core-util-is-1.0.3"
-      (sources."cosmiconfig-7.0.1" // {
-        dependencies = [
-          sources."yaml-1.10.2"
-        ];
-      })
-      (sources."cp-file-7.0.0" // {
-        dependencies = [
-          sources."make-dir-3.1.0"
-        ];
-      })
-      (sources."cpy-8.1.2" // {
-        dependencies = [
-          sources."@nodelib/fs.stat-1.1.3"
-          sources."array-union-1.0.2"
-          (sources."braces-2.3.2" // {
-            dependencies = [
-              sources."extend-shallow-2.0.1"
-            ];
-          })
-          sources."dir-glob-2.2.2"
-          sources."fast-glob-2.2.7"
-          (sources."fill-range-4.0.0" // {
-            dependencies = [
-              sources."extend-shallow-2.0.1"
-            ];
-          })
-          (sources."glob-parent-3.1.0" // {
-            dependencies = [
-              sources."is-glob-3.1.0"
-            ];
-          })
-          sources."globby-9.2.0"
-          sources."ignore-4.0.6"
-          sources."is-buffer-1.1.6"
-          sources."is-extendable-0.1.1"
-          (sources."is-number-3.0.0" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          sources."micromatch-3.1.10"
-          (sources."path-type-3.0.0" // {
-            dependencies = [
-              sources."pify-3.0.0"
-            ];
-          })
-          sources."slash-2.0.0"
-          sources."to-regex-range-2.1.1"
-        ];
-      })
-      (sources."create-ecdh-4.0.4" // {
-        dependencies = [
-          sources."bn.js-4.12.0"
-        ];
-      })
-      sources."create-hash-1.2.0"
-      sources."create-hmac-1.1.7"
-      sources."cross-spawn-7.0.3"
-      sources."crypto-browserify-3.12.0"
-      sources."crypto-random-string-2.0.0"
-      (sources."css-loader-5.2.7" // {
-        dependencies = [
-          sources."icss-utils-5.1.0"
-          sources."picocolors-1.0.0"
-          sources."postcss-8.4.16"
-          sources."postcss-modules-extract-imports-3.0.0"
-          sources."postcss-modules-local-by-default-4.0.0"
-          sources."postcss-modules-scope-3.0.0"
-          sources."postcss-modules-values-4.0.0"
-          sources."semver-7.3.7"
-        ];
-      })
-      (sources."css-minimizer-webpack-plugin-3.4.1" // {
-        dependencies = [
-          sources."commander-7.2.0"
-          sources."css-declaration-sorter-6.3.0"
-          sources."css-select-4.3.0"
-          sources."css-tree-1.1.3"
-          sources."cssnano-5.1.13"
-          sources."cssnano-preset-default-5.2.12"
-          sources."cssnano-utils-3.1.0"
-          sources."dom-serializer-1.4.1"
-          sources."domhandler-4.3.1"
-          sources."domutils-2.8.0"
-          sources."mdn-data-2.0.14"
-          sources."picocolors-1.0.0"
-          sources."postcss-8.4.16"
-          sources."postcss-calc-8.2.4"
-          sources."postcss-colormin-5.3.0"
-          sources."postcss-convert-values-5.1.2"
-          sources."postcss-discard-comments-5.1.2"
-          sources."postcss-discard-duplicates-5.1.0"
-          sources."postcss-discard-empty-5.1.1"
-          sources."postcss-discard-overridden-5.1.0"
-          sources."postcss-merge-longhand-5.1.6"
-          sources."postcss-merge-rules-5.1.2"
-          sources."postcss-minify-font-values-5.1.0"
-          sources."postcss-minify-gradients-5.1.1"
-          sources."postcss-minify-params-5.1.3"
-          sources."postcss-minify-selectors-5.2.1"
-          sources."postcss-normalize-charset-5.1.0"
-          sources."postcss-normalize-display-values-5.1.0"
-          sources."postcss-normalize-positions-5.1.1"
-          sources."postcss-normalize-repeat-style-5.1.1"
-          sources."postcss-normalize-string-5.1.0"
-          sources."postcss-normalize-timing-functions-5.1.0"
-          sources."postcss-normalize-unicode-5.1.0"
-          sources."postcss-normalize-url-5.1.0"
-          sources."postcss-normalize-whitespace-5.1.1"
-          sources."postcss-ordered-values-5.1.3"
-          sources."postcss-reduce-initial-5.1.0"
-          sources."postcss-reduce-transforms-5.1.0"
-          sources."postcss-svgo-5.1.0"
-          sources."postcss-unique-selectors-5.1.1"
-          sources."schema-utils-4.0.0"
-          sources."source-map-0.6.1"
-          sources."stylehacks-5.1.0"
-          sources."svgo-2.8.0"
-          sources."yaml-1.10.2"
-        ];
-      })
-      sources."css-select-5.1.0"
-      sources."css-select-base-adapter-0.1.1"
-      (sources."css-tree-1.0.0-alpha.37" // {
-        dependencies = [
-          sources."source-map-0.6.1"
-        ];
-      })
-      sources."css-what-6.1.0"
-      sources."css.escape-1.5.1"
-      sources."cssdb-7.0.1"
-      sources."cssesc-3.0.0"
-      sources."csshake-1.7.0"
-      (sources."csso-4.2.0" // {
-        dependencies = [
-          sources."css-tree-1.1.3"
-          sources."mdn-data-2.0.14"
-          sources."source-map-0.6.1"
-        ];
-      })
-      sources."cssom-0.4.4"
-      (sources."cssstyle-2.3.0" // {
-        dependencies = [
-          sources."cssom-0.3.8"
-        ];
-      })
-      sources."csstype-3.1.0"
-      sources."currently-unhandled-0.4.1"
-      sources."cyclist-1.0.1"
-      sources."damerau-levenshtein-1.0.8"
-      (sources."data-urls-2.0.0" // {
-        dependencies = [
-          sources."tr46-2.1.0"
-          sources."whatwg-url-8.7.0"
-        ];
-      })
-      sources."date-fns-2.29.2"
-      sources."debug-4.3.4"
-      sources."decamelize-1.2.0"
-      sources."decimal.js-10.4.0"
-      sources."decode-uri-component-0.2.0"
-      sources."dedent-0.7.0"
-      sources."deep-is-0.1.4"
-      sources."deepmerge-4.2.2"
-      sources."default-browser-id-1.0.4"
-      sources."default-gateway-6.0.3"
-      sources."define-lazy-prop-2.0.0"
-      sources."define-properties-1.1.4"
-      sources."define-property-2.0.2"
-      sources."defined-1.0.0"
-      sources."delayed-stream-1.0.0"
-      sources."delegates-1.0.0"
-      sources."depd-2.0.0"
-      sources."des.js-1.0.1"
-      sources."destroy-1.2.0"
-      sources."detab-2.0.4"
-      sources."detect-newline-3.1.0"
-      sources."detect-node-2.1.0"
-      sources."detect-package-manager-2.0.1"
-      (sources."detect-port-1.3.0" // {
-        dependencies = [
-          sources."debug-2.6.9"
-          sources."ms-2.0.0"
-        ];
-      })
-      (sources."detect-port-alt-1.1.6" // {
-        dependencies = [
-          sources."debug-2.6.9"
-          sources."ms-2.0.0"
-        ];
-      })
-      sources."detective-5.2.1"
-      sources."didyoumean-1.2.2"
-      sources."diff-sequences-29.0.0"
-      sources."diffable-html-5.0.0"
-      (sources."diffie-hellman-5.0.3" // {
-        dependencies = [
-          sources."bn.js-4.12.0"
-        ];
-      })
-      sources."dir-glob-3.0.1"
-      sources."discontinuous-range-1.0.0"
-      sources."dlv-1.1.3"
-      sources."dns-equal-1.0.0"
-      sources."dns-packet-5.4.0"
-      sources."doctrine-3.0.0"
-      sources."dom-accessibility-api-0.5.14"
-      sources."dom-converter-0.2.0"
-      sources."dom-helpers-5.2.1"
-      (sources."dom-serializer-2.0.0" // {
-        dependencies = [
-          sources."entities-4.3.1"
-        ];
-      })
-      sources."dom-walk-0.1.2"
-      sources."domain-browser-1.2.0"
-      sources."domelementtype-2.3.0"
-      (sources."domexception-2.0.1" // {
-        dependencies = [
-          sources."webidl-conversions-5.0.0"
-        ];
-      })
-      sources."domhandler-5.0.3"
-      sources."domutils-3.0.1"
-      sources."dot-case-3.0.4"
-      sources."dotenv-8.6.0"
-      sources."dotenv-expand-5.1.0"
-      sources."downshift-6.1.9"
-      sources."duplexer-0.1.2"
-      (sources."duplexify-3.7.1" // {
-        dependencies = [
-          sources."isarray-1.0.0"
-          sources."readable-stream-2.3.7"
-          sources."string_decoder-1.1.1"
-        ];
-      })
-      sources."ee-first-1.1.1"
-      sources."ejs-3.1.8"
-      sources."electron-to-chromium-1.4.233"
-      (sources."elliptic-6.5.4" // {
-        dependencies = [
-          sources."bn.js-4.12.0"
-        ];
-      })
-      sources."emittery-0.8.1"
-      sources."emoji-regex-9.2.2"
-      sources."emojis-list-3.0.0"
-      sources."encodeurl-1.0.2"
-      sources."end-of-stream-1.4.4"
-      sources."endent-2.1.0"
-      (sources."enhanced-resolve-5.10.0" // {
-        dependencies = [
-          sources."tapable-2.2.1"
-        ];
-      })
-      sources."entities-2.2.0"
-      sources."enzyme-3.11.0"
-      sources."enzyme-shallow-equal-1.0.4"
-      sources."err-code-2.0.3"
-      sources."errno-0.1.8"
-      sources."error-ex-1.3.2"
-      sources."error-stack-parser-2.1.4"
-      sources."es-abstract-1.20.1"
-      sources."es-array-method-boxes-properly-1.0.0"
-      sources."es-get-iterator-1.1.2"
-      sources."es-module-lexer-0.9.3"
-      sources."es-shim-unscopables-1.0.0"
-      sources."es-to-primitive-1.2.1"
-      sources."es5-shim-4.6.7"
-      sources."es6-shim-0.35.6"
-      sources."escalade-3.1.1"
-      sources."escape-html-1.0.3"
-      sources."escape-string-regexp-1.0.5"
-      (sources."escodegen-2.0.0" // {
-        dependencies = [
-          sources."source-map-0.6.1"
-        ];
-      })
-      (sources."eslint-8.23.0" // {
-        dependencies = [
-          sources."ajv-6.12.6"
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.2"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."escape-string-regexp-4.0.0"
-          sources."globals-13.17.0"
-          sources."has-flag-4.0.0"
-          sources."json-schema-traverse-0.4.1"
-          sources."optionator-0.9.1"
-          sources."supports-color-7.2.0"
-        ];
-      })
-      sources."eslint-config-prettier-8.5.0"
-      (sources."eslint-config-react-app-7.0.1" // {
-        dependencies = [
-          sources."eslint-plugin-jest-25.7.0"
-        ];
-      })
-      (sources."eslint-import-resolver-node-0.3.6" // {
-        dependencies = [
-          sources."debug-3.2.7"
-        ];
-      })
-      (sources."eslint-module-utils-2.7.4" // {
-        dependencies = [
-          sources."debug-3.2.7"
-        ];
-      })
-      sources."eslint-plugin-flowtype-8.0.3"
-      (sources."eslint-plugin-import-2.26.0" // {
-        dependencies = [
-          sources."debug-2.6.9"
-          sources."doctrine-2.1.0"
-          sources."ms-2.0.0"
-        ];
-      })
-      sources."eslint-plugin-jest-27.0.1"
-      (sources."eslint-plugin-jsx-a11y-6.6.1" // {
-        dependencies = [
-          sources."aria-query-4.2.2"
-        ];
-      })
-      sources."eslint-plugin-prettier-4.2.1"
-      (sources."eslint-plugin-react-7.31.1" // {
-        dependencies = [
-          sources."doctrine-2.1.0"
-          sources."resolve-2.0.0-next.4"
-        ];
-      })
-      sources."eslint-plugin-react-hooks-4.6.0"
-      sources."eslint-plugin-testing-library-5.6.0"
-      sources."eslint-scope-7.1.1"
-      (sources."eslint-utils-3.0.0" // {
-        dependencies = [
-          sources."eslint-visitor-keys-2.1.0"
-        ];
-      })
-      sources."eslint-visitor-keys-3.3.0"
-      (sources."eslint-webpack-plugin-3.2.0" // {
-        dependencies = [
-          sources."has-flag-4.0.0"
-          sources."jest-worker-28.1.3"
-          sources."schema-utils-4.0.0"
-          sources."supports-color-8.1.1"
-        ];
-      })
-      (sources."espree-9.4.0" // {
-        dependencies = [
-          sources."acorn-8.8.0"
-        ];
-      })
-      sources."esprima-4.0.1"
-      sources."esquery-1.4.0"
-      sources."esrecurse-4.3.0"
-      sources."estraverse-5.3.0"
-      sources."estree-to-babel-3.2.1"
-      sources."estree-walker-1.0.1"
-      sources."esutils-2.0.3"
-      sources."etag-1.8.1"
-      sources."eventemitter3-4.0.7"
-      sources."events-3.3.0"
-      sources."evp_bytestokey-1.0.3"
-      sources."execa-5.1.1"
-      sources."exit-0.1.2"
-      (sources."expand-brackets-2.1.4" // {
-        dependencies = [
-          sources."debug-2.6.9"
-          sources."define-property-0.2.5"
-          sources."extend-shallow-2.0.1"
-          (sources."is-accessor-descriptor-0.1.6" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          sources."is-buffer-1.1.6"
-          (sources."is-data-descriptor-0.1.4" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          sources."is-descriptor-0.1.6"
-          sources."is-extendable-0.1.1"
-          sources."kind-of-5.1.0"
-          sources."ms-2.0.0"
-        ];
-      })
-      (sources."expect-29.0.1" // {
-        dependencies = [
-          sources."@jest/schemas-29.0.0"
-          sources."@jest/types-29.0.1"
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.2"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."has-flag-4.0.0"
-          sources."jest-message-util-29.0.1"
-          sources."jest-util-29.0.1"
-          (sources."pretty-format-29.0.1" // {
-            dependencies = [
-              sources."ansi-styles-5.2.0"
-            ];
-          })
-          sources."react-is-18.2.0"
-          sources."supports-color-7.2.0"
-        ];
-      })
-      (sources."express-4.18.1" // {
-        dependencies = [
-          sources."debug-2.6.9"
-          sources."ms-2.0.0"
-          sources."path-to-regexp-0.1.7"
-          sources."qs-6.10.3"
-          sources."safe-buffer-5.2.1"
-        ];
-      })
-      sources."extend-3.0.2"
-      sources."extend-shallow-3.0.2"
-      (sources."extglob-2.0.4" // {
-        dependencies = [
-          sources."define-property-1.0.0"
-          sources."extend-shallow-2.0.1"
-          sources."is-extendable-0.1.1"
-        ];
-      })
-      (sources."extract-zip-2.0.1" // {
-        dependencies = [
-          sources."get-stream-5.2.0"
-        ];
-      })
-      sources."fast-deep-equal-3.1.3"
-      sources."fast-diff-1.2.0"
-      (sources."fast-glob-3.2.11" // {
-        dependencies = [
-          sources."glob-parent-5.1.2"
-        ];
-      })
-      sources."fast-json-parse-1.0.3"
-      sources."fast-json-stable-stringify-2.1.0"
-      sources."fast-levenshtein-2.0.6"
-      sources."fastq-1.13.0"
-      sources."favico.js-0.3.10"
-      sources."faye-websocket-0.11.4"
-      sources."fb-watchman-2.0.1"
-      sources."fd-slicer-1.1.0"
-      (sources."fetch-mock-9.11.0" // {
-        dependencies = [
-          sources."path-to-regexp-2.4.0"
-        ];
-      })
-      sources."fetch-retry-5.0.3"
-      sources."figgy-pudding-3.5.2"
-      sources."file-entry-cache-6.0.1"
-      sources."file-loader-6.2.0"
-      (sources."file-system-cache-1.1.0" // {
-        dependencies = [
-          sources."fs-extra-10.1.0"
-        ];
-      })
-      sources."file-uri-to-path-1.0.0"
-      (sources."filelist-1.0.4" // {
-        dependencies = [
-          sources."brace-expansion-2.0.1"
-          sources."minimatch-5.1.0"
-        ];
-      })
-      sources."filesize-8.0.7"
-      sources."fill-range-7.0.1"
-      (sources."finalhandler-1.2.0" // {
-        dependencies = [
-          sources."debug-2.6.9"
-          sources."ms-2.0.0"
-        ];
-      })
-      (sources."find-cache-dir-2.1.0" // {
-        dependencies = [
-          sources."find-up-3.0.0"
-          sources."locate-path-3.0.0"
-          sources."p-limit-2.3.0"
-          sources."p-locate-3.0.0"
-          sources."path-exists-3.0.0"
-          sources."pkg-dir-3.0.0"
-        ];
-      })
-      sources."find-root-1.1.0"
-      sources."find-up-5.0.0"
-      sources."flat-cache-3.0.4"
-      sources."flatted-3.2.7"
-      (sources."flush-write-stream-1.1.1" // {
-        dependencies = [
-          sources."isarray-1.0.0"
-          sources."readable-stream-2.3.7"
-          sources."string_decoder-1.1.1"
-        ];
-      })
-      sources."follow-redirects-1.15.1"
-      sources."fontfaceobserver-2.3.0"
-      sources."for-in-1.0.2"
-      sources."foreground-child-2.0.0"
-      (sources."fork-ts-checker-webpack-plugin-6.5.2" // {
-        dependencies = [
-          sources."ajv-6.12.6"
-          sources."ajv-keywords-3.5.2"
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.2"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."cosmiconfig-6.0.0"
-          sources."has-flag-4.0.0"
-          sources."json-schema-traverse-0.4.1"
-          sources."schema-utils-2.7.0"
-          sources."semver-7.3.7"
-          sources."supports-color-7.2.0"
-          sources."yaml-1.10.2"
-        ];
-      })
-      sources."form-data-3.0.1"
-      sources."forwarded-0.2.0"
-      sources."fraction.js-4.2.0"
-      sources."fragment-cache-0.2.1"
-      sources."fresh-0.5.2"
-      (sources."from2-2.3.0" // {
-        dependencies = [
-          sources."isarray-1.0.0"
-          sources."readable-stream-2.3.7"
-          sources."string_decoder-1.1.1"
-        ];
-      })
-      sources."fs-extra-9.1.0"
-      sources."fs-minipass-2.1.0"
-      sources."fs-monkey-1.0.3"
-      (sources."fs-write-stream-atomic-1.0.10" // {
-        dependencies = [
-          sources."isarray-1.0.0"
-          sources."readable-stream-2.3.7"
-          sources."string_decoder-1.1.1"
-        ];
-      })
-      sources."fs.realpath-1.0.0"
-      sources."fsevents-2.3.2"
-      sources."function-bind-1.1.1"
-      sources."function.prototype.name-1.1.5"
-      sources."functional-red-black-tree-1.0.1"
-      sources."functions-have-names-1.2.3"
-      sources."gauge-3.0.2"
-      sources."gensync-1.0.0-beta.2"
-      sources."get-caller-file-2.0.5"
-      sources."get-intrinsic-1.1.2"
-      sources."get-own-enumerable-property-symbols-3.0.2"
-      sources."get-package-type-0.1.0"
-      sources."get-stdin-4.0.1"
-      sources."get-stream-6.0.1"
-      sources."get-symbol-description-1.0.0"
-      sources."get-value-2.0.6"
-      sources."glob-7.2.3"
-      sources."glob-parent-6.0.2"
-      sources."glob-promise-3.4.0"
-      sources."glob-to-regexp-0.4.1"
-      sources."global-4.4.0"
-      sources."global-modules-2.0.0"
-      (sources."global-prefix-3.0.0" // {
-        dependencies = [
-          sources."which-1.3.1"
-        ];
-      })
-      sources."globals-11.12.0"
-      sources."globalthis-1.0.3"
-      sources."globby-11.1.0"
-      sources."graceful-fs-4.2.10"
-      sources."grapheme-splitter-1.0.4"
-      sources."gzip-size-6.0.0"
-      sources."handle-thing-2.0.1"
-      (sources."handlebars-4.7.7" // {
-        dependencies = [
-          sources."source-map-0.6.1"
-        ];
-      })
-      sources."harmony-reflect-1.6.2"
-      sources."has-1.0.3"
-      sources."has-bigints-1.0.2"
-      sources."has-flag-3.0.0"
-      (sources."has-glob-1.0.0" // {
-        dependencies = [
-          sources."is-glob-3.1.0"
-        ];
-      })
-      sources."has-property-descriptors-1.0.0"
-      sources."has-symbols-1.0.3"
-      sources."has-tostringtag-1.0.0"
-      sources."has-unicode-2.0.1"
-      sources."has-value-1.0.0"
-      (sources."has-values-1.0.0" // {
-        dependencies = [
-          sources."is-buffer-1.1.6"
-          (sources."is-number-3.0.0" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          sources."kind-of-4.0.0"
-        ];
-      })
-      (sources."hash-base-3.1.0" // {
-        dependencies = [
-          sources."safe-buffer-5.2.1"
-        ];
-      })
-      sources."hash.js-1.1.7"
-      sources."hast-to-hyperscript-9.0.1"
-      sources."hast-util-from-parse5-6.0.1"
-      sources."hast-util-parse-selector-2.2.5"
-      (sources."hast-util-raw-6.0.1" // {
-        dependencies = [
-          sources."parse5-6.0.1"
-        ];
-      })
-      sources."hast-util-to-parse5-6.0.0"
-      sources."hastscript-6.0.0"
-      sources."he-1.2.0"
-      sources."hmac-drbg-1.0.1"
-      (sources."hoist-non-react-statics-3.3.2" // {
-        dependencies = [
-          sources."react-is-16.13.1"
-        ];
-      })
-      sources."hoopy-0.1.4"
-      sources."hosted-git-info-2.8.9"
-      sources."hotkeys-js-3.9.4"
-      (sources."hpack.js-2.1.6" // {
-        dependencies = [
-          sources."isarray-1.0.0"
-          sources."readable-stream-2.3.7"
-          sources."string_decoder-1.1.1"
-        ];
-      })
-      sources."html-element-map-1.3.1"
-      sources."html-encoding-sniffer-2.0.1"
-      sources."html-entities-2.3.3"
-      sources."html-escaper-2.0.2"
-      (sources."html-minifier-terser-6.1.0" // {
-        dependencies = [
-          sources."commander-8.3.0"
-        ];
-      })
-      sources."html-tags-3.2.0"
-      sources."html-void-elements-1.0.5"
-      (sources."html-webpack-plugin-5.5.0" // {
-        dependencies = [
-          sources."tapable-2.2.1"
-        ];
-      })
-      (sources."htmlparser2-3.10.1" // {
-        dependencies = [
-          (sources."dom-serializer-0.2.2" // {
-            dependencies = [
-              sources."domelementtype-2.3.0"
-              sources."entities-2.2.0"
-            ];
-          })
-          sources."domelementtype-1.3.1"
-          sources."domhandler-2.4.2"
-          sources."domutils-1.7.0"
-          sources."entities-1.1.2"
-        ];
-      })
-      sources."http-deceiver-1.2.7"
-      sources."http-errors-2.0.0"
-      sources."http-parser-js-0.5.8"
-      sources."http-proxy-1.18.1"
-      sources."http-proxy-agent-4.0.1"
-      (sources."http-proxy-middleware-2.0.6" // {
-        dependencies = [
-          sources."is-plain-obj-3.0.0"
-        ];
-      })
-      sources."https-browserify-1.0.0"
-      sources."https-proxy-agent-5.0.1"
-      sources."human-signals-2.1.0"
-      sources."iconv-lite-0.4.24"
-      sources."icss-utils-4.1.1"
-      sources."idb-7.0.2"
-      sources."identity-obj-proxy-3.0.0"
-      sources."ieee754-1.2.1"
-      sources."iferr-0.1.5"
-      sources."ignore-5.2.0"
-      sources."image-size-1.0.2"
-      sources."immer-9.0.15"
-      sources."immutable-4.1.0"
-      (sources."import-fresh-3.3.0" // {
-        dependencies = [
-          sources."resolve-from-4.0.0"
-        ];
-      })
-      (sources."import-local-3.1.0" // {
-        dependencies = [
-          sources."find-up-4.1.0"
-          sources."locate-path-5.0.0"
-          sources."p-limit-2.3.0"
-          sources."p-locate-4.1.0"
-          sources."pkg-dir-4.2.0"
-        ];
-      })
-      sources."imurmurhash-0.1.4"
-      sources."indent-string-4.0.0"
-      sources."infer-owner-1.0.4"
-      sources."inflight-1.0.6"
-      sources."inherits-2.0.4"
-      sources."ini-1.3.8"
-      sources."inline-style-parser-0.1.1"
-      sources."internal-slot-1.0.3"
-      sources."interpret-2.2.0"
-      sources."intersection-observer-0.12.2"
-      sources."ip-2.0.0"
-      sources."ipaddr.js-1.9.1"
-      sources."is-accessor-descriptor-1.0.0"
-      sources."is-alphabetical-1.0.4"
-      sources."is-alphanumerical-1.0.4"
-      sources."is-arguments-1.1.1"
-      sources."is-arrayish-0.2.1"
-      sources."is-bigint-1.0.4"
-      sources."is-binary-path-2.1.0"
-      sources."is-boolean-object-1.1.2"
-      sources."is-buffer-2.0.5"
-      sources."is-callable-1.2.4"
-      sources."is-core-module-2.10.0"
-      sources."is-data-descriptor-1.0.0"
-      sources."is-date-object-1.0.5"
-      sources."is-decimal-1.0.4"
-      sources."is-descriptor-1.0.2"
-      sources."is-docker-2.2.1"
-      sources."is-extendable-1.0.1"
-      sources."is-extglob-2.1.1"
-      sources."is-finite-1.1.0"
-      sources."is-fullwidth-code-point-3.0.0"
-      sources."is-function-1.0.2"
-      sources."is-generator-fn-2.1.0"
-      sources."is-glob-4.0.3"
-      sources."is-hexadecimal-1.0.4"
-      sources."is-map-2.0.2"
-      sources."is-module-1.0.0"
-      sources."is-negative-zero-2.0.2"
-      sources."is-number-7.0.0"
-      sources."is-number-object-1.0.7"
-      sources."is-obj-1.0.1"
-      sources."is-plain-obj-2.1.0"
-      sources."is-plain-object-2.0.4"
-      sources."is-potential-custom-element-name-1.0.1"
-      sources."is-regex-1.1.4"
-      sources."is-regexp-1.0.0"
-      sources."is-root-2.1.0"
-      sources."is-set-2.0.2"
-      sources."is-shared-array-buffer-1.0.2"
-      sources."is-stream-2.0.1"
-      sources."is-string-1.0.7"
-      sources."is-subset-0.1.1"
-      sources."is-symbol-1.0.4"
-      sources."is-typedarray-1.0.0"
-      sources."is-utf8-0.2.1"
-      sources."is-weakref-1.0.2"
-      sources."is-whitespace-character-1.0.4"
-      sources."is-windows-1.0.2"
-      sources."is-word-character-1.0.4"
-      sources."is-wsl-2.2.0"
-      sources."isarray-2.0.5"
-      sources."isexe-2.0.0"
-      sources."isobject-3.0.1"
-      sources."isomorphic-unfetch-3.1.0"
-      sources."istanbul-lib-coverage-3.2.0"
-      sources."istanbul-lib-instrument-5.2.0"
-      (sources."istanbul-lib-report-3.0.0" // {
-        dependencies = [
-          sources."has-flag-4.0.0"
-          sources."make-dir-3.1.0"
-          sources."supports-color-7.2.0"
-        ];
-      })
-      (sources."istanbul-lib-source-maps-4.0.1" // {
-        dependencies = [
-          sources."source-map-0.6.1"
-        ];
-      })
-      sources."istanbul-reports-3.1.5"
-      sources."iterate-iterator-1.0.2"
-      sources."iterate-value-1.0.2"
-      (sources."jake-10.8.5" // {
-        dependencies = [
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.2"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."has-flag-4.0.0"
-          sources."supports-color-7.2.0"
-        ];
-      })
-      sources."jest-27.5.1"
-      (sources."jest-changed-files-27.5.1" // {
-        dependencies = [
-          sources."@jest/types-27.5.1"
-          sources."@types/yargs-16.0.4"
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.2"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."has-flag-4.0.0"
-          sources."supports-color-7.2.0"
-        ];
-      })
-      (sources."jest-circus-27.5.1" // {
-        dependencies = [
-          sources."@jest/types-27.5.1"
-          sources."@types/yargs-16.0.4"
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.2"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."diff-sequences-27.5.1"
-          sources."expect-27.5.1"
-          sources."has-flag-4.0.0"
-          sources."jest-diff-27.5.1"
-          sources."jest-get-type-27.5.1"
-          sources."jest-matcher-utils-27.5.1"
-          sources."jest-message-util-27.5.1"
-          sources."jest-util-27.5.1"
-          sources."supports-color-7.2.0"
-        ];
-      })
-      (sources."jest-cli-27.5.1" // {
-        dependencies = [
-          sources."@jest/types-27.5.1"
-          sources."@types/yargs-16.0.4"
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.2"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."has-flag-4.0.0"
-          sources."jest-util-27.5.1"
-          sources."supports-color-7.2.0"
-        ];
-      })
-      (sources."jest-config-27.5.1" // {
-        dependencies = [
-          sources."@jest/types-27.5.1"
-          sources."@types/yargs-16.0.4"
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.2"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."has-flag-4.0.0"
-          sources."jest-get-type-27.5.1"
-          sources."jest-util-27.5.1"
-          sources."supports-color-7.2.0"
-        ];
-      })
-      (sources."jest-diff-29.0.1" // {
-        dependencies = [
-          sources."@jest/schemas-29.0.0"
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.2"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."has-flag-4.0.0"
-          (sources."pretty-format-29.0.1" // {
-            dependencies = [
-              sources."ansi-styles-5.2.0"
-            ];
-          })
-          sources."react-is-18.2.0"
-          sources."supports-color-7.2.0"
-        ];
-      })
-      sources."jest-docblock-27.5.1"
-      (sources."jest-each-27.5.1" // {
-        dependencies = [
-          sources."@jest/types-27.5.1"
-          sources."@types/yargs-16.0.4"
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.2"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."has-flag-4.0.0"
-          sources."jest-get-type-27.5.1"
-          sources."jest-util-27.5.1"
-          sources."supports-color-7.2.0"
-        ];
-      })
-      (sources."jest-environment-jsdom-27.5.1" // {
-        dependencies = [
-          sources."@jest/types-27.5.1"
-          sources."@types/yargs-16.0.4"
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.2"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."has-flag-4.0.0"
-          sources."jest-util-27.5.1"
-          sources."supports-color-7.2.0"
-        ];
-      })
-      (sources."jest-environment-node-27.5.1" // {
-        dependencies = [
-          sources."@jest/types-27.5.1"
-          sources."@types/yargs-16.0.4"
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.2"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."has-flag-4.0.0"
-          sources."jest-util-27.5.1"
-          sources."supports-color-7.2.0"
-        ];
-      })
-      sources."jest-get-type-29.0.0"
-      (sources."jest-haste-map-27.5.1" // {
-        dependencies = [
-          sources."@jest/types-27.5.1"
-          sources."@types/yargs-16.0.4"
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.2"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."has-flag-4.0.0"
-          sources."jest-util-27.5.1"
-          sources."supports-color-7.2.0"
-        ];
-      })
-      (sources."jest-jasmine2-27.5.1" // {
-        dependencies = [
-          sources."@jest/types-27.5.1"
-          sources."@types/yargs-16.0.4"
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.2"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."diff-sequences-27.5.1"
-          sources."expect-27.5.1"
-          sources."has-flag-4.0.0"
-          sources."jest-diff-27.5.1"
-          sources."jest-get-type-27.5.1"
-          sources."jest-matcher-utils-27.5.1"
-          sources."jest-message-util-27.5.1"
-          sources."jest-util-27.5.1"
-          sources."supports-color-7.2.0"
-        ];
-      })
-      (sources."jest-leak-detector-27.5.1" // {
-        dependencies = [
-          sources."jest-get-type-27.5.1"
-        ];
-      })
-      (sources."jest-matcher-utils-29.0.1" // {
-        dependencies = [
-          sources."@jest/schemas-29.0.0"
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.2"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."has-flag-4.0.0"
-          (sources."pretty-format-29.0.1" // {
-            dependencies = [
-              sources."ansi-styles-5.2.0"
-            ];
-          })
-          sources."react-is-18.2.0"
-          sources."supports-color-7.2.0"
-        ];
-      })
-      (sources."jest-message-util-28.1.3" // {
-        dependencies = [
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.2"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."has-flag-4.0.0"
-          (sources."pretty-format-28.1.3" // {
-            dependencies = [
-              sources."ansi-styles-5.2.0"
-            ];
-          })
-          sources."react-is-18.2.0"
-          sources."supports-color-7.2.0"
-        ];
-      })
-      (sources."jest-mock-27.5.1" // {
-        dependencies = [
-          sources."@jest/types-27.5.1"
-          sources."@types/yargs-16.0.4"
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.2"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."has-flag-4.0.0"
-          sources."supports-color-7.2.0"
-        ];
-      })
-      sources."jest-pnp-resolver-1.2.2"
-      sources."jest-regex-util-27.5.1"
-      (sources."jest-resolve-27.5.1" // {
-        dependencies = [
-          sources."@jest/types-27.5.1"
-          sources."@types/yargs-16.0.4"
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.2"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."has-flag-4.0.0"
-          sources."jest-util-27.5.1"
-          sources."supports-color-7.2.0"
-        ];
-      })
-      (sources."jest-resolve-dependencies-27.5.1" // {
-        dependencies = [
-          sources."@jest/types-27.5.1"
-          sources."@types/yargs-16.0.4"
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.2"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."has-flag-4.0.0"
-          sources."supports-color-7.2.0"
-        ];
-      })
-      (sources."jest-runner-27.5.1" // {
-        dependencies = [
-          sources."@jest/types-27.5.1"
-          sources."@types/yargs-16.0.4"
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.2"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."has-flag-4.0.0"
-          sources."jest-message-util-27.5.1"
-          sources."jest-util-27.5.1"
-          sources."supports-color-7.2.0"
-        ];
-      })
-      (sources."jest-runtime-27.5.1" // {
-        dependencies = [
-          sources."@jest/types-27.5.1"
-          sources."@types/yargs-16.0.4"
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.2"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."has-flag-4.0.0"
-          sources."jest-message-util-27.5.1"
-          sources."jest-util-27.5.1"
-          sources."supports-color-7.2.0"
-        ];
-      })
-      sources."jest-serializer-27.5.1"
-      (sources."jest-snapshot-27.5.1" // {
-        dependencies = [
-          sources."@jest/types-27.5.1"
-          sources."@types/yargs-16.0.4"
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.2"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."diff-sequences-27.5.1"
-          sources."expect-27.5.1"
-          sources."has-flag-4.0.0"
-          sources."jest-diff-27.5.1"
-          sources."jest-get-type-27.5.1"
-          sources."jest-matcher-utils-27.5.1"
-          sources."jest-message-util-27.5.1"
-          sources."jest-util-27.5.1"
-          sources."semver-7.3.7"
-          sources."supports-color-7.2.0"
-        ];
-      })
-      (sources."jest-util-28.1.3" // {
-        dependencies = [
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.2"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."has-flag-4.0.0"
-          sources."supports-color-7.2.0"
-        ];
-      })
-      (sources."jest-validate-27.5.1" // {
-        dependencies = [
-          sources."@jest/types-27.5.1"
-          sources."@types/yargs-16.0.4"
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.2"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."has-flag-4.0.0"
-          sources."jest-get-type-27.5.1"
-          sources."supports-color-7.2.0"
-        ];
-      })
-      (sources."jest-watch-typeahead-1.1.0" // {
-        dependencies = [
-          (sources."@jest/console-28.1.3" // {
-            dependencies = [
-              sources."slash-3.0.0"
-            ];
-          })
-          sources."@jest/test-result-28.1.3"
-          sources."ansi-regex-6.0.1"
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.2"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."emittery-0.10.2"
-          sources."has-flag-4.0.0"
-          sources."jest-regex-util-28.0.2"
-          (sources."jest-watcher-28.1.3" // {
-            dependencies = [
-              sources."ansi-regex-5.0.1"
-              sources."string-length-4.0.2"
-              sources."strip-ansi-6.0.1"
-            ];
-          })
-          sources."slash-4.0.0"
-          (sources."string-length-5.0.1" // {
-            dependencies = [
-              sources."char-regex-2.0.1"
-            ];
-          })
-          sources."strip-ansi-7.0.1"
-          sources."supports-color-7.2.0"
-        ];
-      })
-      (sources."jest-watcher-27.5.1" // {
-        dependencies = [
-          sources."@jest/types-27.5.1"
-          sources."@types/yargs-16.0.4"
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.2"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."has-flag-4.0.0"
-          sources."jest-util-27.5.1"
-          sources."supports-color-7.2.0"
-        ];
-      })
-      (sources."jest-worker-27.5.1" // {
-        dependencies = [
-          sources."has-flag-4.0.0"
-          sources."supports-color-8.1.1"
-        ];
-      })
-      sources."js-string-escape-1.0.1"
-      sources."js-tokens-4.0.0"
-      sources."js-yaml-4.1.0"
-      (sources."jsdom-16.7.0" // {
-        dependencies = [
-          sources."acorn-8.8.0"
-          sources."parse5-6.0.1"
-          sources."tr46-2.1.0"
-          sources."whatwg-url-8.7.0"
-          sources."ws-7.5.9"
-        ];
-      })
-      sources."jsesc-2.5.2"
-      sources."json-parse-better-errors-1.0.2"
-      sources."json-parse-even-better-errors-2.3.1"
-      sources."json-schema-0.4.0"
-      sources."json-schema-traverse-1.0.0"
-      sources."json-stable-stringify-without-jsonify-1.0.1"
-      sources."json5-2.2.1"
-      sources."jsonfile-6.1.0"
-      sources."jsonpointer-5.0.1"
-      sources."jsx-ast-utils-3.3.3"
-      sources."junk-3.1.0"
-      sources."kind-of-6.0.3"
-      sources."kleur-3.0.3"
-      sources."klona-2.0.5"
-      sources."knot.js-1.1.5"
-      sources."language-subtag-registry-0.3.22"
-      sources."language-tags-1.0.5"
-      sources."lazy-universal-dotenv-3.0.1"
-      sources."leven-3.1.0"
-      sources."levn-0.4.1"
-      sources."lilconfig-2.0.6"
-      sources."lines-and-columns-1.2.4"
-      sources."linkify-it-2.2.0"
-      (sources."load-json-file-1.1.0" // {
-        dependencies = [
-          sources."parse-json-2.2.0"
-          sources."pify-2.3.0"
-          sources."strip-bom-2.0.0"
-        ];
-      })
-      sources."loader-runner-4.3.0"
-      sources."loader-utils-2.0.2"
-      sources."locate-path-6.0.0"
-      sources."lodash-4.17.21"
-      sources."lodash.clonedeep-4.5.0"
-      sources."lodash.debounce-4.0.8"
-      sources."lodash.escape-4.0.1"
-      sources."lodash.flattendeep-4.4.0"
-      sources."lodash.isequal-4.5.0"
-      sources."lodash.isobject-3.0.2"
-      sources."lodash.memoize-4.1.2"
-      sources."lodash.merge-4.6.2"
-      sources."lodash.sortby-4.7.0"
-      sources."lodash.throttle-4.1.1"
-      sources."lodash.uniq-4.5.0"
-      sources."lodash.uniqueid-4.0.1"
-      sources."loose-envify-1.4.0"
-      sources."loud-rejection-1.6.0"
-      sources."lower-case-2.0.2"
-      sources."lru-cache-6.0.0"
-      sources."lz-string-1.4.4"
-      sources."magic-string-0.25.9"
-      (sources."make-dir-2.1.0" // {
-        dependencies = [
-          sources."semver-5.7.1"
-        ];
-      })
-      sources."makeerror-1.0.12"
-      sources."map-age-cleaner-0.1.3"
-      sources."map-cache-0.2.2"
-      sources."map-obj-1.0.1"
-      sources."map-or-similar-1.5.0"
-      sources."map-visit-1.0.0"
-      sources."markdown-escapes-1.0.4"
-      sources."md5.js-1.3.5"
-      sources."mdast-squeeze-paragraphs-4.0.0"
-      sources."mdast-util-definitions-4.0.0"
-      sources."mdast-util-to-hast-10.0.1"
-      sources."mdn-data-2.0.4"
-      sources."mdurl-1.0.1"
-      sources."media-typer-0.3.0"
-      (sources."mem-8.1.1" // {
-        dependencies = [
-          sources."mimic-fn-3.1.0"
-        ];
-      })
-      sources."memfs-3.4.7"
-      sources."memoize-one-5.2.1"
-      sources."memoizerific-1.11.3"
-      (sources."memory-fs-0.4.1" // {
-        dependencies = [
-          sources."isarray-1.0.0"
-          sources."readable-stream-2.3.7"
-          sources."string_decoder-1.1.1"
-        ];
-      })
-      (sources."meow-3.7.0" // {
-        dependencies = [
-          sources."find-up-1.1.2"
-          sources."indent-string-2.1.0"
-          sources."path-exists-2.1.0"
-          sources."path-type-1.1.0"
-          sources."pify-2.3.0"
-          sources."read-pkg-1.1.0"
-          sources."read-pkg-up-1.0.1"
-          sources."redent-1.0.0"
-          sources."strip-indent-1.0.1"
-        ];
-      })
-      sources."merge-descriptors-1.0.1"
-      sources."merge-stream-2.0.0"
-      sources."merge2-1.4.1"
-      sources."methods-1.1.2"
-      sources."microevent.ts-0.1.1"
-      sources."micromatch-4.0.5"
-      (sources."miller-rabin-4.0.1" // {
-        dependencies = [
-          sources."bn.js-4.12.0"
-        ];
-      })
-      sources."mime-1.6.0"
-      sources."mime-db-1.52.0"
-      sources."mime-types-2.1.35"
-      sources."mimic-fn-2.1.0"
-      sources."min-document-2.19.0"
-      sources."min-indent-1.0.1"
-      (sources."mini-css-extract-plugin-2.6.1" // {
-        dependencies = [
-          sources."schema-utils-4.0.0"
-        ];
-      })
-      sources."minimalistic-assert-1.0.1"
-      sources."minimalistic-crypto-utils-1.0.1"
-      sources."minimatch-3.1.2"
-      sources."minimist-1.2.6"
-      sources."minipass-3.3.4"
-      sources."minipass-collect-1.0.2"
-      sources."minipass-flush-1.0.5"
-      sources."minipass-pipeline-1.2.4"
-      sources."minizlib-2.1.2"
-      sources."mississippi-3.0.0"
-      sources."mixin-deep-1.3.2"
-      sources."mkdirp-0.5.6"
-      sources."mobx-6.6.1"
-      sources."mobx-react-lite-3.4.0"
-      (sources."mobx-stored-1.1.0" // {
-        dependencies = [
-          sources."eslint-config-prettier-3.6.0"
-          sources."get-stdin-6.0.0"
-        ];
-      })
-      sources."moo-0.5.1"
-      (sources."move-concurrently-1.0.1" // {
-        dependencies = [
-          sources."aproba-1.2.0"
-          sources."rimraf-2.7.1"
-        ];
-      })
-      sources."ms-2.1.2"
-      sources."multicast-dns-7.2.5"
-      sources."nan-2.16.0"
-      sources."nanoid-3.3.4"
-      sources."nanomatch-1.2.13"
-      sources."natural-compare-1.4.0"
-      (sources."nearley-2.20.1" // {
-        dependencies = [
-          sources."commander-2.20.3"
-        ];
-      })
-      sources."negotiator-0.6.3"
-      sources."neo-async-2.6.2"
-      sources."nested-error-stacks-2.1.1"
-      sources."no-case-3.0.4"
-      sources."node-dir-0.1.17"
-      (sources."node-fetch-2.6.7" // {
-        dependencies = [
-          sources."tr46-0.0.3"
-          sources."webidl-conversions-3.0.1"
-          sources."whatwg-url-5.0.0"
-        ];
-      })
-      sources."node-forge-1.3.1"
-      sources."node-int64-0.4.0"
-      (sources."node-libs-browser-2.2.1" // {
-        dependencies = [
-          sources."isarray-1.0.0"
-          sources."path-browserify-0.0.1"
-          sources."punycode-1.4.1"
-          sources."readable-stream-2.3.7"
-          sources."string_decoder-1.1.1"
-        ];
-      })
-      sources."node-releases-2.0.6"
-      (sources."normalize-package-data-2.5.0" // {
-        dependencies = [
-          sources."semver-5.7.1"
-        ];
-      })
-      sources."normalize-path-3.0.0"
-      sources."normalize-range-0.1.2"
-      sources."normalize-url-6.1.0"
-      sources."npm-run-path-4.0.1"
-      sources."npmlog-5.0.1"
-      sources."nth-check-2.1.1"
-      sources."num2fraction-1.2.2"
-      sources."nwsapi-2.2.1"
-      sources."object-assign-4.1.1"
-      (sources."object-copy-0.1.0" // {
-        dependencies = [
-          sources."define-property-0.2.5"
-          sources."is-accessor-descriptor-0.1.6"
-          sources."is-buffer-1.1.6"
-          sources."is-data-descriptor-0.1.4"
-          (sources."is-descriptor-0.1.6" // {
-            dependencies = [
-              sources."kind-of-5.1.0"
-            ];
-          })
-          sources."kind-of-3.2.2"
-        ];
-      })
-      sources."object-hash-3.0.0"
-      sources."object-inspect-1.12.2"
-      sources."object-is-1.1.5"
-      sources."object-keys-1.1.1"
-      sources."object-visit-1.0.1"
-      sources."object.assign-4.1.4"
-      sources."object.entries-1.1.5"
-      sources."object.fromentries-2.0.5"
-      sources."object.getownpropertydescriptors-2.1.4"
-      sources."object.hasown-1.1.1"
-      sources."object.pick-1.3.0"
-      sources."object.values-1.1.5"
-      sources."objectorarray-1.0.5"
-      sources."obuf-1.1.2"
-      sources."on-finished-2.4.1"
-      sources."on-headers-1.0.2"
-      sources."once-1.4.0"
-      sources."onetime-5.1.2"
-      sources."open-8.4.0"
-      (sources."optionator-0.8.3" // {
-        dependencies = [
-          sources."levn-0.3.0"
-          sources."prelude-ls-1.1.2"
-          sources."type-check-0.3.2"
-        ];
-      })
-      sources."os-browserify-0.3.0"
-      sources."os-homedir-1.0.2"
-      (sources."p-all-2.1.0" // {
-        dependencies = [
-          sources."p-map-2.1.0"
-        ];
-      })
-      sources."p-defer-1.0.0"
-      sources."p-event-4.2.0"
-      (sources."p-filter-2.1.0" // {
-        dependencies = [
-          sources."p-map-2.1.0"
-        ];
-      })
-      sources."p-finally-1.0.0"
-      sources."p-limit-3.1.0"
-      sources."p-locate-5.0.0"
-      sources."p-map-3.0.0"
-      (sources."p-retry-4.6.2" // {
-        dependencies = [
-          sources."@types/retry-0.12.0"
-          sources."retry-0.13.1"
-        ];
-      })
-      sources."p-timeout-3.2.0"
-      sources."p-try-2.2.0"
-      sources."pako-1.0.11"
-      (sources."parallel-transform-1.2.0" // {
-        dependencies = [
-          sources."isarray-1.0.0"
-          sources."readable-stream-2.3.7"
-          sources."string_decoder-1.1.1"
-        ];
-      })
-      sources."param-case-3.0.4"
-      sources."parent-module-1.0.1"
-      sources."parse-asn1-5.1.6"
-      sources."parse-entities-2.0.0"
-      sources."parse-json-5.2.0"
-      (sources."parse5-7.0.0" // {
-        dependencies = [
-          sources."entities-4.3.1"
-        ];
-      })
-      sources."parse5-htmlparser2-tree-adapter-7.0.0"
-      sources."parseurl-1.3.3"
-      sources."pascal-case-3.1.2"
-      sources."pascalcase-0.1.1"
-      sources."path-browserify-1.0.1"
-      sources."path-dirname-1.0.2"
-      sources."path-exists-4.0.0"
-      sources."path-is-absolute-1.0.1"
-      sources."path-key-3.1.1"
-      sources."path-parse-1.0.7"
-      sources."path-to-regexp-6.2.1"
-      sources."path-type-4.0.0"
-      sources."pbkdf2-3.1.2"
-      sources."pend-1.2.0"
-      sources."performance-now-2.1.0"
-      sources."picocolors-0.2.1"
-      sources."picomatch-2.3.1"
-      sources."pify-4.0.1"
-      sources."pinkie-2.0.4"
-      sources."pinkie-promise-2.0.1"
-      sources."pirates-4.0.5"
-      sources."pkg-dir-5.0.0"
-      (sources."pkg-up-3.1.0" // {
-        dependencies = [
-          sources."find-up-3.0.0"
-          sources."locate-path-3.0.0"
-          sources."p-limit-2.3.0"
-          sources."p-locate-3.0.0"
-          sources."path-exists-3.0.0"
-        ];
-      })
-      sources."pnp-webpack-plugin-1.7.0"
-      sources."posix-character-classes-0.1.1"
-      (sources."postcss-7.0.39" // {
-        dependencies = [
-          sources."source-map-0.6.1"
-        ];
-      })
-      sources."postcss-flexbugs-fixes-4.2.1"
-      (sources."postcss-loader-4.3.0" // {
-        dependencies = [
-          sources."semver-7.3.7"
-        ];
-      })
-      sources."postcss-modules-extract-imports-2.0.0"
-      sources."postcss-modules-local-by-default-3.0.3"
-      sources."postcss-modules-scope-2.2.0"
-      sources."postcss-modules-values-3.0.0"
-      sources."postcss-opacity-percentage-1.1.2"
-      sources."postcss-selector-parser-6.0.10"
-      sources."postcss-value-parser-4.2.0"
-      sources."prelude-ls-1.2.1"
-      sources."prettier-2.7.1"
-      sources."prettier-linter-helpers-1.0.0"
-      sources."pretty-bytes-5.6.0"
-      sources."pretty-error-4.0.0"
-      (sources."pretty-format-27.5.1" // {
-        dependencies = [
-          sources."ansi-styles-5.2.0"
-        ];
-      })
-      sources."pretty-hrtime-1.0.3"
-      sources."process-0.11.10"
-      sources."process-nextick-args-2.0.1"
-      sources."promise-8.1.0"
-      sources."promise-inflight-1.0.1"
-      sources."promise-retry-2.0.1"
-      sources."promise.allsettled-1.0.5"
-      sources."promise.prototype.finally-3.1.3"
-      sources."prompts-2.4.2"
-      (sources."prop-types-15.8.1" // {
-        dependencies = [
-          sources."react-is-16.13.1"
-        ];
-      })
-      sources."property-information-5.6.0"
-      sources."proxy-addr-2.0.7"
-      sources."prr-1.0.1"
-      sources."psl-1.9.0"
-      (sources."public-encrypt-4.0.3" // {
-        dependencies = [
-          sources."bn.js-4.12.0"
-        ];
-      })
-      sources."pump-3.0.0"
-      (sources."pumpify-1.5.1" // {
-        dependencies = [
-          sources."pump-2.0.1"
-        ];
-      })
-      sources."punycode-2.1.1"
-      (sources."purgecss-4.1.3" // {
-        dependencies = [
-          sources."commander-8.3.0"
-          sources."picocolors-1.0.0"
-          sources."postcss-8.4.16"
-        ];
-      })
-      sources."q-1.5.1"
-      sources."qs-6.11.0"
-      sources."querystring-0.2.1"
-      sources."querystring-es3-0.2.1"
-      sources."querystringify-2.2.0"
-      sources."queue-6.0.2"
-      sources."queue-microtask-1.2.3"
-      sources."quick-lru-5.1.1"
-      sources."raf-3.4.1"
-      sources."railroad-diagrams-1.0.0"
-      sources."ramda-0.28.0"
-      sources."randexp-0.4.6"
-      sources."randombytes-2.1.0"
-      sources."randomfill-1.0.4"
-      sources."range-parser-1.2.1"
-      (sources."raw-body-2.5.1" // {
-        dependencies = [
-          sources."bytes-3.1.2"
-        ];
-      })
-      sources."raw-loader-4.0.2"
-      sources."react-17.0.2"
-      sources."react-app-polyfill-3.0.0"
-      sources."react-cool-dimensions-2.0.7"
-      sources."react-day-picker-8.2.0"
-      (sources."react-dev-utils-12.0.1" // {
-        dependencies = [
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.2"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."escape-string-regexp-4.0.0"
-          sources."has-flag-4.0.0"
-          sources."loader-utils-3.2.0"
-          sources."supports-color-7.2.0"
-        ];
-      })
-      (sources."react-docgen-5.4.3" // {
-        dependencies = [
-          sources."commander-2.20.3"
-        ];
-      })
-      sources."react-docgen-typescript-2.2.2"
-      sources."react-dom-17.0.2"
-      (sources."react-element-to-jsx-string-14.3.4" // {
-        dependencies = [
-          sources."is-plain-object-5.0.0"
-        ];
-      })
-      sources."react-error-boundary-3.1.4"
-      sources."react-error-overlay-6.0.11"
-      sources."react-hotkeys-hook-3.4.7"
-      sources."react-idle-timer-4.6.4"
-      sources."react-intersection-observer-9.4.0"
-      sources."react-is-17.0.2"
-      sources."react-json-pretty-2.2.0"
-      sources."react-linkify-0.2.2"
-      sources."react-media-hook-0.4.9"
-      sources."react-range-1.8.14"
-      sources."react-refresh-0.14.0"
-      (sources."react-scripts-5.0.1" // {
-        dependencies = [
-          sources."@csstools/postcss-cascade-layers-1.0.5"
-          sources."@csstools/postcss-color-function-1.1.1"
-          sources."@csstools/postcss-font-format-keywords-1.0.1"
-          sources."@csstools/postcss-hwb-function-1.0.2"
-          sources."@csstools/postcss-ic-unit-1.0.1"
-          sources."@csstools/postcss-is-pseudo-class-2.0.7"
-          sources."@csstools/postcss-nested-calc-1.0.0"
-          sources."@csstools/postcss-normalize-display-values-1.0.1"
-          sources."@csstools/postcss-oklab-function-1.1.1"
-          sources."@csstools/postcss-progressive-custom-properties-1.3.0"
-          sources."@csstools/postcss-stepped-value-functions-1.0.1"
-          sources."@csstools/postcss-text-decoration-shorthand-1.0.0"
-          sources."@csstools/postcss-trigonometric-functions-1.0.2"
-          sources."@csstools/postcss-unset-value-1.0.2"
-          sources."@csstools/selector-specificity-2.0.2"
-          sources."autoprefixer-10.4.5"
-          sources."css-blank-pseudo-3.0.3"
-          sources."css-has-pseudo-3.0.4"
-          sources."css-loader-6.7.1"
-          sources."css-prefers-color-scheme-6.0.3"
-          sources."dotenv-10.0.0"
-          sources."fs-extra-10.1.0"
-          sources."icss-utils-5.1.0"
-          sources."picocolors-1.0.0"
-          sources."postcss-8.4.16"
-          sources."postcss-attribute-case-insensitive-5.0.2"
-          sources."postcss-browser-comments-4.0.0"
-          sources."postcss-clamp-4.1.0"
-          sources."postcss-color-functional-notation-4.2.4"
-          sources."postcss-color-hex-alpha-8.0.4"
-          sources."postcss-color-rebeccapurple-7.1.1"
-          sources."postcss-custom-media-8.0.2"
-          sources."postcss-custom-properties-12.1.8"
-          sources."postcss-custom-selectors-6.0.3"
-          sources."postcss-dir-pseudo-class-6.0.5"
-          sources."postcss-double-position-gradients-3.1.2"
-          sources."postcss-env-function-4.0.6"
-          sources."postcss-flexbugs-fixes-5.0.2"
-          sources."postcss-focus-visible-6.0.4"
-          sources."postcss-focus-within-5.0.4"
-          sources."postcss-font-variant-5.0.0"
-          sources."postcss-gap-properties-3.0.5"
-          sources."postcss-image-set-function-4.0.7"
-          sources."postcss-initial-4.0.1"
-          sources."postcss-lab-function-4.2.1"
-          sources."postcss-loader-6.2.1"
-          sources."postcss-logical-5.0.4"
-          sources."postcss-media-minmax-5.0.0"
-          sources."postcss-modules-extract-imports-3.0.0"
-          sources."postcss-modules-local-by-default-4.0.0"
-          sources."postcss-modules-scope-3.0.0"
-          sources."postcss-modules-values-4.0.0"
-          sources."postcss-nesting-10.1.10"
-          sources."postcss-normalize-10.0.1"
-          sources."postcss-overflow-shorthand-3.0.4"
-          sources."postcss-page-break-3.0.4"
-          sources."postcss-place-7.0.5"
-          sources."postcss-preset-env-7.8.0"
-          sources."postcss-pseudo-class-any-link-7.1.6"
-          sources."postcss-replace-overflow-wrap-4.0.0"
-          sources."postcss-selector-not-6.0.1"
-          sources."react-refresh-0.11.0"
-          sources."semver-7.3.7"
-          sources."style-loader-3.3.1"
-        ];
-      })
-      sources."react-select-5.4.0"
-      sources."react-shallow-renderer-16.15.0"
-      sources."react-test-renderer-17.0.2"
-      sources."react-transition-group-4.4.5"
-      (sources."read-cache-1.0.0" // {
-        dependencies = [
-          sources."pify-2.3.0"
-        ];
-      })
-      (sources."read-pkg-5.2.0" // {
-        dependencies = [
-          sources."type-fest-0.6.0"
-        ];
-      })
-      (sources."read-pkg-up-7.0.1" // {
-        dependencies = [
-          sources."find-up-4.1.0"
-          sources."locate-path-5.0.0"
-          sources."p-limit-2.3.0"
-          sources."p-locate-4.1.0"
-          sources."type-fest-0.8.1"
-        ];
-      })
-      sources."readable-stream-3.6.0"
-      sources."readdirp-3.6.0"
-      (sources."recursive-readdir-2.2.2" // {
-        dependencies = [
-          sources."minimatch-3.0.4"
-        ];
-      })
-      sources."redent-3.0.0"
-      sources."regenerate-1.4.2"
-      sources."regenerate-unicode-properties-10.0.1"
-      sources."regenerator-runtime-0.13.9"
-      sources."regenerator-transform-0.15.0"
-      sources."regex-not-1.0.2"
-      sources."regex-parser-2.2.11"
-      sources."regexp.prototype.flags-1.4.3"
-      sources."regexpp-3.2.0"
-      sources."regexpu-core-5.1.0"
-      sources."regjsgen-0.6.0"
-      (sources."regjsparser-0.8.4" // {
-        dependencies = [
-          sources."jsesc-0.5.0"
-        ];
-      })
-      sources."relateurl-0.2.7"
-      sources."remark-footnotes-2.0.0"
-      (sources."remark-mdx-1.6.22" // {
-        dependencies = [
-          sources."@babel/core-7.12.9"
-          sources."@babel/helper-plugin-utils-7.10.4"
-          sources."@babel/plugin-proposal-object-rest-spread-7.12.1"
-          sources."@babel/plugin-syntax-jsx-7.12.1"
-          sources."semver-5.7.1"
-          sources."source-map-0.5.7"
-        ];
-      })
-      sources."remark-parse-8.0.3"
-      sources."remark-squeeze-paragraphs-4.0.0"
-      sources."remove-trailing-separator-1.1.0"
-      (sources."renderkid-3.0.0" // {
-        dependencies = [
-          sources."css-select-4.3.0"
-          sources."dom-serializer-1.4.1"
-          sources."domhandler-4.3.1"
-          sources."domutils-2.8.0"
-          sources."htmlparser2-6.1.0"
-        ];
-      })
-      sources."repeat-element-1.1.4"
-      sources."repeat-string-1.6.1"
-      sources."repeating-2.0.1"
-      sources."require-directory-2.1.1"
-      sources."require-from-string-2.0.2"
-      sources."requires-port-1.0.0"
-      sources."resolve-1.22.1"
-      sources."resolve-cwd-3.0.0"
-      sources."resolve-from-5.0.0"
-      sources."resolve-url-0.2.1"
-      (sources."resolve-url-loader-4.0.0" // {
-        dependencies = [
-          sources."source-map-0.6.1"
-        ];
-      })
-      sources."resolve.exports-1.1.0"
-      sources."ret-0.1.15"
-      sources."retry-0.12.0"
-      sources."reusify-1.0.4"
-      sources."rimraf-3.0.2"
-      sources."ripemd160-2.0.2"
-      sources."rollup-2.78.1"
-      (sources."rollup-plugin-terser-7.0.2" // {
-        dependencies = [
-          sources."has-flag-4.0.0"
-          sources."jest-worker-26.6.2"
-          sources."serialize-javascript-4.0.0"
-          sources."supports-color-7.2.0"
-        ];
-      })
-      sources."rst-selector-parser-2.2.3"
-      sources."run-parallel-1.2.0"
-      (sources."run-queue-1.0.3" // {
-        dependencies = [
-          sources."aproba-1.2.0"
-        ];
-      })
-      sources."safe-buffer-5.1.2"
-      sources."safe-regex-1.1.0"
-      sources."safer-buffer-2.1.2"
-      sources."sanitize.css-13.0.0"
-      sources."sass-1.54.8"
-      sources."sass-loader-12.6.0"
-      sources."sax-1.2.4"
-      sources."saxes-5.0.1"
-      sources."scheduler-0.20.2"
-      (sources."schema-utils-3.1.1" // {
-        dependencies = [
-          sources."ajv-6.12.6"
-          sources."ajv-keywords-3.5.2"
-          sources."json-schema-traverse-0.4.1"
-        ];
-      })
-      sources."select-hose-2.0.0"
-      sources."selfsigned-2.0.1"
-      sources."semver-6.3.0"
-      (sources."send-0.18.0" // {
-        dependencies = [
-          (sources."debug-2.6.9" // {
-            dependencies = [
-              sources."ms-2.0.0"
-            ];
-          })
-          sources."ms-2.1.3"
-        ];
-      })
-      sources."serialize-javascript-6.0.0"
-      (sources."serve-favicon-2.5.0" // {
-        dependencies = [
-          sources."ms-2.1.1"
-          sources."safe-buffer-5.1.1"
-        ];
-      })
-      (sources."serve-index-1.9.1" // {
-        dependencies = [
-          sources."debug-2.6.9"
-          sources."depd-1.1.2"
-          sources."http-errors-1.6.3"
-          sources."inherits-2.0.3"
-          sources."ms-2.0.0"
-          sources."setprototypeof-1.1.0"
-          sources."statuses-1.5.0"
-        ];
-      })
-      sources."serve-static-1.15.0"
-      sources."set-blocking-2.0.0"
-      (sources."set-value-2.0.1" // {
-        dependencies = [
-          sources."extend-shallow-2.0.1"
-          sources."is-extendable-0.1.1"
-        ];
-      })
-      sources."setimmediate-1.0.5"
-      sources."setprototypeof-1.2.0"
-      sources."sha.js-2.4.11"
-      sources."shallow-clone-3.0.1"
-      sources."shebang-command-2.0.0"
-      sources."shebang-regex-3.0.0"
-      sources."shell-quote-1.7.3"
-      sources."side-channel-1.0.4"
-      sources."signal-exit-3.0.7"
-      sources."sisteransi-1.0.5"
-      sources."slash-3.0.0"
-      (sources."snapdragon-0.8.2" // {
-        dependencies = [
-          sources."debug-2.6.9"
-          sources."define-property-0.2.5"
-          sources."extend-shallow-2.0.1"
-          (sources."is-accessor-descriptor-0.1.6" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          sources."is-buffer-1.1.6"
-          (sources."is-data-descriptor-0.1.4" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          sources."is-descriptor-0.1.6"
-          sources."is-extendable-0.1.1"
-          sources."kind-of-5.1.0"
-          sources."ms-2.0.0"
-          sources."source-map-0.5.7"
-        ];
-      })
-      (sources."snapdragon-node-2.1.1" // {
-        dependencies = [
-          sources."define-property-1.0.0"
-        ];
-      })
-      (sources."snapdragon-util-3.0.1" // {
-        dependencies = [
-          sources."is-buffer-1.1.6"
-          sources."kind-of-3.2.2"
-        ];
-      })
-      sources."sockjs-0.3.24"
-      sources."source-list-map-2.0.1"
-      sources."source-map-0.7.4"
-      sources."source-map-js-1.0.2"
-      (sources."source-map-loader-3.0.1" // {
-        dependencies = [
-          sources."iconv-lite-0.6.3"
-        ];
-      })
-      sources."source-map-resolve-0.5.3"
-      (sources."source-map-support-0.5.21" // {
-        dependencies = [
-          sources."source-map-0.6.1"
-        ];
-      })
-      sources."source-map-url-0.4.1"
-      sources."sourcemap-codec-1.4.8"
-      sources."space-separated-tokens-1.1.5"
-      sources."spdx-correct-3.1.1"
-      sources."spdx-exceptions-2.3.0"
-      sources."spdx-expression-parse-3.0.1"
-      sources."spdx-license-ids-3.0.12"
-      sources."spdy-4.0.2"
-      sources."spdy-transport-3.0.0"
-      sources."split-string-3.1.0"
-      sources."sprintf-js-1.0.3"
-      sources."ssri-8.0.1"
-      sources."stable-0.1.8"
-      (sources."stack-utils-2.0.5" // {
-        dependencies = [
-          sources."escape-string-regexp-2.0.0"
-        ];
-      })
-      sources."stackframe-1.3.4"
-      sources."state-toggle-1.0.3"
-      (sources."static-extend-0.1.2" // {
-        dependencies = [
-          sources."define-property-0.2.5"
-          (sources."is-accessor-descriptor-0.1.6" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          sources."is-buffer-1.1.6"
-          (sources."is-data-descriptor-0.1.4" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          sources."is-descriptor-0.1.6"
-          sources."kind-of-5.1.0"
-        ];
-      })
-      sources."statuses-2.0.1"
-      sources."store2-2.14.2"
-      (sources."stream-browserify-2.0.2" // {
-        dependencies = [
-          sources."isarray-1.0.0"
-          sources."readable-stream-2.3.7"
-          sources."string_decoder-1.1.1"
-        ];
-      })
-      sources."stream-each-1.2.3"
-      (sources."stream-http-2.8.3" // {
-        dependencies = [
-          sources."isarray-1.0.0"
-          sources."readable-stream-2.3.7"
-          sources."string_decoder-1.1.1"
-        ];
-      })
-      sources."stream-shift-1.0.1"
-      sources."string-length-4.0.2"
-      sources."string-natural-compare-3.0.1"
-      (sources."string-width-4.2.3" // {
-        dependencies = [
-          sources."emoji-regex-8.0.0"
-        ];
-      })
-      sources."string.prototype.matchall-4.0.7"
-      sources."string.prototype.padend-3.1.3"
-      sources."string.prototype.padstart-3.1.3"
-      sources."string.prototype.trim-1.2.6"
-      sources."string.prototype.trimend-1.0.5"
-      sources."string.prototype.trimstart-1.0.5"
-      (sources."string_decoder-1.3.0" // {
-        dependencies = [
-          sources."safe-buffer-5.2.1"
-        ];
-      })
-      sources."stringify-object-3.3.0"
-      sources."strip-ansi-6.0.1"
-      sources."strip-bom-4.0.0"
-      sources."strip-comments-2.0.1"
-      sources."strip-final-newline-2.0.0"
-      sources."strip-indent-3.0.0"
-      sources."strip-json-comments-3.1.1"
-      sources."style-loader-2.0.0"
-      sources."style-to-object-0.3.0"
-      sources."stylis-4.0.13"
-      sources."supports-color-5.5.0"
-      (sources."supports-hyperlinks-2.2.0" // {
-        dependencies = [
-          sources."has-flag-4.0.0"
-          sources."supports-color-7.2.0"
-        ];
-      })
-      sources."supports-preserve-symlinks-flag-1.0.0"
-      sources."svg-parser-2.0.4"
-      (sources."svgo-1.3.2" // {
-        dependencies = [
-          sources."argparse-1.0.10"
-          sources."css-select-2.1.0"
-          sources."css-what-3.4.2"
-          sources."dom-serializer-0.2.2"
-          (sources."domutils-1.7.0" // {
-            dependencies = [
-              sources."domelementtype-1.3.1"
-            ];
-          })
-          sources."js-yaml-3.14.1"
-          sources."nth-check-1.0.2"
-        ];
-      })
-      sources."symbol-tree-3.2.4"
-      sources."symbol.prototype.description-1.0.5"
-      sources."synchronous-promise-2.0.15"
-      (sources."tailwindcss-3.1.8" // {
-        dependencies = [
-          sources."color-name-1.1.4"
-          sources."picocolors-1.0.0"
-          sources."postcss-8.4.16"
-          sources."postcss-import-14.1.0"
-          sources."postcss-js-4.0.0"
-          sources."postcss-load-config-3.1.4"
-          sources."postcss-nested-5.0.6"
-          sources."yaml-1.10.2"
-        ];
-      })
-      sources."tapable-1.1.3"
-      (sources."tar-6.1.11" // {
-        dependencies = [
-          sources."mkdirp-1.0.4"
-        ];
-      })
-      (sources."telejson-6.0.8" // {
-        dependencies = [
-          sources."isobject-4.0.0"
-        ];
-      })
-      sources."temp-dir-2.0.0"
-      (sources."tempy-0.6.0" // {
-        dependencies = [
-          sources."type-fest-0.16.0"
-        ];
-      })
-      sources."terminal-link-2.1.1"
-      (sources."terser-5.15.0" // {
-        dependencies = [
-          sources."acorn-8.8.0"
-          sources."commander-2.20.3"
-        ];
-      })
-      sources."terser-webpack-plugin-5.3.5"
-      sources."test-exclude-6.0.0"
-      sources."text-table-0.2.0"
-      sources."throat-6.0.1"
-      (sources."through2-2.0.5" // {
-        dependencies = [
-          sources."isarray-1.0.0"
-          sources."readable-stream-2.3.7"
-          sources."string_decoder-1.1.1"
-        ];
-      })
-      sources."thunky-1.1.0"
-      sources."timemachine-0.3.2"
-      sources."timers-browserify-2.0.12"
-      sources."tlds-1.231.0"
-      sources."tmpl-1.0.5"
-      sources."to-arraybuffer-1.0.1"
-      sources."to-fast-properties-2.0.0"
-      (sources."to-object-path-0.3.0" // {
-        dependencies = [
-          sources."is-buffer-1.1.6"
-          sources."kind-of-3.2.2"
-        ];
-      })
-      sources."to-regex-3.0.2"
-      sources."to-regex-range-5.0.1"
-      sources."toggle-selection-1.0.6"
-      sources."toidentifier-1.0.1"
-      (sources."tough-cookie-4.1.2" // {
-        dependencies = [
-          sources."universalify-0.2.0"
-        ];
-      })
-      sources."tr46-1.0.1"
-      sources."traverse-0.6.6"
-      sources."trim-0.0.1"
-      sources."trim-newlines-1.0.0"
-      sources."trim-trailing-lines-1.1.4"
-      sources."trough-1.0.5"
-      sources."tryer-1.0.1"
-      sources."ts-dedent-2.2.0"
-      sources."ts-pnp-1.2.0"
-      (sources."tsconfig-paths-3.14.1" // {
-        dependencies = [
-          sources."json5-1.0.1"
-          sources."strip-bom-3.0.0"
-        ];
-      })
-      sources."tslib-2.4.0"
-      (sources."tsutils-3.21.0" // {
-        dependencies = [
-          sources."tslib-1.14.1"
-        ];
-      })
-      sources."tty-browserify-0.0.0"
-      sources."type-check-0.4.0"
-      sources."type-detect-4.0.8"
-      sources."type-fest-0.20.2"
-      sources."type-is-1.6.18"
-      sources."typedarray-0.0.6"
-      sources."typedarray-to-buffer-3.1.5"
-      sources."typeface-open-sans-1.1.13"
-      sources."typescript-4.8.2"
-      sources."uc.micro-1.0.6"
-      sources."uglify-js-3.17.0"
-      sources."unbox-primitive-1.0.2"
-      sources."unfetch-4.2.0"
-      sources."unherit-1.1.3"
-      sources."unicode-canonical-property-names-ecmascript-2.0.0"
-      sources."unicode-match-property-ecmascript-2.0.0"
-      sources."unicode-match-property-value-ecmascript-2.0.0"
-      sources."unicode-property-aliases-ecmascript-2.0.0"
-      sources."unified-9.2.0"
-      (sources."union-value-1.0.1" // {
-        dependencies = [
-          sources."is-extendable-0.1.1"
-        ];
-      })
-      sources."unique-filename-1.1.1"
-      sources."unique-slug-2.0.2"
-      sources."unique-string-2.0.0"
-      sources."unist-builder-2.0.3"
-      sources."unist-util-generated-1.1.6"
-      sources."unist-util-is-4.1.0"
-      sources."unist-util-position-3.1.0"
-      sources."unist-util-remove-2.1.0"
-      sources."unist-util-remove-position-2.0.1"
-      sources."unist-util-stringify-position-2.0.3"
-      sources."unist-util-visit-2.0.3"
-      sources."unist-util-visit-parents-3.1.1"
-      sources."universalify-2.0.0"
-      sources."unpipe-1.0.0"
-      sources."unquote-1.1.1"
-      (sources."unset-value-1.0.0" // {
-        dependencies = [
-          (sources."has-value-0.3.1" // {
-            dependencies = [
-              sources."isobject-2.1.0"
-            ];
-          })
-          sources."has-values-0.1.4"
-          sources."isarray-1.0.0"
-        ];
-      })
-      sources."untildify-2.1.0"
-      sources."upath-1.2.0"
-      (sources."update-browserslist-db-1.0.5" // {
-        dependencies = [
-          sources."picocolors-1.0.0"
-        ];
-      })
-      sources."uri-js-4.4.1"
-      sources."urix-0.1.0"
-      (sources."url-0.11.0" // {
-        dependencies = [
-          sources."punycode-1.3.2"
-          sources."querystring-0.2.0"
-        ];
-      })
-      sources."url-loader-4.1.1"
-      sources."url-parse-1.5.10"
-      sources."use-3.1.1"
-      (sources."util-0.11.1" // {
-        dependencies = [
-          sources."inherits-2.0.3"
-        ];
-      })
-      sources."util-deprecate-1.0.2"
-      sources."util.promisify-1.0.1"
-      sources."utila-0.4.0"
-      sources."utils-merge-1.0.1"
-      sources."uuid-8.3.2"
-      sources."v8-to-istanbul-9.0.1"
-      sources."validate-npm-package-license-3.0.4"
-      sources."vary-1.1.2"
-      sources."vfile-4.2.1"
-      sources."vfile-location-3.2.0"
-      sources."vfile-message-2.0.4"
-      sources."vm-browserify-1.1.2"
-      sources."w3c-hr-time-1.0.2"
-      sources."w3c-xmlserializer-2.0.0"
-      sources."walker-1.0.8"
-      sources."watchpack-2.4.0"
-      (sources."watchpack-chokidar2-2.0.1" // {
-        dependencies = [
-          (sources."anymatch-2.0.0" // {
-            dependencies = [
-              sources."normalize-path-2.1.1"
-            ];
-          })
-          sources."binary-extensions-1.13.1"
-          (sources."braces-2.3.2" // {
-            dependencies = [
-              sources."extend-shallow-2.0.1"
-            ];
-          })
-          sources."chokidar-2.1.8"
-          (sources."fill-range-4.0.0" // {
-            dependencies = [
-              sources."extend-shallow-2.0.1"
-            ];
-          })
-          sources."fsevents-1.2.13"
-          (sources."glob-parent-3.1.0" // {
-            dependencies = [
-              sources."is-glob-3.1.0"
-            ];
-          })
-          sources."is-binary-path-1.0.1"
-          sources."is-buffer-1.1.6"
-          sources."is-extendable-0.1.1"
-          (sources."is-number-3.0.0" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          sources."isarray-1.0.0"
-          sources."micromatch-3.1.10"
-          sources."readable-stream-2.3.7"
-          sources."readdirp-2.2.1"
-          sources."string_decoder-1.1.1"
-          sources."to-regex-range-2.1.1"
-        ];
-      })
-      sources."wbuf-1.7.3"
-      sources."web-namespaces-1.1.4"
-      sources."webidl-conversions-6.1.0"
-      (sources."webpack-5.74.0" // {
-        dependencies = [
-          sources."acorn-8.8.0"
-          sources."acorn-import-assertions-1.8.0"
-          sources."eslint-scope-5.1.1"
-          sources."estraverse-4.3.0"
-          sources."tapable-2.2.1"
-        ];
-      })
-      sources."webpack-dev-middleware-4.3.0"
-      (sources."webpack-dev-server-4.10.0" // {
-        dependencies = [
-          sources."colorette-2.0.19"
-          sources."ipaddr.js-2.0.1"
-          sources."schema-utils-4.0.0"
-          sources."webpack-dev-middleware-5.3.3"
-        ];
-      })
-      sources."webpack-hot-middleware-2.25.2"
-      (sources."webpack-log-2.0.0" // {
-        dependencies = [
-          sources."uuid-3.4.0"
-        ];
-      })
-      (sources."webpack-manifest-plugin-4.1.1" // {
-        dependencies = [
-          sources."source-map-0.6.1"
-          sources."tapable-2.2.1"
-          sources."webpack-sources-2.3.1"
-        ];
-      })
-      sources."webpack-sources-3.2.3"
-      sources."webpack-virtual-modules-0.4.4"
-      sources."websocket-driver-0.7.4"
-      sources."websocket-extensions-0.1.4"
-      sources."whatwg-encoding-1.0.5"
-      sources."whatwg-fetch-3.6.2"
-      sources."whatwg-mimetype-2.3.0"
-      (sources."whatwg-url-6.5.0" // {
-        dependencies = [
-          sources."webidl-conversions-4.0.2"
-        ];
-      })
-      sources."which-2.0.2"
-      sources."which-boxed-primitive-1.0.2"
-      sources."wide-align-1.1.5"
-      sources."widest-line-3.1.0"
-      sources."word-wrap-1.2.3"
-      sources."wordwrap-1.0.0"
-      sources."workbox-background-sync-6.5.4"
-      sources."workbox-broadcast-update-6.5.4"
-      (sources."workbox-build-6.5.4" // {
-        dependencies = [
-          sources."source-map-0.8.0-beta.0"
-          sources."webidl-conversions-4.0.2"
-          sources."whatwg-url-7.1.0"
-        ];
-      })
-      sources."workbox-cacheable-response-6.5.4"
-      sources."workbox-core-6.5.4"
-      sources."workbox-expiration-6.5.4"
-      sources."workbox-google-analytics-6.5.4"
-      sources."workbox-navigation-preload-6.5.4"
-      sources."workbox-precaching-6.5.4"
-      sources."workbox-range-requests-6.5.4"
-      sources."workbox-recipes-6.5.4"
-      sources."workbox-routing-6.5.4"
-      sources."workbox-strategies-6.5.4"
-      sources."workbox-streams-6.5.4"
-      sources."workbox-sw-6.5.4"
-      (sources."workbox-webpack-plugin-6.5.4" // {
-        dependencies = [
-          sources."source-map-0.6.1"
-          sources."webpack-sources-1.4.3"
-        ];
-      })
-      sources."workbox-window-6.5.4"
-      sources."worker-farm-1.7.0"
-      sources."worker-rpc-0.1.1"
-      (sources."wrap-ansi-7.0.0" // {
-        dependencies = [
-          sources."ansi-styles-4.3.0"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-        ];
-      })
-      sources."wrappy-1.0.2"
-      sources."write-file-atomic-3.0.3"
-      sources."ws-8.8.1"
-      sources."x-default-browser-0.4.0"
-      sources."xml-name-validator-3.0.0"
-      sources."xmlchars-2.2.0"
-      sources."xtend-4.0.2"
-      sources."y18n-5.0.8"
-      sources."yallist-4.0.0"
-      sources."yaml-2.1.1"
-      sources."yargs-16.2.0"
-      sources."yargs-parser-20.2.9"
-      sources."yauzl-2.10.0"
-      sources."yocto-queue-0.1.0"
-      sources."zwitch-1.0.5"
-    ];
-    buildInputs = globalBuildInputs;
-    meta = {
-      license = "Apache-2.0";
-    };
-    production = false;
-    bypassCache = true;
-    reconstructLock = false;
-  };
-in
-{
-  args = args;
-  sources = sources;
-  tarball = nodeEnv.buildNodeSourceDist args;
-  package = nodeEnv.buildNodePackage args;
-  shell = nodeEnv.buildNodeShell args;
-  nodeDependencies = nodeEnv.buildNodeDependencies (lib.overrideExisting args {
-    src = stdenv.mkDerivation {
-      name = args.name + "-package-json";
-      src = nix-gitignore.gitignoreSourcePure [
-        "*"
-        "!package.json"
-        "!package-lock.json"
-      ] args.src;
-      dontBuild = true;
-      installPhase = "mkdir -p $out; cp -r ./* $out;";
-    };
-  });
-}
diff --git a/pkgs/servers/monitoring/karma/package.json b/pkgs/servers/monitoring/karma/package.json
deleted file mode 100644
index d1cad8f2fd7df..0000000000000
--- a/pkgs/servers/monitoring/karma/package.json
+++ /dev/null
@@ -1,138 +0,0 @@
-{
-  "name": "karma-ui",
-  "version": "0.0.1",
-  "license": "Apache-2.0",
-  "private": true,
-  "engines": {
-    "npm": ">=8.3 <9.0",
-    "node": "18.8.0"
-  },
-  "dependencies": {
-    "@floating-ui/react-dom": "1.0.0",
-    "@fortawesome/fontawesome-svg-core": "6.2.0",
-    "@fortawesome/free-regular-svg-icons": "6.2.0",
-    "@fortawesome/free-solid-svg-icons": "6.2.0",
-    "@fortawesome/react-fontawesome": "0.2.0",
-    "@juggle/resize-observer": "3.4.0",
-    "body-scroll-lock": "3.1.5",
-    "bootstrap": "5.2.0",
-    "bootswatch": "5.2.0",
-    "bricks.js": "1.8.0",
-    "copy-to-clipboard": "3.3.2",
-    "csshake": "1.7.0",
-    "date-fns": "2.29.2",
-    "downshift": "6.1.9",
-    "favico.js": "0.3.10",
-    "fontfaceobserver": "2.3.0",
-    "intersection-observer": "0.12.2",
-    "lodash.debounce": "4.0.8",
-    "lodash.merge": "4.6.2",
-    "lodash.throttle": "4.1.1",
-    "lodash.uniqueid": "4.0.1",
-    "mobx": "6.6.1",
-    "mobx-react-lite": "3.4.0",
-    "mobx-stored": "1.1.0",
-    "promise-retry": "2.0.1",
-    "qs": "6.11.0",
-    "react": "17.0.2",
-    "react-app-polyfill": "3.0.0",
-    "react-cool-dimensions": "2.0.7",
-    "react-day-picker": "8.2.0",
-    "react-dom": "17.0.2",
-    "react-hotkeys-hook": "3.4.7",
-    "react-idle-timer": "4.6.4",
-    "react-intersection-observer": "9.4.0",
-    "react-json-pretty": "2.2.0",
-    "react-linkify": "0.2.2",
-    "react-media-hook": "0.4.9",
-    "react-range": "1.8.14",
-    "react-select": "5.4.0",
-    "react-transition-group": "4.4.5",
-    "typeface-open-sans": "1.1.13"
-  },
-  "devDependencies": {
-    "@percy/cli": "1.10.1",
-    "@percy/storybook": "4.3.3",
-    "@storybook/builder-webpack5": "6.5.10",
-    "@storybook/manager-webpack5": "6.5.10",
-    "@storybook/preset-create-react-app": "4.1.2",
-    "@storybook/react": "6.5.10",
-    "@testing-library/jest-dom": "5.16.5",
-    "@testing-library/react": "12.1.5",
-    "@testing-library/react-hooks": "8.0.1",
-    "@testing-library/user-event": "14.4.3",
-    "@types/body-scroll-lock": "3.1.0",
-    "@types/bricks.js": "1.8.2",
-    "@types/enzyme": "3.10.12",
-    "@types/fontfaceobserver": "2.1.0",
-    "@types/jest": "29.0.0",
-    "@types/lodash.debounce": "4.0.7",
-    "@types/lodash.merge": "4.6.7",
-    "@types/lodash.throttle": "4.1.7",
-    "@types/lodash.uniqueid": "4.0.7",
-    "@types/node": "16.11.56",
-    "@types/promise-retry": "1.1.3",
-    "@types/qs": "6.9.7",
-    "@types/react": "17.0.49",
-    "@types/react-dom": "17.0.17",
-    "@wojtekmaj/enzyme-adapter-react-17": "0.6.7",
-    "diffable-html": "5.0.0",
-    "enzyme": "3.11.0",
-    "eslint-config-prettier": "8.5.0",
-    "eslint-config-react-app": "7.0.1",
-    "eslint-plugin-jest": "27.0.1",
-    "eslint-plugin-prettier": "4.2.1",
-    "fetch-mock": "9.11.0",
-    "prettier": "2.7.1",
-    "purgecss": "4.1.3",
-    "react-scripts": "5.0.1",
-    "sass": "1.54.8",
-    "timemachine": "0.3.2",
-    "typescript": "4.8.2"
-  },
-  "overrides": {
-    "react-scripts@5.0.1": {
-      "autoprefixer": "10.4.5"
-    }
-  },
-  "scripts": {
-    "start": "REACT_APP_BACKEND_URI=http://localhost:8080 react-scripts start",
-    "build": "react-scripts build",
-    "postbuild": "make backup-css && purgecss -c purgecss.config.js -o build/static/css",
-    "test": "react-scripts test",
-    "storybook": "start-storybook",
-    "snapshot": "build-storybook --quiet && percy storybook --verbose ./storybook-static",
-    "analyze": "npx source-map-explorer 'build/static/js/*.js'"
-  },
-  "jest": {
-    "collectCoverageFrom": [
-      "src/**/*.{js,ts,tsx}",
-      "!src/**/*.stories.{js,ts,tsx}",
-      "!src/__fixtures__/Stories.{js,ts,tsx}",
-      "!src/react-app-env.d.ts",
-      "!src/Models/*.ts"
-    ]
-  },
-  "browserslist": [
-    ">= 1%",
-    "last 1 major version",
-    "not dead",
-    "Chrome >= 49",
-    "Firefox >= 52",
-    "Edge >= 12",
-    "iOS >= 9",
-    "Safari >= 10",
-    "Android >= 4.4"
-  ],
-  "percy": {
-    "version": 2,
-    "snapshot": {
-      "widths": [
-        700,
-        1280
-      ],
-      "min-height": 200,
-      "enable-javascript": true
-    }
-  }
-}
diff --git a/pkgs/servers/monitoring/prometheus/default.nix b/pkgs/servers/monitoring/prometheus/default.nix
index 5a3d36570558a..e5bb3678a1646 100644
--- a/pkgs/servers/monitoring/prometheus/default.nix
+++ b/pkgs/servers/monitoring/prometheus/default.nix
@@ -31,10 +31,10 @@
 }:
 
 let
-  version = "2.45.0";
+  version = "2.46.0";
   webUiStatic = fetchurl {
     url = "https://github.com/prometheus/prometheus/releases/download/v${version}/prometheus-web-ui-${version}.tar.gz";
-    hash = "sha256-xfIxq1cFkLjSxjPPdCjgv+FOvbUGdeZpRecbSIFUAXo=";
+    hash = "sha256-H6RRyemawt9NRLTVG0iH4vNFNiuvdPZz7u43Zop0vVI=";
   };
 in
 buildGoModule rec {
@@ -47,10 +47,10 @@ buildGoModule rec {
     owner = "prometheus";
     repo = "prometheus";
     rev = "v${version}";
-    hash = "sha256-smc51YrWW8jPzmIkOi0kKaAGUS3TUXpzGDLyslhRVUE=";
+    hash = "sha256-TB4N5aAfNw34HJ1HSt6rHTETTyAgpGA8B5VOFHisZFU=";
   };
 
-  vendorHash = "sha256-W958ODhmRL4GAM6hZd71BgEmrwrzR2XHoDrc+rBo4TI=";
+  vendorHash = "sha256-jeGtna7IeKAOiu4FFA2xRv+fwpzCpnqwI5nj641dlM4=";
 
   excludedPackages = [ "documentation/prometheus-mixin" ];
 
diff --git a/pkgs/servers/monitoring/prometheus/sachet.nix b/pkgs/servers/monitoring/prometheus/sachet.nix
index 7bf7b4dc26a57..20dda305543c9 100644
--- a/pkgs/servers/monitoring/prometheus/sachet.nix
+++ b/pkgs/servers/monitoring/prometheus/sachet.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "sachet";
-  version = "0.3.1";
+  version = "0.3.2";
 
   src = fetchFromGitHub {
     owner = "messagebird";
     repo = pname;
     rev = version;
-    sha256 = "sha256-zcFViE1/B+wrkxZ3YIyfy2IBbxLvXOf8iK/6eqZb1ZQ=";
+    hash = "sha256-zcFViE1/B+wrkxZ3YIyfy2IBbxLvXOf8iK/6eqZb1ZQ=";
   };
 
-  vendorSha256 = null;
+  vendorHash = null;
 
   meta = with lib; {
     description = "An SMS alerting tool for Prometheus's Alertmanager";
diff --git a/pkgs/servers/monitoring/prometheus/varnish-exporter.nix b/pkgs/servers/monitoring/prometheus/varnish-exporter.nix
index 8f9e5884ae7c2..a6fb147e758eb 100644
--- a/pkgs/servers/monitoring/prometheus/varnish-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/varnish-exporter.nix
@@ -26,6 +26,6 @@ buildGoModule rec {
     homepage = "https://github.com/jonnenauha/prometheus_varnish_exporter";
     description = "Varnish exporter for Prometheus";
     license = lib.licenses.mit;
-    maintainers = with lib.maintainers; [ MostAwesomeDude willibutz ];
+    maintainers = with lib.maintainers; [ MostAwesomeDude ];
   };
 }
diff --git a/pkgs/servers/nosql/ferretdb/default.nix b/pkgs/servers/nosql/ferretdb/default.nix
index af9190af1ce14..e5b8bf0f79a42 100644
--- a/pkgs/servers/nosql/ferretdb/default.nix
+++ b/pkgs/servers/nosql/ferretdb/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "ferretdb";
-  version = "1.6.0";
+  version = "1.6.1";
 
   src = fetchFromGitHub {
     owner = "FerretDB";
     repo = "FerretDB";
     rev = "v${version}";
-    hash = "sha256-HRU2s+i6Be0gRsU7kNfloouBLbgZtnn6OiXYaeUYtiQ=";
+    hash = "sha256-DRI05dGEzaQtI9+SEbFqK5i/8b4hmaoJubDI/6K8vUc=";
   };
 
   postPatch = ''
diff --git a/pkgs/servers/nosql/mongodb/mongodb.nix b/pkgs/servers/nosql/mongodb/mongodb.nix
index ea4ac699d4d08..ff82755d8cd79 100644
--- a/pkgs/servers/nosql/mongodb/mongodb.nix
+++ b/pkgs/servers/nosql/mongodb/mongodb.nix
@@ -149,6 +149,9 @@ in stdenv.mkDerivation rec {
   ] ++ lib.optionals (versionAtLeast version "4.4") [ "--link-model=static" ]
     ++ map (lib: "--use-system-${lib}") system-libraries;
 
+  # This seems to fix mongodb not able to find OpenSSL's crypto.h during build
+  hardeningDisable = [ "fortify3" ];
+
   preBuild = ''
     sconsFlags+=" CC=$CC"
     sconsFlags+=" CXX=$CXX"
diff --git a/pkgs/servers/openvscode-server/default.nix b/pkgs/servers/openvscode-server/default.nix
index 8ce4b7676e447..43f9d7a7fe739 100644
--- a/pkgs/servers/openvscode-server/default.nix
+++ b/pkgs/servers/openvscode-server/default.nix
@@ -219,5 +219,6 @@ stdenv.mkDerivation (finalAttrs: {
     license = lib.licenses.mit;
     maintainers = with lib.maintainers; [ dguenther ghuntley emilytrau ];
     platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ];
+    mainProgram = "openvscode-server";
   };
 })
diff --git a/pkgs/servers/owncast/default.nix b/pkgs/servers/owncast/default.nix
index 428b0253e8ca9..e5c0a8fbaf2bb 100644
--- a/pkgs/servers/owncast/default.nix
+++ b/pkgs/servers/owncast/default.nix
@@ -1,42 +1,32 @@
-{ lib, buildGoModule, fetchFromGitHub, nixosTests, bash, which, ffmpeg, makeWrapper, coreutils, ... }:
-
-buildGoModule rec {
+{ lib
+, buildGoModule
+, fetchFromGitHub
+, nixosTests
+, bash
+, which
+, ffmpeg
+, makeBinaryWrapper
+}:
+
+let
+  version = "0.1.1";
+in buildGoModule {
   pname = "owncast";
-  version = "0.0.13";
-
+  inherit version;
   src = fetchFromGitHub {
     owner = "owncast";
     repo = "owncast";
     rev = "v${version}";
-    sha256 = "sha256-hbZtdJbCB+67KXtApSRAO7Srye+UO0FbilKftQH6ESE=";
+    hash = "sha256-nBTuvVVnFlC75p8bRCN+lNl9fExBZrsLEesvXWwNlAQ=";
   };
-
-  vendorSha256 = "sha256-sQRNf+eT9JUbYne/3E9LoY0K+c7MlxtIbGmTa3VkHvI=";
+  vendorHash = "sha256-yjy5bDJjWk7UotBVqvVFiGx8mpfhpqMTxoQm/eWHcw4=";
 
   propagatedBuildInputs = [ ffmpeg ];
 
-  nativeBuildInputs = [ makeWrapper ];
-
-  preInstall = ''
-    mkdir -p $out
-    cp -r $src/{static,webroot} $out
-  '';
-
-  postInstall = let
-
-    setupScript = ''
-      [ ! -d "$PWD/webroot" ] && (
-        ${coreutils}/bin/cp --no-preserve=mode -r "${placeholder "out"}/webroot" "$PWD"
-      )
+  nativeBuildInputs = [ makeBinaryWrapper ];
 
-      [ ! -d "$PWD/static" ] && (
-        [ -L "$PWD/static" ] && ${coreutils}/bin/rm "$PWD/static"
-        ${coreutils}/bin/ln -s "${placeholder "out"}/static" "$PWD"
-      )
-    '';
-  in ''
+  postInstall = ''
     wrapProgram $out/bin/owncast \
-      --run '${setupScript}' \
       --prefix PATH : ${lib.makeBinPath [ bash which ffmpeg ]}
   '';
 
diff --git a/pkgs/servers/pocketbase/default.nix b/pkgs/servers/pocketbase/default.nix
index f65d83c088960..4e5079206bdcd 100644
--- a/pkgs/servers/pocketbase/default.nix
+++ b/pkgs/servers/pocketbase/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "pocketbase";
-  version = "0.16.8";
+  version = "0.16.10";
 
   src = fetchFromGitHub {
     owner = "pocketbase";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-wZp7WfSdKN9oF6mZsT4QsKvY53MsggbEmBS8TkCFkuU=";
+    sha256 = "sha256-BH3hJ+5xAJkGj2HoKpee+ZNgMmyQoHEVI0wsXRwIdGw=";
   };
 
   vendorHash = "sha256-h3lkmpHEMr/aueP+lJpa9HJCidEpm7xSKws28+ZSeQA=";
diff --git a/pkgs/servers/polaris/Cargo.lock b/pkgs/servers/polaris/Cargo.lock
new file mode 100644
index 0000000000000..556faca98e8e8
--- /dev/null
+++ b/pkgs/servers/polaris/Cargo.lock
@@ -0,0 +1,2497 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 3
+
+[[package]]
+name = "actix-codec"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "57a7559404a7f3573127aab53c08ce37a6c6a315c374a31070f3c91cd1b4a7fe"
+dependencies = [
+ "bitflags",
+ "bytes",
+ "futures-core",
+ "futures-sink",
+ "log",
+ "memchr",
+ "pin-project-lite",
+ "tokio",
+ "tokio-util",
+]
+
+[[package]]
+name = "actix-files"
+version = "0.6.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d832782fac6ca7369a70c9ee9a20554623c5e51c76e190ad151780ebea1cf689"
+dependencies = [
+ "actix-http",
+ "actix-service",
+ "actix-utils",
+ "actix-web",
+ "askama_escape",
+ "bitflags",
+ "bytes",
+ "derive_more",
+ "futures-core",
+ "http-range",
+ "log",
+ "mime",
+ "mime_guess",
+ "percent-encoding",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "actix-http"
+version = "3.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0c83abf9903e1f0ad9973cc4f7b9767fd5a03a583f51a5b7a339e07987cd2724"
+dependencies = [
+ "actix-codec",
+ "actix-rt",
+ "actix-service",
+ "actix-utils",
+ "ahash",
+ "base64",
+ "bitflags",
+ "brotli",
+ "bytes",
+ "bytestring",
+ "derive_more",
+ "encoding_rs",
+ "flate2",
+ "futures-core",
+ "h2",
+ "http",
+ "httparse",
+ "httpdate",
+ "itoa",
+ "language-tags",
+ "local-channel",
+ "mime",
+ "percent-encoding",
+ "pin-project-lite",
+ "rand",
+ "sha1 0.10.5",
+ "smallvec",
+ "tracing",
+ "zstd",
+]
+
+[[package]]
+name = "actix-http-test"
+version = "3.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f40511826540d084fbcd68ee65b75b1849961c1760a193b09180a4851f20075b"
+dependencies = [
+ "actix-codec",
+ "actix-rt",
+ "actix-server",
+ "actix-service",
+ "actix-tls",
+ "actix-utils",
+ "awc",
+ "base64",
+ "bytes",
+ "futures-core",
+ "http",
+ "log",
+ "serde",
+ "serde_json",
+ "serde_urlencoded",
+ "slab",
+ "socket2",
+ "tokio",
+]
+
+[[package]]
+name = "actix-macros"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "465a6172cf69b960917811022d8f29bc0b7fa1398bc4f78b3c466673db1213b6"
+dependencies = [
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "actix-router"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d66ff4d247d2b160861fa2866457e85706833527840e4133f8f49aa423a38799"
+dependencies = [
+ "bytestring",
+ "http",
+ "regex",
+ "serde",
+ "tracing",
+]
+
+[[package]]
+name = "actix-rt"
+version = "2.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7ea16c295198e958ef31930a6ef37d0fb64e9ca3b6116e6b93a8bdae96ee1000"
+dependencies = [
+ "actix-macros",
+ "futures-core",
+ "tokio",
+]
+
+[[package]]
+name = "actix-server"
+version = "2.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0da34f8e659ea1b077bb4637948b815cd3768ad5a188fdcd74ff4d84240cd824"
+dependencies = [
+ "actix-rt",
+ "actix-service",
+ "actix-utils",
+ "futures-core",
+ "futures-util",
+ "mio",
+ "num_cpus",
+ "socket2",
+ "tokio",
+ "tracing",
+]
+
+[[package]]
+name = "actix-service"
+version = "2.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3b894941f818cfdc7ccc4b9e60fa7e53b5042a2e8567270f9147d5591893373a"
+dependencies = [
+ "futures-core",
+ "paste",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "actix-test"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "546b075f2ee13e081a040b60b95a08f0eceaac6bc759309026611234dc80abfe"
+dependencies = [
+ "actix-codec",
+ "actix-http",
+ "actix-http-test",
+ "actix-rt",
+ "actix-service",
+ "actix-utils",
+ "actix-web",
+ "awc",
+ "futures-core",
+ "futures-util",
+ "log",
+ "serde",
+ "serde_json",
+ "serde_urlencoded",
+ "tokio",
+]
+
+[[package]]
+name = "actix-tls"
+version = "3.0.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9fde0cf292f7cdc7f070803cb9a0d45c018441321a78b1042ffbbb81ec333297"
+dependencies = [
+ "actix-codec",
+ "actix-rt",
+ "actix-service",
+ "actix-utils",
+ "futures-core",
+ "http",
+ "log",
+ "pin-project-lite",
+ "tokio-util",
+]
+
+[[package]]
+name = "actix-utils"
+version = "3.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "88a1dcdff1466e3c2488e1cb5c36a71822750ad43839937f85d2f4d9f8b705d8"
+dependencies = [
+ "local-waker",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "actix-web"
+version = "4.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d48f7b6534e06c7bfc72ee91db7917d4af6afe23e7d223b51e68fffbb21e96b9"
+dependencies = [
+ "actix-codec",
+ "actix-http",
+ "actix-macros",
+ "actix-router",
+ "actix-rt",
+ "actix-server",
+ "actix-service",
+ "actix-utils",
+ "actix-web-codegen",
+ "ahash",
+ "bytes",
+ "bytestring",
+ "cfg-if",
+ "cookie 0.16.1",
+ "derive_more",
+ "encoding_rs",
+ "futures-core",
+ "futures-util",
+ "http",
+ "itoa",
+ "language-tags",
+ "log",
+ "mime",
+ "once_cell",
+ "pin-project-lite",
+ "regex",
+ "serde",
+ "serde_json",
+ "serde_urlencoded",
+ "smallvec",
+ "socket2",
+ "time 0.3.17",
+ "url",
+]
+
+[[package]]
+name = "actix-web-codegen"
+version = "4.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1fa9362663c8643d67b2d5eafba49e4cb2c8a053a29ed00a0bea121f17c76b13"
+dependencies = [
+ "actix-router",
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "actix-web-httpauth"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6dda62cf04bc3a9ad2ea8f314f721951cfdb4cdacec4e984d20e77c7bb170991"
+dependencies = [
+ "actix-utils",
+ "actix-web",
+ "base64",
+ "futures-core",
+ "futures-util",
+ "log",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "adler"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
+
+[[package]]
+name = "ahash"
+version = "0.7.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47"
+dependencies = [
+ "getrandom",
+ "once_cell",
+ "version_check",
+]
+
+[[package]]
+name = "aho-corasick"
+version = "0.7.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b4f55bd91a0978cbfd91c457a164bab8b4001c833b7f323132c0a4e1922dd44e"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "alloc-no-stdlib"
+version = "2.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cc7bb162ec39d46ab1ca8c77bf72e890535becd1751bb45f64c597edb4c8c6b3"
+
+[[package]]
+name = "alloc-stdlib"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "94fb8275041c72129eb51b7d0322c29b8387a0386127718b096429201a5d6ece"
+dependencies = [
+ "alloc-no-stdlib",
+]
+
+[[package]]
+name = "ape"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "38b10e5fe31529dbfc2d339c781d9951c94e97a791077273676ccc3041a01d4a"
+dependencies = [
+ "byteorder",
+]
+
+[[package]]
+name = "askama_escape"
+version = "0.10.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "619743e34b5ba4e9703bba34deac3427c72507c7159f5fd030aea8cac0cfe341"
+
+[[package]]
+name = "autocfg"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
+
+[[package]]
+name = "awc"
+version = "3.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "80ca7ff88063086d2e2c70b9f3b29b2fcd999bac68ac21731e66781970d68519"
+dependencies = [
+ "actix-codec",
+ "actix-http",
+ "actix-rt",
+ "actix-service",
+ "actix-tls",
+ "actix-utils",
+ "ahash",
+ "base64",
+ "bytes",
+ "cfg-if",
+ "cookie 0.16.1",
+ "derive_more",
+ "futures-core",
+ "futures-util",
+ "h2",
+ "http",
+ "itoa",
+ "log",
+ "mime",
+ "percent-encoding",
+ "pin-project-lite",
+ "rand",
+ "serde",
+ "serde_json",
+ "serde_urlencoded",
+ "tokio",
+]
+
+[[package]]
+name = "base-x"
+version = "0.2.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4cbbc9d0964165b47557570cce6c952866c2678457aca742aafc9fb771d30270"
+
+[[package]]
+name = "base64"
+version = "0.13.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8"
+
+[[package]]
+name = "base64ct"
+version = "1.5.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b645a089122eccb6111b4f81cbc1a49f5900ac4666bb93ac027feaecf15607bf"
+
+[[package]]
+name = "bitflags"
+version = "1.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
+
+[[package]]
+name = "block-buffer"
+version = "0.10.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "69cce20737498f97b993470a6e536b8523f0af7892a4f928cceb1ac5e52ebe7e"
+dependencies = [
+ "generic-array",
+]
+
+[[package]]
+name = "boxfnonce"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5988cb1d626264ac94100be357308f29ff7cbdd3b36bda27f450a4ee3f713426"
+
+[[package]]
+name = "branca"
+version = "0.10.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "04de6ca7d864c7bdf6da0d4f33c9c447794856070d89e697ce87fd43d75f5f3f"
+dependencies = [
+ "base-x",
+ "byteorder",
+ "orion",
+]
+
+[[package]]
+name = "brotli"
+version = "3.3.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a1a0b1dbcc8ae29329621f8d4f0d835787c1c38bb1401979b49d13b0b305ff68"
+dependencies = [
+ "alloc-no-stdlib",
+ "alloc-stdlib",
+ "brotli-decompressor",
+]
+
+[[package]]
+name = "brotli-decompressor"
+version = "2.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "59ad2d4653bf5ca36ae797b1f4bb4dbddb60ce49ca4aed8a2ce4829f60425b80"
+dependencies = [
+ "alloc-no-stdlib",
+ "alloc-stdlib",
+]
+
+[[package]]
+name = "bumpalo"
+version = "3.11.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "572f695136211188308f16ad2ca5c851a712c464060ae6974944458eb83880ba"
+
+[[package]]
+name = "bytemuck"
+version = "1.12.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "aaa3a8d9a1ca92e282c96a32d6511b695d7d994d1d102ba85d279f9b2756947f"
+
+[[package]]
+name = "byteorder"
+version = "1.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
+
+[[package]]
+name = "bytes"
+version = "1.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ec8a7b6a70fde80372154c65702f00a0f56f3e1c36abbc6c440484be248856db"
+
+[[package]]
+name = "bytestring"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f7f83e57d9154148e355404702e2694463241880b939570d7c97c014da7a69a1"
+dependencies = [
+ "bytes",
+]
+
+[[package]]
+name = "cc"
+version = "1.0.74"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "581f5dba903aac52ea3feb5ec4810848460ee833876f1f9b0fdeab1f19091574"
+dependencies = [
+ "jobserver",
+]
+
+[[package]]
+name = "cfg-if"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+
+[[package]]
+name = "chunked_transfer"
+version = "1.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fff857943da45f546682664a79488be82e69e43c1a7a2307679ab9afb3a66d2e"
+
+[[package]]
+name = "color_quant"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b"
+
+[[package]]
+name = "const_fn"
+version = "0.4.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fbdcdcb6d86f71c5e97409ad45898af11cbc995b4ee8112d59095a28d376c935"
+
+[[package]]
+name = "convert_case"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e"
+
+[[package]]
+name = "cookie"
+version = "0.14.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "03a5d7b21829bc7b4bf4754a978a241ae54ea55a40f92bb20216e54096f4b951"
+dependencies = [
+ "percent-encoding",
+ "time 0.2.27",
+ "version_check",
+]
+
+[[package]]
+name = "cookie"
+version = "0.16.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "344adc371239ef32293cb1c4fe519592fcf21206c79c02854320afcdf3ab4917"
+dependencies = [
+ "percent-encoding",
+ "time 0.3.17",
+ "version_check",
+]
+
+[[package]]
+name = "cookie_store"
+version = "0.12.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3818dfca4b0cb5211a659bbcbb94225b7127407b2b135e650d717bfb78ab10d3"
+dependencies = [
+ "cookie 0.14.4",
+ "idna 0.2.3",
+ "log",
+ "publicsuffix",
+ "serde",
+ "serde_json",
+ "time 0.2.27",
+ "url",
+]
+
+[[package]]
+name = "cpufeatures"
+version = "0.2.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "28d997bd5e24a5928dd43e46dc529867e207907fe0b239c3477d924f7f2ca320"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "crc32fast"
+version = "1.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d"
+dependencies = [
+ "cfg-if",
+]
+
+[[package]]
+name = "crossbeam-channel"
+version = "0.5.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c2dd04ddaf88237dc3b8d8f9a3c1004b506b54b3313403944054d23c0870c521"
+dependencies = [
+ "cfg-if",
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "crossbeam-deque"
+version = "0.8.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "715e8152b692bba2d374b53d4875445368fdf21a94751410af607a5ac677d1fc"
+dependencies = [
+ "cfg-if",
+ "crossbeam-epoch",
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "crossbeam-epoch"
+version = "0.9.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f916dfc5d356b0ed9dae65f1db9fc9770aa2851d2662b988ccf4fe3516e86348"
+dependencies = [
+ "autocfg",
+ "cfg-if",
+ "crossbeam-utils",
+ "memoffset",
+ "scopeguard",
+]
+
+[[package]]
+name = "crossbeam-utils"
+version = "0.8.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "edbafec5fa1f196ca66527c1b12c2ec4745ca14b50f1ad8f9f6f720b55d11fac"
+dependencies = [
+ "cfg-if",
+]
+
+[[package]]
+name = "crypto-common"
+version = "0.1.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3"
+dependencies = [
+ "generic-array",
+ "typenum",
+]
+
+[[package]]
+name = "ct-codecs"
+version = "1.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f3b7eb4404b8195a9abb6356f4ac07d8ba267045c8d6d220ac4dc992e6cc75df"
+
+[[package]]
+name = "daemonize"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "70c24513e34f53b640819f0ac9f705b673fcf4006d7aab8778bee72ebfc89815"
+dependencies = [
+ "boxfnonce",
+ "libc",
+]
+
+[[package]]
+name = "derive_more"
+version = "0.99.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321"
+dependencies = [
+ "convert_case",
+ "proc-macro2",
+ "quote",
+ "rustc_version 0.4.0",
+ "syn",
+]
+
+[[package]]
+name = "diesel"
+version = "2.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "68c186a7418a2aac330bb76cde82f16c36b03a66fb91db32d20214311f9f6545"
+dependencies = [
+ "diesel_derives",
+ "libsqlite3-sys",
+ "r2d2",
+]
+
+[[package]]
+name = "diesel_derives"
+version = "2.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "143b758c91dbc3fe1fdcb0dba5bd13276c6a66422f2ef5795b58488248a310aa"
+dependencies = [
+ "proc-macro-error",
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "diesel_migrations"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e9ae22beef5e9d6fab9225ddb073c1c6c1a7a6ded5019d5da11d1e5c5adc34e2"
+dependencies = [
+ "diesel",
+ "migrations_internals",
+ "migrations_macros",
+]
+
+[[package]]
+name = "digest"
+version = "0.10.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "adfbc57365a37acbd2ebf2b64d7e69bb766e2fea813521ed536f5d0520dcf86c"
+dependencies = [
+ "block-buffer",
+ "crypto-common",
+ "subtle",
+]
+
+[[package]]
+name = "discard"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "212d0f5754cb6769937f4501cc0e67f4f4483c8d2c3e1e922ee9edbe4ab4c7c0"
+
+[[package]]
+name = "either"
+version = "1.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797"
+
+[[package]]
+name = "encoding_rs"
+version = "0.8.31"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9852635589dc9f9ea1b6fe9f05b50ef208c85c834a562f0c6abb1c475736ec2b"
+dependencies = [
+ "cfg-if",
+]
+
+[[package]]
+name = "fiat-crypto"
+version = "0.1.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a214f5bb88731d436478f3ae1f8a277b62124089ba9fb67f4f93fb100ef73c90"
+
+[[package]]
+name = "flate2"
+version = "1.0.24"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f82b0f4c27ad9f8bfd1f3208d882da2b09c301bc1c828fd3a00d0216d2fbbff6"
+dependencies = [
+ "crc32fast",
+ "miniz_oxide 0.5.4",
+]
+
+[[package]]
+name = "fnv"
+version = "1.0.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
+
+[[package]]
+name = "form_urlencoded"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8"
+dependencies = [
+ "percent-encoding",
+]
+
+[[package]]
+name = "fs_extra"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2022715d62ab30faffd124d40b76f4134a550a87792276512b18d63272333394"
+
+[[package]]
+name = "futures-core"
+version = "0.3.25"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "04909a7a7e4633ae6c4a9ab280aeb86da1236243a77b694a49eacd659a4bd3ac"
+
+[[package]]
+name = "futures-macro"
+version = "0.3.25"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bdfb8ce053d86b91919aad980c220b1fb8401a9394410e1c289ed7e66b61835d"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "futures-sink"
+version = "0.3.25"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "39c15cf1a4aa79df40f1bb462fb39676d0ad9e366c2a33b590d7c66f4f81fcf9"
+
+[[package]]
+name = "futures-task"
+version = "0.3.25"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2ffb393ac5d9a6eaa9d3fdf37ae2776656b706e200c8e16b1bdb227f5198e6ea"
+
+[[package]]
+name = "futures-util"
+version = "0.3.25"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "197676987abd2f9cadff84926f410af1c183608d36641465df73ae8211dc65d6"
+dependencies = [
+ "futures-core",
+ "futures-macro",
+ "futures-sink",
+ "futures-task",
+ "pin-project-lite",
+ "pin-utils",
+ "slab",
+]
+
+[[package]]
+name = "generic-array"
+version = "0.14.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bff49e947297f3312447abdca79f45f4738097cc82b06e72054d2223f601f1b9"
+dependencies = [
+ "typenum",
+ "version_check",
+]
+
+[[package]]
+name = "getopts"
+version = "0.2.21"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "14dbbfd5c71d70241ecf9e6f13737f7b5ce823821063188d7e46c41d371eebd5"
+dependencies = [
+ "unicode-width",
+]
+
+[[package]]
+name = "getrandom"
+version = "0.2.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "wasi",
+]
+
+[[package]]
+name = "gif"
+version = "0.11.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3edd93c6756b4dfaf2709eafcc345ba2636565295c198a9cfbf75fa5e3e00b06"
+dependencies = [
+ "color_quant",
+ "weezl",
+]
+
+[[package]]
+name = "h2"
+version = "0.3.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5f9f29bc9dda355256b2916cf526ab02ce0aeaaaf2bad60d65ef3f12f11dd0f4"
+dependencies = [
+ "bytes",
+ "fnv",
+ "futures-core",
+ "futures-sink",
+ "futures-util",
+ "http",
+ "indexmap",
+ "slab",
+ "tokio",
+ "tokio-util",
+ "tracing",
+]
+
+[[package]]
+name = "hashbrown"
+version = "0.12.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
+
+[[package]]
+name = "headers"
+version = "0.3.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f3e372db8e5c0d213e0cd0b9be18be2aca3d44cf2fe30a9d46a65581cd454584"
+dependencies = [
+ "base64",
+ "bitflags",
+ "bytes",
+ "headers-core",
+ "http",
+ "httpdate",
+ "mime",
+ "sha1 0.10.5",
+]
+
+[[package]]
+name = "headers-core"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e7f66481bfee273957b1f20485a4ff3362987f85b2c236580d81b4eb7a326429"
+dependencies = [
+ "http",
+]
+
+[[package]]
+name = "hermit-abi"
+version = "0.1.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "hex"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
+
+[[package]]
+name = "hmac"
+version = "0.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e"
+dependencies = [
+ "digest",
+]
+
+[[package]]
+name = "http"
+version = "0.2.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399"
+dependencies = [
+ "bytes",
+ "fnv",
+ "itoa",
+]
+
+[[package]]
+name = "http-range"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "21dec9db110f5f872ed9699c3ecf50cf16f423502706ba5c72462e28d3157573"
+
+[[package]]
+name = "httparse"
+version = "1.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904"
+
+[[package]]
+name = "httpdate"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421"
+
+[[package]]
+name = "id3"
+version = "1.4.0"
+source = "git+https://github.com/polyfloyd/rust-id3.git?rev=f3b5e3a#f3b5e3ac324c07c2cd5364469734ffb7a0228f77"
+dependencies = [
+ "bitflags",
+ "byteorder",
+ "flate2",
+]
+
+[[package]]
+name = "idna"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8"
+dependencies = [
+ "matches",
+ "unicode-bidi",
+ "unicode-normalization",
+]
+
+[[package]]
+name = "idna"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6"
+dependencies = [
+ "unicode-bidi",
+ "unicode-normalization",
+]
+
+[[package]]
+name = "image"
+version = "0.24.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bd8e4fb07cf672b1642304e731ef8a6a4c7891d67bb4fd4f5ce58cd6ed86803c"
+dependencies = [
+ "bytemuck",
+ "byteorder",
+ "color_quant",
+ "gif",
+ "jpeg-decoder",
+ "num-rational",
+ "num-traits",
+ "png",
+]
+
+[[package]]
+name = "indexmap"
+version = "1.9.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "10a35a97730320ffe8e2d410b5d3b69279b98d2c14bdb8b70ea89ecf7888d41e"
+dependencies = [
+ "autocfg",
+ "hashbrown",
+]
+
+[[package]]
+name = "itoa"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4217ad341ebadf8d8e724e264f13e593e0648f5b3e94b3896a5df283be015ecc"
+
+[[package]]
+name = "jobserver"
+version = "0.1.25"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "068b1ee6743e4d11fb9c6a1e6064b3693a1b600e7f5f5988047d98b3dc9fb90b"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "jpeg-decoder"
+version = "0.2.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9478aa10f73e7528198d75109c8be5cd7d15fb530238040148d5f9a22d4c5b3b"
+
+[[package]]
+name = "js-sys"
+version = "0.3.60"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "49409df3e3bf0856b916e2ceaca09ee28e6871cf7d9ce97a692cacfdb2a25a47"
+dependencies = [
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "language-tags"
+version = "0.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d4345964bb142484797b161f473a503a434de77149dd8c7427788c6e13379388"
+
+[[package]]
+name = "lazy_static"
+version = "1.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
+
+[[package]]
+name = "lewton"
+version = "0.10.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "777b48df9aaab155475a83a7df3070395ea1ac6902f5cd062b8f2b028075c030"
+dependencies = [
+ "byteorder",
+ "ogg",
+ "tinyvec",
+]
+
+[[package]]
+name = "libc"
+version = "0.2.137"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fc7fcc620a3bff7cdd7a365be3376c97191aeaccc2a603e600951e452615bf89"
+
+[[package]]
+name = "libsqlite3-sys"
+version = "0.25.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "29f835d03d717946d28b1d1ed632eb6f0e24a299388ee623d0c23118d3e8a7fa"
+dependencies = [
+ "cc",
+ "pkg-config",
+ "vcpkg",
+]
+
+[[package]]
+name = "local-channel"
+version = "0.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7f303ec0e94c6c54447f84f3b0ef7af769858a9c4ef56ef2a986d3dcd4c3fc9c"
+dependencies = [
+ "futures-core",
+ "futures-sink",
+ "futures-util",
+ "local-waker",
+]
+
+[[package]]
+name = "local-waker"
+version = "0.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e34f76eb3611940e0e7d53a9aaa4e6a3151f69541a282fd0dad5571420c53ff1"
+
+[[package]]
+name = "lock_api"
+version = "0.4.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df"
+dependencies = [
+ "autocfg",
+ "scopeguard",
+]
+
+[[package]]
+name = "log"
+version = "0.4.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e"
+dependencies = [
+ "cfg-if",
+]
+
+[[package]]
+name = "matches"
+version = "0.1.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f"
+
+[[package]]
+name = "md5"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "490cc448043f947bae3cbee9c203358d62dbee0db12107a74be5c30ccfd09771"
+
+[[package]]
+name = "memchr"
+version = "2.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
+
+[[package]]
+name = "memoffset"
+version = "0.6.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "metaflac"
+version = "0.2.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e1470d3cc1bb0d692af5eb3afb594330b8ba09fd91c32c4e1c6322172a5ba750"
+dependencies = [
+ "byteorder",
+ "hex",
+ "log",
+]
+
+[[package]]
+name = "migrations_internals"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c493c09323068c01e54c685f7da41a9ccf9219735c3766fbfd6099806ea08fbc"
+dependencies = [
+ "serde",
+ "toml",
+]
+
+[[package]]
+name = "migrations_macros"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a8ff27a350511de30cdabb77147501c36ef02e0451d957abea2f30caffb2b58"
+dependencies = [
+ "migrations_internals",
+ "proc-macro2",
+ "quote",
+]
+
+[[package]]
+name = "mime"
+version = "0.3.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d"
+
+[[package]]
+name = "mime_guess"
+version = "2.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4192263c238a5f0d0c6bfd21f336a313a4ce1c450542449ca191bb657b4642ef"
+dependencies = [
+ "mime",
+ "unicase",
+]
+
+[[package]]
+name = "miniz_oxide"
+version = "0.5.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "96590ba8f175222643a85693f33d26e9c8a015f599c216509b1a6894af675d34"
+dependencies = [
+ "adler",
+]
+
+[[package]]
+name = "miniz_oxide"
+version = "0.6.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b275950c28b37e794e8c55d88aeb5e139d0ce23fdbbeda68f8d7174abdf9e8fa"
+dependencies = [
+ "adler",
+]
+
+[[package]]
+name = "mio"
+version = "0.8.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e5d732bc30207a6423068df043e3d02e0735b155ad7ce1a6f76fe2baa5b158de"
+dependencies = [
+ "libc",
+ "log",
+ "wasi",
+ "windows-sys",
+]
+
+[[package]]
+name = "mp3-duration"
+version = "0.1.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "348bdc7300502f0801e5b57c448815713cd843b744ef9bda252a2698fdf90a0f"
+dependencies = [
+ "thiserror",
+]
+
+[[package]]
+name = "mp4ameta"
+version = "0.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eb23d62e8eb5299a3f79657c70ea9269eac8f6239a76952689bcd06a74057e81"
+dependencies = [
+ "lazy_static",
+ "mp4ameta_proc",
+]
+
+[[package]]
+name = "mp4ameta_proc"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "07dcca13d1740c0a665f77104803360da0bdb3323ecce2e93fa2c959a6d52806"
+
+[[package]]
+name = "native-windows-derive"
+version = "1.0.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "76134ae81020d89d154f619fd2495a2cecad204276b1dc21174b55e4d0975edd"
+dependencies = [
+ "proc-macro-crate",
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "native-windows-gui"
+version = "1.0.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4f7003a669f68deb6b7c57d74fff4f8e533c44a3f0b297492440ef4ff5a28454"
+dependencies = [
+ "bitflags",
+ "lazy_static",
+ "winapi",
+ "winapi-build",
+]
+
+[[package]]
+name = "num-integer"
+version = "0.1.45"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9"
+dependencies = [
+ "autocfg",
+ "num-traits",
+]
+
+[[package]]
+name = "num-rational"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0"
+dependencies = [
+ "autocfg",
+ "num-integer",
+ "num-traits",
+]
+
+[[package]]
+name = "num-traits"
+version = "0.2.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "num_cpus"
+version = "1.14.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f6058e64324c71e02bc2b150e4f3bc8286db6c83092132ffa3f6b1eab0f9def5"
+dependencies = [
+ "hermit-abi",
+ "libc",
+]
+
+[[package]]
+name = "num_threads"
+version = "0.1.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2819ce041d2ee131036f4fc9d6ae7ae125a3a40e97ba64d04fe799ad9dabbb44"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "ogg"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6951b4e8bf21c8193da321bcce9c9dd2e13c858fe078bf9054a288b419ae5d6e"
+dependencies = [
+ "byteorder",
+]
+
+[[package]]
+name = "once_cell"
+version = "1.16.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "86f0b0d4bf799edbc74508c1e8bf170ff5f41238e5f8225603ca7caaae2b7860"
+
+[[package]]
+name = "opus_headers"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "afbb993947f111397c2bc536944f8dac7f54a4e73383d478efe1990b56404b60"
+
+[[package]]
+name = "orion"
+version = "0.17.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dd6b8920e5d7662ee0578a19b322ff34ff56009e4c3730e2f90d75760002bfc9"
+dependencies = [
+ "ct-codecs",
+ "fiat-crypto",
+ "getrandom",
+ "subtle",
+ "zeroize",
+]
+
+[[package]]
+name = "parking_lot"
+version = "0.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
+dependencies = [
+ "lock_api",
+ "parking_lot_core",
+]
+
+[[package]]
+name = "parking_lot_core"
+version = "0.9.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4dc9e0dc2adc1c69d09143aff38d3d30c5c3f0df0dad82e6d25547af174ebec0"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "redox_syscall",
+ "smallvec",
+ "windows-sys",
+]
+
+[[package]]
+name = "password-hash"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7676374caaee8a325c9e7a2ae557f216c5563a171d6997b0ef8a65af35147700"
+dependencies = [
+ "base64ct",
+ "rand_core",
+ "subtle",
+]
+
+[[package]]
+name = "paste"
+version = "1.0.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b1de2e551fb905ac83f73f7aedf2f0cb4a0da7e35efa24a202a936269f1f18e1"
+
+[[package]]
+name = "pbkdf2"
+version = "0.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "83a0692ec44e4cf1ef28ca317f14f8f07da2d95ec3fa01f86e4467b725e60917"
+dependencies = [
+ "digest",
+ "hmac",
+ "password-hash",
+ "sha2",
+]
+
+[[package]]
+name = "percent-encoding"
+version = "2.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e"
+
+[[package]]
+name = "pin-project-lite"
+version = "0.2.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116"
+
+[[package]]
+name = "pin-utils"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
+
+[[package]]
+name = "pkg-config"
+version = "0.3.26"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160"
+
+[[package]]
+name = "png"
+version = "0.17.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5d708eaf860a19b19ce538740d2b4bdeeb8337fa53f7738455e706623ad5c638"
+dependencies = [
+ "bitflags",
+ "crc32fast",
+ "flate2",
+ "miniz_oxide 0.6.2",
+]
+
+[[package]]
+name = "polaris"
+version = "0.14.0"
+dependencies = [
+ "actix-files",
+ "actix-test",
+ "actix-web",
+ "actix-web-httpauth",
+ "ape",
+ "base64",
+ "branca",
+ "crossbeam-channel",
+ "daemonize",
+ "diesel",
+ "diesel_migrations",
+ "fs_extra",
+ "futures-util",
+ "getopts",
+ "headers",
+ "http",
+ "id3",
+ "image",
+ "lewton",
+ "libsqlite3-sys",
+ "log",
+ "metaflac",
+ "mp3-duration",
+ "mp4ameta",
+ "native-windows-derive",
+ "native-windows-gui",
+ "num_cpus",
+ "opus_headers",
+ "pbkdf2",
+ "percent-encoding",
+ "rand",
+ "rayon",
+ "regex",
+ "rustfm-scrobble",
+ "sd-notify",
+ "serde",
+ "serde_derive",
+ "serde_json",
+ "simplelog",
+ "thiserror",
+ "tokio",
+ "toml",
+ "ureq",
+ "url",
+ "winres",
+]
+
+[[package]]
+name = "ppv-lite86"
+version = "0.2.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
+
+[[package]]
+name = "proc-macro-crate"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1d6ea3c4595b96363c13943497db34af4460fb474a95c43f4446ad341b8c9785"
+dependencies = [
+ "toml",
+]
+
+[[package]]
+name = "proc-macro-error"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c"
+dependencies = [
+ "proc-macro-error-attr",
+ "proc-macro2",
+ "quote",
+ "syn",
+ "version_check",
+]
+
+[[package]]
+name = "proc-macro-error-attr"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "version_check",
+]
+
+[[package]]
+name = "proc-macro-hack"
+version = "0.5.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5"
+
+[[package]]
+name = "proc-macro2"
+version = "1.0.47"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5ea3d908b0e36316caf9e9e2c4625cdde190a7e6f440d794667ed17a1855e725"
+dependencies = [
+ "unicode-ident",
+]
+
+[[package]]
+name = "publicsuffix"
+version = "1.5.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "95b4ce31ff0a27d93c8de1849cf58162283752f065a90d508f1105fa6c9a213f"
+dependencies = [
+ "idna 0.2.3",
+ "url",
+]
+
+[[package]]
+name = "qstring"
+version = "0.7.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d464fae65fff2680baf48019211ce37aaec0c78e9264c84a3e484717f965104e"
+dependencies = [
+ "percent-encoding",
+]
+
+[[package]]
+name = "quote"
+version = "1.0.21"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179"
+dependencies = [
+ "proc-macro2",
+]
+
+[[package]]
+name = "r2d2"
+version = "0.8.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "51de85fb3fb6524929c8a2eb85e6b6d363de4e8c48f9e2c2eac4944abc181c93"
+dependencies = [
+ "log",
+ "parking_lot",
+ "scheduled-thread-pool",
+]
+
+[[package]]
+name = "rand"
+version = "0.8.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
+dependencies = [
+ "libc",
+ "rand_chacha",
+ "rand_core",
+]
+
+[[package]]
+name = "rand_chacha"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
+dependencies = [
+ "ppv-lite86",
+ "rand_core",
+]
+
+[[package]]
+name = "rand_core"
+version = "0.6.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
+dependencies = [
+ "getrandom",
+]
+
+[[package]]
+name = "rayon"
+version = "1.5.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bd99e5772ead8baa5215278c9b15bf92087709e9c1b2d1f97cdb5a183c933a7d"
+dependencies = [
+ "autocfg",
+ "crossbeam-deque",
+ "either",
+ "rayon-core",
+]
+
+[[package]]
+name = "rayon-core"
+version = "1.9.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "258bcdb5ac6dad48491bb2992db6b7cf74878b0384908af124823d118c99683f"
+dependencies = [
+ "crossbeam-channel",
+ "crossbeam-deque",
+ "crossbeam-utils",
+ "num_cpus",
+]
+
+[[package]]
+name = "redox_syscall"
+version = "0.2.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a"
+dependencies = [
+ "bitflags",
+]
+
+[[package]]
+name = "regex"
+version = "1.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e076559ef8e241f2ae3479e36f97bd5741c0330689e217ad51ce2c76808b868a"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-syntax",
+]
+
+[[package]]
+name = "regex-syntax"
+version = "0.6.28"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848"
+
+[[package]]
+name = "ring"
+version = "0.16.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc"
+dependencies = [
+ "cc",
+ "libc",
+ "once_cell",
+ "spin",
+ "untrusted",
+ "web-sys",
+ "winapi",
+]
+
+[[package]]
+name = "rustc_version"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a"
+dependencies = [
+ "semver 0.9.0",
+]
+
+[[package]]
+name = "rustc_version"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366"
+dependencies = [
+ "semver 1.0.14",
+]
+
+[[package]]
+name = "rustfm-scrobble"
+version = "1.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2c46a75fb6409a528f7e0d8e99826684f88461d1b0d0edeec60d82e3f554dad5"
+dependencies = [
+ "md5",
+ "serde",
+ "serde_json",
+ "ureq",
+ "wrapped-vec",
+]
+
+[[package]]
+name = "rustls"
+version = "0.19.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "35edb675feee39aec9c99fa5ff985081995a06d594114ae14cbe797ad7b7a6d7"
+dependencies = [
+ "base64",
+ "log",
+ "ring",
+ "sct",
+ "webpki",
+]
+
+[[package]]
+name = "ryu"
+version = "1.0.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4501abdff3ae82a1c1b477a17252eb69cee9e66eb915c1abaa4f44d873df9f09"
+
+[[package]]
+name = "scheduled-thread-pool"
+version = "0.2.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "977a7519bff143a44f842fd07e80ad1329295bd71686457f18e496736f4bf9bf"
+dependencies = [
+ "parking_lot",
+]
+
+[[package]]
+name = "scopeguard"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
+
+[[package]]
+name = "sct"
+version = "0.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b362b83898e0e69f38515b82ee15aa80636befe47c3b6d3d89a911e78fc228ce"
+dependencies = [
+ "ring",
+ "untrusted",
+]
+
+[[package]]
+name = "sd-notify"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "621e3680f3e07db4c9c2c3fb07c6223ab2fab2e54bd3c04c3ae037990f428c32"
+
+[[package]]
+name = "semver"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403"
+dependencies = [
+ "semver-parser",
+]
+
+[[package]]
+name = "semver"
+version = "1.0.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e25dfac463d778e353db5be2449d1cce89bd6fd23c9f1ea21310ce6e5a1b29c4"
+
+[[package]]
+name = "semver-parser"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
+
+[[package]]
+name = "serde"
+version = "1.0.147"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d193d69bae983fc11a79df82342761dfbf28a99fc8d203dca4c3c1b590948965"
+dependencies = [
+ "serde_derive",
+]
+
+[[package]]
+name = "serde_derive"
+version = "1.0.147"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4f1d362ca8fc9c3e3a7484440752472d68a6caa98f1ab81d99b5dfe517cec852"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "serde_json"
+version = "1.0.87"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6ce777b7b150d76b9cf60d28b55f5847135a003f7d7350c6be7a773508ce7d45"
+dependencies = [
+ "itoa",
+ "ryu",
+ "serde",
+]
+
+[[package]]
+name = "serde_urlencoded"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd"
+dependencies = [
+ "form_urlencoded",
+ "itoa",
+ "ryu",
+ "serde",
+]
+
+[[package]]
+name = "sha1"
+version = "0.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c1da05c97445caa12d05e848c4a4fcbbea29e748ac28f7e80e9b010392063770"
+dependencies = [
+ "sha1_smol",
+]
+
+[[package]]
+name = "sha1"
+version = "0.10.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f04293dc80c3993519f2d7f6f511707ee7094fe0c6d3406feb330cdb3540eba3"
+dependencies = [
+ "cfg-if",
+ "cpufeatures",
+ "digest",
+]
+
+[[package]]
+name = "sha1_smol"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ae1a47186c03a32177042e55dbc5fd5aee900b8e0069a8d70fba96a9375cd012"
+
+[[package]]
+name = "sha2"
+version = "0.10.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0"
+dependencies = [
+ "cfg-if",
+ "cpufeatures",
+ "digest",
+]
+
+[[package]]
+name = "signal-hook-registry"
+version = "1.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e51e73328dc4ac0c7ccbda3a494dfa03df1de2f46018127f60c693f2648455b0"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "simplelog"
+version = "0.12.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "48dfff04aade74dd495b007c831cd6f4e0cee19c344dd9dc0884c0289b70a786"
+dependencies = [
+ "log",
+ "termcolor",
+ "time 0.3.17",
+]
+
+[[package]]
+name = "slab"
+version = "0.4.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4614a76b2a8be0058caa9dbbaf66d988527d86d003c11a94fbd335d7661edcef"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "smallvec"
+version = "1.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0"
+
+[[package]]
+name = "socket2"
+version = "0.4.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "02e2d2db9033d13a1567121ddd7a095ee144db4e1ca1b1bda3419bc0da294ebd"
+dependencies = [
+ "libc",
+ "winapi",
+]
+
+[[package]]
+name = "spin"
+version = "0.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d"
+
+[[package]]
+name = "standback"
+version = "0.2.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e113fb6f3de07a243d434a56ec6f186dfd51cb08448239fe7bcae73f87ff28ff"
+dependencies = [
+ "version_check",
+]
+
+[[package]]
+name = "stdweb"
+version = "0.4.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d022496b16281348b52d0e30ae99e01a73d737b2f45d38fed4edf79f9325a1d5"
+dependencies = [
+ "discard",
+ "rustc_version 0.2.3",
+ "stdweb-derive",
+ "stdweb-internal-macros",
+ "stdweb-internal-runtime",
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "stdweb-derive"
+version = "0.5.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c87a60a40fccc84bef0652345bbbbbe20a605bf5d0ce81719fc476f5c03b50ef"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "serde",
+ "serde_derive",
+ "syn",
+]
+
+[[package]]
+name = "stdweb-internal-macros"
+version = "0.2.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "58fa5ff6ad0d98d1ffa8cb115892b6e69d67799f6763e162a1c9db421dc22e11"
+dependencies = [
+ "base-x",
+ "proc-macro2",
+ "quote",
+ "serde",
+ "serde_derive",
+ "serde_json",
+ "sha1 0.6.1",
+ "syn",
+]
+
+[[package]]
+name = "stdweb-internal-runtime"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "213701ba3370744dcd1a12960caa4843b3d68b4d1c0a5d575e0d65b2ee9d16c0"
+
+[[package]]
+name = "subtle"
+version = "2.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601"
+
+[[package]]
+name = "syn"
+version = "1.0.103"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a864042229133ada95abf3b54fdc62ef5ccabe9515b64717bcb9a1919e59445d"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "termcolor"
+version = "1.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755"
+dependencies = [
+ "winapi-util",
+]
+
+[[package]]
+name = "thiserror"
+version = "1.0.37"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "10deb33631e3c9018b9baf9dcbbc4f737320d2b576bac10f6aefa048fa407e3e"
+dependencies = [
+ "thiserror-impl",
+]
+
+[[package]]
+name = "thiserror-impl"
+version = "1.0.37"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "982d17546b47146b28f7c22e3d08465f6b8903d0ea13c1660d9d84a6e7adcdbb"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "time"
+version = "0.2.27"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4752a97f8eebd6854ff91f1c1824cd6160626ac4bd44287f7f4ea2035a02a242"
+dependencies = [
+ "const_fn",
+ "libc",
+ "standback",
+ "stdweb",
+ "time-macros 0.1.1",
+ "version_check",
+ "winapi",
+]
+
+[[package]]
+name = "time"
+version = "0.3.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a561bf4617eebd33bca6434b988f39ed798e527f51a1e797d0ee4f61c0a38376"
+dependencies = [
+ "itoa",
+ "libc",
+ "num_threads",
+ "serde",
+ "time-core",
+ "time-macros 0.2.6",
+]
+
+[[package]]
+name = "time-core"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2e153e1f1acaef8acc537e68b44906d2db6436e2b35ac2c6b42640fff91f00fd"
+
+[[package]]
+name = "time-macros"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "957e9c6e26f12cb6d0dd7fc776bb67a706312e7299aed74c8dd5b17ebb27e2f1"
+dependencies = [
+ "proc-macro-hack",
+ "time-macros-impl",
+]
+
+[[package]]
+name = "time-macros"
+version = "0.2.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d967f99f534ca7e495c575c62638eebc2898a8c84c119b89e250477bc4ba16b2"
+dependencies = [
+ "time-core",
+]
+
+[[package]]
+name = "time-macros-impl"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fd3c141a1b43194f3f56a1411225df8646c55781d5f26db825b3d98507eb482f"
+dependencies = [
+ "proc-macro-hack",
+ "proc-macro2",
+ "quote",
+ "standback",
+ "syn",
+]
+
+[[package]]
+name = "tinyvec"
+version = "1.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50"
+dependencies = [
+ "tinyvec_macros",
+]
+
+[[package]]
+name = "tinyvec_macros"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c"
+
+[[package]]
+name = "tokio"
+version = "1.21.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a9e03c497dc955702ba729190dc4aac6f2a0ce97f913e5b1b5912fc5039d9099"
+dependencies = [
+ "autocfg",
+ "bytes",
+ "libc",
+ "memchr",
+ "mio",
+ "parking_lot",
+ "pin-project-lite",
+ "signal-hook-registry",
+ "socket2",
+ "winapi",
+]
+
+[[package]]
+name = "tokio-util"
+version = "0.7.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0bb2e075f03b3d66d8d8785356224ba688d2906a371015e225beeb65ca92c740"
+dependencies = [
+ "bytes",
+ "futures-core",
+ "futures-sink",
+ "pin-project-lite",
+ "tokio",
+ "tracing",
+]
+
+[[package]]
+name = "toml"
+version = "0.5.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8d82e1a7758622a465f8cee077614c73484dac5b836c02ff6a40d5d1010324d7"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "tracing"
+version = "0.1.37"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8"
+dependencies = [
+ "cfg-if",
+ "log",
+ "pin-project-lite",
+ "tracing-core",
+]
+
+[[package]]
+name = "tracing-core"
+version = "0.1.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "24eb03ba0eab1fd845050058ce5e616558e8f8d8fca633e6b163fe25c797213a"
+dependencies = [
+ "once_cell",
+]
+
+[[package]]
+name = "typenum"
+version = "1.15.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987"
+
+[[package]]
+name = "unicase"
+version = "2.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6"
+dependencies = [
+ "version_check",
+]
+
+[[package]]
+name = "unicode-bidi"
+version = "0.3.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "099b7128301d285f79ddd55b9a83d5e6b9e97c92e0ea0daebee7263e932de992"
+
+[[package]]
+name = "unicode-ident"
+version = "1.0.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6ceab39d59e4c9499d4e5a8ee0e2735b891bb7308ac83dfb4e80cad195c9f6f3"
+
+[[package]]
+name = "unicode-normalization"
+version = "0.1.22"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921"
+dependencies = [
+ "tinyvec",
+]
+
+[[package]]
+name = "unicode-width"
+version = "0.1.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b"
+
+[[package]]
+name = "untrusted"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a"
+
+[[package]]
+name = "ureq"
+version = "1.5.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2b8b063c2d59218ae09f22b53c42eaad0d53516457905f5235ca4bc9e99daa71"
+dependencies = [
+ "base64",
+ "chunked_transfer",
+ "cookie 0.14.4",
+ "cookie_store",
+ "log",
+ "once_cell",
+ "qstring",
+ "rustls",
+ "url",
+ "webpki",
+ "webpki-roots",
+]
+
+[[package]]
+name = "url"
+version = "2.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643"
+dependencies = [
+ "form_urlencoded",
+ "idna 0.3.0",
+ "percent-encoding",
+]
+
+[[package]]
+name = "vcpkg"
+version = "0.2.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
+
+[[package]]
+name = "version_check"
+version = "0.9.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
+
+[[package]]
+name = "wasi"
+version = "0.11.0+wasi-snapshot-preview1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
+
+[[package]]
+name = "wasm-bindgen"
+version = "0.2.83"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eaf9f5aceeec8be17c128b2e93e031fb8a4d469bb9c4ae2d7dc1888b26887268"
+dependencies = [
+ "cfg-if",
+ "wasm-bindgen-macro",
+]
+
+[[package]]
+name = "wasm-bindgen-backend"
+version = "0.2.83"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4c8ffb332579b0557b52d268b91feab8df3615f265d5270fec2a8c95b17c1142"
+dependencies = [
+ "bumpalo",
+ "log",
+ "once_cell",
+ "proc-macro2",
+ "quote",
+ "syn",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-macro"
+version = "0.2.83"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "052be0f94026e6cbc75cdefc9bae13fd6052cdcaf532fa6c45e7ae33a1e6c810"
+dependencies = [
+ "quote",
+ "wasm-bindgen-macro-support",
+]
+
+[[package]]
+name = "wasm-bindgen-macro-support"
+version = "0.2.83"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "07bc0c051dc5f23e307b13285f9d75df86bfdf816c5721e573dec1f9b8aa193c"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+ "wasm-bindgen-backend",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-shared"
+version = "0.2.83"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1c38c045535d93ec4f0b4defec448e4291638ee608530863b1e2ba115d4fff7f"
+
+[[package]]
+name = "web-sys"
+version = "0.3.60"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bcda906d8be16e728fd5adc5b729afad4e444e106ab28cd1c7256e54fa61510f"
+dependencies = [
+ "js-sys",
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "webpki"
+version = "0.21.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b8e38c0608262c46d4a56202ebabdeb094cef7e560ca7a226c6bf055188aa4ea"
+dependencies = [
+ "ring",
+ "untrusted",
+]
+
+[[package]]
+name = "webpki-roots"
+version = "0.21.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "aabe153544e473b775453675851ecc86863d2a81d786d741f6b76778f2a48940"
+dependencies = [
+ "webpki",
+]
+
+[[package]]
+name = "weezl"
+version = "0.1.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9193164d4de03a926d909d3bc7c30543cecb35400c02114792c2cae20d5e2dbb"
+
+[[package]]
+name = "winapi"
+version = "0.3.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
+dependencies = [
+ "winapi-i686-pc-windows-gnu",
+ "winapi-x86_64-pc-windows-gnu",
+]
+
+[[package]]
+name = "winapi-build"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc"
+
+[[package]]
+name = "winapi-i686-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
+
+[[package]]
+name = "winapi-util"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178"
+dependencies = [
+ "winapi",
+]
+
+[[package]]
+name = "winapi-x86_64-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
+
+[[package]]
+name = "windows-sys"
+version = "0.42.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7"
+dependencies = [
+ "windows_aarch64_gnullvm",
+ "windows_aarch64_msvc",
+ "windows_i686_gnu",
+ "windows_i686_msvc",
+ "windows_x86_64_gnu",
+ "windows_x86_64_gnullvm",
+ "windows_x86_64_msvc",
+]
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.42.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "41d2aa71f6f0cbe00ae5167d90ef3cfe66527d6f613ca78ac8024c3ccab9a19e"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.42.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dd0f252f5a35cac83d6311b2e795981f5ee6e67eb1f9a7f64eb4500fbc4dcdb4"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.42.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fbeae19f6716841636c28d695375df17562ca208b2b7d0dc47635a50ae6c5de7"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.42.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "84c12f65daa39dd2babe6e442988fc329d6243fdce47d7d2d155b8d874862246"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.42.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bf7b1b21b5362cbc318f686150e5bcea75ecedc74dd157d874d754a2ca44b0ed"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.42.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "09d525d2ba30eeb3297665bd434a54297e4170c7f1a44cad4ef58095b4cd2028"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.42.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f40009d85759725a34da6d89a94e63d7bdc50a862acf0dbc7c8e488f1edcb6f5"
+
+[[package]]
+name = "winres"
+version = "0.1.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b68db261ef59e9e52806f688020631e987592bd83619edccda9c47d42cde4f6c"
+dependencies = [
+ "toml",
+]
+
+[[package]]
+name = "wrapped-vec"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b85e08702c1e919669e1e90213c9c75ea4bb689d0f3970347e2b37c04600b4e5"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "zeroize"
+version = "1.5.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c394b5bd0c6f669e7275d9c20aa90ae064cb22e75a1cad54e1b34088034b149f"
+
+[[package]]
+name = "zstd"
+version = "0.11.2+zstd.1.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "20cc960326ece64f010d2d2107537f26dc589a6573a316bd5b1dba685fa5fde4"
+dependencies = [
+ "zstd-safe",
+]
+
+[[package]]
+name = "zstd-safe"
+version = "5.0.2+zstd.1.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1d2a5585e04f9eea4b2a3d1eca508c4dee9592a89ef6f450c11719da0726f4db"
+dependencies = [
+ "libc",
+ "zstd-sys",
+]
+
+[[package]]
+name = "zstd-sys"
+version = "2.0.1+zstd.1.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9fd07cbbc53846d9145dbffdf6dd09a7a0aa52be46741825f5c97bdd4f73f12b"
+dependencies = [
+ "cc",
+ "libc",
+]
diff --git a/pkgs/servers/polaris/default.nix b/pkgs/servers/polaris/default.nix
index 683d3c43faa53..647b278e39be7 100644
--- a/pkgs/servers/polaris/default.nix
+++ b/pkgs/servers/polaris/default.nix
@@ -1,18 +1,21 @@
 { lib
+, stdenv
 , fetchFromGitHub
 , rustPlatform
+, nix-update-script
 , polaris-web
+, darwin
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "polaris";
-  version = "0.13.5";
+  version = "0.14.0";
 
   src = fetchFromGitHub {
     owner = "agersant";
     repo = "polaris";
     rev = version;
-    sha256 = "sp1KDTzKvcGtuqL37fFnVgcnkIsmj5ZQji72BeyiFQE=";
+    hash = "sha256-mLugPi3Xp46Lh48JQVeyOEGiovSF26gUt25MGBPFfkM=";
 
     # The polaris version upstream in Cargo.lock is "0.0.0".
     # We're unable to simply patch it in the patch phase due to
@@ -26,11 +29,22 @@ rustPlatform.buildRustPackage rec {
     '';
   };
 
-  cargoSha256 = "sha256-0VHrlUoyYu+UTUQUioftBDlQJfLd/axz6bGJs+YXSmE=";
+  cargoLock = {
+    lockFile = ./Cargo.lock;
+    outputHashes = {
+      "id3-1.4.0" = "sha256-0j2iOd/GkMqLu18Eu8nttmqez0G6fu2m19gsHWMmLds=";
+    };
+  };
+
+  buildInputs = lib.optionals stdenv.isDarwin [
+    darwin.Security
+  ];
 
   # Compile-time environment variables for where to find assets needed at runtime
-  POLARIS_WEB_DIR = "${polaris-web}/share/polaris-web";
-  POLARIS_SWAGGER_DIR = "${placeholder "out"}/share/polaris-swagger";
+  env = {
+    POLARIS_WEB_DIR = "${polaris-web}/share/polaris-web";
+    POLARIS_SWAGGER_DIR = "${placeholder "out"}/share/polaris-swagger";
+  };
 
   postInstall = ''
     mkdir -p $out/share
@@ -42,7 +56,11 @@ rustPlatform.buildRustPackage rec {
     ulimit -n 4096
   '';
 
-  passthru.updateScript = ./update.sh;
+  __darwinAllowLocalNetworking = true;
+
+  passthru.updateScript = nix-update-script {
+    attrPath = pname;
+  };
 
   meta = with lib; {
     description = "Self-host your music collection, and access it from any computer and mobile device";
diff --git a/pkgs/servers/polaris/update.sh b/pkgs/servers/polaris/update.sh
deleted file mode 100755
index b45a4e0838c1f..0000000000000
--- a/pkgs/servers/polaris/update.sh
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/usr/bin/env nix-shell
-#!nix-shell -i bash -p common-updater-scripts curl jq nix coreutils
-
-set -euo pipefail
-
-cd "$(dirname "${BASH_SOURCE[0]}")"/../../..
-
-# update github tag and hash
-
-latestVersion="$(curl -s "https://api.github.com/repos/agersant/polaris/releases?per_page=1" | jq -r ".[0].tag_name")"
-currentVersion=$(nix-instantiate --eval -E "with import ./. {}; polaris.version or (lib.getVersion polaris)" | tr -d '"')
-
-if [[ "$currentVersion" == "$latestVersion" ]]; then
-  echo "polaris is up-to-date: $currentVersion"
-  exit 0
-fi
-
-update-source-version polaris "$latestVersion"
diff --git a/pkgs/servers/pufferpanel/default.nix b/pkgs/servers/pufferpanel/default.nix
index f1079a03fcece..d3420f90db543 100644
--- a/pkgs/servers/pufferpanel/default.nix
+++ b/pkgs/servers/pufferpanel/default.nix
@@ -98,5 +98,6 @@ buildGoModule rec {
     homepage = "https://www.pufferpanel.com/";
     license = with licenses; [ asl20 ];
     maintainers = with maintainers; [ ckie tie ];
+    mainProgram = "pufferpanel";
   };
 }
diff --git a/pkgs/servers/samba/4.x.nix b/pkgs/servers/samba/4.x.nix
index b426e64e20893..9a5ebd9f63ec7 100644
--- a/pkgs/servers/samba/4.x.nix
+++ b/pkgs/servers/samba/4.x.nix
@@ -51,11 +51,11 @@ with lib;
 
 stdenv.mkDerivation rec {
   pname = "samba";
-  version = "4.17.7";
+  version = "4.18.5";
 
   src = fetchurl {
     url = "mirror://samba/pub/samba/stable/${pname}-${version}.tar.gz";
-    hash = "sha256-lcnBa2VKiM+u/ZWAUt1XPi+F7N8RTk7Owxh1N6CU2Rk=";
+    hash = "sha256-CVJWrDMuHZ+/m3/3gj+SoyM9PtZYzn/JszkFwiQ/RH8=";
   };
 
   outputs = [ "out" "dev" "man" ];
diff --git a/pkgs/servers/samba/build-find-pre-built-heimdal-build-tools-in-case-of-.patch b/pkgs/servers/samba/build-find-pre-built-heimdal-build-tools-in-case-of-.patch
index 60b215b718f79..1c333bc6adb18 100644
--- a/pkgs/servers/samba/build-find-pre-built-heimdal-build-tools-in-case-of-.patch
+++ b/pkgs/servers/samba/build-find-pre-built-heimdal-build-tools-in-case-of-.patch
@@ -1,4 +1,4 @@
-From 9287fcfc36ed9f2bb936ec2253244f60df80711f Mon Sep 17 00:00:00 2001
+From 7e3c8ba66b86a21fe8e5bd9a595dd6fc03fa26d4 Mon Sep 17 00:00:00 2001
 From: Pascal Bach <pascal.bach@nextrem.ch>
 Date: Wed, 22 Sep 2021 09:42:42 +0200
 Subject: [PATCH] build: find pre-built heimdal build tools in case of embedded
@@ -34,13 +34,10 @@ BUG: https://bugzilla.samba.org/show_bug.cgi?id=14164
 Signed-off-by: Uri Simchoni <uri@samba.org>
 Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
 [Bachp: rebased for version 4.15.0]
-
-# Conflicts:
-#	wscript_configure_system_heimdal
+[Mats: rebased for version 4.18.5]
 ---
  wscript_configure_embedded_heimdal | 11 +++++++++++
- wscript_configure_system_heimdal   | 11 -----------
- 2 files changed, 11 insertions(+), 11 deletions(-)
+ 1 file changed, 11 insertions(+)
 
 diff --git a/wscript_configure_embedded_heimdal b/wscript_configure_embedded_heimdal
 index 6066f2b39d7..e92cabad65f 100644
@@ -61,35 +58,6 @@ index 6066f2b39d7..e92cabad65f 100644
 +
 +check_system_heimdal_binary("compile_et")
 +check_system_heimdal_binary("asn1_compile")
-diff --git a/wscript_configure_system_heimdal b/wscript_configure_system_heimdal
-index 6033dad08dc..c0a9bb95e87 100644
---- a/wscript_configure_system_heimdal
-+++ b/wscript_configure_system_heimdal
-@@ -37,14 +37,6 @@ def check_system_heimdal_lib(name, functions='', headers='', onlyif=None):
-     conf.define('USING_SYSTEM_%s' % name.upper(), 1)
-     return True
- 
--def check_system_heimdal_binary(name):
--    if conf.LIB_MAY_BE_BUNDLED(name):
--        return False
--    if not conf.find_program(name, var=name.upper()):
--        return False
--    conf.define('USING_SYSTEM_%s' % name.upper(), 1)
--    return True
--
- check_system_heimdal_lib("com_err", "com_right_r com_err", "com_err.h")
- 
- if check_system_heimdal_lib("roken", "rk_socket_set_reuseaddr", "roken.h"):
-@@ -86,9 +78,6 @@ finally:
- #if conf.CHECK_BUNDLED_SYSTEM('tommath', checkfunctions='mp_init', headers='tommath.h'):
- #    conf.define('USING_SYSTEM_TOMMATH', 1)
- 
--check_system_heimdal_binary("compile_et")
--check_system_heimdal_binary("asn1_compile")
--
- conf.env.KRB5_VENDOR = 'heimdal'
- conf.define('USING_SYSTEM_KRB5', 1)
- conf.define('USING_SYSTEM_HEIMDAL', 1)
 -- 
-2.37.3
+2.41.0
 
diff --git a/pkgs/servers/search/manticoresearch/default.nix b/pkgs/servers/search/manticoresearch/default.nix
index 2611798248a6e..442ebe751b2dd 100644
--- a/pkgs/servers/search/manticoresearch/default.nix
+++ b/pkgs/servers/search/manticoresearch/default.nix
@@ -1,16 +1,27 @@
-{ lib, stdenv, fetchFromGitHub, fetchurl
-, bison, cmake, flex, pkg-config
-, boost, icu, libstemmer, mariadb-connector-c, re2
+{ lib
+, stdenv
+, fetchFromGitHub
+, bison
+, cmake
+, flex
+, pkg-config
+, boost
+, icu
+, libstemmer
+, mariadb-connector-c
+, re2
+, nlohmann_json
 }:
+
 let
-  columnar = stdenv.mkDerivation rec {
+  columnar = stdenv.mkDerivation (finalAttrs: {
     pname = "columnar";
-    version = "c16-s5"; # see NEED_COLUMNAR_API/NEED_SECONDARY_API in Manticore's GetColumnar.cmake
+    version = "c18-s6"; # see NEED_COLUMNAR_API/NEED_SECONDARY_API in Manticore's GetColumnar.cmake
     src = fetchFromGitHub {
       owner = "manticoresoftware";
       repo = "columnar";
-      rev = version;
-      sha256 = "sha256-iHB82FeA0rq9eRuDzY+AT/MiaRIGETsnkNPCqKRXgq8=";
+      rev = finalAttrs.version;
+      hash = "sha256-/HGh1Wktb65oXKCjGxMl+8kNwEEfPzGT4UxGoGS4+8c=";
     };
     nativeBuildInputs = [ cmake ];
     cmakeFlags = [ "-DAPI_ONLY=ON" ];
@@ -20,17 +31,17 @@ let
       license = lib.licenses.asl20;
       platforms = lib.platforms.all;
     };
-  };
+  });
 in
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "manticoresearch";
-  version = "5.0.3";
+  version = "6.0.4";
 
   src = fetchFromGitHub {
     owner = "manticoresoftware";
     repo = "manticoresearch";
-    rev = version;
-    sha256 = "sha256-samZYwDYgI9jQ7jcoMlpxulSFwmqyt5bkxG+WZ9eXuk=";
+    rev = finalAttrs.version;
+    hash = "sha256-enSK3hlGUtrPVA/qF/AFiDJN8CbaTHCzYadBorZLE+c=";
   };
 
   nativeBuildInputs = [
@@ -46,6 +57,7 @@ stdenv.mkDerivation rec {
     icu.dev
     libstemmer
     mariadb-connector-c
+    nlohmann_json
     re2
   ];
 
@@ -54,6 +66,7 @@ stdenv.mkDerivation rec {
 
     # supply our own packages rather than letting manticore download dependencies during build
     sed -i 's/^with_get/with_menu/' CMakeLists.txt
+    sed -i 's/include(GetNLJSON)/find_package(nlohmann_json)/' CMakeLists.txt
   '';
 
   cmakeFlags = [
@@ -63,12 +76,12 @@ stdenv.mkDerivation rec {
     "-DMYSQL_LIB=${mariadb-connector-c.out}/lib/mariadb/libmysqlclient.a"
   ];
 
-  meta = with lib; {
+  meta = {
     description = "Easy to use open source fast database for search";
     homepage = "https://manticoresearch.com";
-    license = licenses.gpl2;
+    license = lib.licenses.gpl2;
     mainProgram = "searchd";
-    maintainers = with maintainers; [ jdelStrother ];
-    platforms = platforms.all;
+    maintainers = [ lib.maintainers.jdelStrother ];
+    platforms = lib.platforms.all;
   };
-}
+})
diff --git a/pkgs/servers/search/weaviate/default.nix b/pkgs/servers/search/weaviate/default.nix
index dcbffcbfd0c8b..736daf883fe0a 100644
--- a/pkgs/servers/search/weaviate/default.nix
+++ b/pkgs/servers/search/weaviate/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "weaviate";
-  version = "1.19.8";
+  version = "1.20.3";
 
   src = fetchFromGitHub {
     owner = "weaviate";
     repo = "weaviate";
     rev = "v${version}";
-    hash = "sha256-rSv6ERVReWMt05C70a8i+hgTF2JGvcSkydex/2Vp+80=";
+    hash = "sha256-4235Yb4F0YPihiukJmUswWH/hATRiwChdZV6+erRRnk=";
   };
 
-  vendorHash = "sha256-27YbjTtFaD5nMkcTXeAR/vZPWgG5qRvdnoNv6S7/SOI=";
+  vendorHash = "sha256-RL18glau8IODHy0HqLq28nE7OIUezWDJY7BE/OBFHBw=";
 
   subPackages = [ "cmd/weaviate-server" ];
 
diff --git a/pkgs/servers/spicedb/zed.nix b/pkgs/servers/spicedb/zed.nix
index 11c9511b2a00a..96b1afec99359 100644
--- a/pkgs/servers/spicedb/zed.nix
+++ b/pkgs/servers/spicedb/zed.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "zed";
-  version = "0.10.2";
+  version = "0.12.1";
 
   src = fetchFromGitHub {
     owner = "authzed";
     repo = "zed";
     rev = "v${version}";
-    hash = "sha256-ZI5aoL4CCqSv7Sw5RApa4AeVVE97tA5HXM5tdF12hqE=";
+    hash = "sha256-3aG47DeYVwDj0tX26oOWVE8yq8sVtxA4uw+LOIjKNuI=";
   };
 
-  vendorHash = "sha256-hIhByVm4QpDhnXuWbscKYIgE/Bi0psBE0PvmuCq2NhQ=";
+  vendorHash = "sha256-kUMCbRIhSb5Bqo1P9J08xVUJmUdxaq5iU34sR+nuol4=";
 
   meta = with lib; {
     description = "Command line for managing SpiceDB";
diff --git a/pkgs/servers/sql/cockroachdb/cockroachdb-bin.nix b/pkgs/servers/sql/cockroachdb/cockroachdb-bin.nix
new file mode 100644
index 0000000000000..88a5accaffdec
--- /dev/null
+++ b/pkgs/servers/sql/cockroachdb/cockroachdb-bin.nix
@@ -0,0 +1,42 @@
+{ lib
+, stdenv
+, fetchzip
+, buildFHSEnv
+}:
+
+let
+  version = "23.1.7";
+  name = "cockroachdb";
+
+  # For several reasons building cockroach from source has become
+  # nearly impossible. See https://github.com/NixOS/nixpkgs/pull/152626
+  # Therefore we use the pre-build release binary and wrap it with buildFHSUserEnv to
+  # work on nix.
+  # You can generate the hashes with
+  # nix flake prefetch <url>
+  srcs = {
+    aarch64-linux = fetchzip {
+      url = "https://binaries.cockroachdb.com/cockroach-v${version}.linux-arm64.tgz";
+      hash = "sha256-73qJL3o328NckH6POXv+AUvlAJextb31Vs8NGdc8dwE=";
+    };
+    x86_64-linux = fetchzip {
+      url = "https://binaries.cockroachdb.com/cockroach-v${version}.linux-amd64.tgz";
+      hash = "sha256-FL/zDrl+QstBp54LE9/SbIfSPorneGZSef6dcOQJbSo=";
+    };
+  };
+  src = srcs.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
+
+in
+buildFHSEnv {
+  inherit name;
+
+  runScript = "${src}/cockroach";
+
+  meta = with lib; {
+    homepage = "https://www.cockroachlabs.com";
+    description = "A scalable, survivable, strongly-consistent SQL database";
+    license = licenses.bsl11;
+    platforms = [ "aarch64-linux" "x86_64-linux" ];
+    maintainers = with maintainers; [ rushmorem thoughtpolice neosimsim ];
+  };
+}
diff --git a/pkgs/servers/sql/dolt/default.nix b/pkgs/servers/sql/dolt/default.nix
index 74729a625e328..3f94b7b232d00 100644
--- a/pkgs/servers/sql/dolt/default.nix
+++ b/pkgs/servers/sql/dolt/default.nix
@@ -2,18 +2,18 @@
 
 buildGoModule rec {
   pname = "dolt";
-  version = "1.8.2";
+  version = "1.8.4";
 
   src = fetchFromGitHub {
     owner = "dolthub";
     repo = "dolt";
     rev = "v${version}";
-    sha256 = "sha256-tNKe0s1pPazVJOfDZvk5/PrG46v1Fd41HUbxrknbtEs=";
+    sha256 = "sha256-vvtYhvfzuB/Yo/Oy6YedYVIvnOP7nM/4z/798i28v6U=";
   };
 
   modRoot = "./go";
   subPackages = [ "cmd/dolt" ];
-  vendorHash = "sha256-iYbCeaXI1glfN/Ouj6vgnSsKMZGr1I3VpG25TklFFAU=";
+  vendorHash = "sha256-qMK95buygi0c2rluoFlqmMko72x5kFFoUBPIohmkfNQ=";
   proxyVendor = true;
   doCheck = false;
 
diff --git a/pkgs/servers/sql/pgcat/default.nix b/pkgs/servers/sql/pgcat/default.nix
new file mode 100644
index 0000000000000..72c3155861bb0
--- /dev/null
+++ b/pkgs/servers/sql/pgcat/default.nix
@@ -0,0 +1,50 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, rustPlatform
+, darwin
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "pgcat";
+  version = "1.1.0";
+
+  src = fetchFromGitHub {
+    owner = "postgresml";
+    repo = "pgcat";
+    rev = "v${version}";
+    hash = "sha256-ESHBOh9JSzu6Zxh0z/+nebumi/zyFVdTK0DIwR/46Xo=";
+  };
+
+  cargoHash = "sha256-2wZADXEi8bfNgSQuL7yAmDYd/a0LOssdPFa/kvSSLFU=";
+
+  buildInputs = lib.optionals stdenv.isDarwin [
+    darwin.apple_sdk.frameworks.Security
+  ];
+
+  checkFlags = [
+    # requires network access
+    "--skip=dns_cache::CachedResolver::lookup_ip"
+    "--skip=dns_cache::CachedResolver::new"
+    "--skip=dns_cache::CachedResolver"
+    "--skip=dns_cache::tests::has_changed"
+    "--skip=dns_cache::tests::incorrect_address"
+    "--skip=dns_cache::tests::lookup_ip"
+    "--skip=dns_cache::tests::new"
+    "--skip=dns_cache::tests::thread"
+    "--skip=dns_cache::tests::unknown_host"
+  ];
+
+  doInstallCheck = true;
+  installCheckPhase = ''
+    $out/bin/pgcat --version | grep "pgcat ${version}"
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/postgresml/pgcat";
+    description = "PostgreSQL pooler with sharding, load balancing and failover support.";
+    license = with licenses; [mit];
+    platforms = platforms.unix;
+    maintainers = with maintainers; [cathalmullan];
+  };
+}
diff --git a/pkgs/servers/sql/postgresql/ext/plv8/default.nix b/pkgs/servers/sql/postgresql/ext/plv8/default.nix
index e4492c4e51861..2c4989711ccea 100644
--- a/pkgs/servers/sql/postgresql/ext/plv8/default.nix
+++ b/pkgs/servers/sql/postgresql/ext/plv8/default.nix
@@ -136,7 +136,7 @@ stdenv.mkDerivation (finalAttrs: {
     description = "V8 Engine Javascript Procedural Language add-on for PostgreSQL";
     homepage = "https://plv8.github.io/";
     maintainers = with maintainers; [ marsam ];
-    platforms = [ "x86_64-linux" ];
+    platforms = [ "x86_64-linux" "aarch64-linux" ];
     license = licenses.postgresql;
     broken = postgresql.jitSupport;
   };
diff --git a/pkgs/servers/sql/proxysql/default.nix b/pkgs/servers/sql/proxysql/default.nix
index 6847c5064dc57..c489e181cb34e 100644
--- a/pkgs/servers/sql/proxysql/default.nix
+++ b/pkgs/servers/sql/proxysql/default.nix
@@ -31,15 +31,15 @@
 , texinfo
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "proxysql";
-  version = "2.5.3";
+  version = "2.5.4";
 
   src = fetchFromGitHub {
     owner = "sysown";
-    repo = pname;
-    rev = version;
-    hash = "sha256-D/AUjndpu4QJmlgLBXRqMj9gsHYitEYhHVMQzoab1ik=";
+    repo = "proxysql";
+    rev = finalAttrs.version;
+    hash = "sha256-HFhfAWyDB20t+c4s9NlVwdANrFobVyr+vnmZqx+X20Q=";
   };
 
   patches = [
@@ -69,7 +69,7 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  GIT_VERSION = version;
+  GIT_VERSION = finalAttrs.version;
 
   dontConfigure = true;
 
@@ -165,12 +165,12 @@ stdenv.mkDerivation rec {
     sed -i s_/usr/bin/proxysql_$out/bin/proxysql_ $out/lib/systemd/system/*.service
   '';
 
-  meta = with lib; {
-    homepage = "https://proxysql.com/";
+  meta = {
     broken = stdenv.isDarwin;
     description = "High-performance MySQL proxy";
-    license = with licenses; [ gpl3Only ];
-    maintainers = with maintainers; [ ajs124 ];
-    platforms = platforms.unix;
+    homepage = "https://proxysql.com/";
+    license = with lib.licenses; [ gpl3Only ];
+    maintainers = with lib.maintainers; [ ajs124 ];
+    platforms = lib.platforms.unix;
   };
-}
+})
diff --git a/pkgs/servers/static-web-server/default.nix b/pkgs/servers/static-web-server/default.nix
index a8f7707efd069..c11bcfa4ec199 100644
--- a/pkgs/servers/static-web-server/default.nix
+++ b/pkgs/servers/static-web-server/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "static-web-server";
-  version = "2.20.1";
+  version = "2.20.2";
 
   src = fetchFromGitHub {
     owner = "static-web-server";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-48pACFuknurqn97bRcAbyLSPs5OUyIgNU/jzYTwSRWg=";
+    hash = "sha256-wC19wEQz/dQDJ+VKgCWhe3zYyxb4JrzmWENgdgSUGi0=";
   };
 
-  cargoHash = "sha256-M6XWSzrw34AJI2HEHnqPARt/O4VSKgpwVGVyRI2Sods=";
+  cargoHash = "sha256-q6rwbt4RdE69LxBSP8oDS/sI9Txr5R1tDSnvzQaZMmI=";
 
   buildInputs = lib.optionals stdenv.isDarwin [
     darwin.apple_sdk.frameworks.Security
diff --git a/pkgs/servers/uwsgi/default.nix b/pkgs/servers/uwsgi/default.nix
index 0a9ff0bcc1a24..acf4b07516201 100644
--- a/pkgs/servers/uwsgi/default.nix
+++ b/pkgs/servers/uwsgi/default.nix
@@ -1,5 +1,12 @@
-{ stdenv, nixosTests, lib, pkg-config, jansson, pcre, libxcrypt
-, expat, zlib
+{ stdenv
+, nixosTests
+, lib
+, pkg-config
+, jansson
+, pcre
+, libxcrypt
+, expat
+, zlib
 # plugins: list of strings, eg. [ "python2" "python3" ]
 , plugins ? []
 , pam, withPAM ? stdenv.isLinux
@@ -10,90 +17,97 @@
 , makeWrapper, fetchFromGitHub
 }:
 
-let php-embed = php.override {
-      embedSupport = true;
-      apxs2Support = false;
-    };
-
-    pythonPlugin = pkg : lib.nameValuePair "python${if pkg.isPy2 then "2" else "3"}" {
-                           interpreter = pkg.pythonForBuild.interpreter;
-                           path = "plugins/python";
-                           inputs = [ pkg ncurses ];
-                           install = ''
-                             install -Dm644 uwsgidecorators.py $out/${pkg.sitePackages}/uwsgidecorators.py
-                             ${pkg.pythonForBuild.executable} -m compileall $out/${pkg.sitePackages}/
-                             ${pkg.pythonForBuild.executable} -O -m compileall $out/${pkg.sitePackages}/
-                           '';
-                         };
-
-    available = lib.listToAttrs [
-                  (pythonPlugin python2)
-                  (pythonPlugin python3)
-                  (lib.nameValuePair "rack" {
-                    path = "plugins/rack";
-                    inputs = [ ruby ];
-                  })
-                  (lib.nameValuePair "cgi" {
-                    # usage: https://uwsgi-docs.readthedocs.io/en/latest/CGI.html?highlight=cgi
-                    path = "plugins/cgi";
-                    inputs = [ ];
-                  })
-                  (lib.nameValuePair "php" {
-                    # usage: https://uwsgi-docs.readthedocs.io/en/latest/PHP.html#running-php-apps-with-nginx
-                    path = "plugins/php";
-                    inputs = [
-                        php-embed
-                        php-embed.extensions.session
-                        php-embed.extensions.session.dev
-                        php-embed.unwrapped.dev
-                    ] ++ php-embed.unwrapped.buildInputs;
-                  })
-                ];
-
-    getPlugin = name:
-      let all = lib.concatStringsSep ", " (lib.attrNames available);
-      in if lib.hasAttr name available
-         then lib.getAttr name available // { inherit name; }
-         else throw "Unknown UWSGI plugin ${name}, available : ${all}";
-
-    needed = builtins.map getPlugin plugins;
+let
+  php-embed = php.override {
+    embedSupport = true;
+    apxs2Support = false;
+  };
+
+  pythonPlugin = pkg : lib.nameValuePair "python${if pkg.isPy2 then "2" else "3"}" {
+    interpreter = pkg.pythonForBuild.interpreter;
+    path = "plugins/python";
+    inputs = [ pkg ncurses ];
+    install = ''
+      install -Dm644 uwsgidecorators.py $out/${pkg.sitePackages}/uwsgidecorators.py
+      ${pkg.pythonForBuild.executable} -m compileall $out/${pkg.sitePackages}/
+      ${pkg.pythonForBuild.executable} -O -m compileall $out/${pkg.sitePackages}/
+    '';
+  };
+
+  available = lib.listToAttrs [
+    (pythonPlugin python2)
+    (pythonPlugin python3)
+    (lib.nameValuePair "rack" {
+      path = "plugins/rack";
+      inputs = [ ruby ];
+    })
+    (lib.nameValuePair "cgi" {
+      # usage: https://uwsgi-docs.readthedocs.io/en/latest/CGI.html?highlight=cgi
+      path = "plugins/cgi";
+      inputs = [ ];
+    })
+    (lib.nameValuePair "php" {
+      # usage: https://uwsgi-docs.readthedocs.io/en/latest/PHP.html#running-php-apps-with-nginx
+      path = "plugins/php";
+      inputs = [
+          php-embed
+          php-embed.extensions.session
+          php-embed.extensions.session.dev
+          php-embed.unwrapped.dev
+      ] ++ php-embed.unwrapped.buildInputs;
+    })
+  ];
+
+  getPlugin = name:
+    let
+      all = lib.concatStringsSep ", " (lib.attrNames available);
+    in
+      if lib.hasAttr name available
+      then lib.getAttr name available // { inherit name; }
+      else throw "Unknown UWSGI plugin ${name}, available : ${all}";
+
+  needed = builtins.map getPlugin plugins;
 in
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "uwsgi";
-  version = "2.0.21";
+  version = "2.0.22";
 
   src = fetchFromGitHub {
     owner = "unbit";
     repo = "uwsgi";
-    rev = version;
-    sha256 = "sha256-TUASYDyG+p1tlhmqi+ivaC7aW6UZBrPTFQUTYys5ICE=";
+    rev = finalAttrs.version;
+    hash = "sha256-pfy3EDXq3KVY2mC3BMAp/87IUiP4NhdTWZo+zVBJ+Pc=";
   };
 
   patches = [
-        ./no-ext-session-php_session.h-on-NixOS.patch
-        ./additional-php-ldflags.patch
+    ./no-ext-session-php_session.h-on-NixOS.patch
+    ./additional-php-ldflags.patch
   ];
 
-  nativeBuildInputs = [ python3 pkg-config makeWrapper ];
+  nativeBuildInputs = [
+    makeWrapper
+    pkg-config
+    python3
+  ];
 
   buildInputs =  [ jansson pcre libxcrypt ]
-              ++ lib.optionals (stdenv.isDarwin && stdenv.isAarch64) [ expat zlib ]
-              ++ lib.optional withPAM pam
-              ++ lib.optional withSystemd systemd
-              ++ lib.optional withCap libcap
-              ++ lib.concatMap (x: x.inputs) needed
-              ;
+    ++ lib.optionals (stdenv.isDarwin && stdenv.isAarch64) [ expat zlib ]
+    ++ lib.optional withPAM pam
+    ++ lib.optional withSystemd systemd
+    ++ lib.optional withCap libcap
+    ++ lib.concatMap (x: x.inputs) needed;
 
   basePlugins =  lib.concatStringsSep ","
-                 (  lib.optional withPAM "pam"
-                 ++ lib.optional withSystemd "systemd_logger"
-                 );
+    (  lib.optional withPAM "pam"
+    ++ lib.optional withSystemd "systemd_logger"
+    );
 
   UWSGI_INCLUDES = lib.optionalString withCap "${libcap.dev}/include";
 
   passthru = {
     inherit python2 python3;
+    tests.uwsgi = nixosTests.uwsgi;
   };
 
   postPatch = ''
@@ -105,29 +119,42 @@ stdenv.mkDerivation rec {
   '';
 
   configurePhase = ''
+    runHook preConfigure
+
     export pluginDir=$out/lib/uwsgi
     substituteAll ${./nixos.ini} buildconf/nixos.ini
+
+    runHook postConfigure
   '';
 
   # this is a hack to make the php plugin link with session.so (which on nixos is a separate package)
   # the hack works in coordination with ./additional-php-ldflags.patch
-  UWSGICONFIG_PHP_LDFLAGS = lib.optionalString (builtins.any (x: x.name == "php") needed)
-        (lib.concatStringsSep "," [
-            "-Wl"
-            "-rpath=${php-embed.extensions.session}/lib/php/extensions/"
-            "--library-path=${php-embed.extensions.session}/lib/php/extensions/"
-            "-l:session.so"
-        ]);
+  UWSGICONFIG_PHP_LDFLAGS = lib.optionalString
+    (builtins.any (x: x.name == "php") needed)
+    (lib.concatStringsSep "," [
+      "-Wl"
+      "-rpath=${php-embed.extensions.session}/lib/php/extensions/"
+      "--library-path=${php-embed.extensions.session}/lib/php/extensions/"
+      "-l:session.so"
+    ]);
 
   buildPhase = ''
+    runHook preBuild
+
     mkdir -p $pluginDir
     python3 uwsgiconfig.py --build nixos
     ${lib.concatMapStringsSep ";" (x: "${x.preBuild or ""}\n ${x.interpreter or "python3"} uwsgiconfig.py --plugin ${x.path} nixos ${x.name}") needed}
+
+    runHook postBuild
   '';
 
   installPhase = ''
+    runHook preInstall
+
     install -Dm755 uwsgi $out/bin/uwsgi
     ${lib.concatMapStringsSep "\n" (x: x.install or "") needed}
+
+    runHook postInstall
   '';
 
   postFixup = lib.optionalString (builtins.any (x: x.name == "php") needed)
@@ -135,14 +162,11 @@ stdenv.mkDerivation rec {
     wrapProgram $out/bin/uwsgi --set PHP_INI_SCAN_DIR ${php-embed}/lib
   '';
 
-  meta = with lib; {
-    homepage = "https://uwsgi-docs.readthedocs.org/en/latest/";
+  meta = {
     description = "A fast, self-healing and developer/sysadmin-friendly application container server coded in pure C";
-    license = licenses.gpl2;
-    maintainers = with maintainers; [ abbradar schneefux globin ];
-    platforms = platforms.unix;
+    homepage = "https://uwsgi-docs.readthedocs.org/en/latest/";
+    license = lib.licenses.gpl2;
+    maintainers = with lib.maintainers; [ abbradar schneefux globin ];
+    platforms = lib.platforms.unix;
   };
-
-  passthru.tests.uwsgi = nixosTests.uwsgi;
-
-}
+})
diff --git a/pkgs/servers/uxplay/default.nix b/pkgs/servers/uxplay/default.nix
index be2866f6e31cc..707ed49990235 100644
--- a/pkgs/servers/uxplay/default.nix
+++ b/pkgs/servers/uxplay/default.nix
@@ -11,15 +11,15 @@
 , gst_all_1
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "uxplay";
-  version = "1.65";
+  version = "1.65.3";
 
   src = fetchFromGitHub {
     owner = "FDH2";
     repo = "UxPlay";
-    rev = "v${version}";
-    sha256 = "sha256-EpYSKD5nQsbA4l7nw1RdKpJWCjTWrPkYxVIZrQdusCQ=";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-ghimxgukQHBc0yVSpttF5lEVE6BTf9OL7RWmR5izxCo=";
   };
 
   postPatch = ''
@@ -47,11 +47,11 @@ stdenv.mkDerivation rec {
     gst_all_1.gst-libav
   ];
 
-  meta = with lib; {
-    homepage = "https://github.com/FDH2/UxPlay";
+  meta = {
     description = "AirPlay Unix mirroring server";
-    license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ azuwis ];
-    platforms = platforms.unix;
+    homepage = "https://github.com/FDH2/UxPlay";
+    license = lib.licenses.gpl3Plus;
+    maintainers = [ lib.maintainers.azuwis ];
+    platforms = lib.platforms.unix;
   };
-}
+})
diff --git a/pkgs/servers/web-apps/hedgedoc/default.nix b/pkgs/servers/web-apps/hedgedoc/default.nix
index a65243cee5345..0f2073f24a6f0 100644
--- a/pkgs/servers/web-apps/hedgedoc/default.nix
+++ b/pkgs/servers/web-apps/hedgedoc/default.nix
@@ -11,13 +11,13 @@
 }:
 
 let
-  version = "1.9.8";
+  version = "1.9.9";
 
   src = fetchFromGitHub {
     owner = "hedgedoc";
     repo = "hedgedoc";
     rev = version;
-    hash = "sha256-gp1TeYHwH7ffaSMifdURb2p+U8u6Xs4JU4b4qACEIDw=";
+    hash = "sha256-6eKTgEZ+YLoSmPQWBS95fJ+ioIxeTVlT+moqslByPPw=";
   };
 
   # we cannot use fetchYarnDeps because that doesn't support yarn 2/berry lockfiles
@@ -42,7 +42,7 @@ let
     '';
 
     outputHashMode = "recursive";
-    outputHash = "sha256-/jsBFGH/rYSovidmvIf7xpuHpxdW8QFYC08PNi38LH8=";
+    outputHash = "sha256-Ga+tl4oZlum43tdfez1oWGMHZAfyePGl47S+9NRRvW8=";
   };
 
 in stdenv.mkDerivation {
@@ -99,11 +99,12 @@ in stdenv.mkDerivation {
     tests = { inherit (nixosTests) hedgedoc; };
   };
 
-  meta = with lib; {
+  meta = {
     description = "Realtime collaborative markdown notes on all platforms";
-    license = licenses.agpl3;
+    license = lib.licenses.agpl3;
     homepage = "https://hedgedoc.org";
-    maintainers = with maintainers; [ SuperSandro2000 ];
-    platforms = platforms.linux;
+    mainProgram = "hedgedoc";
+    maintainers = with lib.maintainers; [ SuperSandro2000 ];
+    platforms = lib.platforms.linux;
   };
 }
diff --git a/pkgs/servers/web-apps/kavita/default.nix b/pkgs/servers/web-apps/kavita/default.nix
index 81f07c2131919..c7d6e7b9567c3 100644
--- a/pkgs/servers/web-apps/kavita/default.nix
+++ b/pkgs/servers/web-apps/kavita/default.nix
@@ -73,5 +73,6 @@ stdenvNoCC.mkDerivation (finalAttrs: {
     license = lib.licenses.gpl3Only;
     platforms = lib.platforms.linux;
     maintainers = with lib.maintainers; [ misterio77 ];
+    mainProgram = "kavita";
   };
 })
diff --git a/pkgs/servers/web-apps/shiori/default.nix b/pkgs/servers/web-apps/shiori/default.nix
index 90d238f32329a..f4a1872ca93db 100644
--- a/pkgs/servers/web-apps/shiori/default.nix
+++ b/pkgs/servers/web-apps/shiori/default.nix
@@ -2,9 +2,9 @@
 
 buildGoModule rec {
   pname = "shiori";
-  version = "1.5.4";
+  version = "1.5.5";
 
-  vendorHash = "sha256-8aiaG2ry/XXsosbrLBmwnjbwIhbKMdM6WHae07MG7WI=";
+  vendorHash = "sha256-suWdtqf5IZntEVD+NHGD6RsL1tjcGH9vh5skISW+aCc=";
 
   doCheck = false;
 
@@ -12,7 +12,7 @@ buildGoModule rec {
     owner = "go-shiori";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-QZTYhRz65VLs3Ytv0k8ptfeQ/36M2VBXFaD9zhQXDh8=";
+    sha256 = "sha256-kGPvCYvLLixEH9qih/F3StUyGPqlKukTWLSw41+Mq8E=";
   };
 
   passthru.tests = {
diff --git a/pkgs/servers/wishlist/default.nix b/pkgs/servers/wishlist/default.nix
index 5b9e8b28b40c6..33a8f0ae2cfcd 100644
--- a/pkgs/servers/wishlist/default.nix
+++ b/pkgs/servers/wishlist/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "wishlist";
-  version = "0.12.0";
+  version = "0.13.0";
 
   src = fetchFromGitHub {
     owner = "charmbracelet";
     repo = "wishlist";
     rev = "v${version}";
-    sha256 = "65V+Ge2QHLqRb4oiSF5Pbtpw70duIAcVmrp+tZCML2A=";
+    sha256 = "sha256-NOR7YCLcwjf+oAi46qL6NteKLMSvJpqu9UzO6UvgcVQ=";
   };
 
-  vendorHash = "sha256-qz+OOqpvybBd7JlQmspIQKlBvTnFvMlyv+k00yO9rt8=";
+  vendorHash = "sha256-v8R0e52CpyLKiuYcEZFWAY64tgCBZE2dY0vgqsHWeAc=";
 
   doCheck = false;
 
diff --git a/pkgs/servers/x11/xorg/overrides.nix b/pkgs/servers/x11/xorg/overrides.nix
index 9010d63d5c67e..aebfc73c5c116 100644
--- a/pkgs/servers/x11/xorg/overrides.nix
+++ b/pkgs/servers/x11/xorg/overrides.nix
@@ -161,6 +161,9 @@ self: super:
     + lib.optionalString stdenv.hostPlatform.isStatic ''
       export NIX_CFLAGS_LINK="$NIX_CFLAGS_LINK -lXau -lXdmcp"
     '';
+    meta = attrs.meta // {
+      mainProgram = "xdpyinfo";
+    };
   });
 
   xdm = super.xdm.overrideAttrs (attrs: {
@@ -814,6 +817,7 @@ self: super:
         --replace '_X_NORETURN' '__attribute__((noreturn))' \
         --replace 'n_dirs--;' ""
     '';
+    meta.mainProgram = "lndir";
   });
 
   twm = super.twm.overrideAttrs (attrs: {
@@ -940,6 +944,12 @@ self: super:
     '';
   });
 
+  xset = super.xset.overrideAttrs (attrs: {
+    meta = attrs.meta // {
+      mainProgram = "xset";
+    };
+  });
+
   # convert Type1 vector fonts to OpenType fonts
   fontbitstreamtype1 = super.fontbitstreamtype1.overrideAttrs (attrs: {
     nativeBuildInputs = attrs.nativeBuildInputs ++ [ fontforge ];
diff --git a/pkgs/shells/carapace/default.nix b/pkgs/shells/carapace/default.nix
index 73cb1c8dc94c8..c49885846c2e1 100644
--- a/pkgs/shells/carapace/default.nix
+++ b/pkgs/shells/carapace/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "carapace";
-  version = "0.25.1";
+  version = "0.25.3";
 
   src = fetchFromGitHub {
     owner = "rsteube";
     repo = "${pname}-bin";
     rev = "v${version}";
-    sha256 = "sha256-EWdo+86mZt5sQMPgX2Co484YaP6An7o7t9rmn3GujaI=";
+    sha256 = "sha256-N1rPAK+fjFqojxMMRgohTwhlYxHC0fUICZ+fcG23gUE=";
   };
 
-  vendorHash = "sha256-R+PfIG3d0eB0eTpAnZfSnvACtDOv0uxIzoW+f7rF4cY=";
+  vendorHash = "sha256-LooEhKK+JSUaEMio81WGMv5l1SqEIs2r978yEc7sPlo=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/shells/nix-your-shell/default.nix b/pkgs/shells/nix-your-shell/default.nix
index 345f917ddcd01..87a3c06312916 100644
--- a/pkgs/shells/nix-your-shell/default.nix
+++ b/pkgs/shells/nix-your-shell/default.nix
@@ -5,16 +5,16 @@
 }:
 rustPlatform.buildRustPackage rec {
   pname = "nix-your-shell";
-  version = "1.1.1";
+  version = "1.3.0";
 
   src = fetchFromGitHub {
     owner = "MercuryTechnologies";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-g5TC+4DGbTAlG39R8QIM5cB3/mtkp/vz8puB0Kr6aag=";
+    sha256 = "sha256-5zHjz0NOKcZCuR6QaLrwOXih3Xoqf2uBrJnxTX/TQok=";
   };
 
-  cargoSha256 = "sha256-AiWKSWwMh6KWCTTRRCBxekv2rukz+ijnRit11K/AnhU=";
+  cargoSha256 = "sha256-4Z/z4VgnJQd8Uc0tMDnx7sChzXtG5ZDL88jTlhPSonM=";
 
   meta = with lib; {
     description = "A `nix` and `nix-shell` wrapper for shells other than `bash`";
diff --git a/pkgs/shells/nushell/default.nix b/pkgs/shells/nushell/default.nix
index 291dfa2a7a195..b76b63167e2bf 100644
--- a/pkgs/shells/nushell/default.nix
+++ b/pkgs/shells/nushell/default.nix
@@ -22,7 +22,7 @@
 }:
 
 let
-  version = "0.83.0";
+  version = "0.83.1";
 in
 
 rustPlatform.buildRustPackage {
@@ -33,10 +33,10 @@ rustPlatform.buildRustPackage {
     owner = "nushell";
     repo = "nushell";
     rev = version;
-    hash = "sha256-+/y4gtcrn6pM+LrzRQuHPACszZpYHCXMLbPlaIi4SAY=";
+    hash = "sha256-WMMGsJFgUkascCja7v0VA3spaOb5QmMFXQ2JOT9beO4=";
   };
 
-  cargoHash = "sha256-amDSzsDeG4ABlFLlytcfJV0xA9Rl7Udb/nWEz64pWi0=";
+  cargoHash = "sha256-/0+k3qOM9/rY6XmeVjqQWkjv19yZTkmfMK51z4+ppJU=";
 
   nativeBuildInputs = [ pkg-config ]
     ++ lib.optionals (withDefaultFeatures && stdenv.isLinux) [ python3 ]
diff --git a/pkgs/shells/nushell/nu_scripts/default.nix b/pkgs/shells/nushell/nu_scripts/default.nix
index 3c6718d1da801..0a49f709a6b78 100644
--- a/pkgs/shells/nushell/nu_scripts/default.nix
+++ b/pkgs/shells/nushell/nu_scripts/default.nix
@@ -6,13 +6,13 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "nu_scripts";
-  version = "unstable-2023-07-24";
+  version = "unstable-2023-07-29";
 
   src = fetchFromGitHub {
     owner = "nushell";
     repo = pname;
-    rev = "e6adf4e0ae04f946fcc93a77e0992e2e00467e26";
-    hash = "sha256-6hQEBotZyNuBL0vAzqS1C9LLMk2RMv5ZwFCcSI3aSU8=";
+    rev = "3ee56c6ec31fcc8dbffee85e1c73eb6fe0bbba8d";
+    hash = "sha256-luGIvcKOfhDorPfGfL449+eD+58MGo5jMCsNwIRJWt4=";
   };
 
   installPhase = ''
diff --git a/pkgs/shells/nushell/plugins/gstat.nix b/pkgs/shells/nushell/plugins/gstat.nix
index abddd85254591..bbba12bddb35f 100644
--- a/pkgs/shells/nushell/plugins/gstat.nix
+++ b/pkgs/shells/nushell/plugins/gstat.nix
@@ -11,9 +11,9 @@ let
 in
 rustPlatform.buildRustPackage {
   inherit pname;
-  version = nushell.version;
+  version = "0.83.1";
   src = nushell.src;
-  cargoHash = "sha256-+RFCkM++6DgrwFjTr3JlCgh9FqDBUOQsOucbZAi+V/k=";
+  cargoHash = "sha256-qRKONc8rDRALEin8WGxi7Jma4uD+U+9Gu6zpmYWmGOc=";
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ openssl ];
   cargoBuildFlags = [ "--package nu_plugin_gstat" ];
diff --git a/pkgs/shells/nushell/plugins/query.nix b/pkgs/shells/nushell/plugins/query.nix
index 4f51c3c29d75b..00b70f279c670 100644
--- a/pkgs/shells/nushell/plugins/query.nix
+++ b/pkgs/shells/nushell/plugins/query.nix
@@ -9,11 +9,11 @@
 
 rustPlatform.buildRustPackage {
   pname = "nushell_plugin_query";
-  version = "0.83.0";
+  version = "0.83.1";
 
   src = nushell.src;
 
-  cargoHash = "sha256-h8T3QimN3vyzJEZr63gM5egwjSWI3m3QH2Yp0rwXd90=";
+  cargoHash = "sha256-0Bcu2h1ooc4z4ezKSjl7ca5cNQwnF3je7XzdhuqP4iQ=";
 
   buildInputs = lib.optionals stdenv.isDarwin [ IOKit CoreFoundation ];
 
diff --git a/pkgs/shells/rc-9front/default.nix b/pkgs/shells/rc-9front/default.nix
index e68674dfb3d01..2c3d565db5b9a 100644
--- a/pkgs/shells/rc-9front/default.nix
+++ b/pkgs/shells/rc-9front/default.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
-, fetchgit
+, fetchFrom9Front
+, unstableGitUpdater
 , byacc
 , installShellFiles
 }:
@@ -9,8 +10,10 @@ stdenv.mkDerivation {
   pname = "rc-9front";
   version = "unstable-2022-11-01";
 
-  src = fetchgit {
-    url = "git://shithub.us/cinap_lenrek/rc";
+  src = fetchFrom9Front {
+    domain = "shithub.us";
+    owner = "cinap_lenrek";
+    repo = "rc";
     rev = "69041639483e16392e3013491fcb382efd2b9374";
     hash = "sha256-xc+EfC4bc9ZA97jCQ6CGCzeLGf+Hx3/syl090/x4ew4=";
   };
@@ -31,7 +34,10 @@ stdenv.mkDerivation {
     install -m644 rcmain.unix $out/lib/rcmain
   '';
 
-  passthru.shellPath = "/bin/rc";
+  passthru = {
+    shellPath = "/bin/rc";
+    updateScript = unstableGitUpdater { shallowClone = false; };
+  };
 
   meta = with lib; {
     description = "The 9front shell";
diff --git a/pkgs/shells/zsh/zsh-history-substring-search/default.nix b/pkgs/shells/zsh/zsh-history-substring-search/default.nix
index 63e5fe8281e3d..4b2aea76a7b7c 100644
--- a/pkgs/shells/zsh/zsh-history-substring-search/default.nix
+++ b/pkgs/shells/zsh/zsh-history-substring-search/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "zsh-history-substring-search";
-  version = "1.0.2";
+  version = "1.1.0";
 
   src = fetchFromGitHub {
     owner = "zsh-users";
     repo = "zsh-history-substring-search";
     rev = "v${version}";
-    sha256 = "0y8va5kc2ram38hbk2cibkk64ffrabfv1sh4xm7pjspsba9n5p1y";
+    sha256 = "0vjw4s0h4sams1a1jg9jx92d6hd2swq4z908nbmmm2qnz212y88r";
   };
 
   strictDeps = true;
diff --git a/pkgs/tools/X11/kdocker/default.nix b/pkgs/tools/X11/kdocker/default.nix
new file mode 100644
index 0000000000000..21a11f8fa31a1
--- /dev/null
+++ b/pkgs/tools/X11/kdocker/default.nix
@@ -0,0 +1,54 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, qmake
+, wrapQtAppsHook
+, libX11
+, libXmu
+, libXpm
+, qtbase
+, qtx11extras
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "kdocker";
+  version = "5.4";
+
+  src = fetchFromGitHub {
+    owner = "user-none";
+    repo = "KDocker";
+    rev = "${finalAttrs.version}";
+    hash = "sha256-CTz2M9nv5Rf1amnSpLiIUZLH9Q3te6ZyFNUzSGHdYJc=";
+  };
+
+  nativeBuildInputs = [
+    qmake
+    wrapQtAppsHook
+  ];
+
+  buildInputs = [
+    libX11
+    libXmu
+    libXpm
+    qtbase
+    qtx11extras
+  ];
+
+  prePatch = ''
+    for h in Xatom Xlib Xmu; do
+      sed -i "s|#include <$h|#include <X11/$h|" src/xlibutil.h src/{kdocker,scanner,trayitem,trayitemmanager}.cpp
+    done
+    for t in target icons desktop appdata; do
+      sed -i "s|$t.path = /usr|$t.path = $out|" kdocker.pro
+    done
+    sed -i "s|/etc/bash_completion.d|$out/share/bash-completion/completions|" kdocker.pro
+  '';
+
+  meta = with lib; {
+    description = "Dock any application into the system tray";
+    homepage = "https://github.com/user-none/KDocker";
+    license = licenses.gpl2Only;
+    maintainers = with maintainers; [ hexclover ];
+    platforms = platforms.linux;
+  };
+})
diff --git a/pkgs/tools/X11/pmenu/default.nix b/pkgs/tools/X11/pmenu/default.nix
index cb49de6d4c4b5..c5f6274d988e5 100644
--- a/pkgs/tools/X11/pmenu/default.nix
+++ b/pkgs/tools/X11/pmenu/default.nix
@@ -12,15 +12,15 @@
 , conf ? null
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "pmenu";
-  version = "3.1.0";
+  version = "3.1.1";
 
   src = fetchFromGitHub {
     owner = "phillbush";
     repo = "pmenu";
-    rev = "v${version}";
-    sha256 = "sha256-bX1qiNUTxNFeS0hNc5dUqQLEgv22nHqJ0yW55CQlGw4=";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-7NI5az3LxOYEnsts8Qqi3gvO3dXpNjPDOTW2c5Y25Lc=";
   };
 
   buildInputs = [
@@ -45,16 +45,16 @@ stdenv.mkDerivation rec {
     "PREFIX=\${out}"
   ];
 
-  meta = with lib; {
+  meta = {
     description = "A pie-menu tool";
+    homepage = "https://github.com/phillbush/pmenu";
+    license = lib.licenses.mit;
     longDescription = ''
       πmenu is a pie menu utility for X. πmenu receives a menu specification in
       stdin, shows a menu for the user to select one of the options, and outputs
       the option selected to stdout.
     '';
-    homepage = "https://github.com/phillbush/pmenu";
-    license = licenses.mit;
-    maintainers = with maintainers; [ azahi ];
-    platforms = platforms.unix;
+    maintainers = [ lib.maintainers.azahi ];
+    platforms = lib.platforms.unix;
   };
-}
+})
diff --git a/pkgs/tools/admin/aliyun-cli/default.nix b/pkgs/tools/admin/aliyun-cli/default.nix
index 887dfaf6e63bf..46bce07f3e66f 100644
--- a/pkgs/tools/admin/aliyun-cli/default.nix
+++ b/pkgs/tools/admin/aliyun-cli/default.nix
@@ -2,14 +2,14 @@
 
 buildGoModule rec {
   pname = "aliyun-cli";
-  version = "3.0.169";
+  version = "3.0.170";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "aliyun";
     repo = pname;
     fetchSubmodules = true;
-    sha256 = "sha256-ZQR4bVVcqUdQc35Az/eDjLiK8Mk3a9zRVeUPdwPJ9fE=";
+    sha256 = "sha256-PHrut4w66v/TBFZqFoopNJTDhuIjaKdiqA6pHxMKEC0=";
   };
 
   vendorHash = "sha256-XM/ATJVTyhv85KI2aUTufVDzYZMLTegtNuT3JEsU5vM=";
diff --git a/pkgs/tools/admin/aws-sso-cli/default.nix b/pkgs/tools/admin/aws-sso-cli/default.nix
index 25fd3b311ab5f..558891d316569 100644
--- a/pkgs/tools/admin/aws-sso-cli/default.nix
+++ b/pkgs/tools/admin/aws-sso-cli/default.nix
@@ -6,13 +6,13 @@
 }:
 buildGoModule rec {
   pname = "aws-sso-cli";
-  version = "1.9.10";
+  version = "1.10.0";
 
   src = fetchFromGitHub {
     owner = "synfinatic";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-hDXCH5B4bc0SKv/qzk92bPm366LmdYWTuVVn8KI0avo=";
+    hash = "sha256-Kcjg2xzW8l/3RViJri1UpG36YkmbHbXIKkDQnVr/26g=";
   };
   vendorHash = "sha256-myjHRZXTjsLXD8kibcdf1/Nhvx50fDsFtmZd63DpiiI=";
 
diff --git a/pkgs/tools/admin/awscli2/default.nix b/pkgs/tools/admin/awscli2/default.nix
index 746b1ed6b091f..be8db6101d743 100644
--- a/pkgs/tools/admin/awscli2/default.nix
+++ b/pkgs/tools/admin/awscli2/default.nix
@@ -18,14 +18,14 @@ let
 in
 with py.pkgs; buildPythonApplication rec {
   pname = "awscli2";
-  version = "2.13.3"; # N.B: if you change this, check if overrides are still up-to-date
+  version = "2.13.5"; # N.B: if you change this, check if overrides are still up-to-date
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "aws";
     repo = "aws-cli";
     rev = version;
-    hash = "sha256-+2+7eoe9cNBe9IjfAkAH6vXZ071k59keqFwo9M6tl9s=";
+    hash = "sha256-gtzRHNEReCKzGDdiwS5kngcJYp5oAHmhnOPl/uTyxvU=";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/admin/copilot-cli/default.nix b/pkgs/tools/admin/copilot-cli/default.nix
index b27aa9f593335..bb588a8226225 100644
--- a/pkgs/tools/admin/copilot-cli/default.nix
+++ b/pkgs/tools/admin/copilot-cli/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "copilot-cli";
-  version = "1.28.0";
+  version = "1.29.0";
 
   src = fetchFromGitHub {
     owner = "aws";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-KrgPHdYR0kYwyNhO2EwIO00Xnjy0MmrzHb5LDmbrgB0=";
+    sha256 = "sha256-sXYdP1HvwamKKvCNM5T2vu86y5mQ9MD44SrFgqWfQkE=";
   };
 
-  vendorHash = "sha256-1YOx7tqPJwCZlJSAG9o+STKRAIR72dptvTOpa9rRt3A=";
+  vendorHash = "sha256-TbgxXkLIEu7jSnngVRbp4E22GgOkXSB0b8JzHI/pNGk=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/tools/admin/credhub-cli/default.nix b/pkgs/tools/admin/credhub-cli/default.nix
index c2849d6afd4ca..78d9e1d0fbcd6 100644
--- a/pkgs/tools/admin/credhub-cli/default.nix
+++ b/pkgs/tools/admin/credhub-cli/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "credhub-cli";
-  version = "2.9.17";
+  version = "2.9.18";
 
   src = fetchFromGitHub {
     owner = "cloudfoundry-incubator";
     repo = "credhub-cli";
     rev = version;
-    sha256 = "sha256-sxIyiUw5bI2M5mndjt6l5i5WJej24mMdmXrV5MbwTY8=";
+    sha256 = "sha256-Fr9hV8mPBIid/5jR5u6jiGjr7a9HbSVCaReXx9jGo/Q=";
   };
 
   # these tests require network access that we're not going to give them
diff --git a/pkgs/tools/admin/docker-credential-helpers/default.nix b/pkgs/tools/admin/docker-credential-helpers/default.nix
index 7859145dfdd13..151da67fe91fb 100644
--- a/pkgs/tools/admin/docker-credential-helpers/default.nix
+++ b/pkgs/tools/admin/docker-credential-helpers/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "docker-credential-helpers";
-  version = "0.7.0";
+  version = "0.8.0";
 
   src = fetchFromGitHub {
     owner = "docker";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-KtDWrtd88s4Al3iWxIYE+YlhZTzf8/YDVYE2AwxH8ho=";
+    sha256 = "sha256-3zWlYW+2LA/JK/lv/OTzMlF2HlQPID0WYks0dQrP3GY=";
   };
 
-  vendorSha256 = null;
+  vendorHash = null;
 
   nativeBuildInputs = lib.optionals stdenv.isLinux [ pkg-config ];
 
diff --git a/pkgs/tools/admin/drawterm/default.nix b/pkgs/tools/admin/drawterm/default.nix
index 8451d8b687ffb..32421a62da599 100644
--- a/pkgs/tools/admin/drawterm/default.nix
+++ b/pkgs/tools/admin/drawterm/default.nix
@@ -1,6 +1,7 @@
 { stdenv
 , lib
-, fetchgit
+, fetchFrom9Front
+, unstableGitUpdater
 , installShellFiles
 , makeWrapper
 , xorg
@@ -19,10 +20,11 @@ stdenv.mkDerivation {
   pname = "drawterm";
   version = "unstable-2023-06-27";
 
-  src = fetchgit {
-    url = "git://git.9front.org/plan9front/drawterm";
+  src = fetchFrom9Front {
+    owner = "plan9front";
+    repo = "drawterm";
     rev = "36debf46ac184a22c6936345d22e4cfad995948c";
-    sha256 = "ebqw1jqeRC0FWeUIO/HaEovuwzU6+B48TjZbVJXByvA=";
+    hash = "sha256-ebqw1jqeRC0FWeUIO/HaEovuwzU6+B48TjZbVJXByvA=";
   };
 
   enableParallelBuilding = true;
@@ -54,6 +56,8 @@ stdenv.mkDerivation {
     installManPage drawterm.1
   '';
 
+  passthru.updateScript = unstableGitUpdater { shallowClone = false; };
+
   meta = with lib; {
     description = "Connect to Plan 9 CPU servers from other operating systems.";
     homepage = "https://drawterm.9front.org/";
diff --git a/pkgs/tools/admin/fits-cloudctl/default.nix b/pkgs/tools/admin/fits-cloudctl/default.nix
index 146a7e241de3c..6ec8819e3bc94 100644
--- a/pkgs/tools/admin/fits-cloudctl/default.nix
+++ b/pkgs/tools/admin/fits-cloudctl/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "fits-cloudctl";
-  version = "0.11.11";
+  version = "0.11.13";
 
   src = fetchFromGitHub {
     owner = "fi-ts";
     repo = "cloudctl";
     rev = "v${version}";
-    sha256 = "sha256-Jf6QiGn8C3pQ/FQSEc+h06514kNXHpnKVyZ1l+S/uHw=";
+    sha256 = "sha256-S4XouqqIBalXqfznrJ8F2TxU9h+gqObnjRXEQnj67LQ=";
   };
 
-  vendorHash = "sha256-3aoj4G3npO/DYjRu55iP9Y79z3da0edClOJlWuQC//A=";
+  vendorHash = "sha256-Y1F+7bJwsUb09xTSRSdfa6bOPMFCkNBaNurrfB9IPCA=";
 
   meta = with lib; {
     description = "Command-line client for FI-TS Finance Cloud Native services";
diff --git a/pkgs/tools/admin/oxidized/default.nix b/pkgs/tools/admin/oxidized/default.nix
index db56ef894b385..0969acab5e440 100644
--- a/pkgs/tools/admin/oxidized/default.nix
+++ b/pkgs/tools/admin/oxidized/default.nix
@@ -14,7 +14,7 @@ bundlerApp {
     description = "A network device configuration backup tool. It's a RANCID replacement!";
     homepage    = "https://github.com/ytti/oxidized";
     license     = licenses.asl20;
-    maintainers = with maintainers; [ willibutz nicknovitski netali ];
+    maintainers = with maintainers; [ nicknovitski netali ];
     platforms   = platforms.linux;
   };
 }
diff --git a/pkgs/tools/admin/qovery-cli/default.nix b/pkgs/tools/admin/qovery-cli/default.nix
index 5b385caae1499..9d072d728fe03 100644
--- a/pkgs/tools/admin/qovery-cli/default.nix
+++ b/pkgs/tools/admin/qovery-cli/default.nix
@@ -8,16 +8,16 @@
 
 buildGoModule rec {
   pname = "qovery-cli";
-  version = "0.61.0";
+  version = "0.63.0";
 
   src = fetchFromGitHub {
     owner = "Qovery";
     repo = pname;
-    rev = "v${version}";
-    hash = "sha256-V3tKUIpSO1oGpkHjkFWAtBoe91va6q2HInZsHrjWhQ0=";
+    rev = "refs/tagsv${version}";
+    hash = "sha256-2w8z6/piPXJ4tGdO1IrzjLcCDGF/C8/Mln+XWu4U2+0=";
   };
 
-  vendorHash = "sha256-5ikOmjJ2E+Kk8FAl6/Jm+k5HKlZJ1Ik3uZ/2sD5Eqok=";
+  vendorHash = "sha256-UicCXaKA2xmkcYCz4RNN4kG2Rj0OIrN+IL3UJF97oIo=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/tools/admin/trivy/default.nix b/pkgs/tools/admin/trivy/default.nix
index 6fb0b2c05cc3a..302bed931826e 100644
--- a/pkgs/tools/admin/trivy/default.nix
+++ b/pkgs/tools/admin/trivy/default.nix
@@ -5,19 +5,19 @@
 
 buildGoModule rec {
   pname = "trivy";
-  version = "0.43.1";
+  version = "0.44.0";
 
   src = fetchFromGitHub {
     owner = "aquasecurity";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-fpCPYqAuppEffoSVf2c3xMB1MhTBhn6xhbxPZ03PdI0=";
+    sha256 = "sha256-qxtYYFhABrkJlwWBx4ak7xnaqg7x+D1fUF1gcJFK0e4=";
   };
   # hash missmatch on across linux and darwin
   proxyVendor = true;
-  vendorHash = "sha256-9aHekHHnh9WOqelzNbwflg1/2VFl129WIXPWhdPnar4=";
+  vendorHash = "sha256-mE+GpD9vMhjVQsH+mckU6GhNiLMDV5H31Jj1/HLBSEs=";
 
-  excludedPackages = [ "magefiles" "misc" ];
+  subPackages = [ "cmd/trivy" ];
 
   ldflags = [
     "-s"
diff --git a/pkgs/tools/admin/wander/default.nix b/pkgs/tools/admin/wander/default.nix
index ddad76e4132ae..f1fd58877ddb8 100644
--- a/pkgs/tools/admin/wander/default.nix
+++ b/pkgs/tools/admin/wander/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "wander";
-  version = "0.10.1";
+  version = "0.11.1";
 
   src = fetchFromGitHub {
     owner = "robinovitch61";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-jg83GHNlzPPzzhrLWw686vrmLlDL5L0+OUYqMoYUiJw=";
+    sha256 = "sha256-EIMHCal4jt8tMEfx2Lol2/7IK8uROaNC1ABB+0d0YTg=";
   };
 
   vendorHash = "sha256-SqDGXV8MpvEQFAkcE1NWvWjdzYsvbO5vA6k+hpY0js0=";
diff --git a/pkgs/tools/audio/piper/default.nix b/pkgs/tools/audio/piper/default.nix
index df8ed3e969e7d..29fdb0705fec6 100644
--- a/pkgs/tools/audio/piper/default.nix
+++ b/pkgs/tools/audio/piper/default.nix
@@ -1,17 +1,24 @@
 { lib
 , stdenv
 , fetchFromGitHub
+
+# build time
 , cmake
 , pkg-config
-, espeak-ng
+
+# runtime
 , onnxruntime
 , pcaudiolib
+, piper-phonemize
+, spdlog
+
+# tests
 , piper-train
 }:
 
 let
   pname = "piper";
-  version = "0.0.2";
+  version = "1.2.0";
 in
 stdenv.mkDerivation {
   inherit pname version;
@@ -19,26 +26,27 @@ stdenv.mkDerivation {
   src = fetchFromGitHub {
     owner = "rhasspy";
     repo = "piper";
-    rev = "70afec58bc131010c8993c154ff02a78d1e7b8b0";
-    hash = "sha256-zTW7RGcV8Hh7G6Braf27F/8s7nNjAqagp7tmrKO10BY=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-6WNWqJt0PO86vnf+3iHaRRg2KwBOEj4aicmB+P2phlk=";
   };
 
   sourceRoot = "source/src/cpp";
 
-  postPatch = ''
-    substituteInPlace CMakeLists.txt \
-      --replace "/usr/local/include/onnxruntime" "${onnxruntime}"
-  '';
-
   nativeBuildInputs = [
     cmake
     pkg-config
   ];
 
   buildInputs = [
-    espeak-ng
     onnxruntime
     pcaudiolib
+    piper-phonemize
+    piper-phonemize.espeak-ng
+    spdlog
+  ];
+
+  env.NIX_CFLAGS_COMPILE = builtins.toString [
+    "-isystem ${lib.getDev piper-phonemize}/include/piper-phonemize"
   ];
 
   installPhase = ''
diff --git a/pkgs/tools/audio/piper/fix-compilation-with-newer-onnxruntime.patch b/pkgs/tools/audio/piper/fix-compilation-with-newer-onnxruntime.patch
new file mode 100644
index 0000000000000..9d2e46bb4e912
--- /dev/null
+++ b/pkgs/tools/audio/piper/fix-compilation-with-newer-onnxruntime.patch
@@ -0,0 +1,18 @@
+diff --git a/src/cpp/synthesize.hpp b/src/cpp/synthesize.hpp
+index ef61aef..4c7db7a 100644
+--- a/synthesize.hpp
++++ b/synthesize.hpp
+@@ -119,11 +119,11 @@ void synthesize(SynthesisConfig &synthesisConfig, ModelSession &session,
+ 
+   // Clean up
+   for (size_t i = 0; i < outputTensors.size(); i++) {
+-    Ort::OrtRelease(outputTensors[i].release());
++    Ort::detail::OrtRelease(outputTensors[i].release());
+   }
+ 
+   for (size_t i = 0; i < inputTensors.size(); i++) {
+-    Ort::OrtRelease(inputTensors[i].release());
++    Ort::detail::OrtRelease(inputTensors[i].release());
+   }
+ }
+ } // namespace larynx
diff --git a/pkgs/development/python-modules/piper-train/default.nix b/pkgs/tools/audio/piper/train.nix
index 5cf8cdea10df6..a385ebb85ad66 100644
--- a/pkgs/development/python-modules/piper-train/default.nix
+++ b/pkgs/tools/audio/piper/train.nix
@@ -1,38 +1,26 @@
-{ buildPythonPackage
-, piper-tts
-
-# build
-, cython
-, python
-
-# propagates
-, espeak-phonemizer
-, librosa
-, numpy
-, onnxruntime
-, pytorch-lightning
-, torch
+{ piper-tts
+, python3
 }:
 
-buildPythonPackage {
-  inherit (piper-tts) version src meta;
+let
+  python = python3.override {
+    packageOverrides = self: super: {
+    };
+  };
+in
+
+python.pkgs.buildPythonPackage {
+  inherit (piper-tts) version src;
 
   pname = "piper-train";
   format = "setuptools";
 
   sourceRoot = "source/src/python";
 
-  nativeBuildInputs = [
+  nativeBuildInputs = with python.pkgs; [
     cython
   ];
 
-  postPatch = ''
-    substituteInPlace requirements.txt \
-      --replace "onnxruntime~=1.11.0" "onnxruntime" \
-      --replace "pytorch-lightning~=1.7.0" "pytorch-lightning" \
-      --replace "torch~=1.11.0" "torch"
-  '';
-
   postBuild = ''
     make -C piper_train/vits/monotonic_align
   '';
@@ -43,11 +31,12 @@ buildPythonPackage {
     cp -v ./piper_train/vits/monotonic_align/piper_train/vits/monotonic_align/core.*.so $MONOTONIC_ALIGN/
   '';
 
-  propagatedBuildInputs = [
+  propagatedBuildInputs = with python.pkgs; [
     espeak-phonemizer
     librosa
     numpy
     onnxruntime
+    piper-phonemize
     pytorch-lightning
     torch
   ];
@@ -57,4 +46,9 @@ buildPythonPackage {
   ];
 
   doCheck = false; # no tests
+
+  meta = piper-tts.meta // {
+    # requires torch<2, pytorch-lightning~=1.7
+    broken = true;
+  };
 }
diff --git a/pkgs/tools/audio/wyoming/faster-whisper-entrypoint.patch b/pkgs/tools/audio/wyoming/faster-whisper-entrypoint.patch
index 1af62cb1fe224..27a6bd082495f 100644
--- a/pkgs/tools/audio/wyoming/faster-whisper-entrypoint.patch
+++ b/pkgs/tools/audio/wyoming/faster-whisper-entrypoint.patch
@@ -1,5 +1,5 @@
 diff --git a/setup.py b/setup.py
-index 1c0b2d2..bbff1d1 100644
+index 04eedbc..ee0b495 100644
 --- a/setup.py
 +++ b/setup.py
 @@ -35,4 +35,9 @@ setup(
@@ -13,17 +13,20 @@ index 1c0b2d2..bbff1d1 100644
 +    }
  )
 diff --git a/wyoming_faster_whisper/__main__.py b/wyoming_faster_whisper/__main__.py
-index 5557cc5..bb9d69f 100755
+index 8a5039f..bd1e7b6 100755
 --- a/wyoming_faster_whisper/__main__.py
 +++ b/wyoming_faster_whisper/__main__.py
-@@ -131,5 +131,9 @@ async def main() -> None:
+@@ -131,8 +131,12 @@ async def main() -> None:
  
  # -----------------------------------------------------------------------------
  
--if __name__ == "__main__":
 +def run():
-     asyncio.run(main())
++    asyncio.run(main())
 +
 +
-+if __name__ == "__main__":
-+    run()
+ if __name__ == "__main__":
+     try:
+-        asyncio.run(main())
++        run()
+     except KeyboardInterrupt:
+         pass
diff --git a/pkgs/tools/audio/wyoming/faster-whisper.nix b/pkgs/tools/audio/wyoming/faster-whisper.nix
index 7479473223452..50ec99f6deee4 100644
--- a/pkgs/tools/audio/wyoming/faster-whisper.nix
+++ b/pkgs/tools/audio/wyoming/faster-whisper.nix
@@ -5,13 +5,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "wyoming-faster-whisper";
-  version = "0.0.3";
+  version = "1.0.1";
   format = "setuptools";
 
   src = fetchPypi {
     pname = "wyoming_faster_whisper";
     inherit version;
-    hash = "sha256-uqepa70lprzV3DJK2wrNAAyZkMMJ5S86RKK716zxYU4=";
+    hash = "sha256-wo62m8gIP9hXihkd8j2haVvz3TlJv3m5WWthTPFwesk=";
   };
 
   patches = [
diff --git a/pkgs/tools/audio/wyoming/piper-entrypoint.patch b/pkgs/tools/audio/wyoming/piper-entrypoint.patch
index c2e4245e5b25e..4f7d09fd40ce0 100644
--- a/pkgs/tools/audio/wyoming/piper-entrypoint.patch
+++ b/pkgs/tools/audio/wyoming/piper-entrypoint.patch
@@ -1,8 +1,8 @@
 diff --git a/setup.py b/setup.py
-index 1355313..3b144c1 100644
+index 05e42c1..8347acb 100644
 --- a/setup.py
 +++ b/setup.py
-@@ -35,4 +35,9 @@ setup(
+@@ -41,4 +41,9 @@ setup(
          "Programming Language :: Python :: 3.10",
      ],
      keywords="rhasspy wyoming piper",
@@ -13,18 +13,20 @@ index 1355313..3b144c1 100644
 +    }
  )
 diff --git a/wyoming_piper/__main__.py b/wyoming_piper/__main__.py
-index f60cf13..a0a15f7 100755
+index ab1580b..4c0a143 100755
 --- a/wyoming_piper/__main__.py
 +++ b/wyoming_piper/__main__.py
-@@ -143,5 +143,9 @@ async def main() -> None:
+@@ -143,8 +143,12 @@ def get_description(voice_info: Dict[str, Any]):
  
  # -----------------------------------------------------------------------------
  
--if __name__ == "__main__":
 +def run():
-     asyncio.run(main())
++    asyncio.run(main())
 +
 +
-+if __name__ == "__main__":
-+    run()
-\ No newline at end of file
+ if __name__ == "__main__":
+     try:
+-        asyncio.run(main())
++        run()
+     except KeyboardInterrupt:
+         pass
diff --git a/pkgs/tools/audio/wyoming/piper.nix b/pkgs/tools/audio/wyoming/piper.nix
index 830f72059653b..c5ce6f99005b5 100644
--- a/pkgs/tools/audio/wyoming/piper.nix
+++ b/pkgs/tools/audio/wyoming/piper.nix
@@ -5,13 +5,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "wyoming-piper";
-  version = "0.0.3";
+  version = "1.2.0";
   format = "setuptools";
 
   src = fetchPypi {
     pname = "wyoming_piper";
     inherit version;
-    hash = "sha256-vl7LjW/2HBx6o/+vpap+wSG3XXzDwFacNmcbeU/8bOs=";
+    hash = "sha256-cdCWpejHNCjyYtIxGms9yaEerRmFnGllUN7+3uQy4mQ=";
   };
 
   patches = [
diff --git a/pkgs/tools/backup/restic/0001-Skip-testing-restore-with-permission-failure.patch b/pkgs/tools/backup/restic/0001-Skip-testing-restore-with-permission-failure.patch
index 148b9a1a95794..10664b57254c8 100644
--- a/pkgs/tools/backup/restic/0001-Skip-testing-restore-with-permission-failure.patch
+++ b/pkgs/tools/backup/restic/0001-Skip-testing-restore-with-permission-failure.patch
@@ -1,18 +1,18 @@
-From 8e6186be04e2819b6e3586e5d1aeb8a824e1979f Mon Sep 17 00:00:00 2001
+From 72f7d8abee34107b815e49540f2fad7f1ab0b2cc Mon Sep 17 00:00:00 2001
 From: Simon Bruder <simon@sbruder.de>
 Date: Thu, 25 Feb 2021 09:20:51 +0100
 Subject: [PATCH] Skip testing restore with permission failure
 
 The test fails in sandboxed builds.
 ---
- cmd/restic/integration_test.go | 1 +
+ cmd/restic/cmd_restore_integration_test.go | 1 +
  1 file changed, 1 insertion(+)
 
-diff --git a/cmd/restic/integration_test.go b/cmd/restic/integration_test.go
-index 7d198d33..1588ccb1 100644
---- a/cmd/restic/integration_test.go
-+++ b/cmd/restic/integration_test.go
-@@ -1170,6 +1170,7 @@ func TestRestoreLatest(t *testing.T) {
+diff --git a/cmd/restic/cmd_restore_integration_test.go b/cmd/restic/cmd_restore_integration_test.go
+index 2c7cbe1fb..f25f13754 100644
+--- a/cmd/restic/cmd_restore_integration_test.go
++++ b/cmd/restic/cmd_restore_integration_test.go
+@@ -200,6 +200,7 @@ func TestRestoreLatest(t *testing.T) {
  }
  
  func TestRestoreWithPermissionFailure(t *testing.T) {
@@ -21,5 +21,5 @@ index 7d198d33..1588ccb1 100644
  	defer cleanup()
  
 -- 
-2.29.2
+2.41.0
 
diff --git a/pkgs/tools/backup/restic/default.nix b/pkgs/tools/backup/restic/default.nix
index 28379107ada7b..9a7e4d676a18c 100644
--- a/pkgs/tools/backup/restic/default.nix
+++ b/pkgs/tools/backup/restic/default.nix
@@ -3,13 +3,13 @@
 
 buildGoModule rec {
   pname = "restic";
-  version = "0.15.2";
+  version = "0.16.0";
 
   src = fetchFromGitHub {
     owner = "restic";
     repo = "restic";
     rev = "v${version}";
-    hash = "sha256-YJBHk/B8+q5f0k5i5hpucsJK4T/cRu9Jv7+O6vlT64Q=";
+    hash = "sha256-kxxQlU3bKBjCb1aEtcLBmcnPg4KFgFlbFhs9MmbAgk8=";
   };
 
   patches = [
@@ -17,7 +17,7 @@ buildGoModule rec {
     ./0001-Skip-testing-restore-with-permission-failure.patch
   ];
 
-  vendorHash = "sha256-GWFaCfiE8Ph2uBTBI0E47pH+EJsMsMr1NDuaIGvyXRM=";
+  vendorHash = "sha256-m5smEyAt9RxgvUf1pZqIhgja2h8MWfEgjJ4jUgrPMPY=";
 
   subPackages = [ "cmd/restic" ];
 
@@ -26,7 +26,7 @@ buildGoModule rec {
   passthru.tests.restic = nixosTests.restic;
 
   postPatch = ''
-    rm cmd/restic/integration_fuse_test.go
+    rm cmd/restic/cmd_mount_integration_test.go
   '';
 
   postInstall = ''
diff --git a/pkgs/tools/backup/tarsnap/default.nix b/pkgs/tools/backup/tarsnap/default.nix
index 8a0e43b600852..ad7fc761d8439 100644
--- a/pkgs/tools/backup/tarsnap/default.nix
+++ b/pkgs/tools/backup/tarsnap/default.nix
@@ -40,5 +40,6 @@ stdenv.mkDerivation rec {
     license     = lib.licenses.unfree;
     platforms   = lib.platforms.unix;
     maintainers = with lib.maintainers; [ thoughtpolice roconnor ];
+    mainProgram = "tarsnap";
   };
 }
diff --git a/pkgs/tools/backup/zfs-autobackup/default.nix b/pkgs/tools/backup/zfs-autobackup/default.nix
index a7453119a9d03..abbc413278be0 100644
--- a/pkgs/tools/backup/zfs-autobackup/default.nix
+++ b/pkgs/tools/backup/zfs-autobackup/default.nix
@@ -1,32 +1,30 @@
 { lib, python3Packages, fetchPypi }:
 
-let
-  pythonPackages = python3Packages;
-
-in
-pythonPackages.buildPythonApplication rec {
-  pname = "zfs_autobackup";
-  version = "3.1";
+python3Packages.buildPythonApplication rec {
+  pname = "zfs-autobackup";
+  version = "3.1.3";
 
   src = fetchPypi {
-    inherit pname version;
-    sha256 = "42c22001717b3d7cfdae6297fedc11b2dd1eb2a4bd25b6bb1c9232dd3b70ad67";
+    inherit version;
+    pname = "zfs_autobackup";
+    sha256 = "sha256-ckikq8Am81O0wkL4ozRBFTCa15PrmkD54A2qEY6kA5c=";
   };
 
-  # argparse is part of the standardlib
-  prePatch = ''
-    substituteInPlace setup.py --replace "argparse" ""
-  '';
+  nativeBuildInputs = with python3Packages; [ pythonRelaxDepsHook ];
+
+  propagatedBuildInputs = with python3Packages; [ colorama ];
 
-  propagatedBuildInputs = with pythonPackages; [ colorama ];
+  pythonRemoveDeps = [ "argparse" ];
 
   # tests need zfs filesystem
   doCheck = false;
-  pythonImportsCheck = [ "colorama" "argparse" ];
+
+  pythonImportsCheck = [ "zfs_autobackup" ];
 
   meta = with lib; {
-    homepage = "https://github.com/psy0rz/zfs_autobackup";
     description = "ZFS backup, replicationand snapshot tool";
+    homepage = "https://github.com/psy0rz/zfs_autobackup";
+    changelog = "https://github.com/psy0rz/zfs_autobackup/releases/tag/v${version}";
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ ];
   };
diff --git a/pkgs/tools/bluetooth/blueman/default.nix b/pkgs/tools/bluetooth/blueman/default.nix
index cc4f15d1bea8a..1fa18703459f3 100644
--- a/pkgs/tools/bluetooth/blueman/default.nix
+++ b/pkgs/tools/bluetooth/blueman/default.nix
@@ -1,5 +1,5 @@
 { config, stdenv, lib, fetchurl, intltool, pkg-config, python3Packages, bluez, gtk3
-, obex_data_server, xdg-utils, dnsmasq, dhcp, iproute2
+, obex_data_server, xdg-utils, dnsmasq, dhcpcd, iproute2
 , gnome, librsvg, wrapGAppsHook, gobject-introspection
 , networkmanager, withPulseAudio ? config.pulseaudio or stdenv.isLinux, libpulseaudio }:
 
@@ -40,7 +40,7 @@ in stdenv.mkDerivation rec {
   ];
 
   makeWrapperArgs = [
-    "--prefix PATH ':' ${lib.makeBinPath [ dnsmasq dhcp iproute2 ]}"
+    "--prefix PATH ':' ${lib.makeBinPath [ dnsmasq dhcpcd iproute2 ]}"
     "--suffix PATH ':' ${lib.makeBinPath [ xdg-utils ]}"
   ];
 
diff --git a/pkgs/tools/filesystems/squashfuse/default.nix b/pkgs/tools/filesystems/squashfuse/default.nix
index 71243dff5de8e..7f08c9f716254 100644
--- a/pkgs/tools/filesystems/squashfuse/default.nix
+++ b/pkgs/tools/filesystems/squashfuse/default.nix
@@ -4,13 +4,13 @@
 stdenv.mkDerivation rec {
 
   pname = "squashfuse";
-  version = "0.2.0";
+  version = "0.4.0";
 
   src = fetchFromGitHub {
     owner = "vasi";
     repo = pname;
     rev = version;
-    sha256 = "sha256-agapkSl4KEK+7MA2+gcfaXv6+rpG0MQAhAG5At9rXqk=";
+    sha256 = "sha256-gK1k1Ooue3HLtBmPFMZdW4h2Ee1Uy4T26EOBeQICQpM=";
   };
 
   nativeBuildInputs = [ autoreconfHook libtool pkg-config ];
diff --git a/pkgs/tools/filesystems/stratisd/Cargo.lock b/pkgs/tools/filesystems/stratisd/Cargo.lock
index e0a30c77ddd9e..3cd26958eda6d 100644
--- a/pkgs/tools/filesystems/stratisd/Cargo.lock
+++ b/pkgs/tools/filesystems/stratisd/Cargo.lock
@@ -3,6 +3,21 @@
 version = 3
 
 [[package]]
+name = "addr2line"
+version = "0.20.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f4fa78e18c64fce05e902adecd7a5eed15a5e0a3439f7b0e169f0252214865e3"
+dependencies = [
+ "gimli",
+]
+
+[[package]]
+name = "adler"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
+
+[[package]]
 name = "aho-corasick"
 version = "1.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -43,15 +58,15 @@ dependencies = [
 
 [[package]]
 name = "anstyle"
-version = "1.0.0"
+version = "1.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "41ed9a86bf92ae6580e0a31281f65a1b1d867c0cc68d5346e2ae128dddfa6a7d"
+checksum = "3a30da5c5f2d5e72842e00bcb57657162cdabef0931f40e2deb9b4140440cecd"
 
 [[package]]
 name = "anstyle-parse"
-version = "0.2.0"
+version = "0.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e765fd216e48e067936442276d1d57399e37bce53c264d6fefbe298080cb57ee"
+checksum = "938874ff5980b03a87c5524b3ae5b59cf99b1d6bc836848df7bc5ada9643c333"
 dependencies = [
  "utf8parse",
 ]
@@ -77,9 +92,9 @@ dependencies = [
 
 [[package]]
 name = "assert_cmd"
-version = "2.0.11"
+version = "2.0.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "86d6b683edf8d1119fe420a94f8a7e389239666aa72e65495d91c00462510151"
+checksum = "88903cb14723e4d4003335bb7f8a14f27691649105346a0f0957466c096adfe6"
 dependencies = [
  "anstyle",
  "bstr",
@@ -98,13 +113,13 @@ checksum = "9b34d609dfbaf33d6889b2b7106d3ca345eacad44200913df5ba02bfd31d2ba9"
 
 [[package]]
 name = "async-trait"
-version = "0.1.68"
+version = "0.1.72"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b9ccdd8f2a161be9bd5c023df56f1b2a0bd1d83872ae53b71a84a12c9bf6e842"
+checksum = "cc6dde6e4ed435a4c1ee4e73592f5ba9da2151af10076cc04858746af9352d09"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.18",
+ "syn 2.0.27",
 ]
 
 [[package]]
@@ -114,12 +129,27 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
 
 [[package]]
+name = "backtrace"
+version = "0.3.68"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4319208da049c43661739c5fade2ba182f09d1dc2299b32298d3a31692b17e12"
+dependencies = [
+ "addr2line",
+ "cc",
+ "cfg-if 1.0.0",
+ "libc",
+ "miniz_oxide",
+ "object",
+ "rustc-demangle",
+]
+
+[[package]]
 name = "bindgen"
 version = "0.63.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "36d860121800b2a9a94f9b5604b332d5cffb234ce17609ea479d723dbc9d3885"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
  "cexpr",
  "clang-sys",
  "lazy_static",
@@ -155,6 +185,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
 
 [[package]]
+name = "bitflags"
+version = "2.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "630be753d4e58660abd17930c71b647fe46c27ea6b63cc59e1e3851406972e42"
+
+[[package]]
 name = "block-buffer"
 version = "0.10.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -165,12 +201,11 @@ dependencies = [
 
 [[package]]
 name = "bstr"
-version = "1.5.0"
+version = "1.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a246e68bb43f6cd9db24bea052a53e40405417c5fb372e3d1a8a7f770a564ef5"
+checksum = "6798148dccfbff0fae41c7574d2fa8f1ef3492fba0face179de5d8d447d67b05"
 dependencies = [
  "memchr",
- "once_cell",
  "regex-automata",
  "serde",
 ]
@@ -239,22 +274,21 @@ dependencies = [
 
 [[package]]
 name = "clap"
-version = "4.3.2"
+version = "4.3.19"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "401a4694d2bf92537b6867d94de48c4842089645fdcdf6c71865b175d836e9c2"
+checksum = "5fd304a20bff958a57f04c4e96a2e7594cc4490a0e809cbd48bb6437edaa452d"
 dependencies = [
  "clap_builder",
 ]
 
 [[package]]
 name = "clap_builder"
-version = "4.3.1"
+version = "4.3.19"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "72394f3339a76daf211e57d4bcb374410f3965dcc606dd0e03738c7888766980"
+checksum = "01c6a3f08f1fe5662a35cfe393aec09c4df95f60ee93b7556505260f75eee9e1"
 dependencies = [
  "anstream",
  "anstyle",
- "bitflags",
  "clap_lex",
  "strsim",
 ]
@@ -279,9 +313,9 @@ checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa"
 
 [[package]]
 name = "cpufeatures"
-version = "0.2.7"
+version = "0.2.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3e4c1eaa2012c47becbbad2ab175484c2a84d1185b566fb2cc5b8707343dfe58"
+checksum = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1"
 dependencies = [
  "libc",
 ]
@@ -341,11 +375,11 @@ dependencies = [
 
 [[package]]
 name = "devicemapper"
-version = "0.33.4"
+version = "0.33.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1792cb2154d0e257d330b13f820e424d91de0a149050f2f478d97202926ce28a"
+checksum = "75a9fd602a98d192f7662a1f4c4cf6920a1b454c3a9e724f6490cf8e30910114"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
  "devicemapper-sys",
  "env_logger",
  "lazy_static",
@@ -391,9 +425,9 @@ checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10"
 
 [[package]]
 name = "either"
-version = "1.8.1"
+version = "1.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91"
+checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07"
 
 [[package]]
 name = "env_logger"
@@ -442,12 +476,9 @@ dependencies = [
 
 [[package]]
 name = "fastrand"
-version = "1.9.0"
+version = "2.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be"
-dependencies = [
- "instant",
-]
+checksum = "6999dc1837253364c2ebb0704ba97994bd874e8f195d665c50b7548f6ea92764"
 
 [[package]]
 name = "float-cmp"
@@ -520,7 +551,7 @@ checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.18",
+ "syn 2.0.27",
 ]
 
 [[package]]
@@ -575,25 +606,22 @@ dependencies = [
 ]
 
 [[package]]
-name = "glob"
-version = "0.3.1"
+name = "gimli"
+version = "0.27.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
+checksum = "b6c80984affa11d98d1b88b66ac8853f143217b399d3c74116778ff8fdb4ed2e"
 
 [[package]]
-name = "hermit-abi"
-version = "0.2.6"
+name = "glob"
+version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7"
-dependencies = [
- "libc",
-]
+checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
 
 [[package]]
 name = "hermit-abi"
-version = "0.3.1"
+version = "0.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286"
+checksum = "443144c8cdadd93ebf52ddb4056d257f5b52c04d3c804e657d19eb73fc33668b"
 
 [[package]]
 name = "humantime"
@@ -603,9 +631,9 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4"
 
 [[package]]
 name = "iana-time-zone"
-version = "0.1.56"
+version = "0.1.57"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0722cd7114b7de04316e7ea5456a0bbb20e4adb46fd27a3697adb812cff0f37c"
+checksum = "2fad5b825842d2b38bd206f3e81d6957625fd7f0a361e345c30e01a0ae2dd613"
 dependencies = [
  "android_system_properties",
  "core-foundation-sys",
@@ -625,26 +653,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "instant"
-version = "0.1.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c"
-dependencies = [
- "cfg-if 1.0.0",
-]
-
-[[package]]
-name = "io-lifetimes"
-version = "1.0.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2"
-dependencies = [
- "hermit-abi 0.3.1",
- "libc",
- "windows-sys",
-]
-
-[[package]]
 name = "iocuddle"
 version = "0.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -652,12 +660,11 @@ checksum = "d8972d5be69940353d5347a1344cb375d9b457d6809b428b05bb1ca2fb9ce007"
 
 [[package]]
 name = "is-terminal"
-version = "0.4.7"
+version = "0.4.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "adcf93614601c8129ddf72e2d5633df827ba6551541c6d8c59520a371475be1f"
+checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b"
 dependencies = [
- "hermit-abi 0.3.1",
- "io-lifetimes",
+ "hermit-abi",
  "rustix",
  "windows-sys",
 ]
@@ -672,16 +679,25 @@ dependencies = [
 ]
 
 [[package]]
+name = "itertools"
+version = "0.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57"
+dependencies = [
+ "either",
+]
+
+[[package]]
 name = "itoa"
-version = "1.0.6"
+version = "1.0.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6"
+checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38"
 
 [[package]]
 name = "js-sys"
-version = "0.3.63"
+version = "0.3.64"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2f37a4a5928311ac501dee68b3c7613a1037d0edb30c8e5427bd832d55d1b790"
+checksum = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a"
 dependencies = [
  "wasm-bindgen",
 ]
@@ -722,9 +738,9 @@ dependencies = [
 
 [[package]]
 name = "libc"
-version = "0.2.146"
+version = "0.2.147"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f92be4933c13fd498862a9e02a3055f8a8d9c039ce33db97306fd5a6caa7f29b"
+checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3"
 
 [[package]]
 name = "libcryptsetup-rs"
@@ -732,7 +748,7 @@ version = "0.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "54de25d80cf59c099a01fc9939251bbf8021c131adf97beb7d57c094b16ed474"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
  "either",
  "lazy_static",
  "libc",
@@ -813,15 +829,15 @@ dependencies = [
 
 [[package]]
 name = "linux-raw-sys"
-version = "0.3.8"
+version = "0.4.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519"
+checksum = "09fc20d2ca12cb9f044c93e3bd6d32d523e6e2ec3db4f7b2939cd99026ecd3f0"
 
 [[package]]
 name = "log"
-version = "0.4.18"
+version = "0.4.19"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "518ef76f2f87365916b142844c16d8fefd85039bc5699050210a7778ee1cd1de"
+checksum = "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4"
 
 [[package]]
 name = "loopdev"
@@ -855,6 +871,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
 
 [[package]]
+name = "miniz_oxide"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7"
+dependencies = [
+ "adler",
+]
+
+[[package]]
 name = "mio"
 version = "0.8.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -871,7 +896,7 @@ version = "0.14.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "6c722bee1037d430d0f8e687bbdbf222f27cc6e4e68d5caf630857bb2b6dbdce"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
  "cc",
  "cfg-if 0.1.10",
  "libc",
@@ -884,7 +909,7 @@ version = "0.26.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "bfdda3d196821d6af13126e40375cdf7da646a96114af134d5f417a9a1dc8e1a"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
  "cfg-if 1.0.0",
  "libc",
  "memoffset",
@@ -910,9 +935,9 @@ checksum = "61807f77802ff30975e01f4f071c8ba10c022052f98b3294119f3e615d13e5be"
 
 [[package]]
 name = "num-traits"
-version = "0.2.15"
+version = "0.2.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd"
+checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2"
 dependencies = [
  "autocfg",
  "libm",
@@ -920,15 +945,24 @@ dependencies = [
 
 [[package]]
 name = "num_cpus"
-version = "1.15.0"
+version = "1.16.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b"
+checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43"
 dependencies = [
- "hermit-abi 0.2.6",
+ "hermit-abi",
  "libc",
 ]
 
 [[package]]
+name = "object"
+version = "0.31.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8bda667d9f2b5051b8833f59f3bf748b28ef54f850f4fcb389a252aa383866d1"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
 name = "once_cell"
 version = "1.18.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -942,9 +976,9 @@ checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099"
 
 [[package]]
 name = "pin-project-lite"
-version = "0.2.9"
+version = "0.2.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116"
+checksum = "4c40d25201921e5ff0c862a505c6557ea88568a4e3ace775ab55e93f2f4f9d57"
 
 [[package]]
 name = "pin-utils"
@@ -973,7 +1007,7 @@ dependencies = [
  "anstyle",
  "difflib",
  "float-cmp",
- "itertools",
+ "itertools 0.10.5",
  "normalize-line-endings",
  "predicates-core",
  "regex",
@@ -1003,9 +1037,9 @@ checksum = "c6fa0831dd7cc608c38a5e323422a0077678fa5744aa2be4ad91c4ece8eec8d5"
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.59"
+version = "1.0.66"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6aeca18b86b413c660b781aa319e4e2648a3e6f9eadc9b47e9038e6fe9f3451b"
+checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9"
 dependencies = [
  "unicode-ident",
 ]
@@ -1017,7 +1051,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "4e35c06b98bf36aba164cc17cb25f7e232f5c4aeea73baa14b8a9f0d92dbfa65"
 dependencies = [
  "bit-set",
- "bitflags",
+ "bitflags 1.3.2",
  "byteorder",
  "lazy_static",
  "num-traits",
@@ -1038,9 +1072,9 @@ checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0"
 
 [[package]]
 name = "quote"
-version = "1.0.28"
+version = "1.0.32"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b9ab9c7eadfd8df19006f1cf1a4aed13540ed5cbc047010ece5826e10825488"
+checksum = "50f3b39ccfb720540debaa0164757101c08ecb8d326b15358ce76a62c7e85965"
 dependencies = [
  "proc-macro2",
 ]
@@ -1090,25 +1124,31 @@ version = "0.3.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
 ]
 
 [[package]]
 name = "regex"
-version = "1.8.4"
+version = "1.9.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d0ab3ca65655bb1e41f2a8c8cd662eb4fb035e67c3f78da1d61dffe89d07300f"
+checksum = "b2eae68fc220f7cf2532e4494aded17545fce192d59cd996e0fe7887f4ceb575"
 dependencies = [
  "aho-corasick",
  "memchr",
- "regex-syntax 0.7.2",
+ "regex-automata",
+ "regex-syntax 0.7.4",
 ]
 
 [[package]]
 name = "regex-automata"
-version = "0.1.10"
+version = "0.3.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132"
+checksum = "39354c10dd07468c2e73926b23bb9c2caca74c5501e38a35da70406f1d923310"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-syntax 0.7.4",
+]
 
 [[package]]
 name = "regex-syntax"
@@ -1118,9 +1158,9 @@ checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1"
 
 [[package]]
 name = "regex-syntax"
-version = "0.7.2"
+version = "0.7.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "436b050e76ed2903236f032a59761c1eb99e1b0aead2c257922771dab1fc8c78"
+checksum = "e5ea92a5b6195c6ef2a0295ea818b312502c6fc94dde986c5553242e18fd4ce2"
 
 [[package]]
 name = "retry"
@@ -1142,6 +1182,12 @@ dependencies = [
 ]
 
 [[package]]
+name = "rustc-demangle"
+version = "0.1.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76"
+
+[[package]]
 name = "rustc-hash"
 version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1149,13 +1195,12 @@ checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
 
 [[package]]
 name = "rustix"
-version = "0.37.19"
+version = "0.38.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "acf8729d8542766f1b2cf77eb034d52f40d375bb8b615d0b147089946e16613d"
+checksum = "0a962918ea88d644592894bc6dc55acc6c0956488adcebbfb6e273506b7fd6e5"
 dependencies = [
- "bitflags",
+ "bitflags 2.3.3",
  "errno 0.3.1",
- "io-lifetimes",
  "libc",
  "linux-raw-sys",
  "windows-sys",
@@ -1175,38 +1220,38 @@ dependencies = [
 
 [[package]]
 name = "ryu"
-version = "1.0.13"
+version = "1.0.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f91339c0467de62360649f8d3e185ca8de4224ff281f66000de5eb2a77a79041"
+checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741"
 
 [[package]]
 name = "semver"
-version = "1.0.17"
+version = "1.0.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bebd363326d05ec3e2f532ab7660680f3b02130d780c299bca73469d521bc0ed"
+checksum = "b0293b4b29daaf487284529cc2f5675b8e57c61f70167ba415a463651fd6a918"
 
 [[package]]
 name = "serde"
-version = "1.0.163"
+version = "1.0.175"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2113ab51b87a539ae008b5c6c02dc020ffa39afd2d83cffcb3f4eb2722cebec2"
+checksum = "5d25439cd7397d044e2748a6fe2432b5e85db703d6d097bd014b3c0ad1ebff0b"
 
 [[package]]
 name = "serde_derive"
-version = "1.0.163"
+version = "1.0.175"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8c805777e3930c8883389c602315a24224bcc738b63905ef87cd1420353ea93e"
+checksum = "b23f7ade6f110613c0d63858ddb8b94c1041f550eab58a16b371bdf2c9c80ab4"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.18",
+ "syn 2.0.27",
 ]
 
 [[package]]
 name = "serde_json"
-version = "1.0.96"
+version = "1.0.103"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "057d394a50403bcac12672b2b18fb387ab6d289d957dab67dd201875391e52f1"
+checksum = "d03b412469450d4404fe8499a268edd7f8b79fecb074b0d812ad64ca21f4031b"
 dependencies = [
  "itoa",
  "ryu",
@@ -1215,9 +1260,9 @@ dependencies = [
 
 [[package]]
 name = "sha2"
-version = "0.10.6"
+version = "0.10.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0"
+checksum = "479fb9d862239e610720565ca91403019f2f00410f1864c5aa7479b950a76ed8"
 dependencies = [
  "cfg-if 1.0.0",
  "cpufeatures",
@@ -1266,7 +1311,7 @@ checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
 
 [[package]]
 name = "stratisd"
-version = "3.5.7"
+version = "3.5.8"
 dependencies = [
  "assert_cmd",
  "assert_matches",
@@ -1284,7 +1329,7 @@ dependencies = [
  "env_logger",
  "futures",
  "iocuddle",
- "itertools",
+ "itertools 0.11.0",
  "lazy_static",
  "libblkid-rs",
  "libc",
@@ -1340,9 +1385,9 @@ dependencies = [
 
 [[package]]
 name = "syn"
-version = "2.0.18"
+version = "2.0.27"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "32d41677bcbe24c20c52e7c70b0d8db04134c5d1066bf98662e2871ad200ea3e"
+checksum = "b60f673f44a8255b9c8c657daf66a596d435f2da81a555b06dc644d080ba45e0"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -1351,11 +1396,10 @@ dependencies = [
 
 [[package]]
 name = "tempfile"
-version = "3.6.0"
+version = "3.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "31c0432476357e58790aaa47a8efb0c5138f137343f3b5f23bd36a27e3b0a6d6"
+checksum = "5486094ee78b2e5038a6382ed7645bc084dc2ec433426ca4c3cb61e2007b8998"
 dependencies = [
- "autocfg",
  "cfg-if 1.0.0",
  "fastrand",
  "redox_syscall",
@@ -1380,11 +1424,12 @@ checksum = "3369f5ac52d5eb6ab48c6b4ffdc8efbcad6b89c765749064ba298f2c68a16a76"
 
 [[package]]
 name = "tokio"
-version = "1.28.2"
+version = "1.29.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "94d7b1cfd2aa4011f2de74c2c4c63665e27a71006b0a192dcd2710272e73dfa2"
+checksum = "532826ff75199d5833b9d2c5fe410f29235e25704ee5f0ef599fb51c21f4a4da"
 dependencies = [
  "autocfg",
+ "backtrace",
  "libc",
  "mio",
  "num_cpus",
@@ -1403,7 +1448,7 @@ checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.18",
+ "syn 2.0.27",
 ]
 
 [[package]]
@@ -1420,9 +1465,9 @@ checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94"
 
 [[package]]
 name = "unicode-ident"
-version = "1.0.9"
+version = "1.0.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b15811caf2415fb889178633e7724bad2509101cde276048e013b9def5e51fa0"
+checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c"
 
 [[package]]
 name = "utf8parse"
@@ -1432,9 +1477,9 @@ checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
 
 [[package]]
 name = "uuid"
-version = "1.3.3"
+version = "1.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "345444e32442451b267fc254ae85a209c64be56d2890e601a0c37ff0c3c5ecd2"
+checksum = "79daa5ed5740825c40b389c5e50312b9c86df53fccd33f281df655642b43869d"
 dependencies = [
  "getrandom",
  "serde",
@@ -1469,9 +1514,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
 
 [[package]]
 name = "wasm-bindgen"
-version = "0.2.86"
+version = "0.2.87"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5bba0e8cb82ba49ff4e229459ff22a191bbe9a1cb3a341610c9c33efc27ddf73"
+checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342"
 dependencies = [
  "cfg-if 1.0.0",
  "wasm-bindgen-macro",
@@ -1479,24 +1524,24 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-backend"
-version = "0.2.86"
+version = "0.2.87"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "19b04bc93f9d6bdee709f6bd2118f57dd6679cf1176a1af464fca3ab0d66d8fb"
+checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd"
 dependencies = [
  "bumpalo",
  "log",
  "once_cell",
  "proc-macro2",
  "quote",
- "syn 2.0.18",
+ "syn 2.0.27",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
 name = "wasm-bindgen-macro"
-version = "0.2.86"
+version = "0.2.87"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "14d6b024f1a526bb0234f52840389927257beb670610081360e5a03c5df9c258"
+checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d"
 dependencies = [
  "quote",
  "wasm-bindgen-macro-support",
@@ -1504,22 +1549,22 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-macro-support"
-version = "0.2.86"
+version = "0.2.87"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e128beba882dd1eb6200e1dc92ae6c5dbaa4311aa7bb211ca035779e5efc39f8"
+checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.18",
+ "syn 2.0.27",
  "wasm-bindgen-backend",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
 name = "wasm-bindgen-shared"
-version = "0.2.86"
+version = "0.2.87"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ed9d5b4305409d1fc9482fee2d7f9bcbf24b3972bf59817ef757e23982242a93"
+checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1"
 
 [[package]]
 name = "winapi"
@@ -1572,9 +1617,9 @@ dependencies = [
 
 [[package]]
 name = "windows-targets"
-version = "0.48.0"
+version = "0.48.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5"
+checksum = "05d4b17490f70499f20b9e791dcf6a299785ce8af4d709018206dc5b4953e95f"
 dependencies = [
  "windows_aarch64_gnullvm",
  "windows_aarch64_msvc",
diff --git a/pkgs/tools/filesystems/stratisd/default.nix b/pkgs/tools/filesystems/stratisd/default.nix
index 224a4293c1afc..892591576dc4d 100644
--- a/pkgs/tools/filesystems/stratisd/default.nix
+++ b/pkgs/tools/filesystems/stratisd/default.nix
@@ -28,13 +28,13 @@
 
 stdenv.mkDerivation rec {
   pname = "stratisd";
-  version = "3.5.7";
+  version = "3.5.8";
 
   src = fetchFromGitHub {
     owner = "stratis-storage";
     repo = pname;
-    rev = "v${version}";
-    hash = "sha256-JkGDik2RL+JnUJloV5597UlSnF5PncP3F6nzghJpGBg=";
+    rev = "refs/tags/stratisd-v${version}";
+    hash = "sha256-/Yqruz8gUyfL6zXYwlNvXa9feLBOOT4q4Gl/jxt1cMs=";
   };
 
   cargoDeps = rustPlatform.importCargoLock {
@@ -76,7 +76,7 @@ stdenv.mkDerivation rec {
     lvm2
   ];
 
-  outputs = ["out" "initrd"];
+  outputs = [ "out" "initrd" ];
 
   EXECUTABLES_PATHS = lib.makeBinPath ([
     xfsprogs
diff --git a/pkgs/tools/games/dualsensectl/default.nix b/pkgs/tools/games/dualsensectl/default.nix
index f08622aa3a73d..cb17ba25d7f89 100644
--- a/pkgs/tools/games/dualsensectl/default.nix
+++ b/pkgs/tools/games/dualsensectl/default.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "dualsensectl";
-  version = "0.3";
+  version = "0.4";
 
   src = fetchFromGitHub {
     owner = "nowrep";
     repo = "dualsensectl";
     rev = "v${version}";
-    hash = "sha256-OZmZ+ENBBKzRZ9jLIn9Bz7oGYrSAjZ5XlOR9fpN0cZs=";
+    hash = "sha256-DrPVzbaLO2NgjNcEFyCs2W+dlbdpBeRX1ZfFenqz7IY=";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/games/slipstream/default.nix b/pkgs/tools/games/slipstream/default.nix
index 828d0e7ce46e2..7200af3d1980b 100644
--- a/pkgs/tools/games/slipstream/default.nix
+++ b/pkgs/tools/games/slipstream/default.nix
@@ -13,9 +13,9 @@ mavenWithJdk.buildMavenPackage rec {
     hash = "sha256-F+o94Oh9qxVdfgwdmyOv+WZl1BjQuzhQWaVrAgScgIU=";
   };
 
-  mvnHash = "sha256-oDtUitsfZPiDtyfzzw1yMNBCKyP6rHczKZT/SPPJYGE=";
+  mvnHash = "sha256-8i3OVSy8RUGVoQzwADszVvNYe50f4nsJie1y7tsOK4U=";
 
-  nativeBuildInputs = [ mavenWithJdk makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   installPhase = ''
     runHook preInstall
@@ -44,6 +44,5 @@ mavenWithJdk.buildMavenPackage rec {
     homepage = "https://github.com/Vhati/Slipstream-Mod-Manager";
     license = licenses.gpl2;
     maintainers = with maintainers; [ mib ];
-    platforms = platforms.all;
   };
 }
diff --git a/pkgs/tools/inputmethods/fcitx5/fcitx5-qt.nix b/pkgs/tools/inputmethods/fcitx5/fcitx5-qt.nix
index 24019041eb198..8adc271ff8fff 100644
--- a/pkgs/tools/inputmethods/fcitx5/fcitx5-qt.nix
+++ b/pkgs/tools/inputmethods/fcitx5/fcitx5-qt.nix
@@ -48,6 +48,8 @@ mkDerivation rec {
     libXdmcp
   ];
 
+  qtWrapperArgs = [ "--prefix" "FCITX_ADDON_DIRS" ":" "${placeholder "out"}/lib/fcitx5" ];
+
   meta = with lib; {
     description = "Fcitx5 Qt Library";
     homepage = "https://github.com/fcitx/fcitx5-qt";
diff --git a/pkgs/tools/misc/alt-server/default.nix b/pkgs/tools/misc/alt-server/default.nix
new file mode 100644
index 0000000000000..5a9de8cf3be3b
--- /dev/null
+++ b/pkgs/tools/misc/alt-server/default.nix
@@ -0,0 +1,41 @@
+{ stdenv
+, fetchurl
+, lib
+, autoPatchelfHook
+, avahi-compat
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "AltServer-Linux";
+  version = "0.0.5";
+
+  src = fetchurl {
+    url = "https://github.com/NyaMisty/AltServer-Linux/releases/download/v${finalAttrs.version}/AltServer-x86_64";
+    hash = "sha256-C+fDrcaewRd6FQMrO443xdDk/vtHycQ5zWLCOLPqF/s=";
+  };
+
+  buildInputs = [
+    avahi-compat
+  ];
+
+  dontUnpack = true;
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/bin
+    cp $src $out/bin/alt-server
+    chmod u+rx $out/bin/alt-server
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/NyaMisty/AltServer-Linux";
+    description = "AltServer for AltStore, but on-device. Requires root privileges as well as running a custom anisette server currently.";
+    license = licenses.agpl3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ max-amb ];
+  };
+})
+
diff --git a/pkgs/tools/misc/bat/default.nix b/pkgs/tools/misc/bat/default.nix
index 31f86098a0b3e..400aec1cd7f47 100644
--- a/pkgs/tools/misc/bat/default.nix
+++ b/pkgs/tools/misc/bat/default.nix
@@ -16,7 +16,7 @@ rustPlatform.buildRustPackage rec {
 
   src = fetchFromGitHub {
     owner = "sharkdp";
-    repo = pname;
+    repo = "bat";
     rev = "v${version}";
     hash = "sha256-cGHxB3Wp8yEcJBMtSOec6l7iBsMLhUtJ7nh5fijnWZs=";
   };
@@ -58,6 +58,7 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/sharkdp/bat";
     changelog = "https://github.com/sharkdp/bat/raw/v${version}/CHANGELOG.md";
     license = with licenses; [ asl20 /* or */ mit ];
+    mainProgram = "bat";
     maintainers = with maintainers; [ dywedir lilyball zowoq SuperSandro2000 ];
   };
 }
diff --git a/pkgs/tools/misc/bdf2psf/default.nix b/pkgs/tools/misc/bdf2psf/default.nix
index 1a75c2ff0af03..fdcdde0c04012 100644
--- a/pkgs/tools/misc/bdf2psf/default.nix
+++ b/pkgs/tools/misc/bdf2psf/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "bdf2psf";
-  version = "1.221";
+  version = "1.222";
 
   src = fetchurl {
     url = "mirror://debian/pool/main/c/console-setup/bdf2psf_${version}_all.deb";
-    sha256 = "XaNAF5+TM1F0qyX/PEwRoiEvO8qmPuMWs+mkWSaHNGg=";
+    sha256 = "sha256-zGd2t2Qtec8Up1SHAizZp8l/fhFpa0Y1UJbB8XanX6Q=";
   };
 
   nativeBuildInputs = [ dpkg ];
diff --git a/pkgs/tools/misc/chezmoi/default.nix b/pkgs/tools/misc/chezmoi/default.nix
index e9da12b3282aa..688725a78a325 100644
--- a/pkgs/tools/misc/chezmoi/default.nix
+++ b/pkgs/tools/misc/chezmoi/default.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "chezmoi";
-  version = "2.35.2";
+  version = "2.36.1";
 
   src = fetchFromGitHub {
     owner = "twpayne";
     repo = "chezmoi";
     rev = "v${version}";
-    hash = "sha256-drydLWt0B7mQKMn1GzEe/I352b2hvhCKV8tUicZoVHk=";
+    hash = "sha256-OZrQxF5fuKpauy3wk6q3bUh1uUw14nkEldrzYPiOVIQ=";
   };
 
-  vendorHash = "sha256-HZYYENQIkmAhm0oDfUUpiAqWTbmNsy6u6hOyUvd8iC8=";
+  vendorHash = "sha256-H7sbpDZMkPF5qw9urb/Gfmy8b9T4UEsnl6CGlZ1LThQ=";
 
   doCheck = false;
 
diff --git a/pkgs/tools/misc/clipboard-jh/default.nix b/pkgs/tools/misc/clipboard-jh/default.nix
index e95535056b817..9cebe31dd7b88 100644
--- a/pkgs/tools/misc/clipboard-jh/default.nix
+++ b/pkgs/tools/misc/clipboard-jh/default.nix
@@ -9,17 +9,18 @@
 , xorg
 , darwin
 , nix-update-script
+, alsa-lib
 }:
 
 stdenv.mkDerivation rec {
   pname = "clipboard-jh";
-  version = "0.8.0";
+  version = "0.8.1";
 
   src = fetchFromGitHub {
     owner = "Slackadays";
     repo = "clipboard";
     rev = version;
-    hash = "sha256-1HWWrBI96znHctoMhQyO46Jmbg1jXPcvkDdwiWwp4KE=";
+    hash = "sha256-UlN2BjtzS54oImAGM2Kl+j/LwfAyDXtbEMhsijBh/yg=";
   };
 
   postPatch = ''
@@ -36,6 +37,7 @@ stdenv.mkDerivation rec {
     wayland-protocols
     wayland
     xorg.libX11
+    alsa-lib
   ] ++ lib.optionals stdenv.isDarwin [
     darwin.apple_sdk.frameworks.AppKit
   ];
diff --git a/pkgs/tools/misc/coreboot-utils/default.nix b/pkgs/tools/misc/coreboot-utils/default.nix
index 1ba4c0aee9eb2..b96ccfd6fe7a0 100644
--- a/pkgs/tools/misc/coreboot-utils/default.nix
+++ b/pkgs/tools/misc/coreboot-utils/default.nix
@@ -65,6 +65,7 @@ let
     nvramtool = generic {
       pname = "nvramtool";
       meta.description = "Read and write coreboot parameters and display information from the coreboot table in CMOS/NVRAM";
+      meta.mainProgram = "nvramtool";
     };
     superiotool = generic {
       pname = "superiotool";
diff --git a/pkgs/tools/misc/diffoscope/default.nix b/pkgs/tools/misc/diffoscope/default.nix
index c2573d2f4c1f9..e736ce1468a9a 100644
--- a/pkgs/tools/misc/diffoscope/default.nix
+++ b/pkgs/tools/misc/diffoscope/default.nix
@@ -78,11 +78,11 @@
 # Note: when upgrading this package, please run the list-missing-tools.sh script as described below!
 python3.pkgs.buildPythonApplication rec {
   pname = "diffoscope";
-  version = "245";
+  version = "246";
 
   src = fetchurl {
     url = "https://diffoscope.org/archive/diffoscope-${version}.tar.bz2";
-    hash = "sha256-VeA8+gdKDDyNI9ica3YjGFw2Nl7Lb/L6/I7XNa9FMek=";
+    hash = "sha256-z7wrc8hveKqMJsJMLQXO3z+wcJxpY8QFoYxTBUzfGPg=";
   };
 
   outputs = [
diff --git a/pkgs/tools/misc/direnv/default.nix b/pkgs/tools/misc/direnv/default.nix
index 88a07cd07af9e..179e719528a4b 100644
--- a/pkgs/tools/misc/direnv/default.nix
+++ b/pkgs/tools/misc/direnv/default.nix
@@ -50,5 +50,6 @@ buildGoModule rec {
     homepage = "https://direnv.net";
     license = licenses.mit;
     maintainers = teams.numtide.members;
+    mainProgram = "direnv";
   };
 }
diff --git a/pkgs/tools/misc/engage/default.nix b/pkgs/tools/misc/engage/default.nix
index c01dcc2e68796..f9b0f411ee8a3 100644
--- a/pkgs/tools/misc/engage/default.nix
+++ b/pkgs/tools/misc/engage/default.nix
@@ -1,4 +1,5 @@
 { lib
+, installShellFiles
 , rustPlatform
 , fetchgit
 }:
@@ -19,6 +20,22 @@ rustPlatform.buildRustPackage {
 
   cargoHash = "sha256-+4uqC0VoBSmkS9hYC1lzWeJmK873slZT04TljHPE+Eo=";
 
+  nativeBuildInputs = [
+    installShellFiles
+  ];
+
+  postInstall = "installShellCompletion --cmd ${pname} "
+    + builtins.concatStringsSep
+      " "
+      (builtins.map
+        (shell: "--${shell} <($out/bin/${pname} self completions ${shell})")
+        [
+          "bash"
+          "fish"
+          "zsh"
+        ]
+      );
+
   meta = {
     description = "A task runner with DAG-based parallelism";
     homepage = "https://or.computer.surgery/charles/engage";
diff --git a/pkgs/tools/misc/farge/default.nix b/pkgs/tools/misc/farge/default.nix
new file mode 100644
index 0000000000000..1abffc64e0263
--- /dev/null
+++ b/pkgs/tools/misc/farge/default.nix
@@ -0,0 +1,57 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, makeBinaryWrapper
+, bc
+, libnotify
+, feh
+, grim
+, imagemagick
+, slurp
+, wl-clipboard
+, xcolor
+, waylandSupport ? true
+, x11Support ? true
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "farge";
+  version = "1.0.9";
+
+  src = fetchFromGitHub {
+    owner = "sdushantha";
+    repo = "farge";
+    rev = "2ff6669e2350644d4f0b1bd84526efe5eae3c302";
+    hash = "sha256-vCMuFMGcI4D4EzbSsXeNGKNS6nBFkfTcAmSzb9UMArc=";
+  };
+
+  nativeBuildInputs = [ makeBinaryWrapper ];
+
+  # Ensure the following programs are found within $PATH
+  wrapperPath = lib.makeBinPath ([
+    bc
+    feh
+    #Needed to fix convert: unable to read font `(null)' @ error/annotate.c/RenderFreetype issue
+    (imagemagick.override { ghostscriptSupport = true;})
+    libnotify #Needed for the notify-send function call from the script
+  ] ++ lib.optionals waylandSupport [ grim slurp wl-clipboard ]
+    ++ lib.optionals x11Support [ xcolor ]);
+
+  installPhase = ''
+    runHook preInstall
+    mkdir -p $out/bin
+    install -m755 farge $out/bin
+    wrapProgram $out/bin/farge \
+        --prefix PATH : "${finalAttrs.wrapperPath}"
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "A tool that shows the color value of a given pixel on your screen";
+    homepage = "https://github.com/sdushantha/farge";
+    license = licenses.mit;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ jtbx justinlime ];
+    mainProgram = "farge";
+  };
+})
diff --git a/pkgs/tools/misc/fastfetch/default.nix b/pkgs/tools/misc/fastfetch/default.nix
new file mode 100644
index 0000000000000..39250dfca49bd
--- /dev/null
+++ b/pkgs/tools/misc/fastfetch/default.nix
@@ -0,0 +1,123 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, chafa
+, cmake
+, dbus
+, dconf
+, glib
+, imagemagick_light
+, libglvnd
+, libpulseaudio
+, libxcb
+, libXrandr
+, makeBinaryWrapper
+, networkmanager
+, nix-update-script
+, ocl-icd
+, opencl-headers
+, pciutils
+, pkg-config
+, rpm
+, sqlite
+, testers
+, vulkan-loader
+, wayland
+, xfce
+, zlib
+, AppKit
+, Cocoa
+, CoreDisplay
+, CoreVideo
+, CoreWLAN
+, DisplayServices
+, Foundation
+, IOBluetooth
+, MediaRemote
+, OpenCL
+, moltenvk
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "fastfetch";
+  version = "1.12.2";
+
+  src = fetchFromGitHub {
+    owner = "fastfetch-cli";
+    repo = "fastfetch";
+    rev = finalAttrs.version;
+    hash = "sha256-l9fIm7+dBsOqGoFUYtpYESAjDy3496rDTUDQjbNU4U0=";
+  };
+
+  nativeBuildInputs = [
+    cmake
+    makeBinaryWrapper
+    pkg-config
+  ];
+
+  buildInputs = [
+    chafa
+    imagemagick_light
+    sqlite
+  ]
+  ++ lib.optionals stdenv.isLinux [
+    dbus
+    dconf
+    glib
+    libglvnd
+    libpulseaudio
+    libxcb
+    libXrandr
+    networkmanager
+    ocl-icd
+    opencl-headers
+    pciutils
+    rpm
+    vulkan-loader
+    wayland
+    xfce.xfconf
+    zlib
+  ]
+  ++ lib.optionals stdenv.isDarwin [
+    AppKit
+    Cocoa
+    CoreDisplay
+    CoreVideo
+    CoreWLAN
+    DisplayServices
+    Foundation
+    IOBluetooth
+    MediaRemote
+    OpenCL
+    moltenvk
+  ];
+
+  cmakeFlags = [
+    "-DCMAKE_INSTALL_SYSCONFDIR=${placeholder "out"}/etc"
+  ];
+
+  postInstall = ''
+    wrapProgram $out/bin/fastfetch \
+      --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath finalAttrs.buildInputs}"
+    wrapProgram $out/bin/flashfetch \
+      --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath finalAttrs.buildInputs}"
+  '';
+
+  passthru = {
+    updateScript = nix-update-script { };
+    tests.version = testers.testVersion {
+      package = finalAttrs.finalPackage;
+      command = "fastfetch -v | cut -d '(' -f 1";
+      version = "fastfetch ${finalAttrs.version}";
+    };
+  };
+
+  meta = {
+    description = "Like neofetch, but much faster because written in C";
+    inherit (finalAttrs.src.meta) homepage;
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ gerg-l khaneliman ];
+    platforms = lib.platforms.all;
+    mainProgram = "fastfetch";
+  };
+})
diff --git a/pkgs/tools/misc/file/default.nix b/pkgs/tools/misc/file/default.nix
index 45f5ed90577f3..7fad2c381c3fd 100644
--- a/pkgs/tools/misc/file/default.nix
+++ b/pkgs/tools/misc/file/default.nix
@@ -50,5 +50,6 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ doronbehar ];
     license = licenses.bsd2;
     platforms = platforms.all;
+    mainProgram = "file";
   };
 }
diff --git a/pkgs/tools/misc/fluent-bit/default.nix b/pkgs/tools/misc/fluent-bit/default.nix
index a0c7df3229370..0bf56cdba6397 100644
--- a/pkgs/tools/misc/fluent-bit/default.nix
+++ b/pkgs/tools/misc/fluent-bit/default.nix
@@ -1,14 +1,24 @@
-{ lib, stdenv, fetchFromGitHub, cmake, flex, bison, systemd, postgresql, openssl, libyaml }:
-
-stdenv.mkDerivation rec {
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, flex
+, bison
+, systemd
+, postgresql
+, openssl
+, libyaml
+}:
+
+stdenv.mkDerivation (finalAttrs: {
   pname = "fluent-bit";
-  version = "2.1.7";
+  version = "2.1.8";
 
   src = fetchFromGitHub {
     owner = "fluent";
     repo = "fluent-bit";
-    rev = "v${version}";
-    hash = "sha256-KQHrzfmYoDnWP4bBHXeHq47K6LqVcPuSLu7h2ka+U8A=";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-iWbWkKd0Rpg0EU3H//sAxth1v1S52yPwGn1AzeC9xkA=";
   };
 
   nativeBuildInputs = [ cmake flex bison ];
@@ -34,12 +44,12 @@ stdenv.mkDerivation rec {
       --replace /lib/systemd $out/lib/systemd
   '';
 
-  meta = with lib; {
+  meta = {
+    changelog = "https://github.com/fluent/fluent-bit/releases/tag/v${finalAttrs.version}";
     description = "Log forwarder and processor, part of Fluentd ecosystem";
     homepage = "https://fluentbit.io";
-    changelog = "https://github.com/fluent/fluent-bit/releases/tag/v${version}";
-    maintainers = with maintainers; [ samrose fpletz ];
-    license = licenses.asl20;
-    platforms = platforms.linux;
+    license = lib.licenses.asl20;
+    maintainers = [ lib.maintainers.samrose lib.maintainers.fpletz ];
+    platforms = lib.platforms.linux;
   };
-}
+})
diff --git a/pkgs/tools/misc/fw/default.nix b/pkgs/tools/misc/fw/default.nix
index c3cdc82899650..7cb9be3ccb55f 100644
--- a/pkgs/tools/misc/fw/default.nix
+++ b/pkgs/tools/misc/fw/default.nix
@@ -4,31 +4,39 @@
 , pkg-config
 , libgit2
 , openssl
+, zlib
 , stdenv
-, Security
+, darwin
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "fw";
-  version = "2.16.1";
+  version = "2.17.1";
 
   src = fetchFromGitHub {
     owner = "brocode";
-    repo = pname;
+    repo = "fw";
     rev = "v${version}";
-    sha256 = "1nhkirjq2q9sxg4k2scy8vxlqa9ikvr5lid0f22vws07vif4kkfs";
+    hash = "sha256-8Jq7VjTKwq8n9lrwTzazkkrq8/mNacFTwz/M+eAwBWM=";
   };
 
-  cargoSha256 = "sha256-iD3SBSny0mYpmVEInYaylHn0AbtIqTOwJHdFeq3UBaM=";
+  cargoHash = "sha256-tIrACx4KRjfxLyxTiP32PpdN8NegaHBIkINsPGgygVQ=";
 
-  nativeBuildInputs = [ pkg-config ];
+  nativeBuildInputs = [
+    pkg-config
+  ];
 
-  buildInputs = [ libgit2 openssl ] ++ lib.optionals stdenv.isDarwin [
-    Security
+  buildInputs = [
+    libgit2
+    openssl
+    zlib
+  ] ++ lib.optionals stdenv.isDarwin [
+    darwin.apple_sdk.frameworks.Security
   ];
 
-  OPENSSL_NO_VENDOR = 1;
-  USER = "nixbld";
+  env = {
+    OPENSSL_NO_VENDOR = true;
+  };
 
   meta = with lib; {
     description = "A workspace productivity booster";
diff --git a/pkgs/tools/misc/fwup/default.nix b/pkgs/tools/misc/fwup/default.nix
index 586e4033b0344..d43914685d2c4 100644
--- a/pkgs/tools/misc/fwup/default.nix
+++ b/pkgs/tools/misc/fwup/default.nix
@@ -21,13 +21,13 @@
 
 stdenv.mkDerivation rec {
   pname = "fwup";
-  version = "1.10.0";
+  version = "1.10.1";
 
   src = fetchFromGitHub {
     owner = "fhunleth";
     repo = "fwup";
     rev = "v${version}";
-    sha256 = "sha256-oFGgQa52NPNOouNHvyZoen7jDIqxckpjLFfzfbbcT/c=";
+    sha256 = "sha256-s2TlxksxGYvRqDwRA7eLlXAyT5uPK2DiL8ma1nNVz5Q=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/misc/gh-dash/default.nix b/pkgs/tools/misc/gh-dash/default.nix
index 95999d79c9e5f..6f0d3d77ce5ba 100644
--- a/pkgs/tools/misc/gh-dash/default.nix
+++ b/pkgs/tools/misc/gh-dash/default.nix
@@ -7,13 +7,13 @@
 
 buildGoModule rec {
   pname = "gh-dash";
-  version = "3.9.0";
+  version = "3.10.0";
 
   src = fetchFromGitHub {
     owner = "dlvhdr";
     repo = "gh-dash";
     rev = "v${version}";
-    hash = "sha256-QaKrn/22wrRCMJLzCVRnxBRxAhnUBjkESSRg4YQCHoc=";
+    hash = "sha256-ypYM/FXp+BObR2fjVCV8nDJhRuuu2Y7213haAJnzRIE=";
   };
 
   vendorHash = "sha256-lOIONv+7cUUC0mGCwYkOkDn3zHreYpFeqmTbp2Ob3yM=";
@@ -29,9 +29,9 @@ buildGoModule rec {
   };
 
   meta = {
-    description = "gh extension to display a dashboard with pull requests and issues";
-    homepage = "https://github.com/dlvhdr/gh-dash";
     changelog = "https://github.com/dlvhdr/gh-dash/releases/tag/${src.rev}";
+    description = "Github Cli extension to display a dashboard with pull requests and issues";
+    homepage = "https://github.com/dlvhdr/gh-dash";
     license = lib.licenses.mit;
     maintainers = with lib.maintainers; [ amesgen ];
   };
diff --git a/pkgs/tools/misc/goose/default.nix b/pkgs/tools/misc/goose/default.nix
index 90eea28008803..e4e34f86d212e 100644
--- a/pkgs/tools/misc/goose/default.nix
+++ b/pkgs/tools/misc/goose/default.nix
@@ -6,17 +6,17 @@
 
 buildGoModule rec {
   pname = "goose";
-  version = "3.13.4";
+  version = "3.14.0";
 
   src = fetchFromGitHub {
     owner = "pressly";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-mz7kB8ygDm23bsuQy9mYnWSGF6DDGqBtvj82s2PLDR0=";
+    hash = "sha256-4WBYfxEmEuFZM+Qt2miw6GxuV5B2nc4XXeyDQi1IISg=";
   };
 
   proxyVendor = true;
-  vendorHash = "sha256-lWlv6+Auj9YGxyJXr5WGbe4AWqJSpHE9RTY+9ZXyPVQ=";
+  vendorHash = "sha256-zsqulNAPcGVp6+ClYtRwM5U6YwRak4ttSLbgPWDxtbI=";
 
   # end-to-end tests require a docker daemon
   postPatch = ''
diff --git a/pkgs/tools/misc/hwatch/default.nix b/pkgs/tools/misc/hwatch/default.nix
index 59e6d17a240af..6e3ad36af1634 100644
--- a/pkgs/tools/misc/hwatch/default.nix
+++ b/pkgs/tools/misc/hwatch/default.nix
@@ -24,19 +24,16 @@ rustPlatform.buildRustPackage rec {
 
   passthru.tests.version = testers.testVersion {
     package = hwatch;
-    command = "hwatch --version";
-    version = version;
   };
 
   meta = with lib; {
     homepage = "https://github.com/blacknon/hwatch";
-    description= "Modern alternative to the watch command";
+    description = "Modern alternative to the watch command";
     longDescription = ''
       A modern alternative to the watch command, records the differences in
       execution results and can check this differences at after.
     '';
     license = licenses.mit;
     maintainers = with maintainers; [ hamburger1984 ];
-    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/misc/killport/default.nix b/pkgs/tools/misc/killport/default.nix
index 44484c17ef583..714beb78dccd4 100644
--- a/pkgs/tools/misc/killport/default.nix
+++ b/pkgs/tools/misc/killport/default.nix
@@ -5,14 +5,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "killport";
-  version = "0.9.0";
+  version = "0.9.1";
 
   src = fetchCrate {
     inherit pname version;
-    hash = "sha256-aGnjLgDn86OUFQGj7K7+DUSGJuNEIL52yXJz/Mt5DT0=";
+    hash = "sha256-aaKvrWJGZ26wyqoblAcUkGUPkbt8XNx9Z4xT+qI2B3o=";
   };
 
-  cargoHash = "sha256-Z3+hqssm5g7rl3XCnrmjuPhsG8E0Yc2Qg8/mjGlnaT4=";
+  cargoHash = "sha256-4CUMt5aDHq943uU5PAY1TJtmCqlBvgOruGQ69OG5fB4=";
 
   nativeBuildInputs = [ rustPlatform.bindgenHook ];
 
diff --git a/pkgs/tools/misc/license-cli/default.nix b/pkgs/tools/misc/license-cli/default.nix
index bd90516daa200..bf3de443e3020 100644
--- a/pkgs/tools/misc/license-cli/default.nix
+++ b/pkgs/tools/misc/license-cli/default.nix
@@ -13,16 +13,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "license-cli";
-  version = "3.0.0";
+  version = "3.1.0";
 
   src = fetchFromSourcehut {
     owner = "~zethra";
     repo = "license";
     rev = version;
-    hash = "sha256-M5ypymJ99T4Vc7XSmqNb69yBLgSYu9I+6FEQvtFGUf0=";
+    hash = "sha256-OGS26mE5rjxlZOaBWhYc7C8aM3Lq2xX0f31LgckjJF8=";
   };
 
-  cargoHash = "sha256-me4xPP6fO1D+vvR9XZg2EHieY7OU2HHQ4P0nkk/IKpE=";
+  cargoHash = "sha256-Zj9t/e6QhiOxU8mlVRBKEbviSTKXM4WQ3lqtoCcMbMI=";
 
   nativeBuildInputs = [ installShellFiles makeWrapper ];
 
diff --git a/pkgs/tools/misc/melody/default.nix b/pkgs/tools/misc/melody/default.nix
index d17f8ef6f083b..7f3f7f29f2145 100644
--- a/pkgs/tools/misc/melody/default.nix
+++ b/pkgs/tools/misc/melody/default.nix
@@ -2,15 +2,15 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "melody";
-  version = "0.18.1";
+  version = "0.19.0";
 
   src = fetchCrate {
     pname = "melody_cli";
     inherit version;
-    sha256 = "sha256-Az1pGRty7wAC5fN7RlO/etaW5w5TrsO6VVXv5M7NUfU=";
+    sha256 = "sha256-sJVZ4dRP6mAx9g7iqwI3L2cMa5x4qQuzKWPXvOOq6q8=";
   };
 
-  cargoSha256 = "sha256-EhPrARdDnwdxfK1JHuuHVrxSDZhuE+kTBQr45JxluUA=";
+  cargoHash = "sha256-8UWz+gYUxf2UNWZCnhQlGiSX6kPsHPlYcdl7wD3Rchs=";
 
   meta = with lib; {
     description = "Language that compiles to regular expressions";
diff --git a/pkgs/tools/misc/nurl/default.nix b/pkgs/tools/misc/nurl/default.nix
index 00b9e990a8d52..16fec1445a57d 100644
--- a/pkgs/tools/misc/nurl/default.nix
+++ b/pkgs/tools/misc/nurl/default.nix
@@ -57,5 +57,6 @@ rustPlatform.buildRustPackage rec {
     changelog = "https://github.com/nix-community/nurl/blob/v${version}/CHANGELOG.md";
     license = licenses.mpl20;
     maintainers = with maintainers; [ figsoda ];
+    mainProgram = "nurl";
   };
 }
diff --git a/pkgs/tools/misc/ollama/default.nix b/pkgs/tools/misc/ollama/default.nix
new file mode 100644
index 0000000000000..784c308759535
--- /dev/null
+++ b/pkgs/tools/misc/ollama/default.nix
@@ -0,0 +1,35 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+, stdenv
+, darwin
+}:
+
+buildGoModule rec {
+  pname = "ollama";
+  version = "0.0.12";
+
+  src = fetchFromGitHub {
+    owner = "jmorganca";
+    repo = "ollama";
+    rev = "v${version}";
+    hash = "sha256-TEifqWVgZjrQcq9eDjfRgUff9vdsO3Fx2hZZJVJZLsU=";
+  };
+
+  buildInputs = lib.optionals stdenv.isDarwin (with darwin.apple_sdk_11_0.frameworks; [
+    Accelerate
+    MetalPerformanceShaders
+    MetalKit
+  ]);
+
+  vendorHash = "sha256-KtpEqGXLpwH0NXFjb0F/SUBxP7BLEiEg3NouC0ZQOPs=";
+
+  ldflags = [ "-s" "-w" ];
+
+  meta = with lib; {
+    description = "Get up and running with large language models locally";
+    homepage = "https://github.com/jmorganca/ollama";
+    license = licenses.mit;
+    maintainers = with maintainers; [ dit7ya ];
+  };
+}
diff --git a/pkgs/tools/misc/phrase-cli/default.nix b/pkgs/tools/misc/phrase-cli/default.nix
index c90981475bdab..a4eba4aaf0a40 100644
--- a/pkgs/tools/misc/phrase-cli/default.nix
+++ b/pkgs/tools/misc/phrase-cli/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "phrase-cli";
-  version = "2.8.2";
+  version = "2.8.4";
 
   src = fetchFromGitHub {
     owner = "phrase";
     repo = "phrase-cli";
     rev = version;
-    sha256 = "sha256-jsN7JouIyrFd//+kDAcEEsXiGLZx8e5jQsiNVQuDiQg=";
+    sha256 = "sha256-tYpn93PSvO9g31soDOW0+gOBaypMUlx9Xfo0H3ftJQk=";
   };
 
-  vendorHash = "sha256-a0QA/1vUryAnO0Nr+m8frxtpnSHBOSOP1pq+BORTIJw=";
+  vendorHash = "sha256-SooYBVXcll8QciK8J68wUAsAH6kN+lWlmPS8h0Hw4e0=";
 
   ldflags = [ "-X=github.com/phrase/phrase-cli/cmd.PHRASE_CLIENT_VERSION=${version}" ];
 
diff --git a/pkgs/tools/misc/sagoin/default.nix b/pkgs/tools/misc/sagoin/default.nix
index 682b2cbb56f57..7e6d3e26bd039 100644
--- a/pkgs/tools/misc/sagoin/default.nix
+++ b/pkgs/tools/misc/sagoin/default.nix
@@ -8,16 +8,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "sagoin";
-  version = "0.2.2";
+  version = "0.2.3";
 
   src = fetchFromGitHub {
     owner = "figsoda";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-bhBC7Cblw8vmP4BalYv2DMRQWPK2AELb8Ia9PSeWcXE=";
+    hash = "sha256-/WNUDlJxxUGAtykX44A9EqMdBNwVKsGkPnq9pATmLEQ=";
   };
 
-  cargoHash = "sha256-1XcI2LUo6xOs6bJDXKVDqMangH2dq2E6fNokuSDzpK0=";
+  cargoHash = "sha256-YGQZR5n71srD/8QrBUOoEe72nPm0cwgk5zrzoXy2Hx0=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/tools/misc/shadowenv/Cargo.lock.patch b/pkgs/tools/misc/shadowenv/Cargo.lock.patch
new file mode 100644
index 0000000000000..d1866991cea79
--- /dev/null
+++ b/pkgs/tools/misc/shadowenv/Cargo.lock.patch
@@ -0,0 +1,13 @@
+diff --git c/Cargo.lock i/Cargo.lock
+index fb6ef6e..347b404 100644
+--- c/Cargo.lock
++++ i/Cargo.lock
+@@ -1168,7 +1168,7 @@ dependencies = [
+ 
+ [[package]]
+ name = "shadowenv"
+-version = "2.1.0"
++version = "2.1.1"
+ dependencies = [
+  "atty",
+  "blake2",
diff --git a/pkgs/tools/misc/shadowenv/default.nix b/pkgs/tools/misc/shadowenv/default.nix
index 51bb84cc065c3..12723000cef78 100644
--- a/pkgs/tools/misc/shadowenv/default.nix
+++ b/pkgs/tools/misc/shadowenv/default.nix
@@ -2,16 +2,18 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "shadowenv";
-  version = "2.1.0";
+  version = "2.1.1";
 
   src = fetchFromGitHub {
     owner = "Shopify";
     repo = pname;
     rev = version;
-    hash = "sha256-11Zce3eehyuDOl2zYl0sf/yh8SOOnu8W/CrL18e3zzw=";
+    hash = "sha256-NKqoeJ2sejbe7Gghk3H7oJtP16SX1PcIIjsh/bZdTfQ=";
   };
 
-  cargoHash = "sha256-eo+/mZ6QFoXgIT1uT65TVR65xWBm/Cw5yBzvRUVgQUY=";
+  cargoPatches = [ ./Cargo.lock.patch ];
+
+  cargoHash = "sha256-CGAwb+UduM2QKne2bPntOcFnaUQN/3uUANc6z7f/Oig=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/tools/misc/spigot/default.nix b/pkgs/tools/misc/spigot/default.nix
index b2abec09741d8..5f50307537b63 100644
--- a/pkgs/tools/misc/spigot/default.nix
+++ b/pkgs/tools/misc/spigot/default.nix
@@ -8,14 +8,13 @@
 , perl
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "spigot";
-  version = "20210527";
-  srcVersion = "20210527.7dd3cfd";
+  version = "20220606.eb585f8";
 
   src = fetchurl {
-    url = "https://www.chiark.greenend.org.uk/~sgtatham/spigot/${pname}-${srcVersion}.tar.gz";
-    hash = "sha256-EBS3lgfLtsyBQ8mzoJPyZhRBJNmkVSeF5XecGgcvqtw=";
+    url = "https://www.chiark.greenend.org.uk/~sgtatham/spigot/spigot-${finalAttrs.version}.tar.gz";
+    hash = "sha256-JyNNZo/HUPWv5rYtlNYp8Hl0C7i3yxEyKm+77ysN7Ao=";
   };
 
   nativeBuildInputs = [
@@ -33,22 +32,11 @@ stdenv.mkDerivation rec {
 
   strictDeps = true;
 
-  doInstallCheck = true;
-  installCheckPhase = ''
-    runHook preInstallCheck
-
-    [ `$out/bin/spigot -b 10 -d 10 e` == "2.7182818284" ] || exit 1
-    [ `$out/bin/spigot -b 10 -d 10 pi` == "3.1415926535" ] || exit 1
-    [ `$out/bin/spigot -b 10 -d 10 sqrt\(2\)` == "1.4142135623" ] || exit 1
-
-    runHook postInstallCheck
-  '';
-
-  meta = with lib; {
+  meta = {
     homepage = "https://www.chiark.greenend.org.uk/~sgtatham/spigot/";
     description = "A command-line exact real calculator";
-    license = licenses.mit;
-    maintainers = with maintainers; [ AndersonTorres mcbeth ];
-    platforms = platforms.unix;
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ AndersonTorres ];
+    platforms = lib.platforms.unix;
   };
-}
+})
diff --git a/pkgs/tools/misc/starship/default.nix b/pkgs/tools/misc/starship/default.nix
index 1100a62b09474..fa88b633d2190 100644
--- a/pkgs/tools/misc/starship/default.nix
+++ b/pkgs/tools/misc/starship/default.nix
@@ -13,13 +13,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "starship";
-  version = "1.15.0";
+  version = "1.16.0";
 
   src = fetchFromGitHub {
     owner = "starship";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-aINiWzkt4sAWgcGdkHTb2KRMh2z+LiOhDdTJbzbXwR4=";
+    hash = "sha256-CrD65nHE40n83HO+4QM1sLHvdFaqTvOb96hPBgXKuwk=";
   };
 
   nativeBuildInputs = [ installShellFiles cmake ];
@@ -35,7 +35,7 @@ rustPlatform.buildRustPackage rec {
       --zsh <($out/bin/starship completions zsh)
   '';
 
-  cargoHash = "sha256-XT2kgiITtG1FNyztNvos/r01pvdF1xPhHA4+YhFGFEU=";
+  cargoHash = "sha256-ZHHrpepKZnSGufyEAjNDozaIKAt2GFRt+hU2ej7LceA=";
 
   nativeCheckInputs = [ git ];
 
diff --git a/pkgs/tools/misc/twspace-crawler/default.nix b/pkgs/tools/misc/twspace-crawler/default.nix
index 693bd8794e02c..aa34fdbc41e54 100644
--- a/pkgs/tools/misc/twspace-crawler/default.nix
+++ b/pkgs/tools/misc/twspace-crawler/default.nix
@@ -2,16 +2,16 @@
 
 buildNpmPackage rec {
   pname = "twspace-crawler";
-  version = "1.12.6";
+  version = "1.12.7";
 
   src = fetchFromGitHub {
     owner = "HitomaruKonpaku";
     repo = "twspace-crawler";
-    rev = "fc415f4b889f93bdbf357e14f1a6bf3fc146aac9"; # version not tagged
-    hash = "sha256-25/VFbf6UJJKnDDCXuIfWSEgVD24SB3feLV0zF8DlBs=";
+    rev = "bc1626996076f4e73890dc80b2fe99d578a7c641"; # version not tagged
+    hash = "sha256-/2wdl7VCcO8WRAYFtr1wtu80TwyLI3Hi8XzmrzOzhUQ=";
   };
 
-  npmDepsHash = "sha256-4ZNFuOCdCh+H8tH8qKr2569wDFPOxaLfqmA6N3FNP84=";
+  npmDepsHash = "sha256-pPpUQ6o0P7iTcdLwWqwItJFVhYH9rC+bLKo4Gz7DiRE=";
 
   meta = with lib; {
     description = "Script to monitor & download Twitter Spaces 24/7";
diff --git a/pkgs/tools/misc/urn-timer/default.nix b/pkgs/tools/misc/urn-timer/default.nix
index df0d3bdee2448..8af36c2bca18a 100644
--- a/pkgs/tools/misc/urn-timer/default.nix
+++ b/pkgs/tools/misc/urn-timer/default.nix
@@ -11,19 +11,15 @@
 
 stdenv.mkDerivation {
   pname = "urn-timer";
-  version = "unstable-2023-07-01";
+  version = "unstable-2023-07-31";
 
   src = fetchFromGitHub {
     owner = "paoloose";
     repo = "urn";
-    rev = "8efdabcdd806b3b8997b82925d26209e6da8311b";
-    hash = "sha256-lQVdHD3IkITJ2P2zimhFLTxmOzZkdWOg/RhR2xlBLJU=";
+    rev = "2dad51949aa21e0e66a3d34e916fb66689c6be2e";
+    hash = "sha256-0pZjgKW4kyBgMGKEa8ZMhKtzbJX2MoXKID++iy16m2A=";
   };
 
-  postPatch = ''
-    substituteInPlace Makefile --replace 'rsync -a --exclude=".*"' 'cp -r'
-  '';
-
   nativeBuildInputs = [
     xxd
     pkg-config
diff --git a/pkgs/tools/misc/vector/default.nix b/pkgs/tools/misc/vector/default.nix
index b74bd1c9e3cdb..fd3a94298c62e 100644
--- a/pkgs/tools/misc/vector/default.nix
+++ b/pkgs/tools/misc/vector/default.nix
@@ -126,5 +126,6 @@ rustPlatform.buildRustPackage {
     license = licenses.mpl20;
     maintainers = with maintainers; [ thoughtpolice happysalada ];
     platforms = with platforms; all;
+    mainProgram = "vector";
   };
 }
diff --git a/pkgs/tools/misc/vtm/default.nix b/pkgs/tools/misc/vtm/default.nix
index 75069f33f417d..331b880aa86dc 100644
--- a/pkgs/tools/misc/vtm/default.nix
+++ b/pkgs/tools/misc/vtm/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "vtm";
-  version = "0.9.9r";
+  version = "0.9.9t";
 
   src = fetchFromGitHub {
     owner = "netxs-group";
     repo = "vtm";
     rev = "v${version}";
-    sha256 = "sha256-HVhRzJReIxO4R9ZhI8vPcV29TRVffT/Eq6Z4u1xMpQo=";
+    sha256 = "sha256-WbigrJohLYCRvgsCNd4Cid1zGaP1aQbj59QhZ6ymLms=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/tools/misc/xvfb-run/default.nix b/pkgs/tools/misc/xvfb-run/default.nix
index 7b58b9c2d93cc..fc87723208ede 100644
--- a/pkgs/tools/misc/xvfb-run/default.nix
+++ b/pkgs/tools/misc/xvfb-run/default.nix
@@ -60,5 +60,6 @@ stdenvNoCC.mkDerivation rec {
     platforms = platforms.linux;
     license = licenses.gpl2;
     maintainers = [ maintainers.artturin ];
+    mainProgram = "xvfb-run";
   };
 }
diff --git a/pkgs/tools/misc/yt-dlp/default.nix b/pkgs/tools/misc/yt-dlp/default.nix
index 3fa7a9a8076b3..e274222b27b78 100644
--- a/pkgs/tools/misc/yt-dlp/default.nix
+++ b/pkgs/tools/misc/yt-dlp/default.nix
@@ -77,5 +77,6 @@ buildPythonPackage rec {
     '';
     license = licenses.unlicense;
     maintainers = with maintainers; [ mkg20001 SuperSandro2000 marsam ];
+    mainProgram = "yt-dlp";
   };
 }
diff --git a/pkgs/tools/networking/airgeddon/default.nix b/pkgs/tools/networking/airgeddon/default.nix
index 6ef64222fba84..5574a877c0d05 100644
--- a/pkgs/tools/networking/airgeddon/default.nix
+++ b/pkgs/tools/networking/airgeddon/default.nix
@@ -29,7 +29,6 @@
 , bettercap
 , bully
 , crunch
-, dhcp
 , dnsmasq
 , ettercap
 , hashcat
@@ -94,7 +93,6 @@ let
     wireshark-cli
   ] ++ lib.optionals supportEvilTwin [
     bettercap
-    dhcp
     dnsmasq
     ettercap
     hostapd
diff --git a/pkgs/tools/networking/amass/default.nix b/pkgs/tools/networking/amass/default.nix
index 1855fa534130a..92655b27eeb21 100644
--- a/pkgs/tools/networking/amass/default.nix
+++ b/pkgs/tools/networking/amass/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "amass";
-  version = "4.0.4";
+  version = "4.1.0";
 
   src = fetchFromGitHub {
     owner = "OWASP";
     repo = "Amass";
     rev = "refs/tags/v${version}";
-    hash = "sha256-KzMpe6pSPCNlk4fhZUZ1dvcj2Vgk8gHbEhVwlxOFKFg=";
+    hash = "sha256-mNoz9kVW+fwmur6SGWcpH9XYCYxasZJM0Bu4Bd4XMek=";
   };
 
-  vendorHash = "sha256-YdHJMUgVNUAREmvBDQl8p5ESOmJykheaQSU6asyZ7qc=";
+  vendorHash = "sha256-rX84qTlvPyDWVvHmpIVCP50yy+m+s/VtffORL+G/3kg=";
 
   outputs = [
     "out"
diff --git a/pkgs/tools/networking/clash-meta/default.nix b/pkgs/tools/networking/clash-meta/default.nix
index 244eab7809b90..c7275db6c0a6a 100644
--- a/pkgs/tools/networking/clash-meta/default.nix
+++ b/pkgs/tools/networking/clash-meta/default.nix
@@ -40,5 +40,6 @@ buildGoModule rec {
     homepage = "https://github.com/MetaCubeX/Clash.Meta";
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ oluceps ];
+    mainProgram = "clash-meta";
   };
 }
diff --git a/pkgs/tools/networking/clash/default.nix b/pkgs/tools/networking/clash/default.nix
index 6ddf423657fad..7eba0e1f21505 100644
--- a/pkgs/tools/networking/clash/default.nix
+++ b/pkgs/tools/networking/clash/default.nix
@@ -40,5 +40,6 @@ buildGoModule rec {
     changelog = "https://github.com/Dreamacro/clash/releases/tag/v${version}";
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ contrun Br1ght0ne ];
+    mainProgram = "clash";
   };
 }
diff --git a/pkgs/tools/networking/dae/default.nix b/pkgs/tools/networking/dae/default.nix
index 8e5d792dc7055..7abd3975eaff7 100644
--- a/pkgs/tools/networking/dae/default.nix
+++ b/pkgs/tools/networking/dae/default.nix
@@ -9,17 +9,17 @@
 }:
 buildGoModule rec {
   pname = "dae";
-  version = "0.2.2";
+  version = "0.2.3";
 
   src = fetchFromGitHub {
     owner = "daeuniverse";
-    repo = pname;
+    repo = "dae";
     rev = "v${version}";
-    sha256 = "sha256-PAdhIhX2hXCgg3NAZR0k8d1I/qQ8Cs8bNT6s6tZ5t4E=";
+    hash = "sha256-Fk3xpQ8xuZMPulMFZb5fnN0Tisk13XRx49vBN5coanQ=";
     fetchSubmodules = true;
   };
 
-  vendorHash = "sha256-DCEvE2ES7GwiXKyD7tRlykqiIaKdmo7TczutPeGurKw=";
+  vendorHash = "sha256-sqcImm5BYTiUnBmcpWWMR1TuV877VE5gZ8Oth8AxjSg=";
 
   proxyVendor = true;
 
diff --git a/pkgs/tools/networking/ddns-go/default.nix b/pkgs/tools/networking/ddns-go/default.nix
new file mode 100644
index 0000000000000..97b34f85a546e
--- /dev/null
+++ b/pkgs/tools/networking/ddns-go/default.nix
@@ -0,0 +1,32 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+}:
+
+buildGoModule rec {
+  pname = "ddns-go";
+  version = "5.5.1";
+
+  src = fetchFromGitHub {
+    owner = "jeessy2";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-fjfY0QLXewbjpoTbPjSEyrTXppzZ/LjvkFjc782Scp0=";
+  };
+
+  vendorHash = "sha256-azsXfWa4w3wZaiy9AKy7UPOybikubcJvLsXthYedmbY=";
+
+  ldflags = [
+    "-X main.version=${version}"
+  ];
+
+  # network required
+  doCheck = false;
+
+  meta = with lib;{
+    homepage = "https://github.com/jeessy2/ddns-go";
+    description = "Simple and easy to use DDNS";
+    license = licenses.mit;
+    maintainers = with maintainers; [ oluceps ];
+  };
+}
diff --git a/pkgs/tools/networking/dhcp/default.nix b/pkgs/tools/networking/dhcp/default.nix
deleted file mode 100644
index 1d07843cc48b1..0000000000000
--- a/pkgs/tools/networking/dhcp/default.nix
+++ /dev/null
@@ -1,102 +0,0 @@
-{ stdenv, fetchurl, perl, file, nettools, iputils, iproute2, makeWrapper
-, coreutils, gnused, openldap ? null
-, buildPackages, lib
-
-# client and relay are end of life, remove after 4.4.3
-, withClient ? false
-, withRelay ? false
-}:
-
-stdenv.mkDerivation rec {
-  pname = "dhcp";
-  version = "4.4.3-P1";
-
-  src = fetchurl {
-    url = "https://ftp.isc.org/isc/dhcp/${version}/${pname}-${version}.tar.gz";
-    sha256 = "sha256-CsQWu1WZfKhjIXT9EHN/1hzbjbonUhYKM1d1vCHcc8c=";
-  };
-
-  patches =
-    [
-      # Make sure that the hostname gets set on reboot.  Without this
-      # patch, the hostname doesn't get set properly if the old
-      # hostname (i.e. before reboot) is equal to the new hostname.
-      ./set-hostname.patch
-    ];
-
-  nativeBuildInputs = [ perl makeWrapper ];
-
-  buildInputs = [ openldap ];
-
-  depsBuildBuild = [ buildPackages.stdenv.cc ];
-
-  configureFlags = [
-    "--enable-failover"
-    "--enable-execute"
-    "--enable-tracing"
-    "--enable-delayed-ack"
-    "--enable-dhcpv6"
-    "--enable-paranoia"
-    "--enable-early-chroot"
-    "--sysconfdir=/etc"
-    "--localstatedir=/var"
-  ] ++ lib.optional stdenv.isLinux "--with-randomdev=/dev/random"
-    ++ lib.optionals (openldap != null) [ "--with-ldap" "--with-ldapcrypto" ]
-    ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) "BUILD_CC=$(CC_FOR_BUILD)";
-
-  env.NIX_CFLAGS_COMPILE = builtins.toString [
-    "-Wno-error=pointer-compare"
-    "-Wno-error=format-truncation"
-    "-Wno-error=stringop-truncation"
-    "-Wno-error=format-overflow"
-    "-Wno-error=stringop-overflow=8"
-  ];
-
-  installFlags = [ "DESTDIR=\${out}" ];
-
-  postInstall =
-    ''
-      mv $out/$out/* $out
-      DIR=$out/$out
-      while rmdir $DIR 2>/dev/null; do
-        DIR="$(dirname "$DIR")"
-      done
-
-      cp client/scripts/linux $out/sbin/dhclient-script
-      substituteInPlace $out/sbin/dhclient-script \
-        --replace /sbin/ip ${iproute2}/sbin/ip
-      wrapProgram "$out/sbin/dhclient-script" --prefix PATH : \
-        "${nettools}/bin:${nettools}/sbin:${iputils}/bin:${coreutils}/bin:${gnused}/bin"
-    '' + lib.optionalString (!withClient) ''
-      rm $out/sbin/{dhclient,dhclient-script,.dhclient-script-wrapped}
-    '' + lib.optionalString (!withRelay) ''
-      rm $out/sbin/dhcrelay
-    '';
-
-  preConfigure =
-    ''
-      substituteInPlace configure --replace "/usr/bin/file" "${file}/bin/file"
-      sed -i "includes/dhcpd.h" \
-          -e "s|^ *#define \+_PATH_DHCLIENT_SCRIPT.*$|#define _PATH_DHCLIENT_SCRIPT \"$out/sbin/dhclient-script\"|g"
-
-      export AR='${stdenv.cc.bintools.bintools}/bin/${stdenv.cc.targetPrefix}ar'
-    '';
-
-  enableParallelBuilding = true;
-
-  meta = with lib; {
-    description = "Dynamic Host Configuration Protocol (DHCP) tools";
-
-    longDescription = ''
-      ISC's Dynamic Host Configuration Protocol (DHCP) distribution
-      provides a freely redistributable reference implementation of
-      all aspects of DHCP, through a suite of DHCP tools: server,
-      client, and relay agent.
-   '';
-
-    homepage = "https://www.isc.org/dhcp/";
-    license = licenses.mpl20;
-    platforms = platforms.unix;
-    knownVulnerabilities = lib.optional (withClient || withRelay) "The client and relay component of the dhcp package have reached their end of life";
-  };
-}
diff --git a/pkgs/tools/networking/dhcp/set-hostname.patch b/pkgs/tools/networking/dhcp/set-hostname.patch
deleted file mode 100644
index 7aa9d08145144..0000000000000
--- a/pkgs/tools/networking/dhcp/set-hostname.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- a/client/scripts/linux	2010-09-15 00:49:48.000000000 +0200
-+++ b/client/scripts/linux	2011-04-01 16:08:10.984372269 +0200
-@@ -133,9 +133,7 @@
-            [ "$current_hostname" = '(none)' ] ||
-            [ "$current_hostname" = 'localhost' ] ||
-            [ "$current_hostname" = "$old_host_name" ]; then
--           if [ "$new_host_name" != "$old_host_name" ]; then
--               hostname "$new_host_name"
--           fi
-+           hostname "$new_host_name"
-         fi
-     fi
diff --git a/pkgs/tools/networking/dnsproxy/default.nix b/pkgs/tools/networking/dnsproxy/default.nix
index 47746cd13d46a..aaa2ed1459a37 100644
--- a/pkgs/tools/networking/dnsproxy/default.nix
+++ b/pkgs/tools/networking/dnsproxy/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "dnsproxy";
-  version = "0.51.0";
+  version = "0.52.0";
 
   src = fetchFromGitHub {
     owner = "AdguardTeam";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-82RBNMCcEe2gB1Ygbm1S6UgMPUQ+Lm37zc1JM3Ca/gg=";
+    sha256 = "sha256-vHiC7RWPba4LlS0YX088HqS3hLGEt0jHKzL7DcysEkw=";
   };
 
   vendorHash = null;
diff --git a/pkgs/tools/networking/frp/default.nix b/pkgs/tools/networking/frp/default.nix
index 31206964f3dd0..078d80af10eb2 100644
--- a/pkgs/tools/networking/frp/default.nix
+++ b/pkgs/tools/networking/frp/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "frp";
-  version = "0.51.1";
+  version = "0.51.2";
 
   src = fetchFromGitHub {
     owner = "fatedier";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-B15GyMk4tYbhj4QGpona0CK89WyIkPnH6QMxmd8BS+w=";
+    sha256 = "sha256-uiF27qGHwAg05o9thCxIf6Z2xhMnKzhDgMKTuS6IJ8A=";
   };
 
-  vendorHash = "sha256-JNBQO4rZmtBKIAQAikQDyREQ3Kw1CG6pC9HouJQ5dh4=";
+  vendorHash = "sha256-sqlBgEfIWuDnGsepSZtrgxmG/DoP+Hc4c3nOpo8S/Ks=";
 
   doCheck = false;
 
diff --git a/pkgs/tools/networking/gping/default.nix b/pkgs/tools/networking/gping/default.nix
index 59d3d6b314b0a..6e9e32f361e19 100644
--- a/pkgs/tools/networking/gping/default.nix
+++ b/pkgs/tools/networking/gping/default.nix
@@ -2,6 +2,7 @@
 , stdenv
 , rustPlatform
 , fetchFromGitHub
+, installShellFiles
 , libiconv
 , Security
 , iputils
@@ -9,21 +10,27 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "gping";
-  version = "1.13.1";
+  version = "1.14.0";
 
   src = fetchFromGitHub {
     owner = "orf";
     repo = "gping";
     rev = "gping-v${version}";
-    hash = "sha256-EkoOHyHYcbyqtT1zCq0kmXND1eSADE7QD3QQ01RJtvM=";
+    hash = "sha256-ReP+s2p0X39LVvl3/QF7fsYkU+OvsQyMhyuH8v4HuVU=";
   };
 
-  cargoHash = "sha256-iDB3ZIlSLEBf+nSxLeQcE93nqMjH29w+z7kwCNksuSk=";
+  cargoHash = "sha256-FTiNxCoEe/iMz68F1CpJHypgrhn4WwwWowuN9I1rl6E=";
 
   buildInputs = lib.optionals stdenv.isDarwin [ libiconv Security ];
 
+  nativeBuildInputs = [ installShellFiles ];
+
   nativeCheckInputs = lib.optionals stdenv.isLinux [ iputils ];
 
+  postInstall = ''
+    installManPage gping.1
+  '';
+
   doInstallCheck = true;
   installCheckPhase = ''
     $out/bin/gping --version | grep "${version}"
diff --git a/pkgs/tools/networking/gvproxy/default.nix b/pkgs/tools/networking/gvproxy/default.nix
index 4c6e69c600b4d..d0e831bf1bd85 100644
--- a/pkgs/tools/networking/gvproxy/default.nix
+++ b/pkgs/tools/networking/gvproxy/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "gvproxy";
-  version = "0.6.2";
+  version = "0.7.0";
 
   src = fetchFromGitHub {
     owner = "containers";
     repo = "gvisor-tap-vsock";
     rev = "v${version}";
-    hash = "sha256-3WBL+ByYSiYKXzFkeoUnCxTdhvy3XxLKUHgJ2hO6oIo=";
+    hash = "sha256-BCRUMAM/OeFf4gftYwLrRmeCkRGplYaF9QZ1ZI2YLLY=";
   };
 
   vendorHash = null;
diff --git a/pkgs/tools/networking/haproxy/default.nix b/pkgs/tools/networking/haproxy/default.nix
index 2b69064a1417c..b7c39d83d8969 100644
--- a/pkgs/tools/networking/haproxy/default.nix
+++ b/pkgs/tools/networking/haproxy/default.nix
@@ -1,21 +1,28 @@
 { useLua ? true
 , usePcre ? true
 , withPrometheusExporter ? true
-, stdenv, lib, fetchurl, nixosTests
-, openssl, zlib, libxcrypt
-, lua5_3 ? null, pcre ? null, systemd ? null
+, stdenv
+, lib
+, fetchurl
+, nixosTests
+, openssl
+, zlib
+, libxcrypt
+, lua5_3 ? null
+, pcre ? null
+, systemd ? null
 }:
 
 assert useLua -> lua5_3 != null;
 assert usePcre -> pcre != null;
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "haproxy";
   version = "2.8.1";
 
   src = fetchurl {
-    url = "https://www.haproxy.org/download/${lib.versions.majorMinor version}/src/${pname}-${version}.tar.gz";
-    sha256 = "sha256-SFVS/NnV1fQarQRvEx/Ap+hJvvJaNJoEB1CvDG/FaAc=";
+    url = "https://www.haproxy.org/download/${lib.versions.majorMinor finalAttrs.version}/src/haproxy-${finalAttrs.version}.tar.gz";
+    hash = "sha256-SFVS/NnV1fQarQRvEx/Ap+hJvvJaNJoEB1CvDG/FaAc=";
   };
 
   buildInputs = [ openssl zlib libxcrypt ]
@@ -26,10 +33,10 @@ stdenv.mkDerivation rec {
   # TODO: make it work on bsd as well
   makeFlags = [
     "PREFIX=${placeholder "out"}"
-    ("TARGET=" + (if stdenv.isSunOS  then "solaris"
-             else if stdenv.isLinux  then "linux-glibc"
-             else if stdenv.isDarwin then "osx"
-             else "generic"))
+    ("TARGET=" + (if stdenv.isSunOS then "solaris"
+    else if stdenv.isLinux then "linux-glibc"
+    else if stdenv.isDarwin then "osx"
+    else "generic"))
   ];
 
   buildFlags = [
@@ -54,8 +61,11 @@ stdenv.mkDerivation rec {
 
   passthru.tests.haproxy = nixosTests.haproxy;
 
-  meta = with lib; {
+  meta = {
+    changelog = "https://www.haproxy.org/download/${lib.versions.majorMinor finalAttrs.version}/src/CHANGELOG";
     description = "Reliable, high performance TCP/HTTP load balancer";
+    homepage = "https://haproxy.org";
+    license = with lib.licenses; [ gpl2Plus lgpl21Only ];
     longDescription = ''
       HAProxy is a free, very fast and reliable solution offering high
       availability, load balancing, and proxying for TCP and HTTP-based
@@ -64,10 +74,7 @@ stdenv.mkDerivation rec {
       tens of thousands of connections is clearly realistic with todays
       hardware.
     '';
-    homepage = "https://haproxy.org";
-    changelog = "https://www.haproxy.org/download/${lib.versions.majorMinor version}/src/CHANGELOG";
-    license = with licenses; [ gpl2Plus lgpl21Only ];
-    maintainers = with maintainers; [ ];
-    platforms = with platforms; linux ++ darwin;
+    maintainers = with lib.maintainers; [ ];
+    platforms = with lib.platforms; linux ++ darwin;
   };
-}
+})
diff --git a/pkgs/tools/networking/juicity/default.nix b/pkgs/tools/networking/juicity/default.nix
new file mode 100644
index 0000000000000..ce258c5715781
--- /dev/null
+++ b/pkgs/tools/networking/juicity/default.nix
@@ -0,0 +1,46 @@
+{ lib
+, fetchFromGitHub
+, buildGoModule
+}:
+buildGoModule rec {
+  pname = "juicity";
+  version = "0.1.1";
+
+  src = fetchFromGitHub {
+    owner = "juicity";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-wTMWmHQPJ65FRJUNt7liLF+nM/tXdq067KT0fMWlDfM=";
+  };
+
+  vendorHash = "sha256-RTf0+rf6DPJf9DKRNstZzJbQ3+pU/8siLSRgUo9Bcu8=";
+
+  proxyVendor = true;
+
+  ldflags = [
+    "-X=github.com/juicity/juicity/config.Version=${version}"
+  ];
+
+  subPackages = [
+    "cmd/server"
+    "cmd/client"
+  ];
+
+  postInstall = ''
+    mv $out/bin/client $out/bin/juicity-client
+    mv $out/bin/server $out/bin/juicity-server
+    install -Dm444 install/juicity-server.service $out/lib/systemd/system/juicity-server.service
+    install -Dm444 install/juicity-client.service $out/lib/systemd/system/juicity-client.service
+    substituteInPlace $out/lib/systemd/system/juicity-server.service \
+      --replace /usr/bin/juicity-server $out/bin/juicity-server
+    substituteInPlace $out/lib/systemd/system/juicity-client.service \
+      --replace /usr/bin/juicity-client $out/bin/juicity-client
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/juicity/juicity";
+    description = "A quic-based proxy protocol";
+    license = licenses.agpl3Only;
+    maintainers = with maintainers; [ oluceps ];
+  };
+}
diff --git a/pkgs/tools/networking/kapp/default.nix b/pkgs/tools/networking/kapp/default.nix
index 1170fffad96c7..8238253636cbe 100644
--- a/pkgs/tools/networking/kapp/default.nix
+++ b/pkgs/tools/networking/kapp/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "kapp";
-  version = "0.57.1";
+  version = "0.58.0";
 
   src = fetchFromGitHub {
     owner = "vmware-tanzu";
     repo = "carvel-kapp";
     rev = "v${version}";
-    sha256 = "sha256-JNo6+WlMcIUGb/36GM6ofvJBIJnF4oRocdYsEw7V1Ks=";
+    sha256 = "sha256-E5QiR4hcO2Ii5qXAlMrw9Yxy8IYqjnonSGiUUyzhMVc=";
   };
 
   vendorHash = null;
diff --git a/pkgs/tools/networking/lftp/default.nix b/pkgs/tools/networking/lftp/default.nix
index 88ee2d44cb931..aaa26a38c3ae4 100644
--- a/pkgs/tools/networking/lftp/default.nix
+++ b/pkgs/tools/networking/lftp/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, gnutls, pkg-config, readline, zlib, libidn2, gmp, libiconv, libunistring, gettext }:
+{ lib, stdenv, fetchurl, openssl, pkg-config, readline, zlib, libidn2, gmp, libiconv, libunistring, gettext }:
 
 stdenv.mkDerivation rec {
   pname = "lftp";
@@ -14,11 +14,12 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkg-config ];
 
-  buildInputs = [ gnutls readline zlib libidn2 gmp libiconv libunistring gettext ];
+  buildInputs = [ openssl readline zlib libidn2 gmp libiconv libunistring gettext ];
 
   hardeningDisable = lib.optional stdenv.isDarwin "format";
 
   configureFlags = [
+    "--with-openssl"
     "--with-readline=${readline.dev}"
     "--with-zlib=${zlib.dev}"
     "--without-expat"
diff --git a/pkgs/tools/networking/minio-client/default.nix b/pkgs/tools/networking/minio-client/default.nix
index baab57c400d87..f685acc04982c 100644
--- a/pkgs/tools/networking/minio-client/default.nix
+++ b/pkgs/tools/networking/minio-client/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "minio-client";
-  version = "2023-07-11T23-30-44Z";
+  version = "2023-07-21T20-44-27Z";
 
   src = fetchFromGitHub {
     owner = "minio";
     repo = "mc";
     rev = "RELEASE.${version}";
-    sha256 = "sha256-hCHPDzdMqu36fICiyVhMDHhfOHxBzUl5+YfjnWbrRFk=";
+    sha256 = "sha256-y0+AGDI4zxMgcC65U51/UHW2mo0NNNKc+MQCcFevHmk=";
   };
 
-  vendorHash = "sha256-W3FenwPwfEQxJWym6QzqMczWtygPN65Hp4gjj/karMw=";
+  vendorHash = "sha256-6duYIeNkqql9y1Wo+foMe88dmPmHZ625FBTDdKsHnCE=";
 
   subPackages = [ "." ];
 
diff --git a/pkgs/tools/networking/ntp/default.nix b/pkgs/tools/networking/ntp/default.nix
index f272470a98f41..1a081993bbd6f 100644
--- a/pkgs/tools/networking/ntp/default.nix
+++ b/pkgs/tools/networking/ntp/default.nix
@@ -2,18 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ntp";
-  version = "4.2.8p15";
+  version = "4.2.8p17";
 
   src = fetchurl {
-    url = "https://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-${lib.versions.majorMinor version}/ntp-${version}.tar.gz";
-    sha256 = "06cwhimm71safmwvp6nhxp6hvxsg62whnbgbgiflsqb8mgg40n7n";
+    url = "https://archive.ntp.org/ntp4/ntp-${lib.versions.majorMinor version}/ntp-${version}.tar.gz";
+    hash = "sha256-ED3ScuambFuN8H3OXpoCVV/NbxOXvft4IjcyjonTqGY=";
   };
 
-  patches = [
-    # From https://patchwork.openembedded.org/patch/180019/
-    ./glibc-2.34-fix.patch
-  ];
-
   configureFlags = [
     "--sysconfdir=/etc"
     "--localstatedir=/var"
@@ -33,7 +28,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    homepage = "http://www.ntp.org/";
+    homepage = "https://www.ntp.org/";
     description = "An implementation of the Network Time Protocol";
     license = {
       # very close to isc and bsd2
diff --git a/pkgs/tools/networking/ntp/glibc-2.34-fix.patch b/pkgs/tools/networking/ntp/glibc-2.34-fix.patch
deleted file mode 100644
index 256f125a77b26..0000000000000
--- a/pkgs/tools/networking/ntp/glibc-2.34-fix.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 082a504cfcc046c3d8adaae1164268bc94e5108a Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 31 Jul 2021 10:51:41 -0700
-Subject: [PATCH] libntp: Do not use PTHREAD_STACK_MIN on glibc
-In glibc 2.34+ PTHREAD_STACK_MIN is not a compile-time constant which
-could mean different stack sizes at runtime on different architectures
-and it also causes compile failure. Default glibc thread stack size
-or 64Kb set by ntp should be good in glibc these days.
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- libntp/work_thread.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/libntp/work_thread.c b/libntp/work_thread.c
-index 03a5647..3ddd751 100644
---- a/libntp/work_thread.c
-+++ b/libntp/work_thread.c
-@@ -41,7 +41,7 @@
- #ifndef THREAD_MINSTACKSIZE
- # define THREAD_MINSTACKSIZE	(64U * 1024)
- #endif
--#ifndef __sun
-+#if !defined(__sun) && !defined(__GLIBC__)
- #if defined(PTHREAD_STACK_MIN) && THREAD_MINSTACKSIZE < PTHREAD_STACK_MIN
- # undef THREAD_MINSTACKSIZE
- # define THREAD_MINSTACKSIZE PTHREAD_STACK_MIN
--- 
-2.32.0
diff --git a/pkgs/tools/networking/pgrok/default.nix b/pkgs/tools/networking/pgrok/default.nix
new file mode 100644
index 0000000000000..8fafcccd0707f
--- /dev/null
+++ b/pkgs/tools/networking/pgrok/default.nix
@@ -0,0 +1,41 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+, nix-update-script
+}:
+
+buildGoModule rec {
+  pname = "pgrok";
+  version = "1.3.3";
+
+  src = fetchFromGitHub {
+    owner = "pgrok";
+    repo = "pgrok";
+    rev = "v${version}";
+    hash = "sha256-0b7d3wyhRuTxZmpx9oJnZN88yYn+TsR82KrktPAx9P4=";
+  };
+  vendorHash = "sha256-laSfyHFkJJkv4EPMIVcai7RXaGIpUp+0tOpt5vhcLkA=";
+
+  outputs = [ "out" "server" ];
+
+  ldflags = [
+    "-s"
+    "-w"
+    "-X main.version=${version}"
+    "-X main.commit=unknown"
+    "-X main.date=unknown"
+  ];
+
+  postInstall = ''
+    moveToOutput bin/pgrokd $server
+  '';
+
+  passthru.updateScript = nix-update-script { };
+
+  meta = {
+    description = "Selfhosted TCP/HTTP tunnel, ngrok alternative, written in Go";
+    homepage = "https://github.com/pgrok/pgrok";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ marie ];
+  };
+}
diff --git a/pkgs/tools/networking/proxify/default.nix b/pkgs/tools/networking/proxify/default.nix
index 17ba57f3cd72a..331d00cc2c581 100644
--- a/pkgs/tools/networking/proxify/default.nix
+++ b/pkgs/tools/networking/proxify/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "proxify";
-  version = "0.0.9";
+  version = "0.0.11";
 
   src = fetchFromGitHub {
     owner = "projectdiscovery";
     repo = "proxify";
     rev = "refs/tags/v${version}";
-    hash = "sha256-InHo5nfgCLDxciwjaB9tamV6MGEM3DlRGU00Ng2SfVY=";
+    hash = "sha256-aoge1K1T4jgh8TFN8nFIjFehmz/o1UefbzEbV85dHTk=";
   };
 
-  vendorHash = "sha256-GPkxUU9HXLWnj+qjee/CuSE683l2V22cH9KBP2ssaXc=";
+  vendorHash = "sha256-ingumSn4EDdw1Vgwm/ghQTsErqFVFZtjNfwfDwdJ/2s=";
 
   meta = with lib; {
     description = "Proxy tool for HTTP/HTTPS traffic capture";
diff --git a/pkgs/tools/networking/sing-box/default.nix b/pkgs/tools/networking/sing-box/default.nix
index d8f3858d59bbc..e2f126a0baa3a 100644
--- a/pkgs/tools/networking/sing-box/default.nix
+++ b/pkgs/tools/networking/sing-box/default.nix
@@ -11,16 +11,16 @@
 
 buildGoModule rec {
   pname = "sing-box";
-  version = "1.3.4";
+  version = "1.3.5";
 
   src = fetchFromGitHub {
     owner = "SagerNet";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-0/3y9aIhKzWIvt8iWcrJwQreBkSLcoPQ55gyTp48ysg=";
+    hash = "sha256-fSQuVvV2dL+cdPIAqyXbDB8OSW77gxaYaOHKElEbq6o=";
   };
 
-  vendorHash = "sha256-G6//YPNWhgTJf6nv+9KRExCclotsmk7TzzuxXmdiVVU=";
+  vendorHash = "sha256-AMtDAAKNbKRFcu9OEW9E+S73gGgXK7HaroEdidrXS4Y=";
 
   tags = [
     "with_quic"
diff --git a/pkgs/tools/networking/sitespeed-io/default.nix b/pkgs/tools/networking/sitespeed-io/default.nix
index 40949e6725ae6..f7b71b2fb4ca7 100644
--- a/pkgs/tools/networking/sitespeed-io/default.nix
+++ b/pkgs/tools/networking/sitespeed-io/default.nix
@@ -87,5 +87,6 @@ buildNpmPackage rec {
     license = licenses.mit;
     maintainers = with maintainers; [ misterio77 ];
     platforms = lib.unique (geckodriver.meta.platforms ++ chromedriver.meta.platforms);
+    mainProgram = "sitespeed-io";
   };
 }
diff --git a/pkgs/tools/networking/subfinder/default.nix b/pkgs/tools/networking/subfinder/default.nix
index 6259e12ab780a..cef63629b01f0 100644
--- a/pkgs/tools/networking/subfinder/default.nix
+++ b/pkgs/tools/networking/subfinder/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "subfinder";
-  version = "2.6.0";
+  version = "2.6.1";
 
   src = fetchFromGitHub {
     owner = "projectdiscovery";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-oNRQ+71j+i2ED3JJ+7iMh0jTpbxDD+b/P1rTT47YSmc=";
+    sha256 = "sha256-SVfBWOaDh2wE0XwoUzXOFohjHcb5upWILdWuUW0dwr8=";
   };
 
-  vendorHash = "sha256-KEmTbMt8gPTEvoLDLpFWO/8JS0So+g9oh0wc8kfeqhw=";
+  vendorHash = "sha256-2Ob2oU7XBnqiWiR3td/lXDWl863ihx7j3iwP2CUGG/U=";
 
   modRoot = "./v2";
 
diff --git a/pkgs/tools/networking/vegeta/default.nix b/pkgs/tools/networking/vegeta/default.nix
index 7fbb4127c0863..17efa4336bf53 100644
--- a/pkgs/tools/networking/vegeta/default.nix
+++ b/pkgs/tools/networking/vegeta/default.nix
@@ -5,17 +5,17 @@
 
 buildGoModule rec {
   pname = "vegeta";
-  version = "12.10.0";
+  version = "12.11.0";
   rev = "e04d9c0df8177e8633bff4afe7b39c2f3a9e7dea";
 
   src = fetchFromGitHub {
     owner = "tsenart";
     repo = "vegeta";
     rev = "v${version}";
-    sha256 = "sha256-lBJXMI/OVxgi4AqAFKE6cXLBagUZzUTRzvcJBr0Wh/c=";
+    sha256 = "sha256-dqVwz4nc+QDD5M2ajLtnoEnvaka/n6KxqCvRH63Za4g=";
   };
 
-  vendorHash = "sha256-QWI2T1yJBATgCyGlR2dPbnBLn9KHQgfc30mPdMKzGsQ=";
+  vendorHash = "sha256-Pq8MRfwYhgk5YWEmBisBrV2F7Ztn18MdpRFZ9r/1y7A=";
 
   subPackages = [ "." ];
 
diff --git a/pkgs/tools/networking/wgautomesh/default.nix b/pkgs/tools/networking/wgautomesh/default.nix
index 823987888a316..a9843e2efa17b 100644
--- a/pkgs/tools/networking/wgautomesh/default.nix
+++ b/pkgs/tools/networking/wgautomesh/default.nix
@@ -21,5 +21,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://git.deuxfleurs.fr/Deuxfleurs/wgautomesh";
     license = licenses.agpl3Only;
     maintainers = [ maintainers.lx ];
+    mainProgram = "wgautomesh";
   };
 }
diff --git a/pkgs/tools/networking/zap/default.nix b/pkgs/tools/networking/zap/default.nix
index 0a8b3903618f5..9109b60eaa27f 100644
--- a/pkgs/tools/networking/zap/default.nix
+++ b/pkgs/tools/networking/zap/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   pname = "zap";
-  version = "2.12.0";
+  version = "2.13.0";
   src = fetchurl {
     url = "https://github.com/zaproxy/zaproxy/releases/download/v${version}/ZAP_${version}_Linux.tar.gz";
-    sha256 = "sha256-nESTyZHLk0cGOGTSQ2o3lc87aXYGJeez20Ac00LT/FU=";
+    sha256 = "sha256-k261Kg/TkMHviQxFVCDZXOIAYv4TbsCSfgI+K69Q9Uk=";
   };
 
   buildInputs = [ jre ];
diff --git a/pkgs/tools/nix/nixdoc/default.nix b/pkgs/tools/nix/nixdoc/default.nix
index 7fc47ef91a724..25771a135bc82 100644
--- a/pkgs/tools/nix/nixdoc/default.nix
+++ b/pkgs/tools/nix/nixdoc/default.nix
@@ -2,18 +2,18 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "nixdoc";
-  version = "2.3.0";
+  version = "2.4.0";
 
   src = fetchFromGitHub {
     owner = "nix-community";
-    repo  = "nixdoc";
+    repo = "nixdoc";
     rev = "v${version}";
-    sha256 = "sha256-8pp6xlmdb3kZ6unTiO4yRruyEZ//GIHZF1k8f4kQr9Q=";
+    sha256 = "sha256-cEMehtxkqXAar/fDy3CnzsDEAuC1ABBaYqzqVBGnTrs=";
   };
 
-  cargoSha256 = "sha256-k8/+BBMjQCsrgCi33fTdiSukaAZlg6XU3NwXaJdGYVw=";
+  cargoHash = "sha256-QFDHIqXyTWTdqNrLcwWw3plX6EDH/k043nay5opjtws=";
 
-  buildInputs =  lib.optionals stdenv.isDarwin [ darwin.Security ];
+  buildInputs = lib.optionals stdenv.isDarwin [ darwin.Security ];
 
   meta = with lib; {
     description = "Generate documentation for Nix functions";
diff --git a/pkgs/tools/package-management/harmonia/default.nix b/pkgs/tools/package-management/harmonia/default.nix
index 5b815261fbc47..cee9301d5943d 100644
--- a/pkgs/tools/package-management/harmonia/default.nix
+++ b/pkgs/tools/package-management/harmonia/default.nix
@@ -44,5 +44,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/nix-community/harmonia";
     license = licenses.mit;
     maintainers = with maintainers; [ mic92 ];
+    mainProgram = "harmonia";
   };
 }
diff --git a/pkgs/tools/package-management/nix-update/default.nix b/pkgs/tools/package-management/nix-update/default.nix
index efbf2037f2276..130e36c858cf9 100644
--- a/pkgs/tools/package-management/nix-update/default.nix
+++ b/pkgs/tools/package-management/nix-update/default.nix
@@ -9,14 +9,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "nix-update";
-  version = "0.19.0";
+  version = "0.19.2";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "Mic92";
     repo = pname;
     rev = version;
-    hash = "sha256-v58x48la837gbqMaQ6PEl9Ick1NH+Y4okf2yttDzqC4=";
+    hash = "sha256-FyQcsKCHsAB8BmPxeIZdiidaxyNi/5bFA/ilGydDVM0=";
   };
 
   makeWrapperArgs = [
diff --git a/pkgs/tools/package-management/nix/common.nix b/pkgs/tools/package-management/nix/common.nix
index e79f0f5e3bbe9..609d0da08afad 100644
--- a/pkgs/tools/package-management/nix/common.nix
+++ b/pkgs/tools/package-management/nix/common.nix
@@ -241,6 +241,7 @@ self = stdenv.mkDerivation {
     maintainers = with maintainers; [ eelco lovesegfault artturin ];
     platforms = platforms.unix;
     outputsToInstall = [ "out" ] ++ optional enableDocumentation "man";
+    mainProgram = "nix";
   };
 };
 in self
diff --git a/pkgs/tools/security/cryptomator/default.nix b/pkgs/tools/security/cryptomator/default.nix
index cfde59a7e786c..238a74cc95456 100644
--- a/pkgs/tools/security/cryptomator/default.nix
+++ b/pkgs/tools/security/cryptomator/default.nix
@@ -67,7 +67,6 @@ maven.buildMavenPackage rec {
 
   nativeBuildInputs = [
     autoPatchelfHook
-    maven
     makeShellWrapper
     wrapGAppsHook
     jdk
diff --git a/pkgs/tools/security/dnsrecon/default.nix b/pkgs/tools/security/dnsrecon/default.nix
index a63205d9ba06f..65fae4928c6fb 100644
--- a/pkgs/tools/security/dnsrecon/default.nix
+++ b/pkgs/tools/security/dnsrecon/default.nix
@@ -5,16 +5,22 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "dnsrecon";
-  version = "1.1.4";
+  version = "1.1.5";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "darkoperator";
     repo = pname;
     rev = version;
-    hash = "sha256-DtyYYNtv0Zk8103NN+vlnr3Etv0bAZ6+A2CXeZZgiUg=";
+    hash = "sha256-W7ZFc+kF00ANoYVTlsY+lJ9FjMEGbqYfNojoZFiRHU8=";
   };
 
+  postPatch = ''
+    substituteInPlace requirements.txt \
+      --replace "flake8" "" \
+      --replace "pytest" ""
+  '';
+
   propagatedBuildInputs = with python3.pkgs; [
     dnspython
     netaddr
diff --git a/pkgs/tools/security/doppler/default.nix b/pkgs/tools/security/doppler/default.nix
index 6ddea4607daf3..ddc4b55432b30 100644
--- a/pkgs/tools/security/doppler/default.nix
+++ b/pkgs/tools/security/doppler/default.nix
@@ -8,13 +8,13 @@
 
 buildGoModule rec {
   pname = "doppler";
-  version = "3.65.0";
+  version = "3.65.1";
 
   src = fetchFromGitHub {
     owner = "dopplerhq";
     repo = "cli";
     rev = version;
-    sha256 = "sha256-0OFHPF3O6uIlf6X6oo+nIalj2PVOoRXb0dV5AjRDxR4=";
+    sha256 = "sha256-scFjaxUMlKGpO7UQrIS/f1Rsxu4weZ26jRCRmoUBGCs=";
   };
 
   vendorHash = "sha256-FOmaK6S61fkzybpDx6qfi6m4e2IaqBpavaFhEgIvmqw=";
diff --git a/pkgs/tools/security/exploitdb/default.nix b/pkgs/tools/security/exploitdb/default.nix
index 182c2f9698622..00f93f5e9778a 100644
--- a/pkgs/tools/security/exploitdb/default.nix
+++ b/pkgs/tools/security/exploitdb/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "exploitdb";
-  version = "2023-07-22";
+  version = "2023-08-01";
 
   src = fetchFromGitLab {
     owner = "exploit-database";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-2P5iyWvoWOYmooMogYrcRyIFzBIQuCgB9E+KH6cTTTU=";
+    hash = "sha256-s0D7NMgU2cApeZWqAFGtLk8DdkGNVLh2kY/xNK7W7c0=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/security/fulcio/default.nix b/pkgs/tools/security/fulcio/default.nix
index 5beb23d424a84..61e01daa0fe6e 100644
--- a/pkgs/tools/security/fulcio/default.nix
+++ b/pkgs/tools/security/fulcio/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "fulcio";
-  version = "1.3.4";
+  version = "1.4.0";
 
   src = fetchFromGitHub {
     owner = "sigstore";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-HJ1hTq6Mwt4f8r92ZNpL/Aco9dzIpxBH9ZSA3h1P4/A=";
+    sha256 = "sha256-9FDHMhL2vWyS5o04E3nML/pCL+juA87ZAEU6naIPCdc=";
     # populate values that require us to use git. By doing this in postFetch we
     # can delete .git afterwards and maintain better reproducibility of the src.
     leaveDotGit = true;
@@ -20,7 +20,7 @@ buildGoModule rec {
       find "$out" -name .git -print0 | xargs -0 rm -rf
     '';
   };
-  vendorHash = "sha256-zbh/NWA9or3dIeAwQ/sUOKrq03d3KVa5G5JkPbissr8=";
+  vendorHash = "sha256-dEBHhgy4dyorVbP1TloPTa1h6U/923bYrXX4qiRa/2w=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/tools/security/gopass/default.nix b/pkgs/tools/security/gopass/default.nix
index 440ed7fc882d9..87ea59122bbcd 100644
--- a/pkgs/tools/security/gopass/default.nix
+++ b/pkgs/tools/security/gopass/default.nix
@@ -13,7 +13,7 @@
 
 buildGoModule rec {
   pname = "gopass";
-  version = "1.15.5";
+  version = "1.15.6";
 
   nativeBuildInputs = [ installShellFiles makeWrapper ];
 
@@ -21,10 +21,10 @@ buildGoModule rec {
     owner = "gopasspw";
     repo = "gopass";
     rev = "v${version}";
-    hash = "sha256-0vMzCqH/p0GXtjoSrnSqMsIul9D00fICYb29KY6/Hno=";
+    hash = "sha256-qhnkU2LuwUWP3Fi/XekFJp3WujeRxF/UHVBiVTfbxJ4=";
   };
 
-  vendorHash = "sha256-IgfzzwJANUfDToFLHv3BjDfm93KNm5zxQ5GMq7TQP+Q=";
+  vendorHash = "sha256-FZFN+xy23osgFs7Cm3S+LwKaE9Y94qcDVgv+CxA8J68=";
 
   subPackages = [ "." ];
 
diff --git a/pkgs/tools/security/grype/default.nix b/pkgs/tools/security/grype/default.nix
index a0be8c3319eb3..3b096f8869d03 100644
--- a/pkgs/tools/security/grype/default.nix
+++ b/pkgs/tools/security/grype/default.nix
@@ -7,13 +7,13 @@
 
 buildGoModule rec {
   pname = "grype";
-  version = "0.64.0";
+  version = "0.65.0";
 
   src = fetchFromGitHub {
     owner = "anchore";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-Cq7Swgwbtfku+ZvoMeXmLpTbic6Fm/EdGi8C9R2J+X0=";
+    hash = "sha256-Dqjdl0fco3t8/jVt9/7pwXzoKapctU3T+ixkKTQ6sAE=";
     # populate values that require us to use git. By doing this in postFetch we
     # can delete .git afterwards and maintain better reproducibility of the src.
     leaveDotGit = true;
@@ -28,7 +28,7 @@ buildGoModule rec {
 
   proxyVendor = true;
 
-  vendorHash = "sha256-txC+2I50Zf0xP/FGFoCLNLVVaXg/MfQKMgDSFTNg0eU=";
+  vendorHash = "sha256-VxsXhNOFj7Iwq7Sa2J8ADcfLt9Bz+D0RHwEGawveryU=";
 
   nativeBuildInputs = [
     installShellFiles
@@ -38,16 +38,16 @@ buildGoModule rec {
     openssl
   ];
 
-  subPackages = [ "." ];
+  subPackages = [ "cmd/grype" ];
 
   excludedPackages = "test/integration";
 
   ldflags = [
     "-s"
     "-w"
-    "-X github.com/anchore/grype/internal/version.version=${version}"
-    "-X github.com/anchore/grype/internal/version.gitDescription=v${version}"
-    "-X github.com/anchore/grype/internal/version.gitTreeState=clean"
+    "-X=github.com/anchore/grype/internal/version.version=${version}"
+    "-X=github.com/anchore/grype/internal/version.gitDescription=v${version}"
+    "-X=github.com/anchore/grype/internal/version.gitTreeState=clean"
   ];
 
   preBuild = ''
@@ -80,8 +80,7 @@ buildGoModule rec {
       --replace "TestRegistryAuth" "SkipRegistryAuth"
     substituteInPlace test/cli/sbom_input_test.go \
       --replace "TestSBOMInput_FromStdin" "SkipSBOMInput_FromStdin" \
-      --replace "TestSBOMInput_AsArgument" "SkipSBOMInput_AsArgument" \
-      --replace "TestAttestationInput_AsArgument" "SkipAttestationInput_AsArgument"
+      --replace "TestSBOMInput_AsArgument" "SkipSBOMInput_AsArgument"
     substituteInPlace test/cli/subprocess_test.go \
       --replace "TestSubprocessStdin" "SkipSubprocessStdin"
 
diff --git a/pkgs/tools/security/jd-cli/default.nix b/pkgs/tools/security/jd-cli/default.nix
index 102a41833ec1b..367851a0d4349 100644
--- a/pkgs/tools/security/jd-cli/default.nix
+++ b/pkgs/tools/security/jd-cli/default.nix
@@ -11,9 +11,9 @@ maven.buildMavenPackage rec {
     hash = "sha256-rRttA5H0A0c44loBzbKH7Waoted3IsOgxGCD2VM0U/Q=";
   };
 
-  mvnHash = "sha256-kLpjMj05uC94/5vGMwMlFzLKNFOKeyNvq/vmB6pHTAo=";
+  mvnHash = "sha256-1zn980QP48fWvm45HR1yDHdyzHYPkl/P0RpII+Zu+xc=";
 
-  nativeBuildInputs = [ maven makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   installPhase = ''
     mkdir -p $out/bin $out/share/jd-cli
@@ -27,7 +27,6 @@ maven.buildMavenPackage rec {
     description = "Simple command line wrapper around JD Core Java Decompiler project";
     homepage = "https://github.com/intoolswetrust/jd-cli";
     license = licenses.gpl3;
-    platforms = platforms.unix;
     maintainers = with maintainers; [ majiir ];
   };
 }
diff --git a/pkgs/tools/security/libmodsecurity/default.nix b/pkgs/tools/security/libmodsecurity/default.nix
index a0b88c5b64e5b..e1d78b79753eb 100644
--- a/pkgs/tools/security/libmodsecurity/default.nix
+++ b/pkgs/tools/security/libmodsecurity/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libmodsecurity";
-  version = "3.0.9";
+  version = "3.0.10";
 
   src = fetchFromGitHub {
     owner = "SpiderLabs";
     repo = "ModSecurity";
     rev = "v${version}";
-    sha256 = "sha256-7tA1fqKK5aGOhWBifLAjDmQ80ven4+OcwAzAowPStzA=";
+    sha256 = "sha256-VaoPpJ0twuGWU7G9AvKK4kq9Ed0BeG2J7B81sOuJVrE=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/tools/security/metasploit/Gemfile b/pkgs/tools/security/metasploit/Gemfile
index e5aca4f11ffea..d5bfa05291616 100644
--- a/pkgs/tools/security/metasploit/Gemfile
+++ b/pkgs/tools/security/metasploit/Gemfile
@@ -1,4 +1,4 @@
 # frozen_string_literal: true
 source "https://rubygems.org"
 
-gem "metasploit-framework", git: "https://github.com/rapid7/metasploit-framework", ref: "refs/tags/6.3.26"
+gem "metasploit-framework", git: "https://github.com/rapid7/metasploit-framework", ref: "refs/tags/6.3.27"
diff --git a/pkgs/tools/security/metasploit/Gemfile.lock b/pkgs/tools/security/metasploit/Gemfile.lock
index 3bd2348d76f09..37e3161509f6b 100644
--- a/pkgs/tools/security/metasploit/Gemfile.lock
+++ b/pkgs/tools/security/metasploit/Gemfile.lock
@@ -1,9 +1,9 @@
 GIT
   remote: https://github.com/rapid7/metasploit-framework
-  revision: dd1f90dd6fd267d8430d8e0299ebcfe6a85327cf
-  ref: refs/tags/6.3.26
+  revision: 53af96320f2fddfc0189ea66fd9db1f87d94eb06
+  ref: refs/tags/6.3.27
   specs:
-    metasploit-framework (6.3.26)
+    metasploit-framework (6.3.27)
       actionpack (~> 7.0)
       activerecord (~> 7.0)
       activesupport (~> 7.0)
@@ -131,13 +131,13 @@ GEM
     arel-helpers (2.14.0)
       activerecord (>= 3.1.0, < 8)
     aws-eventstream (1.2.0)
-    aws-partitions (1.790.0)
-    aws-sdk-core (3.178.0)
+    aws-partitions (1.795.0)
+    aws-sdk-core (3.180.1)
       aws-eventstream (~> 1, >= 1.0.2)
       aws-partitions (~> 1, >= 1.651.0)
       aws-sigv4 (~> 1.5)
       jmespath (~> 1, >= 1.6.1)
-    aws-sdk-ec2 (1.392.0)
+    aws-sdk-ec2 (1.395.0)
       aws-sdk-core (~> 3, >= 3.177.0)
       aws-sigv4 (~> 1.1)
     aws-sdk-iam (1.86.0)
@@ -146,8 +146,8 @@ GEM
     aws-sdk-kms (1.71.0)
       aws-sdk-core (~> 3, >= 3.177.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-s3 (1.131.0)
-      aws-sdk-core (~> 3, >= 3.177.0)
+    aws-sdk-s3 (1.132.0)
+      aws-sdk-core (~> 3, >= 3.179.0)
       aws-sdk-kms (~> 1)
       aws-sigv4 (~> 1.6)
     aws-sdk-ssm (1.156.0)
@@ -190,7 +190,7 @@ GEM
     faraday-net_http (3.0.2)
     faraday-retry (2.2.0)
       faraday (~> 2.0)
-    faye-websocket (0.11.2)
+    faye-websocket (0.11.3)
       eventmachine (>= 0.12.0)
       websocket-driver (>= 0.5.1)
     ffi (1.15.5)
@@ -259,7 +259,7 @@ GEM
     metasploit_payloads-mettle (1.0.20)
     method_source (1.0.0)
     mini_portile2 (2.8.4)
-    minitest (5.18.1)
+    minitest (5.19.0)
     mqtt (0.6.0)
     msgpack (1.6.1)
     multi_json (1.15.0)
@@ -271,7 +271,7 @@ GEM
       timeout
     net-smtp (0.3.3)
       net-protocol
-    net-ssh (7.1.0)
+    net-ssh (7.2.0)
     network_interface (0.0.2)
     nexpose (7.3.0)
     nio4r (2.5.9)
@@ -300,7 +300,7 @@ GEM
     puma (6.3.0)
       nio4r (~> 2.0)
     racc (1.7.1)
-    rack (2.2.7)
+    rack (2.2.8)
     rack-protection (3.0.6)
       rack
     rack-test (2.1.0)
@@ -326,7 +326,7 @@ GEM
     recog (3.1.1)
       nokogiri
     redcarpet (3.6.0)
-    reline (0.3.6)
+    reline (0.3.7)
       io-console (~> 0.5)
     rex-arch (0.1.14)
       rex-text
@@ -376,9 +376,9 @@ GEM
     rex-text (0.2.52)
     rex-zip (0.1.4)
       rex-text
-    rexml (3.2.5)
+    rexml (3.2.6)
     rkelly-remix (0.0.7)
-    ruby-macho (3.0.0)
+    ruby-macho (4.0.0)
     ruby-rc4 (0.1.5)
     ruby2_keywords (0.0.5)
     ruby_smb (3.2.5)
@@ -423,7 +423,7 @@ GEM
     warden (1.2.9)
       rack (>= 2.0.9)
     webrick (1.8.1)
-    websocket-driver (0.7.5)
+    websocket-driver (0.7.6)
       websocket-extensions (>= 0.1.0)
     websocket-extensions (0.1.5)
     win32api (0.1.0)
@@ -442,7 +442,7 @@ GEM
       activesupport (>= 4.2, < 8.0)
     xmlrpc (0.3.2)
       webrick
-    zeitwerk (2.6.8)
+    zeitwerk (2.6.10)
 
 PLATFORMS
   ruby
diff --git a/pkgs/tools/security/metasploit/default.nix b/pkgs/tools/security/metasploit/default.nix
index 88f25a706571a..d1d4459542408 100644
--- a/pkgs/tools/security/metasploit/default.nix
+++ b/pkgs/tools/security/metasploit/default.nix
@@ -15,13 +15,13 @@ let
   };
 in stdenv.mkDerivation rec {
   pname = "metasploit-framework";
-  version = "6.3.26";
+  version = "6.3.27";
 
   src = fetchFromGitHub {
     owner = "rapid7";
     repo = "metasploit-framework";
     rev = version;
-    sha256 = "sha256-GSf+GE4LeZxmhTskiwWjWf9rc6K4wg357MuK5cbLuMs=";
+    sha256 = "sha256-3iNzOLOASz78ZUoShKMH/AYZE+UTu31qU/VjXP677cc=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/security/metasploit/gemset.nix b/pkgs/tools/security/metasploit/gemset.nix
index 6cfc7da1e69e6..71feb682f9d45 100644
--- a/pkgs/tools/security/metasploit/gemset.nix
+++ b/pkgs/tools/security/metasploit/gemset.nix
@@ -104,30 +104,30 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1mjzb10zyx78hnnz6j4bjv3awpgajfi0nmavrhy9x1qsf7yc9bjd";
+      sha256 = "07nz6pdzhrfzyhcnd0slikbw0xpslisis2ab57v83fbmn3rkpwn4";
       type = "gem";
     };
-    version = "1.790.0";
+    version = "1.795.0";
   };
   aws-sdk-core = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1jv5h7n0vkyjq0v3xqad5xhrl4ijnh214zq3xg4ghvsk6ah8a90r";
+      sha256 = "1a820i7b3fcpnk0966sp7sdj9mzkazfwjflrd1f3i9qgbabf5li3";
       type = "gem";
     };
-    version = "3.178.0";
+    version = "3.180.1";
   };
   aws-sdk-ec2 = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "15vb0gn23xig6alcxh487r0jl5cdxm45b6zihh3wscvfzwqq0n5n";
+      sha256 = "01ds6pw1q87mqbyv7v0a444lsifrv6y0sqcw3v5yrng2ap43xby7";
       type = "gem";
     };
-    version = "1.392.0";
+    version = "1.395.0";
   };
   aws-sdk-iam = {
     groups = ["default"];
@@ -154,10 +154,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1855m1v6lh9rji543nvk0fjn98ma0q2978zc4f5y76qsibl7fg6c";
+      sha256 = "0cjb40w8hw4h59bbjidp6hlb1j6akb36d8s5a37vlm6zwq327i7f";
       type = "gem";
     };
-    version = "1.131.0";
+    version = "1.132.0";
   };
   aws-sdk-ssm = {
     groups = ["default"];
@@ -404,10 +404,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1p4hsz3v75lxyj3ymwjm7pxrrk1997n54lfm51h5laakzxbji421";
+      sha256 = "01xkpv5b4fjc5n6n1fq6z1ris991av2fbadvs8r71i9r34b8g48h";
       type = "gem";
     };
-    version = "0.11.2";
+    version = "0.11.3";
   };
   ffi = {
     groups = ["default"];
@@ -634,12 +634,12 @@
     platforms = [];
     source = {
       fetchSubmodules = false;
-      rev = "dd1f90dd6fd267d8430d8e0299ebcfe6a85327cf";
-      sha256 = "1jxqrg3fb2nbxkwhvhmql9rnpzsrlc2qn91vhmk9qy8b9qcgw9qr";
+      rev = "53af96320f2fddfc0189ea66fd9db1f87d94eb06";
+      sha256 = "1izdpgz5qqzmadm7vfqkwl9ij1pw0yiq84jacpy3wjw0ncw768yy";
       type = "git";
       url = "https://github.com/rapid7/metasploit-framework";
     };
-    version = "6.3.26";
+    version = "6.3.27";
   };
   metasploit-model = {
     groups = ["default"];
@@ -706,10 +706,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1kg9wh7jlc9zsr3hkhpzkbn0ynf4np5ap9m2d8xdrb8shy0y6pmb";
+      sha256 = "0jnpsbb2dbcs95p4is4431l2pw1l5pn7dfg3vkgb4ga464j0c5l6";
       type = "gem";
     };
-    version = "5.18.1";
+    version = "5.19.0";
   };
   mqtt = {
     groups = ["default"];
@@ -796,10 +796,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0yx0pb5fmziz92bw8qzbh8vf20lr56nd3s6q8h0gsgr307lki687";
+      sha256 = "1jyj6j7w9zpj2zhp4dyhdjiwsn9rqwksj7s7fzpnn7rx2xvz2a1a";
       type = "gem";
     };
-    version = "7.1.0";
+    version = "7.2.0";
   };
   network_interface = {
     groups = ["default"];
@@ -977,10 +977,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "16w217k9z02c4hqizym8dkj6bqmmzx4qdvqpnskgzf174a5pwdxk";
+      sha256 = "15rdwbyk71c9nxvd527bvb8jxkcys8r3dj3vqra5b3sa63qs30vv";
       type = "gem";
     };
-    version = "2.2.7";
+    version = "2.2.8";
   };
   rack-protection = {
     groups = ["default"];
@@ -1087,10 +1087,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1rgsfxm3sb9mgsxa7gks40wy4sb41w33j30y6izmih70ss34x4dh";
+      sha256 = "1n6b6a1b18fscw9ff0fw5jk1l7kzw542r8444mm7d27zyx5v18sj";
       type = "gem";
     };
-    version = "0.3.6";
+    version = "0.3.7";
   };
   rex-arch = {
     groups = ["default"];
@@ -1277,10 +1277,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "08ximcyfjy94pm1rhcx04ny1vx2sk0x4y185gzn86yfsbzwkng53";
+      sha256 = "05i8518ay14kjbma550mv0jm8a6di8yp5phzrd8rj44z9qnrlrp0";
       type = "gem";
     };
-    version = "3.2.5";
+    version = "3.2.6";
   };
   rkelly-remix = {
     groups = ["default"];
@@ -1297,10 +1297,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0sg0kzqrldx9mlpvymif3dcgz8j8q1nc8jaszrd03nfh5bvp3fd5";
+      sha256 = "1yf8fq0l5hlqkjklcpxmg6vhzvbyigwd2n441aq42b2wa2f8xj5q";
       type = "gem";
     };
-    version = "3.0.0";
+    version = "4.0.0";
   };
   ruby-rc4 = {
     groups = ["default"];
@@ -1548,10 +1548,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0a3bwxd9v3ghrxzjc4vxmf4xa18c6m4xqy5wb0yk5c6b9psc7052";
+      sha256 = "1nyh873w4lvahcl8kzbjfca26656d5c6z3md4sbqg5y1gfz0157n";
       type = "gem";
     };
-    version = "0.7.5";
+    version = "0.7.6";
   };
   websocket-extensions = {
     groups = ["default"];
@@ -1618,9 +1618,9 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ck6bj7wa73dkdh13735jl06k6cfny98glxjkas82aivlmyzqqbk";
+      sha256 = "06vf6y5ai20ry3b1h9cl7vsdj6i5valq172zdxpnfhj5zvlp104j";
       type = "gem";
     };
-    version = "2.6.8";
+    version = "2.6.10";
   };
 }
diff --git a/pkgs/tools/security/nuclei/default.nix b/pkgs/tools/security/nuclei/default.nix
index 4e6d9157d0fb6..9fc66896ef59f 100644
--- a/pkgs/tools/security/nuclei/default.nix
+++ b/pkgs/tools/security/nuclei/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "nuclei";
-  version = "2.9.9";
+  version = "2.9.10";
 
   src = fetchFromGitHub {
     owner = "projectdiscovery";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-33kKRJNPy78Chtiv9/e27Jsg2aEmMAHZ/RLmrP5klIg=";
+    hash = "sha256-FpgKOUycSiA0llEvJK71+LnITSTxPkP+Wt5a14Vfwas=";
   };
 
-  vendorHash = "sha256-oJw9mVp/be1Xb8p8Szz5Vi30uNoITcDLjRK+SvzVM6Y=";
+  vendorHash = "sha256-g8+tkGqsXROj157sdUMfZMh7+5+dxd3mIxr5KY/mWO8=";
 
   modRoot = "./v2";
   subPackages = [
diff --git a/pkgs/tools/security/osv-scanner/default.nix b/pkgs/tools/security/osv-scanner/default.nix
index ff5d43bcfee24..e40d9c4cdab41 100644
--- a/pkgs/tools/security/osv-scanner/default.nix
+++ b/pkgs/tools/security/osv-scanner/default.nix
@@ -6,16 +6,16 @@
 }:
 buildGoModule rec {
   pname = "osv-scanner";
-  version = "1.3.5";
+  version = "1.3.6";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-QKswDnqPJzucfOrRzKkBMvyuGsjamY9yhyBqcyhZNvI=";
+    hash = "sha256-mvR4LqUPtmLBH9RSfVge4anwun1wHJMCuGyHGQvA56s=";
   };
 
-  vendorHash = "sha256-xHgatAblsnPikAYnfoWTGzpeAHs3ON06bDuxELH/AKI=";
+  vendorHash = "sha256-oxAvpiNrdst7Y8EbSTrTEebX6+G/8K5UFwdKG+wiDQE=";
 
   subPackages = [
     "cmd/osv-scanner"
diff --git a/pkgs/tools/security/proxmark3/default.nix b/pkgs/tools/security/proxmark3/default.nix
index b52e7279fa98e..48d0d4a0ee141 100644
--- a/pkgs/tools/security/proxmark3/default.nix
+++ b/pkgs/tools/security/proxmark3/default.nix
@@ -1,61 +1,86 @@
-{ lib, stdenv, fetchFromGitHub, pkg-config, ncurses, readline, pcsclite, qt5
-, gcc-arm-embedded }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, pkg-config
+, gcc-arm-embedded
+, readline
+, bzip2
+, openssl
+, jansson
+, whereami
+, lua
+, Foundation
+, AppKit
+, withGui ? true, wrapQtAppsHook, qtbase
+, withPython ? true, python3
+, withBlueshark ? false, bluez5
+, withGeneric ? false
+, withSmall ? false
+, withoutFunctions ? []
+, hardwarePlatform ? if withGeneric then "PM3GENERIC" else "PM3RDV4"
+, hardwarePlatformExtras ? lib.optionalString withBlueshark "BTADDON"
+, standalone ? "LF_SAMYRUN"
+}:
+assert withBlueshark -> stdenv.hostPlatform.isLinux;
+stdenv.mkDerivation rec {
+  pname = "proxmark3";
+  version = "4.16717";
 
-let
-  generic = { pname, version, rev, sha256 }:
-    stdenv.mkDerivation rec {
-      inherit pname version;
-
-      src = fetchFromGitHub {
-        owner = "Proxmark";
-        repo = "proxmark3";
-        inherit rev sha256;
-      };
-
-      nativeBuildInputs = [ pkg-config gcc-arm-embedded ];
-      buildInputs = [ ncurses readline pcsclite qt5.qtbase ];
-
-      dontWrapQtApps = true;
-
-      postPatch = ''
-        substituteInPlace client/Makefile --replace '-ltermcap' ' '
-        substituteInPlace liblua/Makefile --replace '-ltermcap' ' '
-        substituteInPlace client/flasher.c \
-          --replace 'armsrc/obj/fullimage.elf' \
-                    '${placeholder "out"}/firmware/fullimage.elf'
-      '';
+  src = fetchFromGitHub {
+    owner = "RfidResearchGroup";
+    repo = "proxmark3";
+    rev = "v${version}";
+    sha256 = "sha256-rkfVgT+9fqlWvUXzLH28Nzd8HldJnU+IZz8conY8Mis=";
+  };
 
-      buildPhase = ''
-        make bootrom/obj/bootrom.elf armsrc/obj/fullimage.elf client
-      '';
+  patches = [
+    # Don't check for DISPLAY env variable on Darwin. pm3 uses this to test if
+    # XQuartz is installed, however it is not actually required for GUI features
+    ./darwin-always-gui.patch
+  ];
 
-      installPhase = ''
-        install -Dt $out/bin client/proxmark3
-        install -T client/flasher $out/bin/proxmark3-flasher
-        install -Dt $out/firmware bootrom/obj/bootrom.elf armsrc/obj/fullimage.elf
-      '';
+  postPatch = ''
+    # Remove hardcoded paths on Darwin
+    substituteInPlace Makefile.defs \
+      --replace "/usr/bin/ar" "ar" \
+      --replace "/usr/bin/ranlib" "ranlib"
+    # Replace hardcoded path to libwhereami
+    substituteInPlace client/Makefile \
+      --replace "/usr/include/whereami.h" "${whereami}/include/whereami.h"
+  '';
 
-      meta = with lib; {
-        description = "Client for proxmark3, powerful general purpose RFID tool";
-        homepage = "http://www.proxmark.org";
-        license = licenses.gpl2Plus;
-        maintainers = with maintainers; [ fpletz ];
-      };
-    };
-in
+  nativeBuildInputs = [
+    pkg-config
+    gcc-arm-embedded
+  ] ++ lib.optional withGui wrapQtAppsHook;
+  buildInputs = [
+    readline
+    bzip2
+    openssl
+    jansson
+    whereami
+    lua
+  ] ++ lib.optional withGui qtbase
+    ++ lib.optional withPython python3
+    ++ lib.optional withBlueshark bluez5
+    ++ lib.optionals stdenv.hostPlatform.isDarwin [ Foundation AppKit ];
 
-{
-  proxmark3 = generic rec {
-    pname = "proxmark3";
-    version = "3.1.0";
-    rev = "v${version}";
-    sha256 = "1qw28n1bhhl91ix77lv50qcr919fq3hjc8zhhqphwxal2svgx2jf";
-  };
+  makeFlags = [
+    "PREFIX=${placeholder "out"}"
+    "UDEV_PREFIX=${placeholder "out"}/etc/udev/rules.d"
+    "PLATFORM=${hardwarePlatform}"
+    "PLATFORM_EXTRAS=${hardwarePlatformExtras}"
+    "STANDALONE=${standalone}"
+    "USE_BREW=0"
+  ] ++ lib.optional withSmall "PLATFORM_SIZE=256"
+    ++ map (x: "SKIP_${x}=1") withoutFunctions;
+  enableParallelBuilding = true;
 
-  proxmark3-unstable = generic {
-    pname = "proxmark3-unstable";
-    version = "2019-12-28";
-    rev = "a4ff62be63ca2a81071e9aa2b882bd3ff57f13ad";
-    sha256 = "067lp28xqx61n3i2a2fy489r5frwxqrcfj8cpv3xdzi3gb3vk5c3";
+  meta = with lib; {
+    description = "Client for proxmark3, powerful general purpose RFID tool";
+    homepage = "https://github.com/RfidResearchGroup/proxmark3";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ nyanotech emilytrau ];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/security/proxmark3/proxmark3-rrg.nix b/pkgs/tools/security/proxmark3/proxmark3-rrg.nix
deleted file mode 100644
index fc033125e8b60..0000000000000
--- a/pkgs/tools/security/proxmark3/proxmark3-rrg.nix
+++ /dev/null
@@ -1,86 +0,0 @@
-{ lib
-, stdenv
-, fetchFromGitHub
-, pkg-config
-, gcc-arm-embedded
-, readline
-, bzip2
-, openssl
-, jansson
-, whereami
-, lua
-, Foundation
-, AppKit
-, withGui ? true, wrapQtAppsHook, qtbase
-, withPython ? true, python3
-, withBlueshark ? false, bluez5
-, withGeneric ? false
-, withSmall ? false
-, withoutFunctions ? []
-, hardwarePlatform ? if withGeneric then "PM3GENERIC" else "PM3RDV4"
-, hardwarePlatformExtras ? lib.optionalString withBlueshark "BTADDON"
-, standalone ? "LF_SAMYRUN"
-}:
-assert withBlueshark -> stdenv.hostPlatform.isLinux;
-stdenv.mkDerivation rec {
-  pname = "proxmark3-rrg";
-  version = "4.16717";
-
-  src = fetchFromGitHub {
-    owner = "RfidResearchGroup";
-    repo = "proxmark3";
-    rev = "v${version}";
-    sha256 = "sha256-rkfVgT+9fqlWvUXzLH28Nzd8HldJnU+IZz8conY8Mis=";
-  };
-
-  patches = [
-    # Don't check for DISPLAY env variable on Darwin. pm3 uses this to test if
-    # XQuartz is installed, however it is not actually required for GUI features
-    ./darwin-always-gui.patch
-  ];
-
-  postPatch = ''
-    # Remove hardcoded paths on Darwin
-    substituteInPlace Makefile.defs \
-      --replace "/usr/bin/ar" "ar" \
-      --replace "/usr/bin/ranlib" "ranlib"
-    # Replace hardcoded path to libwhereami
-    substituteInPlace client/Makefile \
-      --replace "/usr/include/whereami.h" "${whereami}/include/whereami.h"
-  '';
-
-  nativeBuildInputs = [
-    pkg-config
-    gcc-arm-embedded
-  ] ++ lib.optional withGui wrapQtAppsHook;
-  buildInputs = [
-    readline
-    bzip2
-    openssl
-    jansson
-    whereami
-    lua
-  ] ++ lib.optional withGui qtbase
-    ++ lib.optional withPython python3
-    ++ lib.optional withBlueshark bluez5
-    ++ lib.optionals stdenv.hostPlatform.isDarwin [ Foundation AppKit ];
-
-  makeFlags = [
-    "PREFIX=${placeholder "out"}"
-    "UDEV_PREFIX=${placeholder "out"}/etc/udev/rules.d"
-    "PLATFORM=${hardwarePlatform}"
-    "PLATFORM_EXTRAS=${hardwarePlatformExtras}"
-    "STANDALONE=${standalone}"
-    "USE_BREW=0"
-  ] ++ lib.optional withSmall "PLATFORM_SIZE=256"
-    ++ map (x: "SKIP_${x}=1") withoutFunctions;
-  enableParallelBuilding = true;
-
-  meta = with lib; {
-    description = "Client for proxmark3, powerful general purpose RFID tool";
-    homepage = "https://github.com/RfidResearchGroup/proxmark3";
-    license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ nyanotech emilytrau ];
-    platforms = platforms.unix;
-  };
-}
diff --git a/pkgs/tools/security/semgrep/common.nix b/pkgs/tools/security/semgrep/common.nix
index 0ad680b0ddeed..9a7efb9b0dc67 100644
--- a/pkgs/tools/security/semgrep/common.nix
+++ b/pkgs/tools/security/semgrep/common.nix
@@ -1,9 +1,9 @@
 { lib }:
 
 rec {
-  version = "1.27.0";
+  version = "1.34.1";
 
-  srcHash = "sha256-F6n3LQY4a5sO6c8SMQF9YjjgOS+v2SH+UQPwhg2EX7Q=";
+  srcHash = "sha256-jbwG3Xyb/rEyz7aR51/pfc+bU/KY9k6BsByZg6KDY5s=";
 
   # submodule dependencies
   # these are fetched so we:
@@ -13,8 +13,8 @@ rec {
     "cli/src/semgrep/semgrep_interfaces" = {
       owner = "returntocorp";
       repo = "semgrep-interfaces";
-      rev = "213f67abea73546ca6111e1bbf0ef96aa917c940";
-      hash = "sha256-HeNHJkTje9j16+dwsfyMhoqQn/J18q/7XvQPRwgTw/Y=";
+      rev = "f7fed064dadb859f0b802b11fb60f7f77008c4d7";
+      hash = "sha256-EXYRc6p94QxkOBMPOdr608JqLY6kN1AanlRfOFXxPm8=";
     };
   };
 
@@ -25,15 +25,15 @@ rec {
   core = {
     x86_64-linux = {
       platform = "any";
-      hash = "sha256-cRj81dXpAE6S0EXajsRikOIAPzlUf42FhiDCWjv+wZQ=";
+      hash = "sha256-XogITZZtuNmWBrCfL5qpHJNm6jFxzraZMXWhUotXA4c=";
     };
     x86_64-darwin = {
       platform = "macosx_10_14_x86_64";
-      hash = "sha256-jqfGVZGF/DFgXkr7kQg6QyqEELSr8AKE3Ga8kTftnIY=";
+      hash = "sha256-YjV915SZ2L8t6huToErTHRd82m4I+evPyeuwpVzi26o=";
     };
     aarch64-darwin = {
       platform = "macosx_11_0_arm64";
-      hash = "sha256-e/uCSRMdbVD0lvc0hukbiUzheqRNIIh1LgMq6Ae7JYI=";
+      hash = "sha256-BAnYYeUWosAorcHpqUMpRXJFl4NQDPbWTsykDN3w5UQ=";
     };
   };
 
diff --git a/pkgs/tools/security/semgrep/default.nix b/pkgs/tools/security/semgrep/default.nix
index 23749643a4431..ff41daacac30d 100644
--- a/pkgs/tools/security/semgrep/default.nix
+++ b/pkgs/tools/security/semgrep/default.nix
@@ -102,6 +102,10 @@ buildPythonApplication rec {
     makeWrapperArgs+=(--prefix PATH : ${lib.makeBinPath [ semgrep-core ]})
   '';
 
+  postInstall = ''
+    chmod +x $out/bin/{,py}semgrep
+  '';
+
   passthru = {
     inherit common;
     submodulesSubset = lib.mapAttrs (k: args: fetchFromGitHub args) common.submodules;
diff --git a/pkgs/tools/security/semgrep/semgrep-core.nix b/pkgs/tools/security/semgrep/semgrep-core.nix
index c4846c6d91d5f..b924dd16579f9 100644
--- a/pkgs/tools/security/semgrep/semgrep-core.nix
+++ b/pkgs/tools/security/semgrep/semgrep-core.nix
@@ -20,7 +20,7 @@ stdenvNoCC.mkDerivation rec {
       inherit version;
       format = "wheel";
       dist = python;
-      python = "cp37.cp38.cp39.py37.py38.py39";
+      python = "cp37.cp38.cp39.cp310.cp311.py37.py38.py39.py310.py311";
       inherit (data) platform hash;
     };
 
diff --git a/pkgs/tools/security/semgrep/update.sh b/pkgs/tools/security/semgrep/update.sh
index 090d607a6928f..c66180cf8f2ba 100755
--- a/pkgs/tools/security/semgrep/update.sh
+++ b/pkgs/tools/security/semgrep/update.sh
@@ -15,7 +15,6 @@ fi
 
 ROOT="$(dirname "$(readlink -f "$0")")"
 NIXPKGS_ROOT="$ROOT/../../../.."
-NIX_DRV="$ROOT/default.nix"
 
 COMMON_FILE="$ROOT/common.nix"
 
@@ -59,7 +58,7 @@ fetchPypi rec {
   version = \"$VERSION\";
   format = \"wheel\";
   dist = python;
-  python = \"cp37.cp38.cp39.py37.py38.py39\";
+  python = \"cp37.cp38.cp39.cp310.cp311.py37.py38.py39.py310.py311\";
   platform = \"$PLATFORM\";
 }
 "
@@ -131,8 +130,6 @@ nix-instantiate -E "with import $NIXPKGS_ROOT {}; builtins.attrNames semgrep.pas
       continue
     fi
 
-    NEW_URL=$(instantiateClean semgrep.passthru.submodulesSubset."$SUBMODULE".url | sed "s@$OLD_REV@$NEW_REV@g")
-
     TMP_HASH="sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="
     replace "$OLD_REV" "$NEW_REV" "$COMMON_FILE"
     replace "$OLD_HASH" "$TMP_HASH" "$COMMON_FILE"
diff --git a/pkgs/tools/security/sequoia-sq/default.nix b/pkgs/tools/security/sequoia-sq/default.nix
index fbb5ff956a4d0..d8bac3e707259 100644
--- a/pkgs/tools/security/sequoia-sq/default.nix
+++ b/pkgs/tools/security/sequoia-sq/default.nix
@@ -12,16 +12,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "sequoia-sq";
-  version = "0.30.1";
+  version = "0.31.0";
 
   src = fetchFromGitLab {
     owner = "sequoia-pgp";
     repo = "sequoia-sq";
     rev = "v${version}";
-    hash = "sha256-uFcmuyz0JsUTvKqCb+3t8JdB4Dn4hJq00jeEhvMNW18=";
+    hash = "sha256-rrNN52tDM3CEGyNvsT3x4GmfWIpU8yoT2XsgOhPyLjo=";
   };
 
-  cargoHash = "sha256-PWqwTGodQ7LBTgHFB2AWX5wIOVJja2GzPoocX59Dr/0=";
+  cargoHash = "sha256-B+gtUzUB99At+kusupsN/v6sCbpXs36/EbpTL3gUxnc=";
 
   nativeBuildInputs = [
     pkg-config
diff --git a/pkgs/tools/security/solo2-cli/default.nix b/pkgs/tools/security/solo2-cli/default.nix
index ea4b05b79a03c..1580b946e71e0 100644
--- a/pkgs/tools/security/solo2-cli/default.nix
+++ b/pkgs/tools/security/solo2-cli/default.nix
@@ -33,7 +33,8 @@ rustPlatform.buildRustPackage rec {
 
   postInstall = ''
     install -D 70-solo2.rules $out/lib/udev/rules.d/70-solo2.rules
-    installShellCompletion target/*/release/solo2.{bash,fish,zsh}
+    installShellCompletion target/*/release/solo2.{bash,fish}
+    installShellCompletion --zsh target/*/release/_solo2
   '';
 
   doCheck = true;
diff --git a/pkgs/tools/security/spectre-meltdown-checker/default.nix b/pkgs/tools/security/spectre-meltdown-checker/default.nix
index cf85ed9310a1a..529da45579155 100644
--- a/pkgs/tools/security/spectre-meltdown-checker/default.nix
+++ b/pkgs/tools/security/spectre-meltdown-checker/default.nix
@@ -1,14 +1,20 @@
-{ lib, stdenv, fetchFromGitHub, makeWrapper, coreutils, binutils-unwrapped }:
-
-stdenv.mkDerivation rec {
+{ lib
+, stdenv
+, fetchFromGitHub
+, makeBinaryWrapper
+, coreutils
+, binutils-unwrapped
+}:
+
+stdenv.mkDerivation (finalAttrs: {
   pname = "spectre-meltdown-checker";
-  version = "0.45";
+  version = "0.46";
 
   src = fetchFromGitHub {
     owner = "speed47";
     repo = "spectre-meltdown-checker";
-    rev = "v${version}";
-    sha256 = "sha256-yGrsiPBux4YeiQ3BL2fnne5P55R/sQZ4FwzSkE6BqPc=";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-M4ngdtp2esZ+CSqZAiAeOnKtaK8Ra+TmQfMsr5q5gkg=";
   };
 
   prePatch = ''
@@ -16,23 +22,23 @@ stdenv.mkDerivation rec {
       --replace /bin/echo ${coreutils}/bin/echo
   '';
 
-  nativeBuildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeBinaryWrapper ];
 
-  installPhase = with lib; ''
+  installPhase = ''
     runHook preInstall
 
     install -Dm755 spectre-meltdown-checker.sh $out/bin/spectre-meltdown-checker
     wrapProgram $out/bin/spectre-meltdown-checker \
-      --prefix PATH : ${makeBinPath [ binutils-unwrapped ]}
+      --prefix PATH : ${lib.makeBinPath [ binutils-unwrapped ]}
 
     runHook postInstall
   '';
 
-  meta = with lib; {
+  meta = {
     description = "Spectre & Meltdown vulnerability/mitigation checker for Linux";
     homepage = "https://github.com/speed47/spectre-meltdown-checker";
-    license = licenses.gpl3;
-    maintainers = with maintainers; [ dotlambda ];
-    platforms = platforms.linux;
+    license = lib.licenses.gpl3;
+    maintainers = [ lib.maintainers.dotlambda ];
+    platforms = lib.platforms.linux;
   };
-}
+})
diff --git a/pkgs/tools/security/spire/default.nix b/pkgs/tools/security/spire/default.nix
index b76a03e42cda2..6c64e19043a2c 100644
--- a/pkgs/tools/security/spire/default.nix
+++ b/pkgs/tools/security/spire/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "spire";
-  version = "1.7.0";
+  version = "1.7.1";
 
   outputs = [ "out" "agent" "server" ];
 
@@ -10,10 +10,10 @@ buildGoModule rec {
     owner = "spiffe";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-aJ9T8OUsHNeWV05MWLet35V0YFyD7QoiExN6PTmHs3w=";
+    sha256 = "sha256-42UEFil9b2z8vfnA5oJvkqcPuSApi61m//RZ4pKZZ5w=";
   };
 
-  vendorHash = "sha256-4KJysqByDVuK2OU/+sGtpXtSJe4YkVe4OhRyn9tkgsg=";
+  vendorHash = "sha256-H4INblBEWc/AuOn59lXmj5XX6mKrhmRTRVWtVhusW9k=";
 
   subPackages = [ "cmd/spire-agent" "cmd/spire-server" ];
 
diff --git a/pkgs/tools/security/terrascan/default.nix b/pkgs/tools/security/terrascan/default.nix
index bb71c3134d88c..8cc4212fbb28a 100644
--- a/pkgs/tools/security/terrascan/default.nix
+++ b/pkgs/tools/security/terrascan/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "terrascan";
-  version = "1.18.1";
+  version = "1.18.2";
 
   src = fetchFromGitHub {
     owner = "accurics";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-w0ZOkPw8Y6Z1hyZecZfjd/YrTP8v6S0jNhgNzLjMRrY=";
+    hash = "sha256-ZWkuzblPIvYcOllmIjk2RQZdkcPYZLGOuxwgX3NMydg=";
   };
 
-  vendorHash = "sha256-0WkOIgIA1fKn2SeS5QFeLGCGMstdlkU+eDRUVAs3ETA=";
+  vendorHash = "sha256-e09F4dA/uT50Cted3HqE08d04+l0V6U95AdKGKBFDpI=";
 
   # Tests want to download a vulnerable Terraform project
   doCheck = false;
diff --git a/pkgs/tools/security/tor/default.nix b/pkgs/tools/security/tor/default.nix
index 06e43158190bb..28e38d6ad1c9f 100644
--- a/pkgs/tools/security/tor/default.nix
+++ b/pkgs/tools/security/tor/default.nix
@@ -30,11 +30,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "tor";
-  version = "0.4.7.13";
+  version = "0.4.7.14";
 
   src = fetchurl {
     url = "https://dist.torproject.org/${pname}-${version}.tar.gz";
-    sha256 = "sha256-IHkXLM4DRVbxEASOJgg86b6nUfMVSwrSgJdRgVsR6p0=";
+    sha256 = "sha256-paxn9kZjgPwF6AQ9AcWB5Oiisi/glDABNHPnEGXmXfg=";
   };
 
   outputs = [ "out" "geoip" ];
diff --git a/pkgs/tools/security/trufflehog/default.nix b/pkgs/tools/security/trufflehog/default.nix
index da9a7334396e3..2067a358cfcc1 100644
--- a/pkgs/tools/security/trufflehog/default.nix
+++ b/pkgs/tools/security/trufflehog/default.nix
@@ -7,16 +7,16 @@
 
 buildGoModule rec {
   pname = "trufflehog";
-  version = "3.45.1";
+  version = "3.45.3";
 
   src = fetchFromGitHub {
     owner = "trufflesecurity";
     repo = "trufflehog";
     rev = "refs/tags/v${version}";
-    hash = "sha256-kWEDeFx3ngpL6ySCD5GsJbmtbhv1qCMt9yjrskLmbbg=";
+    hash = "sha256-ZjoX1E9zusni8ZRaTiaj41wpVP+f7r5PcsgPAnzZF/s=";
   };
 
-  vendorHash = "sha256-dg29rK5/se2DVhc+GLFeFzh3bqJl3dfC2zjGLX7utDs=";
+  vendorHash = "sha256-VaNNfdY2CXR0sJb9efxTwkm12l20SbO5Q3OvcBs4cKA=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/tools/security/vals/default.nix b/pkgs/tools/security/vals/default.nix
index e26cbda2aa8b0..0e86d644c82b9 100644
--- a/pkgs/tools/security/vals/default.nix
+++ b/pkgs/tools/security/vals/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "vals";
-  version = "0.25.0";
+  version = "0.26.1";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "variantdev";
     repo = pname;
-    sha256 = "sha256-MofzTQM/dREw9b+IzjvexKoYZZ/ptbdWICROtwYK4X8=";
+    sha256 = "sha256-gICEqwt34pllvxA8JVc0rCQ2F3w6wT96eKTTxE0j398=";
   };
 
   vendorHash = "sha256-6DJiqDEgEHQbyIt4iShoBnagBvspd3W3vD56/FGjESs=";
diff --git a/pkgs/tools/system/amdgpu_top/Cargo.lock b/pkgs/tools/system/amdgpu_top/Cargo.lock
index 3b0788defce7b..4cdf083101033 100644
--- a/pkgs/tools/system/amdgpu_top/Cargo.lock
+++ b/pkgs/tools/system/amdgpu_top/Cargo.lock
@@ -19,6 +19,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "c71b1793ee61086797f5c80b6efa2b8ffa6d5dd703f118545808a7f2e27f7046"
 
 [[package]]
+name = "accesskit"
+version = "0.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "02c98a5d094590335462354da402d754fe2cb78f0e6ce5024611c28ed539c1de"
+dependencies = [
+ "enumn",
+ "serde",
+]
+
+[[package]]
 name = "adler"
 version = "1.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -33,12 +43,13 @@ dependencies = [
  "cfg-if",
  "getrandom",
  "once_cell",
+ "serde",
  "version_check",
 ]
 
 [[package]]
 name = "amdgpu_top"
-version = "0.1.9"
+version = "0.1.11"
 dependencies = [
  "amdgpu_top_gui",
  "amdgpu_top_json",
@@ -143,6 +154,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
 
 [[package]]
+name = "base64"
+version = "0.13.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8"
+
+[[package]]
 name = "bitflags"
 version = "1.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -200,6 +217,12 @@ dependencies = [
 ]
 
 [[package]]
+name = "byteorder"
+version = "1.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
+
+[[package]]
 name = "bytes"
 version = "1.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -266,6 +289,43 @@ dependencies = [
 ]
 
 [[package]]
+name = "cocoa"
+version = "0.24.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f425db7937052c684daec3bd6375c8abe2d146dca4b8b143d6db777c39138f3a"
+dependencies = [
+ "bitflags",
+ "block",
+ "cocoa-foundation",
+ "core-foundation",
+ "core-graphics",
+ "foreign-types",
+ "libc",
+ "objc",
+]
+
+[[package]]
+name = "cocoa-foundation"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "931d3837c286f56e3c58423ce4eba12d08db2374461a785c86f672b08b5650d6"
+dependencies = [
+ "bitflags",
+ "block",
+ "core-foundation",
+ "core-graphics-types",
+ "foreign-types",
+ "libc",
+ "objc",
+]
+
+[[package]]
+name = "color_quant"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b"
+
+[[package]]
 name = "combine"
 version = "4.6.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -443,6 +503,16 @@ dependencies = [
 ]
 
 [[package]]
+name = "directories-next"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "339ee130d97a610ea5a5872d2bbb130fdf68884ff09d3028b81bec8a1ac23bbc"
+dependencies = [
+ "cfg-if",
+ "dirs-sys-next",
+]
+
+[[package]]
 name = "dirs"
 version = "4.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -463,6 +533,17 @@ dependencies = [
 ]
 
 [[package]]
+name = "dirs-sys-next"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d"
+dependencies = [
+ "libc",
+ "redox_users",
+ "winapi",
+]
+
+[[package]]
 name = "dispatch"
 version = "0.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -485,87 +566,100 @@ checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650"
 
 [[package]]
 name = "ecolor"
-version = "0.21.0"
+version = "0.22.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1f99fe3cac305af9d6d92971af60d0f7ea4d783201ef1673571567b6699964d9"
+checksum = "2e479a7fa3f23d4e794f8b2f8b3568dd4e47886ad1b12c9c095e141cb591eb63"
 dependencies = [
  "bytemuck",
+ "serde",
 ]
 
 [[package]]
 name = "eframe"
-version = "0.21.3"
+version = "0.22.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3df3ce60931e5f2d83bab4484d1a283908534d5308cc6b0c5c22c59cd15ee7cc"
+checksum = "bf4596583a2c680c55b6feaa748f74890c4f9cb9c7cb69d6117110444cb65b2f"
 dependencies = [
  "bytemuck",
+ "cocoa",
+ "directories-next",
  "egui",
  "egui-winit",
  "egui_glow",
  "glow",
  "glutin",
  "glutin-winit",
+ "image",
  "js-sys",
+ "log",
+ "objc",
  "percent-encoding",
  "raw-window-handle",
+ "ron",
+ "serde",
  "thiserror",
- "tracing",
  "wasm-bindgen",
  "wasm-bindgen-futures",
  "web-sys",
+ "winapi",
  "winit",
 ]
 
 [[package]]
 name = "egui"
-version = "0.21.0"
+version = "0.22.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6412a21e0bde7c0918f7fb44bbbb86b5e1f88e63c026a4e747cc7af02f76dfbe"
+checksum = "a3aef8ec3ae1b772f340170c65bf27d5b8c28f543a0116c844d2ac08d01123e7"
 dependencies = [
+ "accesskit",
  "ahash",
  "epaint",
+ "log",
  "nohash-hasher",
- "tracing",
+ "ron",
+ "serde",
 ]
 
 [[package]]
 name = "egui-winit"
-version = "0.21.1"
+version = "0.22.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ab43597ba41f0ce39a364ad83185594578bfd8b3409b99dbcbb01df23afc3dbb"
+checksum = "4a49155fd4a0a4fb21224407a91de0030847972ef90fc64edb63621caea61cb2"
 dependencies = [
- "android-activity",
  "arboard",
  "egui",
  "instant",
+ "log",
+ "raw-window-handle",
+ "serde",
  "smithay-clipboard",
- "tracing",
  "webbrowser",
  "winit",
 ]
 
 [[package]]
 name = "egui_glow"
-version = "0.21.0"
+version = "0.22.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8257332fb168a965b3dca81d6a344e053153773c889cabdba0b3b76f1629ae81"
+checksum = "1f8c2752cdf1b0ef5fcda59a898cacabad974d4f5880e92a420b2c917022da64"
 dependencies = [
  "bytemuck",
  "egui",
  "glow",
+ "log",
  "memoffset",
- "tracing",
  "wasm-bindgen",
  "web-sys",
 ]
 
 [[package]]
 name = "emath"
-version = "0.21.0"
+version = "0.22.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b8ecd80612937e0267909d5351770fe150004e24dab93954f69ca62eecd3f77e"
+checksum = "3857d743a6e0741cdd60b622a74c7a36ea75f5f8f11b793b41d905d2c9721a4b"
 dependencies = [
  "bytemuck",
+ "serde",
 ]
 
 [[package]]
@@ -589,6 +683,17 @@ dependencies = [
 ]
 
 [[package]]
+name = "enumn"
+version = "0.1.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "48016319042fb7c87b78d2993084a831793a897a5cd1a2a67cab9d1eeb4b7d76"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.15",
+]
+
+[[package]]
 name = "enumset"
 version = "1.0.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -611,9 +716,9 @@ dependencies = [
 
 [[package]]
 name = "epaint"
-version = "0.21.0"
+version = "0.22.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "12e78b5c58a1f7f621f9d546add2adce20636422c9b251e29f749e8a2f713c95"
+checksum = "09333964d4d57f40a85338ba3ca5ed4716070ab184dcfed966b35491c5c64f3b"
 dependencies = [
  "ab_glyph",
  "ahash",
@@ -621,8 +726,10 @@ dependencies = [
  "bytemuck",
  "ecolor",
  "emath",
+ "log",
  "nohash-hasher",
  "parking_lot",
+ "serde",
 ]
 
 [[package]]
@@ -815,6 +922,20 @@ dependencies = [
 ]
 
 [[package]]
+name = "image"
+version = "0.24.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "527909aa81e20ac3a44803521443a765550f09b5130c2c2fa1ea59c2f8f50a3a"
+dependencies = [
+ "bytemuck",
+ "byteorder",
+ "color_quant",
+ "num-rational",
+ "num-traits",
+ "png",
+]
+
+[[package]]
 name = "indexmap"
 version = "1.9.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -896,7 +1017,7 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
 
 [[package]]
 name = "libamdgpu_top"
-version = "0.1.9"
+version = "0.1.10"
 dependencies = [
  "anyhow",
  "libdrm_amdgpu_sys",
@@ -910,9 +1031,9 @@ checksum = "3304a64d199bb964be99741b7a14d26972741915b3649639149b2479bb46f4b5"
 
 [[package]]
 name = "libdrm_amdgpu_sys"
-version = "0.1.4"
+version = "0.1.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fbba2720dc87ad23aaa9bbfb7f8cc25a826edfbe0fcfbb99fec1774ad1fb81a0"
+checksum = "8e6441089848c428085639f12ef420bcae8ac6650f4cf1d7f9215611a34176bb"
 dependencies = [
  "libc",
 ]
@@ -1300,12 +1421,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e"
 
 [[package]]
-name = "pin-project-lite"
-version = "0.2.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116"
-
-[[package]]
 name = "pkg-config"
 version = "0.3.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1388,6 +1503,17 @@ dependencies = [
 ]
 
 [[package]]
+name = "ron"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "300a51053b1cb55c80b7a9fde4120726ddf25ca241a1cbb926626f62fb136bff"
+dependencies = [
+ "base64",
+ "bitflags",
+ "serde",
+]
+
+[[package]]
 name = "ryu"
 version = "1.0.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1432,6 +1558,20 @@ name = "serde"
 version = "1.0.159"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "3c04e8343c3daeec41f58990b9d77068df31209f2af111e059e9fe9646693065"
+dependencies = [
+ "serde_derive",
+]
+
+[[package]]
+name = "serde_derive"
+version = "1.0.159"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4c614d17805b093df4b147b51339e7e44bf05ef59fba1e45d83500bcfb4d8585"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.15",
+]
 
 [[package]]
 name = "serde_json"
@@ -1671,26 +1811,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "tracing"
-version = "0.1.37"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8"
-dependencies = [
- "cfg-if",
- "pin-project-lite",
- "tracing-core",
-]
-
-[[package]]
-name = "tracing-core"
-version = "0.1.30"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "24eb03ba0eab1fd845050058ce5e616558e8f8d8fca633e6b163fe25c797213a"
-dependencies = [
- "once_cell",
-]
-
-[[package]]
 name = "ttf-parser"
 version = "0.18.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1770,9 +1890,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
 
 [[package]]
 name = "wasm-bindgen"
-version = "0.2.84"
+version = "0.2.87"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "31f8dcbc21f30d9b8f2ea926ecb58f6b91192c17e9d33594b3df58b2007ca53b"
+checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342"
 dependencies = [
  "cfg-if",
  "wasm-bindgen-macro",
@@ -1780,16 +1900,16 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-backend"
-version = "0.2.84"
+version = "0.2.87"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "95ce90fd5bcc06af55a641a86428ee4229e44e07033963a2290a8e241607ccb9"
+checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd"
 dependencies = [
  "bumpalo",
  "log",
  "once_cell",
  "proc-macro2",
  "quote",
- "syn 1.0.109",
+ "syn 2.0.15",
  "wasm-bindgen-shared",
 ]
 
@@ -1807,9 +1927,9 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-macro"
-version = "0.2.84"
+version = "0.2.87"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4c21f77c0bedc37fd5dc21f897894a5ca01e7bb159884559461862ae90c0b4c5"
+checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d"
 dependencies = [
  "quote",
  "wasm-bindgen-macro-support",
@@ -1817,22 +1937,22 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-macro-support"
-version = "0.2.84"
+version = "0.2.87"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2aff81306fcac3c7515ad4e177f521b5c9a15f2b08f4e32d823066102f35a5f6"
+checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 1.0.109",
+ "syn 2.0.15",
  "wasm-bindgen-backend",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
 name = "wasm-bindgen-shared"
-version = "0.2.84"
+version = "0.2.87"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0046fef7e28c3804e5e38bfa31ea2a0f73905319b677e57ebe37e49358989b5d"
+checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1"
 
 [[package]]
 name = "wayland-client"
diff --git a/pkgs/tools/system/amdgpu_top/default.nix b/pkgs/tools/system/amdgpu_top/default.nix
index f6397fa28ce1d..b8f753bc5a46b 100644
--- a/pkgs/tools/system/amdgpu_top/default.nix
+++ b/pkgs/tools/system/amdgpu_top/default.nix
@@ -14,16 +14,18 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "amdgpu_top";
-  version = "0.1.9";
+  version = "0.1.11";
 
   src = fetchFromGitHub {
     owner = "Umio-Yasuno";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-RR+YK8LyrPz7Pfv8moSOPei+56088lhoz8HxoB6+0B8=";
+    hash = "sha256-jeKwvecB67U+TACr4uXGjRWvRG3GUleiqyu5MYlFwq0=";
   };
 
-  cargoLock.lockFile = ./Cargo.lock;
+  cargoLock = {
+    lockFile = ./Cargo.lock;
+  };
 
   buildInputs = [
     libdrm
@@ -51,5 +53,6 @@ rustPlatform.buildRustPackage rec {
     changelog = "https://github.com/Umio-Yasuno/amdgpu_top/releases";
     license = licenses.mit;
     maintainers = with maintainers; [ geri1701 ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/system/auto-cpufreq/default.nix b/pkgs/tools/system/auto-cpufreq/default.nix
index b72ee7a6911fe..faa280575e1ea 100644
--- a/pkgs/tools/system/auto-cpufreq/default.nix
+++ b/pkgs/tools/system/auto-cpufreq/default.nix
@@ -43,5 +43,6 @@ python3Packages.buildPythonPackage rec {
     license = licenses.lgpl3Plus;
     platforms = platforms.linux;
     maintainers = [ maintainers.Technical27 ];
+    mainProgram = "auto-cpufreq";
   };
 }
diff --git a/pkgs/tools/system/gtop/default.nix b/pkgs/tools/system/gtop/default.nix
new file mode 100644
index 0000000000000..766719dfb347e
--- /dev/null
+++ b/pkgs/tools/system/gtop/default.nix
@@ -0,0 +1,27 @@
+{ lib
+, buildNpmPackage
+, fetchFromGitHub
+}:
+
+buildNpmPackage rec {
+  pname = "gtop";
+  version = "1.1.3";
+
+  src = fetchFromGitHub {
+    owner = "aksakalli";
+    repo = "gtop";
+    rev = "v${version}";
+    hash = "sha256-7jcfJOdy3PKT6+07iaZnjWnlPLk9BhPn8LApk23E8l4=";
+  };
+
+  npmDepsHash = "sha256-CUfoVkG74C7HpcO3T9HmwbxHsYAgW1vYBAgNvx2av0k=";
+
+  dontNpmBuild = true;
+
+  meta = {
+    description = "System monitoring dashboard for the terminal";
+    homepage = "https://github.com/aksakalli/gtop";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ tfc ];
+  };
+}
diff --git a/pkgs/tools/system/htop/default.nix b/pkgs/tools/system/htop/default.nix
index 215818862cdb5..c00f257808397 100644
--- a/pkgs/tools/system/htop/default.nix
+++ b/pkgs/tools/system/htop/default.nix
@@ -55,5 +55,6 @@ stdenv.mkDerivation rec {
     platforms = platforms.all;
     maintainers = with maintainers; [ rob relrod SuperSandro2000 ];
     changelog = "https://github.com/htop-dev/htop/blob/${version}/ChangeLog";
+    mainProgram = "htop";
   };
 }
diff --git a/pkgs/tools/system/kanata/default.nix b/pkgs/tools/system/kanata/default.nix
index 5a3450df08660..6e86812ece449 100644
--- a/pkgs/tools/system/kanata/default.nix
+++ b/pkgs/tools/system/kanata/default.nix
@@ -6,16 +6,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "kanata";
-  version = "1.3.0";
+  version = "1.4.0";
 
   src = fetchFromGitHub {
     owner = "jtroo";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-gHkcOn37MNpcP6ra1Eur9O4/trPGmAOAGVU1NwiuQGY=";
+    sha256 = "sha256-Tenh2LARajYAFHJ5gddeozY7rfySSvqFhudc/7b9cGg=";
   };
 
-  cargoHash = "sha256-C2d7QdgWd9RTQtXLD4mO0txpzo/SbemJx9YYu62QbqA=";
+  cargoHash = "sha256-oJVGZhKJVK8q5lgK+G+KhVupOF05u37B7Nmv4rrI28I=";
 
   buildFeatures = lib.optional withCmd "cmd";
 
@@ -29,5 +29,6 @@ rustPlatform.buildRustPackage rec {
     license = licenses.lgpl3Only;
     maintainers = with maintainers; [ linj ];
     platforms = platforms.linux;
+    mainProgram = "kanata";
   };
 }
diff --git a/pkgs/tools/system/osquery/default.nix b/pkgs/tools/system/osquery/default.nix
index 6c6d0b45e2a13..a7c8f18214fa5 100644
--- a/pkgs/tools/system/osquery/default.nix
+++ b/pkgs/tools/system/osquery/default.nix
@@ -51,7 +51,9 @@ buildStdenv.mkDerivation rec {
     # which provides the ARC4RANDOM_BUF function
     substituteInPlace libraries/cmake/source/libarchive/CMakeLists.txt --replace "  target_compile_definitions(thirdparty_libarchive PRIVATE" "  target_compile_definitions(thirdparty_libarchive PRIVATE HAVE_ARC4RANDOM_BUF"
     # We need to override this hash because we use our own openssl 1.1 version
-    substituteInPlace libraries/cmake/formula/openssl/CMakeLists.txt --replace "d7939ce614029cdff0b6c20f0e2e5703158a489a72b2507b8bd51bf8c8fd10ca" "e2f8d84b523eecd06c7be7626830370300fbcc15386bf5142d72758f6963ebc6"
+    substituteInPlace libraries/cmake/formula/openssl/CMakeLists.txt --replace \
+      "d7939ce614029cdff0b6c20f0e2e5703158a489a72b2507b8bd51bf8c8fd10ca" \
+      "$(sha256sum ${openssl_1_1.src} | cut -f1 '-d ')"
     cat libraries/cmake/formula/openssl/CMakeLists.txt
   '';
 
diff --git a/pkgs/tools/system/stacer/default.nix b/pkgs/tools/system/stacer/default.nix
new file mode 100644
index 0000000000000..75068148bd74c
--- /dev/null
+++ b/pkgs/tools/system/stacer/default.nix
@@ -0,0 +1,49 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, qtcharts
+, qttools
+, wrapQtAppsHook
+}:
+
+stdenv.mkDerivation rec {
+  pname = "stacer";
+  version = "1.1.0";
+
+  src = fetchFromGitHub {
+    owner = "oguzhaninan";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0qndzzkbq6abapvwq202kva8j619jdn9977sbqmmfs9zkjz4mbsd";
+  };
+
+  postPatch = ''
+    substituteInPlace stacer/Managers/app_manager.cpp \
+      --replace 'qApp->applicationDirPath() + "/translations"' \
+                'QStandardPaths::locate(QStandardPaths::AppDataLocation, "translations", QStandardPaths::LocateDirectory)'
+  '';
+
+  buildInputs = [
+    qtcharts
+    qttools
+  ];
+
+  nativeBuildInputs = [ cmake wrapQtAppsHook ];
+
+  preConfigure = ''
+    lrelease stacer/stacer.pro
+  '';
+
+  postInstall = ''
+    install -Dm644 ../translations/*.qm -t $out/share/stacer/translations
+  '';
+
+  meta = with lib; {
+    description = "Linux System Optimizer and Monitoring";
+    homepage = "https://github.com/oguzhaninan/stacer";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ dit7ya ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/system/zx/default.nix b/pkgs/tools/system/zx/default.nix
new file mode 100644
index 0000000000000..857661c31f2fd
--- /dev/null
+++ b/pkgs/tools/system/zx/default.nix
@@ -0,0 +1,25 @@
+{ lib
+, buildNpmPackage
+, fetchFromGitHub
+}:
+
+buildNpmPackage rec {
+  pname = "zx";
+  version = "7.2.3";
+
+  src = fetchFromGitHub {
+    owner = "google";
+    repo = "zx";
+    rev = version;
+    hash = "sha256-YMfecNazmL8J+f80FdIRvr2upQ7VgXSkQQnm8z0Swhw=";
+  };
+
+  npmDepsHash = "sha256-ywNd2LGjM35ecW4dnj0oNwdSX2CRy8i9OGKPIdI0UEQ=";
+
+  meta = {
+    description = "Tool for writing scripts using JavaScript";
+    homepage = "https://github.com/google/zx";
+    license = lib.licenses.asl20;
+    maintainers = with lib.maintainers; [ hlolli ];
+  };
+}
diff --git a/pkgs/tools/text/base16384/default.nix b/pkgs/tools/text/base16384/default.nix
index f3c51567932fc..624ab070df7c2 100644
--- a/pkgs/tools/text/base16384/default.nix
+++ b/pkgs/tools/text/base16384/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "base16384";
-  version = "2.2.3";
+  version = "2.2.4";
 
   src = fetchFromGitHub {
     owner = "fumiama";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-E/dcicqu/i+GpLDqgkwZfEIoUxAuNGsoLLnG0blMNaw=";
+    hash = "sha256-nHr7S3UrNaR/5YGwfDUxVXqTkaT3EYzA8CaS0lWZxN0=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/tools/text/chroma/default.nix b/pkgs/tools/text/chroma/default.nix
index 86e5fe76923e1..6ef96b287b4d0 100644
--- a/pkgs/tools/text/chroma/default.nix
+++ b/pkgs/tools/text/chroma/default.nix
@@ -6,7 +6,7 @@ in
 
 buildGoModule rec {
   pname = "chroma";
-  version = "2.7.0";
+  version = "2.8.0";
 
   # To update:
   # nix-prefetch-git --rev v${version} https://github.com/alecthomas/chroma.git > src.json
@@ -17,7 +17,7 @@ buildGoModule rec {
     inherit (srcInfo) sha256;
   };
 
-  vendorSha256 = "0kw53983bjrmh9nk2xcv4d9104krxnc1jh1g44xjmaq8i6f3q0k1";
+  vendorSha256 = "1qawayihklidfzln3jr899wh4zp9w7yq3i18klaylqndrg47k286";
 
   modRoot = "./cmd/chroma";
 
diff --git a/pkgs/tools/text/chroma/src.json b/pkgs/tools/text/chroma/src.json
index 4b0a5aeb8eba3..8bba14faf1889 100644
--- a/pkgs/tools/text/chroma/src.json
+++ b/pkgs/tools/text/chroma/src.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/alecthomas/chroma.git",
-  "rev": "b9e37581208ea7d7f167c59e6f635721617c381b",
-  "date": "2023-03-21T13:55:45+11:00",
-  "path": "/nix/store/52c919gjqdwva73ajwz11iv5gg18vi8y-chroma",
-  "sha256": "0i4ck23gn0v7x6r8wa2k7qiwhxpxqqnaknb9iy9rz8pjcj14ai75",
+  "rev": "e8acfc274c22a76fd38030d2977a2246cd4322b3",
+  "date": "2023-06-30T08:43:39+10:00",
+  "path": "/nix/store/57y15g11dmdy2s6vxrjzl03s03j509gy-chroma",
+  "sha256": "0fdgpi5r0k42qzdn4lxh81ww1zcn9mwfildwrqf1s7crsqmr9dc5",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/tools/text/d2/default.nix b/pkgs/tools/text/d2/default.nix
index 839e36bba8f45..a60c9114e033f 100644
--- a/pkgs/tools/text/d2/default.nix
+++ b/pkgs/tools/text/d2/default.nix
@@ -9,13 +9,13 @@
 
 buildGoModule rec {
   pname = "d2";
-  version = "0.5.1";
+  version = "0.6.0";
 
   src = fetchFromGitHub {
     owner = "terrastruct";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-Oq6bJ/cX+kDyVUVP/RpCIcNeWpT3HESUMmR6mEi9X4Q=";
+    hash = "sha256-MF8RqwoMc48JYgNUJTQKHlGl59xyHOALnFL2BWQAl24=";
   };
 
   vendorHash = "sha256-SocBC/1LrdSQNfcNVa9nnPaq/UvLVIghHlUSJB7ImBk=";
diff --git a/pkgs/tools/text/languagetool-rust/default.nix b/pkgs/tools/text/languagetool-rust/default.nix
index 23e3d3805ae58..013a246868248 100644
--- a/pkgs/tools/text/languagetool-rust/default.nix
+++ b/pkgs/tools/text/languagetool-rust/default.nix
@@ -10,16 +10,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "languagetool-rust";
-  version = "2.1.2";
+  version = "2.1.3";
 
   src = fetchFromGitHub {
     owner = "jeertmans";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-2RIfavAPxi8986f1hz7cnuIuKsPQ13PYy66FTnozIp0=";
+    hash = "sha256-iiJSdr7TF1f8/Ve+OKbTDHYWdFkd2IEOzp7Lhlpwb50=";
   };
 
-  cargoHash = "sha256-PE/q8laWos8K9b+sWg47iw/w0g4c3utkVd+KXXPJKhY=";
+  cargoHash = "sha256-oCRlWYCTmJWTi6LCDEKimsLmqm3JTaQEsKJXrvQP/p8=";
 
   buildFeatures = [ "full" ];
 
@@ -37,6 +37,35 @@ rustPlatform.buildRustPackage rec {
     "--skip=test_match_positions_3"
     "--skip=test_match_positions_4"
     "--skip=src/lib/lib.rs"
+    "--skip=test_basic_check_data"
+    "--skip=test_basic_check_file"
+    "--skip=test_basic_check_files"
+    "--skip=test_basic_check_piped"
+    "--skip=test_basic_check_text"
+    "--skip=test_check_with_dict"
+    "--skip=test_check_with_dicts"
+    "--skip=test_check_with_disabled_categories"
+    "--skip=test_check_with_disabled_category"
+    "--skip=test_check_with_disabled_rule"
+    "--skip=test_check_with_disabled_rules"
+    "--skip=test_check_with_enabled_categories"
+    "--skip=test_check_with_enabled_category"
+    "--skip=test_check_with_enabled_only_category"
+    "--skip=test_check_with_enabled_only_rule"
+    "--skip=test_check_with_enabled_only_without_enabled"
+    "--skip=test_check_with_enabled_rule"
+    "--skip=test_check_with_enabled_rules"
+    "--skip=test_check_with_language"
+    "--skip=test_check_with_picky_level"
+    "--skip=test_check_with_preferred_variant"
+    "--skip=test_check_with_preferred_variants"
+    "--skip=test_check_with_unexisting_language"
+    "--skip=test_check_with_username_and_key"
+    "--skip=test_languages"
+    "--skip=test_ping"
+    "--skip=test_words"
+    "--skip=test_words_add"
+    "--skip=test_words_delete"
   ];
 
   postInstall = ''
diff --git a/pkgs/tools/text/mdbook-toc/default.nix b/pkgs/tools/text/mdbook-toc/default.nix
index 9d92c7e941410..3fc144ff84e65 100644
--- a/pkgs/tools/text/mdbook-toc/default.nix
+++ b/pkgs/tools/text/mdbook-toc/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "mdbook-toc";
-  version = "0.12.0";
+  version = "0.13.0";
 
   src = fetchFromGitHub {
     owner = "badboy";
     repo = pname;
     rev = version;
-    sha256 = "sha256-3lAi9ZNtwhA2OtIR4tN2wiztp3pnRxtaGG0MwGEk0u0=";
+    sha256 = "sha256-Z3ZspXD7M3VVi70+dRz7NhO6msw5htmPRX6VzhA9NPY=";
   };
 
-  cargoHash = "sha256-l3ETQ/ARBZmU1wMCK6F/4g6tlxHsEV9D5LO1wue1Jps=";
+  cargoHash = "sha256-5EC9xfjSg0sIkZ2fIkX3SrwL0wzBfpIObFQpkMRj6oM=";
 
   buildInputs = lib.optionals stdenv.isDarwin [ CoreServices ];
 
diff --git a/pkgs/tools/text/tesh/default.nix b/pkgs/tools/text/tesh/default.nix
new file mode 100644
index 0000000000000..7961b120d2135
--- /dev/null
+++ b/pkgs/tools/text/tesh/default.nix
@@ -0,0 +1,26 @@
+{ python3Packages, fetchFromGitHub }:
+
+let
+  version = "0.3.0";
+in python3Packages.buildPythonPackage rec {
+  pname = "tesh";
+  inherit version;
+
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "OceanSprint";
+    repo = "tesh";
+    rev = version;
+    sha256 = "sha256-/CSYz2YXbjKZszb1HMOCS+srVJ+TcFSeLeuz9VvtlI4=";
+  };
+
+  prePatch = ''
+      substituteInPlace pyproject.toml \
+      --replace "poetry.masonry" "poetry.core.masonry"
+  '';
+
+  checkInputs = [ python3Packages.pytest ];
+  nativeBuildInputs = [ python3Packages.poetry-core ];
+  propagatedBuildInputs = with python3Packages; [ click pexpect ];
+}
diff --git a/pkgs/tools/text/to-html/default.nix b/pkgs/tools/text/to-html/default.nix
new file mode 100644
index 0000000000000..0b49fd8be2b1f
--- /dev/null
+++ b/pkgs/tools/text/to-html/default.nix
@@ -0,0 +1,30 @@
+{ lib
+, fetchFromGitHub
+, rustPlatform
+}:
+
+rustPlatform.buildRustPackage rec {
+  version = "0.1.4";
+  pname = "to-html";
+
+  src = fetchFromGitHub {
+    owner = "Aloso";
+    repo = "to-html";
+    rev = "v${version}";
+    hash = "sha256-zkTBjsMFhRz7lVRh8i+XkaJ/qWmTAMPnkH5aDhbHf8U=";
+  };
+
+  cargoHash = "sha256-hXc+lB3DKnRZkp1U5wW/vPKSZ0c1UknQCAxDfE7Eubg=";
+
+  # Requires external resources
+  doCheck = false;
+
+  meta = {
+    description = "Terminal wrapper for rendering a terminal on a website by converting ANSI escape sequences to HTML.";
+    homepage = "https://github.com/Aloso/to-html";
+    changelog = "https://github.com/Aloso/to-html/blob/${src.rev}/CHANGELOG.md";
+    license = lib.licenses.mit;
+    platforms = lib.platforms.all;
+    maintainers = with lib.maintainers; [ icewind1991 ];
+  };
+}
diff --git a/pkgs/tools/typesetting/bibtex-tidy/default.nix b/pkgs/tools/typesetting/bibtex-tidy/default.nix
new file mode 100644
index 0000000000000..7aeaf13fb02a8
--- /dev/null
+++ b/pkgs/tools/typesetting/bibtex-tidy/default.nix
@@ -0,0 +1,35 @@
+{ lib
+, buildNpmPackage
+, fetchFromGitHub
+}:
+
+buildNpmPackage rec {
+  pname = "bibtex-tidy";
+  version = "1.11.0";
+
+  src = fetchFromGitHub {
+    owner = "FlamingTempura";
+    repo = "bibtex-tidy";
+    rev = "v${version}";
+    hash = "sha256-VjQuMQr3OJgjgX6FdH/C4mehf8H7XjDZ9Rxs92hyQVo=";
+  };
+
+  patches = [
+    # downloads Google fonts during `npm run build`
+    ./remove-google-font-loader.patch
+  ];
+
+  npmDepsHash = "sha256-u2lyG95F00S/bvsVwu0hIuUw2UZYQWFakCF31LIijSU=";
+
+  env = {
+    PUPPETEER_SKIP_DOWNLOAD = true;
+  };
+
+  meta = {
+    changelog = "https://github.com/FlamingTempura/bibtex-tidy/blob/${src.rev}/CHANGELOG.md";
+    description = "Cleaner and Formatter for BibTeX files";
+    homepage = "https://github.com/FlamingTempura/bibtex-tidy";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ bertof ];
+  };
+}
diff --git a/pkgs/tools/typesetting/bibtex-tidy/remove-google-font-loader.patch b/pkgs/tools/typesetting/bibtex-tidy/remove-google-font-loader.patch
new file mode 100644
index 0000000000000..79c6850cf6cb0
--- /dev/null
+++ b/pkgs/tools/typesetting/bibtex-tidy/remove-google-font-loader.patch
@@ -0,0 +1,52 @@
+diff --git a/build.ts b/build.ts
+index ae4e350..3498ae7 100644
+--- a/build.ts
++++ b/build.ts
+@@ -312,7 +312,6 @@ async function buildWebBundle() {
+ 		target: ['esnext'],
+ 		plugins: [
+ 			sveltePlugin({ preprocess: autoPreprocess() }),
+-			googleFontPlugin,
+ 			regexpuPlugin,
+ 		],
+ 	});
+@@ -344,7 +343,6 @@ async function serveWeb() {
+ 				preprocess: autoPreprocess(),
+ 				compilerOptions: { enableSourcemap: true },
+ 			}),
+-			googleFontPlugin,
+ 		],
+ 	});
+ 	const server = await ctx.serve({ servedir: WEB_PATH });
+@@ -375,31 +373,6 @@ const regexpuPlugin: Plugin = {
+ 	},
+ };
+ 
+-// Downloads google fonts and injects them as base64 urls into bundle css
+-const googleFontPlugin: Plugin = {
+-	name: 'google-font-loader',
+-	setup(build) {
+-		build.onResolve({ filter: /^https?:\/\/fonts\./ }, (args) => ({
+-			path: args.path,
+-			namespace: 'http-url',
+-		}));
+-		build.onLoad(
+-			{ filter: /.*/, namespace: 'http-url' },
+-			async (args): Promise<OnLoadResult> => {
+-				const res = await fetch(args.path, {
+-					headers: {
+-						// ensures google responds with woff2 fonts
+-						'User-Agent': 'Mozilla/5.0 Firefox/90.0',
+-					},
+-				});
+-				const contents = Buffer.from(await res.arrayBuffer());
+-				const loader = args.path.endsWith('.woff2') ? 'dataurl' : 'css';
+-				return { contents, loader };
+-			}
+-		);
+-	},
+-};
+-
+ /**
+  * swc converts js syntax to support older browsers. ESBuild can kinda do this
+  * but only for more recent browsers. swc is also far easier to configure than
diff --git a/pkgs/tools/typesetting/tex/texlive/bin.nix b/pkgs/tools/typesetting/tex/texlive/bin.nix
index c62b1165bba58..b48886e100962 100644
--- a/pkgs/tools/typesetting/tex/texlive/bin.nix
+++ b/pkgs/tools/typesetting/tex/texlive/bin.nix
@@ -102,6 +102,12 @@ core = stdenv.mkDerivation rec {
     perl
   ];
 
+  patches = [
+    # Fix implicit `int` on `main`, which results in an error when building with clang 16.
+    # This is fixed upstream and can be dropped with the 2023 release.
+    ./fix-implicit-int.patch
+  ];
+
   hardeningDisable = [ "format" ];
 
   preConfigure = ''
@@ -224,6 +230,9 @@ core-big = stdenv.mkDerivation { #TODO: upmendex
       stripLen = 1;
       extraPrefix = "libs/luajit/LuaJIT-src/";
     })
+    # Fix implicit `int` on `main`, which results in an error when building with clang 16.
+    # This is fixed upstream and can be dropped with the 2023 release.
+    ./fix-implicit-int.patch
   ];
 
   hardeningDisable = [ "format" ];
diff --git a/pkgs/tools/typesetting/tex/texlive/fix-implicit-int.patch b/pkgs/tools/typesetting/tex/texlive/fix-implicit-int.patch
new file mode 100644
index 0000000000000..f74409fe10664
--- /dev/null
+++ b/pkgs/tools/typesetting/tex/texlive/fix-implicit-int.patch
@@ -0,0 +1,22 @@
+diff -ur a/utils/m-tx/mtx-src/prepmx.c b/utils/m-tx/mtx-src/prepmx.c
+--- a/utils/m-tx/mtx-src/prepmx.c	2018-04-28 17:56:18.000000000 -0600
++++ b/utils/m-tx/mtx-src/prepmx.c	2023-07-11 15:21:26.351024424 -0600
+@@ -769,6 +769,7 @@
+ }
+ 
+ 
++int
+ main(int argc, Char *argv[])
+ {  /* ---- Main program ------------------------ */
+   PASCAL_MAIN(argc, argv);
+diff -ur a/utils/pmx/pmx-src/libf2c/main.c b/utils/pmx/pmx-src/libf2c/main.c
+--- a/utils/pmx/pmx-src/libf2c/main.c	2016-02-09 22:31:26.000000000 -0700
++++ b/utils/pmx/pmx-src/libf2c/main.c	2023-07-11 15:49:35.043438384 -0600
+@@ -106,6 +106,7 @@
+ #ifdef KR_headers
+ main(argc, argv) int argc; char **argv;
+ #else
++int
+ main(int argc, char **argv)
+ #endif
+ {
diff --git a/pkgs/tools/virtualization/cloud-init/default.nix b/pkgs/tools/virtualization/cloud-init/default.nix
index 5df0e539058ed..5b85bae033afb 100644
--- a/pkgs/tools/virtualization/cloud-init/default.nix
+++ b/pkgs/tools/virtualization/cloud-init/default.nix
@@ -16,14 +16,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "cloud-init";
-  version = "23.2.1";
+  version = "23.2.2";
   namePrefix = "";
 
   src = fetchFromGitHub {
     owner = "canonical";
     repo = "cloud-init";
     rev = "refs/tags/${version}";
-    hash = "sha256-2e05ExF6JOeFR0BUd/iCIYV0XoKTgoI7xz20GQ/bmO4=";
+    hash = "sha256-lOeLVgT/qTB6JhRcLv9QIfNLMnMyNlUp3dMCqva9Tes=";
   };
 
   patches = [
diff --git a/pkgs/tools/virtualization/google-guest-agent/default.nix b/pkgs/tools/virtualization/google-guest-agent/default.nix
index f34a56f5d1431..bf53f43a5731b 100644
--- a/pkgs/tools/virtualization/google-guest-agent/default.nix
+++ b/pkgs/tools/virtualization/google-guest-agent/default.nix
@@ -1,16 +1,16 @@
 { buildGoModule, fetchFromGitHub, lib, coreutils, makeWrapper
-, google-guest-configs, google-guest-oslogin, iproute2, dhcp, procps
+, google-guest-configs, google-guest-oslogin, iproute2, procps
 }:
 
 buildGoModule rec {
   pname = "guest-agent";
-  version = "20230711.00";
+  version = "20230726.00";
 
   src = fetchFromGitHub {
     owner = "GoogleCloudPlatform";
     repo = pname;
     rev = version;
-    sha256 = "sha256-m5SPRT0179jLgzPWncZJGkcmN6RCtXjOHG9/+AdwJSk=";
+    sha256 = "sha256-p+gjiaUaBBGhCVkbXrubfV/xZWvanC8ktlfIfjyUQSA=";
   };
 
   vendorHash = "sha256-Xw/5yHW9DRtZFC6cECLI0RncgzSGB5/Y0yjW7hz247s=";
@@ -27,7 +27,7 @@ buildGoModule rec {
   '';
 
   # We don't add `shadow` here; it's added to PATH if `mutableUsers` is enabled.
-  binPath = lib.makeBinPath [ google-guest-configs google-guest-oslogin iproute2 dhcp procps ];
+  binPath = lib.makeBinPath [ google-guest-configs google-guest-oslogin iproute2 procps ];
 
   # Skip tests which require networking.
   preCheck = ''
diff --git a/pkgs/tools/virtualization/kubevirt/default.nix b/pkgs/tools/virtualization/kubevirt/default.nix
index 0b33c176a9454..50a240cce77c5 100644
--- a/pkgs/tools/virtualization/kubevirt/default.nix
+++ b/pkgs/tools/virtualization/kubevirt/default.nix
@@ -8,13 +8,13 @@
 
 buildGoModule rec {
   pname = "kubevirt";
-  version = "0.59.2";
+  version = "1.0.0";
 
   src = fetchFromGitHub {
     owner = "kubevirt";
     repo = "kubevirt";
     rev = "v${version}";
-    sha256 = "sha256-J0HFWBhrzkDpQLJlp3kPlZeqHRhtZj0xMbNi3+y2FmY=";
+    sha256 = "sha256-1Idfz2cMiIivroEkdRAA1x4v0BVACLoNCKSBS5o+wr4=";
   };
 
   vendorHash = null;
diff --git a/pkgs/tools/wayland/clapboard/default.nix b/pkgs/tools/wayland/clapboard/default.nix
new file mode 100644
index 0000000000000..151675bf3caf0
--- /dev/null
+++ b/pkgs/tools/wayland/clapboard/default.nix
@@ -0,0 +1,26 @@
+{ lib
+, rustPlatform
+, fetchFromGitHub
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "clapboard";
+  version = "0.1.1";
+
+  src = fetchFromGitHub {
+    owner = "bjesus";
+    repo = "clapboard";
+    rev = "v${version}";
+    hash = "sha256-/4HBhsW2C3xYzKVw9TuSj8b7LdirWbNg4OxLm/ebf40=";
+  };
+
+  cargoHash = "sha256-bq+r2J2lhhZKTEV69OnsXiAGKspOZ0kF0q2hDnbIXn8=";
+
+  meta = with lib; {
+    description = "Wayland clipboard manager that will make you clap";
+    homepage = "https://github.com/bjesus/clapboard";
+    license = licenses.mit;
+    maintainers = with maintainers; [ dit7ya ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix
index ba7a314804433..b68a0f55dad17 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -399,6 +399,7 @@ mapAliases ({
   devserver = throw "'devserver' has been removed in favor of 'miniserve' or other alternatives"; # Added 2023-01-13
   dfu-util-axoloti = throw "dfu-util-axoloti has been removed: abandoned by upstream"; # Added 2022-05-13
   dhall-text = throw "'dhall-text' has been deprecated in favor of the 'dhall text' command from 'dhall'"; # Added 2022-03-26
+  dhcp = throw "dhcp (ISC DHCP) has been removed from nixpkgs, because it reached its end of life"; # Added 2023-04-04
   digikam5 = throw "'digikam5' has been renamed to/replaced by 'digikam'"; # Converted to throw 2022-02-22
   dirmngr = throw "dirmngr has been removed: merged into gnupg"; # Added 2022-05-13
   disper = throw "disper has been removed: abandoned by upstream"; # Added 2022-03-18
@@ -1212,6 +1213,7 @@ mapAliases ({
   odpdown = throw "odpdown has been removed because it lacks python3 support"; # Added 2022-04-25
   ofp = throw "ofp is not compatible with odp-dpdk";
   ogre1_9 = throw "ogre1_9 has been removed, use ogre instead"; # Added 2023-03-22
+  ogre1_10 = throw "ogre1_10 has been removed, use ogre instead"; # Added 2023-07-20
   olifant = throw "olifant has been removed from nixpkgs, as it was unmaintained"; # Added 2021-08-05
   opa = throw "opa has been removed from nixpkgs as upstream has abandoned the project"; # Added 2023-03-21
   opam_1_2 = throw "'opam_1_2' has been renamed to/replaced by 'opam'"; # Added 2023-03-08
@@ -1415,6 +1417,8 @@ mapAliases ({
   protobuf3_11 = throw "protobuf3_11 does not receive updates anymore and has been removed"; # Added 2022-09-28
   protobuf3_17 = throw "protobuf3_17 does not receive updates anymore and has been removed"; # Added 2023-05-21
   protonup = protonup-ng; # Added 2022-11-06
+  proxmark3-rrg = proxmark3; # Added 2023-07-25
+  proxmark3-unstable = throw "removed in favor of rfidresearchgroup fork"; # Added 2023-07-25
   proxytunnel = throw "proxytunnel has been removed from nixpkgs, because it has not been update upstream since it was added to nixpkgs in 2008 and has therefore bitrotted."; # added 2021-12-15
   pulseaudio-hsphfpd = throw "pulseaudio-hsphfpd upstream has been abandoned"; # Added 2022-03-23
   pulseaudio-modules-bt = throw "pulseaudio-modules-bt has been abandoned, and is superseded by pulseaudio's native bt functionality"; # Added 2022-04-01
@@ -1696,7 +1700,7 @@ mapAliases ({
   tex-gyre-pagella-math = throw "'tex-gyre-pagella-math' has been renamed to/replaced by 'tex-gyre-math.pagella'"; # Converted to throw 2022-02-22
   tex-gyre-schola-math = throw "'tex-gyre-schola-math' has been renamed to/replaced by 'tex-gyre-math.schola'"; # Converted to throw 2022-02-22
   tex-gyre-termes-math = throw "'tex-gyre-termes-math' has been renamed to/replaced by 'tex-gyre-math.termes'"; # Converted to throw 2022-02-22
-  textadept11 = textadept; # Added 2022-06-07
+  textadept11 = throw "textadept11 has been removed. Please use textadept instead"; # Added 2022-12-23 TODO: UPDATE THE DATE
   tftp_hpa = throw "'tftp_hpa' has been renamed to/replaced by 'tftp-hpa'"; # Converted to throw 2022-02-22
   thunderbird-68 = throw "Thunderbird 68 reached end of life with its final release 68.12.0 on 2020-08-25";
   thunderbird-bin-68 = thunderbird-68;
@@ -1828,6 +1832,7 @@ mapAliases ({
   winpdb = throw "winpdb has been removed: abandoned by upstream"; # Added 2022-04-22
   winusb = throw "'winusb' has been renamed to/replaced by 'woeusb'"; # Converted to throw 2022-02-22
   wireguard = throw "'wireguard' has been renamed to/replaced by 'wireguard-tools'"; # Converted to throw 2022-02-22
+  wlroots_0_14 = throw "'wlroots_0_14' has been removed in favor of newer versions"; # Added 2023-07-29
   wormhole-rs = magic-wormhole-rs; # Added 2022-05-30. preserve, reason: Arch package name, main binary name
   wmii_hg = wmii;
   wmc-mpris = throw "wmc-mpris has been abandoned by upstream due to its redundancy"; # Added 2022-11-13
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 7ffe2f23417a7..4e1993a961c78 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -262,6 +262,8 @@ with pkgs;
 
   alterx = callPackage ../tools/security/alterx { };
 
+  alt-server = callPackage ../tools/misc/alt-server { };
+
   asciicam = callPackage ../applications/video/asciicam { };
 
   asitop = pkgs.python3Packages.callPackage ../os-specific/darwin/asitop { };
@@ -340,7 +342,7 @@ with pkgs;
 
   beyond-identity = callPackage ../tools/security/beyond-identity { };
 
-  bibtex-tidy = nodePackages.bibtex-tidy;
+  bibtex-tidy = callPackage ../tools/typesetting/bibtex-tidy { };
 
   binbloom = callPackage ../tools/security/binbloom { };
 
@@ -423,6 +425,8 @@ with pkgs;
 
   catppuccin-plymouth = callPackage ../data/themes/catppuccin-plymouth { };
 
+  catppuccin-sddm-corners = callPackage ../data/themes/catppuccin-sddm-corners { };
+
   btdu = callPackage ../tools/misc/btdu { };
 
   ccal = callPackage ../tools/misc/ccal { };
@@ -785,6 +789,8 @@ with pkgs;
 
   oletools = with python3.pkgs; toPythonApplication oletools;
 
+  ollama = callPackage ../tools/misc/ollama {  };
+
   ots = callPackage ../tools/security/ots {  };
 
   credential-detector = callPackage ../tools/security/credential-detector { };
@@ -835,6 +841,8 @@ with pkgs;
 
   docker-slim = callPackage ../applications/virtualization/docker-slim { };
 
+  doc2go = callPackage ../development/tools/doc2go { };
+
   docker-sync = callPackage ../tools/misc/docker-sync { };
 
   undocker = callPackage ../tools/misc/undocker { };
@@ -1163,6 +1171,8 @@ with pkgs;
 
   fetchFromGitiles = callPackage ../build-support/fetchgitiles { };
 
+  fetchFrom9Front = callPackage ../build-support/fetch9front { };
+
   fetchFromRepoOrCz = callPackage ../build-support/fetchrepoorcz { };
 
   fetchgx = callPackage ../build-support/fetchgx { };
@@ -1674,6 +1684,14 @@ with pkgs;
 
   etlegacy = callPackage ../games/etlegacy { lua = lua5_4; };
 
+  fastfetch = darwin.apple_sdk_11_0.callPackage ../tools/misc/fastfetch {
+    inherit (darwin.apple_sdk_11_0.frameworks)
+    AppKit Cocoa CoreDisplay CoreVideo CoreWLAN DisplayServices
+    Foundation IOBluetooth MediaRemote OpenCL;
+
+    inherit (darwin) moltenvk;
+  };
+
   fscan = callPackage ../tools/security/fscan { };
 
   copier = callPackage ../tools/misc/copier { };
@@ -1774,6 +1792,8 @@ with pkgs;
 
   kaufkauflist = callPackage ../applications/misc/kaufkauflist { };
 
+  kdocker = libsForQt5.callPackage ../tools/X11/kdocker { };
+
   kicli = callPackage ../tools/misc/kicli { };
 
   ksmbd-tools = callPackage ../os-specific/linux/ksmbd-tools { };
@@ -2502,9 +2522,7 @@ with pkgs;
 
   fusesoc = python3Packages.callPackage ../tools/package-management/fusesoc { };
 
-  fw = callPackage ../tools/misc/fw {
-    inherit (darwin.apple_sdk.frameworks) Security;
-  };
+  fw = callPackage ../tools/misc/fw { };
 
   g810-led = callPackage ../misc/g810-led { };
 
@@ -2629,6 +2647,8 @@ with pkgs;
 
   stella = callPackage ../applications/emulators/stella { };
 
+  tamatool = callPackage ../applications/emulators/tamatool { };
+
   termtekst = callPackage ../applications/emulators/termtekst { };
 
   tilem = callPackage ../applications/emulators/tilem { };
@@ -3938,8 +3958,8 @@ with pkgs;
 
   reattach-to-user-namespace = callPackage ../os-specific/darwin/reattach-to-user-namespace { };
 
-  skhd = callPackage ../os-specific/darwin/skhd {
-    inherit (darwin.apple_sdk.frameworks) Carbon;
+  skhd = darwin.apple_sdk_11_0.callPackage ../os-specific/darwin/skhd {
+    inherit (darwin.apple_sdk_11_0.frameworks) Carbon Cocoa;
   };
 
   qes = callPackage ../os-specific/darwin/qes {
@@ -4584,6 +4604,8 @@ with pkgs;
 
   chopchop = callPackage ../tools/security/chopchop { };
 
+  clapboard = callPackage ../tools/wayland/clapboard { };
+
   cliphist = callPackage ../tools/wayland/cliphist { };
 
   clipman = callPackage ../tools/wayland/clipman { };
@@ -5735,6 +5757,7 @@ with pkgs;
   maple-mono-SC-NF = (callPackage ../data/fonts/maple-font { }).SC-NF;
   maple-mono-otf = (callPackage ../data/fonts/maple-font { }).opentype;
   maple-mono-woff2 = (callPackage ../data/fonts/maple-font { }).woff2;
+  maple-mono-autohint = (callPackage ../data/fonts/maple-font { }).autohint;
 
   marl = callPackage ../development/libraries/marl { };
 
@@ -5943,7 +5966,7 @@ with pkgs;
   online-judge-tools = with python3.pkgs; toPythonApplication online-judge-tools;
 
   onnxruntime = callPackage ../development/libraries/onnxruntime {
-    protobuf = protobuf3_19;
+    inherit (darwin.apple_sdk.frameworks) Foundation;
   };
 
   xkbd = callPackage ../applications/misc/xkbd { };
@@ -7211,8 +7234,6 @@ with pkgs;
 
   dnsx = callPackage ../tools/security/dnsx { };
 
-  dhcp = callPackage ../tools/networking/dhcp { };
-
   dhcpdump = callPackage ../tools/networking/dhcpdump { };
 
   dhcpcd = callPackage ../tools/networking/dhcpcd { };
@@ -7975,6 +7996,8 @@ with pkgs;
 
   faraday-cli = callPackage ../tools/security/faraday-cli { };
 
+  farge = callPackage ../tools/misc/farge { };
+
   fastlane = callPackage ../tools/admin/fastlane { };
 
   fatresize = callPackage ../tools/filesystems/fatresize { };
@@ -9215,6 +9238,8 @@ with pkgs;
 
   iroh = callPackage ../applications/networking/iroh { };
 
+  irrd = callPackage ../servers/misc/irrd { };
+
   ised = callPackage ../tools/misc/ised { };
 
   isl = isl_0_20;
@@ -9313,6 +9338,8 @@ with pkgs;
 
   juicefs = callPackage ../tools/filesystems/juicefs { };
 
+  juicity = callPackage ../tools/networking/juicity { };
+
   jmtpfs = callPackage ../tools/filesystems/jmtpfs { };
 
   jnettop = callPackage ../tools/networking/jnettop { };
@@ -11039,6 +11066,10 @@ with pkgs;
 
   notify-osd = callPackage ../applications/misc/notify-osd { };
 
+  notes = qt6Packages.callPackage ../applications/office/notes {
+    inherit (darwin.apple_sdk.frameworks) Cocoa;
+  };
+
   notes-up = callPackage ../applications/office/notes-up { };
 
   notify-osd-customizable = callPackage ../applications/misc/notify-osd-customizable { };
@@ -11137,6 +11168,8 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) Security;
   };
 
+  onthespot = libsForQt5.callPackage ../applications/misc/onthespot { };
+
   opencorsairlink = callPackage ../tools/misc/opencorsairlink { };
 
   openfpgaloader = callPackage ../development/embedded/fpga/openfpgaloader { };
@@ -11683,7 +11716,8 @@ with pkgs;
 
   pim6sd = callPackage ../servers/pim6sd { };
 
-  piper-train = with python3Packages; toPythonApplication piper-train;
+  piper-phonemize = callPackage ../development/libraries/piper-phonemize { };
+  piper-train = callPackage ../tools/audio/piper/train.nix { };
   piper-tts = callPackage ../tools/audio/piper { };
 
   phosh = callPackage ../applications/window-managers/phosh { };
@@ -11793,6 +11827,8 @@ with pkgs;
 
   plotinus = callPackage ../tools/misc/plotinus { };
 
+  plots = callPackage ../applications/misc/plots { };
+
   plotutils = callPackage ../tools/graphics/plotutils { };
 
   plowshare = callPackage ../tools/misc/plowshare { };
@@ -11928,10 +11964,7 @@ with pkgs;
 
   prototypejs = callPackage ../development/libraries/prototypejs { };
 
-  inherit (callPackages ../tools/security/proxmark3 { gcc-arm-embedded = gcc-arm-embedded-8; })
-    proxmark3 proxmark3-unstable;
-
-  proxmark3-rrg = libsForQt5.callPackage ../tools/security/proxmark3/proxmark3-rrg.nix {
+  proxmark3 = libsForQt5.callPackage ../tools/security/proxmark3/default.nix {
     inherit (darwin.apple_sdk.frameworks) Foundation AppKit;
   };
 
@@ -12509,6 +12542,8 @@ with pkgs;
 
   rubocop = rubyPackages.rubocop;
 
+  ruby-lsp = rubyPackages.ruby-lsp;
+
   runningx = callPackage ../tools/X11/runningx { };
 
   rund = callPackage ../development/tools/rund { };
@@ -12866,7 +12901,7 @@ with pkgs;
   sixpair = callPackage ../tools/misc/sixpair { };
 
   sketchybar = darwin.apple_sdk_11_0.callPackage ../os-specific/darwin/sketchybar {
-    inherit (darwin.apple_sdk_11_0.frameworks) Carbon Cocoa CoreWLAN DisplayServices SkyLight;
+    inherit (darwin.apple_sdk_11_0.frameworks) Carbon Cocoa CoreWLAN DisplayServices MediaRemote SkyLight;
   };
 
   skippy-xd = callPackage ../tools/X11/skippy-xd { };
@@ -13201,6 +13236,8 @@ with pkgs;
 
   stabber = callPackage ../misc/stabber { };
 
+  stacer = libsForQt5.callPackage ../tools/system/stacer { };
+
   starcharts = callPackage ../servers/misc/starcharts { };
 
   staticjinja = with python3.pkgs; toPythonApplication staticjinja;
@@ -13446,9 +13483,9 @@ with pkgs;
 
   texmaker = libsForQt5.callPackage ../applications/editors/texmaker { };
 
-  texstudio = libsForQt5.callPackage ../applications/editors/texstudio { };
+  texstudio = qt6Packages.callPackage ../applications/editors/texstudio { };
 
-  textadept = callPackage ../applications/editors/textadept { };
+  textadept = libsForQt5.callPackage ../applications/editors/textadept { };
 
   texworks = qt6Packages.callPackage ../applications/editors/texworks { };
 
@@ -13580,6 +13617,8 @@ with pkgs;
 
   tncattach = callPackage ../applications/radio/tncattach { };
 
+  to-html = callPackage ../tools/text/to-html { };
+
   toilet = callPackage ../tools/misc/toilet { };
 
   tokei = callPackage ../development/tools/misc/tokei {
@@ -17055,6 +17094,8 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) Security;
   };
   rusty-man = callPackage ../development/tools/rust/rusty-man { };
+  rustycli = callPackage ../development/tools/rust/rustycli { };
+  specr-transpile = callPackage ../development/tools/rust/specr-transpile { };
   typeshare = callPackage ../development/tools/rust/typeshare { };
 
   sagittarius-scheme = callPackage ../development/compilers/sagittarius-scheme { };
@@ -17835,6 +17876,11 @@ with pkgs;
 
   rbenv = callPackage ../development/ruby-modules/rbenv { };
 
+  rubyfmt = callPackage ../development/tools/rubyfmt {
+    inherit (darwin.apple_sdk.frameworks) Foundation Security;
+    inherit (darwin) libobjc;
+  };
+
   inherit (callPackage ../development/interpreters/ruby {
     inherit (darwin) libobjc libunwind;
     inherit (darwin.apple_sdk.frameworks) Foundation;
@@ -17844,7 +17890,8 @@ with pkgs;
     ruby_2_7
     ruby_3_0
     ruby_3_1
-    ruby_3_2;
+    ruby_3_2
+    ruby_3_3;
 
   ruby = ruby_3_1;
   rubyPackages = rubyPackages_3_1;
@@ -17853,6 +17900,7 @@ with pkgs;
   rubyPackages_3_0 = recurseIntoAttrs ruby_3_0.gems;
   rubyPackages_3_1 = recurseIntoAttrs ruby_3_1.gems;
   rubyPackages_3_2 = recurseIntoAttrs ruby_3_2.gems;
+  rubyPackages_3_3 = recurseIntoAttrs ruby_3_3.gems;
 
   mruby = callPackage ../development/compilers/mruby { };
 
@@ -18129,6 +18177,8 @@ with pkgs;
 
   doq = callPackage ../development/tools/misc/doq { };
 
+  espup = callPackage ../development/tools/espup { };
+
   phpunit = callPackage ../development/tools/misc/phpunit { };
 
   teller = callPackage ../development/tools/teller { };
@@ -19159,7 +19209,8 @@ with pkgs;
   iconnamingutils = callPackage ../development/tools/misc/icon-naming-utils { };
 
   ikos = callPackage ../development/tools/analysis/ikos {
-    inherit (llvmPackages_9) stdenv clang llvm;
+    inherit (llvmPackages_14) stdenv clang llvm;
+    tbb = tbb_2021_8;
   };
 
   img = callPackage ../development/tools/img { };
@@ -19958,6 +20009,8 @@ with pkgs;
 
   terrascan = callPackage ../tools/security/terrascan { };
 
+  tesh = callPackage ../tools/text/tesh {};
+
   texinfo413 = callPackage ../development/tools/misc/texinfo/4.13a.nix { };
   texinfo4 = texinfo413;
   texinfo5 = callPackage ../development/tools/misc/texinfo/5.2.nix { };
@@ -20482,9 +20535,7 @@ with pkgs;
   celt_0_7 = callPackage ../development/libraries/celt/0.7.nix { };
   celt_0_5_1 = callPackage ../development/libraries/celt/0.5.1.nix { };
 
-  cegui = callPackage ../development/libraries/cegui {
-    ogre = ogre1_10;
-  };
+  cegui = callPackage ../development/libraries/cegui { };
 
   certbot = python3.pkgs.toPythonApplication python3.pkgs.certbot;
 
@@ -23883,10 +23934,10 @@ with pkgs;
 
   ode = callPackage ../development/libraries/ode { };
 
-  ogre = callPackage ../development/libraries/ogre {
-    inherit (darwin.apple_sdk.frameworks) Cocoa;
-  };
-  ogre1_10 = callPackage ../development/libraries/ogre/1.10.x.nix { };
+  inherit (callPackages ../development/libraries/ogre { })
+    ogre_13 ogre_14;
+
+  ogre = ogre_14;
 
   olm = callPackage ../development/libraries/olm { };
 
@@ -25299,8 +25350,6 @@ with pkgs;
 
   xedit = callPackage ../applications/editors/xedit { };
 
-  xine-lib = callPackage ../development/libraries/xine-lib { };
-
   xautolock = callPackage ../misc/screensavers/xautolock { };
 
   xercesc = callPackage ../development/libraries/xercesc { };
@@ -25403,6 +25452,8 @@ with pkgs;
   };
   zig = zig_0_10;
 
+  zigHook = callPackage ../development/compilers/zig/hook.nix { };
+
   zimlib = callPackage ../development/libraries/zimlib { };
 
   zita-convolver = callPackage ../development/libraries/audio/zita-convolver { };
@@ -25688,17 +25739,17 @@ with pkgs;
     pkg = callPackage ../development/compilers/sbcl/bootstrap.nix {};
     faslExt = "fasl";
   };
-  sbcl_2_3_5 = wrapLisp {
-    pkg = callPackage ../development/compilers/sbcl/2.x.nix { version = "2.3.5"; };
+  sbcl_2_3_6 = wrapLisp {
+    pkg = callPackage ../development/compilers/sbcl/2.x.nix { version = "2.3.6"; };
     faslExt = "fasl";
     flags = [ "--dynamic-space-size" "3000" ];
   };
-  sbcl_2_3_6 = wrapLisp {
-    pkg = callPackage ../development/compilers/sbcl/2.x.nix { version = "2.3.6"; };
+  sbcl_2_3_7 = wrapLisp {
+    pkg = callPackage ../development/compilers/sbcl/2.x.nix { version = "2.3.7"; };
     faslExt = "fasl";
     flags = [ "--dynamic-space-size" "3000" ];
   };
-  sbcl = sbcl_2_3_6;
+  sbcl = sbcl_2_3_7;
 
   sbclPackages = recurseIntoAttrs sbcl.pkgs;
 
@@ -26700,6 +26751,8 @@ with pkgs;
 
   pgbouncer = callPackage ../servers/sql/pgbouncer { };
 
+  pgcat = callPackage ../servers/sql/pgcat {};
+
   pgpool = callPackage ../servers/sql/pgpool { };
 
   tang = callPackage ../servers/tang {
@@ -27345,6 +27398,8 @@ with pkgs;
 
   cockroachdb = callPackage ../servers/sql/cockroachdb { };
 
+  cockroachdb-bin = callPackage ../servers/sql/cockroachdb/cockroachdb-bin.nix { };
+
   coconutbattery = callPackage ../os-specific/darwin/coconutbattery { };
 
   conky = callPackage ../os-specific/linux/conky ({
@@ -27523,7 +27578,7 @@ with pkgs;
 
   gt = callPackage ../os-specific/linux/gt { };
 
-  inherit (nodePackages) gtop;
+  gtop = callPackage ../tools/system/gtop { };
 
   hd-idle = callPackage ../os-specific/linux/hd-idle { };
 
@@ -28056,6 +28111,8 @@ with pkgs;
 
   godef = callPackage ../development/tools/godef { };
 
+  goimports-reviser = callPackage ../development/tools/goimports-reviser { };
+
   gopkgs = callPackage ../development/tools/gopkgs { };
 
   gosec = callPackage ../development/tools/gosec { };
@@ -28188,6 +28245,8 @@ with pkgs;
 
   perf-tools = callPackage ../os-specific/linux/perf-tools { };
 
+  pgrok = callPackage ../tools/networking/pgrok { };
+
   picoprobe-udev-rules = callPackage ../os-specific/linux/picoprobe-udev-rules { };
 
   pipes = callPackage ../misc/screensavers/pipes { };
@@ -28867,6 +28926,8 @@ with pkgs;
 
   combinatorial_designs = callPackage ../data/misc/combinatorial_designs { };
 
+  commit-mono = callPackage ../data/fonts/commit-mono { };
+
   conway_polynomials = callPackage ../data/misc/conway_polynomials { };
 
   cooper-hewitt = callPackage ../data/fonts/cooper-hewitt { };
@@ -28939,6 +29000,9 @@ with pkgs;
 
   fira-code = callPackage ../data/fonts/fira-code { };
   fira-code-symbols = callPackage ../data/fonts/fira-code/symbols.nix { };
+  fira-code-nerdfont = nerdfonts.override {
+    fonts = [ "FiraCode" ];
+  };
 
   fira-go = callPackage ../data/fonts/fira-go { };
 
@@ -29947,6 +30011,8 @@ with pkgs;
 
   abaddon = callPackage ../applications/networking/instant-messengers/abaddon { };
 
+  acpic = callPackage ../applications/misc/acpic/default.nix { };
+
   adguardian = callPackage ../applications/networking/adguardian { };
 
   aeolus = callPackage ../applications/audio/aeolus { };
@@ -30307,6 +30373,8 @@ with pkgs;
 
   blogc = callPackage ../applications/misc/blogc { };
 
+  bloodhound = callPackage ../applications/misc/bloodhound { };
+
   blucontrol = callPackage ../applications/misc/blucontrol/wrapper.nix {
     inherit (haskellPackages) ghcWithPackages;
   };
@@ -30379,7 +30447,7 @@ with pkgs;
   cardo = callPackage ../data/fonts/cardo { };
 
   cage = callPackage ../applications/window-managers/cage {
-    wlroots = wlroots_0_14;
+    wlroots = wlroots_0_16;
   };
 
   calf = callPackage ../applications/audio/calf {
@@ -30682,6 +30750,8 @@ with pkgs;
     extraIntegrations = extras;
   };
 
+  dayon = callPackage ../applications/networking/remote/dayon { };
+
   ddgr = callPackage ../applications/misc/ddgr { };
 
   deadbeef = callPackage ../applications/audio/deadbeef { };
@@ -30748,7 +30818,7 @@ with pkgs;
   dnglab = callPackage ../tools/graphics/dnglab { };
 
   inherit (callPackage ../applications/virtualization/docker {})
-    docker_20_10;
+    docker_20_10 docker_24;
 
   docker = docker_20_10;
   docker-client = docker.override { clientOnly = true; };
@@ -31347,6 +31417,7 @@ with pkgs;
   };
 
   goldendict = libsForQt5.callPackage ../applications/misc/goldendict { };
+  goldendict-ng = qt6Packages.callPackage ../applications/misc/goldendict-ng { };
 
   gomuks = callPackage ../applications/networking/instant-messengers/gomuks { };
 
@@ -31456,6 +31527,8 @@ with pkgs;
     imlib2 = imlib2Full;
   };
 
+  feishin = callPackage ../applications/audio/feishin { };
+
   feishu = callPackage ../applications/networking/instant-messengers/feishu { };
 
   filezilla = callPackage ../applications/networking/ftp/filezilla { };
@@ -31474,7 +31547,7 @@ with pkgs;
   firefox-devedition-unwrapped = firefoxPackages.firefox-devedition;
   firefox-esr-102-unwrapped = firefoxPackages.firefox-esr-102;
   firefox-esr-115-unwrapped = firefoxPackages.firefox-esr-115;
-  firefox-esr-unwrapped = firefoxPackages.firefox-esr-102;
+  firefox-esr-unwrapped = firefoxPackages.firefox-esr-115;
 
   firefox = wrapFirefox firefox-unwrapped { };
   firefox-beta = wrapFirefox firefox-beta-unwrapped { };
@@ -31482,7 +31555,7 @@ with pkgs;
 
   firefox-mobile = callPackage ../applications/networking/browsers/firefox/mobile-config.nix { };
 
-  firefox-esr = firefox-esr-102;
+  firefox-esr = firefox-esr-115;
   firefox-esr-102 = wrapFirefox firefox-esr-102-unwrapped { };
   firefox-esr-115 = wrapFirefox firefox-esr-115-unwrapped { };
 
@@ -32215,7 +32288,6 @@ with pkgs;
   super-productivity = callPackage ../applications/office/super-productivity { };
 
   inherit (callPackages ../development/libraries/wlroots {})
-    wlroots_0_14
     wlroots_0_15
     wlroots_0_16
     wlroots;
@@ -32490,7 +32562,7 @@ with pkgs;
     lua = lua5_1;
   };
 
-  ipe = libsForQt5.callPackage ../applications/graphics/ipe {
+  ipe = qt6Packages.callPackage ../applications/graphics/ipe {
     ghostscript = ghostscriptX;
     texlive = texlive.combine { inherit (texlive) scheme-small; };
     lua5 = lua5_3;
@@ -32758,6 +32830,8 @@ with pkgs;
 
   kubectl-example = callPackage ../applications/networking/cluster/kubectl-example { };
 
+  kubectl-explore = callPackage ../applications/networking/cluster/kubectl-explore { };
+
   kubectl-gadget = callPackage ../applications/networking/cluster/kubectl-gadget { };
 
   kubectl-images = callPackage ../applications/networking/cluster/kubectl-images { };
@@ -33471,6 +33545,8 @@ with pkgs;
 
   rofi-rbw = python3Packages.callPackage ../applications/misc/rofi-rbw { };
 
+  rofi-screenshot = callPackage ../applications/misc/rofi-screenshot { };
+
   rofi-top = callPackage ../applications/misc/rofi-top { };
 
   rofi-vpn = callPackage ../applications/networking/rofi-vpn { };
@@ -33612,8 +33688,12 @@ with pkgs;
 
   novnc = callPackage ../applications/networking/novnc { };
 
+  ns-usbloader = callPackage ../applications/misc/ns-usbloader { };
+
   nwg-bar = callPackage ../applications/misc/nwg-bar { };
 
+  nwg-displays = callPackage ../applications/misc/nwg-displays { };
+
   nwg-dock = callPackage ../applications/misc/nwg-dock { };
 
   nwg-dock-hyprland = callPackage ../applications/misc/nwg-dock-hyprland { };
@@ -34936,6 +35016,8 @@ with pkgs;
 
   insync = callPackage ../applications/networking/insync { };
 
+  lemurs = callPackage ../applications/display-managers/lemurs { };
+
   libstrangle = callPackage ../tools/X11/libstrangle {
     stdenv = stdenv_32bit;
   };
@@ -36207,7 +36289,8 @@ with pkgs;
 
   xfractint = callPackage ../applications/graphics/xfractint { };
 
-  xine-ui = callPackage ../applications/video/xine-ui { };
+  xine-ui = callPackage ../applications/video/xine/ui.nix { };
+  xine-lib = callPackage ../applications/video/xine/lib.nix { };
 
   xlsxgrep = callPackage ../applications/search/xlsxgrep { };
 
@@ -36470,7 +36553,7 @@ with pkgs;
 
   zsteg = callPackage ../tools/security/zsteg { };
 
-  inherit (nodePackages) zx;
+  zx = callPackage ../tools/system/zx { };
 
   zxfer = callPackage ../applications/system/zxfer { };
 
@@ -37158,6 +37241,8 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) Carbon Cocoa OpenGL Security;
   };
 
+  ddns-go = callPackage ../tools/networking/ddns-go { };
+
   devilutionx = callPackage ../games/devilutionx {
     fmt = fmt_9;
     SDL2 = SDL2.override {
@@ -37373,6 +37458,8 @@ with pkgs;
 
   hikounomizu = callPackage ../games/hikounomizu { };
 
+  hmcl = callPackage ../games/hmcl { };
+
   hyperrogue = callPackage ../games/hyperrogue { };
 
   ibmcloud-cli = callPackage ../tools/admin/ibmcloud-cli { stdenv = stdenvNoCC; };
@@ -37405,6 +37492,8 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) Carbon Cocoa;
   };
 
+  jfsw = callPackage ../games/jfsw { };
+
   katago = callPackage ../games/katago { };
 
   katagoWithCuda = katago.override {
@@ -37585,9 +37674,7 @@ with pkgs;
 
   openarena = callPackage ../games/openarena { };
 
-  opendungeons = callPackage ../games/opendungeons {
-    ogre = ogre1_10;
-  };
+  opendungeons = callPackage ../games/opendungeons { };
 
   openlierox = callPackage ../games/openlierox { };
 
@@ -39404,6 +39491,8 @@ with pkgs;
 
   boinc = callPackage ../applications/science/misc/boinc { };
 
+  boinc-headless = callPackage ../applications/science/misc/boinc { headless = true; };
+
   celestia = callPackage ../applications/science/astronomy/celestia {
     autoreconfHook = buildPackages.autoreconfHook269;
     inherit (gnome2) gtkglext;
@@ -40005,6 +40094,8 @@ with pkgs;
 
   mongoc = darwin.apple_sdk_11_0.callPackage ../development/libraries/mongoc { };
 
+  mongocxx = callPackage ../development/libraries/mongocxx/default.nix { };
+
   mongoose = callPackage ../development/libraries/science/math/mongoose { };
 
   morph = callPackage ../tools/package-management/morph { };
@@ -40300,6 +40391,10 @@ with pkgs;
     jre = openjdk19; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731
   });
 
+  owmods-cli = callPackage ../applications/misc/owmods-cli {
+    inherit (darwin.apple_sdk.frameworks) Security;
+  };
+
   r128gain = callPackage ../applications/audio/r128gain { };
 
   resp-app = libsForQt5.callPackage ../applications/misc/resp-app { };
@@ -41302,9 +41397,7 @@ with pkgs;
 
   dapper = callPackage ../development/tools/dapper { };
 
-  k3d = callPackage ../applications/networking/cluster/k3d {
-    buildGoModule = buildGo118Module; # tests fail with 1.19
-  };
+  k3d = callPackage ../applications/networking/cluster/k3d { };
 
   zfs-prune-snapshots = callPackage ../tools/backup/zfs-prune-snapshots { };
 
@@ -41427,6 +41520,8 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) CoreFoundation Security;
   };
 
+  ldid-procursus = callPackage ../development/tools/ldid-procursus { };
+
   xcolor = callPackage ../tools/graphics/xcolor { };
 
   xcfun = callPackage ../development/libraries/science/chemistry/xcfun { };
@@ -41526,5 +41621,4 @@ with pkgs;
   gitrs = callPackage ../tools/misc/gitrs { };
 
   wttrbar = callPackage ../applications/misc/wttrbar { };
-
 }
diff --git a/pkgs/top-level/coq-packages.nix b/pkgs/top-level/coq-packages.nix
index c36852804302e..46f1ad0565d85 100644
--- a/pkgs/top-level/coq-packages.nix
+++ b/pkgs/top-level/coq-packages.nix
@@ -126,7 +126,10 @@ let
         (lib.versionAtLeast self.coq.version "8.14") {
           compcert = self.compcert.override { version = "3.11"; };
         }) // (lib.optionalAttrs (lib.versions.isEq self.coq.coq-version "8.13") {
-          ITree = self.ITree.override { version = "4.0.0"; };
+          ITree = self.ITree.override {
+            version = "4.0.0";
+            paco = self.paco.override { version = "4.1.2"; };
+          };
        }));
       zorns-lemma = callPackage ../development/coq-modules/zorns-lemma {};
       filterPackages = doesFilter: if doesFilter then filterCoqPackages self else self;
diff --git a/pkgs/top-level/nim-packages.nix b/pkgs/top-level/nim-packages.nix
index 9b45284b5e881..9bd4db77d2e98 100644
--- a/pkgs/top-level/nim-packages.nix
+++ b/pkgs/top-level/nim-packages.nix
@@ -132,6 +132,8 @@ lib.makeScope newScope (self:
 
     vmath = callPackage ../development/nim-packages/vmath { };
 
+    ws = callPackage ../development/nim-packages/ws { };
+
     x11 = callPackage ../development/nim-packages/x11 { };
 
     zippy = callPackage ../development/nim-packages/zippy { };
diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix
index 85c79981cc00c..02e659de3a994 100644
--- a/pkgs/top-level/ocaml-packages.nix
+++ b/pkgs/top-level/ocaml-packages.nix
@@ -1433,7 +1433,10 @@ let
 
     psq = callPackage ../development/ocaml-modules/psq { };
 
-    ptime = callPackage ../development/ocaml-modules/ptime { };
+    ptime =
+      if lib.versionAtLeast ocaml.version "4.08"
+      then callPackage ../development/ocaml-modules/ptime { }
+      else null;
 
     ptmap = callPackage ../development/ocaml-modules/ptmap { };
 
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index 8193fd271b1df..7d5f13dc00b53 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -6083,6 +6083,9 @@ with self; {
       url = "mirror://cpan/authors/id/R/RJ/RJBS/Data-UUID-1.226.tar.gz";
       hash = "sha256-CT1X/6DUEalLr6+uSVaX2yb1ydAncZj+P3zyviKZZFM=";
     };
+    patches = [
+      ../development/perl-modules/Data-UUID-CVE-2013-4184.patch
+    ];
     meta = {
       description = "Globally/Universally Unique Identifiers (GUIDs/UUIDs)";
       license = with lib.licenses; [ bsd0 ];
diff --git a/pkgs/top-level/python-aliases.nix b/pkgs/top-level/python-aliases.nix
index a6ef2838bcb68..63addfa58a038 100644
--- a/pkgs/top-level/python-aliases.nix
+++ b/pkgs/top-level/python-aliases.nix
@@ -184,7 +184,6 @@ mapAliases ({
   jupyter_server = jupyter-server; # added 2023-01-05
   Kajiki = kajiki; # added 2023-02-19
   Keras = keras; # added 2021-11-25
-  larynx-train = piper-train; # added 2023-06-09
   ldap = python-ldap; # added 2022-09-16
   lammps-cython = throw "lammps-cython no longer builds and is unmaintained"; # added 2021-07-04
   logilab_astng = throw "logilab-astng has not been released since 2013 and is unmaintained"; # added 2022-11-29
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 5fe2683244c6c..e3fc86e21bb2c 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -268,6 +268,8 @@ self: super: with self; {
 
   aiomodernforms = callPackage ../development/python-modules/aiomodernforms { };
 
+  aiomqtt = callPackage ../development/python-modules/aiomqtt { };
+
   aiomultiprocess = callPackage ../development/python-modules/aiomultiprocess { };
 
   aiomusiccast = callPackage ../development/python-modules/aiomusiccast { };
@@ -2175,6 +2177,8 @@ self: super: with self; {
 
   coreapi = callPackage ../development/python-modules/coreapi { };
 
+  coredis = callPackage ../development/python-modules/coredis { };
+
   coreschema = callPackage ../development/python-modules/coreschema { };
 
   cornice = callPackage ../development/python-modules/cornice { };
@@ -4456,6 +4460,8 @@ self: super: with self; {
 
   gpt-2-simple = callPackage ../development/python-modules/gpt-2-simple { };
 
+  gptcache = callPackage ../development/python-modules/gptcache { };
+
   gql = callPackage ../development/python-modules/gql { };
 
   grad-cam = callPackage ../development/python-modules/grad-cam { };
@@ -4581,6 +4587,8 @@ self: super: with self; {
 
   gudhi = callPackage ../development/python-modules/gudhi { };
 
+  guidance = callPackage ../development/python-modules/guidance { };
+
   gumath = callPackage ../development/python-modules/gumath { };
 
   gunicorn = callPackage ../development/python-modules/gunicorn { };
@@ -4764,6 +4772,10 @@ self: super: with self; {
 
   hlk-sw16 = callPackage ../development/python-modules/hlk-sw16 { };
 
+  hnswlib = callPackage ../development/python-modules/hnswlib {
+    inherit (pkgs) hnswlib;
+  };
+
   hmmlearn = callPackage ../development/python-modules/hmmlearn { };
 
   hocr-tools = callPackage ../development/python-modules/hocr-tools { };
@@ -5101,6 +5113,8 @@ self: super: with self; {
 
   insegel = callPackage ../development/python-modules/insegel { };
 
+  insightface = callPackage ../development/python-modules/insightface { };
+
   installer = callPackage ../development/python-modules/installer { };
 
   insteon-frontend-home-assistant = callPackage ../development/python-modules/insteon-frontend-home-assistant { };
@@ -5898,6 +5912,8 @@ self: super: with self; {
     (p: p.py)
   ];
 
+  librespot = callPackage ../development/python-modules/librespot { };
+
   libretranslate = callPackage ../development/python-modules/libretranslate { };
 
   librosa = callPackage ../development/python-modules/librosa { };
@@ -6756,6 +6772,8 @@ self: super: with self; {
 
   musicbrainzngs = callPackage ../development/python-modules/musicbrainzngs { };
 
+  music-tag = callPackage ../development/python-modules/music-tag { };
+
   mutag = callPackage ../development/python-modules/mutag { };
 
   mutagen = callPackage ../development/python-modules/mutagen { };
@@ -7210,6 +7228,8 @@ self: super: with self; {
 
   py-expression-eval = callPackage ../development/python-modules/py-expression-eval { };
 
+  py-radix-sr = callPackage ../development/python-modules/py-radix-sr { };
+
   nwdiag = callPackage ../development/python-modules/nwdiag { };
 
   oasatelematics = callPackage ../development/python-modules/oasatelematics { };
@@ -7947,7 +7967,10 @@ self: super: with self; {
 
   pipenv-poetry-migrate = callPackage ../development/python-modules/pipenv-poetry-migrate { };
 
-  piper-train = callPackage ../development/python-modules/piper-train { };
+  piper-phonemize = callPackage ../development/python-modules/piper-phonemize {
+    onnxruntime-native = pkgs.onnxruntime;
+    piper-phonemize-native = pkgs.piper-phonemize;
+  };
 
   pip-api = callPackage ../development/python-modules/pip-api { };
 
@@ -8962,6 +8985,8 @@ self: super: with self; {
 
   pyglet = callPackage ../development/python-modules/pyglet { };
 
+  pyglm = callPackage ../development/python-modules/pyglm { };
+
   pygls = callPackage ../development/python-modules/pygls { };
 
   pygmars = callPackage ../development/python-modules/pygmars { };
@@ -12845,6 +12870,8 @@ self: super: with self; {
 
   ttp-templates = callPackage ../development/python-modules/ttp-templates { };
 
+  ttstokenizer = callPackage ../development/python-modules/ttstokenizer { };
+
   tubes = callPackage ../development/python-modules/tubes { };
 
   tunigo = callPackage ../development/python-modules/tunigo { };
diff --git a/pkgs/top-level/release-small.nix b/pkgs/top-level/release-small.nix
index f2cc7ae471a42..37ef0a50c260a 100644
--- a/pkgs/top-level/release-small.nix
+++ b/pkgs/top-level/release-small.nix
@@ -36,7 +36,6 @@ with import ./release-lib.nix { inherit supportedSystems nixpkgsArgs; };
   cron = linux;
   cups = linux;
   dbus = linux;
-  dhcp = linux;
   diffutils = all;
   e2fsprogs = linux;
   emacs = linux;
diff --git a/pkgs/top-level/release.nix b/pkgs/top-level/release.nix
index 8f470925fac47..2ac81d0a237c2 100644
--- a/pkgs/top-level/release.nix
+++ b/pkgs/top-level/release.nix
@@ -26,7 +26,7 @@
       # for no real reason.
       # Remove them for 23.11.
       "nodejs-16.20.1"
-      "openssl-1.1.1u"
+      "openssl-1.1.1v"
     ];
   }; }
 }:
diff --git a/pkgs/top-level/ruby-packages.nix b/pkgs/top-level/ruby-packages.nix
index 3fe149acae852..4d1b6136a859c 100644
--- a/pkgs/top-level/ruby-packages.nix
+++ b/pkgs/top-level/ruby-packages.nix
@@ -5,10 +5,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "001cwsb6496wp8g0nkyjqxgmii63aljydq132yb2ksdp8ml5zlgj";
+      sha256 = "1d72cqx1h9c0yl1vc8xakvji00krg118ih6lwqlg5nbw50gbx25c";
       type = "gem";
     };
-    version = "7.0.5";
+    version = "7.0.6";
   };
   actionmailbox = {
     dependencies = ["actionpack" "activejob" "activerecord" "activestorage" "activesupport" "mail" "net-imap" "net-pop" "net-smtp"];
@@ -16,10 +16,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0d990xy3jin8qa4l989r43kl5ykmi2kdlxqpnla10n5c7xp7xmci";
+      sha256 = "12xkyfdpr7ljnd31yhc2kzl0rqrlwxzpg4qcn4yb2h364hwc6fh8";
       type = "gem";
     };
-    version = "7.0.5";
+    version = "7.0.6";
   };
   actionmailer = {
     dependencies = ["actionpack" "actionview" "activejob" "activesupport" "mail" "net-imap" "net-pop" "net-smtp" "rails-dom-testing"];
@@ -27,10 +27,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "033981lhbq0vl8ppfpamqpqj3sq15x759899hvwli2imp3yw49r5";
+      sha256 = "01x11ijfg56585vj7a7az0235idnxcnyjp1nb1jvkm08jjll5d1k";
       type = "gem";
     };
-    version = "7.0.5";
+    version = "7.0.6";
   };
   actionpack = {
     dependencies = ["actionview" "activesupport" "rack" "rack-test" "rails-dom-testing" "rails-html-sanitizer"];
@@ -38,10 +38,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0w717izq6k7wl2j6zn4516kg2iwg3zgdzja6b6gpk6y5nccr04hw";
+      sha256 = "0d66w1d9rhvafd0dilqyr1ymsvr060l8hi0xvwij7cyvzzxrlrbc";
       type = "gem";
     };
-    version = "7.0.5";
+    version = "7.0.6";
   };
   actiontext = {
     dependencies = ["actionpack" "activerecord" "activestorage" "activesupport" "globalid" "nokogiri"];
@@ -49,10 +49,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0bcpjhhbq6gl4h7hq2fianfz8vpdxf53gsj1ng04bkh5bxxrmrc1";
+      sha256 = "0bpyfh8g0mzgkb8bxvf245mwnx1awbr1y6dxcdckyhsjjgrfynfl";
       type = "gem";
     };
-    version = "7.0.5";
+    version = "7.0.6";
   };
   actionview = {
     dependencies = ["activesupport" "builder" "erubi" "rails-dom-testing" "rails-html-sanitizer"];
@@ -60,10 +60,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1z0xvdal339w7jvk7a5py0c1q5xh588vqrilgxizkvzm3hwf48a2";
+      sha256 = "1icfh9pgjpd29apzn07cnqa9nlpvjv7i4vrygack5gp7hp54l8m7";
       type = "gem";
     };
-    version = "7.0.5";
+    version = "7.0.6";
   };
   activejob = {
     dependencies = ["activesupport" "globalid"];
@@ -71,10 +71,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "18gsxi7vlg8y8k2fbhq44zd0mivjpnn4nrlfj037c7wvq5h8367v";
+      sha256 = "1gawwb6550ra1xgbrki03aq4q5wafa3xfrpdr3cva4ghy3qqn53q";
       type = "gem";
     };
-    version = "7.0.5";
+    version = "7.0.6";
   };
   activemodel = {
     dependencies = ["activesupport"];
@@ -82,10 +82,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0cjbk1xl6jl2d6sczpxnr8da7zbmshmrghqhqdcwqqzl6chcy2si";
+      sha256 = "072iv0d3vpbp0xijg4jj99sjil1rykmqfj9addxj76bm5mbzwcaj";
       type = "gem";
     };
-    version = "7.0.5";
+    version = "7.0.6";
   };
   activerecord = {
     dependencies = ["activemodel" "activesupport"];
@@ -93,10 +93,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "04x0bz3051linhmi52cfg31nsm4sgg27m7wp9p0cxrxdwc7q0bjl";
+      sha256 = "1l0rn43bhyzlfa4wwcfz016vb4lkzvl0jf5zibkjy4sppxxixzrq";
       type = "gem";
     };
-    version = "7.0.5";
+    version = "7.0.6";
   };
   activestorage = {
     dependencies = ["actionpack" "activejob" "activerecord" "activesupport" "marcel" "mini_mime"];
@@ -104,10 +104,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0mg236x3rkmdargkk9y6j9gqhkajzbk852gwnp1crp0difk7a4r8";
+      sha256 = "036mv935r5mmh7fljz10lyr43c5y5bn8b6h7gdkv8spfgwzihw4j";
       type = "gem";
     };
-    version = "7.0.5";
+    version = "7.0.6";
   };
   activesupport = {
     dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo"];
@@ -115,10 +115,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1c7k5i6531z5il4q1jnbrv7x7zcl3bgnxp5fzl71rzigk6zn53ym";
+      sha256 = "1cjsf26656996hv48wgv2mkwxf0fy1qc68ikgzq7mzfq2mmvmayk";
       type = "gem";
     };
-    version = "7.0.5";
+    version = "7.0.6";
   };
   addressable = {
     dependencies = ["public_suffix"];
@@ -168,10 +168,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0dk1dxz6rshll9hk33halpnfrab1gzr8dgrb4d1zdhw5n30k3zsa";
+      sha256 = "0r3g92r9dnvbwklm8dx6w3ym8xhz90a2hs2sdarwhhydfyzxdcrj";
       type = "gem";
     };
-    version = "4.1.7";
+    version = "4.1.8";
   };
   atomos = {
     groups = ["default"];
@@ -260,10 +260,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1v5j3szb30d0i5x9bx85bmqz028qcaxswifvhgh7qy1bby4j5mis";
+      sha256 = "1vbq8gprb99anlxijc7hwamfvshd6w1k6kwwg5gs2c674nln1hqf";
       type = "gem";
     };
-    version = "4.1.7";
+    version = "4.1.8";
   };
   camping = {
     dependencies = ["mab" "rack"];
@@ -332,10 +332,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0r5khhp71q1hysg2b541pdlw1fjrjibgfsfl7fcy8zm9hil9rrkb";
+      sha256 = "0rn46vga5c1ww2vkf4dbg0w5g4h0vwx9idvdz3284188q4ksfbmg";
       type = "gem";
     };
-    version = "3.5.3";
+    version = "3.6.0";
   };
   cocoapods = {
     dependencies = ["addressable" "claide" "cocoapods-core" "cocoapods-deintegrate" "cocoapods-downloader" "cocoapods-plugins" "cocoapods-search" "cocoapods-trunk" "cocoapods-try" "colored2" "escape" "fourflusher" "gh_inspector" "molinillo" "nap" "ruby-macho" "xcodeproj"];
@@ -964,10 +964,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1ai4cxnymjp7c2xqbfksks82aah0pbyjsl3r2cgc4iimrw2wg8qy";
+      sha256 = "187clqhp9mv5mnqmjlfdp57svhsg1bggz84ak8v333j9skrnrgh9";
       type = "gem";
     };
-    version = "2.7.7";
+    version = "2.7.10";
   };
   faraday-net_http = {
     groups = ["default"];
@@ -1100,10 +1100,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1p9hyhfcdzp8ikidilwkiicz5zw2zpvmq7sa85bpf5sra82syvxg";
+      sha256 = "0qr0dn4p3nrqnb8qjdlnsfhz80viv4fn86a450imabr76mr88fs3";
       type = "gem";
     };
-    version = "4.1.7";
+    version = "4.1.8";
   };
   gemoji = {
     groups = ["default"];
@@ -1131,10 +1131,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1gpjg0d4f0l0fyx96h4djq6jsbd20ai65vbwh2f19359bpmad1yh";
+      sha256 = "1jl1ng4db6iaa6yddvp69c61r7483kwvcr57hj3qm9pddkgf0bp0";
       type = "gem";
     };
-    version = "4.1.7";
+    version = "4.1.8";
   };
   git = {
     dependencies = ["addressable" "rchardet"];
@@ -1185,10 +1185,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "19pwbfjc8px03jsh26sbsszrmhil3zbvkpq8cjm5953s8zc8yygl";
+      sha256 = "00r3357m7fdvhsy1xi93bvvih4jgwf8lbg8dwrz2mggi1v6nh6n4";
       type = "gem";
     };
-    version = "4.1.7";
+    version = "4.1.8";
   };
   globalid = {
     dependencies = ["activesupport"];
@@ -1207,10 +1207,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1bgzjfzvb2fb04c5dfzyx3qsq0d8xz1hy24nidy6a7dbg88aj6hy";
+      sha256 = "00lai12z92y6kidsrwnw0d386bwyzjrw0z07ifjxqn5zpyasgvkb";
       type = "gem";
     };
-    version = "4.1.7";
+    version = "4.1.8";
   };
   gpgme = {
     dependencies = ["mini_portile2"];
@@ -1868,15 +1868,15 @@
     version = "2.2.1";
   };
   jekyll-webmention_io = {
-    dependencies = ["htmlbeautifier" "jekyll" "json" "openssl" "string_inflection" "uglifier" "webmention"];
+    dependencies = ["activesupport" "htmlbeautifier" "jekyll" "json" "jsonpath" "openssl" "uglifier" "webmention"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "003lwcl00l13c5r1i1zk5q1p8m50nv83w6h3j2mij6hs2aaz1zwb";
+      sha256 = "0kkxvr1gfbmfbhy13syq4pqwmfqwhnbfcwjiqrwahf99gfcj5izh";
       type = "gem";
     };
-    version = "3.3.7";
+    version = "4.0.0";
   };
   jemoji = {
     dependencies = ["gemoji" "html-pipeline" "jekyll"];
@@ -1919,6 +1919,17 @@
     };
     version = "2.6.3";
   };
+  jsonpath = {
+    dependencies = ["multi_json"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0xxklfvmwz8z6l08704x65gnq6r8r1pb9qk125qjbndnb1zz6fsp";
+      type = "gem";
+    };
+    version = "1.0.7";
+  };
   jwt = {
     groups = ["default"];
     platforms = [];
@@ -2174,10 +2185,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0z7f38iq37h376n9xbl4gajdrnwzq284c9v1py4imw3gri2d5cj6";
+      sha256 = "02mj8mpd6ck5gpcnsimx5brzggw5h5mmmpq2djdypfq16wcw82qq";
       type = "gem";
     };
-    version = "2.8.2";
+    version = "2.8.4";
   };
   minima = {
     dependencies = ["jekyll" "jekyll-feed" "jekyll-seo-tag"];
@@ -2195,10 +2206,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1kg9wh7jlc9zsr3hkhpzkbn0ynf4np5ap9m2d8xdrb8shy0y6pmb";
+      sha256 = "0jnpsbb2dbcs95p4is4431l2pw1l5pn7dfg3vkgb4ga464j0c5l6";
       type = "gem";
     };
-    version = "5.18.1";
+    version = "5.19.0";
   };
   molinillo = {
     groups = ["default"];
@@ -2215,10 +2226,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "06n7556vxr3awh92xy1k5bli98bvq4pjm08mnl68ay4fzln7lcsg";
+      sha256 = "1a5adcb7bwan09mqhj3wi9ib52hmdzmqg7q08pggn3adibyn5asr";
       type = "gem";
     };
-    version = "1.7.1";
+    version = "1.7.2";
   };
   multi_json = {
     groups = ["default"];
@@ -2297,10 +2308,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1k1qyjr9lkk5y3483k6wk6d9h1jx4v5hzby1mf0pj3b4kr2arxbm";
+      sha256 = "0lf7wqg7czhaj51qsnmn28j7jmcxhkh3m28rl1cjrqsgjxhwj7r3";
       type = "gem";
     };
-    version = "0.3.6";
+    version = "0.3.7";
   };
   net-pop = {
     dependencies = ["net-protocol"];
@@ -2382,10 +2393,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1mr2ibfk874ncv0qbdkynay738w2mfinlkhnbd5lyk5yiw5q1p10";
+      sha256 = "1jw8a20a9k05fpz3q24im19b97idss3179z76yn5scc5b8lk2rl7";
       type = "gem";
     };
-    version = "1.15.2";
+    version = "1.15.3";
   };
   octokit = {
     dependencies = ["faraday" "sawyer"];
@@ -2468,10 +2479,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1hak6b4j0xvq2n12wfmd8666284nwig3fgwi5chcirpp5c0mgj2h";
+      sha256 = "1707vylw6yix9q92bpnvn5dflnywx5bh69awyirvn4g39p2yjc2b";
       type = "gem";
     };
-    version = "4.1.7";
+    version = "4.1.8";
   };
   parallel = {
     groups = ["default"];
@@ -2499,10 +2510,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "146x3jhipg55q9ig7l0x8sryanz1zfhai2vszmih7wmf8zi043gl";
+      sha256 = "07jn3rndwfrqlziknhrqlvn523xb5kirnpbcmb4h4hw5npf67nii";
       type = "gem";
     };
-    version = "1.1.1";
+    version = "1.1.2";
   };
   pastel = {
     dependencies = ["tty-color"];
@@ -2582,10 +2593,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1pxk8pl4gmdmvm4jjhi8apwc23cyqs7rgp5bi4q2gi93k927w3x8";
+      sha256 = "1y7p5712grf8sd4kmk9i62qs9mak2fd8685i78qv95wdz3g2csaa";
       type = "gem";
     };
-    version = "3.2.2";
+    version = "4.0.2";
   };
   prettier_print = {
     groups = ["default"];
@@ -2699,21 +2710,21 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1zip0qhk7pp6cvrir77p6v76wj68zaqik875qr5rapqz9am2pvsp";
+      sha256 = "08glp6jhq5yh8i5jjxzqa3aqx819l6ci6m68bx1asmimla0x9ysx";
       type = "gem";
     };
-    version = "7.0.5";
+    version = "7.0.6";
   };
   rails-dom-testing = {
-    dependencies = ["activesupport" "nokogiri"];
+    dependencies = ["activesupport" "minitest" "nokogiri"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1lfq2a7kp2x64dzzi5p4cjcbiv62vxh9lyqk2f0rqq3fkzrw8h5i";
+      sha256 = "17g05y7q7934z0ib4aph8h71c2qwjmlakkm7nb2ab45q0aqkfgjd";
       type = "gem";
     };
-    version = "2.0.3";
+    version = "2.1.1";
   };
   rails-html-sanitizer = {
     dependencies = ["loofah" "nokogiri"];
@@ -2732,10 +2743,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0kn3cx00jnb7bjnh1k2q0dxk0r7nl1a0krgyk5ykxw1wcac81wyw";
+      sha256 = "0dcabk5bl5flmspnb9d2qcvclcaw0nd5yr9w6m5pzsmylg3y63pv";
       type = "gem";
     };
-    version = "7.0.5";
+    version = "7.0.6";
   };
   rainbow = {
     groups = ["default"];
@@ -2824,10 +2835,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1habsrf67d3m5p12wc2bydsa7bj87r7w1266x8in59znf5wz4drf";
+      sha256 = "00yryimbkm1k85n99f81n7cripkmh14459c9pmb7prl9nbiikkqc";
       type = "gem";
     };
-    version = "1.6.0";
+    version = "1.7.0";
   };
   red-colors = {
     dependencies = ["matrix"];
@@ -2931,10 +2942,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "08ximcyfjy94pm1rhcx04ny1vx2sk0x4y185gzn86yfsbzwkng53";
+      sha256 = "05i8518ay14kjbma550mv0jm8a6di8yp5phzrd8rj44z9qnrlrp0";
       type = "gem";
     };
-    version = "3.2.5";
+    version = "3.2.6";
   };
   rmagick = {
     dependencies = ["pkg-config"];
@@ -2942,10 +2953,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0vcfjv6miia6qfnig2yqs42cwnj6jphi2llys7dsh4xykgcs6298";
+      sha256 = "080h8755lks9395a2s4ijavzcsgp62367damj0dxif92jdayllzs";
       type = "gem";
     };
-    version = "5.2.0";
+    version = "5.3.0";
   };
   rouge = {
     groups = ["default"];
@@ -3006,20 +3017,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1hfm17xakfvwya236graj6c2arr4sb9zasp35q5fykhyz8mhs0w2";
+      sha256 = "1gq7gviwpck7fhp4y5ibljljvxgjklza18j62qf6zkm2icaa8lfy";
       type = "gem";
     };
-    version = "3.12.5";
+    version = "3.12.6";
   };
   rspec-support = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "12y52zwwb3xr7h91dy9k3ndmyyhr3mjcayk0nnarnrzz8yr48kfx";
+      sha256 = "1ky86j3ksi26ng9ybd7j0qsdf1lpr8mzrmn98yy9gzv801fvhsgr";
       type = "gem";
     };
-    version = "3.12.0";
+    version = "3.12.1";
   };
   rubocop = {
     dependencies = ["json" "language_server-protocol" "parallel" "parser" "rainbow" "regexp_parser" "rexml" "rubocop-ast" "ruby-progressbar" "unicode-display_width"];
@@ -3027,10 +3038,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0b7pf8916k7ps9jdnkn0774n37jpdzp88mzcqdij3h9hvpn6vr81";
+      sha256 = "17c94wl2abqzf4fj469mdxzap1sd3410x421nl6mh2w49jsgvpki";
       type = "gem";
     };
-    version = "1.53.0";
+    version = "1.55.0";
   };
   rubocop-ast = {
     dependencies = ["parser"];
@@ -3086,6 +3097,17 @@
     };
     version = "0.8.0";
   };
+  ruby-lsp = {
+    dependencies = ["language_server-protocol" "sorbet-runtime" "syntax_tree"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1iyxcr34p3hy7rjgrrlg6z9libiqy1als62rk3d37ixsbjdy6iyd";
+      type = "gem";
+    };
+    version = "0.7.4";
+  };
   ruby-lxc = {
     groups = ["default"];
     platforms = [];
@@ -3247,10 +3269,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1brf6h0kg5ssl1sb99gv41y8lk814jqa3nzakb79ywlhyzbn1513";
+      sha256 = "0zm5lfvhc1j7nq73s7i4g93kfbb3fg81jicf3sbfh2w5gm59nq7v";
       type = "gem";
     };
-    version = "5.69.0";
+    version = "5.70.0";
   };
   sequel_pg = {
     dependencies = ["pg" "sequel"];
@@ -3368,26 +3390,26 @@
     };
     version = "0.49.0";
   };
-  sqlite3 = {
-    dependencies = ["mini_portile2"];
+  sorbet-runtime = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0h95kr5529qv786mfk8r2jjdsdi6v7v3k3dpz69mrcc9i0vpdd37";
+      sha256 = "0n197kk9nqf955lsphns835sbkz7wcgbpppad482iqx95bhf8i6l";
       type = "gem";
     };
-    version = "1.6.3";
+    version = "0.5.10932";
   };
-  string_inflection = {
+  sqlite3 = {
+    dependencies = ["mini_portile2"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0v57afc7rdr58xd6mayf9giifqgav3hqjr54kagi7iki3hn6vjag";
+      sha256 = "0h95kr5529qv786mfk8r2jjdsdi6v7v3k3dpz69mrcc9i0vpdd37";
       type = "gem";
     };
-    version = "0.1.2";
+    version = "1.6.3";
   };
   syntax_tree = {
     dependencies = ["prettier_print"];
@@ -3635,10 +3657,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0a3bwxd9v3ghrxzjc4vxmf4xa18c6m4xqy5wb0yk5c6b9psc7052";
+      sha256 = "1nyh873w4lvahcl8kzbjfca26656d5c6z3md4sbqg5y1gfz0157n";
       type = "gem";
     };
-    version = "0.7.5";
+    version = "0.7.6";
   };
   websocket-extensions = {
     groups = ["default"];
@@ -3696,10 +3718,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ck6bj7wa73dkdh13735jl06k6cfny98glxjkas82aivlmyzqqbk";
+      sha256 = "0v14hl814knwi8pm2n09bpgcd107jafv4lnj9zmcsgfwbqxin3sq";
       type = "gem";
     };
-    version = "2.6.8";
+    version = "2.6.9";
   };
   zookeeper = {
     groups = ["default"];