about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--lib/attrsets.nix72
-rw-r--r--lib/strings.nix19
-rw-r--r--lib/tests/misc.nix45
-rw-r--r--lib/trivial.nix34
-rw-r--r--maintainers/maintainer-list.nix6
-rw-r--r--nixos/modules/programs/firejail.nix2
-rw-r--r--nixos/modules/tasks/network-interfaces.nix2
-rw-r--r--pkgs/applications/audio/diopser/default.nix10
-rw-r--r--pkgs/applications/audio/drumgizmo/default.nix13
-rw-r--r--pkgs/applications/audio/non/default.nix2
-rw-r--r--pkgs/applications/blockchains/erigon/default.nix6
-rw-r--r--pkgs/applications/editors/howl/default.nix1
-rw-r--r--pkgs/applications/editors/vim/plugins/generated.nix654
-rw-r--r--pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix78
-rw-r--r--pkgs/applications/editors/vim/plugins/overrides.nix4
-rw-r--r--pkgs/applications/editors/vim/plugins/vim-plugin-names3
-rw-r--r--pkgs/applications/editors/xed-editor/default.nix10
-rw-r--r--pkgs/applications/emulators/blink/default.nix9
-rw-r--r--pkgs/applications/emulators/wine/sources.nix10
-rw-r--r--pkgs/applications/graphics/gscan2pdf/default.nix1
-rw-r--r--pkgs/applications/misc/blender/default.nix4
-rw-r--r--pkgs/applications/misc/corectrl/default.nix4
-rw-r--r--pkgs/applications/misc/corectrl/polkit-dir.patch14
-rw-r--r--pkgs/applications/misc/faircamp/Cargo.lock747
-rw-r--r--pkgs/applications/misc/faircamp/default.nix6
-rw-r--r--pkgs/applications/misc/genact/default.nix6
-rw-r--r--pkgs/applications/misc/jigdo/default.nix31
-rw-r--r--pkgs/applications/misc/jigdo/sizewidth.patch40
-rw-r--r--pkgs/applications/misc/tandoor-recipes/default.nix15
-rw-r--r--pkgs/applications/misc/urlscan/default.nix1
-rw-r--r--pkgs/applications/networking/browsers/chromium/common.nix12
-rw-r--r--pkgs/applications/networking/browsers/chromium/patches/chromium-120-llvm-16.patch (renamed from pkgs/applications/networking/browsers/chromium/chromium-120-llvm-16.patch)0
-rw-r--r--pkgs/applications/networking/browsers/chromium/patches/cross-compile.patch (renamed from pkgs/applications/networking/browsers/chromium/cross-compile.patch)0
-rw-r--r--pkgs/applications/networking/browsers/firefox/packages.nix8
-rw-r--r--pkgs/applications/networking/cluster/cmctl/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/pachyderm/default.nix8
-rw-r--r--pkgs/applications/networking/feedreaders/rss2email/default.nix1
-rw-r--r--pkgs/applications/networking/instant-messengers/franz/generic.nix3
-rw-r--r--pkgs/applications/networking/instant-messengers/rocketchat-desktop/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix8
-rw-r--r--pkgs/applications/networking/mailreaders/notmuch-addrlookup/default.nix1
-rw-r--r--pkgs/applications/networking/mailreaders/notmuch/default.nix1
-rw-r--r--pkgs/applications/networking/sync/unison/default.nix1
-rw-r--r--pkgs/applications/office/beamerpresenter/default.nix1
-rw-r--r--pkgs/applications/office/paperless-ngx/default.nix19
-rw-r--r--pkgs/applications/office/planify/default.nix13
-rw-r--r--pkgs/applications/science/biology/kalign/default.nix4
-rw-r--r--pkgs/applications/science/biology/poretools/default.nix5
-rw-r--r--pkgs/applications/science/biology/strelka/default.nix26
-rw-r--r--pkgs/applications/science/math/calc/default.nix4
-rw-r--r--pkgs/applications/science/math/eigenmath/default.nix6
-rw-r--r--pkgs/applications/terminal-emulators/rio/default.nix6
-rw-r--r--pkgs/applications/version-management/commitizen/default.nix4
-rw-r--r--pkgs/applications/video/mpv/scripts/default.nix1
-rw-r--r--pkgs/applications/video/mpv/scripts/sponsorblock-minimal.nix32
-rw-r--r--pkgs/applications/video/mpv/scripts/webtorrent-mpv-hook.nix8
-rw-r--r--pkgs/applications/virtualization/colima/default.nix6
-rw-r--r--pkgs/applications/virtualization/lima/bin.nix10
-rw-r--r--pkgs/applications/window-managers/i3/balance-workspace.nix1
-rw-r--r--pkgs/applications/window-managers/leftwm/default.nix1
-rw-r--r--pkgs/build-support/build-setupcfg/default.nix26
-rw-r--r--pkgs/build-support/php/hooks/composer-install-hook.sh2
-rw-r--r--pkgs/by-name/co/cockpit/package.nix4
-rw-r--r--pkgs/by-name/de/dependency-track-exporter/package.nix34
-rw-r--r--pkgs/by-name/fo/footswitch/package.nix (renamed from pkgs/tools/inputmethods/footswitch/default.nix)12
-rw-r--r--pkgs/by-name/fr/free42/package.nix8
-rw-r--r--pkgs/by-name/in/intiface-central/corrosion.patch23
-rw-r--r--pkgs/by-name/in/intiface-central/deps.json1761
-rw-r--r--pkgs/by-name/in/intiface-central/package.nix79
-rw-r--r--pkgs/by-name/ji/jigdo/package.nix46
-rw-r--r--pkgs/by-name/ko/kor/package.nix6
-rw-r--r--pkgs/by-name/oa/oauth2ms/package.nix35
-rw-r--r--pkgs/by-name/pa/passmark-performancetest/package.nix67
-rw-r--r--pkgs/by-name/pl/platformsh/package.nix6
-rw-r--r--pkgs/by-name/sp/spicetify-cli/package.nix (renamed from pkgs/applications/misc/spicetify-cli/default.nix)6
-rw-r--r--pkgs/by-name/sw/swayimg/package.nix (renamed from pkgs/tools/wayland/swayimg/default.nix)32
-rw-r--r--pkgs/by-name/vi/vinegar/package.nix12
-rw-r--r--pkgs/data/themes/adw-gtk3/default.nix4
-rw-r--r--pkgs/desktops/deepin/artwork/deepin-icon-theme/default.nix4
-rw-r--r--pkgs/desktops/gnome/extensions/extensions.json177
-rw-r--r--pkgs/desktops/pantheon/apps/appcenter/default.nix14
-rw-r--r--pkgs/desktops/pantheon/apps/elementary-feedback/default.nix8
-rw-r--r--pkgs/desktops/plasma-5/3rdparty/addons/polonium.nix51
-rw-r--r--pkgs/desktops/plasma-5/default.nix5
-rw-r--r--pkgs/development/compilers/binaryen/default.nix1
-rw-r--r--pkgs/development/compilers/circt/circt-llvm.nix59
-rw-r--r--pkgs/development/compilers/circt/default.nix42
-rw-r--r--pkgs/development/compilers/dmd/default.nix6
-rw-r--r--pkgs/development/compilers/dmd/generic.nix8
-rw-r--r--pkgs/development/compilers/fasm/bin.nix22
-rw-r--r--pkgs/development/compilers/unison/default.nix6
-rw-r--r--pkgs/development/coq-modules/metacoq/default.nix23
-rw-r--r--pkgs/development/cuda-modules/cudatoolkit/default.nix2
-rw-r--r--pkgs/development/interpreters/clisp/default.nix3
-rw-r--r--pkgs/development/interpreters/clojure/default.nix4
-rw-r--r--pkgs/development/interpreters/emilua/default.nix25
-rw-r--r--pkgs/development/interpreters/python/python-packages-base.nix5
-rw-r--r--pkgs/development/interpreters/quickjs/default.nix6
-rw-r--r--pkgs/development/interpreters/rakudo/zef.nix39
-rw-r--r--pkgs/development/libraries/dsdcc/default.nix39
-rw-r--r--pkgs/development/libraries/freetype/default.nix23
-rw-r--r--pkgs/development/libraries/opensubdiv/default.nix1
-rw-r--r--pkgs/development/libraries/physics/apfel/cmake.patch14
-rw-r--r--pkgs/development/libraries/physics/apfel/default.nix51
-rw-r--r--pkgs/development/libraries/physics/rivet/default.nix4
-rw-r--r--pkgs/development/libraries/physics/yoda/default.nix14
-rw-r--r--pkgs/development/libraries/science/math/suitesparse/default.nix21
-rw-r--r--pkgs/development/libraries/tdlib/default.nix6
-rw-r--r--pkgs/development/libraries/uri/default.nix7
-rw-r--r--pkgs/development/python-modules/asyauth/default.nix4
-rw-r--r--pkgs/development/python-modules/aws-lambda-builders/default.nix4
-rw-r--r--pkgs/development/python-modules/aws-sam-translator/default.nix4
-rw-r--r--pkgs/development/python-modules/dynd/default.nix3
-rw-r--r--pkgs/development/python-modules/hatasmota/default.nix13
-rw-r--r--pkgs/development/python-modules/ical/default.nix4
-rw-r--r--pkgs/development/python-modules/imageio/default.nix4
-rw-r--r--pkgs/development/python-modules/minikerberos/default.nix4
-rw-r--r--pkgs/development/python-modules/msldap/default.nix4
-rw-r--r--pkgs/development/python-modules/natasha/default.nix4
-rw-r--r--pkgs/development/python-modules/pymc/default.nix4
-rw-r--r--pkgs/development/python-modules/pytensor/default.nix4
-rw-r--r--pkgs/development/python-modules/setupmeta/default.nix4
-rw-r--r--pkgs/development/python-modules/torch/default.nix2
-rw-r--r--pkgs/development/python-modules/virt-firmware/default.nix43
-rw-r--r--pkgs/development/python-modules/zeroconf/default.nix4
-rw-r--r--pkgs/development/tools/altair-graphql-client/default.nix4
-rw-r--r--pkgs/development/tools/analysis/checkov/default.nix4
-rw-r--r--pkgs/development/tools/apktool/default.nix5
-rw-r--r--pkgs/development/tools/dtools/default.nix2
-rw-r--r--pkgs/development/tools/dump_syms/default.nix5
-rw-r--r--pkgs/development/tools/misc/hydra/unstable.nix12
-rw-r--r--pkgs/development/tools/misc/mdctags/default.nix1
-rw-r--r--pkgs/development/tools/misc/pest-ide-tools/default.nix8
-rw-r--r--pkgs/development/tools/ocaml/merlin/4.x.nix37
-rw-r--r--pkgs/development/tools/okteto/default.nix6
-rw-r--r--pkgs/development/tools/regclient/default.nix4
-rw-r--r--pkgs/development/tools/rust/cargo-nextest/default.nix6
-rw-r--r--pkgs/development/tools/setupcfg2nix/default.nix19
-rw-r--r--pkgs/development/tools/setupcfg2nix/info.nix7
-rw-r--r--pkgs/development/tools/sqldef/default.nix6
-rw-r--r--pkgs/development/tools/typos/default.nix6
-rw-r--r--pkgs/development/tools/xqilla/default.nix10
-rw-r--r--pkgs/development/web/bun/default.nix10
-rw-r--r--pkgs/games/anki/default.nix1
-rw-r--r--pkgs/games/atlauncher/default.nix4
-rw-r--r--pkgs/games/openclonk/default.nix23
-rw-r--r--pkgs/games/path-of-building/default.nix4
-rw-r--r--pkgs/games/rare/default.nix17
-rw-r--r--pkgs/games/rare/legendary-gl-version.patch13
-rw-r--r--pkgs/games/shattered-pixel-dungeon/generic.nix3
-rw-r--r--pkgs/games/warzone2100/default.nix2
-rw-r--r--pkgs/os-specific/linux/firmware/linux-firmware/source.nix9
-rw-r--r--pkgs/servers/ariang/default.nix6
-rw-r--r--pkgs/servers/clickhouse/default.nix18
-rw-r--r--pkgs/servers/dns/nsd/default.nix4
-rw-r--r--pkgs/servers/homepage-dashboard/default.nix5
-rw-r--r--pkgs/servers/keycloak/default.nix4
-rw-r--r--pkgs/servers/matrix-appservice-discord/default.nix1
-rw-r--r--pkgs/servers/mobilizon/cacerts_get.patch16
-rw-r--r--pkgs/servers/mobilizon/common.nix22
-rw-r--r--pkgs/servers/mobilizon/mix.nix13
-rw-r--r--pkgs/servers/monitoring/loki/default.nix4
-rw-r--r--pkgs/servers/monitoring/prometheus/default.nix6
-rw-r--r--pkgs/servers/nosql/questdb/default.nix4
-rw-r--r--pkgs/servers/pocketbase/default.nix6
-rw-r--r--pkgs/servers/rmfakecloud/default.nix1
-rw-r--r--pkgs/servers/squid/default.nix10
-rw-r--r--pkgs/servers/web-apps/moodle/default.nix4
-rw-r--r--pkgs/servers/web-apps/pict-rs/default.nix6
-rw-r--r--pkgs/stdenv/generic/check-meta.nix48
-rw-r--r--pkgs/tools/backup/zrepl/default.nix1
-rw-r--r--pkgs/tools/compression/upx/default.nix25
-rw-r--r--pkgs/tools/misc/bogofilter/default.nix22
-rw-r--r--pkgs/tools/misc/broot/default.nix6
-rw-r--r--pkgs/tools/misc/rtx/default.nix6
-rw-r--r--pkgs/tools/misc/vtm/default.nix22
-rw-r--r--pkgs/tools/networking/davix/default.nix4
-rw-r--r--pkgs/tools/networking/nebula/default.nix6
-rw-r--r--pkgs/tools/networking/ratman/default.nix6
-rw-r--r--pkgs/tools/networking/subnetcalc/default.nix35
-rw-r--r--pkgs/tools/networking/xray/default.nix6
-rw-r--r--pkgs/tools/networking/zrok/default.nix31
-rw-r--r--pkgs/tools/security/arti/default.nix6
-rw-r--r--pkgs/tools/security/saml2aws/default.nix6
-rw-r--r--pkgs/tools/security/sigma-cli/default.nix4
-rw-r--r--pkgs/tools/system/lshw/default.nix2
-rw-r--r--pkgs/tools/text/colordiff/default.nix1
-rw-r--r--pkgs/tools/text/gtree/default.nix4
-rw-r--r--pkgs/tools/video/swfmill/default.nix5
-rw-r--r--pkgs/top-level/aliases.nix1
-rw-r--r--pkgs/top-level/all-packages.nix53
-rw-r--r--pkgs/top-level/python-packages.nix4
192 files changed, 4131 insertions, 1542 deletions
diff --git a/lib/attrsets.nix b/lib/attrsets.nix
index 3d4366ce18141..9b4a8684f9b73 100644
--- a/lib/attrsets.nix
+++ b/lib/attrsets.nix
@@ -51,12 +51,19 @@ rec {
 
   /* Return if an attribute from nested attribute set exists.
 
+     **Laws**:
+      1.  ```nix
+          hasAttrByPath [] x == true
+          ```
+
      Example:
        x = { a = { b = 3; }; }
        hasAttrByPath ["a" "b"] x
        => true
        hasAttrByPath ["z" "z"] x
        => false
+       hasAttrByPath [] (throw "no need")
+       => true
 
     Type:
       hasAttrByPath :: [String] -> AttrSet -> Bool
@@ -80,6 +87,71 @@ rec {
     in
       hasAttrByPath' 0 e;
 
+  /*
+    Return the longest prefix of an attribute path that refers to an existing attribute in a nesting of attribute sets.
+
+    Can be used after [`mapAttrsRecursiveCond`](#function-library-lib.attrsets.mapAttrsRecursiveCond) to apply a condition,
+    although this will evaluate the predicate function on sibling attributes as well.
+
+    Note that the empty attribute path is valid for all values, so this function only throws an exception if any of its inputs does.
+
+    **Laws**:
+    1.  ```nix
+        attrsets.longestValidPathPrefix [] x == []
+        ```
+
+    2.  ```nix
+        hasAttrByPath (attrsets.longestValidPathPrefix p x) x == true
+        ```
+
+    Example:
+      x = { a = { b = 3; }; }
+      attrsets.longestValidPathPrefix ["a" "b" "c"] x
+      => ["a" "b"]
+      attrsets.longestValidPathPrefix ["a"] x
+      => ["a"]
+      attrsets.longestValidPathPrefix ["z" "z"] x
+      => []
+      attrsets.longestValidPathPrefix ["z" "z"] (throw "no need")
+      => []
+
+    Type:
+      attrsets.longestValidPathPrefix :: [String] -> Value -> [String]
+  */
+  longestValidPathPrefix =
+    # A list of strings representing the longest possible path that may be returned.
+    attrPath:
+    # The nested attribute set to check.
+    v:
+    let
+      lenAttrPath = length attrPath;
+      getPrefixForSetAtIndex =
+        # The nested attribute set to check, if it is an attribute set, which
+        # is not a given.
+        remainingSet:
+        # The index of the attribute we're about to check, as well as
+        # the length of the prefix we've already checked.
+        remainingPathIndex:
+
+          if remainingPathIndex == lenAttrPath then
+            # All previously checked attributes exist, and no attr names left,
+            # so we return the whole path.
+            attrPath
+          else
+            let
+              attr = elemAt attrPath remainingPathIndex;
+            in
+            if remainingSet ? ${attr} then
+              getPrefixForSetAtIndex
+                remainingSet.${attr}      # advance from the set to the attribute value
+                (remainingPathIndex + 1)  # advance the path
+            else
+              # The attribute doesn't exist, so we return the prefix up to the
+              # previously checked length.
+              take remainingPathIndex attrPath;
+    in
+      getPrefixForSetAtIndex v 0;
+
   /* Create a new attribute set with `value` set at the nested attribute location specified in `attrPath`.
 
      Example:
diff --git a/lib/strings.nix b/lib/strings.nix
index 3403f9f32bb65..49654d8abaa72 100644
--- a/lib/strings.nix
+++ b/lib/strings.nix
@@ -771,12 +771,13 @@ rec {
        cmakeOptionType "string" "ENGINE" "sdl2"
        => "-DENGINE:STRING=sdl2"
   */
-  cmakeOptionType = type: feature: value:
-    assert (lib.elem (lib.toUpper type)
-      [ "BOOL" "FILEPATH" "PATH" "STRING" "INTERNAL" ]);
-    assert (lib.isString feature);
-    assert (lib.isString value);
-    "-D${feature}:${lib.toUpper type}=${value}";
+  cmakeOptionType = let
+    types = [ "BOOL" "FILEPATH" "PATH" "STRING" "INTERNAL" ];
+  in type: feature: value:
+    assert (elem (toUpper type) types);
+    assert (isString feature);
+    assert (isString value);
+    "-D${feature}:${toUpper type}=${value}";
 
   /* Create a -D<condition>={TRUE,FALSE} string that can be passed to typical
      CMake invocations.
@@ -977,9 +978,11 @@ rec {
      Many types of value are coercible to string this way, including int, float,
      null, bool, list of similarly coercible values.
   */
-  isConvertibleWithToString = x:
+  isConvertibleWithToString = let
+    types = [ "null" "int" "float" "bool" ];
+  in x:
     isStringLike x ||
-    elem (typeOf x) [ "null" "int" "float" "bool" ] ||
+    elem (typeOf x) types ||
     (isList x && lib.all isConvertibleWithToString x);
 
   /* Check whether a value can be coerced to a string.
diff --git a/lib/tests/misc.nix b/lib/tests/misc.nix
index 608af656d02c0..2884e880e13aa 100644
--- a/lib/tests/misc.nix
+++ b/lib/tests/misc.nix
@@ -697,6 +697,51 @@ runTests {
     expected = false;
   };
 
+  testHasAttrByPathNonStrict = {
+    expr = hasAttrByPath [] (throw "do not use");
+    expected = true;
+  };
+
+  testLongestValidPathPrefix_empty_empty = {
+    expr = attrsets.longestValidPathPrefix [ ] { };
+    expected = [ ];
+  };
+
+  testLongestValidPathPrefix_empty_nonStrict = {
+    expr = attrsets.longestValidPathPrefix [ ] (throw "do not use");
+    expected = [ ];
+  };
+
+  testLongestValidPathPrefix_zero = {
+    expr = attrsets.longestValidPathPrefix [ "a" (throw "do not use") ] { d = null; };
+    expected = [ ];
+  };
+
+  testLongestValidPathPrefix_zero_b = {
+    expr = attrsets.longestValidPathPrefix [ "z" "z" ] "remarkably harmonious";
+    expected = [ ];
+  };
+
+  testLongestValidPathPrefix_one = {
+    expr = attrsets.longestValidPathPrefix [ "a" "b" "c" ] { a = null; };
+    expected = [ "a" ];
+  };
+
+  testLongestValidPathPrefix_two = {
+    expr = attrsets.longestValidPathPrefix [ "a" "b" "c" ] { a.b = null; };
+    expected = [ "a" "b" ];
+  };
+
+  testLongestValidPathPrefix_three = {
+    expr = attrsets.longestValidPathPrefix [ "a" "b" "c" ] { a.b.c = null; };
+    expected = [ "a" "b" "c" ];
+  };
+
+  testLongestValidPathPrefix_three_extra = {
+    expr = attrsets.longestValidPathPrefix [ "a" "b" "c" ] { a.b.c.d = throw "nope"; };
+    expected = [ "a" "b" "c" ];
+  };
+
   testFindFirstIndexExample1 = {
     expr = lists.findFirstIndex (x: x > 3) (abort "index found, so a default must not be evaluated") [ 1 6 4 ];
     expected = 1;
diff --git a/lib/trivial.nix b/lib/trivial.nix
index b3fb54a7add41..b2796096e8bc1 100644
--- a/lib/trivial.nix
+++ b/lib/trivial.nix
@@ -70,9 +70,7 @@ in {
      of the next function, and the last function returns the
      final value.
   */
-  pipe = val: functions:
-    let reverseApply = x: f: f x;
-    in builtins.foldl' reverseApply val functions;
+  pipe = builtins.foldl' (x: f: f x);
 
   # note please don’t add a function like `compose = flip pipe`.
   # This would confuse users, because the order of the functions
@@ -522,22 +520,20 @@ in {
 
      toHexString 250 => "FA"
   */
-  toHexString = i:
-    let
-      toHexDigit = d:
-        if d < 10
-        then toString d
-        else
-          {
-            "10" = "A";
-            "11" = "B";
-            "12" = "C";
-            "13" = "D";
-            "14" = "E";
-            "15" = "F";
-          }.${toString d};
-    in
-      lib.concatMapStrings toHexDigit (toBaseDigits 16 i);
+  toHexString = let
+    hexDigits = {
+      "10" = "A";
+      "11" = "B";
+      "12" = "C";
+      "13" = "D";
+      "14" = "E";
+      "15" = "F";
+    };
+    toHexDigit = d:
+      if d < 10
+      then toString d
+      else hexDigits.${toString d};
+  in i: lib.concatMapStrings toHexDigit (toBaseDigits 16 i);
 
   /* `toBaseDigits base i` converts the positive integer i to a list of its
      digits in the given base. For example:
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index 5811225152649..43c7e681e6a8b 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -605,6 +605,12 @@
     githubId = 4717906;
     name = "Jakub Skokan";
   };
+  ajaxbits = {
+    email = "contact@ajaxbits.com";
+    github = "ajaxbits";
+    githubId = 45179933;
+    name = "Alex Jackson";
+  };
   ajgrf = {
     email = "a@ajgrf.com";
     github = "ajgrf";
diff --git a/nixos/modules/programs/firejail.nix b/nixos/modules/programs/firejail.nix
index 6f79c13d94b44..046c31ce64f6b 100644
--- a/nixos/modules/programs/firejail.nix
+++ b/nixos/modules/programs/firejail.nix
@@ -53,7 +53,7 @@ in {
           desktop = mkOption {
             type = types.nullOr types.path;
             default = null;
-            description = lib.mkDoc ".desktop file to modify. Only necessary if it uses the absolute path to the executable.";
+            description = lib.mdDoc ".desktop file to modify. Only necessary if it uses the absolute path to the executable.";
             example = literalExpression ''"''${pkgs.firefox}/share/applications/firefox.desktop"'';
           };
           profile = mkOption {
diff --git a/nixos/modules/tasks/network-interfaces.nix b/nixos/modules/tasks/network-interfaces.nix
index 298add13437a0..53ffaa028038d 100644
--- a/nixos/modules/tasks/network-interfaces.nix
+++ b/nixos/modules/tasks/network-interfaces.nix
@@ -1396,6 +1396,8 @@ in
       "net.ipv4.conf.all.forwarding" = mkDefault (any (i: i.proxyARP) interfaces);
       "net.ipv6.conf.all.disable_ipv6" = mkDefault (!cfg.enableIPv6);
       "net.ipv6.conf.default.disable_ipv6" = mkDefault (!cfg.enableIPv6);
+      # allow all users to do ICMP echo requests (ping)
+      "net.ipv4.ping_group_range" = mkDefault "0 2147483647";
       # networkmanager falls back to "/proc/sys/net/ipv6/conf/default/use_tempaddr"
       "net.ipv6.conf.default.use_tempaddr" = tempaddrValues.${cfg.tempAddresses}.sysctl;
     } // listToAttrs (forEach interfaces
diff --git a/pkgs/applications/audio/diopser/default.nix b/pkgs/applications/audio/diopser/default.nix
index 339eae1a7ca93..67b95aef923f1 100644
--- a/pkgs/applications/audio/diopser/default.nix
+++ b/pkgs/applications/audio/diopser/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, cmake, pkg-config
+{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake, pkg-config
 , libjack2, alsa-lib, freetype, libX11, libXrandr, libXinerama, libXext, libXcursor
 }:
 
@@ -38,6 +38,14 @@ in  stdenv.mkDerivation rec {
     sha256 = "06y1h895yxh44gp4vxzrna59lf7nlfw7aacd3kk4l1g56jhy9pdx";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "fix-gcc-11-build.patch";
+      url = "https://github.com/robbert-vdh/diopser/commit/a7284439bd4e23455132e7806a214f9db12efae9.patch";
+      hash = "sha256-r3yxhnhPUQ47srhfAKeurpe2xyEBdSvqIbgqs9/6gD4=";
+    })
+  ];
+
   postUnpack = ''
     (
       cd "$sourceRoot"
diff --git a/pkgs/applications/audio/drumgizmo/default.nix b/pkgs/applications/audio/drumgizmo/default.nix
index d6f468dbc563d..08183c004fd6e 100644
--- a/pkgs/applications/audio/drumgizmo/default.nix
+++ b/pkgs/applications/audio/drumgizmo/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, alsa-lib, expat, glib, libjack2, libXext, libX11, libpng
+{ lib, stdenv, fetchurl, fetchDebianPatch, alsa-lib, expat, glib, libjack2, libXext, libX11, libpng
 , libpthreadstubs, libsmf, libsndfile, lv2, pkg-config, zita-resampler
 }:
 
@@ -11,6 +11,16 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-AF8gQLiB29j963uI84TyNHIC0qwEWOCqmZIUWGq8V2o=";
   };
 
+  patches = [
+    (fetchDebianPatch {
+      pname = "drumgizmo";
+      version = "0.9.20";
+      debianRevision = "3";
+      patch = "0005-fix_ftbfs_with_gcc13.patch";
+      hash = "sha256-y5NDZ+3t6GkBeF/5UY8dwtH8k0cuM+5SGBGPSV7AX7M=";
+    })
+  ];
+
   configureFlags = [ "--enable-lv2" ];
 
   nativeBuildInputs = [ pkg-config ];
@@ -21,7 +31,6 @@ stdenv.mkDerivation rec {
   ];
 
   meta = with lib; {
-    broken = (stdenv.isLinux && stdenv.isAarch64);
     description = "An LV2 sample based drum plugin";
     homepage = "https://www.drumgizmo.org";
     license = licenses.lgpl3Plus;
diff --git a/pkgs/applications/audio/non/default.nix b/pkgs/applications/audio/non/default.nix
index 39b8ecf7a6afb..f6f2ba3f73c9f 100644
--- a/pkgs/applications/audio/non/default.nix
+++ b/pkgs/applications/audio/non/default.nix
@@ -17,6 +17,8 @@ stdenv.mkDerivation {
                   ladspaH liblo libsigcxx lrdf
   ];
 
+  env.CXXFLAGS = "-std=c++14";
+
   meta = {
     description = "Lightweight and lightning fast modular Digital Audio Workstation";
     homepage = "http://non.tuxfamily.org";
diff --git a/pkgs/applications/blockchains/erigon/default.nix b/pkgs/applications/blockchains/erigon/default.nix
index d73a916b0de36..ae77b64c7b04a 100644
--- a/pkgs/applications/blockchains/erigon/default.nix
+++ b/pkgs/applications/blockchains/erigon/default.nix
@@ -2,7 +2,7 @@
 
 let
   pname = "erigon";
-  version = "2.54.0";
+  version = "2.55.1";
 in
 buildGoModule {
   inherit pname version;
@@ -11,11 +11,11 @@ buildGoModule {
     owner = "ledgerwatch";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-1kgbIg/3SvVT83UfwAYUixs1RQk4PP1quiOcI1mzbZ0=";
+    hash = "sha256-ttBJIx2QR3H5JFyquoGwZpWwT10r7X7GnGE4uEzuRZA=";
     fetchSubmodules = true;
   };
 
-  vendorHash = "sha256-Gr9mrME8/ZDxp2ORKessNhfguklDf+jC4RSpzLOSBhQ=";
+  vendorHash = "sha256-QLuWxec1gwMnVo0Zw8z4Ef8vzxc4xFpLL/TT986Sljo=";
   proxyVendor = true;
 
   # Build errors in mdbx when format hardening is enabled:
diff --git a/pkgs/applications/editors/howl/default.nix b/pkgs/applications/editors/howl/default.nix
index 030c6666e11dd..9406604413c4d 100644
--- a/pkgs/applications/editors/howl/default.nix
+++ b/pkgs/applications/editors/howl/default.nix
@@ -30,6 +30,7 @@ stdenv.mkDerivation rec {
     description = "A general purpose, fast and lightweight editor with a keyboard-centric minimalistic user interface";
     license = licenses.mit;
     maintainers = with maintainers; [ pacien ];
+    mainProgram = "howl";
 
     # LuaJIT and Howl builds fail for x86_64-darwin and aarch64-linux respectively
     platforms = [ "i686-linux" "x86_64-linux" ];
diff --git a/pkgs/applications/editors/vim/plugins/generated.nix b/pkgs/applications/editors/vim/plugins/generated.nix
index 63fbdcfd19b3b..63feb7a698ecb 100644
--- a/pkgs/applications/editors/vim/plugins/generated.nix
+++ b/pkgs/applications/editors/vim/plugins/generated.nix
@@ -305,12 +305,12 @@ final: prev:
 
   SchemaStore-nvim = buildVimPlugin {
     pname = "SchemaStore.nvim";
-    version = "2023-12-02";
+    version = "2023-12-08";
     src = fetchFromGitHub {
       owner = "b0o";
       repo = "SchemaStore.nvim";
-      rev = "c4f2d408542f07592a34c3a68171d36c612741b9";
-      sha256 = "0j1qng5sp5h9b478ajjx9fcx88k8sfj26s19lxi76g7a00yzm0b6";
+      rev = "177cae4f44ddf7c166ef263956378ae308ff77ff";
+      sha256 = "12q4m3c0y7qc12mhaqlf4sbyk0ffm8jbnfl29fg3zyq0shdk9lb1";
     };
     meta.homepage = "https://github.com/b0o/SchemaStore.nvim/";
   };
@@ -498,12 +498,12 @@ final: prev:
 
   actions-preview-nvim = buildVimPlugin {
     pname = "actions-preview.nvim";
-    version = "2023-11-20";
+    version = "2023-12-05";
     src = fetchFromGitHub {
       owner = "aznhe21";
       repo = "actions-preview.nvim";
-      rev = "b2c89c2937d527c22deb194d574d2a93246cd869";
-      sha256 = "0ib70ks303vy8yjjm8xrn6nyins6766w3fv223a3lbw5qrd1arc0";
+      rev = "8f79029a36ab6807478f157538a91ccd4af5858f";
+      sha256 = "0hrrrkfr2qv6fgmvc4nv3spp0d8lqq9skc3gbgnzg8m7pfai2mfx";
     };
     meta.homepage = "https://github.com/aznhe21/actions-preview.nvim/";
   };
@@ -522,12 +522,12 @@ final: prev:
 
   aerial-nvim = buildVimPlugin {
     pname = "aerial.nvim";
-    version = "2023-11-24";
+    version = "2023-12-08";
     src = fetchFromGitHub {
       owner = "stevearc";
       repo = "aerial.nvim";
-      rev = "88764566f96bf900a64b3dcd6d178cfb69b1c8ce";
-      sha256 = "1mr3p7lwhh9dgjmk6lrnibixj1lwssn9kbkva3hwlmh0zw4n5mdd";
+      rev = "ef08437108247d8805ae388f2699537eac2fd810";
+      sha256 = "1a7qqpwx8l10s0kl7s00w398yvs4923i0c1dxjl5bk6zikcxq1ix";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/stevearc/aerial.nvim/";
@@ -583,12 +583,12 @@ final: prev:
 
   ale = buildVimPlugin {
     pname = "ale";
-    version = "2023-11-19";
+    version = "2023-12-10";
     src = fetchFromGitHub {
       owner = "dense-analysis";
       repo = "ale";
-      rev = "1ccd99e113324602b4eca41fd24ba6f991e8f05d";
-      sha256 = "09cmg0w967f9x04g686w9s31yz9jx1qg7rb0jibdjv7khyl1cvqs";
+      rev = "9a23ec1f60ec85f6afb70870a1978141b321fb3c";
+      sha256 = "07gl4a5y4g2ywlj5a9zhwnfb2d4ma8b3hdkf3brls7smwknvlkn0";
     };
     meta.homepage = "https://github.com/dense-analysis/ale/";
   };
@@ -871,12 +871,12 @@ final: prev:
 
   auto-session = buildVimPlugin {
     pname = "auto-session";
-    version = "2023-08-29";
+    version = "2023-12-05";
     src = fetchFromGitHub {
       owner = "rmagatti";
       repo = "auto-session";
-      rev = "3eb26b949e1b90798e84926848551046e2eb0721";
-      sha256 = "06lyapgg0fdz6p6bas9cjrsi6qx2b8rjn8ivc3yxhp2940bqqrlf";
+      rev = "51196ca66b38fc1660fdf50031cb0b31a199b7c9";
+      sha256 = "1k0vgnn7anx6s6avbx17gyy749960ap1nds23qnsmp0pfz9x5scw";
     };
     meta.homepage = "https://github.com/rmagatti/auto-session/";
   };
@@ -955,12 +955,12 @@ final: prev:
 
   barbar-nvim = buildVimPlugin {
     pname = "barbar.nvim";
-    version = "2023-09-14";
+    version = "2023-12-07";
     src = fetchFromGitHub {
       owner = "romgrk";
       repo = "barbar.nvim";
-      rev = "283bceab39f549c5e5228212661750704fcfcd9e";
-      sha256 = "0l6gbszklfab0kgs90x2lld6mqvkyx4i439249qikx1dilyalx91";
+      rev = "a8fe0abe538f15997a543e0f653993ef3727455f";
+      sha256 = "0iiqpdhps3gmjxmzcpv5jhk09kcg99xxp16k6mijrknbp3irsz9q";
     };
     meta.homepage = "https://github.com/romgrk/barbar.nvim/";
   };
@@ -1171,12 +1171,12 @@ final: prev:
 
   bufferline-nvim = buildVimPlugin {
     pname = "bufferline.nvim";
-    version = "2023-11-29";
+    version = "2023-12-08";
     src = fetchFromGitHub {
       owner = "akinsho";
       repo = "bufferline.nvim";
-      rev = "1a3397556d194bb1f2cc530b07124ccc512c5501";
-      sha256 = "0da8kyg229n658dcybnxr2ckcaz8lmwphdmr83ajvqh3dj92rmx6";
+      rev = "ac788fbc493839c1e76daa8d119934b715fdb90e";
+      sha256 = "0zy8z80s32hqa6jsffh9wygb77dnp7zhsp2zqgbl63lpyy0ffrvc";
     };
     meta.homepage = "https://github.com/akinsho/bufferline.nvim/";
   };
@@ -1243,24 +1243,24 @@ final: prev:
 
   ccc-nvim = buildVimPlugin {
     pname = "ccc.nvim";
-    version = "2023-11-11";
+    version = "2023-12-10";
     src = fetchFromGitHub {
       owner = "uga-rosa";
       repo = "ccc.nvim";
-      rev = "f77b477d9f0b9a28612212b3fc43145f2a5591cc";
-      sha256 = "0xp4h8yhlm9kfr4m5446g95mvqr4imhrzwhg726hrdkfs04b1hzq";
+      rev = "201d82aaa7e4d80ce4e4df11333954bea880c095";
+      sha256 = "18ah7yyqlz2f8srsb2q9pniwx5rwrp66ayaz7v4kq5acfs39ld13";
     };
     meta.homepage = "https://github.com/uga-rosa/ccc.nvim/";
   };
 
   chadtree = buildVimPlugin {
     pname = "chadtree";
-    version = "2023-10-07";
+    version = "2023-12-05";
     src = fetchFromGitHub {
       owner = "ms-jpq";
       repo = "chadtree";
-      rev = "f205444ad5666c5fe47f5d6248351a9fe7af574b";
-      sha256 = "1rc68r9nx4nycnbl4pqr7lh31wv5xzrx34swsk191qkxl0fvzx2b";
+      rev = "157d4a262ee85866e684c644fa8335818b770798";
+      sha256 = "0gspf48ax8gncfsg4h9anpn2i8xqvs264pcjndchczk26m90l32b";
     };
     meta.homepage = "https://github.com/ms-jpq/chadtree/";
   };
@@ -1519,12 +1519,12 @@ final: prev:
 
   cmp-dap = buildVimPlugin {
     pname = "cmp-dap";
-    version = "2022-11-13";
+    version = "2023-12-10";
     src = fetchFromGitHub {
       owner = "rcarriga";
       repo = "cmp-dap";
-      rev = "d16f14a210cd28988b97ca8339d504533b7e09a4";
-      sha256 = "1rqn5jbvca0yfsa7nhm6j0xss0hidvvqa5yks60vv3apkilhds63";
+      rev = "ea92773e84c0ad3288c3bc5e452ac91559669087";
+      sha256 = "0xa3qh1bnr5s5fzxjziq30rjp9sdsb5vpf209qrna9972zhlnby2";
     };
     meta.homepage = "https://github.com/rcarriga/cmp-dap/";
   };
@@ -1675,12 +1675,12 @@ final: prev:
 
   cmp-nvim-lsp = buildVimPlugin {
     pname = "cmp-nvim-lsp";
-    version = "2023-06-23";
+    version = "2023-12-10";
     src = fetchFromGitHub {
       owner = "hrsh7th";
       repo = "cmp-nvim-lsp";
-      rev = "44b16d11215dce86f253ce0c30949813c0a90765";
-      sha256 = "1ny64ls3z9pcflsg3sd7xnd795mcfbqhyan3bk4ymxgv5jh2qkcr";
+      rev = "5af77f54de1b16c34b23cba810150689a3a90312";
+      sha256 = "03q0v6wgi1lphcfjjdsc26zhnmj3ab9xxsiyp1adl3s1ybv22jzz";
     };
     meta.homepage = "https://github.com/hrsh7th/cmp-nvim-lsp/";
   };
@@ -1855,12 +1855,12 @@ final: prev:
 
   cmp-treesitter = buildVimPlugin {
     pname = "cmp-treesitter";
-    version = "2023-10-06";
+    version = "2023-12-09";
     src = fetchFromGitHub {
       owner = "ray-x";
       repo = "cmp-treesitter";
-      rev = "b8bc760dfcc624edd5454f0982b63786a822eed9";
-      sha256 = "01fz8hj7qadg2h8q0d3xv7x9q0qsykbbvv6bdnw71j74rid4xw7k";
+      rev = "13e4ef8f4dd5639fca2eb9150e68f47639a9b37d";
+      sha256 = "10375kviak1wxklha79g8gbk8pph8finsb3wga6p7mw1m657vc9b";
     };
     meta.homepage = "https://github.com/ray-x/cmp-treesitter/";
   };
@@ -1975,12 +1975,12 @@ final: prev:
 
   coc-lua = buildVimPlugin {
     pname = "coc-lua";
-    version = "2023-02-22";
+    version = "2023-12-08";
     src = fetchFromGitHub {
       owner = "josa42";
       repo = "coc-lua";
-      rev = "995a70cde230fd5ae0b670ff75b8b00b45312126";
-      sha256 = "1yfrbrwl1iq3h25xlgcnxwnz31d0bxcpcxjw76fjfhxwa2l7iy5g";
+      rev = "ceedce75a82b3a6d33f33df7c079b5f7bd7ed952";
+      sha256 = "1jzwywq5pys40iykfsdfczd34yjy7m4an812w2y44brzydglmxmm";
     };
     meta.homepage = "https://github.com/josa42/coc-lua/";
   };
@@ -2047,12 +2047,12 @@ final: prev:
 
   codeium-vim = buildVimPlugin {
     pname = "codeium.vim";
-    version = "2023-11-27";
+    version = "2023-12-08";
     src = fetchFromGitHub {
       owner = "Exafunction";
       repo = "codeium.vim";
-      rev = "2a0c0b7fecee38a52fe750563ff70cff45f768b0";
-      sha256 = "0a8j82lf4vhjwlghggm724m5lnd74ajjv6p77vdpyhg2b0xd756n";
+      rev = "cf55f8d0cc4e0505432fca6501160f775fe0e605";
+      sha256 = "0b4bkmskmglr6sh2l1gz1mg81qsg9w61dbhabn9qzqnsryj96r6k";
     };
     meta.homepage = "https://github.com/Exafunction/codeium.vim/";
   };
@@ -2287,12 +2287,12 @@ final: prev:
 
   conform-nvim = buildVimPlugin {
     pname = "conform.nvim";
-    version = "2023-12-01";
+    version = "2023-12-10";
     src = fetchFromGitHub {
       owner = "stevearc";
       repo = "conform.nvim";
-      rev = "e8ac7f1a9a3973ecce6942b2f26d16e65902aa70";
-      sha256 = "127shx9vzq9rkjk44xpr24w76b51fywwrni6nvrdq29swqdpk9yw";
+      rev = "fb9b0500270ba05b89cc27cd8b7762443bcfae22";
+      sha256 = "0acy9r36p6xh4xyh0p7a3sw3mmfih8bgixx3qb9ikq3sbmdqmnh3";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/stevearc/conform.nvim/";
@@ -2300,12 +2300,12 @@ final: prev:
 
   conjure = buildVimPlugin {
     pname = "conjure";
-    version = "2023-08-27";
+    version = "2023-12-07";
     src = fetchFromGitHub {
       owner = "Olical";
       repo = "conjure";
-      rev = "58c46d1f4999679659a5918284b574c266a7ac83";
-      sha256 = "1pjjp2g9h98ghraky57iss5ls37k47iw8ii3q558nym4mknhx06d";
+      rev = "4880144f13a7693cded529b302de491bfbaedbd6";
+      sha256 = "13rixqrw1hdpfxzz8qkwcvf1a2plcrv5mz6aaaa8vdksa3vica8i";
     };
     meta.homepage = "https://github.com/Olical/conjure/";
   };
@@ -2444,12 +2444,12 @@ final: prev:
 
   crates-nvim = buildVimPlugin {
     pname = "crates.nvim";
-    version = "2023-11-29";
+    version = "2023-12-04";
     src = fetchFromGitHub {
       owner = "saecki";
       repo = "crates.nvim";
-      rev = "a8b8f60c33b16c8ef22f8064166daa29a47fca4a";
-      sha256 = "0r86h7lpcicbh4453vigryi238kmsx149ffs6n53n898wlkla6pi";
+      rev = "b8ea20fda2e1029fbbb1bae7a9eab35c84037ca0";
+      sha256 = "19anqljinfw86p6x0pig2iqcm4v2wjgjsciin52x2y9w60vfdrjy";
     };
     meta.homepage = "https://github.com/saecki/crates.nvim/";
   };
@@ -2672,24 +2672,24 @@ final: prev:
 
   denops-vim = buildVimPlugin {
     pname = "denops.vim";
-    version = "2023-11-26";
+    version = "2023-12-11";
     src = fetchFromGitHub {
       owner = "vim-denops";
       repo = "denops.vim";
-      rev = "6c7ebef6f71b948a152c09bd844fba00f8fee3d6";
-      sha256 = "1qsfxw6yq6rpgmfmisqj4n30p5llb469zfg7iy4ri1r046pjv8yb";
+      rev = "886bfa038d75d415677f8a7a62e8940c74554707";
+      sha256 = "1rj760wlsk93i7w1ynk4wsq6qrz2lr0yqw2bfzwrbp17kdp4h02k";
     };
     meta.homepage = "https://github.com/vim-denops/denops.vim/";
   };
 
   deol-nvim = buildVimPlugin {
     pname = "deol.nvim";
-    version = "2023-08-21";
+    version = "2023-12-09";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "deol.nvim";
-      rev = "51d2367d3373457327e583819c00381387b8c51e";
-      sha256 = "1pns3j5f4ls2hdcwydka3r9qp43rr4p392pkcxz807jyrzjzrbdi";
+      rev = "0fcdadc7636ef82636e972c4c651fb77e3cf1954";
+      sha256 = "14nhfxaxd771rh784acs1s21cvlx8877wsb9qmyk821sljb4hcwn";
     };
     meta.homepage = "https://github.com/Shougo/deol.nvim/";
   };
@@ -3058,12 +3058,12 @@ final: prev:
 
   dropbar-nvim = buildVimPlugin {
     pname = "dropbar.nvim";
-    version = "2023-12-03";
+    version = "2023-12-09";
     src = fetchFromGitHub {
       owner = "Bekaboo";
       repo = "dropbar.nvim";
-      rev = "2b7c2d53363cb3d93376904dac3ea6d52dd900c5";
-      sha256 = "0kwsdil034a1cqy0ccyhy7hpzn4pnxcb0b4g0p3y09wk935mwdrk";
+      rev = "9405df5f20aea9e7f6ce056da2f50bd755a7a2e7";
+      sha256 = "170g3akg93f02xpyb0yacdydv2x2l9ha2213mqqzb2njmijhsjhs";
     };
     meta.homepage = "https://github.com/Bekaboo/dropbar.nvim/";
   };
@@ -3143,12 +3143,12 @@ final: prev:
 
   efmls-configs-nvim = buildVimPlugin {
     pname = "efmls-configs-nvim";
-    version = "2023-11-29";
+    version = "2023-12-10";
     src = fetchFromGitHub {
       owner = "creativenull";
       repo = "efmls-configs-nvim";
-      rev = "ff84e0402907f9557778bd6cb32f9d5b1552ffaf";
-      sha256 = "01f3al8hncjj043q6490gzxz38sjv7if49148116yfdbipj1lf60";
+      rev = "b65b2ff723f3057e871eb2b0c1418490e1539e38";
+      sha256 = "0kfj7q8s0kx4x6v08ybwbw35hpw5cc4ihj0w5l05rlbw69a6n87b";
     };
     meta.homepage = "https://github.com/creativenull/efmls-configs-nvim/";
   };
@@ -3336,12 +3336,12 @@ final: prev:
 
   fern-vim = buildVimPlugin {
     pname = "fern.vim";
-    version = "2023-08-26";
+    version = "2023-12-04";
     src = fetchFromGitHub {
       owner = "lambdalisue";
       repo = "fern.vim";
-      rev = "e295f0df5735a042f63b05218118646809ba9d27";
-      sha256 = "1qldf9k9h5jjn5gyadpln6mc8qsw9f18qqmfrdbl88rr99kx9c32";
+      rev = "56f8e4c79da01eecb0f7f3803c051cd23c803b35";
+      sha256 = "13bfp6qgvxx4xbngnpssxv8z1w2f63jalhj69haazaca8yhr4599";
     };
     meta.homepage = "https://github.com/lambdalisue/fern.vim/";
   };
@@ -3360,12 +3360,12 @@ final: prev:
 
   fidget-nvim = buildVimPlugin {
     pname = "fidget.nvim";
-    version = "2023-11-28";
+    version = "2023-12-09";
     src = fetchFromGitHub {
       owner = "j-hui";
       repo = "fidget.nvim";
-      rev = "785efc604f6ffe3c3fdd2ea86262804d48863ee1";
-      sha256 = "01c0pcfvr2acpc70ljmr2dcmg6mvfyvsr9inxgwxv347pdi8phll";
+      rev = "7dc62b9ce32ac0f21cfb510f243644ce28a39299";
+      sha256 = "15llm2qy0bgsb0gbyk0p841182cyx3rxa3m3ij378av9kcmcr9kf";
     };
     meta.homepage = "https://github.com/j-hui/fidget.nvim/";
   };
@@ -3421,12 +3421,12 @@ final: prev:
 
   flatten-nvim = buildVimPlugin {
     pname = "flatten.nvim";
-    version = "2023-11-28";
+    version = "2023-12-09";
     src = fetchFromGitHub {
       owner = "willothy";
       repo = "flatten.nvim";
-      rev = "51dd9a0a83138aee3bd9fc402ce79f9db50af7fa";
-      sha256 = "17mg19d7n1bcmkv6q4fx60v1pmq7ll2qxqycybfrd82458wcbc6z";
+      rev = "c78c5200899d2afd171d9d2bf09e139e3710eeb6";
+      sha256 = "19r1nndapqg7d3a5h4sfbknh4331vg5lncdz39zknb9bv8721mby";
     };
     meta.homepage = "https://github.com/willothy/flatten.nvim/";
   };
@@ -3649,12 +3649,12 @@ final: prev:
 
   fzf-lua = buildVimPlugin {
     pname = "fzf-lua";
-    version = "2023-12-01";
+    version = "2023-12-10";
     src = fetchFromGitHub {
       owner = "ibhagwan";
       repo = "fzf-lua";
-      rev = "a1a2d0f42eaec400cc6918a8e898fc1f9c4dbc5f";
-      sha256 = "14pdspy8932fh5w247vqs0fyywb6mwg1af9sk5irgxfsv7c0xlg2";
+      rev = "46b5be64aa9e7b1cf7d9c29a0e80f7f9a2250007";
+      sha256 = "070q3yh2cy210z36k5zycxnga83r1hdalg2y7sgmamc6yfyc7gz0";
     };
     meta.homepage = "https://github.com/ibhagwan/fzf-lua/";
   };
@@ -3817,12 +3817,12 @@ final: prev:
 
   gitsigns-nvim = buildNeovimPlugin {
     pname = "gitsigns.nvim";
-    version = "2023-11-29";
+    version = "2023-12-10";
     src = fetchFromGitHub {
       owner = "lewis6991";
       repo = "gitsigns.nvim";
-      rev = "6ef8c54fb526bf3a0bc4efb0b2fe8e6d9a7daed2";
-      sha256 = "086jmhzgpavwjvp7ssd8ga0wxgnz480zzjiv84h4ivva2nv3lnvi";
+      rev = "6e05045fb1a4845fe44f5c54aafe024444c422ba";
+      sha256 = "0wj7cbh9rf77zzzylnx6fahvs7ygnjmqpkm95vaixbg5v5f0hdwj";
     };
     meta.homepage = "https://github.com/lewis6991/gitsigns.nvim/";
   };
@@ -4045,12 +4045,12 @@ final: prev:
 
   gv-vim = buildVimPlugin {
     pname = "gv.vim";
-    version = "2023-10-28";
+    version = "2023-12-10";
     src = fetchFromGitHub {
       owner = "junegunn";
       repo = "gv.vim";
-      rev = "c67a016566e03d8936c7386e626f88956e87761e";
-      sha256 = "0r2qgv22y3d2gb9l0wvgz3y9f3svn2ppydwr4rs42nyh56z702fd";
+      rev = "b6bb6664e2c95aa584059f195eb3a9f3cb133994";
+      sha256 = "06wr0krg23xy9j36chypxcnd88cvds85jk0ajbl3pvg53x0qigad";
     };
     meta.homepage = "https://github.com/junegunn/gv.vim/";
   };
@@ -4069,35 +4069,35 @@ final: prev:
 
   hare-vim = buildVimPlugin {
     pname = "hare.vim";
-    version = "2023-10-24";
+    version = "2023-12-09";
     src = fetchgit {
       url = "https://git.sr.ht/~sircmpwn/hare.vim";
-      rev = "92c63717c27584b53e6c9c9594e47a1840a8e107";
-      sha256 = "0z4gm1p06li8fx9h0zjwbimhz8jfl9akh98a5l4q0qv211bpn0ya";
+      rev = "9cbc973fa49a771ca21e85cc34da5c2ff3fb365d";
+      sha256 = "17fv3chxmd4dh4sl1i20sq7qkbv36j0c0f0ivlxgr8q9m5j8mnz7";
     };
     meta.homepage = "https://git.sr.ht/~sircmpwn/hare.vim";
   };
 
   harpoon = buildVimPlugin {
     pname = "harpoon";
-    version = "2023-12-02";
+    version = "2023-12-01";
     src = fetchFromGitHub {
       owner = "ThePrimeagen";
       repo = "harpoon";
-      rev = "581da797f9d66485f841525af596255270c2bcf5";
-      sha256 = "1fnxjwsrsm0qdf9a20nfxy58dy1dv8l70w4ipqn4lh0hd36ziacr";
+      rev = "867e212ac153e793f95b316d1731f3ca1894625e";
+      sha256 = "0ilawmxl31fm0iw7ql0nnxwnh1k8yyykdc8030w3fjz9yr9vm39n";
     };
     meta.homepage = "https://github.com/ThePrimeagen/harpoon/";
   };
 
   haskell-tools-nvim = buildNeovimPlugin {
     pname = "haskell-tools.nvim";
-    version = "2023-12-03";
+    version = "2023-12-10";
     src = fetchFromGitHub {
       owner = "MrcJkb";
       repo = "haskell-tools.nvim";
-      rev = "b345179204a3c4fd38b8d7699989d51d7d6febfe";
-      sha256 = "1yzcap9drf9nl2ygmwl8b8napfx8fkx4wmrrhazb1p25921srs0m";
+      rev = "488283589a6c12184099bfa0d6e1626399d7f3e0";
+      sha256 = "0ab8b6qvpdjh2hmpnhp15rfah54kdj6aqx8bvd9rbgs1ir6vzk39";
     };
     meta.homepage = "https://github.com/MrcJkb/haskell-tools.nvim/";
   };
@@ -4271,12 +4271,12 @@ final: prev:
 
   hotpot-nvim = buildVimPlugin {
     pname = "hotpot.nvim";
-    version = "2023-12-01";
+    version = "2023-12-03";
     src = fetchFromGitHub {
       owner = "rktjmp";
       repo = "hotpot.nvim";
-      rev = "05d9325e14ee1af9114b5c4586d1b200e75ccac9";
-      sha256 = "1ffhx1i9p7a13k6qmpry507ypk45sff6api5nnnc709bd7360743";
+      rev = "bedc290557817b0ebf97d2b389bc5bb596a25bd7";
+      sha256 = "05yfk3z4rycvrsiz9g0jr2a1igllvkjn1f4vbypq552iarn08bsw";
     };
     meta.homepage = "https://github.com/rktjmp/hotpot.nvim/";
   };
@@ -4439,12 +4439,12 @@ final: prev:
 
   indent-blankline-nvim = buildVimPlugin {
     pname = "indent-blankline.nvim";
-    version = "2023-12-02";
+    version = "2023-12-06";
     src = fetchFromGitHub {
       owner = "lukas-reineke";
       repo = "indent-blankline.nvim";
-      rev = "dbd90bb689ff10d21fee6792eb8928f0584b5860";
-      sha256 = "1fbx8l5m09qyis4d767gmmwa9rgify6vwjvj3b1jqfzhlz1fmd24";
+      rev = "7206c77cb931f79885fc47f88ae18f99148392eb";
+      sha256 = "0ijn9jlhr8dl5l3jhsy8n59z0wcikl327agqwnc7hmzsxjal2xfv";
     };
     meta.homepage = "https://github.com/lukas-reineke/indent-blankline.nvim/";
   };
@@ -4608,12 +4608,12 @@ final: prev:
 
   jellybeans-nvim = buildVimPlugin {
     pname = "jellybeans-nvim";
-    version = "2022-03-21";
+    version = "2023-12-07";
     src = fetchFromGitHub {
       owner = "metalelf0";
       repo = "jellybeans-nvim";
-      rev = "f77b75443adf6461ded30de0243f49771f933d06";
-      sha256 = "187xvsfg9ac04006bzcwdi03l5cnzg3rg7ak1s9n8wb66s25vrpx";
+      rev = "12a8687daf82bb4f69c5cb1dcc672bd9c5e6a094";
+      sha256 = "1rplnwvakz18f9r585p36xy3g2iskk53qp54a0hjyjagpqc3by5n";
     };
     meta.homepage = "https://github.com/metalelf0/jellybeans-nvim/";
   };
@@ -4824,12 +4824,12 @@ final: prev:
 
   lean-nvim = buildVimPlugin {
     pname = "lean.nvim";
-    version = "2023-11-26";
+    version = "2023-12-10";
     src = fetchFromGitHub {
       owner = "Julian";
       repo = "lean.nvim";
-      rev = "73e9844702f7b80344e89e3fb465fc1550dd3658";
-      sha256 = "0xq48hdv3hh52rs561m359ccvr7qpv867agxql9qh4yf9v3kw764";
+      rev = "1bfcbea057c7daa81427c07440145a065339474a";
+      sha256 = "0y5cdk8p0dkqx44h7kzs9f7j4jjmqcg7d029wj00m6wvb81618f3";
     };
     meta.homepage = "https://github.com/Julian/lean.nvim/";
   };
@@ -4860,12 +4860,12 @@ final: prev:
 
   leap-nvim = buildVimPlugin {
     pname = "leap.nvim";
-    version = "2023-12-01";
+    version = "2023-12-09";
     src = fetchFromGitHub {
       owner = "ggandor";
       repo = "leap.nvim";
-      rev = "d55acc28ecc1f3ab3c396afd1f8b11a239285d9b";
-      sha256 = "0g4savdihdh15lddh5yj8vq5py9flzl59dqc93w6yx2kvj1r9ad2";
+      rev = "f91c7386e310aacd0505c69b9e69318c9ed320e1";
+      sha256 = "0bi082kyclyzxarlg82yizgv3ipgs705gxy5yli2806yg487ighj";
     };
     meta.homepage = "https://github.com/ggandor/leap.nvim/";
   };
@@ -5148,12 +5148,12 @@ final: prev:
 
   lsp-format-nvim = buildVimPlugin {
     pname = "lsp-format.nvim";
-    version = "2023-09-13";
+    version = "2023-12-11";
     src = fetchFromGitHub {
       owner = "lukas-reineke";
       repo = "lsp-format.nvim";
-      rev = "e8782a5468a4849ae440a1531be559d85aebe142";
-      sha256 = "04rpqhp66icj4l21wj6pk15mj2v78yhphccylgkjky8934rqpn6r";
+      rev = "31fc250a412ab24555b389f61fac0330f6bb7660";
+      sha256 = "18kr0avk2vcv6fp9nw2y53ssl5lbv4vh8g9sav123anlqpvd756x";
     };
     meta.homepage = "https://github.com/lukas-reineke/lsp-format.nvim/";
   };
@@ -5208,12 +5208,12 @@ final: prev:
 
   lsp-zero-nvim = buildVimPlugin {
     pname = "lsp-zero.nvim";
-    version = "2023-11-28";
+    version = "2023-12-10";
     src = fetchFromGitHub {
       owner = "VonHeikemen";
       repo = "lsp-zero.nvim";
-      rev = "98fe58a00c69f709b6b65e53aed56d86da92a4b7";
-      sha256 = "1sacv394xy4i5y63r7pyv5xgkmlwjjwxvml0rsasgiwnsrmgagw7";
+      rev = "b9044716e675354357ab8269ccf7bd0fcdc0991e";
+      sha256 = "0fmnpk6ahj5idg7dbpv68ww0bdnl8gpja1m0s3xcyn60gykkksk6";
     };
     meta.homepage = "https://github.com/VonHeikemen/lsp-zero.nvim/";
   };
@@ -5279,12 +5279,12 @@ final: prev:
 
   lspsaga-nvim = buildVimPlugin {
     pname = "lspsaga.nvim";
-    version = "2023-12-01";
+    version = "2023-12-11";
     src = fetchFromGitHub {
       owner = "nvimdev";
       repo = "lspsaga.nvim";
-      rev = "e9f08958e5f8410cadaa6388844788aedec5f78a";
-      sha256 = "1rhrjh36nlwrms9ikd3vfmvf1lh5m8wqx79n82g68lkaxch6g8v1";
+      rev = "335805d4f591f5bb71cabb6aa4dc58ccef8e8617";
+      sha256 = "0b4z2br4w8gh7yxgdnr6700pp7wm479d83bgglgbfvz7v97xjj25";
     };
     meta.homepage = "https://github.com/nvimdev/lspsaga.nvim/";
   };
@@ -5327,12 +5327,12 @@ final: prev:
 
   luasnip = buildNeovimPlugin {
     pname = "luasnip";
-    version = "2023-12-02";
+    version = "2023-12-05";
     src = fetchFromGitHub {
       owner = "l3mon4d3";
       repo = "luasnip";
-      rev = "f03089854a8e15594a01562fa7192d0009a6fbe7";
-      sha256 = "1ghr6h14004gydf5gjxny4szb0v9brydv1j8rd3x1z87m0jp7hk6";
+      rev = "954c81b53989097faaff0fabc11c29575288c3e1";
+      sha256 = "1a7yz1clg750fbhkv81c5igqd90b9sa9y8c6dy6prcmkyyn1756a";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/l3mon4d3/luasnip/";
@@ -5352,12 +5352,12 @@ final: prev:
 
   lush-nvim = buildNeovimPlugin {
     pname = "lush.nvim";
-    version = "2023-09-23";
+    version = "2023-12-05";
     src = fetchFromGitHub {
       owner = "rktjmp";
       repo = "lush.nvim";
-      rev = "966aad1accd47fa11fbe2539234f81f678fef2de";
-      sha256 = "0g1xib2k42py9qqccjz11qk52ri0drgdk5rb0ls7wzx4v636k15h";
+      rev = "f76741886b356586f9dfe8e312fbd1ab0fd1084f";
+      sha256 = "1jvfycqg5s72gmib8038kzyy8fyanl06mkz74rjy878zv8r6nf59";
     };
     meta.homepage = "https://github.com/rktjmp/lush.nvim/";
   };
@@ -5436,12 +5436,12 @@ final: prev:
 
   mason-lspconfig-nvim = buildVimPlugin {
     pname = "mason-lspconfig.nvim";
-    version = "2023-12-01";
+    version = "2023-12-04";
     src = fetchFromGitHub {
       owner = "williamboman";
       repo = "mason-lspconfig.nvim";
-      rev = "4eb8e15e3c0757303d4c6dea64d2981fc679e990";
-      sha256 = "0ng3zhxcxdkpwd4zy17yl51h7bhknd3qv8j6rkbq1js237zv027p";
+      rev = "9453e3d6cd2ca45d96e20f343e8f1b927364b630";
+      sha256 = "0994snszl17k3hr0dc1msh8rpgry2vavbsrkbv1ilfxdj2kgmg5a";
     };
     meta.homepage = "https://github.com/williamboman/mason-lspconfig.nvim/";
   };
@@ -5556,12 +5556,12 @@ final: prev:
 
   mini-nvim = buildVimPlugin {
     pname = "mini.nvim";
-    version = "2023-12-01";
+    version = "2023-12-10";
     src = fetchFromGitHub {
       owner = "echasnovski";
       repo = "mini.nvim";
-      rev = "6d1cbcaec421b3768088b4047e78ce22e5503b99";
-      sha256 = "1924d432sym9qbp2q9h9gj5ky81vnxq1y4zzfrg5ay76clplaa95";
+      rev = "c87d3b73d763d4222cdef19323e6a2c4bee33013";
+      sha256 = "1dd5k3pbd8fnnb8smbfi2af3d21190w587slixljzym2vhkm3072";
     };
     meta.homepage = "https://github.com/echasnovski/mini.nvim/";
   };
@@ -5592,12 +5592,12 @@ final: prev:
 
   mkdnflow-nvim = buildVimPlugin {
     pname = "mkdnflow.nvim";
-    version = "2023-11-28";
+    version = "2023-12-07";
     src = fetchFromGitHub {
       owner = "jakewvincent";
       repo = "mkdnflow.nvim";
-      rev = "f23b219b11bf2ac242db80809186241f944410cf";
-      sha256 = "1yclcdmw6r7fr7zx7rzjnf6h20n7y1nlfnz932yjnc233dq9kdsy";
+      rev = "aae9a1f7ea5c9e1ad8ae22d4841a336d9f3945bb";
+      sha256 = "0cm9g5czzwfqj1km5vddknfhp1w5aab42w7jfxiandadpk09wrki";
     };
     meta.homepage = "https://github.com/jakewvincent/mkdnflow.nvim/";
   };
@@ -5628,12 +5628,12 @@ final: prev:
 
   modus-themes-nvim = buildVimPlugin {
     pname = "modus-themes.nvim";
-    version = "2023-11-07";
+    version = "2023-12-10";
     src = fetchFromGitHub {
       owner = "miikanissi";
       repo = "modus-themes.nvim";
-      rev = "bd5c541f13ee77c6df5d6a5d5c321ab907aa5e11";
-      sha256 = "1xm691bghn9618czifsrymcxmqjhamk8vj8g790r2bm42lgwcs84";
+      rev = "ecad3150f139d96b0f9d73edc3c6cb8b147f336e";
+      sha256 = "1g2k3savbkhfwjglrrz89f92id9v6dz0lv8nricip6410p4qzc2a";
     };
     meta.homepage = "https://github.com/miikanissi/modus-themes.nvim/";
   };
@@ -5652,24 +5652,24 @@ final: prev:
 
   molten-nvim = buildVimPlugin {
     pname = "molten-nvim";
-    version = "2023-11-30";
+    version = "2023-12-10";
     src = fetchFromGitHub {
       owner = "benlubas";
       repo = "molten-nvim";
-      rev = "93f2f168e77cbd82a881e07030cdbd45a48ed070";
-      sha256 = "0rvzxd2y3lrmwc0q2vrz5fr42qy682jkrqr3iwydxbwipp6ky7s2";
+      rev = "883ecb358e3b4dca9a83daa05b51f22b81f878e9";
+      sha256 = "00x89gb56rx310mg7bx03x14m1s3110bn9lxpwpbx9hdy01gyz9n";
     };
     meta.homepage = "https://github.com/benlubas/molten-nvim/";
   };
 
   monokai-pro-nvim = buildVimPlugin {
     pname = "monokai-pro.nvim";
-    version = "2023-10-30";
+    version = "2023-12-08";
     src = fetchFromGitHub {
       owner = "loctvl842";
       repo = "monokai-pro.nvim";
-      rev = "70c384c43b9e19b59df3d6489b544ad4df155100";
-      sha256 = "0ddsfh39f6s1z2a42qgk8w0fl02j6xvsqqjcf4zqw32mgyfhwf6i";
+      rev = "6e7ce88ab4ddfcdeac65161d233a43e906940a0c";
+      sha256 = "1ifvas0zfyw69a4n0hkp1m0866fh42vmmli0hnbjlls347bj3s98";
     };
     meta.homepage = "https://github.com/loctvl842/monokai-pro.nvim/";
   };
@@ -5964,12 +5964,12 @@ final: prev:
 
   neo-tree-nvim = buildVimPlugin {
     pname = "neo-tree.nvim";
-    version = "2023-11-18";
+    version = "2023-12-10";
     src = fetchFromGitHub {
       owner = "nvim-neo-tree";
       repo = "neo-tree.nvim";
-      rev = "230ff118613fa07138ba579b89d13ec2201530b9";
-      sha256 = "13ma0zh6jbh8dbinczbanwf1jy20sac9qxx7v9h174gbyzpc079m";
+      rev = "77d9f484b88fd380386b46ed9206e5374d69d9d8";
+      sha256 = "0gy572bd6zq56p05i5jhgp2mcfdap4b9qf2vj5nr8j3qh3v90ghq";
     };
     meta.homepage = "https://github.com/nvim-neo-tree/neo-tree.nvim/";
   };
@@ -6012,12 +6012,12 @@ final: prev:
 
   neodev-nvim = buildVimPlugin {
     pname = "neodev.nvim";
-    version = "2023-11-30";
+    version = "2023-12-07";
     src = fetchFromGitHub {
       owner = "folke";
       repo = "neodev.nvim";
-      rev = "1676d2c24186fc30005317e0306d20c639b2351b";
-      sha256 = "1iv3nkzn2p7dbyzdzir0iw3yzvczj6mskz01yiwv9jgq0dpl9rzc";
+      rev = "c4ce017bd4bacf60bf59330cec9e93c5d5e104a6";
+      sha256 = "18qz4540m9b8xz849w9n8w8x4m8zp8bbqxv3cs9gqsg4k0asl1wl";
     };
     meta.homepage = "https://github.com/folke/neodev.nvim/";
   };
@@ -6048,12 +6048,12 @@ final: prev:
 
   neogit = buildVimPlugin {
     pname = "neogit";
-    version = "2023-12-01";
+    version = "2023-12-10";
     src = fetchFromGitHub {
       owner = "NeogitOrg";
       repo = "neogit";
-      rev = "d0e87541130b2cf62d7f8a54487ef99560232fb6";
-      sha256 = "16mmrhn83k8jrjavxbzq5ql32q2c9jqdgfx3a6hd2iv810y664qi";
+      rev = "cebebcde2af56522249199f375513cc1d74430ac";
+      sha256 = "0bmvisz5swgxzxh6hw986cmx5a5h63yzn7fx4mgf9cxnba9vpy7k";
     };
     meta.homepage = "https://github.com/NeogitOrg/neogit/";
   };
@@ -6120,12 +6120,12 @@ final: prev:
 
   neorg = buildVimPlugin {
     pname = "neorg";
-    version = "2023-12-01";
+    version = "2023-12-08";
     src = fetchFromGitHub {
       owner = "nvim-neorg";
       repo = "neorg";
-      rev = "bf3daa2229c60f92f48ac6d7db3049b65fd01371";
-      sha256 = "0si90zng5x0p6qcrzzib8gifbxxw3m3sqbh22jiwwdjxwr3vhy9d";
+      rev = "baaf13a3145534144b795ad37db22bfffd2ad343";
+      sha256 = "16h4ilsd1syb10d7l1a5dj9fxfrdlccjcr8b5xjlb9vckzw2l2ci";
     };
     meta.homepage = "https://github.com/nvim-neorg/neorg/";
   };
@@ -6144,12 +6144,12 @@ final: prev:
 
   neoscroll-nvim = buildVimPlugin {
     pname = "neoscroll.nvim";
-    version = "2023-11-10";
+    version = "2023-12-08";
     src = fetchFromGitHub {
       owner = "karb94";
       repo = "neoscroll.nvim";
-      rev = "e85740d1a54ab0f10127b08c67a291053bc3acfa";
-      sha256 = "0klmrkmhc3b52v7f03dvhysywixkh2zqqllq7sbrs278gnlxm2yl";
+      rev = "be4ebf855a52f71ca4338694a5696675d807eff9";
+      sha256 = "1yqh9ig3w8kyzksv8sv7xsc2rk2l637q54g4wv8zqwz226cw56ws";
     };
     meta.homepage = "https://github.com/karb94/neoscroll.nvim/";
   };
@@ -6192,12 +6192,12 @@ final: prev:
 
   neotest = buildVimPlugin {
     pname = "neotest";
-    version = "2023-11-13";
+    version = "2023-12-10";
     src = fetchFromGitHub {
       owner = "nvim-neotest";
       repo = "neotest";
-      rev = "d424d262d01bccc1e0b038c9a7220a755afd2a1f";
-      sha256 = "1sg8m77hik1gffrqy4038sivhr8yhg536dp6yr5gbnbrjvc35dgm";
+      rev = "8782d83869c64700fa419bd5278f4f62c80a2c1a";
+      sha256 = "1xk7n8zx6nm0pr4fp3rn9iy806nyq9rjqgarvjc6h59r4ic3l147";
     };
     meta.homepage = "https://github.com/nvim-neotest/neotest/";
   };
@@ -6265,12 +6265,12 @@ final: prev:
 
   neotest-haskell = buildVimPlugin {
     pname = "neotest-haskell";
-    version = "2023-12-03";
+    version = "2023-12-10";
     src = fetchFromGitHub {
       owner = "MrcJkb";
       repo = "neotest-haskell";
-      rev = "51729f549b048890bb9d76b502c63a0a2ba29556";
-      sha256 = "0myx63bpb23wai2fc8zcjx9dsq8l1jysgp1al2wxgqmn8k3b26vl";
+      rev = "b9c002e5926c14d8627839756b1710b87bd70990";
+      sha256 = "0v33jlzc363vblnn4f38fydry0lz7szk9akmq6p5iz4vjs0ypwj9";
     };
     meta.homepage = "https://github.com/MrcJkb/neotest-haskell/";
   };
@@ -6325,12 +6325,12 @@ final: prev:
 
   neotest-python = buildVimPlugin {
     pname = "neotest-python";
-    version = "2023-11-12";
+    version = "2023-12-10";
     src = fetchFromGitHub {
       owner = "nvim-neotest";
       repo = "neotest-python";
-      rev = "c969a5b0073f2b5c8eaf017d1652f9251d761a15";
-      sha256 = "0vjbc6sj9d4l8553g10wqxqpjr8z064g143i4ig4d42vsxh24ccc";
+      rev = "48bf141103b94c9384e5542cd185b291909ac305";
+      sha256 = "1apkxpznlwhilzqh3jn54xblcn18wyadymzpwh0v1p19ah46xnzj";
     };
     meta.homepage = "https://github.com/nvim-neotest/neotest-python/";
   };
@@ -6625,12 +6625,12 @@ final: prev:
 
   none-ls-nvim = buildVimPlugin {
     pname = "none-ls.nvim";
-    version = "2023-12-01";
+    version = "2023-12-07";
     src = fetchFromGitHub {
       owner = "nvimtools";
       repo = "none-ls.nvim";
-      rev = "7bf88cd3b37a411fdacfdca1745408a77a420493";
-      sha256 = "0ynlhj5vskv6laixs79lh334fxxkm0yx1vcgc9vyk9cr19v5109n";
+      rev = "45d0e8fa9094dcc3fabad9065a5822af9cf099c7";
+      sha256 = "0g5vc7r3xhvrdrajidzxlnilvmygpyrp85vyb9amn0zbga5rmcc4";
     };
     meta.homepage = "https://github.com/nvimtools/none-ls.nvim/";
   };
@@ -6685,12 +6685,12 @@ final: prev:
 
   nui-nvim = buildNeovimPlugin {
     pname = "nui.nvim";
-    version = "2023-12-03";
+    version = "2023-12-06";
     src = fetchFromGitHub {
       owner = "MunifTanjim";
       repo = "nui.nvim";
-      rev = "1d044afde83e73c56de8e176615a4a6e7c8cf0e3";
-      sha256 = "08s5anr34vkc8zcac3v7f6rgyankcr0k34y8hkrmc554ak4f1cqq";
+      rev = "c9b4de623d19a85b353ff70d2ae9c77143abe69c";
+      sha256 = "1km9qyl54kysyiq2kz8f52gyqcri545k4rb68kfm45kfcn7l7wrc";
     };
     meta.homepage = "https://github.com/MunifTanjim/nui.nvim/";
   };
@@ -6721,12 +6721,12 @@ final: prev:
 
   nvchad = buildVimPlugin {
     pname = "nvchad";
-    version = "2023-11-13";
+    version = "2023-12-08";
     src = fetchFromGitHub {
       owner = "nvchad";
       repo = "nvchad";
-      rev = "9d37797e6f9856ef25cfa266cff43f764e828827";
-      sha256 = "0a57bswr6w0nmxj1fmvn24w60ibgh1gyqx586qhz1fq5i4jfjva8";
+      rev = "c8777040fbda6a656f149877b796d120085cd918";
+      sha256 = "05lz8mm0hskj3ybg2g081hwihvq60i8np5dgprbs346piz18d117";
     };
     meta.homepage = "https://github.com/nvchad/nvchad/";
   };
@@ -6805,12 +6805,12 @@ final: prev:
 
   nvim-bqf = buildVimPlugin {
     pname = "nvim-bqf";
-    version = "2023-09-19";
+    version = "2023-12-06";
     src = fetchFromGitHub {
       owner = "kevinhwang91";
       repo = "nvim-bqf";
-      rev = "8784eebf34371049b641646d00232c2603215297";
-      sha256 = "1vrp72kc1f1rkfdb9xnmd792l4h1j7vrnhf99l54pi700dnbjzcg";
+      rev = "bdc2a4e5bb670b3c0e33ada9c0eec636d93a0748";
+      sha256 = "1kla734nj2q6bin9d1gzm4kml0bl89q2hfr0l9ly2lw3s506nynb";
     };
     meta.homepage = "https://github.com/kevinhwang91/nvim-bqf/";
   };
@@ -6841,12 +6841,12 @@ final: prev:
 
   nvim-cmp = buildNeovimPlugin {
     pname = "nvim-cmp";
-    version = "2023-11-06";
+    version = "2023-12-10";
     src = fetchFromGitHub {
       owner = "hrsh7th";
       repo = "nvim-cmp";
-      rev = "0b751f6beef40fd47375eaf53d3057e0bfa317e4";
-      sha256 = "1qp7s2iam9zzdlw5sgkk6c623z7vjgga0rcg63ja0f836l90grba";
+      rev = "41d7633e4146dce1072de32cea31ee31b056a131";
+      sha256 = "0l72vrylmw8zv9hvl8rhiycn69s50fn5064h3ydhpf432b8b65sb";
     };
     meta.homepage = "https://github.com/hrsh7th/nvim-cmp/";
   };
@@ -6961,12 +6961,12 @@ final: prev:
 
   nvim-dap = buildVimPlugin {
     pname = "nvim-dap";
-    version = "2023-12-02";
+    version = "2023-12-08";
     src = fetchFromGitHub {
       owner = "mfussenegger";
       repo = "nvim-dap";
-      rev = "d7749eb3d9933a75d2244820308ce442f646c7ae";
-      sha256 = "0plpvvzbhvs9yhjb7413zcypzdmr9437vkn3mybnd93k8rfwsly9";
+      rev = "bbe2c6f3438542a37cc2141a8e385f7dfe07d87d";
+      sha256 = "1aqvlnm0zdc6k2jn53jlj8rdxc9agq9jky3qpjc2j6gx04llhd48";
     };
     meta.homepage = "https://github.com/mfussenegger/nvim-dap/";
   };
@@ -7093,12 +7093,12 @@ final: prev:
 
   nvim-highlite = buildVimPlugin {
     pname = "nvim-highlite";
-    version = "2023-10-16";
+    version = "2023-12-05";
     src = fetchFromGitHub {
       owner = "Iron-E";
       repo = "nvim-highlite";
-      rev = "5dfa7701c586b7ddba4152e512563c377e031b49";
-      sha256 = "1yxcd6xl5zjbsz6x34fnslhpaqs1liyvwqwkk0sdsiyzb6iv7wvw";
+      rev = "fea70b23ef43740f7f24ad69e1d6894defe15198";
+      sha256 = "1gydm6ga4c210m529lac5035h67sj72lwddx54y81m918x7bq69v";
     };
     meta.homepage = "https://github.com/Iron-E/nvim-highlite/";
   };
@@ -7212,24 +7212,24 @@ final: prev:
 
   nvim-lint = buildVimPlugin {
     pname = "nvim-lint";
-    version = "2023-12-03";
+    version = "2023-12-08";
     src = fetchFromGitHub {
       owner = "mfussenegger";
       repo = "nvim-lint";
-      rev = "f20f35756e74b91c0b4340d01fee22422bdffefa";
-      sha256 = "1whq19qifw8w6bkm8sl80h0krjyrpsd9zyyq0skfl3bbsn31vlsv";
+      rev = "849ccb610de3f6ce1a239ea1e68568ef1a53d5df";
+      sha256 = "0jlk9j538fpxv2m4l7smi2j3bhrfdl6i3qckn9x38j8m3vq5jdxs";
     };
     meta.homepage = "https://github.com/mfussenegger/nvim-lint/";
   };
 
   nvim-lsp-notify = buildVimPlugin {
     pname = "nvim-lsp-notify";
-    version = "2023-03-19";
+    version = "2023-12-07";
     src = fetchFromGitHub {
       owner = "mrded";
       repo = "nvim-lsp-notify";
-      rev = "9986955e0423f2f5cdb3bd4f824bc980697646a0";
-      sha256 = "06zaydcsmmdblqvrkiv827lv3z9smf90v57f62fqgbxn5rhx38r7";
+      rev = "9541bdde0b84b7a33a24dbc2eccc3df33d4a0cdb";
+      sha256 = "1i4mg82x7x676xf63l1lzxmzd9h8hs3c8yra4l7aq6yw2vywdpdp";
     };
     meta.homepage = "https://github.com/mrded/nvim-lsp-notify/";
   };
@@ -7248,12 +7248,12 @@ final: prev:
 
   nvim-lspconfig = buildVimPlugin {
     pname = "nvim-lspconfig";
-    version = "2023-12-01";
+    version = "2023-12-10";
     src = fetchFromGitHub {
       owner = "neovim";
       repo = "nvim-lspconfig";
-      rev = "694aaec65733e2d54d393abf80e526f86726c988";
-      sha256 = "16nrq7gxnk33qgpmcnjd8yq738vd7qpr2x77v7xf84qp2443nbkx";
+      rev = "bd405e45c5fb122c16af8f87fa2dd7ab1981b243";
+      sha256 = "1jfjy8j91b66i2kkzikkybl56b62ybj8kshxyjjwlvlz9vaqd06j";
     };
     meta.homepage = "https://github.com/neovim/nvim-lspconfig/";
   };
@@ -7356,12 +7356,12 @@ final: prev:
 
   nvim-neoclip-lua = buildVimPlugin {
     pname = "nvim-neoclip.lua";
-    version = "2023-05-16";
+    version = "2023-12-04";
     src = fetchFromGitHub {
       owner = "AckslD";
       repo = "nvim-neoclip.lua";
-      rev = "4e406ae0f759262518731538f2585abb9d269bac";
-      sha256 = "0iz5jhzgmajg30cf49n9r0mryxag0dybbfgl231z9v421hr3187p";
+      rev = "798cd0592a81c185465db3a091a0ff8a21af60fd";
+      sha256 = "16dyzbqpc6427sgcrbd5fb3z0bnhdydhsdsa90i346y3v8lqpnj2";
     };
     meta.homepage = "https://github.com/AckslD/nvim-neoclip.lua/";
   };
@@ -7440,12 +7440,12 @@ final: prev:
 
   nvim-remote-containers = buildVimPlugin {
     pname = "nvim-remote-containers";
-    version = "2023-08-01";
+    version = "2023-12-08";
     src = fetchFromGitHub {
       owner = "jamestthompson3";
       repo = "nvim-remote-containers";
-      rev = "ac76b4b193962dfc0be872feeaf10756aea459e2";
-      sha256 = "0ww40yw1fdlanl5wxisqn2c7qlagcn3nkxjafg3nbzd4spi5vg91";
+      rev = "c54bae7c283846ff553eafe0e9caa2cfa313526a";
+      sha256 = "1bygsvxy56mh7jf5shn388l9p6d3xrf4bm2gqsls5dsmy6wipa91";
     };
     meta.homepage = "https://github.com/jamestthompson3/nvim-remote-containers/";
   };
@@ -7548,12 +7548,12 @@ final: prev:
 
   nvim-surround = buildVimPlugin {
     pname = "nvim-surround";
-    version = "2023-11-13";
+    version = "2023-12-04";
     src = fetchFromGitHub {
       owner = "kylechui";
       repo = "nvim-surround";
-      rev = "0855a89e00a5822c3a482a82e5223fcf2e9ede13";
-      sha256 = "09riinjjh96nrs357ay886j8gs6cgkhj3zwngm44pf8p04w2w81n";
+      rev = "633a0ab03159569a66b65671b0ffb1a6aed6cf18";
+      sha256 = "0svcw6rjrnjxh6i54a4nq8af5n3634gf30cycv3f95xywmn2h7m6";
     };
     meta.homepage = "https://github.com/kylechui/nvim-surround/";
   };
@@ -7596,36 +7596,36 @@ final: prev:
 
   nvim-tree-lua = buildVimPlugin {
     pname = "nvim-tree.lua";
-    version = "2023-11-28";
+    version = "2023-12-11";
     src = fetchFromGitHub {
       owner = "nvim-tree";
       repo = "nvim-tree.lua";
-      rev = "05f55c1fd6470b31627655c528245794e3cd4b2c";
-      sha256 = "1kjagblw41981h4lzx8mpaksb2c5jdz2icq4ccf5sxd8f6fprhbw";
+      rev = "141c0f97c35f274031294267808ada59bb5fb08e";
+      sha256 = "0n41viq9pi9x6rc89lhrrb5vxq26vm4rzgqp36mafjfw5y86rq3n";
     };
     meta.homepage = "https://github.com/nvim-tree/nvim-tree.lua/";
   };
 
   nvim-treesitter = buildVimPlugin {
     pname = "nvim-treesitter";
-    version = "2023-12-03";
+    version = "2023-12-10";
     src = fetchFromGitHub {
       owner = "nvim-treesitter";
       repo = "nvim-treesitter";
-      rev = "0791b5ebb590a2d44e20640c52679df1fc42e8ab";
-      sha256 = "1a6sy62hwb1kclm6czbi1m9vv2xcp7pswgsafrxff96ahkqnbrrm";
+      rev = "b6b9ca448b7f236e2e60f8393a729902511f9db9";
+      sha256 = "0q6zp43wm8370j6m75avq8xz92hmxa5aiww2y34ypzgdw91s1wxr";
     };
     meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter/";
   };
 
   nvim-treesitter-context = buildVimPlugin {
     pname = "nvim-treesitter-context";
-    version = "2023-11-21";
+    version = "2023-12-08";
     src = fetchFromGitHub {
       owner = "nvim-treesitter";
       repo = "nvim-treesitter-context";
-      rev = "bf4d15ee4e96ff5201f16a4ed14443670662eb90";
-      sha256 = "0a7mmyrwi2x34fbjxwnzw9qm2imaffx4bmkn0rpa0l4sm6qs9way";
+      rev = "cfa8ee19ac9bae9b7fb2958eabe2b45b70c56ccb";
+      sha256 = "1qz089qfmn1ksv82jmjl5flgkfspmsjn0midwb3jvgdn56x58ypc";
     };
     meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter-context/";
   };
@@ -7692,12 +7692,12 @@ final: prev:
 
   nvim-ts-autotag = buildVimPlugin {
     pname = "nvim-ts-autotag";
-    version = "2023-06-16";
+    version = "2023-12-10";
     src = fetchFromGitHub {
       owner = "windwp";
       repo = "nvim-ts-autotag";
-      rev = "6be1192965df35f94b8ea6d323354f7dc7a557e4";
-      sha256 = "1j47gcybag2qk87qc4karwdvzhvi485x7m80n2sj27rrh1fyv972";
+      rev = "8515e48a277a2f4947d91004d9aa92c29fdc5e18";
+      sha256 = "0bmxkq919dlhblxc7bjsvy6206qq1szi022i8g9kjsvq13726p9v";
     };
     meta.homepage = "https://github.com/windwp/nvim-ts-autotag/";
   };
@@ -7763,12 +7763,12 @@ final: prev:
 
   nvim-web-devicons = buildVimPlugin {
     pname = "nvim-web-devicons";
-    version = "2023-11-27";
+    version = "2023-12-08";
     src = fetchFromGitHub {
       owner = "nvim-tree";
       repo = "nvim-web-devicons";
-      rev = "5efb8bd06841f91f97c90e16de85e96d57e9c862";
-      sha256 = "1vxc1b51h6ss6h7fcihl6v01v8a8df1i6hz11hq2m46dyqw2n5p9";
+      rev = "8b2e5ef9eb8a717221bd96cb8422686d65a09ed5";
+      sha256 = "0s7vhlr71f3n8in2dnpqj1p1jgncn0mdl1y6a7ksl8yx2vrxqdyl";
     };
     meta.homepage = "https://github.com/nvim-tree/nvim-web-devicons/";
   };
@@ -7883,12 +7883,12 @@ final: prev:
 
   oil-nvim = buildVimPlugin {
     pname = "oil.nvim";
-    version = "2023-12-01";
+    version = "2023-12-10";
     src = fetchFromGitHub {
       owner = "stevearc";
       repo = "oil.nvim";
-      rev = "58340545c6a01e5e9f7966df448714a156db137a";
-      sha256 = "0s3yd9336yqk8s8f07lf0195pn5q0ij1qphp0yaisrpxbfarl63p";
+      rev = "24027ed8d7f3ee5c38cfd713915e2e16d89e79b3";
+      sha256 = "18bk1gg5i9sqzgfwq4qlc24q97ki780i1wrp2ghpp7m1i1b669k5";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/stevearc/oil.nvim/";
@@ -7920,12 +7920,12 @@ final: prev:
 
   onedark-nvim = buildVimPlugin {
     pname = "onedark.nvim";
-    version = "2023-11-23";
+    version = "2023-12-06";
     src = fetchFromGitHub {
       owner = "navarasu";
       repo = "onedark.nvim";
-      rev = "e7c656ac6b6460aaab817cbd0c9d5c043eda4b43";
-      sha256 = "1f25ipxzigmq24a6krhs4akgp9hmhyby150kxzy3zn8n3yn0p8c9";
+      rev = "c5476a091b0f1b4e853db91c91ff941f848a1cdd";
+      sha256 = "1zg75v3cgm0f2yhy2pasvdd42jw33f0w1p140cj1dnrskhwbrl2j";
     };
     meta.homepage = "https://github.com/navarasu/onedark.nvim/";
   };
@@ -7968,12 +7968,12 @@ final: prev:
 
   onenord-nvim = buildVimPlugin {
     pname = "onenord.nvim";
-    version = "2023-10-25";
+    version = "2023-12-04";
     src = fetchFromGitHub {
       owner = "rmehri01";
       repo = "onenord.nvim";
-      rev = "3679fb93aaf473c1dd63222ac88577a909f6b41c";
-      sha256 = "0xlfhmjqsx6cf12jkidp7bxpl9rdbrv1nrcszh0f2rvgir7r843k";
+      rev = "879bc64ea4678bf32d2bfda47c4e3a04af52a448";
+      sha256 = "1w45z9jy9ckplz1g0smyrbcdll27sqpc059a5r53y8nfb5abllnc";
     };
     meta.homepage = "https://github.com/rmehri01/onenord.nvim/";
   };
@@ -8028,24 +8028,24 @@ final: prev:
 
   orgmode = buildVimPlugin {
     pname = "orgmode";
-    version = "2023-11-22";
+    version = "2023-12-04";
     src = fetchFromGitHub {
       owner = "nvim-orgmode";
       repo = "orgmode";
-      rev = "cbb10d4c7514680e90f791d62f1168cb87aad0ce";
-      sha256 = "1l6h7yx7sq5g6wv1ggns98scdyqxs317laj543pd1ji9pfqpmnpr";
+      rev = "92bfc3fb7ee845d9e58326b0b69f3ed89e84253f";
+      sha256 = "0cdfspvmk3yk67vi4s65y2mky1xxiaxrz5zwi0ljvlcmfbzpyz4j";
     };
     meta.homepage = "https://github.com/nvim-orgmode/orgmode/";
   };
 
   other-nvim = buildVimPlugin {
     pname = "other.nvim";
-    version = "2023-08-02";
+    version = "2023-12-04";
     src = fetchFromGitHub {
       owner = "rgroli";
       repo = "other.nvim";
-      rev = "cba4e5feb0c0a703acc9b78bc64422ac1469c468";
-      sha256 = "1n6hgz4f2h9l1qnvq9083xndb8msk4krznyfgqc27xhp6jrd4y70";
+      rev = "d4d926dec6d0e037c1a5f092793b474947ed357e";
+      sha256 = "1pqs0sv35p74jgb3p01dqgpvzcdsxg1fmwkrq65nz9lw8zff7q11";
     };
     meta.homepage = "https://github.com/rgroli/other.nvim/";
   };
@@ -8064,12 +8064,12 @@ final: prev:
 
   overseer-nvim = buildVimPlugin {
     pname = "overseer.nvim";
-    version = "2023-10-28";
+    version = "2023-12-07";
     src = fetchFromGitHub {
       owner = "stevearc";
       repo = "overseer.nvim";
-      rev = "6f462a61ce9a5f47743cbf78454bed14a855eb03";
-      sha256 = "1zxqd6mjhxw1mcr6n4jgd0jxpz6j0qpcmzlzsgih8xkjn65vdxa3";
+      rev = "9e6fe0ec30a241cecffcf2902332980b3bf2e73c";
+      sha256 = "12wbsnp5kv0yik8kh1wb3pqmspbxcpd9bz7q34xfzqjh3y07y24a";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/stevearc/overseer.nvim/";
@@ -8535,11 +8535,11 @@ final: prev:
 
   rainbow-delimiters-nvim = buildVimPlugin {
     pname = "rainbow-delimiters.nvim";
-    version = "2023-11-26";
+    version = "2023-12-10";
     src = fetchgit {
       url = "https://gitlab.com/HiPhish/rainbow-delimiters.nvim";
-      rev = "47404636a34580db1636dc0cf35027bdf77abba5";
-      sha256 = "0li17i97h8iyk4pa79n1jgzi3firnjmz88vxx0aadd3x33p45d2r";
+      rev = "cc5f3a00819b3bef2789f95443057613ed7c42f8";
+      sha256 = "054ivgg3ybrbacyz0blcsj3idy5is040vmljm2w61r6v80rf6h69";
     };
     meta.homepage = "https://gitlab.com/HiPhish/rainbow-delimiters.nvim";
   };
@@ -8786,12 +8786,12 @@ final: prev:
 
   rustaceanvim = buildNeovimPlugin {
     pname = "rustaceanvim";
-    version = "2023-12-03";
+    version = "2023-12-10";
     src = fetchFromGitHub {
       owner = "mrcjkb";
       repo = "rustaceanvim";
-      rev = "7c1089ad1e35198911992c09cfd24dc15a225985";
-      sha256 = "1lillfkjq0jhq7d5w12brj4x8l88vj168ypihjigngm4gabwrr8f";
+      rev = "0afbc229f179ed31d8379e5ace0f13d93cd34446";
+      sha256 = "102f7p9szvz4ykr5h7icwsw3hf2r5vhb9zqsmzy0sjxnqwxcvimp";
     };
     meta.homepage = "https://github.com/mrcjkb/rustaceanvim/";
   };
@@ -9063,12 +9063,12 @@ final: prev:
 
   smartyank-nvim = buildVimPlugin {
     pname = "smartyank.nvim";
-    version = "2023-02-25";
+    version = "2023-12-06";
     src = fetchFromGitHub {
       owner = "ibhagwan";
       repo = "smartyank.nvim";
-      rev = "7e3905578f646503525b2f7018b8afd17861018c";
-      sha256 = "19lp8cpnp3ynr6vc5si3gsfpdw78xs8krmaqlbjsx478ig316y7z";
+      rev = "b048fec8c6b7d122adab6f78606057d59975ece7";
+      sha256 = "1i9lyl7yy96rvjpl676pgs1irvrrqx8xsrbz9b8ri37md8h3zjym";
     };
     meta.homepage = "https://github.com/ibhagwan/smartyank.nvim/";
   };
@@ -9268,12 +9268,12 @@ final: prev:
 
   srcery-vim = buildVimPlugin {
     pname = "srcery-vim";
-    version = "2023-12-02";
+    version = "2023-12-06";
     src = fetchFromGitHub {
       owner = "srcery-colors";
       repo = "srcery-vim";
-      rev = "e605292319d9c964281d840ac87d3deddfc06559";
-      sha256 = "0b5zj2ilvhkv01n480gd6zylnhc3yhq9p7gcj0f12fn9yfihqdnf";
+      rev = "d6037f87842753a85e4cd855a2ca4206ac04db7e";
+      sha256 = "0kjcqv2pkk7dplxzvxhly3argza7bj4kiaabngn1pkdpq2h9acy8";
     };
     meta.homepage = "https://github.com/srcery-colors/srcery-vim/";
   };
@@ -9316,12 +9316,12 @@ final: prev:
 
   stan-vim = buildVimPlugin {
     pname = "stan-vim";
-    version = "2021-05-28";
+    version = "2023-12-09";
     src = fetchFromGitHub {
       owner = "eigenfoo";
       repo = "stan-vim";
-      rev = "2adaa984e531e1876f053cacb07d8d181d70fbd1";
-      sha256 = "1a826cfmwyn4kfyrj6164425gf2wbjs85cdkhzkqsrj0i924hjqz";
+      rev = "10b80f31f50622f3e18d18401894cbff7ad67e2c";
+      sha256 = "11l0d10vkm93g6v1clvblp45hbrdigxf7azh8jm6p285wvjjjrwb";
     };
     meta.homepage = "https://github.com/eigenfoo/stan-vim/";
   };
@@ -9352,12 +9352,12 @@ final: prev:
 
   statuscol-nvim = buildVimPlugin {
     pname = "statuscol.nvim";
-    version = "2023-10-09";
+    version = "2023-12-10";
     src = fetchFromGitHub {
       owner = "luukvbaal";
       repo = "statuscol.nvim";
-      rev = "98d02fc90ebd7c4674ec935074d1d09443d49318";
-      sha256 = "0ml58i3xfn0nnqci2wh4nqi4y8ydfxbk7px4abkjlym24apbga6y";
+      rev = "7d593a285d83c1a865219e4e7e1e5aedf4e0dd9c";
+      sha256 = "1zmlszs9kkcgkyw6wfrrpsrh1h8fx5k0x99j56ghlqsc94vy547g";
     };
     meta.homepage = "https://github.com/luukvbaal/statuscol.nvim/";
   };
@@ -9739,12 +9739,12 @@ final: prev:
 
   telescope-file-browser-nvim = buildVimPlugin {
     pname = "telescope-file-browser.nvim";
-    version = "2023-12-03";
+    version = "2023-12-07";
     src = fetchFromGitHub {
       owner = "nvim-telescope";
       repo = "telescope-file-browser.nvim";
-      rev = "98101b22402cd6d1c7e9a7e0c4718bfc98cb1625";
-      sha256 = "13bnzdsmahk8phcxzm8d343mzmbxahrr34fkn8ylxy1shxbw6mw6";
+      rev = "8e0543365fe5781c9babea7db89ef06bcff3716d";
+      sha256 = "1rpgn2050sjxw4555m32a9bmapx8i0xkmy4p200712nnh6xg9z11";
     };
     meta.homepage = "https://github.com/nvim-telescope/telescope-file-browser.nvim/";
   };
@@ -9836,12 +9836,12 @@ final: prev:
 
   telescope-manix = buildNeovimPlugin {
     pname = "telescope-manix";
-    version = "2023-11-14";
+    version = "2023-12-04";
     src = fetchFromGitHub {
       owner = "MrcJkb";
       repo = "telescope-manix";
-      rev = "d946dba3dbf71005434aeae5a4aa5589b09649bc";
-      sha256 = "1sha737v9ixzf2d336ykvh5kszb5bi2vb4i5ms4ffayf10lhk30g";
+      rev = "f9657fd3f8e26c8035eacd63d95dc487ae6439b5";
+      sha256 = "11i2y3vvhdxspl6xy2922n0l6wm0gmkv89vma4jqw7la80chhn29";
     };
     meta.homepage = "https://github.com/MrcJkb/telescope-manix/";
   };
@@ -9896,12 +9896,12 @@ final: prev:
 
   telescope-ui-select-nvim = buildVimPlugin {
     pname = "telescope-ui-select.nvim";
-    version = "2023-11-24";
+    version = "2023-12-04";
     src = fetchFromGitHub {
       owner = "nvim-telescope";
       repo = "telescope-ui-select.nvim";
-      rev = "c261d903a78c2cda47a5e44488621f10f9dd7fcf";
-      sha256 = "13clvq5zhhf6msawjsf42bja0avhngzzq0c0v5jfv2qzpdgbl5k2";
+      rev = "6e51d7da30bd139a6950adf2a47fda6df9fa06d2";
+      sha256 = "1cgi4kmq99ssx97nnriff5674cjfvc3qsw62nx3iz0xqc6d4s631";
     };
     meta.homepage = "https://github.com/nvim-telescope/telescope-ui-select.nvim/";
   };
@@ -9981,12 +9981,12 @@ final: prev:
 
   telescope-nvim = buildNeovimPlugin {
     pname = "telescope.nvim";
-    version = "2023-12-03";
+    version = "2023-12-06";
     src = fetchFromGitHub {
       owner = "nvim-telescope";
       repo = "telescope.nvim";
-      rev = "3f5f165447d797576206e3b9bd555ea8db85b6f2";
-      sha256 = "0y9b69cah627dd3298gyizim8qfgq3wp9ajlz1pah0m43xcylkfm";
+      rev = "6213322ab56eb27356fdc09a5078e41e3ea7f3bc";
+      sha256 = "074bq8p1bkyr12z1wy31bipb97vmqia4lsmdp2aj1v1r5x5ph736";
     };
     meta.homepage = "https://github.com/nvim-telescope/telescope.nvim/";
   };
@@ -10089,12 +10089,12 @@ final: prev:
 
   text-case-nvim = buildVimPlugin {
     pname = "text-case.nvim";
-    version = "2023-12-02";
+    version = "2023-12-06";
     src = fetchFromGitHub {
       owner = "johmsalas";
       repo = "text-case.nvim";
-      rev = "ebe3650101a3505044559f71ec4ea4c789292164";
-      sha256 = "01lqj5x0976lpik80i7riy5r8q498ki1nkkmc716xgnbl7021b0g";
+      rev = "59dcb71ee9920b888d91c3e20ab20f4b3f667449";
+      sha256 = "08bzns7k3ffk09bm4jsqxdlndmi61pjbcw8hwzyjn3xhxp7ky4dw";
     };
     meta.homepage = "https://github.com/johmsalas/text-case.nvim/";
   };
@@ -10222,12 +10222,12 @@ final: prev:
 
   toggleterm-nvim = buildVimPlugin {
     pname = "toggleterm.nvim";
-    version = "2023-11-27";
+    version = "2023-12-06";
     src = fetchFromGitHub {
       owner = "akinsho";
       repo = "toggleterm.nvim";
-      rev = "6b334b9d1266b0f58ab1b6965c1e5b7eb5c34523";
-      sha256 = "1fcgvgr2aaprmkw5jxd79c75i1azj8al4cmnswxkiqj0024q4bpb";
+      rev = "cbd041d91b90cd3c02df03fe6133208888f8e008";
+      sha256 = "004sa4y23y3aa48fkmyj2z20s6gsl735kpw9yjbh7nyqnp1jk45w";
     };
     meta.homepage = "https://github.com/akinsho/toggleterm.nvim/";
   };
@@ -10366,12 +10366,12 @@ final: prev:
 
   typescript-tools-nvim = buildVimPlugin {
     pname = "typescript-tools.nvim";
-    version = "2023-11-29";
+    version = "2023-12-06";
     src = fetchFromGitHub {
       owner = "pmizio";
       repo = "typescript-tools.nvim";
-      rev = "7911a0aa27e472bff986f1d3ce38ebad3b635b28";
-      sha256 = "1sfsi7fxilws81svc8c0y2a1r6ky99xw9pfpnn5hfhvh9q16ar8i";
+      rev = "cbc454075741cd942a5ba92d64613533782f37c7";
+      sha256 = "11drqab3jza6045i7c88h146jvs3979zshl7y0vhajvib4pcgq6w";
     };
     meta.homepage = "https://github.com/pmizio/typescript-tools.nvim/";
   };
@@ -10402,12 +10402,12 @@ final: prev:
 
   typst-vim = buildVimPlugin {
     pname = "typst.vim";
-    version = "2023-11-27";
+    version = "2023-12-10";
     src = fetchFromGitHub {
       owner = "kaarmu";
       repo = "typst.vim";
-      rev = "8b1d2962875b8701c830199f042b74663b6a3a7f";
-      sha256 = "0yws4pfzzbz49shk99r4hblxqqxfjbqj2sh52ssjff2hk6is804c";
+      rev = "d905047f8a173dae8d86bc3ab83b54b2da56845b";
+      sha256 = "1rxpj90q1xck6rnmmzl2klssaiykllpf6r3ckvbhg7abms1i0zcf";
     };
     meta.homepage = "https://github.com/kaarmu/typst.vim/";
   };
@@ -10450,12 +10450,12 @@ final: prev:
 
   unison = buildVimPlugin {
     pname = "unison";
-    version = "2023-12-01";
+    version = "2023-12-09";
     src = fetchFromGitHub {
       owner = "unisonweb";
       repo = "unison";
-      rev = "ebf9874e64a8c96041af727d2aa17033a8718f03";
-      sha256 = "1ndm54q3qg2hhcnh1bncjpmknczmngy9n6jgbr2wrxsvrsq8mb06";
+      rev = "edd9ab2adfad86169e532208d31030be677ec692";
+      sha256 = "07fi49wwzmfzzwq00vb6npxznp6cfnm436w8hks3smwnbhxpn69h";
     };
     meta.homepage = "https://github.com/unisonweb/unison/";
   };
@@ -12274,12 +12274,12 @@ final: prev:
 
   vim-gitgutter = buildVimPlugin {
     pname = "vim-gitgutter";
-    version = "2023-11-11";
+    version = "2023-12-07";
     src = fetchFromGitHub {
       owner = "airblade";
       repo = "vim-gitgutter";
-      rev = "fe0e8a2630eef548e4122096e4e2241f42208fe3";
-      sha256 = "1lzhkqr74z430zm61jy4hmrxv3nq89rhrpzlp8fj9vwfkbqpzrgm";
+      rev = "4b49965897b8264cd6f90fa47ddb917f4296c469";
+      sha256 = "08fdid8s17l42k7ykw3c7jfjj10rgmdgnd5p5gxbi76zx0x9aylv";
     };
     meta.homepage = "https://github.com/airblade/vim-gitgutter/";
   };
@@ -12322,12 +12322,12 @@ final: prev:
 
   vim-go = buildVimPlugin {
     pname = "vim-go";
-    version = "2023-11-19";
+    version = "2023-12-05";
     src = fetchFromGitHub {
       owner = "fatih";
       repo = "vim-go";
-      rev = "97327927551d519f8f035f6f12f7bca041fed665";
-      sha256 = "1kby6q5qi94i1jbb9vnl8llv55yvafap0w02hfm373rid00yi6fz";
+      rev = "e8c18054cc44973ee4f59ee463dda4bf6439713c";
+      sha256 = "0fd9vscnknriaa43pasd631hfw8pdd5i2rncw31a3c37z9ykh16g";
     };
     meta.homepage = "https://github.com/fatih/vim-go/";
   };
@@ -12900,24 +12900,24 @@ final: prev:
 
   vim-just = buildVimPlugin {
     pname = "vim-just";
-    version = "2023-12-03";
+    version = "2023-12-08";
     src = fetchFromGitHub {
       owner = "NoahTheDuke";
       repo = "vim-just";
-      rev = "4e3c322be764cde80eab73c8e03c7ac410eb0e19";
-      sha256 = "0ypbbk72h5l9j89i2hsjkcr95is1jd9gsnhchqw6zy8ip7qqa6sb";
+      rev = "ee884dc7d45251d92f5972c4556c12fc101419c0";
+      sha256 = "1lxb62wscfn50kpikz39q6fmywn8xdy46yc1ll5chmllrg48w8kq";
     };
     meta.homepage = "https://github.com/NoahTheDuke/vim-just/";
   };
 
   vim-kitty-navigator = buildVimPlugin {
     pname = "vim-kitty-navigator";
-    version = "2023-11-30";
+    version = "2023-12-11";
     src = fetchFromGitHub {
       owner = "knubie";
       repo = "vim-kitty-navigator";
-      rev = "2aafc20a0a4eb3efa757db51868a2ab181e88690";
-      sha256 = "0f298z3mcisja1h6z1f1smj9b3kq232bkvjwj9xyavhr0fpq6h9f";
+      rev = "20abf8613aa228a5def1ae02cd9da0f2d210352a";
+      sha256 = "04b37lm1bb7420l18l4rjglls5jg4n5aswmk0nxgwgh1wf4xkkw2";
     };
     meta.homepage = "https://github.com/knubie/vim-kitty-navigator/";
   };
@@ -13729,12 +13729,12 @@ final: prev:
 
   vim-oscyank = buildVimPlugin {
     pname = "vim-oscyank";
-    version = "2023-10-10";
+    version = "2023-12-07";
     src = fetchFromGitHub {
       owner = "ojroques";
       repo = "vim-oscyank";
-      rev = "7250d51bda669ce1d7f334f2f5e6be012daddcde";
-      sha256 = "1ci3z82d20w24vipcpq1z20i6icy7nv7mkdxsk2ly7llr7xwa72w";
+      rev = "53c08f17d73e25d1498f9fe2611240878f1fef0b";
+      sha256 = "03i2dvc8dlyxq521glyln0k4g5l6jxx23fhi88l50lblsnqn54y5";
     };
     meta.homepage = "https://github.com/ojroques/vim-oscyank/";
   };
@@ -14053,12 +14053,12 @@ final: prev:
 
   vim-ps1 = buildVimPlugin {
     pname = "vim-ps1";
-    version = "2023-11-28";
+    version = "2023-12-09";
     src = fetchFromGitHub {
       owner = "PProvost";
       repo = "vim-ps1";
-      rev = "308aac5449ccce54d09a669afc41326ae848d731";
-      sha256 = "0akpwjpm66zyjx9vzlzy98dsxv556maz4pbk1grv14bxzz84m4vi";
+      rev = "be5dce9cd15176c6b1ecd056a8ced93fc2f6efac";
+      sha256 = "1k8a1ilsshjvahf9az1x8nalb5wkin8jxzi3zqc658liww2qm98z";
     };
     meta.homepage = "https://github.com/PProvost/vim-ps1/";
   };
@@ -14858,12 +14858,12 @@ final: prev:
 
   vim-test = buildVimPlugin {
     pname = "vim-test";
-    version = "2023-11-20";
+    version = "2023-12-05";
     src = fetchFromGitHub {
       owner = "vim-test";
       repo = "vim-test";
-      rev = "d11dc6f9c3e2f062646e3e265f878dcdfbb6a8ca";
-      sha256 = "1kr1shaa6kcwhsv1g6cv2m6n6dvbg0w5rk5nn12804g5i5g2svbd";
+      rev = "84373ffca386edd667e09f2bf1024b1de7bdfdf1";
+      sha256 = "092fy9bvccf5xizs6s904r6ipb2sigq51bli4kr0x9i9xgi6yjx0";
     };
     meta.homepage = "https://github.com/vim-test/vim-test/";
   };
@@ -15278,12 +15278,12 @@ final: prev:
 
   vim-wakatime = buildVimPlugin {
     pname = "vim-wakatime";
-    version = "2023-11-17";
+    version = "2023-12-05";
     src = fetchFromGitHub {
       owner = "wakatime";
       repo = "vim-wakatime";
-      rev = "87c6861ea81700ec4a6a27c81413cf07cb2c883c";
-      sha256 = "0j2rnrz2cx0zsvqbx4glpdij89nbxwq6iyb385jvv7lhm4fyary8";
+      rev = "8c8856327815a077cbebeba8c7456312a3d2c39c";
+      sha256 = "1k3zklr93im6w2767yajzgbfh270yh00898fccghdcjq66gd6hxy";
     };
     meta.homepage = "https://github.com/wakatime/vim-wakatime/";
   };
@@ -15603,12 +15603,12 @@ final: prev:
 
   vimtex = buildVimPlugin {
     pname = "vimtex";
-    version = "2023-12-03";
+    version = "2023-12-10";
     src = fetchFromGitHub {
       owner = "lervag";
       repo = "vimtex";
-      rev = "911987d8d65ade51311d512ac98cf39f89a309ea";
-      sha256 = "025qbjs685s0yf9vddwyxz0vc2h1j33mj5s7w2xm8f10a8j5skfz";
+      rev = "29b6c052707b2d713fe2097cd5df54ce12ba2f90";
+      sha256 = "0ciwazc4hw2ig44c2fc259s0krf5hi92r2vrd4zx47fs3ah2gq03";
     };
     meta.homepage = "https://github.com/lervag/vimtex/";
   };
@@ -15891,12 +15891,12 @@ final: prev:
 
   wtf-nvim = buildVimPlugin {
     pname = "wtf.nvim";
-    version = "2023-11-11";
+    version = "2023-12-11";
     src = fetchFromGitHub {
       owner = "piersolenski";
       repo = "wtf.nvim";
-      rev = "03775272c9ba88cbaae1d1802078a3f751969350";
-      sha256 = "04xknhrmjvywdxfmng35i8cibxkcdjmz4wz1nmsr3gc09rddfrr3";
+      rev = "07f79bdffaa9dd2785fe2543da6d850e76d2709c";
+      sha256 = "0gnrb8rqfd8filv74wj62cq5gfa8n36f2bv7m607rnggy0rzx58n";
     };
     meta.homepage = "https://github.com/piersolenski/wtf.nvim/";
   };
@@ -16048,12 +16048,12 @@ final: prev:
 
   zoomwintab-vim = buildVimPlugin {
     pname = "zoomwintab.vim";
-    version = "2021-10-10";
+    version = "2023-12-05";
     src = fetchFromGitHub {
       owner = "troydm";
       repo = "zoomwintab.vim";
-      rev = "7a354f3f0aa7807d822c03c8c24dc6c1cced9d3c";
-      sha256 = "18b9c90nrbia3bdx9liznkm05pr7qlya7fdllqnnmpb4v047c06f";
+      rev = "3b76f740534ecc4114bc8a207ecb0db77b2fb002";
+      sha256 = "0iljm70cbmgpzraki4ccw7fhyzp467f8fr4wimzg4yam5354x1hh";
     };
     meta.homepage = "https://github.com/troydm/zoomwintab.vim/";
   };
@@ -16072,12 +16072,12 @@ final: prev:
 
   catppuccin-nvim = buildVimPlugin {
     pname = "catppuccin-nvim";
-    version = "2023-11-29";
+    version = "2023-12-08";
     src = fetchFromGitHub {
       owner = "catppuccin";
       repo = "nvim";
-      rev = "919d1f786338ebeced798afbf28cd085cd54542a";
-      sha256 = "1lwd4kvz52zkrn6wyh9k58pvcg4aas99c5ddzhsi76g31fg2ix8n";
+      rev = "64dc309bc157779691be38bbfc5123584e0a4a85";
+      sha256 = "1nm4ykjrbkk7mmc8lghhgl0nidwlmjs7mqxm0858d2nc6l3yy4k3";
     };
     meta.homepage = "https://github.com/catppuccin/nvim/";
   };
@@ -16120,16 +16120,28 @@ final: prev:
 
   gruvbox-community = buildVimPlugin {
     pname = "gruvbox-community";
-    version = "2023-09-19";
+    version = "2023-12-10";
     src = fetchFromGitHub {
       owner = "gruvbox-community";
       repo = "gruvbox";
-      rev = "86c767ff91e2518da44ba8c78b3bc6c979cf5403";
-      sha256 = "1map59hiin7qwwyliqxqwq3v64hskn4xpxisnfpj7ci56c9viby8";
+      rev = "e1f033164931797a67b68089995c8078415f9d7d";
+      sha256 = "1ffr4h7vwgnxvvx57jibj5yvyag6mn6n1v29r5haf3md1981s97g";
     };
     meta.homepage = "https://github.com/gruvbox-community/gruvbox/";
   };
 
+  harpoon2 = buildVimPlugin {
+    pname = "harpoon2";
+    version = "2023-12-11";
+    src = fetchFromGitHub {
+      owner = "ThePrimeagen";
+      repo = "harpoon";
+      rev = "bb806acff3ceaec3b94bd3c92bc52945040004bf";
+      sha256 = "1vfcp18s3pkfdhq5riw6fdwhyjb3q6m2kglp3wyganv8qrh7w1sh";
+    };
+    meta.homepage = "https://github.com/ThePrimeagen/harpoon/";
+  };
+
   mattn-calendar-vim = buildVimPlugin {
     pname = "mattn-calendar-vim";
     version = "2022-02-10";
@@ -16168,12 +16180,12 @@ final: prev:
 
   nvchad-ui = buildVimPlugin {
     pname = "nvchad-ui";
-    version = "2023-11-24";
+    version = "2023-12-08";
     src = fetchFromGitHub {
       owner = "nvchad";
       repo = "ui";
-      rev = "f50f9834e522b62ea89a84775091c1cf89af57a4";
-      sha256 = "0fcc0h2xk8gjb7jy0xbql2vjv8ik7rfzbakxbcz860xjbcblpsqq";
+      rev = "1e5539ad0a2ece2dd72771d582d0dac58f47844d";
+      sha256 = "01lwskz1dwi8s7xby5pyibpxcfmzyfdps37ryp7fb6wcvvdz2mlb";
     };
     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 f2122db806eb1..90c3b77dc5c76 100644
--- a/pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix
+++ b/pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix
@@ -495,12 +495,12 @@
   };
   elixir = buildGrammar {
     language = "elixir";
-    version = "0.0.0+rev=a2861e8";
+    version = "0.0.0+rev=11426c5";
     src = fetchFromGitHub {
       owner = "elixir-lang";
       repo = "tree-sitter-elixir";
-      rev = "a2861e88a730287a60c11ea9299c033c7d076e30";
-      hash = "sha256-hBHqQ3eBjknRPJjP+lQJU6NPFhUMtiv4FbKsTw28Bog=";
+      rev = "11426c5fd20eef360d5ecaf10729191f6bc5d715";
+      hash = "sha256-/tfxskct2GByqFmmWJ4IZNREpNGvDqz2kbIyLRveGrs=";
     };
     meta.homepage = "https://github.com/elixir-lang/tree-sitter-elixir";
   };
@@ -715,12 +715,12 @@
   };
   gitcommit = buildGrammar {
     language = "gitcommit";
-    version = "0.0.0+rev=6856a5f";
+    version = "0.0.0+rev=7e3ad5f";
     src = fetchFromGitHub {
       owner = "gbprod";
       repo = "tree-sitter-gitcommit";
-      rev = "6856a5fd0ffeff17d83325a8ce4e57811010eff1";
-      hash = "sha256-OD+lGLsMRFRPHwnXoM78t95QvjO0OQN4ae3z3wy5DO4=";
+      rev = "7e3ad5fdc61cd701e146ef78e4fc6dcdf6dbca0e";
+      hash = "sha256-Ct7zLvcJVqIaVy/wOGOPvghjwRcsHblPaTuifUcackI=";
     };
     meta.homepage = "https://github.com/gbprod/tree-sitter-gitcommit";
   };
@@ -737,12 +737,12 @@
   };
   gleam = buildGrammar {
     language = "gleam";
-    version = "0.0.0+rev=b2afa4f";
+    version = "0.0.0+rev=c9c7f0f";
     src = fetchFromGitHub {
       owner = "gleam-lang";
       repo = "tree-sitter-gleam";
-      rev = "b2afa4fd6bb41a7bf912b034c653c90af7ae5122";
-      hash = "sha256-Z1wutK2NyI5EMwTezeZp/g8JFD0p7kqBGCuh9Amyjgo=";
+      rev = "c9c7f0f01749d301b54e96ed8e0c47c7c415a196";
+      hash = "sha256-j7onMy986PeJNy9x8GUkg8Be22bGYoZs53sToLWc/eI=";
     };
     meta.homepage = "https://github.com/gleam-lang/tree-sitter-gleam";
   };
@@ -1243,12 +1243,12 @@
   };
   leo = buildGrammar {
     language = "leo";
-    version = "0.0.0+rev=23a9534";
+    version = "0.0.0+rev=304611b";
     src = fetchFromGitHub {
       owner = "r001";
       repo = "tree-sitter-leo";
-      rev = "23a9534d09d523d0dcee7dbf89e7c819e6835f6f";
-      hash = "sha256-21Vqvc3HjmKi1FRKyswMcf8rPjkyAbjTayDYMsTUsBg=";
+      rev = "304611b5eaf53aca07459a0a03803b83b6dfd3b3";
+      hash = "sha256-D3jtNBYLgN2/0TnbOMJrsuZrP+PMr835aDYlCwIPPrk=";
     };
     meta.homepage = "https://github.com/r001/tree-sitter-leo";
   };
@@ -1265,12 +1265,12 @@
   };
   liquidsoap = buildGrammar {
     language = "liquidsoap";
-    version = "0.0.0+rev=91d2708";
+    version = "0.0.0+rev=691484a";
     src = fetchFromGitHub {
       owner = "savonet";
       repo = "tree-sitter-liquidsoap";
-      rev = "91d2708e12a5869154a85190b13ac89cb1414189";
-      hash = "sha256-2wnGHQXx5QHkXSBsxjULIRlbXj7CBxWxFjef3n9lmew=";
+      rev = "691484ae766c4eee2ac59ec09e621b27b9ed9add";
+      hash = "sha256-fuvT4k/NdtMNsU0rD5z9IpJ8Hc7dHTJiMWDvpShzUMY=";
     };
     meta.homepage = "https://github.com/savonet/tree-sitter-liquidsoap";
   };
@@ -1444,12 +1444,12 @@
   };
   nickel = buildGrammar {
     language = "nickel";
-    version = "0.0.0+rev=b759233";
+    version = "0.0.0+rev=502a874";
     src = fetchFromGitHub {
       owner = "nickel-lang";
       repo = "tree-sitter-nickel";
-      rev = "b759233581fd8bae239e905c67a9ba453205da78";
-      hash = "sha256-4OrdtlpSsHTY/BmxRr0cKwTFfUSv+KN9IYDjfpdGIfg=";
+      rev = "502a8746c82c616ed441e0ab2b8c09772ee7d114";
+      hash = "sha256-ahUyqjVe0haOOXXzL7t+rC4yfN+ZsPQR551v9564P/A=";
     };
     meta.homepage = "https://github.com/nickel-lang/tree-sitter-nickel";
   };
@@ -1700,12 +1700,12 @@
   };
   poe_filter = buildGrammar {
     language = "poe_filter";
-    version = "0.0.0+rev=374f618";
+    version = "0.0.0+rev=fa83292";
     src = fetchFromGitHub {
       owner = "ObserverOfTime";
       repo = "tree-sitter-poe-filter";
-      rev = "374f618de179498c2a821136bb86c3edbe221e10";
-      hash = "sha256-X6PQQqY7fLB9AvCMfLlZ2cU8dKoCsw1KGjzYup8BoJ8=";
+      rev = "fa83292e04d27976ab5c354e0c980f2c67628a02";
+      hash = "sha256-Ij3anynA3ZYi4/Cxp+Anvgc2Te1Qxi0mnWDc0XTHaN0=";
     };
     meta.homepage = "https://github.com/ObserverOfTime/tree-sitter-poe-filter";
   };
@@ -1866,12 +1866,12 @@
   };
   qmljs = buildGrammar {
     language = "qmljs";
-    version = "0.0.0+rev=35ead5b";
+    version = "0.0.0+rev=2591330";
     src = fetchFromGitHub {
       owner = "yuja";
       repo = "tree-sitter-qmljs";
-      rev = "35ead5b9955cdb29bcf709d622fa960ff33992b6";
-      hash = "sha256-jT47lEGuk6YUjcHB0ZMyL3i5PqyUaCQmt0j78cUpy8Q=";
+      rev = "259133077f2fd854bcaa6f0149d3fc281fc8070b";
+      hash = "sha256-xg3fXYfAYHVAkByQekOd4EFLv0TbINcQPasFQYUkF0A=";
     };
     meta.homepage = "https://github.com/yuja/tree-sitter-qmljs";
   };
@@ -1921,12 +1921,12 @@
   };
   rbs = buildGrammar {
     language = "rbs";
-    version = "0.0.0+rev=23c69a4";
+    version = "0.0.0+rev=b28e181";
     src = fetchFromGitHub {
       owner = "joker1007";
       repo = "tree-sitter-rbs";
-      rev = "23c69a4fa9803abc9d87b235ca88d52418250041";
-      hash = "sha256-tdxx+feI0UIHkk1eS5VrIuYvOZWpuWF3NEioqrnZ+30=";
+      rev = "b28e1819d434e95916d11fe48ee6e8959b69197b";
+      hash = "sha256-HWWvettxkzziIWH6448RDxmVkaUNfSOgv3CtrlsgW3U=";
     };
     meta.homepage = "https://github.com/joker1007/tree-sitter-rbs";
   };
@@ -2188,12 +2188,12 @@
   };
   sql = buildGrammar {
     language = "sql";
-    version = "0.0.0+rev=a3ea0e4";
+    version = "0.0.0+rev=1b7d451";
     src = fetchFromGitHub {
       owner = "derekstride";
       repo = "tree-sitter-sql";
-      rev = "a3ea0e4143a617fc2c4ccf29c41e0ba7a1ff6ab9";
-      hash = "sha256-VwkehcELs+t+1GjiOiPs1UQT+0E7OZaXaWTyjFWlMto=";
+      rev = "1b7d451554f435d28c3217724acf00cdc627ee73";
+      hash = "sha256-d/nAvvvfTg91pKfN3iHvqD+wb/2Qk/OSl7MOq3n+yH4=";
     };
     meta.homepage = "https://github.com/derekstride/tree-sitter-sql";
   };
@@ -2558,12 +2558,12 @@
   };
   v = buildGrammar {
     language = "v";
-    version = "0.0.0+rev=165ed9f";
+    version = "0.0.0+rev=ce3481c";
     src = fetchFromGitHub {
       owner = "v-analyzer";
       repo = "v-analyzer";
-      rev = "165ed9fda0be82ff26639dd8cf5d93fe7f7432a0";
-      hash = "sha256-iH4k/begatiLc0BoAezWkhbdIjG5BHlduPMRUx/dNaI=";
+      rev = "ce3481c10eabed0ba36cfa9f72957c4d3f88689d";
+      hash = "sha256-Ro+Ft82dgfrFKZJI5GO+aLZS2qwgEh1pJMI9S6Z/8rU=";
     };
     location = "tree_sitter_v";
     meta.homepage = "https://github.com/v-analyzer/v-analyzer";
@@ -2592,12 +2592,12 @@
   };
   vhs = buildGrammar {
     language = "vhs";
-    version = "0.0.0+rev=375b42e";
+    version = "0.0.0+rev=9534865";
     src = fetchFromGitHub {
       owner = "charmbracelet";
       repo = "tree-sitter-vhs";
-      rev = "375b42e9845f704dd491c17c7e37f7c972e0faf3";
-      hash = "sha256-A9m0MNAINMbrNr3BYBU/WMtC5edXWCaxvcfCwDFe8p4=";
+      rev = "9534865e614c95eb9418e5e73f061c32fa4d9540";
+      hash = "sha256-Qf4Y1I/X5xGVZ4u2ud+XdC2dL+0sjR+0pJRJ8SUraiQ=";
     };
     meta.homepage = "https://github.com/charmbracelet/tree-sitter-vhs";
   };
@@ -2658,12 +2658,12 @@
   };
   wing = buildGrammar {
     language = "wing";
-    version = "0.0.0+rev=9573195";
+    version = "0.0.0+rev=55f5626";
     src = fetchFromGitHub {
       owner = "winglang";
       repo = "wing";
-      rev = "9573195e753fa0d303e65d8237d3902159708457";
-      hash = "sha256-DS0PJU9OlER+izTZTyiSGRIs0tGgEKImrEyFbj2b1wM=";
+      rev = "55f5626617726954a1a95aa93e363a6a04913fa1";
+      hash = "sha256-vcSD1Dz4HUTaU3LtRfqRtryGHvuA7aSu5poLyD6UyLw=";
     };
     location = "libs/tree-sitter-wing";
     generate = true;
diff --git a/pkgs/applications/editors/vim/plugins/overrides.nix b/pkgs/applications/editors/vim/plugins/overrides.nix
index 0b1832494c2df..a1b66edbe2949 100644
--- a/pkgs/applications/editors/vim/plugins/overrides.nix
+++ b/pkgs/applications/editors/vim/plugins/overrides.nix
@@ -590,6 +590,10 @@ self: super: {
     dependencies = with self; [ plenary-nvim ];
   };
 
+  harpoon2 = super.harpoon2.overrideAttrs {
+    dependencies = with self; [ plenary-nvim ];
+  };
+
   hex-nvim = super.hex-nvim.overrideAttrs {
     postPatch = ''
       substituteInPlace lua/hex.lua --replace xxd ${xxd}/bin/xxd
diff --git a/pkgs/applications/editors/vim/plugins/vim-plugin-names b/pkgs/applications/editors/vim/plugins/vim-plugin-names
index 6f61a45fff757..924a5b8c363f5 100644
--- a/pkgs/applications/editors/vim/plugins/vim-plugin-names
+++ b/pkgs/applications/editors/vim/plugins/vim-plugin-names
@@ -340,7 +340,8 @@ https://github.com/sjl/gundo.vim/,,
 https://github.com/junegunn/gv.vim/,,
 https://github.com/m4xshen/hardtime.nvim/,HEAD,
 https://git.sr.ht/~sircmpwn/hare.vim,HEAD,
-https://github.com/ThePrimeagen/harpoon/,,
+https://github.com/ThePrimeagen/harpoon/,master,
+https://github.com/ThePrimeagen/harpoon/,harpoon2,harpoon2
 https://github.com/MrcJkb/haskell-tools.nvim/,HEAD,
 https://github.com/neovimhaskell/haskell-vim/,,
 https://github.com/wenzel-hoffman/haskell-with-unicode.vim/,HEAD,
diff --git a/pkgs/applications/editors/xed-editor/default.nix b/pkgs/applications/editors/xed-editor/default.nix
index a99eae639f029..08d4eeb469d07 100644
--- a/pkgs/applications/editors/xed-editor/default.nix
+++ b/pkgs/applications/editors/xed-editor/default.nix
@@ -1,6 +1,7 @@
 { stdenv
 , lib
 , fetchFromGitHub
+, fetchpatch
 , libxml2
 , libpeas
 , glib
@@ -28,6 +29,15 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-IpUBB7Viwc/nRfwzFllRiWoOmUxRZzS2BcxyM7W3oHI=";
   };
 
+  patches = [
+    # Fix missing include for libxml2 2.12
+    # https://github.com/linuxmint/xed/pull/611
+    (fetchpatch {
+      url = "https://github.com/linuxmint/xed/commit/28cb2e8136c1bfe90faf5f2341bde66156990778.patch";
+      hash = "sha256-AqIb7Jj19SF3tIriPwn1JeB7niCmPbBsLE4ch2AX7fk=";
+    })
+  ];
+
   nativeBuildInputs = [
     meson
     pkg-config
diff --git a/pkgs/applications/emulators/blink/default.nix b/pkgs/applications/emulators/blink/default.nix
index bdaf36bf6615d..d939b99add88c 100644
--- a/pkgs/applications/emulators/blink/default.nix
+++ b/pkgs/applications/emulators/blink/default.nix
@@ -19,6 +19,15 @@ stdenv.mkDerivation (finalAttrs: {
     })
   ];
 
+  # Do not include --enable-static and --disable-shared flags during static compilation
+  dontAddStaticConfigureFlags = true;
+
+  # Don't add --build and --host flags as they are not supported
+  configurePlatforms = lib.optionals stdenv.hostPlatform.isStatic [ ];
+
+  # ./configure script expects --static not standard --enable-static
+  configureFlags = lib.optional stdenv.hostPlatform.isStatic "--static";
+
   # 'make check' requires internet connection
   doCheck = true;
   checkTarget = "test";
diff --git a/pkgs/applications/emulators/wine/sources.nix b/pkgs/applications/emulators/wine/sources.nix
index 1bd1d6a8214d8..d8a154a167f01 100644
--- a/pkgs/applications/emulators/wine/sources.nix
+++ b/pkgs/applications/emulators/wine/sources.nix
@@ -69,9 +69,9 @@ in rec {
 
   unstable = fetchurl rec {
     # NOTE: Don't forget to change the hash for staging as well.
-    version = "8.20";
-    url = "https://dl.winehq.org/wine/source/8.x/wine-${version}.tar.xz";
-    hash = "sha256-SNa3a9ZDBaICBX+8GdkiwfSWJfbRqYJZJ8ChhXJzmYI=";
+    version = "9.0-rc1";
+    url = "https://dl.winehq.org/wine/source/9.0/wine-${version}.tar.xz";
+    hash = "sha256-GDd3V74ffxeGzopWqET2ZXKIH/z3RcC0yjTwmmDi8zA=";
     inherit (stable) patches;
 
     ## see http://wiki.winehq.org/Gecko
@@ -116,8 +116,8 @@ in rec {
 
   staging = fetchFromGitHub rec {
     # https://github.com/wine-staging/wine-staging/releases
-    version = "8.20";
-    hash = "sha256-CiWTXjUR1+GY+MO7djHfVUH71zSo3lpH9IaqS5zCeJ8=";
+    inherit (unstable) version;
+    hash = "sha256-jjy4r9VEJsU7FJ7RmE8+cgHTAkZVGruNUD5hzmGSB8c=";
     owner = "wine-staging";
     repo = "wine-staging";
     rev = "v${version}";
diff --git a/pkgs/applications/graphics/gscan2pdf/default.nix b/pkgs/applications/graphics/gscan2pdf/default.nix
index 0acc934a7fd9b..bbf52e105a284 100644
--- a/pkgs/applications/graphics/gscan2pdf/default.nix
+++ b/pkgs/applications/graphics/gscan2pdf/default.nix
@@ -153,5 +153,6 @@ perlPackages.buildPerlPackage rec {
     homepage = "https://gscan2pdf.sourceforge.net/";
     license = licenses.gpl3;
     maintainers = with maintainers; [ pacien ];
+    mainProgram = "gscan2pdf";
   };
 }
diff --git a/pkgs/applications/misc/blender/default.nix b/pkgs/applications/misc/blender/default.nix
index bdfd867f55675..e803c7eae840b 100644
--- a/pkgs/applications/misc/blender/default.nix
+++ b/pkgs/applications/misc/blender/default.nix
@@ -38,11 +38,11 @@ let
 in
 stdenv.mkDerivation (finalAttrs: rec {
   pname = "blender";
-  version = "4.0.1";
+  version = "4.0.2";
 
   src = fetchurl {
     url = "https://download.blender.org/source/${pname}-${version}.tar.xz";
-    hash = "sha256-/jLU0noX5RxhQ+26G16nGFylm65Lzfm9s11oCWCC43Q=";
+    hash = "sha256-qqDnKdp1kc+/RXcq92NFl32qp7EaCvNdmPkxPiRgd6M=";
   };
 
   patches = [
diff --git a/pkgs/applications/misc/corectrl/default.nix b/pkgs/applications/misc/corectrl/default.nix
index 0771737eb266e..99c2ce866db39 100644
--- a/pkgs/applications/misc/corectrl/default.nix
+++ b/pkgs/applications/misc/corectrl/default.nix
@@ -23,13 +23,13 @@
 
 stdenv.mkDerivation rec{
   pname = "corectrl";
-  version = "1.3.6";
+  version = "1.3.8";
 
   src = fetchFromGitLab {
     owner = "corectrl";
     repo = "corectrl";
     rev = "v${version}";
-    sha256 = "sha256-a8cLtmv9nLtvN9o/aIwveTAT36XmTN1j85ZxVGIXO6E=";
+    sha256 = "sha256-lc6yWzJiSzGKMzJIpgOtirJONsh49vXWDWrhLV/erwQ=";
   };
   patches = [
     ./polkit-dir.patch
diff --git a/pkgs/applications/misc/corectrl/polkit-dir.patch b/pkgs/applications/misc/corectrl/polkit-dir.patch
index 85b0f765bebe6..beaef3b5097eb 100644
--- a/pkgs/applications/misc/corectrl/polkit-dir.patch
+++ b/pkgs/applications/misc/corectrl/polkit-dir.patch
@@ -1,5 +1,5 @@
 diff --git a/src/helper/CMakeLists.txt b/src/helper/CMakeLists.txt
-index 1b7ed7c..757748c 100644
+index 3fe2ace..2542ea1 100644
 --- a/src/helper/CMakeLists.txt
 +++ b/src/helper/CMakeLists.txt
 @@ -22,15 +22,7 @@ message("D-Bus files will be installed into ${DBUS_DATADIR_PREFIX_DIR}/dbus-1")
@@ -7,15 +7,15 @@ index 1b7ed7c..757748c 100644
  # Find polkit
  pkg_check_modules(POLKIT REQUIRED polkit-gobject-1)
 -execute_process(
--    COMMAND pkg-config --variable=policydir polkit-gobject-1
--    RESULT_VARIABLE POLKIT_POLICY_INSTALL_DIR_RESULT
--    OUTPUT_VARIABLE POLKIT_POLICY_INSTALL_DIR
--    OUTPUT_STRIP_TRAILING_WHITESPACE
+-  COMMAND pkg-config --variable=policydir polkit-gobject-1
+-  RESULT_VARIABLE POLKIT_POLICY_INSTALL_DIR_RESULT
+-  OUTPUT_VARIABLE POLKIT_POLICY_INSTALL_DIR
+-  OUTPUT_STRIP_TRAILING_WHITESPACE
 -)
 -if(NOT POLKIT_POLICY_INSTALL_DIR_RESULT EQUAL "0")
 -  message(FATAL_ERROR "Failed to retrieve Polkit `policydir` variable using pkg-config")
 -endif()
 +option(POLKIT_POLICY_INSTALL_DIR "Polkit policy directory")
  
- list(APPEND PROCESS_MONITOR_SRC
-   pmon/processmonitor.cpp
+ list(APPEND HELPER_COMPILE_DEFINITIONS
+   ELPP_THREAD_SAFE
diff --git a/pkgs/applications/misc/faircamp/Cargo.lock b/pkgs/applications/misc/faircamp/Cargo.lock
index b8dba83ebfbe9..0eb6211e4287b 100644
--- a/pkgs/applications/misc/faircamp/Cargo.lock
+++ b/pkgs/applications/misc/faircamp/Cargo.lock
@@ -54,7 +54,7 @@ dependencies = [
  "actix-utils",
  "ahash",
  "base64",
- "bitflags 2.2.1",
+ "bitflags 2.4.1",
  "brotli",
  "bytes",
  "bytestring",
@@ -78,17 +78,17 @@ dependencies = [
  "tokio",
  "tokio-util",
  "tracing",
- "zstd 0.12.3+zstd.1.5.2",
+ "zstd 0.12.4",
 ]
 
 [[package]]
 name = "actix-macros"
-version = "0.2.3"
+version = "0.2.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "465a6172cf69b960917811022d8f29bc0b7fa1398bc4f78b3c466673db1213b6"
+checksum = "e01ed3140b2f8d422c68afa1ed2e85d996ea619c988ac834d255db32138655cb"
 dependencies = [
  "quote",
- "syn 1.0.109",
+ "syn 2.0.39",
 ]
 
 [[package]]
@@ -106,9 +106,9 @@ dependencies = [
 
 [[package]]
 name = "actix-rt"
-version = "2.8.0"
+version = "2.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "15265b6b8e2347670eb363c47fc8c75208b4a4994b27192f345fcbe707804f3e"
+checksum = "28f32d40287d3f402ae0028a9d54bef51af15c8769492826a69d28f81893151d"
 dependencies = [
  "futures-core",
  "tokio",
@@ -116,9 +116,9 @@ dependencies = [
 
 [[package]]
 name = "actix-server"
-version = "2.2.0"
+version = "2.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3e8613a75dd50cc45f473cee3c34d59ed677c0f7b44480ce3b8247d7dc519327"
+checksum = "3eb13e7eef0423ea6eab0e59f6c72e7cb46d33691ad56a726b3cd07ddec2c2d4"
 dependencies = [
  "actix-rt",
  "actix-service",
@@ -126,8 +126,7 @@ dependencies = [
  "futures-core",
  "futures-util",
  "mio",
- "num_cpus",
- "socket2 0.4.9",
+ "socket2",
  "tokio",
  "tracing",
 ]
@@ -188,21 +187,21 @@ dependencies = [
  "serde_json",
  "serde_urlencoded",
  "smallvec",
- "socket2 0.5.3",
- "time 0.3.21",
+ "socket2",
+ "time",
  "url",
 ]
 
 [[package]]
 name = "actix-web-codegen"
-version = "4.2.0"
+version = "4.2.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2262160a7ae29e3415554a3f1fc04c764b1540c116aa524683208078b7a75bc9"
+checksum = "eb1f50ebbb30eca122b188319a4398b3f7bb4a8cdf50ecfb73bfc6a3c3ce54f5"
 dependencies = [
  "actix-router",
  "proc-macro2",
  "quote",
- "syn 1.0.109",
+ "syn 2.0.39",
 ]
 
 [[package]]
@@ -233,21 +232,22 @@ dependencies = [
 
 [[package]]
 name = "ahash"
-version = "0.8.3"
+version = "0.8.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2c99f64d1e06488f620f932677e24bc6e2897582980441ae90a671415bd7ec2f"
+checksum = "91429305e9f0a25f6205c5b8e0d2db09e0708a7a6df0f42212bb56c32c8ac97a"
 dependencies = [
  "cfg-if",
  "getrandom",
  "once_cell",
  "version_check",
+ "zerocopy",
 ]
 
 [[package]]
 name = "aho-corasick"
-version = "1.0.1"
+version = "1.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "67fc08ce920c31afb70f013dcce1bfc3a3195de6a228474e45e1f145b36f8d04"
+checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0"
 dependencies = [
  "memchr",
 ]
@@ -284,9 +284,9 @@ dependencies = [
 
 [[package]]
 name = "anstream"
-version = "0.5.0"
+version = "0.6.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b1f58811cfac344940f1a400b6e6231ce35171f614f26439e80f8c1465c5cc0c"
+checksum = "2ab91ebe16eb252986481c5b62f6098f3b698a45e34b5b98200cf20dd2484a44"
 dependencies = [
  "anstyle",
  "anstyle-parse",
@@ -298,15 +298,15 @@ dependencies = [
 
 [[package]]
 name = "anstyle"
-version = "1.0.0"
+version = "1.0.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "41ed9a86bf92ae6580e0a31281f65a1b1d867c0cc68d5346e2ae128dddfa6a7d"
+checksum = "7079075b41f533b8c61d2a4d073c4676e1f8b249ff94a393b0595db304e0dd87"
 
 [[package]]
 name = "anstyle-parse"
-version = "0.2.0"
+version = "0.2.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e765fd216e48e067936442276d1d57399e37bce53c264d6fefbe298080cb57ee"
+checksum = "317b9a89c1868f5ea6ff1d9539a69f45dffc21ce321ac1fd1160dfa48c8e2140"
 dependencies = [
  "utf8parse",
 ]
@@ -322,9 +322,9 @@ dependencies = [
 
 [[package]]
 name = "anstyle-wincon"
-version = "2.1.0"
+version = "3.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "58f54d10c6dfa51283a066ceab3ec1ab78d13fae00aa49243a45e4571fb79dfd"
+checksum = "f0699d10d2f4d628a98ee7b57b289abbc98ff3bad977cb3152709d4bf2330628"
 dependencies = [
  "anstyle",
  "windows-sys 0.48.0",
@@ -332,15 +332,15 @@ dependencies = [
 
 [[package]]
 name = "anyhow"
-version = "1.0.71"
+version = "1.0.75"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c7d0618f0e0b7e8ff11427422b64564d5fb0be1940354bfe2e0529b18a9d9b8"
+checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6"
 
 [[package]]
 name = "arbitrary-int"
-version = "1.2.5"
+version = "1.2.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6a49f791c7c8885e8221d31bc3a34455b0fd869810d8ddff608dbe08a598f9d9"
+checksum = "fe8e2a586ecd6eb29477a0c25b19742acca4fa5e39c92e127656616810c20579"
 
 [[package]]
 name = "askama_escape"
@@ -390,16 +390,16 @@ dependencies = [
  "cc",
  "cfg-if",
  "libc",
- "miniz_oxide 0.7.1",
+ "miniz_oxide",
  "object",
  "rustc-demangle",
 ]
 
 [[package]]
 name = "base64"
-version = "0.21.3"
+version = "0.21.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "414dcefbc63d77c526a76b3afcf6fbb9b5e2791c19c3aa2297733208750c6e53"
+checksum = "35636a1494ede3b646cc98f74f8e62c773a38a659ebc777a2cf26b9b74171df9"
 
 [[package]]
 name = "base64ct"
@@ -430,9 +430,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
 
 [[package]]
 name = "bitflags"
-version = "2.2.1"
+version = "2.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "24a6904aef64d73cf10ab17ebace7befb918b82164785cb89907993be7f83813"
+checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07"
 
 [[package]]
 name = "block-buffer"
@@ -445,9 +445,9 @@ dependencies = [
 
 [[package]]
 name = "brotli"
-version = "3.3.4"
+version = "3.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a1a0b1dbcc8ae29329621f8d4f0d835787c1c38bb1401979b49d13b0b305ff68"
+checksum = "516074a47ef4bce09577a3b379392300159ce5b1ba2e501ff1c819950066100f"
 dependencies = [
  "alloc-no-stdlib",
  "alloc-stdlib",
@@ -456,9 +456,9 @@ dependencies = [
 
 [[package]]
 name = "brotli-decompressor"
-version = "2.3.4"
+version = "2.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4b6561fd3f895a11e8f72af2cb7d22e08366bebc2b6b57f7744c4bda27034744"
+checksum = "4e2e4afe60d7dd600fdd3de8d0f08c2b7ec039712e3b6137ff98b7004e82de4f"
 dependencies = [
  "alloc-no-stdlib",
  "alloc-stdlib",
@@ -466,33 +466,33 @@ dependencies = [
 
 [[package]]
 name = "bumpalo"
-version = "3.12.2"
+version = "3.14.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c6ed94e98ecff0c12dd1b04c15ec0d7d9458ca8fe806cea6f12954efe74c63b"
+checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec"
 
 [[package]]
 name = "bytemuck"
-version = "1.13.1"
+version = "1.14.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "17febce684fd15d89027105661fec94afb475cb995fbc59d2865198446ba2eea"
+checksum = "374d28ec25809ee0e23827c2ab573d729e293f281dfe393500e7ad618baa61c6"
 
 [[package]]
 name = "byteorder"
-version = "1.4.3"
+version = "1.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
+checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
 
 [[package]]
 name = "bytes"
-version = "1.4.0"
+version = "1.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be"
+checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223"
 
 [[package]]
 name = "bytestring"
-version = "1.3.0"
+version = "1.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "238e4886760d98c4f899360c834fa93e62cf7f721ac3c2da375cbdf4b8679aae"
+checksum = "74d80203ea6b29df88012294f62733de21cfeab47f17b41af3a38bc30a03ee72"
 dependencies = [
  "bytes",
 ]
@@ -520,11 +520,12 @@ dependencies = [
 
 [[package]]
 name = "cc"
-version = "1.0.79"
+version = "1.0.83"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f"
+checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0"
 dependencies = [
  "jobserver",
+ "libc",
 ]
 
 [[package]]
@@ -541,18 +542,17 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
 
 [[package]]
 name = "chrono"
-version = "0.4.29"
+version = "0.4.31"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d87d9d13be47a5b7c3907137f1290b0459a7f80efb26be8c52afb11963bccb02"
+checksum = "7f2c685bad3eb3d45a01354cedb7d5faa66194d1d58ba6e267a8de788f79db38"
 dependencies = [
  "android-tzdata",
  "iana-time-zone",
  "js-sys",
  "num-traits",
  "serde",
- "time 0.1.45",
  "wasm-bindgen",
- "windows-targets 0.48.0",
+ "windows-targets 0.48.5",
 ]
 
 [[package]]
@@ -567,9 +567,9 @@ dependencies = [
 
 [[package]]
 name = "clap"
-version = "4.4.2"
+version = "4.4.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6a13b88d2c62ff462f88e4a121f17a82c1af05693a2f192b5c38d14de73c19f6"
+checksum = "41fffed7514f420abec6d183b1d3acfd9099c79c3a10a06ade4f8203f1411272"
 dependencies = [
  "clap_builder",
  "clap_derive",
@@ -577,9 +577,9 @@ dependencies = [
 
 [[package]]
 name = "clap_builder"
-version = "4.4.2"
+version = "4.4.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2bb9faaa7c2ef94b2743a21f5a29e6f0010dff4caa69ac8e9d6cf8b6fa74da08"
+checksum = "63361bae7eef3771745f02d8d892bec2fee5f6e34af316ba556e7f97a7069ff1"
 dependencies = [
  "anstream",
  "anstyle",
@@ -589,21 +589,21 @@ dependencies = [
 
 [[package]]
 name = "clap_derive"
-version = "4.4.2"
+version = "4.4.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0862016ff20d69b84ef8247369fabf5c008a7417002411897d40ee1f4532b873"
+checksum = "cf9804afaaf59a91e75b022a30fb7229a7901f60c755489cc61c9b423b836442"
 dependencies = [
  "heck",
  "proc-macro2",
  "quote",
- "syn 2.0.31",
+ "syn 2.0.39",
 ]
 
 [[package]]
 name = "clap_lex"
-version = "0.5.1"
+version = "0.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cd7cc57abe963c6d3b9d8be5b06ba7c8957a930305ca90304f24ef040aa6f961"
+checksum = "702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1"
 
 [[package]]
 name = "claxon"
@@ -661,15 +661,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e859cd57d0710d9e06c381b550c06e76992472a8c6d527aecd2fc673dcc231fb"
 dependencies = [
  "percent-encoding",
- "time 0.3.21",
+ "time",
  "version_check",
 ]
 
 [[package]]
 name = "core-foundation"
-version = "0.9.3"
+version = "0.9.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146"
+checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f"
 dependencies = [
  "core-foundation-sys",
  "libc",
@@ -677,15 +677,15 @@ dependencies = [
 
 [[package]]
 name = "core-foundation-sys"
-version = "0.8.4"
+version = "0.8.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa"
+checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f"
 
 [[package]]
 name = "cpufeatures"
-version = "0.2.7"
+version = "0.2.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3e4c1eaa2012c47becbbad2ab175484c2a84d1185b566fb2cc5b8707343dfe58"
+checksum = "ce420fe07aecd3e67c5f910618fe65e94158f6dcc0adf44e00d69ce2bdfe0fd0"
 dependencies = [
  "libc",
 ]
@@ -701,19 +701,9 @@ dependencies = [
 
 [[package]]
 name = "critical-section"
-version = "1.1.1"
+version = "1.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6548a0ad5d2549e111e1f6a11a6c2e2d00ce6a3dafe22948d67c2b443f775e52"
-
-[[package]]
-name = "crossbeam-channel"
-version = "0.5.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200"
-dependencies = [
- "cfg-if",
- "crossbeam-utils",
-]
+checksum = "7059fff8937831a9ae6f0fe4d658ffabf58f2ca96aa9dec1c889f936f705f216"
 
 [[package]]
 name = "crossbeam-deque"
@@ -728,9 +718,9 @@ dependencies = [
 
 [[package]]
 name = "crossbeam-epoch"
-version = "0.9.14"
+version = "0.9.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "46bd5f3f85273295a9d14aedfb86f6aadbff6d8f5295c4a9edb08e819dcf5695"
+checksum = "ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7"
 dependencies = [
  "autocfg",
  "cfg-if",
@@ -741,9 +731,9 @@ dependencies = [
 
 [[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",
 ]
@@ -765,6 +755,15 @@ dependencies = [
 ]
 
 [[package]]
+name = "deranged"
+version = "0.3.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0f32d04922c60427da6f9fef14d042d9edddef64cb9d4ce0d64d0685fbeb1fd3"
+dependencies = [
+ "powerfmt",
+]
+
+[[package]]
 name = "derive_more"
 version = "0.99.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -779,15 +778,15 @@ dependencies = [
 
 [[package]]
 name = "deunicode"
-version = "0.4.3"
+version = "1.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "850878694b7933ca4c9569d30a34b55031b9b139ee1fc7b94a527c4ef960d690"
+checksum = "6a1abaf4d861455be59f64fd2b55606cb151fce304ede7165f410243ce96bde6"
 
 [[package]]
 name = "digest"
-version = "0.10.6"
+version = "0.10.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f"
+checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
 dependencies = [
  "block-buffer",
  "crypto-common",
@@ -796,35 +795,41 @@ 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"
 
 [[package]]
 name = "encoding_rs"
-version = "0.8.32"
+version = "0.8.33"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "071a31f4ee85403370b58aca746f01041ede6f0da2730960ad001edc2b71b394"
+checksum = "7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1"
 dependencies = [
  "cfg-if",
 ]
 
 [[package]]
 name = "enolib"
-version = "0.2.1"
-source = "git+https://codeberg.org/simonrepp/enolib-rs?tag=0.2.1#16f94efb92203f5b8f92a67de6abb7fa0ef5869d"
+version = "0.3.0"
+source = "git+https://codeberg.org/simonrepp/enolib-rs?tag=0.3.0#e5739943579f23d43300f83a06988c47e9719f1a"
+
+[[package]]
+name = "equivalent"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
 
 [[package]]
 name = "exr"
-version = "1.6.3"
+version = "1.6.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bdd2162b720141a91a054640662d3edce3d50a944a50ffca5313cd951abb35b4"
+checksum = "279d3efcc55e19917fff7ab3ddd6c14afb6a90881a0078465196fe2f99d08c56"
 dependencies = [
  "bit_field",
  "flume",
  "half",
  "lebe",
- "miniz_oxide 0.6.2",
+ "miniz_oxide",
  "rayon-core",
  "smallvec",
  "zune-inflate",
@@ -832,7 +837,7 @@ dependencies = [
 
 [[package]]
 name = "faircamp"
-version = "0.8.0"
+version = "0.11.0"
 dependencies = [
  "actix-files",
  "actix-web",
@@ -863,24 +868,25 @@ dependencies = [
  "slug",
  "tokio",
  "url",
+ "urlencoding",
  "webbrowser",
  "zip",
 ]
 
 [[package]]
 name = "fdeflate"
-version = "0.3.0"
+version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d329bdeac514ee06249dabc27877490f17f5d371ec693360768b838e19f3ae10"
+checksum = "64d6dafc854908ff5da46ff3f8f473c6984119a2876a383a860246dd7841a868"
 dependencies = [
  "simd-adler32",
 ]
 
 [[package]]
 name = "fixed"
-version = "1.23.1"
+version = "1.24.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "79386fdcec5e0fde91b1a6a5bcd89677d1f9304f7f986b154a1b9109038854d9"
+checksum = "02c69ce7e7c0f17aa18fdd9d0de39727adb9c6281f2ad12f57cbe54ae6e76e7d"
 dependencies = [
  "az",
  "bytemuck",
@@ -890,12 +896,12 @@ dependencies = [
 
 [[package]]
 name = "flate2"
-version = "1.0.26"
+version = "1.0.28"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3b9429470923de8e8cbd4d2dc513535400b4b3fef0319fb5c4e1f520a7bef743"
+checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e"
 dependencies = [
  "crc32fast",
- "miniz_oxide 0.7.1",
+ "miniz_oxide",
 ]
 
 [[package]]
@@ -919,36 +925,36 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
 
 [[package]]
 name = "form_urlencoded"
-version = "1.2.0"
+version = "1.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652"
+checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456"
 dependencies = [
  "percent-encoding",
 ]
 
 [[package]]
 name = "futures-core"
-version = "0.3.28"
+version = "0.3.29"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c"
+checksum = "eb1d22c66e66d9d72e1758f0bd7d4fd0bee04cad842ee34587d68c07e45d088c"
 
 [[package]]
 name = "futures-sink"
-version = "0.3.28"
+version = "0.3.29"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e"
+checksum = "e36d3378ee38c2a36ad710c5d30c2911d752cb941c00c72dbabfb786a7970817"
 
 [[package]]
 name = "futures-task"
-version = "0.3.28"
+version = "0.3.29"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65"
+checksum = "efd193069b0ddadc69c46389b740bbccdd97203899b48d09c5f7969591d6bae2"
 
 [[package]]
 name = "futures-util"
-version = "0.3.28"
+version = "0.3.29"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533"
+checksum = "a19526d624e703a3179b3d322efec918b6246ea0fa51d41124525f00f1cc8104"
 dependencies = [
  "futures-core",
  "futures-task",
@@ -968,14 +974,14 @@ dependencies = [
 
 [[package]]
 name = "getrandom"
-version = "0.2.9"
+version = "0.2.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c85e1d9ab2eadba7e5040d4e09cbd6d072b76a557ad64e797c2cb9d4da21d7e4"
+checksum = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f"
 dependencies = [
  "cfg-if",
  "js-sys",
  "libc",
- "wasi 0.11.0+wasi-snapshot-preview1",
+ "wasi",
  "wasm-bindgen",
 ]
 
@@ -991,15 +997,15 @@ dependencies = [
 
 [[package]]
 name = "gimli"
-version = "0.28.0"
+version = "0.28.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0"
+checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253"
 
 [[package]]
 name = "h2"
-version = "0.3.19"
+version = "0.3.22"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d357c7ae988e7d2182f7d7871d0b963962420b0678b0997ce7de72001aeab782"
+checksum = "4d6250322ef6e60f93f9a2162799302cd6f68f79f6e5d85c8c16f14d1d958178"
 dependencies = [
  "bytes",
  "fnv",
@@ -1016,10 +1022,11 @@ dependencies = [
 
 [[package]]
 name = "half"
-version = "2.2.1"
+version = "2.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "02b4af3693f1b705df946e9fe5631932443781d0aabb423b62fcd4d73f6d2fd0"
+checksum = "bc52e53916c08643f1b56ec082790d1e86a32e58dc5268f897f313fbae7b4872"
 dependencies = [
+ "cfg-if",
  "crunchy",
 ]
 
@@ -1034,9 +1041,9 @@ dependencies = [
 
 [[package]]
 name = "hashbrown"
-version = "0.12.3"
+version = "0.14.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
+checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604"
 
 [[package]]
 name = "heapless"
@@ -1059,12 +1066,9 @@ checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
 
 [[package]]
 name = "hermit-abi"
-version = "0.2.6"
+version = "0.3.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7"
-dependencies = [
- "libc",
-]
+checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7"
 
 [[package]]
 name = "hex"
@@ -1092,15 +1096,15 @@ dependencies = [
 
 [[package]]
 name = "hound"
-version = "3.5.0"
+version = "3.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4d13cdbd5dbb29f9c88095bbdc2590c9cba0d0a1269b983fef6b2cdd7e9f4db1"
+checksum = "62adaabb884c94955b19907d60019f4e145d091c75345379e70d1ee696f7854f"
 
 [[package]]
 name = "http"
-version = "0.2.9"
+version = "0.2.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482"
+checksum = "8947b1a6fad4393052c7ba1f4cd97bed3e953a95c79c92ad9b051a04611d9fbb"
 dependencies = [
  "bytes",
  "fnv",
@@ -1121,22 +1125,22 @@ checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904"
 
 [[package]]
 name = "httpdate"
-version = "1.0.2"
+version = "1.0.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421"
+checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9"
 
 [[package]]
 name = "iana-time-zone"
-version = "0.1.56"
+version = "0.1.58"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0722cd7114b7de04316e7ea5456a0bbb20e4adb46fd27a3697adb812cff0f37c"
+checksum = "8326b86b6cff230b97d0d312a6c40a60726df3332e721f72a1b035f451663b20"
 dependencies = [
  "android_system_properties",
  "core-foundation-sys",
  "iana-time-zone-haiku",
  "js-sys",
  "wasm-bindgen",
- "windows",
+ "windows-core",
 ]
 
 [[package]]
@@ -1150,20 +1154,20 @@ dependencies = [
 
 [[package]]
 name = "id3"
-version = "1.7.0"
+version = "1.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9389dd9c8c4671b1e4b2878a6329bccb573f9c24a75bc91c641c451ce5436501"
+checksum = "bf8550abe8a02c044e8f4162c8ddb4020fc65b5e7771ad9b80c25e13ed4536b6"
 dependencies = [
- "bitflags 2.2.1",
+ "bitflags 2.4.1",
  "byteorder",
  "flate2",
 ]
 
 [[package]]
 name = "idna"
-version = "0.4.0"
+version = "0.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c"
+checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6"
 dependencies = [
  "unicode-bidi",
  "unicode-normalization",
@@ -1190,19 +1194,19 @@ dependencies = [
 
 [[package]]
 name = "indexmap"
-version = "1.9.3"
+version = "2.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99"
+checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f"
 dependencies = [
- "autocfg",
+ "equivalent",
  "hashbrown",
 ]
 
 [[package]]
 name = "indoc"
-version = "2.0.3"
+version = "2.0.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2c785eefb63ebd0e33416dfcb8d6da0bf27ce752843a45632a67bf10d4d4b5c4"
+checksum = "1e186cfbae8084e513daff4240b4797e342f988cecda4fb6c939150f96315fd8"
 
 [[package]]
 name = "inout"
@@ -1233,9 +1237,9 @@ dependencies = [
 
 [[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 = "jni"
@@ -1261,9 +1265,9 @@ checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130"
 
 [[package]]
 name = "jobserver"
-version = "0.1.26"
+version = "0.1.27"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "936cfd212a0155903bcbc060e316fb6cc7cbf2e1907329391ebadc1fe0ce77c2"
+checksum = "8c37f63953c4c63420ed5fd3d6d398c719489b9f872b9fa683262f8edd363c7d"
 dependencies = [
  "libc",
 ]
@@ -1279,9 +1283,9 @@ dependencies = [
 
 [[package]]
 name = "js-sys"
-version = "0.3.62"
+version = "0.3.66"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "68c16e1bfd491478ab155fd8b4896b86f9ede344949b641e61501e07c2b8b4d5"
+checksum = "cee9c64da59eae3b50095c18d3e74f8b73c0b86d2792824ff01bbce68ba229ca"
 dependencies = [
  "wasm-bindgen",
 ]
@@ -1317,9 +1321,9 @@ dependencies = [
 
 [[package]]
 name = "libc"
-version = "0.2.147"
+version = "0.2.150"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3"
+checksum = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c"
 
 [[package]]
 name = "libvips"
@@ -1333,27 +1337,26 @@ dependencies = [
 
 [[package]]
 name = "local-channel"
-version = "0.1.3"
+version = "0.1.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f303ec0e94c6c54447f84f3b0ef7af769858a9c4ef56ef2a986d3dcd4c3fc9c"
+checksum = "b6cbc85e69b8df4b8bb8b89ec634e7189099cea8927a276b7384ce5488e53ec8"
 dependencies = [
  "futures-core",
  "futures-sink",
- "futures-util",
  "local-waker",
 ]
 
 [[package]]
 name = "local-waker"
-version = "0.1.3"
+version = "0.1.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e34f76eb3611940e0e7d53a9aaa4e6a3151f69541a282fd0dad5571420c53ff1"
+checksum = "4d873d7c67ce09b42110d801813efbc9364414e356be9935700d368351657487"
 
 [[package]]
 name = "lock_api"
-version = "0.4.9"
+version = "0.4.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df"
+checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45"
 dependencies = [
  "autocfg",
  "scopeguard",
@@ -1361,12 +1364,9 @@ dependencies = [
 
 [[package]]
 name = "log"
-version = "0.4.17"
+version = "0.4.20"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e"
-dependencies = [
- "cfg-if",
-]
+checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
 
 [[package]]
 name = "malloc_buf"
@@ -1379,15 +1379,15 @@ dependencies = [
 
 [[package]]
 name = "memchr"
-version = "2.5.0"
+version = "2.6.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
+checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167"
 
 [[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",
 ]
@@ -1427,15 +1427,6 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
 
 [[package]]
 name = "miniz_oxide"
-version = "0.6.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b275950c28b37e794e8c55d88aeb5e139d0ce23fdbbeda68f8d7174abdf9e8fa"
-dependencies = [
- "adler",
-]
-
-[[package]]
-name = "miniz_oxide"
 version = "0.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7"
@@ -1446,14 +1437,14 @@ dependencies = [
 
 [[package]]
 name = "mio"
-version = "0.8.6"
+version = "0.8.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5b9d9a46eff5b4ff64b45a9e316a6d1e0bc719ef429cbec4dc630684212bfdf9"
+checksum = "3dce281c5e46beae905d4de1870d8b1509a9142b62eedf18b443b011ca8343d0"
 dependencies = [
  "libc",
  "log",
- "wasi 0.11.0+wasi-snapshot-preview1",
- "windows-sys 0.45.0",
+ "wasi",
+ "windows-sys 0.48.0",
 ]
 
 [[package]]
@@ -1524,18 +1515,18 @@ dependencies = [
 
 [[package]]
 name = "num-traits"
-version = "0.2.15"
+version = "0.2.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd"
+checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c"
 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",
  "libc",
@@ -1579,9 +1570,9 @@ dependencies = [
 
 [[package]]
 name = "once_cell"
-version = "1.17.1"
+version = "1.18.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3"
+checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
 
 [[package]]
 name = "opus"
@@ -1624,15 +1615,15 @@ dependencies = [
 
 [[package]]
 name = "parking_lot_core"
-version = "0.9.7"
+version = "0.9.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9069cbb9f99e3a5083476ccb29ceb1de18b9118cafa53e90c9551235de2b9521"
+checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e"
 dependencies = [
  "cfg-if",
  "libc",
  "redox_syscall",
  "smallvec",
- "windows-sys 0.45.0",
+ "windows-targets 0.48.5",
 ]
 
 [[package]]
@@ -1648,9 +1639,9 @@ dependencies = [
 
 [[package]]
 name = "paste"
-version = "1.0.12"
+version = "1.0.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9f746c4065a8fa3fe23974dd82f15431cc8d40779821001404d10d2e79ca7d79"
+checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c"
 
 [[package]]
 name = "pbkdf2"
@@ -1666,28 +1657,28 @@ dependencies = [
 
 [[package]]
 name = "percent-encoding"
-version = "2.3.0"
+version = "2.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94"
+checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
 
 [[package]]
 name = "pin-project"
-version = "1.1.0"
+version = "1.1.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c95a7476719eab1e366eaf73d0260af3021184f18177925b07f54b30089ceead"
+checksum = "fda4ed1c6c173e3fc7a83629421152e01d7b1f9b7f65fb301e490e8cfc656422"
 dependencies = [
  "pin-project-internal",
 ]
 
 [[package]]
 name = "pin-project-internal"
-version = "1.1.0"
+version = "1.1.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "39407670928234ebc5e6e580247dd567ad73a3578460c5990f9503df207e8f07"
+checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.31",
+ "syn 2.0.39",
 ]
 
 [[package]]
@@ -1710,18 +1701,24 @@ checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964"
 
 [[package]]
 name = "png"
-version = "0.17.8"
+version = "0.17.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aaeebc51f9e7d2c150d3f3bfeb667f2aa985db5ef1e3d212847bdedb488beeaa"
+checksum = "dd75bf2d8dd3702b9707cdbc56a5b9ef42cec752eb8b3bafc01234558442aa64"
 dependencies = [
  "bitflags 1.3.2",
  "crc32fast",
  "fdeflate",
  "flate2",
- "miniz_oxide 0.7.1",
+ "miniz_oxide",
 ]
 
 [[package]]
+name = "powerfmt"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391"
+
+[[package]]
 name = "ppv-lite86"
 version = "0.2.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1729,9 +1726,9 @@ checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.66"
+version = "1.0.70"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9"
+checksum = "39278fbbf5fb4f646ce651690877f89d1c5811a3d4acb27700c1cb3cdb78fd3b"
 dependencies = [
  "unicode-ident",
 ]
@@ -1803,9 +1800,9 @@ checksum = "f2ff9a1f06a88b01621b7ae906ef0211290d1c8a168a15542486a8f61c0833b9"
 
 [[package]]
 name = "rayon"
-version = "1.7.0"
+version = "1.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1d2df5196e37bcc87abebc0053e20787d73847bb33134a69841207dd0a47f03b"
+checksum = "9c27db03db7734835b3f53954b534c91069375ce6ccaa2e065441e07d9b6cdb1"
 dependencies = [
  "either",
  "rayon-core",
@@ -1813,30 +1810,28 @@ dependencies = [
 
 [[package]]
 name = "rayon-core"
-version = "1.11.0"
+version = "1.12.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4b8f95bd6966f5c87776639160a66bd8ab9895d9d4ab01ddba9fc60661aebe8d"
+checksum = "5ce3fb6ad83f861aac485e76e1985cd109d9a3713802152be56c3b1f0e0658ed"
 dependencies = [
- "crossbeam-channel",
  "crossbeam-deque",
  "crossbeam-utils",
- "num_cpus",
 ]
 
 [[package]]
 name = "redox_syscall"
-version = "0.2.16"
+version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a"
+checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa"
 dependencies = [
  "bitflags 1.3.2",
 ]
 
 [[package]]
 name = "regex"
-version = "1.9.4"
+version = "1.10.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "12de2eff854e5fa4b1295edd650e227e9d8fb0c9e90b12e7f36d6a6811791a29"
+checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343"
 dependencies = [
  "aho-corasick",
  "memchr",
@@ -1846,9 +1841,9 @@ dependencies = [
 
 [[package]]
 name = "regex-automata"
-version = "0.3.7"
+version = "0.4.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "49530408a136e16e5b486e883fbb6ba058e8e4e8ae6621a77b048b314336e629"
+checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f"
 dependencies = [
  "aho-corasick",
  "memchr",
@@ -1857,9 +1852,9 @@ dependencies = [
 
 [[package]]
 name = "regex-syntax"
-version = "0.7.5"
+version = "0.8.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da"
+checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
 
 [[package]]
 name = "rmp3"
@@ -1888,9 +1883,9 @@ 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 = "same-file"
@@ -1913,41 +1908,41 @@ 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 = "semver"
-version = "1.0.17"
+version = "1.0.20"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bebd363326d05ec3e2f532ab7660680f3b02130d780c299bca73469d521bc0ed"
+checksum = "836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090"
 
 [[package]]
 name = "serde"
-version = "1.0.188"
+version = "1.0.193"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cf9e0fcba69a370eed61bcf2b728575f726b50b55cba78064753d708ddc7549e"
+checksum = "25dd9975e68d0cb5aa1120c288333fc98731bd1dd12f561e468ea4728c042b89"
 dependencies = [
  "serde_derive",
 ]
 
 [[package]]
 name = "serde_derive"
-version = "1.0.188"
+version = "1.0.193"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4eca7ac642d82aa35b60049a6eccb4be6be75e599bd2e9adb5f875a737654af2"
+checksum = "43576ca501357b9b071ac53cdc7da8ef0cbd9493d8df094cd821777ea6e894d3"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.31",
+ "syn 2.0.39",
 ]
 
 [[package]]
 name = "serde_json"
-version = "1.0.96"
+version = "1.0.108"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "057d394a50403bcac12672b2b18fb387ab6d289d957dab67dd201875391e52f1"
+checksum = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b"
 dependencies = [
  "itoa",
  "ryu",
@@ -1968,9 +1963,9 @@ dependencies = [
 
 [[package]]
 name = "sha1"
-version = "0.10.5"
+version = "0.10.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f04293dc80c3993519f2d7f6f511707ee7094fe0c6d3406feb330cdb3540eba3"
+checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba"
 dependencies = [
  "cfg-if",
  "cpufeatures",
@@ -1979,9 +1974,9 @@ dependencies = [
 
 [[package]]
 name = "sha2"
-version = "0.10.6"
+version = "0.10.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0"
+checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8"
 dependencies = [
  "cfg-if",
  "cpufeatures",
@@ -1999,49 +1994,40 @@ dependencies = [
 
 [[package]]
 name = "simd-adler32"
-version = "0.3.5"
+version = "0.3.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "238abfbb77c1915110ad968465608b68e869e0772622c9656714e73e5a1a522f"
+checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe"
 
 [[package]]
 name = "slab"
-version = "0.4.8"
+version = "0.4.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d"
+checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67"
 dependencies = [
  "autocfg",
 ]
 
 [[package]]
 name = "slug"
-version = "0.1.4"
+version = "0.1.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b3bc762e6a4b6c6fcaade73e77f9ebc6991b676f88bb2358bddb56560f073373"
+checksum = "3bd94acec9c8da640005f8e135a39fc0372e74535e6b368b7a04b875f784c8c4"
 dependencies = [
  "deunicode",
+ "wasm-bindgen",
 ]
 
 [[package]]
 name = "smallvec"
-version = "1.10.0"
+version = "1.11.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0"
-
-[[package]]
-name = "socket2"
-version = "0.4.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662"
-dependencies = [
- "libc",
- "winapi",
-]
+checksum = "4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970"
 
 [[package]]
 name = "socket2"
-version = "0.5.3"
+version = "0.5.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2538b18701741680e0322a2302176d3253a35388e2e62f172f64f4f16605f877"
+checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9"
 dependencies = [
  "libc",
  "windows-sys 0.48.0",
@@ -2070,9 +2056,9 @@ checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
 
 [[package]]
 name = "subtle"
-version = "2.4.1"
+version = "2.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601"
+checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc"
 
 [[package]]
 name = "syn"
@@ -2087,9 +2073,9 @@ dependencies = [
 
 [[package]]
 name = "syn"
-version = "2.0.31"
+version = "2.0.39"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "718fa2415bcb8d8bd775917a1bf12a7931b6dfa890753378538118181e0cb398"
+checksum = "23e78b90f2fcf45d3e842032ce32e3f2d1545ba6636271dcbf24fa306d87be7a"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -2098,22 +2084,22 @@ dependencies = [
 
 [[package]]
 name = "thiserror"
-version = "1.0.40"
+version = "1.0.50"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac"
+checksum = "f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2"
 dependencies = [
  "thiserror-impl",
 ]
 
 [[package]]
 name = "thiserror-impl"
-version = "1.0.40"
+version = "1.0.50"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f"
+checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.31",
+ "syn 2.0.39",
 ]
 
 [[package]]
@@ -2129,22 +2115,13 @@ dependencies = [
 
 [[package]]
 name = "time"
-version = "0.1.45"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b797afad3f312d1c66a56d11d0316f916356d11bd158fbc6ca6389ff6bf805a"
-dependencies = [
- "libc",
- "wasi 0.10.0+wasi-snapshot-preview1",
- "winapi",
-]
-
-[[package]]
-name = "time"
-version = "0.3.21"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f3403384eaacbca9923fa06940178ac13e4edb725486d70e8e15881d0c836cc"
+checksum = "c4a34ab300f2dee6e562c10a046fc05e358b29f9bf92277f30c3c8d82275f6f5"
 dependencies = [
+ "deranged",
  "itoa",
+ "powerfmt",
  "serde",
  "time-core",
  "time-macros",
@@ -2152,15 +2129,15 @@ dependencies = [
 
 [[package]]
 name = "time-core"
-version = "0.1.1"
+version = "0.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb"
+checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3"
 
 [[package]]
 name = "time-macros"
-version = "0.2.9"
+version = "0.2.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "372950940a5f07bf38dbe211d7283c9e6d7327df53794992d293e534c733d09b"
+checksum = "4ad70d68dba9e1f8aceda7aa6711965dfec1cac869f311a51bd08b3a2ccbce20"
 dependencies = [
  "time-core",
 ]
@@ -2182,9 +2159,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
 
 [[package]]
 name = "tokio"
-version = "1.32.0"
+version = "1.34.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "17ed6077ed6cd6c74735e21f37eb16dc3935f96878b1fe961074089cc80893f9"
+checksum = "d0c014766411e834f7af5b8f4cf46257aab4036ca95e9d2c144a10f59ad6f5b9"
 dependencies = [
  "backtrace",
  "bytes",
@@ -2194,27 +2171,27 @@ dependencies = [
  "parking_lot",
  "pin-project-lite",
  "signal-hook-registry",
- "socket2 0.5.3",
+ "socket2",
  "tokio-macros",
  "windows-sys 0.48.0",
 ]
 
 [[package]]
 name = "tokio-macros"
-version = "2.1.0"
+version = "2.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e"
+checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.31",
+ "syn 2.0.39",
 ]
 
 [[package]]
 name = "tokio-util"
-version = "0.7.8"
+version = "0.7.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "806fe8c2c87eccc8b3267cbae29ed3ab2d0bd37fca70ab622e46aaa9375ddb7d"
+checksum = "5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15"
 dependencies = [
  "bytes",
  "futures-core",
@@ -2226,11 +2203,10 @@ dependencies = [
 
 [[package]]
 name = "tracing"
-version = "0.1.37"
+version = "0.1.40"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8"
+checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef"
 dependencies = [
- "cfg-if",
  "log",
  "pin-project-lite",
  "tracing-core",
@@ -2238,24 +2214,24 @@ dependencies = [
 
 [[package]]
 name = "tracing-core"
-version = "0.1.31"
+version = "0.1.32"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0955b8137a1df6f1a2e9a37d8a6656291ff0297c1a97c24e0d8425fe2312f79a"
+checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54"
 dependencies = [
  "once_cell",
 ]
 
 [[package]]
 name = "typenum"
-version = "1.16.0"
+version = "1.17.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba"
+checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825"
 
 [[package]]
 name = "unicase"
-version = "2.6.0"
+version = "2.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6"
+checksum = "f7d2d4dafb69621809a81864c9c1b864479e1235c0dd4e199924b9742439ed89"
 dependencies = [
  "version_check",
 ]
@@ -2268,9 +2244,9 @@ checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460"
 
 [[package]]
 name = "unicode-ident"
-version = "1.0.8"
+version = "1.0.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e5464a87b239f13a63a501f2701565754bae92d243d4bb7eb12f6d57d2269bf4"
+checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
 
 [[package]]
 name = "unicode-normalization"
@@ -2283,9 +2259,9 @@ dependencies = [
 
 [[package]]
 name = "url"
-version = "2.4.1"
+version = "2.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "143b538f18257fac9cad154828a57c6bf5157e1aa604d4816b5995bf6de87ae5"
+checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633"
 dependencies = [
  "form_urlencoded",
  "idna",
@@ -2293,6 +2269,12 @@ dependencies = [
 ]
 
 [[package]]
+name = "urlencoding"
+version = "2.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da"
+
+[[package]]
 name = "utf8parse"
 version = "0.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2306,9 +2288,9 @@ checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
 
 [[package]]
 name = "walkdir"
-version = "2.3.3"
+version = "2.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "36df944cda56c7d8d8b7496af378e6b16de9284591917d307c9b4d313c44e698"
+checksum = "d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee"
 dependencies = [
  "same-file",
  "winapi-util",
@@ -2316,21 +2298,15 @@ dependencies = [
 
 [[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.85"
+version = "0.2.89"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5b6cb788c4e39112fbe1822277ef6fb3c55cd86b95cb3d3c4c1c9597e4ac74b4"
+checksum = "0ed0d4f68a3015cc185aff4db9506a015f4b96f95303897bfa23f846db54064e"
 dependencies = [
  "cfg-if",
  "wasm-bindgen-macro",
@@ -2338,24 +2314,24 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-backend"
-version = "0.2.85"
+version = "0.2.89"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "35e522ed4105a9d626d885b35d62501b30d9666283a5c8be12c14a8bdafe7822"
+checksum = "1b56f625e64f3a1084ded111c4d5f477df9f8c92df113852fa5a374dbda78826"
 dependencies = [
  "bumpalo",
  "log",
  "once_cell",
  "proc-macro2",
  "quote",
- "syn 2.0.31",
+ "syn 2.0.39",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
 name = "wasm-bindgen-macro"
-version = "0.2.85"
+version = "0.2.89"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "358a79a0cb89d21db8120cbfb91392335913e4890665b1a7981d9e956903b434"
+checksum = "0162dbf37223cd2afce98f3d0785506dcb8d266223983e4b5b525859e6e182b2"
 dependencies = [
  "quote",
  "wasm-bindgen-macro-support",
@@ -2363,28 +2339,28 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-macro-support"
-version = "0.2.85"
+version = "0.2.89"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4783ce29f09b9d93134d41297aded3a712b7b979e9c6f28c32cb88c973a94869"
+checksum = "f0eb82fcb7930ae6219a7ecfd55b217f5f0893484b7a13022ebb2b2bf20b5283"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.31",
+ "syn 2.0.39",
  "wasm-bindgen-backend",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
 name = "wasm-bindgen-shared"
-version = "0.2.85"
+version = "0.2.89"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a901d592cafaa4d711bc324edfaff879ac700b19c3dfd60058d2b445be2691eb"
+checksum = "7ab9b36309365056cd639da3134bf87fa8f3d86008abf99e612384a6eecd459f"
 
 [[package]]
 name = "web-sys"
-version = "0.3.62"
+version = "0.3.66"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "16b5f940c7edfdc6d12126d98c9ef4d1b3d470011c47c76a6581df47ad9ba721"
+checksum = "50c24a44ec86bb68fbecd1b3efed7e85ea5621b39b35ef2766b66cd984f8010f"
 dependencies = [
  "js-sys",
  "wasm-bindgen",
@@ -2392,9 +2368,9 @@ dependencies = [
 
 [[package]]
 name = "webbrowser"
-version = "0.8.11"
+version = "0.8.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b2c79b77f525a2d670cb40619d7d9c673d09e0666f72c591ebd7861f84a87e57"
+checksum = "82b2391658b02c27719fc5a0a73d6e696285138e8b12fba9d4baa70451023c71"
 dependencies = [
  "core-foundation",
  "home",
@@ -2431,9 +2407,9 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
 
 [[package]]
 name = "winapi-util"
-version = "0.1.5"
+version = "0.1.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178"
+checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596"
 dependencies = [
  "winapi",
 ]
@@ -2445,12 +2421,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
 
 [[package]]
-name = "windows"
-version = "0.48.0"
+name = "windows-core"
+version = "0.51.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f"
+checksum = "f1f8cf84f35d2db49a46868f947758c7a1138116f7fac3bc844f43ade1292e64"
 dependencies = [
- "windows-targets 0.48.0",
+ "windows-targets 0.48.5",
 ]
 
 [[package]]
@@ -2468,7 +2444,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.5",
 ]
 
 [[package]]
@@ -2488,17 +2464,17 @@ dependencies = [
 
 [[package]]
 name = "windows-targets"
-version = "0.48.0"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5"
+checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
 dependencies = [
- "windows_aarch64_gnullvm 0.48.0",
- "windows_aarch64_msvc 0.48.0",
- "windows_i686_gnu 0.48.0",
- "windows_i686_msvc 0.48.0",
- "windows_x86_64_gnu 0.48.0",
- "windows_x86_64_gnullvm 0.48.0",
- "windows_x86_64_msvc 0.48.0",
+ "windows_aarch64_gnullvm 0.48.5",
+ "windows_aarch64_msvc 0.48.5",
+ "windows_i686_gnu 0.48.5",
+ "windows_i686_msvc 0.48.5",
+ "windows_x86_64_gnu 0.48.5",
+ "windows_x86_64_gnullvm 0.48.5",
+ "windows_x86_64_msvc 0.48.5",
 ]
 
 [[package]]
@@ -2509,9 +2485,9 @@ checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8"
 
 [[package]]
 name = "windows_aarch64_gnullvm"
-version = "0.48.0"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc"
+checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
 
 [[package]]
 name = "windows_aarch64_msvc"
@@ -2521,9 +2497,9 @@ checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43"
 
 [[package]]
 name = "windows_aarch64_msvc"
-version = "0.48.0"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3"
+checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
 
 [[package]]
 name = "windows_i686_gnu"
@@ -2533,9 +2509,9 @@ checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f"
 
 [[package]]
 name = "windows_i686_gnu"
-version = "0.48.0"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241"
+checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
 
 [[package]]
 name = "windows_i686_msvc"
@@ -2545,9 +2521,9 @@ checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060"
 
 [[package]]
 name = "windows_i686_msvc"
-version = "0.48.0"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00"
+checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
 
 [[package]]
 name = "windows_x86_64_gnu"
@@ -2557,9 +2533,9 @@ checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36"
 
 [[package]]
 name = "windows_x86_64_gnu"
-version = "0.48.0"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1"
+checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
 
 [[package]]
 name = "windows_x86_64_gnullvm"
@@ -2569,9 +2545,9 @@ checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3"
 
 [[package]]
 name = "windows_x86_64_gnullvm"
-version = "0.48.0"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953"
+checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
 
 [[package]]
 name = "windows_x86_64_msvc"
@@ -2581,9 +2557,29 @@ checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0"
 
 [[package]]
 name = "windows_x86_64_msvc"
-version = "0.48.0"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
+
+[[package]]
+name = "zerocopy"
+version = "0.7.27"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a"
+checksum = "f43de342578a3a14a9314a2dab1942cbfcbe5686e1f91acdc513058063eafe18"
+dependencies = [
+ "zerocopy-derive",
+]
+
+[[package]]
+name = "zerocopy-derive"
+version = "0.7.27"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e1012d89e3acb79fad7a799ce96866cfb8098b74638465ea1b1533d35900ca90"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.39",
+]
 
 [[package]]
 name = "zip"
@@ -2601,7 +2597,7 @@ dependencies = [
  "hmac",
  "pbkdf2",
  "sha1",
- "time 0.3.21",
+ "time",
  "zstd 0.11.2+zstd.1.5.2",
 ]
 
@@ -2616,11 +2612,11 @@ dependencies = [
 
 [[package]]
 name = "zstd"
-version = "0.12.3+zstd.1.5.2"
+version = "0.12.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "76eea132fb024e0e13fd9c2f5d5d595d8a967aa72382ac2f9d39fcc95afd0806"
+checksum = "1a27595e173641171fc74a1232b7b1c7a7cb6e18222c11e9dfb9888fa424c53c"
 dependencies = [
- "zstd-safe 6.0.5+zstd.1.5.4",
+ "zstd-safe 6.0.6",
 ]
 
 [[package]]
@@ -2635,9 +2631,9 @@ dependencies = [
 
 [[package]]
 name = "zstd-safe"
-version = "6.0.5+zstd.1.5.4"
+version = "6.0.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d56d9e60b4b1758206c238a10165fbcae3ca37b01744e394c463463f6529d23b"
+checksum = "ee98ffd0b48ee95e6c5168188e44a54550b1564d9d530ee21d5f0eaed1069581"
 dependencies = [
  "libc",
  "zstd-sys",
@@ -2645,12 +2641,11 @@ dependencies = [
 
 [[package]]
 name = "zstd-sys"
-version = "2.0.8+zstd.1.5.5"
+version = "2.0.9+zstd.1.5.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5556e6ee25d32df2586c098bbfa278803692a20d0ab9565e049480d52707ec8c"
+checksum = "9e16efa8a874a0481a574084d34cc26fdb3b99627480f785888deb6386506656"
 dependencies = [
  "cc",
- "libc",
  "pkg-config",
 ]
 
diff --git a/pkgs/applications/misc/faircamp/default.nix b/pkgs/applications/misc/faircamp/default.nix
index bbceb6833b9c1..a617494c1be18 100644
--- a/pkgs/applications/misc/faircamp/default.nix
+++ b/pkgs/applications/misc/faircamp/default.nix
@@ -16,20 +16,20 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "faircamp";
-  version = "0.8.0";
+  version = "0.11.0";
 
   src = fetchFromGitea {
     domain = "codeberg.org";
     owner = "simonrepp";
     repo = "faircamp";
     rev = version;
-    hash = "sha256-Rz/wMlVNjaGhk26QMnS4+W3oA/RSdB6FuigC84L8eDg=";
+    hash = "sha256-CD5wCvONlgNTXpFcCHCLdJ/lJsC2VTleKt9+ZX5znZo=";
   };
 
   cargoLock = {
     lockFile = ./Cargo.lock;
     outputHashes = {
-      "enolib-0.2.1" = "sha256-ryB5Tk90BvsstdXgYw7F0BJymWWetAIijhVpLeVBOa8=";
+      "enolib-0.3.0" = "sha256-nw1nnIh2r4JFcUb3D21BcjeieDTYRIza8Lrq1yD+ZYQ=";
     };
   };
 
diff --git a/pkgs/applications/misc/genact/default.nix b/pkgs/applications/misc/genact/default.nix
index 061fce572631a..c508b3400e24d 100644
--- a/pkgs/applications/misc/genact/default.nix
+++ b/pkgs/applications/misc/genact/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "genact";
-  version = "1.2.2";
+  version = "1.3.0";
 
   src = fetchFromGitHub {
     owner = "svenstaro";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-MB/i1jCxoGE8cPF+NE8aS7kF7ZsGb4+OyLcPcGp1hwI=";
+    sha256 = "sha256-iPDIbfbRNhgmTQHw9gNczXTcUaJ0dQpBDHg5ZOQQJ4M=";
   };
 
-  cargoSha256 = "sha256-OBGJIR3REeMxHQu3ovEKSZZ8QNlhl/5jvWbR5OdsRTQ=";
+  cargoHash = "sha256-Hg8Xlcx0j70Z8IwlJPCwm+qhurXjtKGLI3ZUCeHL1KY=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/applications/misc/jigdo/default.nix b/pkgs/applications/misc/jigdo/default.nix
deleted file mode 100644
index 9e07193cdb7f2..0000000000000
--- a/pkgs/applications/misc/jigdo/default.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{ lib, stdenv, fetchurl, db, gtk2, bzip2 }:
-
-stdenv.mkDerivation rec {
-  pname = "jigdo";
-  version = "0.7.3";
-
-  src = fetchurl {
-    url = "http://ftp.de.debian.org/debian/pool/main/j/jigdo/jigdo_${version}.orig.tar.gz";
-    sha256 = "1qvqzgzb0dzq82fa1ffs6hyij655rajnfwkljk1y0mnkygnha1xv";
-  };
-
-  patches = [
-    (fetchurl {
-      url = "http://ftp.de.debian.org/debian/pool/main/j/jigdo/jigdo_0.7.3-4.diff.gz";
-      sha256 = "03zsh57fijciiv23lf55k6fbfhhzm866xjhx83x54v5s1g2h6m8y";
-    })
-    ./sizewidth.patch
-  ];
-
-  buildInputs = [ db gtk2 bzip2 ];
-
-  configureFlags = [ "--without-libdb" ];
-
-  meta = with lib; {
-    description = "Download utility that can fetch files from several sources simultaneously";
-    homepage = "http://atterer.org/jigdo/";
-    license = licenses.gpl2Only;
-    platforms = platforms.unix;
-    maintainers = with maintainers; [ ];
-  };
-}
diff --git a/pkgs/applications/misc/jigdo/sizewidth.patch b/pkgs/applications/misc/jigdo/sizewidth.patch
deleted file mode 100644
index 17b1749fcf777..0000000000000
--- a/pkgs/applications/misc/jigdo/sizewidth.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-diff --git i/src/mkimage.cc w/src/mkimage.cc
-index 02e65b1..b263796 100755
---- i/src/mkimage.cc
-+++ w/src/mkimage.cc
-@@ -285,27 +285,27 @@ bostream& JigdoDescVec::put(bostream& file, MD5Sum* md) const {
- //______________________________________________________________________
- 
- namespace {
--  const int SIZE_WIDTH = 12;
-+  const int MKIMAGE_SIZE_WIDTH = 12;
- }
- 
- ostream& JigdoDesc::ImageInfo::put(ostream& s) const {
--  s << "image-info  " << setw(SIZE_WIDTH) << size() << "              "
-+  s << "image-info  " << setw(MKIMAGE_SIZE_WIDTH) << size() << "              "
-     << md5() << ' ' << blockLength() << '\n';
-   return s;
- }
- ostream& JigdoDesc::UnmatchedData::put(ostream& s) const {
--  s << "in-template " << setw(SIZE_WIDTH) << offset() << ' '
--    << setw(SIZE_WIDTH) << size() << '\n';
-+  s << "in-template " << setw(MKIMAGE_SIZE_WIDTH) << offset() << ' '
-+    << setw(MKIMAGE_SIZE_WIDTH) << size() << '\n';
-   return s;
- }
- ostream& JigdoDesc::MatchedFile::put(ostream& s) const {
--  s << "need-file   " << setw(SIZE_WIDTH) << offset() << ' '
--    << setw(SIZE_WIDTH) << size() << ' ' << md5() << ' ' << rsync() << '\n';
-+  s << "need-file   " << setw(MKIMAGE_SIZE_WIDTH) << offset() << ' '
-+    << setw(MKIMAGE_SIZE_WIDTH) << size() << ' ' << md5() << ' ' << rsync() << '\n';
-   return s;
- }
- ostream& JigdoDesc::WrittenFile::put(ostream& s) const {
--  s << "have-file   " << setw(SIZE_WIDTH) << offset() << ' '
--    << setw(SIZE_WIDTH) << size() << ' ' << md5() << ' ' << rsync() << '\n';
-+  s << "have-file   " << setw(MKIMAGE_SIZE_WIDTH) << offset() << ' '
-+    << setw(MKIMAGE_SIZE_WIDTH) << size() << ' ' << md5() << ' ' << rsync() << '\n';
-   return s;
- }
- 
diff --git a/pkgs/applications/misc/tandoor-recipes/default.nix b/pkgs/applications/misc/tandoor-recipes/default.nix
index 2dde47d25f272..cdd143cc766da 100644
--- a/pkgs/applications/misc/tandoor-recipes/default.nix
+++ b/pkgs/applications/misc/tandoor-recipes/default.nix
@@ -5,7 +5,20 @@
 , fetchpatch
 }:
 let
-  python = python3;
+  python = python3.override {
+    packageOverrides = self: super: {
+      validators = super.validators.overridePythonAttrs (_: rec {
+        version = "0.20.0";
+        src = fetchFromGitHub {
+          owner = "python-validators";
+          repo = "validators";
+          rev = version;
+          hash = "sha256-ZnLyTHlsrXthGnaPzlV2ga/UTm5SSEHLTwC/tobiPak=";
+        };
+        propagatedBuildInputs = [ super.decorator super.six ];
+      });
+    };
+  };
 
   common = callPackage ./common.nix { };
 
diff --git a/pkgs/applications/misc/urlscan/default.nix b/pkgs/applications/misc/urlscan/default.nix
index e69b6330fef8a..cd69643251063 100644
--- a/pkgs/applications/misc/urlscan/default.nix
+++ b/pkgs/applications/misc/urlscan/default.nix
@@ -39,5 +39,6 @@ python3.pkgs.buildPythonApplication rec {
     changelog = "https://github.com/firecat53/urlscan/releases/tag/${version}";
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ dpaetzel ];
+    mainProgram = "urlscan";
   };
 }
diff --git a/pkgs/applications/networking/browsers/chromium/common.nix b/pkgs/applications/networking/browsers/chromium/common.nix
index a322a171051ff..50d11ff39d844 100644
--- a/pkgs/applications/networking/browsers/chromium/common.nix
+++ b/pkgs/applications/networking/browsers/chromium/common.nix
@@ -176,7 +176,7 @@ let
 
 
   base = rec {
-    pname = "${packageName}-unwrapped";
+    pname = "${lib.optionalString ungoogled "ungoogled-"}${packageName}-unwrapped";
     inherit (upstream-info) version;
     inherit packageName buildType buildPath;
 
@@ -237,7 +237,7 @@ let
       ++ lib.optional pulseSupport libpulseaudio;
 
     patches = [
-      ./cross-compile.patch
+      ./patches/cross-compile.patch
       # Optional patch to use SOURCE_DATE_EPOCH in compute_build_timestamp.py (should be upstreamed):
       ./patches/no-build-timestamps.patch
       # For bundling Widevine (DRM), might be replaceable via bundle_widevine_cdm=true in gnFlags:
@@ -256,7 +256,7 @@ let
       })
     ] ++ lib.optionals (chromiumVersionAtLeast "120") [
       # We need to revert this patch to build M120+ with LLVM 16:
-      ./chromium-120-llvm-16.patch
+      ./patches/chromium-120-llvm-16.patch
     ] ++ lib.optionals (!chromiumVersionAtLeast "119.0.6024.0") [
       # Fix build with at-spi2-core ≥ 2.49
       # This version is still needed for electron.
@@ -387,9 +387,13 @@ let
       # depending on which part of the codebase you are in; see:
       # https://github.com/chromium/chromium/blob/d36462cc9279464395aea5e65d0893d76444a296/build/config/BUILDCONFIG.gn#L17-L44
       custom_toolchain = "//build/toolchain/linux/unbundle:default";
+      host_toolchain = "//build/toolchain/linux/unbundle:default";
+      # We only build those specific toolchains when we cross-compile, as native non-cross-compilations would otherwise
+      # end up building much more things than they need to (roughtly double the build steps and time/compute):
+    } // lib.optionalAttrs (stdenv.buildPlatform != stdenv.hostPlatform) {
       host_toolchain = "//build/toolchain/linux/unbundle:host";
       v8_snapshot_toolchain = "//build/toolchain/linux/unbundle:host";
-
+    } // {
       host_pkg_config = "${pkgsBuildBuild.pkg-config}/bin/pkg-config";
       pkg_config      = "${pkgsBuildHost.pkg-config}/bin/${stdenv.cc.targetPrefix}pkg-config";
 
diff --git a/pkgs/applications/networking/browsers/chromium/chromium-120-llvm-16.patch b/pkgs/applications/networking/browsers/chromium/patches/chromium-120-llvm-16.patch
index 99a8c521a08af..99a8c521a08af 100644
--- a/pkgs/applications/networking/browsers/chromium/chromium-120-llvm-16.patch
+++ b/pkgs/applications/networking/browsers/chromium/patches/chromium-120-llvm-16.patch
diff --git a/pkgs/applications/networking/browsers/chromium/cross-compile.patch b/pkgs/applications/networking/browsers/chromium/patches/cross-compile.patch
index 7df73299bc43a..7df73299bc43a 100644
--- a/pkgs/applications/networking/browsers/chromium/cross-compile.patch
+++ b/pkgs/applications/networking/browsers/chromium/patches/cross-compile.patch
diff --git a/pkgs/applications/networking/browsers/firefox/packages.nix b/pkgs/applications/networking/browsers/firefox/packages.nix
index f43eaab9fa00a..cd5b7742c6d65 100644
--- a/pkgs/applications/networking/browsers/firefox/packages.nix
+++ b/pkgs/applications/networking/browsers/firefox/packages.nix
@@ -33,11 +33,11 @@
 
   firefox-beta = buildMozillaMach rec {
     pname = "firefox-beta";
-    version = "121.0b5";
+    version = "121.0b9";
     applicationName = "Mozilla Firefox Beta";
     src = fetchurl {
       url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
-      sha512 = "1c9d2e8fe32687e95af5cf335ef219e70847977568ca636a322c2804f6408d054236df4196e03fc666ac3245ca4a3a9785caf56e1d928a1850f4b34ab5237f8c";
+      sha512 = "a107ba7127f40763325335136c5aeaf6d873dd9ca1c8ca95d93e96b377b41a0974056c84e8323c51ed57e01a2e4ef9996ef2ee2d804053aa2226bd837026523a";
     };
 
     meta = {
@@ -62,13 +62,13 @@
 
   firefox-devedition = buildMozillaMach rec {
     pname = "firefox-devedition";
-    version = "121.0b5";
+    version = "121.0b9";
     applicationName = "Mozilla Firefox Developer Edition";
     requireSigning = false;
     branding = "browser/branding/aurora";
     src = fetchurl {
       url = "mirror://mozilla/devedition/releases/${version}/source/firefox-${version}.source.tar.xz";
-      sha512 = "cf23b18abece88f4cee418892791a8a4076ccc14cfe0f1d58f9284ec72f109e44a5397a88b4350f963a3e02e53dd91d7b777c36debd9a3621081499519659f6e";
+      sha512 = "732c2b3f1e47512bee9af696e8763ce13b39497a6ec9af0de9904ce4f55b03bc799e628e17e84ce7062ebd5a7dc50290fbbfa17b0f41622ce5088f1d548897b5";
     };
 
     meta = {
diff --git a/pkgs/applications/networking/cluster/cmctl/default.nix b/pkgs/applications/networking/cluster/cmctl/default.nix
index 5d2804251146c..14afe56caf4f3 100644
--- a/pkgs/applications/networking/cluster/cmctl/default.nix
+++ b/pkgs/applications/networking/cluster/cmctl/default.nix
@@ -8,18 +8,18 @@
 
 buildGoModule rec {
   pname = "cmctl";
-  version = "1.13.2";
+  version = "1.13.3";
 
   src = fetchFromGitHub {
     owner = "cert-manager";
     repo = "cert-manager";
     rev = "v${version}";
-    hash = "sha256-TfFdHKXbbi0yqvyQjZArY9GbkwjUq1Z00UuNAldyDuc=";
+    hash = "sha256-bmlM5WyJd5EtL3e4mPHwCqoIyDAgN7Ce7/vS6bhVuP0=";
   };
 
   sourceRoot = "${src.name}/cmd/ctl";
 
-  vendorHash = "sha256-63XxGvVsIRDpQ0ri6VkjciyD+k7eEMBcg0w8NU8ypYs=";
+  vendorHash = "sha256-PQKPZXgp6ggWymVBOErmLps0cilOsE54t108ApZoiDQ=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/applications/networking/cluster/pachyderm/default.nix b/pkgs/applications/networking/cluster/pachyderm/default.nix
index 71fd37a3cefd6..52cef9db4105a 100644
--- a/pkgs/applications/networking/cluster/pachyderm/default.nix
+++ b/pkgs/applications/networking/cluster/pachyderm/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "pachyderm";
-  version = "2.7.6";
+  version = "2.8.1";
 
   src = fetchFromGitHub {
     owner = "pachyderm";
     repo = "pachyderm";
     rev = "v${version}";
-    hash = "sha256-h0xr94DNmqjpRcas0F+UxQEnCHt5VGU2CRtv+GzJl00=";
+    hash = "sha256-ULZAmv3U6nMlhXuR6ZbZgAkWubs7t4qJBn05s0CF8uo=";
   };
 
-  vendorHash = "sha256-UBuCAIwx1UOh9bsk3eNlTOozB55RIvuKQ0P1WRkJNaI=";
+  vendorHash = "sha256-dYQicGlk+G3l03yb+PlIaMzwRcWqC1TPqQ4Akm8xJF8=";
 
   subPackages = [ "src/server/cmd/pachctl" ];
 
@@ -24,7 +24,7 @@ buildGoModule rec {
   meta = with lib; {
     description = "Containerized Data Analytics";
     homepage = "https://www.pachyderm.com/";
-    license = licenses.unfree;
+    license = licenses.asl20;
     maintainers = with maintainers; [ offline ];
     mainProgram = "pachctl";
   };
diff --git a/pkgs/applications/networking/feedreaders/rss2email/default.nix b/pkgs/applications/networking/feedreaders/rss2email/default.nix
index 2653af6f51ae6..b9e903c236a54 100644
--- a/pkgs/applications/networking/feedreaders/rss2email/default.nix
+++ b/pkgs/applications/networking/feedreaders/rss2email/default.nix
@@ -43,6 +43,7 @@ buildPythonApplication rec {
     homepage = "https://pypi.python.org/pypi/rss2email";
     license = licenses.gpl2;
     maintainers = with maintainers; [ ekleog ];
+    mainProgram = "r2e";
   };
   passthru.tests = {
     smoke-test = nixosTests.rss2email;
diff --git a/pkgs/applications/networking/instant-messengers/franz/generic.nix b/pkgs/applications/networking/instant-messengers/franz/generic.nix
index b48acec1d32be..39c892b335123 100644
--- a/pkgs/applications/networking/instant-messengers/franz/generic.nix
+++ b/pkgs/applications/networking/instant-messengers/franz/generic.nix
@@ -23,6 +23,7 @@
 , libnotify
 , xdg-utils
 , mesa
+, libglvnd
 , libappindicator-gtk3
 }:
 
@@ -68,7 +69,7 @@ in stdenv.mkDerivation (rec {
     expat
     stdenv.cc.cc
   ];
-  runtimeDependencies = [ stdenv.cc.cc.lib (lib.getLib udev) libnotify libappindicator-gtk3 ];
+  runtimeDependencies = [ libglvnd stdenv.cc.cc.lib (lib.getLib udev) libnotify libappindicator-gtk3 ];
 
   unpackPhase = "dpkg-deb -x $src .";
 
diff --git a/pkgs/applications/networking/instant-messengers/rocketchat-desktop/default.nix b/pkgs/applications/networking/instant-messengers/rocketchat-desktop/default.nix
index 63d8b250b96a7..a05df511ab0af 100644
--- a/pkgs/applications/networking/instant-messengers/rocketchat-desktop/default.nix
+++ b/pkgs/applications/networking/instant-messengers/rocketchat-desktop/default.nix
@@ -4,11 +4,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "rocketchat-desktop";
-  version = "3.9.10";
+  version = "3.9.11";
 
   src = fetchurl {
     url = "https://github.com/RocketChat/Rocket.Chat.Electron/releases/download/${version}/rocketchat-${version}-linux-amd64.deb";
-    hash = "sha256-VLHkFiIwfjCHr08wTsD8rMWSvHEswZCKl2XJr61cQYE=";
+    hash = "sha256-jyBHXzzFkCHGy8tdnE/daNbADYYAINBlC5td+wHOl4k=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix b/pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix
index 91be487a264f2..b57392051d01b 100644
--- a/pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix
+++ b/pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix
@@ -1,14 +1,14 @@
-{ lib, stdenv, darwin, fetchFromGitHub, openssl, sqlite }:
+{ lib, stdenv, fetchFromGitHub, openssl, sqlite }:
 
-(if stdenv.isDarwin then darwin.apple_sdk_11_0.llvmPackages_14.stdenv else stdenv).mkDerivation rec {
+stdenv.mkDerivation rec {
   pname = "signalbackup-tools";
-  version = "20231114";
+  version = "20231211";
 
   src = fetchFromGitHub {
     owner = "bepaald";
     repo = pname;
     rev = version;
-    hash = "sha256-5ZDHAv8le1MLS394fto4Rg19J/b2QkZZ70Sn0Yap/hs=";
+    hash = "sha256-L8yfuaM/gyRknIM/ER0DfAZj6X9G0rAVVvAE9MtYF0g=";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/networking/mailreaders/notmuch-addrlookup/default.nix b/pkgs/applications/networking/mailreaders/notmuch-addrlookup/default.nix
index 3ba78c7439281..8fc12d5fd1707 100644
--- a/pkgs/applications/networking/mailreaders/notmuch-addrlookup/default.nix
+++ b/pkgs/applications/networking/mailreaders/notmuch-addrlookup/default.nix
@@ -25,5 +25,6 @@ stdenv.mkDerivation {
     maintainers = with maintainers; [ mog ];
     platforms = platforms.unix;
     license = licenses.mit;
+    mainProgram = "notmuch-addrlookup";
   };
 }
diff --git a/pkgs/applications/networking/mailreaders/notmuch/default.nix b/pkgs/applications/networking/mailreaders/notmuch/default.nix
index 322bd2db903fa..37c90f1b2f0f7 100644
--- a/pkgs/applications/networking/mailreaders/notmuch/default.nix
+++ b/pkgs/applications/networking/mailreaders/notmuch/default.nix
@@ -146,5 +146,6 @@ stdenv.mkDerivation rec {
     license     = licenses.gpl3Plus;
     maintainers = with maintainers; [ flokli puckipedia ];
     platforms   = platforms.unix;
+    mainProgram = "notmuch";
   };
 }
diff --git a/pkgs/applications/networking/sync/unison/default.nix b/pkgs/applications/networking/sync/unison/default.nix
index 10bc3ca686371..5245030fd7f35 100644
--- a/pkgs/applications/networking/sync/unison/default.nix
+++ b/pkgs/applications/networking/sync/unison/default.nix
@@ -71,5 +71,6 @@ stdenv.mkDerivation (finalAttrs: {
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ viric ];
     platforms = platforms.unix;
+    mainProgram = "unison";
   };
 })
diff --git a/pkgs/applications/office/beamerpresenter/default.nix b/pkgs/applications/office/beamerpresenter/default.nix
index cd640e89bf876..947c9946e5d3f 100644
--- a/pkgs/applications/office/beamerpresenter/default.nix
+++ b/pkgs/applications/office/beamerpresenter/default.nix
@@ -90,5 +90,6 @@ stdenv.mkDerivation rec {
     license = with licenses; [ agpl3 gpl3Plus ];
     platforms = platforms.all;
     maintainers = with maintainers; [ pacien dotlambda ];
+    mainProgram = "beamerpresenter";
   };
 }
diff --git a/pkgs/applications/office/paperless-ngx/default.nix b/pkgs/applications/office/paperless-ngx/default.nix
index 129c700e19c75..06bc88e5d0a2b 100644
--- a/pkgs/applications/office/paperless-ngx/default.nix
+++ b/pkgs/applications/office/paperless-ngx/default.nix
@@ -16,16 +16,18 @@
 , poppler_utils
 , liberation_ttf
 , xcbuild
+, pango
+, pkg-config
 }:
 
 let
-  version = "2.0.1";
+  version = "2.1.1";
 
   src = fetchFromGitHub {
     owner = "paperless-ngx";
     repo = "paperless-ngx";
     rev = "refs/tags/v${version}";
-    hash = "sha256-qSX+r99y7a/eITfaC/UYqSgcxx/xYOqJ4tY/iuvoeNA=";
+    hash = "sha256-/f0al6OyYo8FTOWiNFoKUYWpY0nz3qFOB00QKIvS3Dk=";
   };
 
   python = python3;
@@ -46,17 +48,22 @@ let
     pname = "paperless-ngx-frontend";
     inherit version src;
 
-    npmDepsHash = "sha256-uDaZ7j7IDgKy7wCWND2xzR1qHwUtdyjR4eyIAVy01dM=";
+    postPatch = ''
+      cd src-ui
+    '';
+
+    npmDepsHash = "sha256-K7wTYGGwEhPoXdRD+4swhSlMH0iem6YkF0tjnVHh7K8=";
 
     nativeBuildInputs = [
+      pkg-config
       python3
     ] ++ lib.optionals stdenv.isDarwin [
       xcbuild
     ];
 
-    postPatch = ''
-      cd src-ui
-    '';
+    buildInputs = [
+      pango
+    ];
 
     CYPRESS_INSTALL_BINARY = "0";
     NG_CLI_ANALYTICS = "false";
diff --git a/pkgs/applications/office/planify/default.nix b/pkgs/applications/office/planify/default.nix
index 94845ba5da0c9..0f54e8436e804 100644
--- a/pkgs/applications/office/planify/default.nix
+++ b/pkgs/applications/office/planify/default.nix
@@ -23,16 +23,13 @@
 
 stdenv.mkDerivation rec {
   pname = "planify";
-  version = "4.1.4";
+  version = "4.2.1";
 
   src = fetchFromGitHub {
     owner = "alainm23";
     repo = "planify";
-    # The commit is named as "Release 4.1.4", published to Flathub, but not tags
-    # https://github.com/flathub/io.github.alainm23.planify/commit/f345f81b55e4638bc6605e0bf9d15a057b846252
-    # https://github.com/alainm23/planify/issues/1002
-    rev = "73fd6cb7acfc60937d1403238c255736b97aa94b";
-    hash = "sha256-K3QFFpq2MJxK34Uh0qFyaSGeTPTZbwIVYkosFUrhflQ=";
+    rev = version;
+    hash = "sha256-tcQNnfM690Je8sF19OSZ4GnXkhsSSrNHZ5EDXmMOW9Q=";
   };
 
   nativeBuildInputs = [
@@ -59,6 +56,10 @@ stdenv.mkDerivation rec {
     webkitgtk_6_0
   ];
 
+  mesonFlags = [
+    "-Dprofile=default"
+  ];
+
   meta = with lib; {
     description = "Task manager with Todoist support designed for GNU/Linux";
     homepage = "https://github.com/alainm23/planify";
diff --git a/pkgs/applications/science/biology/kalign/default.nix b/pkgs/applications/science/biology/kalign/default.nix
index b28c640cb7aa5..3ca83978d9690 100644
--- a/pkgs/applications/science/biology/kalign/default.nix
+++ b/pkgs/applications/science/biology/kalign/default.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "kalign";
-  version = "3.3.5";
+  version = "3.4.0";
 
   src = fetchFromGitHub {
     owner = "TimoLassmann";
     repo = "kalign";
     rev = "refs/tags/v${finalAttrs.version}";
-    hash = "sha256-QufTiaiRcNOnLhOO4cnOE9bNcj9mlCg/ERFIHJB8KOU=";
+    hash = "sha256-QcFNaCTqj6CFiOzQ6ezfBL0mu8PDU11hyNdkcsLOPzA=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/science/biology/poretools/default.nix b/pkgs/applications/science/biology/poretools/default.nix
index efbedf9a121a0..47ffd507efdaf 100644
--- a/pkgs/applications/science/biology/poretools/default.nix
+++ b/pkgs/applications/science/biology/poretools/default.nix
@@ -11,12 +11,13 @@ python2Packages.buildPythonPackage rec {
     sha256 = "0bglj833wxpp3cq430p1d3xp085ls221js2y90w7ir2x5ay8l7am";
   };
 
-  propagatedBuildInputs = [python2Packages.h5py python2Packages.matplotlib python2Packages.seaborn python2Packages.pandas];
+  propagatedBuildInputs = [ python2Packages.h5py python2Packages.matplotlib python2Packages.seaborn python2Packages.pandas ];
 
   meta = {
     description = "a toolkit for working with nanopore sequencing data from Oxford Nanopore";
     license = lib.licenses.mit;
     homepage = "https://poretools.readthedocs.io/en/latest/";
-    maintainers = [lib.maintainers.rybern];
+    maintainers = [ lib.maintainers.rybern ];
+    broken = true; # Build error: h5py-3.9.0 not supported for interpreter python2.7
   };
 }
diff --git a/pkgs/applications/science/biology/strelka/default.nix b/pkgs/applications/science/biology/strelka/default.nix
index 9730601e4e7d1..ad6c0d9e5a4cc 100644
--- a/pkgs/applications/science/biology/strelka/default.nix
+++ b/pkgs/applications/science/biology/strelka/default.nix
@@ -1,4 +1,4 @@
-{lib, stdenv, fetchFromGitHub, cmake, zlib, python2}:
+{lib, stdenv, fetchFromGitHub, fetchpatch, cmake, boost, zlib, python2}:
 
 stdenv.mkDerivation rec {
   pname = "strelka";
@@ -11,8 +11,28 @@ stdenv.mkDerivation rec {
     sha256 = "1nykbmim1124xh22nrhrsn8xgjb3s2y7akrdapn9sl1gdych4ppf";
   };
 
+  patches = [
+    # Pull pending fix for gcc-12:
+    #   https://github.com/Illumina/strelka/pull/204
+    (fetchpatch {
+      name = "limits.patch";
+      url = "https://github.com/Illumina/strelka/commit/98272cd345c6e4c672e6a5b7721204fcac0502d6.patch";
+      hash = "sha256-psBiuN32nvwZ+QX51JQjIdRhEE3k7PfwbkD10ckqvZk=";
+    })
+  ];
+
+  postPatch = ''
+    substituteInPlace src/cmake/boost.cmake \
+      --replace "1.58.0" "${boost.version}" \
+      --replace "Boost_USE_STATIC_LIBS ON" "Boost_USE_STATIC_LIBS OFF"
+  '';
+
   nativeBuildInputs = [ cmake ];
-  buildInputs = [ zlib python2 ];
+  buildInputs = [ boost zlib python2 ];
+
+  cmakeFlags = [
+    "-DCMAKE_CXX_STANDARD=14"
+  ];
 
   env.NIX_CFLAGS_COMPILE = toString [
     "-Wno-error=maybe-uninitialized"
@@ -37,7 +57,7 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3;
     homepage = "https://github.com/Illumina/strelka";
     maintainers = with maintainers; [ jbedo ];
-    platforms = [ "x86_64-linux" ];
+    platforms = platforms.linux;
   };
 
 }
diff --git a/pkgs/applications/science/math/calc/default.nix b/pkgs/applications/science/math/calc/default.nix
index 86ec445d9b3e4..0f8982eac5b96 100644
--- a/pkgs/applications/science/math/calc/default.nix
+++ b/pkgs/applications/science/math/calc/default.nix
@@ -10,14 +10,14 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "calc";
-  version = "2.15.0.1";
+  version = "2.15.0.2";
 
   src = fetchurl {
     urls = [
       "https://github.com/lcn2/calc/releases/download/v${finalAttrs.version}/calc-${finalAttrs.version}.tar.bz2"
       "http://www.isthe.com/chongo/src/calc/calc-${finalAttrs.version}.tar.bz2"
     ];
-    hash = "sha256-u/mt9y4805IWYDdEHz94dPb4V+d4YVrrhzz8v3B+q24=";
+    hash = "sha256-dPEj32SiR7RhI9fBa9ny9+EEuuiXS2WswRcDVuOMJXc=";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/science/math/eigenmath/default.nix b/pkgs/applications/science/math/eigenmath/default.nix
index 1e80d9a06eba9..cd8c720c3691e 100644
--- a/pkgs/applications/science/math/eigenmath/default.nix
+++ b/pkgs/applications/science/math/eigenmath/default.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "eigenmath";
-  version = "unstable-2023-11-17";
+  version = "unstable-2023-12-11";
 
   src = fetchFromGitHub {
     owner = "georgeweigt";
     repo = pname;
-    rev = "b0d822f10243ad5b1c88efb5a82b43a0bbf1bfbc";
-    hash = "sha256-eJ/EmzV5UZGxwZNIna/XXkYY+vkLc610KcywBFPRfyM=";
+    rev = "a493ce81dc1b8801bb4d853af903bb084da0d17e";
+    hash = "sha256-Ej5cJrwJiTkEKJGNlfb+KBH13ISP89cYqDVNq8Iy0Gg=";
   };
 
   checkPhase = let emulator = stdenv.hostPlatform.emulator buildPackages; in ''
diff --git a/pkgs/applications/terminal-emulators/rio/default.nix b/pkgs/applications/terminal-emulators/rio/default.nix
index 37b37cae0faad..3ef6218c3f0f6 100644
--- a/pkgs/applications/terminal-emulators/rio/default.nix
+++ b/pkgs/applications/terminal-emulators/rio/default.nix
@@ -51,16 +51,16 @@ let
 in
 rustPlatform.buildRustPackage rec {
   pname = "rio";
-  version = "0.0.29";
+  version = "0.0.30";
 
   src = fetchFromGitHub {
     owner = "raphamorim";
     repo = "rio";
     rev = "v${version}";
-    hash = "sha256-S+mqamTm8GHCyJF/L1V4XnhJDuhwo9n3Zf+UCKXg8p8=";
+    hash = "sha256-H5kFgLHw1UXJksrlDO/Owhm/O3+vpohl4h6XYokNWPA=";
   };
 
-  cargoHash = "sha256-aKj3L1s+FgN8T4IrBuTAQyzfKOPgCt2R0C6+YIv56Zw=";
+  cargoHash = "sha256-FACRG25ORnSu4pPpn5ibUqtkylWiNBV88Pabqc81Gvg=";
 
   nativeBuildInputs = [
     ncurses
diff --git a/pkgs/applications/version-management/commitizen/default.nix b/pkgs/applications/version-management/commitizen/default.nix
index 5d8df1bec774a..4b90d39bd2819 100644
--- a/pkgs/applications/version-management/commitizen/default.nix
+++ b/pkgs/applications/version-management/commitizen/default.nix
@@ -11,7 +11,7 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "commitizen";
-  version = "3.12.0";
+  version = "3.13.0";
   format = "pyproject";
 
   disabled = python3.pythonOlder "3.8";
@@ -20,7 +20,7 @@ python3.pkgs.buildPythonApplication rec {
     owner = "commitizen-tools";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-Gzx2DdCX8GyxYEi8OH2a21V6JkA50qA+39IInEjLReI=";
+    hash = "sha256-6Zo+d1OuaHYVf/KX8hKlyp/YS/1tHFmpNK6ssnxg7h0=";
   };
 
   pythonRelaxDeps = [
diff --git a/pkgs/applications/video/mpv/scripts/default.nix b/pkgs/applications/video/mpv/scripts/default.nix
index 4083c52b3d901..4ca70c401fa84 100644
--- a/pkgs/applications/video/mpv/scripts/default.nix
+++ b/pkgs/applications/video/mpv/scripts/default.nix
@@ -20,6 +20,7 @@ in lib.recurseIntoAttrs
     quality-menu = callPackage ./quality-menu.nix { inherit buildLua; };
     simple-mpv-webui = callPackage ./simple-mpv-webui.nix { inherit buildLua; };
     sponsorblock = callPackage ./sponsorblock.nix { };
+    sponsorblock-minimal = callPackage ./sponsorblock-minimal.nix { inherit buildLua; };
     thumbfast = callPackage ./thumbfast.nix { inherit buildLua; };
     thumbnail = callPackage ./thumbnail.nix { inherit buildLua; };
     uosc = callPackage ./uosc.nix { inherit buildLua; };
diff --git a/pkgs/applications/video/mpv/scripts/sponsorblock-minimal.nix b/pkgs/applications/video/mpv/scripts/sponsorblock-minimal.nix
new file mode 100644
index 0000000000000..f7f8049cbba33
--- /dev/null
+++ b/pkgs/applications/video/mpv/scripts/sponsorblock-minimal.nix
@@ -0,0 +1,32 @@
+{ lib
+, buildLua
+, fetchFromGitea
+, curl
+}:
+
+buildLua {
+  pname = "mpv_sponsorblock_minimal";
+  version = "unstable-2023-08-20";
+  scriptPath = "sponsorblock_minimal.lua";
+
+  src = fetchFromGitea {
+    domain = "codeberg.org";
+    owner = "jouni";
+    repo = "mpv_sponsorblock_minimal";
+    rev = "ca2844b8cf7674bfccd282d389a50427742251d3";
+    hash = "sha256-28HWZ6nOhKiE+5Ya1N3Vscd8aeH9OKS0t72e/xPfFQQ=";
+  };
+
+  preInstall = ''
+    substituteInPlace sponsorblock_minimal.lua \
+      --replace "curl" "${lib.getExe curl}"
+  '';
+
+  meta = with lib; {
+    description = "A minimal script to skip sponsored segments of YouTube videos";
+    homepage = "https://codeberg.org/jouni/mpv_sponsorblock_minimal";
+    license = licenses.gpl3Only;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ arthsmn ];
+  };
+}
diff --git a/pkgs/applications/video/mpv/scripts/webtorrent-mpv-hook.nix b/pkgs/applications/video/mpv/scripts/webtorrent-mpv-hook.nix
index a1713e24375f0..e870818fc64fe 100644
--- a/pkgs/applications/video/mpv/scripts/webtorrent-mpv-hook.nix
+++ b/pkgs/applications/video/mpv/scripts/webtorrent-mpv-hook.nix
@@ -2,23 +2,23 @@
 
 buildNpmPackage rec {
   pname = "webtorrent-mpv-hook";
-  version = "1.3.3";
+  version = "1.4.1";
 
   src = fetchFromGitHub {
     owner = "mrxdst";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-AFKX31kriacXygZy0Mw+QwO+SwFEu13687mJ/WeAoKY=";
+    hash = "sha256-/dMtXcIyfAs++Zgz2CxRW0tkzn5QjS+WVGChlCyrU0U=";
   };
 
   postPatch = ''
     substituteInPlace src/webtorrent.ts --replace "node_path: 'node'" "node_path: '${nodejs}/bin/node'"
     # This executable is just for telling non-Nix users how to install
-    substituteInPlace package.json --replace '"bin": "build/bin.js",' ""
+    substituteInPlace package.json --replace '"bin": "build/bin.mjs",' ""
     rm -rf src/bin.ts
   '';
 
-  npmDepsHash = "sha256-GpNUJ5ZCgMjSYLqsIE/RwkTSFT3uAhxrHPe7XvGDRHE=";
+  npmDepsHash = "sha256-EqHPBoYyBuW9elxQH/XVTZoPkKHC6+7aksYo60t7WA4=";
   makeCacheWritable = true;
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/virtualization/colima/default.nix b/pkgs/applications/virtualization/colima/default.nix
index f096b59efc996..f55cc5faecd95 100644
--- a/pkgs/applications/virtualization/colima/default.nix
+++ b/pkgs/applications/virtualization/colima/default.nix
@@ -17,13 +17,13 @@
 
 buildGoModule rec {
   pname = "colima";
-  version = "0.6.5";
+  version = "0.6.7";
 
   src = fetchFromGitHub {
     owner = "abiosoft";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-lIYLoCFYOwu1iqGgE/jhaqrXAL5ooFHDUnwL56qcGIE=";
+    hash = "sha256-7s/e/fV6azT26oeEJhh6PPcnI/cjpmEHf9TsZHspcwE=";
     # We need the git revision
     leaveDotGit = true;
     postFetch = ''
@@ -35,7 +35,7 @@ buildGoModule rec {
   nativeBuildInputs = [ installShellFiles makeWrapper ]
     ++ lib.optionals stdenv.isDarwin [ darwin.DarwinTools ];
 
-  vendorHash = "sha256-7DIhSjHpaCyHyXKhR8KWQc2YGaD8CMq+BZHF4zIkL50=";
+  vendorHash = "sha256-ET9n15+YK8ByodePztee6tKdFvvgk7jEKSUjRYSEpq8=";
 
   # disable flaky Test_extractZones
   # https://hydra.nixos.org/build/212378003/log
diff --git a/pkgs/applications/virtualization/lima/bin.nix b/pkgs/applications/virtualization/lima/bin.nix
index 03a162f9b7f1c..ab863b63f9af0 100644
--- a/pkgs/applications/virtualization/lima/bin.nix
+++ b/pkgs/applications/virtualization/lima/bin.nix
@@ -9,31 +9,31 @@
 }:
 
 let
-  version = "0.18.0";
+  version = "0.19.0";
 
   dist = {
     aarch64-darwin = rec {
       archSuffix = "Darwin-arm64";
       url = "https://github.com/lima-vm/lima/releases/download/v${version}/lima-${version}-${archSuffix}.tar.gz";
-      sha256 = "6c58ca1b7803c2eeb1eaeb124db57fdc426b45fa65ce41a3fd83856c9be5c233";
+      sha256 = "d7b62ee446607c989610b1cd5f9ad5eaa3d1b9aa2b47210f198713b8f8bf9889";
     };
 
     x86_64-darwin = rec {
       archSuffix = "Darwin-x86_64";
       url = "https://github.com/lima-vm/lima/releases/download/v${version}/lima-${version}-${archSuffix}.tar.gz";
-      sha256 = "e19b1067dcfc7d9d34d692d26b84e2b8589c3b39ac3316efc7b25fa82dcafbc6";
+      sha256 = "e68b034023b52f3c61b6804e5f921d72981768925d6c2937e69904ecef46c6bd";
     };
 
     aarch64-linux = rec {
       archSuffix = "Linux-aarch64";
       url = "https://github.com/lima-vm/lima/releases/download/v${version}/lima-${version}-${archSuffix}.tar.gz";
-      sha256 = "1a1113a8e3a6f6f12dd01a7bbf30017d3cccf1ed7705e61c06149d8fab57654e";
+      sha256 = "8709ed5c483dc227d65adf215a9cb7127c71e25da3a78dfa7f82b7dcfbbb8afb";
     };
 
     x86_64-linux = rec {
       archSuffix = "Linux-x86_64";
       url = "https://github.com/lima-vm/lima/releases/download/v${version}/lima-${version}-${archSuffix}.tar.gz";
-      sha256 = "efd100c65173d0dff885e61778fa61737a609fc543d8260b491c8090c000bd3b";
+      sha256 = "fca174037ecc69810947b7cb444dfab2661407e8e5e7409321fa590a84250996";
     };
   };
 in
diff --git a/pkgs/applications/window-managers/i3/balance-workspace.nix b/pkgs/applications/window-managers/i3/balance-workspace.nix
index f3c2e13fbdcb0..bb0ea94e77c34 100644
--- a/pkgs/applications/window-managers/i3/balance-workspace.nix
+++ b/pkgs/applications/window-managers/i3/balance-workspace.nix
@@ -19,5 +19,6 @@ buildPythonPackage rec {
     homepage = "https://pypi.org/project/i3-balance-workspace/";
     license = lib.licenses.mit;
     maintainers = with lib.maintainers; [ pacien ];
+    mainProgram = "i3_balance_workspace";
   };
 }
diff --git a/pkgs/applications/window-managers/leftwm/default.nix b/pkgs/applications/window-managers/leftwm/default.nix
index bbf1cefacd4ca..ea2a41413a08d 100644
--- a/pkgs/applications/window-managers/leftwm/default.nix
+++ b/pkgs/applications/window-managers/leftwm/default.nix
@@ -41,5 +41,6 @@ rustPlatform.buildRustPackage rec {
     platforms = lib.platforms.linux;
     maintainers = with lib.maintainers; [ yanganto ];
     changelog = "https://github.com/leftwm/leftwm/blob/${version}/CHANGELOG.md";
+    mainProgram = "leftwm";
   };
 }
diff --git a/pkgs/build-support/build-setupcfg/default.nix b/pkgs/build-support/build-setupcfg/default.nix
deleted file mode 100644
index 5737989249af4..0000000000000
--- a/pkgs/build-support/build-setupcfg/default.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-# Build a python package from info made available by setupcfg2nix.
-#
-# * src: The source of the package.
-# * info: The package information generated by setupcfg2nix.
-# * meta: Standard nixpkgs metadata.
-# * application: Whether this package is a python library or an
-#   application which happens to be written in python.
-# * doCheck: Whether to run the test suites.
-lib: pythonPackages:
-{ src, info, meta ? {}, application ? false, doCheck ? true}: let
-  build = if application
-    then pythonPackages.buildPythonApplication
-  else pythonPackages.buildPythonPackage;
-in build {
-  inherit (info) pname version;
-
-  inherit src meta doCheck;
-
-  nativeBuildInputs = map (p: pythonPackages.${p}) (
-    (info.setup_requires or []) ++
-    (lib.optionals doCheck (info.tests_require or []))
-  );
-
-  propagatedBuildInputs = map (p: pythonPackages.${p})
-    (info.install_requires or []);
-}
diff --git a/pkgs/build-support/php/hooks/composer-install-hook.sh b/pkgs/build-support/php/hooks/composer-install-hook.sh
index 6fe1c4e5f7dde..6e7fb5d7503bf 100644
--- a/pkgs/build-support/php/hooks/composer-install-hook.sh
+++ b/pkgs/build-support/php/hooks/composer-install-hook.sh
@@ -155,7 +155,7 @@ composerInstallInstallHook() {
     cp -r . "$out"/share/php/"${pname}"/
 
     # Create symlinks for the binaries.
-    jq -r -c 'try .bin[]' composer.json | while read -r bin; do
+    jq -r -c 'try (.bin[] | select(test(".bat$")? | not) )' composer.json | while read -r bin; do
         mkdir -p "$out"/share/php/"${pname}" "$out"/bin
         makeWrapper "$out"/share/php/"${pname}"/"$bin" "$out"/bin/"$(basename "$bin")"
     done
diff --git a/pkgs/by-name/co/cockpit/package.nix b/pkgs/by-name/co/cockpit/package.nix
index 87858931d8064..94ecb85b33570 100644
--- a/pkgs/by-name/co/cockpit/package.nix
+++ b/pkgs/by-name/co/cockpit/package.nix
@@ -45,13 +45,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "cockpit";
-  version = "305";
+  version = "306";
 
   src = fetchFromGitHub {
     owner = "cockpit-project";
     repo = "cockpit";
     rev = "refs/tags/${version}";
-    hash = "sha256-fCVnggso/wAvci9sLRVvwEsvZ+CeEfLBDnPPcAy/wGo=";
+    hash = "sha256-RB5RpwFTi//XNIIm/86JR4Jo3q5nuoW6ruH05JSfMSk=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/by-name/de/dependency-track-exporter/package.nix b/pkgs/by-name/de/dependency-track-exporter/package.nix
new file mode 100644
index 0000000000000..8a66db363c2c6
--- /dev/null
+++ b/pkgs/by-name/de/dependency-track-exporter/package.nix
@@ -0,0 +1,34 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+}:
+
+buildGoModule rec {
+  pname = "dependency-track-exporter";
+  version = "0.1.2";
+
+  src = fetchFromGitHub {
+    owner = "jetstack";
+    repo = "dependency-track-exporter";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-yvScGxgkyZzEdfeJCXk/tSk3cLW+jyw00XbJVrpU6MY=";
+  };
+
+  vendorHash = "sha256-bEJFTsGQMDfZOt67ouv3PkKy+De4mL9Yk7iuslo1qYU=";
+
+  ldflags = [
+    "-X=github.com/prometheus/common/version.Version=${version}"
+    "-X=github.com/prometheus/common/version.Revision=${src.rev}"
+    "-X=github.com/prometheus/common/version.Branch=${src.rev}"
+    "-X=github.com/prometheus/common/version.BuildDate=1970-01-01T00:00:00Z"
+  ];
+
+  meta = with lib; {
+    description = "Helper to export Prometheus metrics for Dependency-Track";
+    homepage = "https://github.com/jetstack/dependency-track-exporter";
+    changelog = "https://github.com/jetstack/dependency-track-exporter/releases/tag/v${version}";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ fab ];
+    mainProgram = "dependency-track-exporter";
+  };
+}
diff --git a/pkgs/tools/inputmethods/footswitch/default.nix b/pkgs/by-name/fo/footswitch/package.nix
index a01069c9284fa..0856f758c8b8a 100644
--- a/pkgs/tools/inputmethods/footswitch/default.nix
+++ b/pkgs/by-name/fo/footswitch/package.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation {
   pname = "footswitch";
-  version = "unstable-2022-04-12";
+  version = "unstable-2023-10-10";
 
   src = fetchFromGitHub {
     owner = "rgerganov";
     repo = "footswitch";
-    rev = "1cf63643e18e688e4ebe96451db24edf52338cc0";
-    sha256 = "0gfvi2wgrljndyz889cjjh2q13994fnaf11n7hpdd82c4wgg06kj";
+    rev = "b7493170ecc956ac87df2c36183253c945be2dcf";
+    sha256 = "sha256-vwjeWjIXQiFJ0o/wgEBrKP3hQi8Xa/azVS1IE/Q/MyY=";
   };
 
   nativeBuildInputs = [ pkg-config ];
@@ -27,9 +27,9 @@ stdenv.mkDerivation {
 
   meta = with lib; {
     description = "Command line utlities for programming PCsensor and Scythe foot switches.";
-    homepage    = "https://github.com/rgerganov/footswitch";
-    license     = licenses.mit;
-    platforms   = platforms.linux;
+    homepage = "https://github.com/rgerganov/footswitch";
+    license = licenses.mit;
+    platforms = platforms.linux;
     maintainers = with maintainers; [ baloo ];
   };
 }
diff --git a/pkgs/by-name/fr/free42/package.nix b/pkgs/by-name/fr/free42/package.nix
index d821bbf628f9c..445b116a3aa42 100644
--- a/pkgs/by-name/fr/free42/package.nix
+++ b/pkgs/by-name/fr/free42/package.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "free42";
-  version = "3.1";
+  version = "3.1.2";
 
   src = fetchFromGitHub {
     owner = "thomasokken";
     repo = "free42";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-v3nZMjV9KnoTefeu2jl3k1B7efnJnNVOAfDVLyce6QI=";
+    hash = "sha256-v7Qi0ZRLXEoZqnbIiHTkvsftwMi9vUhgH7wOtHN84nU=";
   };
 
   nativeBuildInputs = [
@@ -42,7 +42,7 @@ stdenv.mkDerivation (finalAttrs: {
       genericName = "Calculator";
       exec = "free42bin";
       type = "Application";
-      comment = finalAttrs.meta.description;
+      comment = "A software clone of HP-42S Calculator";
       categories = [ "Utility" "Calculator" ];
     })
     (makeDesktopItem {
@@ -51,7 +51,7 @@ stdenv.mkDerivation (finalAttrs: {
       genericName = "Calculator";
       exec = "free42dec";
       type = "Application";
-      comment = finalAttrs.meta.description;
+      comment = "A software clone of HP-42S Calculator";
       categories = [ "Utility" "Calculator" ];
     })
   ];
diff --git a/pkgs/by-name/in/intiface-central/corrosion.patch b/pkgs/by-name/in/intiface-central/corrosion.patch
new file mode 100644
index 0000000000000..d8c8237aeba36
--- /dev/null
+++ b/pkgs/by-name/in/intiface-central/corrosion.patch
@@ -0,0 +1,23 @@
+diff --git a/linux/rust.cmake b/linux/rust.cmake
+index a96586c..f9b8677 100644
+--- a/linux/rust.cmake
++++ b/linux/rust.cmake
+@@ -2,17 +2,7 @@
+ # many dependencies we would need to install Corrosion on the system.
+ # See instructions on https://github.com/AndrewGaspar/corrosion#cmake-install
+ # Once done, uncomment this line:
+-# find_package(Corrosion REQUIRED)
+-
+-include(FetchContent)
+-
+-FetchContent_Declare(
+-    Corrosion
+-    GIT_REPOSITORY https://github.com/AndrewGaspar/corrosion.git
+-    GIT_TAG origin/master # Optionally specify a version tag or branch here
+-)
+-
+-FetchContent_MakeAvailable(Corrosion)
++find_package(Corrosion REQUIRED)
+ 
+ corrosion_import_crate(MANIFEST_PATH ../intiface-engine-flutter-bridge/Cargo.toml)
+ 
diff --git a/pkgs/by-name/in/intiface-central/deps.json b/pkgs/by-name/in/intiface-central/deps.json
new file mode 100644
index 0000000000000..7f9ae104f35bd
--- /dev/null
+++ b/pkgs/by-name/in/intiface-central/deps.json
@@ -0,0 +1,1761 @@
+[
+  {
+    "name": "intiface_central",
+    "version": "2.5.3+21",
+    "kind": "root",
+    "source": "root",
+    "dependencies": [
+      "flutter",
+      "device_info_plus",
+      "cupertino_icons",
+      "json_annotation",
+      "flutter_local_notifications",
+      "flutter_rust_bridge",
+      "plugin_platform_interface",
+      "ffi",
+      "path_provider",
+      "path",
+      "window_manager",
+      "web_socket_channel",
+      "network_info_plus",
+      "permission_handler",
+      "bloc",
+      "flutter_bloc",
+      "equatable",
+      "shared_preferences",
+      "settings_ui",
+      "flutter_markdown",
+      "loggy",
+      "flutter_loggy",
+      "github",
+      "markdown",
+      "version",
+      "package_info_plus",
+      "url_launcher",
+      "intl",
+      "easy_debounce",
+      "percent_indicator",
+      "buttplug",
+      "flutter_foreground_task",
+      "tuple",
+      "sentry_flutter",
+      "sentry",
+      "rxdart",
+      "screen_retriever",
+      "flutter_test",
+      "json_serializable",
+      "build_runner",
+      "flutter_lints",
+      "ffigen",
+      "flutter_launcher_icons"
+    ]
+  },
+  {
+    "name": "flutter_launcher_icons",
+    "version": "0.13.1",
+    "kind": "dev",
+    "source": "hosted",
+    "dependencies": [
+      "args",
+      "checked_yaml",
+      "cli_util",
+      "image",
+      "json_annotation",
+      "path",
+      "yaml"
+    ]
+  },
+  {
+    "name": "yaml",
+    "version": "3.1.2",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "collection",
+      "source_span",
+      "string_scanner"
+    ]
+  },
+  {
+    "name": "string_scanner",
+    "version": "1.2.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "source_span"
+    ]
+  },
+  {
+    "name": "source_span",
+    "version": "1.10.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "collection",
+      "path",
+      "term_glyph"
+    ]
+  },
+  {
+    "name": "term_glyph",
+    "version": "1.2.1",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": []
+  },
+  {
+    "name": "path",
+    "version": "1.8.3",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": []
+  },
+  {
+    "name": "collection",
+    "version": "1.17.2",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": []
+  },
+  {
+    "name": "json_annotation",
+    "version": "4.8.1",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "meta"
+    ]
+  },
+  {
+    "name": "meta",
+    "version": "1.9.1",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": []
+  },
+  {
+    "name": "image",
+    "version": "4.1.3",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "archive",
+      "meta",
+      "xml"
+    ]
+  },
+  {
+    "name": "xml",
+    "version": "6.3.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "collection",
+      "meta",
+      "petitparser"
+    ]
+  },
+  {
+    "name": "petitparser",
+    "version": "5.4.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "meta"
+    ]
+  },
+  {
+    "name": "archive",
+    "version": "3.4.6",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "crypto",
+      "path",
+      "pointycastle"
+    ]
+  },
+  {
+    "name": "pointycastle",
+    "version": "3.7.3",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "collection",
+      "convert",
+      "js"
+    ]
+  },
+  {
+    "name": "js",
+    "version": "0.6.7",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "meta"
+    ]
+  },
+  {
+    "name": "convert",
+    "version": "3.1.1",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "typed_data"
+    ]
+  },
+  {
+    "name": "typed_data",
+    "version": "1.3.2",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "collection"
+    ]
+  },
+  {
+    "name": "crypto",
+    "version": "3.0.3",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "typed_data"
+    ]
+  },
+  {
+    "name": "cli_util",
+    "version": "0.4.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "meta",
+      "path"
+    ]
+  },
+  {
+    "name": "checked_yaml",
+    "version": "2.0.3",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "json_annotation",
+      "source_span",
+      "yaml"
+    ]
+  },
+  {
+    "name": "args",
+    "version": "2.4.2",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": []
+  },
+  {
+    "name": "ffigen",
+    "version": "9.0.1",
+    "kind": "dev",
+    "source": "hosted",
+    "dependencies": [
+      "ffi",
+      "yaml",
+      "path",
+      "quiver",
+      "args",
+      "logging",
+      "cli_util",
+      "glob",
+      "file",
+      "package_config",
+      "yaml_edit"
+    ]
+  },
+  {
+    "name": "yaml_edit",
+    "version": "2.1.1",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "collection",
+      "meta",
+      "source_span",
+      "yaml"
+    ]
+  },
+  {
+    "name": "package_config",
+    "version": "2.1.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "path"
+    ]
+  },
+  {
+    "name": "file",
+    "version": "7.0.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "meta",
+      "path"
+    ]
+  },
+  {
+    "name": "glob",
+    "version": "2.1.2",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "async",
+      "collection",
+      "file",
+      "path",
+      "string_scanner"
+    ]
+  },
+  {
+    "name": "async",
+    "version": "2.11.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "collection",
+      "meta"
+    ]
+  },
+  {
+    "name": "logging",
+    "version": "1.2.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": []
+  },
+  {
+    "name": "quiver",
+    "version": "3.2.1",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "matcher"
+    ]
+  },
+  {
+    "name": "matcher",
+    "version": "0.12.16",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "async",
+      "meta",
+      "stack_trace",
+      "term_glyph",
+      "test_api"
+    ]
+  },
+  {
+    "name": "test_api",
+    "version": "0.6.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "async",
+      "boolean_selector",
+      "collection",
+      "meta",
+      "source_span",
+      "stack_trace",
+      "stream_channel",
+      "string_scanner",
+      "term_glyph"
+    ]
+  },
+  {
+    "name": "stream_channel",
+    "version": "2.1.1",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "async"
+    ]
+  },
+  {
+    "name": "stack_trace",
+    "version": "1.11.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "path"
+    ]
+  },
+  {
+    "name": "boolean_selector",
+    "version": "2.1.1",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "source_span",
+      "string_scanner"
+    ]
+  },
+  {
+    "name": "ffi",
+    "version": "2.1.0",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": []
+  },
+  {
+    "name": "flutter_lints",
+    "version": "3.0.0",
+    "kind": "dev",
+    "source": "hosted",
+    "dependencies": [
+      "lints"
+    ]
+  },
+  {
+    "name": "lints",
+    "version": "3.0.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": []
+  },
+  {
+    "name": "build_runner",
+    "version": "2.4.6",
+    "kind": "dev",
+    "source": "hosted",
+    "dependencies": [
+      "analyzer",
+      "args",
+      "async",
+      "build",
+      "build_config",
+      "build_daemon",
+      "build_resolvers",
+      "build_runner_core",
+      "code_builder",
+      "collection",
+      "crypto",
+      "dart_style",
+      "frontend_server_client",
+      "glob",
+      "graphs",
+      "http_multi_server",
+      "io",
+      "js",
+      "logging",
+      "meta",
+      "mime",
+      "package_config",
+      "path",
+      "pool",
+      "pub_semver",
+      "pubspec_parse",
+      "shelf",
+      "shelf_web_socket",
+      "stack_trace",
+      "stream_transform",
+      "timing",
+      "watcher",
+      "web_socket_channel",
+      "yaml"
+    ]
+  },
+  {
+    "name": "web_socket_channel",
+    "version": "2.4.0",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "async",
+      "crypto",
+      "stream_channel"
+    ]
+  },
+  {
+    "name": "watcher",
+    "version": "1.1.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "async",
+      "path"
+    ]
+  },
+  {
+    "name": "timing",
+    "version": "1.0.1",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "json_annotation"
+    ]
+  },
+  {
+    "name": "stream_transform",
+    "version": "2.1.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": []
+  },
+  {
+    "name": "shelf_web_socket",
+    "version": "1.0.4",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "shelf",
+      "stream_channel",
+      "web_socket_channel"
+    ]
+  },
+  {
+    "name": "shelf",
+    "version": "1.4.1",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "async",
+      "collection",
+      "http_parser",
+      "path",
+      "stack_trace",
+      "stream_channel"
+    ]
+  },
+  {
+    "name": "http_parser",
+    "version": "4.0.2",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "collection",
+      "source_span",
+      "string_scanner",
+      "typed_data"
+    ]
+  },
+  {
+    "name": "pubspec_parse",
+    "version": "1.2.3",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "checked_yaml",
+      "collection",
+      "json_annotation",
+      "pub_semver",
+      "yaml"
+    ]
+  },
+  {
+    "name": "pub_semver",
+    "version": "2.1.4",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "collection",
+      "meta"
+    ]
+  },
+  {
+    "name": "pool",
+    "version": "1.5.1",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "async",
+      "stack_trace"
+    ]
+  },
+  {
+    "name": "mime",
+    "version": "1.0.4",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": []
+  },
+  {
+    "name": "io",
+    "version": "1.0.4",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "meta",
+      "path",
+      "string_scanner"
+    ]
+  },
+  {
+    "name": "http_multi_server",
+    "version": "3.2.1",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "async"
+    ]
+  },
+  {
+    "name": "graphs",
+    "version": "2.3.1",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "collection"
+    ]
+  },
+  {
+    "name": "frontend_server_client",
+    "version": "3.2.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "async",
+      "path"
+    ]
+  },
+  {
+    "name": "dart_style",
+    "version": "2.3.3",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "analyzer",
+      "args",
+      "path",
+      "pub_semver",
+      "source_span"
+    ]
+  },
+  {
+    "name": "analyzer",
+    "version": "6.2.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "_fe_analyzer_shared",
+      "collection",
+      "convert",
+      "crypto",
+      "glob",
+      "meta",
+      "package_config",
+      "path",
+      "pub_semver",
+      "source_span",
+      "watcher",
+      "yaml"
+    ]
+  },
+  {
+    "name": "_fe_analyzer_shared",
+    "version": "64.0.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "meta"
+    ]
+  },
+  {
+    "name": "code_builder",
+    "version": "4.7.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "built_collection",
+      "built_value",
+      "collection",
+      "matcher",
+      "meta"
+    ]
+  },
+  {
+    "name": "built_value",
+    "version": "8.6.3",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "built_collection",
+      "collection",
+      "fixnum",
+      "meta"
+    ]
+  },
+  {
+    "name": "fixnum",
+    "version": "1.1.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": []
+  },
+  {
+    "name": "built_collection",
+    "version": "5.1.1",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": []
+  },
+  {
+    "name": "build_runner_core",
+    "version": "7.2.11",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "async",
+      "build",
+      "build_config",
+      "build_resolvers",
+      "collection",
+      "convert",
+      "crypto",
+      "glob",
+      "graphs",
+      "json_annotation",
+      "logging",
+      "meta",
+      "package_config",
+      "path",
+      "pool",
+      "timing",
+      "watcher",
+      "yaml"
+    ]
+  },
+  {
+    "name": "build_resolvers",
+    "version": "2.4.1",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "analyzer",
+      "async",
+      "build",
+      "collection",
+      "convert",
+      "crypto",
+      "graphs",
+      "logging",
+      "package_config",
+      "path",
+      "pool",
+      "pub_semver",
+      "stream_transform",
+      "yaml"
+    ]
+  },
+  {
+    "name": "build",
+    "version": "2.4.1",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "analyzer",
+      "async",
+      "convert",
+      "crypto",
+      "glob",
+      "logging",
+      "meta",
+      "package_config",
+      "path"
+    ]
+  },
+  {
+    "name": "build_config",
+    "version": "1.1.1",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "checked_yaml",
+      "json_annotation",
+      "path",
+      "pubspec_parse",
+      "yaml"
+    ]
+  },
+  {
+    "name": "build_daemon",
+    "version": "4.0.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "built_collection",
+      "built_value",
+      "http_multi_server",
+      "logging",
+      "path",
+      "pool",
+      "shelf",
+      "shelf_web_socket",
+      "stream_transform",
+      "watcher",
+      "web_socket_channel"
+    ]
+  },
+  {
+    "name": "json_serializable",
+    "version": "6.7.1",
+    "kind": "dev",
+    "source": "hosted",
+    "dependencies": [
+      "analyzer",
+      "async",
+      "build",
+      "build_config",
+      "collection",
+      "json_annotation",
+      "meta",
+      "path",
+      "pub_semver",
+      "pubspec_parse",
+      "source_gen",
+      "source_helper"
+    ]
+  },
+  {
+    "name": "source_helper",
+    "version": "1.3.4",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "analyzer",
+      "collection",
+      "source_gen"
+    ]
+  },
+  {
+    "name": "source_gen",
+    "version": "1.4.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "analyzer",
+      "async",
+      "build",
+      "dart_style",
+      "glob",
+      "path",
+      "source_span",
+      "yaml"
+    ]
+  },
+  {
+    "name": "flutter_test",
+    "version": "0.0.0",
+    "kind": "dev",
+    "source": "sdk",
+    "dependencies": [
+      "flutter",
+      "test_api",
+      "matcher",
+      "path",
+      "fake_async",
+      "clock",
+      "stack_trace",
+      "vector_math",
+      "async",
+      "boolean_selector",
+      "characters",
+      "collection",
+      "material_color_utilities",
+      "meta",
+      "source_span",
+      "stream_channel",
+      "string_scanner",
+      "term_glyph",
+      "web"
+    ]
+  },
+  {
+    "name": "web",
+    "version": "0.1.4-beta",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": []
+  },
+  {
+    "name": "material_color_utilities",
+    "version": "0.5.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "collection"
+    ]
+  },
+  {
+    "name": "characters",
+    "version": "1.3.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": []
+  },
+  {
+    "name": "vector_math",
+    "version": "2.1.4",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": []
+  },
+  {
+    "name": "clock",
+    "version": "1.1.1",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": []
+  },
+  {
+    "name": "fake_async",
+    "version": "1.3.1",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "clock",
+      "collection"
+    ]
+  },
+  {
+    "name": "flutter",
+    "version": "0.0.0",
+    "kind": "direct",
+    "source": "sdk",
+    "dependencies": [
+      "characters",
+      "collection",
+      "material_color_utilities",
+      "meta",
+      "vector_math",
+      "web",
+      "sky_engine"
+    ]
+  },
+  {
+    "name": "sky_engine",
+    "version": "0.0.99",
+    "kind": "transitive",
+    "source": "sdk",
+    "dependencies": []
+  },
+  {
+    "name": "screen_retriever",
+    "version": "0.1.9",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "flutter"
+    ]
+  },
+  {
+    "name": "rxdart",
+    "version": "0.27.7",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": []
+  },
+  {
+    "name": "sentry",
+    "version": "7.10.1",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "http",
+      "meta",
+      "stack_trace",
+      "uuid"
+    ]
+  },
+  {
+    "name": "uuid",
+    "version": "3.0.7",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "crypto"
+    ]
+  },
+  {
+    "name": "http",
+    "version": "1.1.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "async",
+      "http_parser",
+      "meta"
+    ]
+  },
+  {
+    "name": "sentry_flutter",
+    "version": "7.10.1",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "flutter_web_plugins",
+      "sentry",
+      "package_info_plus",
+      "meta",
+      "ffi"
+    ]
+  },
+  {
+    "name": "package_info_plus",
+    "version": "4.2.0",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "ffi",
+      "flutter",
+      "flutter_web_plugins",
+      "http",
+      "meta",
+      "path",
+      "package_info_plus_platform_interface",
+      "win32"
+    ]
+  },
+  {
+    "name": "win32",
+    "version": "5.0.9",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "ffi"
+    ]
+  },
+  {
+    "name": "package_info_plus_platform_interface",
+    "version": "2.0.1",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "meta",
+      "plugin_platform_interface"
+    ]
+  },
+  {
+    "name": "plugin_platform_interface",
+    "version": "2.1.6",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "meta"
+    ]
+  },
+  {
+    "name": "flutter_web_plugins",
+    "version": "0.0.0",
+    "kind": "transitive",
+    "source": "sdk",
+    "dependencies": [
+      "flutter",
+      "characters",
+      "collection",
+      "material_color_utilities",
+      "meta",
+      "vector_math",
+      "web"
+    ]
+  },
+  {
+    "name": "tuple",
+    "version": "2.0.2",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": []
+  },
+  {
+    "name": "flutter_foreground_task",
+    "version": "6.1.2",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "plugin_platform_interface",
+      "platform",
+      "shared_preferences"
+    ]
+  },
+  {
+    "name": "shared_preferences",
+    "version": "2.2.2",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "shared_preferences_android",
+      "shared_preferences_foundation",
+      "shared_preferences_linux",
+      "shared_preferences_platform_interface",
+      "shared_preferences_web",
+      "shared_preferences_windows"
+    ]
+  },
+  {
+    "name": "shared_preferences_windows",
+    "version": "2.3.2",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "file",
+      "flutter",
+      "path",
+      "path_provider_platform_interface",
+      "path_provider_windows",
+      "shared_preferences_platform_interface"
+    ]
+  },
+  {
+    "name": "shared_preferences_platform_interface",
+    "version": "2.3.1",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "plugin_platform_interface"
+    ]
+  },
+  {
+    "name": "path_provider_windows",
+    "version": "2.2.1",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "ffi",
+      "flutter",
+      "path",
+      "path_provider_platform_interface",
+      "win32"
+    ]
+  },
+  {
+    "name": "path_provider_platform_interface",
+    "version": "2.1.1",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "platform",
+      "plugin_platform_interface"
+    ]
+  },
+  {
+    "name": "platform",
+    "version": "3.1.3",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": []
+  },
+  {
+    "name": "shared_preferences_web",
+    "version": "2.2.1",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "flutter_web_plugins",
+      "shared_preferences_platform_interface"
+    ]
+  },
+  {
+    "name": "shared_preferences_linux",
+    "version": "2.3.2",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "file",
+      "flutter",
+      "path",
+      "path_provider_linux",
+      "path_provider_platform_interface",
+      "shared_preferences_platform_interface"
+    ]
+  },
+  {
+    "name": "path_provider_linux",
+    "version": "2.2.1",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "ffi",
+      "flutter",
+      "path",
+      "path_provider_platform_interface",
+      "xdg_directories"
+    ]
+  },
+  {
+    "name": "xdg_directories",
+    "version": "1.0.3",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "meta",
+      "path"
+    ]
+  },
+  {
+    "name": "shared_preferences_foundation",
+    "version": "2.3.4",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "shared_preferences_platform_interface"
+    ]
+  },
+  {
+    "name": "shared_preferences_android",
+    "version": "2.2.1",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "shared_preferences_platform_interface"
+    ]
+  },
+  {
+    "name": "buttplug",
+    "version": "0.0.4",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "json_annotation",
+      "loggy",
+      "web_socket_channel"
+    ]
+  },
+  {
+    "name": "loggy",
+    "version": "2.0.3",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "stack_trace"
+    ]
+  },
+  {
+    "name": "percent_indicator",
+    "version": "4.2.3",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "flutter"
+    ]
+  },
+  {
+    "name": "easy_debounce",
+    "version": "2.0.3",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": []
+  },
+  {
+    "name": "intl",
+    "version": "0.18.1",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "clock",
+      "meta",
+      "path"
+    ]
+  },
+  {
+    "name": "url_launcher",
+    "version": "6.1.14",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "url_launcher_android",
+      "url_launcher_ios",
+      "url_launcher_linux",
+      "url_launcher_macos",
+      "url_launcher_platform_interface",
+      "url_launcher_web",
+      "url_launcher_windows"
+    ]
+  },
+  {
+    "name": "url_launcher_windows",
+    "version": "3.0.8",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "url_launcher_platform_interface"
+    ]
+  },
+  {
+    "name": "url_launcher_platform_interface",
+    "version": "2.1.5",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "plugin_platform_interface"
+    ]
+  },
+  {
+    "name": "url_launcher_web",
+    "version": "2.0.20",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "flutter_web_plugins",
+      "url_launcher_platform_interface"
+    ]
+  },
+  {
+    "name": "url_launcher_macos",
+    "version": "3.0.7",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "url_launcher_platform_interface"
+    ]
+  },
+  {
+    "name": "url_launcher_linux",
+    "version": "3.0.6",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "url_launcher_platform_interface"
+    ]
+  },
+  {
+    "name": "url_launcher_ios",
+    "version": "6.1.5",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "url_launcher_platform_interface"
+    ]
+  },
+  {
+    "name": "url_launcher_android",
+    "version": "6.1.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "url_launcher_platform_interface"
+    ]
+  },
+  {
+    "name": "version",
+    "version": "3.0.2",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": []
+  },
+  {
+    "name": "markdown",
+    "version": "7.1.1",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "args",
+      "meta"
+    ]
+  },
+  {
+    "name": "github",
+    "version": "9.19.0",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "http",
+      "http_parser",
+      "json_annotation",
+      "meta"
+    ]
+  },
+  {
+    "name": "flutter_loggy",
+    "version": "2.0.2",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "loggy",
+      "rxdart"
+    ]
+  },
+  {
+    "name": "flutter_markdown",
+    "version": "0.6.18",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "markdown",
+      "meta",
+      "path"
+    ]
+  },
+  {
+    "name": "settings_ui",
+    "version": "2.0.2",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "flutter"
+    ]
+  },
+  {
+    "name": "equatable",
+    "version": "2.0.5",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "collection",
+      "meta"
+    ]
+  },
+  {
+    "name": "flutter_bloc",
+    "version": "8.1.3",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "bloc",
+      "flutter",
+      "provider"
+    ]
+  },
+  {
+    "name": "provider",
+    "version": "6.0.5",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "collection",
+      "flutter",
+      "nested"
+    ]
+  },
+  {
+    "name": "nested",
+    "version": "1.0.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter"
+    ]
+  },
+  {
+    "name": "bloc",
+    "version": "8.1.2",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "meta"
+    ]
+  },
+  {
+    "name": "permission_handler",
+    "version": "11.0.1",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "meta",
+      "permission_handler_android",
+      "permission_handler_apple",
+      "permission_handler_windows",
+      "permission_handler_platform_interface"
+    ]
+  },
+  {
+    "name": "permission_handler_platform_interface",
+    "version": "3.12.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "meta",
+      "plugin_platform_interface"
+    ]
+  },
+  {
+    "name": "permission_handler_windows",
+    "version": "0.1.3",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "permission_handler_platform_interface"
+    ]
+  },
+  {
+    "name": "permission_handler_apple",
+    "version": "9.1.4",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "permission_handler_platform_interface"
+    ]
+  },
+  {
+    "name": "permission_handler_android",
+    "version": "11.1.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "permission_handler_platform_interface"
+    ]
+  },
+  {
+    "name": "network_info_plus",
+    "version": "4.1.0",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "collection",
+      "nm",
+      "flutter",
+      "flutter_web_plugins",
+      "meta",
+      "network_info_plus_platform_interface",
+      "win32",
+      "ffi"
+    ]
+  },
+  {
+    "name": "network_info_plus_platform_interface",
+    "version": "1.1.3",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "meta",
+      "plugin_platform_interface"
+    ]
+  },
+  {
+    "name": "nm",
+    "version": "0.5.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "dbus"
+    ]
+  },
+  {
+    "name": "dbus",
+    "version": "0.7.8",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "args",
+      "ffi",
+      "meta",
+      "xml"
+    ]
+  },
+  {
+    "name": "window_manager",
+    "version": "0.3.7",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "path",
+      "screen_retriever"
+    ]
+  },
+  {
+    "name": "path_provider",
+    "version": "2.1.1",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "path_provider_android",
+      "path_provider_foundation",
+      "path_provider_linux",
+      "path_provider_platform_interface",
+      "path_provider_windows"
+    ]
+  },
+  {
+    "name": "path_provider_foundation",
+    "version": "2.3.1",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "path_provider_platform_interface"
+    ]
+  },
+  {
+    "name": "path_provider_android",
+    "version": "2.2.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "path_provider_platform_interface"
+    ]
+  },
+  {
+    "name": "flutter_rust_bridge",
+    "version": "1.82.1",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "args",
+      "build_cli_annotations",
+      "js",
+      "meta",
+      "path",
+      "puppeteer",
+      "shelf",
+      "shelf_static",
+      "shelf_web_socket",
+      "uuid",
+      "web_socket_channel",
+      "yaml",
+      "tuple"
+    ]
+  },
+  {
+    "name": "shelf_static",
+    "version": "1.1.2",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "convert",
+      "http_parser",
+      "mime",
+      "path",
+      "shelf"
+    ]
+  },
+  {
+    "name": "puppeteer",
+    "version": "3.2.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "archive",
+      "async",
+      "collection",
+      "http",
+      "logging",
+      "path",
+      "petitparser",
+      "pool"
+    ]
+  },
+  {
+    "name": "build_cli_annotations",
+    "version": "2.1.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "args",
+      "meta"
+    ]
+  },
+  {
+    "name": "flutter_local_notifications",
+    "version": "16.1.0",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "clock",
+      "flutter",
+      "flutter_local_notifications_linux",
+      "flutter_local_notifications_platform_interface",
+      "timezone"
+    ]
+  },
+  {
+    "name": "timezone",
+    "version": "0.9.2",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "path"
+    ]
+  },
+  {
+    "name": "flutter_local_notifications_platform_interface",
+    "version": "7.0.0+1",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "plugin_platform_interface"
+    ]
+  },
+  {
+    "name": "flutter_local_notifications_linux",
+    "version": "4.0.0+1",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "dbus",
+      "ffi",
+      "flutter",
+      "flutter_local_notifications_platform_interface",
+      "path",
+      "xdg_directories"
+    ]
+  },
+  {
+    "name": "cupertino_icons",
+    "version": "1.0.6",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": []
+  },
+  {
+    "name": "device_info_plus",
+    "version": "9.1.0",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "device_info_plus_platform_interface",
+      "ffi",
+      "file",
+      "flutter",
+      "flutter_web_plugins",
+      "meta",
+      "win32",
+      "win32_registry"
+    ]
+  },
+  {
+    "name": "win32_registry",
+    "version": "1.1.2",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "ffi",
+      "win32"
+    ]
+  },
+  {
+    "name": "device_info_plus_platform_interface",
+    "version": "7.0.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "meta",
+      "plugin_platform_interface"
+    ]
+  }
+]
diff --git a/pkgs/by-name/in/intiface-central/package.nix b/pkgs/by-name/in/intiface-central/package.nix
new file mode 100644
index 0000000000000..2081e5c688561
--- /dev/null
+++ b/pkgs/by-name/in/intiface-central/package.nix
@@ -0,0 +1,79 @@
+{ lib
+, fetchFromGitHub
+, flutter
+, corrosion
+, rustPlatform
+, cargo
+, rustc
+, udev
+, copyDesktopItems
+, makeDesktopItem
+}:
+flutter.buildFlutterApplication rec {
+  pname = "intiface-central";
+  version = "2.5.3";
+  src = fetchFromGitHub {
+    owner = "intiface";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-i0G3wCfJ9Q7DEmVMrQv2K6fy4YRWsEMNns9zMZkJxvY=";
+  };
+  patches = [
+    ./corrosion.patch
+  ];
+
+  depsListFile = ./deps.json;
+  vendorHash = "sha256-06I9ugwUmMT16A6l5Is5v35Fu7pyE8+1mnDDPKxCYxM=";
+
+  cargoDeps = rustPlatform.fetchCargoTarball {
+    name = "${pname}-${version}-cargo-deps";
+    inherit src;
+    sourceRoot = "source/intiface-engine-flutter-bridge";
+    hash = "sha256-0sCHa3rMaLYaUG3E3fmsLi0dSdb9vGyv7qNR3JQkXuU=";
+  };
+  cargoRoot = "intiface-engine-flutter-bridge";
+
+  preConfigure = ''
+    export CMAKE_PREFIX_PATH="${corrosion}:$CMAKE_PREFIX_PATH"
+  '';
+
+  nativeBuildInputs = [
+    corrosion
+    rustPlatform.cargoSetupHook
+    cargo
+    rustc
+    copyDesktopItems
+  ];
+
+  buildInputs = [
+    udev
+  ];
+
+  # without this, only the splash screen will be shown and the logs will contain the
+  # line `Failed to load dynamic library 'lib/libintiface_engine_flutter_bridge.so'`
+  extraWrapProgramArgs = "--chdir $out/app";
+
+  postInstall = ''
+    mkdir -p $out/share/pixmaps
+    cp $out/app/data/flutter_assets/assets/icons/intiface_central_icon.png $out/share/pixmaps/intiface-central.png
+  '';
+
+  desktopItems = [
+    (makeDesktopItem {
+      name = "intiface-central";
+      exec = "intiface_central";
+      icon = "intiface-central";
+      comment = "Intiface Central (Buttplug Frontend) Application for Desktop";
+      desktopName = "Intiface Central";
+    })
+  ];
+
+  meta = with lib; {
+    mainProgram = "intiface_central";
+    description = "Intiface Central (Buttplug Frontend) Application for Desktop";
+    homepage = "https://intiface.com/";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ _999eagle ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/by-name/ji/jigdo/package.nix b/pkgs/by-name/ji/jigdo/package.nix
new file mode 100644
index 0000000000000..4202bd4dd3dd0
--- /dev/null
+++ b/pkgs/by-name/ji/jigdo/package.nix
@@ -0,0 +1,46 @@
+{ lib
+, stdenv
+, fetchurl
+, gettext
+, bzip2
+, db
+, zlib
+}:
+
+stdenv.mkDerivation rec {
+  pname = "jigdo";
+  version = "0.8.2";
+
+  src = fetchurl {
+    url = "https://www.einval.com/~steve/software/jigdo/download/jigdo-${version}.tar.xz";
+    hash = "sha256-NvKG2T+mtr94hfSJnJl4lNIdo6YhdlkqwWLZxqhkT54=";
+  };
+
+  # unable to parse jigdo-file.sgml
+  postPatch = ''
+    sed \
+      -e "s@.*cd doc.*@@g" \
+      -e "s@.*/man1.*@\t\t:@g" \
+      -i Makefile.in
+  '';
+
+  strictDeps = true;
+
+  nativeBuildInputs = [
+    gettext
+  ];
+
+  buildInputs = [
+    bzip2
+    db
+    zlib
+  ];
+
+  meta = with lib; {
+    description = "Download utility that can fetch files from several sources simultaneously";
+    homepage = "https://www.einval.com/~steve/software/jigdo/";
+    license = licenses.gpl2Only;
+    maintainers = with maintainers; [ wegank ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/by-name/ko/kor/package.nix b/pkgs/by-name/ko/kor/package.nix
index 69626d884297f..eb383c7177295 100644
--- a/pkgs/by-name/ko/kor/package.nix
+++ b/pkgs/by-name/ko/kor/package.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "kor";
-  version = "0.3.0";
+  version = "0.3.2";
 
   src = fetchFromGitHub {
     owner = "yonahd";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-emijYJL054UCOAUobspDqSc7LuQjUjT2E/rQKqJDvA8=";
+    hash = "sha256-Ov+aad+6Tp6Mm+fyjR9+xTYVlRu7uv1kD14AgSFmPMA=";
   };
 
-  vendorHash = "sha256-iAqptugku3qX6e45+YYf1bU9j2YntNQj82vR04bFMOQ=";
+  vendorHash = "sha256-HPcLjeLw3AxqZg2f5v5G4uYX65D7yXaXDZUPUgWnLFA=";
 
   preCheck = ''
     HOME=$(mktemp -d)
diff --git a/pkgs/by-name/oa/oauth2ms/package.nix b/pkgs/by-name/oa/oauth2ms/package.nix
new file mode 100644
index 0000000000000..b32ea14d3a9f1
--- /dev/null
+++ b/pkgs/by-name/oa/oauth2ms/package.nix
@@ -0,0 +1,35 @@
+{ lib, stdenv, fetchFromGitHub, python3 }:
+
+stdenv.mkDerivation {
+  pname = "oauth2ms";
+  version = "2021-07-09";
+
+  src = fetchFromGitHub {
+    owner = "harishkrupo";
+    repo = "oauth2ms";
+    rev = "a1ef0cabfdea57e9309095954b90134604e21c08"; # No tags or releases in the repo
+    sha256 = "sha256-xPSWlHJAXhhj5I6UMjUtH1EZqCZWHJMFWTu3a4k1ETc";
+  };
+
+  buildInputs = [
+    (python3.withPackages (ps: with ps; [
+      pyxdg
+      msal
+      python-gnupg
+    ]))
+  ];
+
+  installPhase = ''
+    runHook preInstall
+    install -m755 -D oauth2ms $out/bin/oauth2ms
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/harishkrupo/oauth2ms";
+    description = "XOAUTH2 compatible Office365 token fetcher";
+    platforms = platforms.all;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ wentasah ];
+  };
+}
diff --git a/pkgs/by-name/pa/passmark-performancetest/package.nix b/pkgs/by-name/pa/passmark-performancetest/package.nix
new file mode 100644
index 0000000000000..5fbb4f3199c84
--- /dev/null
+++ b/pkgs/by-name/pa/passmark-performancetest/package.nix
@@ -0,0 +1,67 @@
+{ lib
+, stdenv
+, fetchurl
+, curl
+, unzip
+, ncurses5
+, dmidecode
+, coreutils
+, util-linux
+, autoPatchelfHook
+, makeWrapper
+}:
+let
+  sources = {
+    "x86_64-linux" = {
+      url = "https://web.archive.org/web/20231205092714/https://www.passmark.com/downloads/pt_linux_x64.zip";
+      hash = "sha256-q9H+/V4fkSwJJEp+Vs+MPvndi5DInx5MQCzAv965IJg=";
+    };
+    "aarch64-linux" = {
+      url = "https://web.archive.org/web/20231205092807/https://www.passmark.com/downloads/pt_linux_arm64.zip";
+      hash = "sha256-7fmd2fukJ56e0BJFJe3SitGlordyIFbNjIzQv+u6Zuw=";
+    };
+  };
+in
+stdenv.mkDerivation rec {
+  version = "11.0.1002";
+  pname = "passmark-performancetest";
+
+  src = fetchurl (sources.${stdenv.system} or (throw "Unsupported system for PassMark performance test"));
+
+  dontConfigure = true;
+  dontBuild = true;
+
+  nativeBuildInputs = [ unzip autoPatchelfHook makeWrapper ];
+
+  buildInputs = [
+    stdenv.cc.cc.lib
+    curl
+    ncurses5
+  ];
+
+  installPhase = ''
+    runHook preInstall
+    install -Dm555 pt_linux_* "$out/bin/performancetest"
+    runHook postInstall
+  '';
+
+  # Prefix since program will call sudo
+  postFixup = ''
+    wrapProgram $out/bin/performancetest \
+        --prefix PATH ":" ${lib.makeBinPath [
+          dmidecode
+          coreutils
+          util-linux
+        ]}
+  '';
+
+  meta = with lib; {
+    description = "A software tool that allows everybody to quickly assess the performance of their computer and compare it to a number of standard 'baseline' computer systems.";
+    homepage = "https://www.passmark.com";
+    sourceProvenance = with sourceTypes; [ binaryNativeCode ];
+    license = licenses.unfree;
+    maintainers = with maintainers; [ neverbehave ];
+    platforms = builtins.attrNames sources;
+    mainProgram = "performancetest";
+  };
+}
diff --git a/pkgs/by-name/pl/platformsh/package.nix b/pkgs/by-name/pl/platformsh/package.nix
index 458cad998ff77..5d9e6dc2d2f49 100644
--- a/pkgs/by-name/pl/platformsh/package.nix
+++ b/pkgs/by-name/pl/platformsh/package.nix
@@ -2,16 +2,16 @@
 
 php.buildComposerProject (finalAttrs: {
   pname = "platformsh";
-  version = "4.10.0";
+  version = "4.11.4";
 
   src = fetchFromGitHub {
     owner = "platformsh";
     repo = "legacy-cli";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-aEQxlotwMScEIfHrVDdXBgFxMqAIypkEl9TLi1Bvhnw=";
+    hash = "sha256-4Fo4vmTEo0rSJNtoGz/mRv5dRCMq5vJmnwAxsvfs9qo=";
   };
 
-  vendorHash = "sha256-e89xxgTI6FajDfj8xr8VYlbxJD6lUZWz5+2UFQTClsY=";
+  vendorHash = "sha256-MuZKa4lKvfls85cYjOTHHd6lKVVS0QJD6Pdn7csSzUo=";
 
   prePatch = ''
     substituteInPlace config-defaults.yaml \
diff --git a/pkgs/applications/misc/spicetify-cli/default.nix b/pkgs/by-name/sp/spicetify-cli/package.nix
index 7447f934c82e9..410dad2c898e5 100644
--- a/pkgs/applications/misc/spicetify-cli/default.nix
+++ b/pkgs/by-name/sp/spicetify-cli/package.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "spicetify-cli";
-  version = "2.27.2";
+  version = "2.28.1";
 
   src = fetchFromGitHub {
     owner = "spicetify";
     repo = "spicetify-cli";
     rev = "v${version}";
-    hash = "sha256-TT7ZPvpiiDAvvN2ec/qN4i/6XCxfeBTPLD3dCxVTKBY=";
+    hash = "sha256-PiOpj9FsolFZzoMATnJmMwjZrBLGXDIHv8SIaJQetRc=";
   };
 
-  vendorHash = "sha256-H2kSTsYiD9HResHes+7YxUyNcjtM0SLpDPUC0Y518VM=";
+  vendorHash = "sha256-alNUJ+ejwZPvefCTHt0/NWSAIt4MFzbPmkMinMrpe2M=";
 
   ldflags = [
     "-s -w"
diff --git a/pkgs/tools/wayland/swayimg/default.nix b/pkgs/by-name/sw/swayimg/package.nix
index 78a7ab67bad9b..9b0cc438976f0 100644
--- a/pkgs/tools/wayland/swayimg/default.nix
+++ b/pkgs/by-name/sw/swayimg/package.nix
@@ -1,7 +1,6 @@
 { lib
 , stdenv
 , fetchFromGitHub
-, fetchpatch
 , meson
 , ninja
 , pkg-config
@@ -20,27 +19,21 @@
 , libpng
 , libjxl
 , libexif
+, openexr_3
 , bash-completion
+, testers
 }:
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "swayimg";
-  version = "1.11";
+  version = "1.12";
 
   src = fetchFromGitHub {
     owner = "artemsen";
-    repo = pname;
-    rev = "v${version}";
-    sha256 = "sha256-UwIufR3EwbpNVHD1GypV3qNgiqDRllwtxAM0CZPodn0=";
+    repo = "swayimg";
+    rev = "v${finalAttrs.version}";
+    sha256 = "sha256-aKDt4lPh4w0AOucN7VrA7mo8SHI9eJqdrpJF+hG93gI=";
   };
 
-  patches = [
-    (fetchpatch {
-      name = "link-libwebp-1.3.1.patch";
-      url = "https://github.com/artemsen/swayimg/commit/bd3d6c838c699b876fd8c19b408c475eb47e17b6.patch";
-      hash = "sha256-2aMq/GTqyKw+CQr8o8ij4P4yNjBXYKXShQUknStUb5c=";
-    })
-  ];
-
   strictDeps = true;
 
   depsBuildBuild = [
@@ -49,6 +42,10 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ meson ninja pkg-config wayland-scanner ];
 
+  mesonFlags = [
+    (lib.mesonOption "version" finalAttrs.version)
+  ];
+
   buildInputs = [
     bash-completion
     wayland
@@ -65,8 +62,13 @@ stdenv.mkDerivation rec {
     libpng
     libjxl
     libexif
+    openexr_3
   ];
 
+  passthru.tests.version = testers.testVersion {
+    package = finalAttrs.finalPackage;
+  };
+
   meta = with lib; {
     homepage = "https://github.com/artemsen/swayimg";
     description = "Image viewer for Sway/Wayland";
@@ -76,4 +78,4 @@ stdenv.mkDerivation rec {
     platforms = platforms.linux;
     mainProgram = "swayimg";
   };
-}
+})
diff --git a/pkgs/by-name/vi/vinegar/package.nix b/pkgs/by-name/vi/vinegar/package.nix
index 6fe0035dab6bc..9b2aae176a2e1 100644
--- a/pkgs/by-name/vi/vinegar/package.nix
+++ b/pkgs/by-name/vi/vinegar/package.nix
@@ -1,7 +1,7 @@
 { lib
 , buildGoModule
 , fetchFromGitHub
-, wine
+, wine-staging
 , makeBinaryWrapper
 , pkg-config
 , libGL
@@ -11,19 +11,19 @@
 
 buildGoModule rec {
   pname = "vinegar";
-  version = "1.5.8";
+  version = "1.5.9";
 
   src = fetchFromGitHub {
     owner = "vinegarhq";
     repo = "vinegar";
     rev = "v${version}";
-    hash = "sha256-1KDcc9Hms1hQgpvf/49zFJ85kDUsieNcoOTYaZWV+S0=";
+    hash = "sha256-cLzQnNmQYyAIdTGygk/CNU/mxGgcgoFTg5G/0DNwpz4=";
   };
 
-  vendorHash = "sha256-UJLwSOJ4vZt3kquKllm5OMfFheZtAG5gLSA20313PpA=";
+  vendorHash = "sha256-DZI4APnrldnwOmLZ9ucFBGQDxzPXTIi44eLu74WrSBI=";
 
   nativeBuildInputs = [ pkg-config makeBinaryWrapper ];
-  buildInputs = [ libGL libxkbcommon xorg.libX11 xorg.libXcursor xorg.libXfixes wine ];
+  buildInputs = [ libGL libxkbcommon xorg.libX11 xorg.libXcursor xorg.libXfixes wine-staging ];
 
   buildPhase = ''
     runHook preBuild
@@ -39,7 +39,7 @@ buildGoModule rec {
 
   postInstall = ''
     wrapProgram $out/bin/vinegar \
-      --prefix PATH : ${lib.makeBinPath [ wine ]}
+      --prefix PATH : ${lib.makeBinPath [ wine-staging ]}
   '';
 
   meta = with lib; {
diff --git a/pkgs/data/themes/adw-gtk3/default.nix b/pkgs/data/themes/adw-gtk3/default.nix
index 79dcc88a6f5dc..db4fa114110fa 100644
--- a/pkgs/data/themes/adw-gtk3/default.nix
+++ b/pkgs/data/themes/adw-gtk3/default.nix
@@ -9,13 +9,13 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "adw-gtk3";
-  version = "5.1";
+  version = "5.2";
 
   src = fetchFromGitHub {
     owner = "lassekongo83";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-vRB6+C27M4u7v10c6dqGsKpxHMGfpCSiScZ+8qlJRr0=";
+    sha256 = "sha256-S6Yo67DTyRzS9uz/6g87SRmfPIBmAKfy4c23M5aENNg=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/deepin/artwork/deepin-icon-theme/default.nix b/pkgs/desktops/deepin/artwork/deepin-icon-theme/default.nix
index 9ab40fc0b3372..95e715e4d375d 100644
--- a/pkgs/desktops/deepin/artwork/deepin-icon-theme/default.nix
+++ b/pkgs/desktops/deepin/artwork/deepin-icon-theme/default.nix
@@ -8,13 +8,13 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "deepin-icon-theme";
-  version = "2023.04.03";
+  version = "2023.11.28";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    hash = "sha256-YRmpJr3tvBxomgb7yJPTqE3u4tXQKE5HHOP0CpjbQEg=";
+    hash = "sha256-kCWJAmJa0VmhnuegE+acj82Ojl4Z5D8g7/q2PzppJwg=";
   };
 
   makeFlags = [ "PREFIX=${placeholder "out"}" ];
diff --git a/pkgs/desktops/gnome/extensions/extensions.json b/pkgs/desktops/gnome/extensions/extensions.json
index eae2f796108ea..3182c9e47b330 100644
--- a/pkgs/desktops/gnome/extensions/extensions.json
+++ b/pkgs/desktops/gnome/extensions/extensions.json
@@ -32,7 +32,7 @@
     "42": {"version": "51", "sha256": "016ngp84g47p904kk9jzfn5mkpy774fj7h70v53dlqc9s7c58r6s", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIGNhdGVnb3J5LWJhc2VkIG1lbnUgZm9yIGFwcGxpY2F0aW9ucy5cblRoaXMgZXh0ZW5zaW9uIGlzIHBhcnQgb2YgQ2xhc3NpYyBNb2RlIGFuZCBpcyBvZmZpY2lhbGx5IHN1cHBvcnRlZCBieSBHTk9NRS4gUGxlYXNlIGRvIG5vdCByZXBvcnQgYnVncyB1c2luZyB0aGUgZm9ybSBiZWxvdywgdXNlIEdOT01FJ3MgR2l0TGFiIGluc3RhbmNlIGluc3RlYWQuIiwKICAiZXh0ZW5zaW9uLWlkIjogImFwcHMtbWVudSIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi1hcHBzLW1lbnUiLAogICJuYW1lIjogIkFwcGxpY2F0aW9ucyBNZW51IiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJlMjAwMkBiay5ydSIsCiAgICAiZGViYXJzaGlyQGdub21lLm9yZyIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYXBwcy1tZW51IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJ1dWlkIjogImFwcHMtbWVudUBnbm9tZS1zaGVsbC1leHRlbnNpb25zLmdjYW1wYXguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA1MQp9"},
     "43": {"version": "52", "sha256": "0h9b0kw919sfcx4l4ffi96fgvhgqnvssgwkbf3qh4lyqs4avb2xy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIGNhdGVnb3J5LWJhc2VkIG1lbnUgZm9yIGFwcGxpY2F0aW9ucy5cblRoaXMgZXh0ZW5zaW9uIGlzIHBhcnQgb2YgQ2xhc3NpYyBNb2RlIGFuZCBpcyBvZmZpY2lhbGx5IHN1cHBvcnRlZCBieSBHTk9NRS4gUGxlYXNlIGRvIG5vdCByZXBvcnQgYnVncyB1c2luZyB0aGUgZm9ybSBiZWxvdywgdXNlIEdOT01FJ3MgR2l0TGFiIGluc3RhbmNlIGluc3RlYWQuIiwKICAiZXh0ZW5zaW9uLWlkIjogImFwcHMtbWVudSIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi1hcHBzLW1lbnUiLAogICJuYW1lIjogIkFwcGxpY2F0aW9ucyBNZW51IiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJlMjAwMkBiay5ydSIsCiAgICAiZGViYXJzaGlyQGdub21lLm9yZyIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYXBwcy1tZW51IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJ1dWlkIjogImFwcHMtbWVudUBnbm9tZS1zaGVsbC1leHRlbnNpb25zLmdjYW1wYXguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA1Mgp9"},
     "44": {"version": "53", "sha256": "18wh0z8pq991i2kcp4a5dpx6m05qansm357k98n258j1q3jxac5m", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIGNhdGVnb3J5LWJhc2VkIG1lbnUgZm9yIGFwcGxpY2F0aW9ucy5cblRoaXMgZXh0ZW5zaW9uIGlzIHBhcnQgb2YgQ2xhc3NpYyBNb2RlIGFuZCBpcyBvZmZpY2lhbGx5IHN1cHBvcnRlZCBieSBHTk9NRS4gUGxlYXNlIGRvIG5vdCByZXBvcnQgYnVncyB1c2luZyB0aGUgZm9ybSBiZWxvdywgdXNlIEdOT01FJ3MgR2l0TGFiIGluc3RhbmNlIGluc3RlYWQuIiwKICAiZXh0ZW5zaW9uLWlkIjogImFwcHMtbWVudSIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi1hcHBzLW1lbnUiLAogICJuYW1lIjogIkFwcGxpY2F0aW9ucyBNZW51IiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJlMjAwMkBiay5ydSIsCiAgICAiZGViYXJzaGlyQGdub21lLm9yZyIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYXBwcy1tZW51IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJ1dWlkIjogImFwcHMtbWVudUBnbm9tZS1zaGVsbC1leHRlbnNpb25zLmdjYW1wYXguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA1Mwp9"},
-    "45": {"version": "55", "sha256": "1vdbc460b1v7r5i9afdrdi7w77dk1gflzwa18ndgl083v4pzk1lh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIGNhdGVnb3J5LWJhc2VkIG1lbnUgZm9yIGFwcGxpY2F0aW9ucy5cblRoaXMgZXh0ZW5zaW9uIGlzIHBhcnQgb2YgQ2xhc3NpYyBNb2RlIGFuZCBpcyBvZmZpY2lhbGx5IHN1cHBvcnRlZCBieSBHTk9NRS4gUGxlYXNlIGRvIG5vdCByZXBvcnQgYnVncyB1c2luZyB0aGUgZm9ybSBiZWxvdywgdXNlIEdOT01FJ3MgR2l0TGFiIGluc3RhbmNlIGluc3RlYWQuIiwKICAiZXh0ZW5zaW9uLWlkIjogImFwcHMtbWVudSIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi1hcHBzLW1lbnUiLAogICJuYW1lIjogIkFwcGxpY2F0aW9ucyBNZW51IiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJlMjAwMkBiay5ydSIsCiAgICAiZGViYXJzaGlyQGdub21lLm9yZyIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYXBwcy1tZW51IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJ1dWlkIjogImFwcHMtbWVudUBnbm9tZS1zaGVsbC1leHRlbnNpb25zLmdjYW1wYXguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA1NQp9"}
+    "45": {"version": "56", "sha256": "1k8048dmqyyh3vzamafj90qsn4m98kj7gz5f4hj7z9bqdi38nn6d", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIGNhdGVnb3J5LWJhc2VkIG1lbnUgZm9yIGFwcGxpY2F0aW9ucy5cblRoaXMgZXh0ZW5zaW9uIGlzIHBhcnQgb2YgQ2xhc3NpYyBNb2RlIGFuZCBpcyBvZmZpY2lhbGx5IHN1cHBvcnRlZCBieSBHTk9NRS4gUGxlYXNlIGRvIG5vdCByZXBvcnQgYnVncyB1c2luZyB0aGUgZm9ybSBiZWxvdywgdXNlIEdOT01FJ3MgR2l0TGFiIGluc3RhbmNlIGluc3RlYWQuIiwKICAiZXh0ZW5zaW9uLWlkIjogImFwcHMtbWVudSIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi1hcHBzLW1lbnUiLAogICJuYW1lIjogIkFwcGxpY2F0aW9ucyBNZW51IiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJlMjAwMkBiay5ydSIsCiAgICAiZGViYXJzaGlyQGdub21lLm9yZyIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYXBwcy1tZW51IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJ1dWlkIjogImFwcHMtbWVudUBnbm9tZS1zaGVsbC1leHRlbnNpb25zLmdjYW1wYXguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA1Ngp9"}
   }}
 , {"uuid": "drive-menu@gnome-shell-extensions.gcampax.github.com", "name": "Removable Drive Menu", "pname": "removable-drive-menu", "description": "A status menu for accessing and unmounting removable devices.", "link": "https://extensions.gnome.org/extension/7/removable-drive-menu/", "shell_version_map": {
     "38": {"version": "45", "sha256": "1f5a9md2gxbl65shbdm498y5dwhhqdpj96gvf2m81ad7gsgxzliv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc3RhdHVzIG1lbnUgZm9yIGFjY2Vzc2luZyBhbmQgdW5tb3VudGluZyByZW1vdmFibGUgZGV2aWNlcy4iLAogICJleHRlbnNpb24taWQiOiAiZHJpdmUtbWVudSIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJuYW1lIjogIlJlbW92YWJsZSBEcml2ZSBNZW51IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmRyaXZlLW1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmdub21lLm9yZy9HTk9NRS9nbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAidXVpZCI6ICJkcml2ZS1tZW51QGdub21lLXNoZWxsLWV4dGVuc2lvbnMuZ2NhbXBheC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDQ1Cn0="},
@@ -41,7 +41,7 @@
     "42": {"version": "51", "sha256": "1mjxrmlcrn1c9plcmvs4pgmm13jxc7c7v3s4d3xbl2bp096878dc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc3RhdHVzIG1lbnUgZm9yIGFjY2Vzc2luZyBhbmQgdW5tb3VudGluZyByZW1vdmFibGUgZGV2aWNlcy4iLAogICJleHRlbnNpb24taWQiOiAiZHJpdmUtbWVudSIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi1kcml2ZS1tZW51IiwKICAibmFtZSI6ICJSZW1vdmFibGUgRHJpdmUgTWVudSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5kcml2ZS1tZW51IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJ1dWlkIjogImRyaXZlLW1lbnVAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5nY2FtcGF4LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNTEKfQ=="},
     "43": {"version": "52", "sha256": "0zn9xkw5r0j1kwbs78j7chp4l2404d177w3a4shjd765hvjy6wam", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc3RhdHVzIG1lbnUgZm9yIGFjY2Vzc2luZyBhbmQgdW5tb3VudGluZyByZW1vdmFibGUgZGV2aWNlcy4iLAogICJleHRlbnNpb24taWQiOiAiZHJpdmUtbWVudSIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi1kcml2ZS1tZW51IiwKICAibmFtZSI6ICJSZW1vdmFibGUgRHJpdmUgTWVudSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5kcml2ZS1tZW51IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJ1dWlkIjogImRyaXZlLW1lbnVAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5nY2FtcGF4LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNTIKfQ=="},
     "44": {"version": "53", "sha256": "01wn2icq1cnly9xg7pr2pzk4vqw4l5fhasy5hvq3pq8mbidmdm5s", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc3RhdHVzIG1lbnUgZm9yIGFjY2Vzc2luZyBhbmQgdW5tb3VudGluZyByZW1vdmFibGUgZGV2aWNlcy4iLAogICJleHRlbnNpb24taWQiOiAiZHJpdmUtbWVudSIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi1kcml2ZS1tZW51IiwKICAibmFtZSI6ICJSZW1vdmFibGUgRHJpdmUgTWVudSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5kcml2ZS1tZW51IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJ1dWlkIjogImRyaXZlLW1lbnVAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5nY2FtcGF4LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNTMKfQ=="},
-    "45": {"version": "56", "sha256": "1wvghdv26sda93q1m48lmqsh0946nmh8ff84pz2fqlc54c9aclad", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc3RhdHVzIG1lbnUgZm9yIGFjY2Vzc2luZyBhbmQgdW5tb3VudGluZyByZW1vdmFibGUgZGV2aWNlcy4iLAogICJleHRlbnNpb24taWQiOiAiZHJpdmUtbWVudSIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi1kcml2ZS1tZW51IiwKICAibmFtZSI6ICJSZW1vdmFibGUgRHJpdmUgTWVudSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5kcml2ZS1tZW51IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJ1dWlkIjogImRyaXZlLW1lbnVAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5nY2FtcGF4LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNTYKfQ=="}
+    "45": {"version": "57", "sha256": "1a2j8l2wmxx97snqrj5hs9y0qcjwkv9g00bgr0968h8rpy4fl56y", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc3RhdHVzIG1lbnUgZm9yIGFjY2Vzc2luZyBhbmQgdW5tb3VudGluZyByZW1vdmFibGUgZGV2aWNlcy4iLAogICJleHRlbnNpb24taWQiOiAiZHJpdmUtbWVudSIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi1kcml2ZS1tZW51IiwKICAibmFtZSI6ICJSZW1vdmFibGUgRHJpdmUgTWVudSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5kcml2ZS1tZW51IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJ1dWlkIjogImRyaXZlLW1lbnVAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5nY2FtcGF4LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNTcKfQ=="}
   }}
 , {"uuid": "places-menu@gnome-shell-extensions.gcampax.github.com", "name": "Places Status Indicator", "pname": "places-status-indicator", "description": "Add a menu for quickly navigating places in the system.\nThis extension is part of Classic Mode and is officially supported by GNOME. Please do not report bugs using the form below, use GNOME's GitLab instance instead.", "link": "https://extensions.gnome.org/extension/8/places-status-indicator/", "shell_version_map": {
     "38": {"version": "48", "sha256": "05m8nkg2km72iwnmadx6f4br8qnzqagp78mlhz8r2z6hp19nqsh5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIG1lbnUgZm9yIHF1aWNrbHkgbmF2aWdhdGluZyBwbGFjZXMgaW4gdGhlIHN5c3RlbS5cblRoaXMgZXh0ZW5zaW9uIGlzIHBhcnQgb2YgQ2xhc3NpYyBNb2RlIGFuZCBpcyBvZmZpY2lhbGx5IHN1cHBvcnRlZCBieSBHTk9NRS4gUGxlYXNlIGRvIG5vdCByZXBvcnQgYnVncyB1c2luZyB0aGUgZm9ybSBiZWxvdywgdXNlIEdOT01FJ3MgR2l0TGFiIGluc3RhbmNlIGluc3RlYWQuIiwKICAiZXh0ZW5zaW9uLWlkIjogInBsYWNlcy1tZW51IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgIm5hbWUiOiAiUGxhY2VzIFN0YXR1cyBJbmRpY2F0b3IiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucGxhY2VzLW1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmdub21lLm9yZy9HTk9NRS9nbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAidXVpZCI6ICJwbGFjZXMtbWVudUBnbm9tZS1zaGVsbC1leHRlbnNpb25zLmdjYW1wYXguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA0OAp9"},
@@ -50,7 +50,7 @@
     "42": {"version": "54", "sha256": "1sfifdzglmn5x3qxs9k0dn4rwislsyzvp2w3dn47x26mvc90zb90", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIG1lbnUgZm9yIHF1aWNrbHkgbmF2aWdhdGluZyBwbGFjZXMgaW4gdGhlIHN5c3RlbS5cblRoaXMgZXh0ZW5zaW9uIGlzIHBhcnQgb2YgQ2xhc3NpYyBNb2RlIGFuZCBpcyBvZmZpY2lhbGx5IHN1cHBvcnRlZCBieSBHTk9NRS4gUGxlYXNlIGRvIG5vdCByZXBvcnQgYnVncyB1c2luZyB0aGUgZm9ybSBiZWxvdywgdXNlIEdOT01FJ3MgR2l0TGFiIGluc3RhbmNlIGluc3RlYWQuIiwKICAiZXh0ZW5zaW9uLWlkIjogInBsYWNlcy1tZW51IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXBsYWNlcy1tZW51IiwKICAibmFtZSI6ICJQbGFjZXMgU3RhdHVzIEluZGljYXRvciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5wbGFjZXMtbWVudSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmdub21lLm9yZy9HTk9NRS9nbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAidXVpZCI6ICJwbGFjZXMtbWVudUBnbm9tZS1zaGVsbC1leHRlbnNpb25zLmdjYW1wYXguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA1NAp9"},
     "43": {"version": "55", "sha256": "19pw472bjz3j9z1s23q4rxsjmz0x54fcpi968yw7k8ivd1cihfx5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIG1lbnUgZm9yIHF1aWNrbHkgbmF2aWdhdGluZyBwbGFjZXMgaW4gdGhlIHN5c3RlbS5cblRoaXMgZXh0ZW5zaW9uIGlzIHBhcnQgb2YgQ2xhc3NpYyBNb2RlIGFuZCBpcyBvZmZpY2lhbGx5IHN1cHBvcnRlZCBieSBHTk9NRS4gUGxlYXNlIGRvIG5vdCByZXBvcnQgYnVncyB1c2luZyB0aGUgZm9ybSBiZWxvdywgdXNlIEdOT01FJ3MgR2l0TGFiIGluc3RhbmNlIGluc3RlYWQuIiwKICAiZXh0ZW5zaW9uLWlkIjogInBsYWNlcy1tZW51IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXBsYWNlcy1tZW51IiwKICAibmFtZSI6ICJQbGFjZXMgU3RhdHVzIEluZGljYXRvciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5wbGFjZXMtbWVudSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmdub21lLm9yZy9HTk9NRS9nbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAidXVpZCI6ICJwbGFjZXMtbWVudUBnbm9tZS1zaGVsbC1leHRlbnNpb25zLmdjYW1wYXguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA1NQp9"},
     "44": {"version": "56", "sha256": "0fc52km2aj7c4n1q6y4yf2l4nzzwawyizi8d6d0b1wrcqa8n64n6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIG1lbnUgZm9yIHF1aWNrbHkgbmF2aWdhdGluZyBwbGFjZXMgaW4gdGhlIHN5c3RlbS5cblRoaXMgZXh0ZW5zaW9uIGlzIHBhcnQgb2YgQ2xhc3NpYyBNb2RlIGFuZCBpcyBvZmZpY2lhbGx5IHN1cHBvcnRlZCBieSBHTk9NRS4gUGxlYXNlIGRvIG5vdCByZXBvcnQgYnVncyB1c2luZyB0aGUgZm9ybSBiZWxvdywgdXNlIEdOT01FJ3MgR2l0TGFiIGluc3RhbmNlIGluc3RlYWQuIiwKICAiZXh0ZW5zaW9uLWlkIjogInBsYWNlcy1tZW51IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXBsYWNlcy1tZW51IiwKICAibmFtZSI6ICJQbGFjZXMgU3RhdHVzIEluZGljYXRvciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5wbGFjZXMtbWVudSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmdub21lLm9yZy9HTk9NRS9nbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAidXVpZCI6ICJwbGFjZXMtbWVudUBnbm9tZS1zaGVsbC1leHRlbnNpb25zLmdjYW1wYXguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA1Ngp9"},
-    "45": {"version": "58", "sha256": "0qpgd7m5ps9hn02miy4irih9fgiqpwccak8w8lsbv00viyxidq5n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIG1lbnUgZm9yIHF1aWNrbHkgbmF2aWdhdGluZyBwbGFjZXMgaW4gdGhlIHN5c3RlbS5cblRoaXMgZXh0ZW5zaW9uIGlzIHBhcnQgb2YgQ2xhc3NpYyBNb2RlIGFuZCBpcyBvZmZpY2lhbGx5IHN1cHBvcnRlZCBieSBHTk9NRS4gUGxlYXNlIGRvIG5vdCByZXBvcnQgYnVncyB1c2luZyB0aGUgZm9ybSBiZWxvdywgdXNlIEdOT01FJ3MgR2l0TGFiIGluc3RhbmNlIGluc3RlYWQuIiwKICAiZXh0ZW5zaW9uLWlkIjogInBsYWNlcy1tZW51IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXBsYWNlcy1tZW51IiwKICAibmFtZSI6ICJQbGFjZXMgU3RhdHVzIEluZGljYXRvciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5wbGFjZXMtbWVudSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmdub21lLm9yZy9HTk9NRS9nbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAidXVpZCI6ICJwbGFjZXMtbWVudUBnbm9tZS1zaGVsbC1leHRlbnNpb25zLmdjYW1wYXguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA1OAp9"}
+    "45": {"version": "59", "sha256": "1sai071js4l70mm8cfnr8yavisiy5wbdifkhc9wl4pqj12g33x31", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIG1lbnUgZm9yIHF1aWNrbHkgbmF2aWdhdGluZyBwbGFjZXMgaW4gdGhlIHN5c3RlbS5cblRoaXMgZXh0ZW5zaW9uIGlzIHBhcnQgb2YgQ2xhc3NpYyBNb2RlIGFuZCBpcyBvZmZpY2lhbGx5IHN1cHBvcnRlZCBieSBHTk9NRS4gUGxlYXNlIGRvIG5vdCByZXBvcnQgYnVncyB1c2luZyB0aGUgZm9ybSBiZWxvdywgdXNlIEdOT01FJ3MgR2l0TGFiIGluc3RhbmNlIGluc3RlYWQuIiwKICAiZXh0ZW5zaW9uLWlkIjogInBsYWNlcy1tZW51IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXBsYWNlcy1tZW51IiwKICAibmFtZSI6ICJQbGFjZXMgU3RhdHVzIEluZGljYXRvciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5wbGFjZXMtbWVudSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmdub21lLm9yZy9HTk9NRS9nbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAidXVpZCI6ICJwbGFjZXMtbWVudUBnbm9tZS1zaGVsbC1leHRlbnNpb25zLmdjYW1wYXguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA1OQp9"}
   }}
 , {"uuid": "windowsNavigator@gnome-shell-extensions.gcampax.github.com", "name": "windowNavigator", "pname": "windownavigator", "description": "Allow keyboard selection of windows and workspaces in overlay mode. <Ctrl>number selects a workspace, and <Alt>number selects a window.", "link": "https://extensions.gnome.org/extension/10/windownavigator/", "shell_version_map": {
     "38": {"version": "49", "sha256": "1rzfnssk0iw1ysaya79ksghikkr1rpm41h2w39cz142fby6kip2d", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93IGtleWJvYXJkIHNlbGVjdGlvbiBvZiB3aW5kb3dzIGFuZCB3b3Jrc3BhY2VzIGluIG92ZXJsYXkgbW9kZS4gPEN0cmw+bnVtYmVyIHNlbGVjdHMgYSB3b3Jrc3BhY2UsIGFuZCA8QWx0Pm51bWJlciBzZWxlY3RzIGEgd2luZG93LiIsCiAgImV4dGVuc2lvbi1pZCI6ICJ3aW5kb3dzTmF2aWdhdG9yIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgIm5hbWUiOiAid2luZG93TmF2aWdhdG9yIiwKICAib3JpZ2luYWwtYXV0aG9yIjogInphc3BpcmVAcmFtYmxlci5ydSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy53aW5kb3dzTmF2aWdhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgInV1aWQiOiAid2luZG93c05hdmlnYXRvckBnbm9tZS1zaGVsbC1leHRlbnNpb25zLmdjYW1wYXguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA0OQp9"},
@@ -59,7 +59,7 @@
     "42": {"version": "57", "sha256": "1w3rf6y7l2qgg4ya8cqlj8a6wf8l4yqfjlh17mpmi6gmfzsxplnf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93IGtleWJvYXJkIHNlbGVjdGlvbiBvZiB3aW5kb3dzIGFuZCB3b3Jrc3BhY2VzIGluIG92ZXJsYXkgbW9kZS4gPEN0cmw+bnVtYmVyIHNlbGVjdHMgYSB3b3Jrc3BhY2UsIGFuZCA8QWx0Pm51bWJlciBzZWxlY3RzIGEgd2luZG93LiIsCiAgImV4dGVuc2lvbi1pZCI6ICJ3aW5kb3dzTmF2aWdhdG9yIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXdpbmRvd3NOYXZpZ2F0b3IiLAogICJuYW1lIjogIndpbmRvd05hdmlnYXRvciIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJ6YXNwaXJlQHJhbWJsZXIucnUiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud2luZG93c05hdmlnYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmdub21lLm9yZy9HTk9NRS9nbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAidXVpZCI6ICJ3aW5kb3dzTmF2aWdhdG9yQGdub21lLXNoZWxsLWV4dGVuc2lvbnMuZ2NhbXBheC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDU3Cn0="},
     "43": {"version": "58", "sha256": "1l5fiajbv9484ln7kkq5nm4ph71ir9fnav6gqhyzbfhbx94qh9gd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93IGtleWJvYXJkIHNlbGVjdGlvbiBvZiB3aW5kb3dzIGFuZCB3b3Jrc3BhY2VzIGluIG92ZXJsYXkgbW9kZS4gPEN0cmw+bnVtYmVyIHNlbGVjdHMgYSB3b3Jrc3BhY2UsIGFuZCA8QWx0Pm51bWJlciBzZWxlY3RzIGEgd2luZG93LiIsCiAgImV4dGVuc2lvbi1pZCI6ICJ3aW5kb3dzTmF2aWdhdG9yIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXdpbmRvd3NOYXZpZ2F0b3IiLAogICJuYW1lIjogIndpbmRvd05hdmlnYXRvciIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJ6YXNwaXJlQHJhbWJsZXIucnUiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud2luZG93c05hdmlnYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmdub21lLm9yZy9HTk9NRS9nbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAidXVpZCI6ICJ3aW5kb3dzTmF2aWdhdG9yQGdub21lLXNoZWxsLWV4dGVuc2lvbnMuZ2NhbXBheC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDU4Cn0="},
     "44": {"version": "59", "sha256": "1pa1i7scsjj91dql0v6zajyx30w446r1cxknl0dp1fpmydqwxjpl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93IGtleWJvYXJkIHNlbGVjdGlvbiBvZiB3aW5kb3dzIGFuZCB3b3Jrc3BhY2VzIGluIG92ZXJsYXkgbW9kZS4gPEN0cmw+bnVtYmVyIHNlbGVjdHMgYSB3b3Jrc3BhY2UsIGFuZCA8QWx0Pm51bWJlciBzZWxlY3RzIGEgd2luZG93LiIsCiAgImV4dGVuc2lvbi1pZCI6ICJ3aW5kb3dzTmF2aWdhdG9yIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXdpbmRvd3NOYXZpZ2F0b3IiLAogICJuYW1lIjogIndpbmRvd05hdmlnYXRvciIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJ6YXNwaXJlQHJhbWJsZXIucnUiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud2luZG93c05hdmlnYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmdub21lLm9yZy9HTk9NRS9nbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAidXVpZCI6ICJ3aW5kb3dzTmF2aWdhdG9yQGdub21lLXNoZWxsLWV4dGVuc2lvbnMuZ2NhbXBheC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDU5Cn0="},
-    "45": {"version": "61", "sha256": "10a8xpvsfbwvjpzd1q7afni0zv0pvha63jk2skvxhjdmxxvcc2fw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93IGtleWJvYXJkIHNlbGVjdGlvbiBvZiB3aW5kb3dzIGFuZCB3b3Jrc3BhY2VzIGluIG92ZXJsYXkgbW9kZS4gPEN0cmw+bnVtYmVyIHNlbGVjdHMgYSB3b3Jrc3BhY2UsIGFuZCA8QWx0Pm51bWJlciBzZWxlY3RzIGEgd2luZG93LiIsCiAgImV4dGVuc2lvbi1pZCI6ICJ3aW5kb3dzTmF2aWdhdG9yIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXdpbmRvd3NOYXZpZ2F0b3IiLAogICJuYW1lIjogIndpbmRvd05hdmlnYXRvciIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJ6YXNwaXJlQHJhbWJsZXIucnUiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud2luZG93c05hdmlnYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmdub21lLm9yZy9HTk9NRS9nbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAidXVpZCI6ICJ3aW5kb3dzTmF2aWdhdG9yQGdub21lLXNoZWxsLWV4dGVuc2lvbnMuZ2NhbXBheC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDYxCn0="}
+    "45": {"version": "62", "sha256": "10d6hj0nbnfq55lqjjmilb8f6v2cv70kk6bnzyj3cn832hrz959a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93IGtleWJvYXJkIHNlbGVjdGlvbiBvZiB3aW5kb3dzIGFuZCB3b3Jrc3BhY2VzIGluIG92ZXJsYXkgbW9kZS4gPEN0cmw+bnVtYmVyIHNlbGVjdHMgYSB3b3Jrc3BhY2UsIGFuZCA8QWx0Pm51bWJlciBzZWxlY3RzIGEgd2luZG93LiIsCiAgImV4dGVuc2lvbi1pZCI6ICJ3aW5kb3dzTmF2aWdhdG9yIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXdpbmRvd3NOYXZpZ2F0b3IiLAogICJuYW1lIjogIndpbmRvd05hdmlnYXRvciIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJ6YXNwaXJlQHJhbWJsZXIucnUiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud2luZG93c05hdmlnYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmdub21lLm9yZy9HTk9NRS9nbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAidXVpZCI6ICJ3aW5kb3dzTmF2aWdhdG9yQGdub21lLXNoZWxsLWV4dGVuc2lvbnMuZ2NhbXBheC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDYyCn0="}
   }}
 , {"uuid": "Applications_Menu@rmy.pobox.com", "name": "Frippery Applications Menu", "pname": "applications-menu", "description": "Replace Activities button with an Applications menu", "link": "https://extensions.gnome.org/extension/13/applications-menu/", "shell_version_map": {
     "38": {"version": "45", "sha256": "0kg9dq1ssa11xizb31kcq3p724qzm1cmf30wriqffj043n5nd125", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlcGxhY2UgQWN0aXZpdGllcyBidXR0b24gd2l0aCBhbiBBcHBsaWNhdGlvbnMgbWVudSIsCiAgImdldHRleHQtZG9tYWluIjogImZyaXBwZXJ5LWFwcGxpY2F0aW9ucy1tZW51IiwKICAibmFtZSI6ICJGcmlwcGVyeSBBcHBsaWNhdGlvbnMgTWVudSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZnJpcHBlcnkuYXBwbGljYXRpb25zLW1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHA6Ly9mcmlwcGVyeS5vcmcvZXh0ZW5zaW9ucyIsCiAgInV1aWQiOiAiQXBwbGljYXRpb25zX01lbnVAcm15LnBvYm94LmNvbSIsCiAgInZlcnNpb24iOiA0NQp9"},
@@ -77,7 +77,7 @@
     "42": {"version": "49", "sha256": "031ppsjqv3y81wcjjsm14rqfh0l7vvaavy01hlqfyglpk8vlfvml", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgYXBwbGljYXRpb25zIHRvIHNwZWNpZmljIHdvcmtzcGFjZXMgd2hlbiB0aGV5IGNyZWF0ZSB3aW5kb3dzLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJhdXRvLW1vdmUtd2luZG93cyIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi1hdXRvLW1vdmUtd2luZG93cyIsCiAgIm5hbWUiOiAiQXV0byBNb3ZlIFdpbmRvd3MiLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgImFsZXNzYW5kcm8uY3Jpc21hbmlAZ21haWwuY29tIiwKICAgICJ0aG9tYXMuYm91ZmZvbkBnbWFpbC5jb20iCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmF1dG8tbW92ZS13aW5kb3dzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJ1dWlkIjogImF1dG8tbW92ZS13aW5kb3dzQGdub21lLXNoZWxsLWV4dGVuc2lvbnMuZ2NhbXBheC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDQ5Cn0="},
     "43": {"version": "50", "sha256": "0s0ky7sslyf2cy68xlqrrz01py82wi861gpcfqj97qdwdf9hzq2g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgYXBwbGljYXRpb25zIHRvIHNwZWNpZmljIHdvcmtzcGFjZXMgd2hlbiB0aGV5IGNyZWF0ZSB3aW5kb3dzLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJhdXRvLW1vdmUtd2luZG93cyIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi1hdXRvLW1vdmUtd2luZG93cyIsCiAgIm5hbWUiOiAiQXV0byBNb3ZlIFdpbmRvd3MiLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgImFsZXNzYW5kcm8uY3Jpc21hbmlAZ21haWwuY29tIiwKICAgICJ0aG9tYXMuYm91ZmZvbkBnbWFpbC5jb20iCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmF1dG8tbW92ZS13aW5kb3dzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJ1dWlkIjogImF1dG8tbW92ZS13aW5kb3dzQGdub21lLXNoZWxsLWV4dGVuc2lvbnMuZ2NhbXBheC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDUwCn0="},
     "44": {"version": "51", "sha256": "1j9nba9r5a56c2ks61jbrr6n8gc470g4c0lig9r4angqhc6sn7bl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgYXBwbGljYXRpb25zIHRvIHNwZWNpZmljIHdvcmtzcGFjZXMgd2hlbiB0aGV5IGNyZWF0ZSB3aW5kb3dzLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJhdXRvLW1vdmUtd2luZG93cyIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi1hdXRvLW1vdmUtd2luZG93cyIsCiAgIm5hbWUiOiAiQXV0byBNb3ZlIFdpbmRvd3MiLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgImFsZXNzYW5kcm8uY3Jpc21hbmlAZ21haWwuY29tIiwKICAgICJ0aG9tYXMuYm91ZmZvbkBnbWFpbC5jb20iCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmF1dG8tbW92ZS13aW5kb3dzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJ1dWlkIjogImF1dG8tbW92ZS13aW5kb3dzQGdub21lLXNoZWxsLWV4dGVuc2lvbnMuZ2NhbXBheC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDUxCn0="},
-    "45": {"version": "53", "sha256": "1lvmmmg9gp0zsgd8x2i91b34vhpmjvmc9w6ym18qw7jir1193wcb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgYXBwbGljYXRpb25zIHRvIHNwZWNpZmljIHdvcmtzcGFjZXMgd2hlbiB0aGV5IGNyZWF0ZSB3aW5kb3dzLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJhdXRvLW1vdmUtd2luZG93cyIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi1hdXRvLW1vdmUtd2luZG93cyIsCiAgIm5hbWUiOiAiQXV0byBNb3ZlIFdpbmRvd3MiLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgImFsZXNzYW5kcm8uY3Jpc21hbmlAZ21haWwuY29tIiwKICAgICJ0aG9tYXMuYm91ZmZvbkBnbWFpbC5jb20iCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmF1dG8tbW92ZS13aW5kb3dzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJ1dWlkIjogImF1dG8tbW92ZS13aW5kb3dzQGdub21lLXNoZWxsLWV4dGVuc2lvbnMuZ2NhbXBheC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDUzCn0="}
+    "45": {"version": "54", "sha256": "11gxlyp83096ky0iqd8svn802ih7knvhn3qml6532c1h2xv8krlp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgYXBwbGljYXRpb25zIHRvIHNwZWNpZmljIHdvcmtzcGFjZXMgd2hlbiB0aGV5IGNyZWF0ZSB3aW5kb3dzLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJhdXRvLW1vdmUtd2luZG93cyIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi1hdXRvLW1vdmUtd2luZG93cyIsCiAgIm5hbWUiOiAiQXV0byBNb3ZlIFdpbmRvd3MiLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgImFsZXNzYW5kcm8uY3Jpc21hbmlAZ21haWwuY29tIiwKICAgICJ0aG9tYXMuYm91ZmZvbkBnbWFpbC5jb20iCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmF1dG8tbW92ZS13aW5kb3dzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJ1dWlkIjogImF1dG8tbW92ZS13aW5kb3dzQGdub21lLXNoZWxsLWV4dGVuc2lvbnMuZ2NhbXBheC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDU0Cn0="}
   }}
 , {"uuid": "native-window-placement@gnome-shell-extensions.gcampax.github.com", "name": "Native Window Placement", "pname": "native-window-placement", "description": "Arrange windows in overview in a more compact way.", "link": "https://extensions.gnome.org/extension/18/native-window-placement/", "shell_version_map": {
     "38": {"version": "45", "sha256": "15vhdcfrfbsinp0m1jfygjl4djccafhvgwc1rsi321jvykqhajmm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFycmFuZ2Ugd2luZG93cyBpbiBvdmVydmlldyBpbiBhIG1vcmUgY29tcGFjdCB3YXkuIiwKICAiZXh0ZW5zaW9uLWlkIjogIm5hdGl2ZS13aW5kb3ctcGxhY2VtZW50IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgIm5hbWUiOiAiTmF0aXZlIFdpbmRvdyBQbGFjZW1lbnQiLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgIndlcG1hc2NoZGFAZ214LmRlIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5uYXRpdmUtd2luZG93LXBsYWNlbWVudCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJ1dWlkIjogIm5hdGl2ZS13aW5kb3ctcGxhY2VtZW50QGdub21lLXNoZWxsLWV4dGVuc2lvbnMuZ2NhbXBheC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDQ1Cn0="},
@@ -86,7 +86,7 @@
     "42": {"version": "51", "sha256": "1i9grnrd07zpsshf1710ag4y0zqwgi1c7rrarb8l55w45slg2254", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFycmFuZ2Ugd2luZG93cyBpbiBvdmVydmlldyBpbiBhIG1vcmUgY29tcGFjdCB3YXkuIiwKICAiZXh0ZW5zaW9uLWlkIjogIm5hdGl2ZS13aW5kb3ctcGxhY2VtZW50IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLW5hdGl2ZS13aW5kb3ctcGxhY2VtZW50IiwKICAibmFtZSI6ICJOYXRpdmUgV2luZG93IFBsYWNlbWVudCIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAid2VwbWFzY2hkYUBnbXguZGUiCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm5hdGl2ZS13aW5kb3ctcGxhY2VtZW50IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJ1dWlkIjogIm5hdGl2ZS13aW5kb3ctcGxhY2VtZW50QGdub21lLXNoZWxsLWV4dGVuc2lvbnMuZ2NhbXBheC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDUxCn0="},
     "43": {"version": "52", "sha256": "09660cb8y0549py4d4wrl2fhg7grl0c1fnakzznvfwzh0cdr3f8r", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFycmFuZ2Ugd2luZG93cyBpbiBvdmVydmlldyBpbiBhIG1vcmUgY29tcGFjdCB3YXkuIiwKICAiZXh0ZW5zaW9uLWlkIjogIm5hdGl2ZS13aW5kb3ctcGxhY2VtZW50IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLW5hdGl2ZS13aW5kb3ctcGxhY2VtZW50IiwKICAibmFtZSI6ICJOYXRpdmUgV2luZG93IFBsYWNlbWVudCIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAid2VwbWFzY2hkYUBnbXguZGUiCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm5hdGl2ZS13aW5kb3ctcGxhY2VtZW50IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJ1dWlkIjogIm5hdGl2ZS13aW5kb3ctcGxhY2VtZW50QGdub21lLXNoZWxsLWV4dGVuc2lvbnMuZ2NhbXBheC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDUyCn0="},
     "44": {"version": "53", "sha256": "18k0b7vsjmvbvnzb5b5qa3jk0i14ah93cwi1399m6ma9llhyhwjw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFycmFuZ2Ugd2luZG93cyBpbiBvdmVydmlldyBpbiBhIG1vcmUgY29tcGFjdCB3YXkuIiwKICAiZXh0ZW5zaW9uLWlkIjogIm5hdGl2ZS13aW5kb3ctcGxhY2VtZW50IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLW5hdGl2ZS13aW5kb3ctcGxhY2VtZW50IiwKICAibmFtZSI6ICJOYXRpdmUgV2luZG93IFBsYWNlbWVudCIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAid2VwbWFzY2hkYUBnbXguZGUiCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm5hdGl2ZS13aW5kb3ctcGxhY2VtZW50IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJ1dWlkIjogIm5hdGl2ZS13aW5kb3ctcGxhY2VtZW50QGdub21lLXNoZWxsLWV4dGVuc2lvbnMuZ2NhbXBheC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDUzCn0="},
-    "45": {"version": "55", "sha256": "06jaxz3j9hyv3whmqgayp2bzng1019q7vgskjs6xr0plj14zkzlx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFycmFuZ2Ugd2luZG93cyBpbiBvdmVydmlldyBpbiBhIG1vcmUgY29tcGFjdCB3YXkuIiwKICAiZXh0ZW5zaW9uLWlkIjogIm5hdGl2ZS13aW5kb3ctcGxhY2VtZW50IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLW5hdGl2ZS13aW5kb3ctcGxhY2VtZW50IiwKICAibmFtZSI6ICJOYXRpdmUgV2luZG93IFBsYWNlbWVudCIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAid2VwbWFzY2hkYUBnbXguZGUiCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm5hdGl2ZS13aW5kb3ctcGxhY2VtZW50IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJ1dWlkIjogIm5hdGl2ZS13aW5kb3ctcGxhY2VtZW50QGdub21lLXNoZWxsLWV4dGVuc2lvbnMuZ2NhbXBheC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDU1Cn0="}
+    "45": {"version": "56", "sha256": "0g864ji4bazc7x25qqjrcayhpq8sqrabxdwfl7iviz7s0yc40iz0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFycmFuZ2Ugd2luZG93cyBpbiBvdmVydmlldyBpbiBhIG1vcmUgY29tcGFjdCB3YXkuIiwKICAiZXh0ZW5zaW9uLWlkIjogIm5hdGl2ZS13aW5kb3ctcGxhY2VtZW50IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLW5hdGl2ZS13aW5kb3ctcGxhY2VtZW50IiwKICAibmFtZSI6ICJOYXRpdmUgV2luZG93IFBsYWNlbWVudCIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAid2VwbWFzY2hkYUBnbXguZGUiCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm5hdGl2ZS13aW5kb3ctcGxhY2VtZW50IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJ1dWlkIjogIm5hdGl2ZS13aW5kb3ctcGxhY2VtZW50QGdub21lLXNoZWxsLWV4dGVuc2lvbnMuZ2NhbXBheC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDU2Cn0="}
   }}
 , {"uuid": "user-theme@gnome-shell-extensions.gcampax.github.com", "name": "User Themes", "pname": "user-themes", "description": "Load shell themes from user directory.", "link": "https://extensions.gnome.org/extension/19/user-themes/", "shell_version_map": {
     "38": {"version": "42", "sha256": "0jykwcd8pmvr03dm2vala6nzzhi9i83c11svgx8wymfvxr5qrya8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxvYWQgc2hlbGwgdGhlbWVzIGZyb20gdXNlciBkaXJlY3RvcnkuIiwKICAiZXh0ZW5zaW9uLWlkIjogInVzZXItdGhlbWUiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAibmFtZSI6ICJVc2VyIFRoZW1lcyIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAiam9obi5zdG93ZXJzQGdtYWlsLmNvbSIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudXNlci10aGVtZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJ1dWlkIjogInVzZXItdGhlbWVAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5nY2FtcGF4LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNDIKfQ=="},
@@ -95,7 +95,7 @@
     "42": {"version": "49", "sha256": "0ykaw2602iixn87fc65h6vwxzlcjidpp9hpcsmf66r0f6xibgpah", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxvYWQgc2hlbGwgdGhlbWVzIGZyb20gdXNlciBkaXJlY3RvcnkuIiwKICAiZXh0ZW5zaW9uLWlkIjogInVzZXItdGhlbWUiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24tdXNlci10aGVtZSIsCiAgIm5hbWUiOiAiVXNlciBUaGVtZXMiLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgImpvaG4uc3Rvd2Vyc0BnbWFpbC5jb20iCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnVzZXItdGhlbWUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgInV1aWQiOiAidXNlci10aGVtZUBnbm9tZS1zaGVsbC1leHRlbnNpb25zLmdjYW1wYXguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA0OQp9"},
     "43": {"version": "50", "sha256": "0jyd2rn2nlvcmx8xn2azhbaqf5k0kgyx8ciy6bj1iq35s7k5sp7h", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxvYWQgc2hlbGwgdGhlbWVzIGZyb20gdXNlciBkaXJlY3RvcnkuIiwKICAiZXh0ZW5zaW9uLWlkIjogInVzZXItdGhlbWUiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24tdXNlci10aGVtZSIsCiAgIm5hbWUiOiAiVXNlciBUaGVtZXMiLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgImpvaG4uc3Rvd2Vyc0BnbWFpbC5jb20iCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnVzZXItdGhlbWUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgInV1aWQiOiAidXNlci10aGVtZUBnbm9tZS1zaGVsbC1leHRlbnNpb25zLmdjYW1wYXguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA1MAp9"},
     "44": {"version": "51", "sha256": "0m7gw3lcds1r6d8q5962bjxb4b2hqy633c73axxc5gvyr9i0bjf2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxvYWQgc2hlbGwgdGhlbWVzIGZyb20gdXNlciBkaXJlY3RvcnkuIiwKICAiZXh0ZW5zaW9uLWlkIjogInVzZXItdGhlbWUiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24tdXNlci10aGVtZSIsCiAgIm5hbWUiOiAiVXNlciBUaGVtZXMiLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgImpvaG4uc3Rvd2Vyc0BnbWFpbC5jb20iCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnVzZXItdGhlbWUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgInV1aWQiOiAidXNlci10aGVtZUBnbm9tZS1zaGVsbC1leHRlbnNpb25zLmdjYW1wYXguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA1MQp9"},
-    "45": {"version": "53", "sha256": "0hmd7hkzb8rcr3r65km07jkdgmm92xhkvi9zj5628z4hd648h0c7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxvYWQgc2hlbGwgdGhlbWVzIGZyb20gdXNlciBkaXJlY3RvcnkuIiwKICAiZXh0ZW5zaW9uLWlkIjogInVzZXItdGhlbWUiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24tdXNlci10aGVtZSIsCiAgIm5hbWUiOiAiVXNlciBUaGVtZXMiLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgImpvaG4uc3Rvd2Vyc0BnbWFpbC5jb20iCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnVzZXItdGhlbWUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgInV1aWQiOiAidXNlci10aGVtZUBnbm9tZS1zaGVsbC1leHRlbnNpb25zLmdjYW1wYXguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA1Mwp9"}
+    "45": {"version": "54", "sha256": "0gpkxmjaaq9rmh16wf5cf24q2w2wb0z0z8v7mcg7wrwsjszg7xhb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxvYWQgc2hlbGwgdGhlbWVzIGZyb20gdXNlciBkaXJlY3RvcnkuIiwKICAiZXh0ZW5zaW9uLWlkIjogInVzZXItdGhlbWUiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24tdXNlci10aGVtZSIsCiAgIm5hbWUiOiAiVXNlciBUaGVtZXMiLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgImpvaG4uc3Rvd2Vyc0BnbWFpbC5jb20iCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnVzZXItdGhlbWUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgInV1aWQiOiAidXNlci10aGVtZUBnbm9tZS1zaGVsbC1leHRlbnNpb25zLmdjYW1wYXguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA1NAp9"}
   }}
 , {"uuid": "workspace-indicator@gnome-shell-extensions.gcampax.github.com", "name": "Workspace Indicator", "pname": "workspace-indicator", "description": "Put an indicator on the panel signaling in which workspace you are, and give you the possibility of switching to another one.", "link": "https://extensions.gnome.org/extension/21/workspace-indicator/", "shell_version_map": {
     "38": {"version": "45", "sha256": "16y7zhlsj0qjwwj78fvcr81m7081i2y30gwjm35qahr3j0gfrk16", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlB1dCBhbiBpbmRpY2F0b3Igb24gdGhlIHBhbmVsIHNpZ25hbGluZyBpbiB3aGljaCB3b3Jrc3BhY2UgeW91IGFyZSwgYW5kIGdpdmUgeW91IHRoZSBwb3NzaWJpbGl0eSBvZiBzd2l0Y2hpbmcgdG8gYW5vdGhlciBvbmUuIiwKICAiZXh0ZW5zaW9uLWlkIjogIndvcmtzcGFjZS1pbmRpY2F0b3IiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAibmFtZSI6ICJXb3Jrc3BhY2UgSW5kaWNhdG9yIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJlcmljay5yZWRAZ21haWwuY29tIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy53b3Jrc3BhY2UtaW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgInV1aWQiOiAid29ya3NwYWNlLWluZGljYXRvckBnbm9tZS1zaGVsbC1leHRlbnNpb25zLmdjYW1wYXguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA0NQp9"},
@@ -104,7 +104,7 @@
     "42": {"version": "52", "sha256": "1i0jm0k3rjk97283p0iv0nx2cclij0kx7dqb35a7kd2pxh89jn8w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlB1dCBhbiBpbmRpY2F0b3Igb24gdGhlIHBhbmVsIHNpZ25hbGluZyBpbiB3aGljaCB3b3Jrc3BhY2UgeW91IGFyZSwgYW5kIGdpdmUgeW91IHRoZSBwb3NzaWJpbGl0eSBvZiBzd2l0Y2hpbmcgdG8gYW5vdGhlciBvbmUuIiwKICAiZXh0ZW5zaW9uLWlkIjogIndvcmtzcGFjZS1pbmRpY2F0b3IiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24td29ya3NwYWNlLWluZGljYXRvciIsCiAgIm5hbWUiOiAiV29ya3NwYWNlIEluZGljYXRvciIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAiZXJpY2sucmVkQGdtYWlsLmNvbSIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud29ya3NwYWNlLWluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmdub21lLm9yZy9HTk9NRS9nbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAidXVpZCI6ICJ3b3Jrc3BhY2UtaW5kaWNhdG9yQGdub21lLXNoZWxsLWV4dGVuc2lvbnMuZ2NhbXBheC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDUyCn0="},
     "43": {"version": "53", "sha256": "0idl8n6205ymh1z3w15sxv98940q8qch2pp5wk9gzd594i2aya2p", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlB1dCBhbiBpbmRpY2F0b3Igb24gdGhlIHBhbmVsIHNpZ25hbGluZyBpbiB3aGljaCB3b3Jrc3BhY2UgeW91IGFyZSwgYW5kIGdpdmUgeW91IHRoZSBwb3NzaWJpbGl0eSBvZiBzd2l0Y2hpbmcgdG8gYW5vdGhlciBvbmUuIiwKICAiZXh0ZW5zaW9uLWlkIjogIndvcmtzcGFjZS1pbmRpY2F0b3IiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24td29ya3NwYWNlLWluZGljYXRvciIsCiAgIm5hbWUiOiAiV29ya3NwYWNlIEluZGljYXRvciIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAiZXJpY2sucmVkQGdtYWlsLmNvbSIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud29ya3NwYWNlLWluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmdub21lLm9yZy9HTk9NRS9nbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAidXVpZCI6ICJ3b3Jrc3BhY2UtaW5kaWNhdG9yQGdub21lLXNoZWxsLWV4dGVuc2lvbnMuZ2NhbXBheC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDUzCn0="},
     "44": {"version": "54", "sha256": "03jq25xa3z0b32vczqv12gkfdmw4ll56zb0walm5gfmmmzivsn1i", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlB1dCBhbiBpbmRpY2F0b3Igb24gdGhlIHBhbmVsIHNpZ25hbGluZyBpbiB3aGljaCB3b3Jrc3BhY2UgeW91IGFyZSwgYW5kIGdpdmUgeW91IHRoZSBwb3NzaWJpbGl0eSBvZiBzd2l0Y2hpbmcgdG8gYW5vdGhlciBvbmUuIiwKICAiZXh0ZW5zaW9uLWlkIjogIndvcmtzcGFjZS1pbmRpY2F0b3IiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24td29ya3NwYWNlLWluZGljYXRvciIsCiAgIm5hbWUiOiAiV29ya3NwYWNlIEluZGljYXRvciIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAiZXJpY2sucmVkQGdtYWlsLmNvbSIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud29ya3NwYWNlLWluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmdub21lLm9yZy9HTk9NRS9nbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAidXVpZCI6ICJ3b3Jrc3BhY2UtaW5kaWNhdG9yQGdub21lLXNoZWxsLWV4dGVuc2lvbnMuZ2NhbXBheC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDU0Cn0="},
-    "45": {"version": "56", "sha256": "059y1pjnlihihvs41aka19aqpj1r2qh3xs8w7379l780x943wa6g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlB1dCBhbiBpbmRpY2F0b3Igb24gdGhlIHBhbmVsIHNpZ25hbGluZyBpbiB3aGljaCB3b3Jrc3BhY2UgeW91IGFyZSwgYW5kIGdpdmUgeW91IHRoZSBwb3NzaWJpbGl0eSBvZiBzd2l0Y2hpbmcgdG8gYW5vdGhlciBvbmUuIiwKICAiZXh0ZW5zaW9uLWlkIjogIndvcmtzcGFjZS1pbmRpY2F0b3IiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24td29ya3NwYWNlLWluZGljYXRvciIsCiAgIm5hbWUiOiAiV29ya3NwYWNlIEluZGljYXRvciIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAiZXJpY2sucmVkQGdtYWlsLmNvbSIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud29ya3NwYWNlLWluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmdub21lLm9yZy9HTk9NRS9nbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAidXVpZCI6ICJ3b3Jrc3BhY2UtaW5kaWNhdG9yQGdub21lLXNoZWxsLWV4dGVuc2lvbnMuZ2NhbXBheC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDU2Cn0="}
+    "45": {"version": "57", "sha256": "0qpzc1njng95ck1svw9nig2j9i5p7nqbgaxm1x7gg3i9jn8rgwqh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlB1dCBhbiBpbmRpY2F0b3Igb24gdGhlIHBhbmVsIHNpZ25hbGluZyBpbiB3aGljaCB3b3Jrc3BhY2UgeW91IGFyZSwgYW5kIGdpdmUgeW91IHRoZSBwb3NzaWJpbGl0eSBvZiBzd2l0Y2hpbmcgdG8gYW5vdGhlciBvbmUuIiwKICAiZXh0ZW5zaW9uLWlkIjogIndvcmtzcGFjZS1pbmRpY2F0b3IiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24td29ya3NwYWNlLWluZGljYXRvciIsCiAgIm5hbWUiOiAiV29ya3NwYWNlIEluZGljYXRvciIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAiZXJpY2sucmVkQGdtYWlsLmNvbSIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud29ya3NwYWNlLWluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmdub21lLm9yZy9HTk9NRS9nbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAidXVpZCI6ICJ3b3Jrc3BhY2UtaW5kaWNhdG9yQGdub21lLXNoZWxsLWV4dGVuc2lvbnMuZ2NhbXBheC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDU3Cn0="}
   }}
 , {"uuid": "gTile@vibou", "name": "gTile", "pname": "gtile", "description": "Tile windows on a grid", "link": "https://extensions.gnome.org/extension/28/gtile/", "shell_version_map": {
     "38": {"version": "52", "sha256": "0j3mva9qzsz3nvww9d99ig5z4nr9g339lirmavfzry9yf8l29cwz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGUgd2luZG93cyBvbiBhIGdyaWQuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ3RpbGVAdmlib3UiLAogICJuYW1lIjogImdUaWxlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmd0aWxlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9nVGlsZS9nVGlsZSIsCiAgInV1aWQiOiAiZ1RpbGVAdmlib3UiLAogICJ2ZXJzaW9uIjogNTIKfQ=="},
@@ -112,7 +112,8 @@
     "41": {"version": "52", "sha256": "0j3mva9qzsz3nvww9d99ig5z4nr9g339lirmavfzry9yf8l29cwz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGUgd2luZG93cyBvbiBhIGdyaWQuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ3RpbGVAdmlib3UiLAogICJuYW1lIjogImdUaWxlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmd0aWxlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9nVGlsZS9nVGlsZSIsCiAgInV1aWQiOiAiZ1RpbGVAdmlib3UiLAogICJ2ZXJzaW9uIjogNTIKfQ=="},
     "42": {"version": "52", "sha256": "0j3mva9qzsz3nvww9d99ig5z4nr9g339lirmavfzry9yf8l29cwz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGUgd2luZG93cyBvbiBhIGdyaWQuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ3RpbGVAdmlib3UiLAogICJuYW1lIjogImdUaWxlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmd0aWxlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9nVGlsZS9nVGlsZSIsCiAgInV1aWQiOiAiZ1RpbGVAdmlib3UiLAogICJ2ZXJzaW9uIjogNTIKfQ=="},
     "43": {"version": "52", "sha256": "0j3mva9qzsz3nvww9d99ig5z4nr9g339lirmavfzry9yf8l29cwz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGUgd2luZG93cyBvbiBhIGdyaWQuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ3RpbGVAdmlib3UiLAogICJuYW1lIjogImdUaWxlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmd0aWxlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9nVGlsZS9nVGlsZSIsCiAgInV1aWQiOiAiZ1RpbGVAdmlib3UiLAogICJ2ZXJzaW9uIjogNTIKfQ=="},
-    "44": {"version": "52", "sha256": "0j3mva9qzsz3nvww9d99ig5z4nr9g339lirmavfzry9yf8l29cwz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGUgd2luZG93cyBvbiBhIGdyaWQuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ3RpbGVAdmlib3UiLAogICJuYW1lIjogImdUaWxlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmd0aWxlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9nVGlsZS9nVGlsZSIsCiAgInV1aWQiOiAiZ1RpbGVAdmlib3UiLAogICJ2ZXJzaW9uIjogNTIKfQ=="}
+    "44": {"version": "52", "sha256": "0j3mva9qzsz3nvww9d99ig5z4nr9g339lirmavfzry9yf8l29cwz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGUgd2luZG93cyBvbiBhIGdyaWQuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ3RpbGVAdmlib3UiLAogICJuYW1lIjogImdUaWxlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmd0aWxlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9nVGlsZS9nVGlsZSIsCiAgInV1aWQiOiAiZ1RpbGVAdmlib3UiLAogICJ2ZXJzaW9uIjogNTIKfQ=="},
+    "45": {"version": "55", "sha256": "1v420fy9935f13m56z5nxj7f6g530njb4cxxlq28wd9s1p04h9d1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGUgd2luZG93cyBvbiBhIGdyaWQiLAogICJuYW1lIjogImdUaWxlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmd0aWxlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2dUaWxlIiwKICAidXVpZCI6ICJnVGlsZUB2aWJvdSIsCiAgInZlcnNpb24iOiA1NQp9"}
   }}
 , {"uuid": "lockkeys@vaina.lt", "name": "Lock Keys", "pname": "lock-keys", "description": "Numlock & Capslock status on the panel.", "link": "https://extensions.gnome.org/extension/36/lock-keys/", "shell_version_map": {
     "38": {"version": "52", "sha256": "02190kcp0c1mzlxf4ax0shk7r6zh9adynidxnjdhbkwl9knxalra", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk51bWxvY2sgJiBDYXBzbG9jayBzdGF0dXMgb24gdGhlIHBhbmVsLiBHbm9tZSB2ZXJzaW9uIDMuMzAgYW5kIGVhcmxpZXIgdXNlcnMgcGxlYXNlIGluc3RhbGwgNDQgdmVyc2lvbiBvZiB0aGUgZXh0ZW5zaW9uIGh0dHBzOi8vZXh0ZW5zaW9ucy5nbm9tZS5vcmcvZG93bmxvYWQtZXh0ZW5zaW9uL2xvY2trZXlzJTQwdmFpbmEubHQuc2hlbGwtZXh0ZW5zaW9uLnppcD92ZXJzaW9uX3RhZz0yNjIyOSAiLAogICJuYW1lIjogIkxvY2sgS2V5cyIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiAiS2F6aW1pZXJhcyBWYWluYSwgUGllcnJlIE9zc21hbiwgZXJndWlsbGUsIGpvbm5pdXMsIFBoaWxpcHAgV29sZmVyLCBNYXJpdXN6IExpc293c2tpLCBDcmlzdGlhbiBCZXJvaXphLCB3YXJtc3VuMDIyMCwgUmFzbXVzIEthaiwgUGFibG8gTWFydGluLUdvbWV6IEJvdXNrYSwgUmFwaGFcdTAwZWJsIFJvY2hldCwgTHVpeiBOaWNrZWwsIEplc3NlLCBEdVx1MDE2MWFuIEthemlrIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9rYXp5c21hc3Rlci9nbm9tZS1zaGVsbC1leHRlbnNpb24tbG9ja2tleXMiLAogICJ1dWlkIjogImxvY2trZXlzQHZhaW5hLmx0IiwKICAidmVyc2lvbiI6IDUyCn0="},
@@ -350,7 +351,7 @@
     "42": {"version": "34", "sha256": "1vx1dbb8sq5ss3ilqah92nja6ivqnijywj2wkg29akz8ijbss19f", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsd2F5cyBsYXVuY2ggYSBuZXcgaW5zdGFuY2Ugd2hlbiBjbGlja2luZyBpbiB0aGUgZGFzaCBvciB0aGUgYXBwbGljYXRpb24gdmlldy5cblRoaXMgZXh0ZW5zaW9uIGlzIHBhcnQgb2YgQ2xhc3NpYyBNb2RlIGFuZCBpcyBvZmZpY2lhbGx5IHN1cHBvcnRlZCBieSBHTk9NRS4gUGxlYXNlIGRvIG5vdCByZXBvcnQgYnVncyB1c2luZyB0aGUgZm9ybSBiZWxvdywgdXNlIEdOT01FJ3MgR2l0TGFiIGluc3RhbmNlIGluc3RlYWQuIiwKICAiZXh0ZW5zaW9uLWlkIjogImxhdW5jaC1uZXctaW5zdGFuY2UiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24tbGF1bmNoLW5ldy1pbnN0YW5jZSIsCiAgIm5hbWUiOiAiTGF1bmNoIG5ldyBpbnN0YW5jZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5sYXVuY2gtbmV3LWluc3RhbmNlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJ1dWlkIjogImxhdW5jaC1uZXctaW5zdGFuY2VAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5nY2FtcGF4LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMzQKfQ=="},
     "43": {"version": "35", "sha256": "1i96p4jzi3yfkccbzv7r7x059xr834wispzg1n2888im51zz6x4h", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsd2F5cyBsYXVuY2ggYSBuZXcgaW5zdGFuY2Ugd2hlbiBjbGlja2luZyBpbiB0aGUgZGFzaCBvciB0aGUgYXBwbGljYXRpb24gdmlldy5cblRoaXMgZXh0ZW5zaW9uIGlzIHBhcnQgb2YgQ2xhc3NpYyBNb2RlIGFuZCBpcyBvZmZpY2lhbGx5IHN1cHBvcnRlZCBieSBHTk9NRS4gUGxlYXNlIGRvIG5vdCByZXBvcnQgYnVncyB1c2luZyB0aGUgZm9ybSBiZWxvdywgdXNlIEdOT01FJ3MgR2l0TGFiIGluc3RhbmNlIGluc3RlYWQuIiwKICAiZXh0ZW5zaW9uLWlkIjogImxhdW5jaC1uZXctaW5zdGFuY2UiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24tbGF1bmNoLW5ldy1pbnN0YW5jZSIsCiAgIm5hbWUiOiAiTGF1bmNoIG5ldyBpbnN0YW5jZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5sYXVuY2gtbmV3LWluc3RhbmNlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJ1dWlkIjogImxhdW5jaC1uZXctaW5zdGFuY2VAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5nY2FtcGF4LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMzUKfQ=="},
     "44": {"version": "36", "sha256": "06rhp1difpb7j1l49lay3h5wscf8nv2p0xqs70rss6yvjywsgi34", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsd2F5cyBsYXVuY2ggYSBuZXcgaW5zdGFuY2Ugd2hlbiBjbGlja2luZyBpbiB0aGUgZGFzaCBvciB0aGUgYXBwbGljYXRpb24gdmlldy5cblRoaXMgZXh0ZW5zaW9uIGlzIHBhcnQgb2YgQ2xhc3NpYyBNb2RlIGFuZCBpcyBvZmZpY2lhbGx5IHN1cHBvcnRlZCBieSBHTk9NRS4gUGxlYXNlIGRvIG5vdCByZXBvcnQgYnVncyB1c2luZyB0aGUgZm9ybSBiZWxvdywgdXNlIEdOT01FJ3MgR2l0TGFiIGluc3RhbmNlIGluc3RlYWQuIiwKICAiZXh0ZW5zaW9uLWlkIjogImxhdW5jaC1uZXctaW5zdGFuY2UiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24tbGF1bmNoLW5ldy1pbnN0YW5jZSIsCiAgIm5hbWUiOiAiTGF1bmNoIG5ldyBpbnN0YW5jZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5sYXVuY2gtbmV3LWluc3RhbmNlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJ1dWlkIjogImxhdW5jaC1uZXctaW5zdGFuY2VAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5nY2FtcGF4LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMzYKfQ=="},
-    "45": {"version": "38", "sha256": "0y6c8s90cy5qzmaly9j8ccyr7ac7798rfv1v9y12jccwmmqr6y1f", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsd2F5cyBsYXVuY2ggYSBuZXcgaW5zdGFuY2Ugd2hlbiBjbGlja2luZyBpbiB0aGUgZGFzaCBvciB0aGUgYXBwbGljYXRpb24gdmlldy5cblRoaXMgZXh0ZW5zaW9uIGlzIHBhcnQgb2YgQ2xhc3NpYyBNb2RlIGFuZCBpcyBvZmZpY2lhbGx5IHN1cHBvcnRlZCBieSBHTk9NRS4gUGxlYXNlIGRvIG5vdCByZXBvcnQgYnVncyB1c2luZyB0aGUgZm9ybSBiZWxvdywgdXNlIEdOT01FJ3MgR2l0TGFiIGluc3RhbmNlIGluc3RlYWQuIiwKICAiZXh0ZW5zaW9uLWlkIjogImxhdW5jaC1uZXctaW5zdGFuY2UiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24tbGF1bmNoLW5ldy1pbnN0YW5jZSIsCiAgIm5hbWUiOiAiTGF1bmNoIG5ldyBpbnN0YW5jZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5sYXVuY2gtbmV3LWluc3RhbmNlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJ1dWlkIjogImxhdW5jaC1uZXctaW5zdGFuY2VAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5nY2FtcGF4LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMzgKfQ=="}
+    "45": {"version": "39", "sha256": "0ap68r89z2z95vvmr6k009gczijanlkp002dbvkr5dpvzknzzc09", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsd2F5cyBsYXVuY2ggYSBuZXcgaW5zdGFuY2Ugd2hlbiBjbGlja2luZyBpbiB0aGUgZGFzaCBvciB0aGUgYXBwbGljYXRpb24gdmlldy5cblRoaXMgZXh0ZW5zaW9uIGlzIHBhcnQgb2YgQ2xhc3NpYyBNb2RlIGFuZCBpcyBvZmZpY2lhbGx5IHN1cHBvcnRlZCBieSBHTk9NRS4gUGxlYXNlIGRvIG5vdCByZXBvcnQgYnVncyB1c2luZyB0aGUgZm9ybSBiZWxvdywgdXNlIEdOT01FJ3MgR2l0TGFiIGluc3RhbmNlIGluc3RlYWQuIiwKICAiZXh0ZW5zaW9uLWlkIjogImxhdW5jaC1uZXctaW5zdGFuY2UiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24tbGF1bmNoLW5ldy1pbnN0YW5jZSIsCiAgIm5hbWUiOiAiTGF1bmNoIG5ldyBpbnN0YW5jZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5sYXVuY2gtbmV3LWluc3RhbmNlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJ1dWlkIjogImxhdW5jaC1uZXctaW5zdGFuY2VAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5nY2FtcGF4LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMzkKfQ=="}
   }}
 , {"uuid": "window-list@gnome-shell-extensions.gcampax.github.com", "name": "Window List", "pname": "window-list", "description": "Display a window list at the bottom of the screen.\nThis extension is part of Classic Mode and is officially supported by GNOME. Please do not report bugs using the form below, use GNOME's GitLab instance instead.", "link": "https://extensions.gnome.org/extension/602/window-list/", "shell_version_map": {
     "38": {"version": "34", "sha256": "06jww5sv3a32plbvnl1xch10y19q807dx6zn6z5gwpvq8n0nvnx3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgYSB3aW5kb3cgbGlzdCBhdCB0aGUgYm90dG9tIG9mIHRoZSBzY3JlZW4uXG5UaGlzIGV4dGVuc2lvbiBpcyBwYXJ0IG9mIENsYXNzaWMgTW9kZSBhbmQgaXMgb2ZmaWNpYWxseSBzdXBwb3J0ZWQgYnkgR05PTUUuIFBsZWFzZSBkbyBub3QgcmVwb3J0IGJ1Z3MgdXNpbmcgdGhlIGZvcm0gYmVsb3csIHVzZSBHTk9NRSdzIEdpdExhYiBpbnN0YW5jZSBpbnN0ZWFkLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJ3aW5kb3ctbGlzdCIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJuYW1lIjogIldpbmRvdyBMaXN0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLndpbmRvdy1saXN0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgInV1aWQiOiAid2luZG93LWxpc3RAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5nY2FtcGF4LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMzQKfQ=="},
@@ -359,7 +360,7 @@
     "42": {"version": "46", "sha256": "12h8601f1hl4cfr3gh9pykibb9lh7l0v01s80cjz0lc72c64j9qz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgYSB3aW5kb3cgbGlzdCBhdCB0aGUgYm90dG9tIG9mIHRoZSBzY3JlZW4uXG5UaGlzIGV4dGVuc2lvbiBpcyBwYXJ0IG9mIENsYXNzaWMgTW9kZSBhbmQgaXMgb2ZmaWNpYWxseSBzdXBwb3J0ZWQgYnkgR05PTUUuIFBsZWFzZSBkbyBub3QgcmVwb3J0IGJ1Z3MgdXNpbmcgdGhlIGZvcm0gYmVsb3csIHVzZSBHTk9NRSdzIEdpdExhYiBpbnN0YW5jZSBpbnN0ZWFkLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJ3aW5kb3ctbGlzdCIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi13aW5kb3ctbGlzdCIsCiAgIm5hbWUiOiAiV2luZG93IExpc3QiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud2luZG93LWxpc3QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgInV1aWQiOiAid2luZG93LWxpc3RAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5nY2FtcGF4LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNDYKfQ=="},
     "43": {"version": "47", "sha256": "1nzdl0zb8i7wipsnnrixkpj6rrsv3vz4c1snqspb23h494232wmz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgYSB3aW5kb3cgbGlzdCBhdCB0aGUgYm90dG9tIG9mIHRoZSBzY3JlZW4uXG5UaGlzIGV4dGVuc2lvbiBpcyBwYXJ0IG9mIENsYXNzaWMgTW9kZSBhbmQgaXMgb2ZmaWNpYWxseSBzdXBwb3J0ZWQgYnkgR05PTUUuIFBsZWFzZSBkbyBub3QgcmVwb3J0IGJ1Z3MgdXNpbmcgdGhlIGZvcm0gYmVsb3csIHVzZSBHTk9NRSdzIEdpdExhYiBpbnN0YW5jZSBpbnN0ZWFkLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJ3aW5kb3ctbGlzdCIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi13aW5kb3ctbGlzdCIsCiAgIm5hbWUiOiAiV2luZG93IExpc3QiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud2luZG93LWxpc3QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgInV1aWQiOiAid2luZG93LWxpc3RAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5nY2FtcGF4LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNDcKfQ=="},
     "44": {"version": "48", "sha256": "121n3vcy1kk3vj7say292synnl5ig3kl94i039d2b40pslh4zlq9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgYSB3aW5kb3cgbGlzdCBhdCB0aGUgYm90dG9tIG9mIHRoZSBzY3JlZW4uXG5UaGlzIGV4dGVuc2lvbiBpcyBwYXJ0IG9mIENsYXNzaWMgTW9kZSBhbmQgaXMgb2ZmaWNpYWxseSBzdXBwb3J0ZWQgYnkgR05PTUUuIFBsZWFzZSBkbyBub3QgcmVwb3J0IGJ1Z3MgdXNpbmcgdGhlIGZvcm0gYmVsb3csIHVzZSBHTk9NRSdzIEdpdExhYiBpbnN0YW5jZSBpbnN0ZWFkLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJ3aW5kb3ctbGlzdCIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi13aW5kb3ctbGlzdCIsCiAgIm5hbWUiOiAiV2luZG93IExpc3QiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud2luZG93LWxpc3QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgInV1aWQiOiAid2luZG93LWxpc3RAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5nY2FtcGF4LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNDgKfQ=="},
-    "45": {"version": "50", "sha256": "1p4v0z4k74j4w4glsm8zivmh6kjpqc3ywb2zi29ncilxh5fvvfl3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgYSB3aW5kb3cgbGlzdCBhdCB0aGUgYm90dG9tIG9mIHRoZSBzY3JlZW4uXG5UaGlzIGV4dGVuc2lvbiBpcyBwYXJ0IG9mIENsYXNzaWMgTW9kZSBhbmQgaXMgb2ZmaWNpYWxseSBzdXBwb3J0ZWQgYnkgR05PTUUuIFBsZWFzZSBkbyBub3QgcmVwb3J0IGJ1Z3MgdXNpbmcgdGhlIGZvcm0gYmVsb3csIHVzZSBHTk9NRSdzIEdpdExhYiBpbnN0YW5jZSBpbnN0ZWFkLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJ3aW5kb3ctbGlzdCIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi13aW5kb3ctbGlzdCIsCiAgIm5hbWUiOiAiV2luZG93IExpc3QiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud2luZG93LWxpc3QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgInV1aWQiOiAid2luZG93LWxpc3RAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5nY2FtcGF4LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNTAKfQ=="}
+    "45": {"version": "51", "sha256": "1nb3iwyhn08m9ylyb8jn9lncqmj08vrldvjvn642wkibi0vg1dwf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgYSB3aW5kb3cgbGlzdCBhdCB0aGUgYm90dG9tIG9mIHRoZSBzY3JlZW4uXG5UaGlzIGV4dGVuc2lvbiBpcyBwYXJ0IG9mIENsYXNzaWMgTW9kZSBhbmQgaXMgb2ZmaWNpYWxseSBzdXBwb3J0ZWQgYnkgR05PTUUuIFBsZWFzZSBkbyBub3QgcmVwb3J0IGJ1Z3MgdXNpbmcgdGhlIGZvcm0gYmVsb3csIHVzZSBHTk9NRSdzIEdpdExhYiBpbnN0YW5jZSBpbnN0ZWFkLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJ3aW5kb3ctbGlzdCIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi13aW5kb3ctbGlzdCIsCiAgIm5hbWUiOiAiV2luZG93IExpc3QiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud2luZG93LWxpc3QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgInV1aWQiOiAid2luZG93LWxpc3RAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5nY2FtcGF4LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNTEKfQ=="}
   }}
 , {"uuid": "MultiClock@mibus.org", "name": "MultiClock", "pname": "multiclock", "description": "A clock for showing a second timezone in the panel.", "link": "https://extensions.gnome.org/extension/605/multiclock/", "shell_version_map": {
     "40": {"version": "8", "sha256": "1pp1cnmpix668mrywpv6mkyb45lw7f6cwibjl6bc7cgb01hkzd53", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgY2xvY2sgZm9yIHNob3dpbmcgYSBzZWNvbmQgdGltZXpvbmUgaW4gdGhlIHBhbmVsLiIsCiAgIm5hbWUiOiAiTXVsdGlDbG9jayIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5taWJ1c011bHRpQ2xvY2siLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjQwLjAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9taWJ1cy9NdWx0aUNsb2NrIiwKICAidXVpZCI6ICJNdWx0aUNsb2NrQG1pYnVzLm9yZyIsCiAgInZlcnNpb24iOiA4Cn0="}
@@ -379,7 +380,8 @@
     "41": {"version": "65", "sha256": "10jg1ixk0zfb67licr807wf68bzsdiv9fb9j40xjg49li72c6hrf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgaW5mbyBvbiB2YXJpb3VzIGNyeXB0by1jdXJyZW5jeSBleGNoYW5nZXMuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtYml0Y29pbi1tYXJrZXRzIiwKICAiZ2l0LXZlcnNpb24iOiAidjY1IiwKICAibmFtZSI6ICJCaXRjb2luIE1hcmtldHMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYml0Y29pbi1tYXJrZXRzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9PdHRvQWxsbWVuZGluZ2VyL2dub21lLXNoZWxsLWJpdGNvaW4tbWFya2V0cy8iLAogICJ1dWlkIjogImJpdGNvaW4tbWFya2V0c0BvdHRvYWxsbWVuZGluZ2VyLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNjUKfQ=="},
     "42": {"version": "66", "sha256": "0a1156n4ding1ypjnxm1xz5cqihrf5m2d4bf2zmci29nsjina9c8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgaW5mbyBvbiB2YXJpb3VzIGNyeXB0by1jdXJyZW5jeSBleGNoYW5nZXMuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtYml0Y29pbi1tYXJrZXRzIiwKICAiZ2l0LXZlcnNpb24iOiAidjY2IiwKICAibmFtZSI6ICJCaXRjb2luIE1hcmtldHMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYml0Y29pbi1tYXJrZXRzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL090dG9BbGxtZW5kaW5nZXIvZ25vbWUtc2hlbGwtYml0Y29pbi1tYXJrZXRzLyIsCiAgInV1aWQiOiAiYml0Y29pbi1tYXJrZXRzQG90dG9hbGxtZW5kaW5nZXIuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA2Ngp9"},
     "43": {"version": "67", "sha256": "114kwp1q0qzkd03851mky1syxz8i5zgvazb53rh800wacb4wsh5n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgaW5mbyBvbiB2YXJpb3VzIGNyeXB0by1jdXJyZW5jeSBleGNoYW5nZXMuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtYml0Y29pbi1tYXJrZXRzIiwKICAiZ2l0LXZlcnNpb24iOiAidjY3IiwKICAibmFtZSI6ICJCaXRjb2luIE1hcmtldHMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYml0Y29pbi1tYXJrZXRzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL090dG9BbGxtZW5kaW5nZXIvZ25vbWUtc2hlbGwtYml0Y29pbi1tYXJrZXRzLyIsCiAgInV1aWQiOiAiYml0Y29pbi1tYXJrZXRzQG90dG9hbGxtZW5kaW5nZXIuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA2Nwp9"},
-    "44": {"version": "68", "sha256": "1b936kcvc29p19nzwk32bswgjd7bsj5ap47fw65cz81rracb46fi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgaW5mbyBvbiB2YXJpb3VzIGNyeXB0by1jdXJyZW5jeSBleGNoYW5nZXMuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtYml0Y29pbi1tYXJrZXRzIiwKICAiZ2l0LXZlcnNpb24iOiAidjY4IiwKICAibmFtZSI6ICJCaXRjb2luIE1hcmtldHMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYml0Y29pbi1tYXJrZXRzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL090dG9BbGxtZW5kaW5nZXIvZ25vbWUtc2hlbGwtYml0Y29pbi1tYXJrZXRzLyIsCiAgInV1aWQiOiAiYml0Y29pbi1tYXJrZXRzQG90dG9hbGxtZW5kaW5nZXIuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA2OAp9"}
+    "44": {"version": "68", "sha256": "1b936kcvc29p19nzwk32bswgjd7bsj5ap47fw65cz81rracb46fi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgaW5mbyBvbiB2YXJpb3VzIGNyeXB0by1jdXJyZW5jeSBleGNoYW5nZXMuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtYml0Y29pbi1tYXJrZXRzIiwKICAiZ2l0LXZlcnNpb24iOiAidjY4IiwKICAibmFtZSI6ICJCaXRjb2luIE1hcmtldHMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYml0Y29pbi1tYXJrZXRzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL090dG9BbGxtZW5kaW5nZXIvZ25vbWUtc2hlbGwtYml0Y29pbi1tYXJrZXRzLyIsCiAgInV1aWQiOiAiYml0Y29pbi1tYXJrZXRzQG90dG9hbGxtZW5kaW5nZXIuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA2OAp9"},
+    "45": {"version": "70", "sha256": "0xn36w185lzx2zxcrr2d8kx5qavn4ymj2yrcdkwdxkl3madg1b29", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgaW5mbyBvbiB2YXJpb3VzIGNyeXB0by1jdXJyZW5jeSBleGNoYW5nZXMuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtYml0Y29pbi1tYXJrZXRzIiwKICAiZ2l0LXZlcnNpb24iOiAidjcwIiwKICAibmFtZSI6ICJCaXRjb2luIE1hcmtldHMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYml0Y29pbi1tYXJrZXRzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL090dG9BbGxtZW5kaW5nZXIvZ25vbWUtc2hlbGwtYml0Y29pbi1tYXJrZXRzLyIsCiAgInV1aWQiOiAiYml0Y29pbi1tYXJrZXRzQG90dG9hbGxtZW5kaW5nZXIuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA3MAp9"}
   }}
 , {"uuid": "ShellTile@emasab.it", "name": "ShellTile", "pname": "shelltile", "description": "A tiling window extension for GNOME Shell. Just move a window to the edges of the screen to create a tiling, otherwise move a window over another one, holding down the Control key. Grouped windows minimize, resize, raise and change workspace together. Move or maximize a window to remove it from the group.", "link": "https://extensions.gnome.org/extension/657/shelltile/", "shell_version_map": {
     "38": {"version": "69", "sha256": "1kpsqaq2fcj1z3jcbvgh23c8k6bv9l6vyl05kpw0fclzsmy60mh1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgdGlsaW5nIHdpbmRvdyBleHRlbnNpb24gZm9yIEdOT01FIFNoZWxsLiBKdXN0IG1vdmUgYSB3aW5kb3cgdG8gdGhlIGVkZ2VzIG9mIHRoZSBzY3JlZW4gdG8gY3JlYXRlIGEgdGlsaW5nLCBvdGhlcndpc2UgbW92ZSBhIHdpbmRvdyBvdmVyIGFub3RoZXIgb25lLCBob2xkaW5nIGRvd24gdGhlIENvbnRyb2wga2V5LiBHcm91cGVkIHdpbmRvd3MgbWluaW1pemUsIHJlc2l6ZSwgcmFpc2UgYW5kIGNoYW5nZSB3b3Jrc3BhY2UgdG9nZXRoZXIuIE1vdmUgb3IgbWF4aW1pemUgYSB3aW5kb3cgdG8gcmVtb3ZlIGl0IGZyb20gdGhlIGdyb3VwLiIsCiAgImdldHRleHQtZG9tYWluIjogInNoZWxsdGlsZSIsCiAgIm5hbWUiOiAiU2hlbGxUaWxlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNoZWxsdGlsZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy44IiwKICAgICIzLjEwIiwKICAgICIzLjEyIiwKICAgICIzLjE0IiwKICAgICIzLjE2IiwKICAgICIzLjE4IiwKICAgICIzLjIwIiwKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZW1hc2FiL3NoZWxsdGlsZSIsCiAgInV1aWQiOiAiU2hlbGxUaWxlQGVtYXNhYi5pdCIsCiAgInZlcnNpb24iOiA2OQp9"}
@@ -575,7 +577,7 @@
     "42": {"version": "29", "sha256": "1qsqdasff8b3m8h4739y98jcmi5dvv0shq1f4mglkrfh6cx2ry23", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlc2l6ZSB3aW5kb3dzIGZvciBHTk9NRSBTb2Z0d2FyZSBzY3JlZW5zaG90cyIsCiAgImV4dGVuc2lvbi1pZCI6ICJzY3JlZW5zaG90LXdpbmRvdy1zaXplciIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi1zY3JlZW5zaG90LXdpbmRvdy1zaXplciIsCiAgIm5hbWUiOiAiU2NyZWVuc2hvdCBXaW5kb3cgU2l6ZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc2NyZWVuc2hvdC13aW5kb3ctc2l6ZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgInV1aWQiOiAic2NyZWVuc2hvdC13aW5kb3ctc2l6ZXJAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5nY2FtcGF4LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMjkKfQ=="},
     "43": {"version": "30", "sha256": "036h42fs0yjgfjncvv97wpb2y860rhncfhz0znw4npj0gab5pn42", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlc2l6ZSB3aW5kb3dzIGZvciBHTk9NRSBTb2Z0d2FyZSBzY3JlZW5zaG90cyIsCiAgImV4dGVuc2lvbi1pZCI6ICJzY3JlZW5zaG90LXdpbmRvdy1zaXplciIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi1zY3JlZW5zaG90LXdpbmRvdy1zaXplciIsCiAgIm5hbWUiOiAiU2NyZWVuc2hvdCBXaW5kb3cgU2l6ZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc2NyZWVuc2hvdC13aW5kb3ctc2l6ZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgInV1aWQiOiAic2NyZWVuc2hvdC13aW5kb3ctc2l6ZXJAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5nY2FtcGF4LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMzAKfQ=="},
     "44": {"version": "32", "sha256": "1km4mvmv9350172fjihzmjd18l6ypm8hb22vz1k09xpcas01p448", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlc2l6ZSB3aW5kb3dzIGZvciBHTk9NRSBTb2Z0d2FyZSBzY3JlZW5zaG90cyIsCiAgImV4dGVuc2lvbi1pZCI6ICJzY3JlZW5zaG90LXdpbmRvdy1zaXplciIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi1zY3JlZW5zaG90LXdpbmRvdy1zaXplciIsCiAgIm5hbWUiOiAiU2NyZWVuc2hvdCBXaW5kb3cgU2l6ZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc2NyZWVuc2hvdC13aW5kb3ctc2l6ZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgInV1aWQiOiAic2NyZWVuc2hvdC13aW5kb3ctc2l6ZXJAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5nY2FtcGF4LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMzIKfQ=="},
-    "45": {"version": "34", "sha256": "083lg2cgkqcx6g7a6ixfbbd105zw5kxydkgab7l35mk3qykqkwwr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlc2l6ZSB3aW5kb3dzIGZvciBHTk9NRSBTb2Z0d2FyZSBzY3JlZW5zaG90cyIsCiAgImV4dGVuc2lvbi1pZCI6ICJzY3JlZW5zaG90LXdpbmRvdy1zaXplciIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi1zY3JlZW5zaG90LXdpbmRvdy1zaXplciIsCiAgIm5hbWUiOiAiU2NyZWVuc2hvdCBXaW5kb3cgU2l6ZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc2NyZWVuc2hvdC13aW5kb3ctc2l6ZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgInV1aWQiOiAic2NyZWVuc2hvdC13aW5kb3ctc2l6ZXJAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5nY2FtcGF4LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMzQKfQ=="}
+    "45": {"version": "35", "sha256": "0id9z143wm1xqb4ppvvwrfqrjm9qwaqgxz6hb37s0h2gvr5lamw2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlc2l6ZSB3aW5kb3dzIGZvciBHTk9NRSBTb2Z0d2FyZSBzY3JlZW5zaG90cyIsCiAgImV4dGVuc2lvbi1pZCI6ICJzY3JlZW5zaG90LXdpbmRvdy1zaXplciIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi1zY3JlZW5zaG90LXdpbmRvdy1zaXplciIsCiAgIm5hbWUiOiAiU2NyZWVuc2hvdCBXaW5kb3cgU2l6ZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc2NyZWVuc2hvdC13aW5kb3ctc2l6ZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgInV1aWQiOiAic2NyZWVuc2hvdC13aW5kb3ctc2l6ZXJAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5nY2FtcGF4LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMzUKfQ=="}
   }}
 , {"uuid": "mailnag@pulb.github.com", "name": "Mailnag", "pname": "mailnag", "description": "Mail indicator (GMail, IMAP, POP) for GNOME.\n\nPlease note that this extension requires the mailnag daemon.\nInstall it from your distros package repositories or get it here:\nhttps://github.com/pulb/mailnag\n\nPlease also note that this version of the extension does not support avatars (as shown in the screenshot).\nIf you like to have avatar support install this extension from your distros package repositories or get a package from here:\nhttps://github.com/pulb/mailnag-gnome-shell\n\nIMPORTANT:\nI do not get notifications for user comments. Please always report bugs here:\nhttps://github.com/pulb/mailnag-gnome-shell/issues", "link": "https://extensions.gnome.org/extension/886/mailnag/", "shell_version_map": {
     "38": {"version": "20", "sha256": "15n816y34qlc7va72q75ngzw1my3n5j7xhg9a6dc0g8q4dd0g2r9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1haWwgaW5kaWNhdG9yIChHTWFpbCwgSU1BUCwgUE9QKSBmb3IgR05PTUUuXG5cblBsZWFzZSBub3RlIHRoYXQgdGhpcyBleHRlbnNpb24gcmVxdWlyZXMgdGhlIG1haWxuYWcgZGFlbW9uLlxuSW5zdGFsbCBpdCBmcm9tIHlvdXIgZGlzdHJvcyBwYWNrYWdlIHJlcG9zaXRvcmllcyBvciBnZXQgaXQgaGVyZTpcbmh0dHBzOi8vZ2l0aHViLmNvbS9wdWxiL21haWxuYWdcblxuUGxlYXNlIGFsc28gbm90ZSB0aGF0IHRoaXMgdmVyc2lvbiBvZiB0aGUgZXh0ZW5zaW9uIGRvZXMgbm90IHN1cHBvcnQgYXZhdGFycyAoYXMgc2hvd24gaW4gdGhlIHNjcmVlbnNob3QpLlxuSWYgeW91IGxpa2UgdG8gaGF2ZSBhdmF0YXIgc3VwcG9ydCBpbnN0YWxsIHRoaXMgZXh0ZW5zaW9uIGZyb20geW91ciBkaXN0cm9zIHBhY2thZ2UgcmVwb3NpdG9yaWVzIG9yIGdldCBhIHBhY2thZ2UgZnJvbSBoZXJlOlxuaHR0cHM6Ly9naXRodWIuY29tL3B1bGIvbWFpbG5hZy1nbm9tZS1zaGVsbFxuXG5JTVBPUlRBTlQ6XG5JIGRvIG5vdCBnZXQgbm90aWZpY2F0aW9ucyBmb3IgdXNlciBjb21tZW50cy4gUGxlYXNlIGFsd2F5cyByZXBvcnQgYnVncyBoZXJlOlxuaHR0cHM6Ly9naXRodWIuY29tL3B1bGIvbWFpbG5hZy1nbm9tZS1zaGVsbC9pc3N1ZXMiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJtYWlsbmFnLWdub21lLXNoZWxsIiwKICAibmFtZSI6ICJNYWlsbmFnIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm1haWxuYWciLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAibWFpbG5hZ0BwdWxiLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMjAKfQ=="},
@@ -737,7 +739,8 @@
 , {"uuid": "text-scaler@gnome-shell-extensions.mariospr.org", "name": "Text Scaler", "pname": "text-scaler", "description": "Simple extension to easily define arbitrary values for the text scaling factor", "link": "https://extensions.gnome.org/extension/1018/text-scaler/", "shell_version_map": {
     "42": {"version": "14", "sha256": "11k6gnk2riry80brvfkjx5m5x51613l8g7gpgdzigjk5krdbhc6p", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBleHRlbnNpb24gdG8gZWFzaWx5IGRlZmluZSBhcmJpdHJhcnkgdmFsdWVzIGZvciB0aGUgdGV4dCBzY2FsaW5nIGZhY3RvciIsCiAgImdldHRleHQtZG9tYWluIjogInRleHQtc2NhbGVyIiwKICAibmFtZSI6ICJUZXh0IFNjYWxlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21hcmlvc3ByL3RleHQtc2NhbGVyLWdub21lLXNoZWxsLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAidGV4dC1zY2FsZXJAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5tYXJpb3Nwci5vcmciLAogICJ2ZXJzaW9uIjogMTQKfQ=="},
     "43": {"version": "14", "sha256": "11k6gnk2riry80brvfkjx5m5x51613l8g7gpgdzigjk5krdbhc6p", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBleHRlbnNpb24gdG8gZWFzaWx5IGRlZmluZSBhcmJpdHJhcnkgdmFsdWVzIGZvciB0aGUgdGV4dCBzY2FsaW5nIGZhY3RvciIsCiAgImdldHRleHQtZG9tYWluIjogInRleHQtc2NhbGVyIiwKICAibmFtZSI6ICJUZXh0IFNjYWxlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21hcmlvc3ByL3RleHQtc2NhbGVyLWdub21lLXNoZWxsLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAidGV4dC1zY2FsZXJAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5tYXJpb3Nwci5vcmciLAogICJ2ZXJzaW9uIjogMTQKfQ=="},
-    "44": {"version": "14", "sha256": "11k6gnk2riry80brvfkjx5m5x51613l8g7gpgdzigjk5krdbhc6p", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBleHRlbnNpb24gdG8gZWFzaWx5IGRlZmluZSBhcmJpdHJhcnkgdmFsdWVzIGZvciB0aGUgdGV4dCBzY2FsaW5nIGZhY3RvciIsCiAgImdldHRleHQtZG9tYWluIjogInRleHQtc2NhbGVyIiwKICAibmFtZSI6ICJUZXh0IFNjYWxlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21hcmlvc3ByL3RleHQtc2NhbGVyLWdub21lLXNoZWxsLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAidGV4dC1zY2FsZXJAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5tYXJpb3Nwci5vcmciLAogICJ2ZXJzaW9uIjogMTQKfQ=="}
+    "44": {"version": "14", "sha256": "11k6gnk2riry80brvfkjx5m5x51613l8g7gpgdzigjk5krdbhc6p", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBleHRlbnNpb24gdG8gZWFzaWx5IGRlZmluZSBhcmJpdHJhcnkgdmFsdWVzIGZvciB0aGUgdGV4dCBzY2FsaW5nIGZhY3RvciIsCiAgImdldHRleHQtZG9tYWluIjogInRleHQtc2NhbGVyIiwKICAibmFtZSI6ICJUZXh0IFNjYWxlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21hcmlvc3ByL3RleHQtc2NhbGVyLWdub21lLXNoZWxsLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAidGV4dC1zY2FsZXJAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5tYXJpb3Nwci5vcmciLAogICJ2ZXJzaW9uIjogMTQKfQ=="},
+    "45": {"version": "16", "sha256": "0127qq7cwsr300mkvmwpll9m6dwj1xnly0z8y4djspw3rhyqrc7r", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBleHRlbnNpb24gdG8gZWFzaWx5IGRlZmluZSBhcmJpdHJhcnkgdmFsdWVzIGZvciB0aGUgdGV4dCBzY2FsaW5nIGZhY3RvciIsCiAgImdldHRleHQtZG9tYWluIjogInRleHQtc2NhbGVyIiwKICAibmFtZSI6ICJUZXh0IFNjYWxlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tYXJpb3Nwci90ZXh0LXNjYWxlci1nbm9tZS1zaGVsbC1leHRlbnNpb24iLAogICJ1dWlkIjogInRleHQtc2NhbGVyQGdub21lLXNoZWxsLWV4dGVuc2lvbnMubWFyaW9zcHIub3JnIiwKICAidmVyc2lvbiI6IDE2Cn0="}
   }}
 , {"uuid": "icinga-checker@sosulski.net", "name": "Icinga checker", "pname": "icinga-checker", "description": "Icinga/Nagios checker", "link": "https://extensions.gnome.org/extension/1029/icinga-checker/", "shell_version_map": {
     "38": {"version": "17", "sha256": "1j14ibzkqfy3zvk09nxnb9yaw4rlw7gb1nzg49h29c5cmnv57l1g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkljaW5nYS9OYWdpb3MgY2hlY2tlciIsCiAgImV4dGVuc2lvbi1pZCI6ICJpY2luZ2EtY2hlY2tlciIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJuYW1lIjogIkljaW5nYSBjaGVja2VyIiwKICAib3JpZ2luYWwtYXV0aG9yIjogInBhd2VsQHNvc3Vsc2tpLm5ldCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5pY2luZ2EtY2hlY2tlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogImljaW5nYS1jaGVja2VyQHNvc3Vsc2tpLm5ldCIsCiAgInZlcnNpb24iOiAxNwp9"},
@@ -794,7 +797,8 @@
     "41": {"version": "28", "sha256": "0kv6s72wg5ws02ixy6nddwdlinipqkr7wv549rgm4cgb73qb2mvn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgcmVzb3VyY2UgdXNhZ2UuXG5cbkxpbnV4IGRpc3RyaWJ1dGlvbiBzcGVjaWZpYyBpbnN0YWxsYXRpb24gaW5zdHJ1Y3Rpb25zIGNhbiBiZSBmb3VuZCBpbiB0aGUgd2lraSBhdCBodHRwczovL2dpdGh1Yi5jb20vZWx2ZXRlbWVkdmUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXN5c3RlbS1tb25pdG9yL3dpa2kvSW5zdGFsbGF0aW9uLlxuXG5QbGVhc2UgcmVwb3J0IGJ1Z3MgaGVyZTogaHR0cHM6Ly9naXRodWIuY29tL2VsdmV0ZW1lZHZlL2dub21lLXNoZWxsLWV4dGVuc2lvbi1zeXN0ZW0tbW9uaXRvci9pc3N1ZXMiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJTeXN0ZW1fTW9uaXRvckBiZ2hvbWUuZ21haWwuY29tIiwKICAibmFtZSI6ICJTeXN0ZW0gTW9uaXRvciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zeXN0ZW0tbW9uaXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zOCIsCiAgICAiNDAuMCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9lbHZldGVtZWR2ZS9nbm9tZS1zaGVsbC1leHRlbnNpb24tc3lzdGVtLW1vbml0b3IiLAogICJ1dWlkIjogIlN5c3RlbV9Nb25pdG9yQGJnaG9tZS5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMjgKfQ=="},
     "42": {"version": "28", "sha256": "0kv6s72wg5ws02ixy6nddwdlinipqkr7wv549rgm4cgb73qb2mvn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgcmVzb3VyY2UgdXNhZ2UuXG5cbkxpbnV4IGRpc3RyaWJ1dGlvbiBzcGVjaWZpYyBpbnN0YWxsYXRpb24gaW5zdHJ1Y3Rpb25zIGNhbiBiZSBmb3VuZCBpbiB0aGUgd2lraSBhdCBodHRwczovL2dpdGh1Yi5jb20vZWx2ZXRlbWVkdmUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXN5c3RlbS1tb25pdG9yL3dpa2kvSW5zdGFsbGF0aW9uLlxuXG5QbGVhc2UgcmVwb3J0IGJ1Z3MgaGVyZTogaHR0cHM6Ly9naXRodWIuY29tL2VsdmV0ZW1lZHZlL2dub21lLXNoZWxsLWV4dGVuc2lvbi1zeXN0ZW0tbW9uaXRvci9pc3N1ZXMiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJTeXN0ZW1fTW9uaXRvckBiZ2hvbWUuZ21haWwuY29tIiwKICAibmFtZSI6ICJTeXN0ZW0gTW9uaXRvciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zeXN0ZW0tbW9uaXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zOCIsCiAgICAiNDAuMCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9lbHZldGVtZWR2ZS9nbm9tZS1zaGVsbC1leHRlbnNpb24tc3lzdGVtLW1vbml0b3IiLAogICJ1dWlkIjogIlN5c3RlbV9Nb25pdG9yQGJnaG9tZS5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMjgKfQ=="},
     "43": {"version": "28", "sha256": "0kv6s72wg5ws02ixy6nddwdlinipqkr7wv549rgm4cgb73qb2mvn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgcmVzb3VyY2UgdXNhZ2UuXG5cbkxpbnV4IGRpc3RyaWJ1dGlvbiBzcGVjaWZpYyBpbnN0YWxsYXRpb24gaW5zdHJ1Y3Rpb25zIGNhbiBiZSBmb3VuZCBpbiB0aGUgd2lraSBhdCBodHRwczovL2dpdGh1Yi5jb20vZWx2ZXRlbWVkdmUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXN5c3RlbS1tb25pdG9yL3dpa2kvSW5zdGFsbGF0aW9uLlxuXG5QbGVhc2UgcmVwb3J0IGJ1Z3MgaGVyZTogaHR0cHM6Ly9naXRodWIuY29tL2VsdmV0ZW1lZHZlL2dub21lLXNoZWxsLWV4dGVuc2lvbi1zeXN0ZW0tbW9uaXRvci9pc3N1ZXMiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJTeXN0ZW1fTW9uaXRvckBiZ2hvbWUuZ21haWwuY29tIiwKICAibmFtZSI6ICJTeXN0ZW0gTW9uaXRvciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zeXN0ZW0tbW9uaXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zOCIsCiAgICAiNDAuMCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9lbHZldGVtZWR2ZS9nbm9tZS1zaGVsbC1leHRlbnNpb24tc3lzdGVtLW1vbml0b3IiLAogICJ1dWlkIjogIlN5c3RlbV9Nb25pdG9yQGJnaG9tZS5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMjgKfQ=="},
-    "44": {"version": "28", "sha256": "0kv6s72wg5ws02ixy6nddwdlinipqkr7wv549rgm4cgb73qb2mvn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgcmVzb3VyY2UgdXNhZ2UuXG5cbkxpbnV4IGRpc3RyaWJ1dGlvbiBzcGVjaWZpYyBpbnN0YWxsYXRpb24gaW5zdHJ1Y3Rpb25zIGNhbiBiZSBmb3VuZCBpbiB0aGUgd2lraSBhdCBodHRwczovL2dpdGh1Yi5jb20vZWx2ZXRlbWVkdmUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXN5c3RlbS1tb25pdG9yL3dpa2kvSW5zdGFsbGF0aW9uLlxuXG5QbGVhc2UgcmVwb3J0IGJ1Z3MgaGVyZTogaHR0cHM6Ly9naXRodWIuY29tL2VsdmV0ZW1lZHZlL2dub21lLXNoZWxsLWV4dGVuc2lvbi1zeXN0ZW0tbW9uaXRvci9pc3N1ZXMiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJTeXN0ZW1fTW9uaXRvckBiZ2hvbWUuZ21haWwuY29tIiwKICAibmFtZSI6ICJTeXN0ZW0gTW9uaXRvciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zeXN0ZW0tbW9uaXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zOCIsCiAgICAiNDAuMCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9lbHZldGVtZWR2ZS9nbm9tZS1zaGVsbC1leHRlbnNpb24tc3lzdGVtLW1vbml0b3IiLAogICJ1dWlkIjogIlN5c3RlbV9Nb25pdG9yQGJnaG9tZS5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMjgKfQ=="}
+    "44": {"version": "28", "sha256": "0kv6s72wg5ws02ixy6nddwdlinipqkr7wv549rgm4cgb73qb2mvn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgcmVzb3VyY2UgdXNhZ2UuXG5cbkxpbnV4IGRpc3RyaWJ1dGlvbiBzcGVjaWZpYyBpbnN0YWxsYXRpb24gaW5zdHJ1Y3Rpb25zIGNhbiBiZSBmb3VuZCBpbiB0aGUgd2lraSBhdCBodHRwczovL2dpdGh1Yi5jb20vZWx2ZXRlbWVkdmUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXN5c3RlbS1tb25pdG9yL3dpa2kvSW5zdGFsbGF0aW9uLlxuXG5QbGVhc2UgcmVwb3J0IGJ1Z3MgaGVyZTogaHR0cHM6Ly9naXRodWIuY29tL2VsdmV0ZW1lZHZlL2dub21lLXNoZWxsLWV4dGVuc2lvbi1zeXN0ZW0tbW9uaXRvci9pc3N1ZXMiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJTeXN0ZW1fTW9uaXRvckBiZ2hvbWUuZ21haWwuY29tIiwKICAibmFtZSI6ICJTeXN0ZW0gTW9uaXRvciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zeXN0ZW0tbW9uaXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zOCIsCiAgICAiNDAuMCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9lbHZldGVtZWR2ZS9nbm9tZS1zaGVsbC1leHRlbnNpb24tc3lzdGVtLW1vbml0b3IiLAogICJ1dWlkIjogIlN5c3RlbV9Nb25pdG9yQGJnaG9tZS5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMjgKfQ=="},
+    "45": {"version": "31", "sha256": "0fxj3gc5p0s84nclpxqqhdxqmlwdsm1xjmzbjncfyd1ashpx7fy1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgcmVzb3VyY2UgdXNhZ2UuXG5cbkxpbnV4IGRpc3RyaWJ1dGlvbiBzcGVjaWZpYyBpbnN0YWxsYXRpb24gaW5zdHJ1Y3Rpb25zIGNhbiBiZSBmb3VuZCBpbiB0aGUgd2lraSBhdCBodHRwczovL2dpdGh1Yi5jb20vZWx2ZXRlbWVkdmUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXN5c3RlbS1tb25pdG9yL3dpa2kvSW5zdGFsbGF0aW9uLlxuXG5QbGVhc2UgcmVwb3J0IGJ1Z3MgaGVyZTogaHR0cHM6Ly9naXRodWIuY29tL2VsdmV0ZW1lZHZlL2dub21lLXNoZWxsLWV4dGVuc2lvbi1zeXN0ZW0tbW9uaXRvci9pc3N1ZXMiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJTeXN0ZW1fTW9uaXRvckBiZ2hvbWUuZ21haWwuY29tIiwKICAibmFtZSI6ICJTeXN0ZW0gTW9uaXRvciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zeXN0ZW0tbW9uaXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9lbHZldGVtZWR2ZS9nbm9tZS1zaGVsbC1leHRlbnNpb24tc3lzdGVtLW1vbml0b3IiLAogICJ1dWlkIjogIlN5c3RlbV9Nb25pdG9yQGJnaG9tZS5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMzEKfQ=="}
   }}
 , {"uuid": "syncthing@gnome.2nv2u.com", "name": "Syncthing Indicator", "pname": "syncthing-indicator", "description": "Shell indicator for starting, monitoring and controlling the Syncthing daemon using SystemD", "link": "https://extensions.gnome.org/extension/1070/syncthing-indicator/", "shell_version_map": {
     "38": {"version": "27", "sha256": "08l9xsbndgi7v863x76q4br89gjysaxwx8rhfkcp2nwqw247wfa2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNoZWxsIGluZGljYXRvciBmb3Igc3RhcnRpbmcsIG1vbml0b3JpbmcgYW5kIGNvbnRyb2xsaW5nIHRoZSBTeW5jdGhpbmcgZGFlbW9uIHVzaW5nIFN5c3RlbUQiLAogICJuYW1lIjogIlN5bmN0aGluZyBJbmRpY2F0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS8ybnYydS9nbm9tZS1zaGVsbC1leHRlbnNpb24tc3luY3RoaW5nLWluZGljYXRvciIsCiAgInV1aWQiOiAic3luY3RoaW5nQGdub21lLjJudjJ1LmNvbSIsCiAgInZlcnNpb24iOiAyNwp9"},
@@ -1004,9 +1008,9 @@
     "41": {"version": "9", "sha256": "1ckrf3y20wp3dv4aig44rycj7kbrxj14gh3rzs17vcqma3aw76bq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNldCBkaWZmZXJlbnQgd2FsbHBhcGVyIGZvciBlYWNoIHdvcmtzcGFjZSBieSBoYXZpbmcgdGhlIHdhbGxwYXBlciBzd2l0Y2ggb24gd29ya3NwYWNlIGNoYW5nZS4iLAogICJleHRlbnNpb24taWQiOiAid2Fsa3BhcGVyIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZW5nbGlzaCIsCiAgIm5hbWUiOiAiV2Fsa3BhcGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLndhbGtwYXBlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vQmxpbmtCUC93YWxrcGFwZXIiLAogICJ1dWlkIjogIndhbGtwYXBlckB3YWxrcGFwZXIuYmxpbmticC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDkKfQ=="}
   }}
 , {"uuid": "nasa_apod@elinvention.ovh", "name": "NASA APOD Wallpaper Changer", "pname": "nasa-apod", "description": "Change your wallpaper daily to the NASA's astronomy picture of the day", "link": "https://extensions.gnome.org/extension/1202/nasa-apod/", "shell_version_map": {
-    "40": {"version": "33", "sha256": "1x0si8w2mzvb6msck3nvcgsn7day00cva58il04l9z53sj04d6b6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSB5b3VyIHdhbGxwYXBlciBkYWlseSB0byB0aGUgTkFTQSdzIGFzdHJvbm9teSBwaWN0dXJlIG9mIHRoZSBkYXkiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJuYXNhLWFwb2QiLAogICJuYW1lIjogIk5BU0EgQVBPRCBXYWxscGFwZXIgQ2hhbmdlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5uYXNhLWFwb2QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9FbGludmVudGlvbi9nbm9tZS1zaGVsbC1leHRlbnNpb24tbmFzYS1hcG9kIiwKICAidXVpZCI6ICJuYXNhX2Fwb2RAZWxpbnZlbnRpb24ub3ZoIiwKICAidmVyc2lvbiI6IDMzCn0="},
-    "41": {"version": "33", "sha256": "1x0si8w2mzvb6msck3nvcgsn7day00cva58il04l9z53sj04d6b6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSB5b3VyIHdhbGxwYXBlciBkYWlseSB0byB0aGUgTkFTQSdzIGFzdHJvbm9teSBwaWN0dXJlIG9mIHRoZSBkYXkiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJuYXNhLWFwb2QiLAogICJuYW1lIjogIk5BU0EgQVBPRCBXYWxscGFwZXIgQ2hhbmdlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5uYXNhLWFwb2QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9FbGludmVudGlvbi9nbm9tZS1zaGVsbC1leHRlbnNpb24tbmFzYS1hcG9kIiwKICAidXVpZCI6ICJuYXNhX2Fwb2RAZWxpbnZlbnRpb24ub3ZoIiwKICAidmVyc2lvbiI6IDMzCn0="},
-    "42": {"version": "33", "sha256": "1x0si8w2mzvb6msck3nvcgsn7day00cva58il04l9z53sj04d6b6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSB5b3VyIHdhbGxwYXBlciBkYWlseSB0byB0aGUgTkFTQSdzIGFzdHJvbm9teSBwaWN0dXJlIG9mIHRoZSBkYXkiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJuYXNhLWFwb2QiLAogICJuYW1lIjogIk5BU0EgQVBPRCBXYWxscGFwZXIgQ2hhbmdlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5uYXNhLWFwb2QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9FbGludmVudGlvbi9nbm9tZS1zaGVsbC1leHRlbnNpb24tbmFzYS1hcG9kIiwKICAidXVpZCI6ICJuYXNhX2Fwb2RAZWxpbnZlbnRpb24ub3ZoIiwKICAidmVyc2lvbiI6IDMzCn0="},
+    "40": {"version": "39", "sha256": "1p7k1jlbbi8ahbwi6bcscykikifdl4sr0bhl9war1m5aiasf2dk1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSB5b3VyIHdhbGxwYXBlciBkYWlseSB0byB0aGUgTkFTQSdzIGFzdHJvbm9teSBwaWN0dXJlIG9mIHRoZSBkYXkiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJuYXNhLWFwb2QiLAogICJuYW1lIjogIk5BU0EgQVBPRCBXYWxscGFwZXIgQ2hhbmdlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5uYXNhLWFwb2QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9FbGludmVudGlvbi9nbm9tZS1zaGVsbC1leHRlbnNpb24tbmFzYS1hcG9kIiwKICAidXVpZCI6ICJuYXNhX2Fwb2RAZWxpbnZlbnRpb24ub3ZoIiwKICAidmVyc2lvbiI6IDM5Cn0="},
+    "41": {"version": "39", "sha256": "1p7k1jlbbi8ahbwi6bcscykikifdl4sr0bhl9war1m5aiasf2dk1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSB5b3VyIHdhbGxwYXBlciBkYWlseSB0byB0aGUgTkFTQSdzIGFzdHJvbm9teSBwaWN0dXJlIG9mIHRoZSBkYXkiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJuYXNhLWFwb2QiLAogICJuYW1lIjogIk5BU0EgQVBPRCBXYWxscGFwZXIgQ2hhbmdlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5uYXNhLWFwb2QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9FbGludmVudGlvbi9nbm9tZS1zaGVsbC1leHRlbnNpb24tbmFzYS1hcG9kIiwKICAidXVpZCI6ICJuYXNhX2Fwb2RAZWxpbnZlbnRpb24ub3ZoIiwKICAidmVyc2lvbiI6IDM5Cn0="},
+    "42": {"version": "39", "sha256": "1p7k1jlbbi8ahbwi6bcscykikifdl4sr0bhl9war1m5aiasf2dk1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSB5b3VyIHdhbGxwYXBlciBkYWlseSB0byB0aGUgTkFTQSdzIGFzdHJvbm9teSBwaWN0dXJlIG9mIHRoZSBkYXkiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJuYXNhLWFwb2QiLAogICJuYW1lIjogIk5BU0EgQVBPRCBXYWxscGFwZXIgQ2hhbmdlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5uYXNhLWFwb2QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9FbGludmVudGlvbi9nbm9tZS1zaGVsbC1leHRlbnNpb24tbmFzYS1hcG9kIiwKICAidXVpZCI6ICJuYXNhX2Fwb2RAZWxpbnZlbnRpb24ub3ZoIiwKICAidmVyc2lvbiI6IDM5Cn0="},
     "43": {"version": "36", "sha256": "0cgjsq1m508255pnr28l7a3170iz6nh92vzzzcb9a1w6lk7wws14", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSB5b3VyIHdhbGxwYXBlciBkYWlseSB0byB0aGUgTkFTQSdzIGFzdHJvbm9teSBwaWN0dXJlIG9mIHRoZSBkYXkiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJuYXNhLWFwb2QiLAogICJuYW1lIjogIk5BU0EgQVBPRCBXYWxscGFwZXIgQ2hhbmdlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5uYXNhLWFwb2QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0VsaW52ZW50aW9uL2dub21lLXNoZWxsLWV4dGVuc2lvbi1uYXNhLWFwb2QiLAogICJ1dWlkIjogIm5hc2FfYXBvZEBlbGludmVudGlvbi5vdmgiLAogICJ2ZXJzaW9uIjogMzYKfQ=="},
     "44": {"version": "36", "sha256": "0cgjsq1m508255pnr28l7a3170iz6nh92vzzzcb9a1w6lk7wws14", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSB5b3VyIHdhbGxwYXBlciBkYWlseSB0byB0aGUgTkFTQSdzIGFzdHJvbm9teSBwaWN0dXJlIG9mIHRoZSBkYXkiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJuYXNhLWFwb2QiLAogICJuYW1lIjogIk5BU0EgQVBPRCBXYWxscGFwZXIgQ2hhbmdlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5uYXNhLWFwb2QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0VsaW52ZW50aW9uL2dub21lLXNoZWxsLWV4dGVuc2lvbi1uYXNhLWFwb2QiLAogICJ1dWlkIjogIm5hc2FfYXBvZEBlbGludmVudGlvbi5vdmgiLAogICJ2ZXJzaW9uIjogMzYKfQ=="},
     "45": {"version": "38", "sha256": "0ycjwzg7p6lsw06czbahiayfnw8s3am9mpxd2ninlirgmx95158d", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSB5b3VyIHdhbGxwYXBlciBkYWlseSB0byB0aGUgTkFTQSdzIGFzdHJvbm9teSBwaWN0dXJlIG9mIHRoZSBkYXkiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJuYXNhLWFwb2QiLAogICJuYW1lIjogIk5BU0EgQVBPRCBXYWxscGFwZXIgQ2hhbmdlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5uYXNhLWFwb2QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRWxpbnZlbnRpb24vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLW5hc2EtYXBvZCIsCiAgInV1aWQiOiAibmFzYV9hcG9kQGVsaW52ZW50aW9uLm92aCIsCiAgInZlcnNpb24iOiAzOAp9"}
@@ -1064,14 +1068,14 @@
     "42": {"version": "6", "sha256": "1zqxykbfcc11xmk201d7dgi2qy0srzcm9il0q745dh4sllz1ar9y", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlbW92ZXMgdGhlICdXaW5kb3dzIGlzIHJlYWR5JyBub3RpZmljYXRpb24gYW5kIHB1dHMgdGhlIHdpbmRvdyBpbnRvIGZvY3VzLiIsCiAgIm5hbWUiOiAiTm9Bbm5veWFuY2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMTgiLAogICAgIjMuMjAiLAogICAgIjMuMjIiLAogICAgIjMuMjQiLAogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc2luZGV4L25vLWFubm95YW5jZSIsCiAgInV1aWQiOiAibm9hbm5veWFuY2VAc2luZGV4LmNvbSIsCiAgInZlcnNpb24iOiA2Cn0="},
     "43": {"version": "6", "sha256": "1zqxykbfcc11xmk201d7dgi2qy0srzcm9il0q745dh4sllz1ar9y", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlbW92ZXMgdGhlICdXaW5kb3dzIGlzIHJlYWR5JyBub3RpZmljYXRpb24gYW5kIHB1dHMgdGhlIHdpbmRvdyBpbnRvIGZvY3VzLiIsCiAgIm5hbWUiOiAiTm9Bbm5veWFuY2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMTgiLAogICAgIjMuMjAiLAogICAgIjMuMjIiLAogICAgIjMuMjQiLAogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc2luZGV4L25vLWFubm95YW5jZSIsCiAgInV1aWQiOiAibm9hbm5veWFuY2VAc2luZGV4LmNvbSIsCiAgInZlcnNpb24iOiA2Cn0="}
   }}
-, {"uuid": "SomaFm-Radio@alireza6677.gmail.com", "name": "SomaFM internet radio", "pname": "somafm-internet-radio", "description": "Listen to SomaFm free internet radio in your GNOME desktop\n\n* Featues:\n- 32+ Channels\n- Volume slider\n- Favorites menu\n- Good sound quality\n- Supports most gnome-shell versions\n- Channel logos\n\n* Requirements:\n- Gstreamer and plugins:\nYou need to install 'gstreamer' and multimedia codecs/plugins for your distro.", "link": "https://extensions.gnome.org/extension/1237/somafm-internet-radio/", "shell_version_map": {
+, {"uuid": "SomaFm-Radio@alireza6677.gmail.com", "name": "SomaFM internet radio", "pname": "somafm-internet-radio", "description": "Listen to SomaFm free internet radio in your GNOME desktop\n\n* Featues:\n- 32+ Channels\n- Volume slider\n- Favorites menu\n- Good sound quality\n- Supports most gnome-shell versions\n- Channel logos\n- Holiday channels (only in December)\n\n* Requirements:\n- Gstreamer and plugins:\nYou need to install 'gstreamer' and multimedia codecs/plugins for your distro.", "link": "https://extensions.gnome.org/extension/1237/somafm-internet-radio/", "shell_version_map": {
     "38": {"version": "29", "sha256": "07l6sa58azf3sav6858q48cbqazavq9bflfxdn0p9ys29h6mf50c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpc3RlbiB0byBTb21hRm0gZnJlZSBpbnRlcm5ldCByYWRpbyBpbiB5b3VyIEdOT01FIGRlc2t0b3BcblxuKiBGZWF0dWVzOlxuLSAzMisgQ2hhbm5lbHNcbi0gVm9sdW1lIHNsaWRlclxuLSBGYXZvcml0ZXMgbWVudVxuLSBHb29kIHNvdW5kIHF1YWxpdHlcbi0gU3VwcG9ydHMgbW9zdCBnbm9tZS1zaGVsbCB2ZXJzaW9uc1xuLSBDaGFubmVsIGxvZ29zXG5cbiogUmVxdWlyZW1lbnRzOlxuLSBHc3RyZWFtZXIgYW5kIHBsdWdpbnM6XG5Zb3UgbmVlZCB0byBpbnN0YWxsICdnc3RyZWFtZXInIGFuZCBtdWx0aW1lZGlhIGNvZGVjcy9wbHVnaW5zIGZvciB5b3VyIGRpc3Ryby4iLAogICJuYW1lIjogIlNvbWFGTSBpbnRlcm5ldCByYWRpbyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAuMCIKICBdLAogICJ1cmwiOiAiaHR0cDovL2dpdGh1Yi5jb20vVGhlV2VpcmREZXYvc29tYWZtLXJhZGlvLWdub21lLWV4dCIsCiAgInV1aWQiOiAiU29tYUZtLVJhZGlvQGFsaXJlemE2Njc3LmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAyOQp9"},
     "40": {"version": "31", "sha256": "0f6wsvdfqzf7fpsk0rgp7rjm267xsy64ksq504krdlg9wpgammhj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpc3RlbiB0byBTb21hRm0gZnJlZSBpbnRlcm5ldCByYWRpbyBpbiB5b3VyIEdOT01FIGRlc2t0b3BcblxuKiBGZWF0dWVzOlxuLSAzMisgQ2hhbm5lbHNcbi0gVm9sdW1lIHNsaWRlclxuLSBGYXZvcml0ZXMgbWVudVxuLSBHb29kIHNvdW5kIHF1YWxpdHlcbi0gU3VwcG9ydHMgbW9zdCBnbm9tZS1zaGVsbCB2ZXJzaW9uc1xuLSBDaGFubmVsIGxvZ29zXG5cbiogUmVxdWlyZW1lbnRzOlxuLSBHc3RyZWFtZXIgYW5kIHBsdWdpbnM6XG5Zb3UgbmVlZCB0byBpbnN0YWxsICdnc3RyZWFtZXInIGFuZCBtdWx0aW1lZGlhIGNvZGVjcy9wbHVnaW5zIGZvciB5b3VyIGRpc3Ryby4iLAogICJuYW1lIjogIlNvbWFGTSBpbnRlcm5ldCByYWRpbyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwOi8vZ2l0aHViLmNvbS9UaGVXZWlyZERldi9zb21hZm0tcmFkaW8tZ25vbWUtZXh0IiwKICAidXVpZCI6ICJTb21hRm0tUmFkaW9AYWxpcmV6YTY2NzcuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDMxCn0="},
     "41": {"version": "31", "sha256": "0f6wsvdfqzf7fpsk0rgp7rjm267xsy64ksq504krdlg9wpgammhj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpc3RlbiB0byBTb21hRm0gZnJlZSBpbnRlcm5ldCByYWRpbyBpbiB5b3VyIEdOT01FIGRlc2t0b3BcblxuKiBGZWF0dWVzOlxuLSAzMisgQ2hhbm5lbHNcbi0gVm9sdW1lIHNsaWRlclxuLSBGYXZvcml0ZXMgbWVudVxuLSBHb29kIHNvdW5kIHF1YWxpdHlcbi0gU3VwcG9ydHMgbW9zdCBnbm9tZS1zaGVsbCB2ZXJzaW9uc1xuLSBDaGFubmVsIGxvZ29zXG5cbiogUmVxdWlyZW1lbnRzOlxuLSBHc3RyZWFtZXIgYW5kIHBsdWdpbnM6XG5Zb3UgbmVlZCB0byBpbnN0YWxsICdnc3RyZWFtZXInIGFuZCBtdWx0aW1lZGlhIGNvZGVjcy9wbHVnaW5zIGZvciB5b3VyIGRpc3Ryby4iLAogICJuYW1lIjogIlNvbWFGTSBpbnRlcm5ldCByYWRpbyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwOi8vZ2l0aHViLmNvbS9UaGVXZWlyZERldi9zb21hZm0tcmFkaW8tZ25vbWUtZXh0IiwKICAidXVpZCI6ICJTb21hRm0tUmFkaW9AYWxpcmV6YTY2NzcuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDMxCn0="},
     "42": {"version": "31", "sha256": "0f6wsvdfqzf7fpsk0rgp7rjm267xsy64ksq504krdlg9wpgammhj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpc3RlbiB0byBTb21hRm0gZnJlZSBpbnRlcm5ldCByYWRpbyBpbiB5b3VyIEdOT01FIGRlc2t0b3BcblxuKiBGZWF0dWVzOlxuLSAzMisgQ2hhbm5lbHNcbi0gVm9sdW1lIHNsaWRlclxuLSBGYXZvcml0ZXMgbWVudVxuLSBHb29kIHNvdW5kIHF1YWxpdHlcbi0gU3VwcG9ydHMgbW9zdCBnbm9tZS1zaGVsbCB2ZXJzaW9uc1xuLSBDaGFubmVsIGxvZ29zXG5cbiogUmVxdWlyZW1lbnRzOlxuLSBHc3RyZWFtZXIgYW5kIHBsdWdpbnM6XG5Zb3UgbmVlZCB0byBpbnN0YWxsICdnc3RyZWFtZXInIGFuZCBtdWx0aW1lZGlhIGNvZGVjcy9wbHVnaW5zIGZvciB5b3VyIGRpc3Ryby4iLAogICJuYW1lIjogIlNvbWFGTSBpbnRlcm5ldCByYWRpbyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwOi8vZ2l0aHViLmNvbS9UaGVXZWlyZERldi9zb21hZm0tcmFkaW8tZ25vbWUtZXh0IiwKICAidXVpZCI6ICJTb21hRm0tUmFkaW9AYWxpcmV6YTY2NzcuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDMxCn0="},
     "43": {"version": "31", "sha256": "0f6wsvdfqzf7fpsk0rgp7rjm267xsy64ksq504krdlg9wpgammhj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpc3RlbiB0byBTb21hRm0gZnJlZSBpbnRlcm5ldCByYWRpbyBpbiB5b3VyIEdOT01FIGRlc2t0b3BcblxuKiBGZWF0dWVzOlxuLSAzMisgQ2hhbm5lbHNcbi0gVm9sdW1lIHNsaWRlclxuLSBGYXZvcml0ZXMgbWVudVxuLSBHb29kIHNvdW5kIHF1YWxpdHlcbi0gU3VwcG9ydHMgbW9zdCBnbm9tZS1zaGVsbCB2ZXJzaW9uc1xuLSBDaGFubmVsIGxvZ29zXG5cbiogUmVxdWlyZW1lbnRzOlxuLSBHc3RyZWFtZXIgYW5kIHBsdWdpbnM6XG5Zb3UgbmVlZCB0byBpbnN0YWxsICdnc3RyZWFtZXInIGFuZCBtdWx0aW1lZGlhIGNvZGVjcy9wbHVnaW5zIGZvciB5b3VyIGRpc3Ryby4iLAogICJuYW1lIjogIlNvbWFGTSBpbnRlcm5ldCByYWRpbyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwOi8vZ2l0aHViLmNvbS9UaGVXZWlyZERldi9zb21hZm0tcmFkaW8tZ25vbWUtZXh0IiwKICAidXVpZCI6ICJTb21hRm0tUmFkaW9AYWxpcmV6YTY2NzcuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDMxCn0="},
     "44": {"version": "31", "sha256": "0f6wsvdfqzf7fpsk0rgp7rjm267xsy64ksq504krdlg9wpgammhj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpc3RlbiB0byBTb21hRm0gZnJlZSBpbnRlcm5ldCByYWRpbyBpbiB5b3VyIEdOT01FIGRlc2t0b3BcblxuKiBGZWF0dWVzOlxuLSAzMisgQ2hhbm5lbHNcbi0gVm9sdW1lIHNsaWRlclxuLSBGYXZvcml0ZXMgbWVudVxuLSBHb29kIHNvdW5kIHF1YWxpdHlcbi0gU3VwcG9ydHMgbW9zdCBnbm9tZS1zaGVsbCB2ZXJzaW9uc1xuLSBDaGFubmVsIGxvZ29zXG5cbiogUmVxdWlyZW1lbnRzOlxuLSBHc3RyZWFtZXIgYW5kIHBsdWdpbnM6XG5Zb3UgbmVlZCB0byBpbnN0YWxsICdnc3RyZWFtZXInIGFuZCBtdWx0aW1lZGlhIGNvZGVjcy9wbHVnaW5zIGZvciB5b3VyIGRpc3Ryby4iLAogICJuYW1lIjogIlNvbWFGTSBpbnRlcm5ldCByYWRpbyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwOi8vZ2l0aHViLmNvbS9UaGVXZWlyZERldi9zb21hZm0tcmFkaW8tZ25vbWUtZXh0IiwKICAidXVpZCI6ICJTb21hRm0tUmFkaW9AYWxpcmV6YTY2NzcuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDMxCn0="},
-    "45": {"version": "35", "sha256": "1vk85ranr4dyclm23gml1nszaigv170z9dfryxvj95k5i9pp4iq5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpc3RlbiB0byBTb21hRm0gZnJlZSBpbnRlcm5ldCByYWRpbyBpbiB5b3VyIEdOT01FIGRlc2t0b3BcblxuKiBGZWF0dWVzOlxuLSAzMisgQ2hhbm5lbHNcbi0gVm9sdW1lIHNsaWRlclxuLSBGYXZvcml0ZXMgbWVudVxuLSBHb29kIHNvdW5kIHF1YWxpdHlcbi0gU3VwcG9ydHMgbW9zdCBnbm9tZS1zaGVsbCB2ZXJzaW9uc1xuLSBDaGFubmVsIGxvZ29zXG5cbiogUmVxdWlyZW1lbnRzOlxuLSBHc3RyZWFtZXIgYW5kIHBsdWdpbnM6XG5Zb3UgbmVlZCB0byBpbnN0YWxsICdnc3RyZWFtZXInIGFuZCBtdWx0aW1lZGlhIGNvZGVjcy9wbHVnaW5zIGZvciB5b3VyIGRpc3Ryby4iLAogICJuYW1lIjogIlNvbWFGTSBpbnRlcm5ldCByYWRpbyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHA6Ly9naXRodWIuY29tL1RoZVdlaXJkRGV2L3NvbWFmbS1yYWRpby1nbm9tZS1leHQiLAogICJ1dWlkIjogIlNvbWFGbS1SYWRpb0BhbGlyZXphNjY3Ny5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMzUKfQ=="}
+    "45": {"version": "38", "sha256": "1j5bk8w1z5wpn5jy1zfssyiibd8c66fyqrph8k2z67jsag0dk0sj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpc3RlbiB0byBTb21hRm0gZnJlZSBpbnRlcm5ldCByYWRpbyBpbiB5b3VyIEdOT01FIGRlc2t0b3BcblxuKiBGZWF0dWVzOlxuLSAzMisgQ2hhbm5lbHNcbi0gVm9sdW1lIHNsaWRlclxuLSBGYXZvcml0ZXMgbWVudVxuLSBHb29kIHNvdW5kIHF1YWxpdHlcbi0gU3VwcG9ydHMgbW9zdCBnbm9tZS1zaGVsbCB2ZXJzaW9uc1xuLSBDaGFubmVsIGxvZ29zXG4tIEhvbGlkYXkgY2hhbm5lbHMgKG9ubHkgaW4gRGVjZW1iZXIpXG5cbiogUmVxdWlyZW1lbnRzOlxuLSBHc3RyZWFtZXIgYW5kIHBsdWdpbnM6XG5Zb3UgbmVlZCB0byBpbnN0YWxsICdnc3RyZWFtZXInIGFuZCBtdWx0aW1lZGlhIGNvZGVjcy9wbHVnaW5zIGZvciB5b3VyIGRpc3Ryby4iLAogICJuYW1lIjogIlNvbWFGTSBpbnRlcm5ldCByYWRpbyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHA6Ly9naXRodWIuY29tL1RoZVdlaXJkRGV2L3NvbWFmbS1yYWRpby1nbm9tZS1leHQiLAogICJ1dWlkIjogIlNvbWFGbS1SYWRpb0BhbGlyZXphNjY3Ny5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMzgKfQ=="}
   }}
 , {"uuid": "timepp@zagortenay333", "name": "Time++", "pname": "time", "description": "All-in-one timer, stopwatch, pomodoro, alarm, todo and time tracker\n\nThis extension has been renamed and is available at:\n\nhttps://extensions.gnome.org/extension/6003/cronomix/\n", "link": "https://extensions.gnome.org/extension/1238/time/", "shell_version_map": {
     "38": {"version": "155", "sha256": "0q3612mlccfzma6i9vs3g42xg71axach3gi7llajrlx59y5jjgb5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNhY2hlLWZpbGUtZm9ybWF0LXZlcnNpb24iOiB7CiAgICAiYWxhcm1zIjogMywKICAgICJwb21vZG9ybyI6IDMsCiAgICAic3RvcHdhdGNoIjogNCwKICAgICJ0aW1lciI6IDMsCiAgICAidG9kbyI6IDEwCiAgfSwKICAiZGVzY3JpcHRpb24iOiAiQWxsLWluLW9uZSB0aW1lciwgc3RvcHdhdGNoLCBwb21vZG9ybywgYWxhcm0sIHRvZG8gYW5kIHRpbWUgdHJhY2tlclxuXG5UaGlzIGV4dGVuc2lvbiBoYXMgYmVlbiByZW5hbWVkIGFuZCBpcyBhdmFpbGFibGUgYXQ6XG5cbmh0dHBzOi8vZXh0ZW5zaW9ucy5nbm9tZS5vcmcvZXh0ZW5zaW9uLzYwMDMvY3Jvbm9taXgvXG4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJ0aW1lcHAiLAogICJpc3N1ZXNfdXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS96YWdvcnRlbmF5MzMzL3RpbWVwcF9fZ25vbWUvaXNzdWVzIiwKICAibmFtZSI6ICJUaW1lKysiLAogICJvcmlnaW5hbC1hdXRob3IiOiAiaHR0cHM6Ly9naXRodWIuY29tL3phZ29ydGVuYXkzMzMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidHJhbnNsYXRpb25zX3VybCI6ICJodHRwczovL2dpdGh1Yi5jb20vemFnb3J0ZW5heTMzMy90aW1lcHBfX2dub21lL3RyZWUvbWFzdGVyL2RhdGEvcG9fZmlsZXMiLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3phZ29ydGVuYXkzMzMvY3Jvbm9taXgiLAogICJ1dWlkIjogInRpbWVwcEB6YWdvcnRlbmF5MzMzIiwKICAidmVyc2lvbiI6IDE1NQp9"},
@@ -1249,14 +1253,14 @@
 , {"uuid": "files-view@argonauta.framagit.org", "name": "Files View", "pname": "files-view", "description": "", "link": "https://extensions.gnome.org/extension/1395/files-view/", "shell_version_map": {
     "38": {"version": "11", "sha256": "0367kzrpzbx1b2l1m68n2pmazlsy4207a1anvyr2n1a4xpq3vwb0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIiIsCiAgImdldHRleHQtZG9tYWluIjogImZpbGVzLXZpZXciLAogICJuYW1lIjogIkZpbGVzIFZpZXciLAogICJyZWNlbnRseS1vcGVuLXBlcnNpc3RlbnQtZmlsZW5hbWUiOiAicmVjZW50bHktb3Blbi1mb2xkZXJzLWZpbGVzLXZpZXctZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLmpzb24iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZmlsZXMtdmlldyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJmaWxlcy12aWV3QGFyZ29uYXV0YS5mcmFtYWdpdC5vcmciLAogICJ2ZXJzaW9uIjogMTEKfQ=="}
   }}
-, {"uuid": "bluetooth-quick-connect@bjarosze.gmail.com", "name": "Bluetooth Quick Connect", "pname": "bluetooth-quick-connect", "description": "Allow to connect to paired devices from gnome control panel.\n", "link": "https://extensions.gnome.org/extension/1401/bluetooth-quick-connect/", "shell_version_map": {
+, {"uuid": "bluetooth-quick-connect@bjarosze.gmail.com", "name": "Bluetooth Quick Connect", "pname": "bluetooth-quick-connect", "description": "This extension allows paired Bluetooth devices to be connected and disconnected via the GNOME system menu, Shows battery status and more.\n", "link": "https://extensions.gnome.org/extension/1401/bluetooth-quick-connect/", "shell_version_map": {
     "38": {"version": "16", "sha256": "1fkx12xx1m8pchyfvq0vmyd21m79s9s0jw4ackqg1nqcpwyqd1c3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93IHRvIGNvbm5lY3QgdG8gcGFpcmVkIGRldmljZXMgZnJvbSBnbm9tZSBjb250cm9sIHBhbmVsLlxuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiYmx1ZXRvb3RoLXF1aWNrLWNvbm5lY3QiLAogICJuYW1lIjogIkJsdWV0b290aCBRdWljayBDb25uZWN0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmJsdWV0b290aC1xdWljay1jb25uZWN0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYmphcm9zemUvZ25vbWUtYmx1ZXRvb3RoLXF1aWNrLWNvbm5lY3QiLAogICJ1dWlkIjogImJsdWV0b290aC1xdWljay1jb25uZWN0QGJqYXJvc3plLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAxNgp9"},
     "40": {"version": "34", "sha256": "0yv1igdh95s70jrqz3y6p0135a2yzzsjvqm2l2lg81qkfms6jk3k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93IHRvIGNvbm5lY3QgdG8gcGFpcmVkIGRldmljZXMgZnJvbSBnbm9tZSBjb250cm9sIHBhbmVsLlxuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiYmx1ZXRvb3RoLXF1aWNrLWNvbm5lY3QiLAogICJuYW1lIjogIkJsdWV0b290aCBRdWljayBDb25uZWN0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmJsdWV0b290aC1xdWljay1jb25uZWN0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2JqYXJvc3plL2dub21lLWJsdWV0b290aC1xdWljay1jb25uZWN0IiwKICAidXVpZCI6ICJibHVldG9vdGgtcXVpY2stY29ubmVjdEBiamFyb3N6ZS5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMzQKfQ=="},
     "41": {"version": "34", "sha256": "0yv1igdh95s70jrqz3y6p0135a2yzzsjvqm2l2lg81qkfms6jk3k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93IHRvIGNvbm5lY3QgdG8gcGFpcmVkIGRldmljZXMgZnJvbSBnbm9tZSBjb250cm9sIHBhbmVsLlxuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiYmx1ZXRvb3RoLXF1aWNrLWNvbm5lY3QiLAogICJuYW1lIjogIkJsdWV0b290aCBRdWljayBDb25uZWN0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmJsdWV0b290aC1xdWljay1jb25uZWN0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2JqYXJvc3plL2dub21lLWJsdWV0b290aC1xdWljay1jb25uZWN0IiwKICAidXVpZCI6ICJibHVldG9vdGgtcXVpY2stY29ubmVjdEBiamFyb3N6ZS5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMzQKfQ=="},
     "42": {"version": "34", "sha256": "0yv1igdh95s70jrqz3y6p0135a2yzzsjvqm2l2lg81qkfms6jk3k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93IHRvIGNvbm5lY3QgdG8gcGFpcmVkIGRldmljZXMgZnJvbSBnbm9tZSBjb250cm9sIHBhbmVsLlxuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiYmx1ZXRvb3RoLXF1aWNrLWNvbm5lY3QiLAogICJuYW1lIjogIkJsdWV0b290aCBRdWljayBDb25uZWN0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmJsdWV0b290aC1xdWljay1jb25uZWN0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2JqYXJvc3plL2dub21lLWJsdWV0b290aC1xdWljay1jb25uZWN0IiwKICAidXVpZCI6ICJibHVldG9vdGgtcXVpY2stY29ubmVjdEBiamFyb3N6ZS5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMzQKfQ=="},
     "43": {"version": "34", "sha256": "0yv1igdh95s70jrqz3y6p0135a2yzzsjvqm2l2lg81qkfms6jk3k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93IHRvIGNvbm5lY3QgdG8gcGFpcmVkIGRldmljZXMgZnJvbSBnbm9tZSBjb250cm9sIHBhbmVsLlxuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiYmx1ZXRvb3RoLXF1aWNrLWNvbm5lY3QiLAogICJuYW1lIjogIkJsdWV0b290aCBRdWljayBDb25uZWN0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmJsdWV0b290aC1xdWljay1jb25uZWN0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2JqYXJvc3plL2dub21lLWJsdWV0b290aC1xdWljay1jb25uZWN0IiwKICAidXVpZCI6ICJibHVldG9vdGgtcXVpY2stY29ubmVjdEBiamFyb3N6ZS5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMzQKfQ=="},
     "44": {"version": "37", "sha256": "0ydch21gzvndvbr7hlhps4l6gcncd6whdswf8rj23axl4q1smx4w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93IHRvIGNvbm5lY3QgdG8gcGFpcmVkIGRldmljZXMgZnJvbSBnbm9tZSBjb250cm9sIHBhbmVsLlxuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiYmx1ZXRvb3RoLXF1aWNrLWNvbm5lY3QiLAogICJuYW1lIjogIkJsdWV0b290aCBRdWljayBDb25uZWN0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmJsdWV0b290aC1xdWljay1jb25uZWN0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2JqYXJvc3plL2dub21lLWJsdWV0b290aC1xdWljay1jb25uZWN0IiwKICAidXVpZCI6ICJibHVldG9vdGgtcXVpY2stY29ubmVjdEBiamFyb3N6ZS5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMzcKfQ=="},
-    "45": {"version": "40", "sha256": "1s7hhgnrxzkyy8ksynwvhwp7xp1rv2lick82h4w3zg5vpqhd8a2m", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93IHRvIGNvbm5lY3QgdG8gcGFpcmVkIGRldmljZXMgZnJvbSBnbm9tZSBjb250cm9sIHBhbmVsLlxuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiYmx1ZXRvb3RoLXF1aWNrLWNvbm5lY3QiLAogICJuYW1lIjogIkJsdWV0b290aCBRdWljayBDb25uZWN0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmJsdWV0b290aC1xdWljay1jb25uZWN0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0V4dGVuc2lvbnMtVmFsaGFsbGEvZ25vbWUtYmx1ZXRvb3RoLXF1aWNrLWNvbm5lY3QiLAogICJ1dWlkIjogImJsdWV0b290aC1xdWljay1jb25uZWN0QGJqYXJvc3plLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiA0MAp9"}
+    "45": {"version": "42", "sha256": "1h8hp5gnxmcpawmarqpj9lin0hm95k0nh3wd1vxgx29hmw8yc2y2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGFsbG93cyBwYWlyZWQgQmx1ZXRvb3RoIGRldmljZXMgdG8gYmUgY29ubmVjdGVkIGFuZCBkaXNjb25uZWN0ZWQgdmlhIHRoZSBHTk9NRSBzeXN0ZW0gbWVudSwgU2hvd3MgYmF0dGVyeSBzdGF0dXMgYW5kIG1vcmUuXG4iLAogICJkb25hdGlvbnMiOiB7CiAgICAiZ2l0aHViIjogIkJsYW5rUGFydGljbGUiCiAgfSwKICAiZ2V0dGV4dC1kb21haW4iOiAiYmx1ZXRvb3RoLXF1aWNrLWNvbm5lY3QiLAogICJuYW1lIjogIkJsdWV0b290aCBRdWljayBDb25uZWN0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmJsdWV0b290aC1xdWljay1jb25uZWN0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0V4dGVuc2lvbnMtVmFsaGFsbGEvZ25vbWUtYmx1ZXRvb3RoLXF1aWNrLWNvbm5lY3QiLAogICJ1dWlkIjogImJsdWV0b290aC1xdWljay1jb25uZWN0QGJqYXJvc3plLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiA0Mgp9"}
   }}
 , {"uuid": "syspeek-gs@gs.eros2.info", "name": "SysPeek-GS", "pname": "syspeek-gs", "description": "Minimalistic CPU load monitor widget inspired by SysPeek indicator", "link": "https://extensions.gnome.org/extension/1409/syspeek-gs/", "shell_version_map": {
     "38": {"version": "12", "sha256": "0bdspqf9vyhfv9rcj1xz9jkswh4gy3laj2vhnfsl64skfp2c8qsl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1pbmltYWxpc3RpYyBDUFUgbG9hZCBtb25pdG9yIHdpZGdldCBpbnNwaXJlZCBieSBTeXNQZWVrIGluZGljYXRvciIsCiAgIm5hbWUiOiAiU3lzUGVlay1HUyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZXVnZW5lLXJvbS9zeXNwZWVrLWdzIiwKICAidXVpZCI6ICJzeXNwZWVrLWdzQGdzLmVyb3MyLmluZm8iLAogICJ2ZXJzaW9uIjogMTIKfQ=="},
@@ -1653,13 +1657,14 @@
     "43": {"version": "4", "sha256": "1ps75ilgnlspimsxgwc0j1yfbfxp6qp8is4g9kg7k3c5n9dzlp8z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYW5zcGFyZW50IFRvcGJhciB3aXRoIE11bHRpIG1vbml0b3JzIHN1cHBvcnQiLAogICJuYW1lIjogIlRyYW5zcGFyZW50IFRvcGJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZXNvcmlvL3RyYW5zcGFyZW50LXRvcGJhciIsCiAgInV1aWQiOiAiVHJhbnNwYXJlbnRUb3BiYXJAZW5yaWNvLnNvcmlvLm5ldCIsCiAgInZlcnNpb24iOiA0Cn0="},
     "44": {"version": "4", "sha256": "1ps75ilgnlspimsxgwc0j1yfbfxp6qp8is4g9kg7k3c5n9dzlp8z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYW5zcGFyZW50IFRvcGJhciB3aXRoIE11bHRpIG1vbml0b3JzIHN1cHBvcnQiLAogICJuYW1lIjogIlRyYW5zcGFyZW50IFRvcGJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZXNvcmlvL3RyYW5zcGFyZW50LXRvcGJhciIsCiAgInV1aWQiOiAiVHJhbnNwYXJlbnRUb3BiYXJAZW5yaWNvLnNvcmlvLm5ldCIsCiAgInZlcnNpb24iOiA0Cn0="}
   }}
-, {"uuid": "colortint@matt.serverus.co.uk", "name": "ColorTint", "pname": "colortint", "description": "Tint your desktop with a color of your choice to help with dyslexia, scopic sensitivity, and related conditions.", "link": "https://extensions.gnome.org/extension/1789/colortint/", "shell_version_map": {
+, {"uuid": "colortint@matt.serverus.co.uk", "name": "ColorTint", "pname": "colortint", "description": "Tint your desktop with a color of your choice to help with dyslexia, scopic sensitivity, and related conditions.\n\nPlease make feature requests and bug reports on GitHub\n", "link": "https://extensions.gnome.org/extension/1789/colortint/", "shell_version_map": {
     "38": {"version": "14", "sha256": "09ayk3xwywbisgazhfnzv0ka0xpakskjqa6g4awkwrjdlxd450rs", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbnQgeW91ciBkZXNrdG9wIHdpdGggYSBjb2xvciBvZiB5b3VyIGNob2ljZSB0byBoZWxwIHdpdGggZHlzbGV4aWEsIHNjb3BpYyBzZW5zaXRpdml0eSwgYW5kIHJlbGF0ZWQgY29uZGl0aW9ucy4iLAogICJuYW1lIjogIkNvbG9yVGludCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9NYXR0QnlOYW1lL2NvbG9yLXRpbnQiLAogICJ1dWlkIjogImNvbG9ydGludEBtYXR0LnNlcnZlcnVzLmNvLnVrIiwKICAidmVyc2lvbiI6IDE0Cn0="},
     "40": {"version": "14", "sha256": "09ayk3xwywbisgazhfnzv0ka0xpakskjqa6g4awkwrjdlxd450rs", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbnQgeW91ciBkZXNrdG9wIHdpdGggYSBjb2xvciBvZiB5b3VyIGNob2ljZSB0byBoZWxwIHdpdGggZHlzbGV4aWEsIHNjb3BpYyBzZW5zaXRpdml0eSwgYW5kIHJlbGF0ZWQgY29uZGl0aW9ucy4iLAogICJuYW1lIjogIkNvbG9yVGludCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9NYXR0QnlOYW1lL2NvbG9yLXRpbnQiLAogICJ1dWlkIjogImNvbG9ydGludEBtYXR0LnNlcnZlcnVzLmNvLnVrIiwKICAidmVyc2lvbiI6IDE0Cn0="},
     "41": {"version": "14", "sha256": "09ayk3xwywbisgazhfnzv0ka0xpakskjqa6g4awkwrjdlxd450rs", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbnQgeW91ciBkZXNrdG9wIHdpdGggYSBjb2xvciBvZiB5b3VyIGNob2ljZSB0byBoZWxwIHdpdGggZHlzbGV4aWEsIHNjb3BpYyBzZW5zaXRpdml0eSwgYW5kIHJlbGF0ZWQgY29uZGl0aW9ucy4iLAogICJuYW1lIjogIkNvbG9yVGludCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9NYXR0QnlOYW1lL2NvbG9yLXRpbnQiLAogICJ1dWlkIjogImNvbG9ydGludEBtYXR0LnNlcnZlcnVzLmNvLnVrIiwKICAidmVyc2lvbiI6IDE0Cn0="},
     "42": {"version": "19", "sha256": "1rn5w2gf4s1wr2lwa65l4xf9kxk821f2nm956ava4ci4kamv7qnv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbnQgeW91ciBkZXNrdG9wIHdpdGggYSBjb2xvciBvZiB5b3VyIGNob2ljZSB0byBoZWxwIHdpdGggZHlzbGV4aWEsIHNjb3BpYyBzZW5zaXRpdml0eSwgYW5kIHJlbGF0ZWQgY29uZGl0aW9ucy4iLAogICJkb25hdGlvbnMiOiB7CiAgICAia29maSI6ICJtYXR0YnluYW1lIgogIH0sCiAgIm5hbWUiOiAiQ29sb3JUaW50IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmNvbG9ydGludCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL01hdHRCeU5hbWUvY29sb3ItdGludCIsCiAgInV1aWQiOiAiY29sb3J0aW50QG1hdHQuc2VydmVydXMuY28udWsiLAogICJ2ZXJzaW9uIjogMTkKfQ=="},
     "43": {"version": "19", "sha256": "1rn5w2gf4s1wr2lwa65l4xf9kxk821f2nm956ava4ci4kamv7qnv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbnQgeW91ciBkZXNrdG9wIHdpdGggYSBjb2xvciBvZiB5b3VyIGNob2ljZSB0byBoZWxwIHdpdGggZHlzbGV4aWEsIHNjb3BpYyBzZW5zaXRpdml0eSwgYW5kIHJlbGF0ZWQgY29uZGl0aW9ucy4iLAogICJkb25hdGlvbnMiOiB7CiAgICAia29maSI6ICJtYXR0YnluYW1lIgogIH0sCiAgIm5hbWUiOiAiQ29sb3JUaW50IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmNvbG9ydGludCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL01hdHRCeU5hbWUvY29sb3ItdGludCIsCiAgInV1aWQiOiAiY29sb3J0aW50QG1hdHQuc2VydmVydXMuY28udWsiLAogICJ2ZXJzaW9uIjogMTkKfQ=="},
-    "44": {"version": "19", "sha256": "1rn5w2gf4s1wr2lwa65l4xf9kxk821f2nm956ava4ci4kamv7qnv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbnQgeW91ciBkZXNrdG9wIHdpdGggYSBjb2xvciBvZiB5b3VyIGNob2ljZSB0byBoZWxwIHdpdGggZHlzbGV4aWEsIHNjb3BpYyBzZW5zaXRpdml0eSwgYW5kIHJlbGF0ZWQgY29uZGl0aW9ucy4iLAogICJkb25hdGlvbnMiOiB7CiAgICAia29maSI6ICJtYXR0YnluYW1lIgogIH0sCiAgIm5hbWUiOiAiQ29sb3JUaW50IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmNvbG9ydGludCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL01hdHRCeU5hbWUvY29sb3ItdGludCIsCiAgInV1aWQiOiAiY29sb3J0aW50QG1hdHQuc2VydmVydXMuY28udWsiLAogICJ2ZXJzaW9uIjogMTkKfQ=="}
+    "44": {"version": "19", "sha256": "1rn5w2gf4s1wr2lwa65l4xf9kxk821f2nm956ava4ci4kamv7qnv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbnQgeW91ciBkZXNrdG9wIHdpdGggYSBjb2xvciBvZiB5b3VyIGNob2ljZSB0byBoZWxwIHdpdGggZHlzbGV4aWEsIHNjb3BpYyBzZW5zaXRpdml0eSwgYW5kIHJlbGF0ZWQgY29uZGl0aW9ucy4iLAogICJkb25hdGlvbnMiOiB7CiAgICAia29maSI6ICJtYXR0YnluYW1lIgogIH0sCiAgIm5hbWUiOiAiQ29sb3JUaW50IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmNvbG9ydGludCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL01hdHRCeU5hbWUvY29sb3ItdGludCIsCiAgInV1aWQiOiAiY29sb3J0aW50QG1hdHQuc2VydmVydXMuY28udWsiLAogICJ2ZXJzaW9uIjogMTkKfQ=="},
+    "45": {"version": "21", "sha256": "11cbfis71ya4zlpbvfwv23lbxhhvdq1xxk5f35zyr58y7wsjpl5d", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbnQgeW91ciBkZXNrdG9wIHdpdGggYSBjb2xvciBvZiB5b3VyIGNob2ljZSB0byBoZWxwIHdpdGggZHlzbGV4aWEsIHNjb3BpYyBzZW5zaXRpdml0eSwgYW5kIHJlbGF0ZWQgY29uZGl0aW9ucy4iLAogICJkb25hdGlvbnMiOiB7CiAgICAia29maSI6ICJtYXR0YnluYW1lIgogIH0sCiAgIm5hbWUiOiAiQ29sb3JUaW50IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmNvbG9ydGludCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9NYXR0QnlOYW1lL2NvbG9yLXRpbnQiLAogICJ1dWlkIjogImNvbG9ydGludEBtYXR0LnNlcnZlcnVzLmNvLnVrIiwKICAidmVyc2lvbiI6IDIxCn0="}
   }}
 , {"uuid": "sermon@rovellipaolo-gmail.com", "name": "SerMon: Service Monitor", "pname": "sermon", "description": "SerMon: an extension for monitoring and managing systemd services, cron jobs, docker and podman containers", "link": "https://extensions.gnome.org/extension/1804/sermon/", "shell_version_map": {
     "38": {"version": "27", "sha256": "0v7wh402s7g9ikavlma27yfx4ijy14qzay0lklrn4v0z0mfkznsy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNlck1vbjogYW4gZXh0ZW5zaW9uIGZvciBtb25pdG9yaW5nIGFuZCBtYW5hZ2luZyBzeXN0ZW1kIHNlcnZpY2VzLCBjcm9uIGpvYnMsIGRvY2tlciBhbmQgcG9kbWFuIGNvbnRhaW5lcnMiLAogICJuYW1lIjogIlNlck1vbjogU2VydmljZSBNb25pdG9yIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNlcm1vbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcm92ZWxsaXBhb2xvL2dub21lLXNoZWxsLWV4dGVuc2lvbi1zZXJtb24iLAogICJ1dWlkIjogInNlcm1vbkByb3ZlbGxpcGFvbG8tZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDI3Cn0="},
@@ -2096,7 +2101,7 @@
     "42": {"version": "29", "sha256": "18b945hcy8a13dm0s2d1x9dc6d8b2pxgmhaqshk8wbcmxjwiv866", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJyaW5nIE91dCBTdWJtZW51IE9mIFBvd2VyIE9mZi9Mb2dvdXQgQnV0dG9uIGFuZCBSZWFycmFuZ2UgdGhlIE9yZGVyIG9mIFN5c3RlbSBNZW51LiIsCiAgIm5hbWUiOiAiQnJpbmcgT3V0IFN1Ym1lbnUgT2YgUG93ZXIgT2ZmL0xvZ291dCBCdXR0b24iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYnJuZ291dCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1BSQVRBUC1LVU1BUi9CcmluZy1PdXQtU3VibWVudS1vZi1Qb3dlci1PZmYtTG9nb3V0IiwKICAidXVpZCI6ICJCcmluZ091dFN1Ym1lbnVPZlBvd2VyT2ZmTG9nb3V0QnV0dG9uQHByYXRhcC5mYXN0bWFpbC5mbSIsCiAgInZlcnNpb24iOiAyOQp9"},
     "43": {"version": "37", "sha256": "1v8mwc6sy99mnxqzpcgrnc06sdnnm6digwpn6yk7prsfgygpd00i", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJyaW5nIE91dCBTdWJtZW51IE9mIFBvd2VyIE9mZi9Mb2dvdXQgQnV0dG9uIGFuZCBSZWFycmFuZ2UgdGhlIE9yZGVyIG9mIFN5c3RlbSBNZW51LiIsCiAgIm5hbWUiOiAiQnJpbmcgT3V0IFN1Ym1lbnUgT2YgUG93ZXIgT2ZmL0xvZ291dCBCdXR0b24iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYnJuZ291dCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9QUkFUQVAtS1VNQVIvQnJpbmctT3V0LVN1Ym1lbnUtb2YtUG93ZXItT2ZmLUxvZ291dCIsCiAgInV1aWQiOiAiQnJpbmdPdXRTdWJtZW51T2ZQb3dlck9mZkxvZ291dEJ1dHRvbkBwcmF0YXAuZmFzdG1haWwuZm0iLAogICJ2ZXJzaW9uIjogMzcKfQ=="},
     "44": {"version": "43", "sha256": "1s49pdsab7qw4g14b3ghns2jlsi7h97zz9k9fiqpy4ff6mk41kni", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJyaW5nIE91dCBTdWJtZW51IE9mIFBvd2VyIE9mZi9Mb2dvdXQgQnV0dG9uIGFuZCBSZWFycmFuZ2UgdGhlIE9yZGVyIG9mIFN5c3RlbSBNZW51LiIsCiAgIm5hbWUiOiAiQnJpbmcgT3V0IFN1Ym1lbnUgT2YgUG93ZXIgT2ZmL0xvZ291dCBCdXR0b24iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYnJuZ291dCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9QUkFUQVAtS1VNQVIvQnJpbmctT3V0LVN1Ym1lbnUtb2YtUG93ZXItT2ZmLUxvZ291dCIsCiAgInV1aWQiOiAiQnJpbmdPdXRTdWJtZW51T2ZQb3dlck9mZkxvZ291dEJ1dHRvbkBwcmF0YXAuZmFzdG1haWwuZm0iLAogICJ2ZXJzaW9uIjogNDMKfQ=="},
-    "45": {"version": "51", "sha256": "08zdg1hprkpb2ny1zv7pa2jwbijfcpym3yxvmbz5i6svj3nivprq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJyaW5nIE91dCBTdWJtZW51IE9mIFBvd2VyIE9mZiBCdXR0b24iLAogICJkb25hdGlvbnMiOiB7CiAgICAiYnV5bWVhY29mZmVlIjogInByYXRhcHBhbmFiYWthIiwKICAgICJwYXlwYWwiOiAicHJhdGFwcGFuYWJha2EiCiAgfSwKICAibmFtZSI6ICJCcmluZyBPdXQgU3VibWVudSBPZiBQb3dlciBPZmYgQnV0dG9uIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmJyaW5nLW91dC1zdWJtZW51LW9mLXBvd2VyLW9mZi1sb2dvdXQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vUFJBVEFQLUtVTUFSL2JyaW5nLW91dC1zdWJtZW51LW9mLXBvd2VyLW9mZi1sb2dvdXQiLAogICJ1dWlkIjogIkJyaW5nT3V0U3VibWVudU9mUG93ZXJPZmZMb2dvdXRCdXR0b25AcHJhdGFwLmZhc3RtYWlsLmZtIiwKICAidmVyc2lvbiI6IDUxCn0="}
+    "45": {"version": "52", "sha256": "1hb3qabkyzglcswd1ilxzd7bjqwqj5b71nrzsali0l1bvhh3l64m", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJyaW5nIE91dCBTdWJtZW51IE9mIFBvd2VyIE9mZiBCdXR0b24iLAogICJkb25hdGlvbnMiOiB7CiAgICAiYnV5bWVhY29mZmVlIjogInByYXRhcHBhbmFiYWthIiwKICAgICJwYXlwYWwiOiAicHJhdGFwcGFuYWJha2EiCiAgfSwKICAibmFtZSI6ICJCcmluZyBPdXQgU3VibWVudSBPZiBQb3dlciBPZmYgQnV0dG9uIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmJyaW5nLW91dC1zdWJtZW51LW9mLXBvd2VyLW9mZi1sb2dvdXQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vUFJBVEFQLUtVTUFSL2JyaW5nLW91dC1zdWJtZW51LW9mLXBvd2VyLW9mZi1sb2dvdXQiLAogICJ1dWlkIjogIkJyaW5nT3V0U3VibWVudU9mUG93ZXJPZmZMb2dvdXRCdXR0b25AcHJhdGFwLmZhc3RtYWlsLmZtIiwKICAidmVyc2lvbiI6IDUyCn0="}
   }}
 , {"uuid": "batterytimepercentagecompact@sagrland.de", "name": "Battery Time (Percentage) Compact", "pname": "battery-time-percentage-compact", "description": "Show the remaining time until fully charged/discharged as well as percentage of battery charge in the panel.", "link": "https://extensions.gnome.org/extension/2929/battery-time-percentage-compact/", "shell_version_map": {
     "38": {"version": "8", "sha256": "143gj2xmi1hhma2fjggk6vaq3sx7p0glszayds1jbnz7003xc89q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgdGhlIHJlbWFpbmluZyB0aW1lIHVudGlsIGZ1bGx5IGNoYXJnZWQvZGlzY2hhcmdlZCBhcyB3ZWxsIGFzIHBlcmNlbnRhZ2Ugb2YgYmF0dGVyeSBjaGFyZ2UgaW4gdGhlIHBhbmVsLiIsCiAgImdldHRleHQtZG9tYWluIjogImJhdHRlcnl0aW1lcGVyY2VudGFnZWNvbXBhY3QiLAogICJuYW1lIjogIkJhdHRlcnkgVGltZSAoUGVyY2VudGFnZSkgQ29tcGFjdCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5iYXR0ZXJ5dGltZXBlcmNlbnRhZ2Vjb21wYWN0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vU2FHckxhbmQvZ25vbWUtc2hlbGwtYmF0dGVyeS10aW1lLXBlcmNlbnRhZ2UtY29tcGFjdCIsCiAgInV1aWQiOiAiYmF0dGVyeXRpbWVwZXJjZW50YWdlY29tcGFjdEBzYWdybGFuZC5kZSIsCiAgInZlcnNpb24iOiA4Cn0="},
@@ -2171,7 +2176,7 @@
     "42": {"version": "11", "sha256": "0p0crv91n0lals20hkrvivj00yhsadkwy9s2bfdyzmk6slwa35rb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxlbm92byBJZGVhUGFkIGdvb2RpZXMgZm9yIEdub21lIFNoZWxsXG5cbkF0IHRoZSBtb21lbnQgdGhlIGV4dGVuc2lvbiBvbmx5IHByb3ZpZGVzIGFuIGVhc3kgYW5kIHVzZXItZnJpZW5kbHkgd2F5IHRvIHRvZ2dsZSBiYXR0ZXJ5IGNvbnNlcnZhdGlvbiBtb2RlIGF2YWlsYWJsZSBvbiBMZXZvbm8gSWRlYXBhZCBsYXB0b3BzIGFuZCB2aXN1YWxseSBnZXQgaXRzIGN1cnJlbnQgc3RhdGUuXG5cbkNvbmZpZ3VyYXRpb24gbmVlZGVkISBQbGVhc2UgY2hlY2sgdGhlIGluc3RydWN0aW9uIG9uIHRoZSBob21lcGFnZS4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJpZGVhcGFkIiwKICAibmFtZSI6ICJJZGVhUGFkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbGF1cmVudG8vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWlkZWFwYWQiLAogICJ1dWlkIjogImlkZWFwYWRAbGF1cmVudG8uZnJpdHRlbGxhIiwKICAidmVyc2lvbiI6IDExCn0="},
     "43": {"version": "12", "sha256": "1z9n3qfr129ismgzw7nwgmq0gwjwf7y7lzq7mcdw0dc227gkxww3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxlbm92byBJZGVhUGFkIGdvb2RpZXMgZm9yIEdub21lIFNoZWxsXG5cbkF0IHRoZSBtb21lbnQgdGhlIGV4dGVuc2lvbiBvbmx5IHByb3ZpZGVzIGFuIGVhc3kgYW5kIHVzZXItZnJpZW5kbHkgd2F5IHRvIHRvZ2dsZSBiYXR0ZXJ5IGNvbnNlcnZhdGlvbiBtb2RlIGF2YWlsYWJsZSBvbiBMZXZvbm8gSWRlYXBhZCBsYXB0b3BzIGFuZCB2aXN1YWxseSBnZXQgaXRzIGN1cnJlbnQgc3RhdGUuXG5cbkNvbmZpZ3VyYXRpb24gbmVlZGVkISBQbGVhc2UgY2hlY2sgdGhlIGluc3RydWN0aW9uIG9uIHRoZSBob21lcGFnZS4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJpZGVhcGFkIiwKICAibmFtZSI6ICJJZGVhUGFkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2xhdXJlbnRvL2dub21lLXNoZWxsLWV4dGVuc2lvbi1pZGVhcGFkIiwKICAidXVpZCI6ICJpZGVhcGFkQGxhdXJlbnRvLmZyaXR0ZWxsYSIsCiAgInZlcnNpb24iOiAxMgp9"},
     "44": {"version": "14", "sha256": "1s5nzq74q4zvb3mmzrxkzlwb24m520c3yssddgwkqx956xi0h743", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxlbm92byBJZGVhUGFkIGdvb2RpZXMgZm9yIEdub21lIFNoZWxsXG5cbkF0IHRoZSBtb21lbnQgdGhlIGV4dGVuc2lvbiBvbmx5IHByb3ZpZGVzIGFuIGVhc3kgYW5kIHVzZXItZnJpZW5kbHkgd2F5IHRvIHRvZ2dsZSBiYXR0ZXJ5IGNvbnNlcnZhdGlvbiBtb2RlIGF2YWlsYWJsZSBvbiBMZXZvbm8gSWRlYXBhZCBsYXB0b3BzIGFuZCB2aXN1YWxseSBnZXQgaXRzIGN1cnJlbnQgc3RhdGUuXG5cbkNvbmZpZ3VyYXRpb24gbmVlZGVkISBQbGVhc2UgY2hlY2sgdGhlIGluc3RydWN0aW9uIG9uIHRoZSBob21lcGFnZS4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJpZGVhcGFkIiwKICAibmFtZSI6ICJJZGVhUGFkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2xhdXJlbnRvL2dub21lLXNoZWxsLWV4dGVuc2lvbi1pZGVhcGFkIiwKICAidXVpZCI6ICJpZGVhcGFkQGxhdXJlbnRvLmZyaXR0ZWxsYSIsCiAgInZlcnNpb24iOiAxNAp9"},
-    "45": {"version": "16", "sha256": "0g1r22vb3ls5mgdiq77qvw4lvs93n4h2ii87gcw3kf4drrhlsqng", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxlbm92byBJZGVhUGFkIGdvb2RpZXMgZm9yIEdub21lIFNoZWxsXG5cbkF0IHRoZSBtb21lbnQgdGhlIGV4dGVuc2lvbiBvbmx5IHByb3ZpZGVzIGFuIGVhc3kgYW5kIHVzZXItZnJpZW5kbHkgd2F5IHRvIHRvZ2dsZSBiYXR0ZXJ5IGNvbnNlcnZhdGlvbiBtb2RlIGF2YWlsYWJsZSBvbiBMZXZvbm8gSWRlYXBhZCBsYXB0b3BzIGFuZCB2aXN1YWxseSBnZXQgaXRzIGN1cnJlbnQgc3RhdGUuXG5cbkNvbmZpZ3VyYXRpb24gbmVlZGVkISBQbGVhc2UgY2hlY2sgdGhlIGluc3RydWN0aW9uIG9uIHRoZSBob21lcGFnZS4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJpZGVhcGFkIiwKICAibmFtZSI6ICJJZGVhUGFkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2xhdXJlbnRvL2dub21lLXNoZWxsLWV4dGVuc2lvbi1pZGVhcGFkIiwKICAidXVpZCI6ICJpZGVhcGFkQGxhdXJlbnRvLmZyaXR0ZWxsYSIsCiAgInZlcnNpb24iOiAxNgp9"}
+    "45": {"version": "17", "sha256": "1mxy3g0q16mhf18gc4yvxdmwrrrhg7rxis2ccabl6zb0sinskfkd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxlbm92byBJZGVhUGFkIGdvb2RpZXMgZm9yIEdub21lIFNoZWxsXG5cbkF0IHRoZSBtb21lbnQgdGhlIGV4dGVuc2lvbiBvbmx5IHByb3ZpZGVzIGFuIGVhc3kgYW5kIHVzZXItZnJpZW5kbHkgd2F5IHRvIHRvZ2dsZSBiYXR0ZXJ5IGNvbnNlcnZhdGlvbiBtb2RlIGF2YWlsYWJsZSBvbiBMZXZvbm8gSWRlYXBhZCBsYXB0b3BzIGFuZCB2aXN1YWxseSBnZXQgaXRzIGN1cnJlbnQgc3RhdGUuXG5cbkNvbmZpZ3VyYXRpb24gbmVlZGVkISBQbGVhc2UgY2hlY2sgdGhlIGluc3RydWN0aW9uIG9uIHRoZSBob21lcGFnZS4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJpZGVhcGFkIiwKICAibmFtZSI6ICJJZGVhUGFkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2xhdXJlbnRvL2dub21lLXNoZWxsLWV4dGVuc2lvbi1pZGVhcGFkIiwKICAidXVpZCI6ICJpZGVhcGFkQGxhdXJlbnRvLmZyaXR0ZWxsYSIsCiAgInZlcnNpb24iOiAxNwp9"}
   }}
 , {"uuid": "system-monitor-next@paradoxxx.zero.gmail.com", "name": "system-monitor-next", "pname": "system-monitor-next", "description": "Display system information in GNOME Shell status bar, such as memory, CPU, disk and battery usages, network rates…\n\nThis is a fork of the seemingly abandoned paradoxxxzero/gnome-shell-system-monitor-applet.\n\nIf you get an error after updating, try logging out and logging back in (this is a known issue that is being worked on).", "link": "https://extensions.gnome.org/extension/3010/system-monitor-next/", "shell_version_map": {
     "40": {"version": "55", "sha256": "0fwxj41ka95mxrjy3xbywqxm0fp00irypkwcg316pyy9cva4rk01", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgc3lzdGVtIGluZm9ybWF0aW9uIGluIEdOT01FIFNoZWxsIHN0YXR1cyBiYXIsIHN1Y2ggYXMgbWVtb3J5LCBDUFUsIGRpc2sgYW5kIGJhdHRlcnkgdXNhZ2VzLCBuZXR3b3JrIHJhdGVzXHUyMDI2XG5cblRoaXMgZm9yayBvZiBwYXJhZG94eHh6ZXJvL2dub21lLXNoZWxsLXN5c3RlbS1tb25pdG9yLWFwcGxldCBpcyBmb3IgcGFja2FnaW5nIHB1cnBvc2VzIG9ubHkuIFRoaXMgZXh0ZW5zaW9uIGlzIGJ1aWx0IGFuZCB1cGRhdGVkIGNvbnRpbnVvdXNseSB3aXRoIHRoZSB1cHN0cmVhbSBtYXN0ZXIgYnJhbmNoLCBvY2Nhc2lvbmFsbHkgaW5jbHVkaW5nIHBhdGNoZXMgdGhhdCBoYXZlbid0IHlldCBtZXJnZWQgdXBzdHJlYW0uXG5cblRoaXMgaXMgcHJlZmVyYWJsZSBmb3IgdXNlcnMgb24gYmxlZWRpbmcgZWRnZSBkaXN0cmlidXRpb25zIHRoYXQgcHJlZmVyIG5vdCB0byB3YWl0IGZvciBhIHN0YWJsZSByZWxlYXNlIGZyb20gdGhlIG1haW4gcmVwby4gT2YgY291cnNlLCBzaW5jZSB3ZSdyZSByZWxlYXNpbmcgZGlyZWN0bHkgZnJvbSBtYXN0ZXIgc29tZSBpbnN0YWJpbGl0eSBpcyBpbmV2aXRhYmxlLlxuXG5JZiB5b3UgZ2V0IGFuIGVycm9yIGFmdGVyIHVwZGF0aW5nLCB0cnkgcmVzdGFydGluZyBHbm9tZSBTaGVsbCB3aXRoIEFsdC1GMiB0aGVuICdyJy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJzeXN0ZW0tbW9uaXRvciIsCiAgIm5hbWUiOiAic3lzdGVtLW1vbml0b3ItbmV4dCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zeXN0ZW0tbW9uaXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbWdhbGdzL2dub21lLXNoZWxsLXN5c3RlbS1tb25pdG9yLWFwcGxldCIsCiAgInV1aWQiOiAic3lzdGVtLW1vbml0b3ItbmV4dEBwYXJhZG94eHguemVyby5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNTUKfQ=="},
@@ -2334,7 +2339,7 @@
     "42": {"version": "5", "sha256": "0d4y9rzq0v9iwph408mf0d9zfx2g5fyrbbk63dn61ri525v0qlzl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBEdWNrRHVja0dvIHNlYXJjaCBzdWdnZXN0aW9ucyB0byBHbm9tZSBTaGVsbCBTZWFyY2giLAogICJuYW1lIjogIkR1Y2tEdWNrR28gU2VhcmNoIFByb3ZpZGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmR1Y2tkdWNrZ28tc2VhcmNoLXByb3ZpZGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIiwKICAgICI0MS4wIiwKICAgICI0Mi4wIiwKICAgICI0Mi41IiwKICAgICI0NC4yIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20va2VpdGhhbXVzL2dub21lLXNoZWxsLWR1Y2tkdWNrZ28tc2VhcmNoLXByb3ZpZGVyIiwKICAidXVpZCI6ICJnbm9tZS1zaGVsbC1kdWNrZHVja2dvLXNlYXJjaC1wcm92aWRlckBrZWl0aGNpcmtlbC5jby51ayIsCiAgInZlcnNpb24iOiA1Cn0="},
     "44": {"version": "5", "sha256": "0d4y9rzq0v9iwph408mf0d9zfx2g5fyrbbk63dn61ri525v0qlzl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBEdWNrRHVja0dvIHNlYXJjaCBzdWdnZXN0aW9ucyB0byBHbm9tZSBTaGVsbCBTZWFyY2giLAogICJuYW1lIjogIkR1Y2tEdWNrR28gU2VhcmNoIFByb3ZpZGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmR1Y2tkdWNrZ28tc2VhcmNoLXByb3ZpZGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIiwKICAgICI0MS4wIiwKICAgICI0Mi4wIiwKICAgICI0Mi41IiwKICAgICI0NC4yIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20va2VpdGhhbXVzL2dub21lLXNoZWxsLWR1Y2tkdWNrZ28tc2VhcmNoLXByb3ZpZGVyIiwKICAidXVpZCI6ICJnbm9tZS1zaGVsbC1kdWNrZHVja2dvLXNlYXJjaC1wcm92aWRlckBrZWl0aGNpcmtlbC5jby51ayIsCiAgInZlcnNpb24iOiA1Cn0="}
   }}
-, {"uuid": "translate-indicator@athenstaedt.net", "name": "Translate Indicator", "pname": "translate-indicator", "description": "Translate extension for Gnome-Shell - based on translate-shell, inspired by Tudmotu's clipboard-indicator and gufoe's text-translator", "link": "https://extensions.gnome.org/extension/3318/translate-indicator/", "shell_version_map": {
+, {"uuid": "translate-indicator@athenstaedt.net", "name": "Translate Indicator", "pname": "translate-indicator", "description": "Translate extension for Gnome-Shell - based on translate-shell, inspired by Tudmotu's clipboard-indicator and gufoe's text-translator\n\nMenu to translate everything on your desktop.\n\nSuper + T to toggle menu. Cntl + Alt + T to use notification translation.\n\nShortcuts can be changed in the settings.\n\nOn X.org, you can translate selected text. This can be enabled in the settings. This is not supported on wayland. There, you have to copy to the clipboard for translation.\n\nBy default, this extension uses the included translate-shell version, which is probably not the newest. You can change this in the settings.\n\nIf you use the the included trans file, make sure that it is executable. You find the source of the extension usually here:\n\n~/.local/share/gnome-shell/extensions/translate-indicator@athenstaedt.net", "link": "https://extensions.gnome.org/extension/3318/translate-indicator/", "shell_version_map": {
     "38": {"version": "3", "sha256": "04c3hjbcbn8y9d94swmc3qiv63sjynn71jnwp08sgqa79nrn4cyg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYW5zbGF0ZSBleHRlbnNpb24gZm9yIEdub21lLVNoZWxsIC0gYmFzZWQgb24gdHJhbnNsYXRlLXNoZWxsLCBpbnNwaXJlZCBieSBUdWRtb3R1J3MgY2xpcGJvYXJkLWluZGljYXRvciBhbmQgZ3Vmb2UncyB0ZXh0LXRyYW5zbGF0b3IiLAogICJuYW1lIjogIlRyYW5zbGF0ZSBJbmRpY2F0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zZXZlbnV6L2dub21lLXRyYW5zbGF0ZS1pbmRpY2F0b3IiLAogICJ1dWlkIjogInRyYW5zbGF0ZS1pbmRpY2F0b3JAYXRoZW5zdGFlZHQubmV0IiwKICAidmVyc2lvbiI6IDMKfQ=="},
     "45": {"version": "5", "sha256": "05vsi19d754kywmq4lrgf5n5n96z88wqwynf3fi473yqjxs3w3gg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYW5zbGF0ZSBleHRlbnNpb24gZm9yIEdub21lLVNoZWxsIC0gYmFzZWQgb24gdHJhbnNsYXRlLXNoZWxsLCBpbnNwaXJlZCBieSBUdWRtb3R1J3MgY2xpcGJvYXJkLWluZGljYXRvciBhbmQgZ3Vmb2UncyB0ZXh0LXRyYW5zbGF0b3IiLAogICJuYW1lIjogIlRyYW5zbGF0ZSBJbmRpY2F0b3IiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudHJhbnNsYXRlLWluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zZXZlbnV6L2dub21lLXRyYW5zbGF0ZS1pbmRpY2F0b3IiLAogICJ1dWlkIjogInRyYW5zbGF0ZS1pbmRpY2F0b3JAYXRoZW5zdGFlZHQubmV0IiwKICAidmVyc2lvbiI6IDUKfQ=="}
   }}
@@ -2879,7 +2884,8 @@
     "41": {"version": "26", "sha256": "07p56424nlhcs8rmbxyywc86jvhrr83hwzs1xq4jv338kiprp04j", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJsdWV0b290aCBiYXR0ZXJ5IGluZGljYXRvciIsCiAgImdldHRleHQtZG9tYWluIjogImJsdWV0b290aF9iYXR0ZXJ5X2luZGljYXRvciIsCiAgIm5hbWUiOiAiQmx1ZXRvb3RoIGJhdHRlcnkgaW5kaWNhdG9yIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmJsdWV0b290aF9iYXR0ZXJ5X2luZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTWljaGFsVy9nbm9tZS1ibHVldG9vdGgtYmF0dGVyeS1pbmRpY2F0b3IiLAogICJ1dWlkIjogImJsdWV0b290aC1iYXR0ZXJ5QG1pY2hhbHcuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAyNgp9"},
     "42": {"version": "34", "sha256": "1g0w2z3zcbpl7ca4fnsdgl110hy3md54bc1nani7kvc323yn038f", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJsdWV0b290aCBiYXR0ZXJ5IGluZGljYXRvciIsCiAgImdldHRleHQtZG9tYWluIjogImJsdWV0b290aF9iYXR0ZXJ5X2luZGljYXRvciIsCiAgIm5hbWUiOiAiQmx1ZXRvb3RoIGJhdHRlcnkgaW5kaWNhdG9yIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmJsdWV0b290aF9iYXR0ZXJ5X2luZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL01pY2hhbFcvZ25vbWUtYmx1ZXRvb3RoLWJhdHRlcnktaW5kaWNhdG9yIiwKICAidXVpZCI6ICJibHVldG9vdGgtYmF0dGVyeUBtaWNoYWx3LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMzQKfQ=="},
     "43": {"version": "34", "sha256": "1g0w2z3zcbpl7ca4fnsdgl110hy3md54bc1nani7kvc323yn038f", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJsdWV0b290aCBiYXR0ZXJ5IGluZGljYXRvciIsCiAgImdldHRleHQtZG9tYWluIjogImJsdWV0b290aF9iYXR0ZXJ5X2luZGljYXRvciIsCiAgIm5hbWUiOiAiQmx1ZXRvb3RoIGJhdHRlcnkgaW5kaWNhdG9yIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmJsdWV0b290aF9iYXR0ZXJ5X2luZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL01pY2hhbFcvZ25vbWUtYmx1ZXRvb3RoLWJhdHRlcnktaW5kaWNhdG9yIiwKICAidXVpZCI6ICJibHVldG9vdGgtYmF0dGVyeUBtaWNoYWx3LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMzQKfQ=="},
-    "44": {"version": "34", "sha256": "1g0w2z3zcbpl7ca4fnsdgl110hy3md54bc1nani7kvc323yn038f", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJsdWV0b290aCBiYXR0ZXJ5IGluZGljYXRvciIsCiAgImdldHRleHQtZG9tYWluIjogImJsdWV0b290aF9iYXR0ZXJ5X2luZGljYXRvciIsCiAgIm5hbWUiOiAiQmx1ZXRvb3RoIGJhdHRlcnkgaW5kaWNhdG9yIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmJsdWV0b290aF9iYXR0ZXJ5X2luZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL01pY2hhbFcvZ25vbWUtYmx1ZXRvb3RoLWJhdHRlcnktaW5kaWNhdG9yIiwKICAidXVpZCI6ICJibHVldG9vdGgtYmF0dGVyeUBtaWNoYWx3LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMzQKfQ=="}
+    "44": {"version": "34", "sha256": "1g0w2z3zcbpl7ca4fnsdgl110hy3md54bc1nani7kvc323yn038f", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJsdWV0b290aCBiYXR0ZXJ5IGluZGljYXRvciIsCiAgImdldHRleHQtZG9tYWluIjogImJsdWV0b290aF9iYXR0ZXJ5X2luZGljYXRvciIsCiAgIm5hbWUiOiAiQmx1ZXRvb3RoIGJhdHRlcnkgaW5kaWNhdG9yIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmJsdWV0b290aF9iYXR0ZXJ5X2luZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL01pY2hhbFcvZ25vbWUtYmx1ZXRvb3RoLWJhdHRlcnktaW5kaWNhdG9yIiwKICAidXVpZCI6ICJibHVldG9vdGgtYmF0dGVyeUBtaWNoYWx3LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMzQKfQ=="},
+    "45": {"version": "38", "sha256": "1vd87x9d8h6zdv2v8aqy7l1061yrv3zwbj0wgs6535alcbhp6dld", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJsdWV0b290aCBiYXR0ZXJ5IGluZGljYXRvciIsCiAgImdldHRleHQtZG9tYWluIjogImJsdWV0b290aF9iYXR0ZXJ5X2luZGljYXRvciIsCiAgIm5hbWUiOiAiQmx1ZXRvb3RoIGJhdHRlcnkgaW5kaWNhdG9yIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmJsdWV0b290aF9iYXR0ZXJ5X2luZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9NaWNoYWxXL2dub21lLWJsdWV0b290aC1iYXR0ZXJ5LWluZGljYXRvciIsCiAgInV1aWQiOiAiYmx1ZXRvb3RoLWJhdHRlcnlAbWljaGFsdy5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDM4Cn0="}
   }}
 , {"uuid": "gnome-extension-all-ip-addresses@havekes.eu", "name": "All IP Addresses", "pname": "all-ip-addresses", "description": "Show IP addresses for LAN, WAN IPv6 and VPN in the GNOME panel. Click on the address to cycle trough different interfaces.", "link": "https://extensions.gnome.org/extension/3994/all-ip-addresses/", "shell_version_map": {
     "38": {"version": "12", "sha256": "0sxw8igvjv2hx1d42cibxbrjdl61983s9054l0jbnvszr30jyf7k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgSVAgYWRkcmVzc2VzIGZvciBMQU4sIFdBTiBJUHY2IGFuZCBWUE4gaW4gdGhlIEdOT01FIHBhbmVsLiBDbGljayBvbiB0aGUgYWRkcmVzcyB0byBjeWNsZSB0cm91Z2ggZGlmZmVyZW50IGludGVyZmFjZXMuIiwKICAibmFtZSI6ICJBbGwgSVAgQWRkcmVzc2VzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9waGF2ZWtlcy9nbm9tZS1leHRlbnNpb24tYWxsLWlwLWFkZHJlc3NlcyIsCiAgInV1aWQiOiAiZ25vbWUtZXh0ZW5zaW9uLWFsbC1pcC1hZGRyZXNzZXNAaGF2ZWtlcy5ldSIsCiAgInZlcnNpb24iOiAxMgp9"},
@@ -2894,7 +2900,7 @@
     "40": {"version": "4", "sha256": "17hriwcwhkjp3n20q7bm7iylr8862ghvnagf2xk0ci2hxwwbyc92", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNvbW1lbnQiOiAiQ3VzdG9taXplIHRoZSBhcHBsaWNhdGlvbiBncmlkIHZpZXcuIiwKICAiZGVzY3JpcHRpb24iOiAiQ3VzdG9taXplIHRoZSBhcHBsaWNhdGlvbiBncmlkIHZpZXcuXG5cblNldCB0aGUgcm93cywgY29sdW1ucyBhbmQgdGhlIGFwcCBpY29uIHNpemUgZm9yIGEgcGFydGljdWxhciBjb25maWd1cmF0aW9uIHRvIHdvcmsuXG5JZiB0aGUgc2NyZWVuIHNwYWNlIGlzIG91dCBudW1iZXJlZCwgcmVkdWNlIHRoZSBpY29uIHNpemUgdG8gZml0IGFsbCB0aGUgcm93cyBhbmQgY29sdW1ucy5cbk9yIHJlZHVjZSB0aGUgbnVtYmVyIG9mIHJvd3MgYW5kIGNvbHVtbnMuXG5cblByZXNzIHRoZSBSZWZyZXNoIGJ1dHRvbiBvbiB0aGUgbGVmdCBvZiBoZWFkZXIgYmFyIHRvIGFwcGx5IGNoYW5nZXMiLAogICJuYW1lIjogIkFwcCBHcmlkIFR3ZWFrcyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5hcHAtZ3JpZC10d2Vha3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJzdGF0dXMiOiAiIiwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9TZWxlbml1bS1IL0FwcC1HcmlkLVR3ZWFrcyIsCiAgInV1aWQiOiAiYXBwLWdyaWQtdHdlYWtzQFNlbGVuaXVtLUgiLAogICJ2ZXJzaW9uIjogNAp9"},
     "41": {"version": "4", "sha256": "17hriwcwhkjp3n20q7bm7iylr8862ghvnagf2xk0ci2hxwwbyc92", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNvbW1lbnQiOiAiQ3VzdG9taXplIHRoZSBhcHBsaWNhdGlvbiBncmlkIHZpZXcuIiwKICAiZGVzY3JpcHRpb24iOiAiQ3VzdG9taXplIHRoZSBhcHBsaWNhdGlvbiBncmlkIHZpZXcuXG5cblNldCB0aGUgcm93cywgY29sdW1ucyBhbmQgdGhlIGFwcCBpY29uIHNpemUgZm9yIGEgcGFydGljdWxhciBjb25maWd1cmF0aW9uIHRvIHdvcmsuXG5JZiB0aGUgc2NyZWVuIHNwYWNlIGlzIG91dCBudW1iZXJlZCwgcmVkdWNlIHRoZSBpY29uIHNpemUgdG8gZml0IGFsbCB0aGUgcm93cyBhbmQgY29sdW1ucy5cbk9yIHJlZHVjZSB0aGUgbnVtYmVyIG9mIHJvd3MgYW5kIGNvbHVtbnMuXG5cblByZXNzIHRoZSBSZWZyZXNoIGJ1dHRvbiBvbiB0aGUgbGVmdCBvZiBoZWFkZXIgYmFyIHRvIGFwcGx5IGNoYW5nZXMiLAogICJuYW1lIjogIkFwcCBHcmlkIFR3ZWFrcyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5hcHAtZ3JpZC10d2Vha3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJzdGF0dXMiOiAiIiwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9TZWxlbml1bS1IL0FwcC1HcmlkLVR3ZWFrcyIsCiAgInV1aWQiOiAiYXBwLWdyaWQtdHdlYWtzQFNlbGVuaXVtLUgiLAogICJ2ZXJzaW9uIjogNAp9"}
   }}
-, {"uuid": "babar@fthx", "name": "BaBar Task Bar", "pname": "babar", "description": "NOT MAINTAINED ANYMORE\n\nTask bar. App grid, favorites, workspaces and tasks in panel. Light extension.\n\n Replace 'Activities' button by all current workspaces and apps buttons. Switch workspace/app or toggle overview by clicking on these buttons. Drag and drop favorite, task, dash item or app grid item to any workspace (you cannot reorder tasks inside a workspace). Persistent window preview with right-click (right-click again or click on preview to close it). You can move this preview anywhere. Change 'Places' label to an icon. Settings in preferences UI.\n\n You can use names for workspaces: there are two ways for that. 1) Edit the string array 'org.gnome.desktop.wm.preferences.workspace-names' gsettings key (through dconf editor, e.g.). 2) Use official GNOME extension Workspaces Indicator's settings. You don't have to write a long enough list: numbers are displayed if no workspace name is defined.\n\n Changelog: https://github.com/fthx/babar/issues/2", "link": "https://extensions.gnome.org/extension/4000/babar/", "shell_version_map": {
+, {"uuid": "babar@fthx", "name": "BaBar Task Bar", "pname": "babar", "description": "NOT MAINTAINED ANYMORE\nPlease use instead:\nhttps://extensions.gnome.org/extension/6556/task-up/\n\nTask bar. App grid, favorites, workspaces and tasks in panel. Light extension.\n\n Replace 'Activities' button by all current workspaces and apps buttons. Switch workspace/app or toggle overview by clicking on these buttons. Drag and drop favorite, task, dash item or app grid item to any workspace (you cannot reorder tasks inside a workspace). Persistent window preview with right-click (right-click again or click on preview to close it). You can move this preview anywhere. Change 'Places' label to an icon. Settings in preferences UI.\n\n You can use names for workspaces: there are two ways for that. 1) Edit the string array 'org.gnome.desktop.wm.preferences.workspace-names' gsettings key (through dconf editor, e.g.). 2) Use official GNOME extension Workspaces Indicator's settings. You don't have to write a long enough list: numbers are displayed if no workspace name is defined.\n\n Changelog: https://github.com/fthx/babar/issues/2", "link": "https://extensions.gnome.org/extension/4000/babar/", "shell_version_map": {
     "38": {"version": "58", "sha256": "13iq5smrg965sgxvln6p31i68jl6m87s74vg7hr0lizsx0v901pc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5PVCBNQUlOVEFJTkVEIEFOWU1PUkVcblxuVGFzayBiYXIuIEFwcCBncmlkLCBmYXZvcml0ZXMsIHdvcmtzcGFjZXMgYW5kIHRhc2tzIGluIHBhbmVsLiBMaWdodCBleHRlbnNpb24uXG5cbiBSZXBsYWNlICdBY3Rpdml0aWVzJyBidXR0b24gYnkgYWxsIGN1cnJlbnQgd29ya3NwYWNlcyBhbmQgYXBwcyBidXR0b25zLiBTd2l0Y2ggd29ya3NwYWNlL2FwcCBvciB0b2dnbGUgb3ZlcnZpZXcgYnkgY2xpY2tpbmcgb24gdGhlc2UgYnV0dG9ucy4gRHJhZyBhbmQgZHJvcCBmYXZvcml0ZSwgdGFzaywgZGFzaCBpdGVtIG9yIGFwcCBncmlkIGl0ZW0gdG8gYW55IHdvcmtzcGFjZSAoeW91IGNhbm5vdCByZW9yZGVyIHRhc2tzIGluc2lkZSBhIHdvcmtzcGFjZSkuIFBlcnNpc3RlbnQgd2luZG93IHByZXZpZXcgd2l0aCByaWdodC1jbGljayAocmlnaHQtY2xpY2sgYWdhaW4gb3IgY2xpY2sgb24gcHJldmlldyB0byBjbG9zZSBpdCkuIFlvdSBjYW4gbW92ZSB0aGlzIHByZXZpZXcgYW55d2hlcmUuIENoYW5nZSAnUGxhY2VzJyBsYWJlbCB0byBhbiBpY29uLiBTZXR0aW5ncyBpbiBwcmVmZXJlbmNlcyBVSS5cblxuIFlvdSBjYW4gdXNlIG5hbWVzIGZvciB3b3Jrc3BhY2VzOiB0aGVyZSBhcmUgdHdvIHdheXMgZm9yIHRoYXQuIDEpIEVkaXQgdGhlIHN0cmluZyBhcnJheSAnb3JnLmdub21lLmRlc2t0b3Aud20ucHJlZmVyZW5jZXMud29ya3NwYWNlLW5hbWVzJyBnc2V0dGluZ3Mga2V5ICh0aHJvdWdoIGRjb25mIGVkaXRvciwgZS5nLikuIDIpIFVzZSBvZmZpY2lhbCBHTk9NRSBleHRlbnNpb24gV29ya3NwYWNlcyBJbmRpY2F0b3IncyBzZXR0aW5ncy4gWW91IGRvbid0IGhhdmUgdG8gd3JpdGUgYSBsb25nIGVub3VnaCBsaXN0OiBudW1iZXJzIGFyZSBkaXNwbGF5ZWQgaWYgbm8gd29ya3NwYWNlIG5hbWUgaXMgZGVmaW5lZC5cblxuIENoYW5nZWxvZzogaHR0cHM6Ly9naXRodWIuY29tL2Z0aHgvYmFiYXIvaXNzdWVzLzIiLAogICJuYW1lIjogIkJhQmFyIFRhc2sgQmFyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZnRoeC9iYWJhciIsCiAgInV1aWQiOiAiYmFiYXJAZnRoeCIsCiAgInZlcnNpb24iOiA1OAp9"},
     "40": {"version": "58", "sha256": "13iq5smrg965sgxvln6p31i68jl6m87s74vg7hr0lizsx0v901pc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5PVCBNQUlOVEFJTkVEIEFOWU1PUkVcblxuVGFzayBiYXIuIEFwcCBncmlkLCBmYXZvcml0ZXMsIHdvcmtzcGFjZXMgYW5kIHRhc2tzIGluIHBhbmVsLiBMaWdodCBleHRlbnNpb24uXG5cbiBSZXBsYWNlICdBY3Rpdml0aWVzJyBidXR0b24gYnkgYWxsIGN1cnJlbnQgd29ya3NwYWNlcyBhbmQgYXBwcyBidXR0b25zLiBTd2l0Y2ggd29ya3NwYWNlL2FwcCBvciB0b2dnbGUgb3ZlcnZpZXcgYnkgY2xpY2tpbmcgb24gdGhlc2UgYnV0dG9ucy4gRHJhZyBhbmQgZHJvcCBmYXZvcml0ZSwgdGFzaywgZGFzaCBpdGVtIG9yIGFwcCBncmlkIGl0ZW0gdG8gYW55IHdvcmtzcGFjZSAoeW91IGNhbm5vdCByZW9yZGVyIHRhc2tzIGluc2lkZSBhIHdvcmtzcGFjZSkuIFBlcnNpc3RlbnQgd2luZG93IHByZXZpZXcgd2l0aCByaWdodC1jbGljayAocmlnaHQtY2xpY2sgYWdhaW4gb3IgY2xpY2sgb24gcHJldmlldyB0byBjbG9zZSBpdCkuIFlvdSBjYW4gbW92ZSB0aGlzIHByZXZpZXcgYW55d2hlcmUuIENoYW5nZSAnUGxhY2VzJyBsYWJlbCB0byBhbiBpY29uLiBTZXR0aW5ncyBpbiBwcmVmZXJlbmNlcyBVSS5cblxuIFlvdSBjYW4gdXNlIG5hbWVzIGZvciB3b3Jrc3BhY2VzOiB0aGVyZSBhcmUgdHdvIHdheXMgZm9yIHRoYXQuIDEpIEVkaXQgdGhlIHN0cmluZyBhcnJheSAnb3JnLmdub21lLmRlc2t0b3Aud20ucHJlZmVyZW5jZXMud29ya3NwYWNlLW5hbWVzJyBnc2V0dGluZ3Mga2V5ICh0aHJvdWdoIGRjb25mIGVkaXRvciwgZS5nLikuIDIpIFVzZSBvZmZpY2lhbCBHTk9NRSBleHRlbnNpb24gV29ya3NwYWNlcyBJbmRpY2F0b3IncyBzZXR0aW5ncy4gWW91IGRvbid0IGhhdmUgdG8gd3JpdGUgYSBsb25nIGVub3VnaCBsaXN0OiBudW1iZXJzIGFyZSBkaXNwbGF5ZWQgaWYgbm8gd29ya3NwYWNlIG5hbWUgaXMgZGVmaW5lZC5cblxuIENoYW5nZWxvZzogaHR0cHM6Ly9naXRodWIuY29tL2Z0aHgvYmFiYXIvaXNzdWVzLzIiLAogICJuYW1lIjogIkJhQmFyIFRhc2sgQmFyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZnRoeC9iYWJhciIsCiAgInV1aWQiOiAiYmFiYXJAZnRoeCIsCiAgInZlcnNpb24iOiA1OAp9"},
     "41": {"version": "58", "sha256": "13iq5smrg965sgxvln6p31i68jl6m87s74vg7hr0lizsx0v901pc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5PVCBNQUlOVEFJTkVEIEFOWU1PUkVcblxuVGFzayBiYXIuIEFwcCBncmlkLCBmYXZvcml0ZXMsIHdvcmtzcGFjZXMgYW5kIHRhc2tzIGluIHBhbmVsLiBMaWdodCBleHRlbnNpb24uXG5cbiBSZXBsYWNlICdBY3Rpdml0aWVzJyBidXR0b24gYnkgYWxsIGN1cnJlbnQgd29ya3NwYWNlcyBhbmQgYXBwcyBidXR0b25zLiBTd2l0Y2ggd29ya3NwYWNlL2FwcCBvciB0b2dnbGUgb3ZlcnZpZXcgYnkgY2xpY2tpbmcgb24gdGhlc2UgYnV0dG9ucy4gRHJhZyBhbmQgZHJvcCBmYXZvcml0ZSwgdGFzaywgZGFzaCBpdGVtIG9yIGFwcCBncmlkIGl0ZW0gdG8gYW55IHdvcmtzcGFjZSAoeW91IGNhbm5vdCByZW9yZGVyIHRhc2tzIGluc2lkZSBhIHdvcmtzcGFjZSkuIFBlcnNpc3RlbnQgd2luZG93IHByZXZpZXcgd2l0aCByaWdodC1jbGljayAocmlnaHQtY2xpY2sgYWdhaW4gb3IgY2xpY2sgb24gcHJldmlldyB0byBjbG9zZSBpdCkuIFlvdSBjYW4gbW92ZSB0aGlzIHByZXZpZXcgYW55d2hlcmUuIENoYW5nZSAnUGxhY2VzJyBsYWJlbCB0byBhbiBpY29uLiBTZXR0aW5ncyBpbiBwcmVmZXJlbmNlcyBVSS5cblxuIFlvdSBjYW4gdXNlIG5hbWVzIGZvciB3b3Jrc3BhY2VzOiB0aGVyZSBhcmUgdHdvIHdheXMgZm9yIHRoYXQuIDEpIEVkaXQgdGhlIHN0cmluZyBhcnJheSAnb3JnLmdub21lLmRlc2t0b3Aud20ucHJlZmVyZW5jZXMud29ya3NwYWNlLW5hbWVzJyBnc2V0dGluZ3Mga2V5ICh0aHJvdWdoIGRjb25mIGVkaXRvciwgZS5nLikuIDIpIFVzZSBvZmZpY2lhbCBHTk9NRSBleHRlbnNpb24gV29ya3NwYWNlcyBJbmRpY2F0b3IncyBzZXR0aW5ncy4gWW91IGRvbid0IGhhdmUgdG8gd3JpdGUgYSBsb25nIGVub3VnaCBsaXN0OiBudW1iZXJzIGFyZSBkaXNwbGF5ZWQgaWYgbm8gd29ya3NwYWNlIG5hbWUgaXMgZGVmaW5lZC5cblxuIENoYW5nZWxvZzogaHR0cHM6Ly9naXRodWIuY29tL2Z0aHgvYmFiYXIvaXNzdWVzLzIiLAogICJuYW1lIjogIkJhQmFyIFRhc2sgQmFyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZnRoeC9iYWJhciIsCiAgInV1aWQiOiAiYmFiYXJAZnRoeCIsCiAgInZlcnNpb24iOiA1OAp9"},
@@ -3269,12 +3275,12 @@
     "40": {"version": "1", "sha256": "1awjnic8zca2f6viah2l4ai0pyfdyisxna9ys1zzpya11rwj6jk7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBleHRlbnNpb24gdGhhdCBhbGxvd3MgeW91IGRvIGhhdmUgaW5kZXBlbmRlbnQgYXBwIHN3aXRjaGVyIChhbHQtdGFiKSBmb3IgZWFjaCB3b3Jrc3BhY2UuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAicHJpdmF0ZS1zd2l0Y2hlciIsCiAgIm5hbWUiOiAiUHJpdmF0ZSBTd2l0Y2hlciIsCiAgInNjaGVtYS1pZCI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5wcml2YXRlLXN3aXRjaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC5iZXRhIiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tIiwKICAidXVpZCI6ICJwcml2YXRlLXN3aXRjaGVyQGR6aWJhbi5jb20iLAogICJ2ZXJzaW9uIjogMQp9"}
   }}
 , {"uuid": "colosseum@sereneblue", "name": "Colosseum", "pname": "colosseum", "description": "View live scores for your favorite sports teams.", "link": "https://extensions.gnome.org/extension/4207/colosseum/", "shell_version_map": {
-    "40": {"version": "22", "sha256": "1qnvdrb84dn3nyfs4nw797dinjhqpxh4smc7fb2rbgjz8nxqz5xk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlZpZXcgbGl2ZSBzY29yZXMgZm9yIHlvdXIgZmF2b3JpdGUgc3BvcnRzIHRlYW1zLiIsCiAgIm5hbWUiOiAiQ29sb3NzZXVtIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zZXJlbmVibHVlL2dub21lLXNoZWxsLWV4dGVuc2lvbi1jb2xvc3NldW0iLAogICJ1dWlkIjogImNvbG9zc2V1bUBzZXJlbmVibHVlIiwKICAidmVyc2lvbiI6IDIyCn0="},
-    "41": {"version": "22", "sha256": "1qnvdrb84dn3nyfs4nw797dinjhqpxh4smc7fb2rbgjz8nxqz5xk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlZpZXcgbGl2ZSBzY29yZXMgZm9yIHlvdXIgZmF2b3JpdGUgc3BvcnRzIHRlYW1zLiIsCiAgIm5hbWUiOiAiQ29sb3NzZXVtIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zZXJlbmVibHVlL2dub21lLXNoZWxsLWV4dGVuc2lvbi1jb2xvc3NldW0iLAogICJ1dWlkIjogImNvbG9zc2V1bUBzZXJlbmVibHVlIiwKICAidmVyc2lvbiI6IDIyCn0="},
-    "42": {"version": "22", "sha256": "1qnvdrb84dn3nyfs4nw797dinjhqpxh4smc7fb2rbgjz8nxqz5xk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlZpZXcgbGl2ZSBzY29yZXMgZm9yIHlvdXIgZmF2b3JpdGUgc3BvcnRzIHRlYW1zLiIsCiAgIm5hbWUiOiAiQ29sb3NzZXVtIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zZXJlbmVibHVlL2dub21lLXNoZWxsLWV4dGVuc2lvbi1jb2xvc3NldW0iLAogICJ1dWlkIjogImNvbG9zc2V1bUBzZXJlbmVibHVlIiwKICAidmVyc2lvbiI6IDIyCn0="},
-    "43": {"version": "22", "sha256": "1qnvdrb84dn3nyfs4nw797dinjhqpxh4smc7fb2rbgjz8nxqz5xk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlZpZXcgbGl2ZSBzY29yZXMgZm9yIHlvdXIgZmF2b3JpdGUgc3BvcnRzIHRlYW1zLiIsCiAgIm5hbWUiOiAiQ29sb3NzZXVtIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zZXJlbmVibHVlL2dub21lLXNoZWxsLWV4dGVuc2lvbi1jb2xvc3NldW0iLAogICJ1dWlkIjogImNvbG9zc2V1bUBzZXJlbmVibHVlIiwKICAidmVyc2lvbiI6IDIyCn0="},
-    "44": {"version": "22", "sha256": "1qnvdrb84dn3nyfs4nw797dinjhqpxh4smc7fb2rbgjz8nxqz5xk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlZpZXcgbGl2ZSBzY29yZXMgZm9yIHlvdXIgZmF2b3JpdGUgc3BvcnRzIHRlYW1zLiIsCiAgIm5hbWUiOiAiQ29sb3NzZXVtIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zZXJlbmVibHVlL2dub21lLXNoZWxsLWV4dGVuc2lvbi1jb2xvc3NldW0iLAogICJ1dWlkIjogImNvbG9zc2V1bUBzZXJlbmVibHVlIiwKICAidmVyc2lvbiI6IDIyCn0="},
-    "45": {"version": "23", "sha256": "1kgk08cshvfnwq0kml6f9xrcikbs2mw9cspxq7qk7zd2qz8wkf9w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlZpZXcgbGl2ZSBzY29yZXMgZm9yIHlvdXIgZmF2b3JpdGUgc3BvcnRzIHRlYW1zLiIsCiAgIm5hbWUiOiAiQ29sb3NzZXVtIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NlcmVuZWJsdWUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWNvbG9zc2V1bSIsCiAgInV1aWQiOiAiY29sb3NzZXVtQHNlcmVuZWJsdWUiLAogICJ2ZXJzaW9uIjogMjMKfQ=="}
+    "40": {"version": "26", "sha256": "1wd401gfykm3vf30kga21ip97fx4sv81n2fdbmbwfrnickzdwwal", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlZpZXcgbGl2ZSBzY29yZXMgZm9yIHlvdXIgZmF2b3JpdGUgc3BvcnRzIHRlYW1zLiIsCiAgIm5hbWUiOiAiQ29sb3NzZXVtIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zZXJlbmVibHVlL2dub21lLXNoZWxsLWV4dGVuc2lvbi1jb2xvc3NldW0iLAogICJ1dWlkIjogImNvbG9zc2V1bUBzZXJlbmVibHVlIiwKICAidmVyc2lvbiI6IDI2Cn0="},
+    "41": {"version": "26", "sha256": "1wd401gfykm3vf30kga21ip97fx4sv81n2fdbmbwfrnickzdwwal", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlZpZXcgbGl2ZSBzY29yZXMgZm9yIHlvdXIgZmF2b3JpdGUgc3BvcnRzIHRlYW1zLiIsCiAgIm5hbWUiOiAiQ29sb3NzZXVtIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zZXJlbmVibHVlL2dub21lLXNoZWxsLWV4dGVuc2lvbi1jb2xvc3NldW0iLAogICJ1dWlkIjogImNvbG9zc2V1bUBzZXJlbmVibHVlIiwKICAidmVyc2lvbiI6IDI2Cn0="},
+    "42": {"version": "26", "sha256": "1wd401gfykm3vf30kga21ip97fx4sv81n2fdbmbwfrnickzdwwal", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlZpZXcgbGl2ZSBzY29yZXMgZm9yIHlvdXIgZmF2b3JpdGUgc3BvcnRzIHRlYW1zLiIsCiAgIm5hbWUiOiAiQ29sb3NzZXVtIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zZXJlbmVibHVlL2dub21lLXNoZWxsLWV4dGVuc2lvbi1jb2xvc3NldW0iLAogICJ1dWlkIjogImNvbG9zc2V1bUBzZXJlbmVibHVlIiwKICAidmVyc2lvbiI6IDI2Cn0="},
+    "43": {"version": "26", "sha256": "1wd401gfykm3vf30kga21ip97fx4sv81n2fdbmbwfrnickzdwwal", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlZpZXcgbGl2ZSBzY29yZXMgZm9yIHlvdXIgZmF2b3JpdGUgc3BvcnRzIHRlYW1zLiIsCiAgIm5hbWUiOiAiQ29sb3NzZXVtIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zZXJlbmVibHVlL2dub21lLXNoZWxsLWV4dGVuc2lvbi1jb2xvc3NldW0iLAogICJ1dWlkIjogImNvbG9zc2V1bUBzZXJlbmVibHVlIiwKICAidmVyc2lvbiI6IDI2Cn0="},
+    "44": {"version": "26", "sha256": "1wd401gfykm3vf30kga21ip97fx4sv81n2fdbmbwfrnickzdwwal", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlZpZXcgbGl2ZSBzY29yZXMgZm9yIHlvdXIgZmF2b3JpdGUgc3BvcnRzIHRlYW1zLiIsCiAgIm5hbWUiOiAiQ29sb3NzZXVtIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zZXJlbmVibHVlL2dub21lLXNoZWxsLWV4dGVuc2lvbi1jb2xvc3NldW0iLAogICJ1dWlkIjogImNvbG9zc2V1bUBzZXJlbmVibHVlIiwKICAidmVyc2lvbiI6IDI2Cn0="},
+    "45": {"version": "25", "sha256": "18xcak2wwhjgzs21lq7dihmhh6vhcxi2b7wcwwam81wp6lwswkvk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlZpZXcgbGl2ZSBzY29yZXMgZm9yIHlvdXIgZmF2b3JpdGUgc3BvcnRzIHRlYW1zLiIsCiAgIm5hbWUiOiAiQ29sb3NzZXVtIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NlcmVuZWJsdWUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWNvbG9zc2V1bSIsCiAgInV1aWQiOiAiY29sb3NzZXVtQHNlcmVuZWJsdWUiLAogICJ2ZXJzaW9uIjogMjUKfQ=="}
   }}
 , {"uuid": "gnome-plat-workspace@stonegate.me", "name": "Gnome 40 Flat Workspace", "pname": "gnome-40-plat-workspace", "description": "Remove shadow for workspace background in gnome 40.\nSource code https://github.com/stonega/gnome-extension-flat-workspace", "link": "https://extensions.gnome.org/extension/4215/gnome-40-plat-workspace/", "shell_version_map": {
     "40": {"version": "3", "sha256": "0ly2dab9c0l7w1axnqs7xk2szd5jm2ifgniz2snw5mwkr5pw76nb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlbW92ZSBzaGFkb3cgZm9yIHdvcmtzcGFjZSBiYWNrZ3JvdW5kIGluIGdub21lIDQwLlxuU291cmNlIGNvZGUgaHR0cHM6Ly9naXRodWIuY29tL3N0b25lZ2EvZ25vbWUtZXh0ZW5zaW9uLWZsYXQtd29ya3NwYWNlIiwKICAibmFtZSI6ICJHbm9tZSA0MCBGbGF0IFdvcmtzcGFjZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nbm9tZS1wbGF0LXdvcmtzcGFjZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiZ25vbWUtcGxhdC13b3Jrc3BhY2VAc3RvbmVnYXRlLm1lIiwKICAidmVyc2lvbiI6IDMKfQ=="}
@@ -3872,7 +3878,8 @@
     "41": {"version": "11", "sha256": "1id2glrzcb2ppk1kfjldpdcz0v88az6nqi6vkms3r4cgnjyy88b0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgdmFyaW91cyBIdWF3ZWkgYW5kIEhvbm9yIGxhcHRvcHMgV01JIGZ1bmN0aW9ucywgc3VjaCBhcyBiYXR0ZXJ5IHByb3RlY3Rpb24sIEZuLWxvY2ssIHBvd2VyIHVubG9jayBhbmQga2V5Ym9hcmQgYmFja2xpZ2h0LiIsCiAgIm5hbWUiOiAiSHVhd2VpIFdNSSBjb250cm9scyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2FwcHMuc2RvcmUubWUvZ25vbWUtZXh0ZW5zaW9uLWh1YXdlaS13bWkiLAogICJ1dWlkIjogImh1YXdlaS13bWlAYXBwcy5zZG9yZS5tZSIsCiAgInZlcnNpb24iOiAxMQp9"},
     "42": {"version": "11", "sha256": "1id2glrzcb2ppk1kfjldpdcz0v88az6nqi6vkms3r4cgnjyy88b0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgdmFyaW91cyBIdWF3ZWkgYW5kIEhvbm9yIGxhcHRvcHMgV01JIGZ1bmN0aW9ucywgc3VjaCBhcyBiYXR0ZXJ5IHByb3RlY3Rpb24sIEZuLWxvY2ssIHBvd2VyIHVubG9jayBhbmQga2V5Ym9hcmQgYmFja2xpZ2h0LiIsCiAgIm5hbWUiOiAiSHVhd2VpIFdNSSBjb250cm9scyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2FwcHMuc2RvcmUubWUvZ25vbWUtZXh0ZW5zaW9uLWh1YXdlaS13bWkiLAogICJ1dWlkIjogImh1YXdlaS13bWlAYXBwcy5zZG9yZS5tZSIsCiAgInZlcnNpb24iOiAxMQp9"},
     "43": {"version": "11", "sha256": "1id2glrzcb2ppk1kfjldpdcz0v88az6nqi6vkms3r4cgnjyy88b0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgdmFyaW91cyBIdWF3ZWkgYW5kIEhvbm9yIGxhcHRvcHMgV01JIGZ1bmN0aW9ucywgc3VjaCBhcyBiYXR0ZXJ5IHByb3RlY3Rpb24sIEZuLWxvY2ssIHBvd2VyIHVubG9jayBhbmQga2V5Ym9hcmQgYmFja2xpZ2h0LiIsCiAgIm5hbWUiOiAiSHVhd2VpIFdNSSBjb250cm9scyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2FwcHMuc2RvcmUubWUvZ25vbWUtZXh0ZW5zaW9uLWh1YXdlaS13bWkiLAogICJ1dWlkIjogImh1YXdlaS13bWlAYXBwcy5zZG9yZS5tZSIsCiAgInZlcnNpb24iOiAxMQp9"},
-    "44": {"version": "11", "sha256": "1id2glrzcb2ppk1kfjldpdcz0v88az6nqi6vkms3r4cgnjyy88b0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgdmFyaW91cyBIdWF3ZWkgYW5kIEhvbm9yIGxhcHRvcHMgV01JIGZ1bmN0aW9ucywgc3VjaCBhcyBiYXR0ZXJ5IHByb3RlY3Rpb24sIEZuLWxvY2ssIHBvd2VyIHVubG9jayBhbmQga2V5Ym9hcmQgYmFja2xpZ2h0LiIsCiAgIm5hbWUiOiAiSHVhd2VpIFdNSSBjb250cm9scyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2FwcHMuc2RvcmUubWUvZ25vbWUtZXh0ZW5zaW9uLWh1YXdlaS13bWkiLAogICJ1dWlkIjogImh1YXdlaS13bWlAYXBwcy5zZG9yZS5tZSIsCiAgInZlcnNpb24iOiAxMQp9"}
+    "44": {"version": "11", "sha256": "1id2glrzcb2ppk1kfjldpdcz0v88az6nqi6vkms3r4cgnjyy88b0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgdmFyaW91cyBIdWF3ZWkgYW5kIEhvbm9yIGxhcHRvcHMgV01JIGZ1bmN0aW9ucywgc3VjaCBhcyBiYXR0ZXJ5IHByb3RlY3Rpb24sIEZuLWxvY2ssIHBvd2VyIHVubG9jayBhbmQga2V5Ym9hcmQgYmFja2xpZ2h0LiIsCiAgIm5hbWUiOiAiSHVhd2VpIFdNSSBjb250cm9scyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2FwcHMuc2RvcmUubWUvZ25vbWUtZXh0ZW5zaW9uLWh1YXdlaS13bWkiLAogICJ1dWlkIjogImh1YXdlaS13bWlAYXBwcy5zZG9yZS5tZSIsCiAgInZlcnNpb24iOiAxMQp9"},
+    "45": {"version": "13", "sha256": "1j38vy3ihkb45rplzr9dpkql5sy65xfqm6fp3j89x88lhw9ijz7q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgdmFyaW91cyBIdWF3ZWkgYW5kIEhvbm9yIGxhcHRvcHMgV01JIGZ1bmN0aW9ucywgc3VjaCBhcyBiYXR0ZXJ5IHByb3RlY3Rpb24sIEZuLWxvY2ssIHBvd2VyIHVubG9jayBhbmQga2V5Ym9hcmQgYmFja2xpZ2h0LiIsCiAgImdldHRleHQtZG9tYWluIjogImh1YXdlaS13bWkiLAogICJuYW1lIjogIkh1YXdlaSBXTUkgY29udHJvbHMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaHVhd2VpLXdtaSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vYXBwcy5zZG9yZS5tZS9nbm9tZS1leHRlbnNpb24taHVhd2VpLXdtaSIsCiAgInV1aWQiOiAiaHVhd2VpLXdtaUBhcHBzLnNkb3JlLm1lIiwKICAidmVyc2lvbiI6IDEzCn0="}
   }}
 , {"uuid": "username-hotname@it-und-entwicklung-fg.de", "name": "Username and Hostname to panel", "pname": "username-and-hostname-to-panel", "description": "Adds your avatar icon, user displayname und username to the menu panel. Also it adds the hostname to the left of the panel.", "link": "https://extensions.gnome.org/extension/4583/username-and-hostname-to-panel/", "shell_version_map": {
     "38": {"version": "5", "sha256": "1g9jsfwxxz2as2nwkqdzr0km24ykkzhdfmya9mqxvr68fsanw27n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgeW91ciBhdmF0YXIgaWNvbiwgdXNlciBkaXNwbGF5bmFtZSB1bmQgdXNlcm5hbWUgdG8gdGhlIG1lbnUgcGFuZWwuIEFsc28gaXQgYWRkcyB0aGUgaG9zdG5hbWUgdG8gdGhlIGxlZnQgb2YgdGhlIHBhbmVsLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJ1c2VybmFtZS1ob3RuYW1lIiwKICAibmFtZSI6ICJVc2VybmFtZSBhbmQgSG9zdG5hbWUgdG8gcGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9pdC11bmQtZW50d2lja2x1bmctZmcvVXNlcm5hbWUtYW5kLUhvc3RuYW1lLyIsCiAgInV1aWQiOiAidXNlcm5hbWUtaG90bmFtZUBpdC11bmQtZW50d2lja2x1bmctZmcuZGUiLAogICJ2ZXJzaW9uIjogNQp9"},
@@ -4326,14 +4333,14 @@
     "42": {"version": "13", "sha256": "07l1vgv9zhyh8q2h0gnn69x7h8gfn8x9q34p9lab7w08s4zn2rnb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZS9EaXNhYmxlIGJhdHRlcnkgdGhyZXNob2xkIG9uIExlbm92byBUaGlua3BhZCBsYXB0b3BzLlxuXG5JZiB5b3UgbWFpbmx5IHVzZSB0aGUgc3lzdGVtIHdpdGggdGhlIEFDIHBvd2VyIGFkYXB0ZXIgY29ubmVjdGVkIGFuZCBvbmx5IHVzZSB0aGUgYmF0dGVyeSBzcG9yYWRpY2FsbHksIHlvdSBjYW4gaW5jcmVhc2UgYmF0dGVyeSBsaWZlIGJ5IHNldHRpbmcgdGhlIG1heGltdW0gY2hhcmdlIHZhbHVlIHRvIGxlc3MgdGhhbiAxMDAlLiBUaGlzIGlzIHVzZWZ1bCBiZWNhdXNlIGJhdHRlcmllcyB0aGF0IGFyZSB1c2VkIHNwb3JhZGljYWxseSBoYXZlIGEgbG9uZ2VyIGxpZmVzcGFuIHdoZW4ga2VwdCBhdCBsZXNzIHRoYW4gZnVsbCBjaGFyZ2UuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAidGhpbmtwYWQtYmF0dGVyeS10aHJlc2hvbGRAbWFyY29zZGFsdmFyZXoub3JnIiwKICAibmFtZSI6ICJUaGlua3BhZCBCYXR0ZXJ5IFRocmVzaG9sZCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50aGlua3BhZC1iYXR0ZXJ5LXRocmVzaG9sZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL21hcmNvc2RhbHZhcmV6L3RoaW5rcGFkLWJhdHRlcnktdGhyZXNob2xkLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAidGhpbmtwYWQtYmF0dGVyeS10aHJlc2hvbGRAbWFyY29zZGFsdmFyZXoub3JnIiwKICAidmVyc2lvbiI6IDEzCn0="},
     "43": {"version": "34", "sha256": "0ii1pxbnfjjli8jj0fq1g1rlhzpbn1j9088jp0sjrxvdlrmksdzv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZS9EaXNhYmxlIGJhdHRlcnkgdGhyZXNob2xkIG9uIExlbm92byBUaGlua3BhZCBsYXB0b3BzLlxuXG5JZiB5b3UgbWFpbmx5IHVzZSB0aGUgc3lzdGVtIHdpdGggdGhlIEFDIHBvd2VyIGFkYXB0ZXIgY29ubmVjdGVkIGFuZCBvbmx5IHVzZSB0aGUgYmF0dGVyeSBzcG9yYWRpY2FsbHksIHlvdSBjYW4gaW5jcmVhc2UgYmF0dGVyeSBsaWZlIGJ5IHNldHRpbmcgdGhlIG1heGltdW0gY2hhcmdlIHZhbHVlIHRvIGxlc3MgdGhhbiAxMDAlLiBUaGlzIGlzIHVzZWZ1bCBiZWNhdXNlIGJhdHRlcmllcyB0aGF0IGFyZSB1c2VkIHNwb3JhZGljYWxseSBoYXZlIGEgbG9uZ2VyIGxpZmVzcGFuIHdoZW4ga2VwdCBhdCBsZXNzIHRoYW4gZnVsbCBjaGFyZ2UuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAidGhpbmtwYWQtYmF0dGVyeS10aHJlc2hvbGRAbWFyY29zZGFsdmFyZXoub3JnIiwKICAibmFtZSI6ICJUaGlua3BhZCBCYXR0ZXJ5IFRocmVzaG9sZCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50aGlua3BhZC1iYXR0ZXJ5LXRocmVzaG9sZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vbWFyY29zZGFsdmFyZXovdGhpbmtwYWQtYmF0dGVyeS10aHJlc2hvbGQtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJ0aGlua3BhZC1iYXR0ZXJ5LXRocmVzaG9sZEBtYXJjb3NkYWx2YXJlei5vcmciLAogICJ2ZXJzaW9uIjogMzQKfQ=="},
     "44": {"version": "34", "sha256": "0ii1pxbnfjjli8jj0fq1g1rlhzpbn1j9088jp0sjrxvdlrmksdzv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZS9EaXNhYmxlIGJhdHRlcnkgdGhyZXNob2xkIG9uIExlbm92byBUaGlua3BhZCBsYXB0b3BzLlxuXG5JZiB5b3UgbWFpbmx5IHVzZSB0aGUgc3lzdGVtIHdpdGggdGhlIEFDIHBvd2VyIGFkYXB0ZXIgY29ubmVjdGVkIGFuZCBvbmx5IHVzZSB0aGUgYmF0dGVyeSBzcG9yYWRpY2FsbHksIHlvdSBjYW4gaW5jcmVhc2UgYmF0dGVyeSBsaWZlIGJ5IHNldHRpbmcgdGhlIG1heGltdW0gY2hhcmdlIHZhbHVlIHRvIGxlc3MgdGhhbiAxMDAlLiBUaGlzIGlzIHVzZWZ1bCBiZWNhdXNlIGJhdHRlcmllcyB0aGF0IGFyZSB1c2VkIHNwb3JhZGljYWxseSBoYXZlIGEgbG9uZ2VyIGxpZmVzcGFuIHdoZW4ga2VwdCBhdCBsZXNzIHRoYW4gZnVsbCBjaGFyZ2UuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAidGhpbmtwYWQtYmF0dGVyeS10aHJlc2hvbGRAbWFyY29zZGFsdmFyZXoub3JnIiwKICAibmFtZSI6ICJUaGlua3BhZCBCYXR0ZXJ5IFRocmVzaG9sZCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50aGlua3BhZC1iYXR0ZXJ5LXRocmVzaG9sZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vbWFyY29zZGFsdmFyZXovdGhpbmtwYWQtYmF0dGVyeS10aHJlc2hvbGQtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJ0aGlua3BhZC1iYXR0ZXJ5LXRocmVzaG9sZEBtYXJjb3NkYWx2YXJlei5vcmciLAogICJ2ZXJzaW9uIjogMzQKfQ=="},
-    "45": {"version": "39", "sha256": "1c960xdqfvq10inx6qhx4v1x63195hkbgns7mihgpqai0r4jk3qr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZS9EaXNhYmxlIGJhdHRlcnkgdGhyZXNob2xkIG9uIExlbm92byBUaGlua3BhZCBsYXB0b3BzLlxuXG5JZiB5b3UgbWFpbmx5IHVzZSB0aGUgc3lzdGVtIHdpdGggdGhlIEFDIHBvd2VyIGFkYXB0ZXIgY29ubmVjdGVkIGFuZCBvbmx5IHVzZSB0aGUgYmF0dGVyeSBzcG9yYWRpY2FsbHksIHlvdSBjYW4gaW5jcmVhc2UgYmF0dGVyeSBsaWZlIGJ5IHNldHRpbmcgdGhlIG1heGltdW0gY2hhcmdlIHZhbHVlIHRvIGxlc3MgdGhhbiAxMDAlLiBUaGlzIGlzIHVzZWZ1bCBiZWNhdXNlIGJhdHRlcmllcyB0aGF0IGFyZSB1c2VkIHNwb3JhZGljYWxseSBoYXZlIGEgbG9uZ2VyIGxpZmVzcGFuIHdoZW4ga2VwdCBhdCBsZXNzIHRoYW4gZnVsbCBjaGFyZ2UuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAidGhpbmtwYWQtYmF0dGVyeS10aHJlc2hvbGRAbWFyY29zZGFsdmFyZXoub3JnIiwKICAibmFtZSI6ICJUaGlua3BhZCBCYXR0ZXJ5IFRocmVzaG9sZCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50aGlua3BhZC1iYXR0ZXJ5LXRocmVzaG9sZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9tYXJjb3NkYWx2YXJlei90aGlua3BhZC1iYXR0ZXJ5LXRocmVzaG9sZC1leHRlbnNpb24iLAogICJ1dWlkIjogInRoaW5rcGFkLWJhdHRlcnktdGhyZXNob2xkQG1hcmNvc2RhbHZhcmV6Lm9yZyIsCiAgInZlcnNpb24iOiAzOQp9"}
+    "45": {"version": "41", "sha256": "03ad2g9k9i87nhcjb0r78jv2m7m2sl5kh02647zgjy1rq2kbn6ab", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZS9EaXNhYmxlIGJhdHRlcnkgdGhyZXNob2xkIG9uIExlbm92byBUaGlua3BhZCBsYXB0b3BzLlxuXG5JZiB5b3UgbWFpbmx5IHVzZSB0aGUgc3lzdGVtIHdpdGggdGhlIEFDIHBvd2VyIGFkYXB0ZXIgY29ubmVjdGVkIGFuZCBvbmx5IHVzZSB0aGUgYmF0dGVyeSBzcG9yYWRpY2FsbHksIHlvdSBjYW4gaW5jcmVhc2UgYmF0dGVyeSBsaWZlIGJ5IHNldHRpbmcgdGhlIG1heGltdW0gY2hhcmdlIHZhbHVlIHRvIGxlc3MgdGhhbiAxMDAlLiBUaGlzIGlzIHVzZWZ1bCBiZWNhdXNlIGJhdHRlcmllcyB0aGF0IGFyZSB1c2VkIHNwb3JhZGljYWxseSBoYXZlIGEgbG9uZ2VyIGxpZmVzcGFuIHdoZW4ga2VwdCBhdCBsZXNzIHRoYW4gZnVsbCBjaGFyZ2UuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAidGhpbmtwYWQtYmF0dGVyeS10aHJlc2hvbGRAbWFyY29zZGFsdmFyZXoub3JnIiwKICAibmFtZSI6ICJUaGlua3BhZCBCYXR0ZXJ5IFRocmVzaG9sZCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50aGlua3BhZC1iYXR0ZXJ5LXRocmVzaG9sZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9tYXJjb3NkYWx2YXJlei90aGlua3BhZC1iYXR0ZXJ5LXRocmVzaG9sZC1leHRlbnNpb24iLAogICJ1dWlkIjogInRoaW5rcGFkLWJhdHRlcnktdGhyZXNob2xkQG1hcmNvc2RhbHZhcmV6Lm9yZyIsCiAgInZlcnNpb24iOiA0MQp9"}
   }}
 , {"uuid": "lock-screen-message@advendradeswanta.gitlab.com", "name": "Lock Screen Message", "pname": "lock-screen-message", "description": "Simple extension that let's you add your message to the lock screen (unlockDialog)", "link": "https://extensions.gnome.org/extension/4801/lock-screen-message/", "shell_version_map": {
     "40": {"version": "3", "sha256": "0hkr6gm7kr69fc4zjb8rddwj75jpbpvqz4wpkfl659wjn4980s3c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBleHRlbnNpb24gdGhhdCBsZXQncyB5b3UgYWRkIHlvdXIgbWVzc2FnZSB0byB0aGUgbG9jayBzY3JlZW4gKHVubG9ja0RpYWxvZykiLAogICJuYW1lIjogIkxvY2sgU2NyZWVuIE1lc3NhZ2UiLAogICJzZXNzaW9uLW1vZGVzIjogWwogICAgInVzZXIiLAogICAgInVubG9jay1kaWFsb2ciCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmxvY2stc2NyZWVuLW1lc3NhZ2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9BZHZlbmRyYURlc3dhbnRhL2xvY2stc2NyZWVuLW1lc3NhZ2UiLAogICJ1dWlkIjogImxvY2stc2NyZWVuLW1lc3NhZ2VAYWR2ZW5kcmFkZXN3YW50YS5naXRsYWIuY29tIiwKICAidmVyc2lvbiI6IDMKfQ=="},
     "41": {"version": "3", "sha256": "0hkr6gm7kr69fc4zjb8rddwj75jpbpvqz4wpkfl659wjn4980s3c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBleHRlbnNpb24gdGhhdCBsZXQncyB5b3UgYWRkIHlvdXIgbWVzc2FnZSB0byB0aGUgbG9jayBzY3JlZW4gKHVubG9ja0RpYWxvZykiLAogICJuYW1lIjogIkxvY2sgU2NyZWVuIE1lc3NhZ2UiLAogICJzZXNzaW9uLW1vZGVzIjogWwogICAgInVzZXIiLAogICAgInVubG9jay1kaWFsb2ciCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmxvY2stc2NyZWVuLW1lc3NhZ2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9BZHZlbmRyYURlc3dhbnRhL2xvY2stc2NyZWVuLW1lc3NhZ2UiLAogICJ1dWlkIjogImxvY2stc2NyZWVuLW1lc3NhZ2VAYWR2ZW5kcmFkZXN3YW50YS5naXRsYWIuY29tIiwKICAidmVyc2lvbiI6IDMKfQ=="},
     "42": {"version": "3", "sha256": "0hkr6gm7kr69fc4zjb8rddwj75jpbpvqz4wpkfl659wjn4980s3c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBleHRlbnNpb24gdGhhdCBsZXQncyB5b3UgYWRkIHlvdXIgbWVzc2FnZSB0byB0aGUgbG9jayBzY3JlZW4gKHVubG9ja0RpYWxvZykiLAogICJuYW1lIjogIkxvY2sgU2NyZWVuIE1lc3NhZ2UiLAogICJzZXNzaW9uLW1vZGVzIjogWwogICAgInVzZXIiLAogICAgInVubG9jay1kaWFsb2ciCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmxvY2stc2NyZWVuLW1lc3NhZ2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9BZHZlbmRyYURlc3dhbnRhL2xvY2stc2NyZWVuLW1lc3NhZ2UiLAogICJ1dWlkIjogImxvY2stc2NyZWVuLW1lc3NhZ2VAYWR2ZW5kcmFkZXN3YW50YS5naXRsYWIuY29tIiwKICAidmVyc2lvbiI6IDMKfQ=="}
   }}
-, {"uuid": "panel-corners@aunetx", "name": "Panel corners", "pname": "panel-corners", "description": "A GNOME shell extension to keep the old topbar corners, which were removed for GNOME 42. It also allows you to customize the rounded corners, even if you use GNOME 40 or 41.\n\nIt is widely based on already existing gnome-shell code, and on a merge request by Alexander Mikhaylenko: https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1328", "link": "https://extensions.gnome.org/extension/4805/panel-corners/", "shell_version_map": {
+, {"uuid": "panel-corners@aunetx", "name": "Panel corners", "pname": "panel-corners", "description": "A GNOME shell extension to keep the old topbar corners, which were removed for GNOME 42. It also allows you to customize the rounded corners, even if you use GNOME 40 or 41.\n\nIt also permits you to use screen corners, in order to have your monitors rounded!\n\nIt is widely based on already existing gnome-shell code, and on a merge request by Alexander Mikhaylenko: https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1328", "link": "https://extensions.gnome.org/extension/4805/panel-corners/", "shell_version_map": {
     "40": {"version": "3", "sha256": "0piacfxwa5ca5cnvrz0s8pqykfixynmvvdmh1rznfsh407v1kw1v", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR05PTUUgc2hlbGwgZXh0ZW5zaW9uIHRvIGtlZXAgdGhlIG9sZCB0b3BiYXIgY29ybmVycywgd2hpY2ggd2VyZSByZW1vdmVkIGZvciBHTk9NRSA0Mi4gSXQgYWxzbyBhbGxvd3MgeW91IHRvIGN1c3RvbWl6ZSB0aGUgcm91bmRlZCBjb3JuZXJzLCBldmVuIGlmIHlvdSB1c2UgR05PTUUgNDAgb3IgNDEuXG5cbkl0IGlzIHdpZGVseSBiYXNlZCBvbiBhbHJlYWR5IGV4aXN0aW5nIGdub21lLXNoZWxsIGNvZGUsIGFuZCBvbiBhIG1lcmdlIHJlcXVlc3QgYnkgQWxleGFuZGVyIE1pa2hheWxlbmtvOiBodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ25vbWUtc2hlbGwvLS9tZXJnZV9yZXF1ZXN0cy8xMzI4IiwKICAibmFtZSI6ICJQYW5lbCBjb3JuZXJzIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnBhbmVsLWNvcm5lcnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hdW5ldHgvcGFuZWwtY29ybmVycyIsCiAgInV1aWQiOiAicGFuZWwtY29ybmVyc0BhdW5ldHgiLAogICJ2ZXJzaW9uIjogMwp9"},
     "41": {"version": "3", "sha256": "0piacfxwa5ca5cnvrz0s8pqykfixynmvvdmh1rznfsh407v1kw1v", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR05PTUUgc2hlbGwgZXh0ZW5zaW9uIHRvIGtlZXAgdGhlIG9sZCB0b3BiYXIgY29ybmVycywgd2hpY2ggd2VyZSByZW1vdmVkIGZvciBHTk9NRSA0Mi4gSXQgYWxzbyBhbGxvd3MgeW91IHRvIGN1c3RvbWl6ZSB0aGUgcm91bmRlZCBjb3JuZXJzLCBldmVuIGlmIHlvdSB1c2UgR05PTUUgNDAgb3IgNDEuXG5cbkl0IGlzIHdpZGVseSBiYXNlZCBvbiBhbHJlYWR5IGV4aXN0aW5nIGdub21lLXNoZWxsIGNvZGUsIGFuZCBvbiBhIG1lcmdlIHJlcXVlc3QgYnkgQWxleGFuZGVyIE1pa2hheWxlbmtvOiBodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ25vbWUtc2hlbGwvLS9tZXJnZV9yZXF1ZXN0cy8xMzI4IiwKICAibmFtZSI6ICJQYW5lbCBjb3JuZXJzIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnBhbmVsLWNvcm5lcnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hdW5ldHgvcGFuZWwtY29ybmVycyIsCiAgInV1aWQiOiAicGFuZWwtY29ybmVyc0BhdW5ldHgiLAogICJ2ZXJzaW9uIjogMwp9"},
     "42": {"version": "7", "sha256": "1waws1iwsk0li6x3c9l9w80kijsmfynrlp506hmq8zqqqxrh5npy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR05PTUUgc2hlbGwgZXh0ZW5zaW9uIHRvIGtlZXAgdGhlIG9sZCB0b3BiYXIgY29ybmVycywgd2hpY2ggd2VyZSByZW1vdmVkIGZvciBHTk9NRSA0Mi4gSXQgYWxzbyBhbGxvd3MgeW91IHRvIGN1c3RvbWl6ZSB0aGUgcm91bmRlZCBjb3JuZXJzLCBldmVuIGlmIHlvdSB1c2UgR05PTUUgNDAgb3IgNDEuXG5cbkl0IGlzIHdpZGVseSBiYXNlZCBvbiBhbHJlYWR5IGV4aXN0aW5nIGdub21lLXNoZWxsIGNvZGUsIGFuZCBvbiBhIG1lcmdlIHJlcXVlc3QgYnkgQWxleGFuZGVyIE1pa2hheWxlbmtvOiBodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ25vbWUtc2hlbGwvLS9tZXJnZV9yZXF1ZXN0cy8xMzI4IiwKICAibmFtZSI6ICJQYW5lbCBjb3JuZXJzIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnBhbmVsLWNvcm5lcnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hdW5ldHgvcGFuZWwtY29ybmVycyIsCiAgInV1aWQiOiAicGFuZWwtY29ybmVyc0BhdW5ldHgiLAogICJ2ZXJzaW9uIjogNwp9"},
@@ -4525,7 +4532,7 @@
     "42": {"version": "17", "sha256": "1m6103r9hlamd5nzxqvcavssnacjxrjypby52gpgngp3aj8698sz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlF1aWNrbHkgc2hvdyBhbmQgbG9hZCBFYXN5RWZmZWN0cyBQcmVzZXRzIiwKICAiZ2V0dGV4dF9kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWVlcHJlc2V0c2VsZWN0b3IiLAogICJuYW1lIjogIkVhc3lFZmZlY3RzIFByZXNldCBTZWxlY3RvciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5lZXByZXNldHNlbGVjdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS91bHZpbGxlL2VlcHJlc2V0c2VsZWN0b3IiLAogICJ1dWlkIjogImVlcHJlc2V0c2VsZWN0b3JAdWx2aWxsZS5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMTcKfQ=="},
     "43": {"version": "17", "sha256": "1m6103r9hlamd5nzxqvcavssnacjxrjypby52gpgngp3aj8698sz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlF1aWNrbHkgc2hvdyBhbmQgbG9hZCBFYXN5RWZmZWN0cyBQcmVzZXRzIiwKICAiZ2V0dGV4dF9kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWVlcHJlc2V0c2VsZWN0b3IiLAogICJuYW1lIjogIkVhc3lFZmZlY3RzIFByZXNldCBTZWxlY3RvciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5lZXByZXNldHNlbGVjdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS91bHZpbGxlL2VlcHJlc2V0c2VsZWN0b3IiLAogICJ1dWlkIjogImVlcHJlc2V0c2VsZWN0b3JAdWx2aWxsZS5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMTcKfQ=="},
     "44": {"version": "17", "sha256": "1m6103r9hlamd5nzxqvcavssnacjxrjypby52gpgngp3aj8698sz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlF1aWNrbHkgc2hvdyBhbmQgbG9hZCBFYXN5RWZmZWN0cyBQcmVzZXRzIiwKICAiZ2V0dGV4dF9kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWVlcHJlc2V0c2VsZWN0b3IiLAogICJuYW1lIjogIkVhc3lFZmZlY3RzIFByZXNldCBTZWxlY3RvciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5lZXByZXNldHNlbGVjdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS91bHZpbGxlL2VlcHJlc2V0c2VsZWN0b3IiLAogICJ1dWlkIjogImVlcHJlc2V0c2VsZWN0b3JAdWx2aWxsZS5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMTcKfQ=="},
-    "45": {"version": "19", "sha256": "00v8dk1n68f7mkybx378nsdh8y9bq8186552wg7hh204fn9jk7s8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlF1aWNrbHkgc2hvdyBhbmQgbG9hZCBFYXN5RWZmZWN0cyBQcmVzZXRzIiwKICAiZ2V0dGV4dF9kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWVlcHJlc2V0c2VsZWN0b3IiLAogICJuYW1lIjogIkVhc3lFZmZlY3RzIFByZXNldCBTZWxlY3RvciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5lZXByZXNldHNlbGVjdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3VsdmlsbGUvZWVwcmVzZXRzZWxlY3RvciIsCiAgInV1aWQiOiAiZWVwcmVzZXRzZWxlY3RvckB1bHZpbGxlLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAxOQp9"}
+    "45": {"version": "20", "sha256": "1wqmqsi2z3snnrdlbxymdqvzllcvgda7674ma17zchmnas2sqlzx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlF1aWNrbHkgc2hvdyBhbmQgbG9hZCBFYXN5RWZmZWN0cyBQcmVzZXRzIiwKICAiZ2V0dGV4dF9kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWVlcHJlc2V0c2VsZWN0b3IiLAogICJuYW1lIjogIkVhc3lFZmZlY3RzIFByZXNldCBTZWxlY3RvciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5lZXByZXNldHNlbGVjdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3VsdmlsbGUvZWVwcmVzZXRzZWxlY3RvciIsCiAgInV1aWQiOiAiZWVwcmVzZXRzZWxlY3RvckB1bHZpbGxlLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAyMAp9"}
   }}
 , {"uuid": "gnomehub@gnome-hub.github.io", "name": "gnomehub", "pname": "gnomehub", "description": "An all in one extension which catagorizes notifications and displays system information", "link": "https://extensions.gnome.org/extension/4913/gnomehub/", "shell_version_map": {
     "38": {"version": "6", "sha256": "15dgj0jbfhsa0p87gi0ai6c55kj4nj9yz5ydpzamwy69k9jjjcd0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFuIGFsbCBpbiBvbmUgZXh0ZW5zaW9uIHdoaWNoIGNhdGFnb3JpemVzIG5vdGlmaWNhdGlvbnMgYW5kIGRpc3BsYXlzIHN5c3RlbSBpbmZvcm1hdGlvbiIsCiAgIm5hbWUiOiAiZ25vbWVodWIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dub21lLWh1Yi5naXRodWIuaW8vIiwKICAidXVpZCI6ICJnbm9tZWh1YkBnbm9tZS1odWIuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDYKfQ=="},
@@ -4596,7 +4603,7 @@
     "42": {"version": "4", "sha256": "004m77f5hkg9bq9lk2cf79x9va7np37q7yv474bwg165v7a0s8v1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIEdOT01FJ3MgdG9wYmFyJ3MgYmFja2dyb3VuZCBncmFkaWVudC4gWW91IGNhbiBlZGl0IHRoZSBjb2xvdXIgc2NoZW1lIGZyb20gdGhlIGV4dGVuc2lvbidzIHNldHRpbmdzLiIsCiAgIm5hbWUiOiAiR3JhZGllbnQgVG9wIEJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcGV0YXItdi9ncmFkaWVudHRvcGJhciIsCiAgInV1aWQiOiAiZ3JhZGllbnR0b3BiYXJAcHNob3cub3JnIiwKICAidmVyc2lvbiI6IDQKfQ=="},
     "43": {"version": "11", "sha256": "0nb4jcxhx994kgmsv0aksrjwxnw58bjw0hsijkg6bb8idm32s1pp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIEdOT01FJ3MgdG9wYmFyJ3MgYmFja2dyb3VuZCBncmFkaWVudC4gWW91IGNhbiBlZGl0IHRoZSBjb2xvdXIgc2NoZW1lIGZyb20gdGhlIGV4dGVuc2lvbidzIHNldHRpbmdzLiIsCiAgImdldHRleHQtZG9tYWluIjogIm9yZy5wc2hvdy5ncmFkaWVudHRvcGJhciIsCiAgImhhc1ByZWZzIjogdHJ1ZSwKICAiaWNvbiI6ICIuL2Fzc2V0cy9sb2dvLnBuZyIsCiAgIm5hbWUiOiAiR3JhZGllbnQgVG9wIEJhciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5vcmcucHNob3cuZ3JhZGllbnR0b3BiYXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3BldGFyLXYvZ3JhZGllbnR0b3BiYXIiLAogICJ1dWlkIjogImdyYWRpZW50dG9wYmFyQHBzaG93Lm9yZyIsCiAgInZlcnNpb24iOiAxMQp9"},
     "44": {"version": "11", "sha256": "0nb4jcxhx994kgmsv0aksrjwxnw58bjw0hsijkg6bb8idm32s1pp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIEdOT01FJ3MgdG9wYmFyJ3MgYmFja2dyb3VuZCBncmFkaWVudC4gWW91IGNhbiBlZGl0IHRoZSBjb2xvdXIgc2NoZW1lIGZyb20gdGhlIGV4dGVuc2lvbidzIHNldHRpbmdzLiIsCiAgImdldHRleHQtZG9tYWluIjogIm9yZy5wc2hvdy5ncmFkaWVudHRvcGJhciIsCiAgImhhc1ByZWZzIjogdHJ1ZSwKICAiaWNvbiI6ICIuL2Fzc2V0cy9sb2dvLnBuZyIsCiAgIm5hbWUiOiAiR3JhZGllbnQgVG9wIEJhciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5vcmcucHNob3cuZ3JhZGllbnR0b3BiYXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3BldGFyLXYvZ3JhZGllbnR0b3BiYXIiLAogICJ1dWlkIjogImdyYWRpZW50dG9wYmFyQHBzaG93Lm9yZyIsCiAgInZlcnNpb24iOiAxMQp9"},
-    "45": {"version": "17", "sha256": "18i8h4gw8k1ssyfxyhk22ggmrxxw1wcn5q1bd6jxg6zli82xnvji", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIEdOT01FJ3MgcGFuZWwncyBiYWNrZ3JvdW5kIGdyYWRpZW50LiBZb3UgY2FuIGVkaXQgdGhlIGNvbG91ciBzY2hlbWUgZnJvbSB0aGUgZXh0ZW5zaW9uJ3Mgc2V0dGluZ3MgaW4gR25vbWUgNDUuIiwKICAiZG9uYXRpb25zIjogewogICAgImdpdGh1YiI6ICJwZXRhci12IiwKICAgICJwYXlwYWwiOiAicGV0YXJ2NzMiCiAgfSwKICAiZ2V0dGV4dC1kb21haW4iOiAib3JnLnBzaG93LmdyYWRpZW50dG9wYmFyIiwKICAiaGFzUHJlZnMiOiB0cnVlLAogICJpY29uIjogIi4vYXNzZXRzL2xvZ28ucG5nIiwKICAibmFtZSI6ICJHcmFkaWVudCBUb3AgQmFyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm9yZy5wc2hvdy5ncmFkaWVudHRvcGJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9wZXRhci12L2dyYWRpZW50dG9wYmFyIiwKICAidXVpZCI6ICJncmFkaWVudHRvcGJhckBwc2hvdy5vcmciLAogICJ2ZXJzaW9uIjogMTcKfQ=="}
+    "45": {"version": "18", "sha256": "0q263vhm4cpgrydc6ab8i6yp573i1ywvzjqxpg8pyg9737lyw5vi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIEdOT01FJ3MgcGFuZWwncyBiYWNrZ3JvdW5kIGdyYWRpZW50LiBZb3UgY2FuIGVkaXQgdGhlIGNvbG91ciBzY2hlbWUgZnJvbSB0aGUgZXh0ZW5zaW9uJ3Mgc2V0dGluZ3MgaW4gR25vbWUgNDUuIiwKICAiZG9uYXRpb25zIjogewogICAgImdpdGh1YiI6ICJwZXRhci12IiwKICAgICJwYXlwYWwiOiAicGV0YXJ2NzMiCiAgfSwKICAiZ2V0dGV4dC1kb21haW4iOiAib3JnLnBzaG93LmdyYWRpZW50dG9wYmFyIiwKICAiaGFzUHJlZnMiOiB0cnVlLAogICJpY29uIjogIi4vYXNzZXRzL2xvZ28ucG5nIiwKICAibmFtZSI6ICJHcmFkaWVudCBUb3AgQmFyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm9yZy5wc2hvdy5ncmFkaWVudHRvcGJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9wZXRhci12L2dyYWRpZW50dG9wYmFyIiwKICAidXVpZCI6ICJncmFkaWVudHRvcGJhckBwc2hvdy5vcmciLAogICJ2ZXJzaW9uIjogMTgKfQ=="}
   }}
 , {"uuid": "note@eexpss.gmail.com", "name": "note", "pname": "note", "description": "Add selected text to Note.\n- Notes automatic recognition and sort as 'Directory' 'Command' 'Clipboard'.\n- 'Directory': Mouse 1/2/3 act as 'Open in Files/Open in termianl/Paste dir'. It can be used as a temporary bookmark. And any click will change the working diretory in real time.\n- 'Command': Mouse 1/3 as 'Excute command in Terminal/Paste cmd'.\n- 'Clipboard': Mouse act as 'Paste to Clipboard(PRIMARY)'.\n- Terminal support kgx(new gnome-console) and gnome-terminal.", "link": "https://extensions.gnome.org/extension/4962/note/", "shell_version_map": {
     "42": {"version": "7", "sha256": "1niwlhls41l92g0bcllp4y4bdhn7k310514xkd36rn61pqz9b7q6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBzZWxlY3RlZCB0ZXh0IHRvIE5vdGUuXG4tIE5vdGVzIGF1dG9tYXRpYyByZWNvZ25pdGlvbiBhbmQgc29ydCBhcyAnRGlyZWN0b3J5JyAnQ29tbWFuZCcgJ0NsaXBib2FyZCcuXG4tICdEaXJlY3RvcnknOiBNb3VzZSAxLzIvMyBhY3QgYXMgJ09wZW4gaW4gRmlsZXMvT3BlbiBpbiB0ZXJtaWFubC9QYXN0ZSBkaXInLiBJdCBjYW4gYmUgdXNlZCBhcyBhIHRlbXBvcmFyeSBib29rbWFyay4gQW5kIGFueSBjbGljayB3aWxsIGNoYW5nZSB0aGUgd29ya2luZyBkaXJldG9yeSBpbiByZWFsIHRpbWUuXG4tICdDb21tYW5kJzogTW91c2UgMS8zIGFzICdFeGN1dGUgY29tbWFuZCBpbiBUZXJtaW5hbC9QYXN0ZSBjbWQnLlxuLSAnQ2xpcGJvYXJkJzogTW91c2UgYWN0IGFzICdQYXN0ZSB0byBDbGlwYm9hcmQoUFJJTUFSWSknLlxuLSBUZXJtaW5hbCBzdXBwb3J0IGtneChuZXcgZ25vbWUtY29uc29sZSkgYW5kIGdub21lLXRlcm1pbmFsLiIsCiAgImdldHRleHQtZG9tYWluIjogIm5vdGUiLAogICJuYW1lIjogIm5vdGUiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubm90ZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9lZXhwcmVzcy9ncy1ub3RlIiwKICAidXVpZCI6ICJub3RlQGVleHBzcy5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNwp9"}
@@ -5108,7 +5115,7 @@
     "42": {"version": "4", "sha256": "0ih1zrbsky7qdhm3ga8q6xdr5mwi87b2w96lqaqiy6pmxqnbfc78", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuc3VyZSB0aGF0IEZpcmVmb3ggUGljdHVyZS1pbi1QaWN0dXJlIHdpbmRvdyBhcmUgYWx3YXlzIG9uIHRvcCIsCiAgIm5hbWUiOiAiRmlyZWZveCBQaVAgQWx3YXlzIG9uIFRvcCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Jlbm55cG93ZXJzL2dub21lLXNoZWxsLWV4dGVuc2lvbi1maXJlZm94LXBpcCIsCiAgInV1aWQiOiAiZmlyZWZveC1waXBAYmVubnlwb3dlcnMuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="},
     "43": {"version": "4", "sha256": "0ih1zrbsky7qdhm3ga8q6xdr5mwi87b2w96lqaqiy6pmxqnbfc78", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuc3VyZSB0aGF0IEZpcmVmb3ggUGljdHVyZS1pbi1QaWN0dXJlIHdpbmRvdyBhcmUgYWx3YXlzIG9uIHRvcCIsCiAgIm5hbWUiOiAiRmlyZWZveCBQaVAgQWx3YXlzIG9uIFRvcCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Jlbm55cG93ZXJzL2dub21lLXNoZWxsLWV4dGVuc2lvbi1maXJlZm94LXBpcCIsCiAgInV1aWQiOiAiZmlyZWZveC1waXBAYmVubnlwb3dlcnMuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="},
     "44": {"version": "4", "sha256": "0ih1zrbsky7qdhm3ga8q6xdr5mwi87b2w96lqaqiy6pmxqnbfc78", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuc3VyZSB0aGF0IEZpcmVmb3ggUGljdHVyZS1pbi1QaWN0dXJlIHdpbmRvdyBhcmUgYWx3YXlzIG9uIHRvcCIsCiAgIm5hbWUiOiAiRmlyZWZveCBQaVAgQWx3YXlzIG9uIFRvcCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Jlbm55cG93ZXJzL2dub21lLXNoZWxsLWV4dGVuc2lvbi1maXJlZm94LXBpcCIsCiAgInV1aWQiOiAiZmlyZWZveC1waXBAYmVubnlwb3dlcnMuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="},
-    "45": {"version": "7", "sha256": "0ax7i8c1n1nvlj2fh4g2niyy2xvvsdvay73i44ff7iypa76dgpj0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuc3VyZSB0aGF0IEZpcmVmb3ggUGljdHVyZS1pbi1QaWN0dXJlIHdpbmRvdyBhcmUgYWx3YXlzIG9uIHRvcCIsCiAgIm5hbWUiOiAiRmlyZWZveCBQaVAgQWx3YXlzIG9uIFRvcCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9iZW5ueXBvd2Vycy9nbm9tZS1zaGVsbC1leHRlbnNpb24tZmlyZWZveC1waXAiLAogICJ1dWlkIjogImZpcmVmb3gtcGlwQGJlbm55cG93ZXJzLmNvbSIsCiAgInZlcnNpb24iOiA3Cn0="}
+    "45": {"version": "8", "sha256": "13jd2arnhr9kqhrjhn7v448wmc17clzk9wbdq6dj19sidqcpyhxz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuc3VyZSB0aGF0IEZpcmVmb3ggUGljdHVyZS1pbi1QaWN0dXJlIHdpbmRvdyBhcmUgYWx3YXlzIG9uIHRvcCIsCiAgIm5hbWUiOiAiRmlyZWZveCBQaVAgQWx3YXlzIG9uIFRvcCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9iZW5ueXBvd2Vycy9nbm9tZS1zaGVsbC1leHRlbnNpb24tZmlyZWZveC1waXAiLAogICJ1dWlkIjogImZpcmVmb3gtcGlwQGJlbm55cG93ZXJzLmNvbSIsCiAgInZlcnNpb24iOiA4Cn0="}
   }}
 , {"uuid": "activitiesworkspacename@ahmafi.ir", "name": "Activities Workspace Name", "pname": "activities-workspace-name", "description": "Replace Activities Text with Current Workspace Name", "link": "https://extensions.gnome.org/extension/5311/activities-workspace-name/", "shell_version_map": {
     "42": {"version": "8", "sha256": "1ncp8pdflbb0xkpgnp619pgqj2a30svb77b4v3rbrf31cdhcw0zw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlcGxhY2UgQWN0aXZpdGllcyBUZXh0IHdpdGggQ3VycmVudCBXb3Jrc3BhY2UgTmFtZSIsCiAgIm5hbWUiOiAiQWN0aXZpdGllcyBXb3Jrc3BhY2UgTmFtZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FobWFmaS9nbm9tZS1hY3Rpdml0aWVzLXdvcmtzcGFjZS1uYW1lIiwKICAidXVpZCI6ICJhY3Rpdml0aWVzd29ya3NwYWNlbmFtZUBhaG1hZmkuaXIiLAogICJ2ZXJzaW9uIjogOAp9"},
@@ -5341,7 +5348,8 @@
   }}
 , {"uuid": "compact-quick-settings@gnome-shell-extensions.mariospr.org", "name": "Compact Quick Settings", "pname": "compact-quick-settings", "description": "Compact quick settings menu for GNOME 43 and newer", "link": "https://extensions.gnome.org/extension/5527/compact-quick-settings/", "shell_version_map": {
     "43": {"version": "3", "sha256": "04ffksmfc27gya24x2fj0zpax3yj1kwjdwn33a99rxpypmicvpwf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbXBhY3QgcXVpY2sgc2V0dGluZ3MgbWVudSBmb3IgR05PTUUgNDMgYW5kIG5ld2VyIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiIiwKICAibmFtZSI6ICJDb21wYWN0IFF1aWNrIFNldHRpbmdzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21hcmlvc3ByL2NvbXBhY3QtcXVpY2stc2V0dGluZ3MtZ25vbWUtc2hlbGwtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJjb21wYWN0LXF1aWNrLXNldHRpbmdzQGdub21lLXNoZWxsLWV4dGVuc2lvbnMubWFyaW9zcHIub3JnIiwKICAidmVyc2lvbiI6IDMKfQ=="},
-    "44": {"version": "4", "sha256": "05cssrkk4kk9vix98abvy3i6ms3495sz5jpi496srnnbxs500y4v", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbXBhY3QgcXVpY2sgc2V0dGluZ3MgbWVudSBmb3IgR05PTUUgNDMgYW5kIG5ld2VyIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiIiwKICAibmFtZSI6ICJDb21wYWN0IFF1aWNrIFNldHRpbmdzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21hcmlvc3ByL2NvbXBhY3QtcXVpY2stc2V0dGluZ3MtZ25vbWUtc2hlbGwtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJjb21wYWN0LXF1aWNrLXNldHRpbmdzQGdub21lLXNoZWxsLWV4dGVuc2lvbnMubWFyaW9zcHIub3JnIiwKICAidmVyc2lvbiI6IDQKfQ=="}
+    "44": {"version": "4", "sha256": "05cssrkk4kk9vix98abvy3i6ms3495sz5jpi496srnnbxs500y4v", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbXBhY3QgcXVpY2sgc2V0dGluZ3MgbWVudSBmb3IgR05PTUUgNDMgYW5kIG5ld2VyIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiIiwKICAibmFtZSI6ICJDb21wYWN0IFF1aWNrIFNldHRpbmdzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21hcmlvc3ByL2NvbXBhY3QtcXVpY2stc2V0dGluZ3MtZ25vbWUtc2hlbGwtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJjb21wYWN0LXF1aWNrLXNldHRpbmdzQGdub21lLXNoZWxsLWV4dGVuc2lvbnMubWFyaW9zcHIub3JnIiwKICAidmVyc2lvbiI6IDQKfQ=="},
+    "45": {"version": "7", "sha256": "1ir3wqcg9cdy1hs8icvkv7rv5hr47s1lrdz04y75vviwv406r6jm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbXBhY3QgcXVpY2sgc2V0dGluZ3MgbWVudSBmb3IgR05PTUUgNDMgYW5kIG5ld2VyIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiIiwKICAibmFtZSI6ICJDb21wYWN0IFF1aWNrIFNldHRpbmdzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21hcmlvc3ByL2NvbXBhY3QtcXVpY2stc2V0dGluZ3MtZ25vbWUtc2hlbGwtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJjb21wYWN0LXF1aWNrLXNldHRpbmdzQGdub21lLXNoZWxsLWV4dGVuc2lvbnMubWFyaW9zcHIub3JnIiwKICAidmVyc2lvbiI6IDcKfQ=="}
   }}
 , {"uuid": "circular@widgets.io", "name": "Circular Widgets", "pname": "circular-widgets", "description": "Conky Like widgets but with few customisation options\n- Drag and Drop Support\n- Added Non customisable Calendar\n- Added Net Speed Widget\n- Highly Customisable Ram, Cpu, Clock and Net Speed Widget\nFor any issues,bugs and suggestions plz open an issue on Github", "link": "https://extensions.gnome.org/extension/5530/circular-widgets/", "shell_version_map": {
     "43": {"version": "6", "sha256": "1cbgjlyfh8y741aswps61qyi3cz6vlv6wn1isbv47x7p40rhfxy3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbmt5IExpa2Ugd2lkZ2V0cyBidXQgd2l0aCBmZXcgY3VzdG9taXNhdGlvbiBvcHRpb25zXG4tIERyYWcgYW5kIERyb3AgU3VwcG9ydFxuLSBBZGRlZCBOb24gY3VzdG9taXNhYmxlIENhbGVuZGFyXG4tIEFkZGVkIE5ldCBTcGVlZCBXaWRnZXRcbi0gSGlnaGx5IEN1c3RvbWlzYWJsZSBSYW0sIENwdSwgQ2xvY2sgYW5kIE5ldCBTcGVlZCBXaWRnZXRcbkZvciBhbnkgaXNzdWVzLGJ1Z3MgYW5kIHN1Z2dlc3Rpb25zIHBseiBvcGVuIGFuIGlzc3VlIG9uIEdpdGh1YiIsCiAgIm5hbWUiOiAiQ2lyY3VsYXIgV2lkZ2V0cyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5jaXJjdWxhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9yYWloYW4yMDAwL2NpcmN1bGFyLXdpZGdldHMiLAogICJ1dWlkIjogImNpcmN1bGFyQHdpZGdldHMuaW8iLAogICJ2ZXJzaW9uIjogNgp9"}
@@ -5507,7 +5515,7 @@
     "43": {"version": "3", "sha256": "1ncyvlk5d9lq7lbimq5ihd8p929abwrbyvlgv45has5gwl7hd2i8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgbWluaW1hbCBEb3dubG9hZHMgbWFuYWdlciBmb3IgdGhlIGdub21lIHNoZWxsLlxuIiwKICAibmFtZSI6ICJEb3dubG9hZHMgSW5kaWNhdG9yIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJEaWVnMEpzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9EaWVnMEpzL2dub21lLWRvd25sb2Fkcy1pbmRpY2F0b3IiLAogICJ1dWlkIjogImRvd25sb2Fkcy1pbmRpY2F0b3JARGllZzBKcy5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMwp9"},
     "44": {"version": "3", "sha256": "1ncyvlk5d9lq7lbimq5ihd8p929abwrbyvlgv45has5gwl7hd2i8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgbWluaW1hbCBEb3dubG9hZHMgbWFuYWdlciBmb3IgdGhlIGdub21lIHNoZWxsLlxuIiwKICAibmFtZSI6ICJEb3dubG9hZHMgSW5kaWNhdG9yIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJEaWVnMEpzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9EaWVnMEpzL2dub21lLWRvd25sb2Fkcy1pbmRpY2F0b3IiLAogICJ1dWlkIjogImRvd25sb2Fkcy1pbmRpY2F0b3JARGllZzBKcy5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMwp9"}
   }}
-, {"uuid": "trash-indicator@Dieg0Js.github.io", "name": "Trash Indicator", "pname": "trash-indicator", "description": "A minimal Trash manager for the gnome shell. \n- View\n- Restore\n- Delete\nFork of Gnome Trash from Axel von Bertoldi.", "link": "https://extensions.gnome.org/extension/5715/trash-indicator/", "shell_version_map": {
+, {"uuid": "trash-indicator@Dieg0Js.github.io", "name": "Trash Indicator", "pname": "trash-indicator", "description": "A minimal Trash manager for the gnome shell. Fork of Gnome Trash from Axel von Bertoldi.", "link": "https://extensions.gnome.org/extension/5715/trash-indicator/", "shell_version_map": {
     "40": {"version": "4", "sha256": "0vzbygakbp52yvpsgkv3d6krl37fnjv8nkgjvl77h0rigb47nd5g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgbWluaW1hbCBUcmFzaCBtYW5hZ2VyIGZvciB0aGUgZ25vbWUgc2hlbGwuIFxuLSBWaWV3XG4tIFJlc3RvcmVcbi0gRGVsZXRlXG5Gb3JrIG9mIEdub21lIFRyYXNoIGZyb20gQXhlbCB2b24gQmVydG9sZGkuIiwKICAibmFtZSI6ICJUcmFzaCBJbmRpY2F0b3IiLAogICJvcmlnaW5hbC1hdXRob3JzIjogIkRpZWcwSnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0RpZWcwSnMvZ25vbWUtdHJhc2gtaW5kaWNhdG9yIiwKICAidXVpZCI6ICJ0cmFzaC1pbmRpY2F0b3JARGllZzBKcy5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogNAp9"},
     "41": {"version": "4", "sha256": "0vzbygakbp52yvpsgkv3d6krl37fnjv8nkgjvl77h0rigb47nd5g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgbWluaW1hbCBUcmFzaCBtYW5hZ2VyIGZvciB0aGUgZ25vbWUgc2hlbGwuIFxuLSBWaWV3XG4tIFJlc3RvcmVcbi0gRGVsZXRlXG5Gb3JrIG9mIEdub21lIFRyYXNoIGZyb20gQXhlbCB2b24gQmVydG9sZGkuIiwKICAibmFtZSI6ICJUcmFzaCBJbmRpY2F0b3IiLAogICJvcmlnaW5hbC1hdXRob3JzIjogIkRpZWcwSnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0RpZWcwSnMvZ25vbWUtdHJhc2gtaW5kaWNhdG9yIiwKICAidXVpZCI6ICJ0cmFzaC1pbmRpY2F0b3JARGllZzBKcy5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogNAp9"},
     "42": {"version": "4", "sha256": "0vzbygakbp52yvpsgkv3d6krl37fnjv8nkgjvl77h0rigb47nd5g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgbWluaW1hbCBUcmFzaCBtYW5hZ2VyIGZvciB0aGUgZ25vbWUgc2hlbGwuIFxuLSBWaWV3XG4tIFJlc3RvcmVcbi0gRGVsZXRlXG5Gb3JrIG9mIEdub21lIFRyYXNoIGZyb20gQXhlbCB2b24gQmVydG9sZGkuIiwKICAibmFtZSI6ICJUcmFzaCBJbmRpY2F0b3IiLAogICJvcmlnaW5hbC1hdXRob3JzIjogIkRpZWcwSnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0RpZWcwSnMvZ25vbWUtdHJhc2gtaW5kaWNhdG9yIiwKICAidXVpZCI6ICJ0cmFzaC1pbmRpY2F0b3JARGllZzBKcy5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogNAp9"},
@@ -5519,18 +5527,18 @@
     "44": {"version": "8", "sha256": "18nqax5gs2nrkjgndj7ikvl6hhxbpxgv355krzz36dsmw2mvzqa4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlcGxhY2UgdGhlIGJhdHRlcnkgaW5kaWNhdG9yIGljb24gd2l0aCBhIGNpcmNsZSBvciBwb3J0cmFpdC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJiYXR0ZXJ5LWluZGljYXRvci1pY29uIiwKICAibmFtZSI6ICJCYXR0ZXJ5IEluZGljYXRvciBJY29uIiwKICAic2Vzc2lvbi1tb2RlcyI6IFsKICAgICJ1bmxvY2stZGlhbG9nIiwKICAgICJ1c2VyIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5iYXR0ZXJ5LWluZGljYXRvci1pY29uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9EZW1pbmRlci9iYXR0ZXJ5LWluZGljYXRvci1pY29uIiwKICAidXVpZCI6ICJiYXR0ZXJ5LWluZGljYXRvci1pY29uQERlbWluZGVyIiwKICAidmVyc2lvbiI6IDgKfQ=="},
     "45": {"version": "10", "sha256": "036hf7f1gkkikd0crzgq8sfcax6ax7x84hmbi95p78mqwm5wzfgk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlcGxhY2UgdGhlIGJhdHRlcnkgaW5kaWNhdG9yIGljb24gd2l0aCBhIGNpcmNsZSBvciBwb3J0cmFpdC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJiYXR0ZXJ5LWluZGljYXRvci1pY29uIiwKICAibmFtZSI6ICJCYXR0ZXJ5IEluZGljYXRvciBJY29uIiwKICAic2Vzc2lvbi1tb2RlcyI6IFsKICAgICJ1bmxvY2stZGlhbG9nIiwKICAgICJ1c2VyIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5iYXR0ZXJ5LWluZGljYXRvci1pY29uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0RlbWluZGVyL2JhdHRlcnktaW5kaWNhdG9yLWljb24iLAogICJ1dWlkIjogImJhdHRlcnktaW5kaWNhdG9yLWljb25ARGVtaW5kZXIiLAogICJ2ZXJzaW9uIjogMTAKfQ=="}
   }}
-, {"uuid": "clipboard-indicator@Dieg0Js.github.io", "name": "Clipboard Indicator", "pname": "clipboard-indicator", "description": "A minimal clipboard indicator for the gnome shell", "link": "https://extensions.gnome.org/extension/5721/clipboard-indicator/", "shell_version_map": {
+, {"uuid": "clipboard-indicator@Dieg0Js.github.io", "name": "Clipboard Indicator", "pname": "clipboard-indicator", "description": "A minimal clipboard indicator for the gnome shell. Fork of Clipman by popov895.", "link": "https://extensions.gnome.org/extension/5721/clipboard-indicator/", "shell_version_map": {
     "40": {"version": "4", "sha256": "0jszkq48sac8i7pgdgyfcyyqpc4jq3shaj0ghm9hwahs9qd040h3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgbWluaW1hbCBjbGlwYm9hcmQgaW5kaWNhdG9yIGZvciB0aGUgZ25vbWUgc2hlbGwiLAogICJuYW1lIjogIkNsaXBib2FyZCBJbmRpY2F0b3IiLAogICJvcmlnaW5hbC1hdXRob3JzIjogIkRpZWcwSnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0RpZWcwSnMvZ25vbWUtY2xpcGJvYXJkLWluZGljYXRvciIsCiAgInV1aWQiOiAiY2xpcGJvYXJkLWluZGljYXRvckBEaWVnMEpzLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiA0Cn0="},
     "41": {"version": "4", "sha256": "0jszkq48sac8i7pgdgyfcyyqpc4jq3shaj0ghm9hwahs9qd040h3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgbWluaW1hbCBjbGlwYm9hcmQgaW5kaWNhdG9yIGZvciB0aGUgZ25vbWUgc2hlbGwiLAogICJuYW1lIjogIkNsaXBib2FyZCBJbmRpY2F0b3IiLAogICJvcmlnaW5hbC1hdXRob3JzIjogIkRpZWcwSnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0RpZWcwSnMvZ25vbWUtY2xpcGJvYXJkLWluZGljYXRvciIsCiAgInV1aWQiOiAiY2xpcGJvYXJkLWluZGljYXRvckBEaWVnMEpzLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiA0Cn0="},
     "42": {"version": "4", "sha256": "0jszkq48sac8i7pgdgyfcyyqpc4jq3shaj0ghm9hwahs9qd040h3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgbWluaW1hbCBjbGlwYm9hcmQgaW5kaWNhdG9yIGZvciB0aGUgZ25vbWUgc2hlbGwiLAogICJuYW1lIjogIkNsaXBib2FyZCBJbmRpY2F0b3IiLAogICJvcmlnaW5hbC1hdXRob3JzIjogIkRpZWcwSnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0RpZWcwSnMvZ25vbWUtY2xpcGJvYXJkLWluZGljYXRvciIsCiAgInV1aWQiOiAiY2xpcGJvYXJkLWluZGljYXRvckBEaWVnMEpzLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiA0Cn0="},
     "43": {"version": "4", "sha256": "0jszkq48sac8i7pgdgyfcyyqpc4jq3shaj0ghm9hwahs9qd040h3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgbWluaW1hbCBjbGlwYm9hcmQgaW5kaWNhdG9yIGZvciB0aGUgZ25vbWUgc2hlbGwiLAogICJuYW1lIjogIkNsaXBib2FyZCBJbmRpY2F0b3IiLAogICJvcmlnaW5hbC1hdXRob3JzIjogIkRpZWcwSnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0RpZWcwSnMvZ25vbWUtY2xpcGJvYXJkLWluZGljYXRvciIsCiAgInV1aWQiOiAiY2xpcGJvYXJkLWluZGljYXRvckBEaWVnMEpzLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiA0Cn0="},
     "44": {"version": "4", "sha256": "0jszkq48sac8i7pgdgyfcyyqpc4jq3shaj0ghm9hwahs9qd040h3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgbWluaW1hbCBjbGlwYm9hcmQgaW5kaWNhdG9yIGZvciB0aGUgZ25vbWUgc2hlbGwiLAogICJuYW1lIjogIkNsaXBib2FyZCBJbmRpY2F0b3IiLAogICJvcmlnaW5hbC1hdXRob3JzIjogIkRpZWcwSnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0RpZWcwSnMvZ25vbWUtY2xpcGJvYXJkLWluZGljYXRvciIsCiAgInV1aWQiOiAiY2xpcGJvYXJkLWluZGljYXRvckBEaWVnMEpzLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiA0Cn0="}
   }}
-, {"uuid": "Battery-Health-Charging@maniacx.github.com", "name": "Battery Health Charging", "pname": "battery-health-charging", "description": "Set battery charging threshold / charging limit / charging mode\nBattery Health Charging: An extension to maximize the battery life of laptops by setting their charging threshold or modes.\n\nCompatible with\n- Asus \n- LG \n- Samsung \n- Sony \n- Huawei \n- Toshiba \n- System76 \n- Lenovo (Ideapad, Legion) \n- Thinkpad \n- Panasonic \n- Acer (dependecies: custom dkms) \n- MSI (dependecies: custom dkms) \n- Tuxedo (dependecies: custom dkms) \n- Slimbook IntelQC71 (dependecies: custom dkms) \n- Tuxedo IntelQC71 (dependecies: custom dkms) \n- XMG IntelQC71 (dependecies: custom dkms) \n- Eluktronics IntelQC71 (dependecies: custom dkms) \n- Gigabyte Aero/Aorus (dependecies: custom dkms) \n- Dell (dependecies: custom package libsmbios) \n- Dell (dependecies: custom package Dell Command Center) \n- Apple Macbook Intel-series chip (dependecies: custom dkms) \n- Apple Macbook M-series chip (dependecies: custom kernel) \n- Razer (dependecies: custom package razer-cli) \n\nNot all models are comaptible. Please read about the compatibility and dependencies of your device on github link below.\n\nhttps://maniacx.github.io/Battery-Health-Charging/", "link": "https://extensions.gnome.org/extension/5724/battery-health-charging/", "shell_version_map": {
-    "42": {"version": "36", "sha256": "1bsa8kgfnpninir036c87xjcmxjd3c7rn3f8l0r5rwqdnnigkf6m", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNldCBiYXR0ZXJ5IGNoYXJnaW5nIHRocmVzaG9sZCAvIGNoYXJnaW5nIGxpbWl0IC8gY2hhcmdpbmcgbW9kZVxuQmF0dGVyeSBIZWFsdGggQ2hhcmdpbmc6IEFuIGV4dGVuc2lvbiB0byBtYXhpbWl6ZSB0aGUgYmF0dGVyeSBsaWZlIG9mIGxhcHRvcHMgYnkgc2V0dGluZyB0aGVpciBjaGFyZ2luZyB0aHJlc2hvbGQgb3IgbW9kZXMuXG5cbkNvbXBhdGlibGUgd2l0aFxuLSBBc3VzIFxuLSBMRyBcbi0gU2Ftc3VuZyBcbi0gU29ueSBcbi0gSHVhd2VpIFxuLSBUb3NoaWJhIFxuLSBTeXN0ZW03NiBcbi0gTGVub3ZvIChJZGVhcGFkLCBMZWdpb24pIFxuLSBUaGlua3BhZCBcbi0gUGFuYXNvbmljIFxuLSBBY2VyIChkZXBlbmRlY2llczogY3VzdG9tIGRrbXMpIFxuLSBNU0kgKGRlcGVuZGVjaWVzOiBjdXN0b20gZGttcykgXG4tIFR1eGVkbyAoZGVwZW5kZWNpZXM6IGN1c3RvbSBka21zKSBcbi0gU2xpbWJvb2sgSW50ZWxRQzcxIChkZXBlbmRlY2llczogY3VzdG9tIGRrbXMpIFxuLSBUdXhlZG8gSW50ZWxRQzcxIChkZXBlbmRlY2llczogY3VzdG9tIGRrbXMpIFxuLSBYTUcgSW50ZWxRQzcxIChkZXBlbmRlY2llczogY3VzdG9tIGRrbXMpIFxuLSBFbHVrdHJvbmljcyBJbnRlbFFDNzEgKGRlcGVuZGVjaWVzOiBjdXN0b20gZGttcykgXG4tIEdpZ2FieXRlIEFlcm8vQW9ydXMgKGRlcGVuZGVjaWVzOiBjdXN0b20gZGttcykgXG4tIERlbGwgKGRlcGVuZGVjaWVzOiBjdXN0b20gcGFja2FnZSBsaWJzbWJpb3MpIFxuLSBEZWxsIChkZXBlbmRlY2llczogY3VzdG9tIHBhY2thZ2UgRGVsbCBDb21tYW5kIENlbnRlcikgXG4tIEFwcGxlIE1hY2Jvb2sgSW50ZWwtc2VyaWVzIGNoaXAgKGRlcGVuZGVjaWVzOiBjdXN0b20gZGttcykgXG4tIEFwcGxlIE1hY2Jvb2sgTS1zZXJpZXMgY2hpcCAoZGVwZW5kZWNpZXM6IGN1c3RvbSBrZXJuZWwpIFxuLSBSYXplciAoZGVwZW5kZWNpZXM6IGN1c3RvbSBwYWNrYWdlIHJhemVyLWNsaSkgXG5cbk5vdCBhbGwgbW9kZWxzIGFyZSBjb21hcHRpYmxlLiBQbGVhc2UgcmVhZCBhYm91dCB0aGUgY29tcGF0aWJpbGl0eSBhbmQgZGVwZW5kZW5jaWVzIG9mIHlvdXIgZGV2aWNlIG9uIGdpdGh1YiBsaW5rIGJlbG93LlxuXG5odHRwczovL21hbmlhY3guZ2l0aHViLmlvL0JhdHRlcnktSGVhbHRoLUNoYXJnaW5nLyIsCiAgImdldHRleHQtZG9tYWluIjogIkJhdHRlcnktSGVhbHRoLUNoYXJnaW5nQG1hbmlhY3guZ2l0aHViLmNvbSIsCiAgIm5hbWUiOiAiQmF0dGVyeSBIZWFsdGggQ2hhcmdpbmciLAogICJzZXNzaW9uLW1vZGVzIjogWwogICAgInVubG9jay1kaWFsb2ciLAogICAgInVzZXIiCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLkJhdHRlcnktSGVhbHRoLUNoYXJnaW5nIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbWFuaWFjeC9CYXR0ZXJ5LUhlYWx0aC1DaGFyZ2luZyIsCiAgInV1aWQiOiAiQmF0dGVyeS1IZWFsdGgtQ2hhcmdpbmdAbWFuaWFjeC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDM2Cn0="},
-    "43": {"version": "36", "sha256": "1bsa8kgfnpninir036c87xjcmxjd3c7rn3f8l0r5rwqdnnigkf6m", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNldCBiYXR0ZXJ5IGNoYXJnaW5nIHRocmVzaG9sZCAvIGNoYXJnaW5nIGxpbWl0IC8gY2hhcmdpbmcgbW9kZVxuQmF0dGVyeSBIZWFsdGggQ2hhcmdpbmc6IEFuIGV4dGVuc2lvbiB0byBtYXhpbWl6ZSB0aGUgYmF0dGVyeSBsaWZlIG9mIGxhcHRvcHMgYnkgc2V0dGluZyB0aGVpciBjaGFyZ2luZyB0aHJlc2hvbGQgb3IgbW9kZXMuXG5cbkNvbXBhdGlibGUgd2l0aFxuLSBBc3VzIFxuLSBMRyBcbi0gU2Ftc3VuZyBcbi0gU29ueSBcbi0gSHVhd2VpIFxuLSBUb3NoaWJhIFxuLSBTeXN0ZW03NiBcbi0gTGVub3ZvIChJZGVhcGFkLCBMZWdpb24pIFxuLSBUaGlua3BhZCBcbi0gUGFuYXNvbmljIFxuLSBBY2VyIChkZXBlbmRlY2llczogY3VzdG9tIGRrbXMpIFxuLSBNU0kgKGRlcGVuZGVjaWVzOiBjdXN0b20gZGttcykgXG4tIFR1eGVkbyAoZGVwZW5kZWNpZXM6IGN1c3RvbSBka21zKSBcbi0gU2xpbWJvb2sgSW50ZWxRQzcxIChkZXBlbmRlY2llczogY3VzdG9tIGRrbXMpIFxuLSBUdXhlZG8gSW50ZWxRQzcxIChkZXBlbmRlY2llczogY3VzdG9tIGRrbXMpIFxuLSBYTUcgSW50ZWxRQzcxIChkZXBlbmRlY2llczogY3VzdG9tIGRrbXMpIFxuLSBFbHVrdHJvbmljcyBJbnRlbFFDNzEgKGRlcGVuZGVjaWVzOiBjdXN0b20gZGttcykgXG4tIEdpZ2FieXRlIEFlcm8vQW9ydXMgKGRlcGVuZGVjaWVzOiBjdXN0b20gZGttcykgXG4tIERlbGwgKGRlcGVuZGVjaWVzOiBjdXN0b20gcGFja2FnZSBsaWJzbWJpb3MpIFxuLSBEZWxsIChkZXBlbmRlY2llczogY3VzdG9tIHBhY2thZ2UgRGVsbCBDb21tYW5kIENlbnRlcikgXG4tIEFwcGxlIE1hY2Jvb2sgSW50ZWwtc2VyaWVzIGNoaXAgKGRlcGVuZGVjaWVzOiBjdXN0b20gZGttcykgXG4tIEFwcGxlIE1hY2Jvb2sgTS1zZXJpZXMgY2hpcCAoZGVwZW5kZWNpZXM6IGN1c3RvbSBrZXJuZWwpIFxuLSBSYXplciAoZGVwZW5kZWNpZXM6IGN1c3RvbSBwYWNrYWdlIHJhemVyLWNsaSkgXG5cbk5vdCBhbGwgbW9kZWxzIGFyZSBjb21hcHRpYmxlLiBQbGVhc2UgcmVhZCBhYm91dCB0aGUgY29tcGF0aWJpbGl0eSBhbmQgZGVwZW5kZW5jaWVzIG9mIHlvdXIgZGV2aWNlIG9uIGdpdGh1YiBsaW5rIGJlbG93LlxuXG5odHRwczovL21hbmlhY3guZ2l0aHViLmlvL0JhdHRlcnktSGVhbHRoLUNoYXJnaW5nLyIsCiAgImdldHRleHQtZG9tYWluIjogIkJhdHRlcnktSGVhbHRoLUNoYXJnaW5nQG1hbmlhY3guZ2l0aHViLmNvbSIsCiAgIm5hbWUiOiAiQmF0dGVyeSBIZWFsdGggQ2hhcmdpbmciLAogICJzZXNzaW9uLW1vZGVzIjogWwogICAgInVubG9jay1kaWFsb2ciLAogICAgInVzZXIiCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLkJhdHRlcnktSGVhbHRoLUNoYXJnaW5nIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbWFuaWFjeC9CYXR0ZXJ5LUhlYWx0aC1DaGFyZ2luZyIsCiAgInV1aWQiOiAiQmF0dGVyeS1IZWFsdGgtQ2hhcmdpbmdAbWFuaWFjeC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDM2Cn0="},
-    "44": {"version": "36", "sha256": "1bsa8kgfnpninir036c87xjcmxjd3c7rn3f8l0r5rwqdnnigkf6m", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNldCBiYXR0ZXJ5IGNoYXJnaW5nIHRocmVzaG9sZCAvIGNoYXJnaW5nIGxpbWl0IC8gY2hhcmdpbmcgbW9kZVxuQmF0dGVyeSBIZWFsdGggQ2hhcmdpbmc6IEFuIGV4dGVuc2lvbiB0byBtYXhpbWl6ZSB0aGUgYmF0dGVyeSBsaWZlIG9mIGxhcHRvcHMgYnkgc2V0dGluZyB0aGVpciBjaGFyZ2luZyB0aHJlc2hvbGQgb3IgbW9kZXMuXG5cbkNvbXBhdGlibGUgd2l0aFxuLSBBc3VzIFxuLSBMRyBcbi0gU2Ftc3VuZyBcbi0gU29ueSBcbi0gSHVhd2VpIFxuLSBUb3NoaWJhIFxuLSBTeXN0ZW03NiBcbi0gTGVub3ZvIChJZGVhcGFkLCBMZWdpb24pIFxuLSBUaGlua3BhZCBcbi0gUGFuYXNvbmljIFxuLSBBY2VyIChkZXBlbmRlY2llczogY3VzdG9tIGRrbXMpIFxuLSBNU0kgKGRlcGVuZGVjaWVzOiBjdXN0b20gZGttcykgXG4tIFR1eGVkbyAoZGVwZW5kZWNpZXM6IGN1c3RvbSBka21zKSBcbi0gU2xpbWJvb2sgSW50ZWxRQzcxIChkZXBlbmRlY2llczogY3VzdG9tIGRrbXMpIFxuLSBUdXhlZG8gSW50ZWxRQzcxIChkZXBlbmRlY2llczogY3VzdG9tIGRrbXMpIFxuLSBYTUcgSW50ZWxRQzcxIChkZXBlbmRlY2llczogY3VzdG9tIGRrbXMpIFxuLSBFbHVrdHJvbmljcyBJbnRlbFFDNzEgKGRlcGVuZGVjaWVzOiBjdXN0b20gZGttcykgXG4tIEdpZ2FieXRlIEFlcm8vQW9ydXMgKGRlcGVuZGVjaWVzOiBjdXN0b20gZGttcykgXG4tIERlbGwgKGRlcGVuZGVjaWVzOiBjdXN0b20gcGFja2FnZSBsaWJzbWJpb3MpIFxuLSBEZWxsIChkZXBlbmRlY2llczogY3VzdG9tIHBhY2thZ2UgRGVsbCBDb21tYW5kIENlbnRlcikgXG4tIEFwcGxlIE1hY2Jvb2sgSW50ZWwtc2VyaWVzIGNoaXAgKGRlcGVuZGVjaWVzOiBjdXN0b20gZGttcykgXG4tIEFwcGxlIE1hY2Jvb2sgTS1zZXJpZXMgY2hpcCAoZGVwZW5kZWNpZXM6IGN1c3RvbSBrZXJuZWwpIFxuLSBSYXplciAoZGVwZW5kZWNpZXM6IGN1c3RvbSBwYWNrYWdlIHJhemVyLWNsaSkgXG5cbk5vdCBhbGwgbW9kZWxzIGFyZSBjb21hcHRpYmxlLiBQbGVhc2UgcmVhZCBhYm91dCB0aGUgY29tcGF0aWJpbGl0eSBhbmQgZGVwZW5kZW5jaWVzIG9mIHlvdXIgZGV2aWNlIG9uIGdpdGh1YiBsaW5rIGJlbG93LlxuXG5odHRwczovL21hbmlhY3guZ2l0aHViLmlvL0JhdHRlcnktSGVhbHRoLUNoYXJnaW5nLyIsCiAgImdldHRleHQtZG9tYWluIjogIkJhdHRlcnktSGVhbHRoLUNoYXJnaW5nQG1hbmlhY3guZ2l0aHViLmNvbSIsCiAgIm5hbWUiOiAiQmF0dGVyeSBIZWFsdGggQ2hhcmdpbmciLAogICJzZXNzaW9uLW1vZGVzIjogWwogICAgInVubG9jay1kaWFsb2ciLAogICAgInVzZXIiCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLkJhdHRlcnktSGVhbHRoLUNoYXJnaW5nIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbWFuaWFjeC9CYXR0ZXJ5LUhlYWx0aC1DaGFyZ2luZyIsCiAgInV1aWQiOiAiQmF0dGVyeS1IZWFsdGgtQ2hhcmdpbmdAbWFuaWFjeC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDM2Cn0="},
-    "45": {"version": "37", "sha256": "043avgmh2zjbcj4rs2kjyi6yrpxam4i7hm9rp9x4m6vixxgsz6r3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNldCBiYXR0ZXJ5IGNoYXJnaW5nIHRocmVzaG9sZCAvIGNoYXJnaW5nIGxpbWl0IC8gY2hhcmdpbmcgbW9kZVxuQmF0dGVyeSBIZWFsdGggQ2hhcmdpbmc6IEFuIGV4dGVuc2lvbiB0byBtYXhpbWl6ZSB0aGUgYmF0dGVyeSBsaWZlIG9mIGxhcHRvcHMgYnkgc2V0dGluZyB0aGVpciBjaGFyZ2luZyB0aHJlc2hvbGQgb3IgbW9kZXMuXG5cbkNvbXBhdGlibGUgd2l0aFxuLSBBc3VzIFxuLSBMRyBcbi0gU2Ftc3VuZyBcbi0gU29ueSBcbi0gSHVhd2VpIFxuLSBUb3NoaWJhIFxuLSBTeXN0ZW03NiBcbi0gTGVub3ZvIChJZGVhcGFkLCBMZWdpb24pIFxuLSBUaGlua3BhZCBcbi0gUGFuYXNvbmljIFxuLSBBY2VyIChkZXBlbmRlY2llczogY3VzdG9tIGRrbXMpIFxuLSBNU0kgKGRlcGVuZGVjaWVzOiBjdXN0b20gZGttcykgXG4tIFR1eGVkbyAoZGVwZW5kZWNpZXM6IGN1c3RvbSBka21zKSBcbi0gU2xpbWJvb2sgSW50ZWxRQzcxIChkZXBlbmRlY2llczogY3VzdG9tIGRrbXMpIFxuLSBUdXhlZG8gSW50ZWxRQzcxIChkZXBlbmRlY2llczogY3VzdG9tIGRrbXMpIFxuLSBYTUcgSW50ZWxRQzcxIChkZXBlbmRlY2llczogY3VzdG9tIGRrbXMpIFxuLSBFbHVrdHJvbmljcyBJbnRlbFFDNzEgKGRlcGVuZGVjaWVzOiBjdXN0b20gZGttcykgXG4tIEdpZ2FieXRlIEFlcm8vQW9ydXMgKGRlcGVuZGVjaWVzOiBjdXN0b20gZGttcykgXG4tIERlbGwgKGRlcGVuZGVjaWVzOiBjdXN0b20gcGFja2FnZSBsaWJzbWJpb3MpIFxuLSBEZWxsIChkZXBlbmRlY2llczogY3VzdG9tIHBhY2thZ2UgRGVsbCBDb21tYW5kIENlbnRlcikgXG4tIEFwcGxlIE1hY2Jvb2sgSW50ZWwtc2VyaWVzIGNoaXAgKGRlcGVuZGVjaWVzOiBjdXN0b20gZGttcykgXG4tIEFwcGxlIE1hY2Jvb2sgTS1zZXJpZXMgY2hpcCAoZGVwZW5kZWNpZXM6IGN1c3RvbSBrZXJuZWwpIFxuLSBSYXplciAoZGVwZW5kZWNpZXM6IGN1c3RvbSBwYWNrYWdlIHJhemVyLWNsaSkgXG5cbk5vdCBhbGwgbW9kZWxzIGFyZSBjb21hcHRpYmxlLiBQbGVhc2UgcmVhZCBhYm91dCB0aGUgY29tcGF0aWJpbGl0eSBhbmQgZGVwZW5kZW5jaWVzIG9mIHlvdXIgZGV2aWNlIG9uIGdpdGh1YiBsaW5rIGJlbG93LlxuXG5odHRwczovL21hbmlhY3guZ2l0aHViLmlvL0JhdHRlcnktSGVhbHRoLUNoYXJnaW5nLyIsCiAgImdldHRleHQtZG9tYWluIjogIkJhdHRlcnktSGVhbHRoLUNoYXJnaW5nQG1hbmlhY3guZ2l0aHViLmNvbSIsCiAgIm5hbWUiOiAiQmF0dGVyeSBIZWFsdGggQ2hhcmdpbmciLAogICJzZXNzaW9uLW1vZGVzIjogWwogICAgInVubG9jay1kaWFsb2ciLAogICAgInVzZXIiCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLkJhdHRlcnktSGVhbHRoLUNoYXJnaW5nIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21hbmlhY3gvQmF0dGVyeS1IZWFsdGgtQ2hhcmdpbmciLAogICJ1dWlkIjogIkJhdHRlcnktSGVhbHRoLUNoYXJnaW5nQG1hbmlhY3guZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAzNwp9"}
+, {"uuid": "Battery-Health-Charging@maniacx.github.com", "name": "Battery Health Charging", "pname": "battery-health-charging", "description": "Set battery charging threshold / charging limit / charging mode\nBattery Health Charging: An extension to maximize the battery life of laptops by setting their charging threshold or modes.\n\nCompatible with\n- Asus\n- LG\n- Samsung\n- Sony\n- Huawei\n- Toshiba\n- System76\n- Lenovo (Ideapad, Legion)\n- Thinkpad\n- Panasonic\n- Acer (dependecies: kernel module)\n- MSI (dependecies: kernel module)\n- Tuxedo (dependecies: kernel module)\n- Slimbook (dependecies: kernel module)\n- Tuxedo IntelQC71 (dependecies: kernel module)\n- XMG IntelQC71 (dependecies: kernel module)\n- Eluktronics IntelQC71 (dependecies: kernel module)\n- Gigabyte Aero/Aorus (dependecies: kernel module)\n- Dell (dependecies: custom package libsmbios)\n- Dell (dependecies: custom package Dell Command Center)\n- Apple Macbook Intel-series chip (dependecies: kernel module)\n- Apple Macbook M-series chip (dependecies: custom kernel)\n- Razer (dependecies: custom package razer-cli)\n- Framework (dependecies: kernel module)\n\nNot all models are comaptible. Please read about the compatibility and dependencies of your device on github link below.\n\nhttps://maniacx.github.io/Battery-Health-Charging/", "link": "https://extensions.gnome.org/extension/5724/battery-health-charging/", "shell_version_map": {
+    "42": {"version": "39", "sha256": "1qq62hkb1j1ngq65x68l3lamx6mi32sjappm7dx06psfw2yav3hb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNldCBiYXR0ZXJ5IGNoYXJnaW5nIHRocmVzaG9sZCAvIGNoYXJnaW5nIGxpbWl0IC8gY2hhcmdpbmcgbW9kZVxuQmF0dGVyeSBIZWFsdGggQ2hhcmdpbmc6IEFuIGV4dGVuc2lvbiB0byBtYXhpbWl6ZSB0aGUgYmF0dGVyeSBsaWZlIG9mIGxhcHRvcHMgYnkgc2V0dGluZyB0aGVpciBjaGFyZ2luZyB0aHJlc2hvbGQgb3IgbW9kZXMuXG5cbkNvbXBhdGlibGUgd2l0aFxuLSBBc3VzXG4tIExHXG4tIFNhbXN1bmdcbi0gU29ueVxuLSBIdWF3ZWlcbi0gVG9zaGliYVxuLSBTeXN0ZW03NlxuLSBMZW5vdm8gKElkZWFwYWQsIExlZ2lvbilcbi0gVGhpbmtwYWRcbi0gUGFuYXNvbmljXG4tIEFjZXIgKGRlcGVuZGVjaWVzOiBrZXJuZWwgbW9kdWxlKVxuLSBNU0kgKGRlcGVuZGVjaWVzOiBrZXJuZWwgbW9kdWxlKVxuLSBUdXhlZG8gKGRlcGVuZGVjaWVzOiBrZXJuZWwgbW9kdWxlKVxuLSBTbGltYm9vayAoZGVwZW5kZWNpZXM6IGtlcm5lbCBtb2R1bGUpXG4tIFR1eGVkbyBJbnRlbFFDNzEgKGRlcGVuZGVjaWVzOiBrZXJuZWwgbW9kdWxlKVxuLSBYTUcgSW50ZWxRQzcxIChkZXBlbmRlY2llczoga2VybmVsIG1vZHVsZSlcbi0gRWx1a3Ryb25pY3MgSW50ZWxRQzcxIChkZXBlbmRlY2llczoga2VybmVsIG1vZHVsZSlcbi0gR2lnYWJ5dGUgQWVyby9Bb3J1cyAoZGVwZW5kZWNpZXM6IGtlcm5lbCBtb2R1bGUpXG4tIERlbGwgKGRlcGVuZGVjaWVzOiBjdXN0b20gcGFja2FnZSBsaWJzbWJpb3MpXG4tIERlbGwgKGRlcGVuZGVjaWVzOiBjdXN0b20gcGFja2FnZSBEZWxsIENvbW1hbmQgQ2VudGVyKVxuLSBBcHBsZSBNYWNib29rIEludGVsLXNlcmllcyBjaGlwIChkZXBlbmRlY2llczoga2VybmVsIG1vZHVsZSlcbi0gQXBwbGUgTWFjYm9vayBNLXNlcmllcyBjaGlwIChkZXBlbmRlY2llczogY3VzdG9tIGtlcm5lbClcbi0gUmF6ZXIgKGRlcGVuZGVjaWVzOiBjdXN0b20gcGFja2FnZSByYXplci1jbGkpXG4tIEZyYW1ld29yayAoZGVwZW5kZWNpZXM6IGtlcm5lbCBtb2R1bGUpXG5cbk5vdCBhbGwgbW9kZWxzIGFyZSBjb21hcHRpYmxlLiBQbGVhc2UgcmVhZCBhYm91dCB0aGUgY29tcGF0aWJpbGl0eSBhbmQgZGVwZW5kZW5jaWVzIG9mIHlvdXIgZGV2aWNlIG9uIGdpdGh1YiBsaW5rIGJlbG93LlxuXG5odHRwczovL21hbmlhY3guZ2l0aHViLmlvL0JhdHRlcnktSGVhbHRoLUNoYXJnaW5nLyIsCiAgImdldHRleHQtZG9tYWluIjogIkJhdHRlcnktSGVhbHRoLUNoYXJnaW5nQG1hbmlhY3guZ2l0aHViLmNvbSIsCiAgIm5hbWUiOiAiQmF0dGVyeSBIZWFsdGggQ2hhcmdpbmciLAogICJzZXNzaW9uLW1vZGVzIjogWwogICAgInVubG9jay1kaWFsb2ciLAogICAgInVzZXIiCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLkJhdHRlcnktSGVhbHRoLUNoYXJnaW5nIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbWFuaWFjeC9CYXR0ZXJ5LUhlYWx0aC1DaGFyZ2luZyIsCiAgInV1aWQiOiAiQmF0dGVyeS1IZWFsdGgtQ2hhcmdpbmdAbWFuaWFjeC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDM5Cn0="},
+    "43": {"version": "39", "sha256": "1qq62hkb1j1ngq65x68l3lamx6mi32sjappm7dx06psfw2yav3hb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNldCBiYXR0ZXJ5IGNoYXJnaW5nIHRocmVzaG9sZCAvIGNoYXJnaW5nIGxpbWl0IC8gY2hhcmdpbmcgbW9kZVxuQmF0dGVyeSBIZWFsdGggQ2hhcmdpbmc6IEFuIGV4dGVuc2lvbiB0byBtYXhpbWl6ZSB0aGUgYmF0dGVyeSBsaWZlIG9mIGxhcHRvcHMgYnkgc2V0dGluZyB0aGVpciBjaGFyZ2luZyB0aHJlc2hvbGQgb3IgbW9kZXMuXG5cbkNvbXBhdGlibGUgd2l0aFxuLSBBc3VzXG4tIExHXG4tIFNhbXN1bmdcbi0gU29ueVxuLSBIdWF3ZWlcbi0gVG9zaGliYVxuLSBTeXN0ZW03NlxuLSBMZW5vdm8gKElkZWFwYWQsIExlZ2lvbilcbi0gVGhpbmtwYWRcbi0gUGFuYXNvbmljXG4tIEFjZXIgKGRlcGVuZGVjaWVzOiBrZXJuZWwgbW9kdWxlKVxuLSBNU0kgKGRlcGVuZGVjaWVzOiBrZXJuZWwgbW9kdWxlKVxuLSBUdXhlZG8gKGRlcGVuZGVjaWVzOiBrZXJuZWwgbW9kdWxlKVxuLSBTbGltYm9vayAoZGVwZW5kZWNpZXM6IGtlcm5lbCBtb2R1bGUpXG4tIFR1eGVkbyBJbnRlbFFDNzEgKGRlcGVuZGVjaWVzOiBrZXJuZWwgbW9kdWxlKVxuLSBYTUcgSW50ZWxRQzcxIChkZXBlbmRlY2llczoga2VybmVsIG1vZHVsZSlcbi0gRWx1a3Ryb25pY3MgSW50ZWxRQzcxIChkZXBlbmRlY2llczoga2VybmVsIG1vZHVsZSlcbi0gR2lnYWJ5dGUgQWVyby9Bb3J1cyAoZGVwZW5kZWNpZXM6IGtlcm5lbCBtb2R1bGUpXG4tIERlbGwgKGRlcGVuZGVjaWVzOiBjdXN0b20gcGFja2FnZSBsaWJzbWJpb3MpXG4tIERlbGwgKGRlcGVuZGVjaWVzOiBjdXN0b20gcGFja2FnZSBEZWxsIENvbW1hbmQgQ2VudGVyKVxuLSBBcHBsZSBNYWNib29rIEludGVsLXNlcmllcyBjaGlwIChkZXBlbmRlY2llczoga2VybmVsIG1vZHVsZSlcbi0gQXBwbGUgTWFjYm9vayBNLXNlcmllcyBjaGlwIChkZXBlbmRlY2llczogY3VzdG9tIGtlcm5lbClcbi0gUmF6ZXIgKGRlcGVuZGVjaWVzOiBjdXN0b20gcGFja2FnZSByYXplci1jbGkpXG4tIEZyYW1ld29yayAoZGVwZW5kZWNpZXM6IGtlcm5lbCBtb2R1bGUpXG5cbk5vdCBhbGwgbW9kZWxzIGFyZSBjb21hcHRpYmxlLiBQbGVhc2UgcmVhZCBhYm91dCB0aGUgY29tcGF0aWJpbGl0eSBhbmQgZGVwZW5kZW5jaWVzIG9mIHlvdXIgZGV2aWNlIG9uIGdpdGh1YiBsaW5rIGJlbG93LlxuXG5odHRwczovL21hbmlhY3guZ2l0aHViLmlvL0JhdHRlcnktSGVhbHRoLUNoYXJnaW5nLyIsCiAgImdldHRleHQtZG9tYWluIjogIkJhdHRlcnktSGVhbHRoLUNoYXJnaW5nQG1hbmlhY3guZ2l0aHViLmNvbSIsCiAgIm5hbWUiOiAiQmF0dGVyeSBIZWFsdGggQ2hhcmdpbmciLAogICJzZXNzaW9uLW1vZGVzIjogWwogICAgInVubG9jay1kaWFsb2ciLAogICAgInVzZXIiCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLkJhdHRlcnktSGVhbHRoLUNoYXJnaW5nIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbWFuaWFjeC9CYXR0ZXJ5LUhlYWx0aC1DaGFyZ2luZyIsCiAgInV1aWQiOiAiQmF0dGVyeS1IZWFsdGgtQ2hhcmdpbmdAbWFuaWFjeC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDM5Cn0="},
+    "44": {"version": "39", "sha256": "1qq62hkb1j1ngq65x68l3lamx6mi32sjappm7dx06psfw2yav3hb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNldCBiYXR0ZXJ5IGNoYXJnaW5nIHRocmVzaG9sZCAvIGNoYXJnaW5nIGxpbWl0IC8gY2hhcmdpbmcgbW9kZVxuQmF0dGVyeSBIZWFsdGggQ2hhcmdpbmc6IEFuIGV4dGVuc2lvbiB0byBtYXhpbWl6ZSB0aGUgYmF0dGVyeSBsaWZlIG9mIGxhcHRvcHMgYnkgc2V0dGluZyB0aGVpciBjaGFyZ2luZyB0aHJlc2hvbGQgb3IgbW9kZXMuXG5cbkNvbXBhdGlibGUgd2l0aFxuLSBBc3VzXG4tIExHXG4tIFNhbXN1bmdcbi0gU29ueVxuLSBIdWF3ZWlcbi0gVG9zaGliYVxuLSBTeXN0ZW03NlxuLSBMZW5vdm8gKElkZWFwYWQsIExlZ2lvbilcbi0gVGhpbmtwYWRcbi0gUGFuYXNvbmljXG4tIEFjZXIgKGRlcGVuZGVjaWVzOiBrZXJuZWwgbW9kdWxlKVxuLSBNU0kgKGRlcGVuZGVjaWVzOiBrZXJuZWwgbW9kdWxlKVxuLSBUdXhlZG8gKGRlcGVuZGVjaWVzOiBrZXJuZWwgbW9kdWxlKVxuLSBTbGltYm9vayAoZGVwZW5kZWNpZXM6IGtlcm5lbCBtb2R1bGUpXG4tIFR1eGVkbyBJbnRlbFFDNzEgKGRlcGVuZGVjaWVzOiBrZXJuZWwgbW9kdWxlKVxuLSBYTUcgSW50ZWxRQzcxIChkZXBlbmRlY2llczoga2VybmVsIG1vZHVsZSlcbi0gRWx1a3Ryb25pY3MgSW50ZWxRQzcxIChkZXBlbmRlY2llczoga2VybmVsIG1vZHVsZSlcbi0gR2lnYWJ5dGUgQWVyby9Bb3J1cyAoZGVwZW5kZWNpZXM6IGtlcm5lbCBtb2R1bGUpXG4tIERlbGwgKGRlcGVuZGVjaWVzOiBjdXN0b20gcGFja2FnZSBsaWJzbWJpb3MpXG4tIERlbGwgKGRlcGVuZGVjaWVzOiBjdXN0b20gcGFja2FnZSBEZWxsIENvbW1hbmQgQ2VudGVyKVxuLSBBcHBsZSBNYWNib29rIEludGVsLXNlcmllcyBjaGlwIChkZXBlbmRlY2llczoga2VybmVsIG1vZHVsZSlcbi0gQXBwbGUgTWFjYm9vayBNLXNlcmllcyBjaGlwIChkZXBlbmRlY2llczogY3VzdG9tIGtlcm5lbClcbi0gUmF6ZXIgKGRlcGVuZGVjaWVzOiBjdXN0b20gcGFja2FnZSByYXplci1jbGkpXG4tIEZyYW1ld29yayAoZGVwZW5kZWNpZXM6IGtlcm5lbCBtb2R1bGUpXG5cbk5vdCBhbGwgbW9kZWxzIGFyZSBjb21hcHRpYmxlLiBQbGVhc2UgcmVhZCBhYm91dCB0aGUgY29tcGF0aWJpbGl0eSBhbmQgZGVwZW5kZW5jaWVzIG9mIHlvdXIgZGV2aWNlIG9uIGdpdGh1YiBsaW5rIGJlbG93LlxuXG5odHRwczovL21hbmlhY3guZ2l0aHViLmlvL0JhdHRlcnktSGVhbHRoLUNoYXJnaW5nLyIsCiAgImdldHRleHQtZG9tYWluIjogIkJhdHRlcnktSGVhbHRoLUNoYXJnaW5nQG1hbmlhY3guZ2l0aHViLmNvbSIsCiAgIm5hbWUiOiAiQmF0dGVyeSBIZWFsdGggQ2hhcmdpbmciLAogICJzZXNzaW9uLW1vZGVzIjogWwogICAgInVubG9jay1kaWFsb2ciLAogICAgInVzZXIiCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLkJhdHRlcnktSGVhbHRoLUNoYXJnaW5nIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbWFuaWFjeC9CYXR0ZXJ5LUhlYWx0aC1DaGFyZ2luZyIsCiAgInV1aWQiOiAiQmF0dGVyeS1IZWFsdGgtQ2hhcmdpbmdAbWFuaWFjeC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDM5Cn0="},
+    "45": {"version": "40", "sha256": "03d0bpfmkqh6s88xp4ia9i22r7qdqfljmn521x7pfwqs5ax1aha1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNldCBiYXR0ZXJ5IGNoYXJnaW5nIHRocmVzaG9sZCAvIGNoYXJnaW5nIGxpbWl0IC8gY2hhcmdpbmcgbW9kZVxuQmF0dGVyeSBIZWFsdGggQ2hhcmdpbmc6IEFuIGV4dGVuc2lvbiB0byBtYXhpbWl6ZSB0aGUgYmF0dGVyeSBsaWZlIG9mIGxhcHRvcHMgYnkgc2V0dGluZyB0aGVpciBjaGFyZ2luZyB0aHJlc2hvbGQgb3IgbW9kZXMuXG5cbkNvbXBhdGlibGUgd2l0aFxuLSBBc3VzXG4tIExHXG4tIFNhbXN1bmdcbi0gU29ueVxuLSBIdWF3ZWlcbi0gVG9zaGliYVxuLSBTeXN0ZW03NlxuLSBMZW5vdm8gKElkZWFwYWQsIExlZ2lvbilcbi0gVGhpbmtwYWRcbi0gUGFuYXNvbmljXG4tIEFjZXIgKGRlcGVuZGVjaWVzOiBrZXJuZWwgbW9kdWxlKVxuLSBNU0kgKGRlcGVuZGVjaWVzOiBrZXJuZWwgbW9kdWxlKVxuLSBUdXhlZG8gKGRlcGVuZGVjaWVzOiBrZXJuZWwgbW9kdWxlKVxuLSBTbGltYm9vayAoZGVwZW5kZWNpZXM6IGtlcm5lbCBtb2R1bGUpXG4tIFR1eGVkbyBJbnRlbFFDNzEgKGRlcGVuZGVjaWVzOiBrZXJuZWwgbW9kdWxlKVxuLSBYTUcgSW50ZWxRQzcxIChkZXBlbmRlY2llczoga2VybmVsIG1vZHVsZSlcbi0gRWx1a3Ryb25pY3MgSW50ZWxRQzcxIChkZXBlbmRlY2llczoga2VybmVsIG1vZHVsZSlcbi0gR2lnYWJ5dGUgQWVyby9Bb3J1cyAoZGVwZW5kZWNpZXM6IGtlcm5lbCBtb2R1bGUpXG4tIERlbGwgKGRlcGVuZGVjaWVzOiBjdXN0b20gcGFja2FnZSBsaWJzbWJpb3MpXG4tIERlbGwgKGRlcGVuZGVjaWVzOiBjdXN0b20gcGFja2FnZSBEZWxsIENvbW1hbmQgQ2VudGVyKVxuLSBBcHBsZSBNYWNib29rIEludGVsLXNlcmllcyBjaGlwIChkZXBlbmRlY2llczoga2VybmVsIG1vZHVsZSlcbi0gQXBwbGUgTWFjYm9vayBNLXNlcmllcyBjaGlwIChkZXBlbmRlY2llczogY3VzdG9tIGtlcm5lbClcbi0gUmF6ZXIgKGRlcGVuZGVjaWVzOiBjdXN0b20gcGFja2FnZSByYXplci1jbGkpXG4tIEZyYW1ld29yayAoZGVwZW5kZWNpZXM6IGtlcm5lbCBtb2R1bGUpXG5cbk5vdCBhbGwgbW9kZWxzIGFyZSBjb21hcHRpYmxlLiBQbGVhc2UgcmVhZCBhYm91dCB0aGUgY29tcGF0aWJpbGl0eSBhbmQgZGVwZW5kZW5jaWVzIG9mIHlvdXIgZGV2aWNlIG9uIGdpdGh1YiBsaW5rIGJlbG93LlxuXG5odHRwczovL21hbmlhY3guZ2l0aHViLmlvL0JhdHRlcnktSGVhbHRoLUNoYXJnaW5nLyIsCiAgImdldHRleHQtZG9tYWluIjogIkJhdHRlcnktSGVhbHRoLUNoYXJnaW5nQG1hbmlhY3guZ2l0aHViLmNvbSIsCiAgIm5hbWUiOiAiQmF0dGVyeSBIZWFsdGggQ2hhcmdpbmciLAogICJzZXNzaW9uLW1vZGVzIjogWwogICAgInVubG9jay1kaWFsb2ciLAogICAgInVzZXIiCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLkJhdHRlcnktSGVhbHRoLUNoYXJnaW5nIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21hbmlhY3gvQmF0dGVyeS1IZWFsdGgtQ2hhcmdpbmciLAogICJ1dWlkIjogIkJhdHRlcnktSGVhbHRoLUNoYXJnaW5nQG1hbmlhY3guZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA0MAp9"}
   }}
 , {"uuid": "oneclickbios@sao.studio", "name": "One-Click BIOS", "pname": "one-click-bios", "description": "Restart into firmware settings directly from OS\n\nHold Shift and click the power menu button to trigger restart into firmware settings.\n\nAny suggestion is appreciated on GitHub!", "link": "https://extensions.gnome.org/extension/5733/one-click-bios/", "shell_version_map": {
     "43": {"version": "5", "sha256": "07r9vspq35s632j0pzywrhb8islb9fq49dv0a1s6yvp23d7bzni7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlc3RhcnQgaW50byBmaXJtd2FyZSBzZXR0aW5ncyBkaXJlY3RseSBmcm9tIE9TXG5cbkhvbGQgU2hpZnQgYW5kIGNsaWNrIHRoZSBwb3dlciBtZW51IGJ1dHRvbiB0byB0cmlnZ2VyIHJlc3RhcnQgaW50byBmaXJtd2FyZSBzZXR0aW5ncy5cblxuQW55IHN1Z2dlc3Rpb24gaXMgYXBwcmVjaWF0ZWQgb24gR2l0SHViISIsCiAgIm5hbWUiOiAiT25lLUNsaWNrIEJJT1MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbTFuaWNydXNoZXIvb25lLWNsaWNrLWJpb3MiLAogICJ1dWlkIjogIm9uZWNsaWNrYmlvc0BzYW8uc3R1ZGlvIiwKICAidmVyc2lvbiI6IDUKfQ=="}
@@ -5640,7 +5648,7 @@
     "44": {"version": "23", "sha256": "00clk8w8p1sxsqpmwsmlgki2vvx9cjlvnzsrn9j69n1img4vbiwh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdub21lIFNoZWxsIEV4dGVuc2lvbiB0byB2aXN1YWxpemUgaGVhZHNldCBzdGF0dXMgZnJvbSBIZWFkc2V0Q29udHJvbCAoaHR0cHM6Ly9naXRodWIuY29tL1NhcGQvSGVhZHNldENvbnRyb2wpIGNvbW1hbmQgbGluZSB0b29sIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiSGVhZHNldENvbnRyb2wiLAogICJuYW1lIjogIkhlYWRzZXRDb250cm9sIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLkhlYWRzZXRDb250cm9sIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0NocmlzTGF1aW5nZXI3Ny9nbm9tZS1zaGVsbC1leHRlbnNpb24tSGVhZHNldENvbnRyb2wiLAogICJ1dWlkIjogIkhlYWRzZXRDb250cm9sQGxhdWluZ2VyLWNsYW4uZGUiLAogICJ2ZXJzaW9uIjogMjMKfQ=="},
     "45": {"version": "24", "sha256": "0yqqak6s2vhz6c870j5p8h76n3d8sw24i358amzkcprnhz414azx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdub21lIFNoZWxsIEV4dGVuc2lvbiB0byB2aXN1YWxpemUgaGVhZHNldCBzdGF0dXMgZnJvbSBIZWFkc2V0Q29udHJvbCAoaHR0cHM6Ly9naXRodWIuY29tL1NhcGQvSGVhZHNldENvbnRyb2wpIGNvbW1hbmQgbGluZSB0b29sIiwKICAiZG9uYXRpb25zIjogewogICAgImdpdGh1YiI6ICJDaHJpc0xhdWluZ2VyNzciLAogICAgInBheXBhbCI6ICJDaHJpc0xhdWluZ2VyIgogIH0sCiAgImdldHRleHQtZG9tYWluIjogIkhlYWRzZXRDb250cm9sIiwKICAibmFtZSI6ICJIZWFkc2V0Q29udHJvbCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5IZWFkc2V0Q29udHJvbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9DaHJpc0xhdWluZ2VyNzcvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLUhlYWRzZXRDb250cm9sIiwKICAidXVpZCI6ICJIZWFkc2V0Q29udHJvbEBsYXVpbmdlci1jbGFuLmRlIiwKICAidmVyc2lvbiI6IDI0Cn0="}
   }}
-, {"uuid": "true-color-window-invert@lynet101", "name": "True Color Window Invert", "pname": "true-color-invert", "description": "Inverts the color of individual windows so they are hue-preserved.\nDefault shortcut is Super+I (Fork from JackKenney, due to 2+ years of inactivity)\n\npatch notes v3:\nFixed an issue where windows would occasionally disappear upon inversion\n\nAbout Gnome 45:\nThere will be made an effort to port this extension to gnome 45, but gnome has decided to revamp large parts of the framework used for these sorts of extensions, and as I'm a solo developer, don't expect it to be ported immediately .\n\nI apologize for any inconvenience this may cause ;(", "link": "https://extensions.gnome.org/extension/5829/true-color-invert/", "shell_version_map": {
+, {"uuid": "true-color-window-invert@lynet101", "name": "True Color Window Invert", "pname": "true-color-invert", "description": "Inverts the color of individual windows so they are hue-preserved.\nDefault shortcut is Super+I (Fork from JackKenney, due to 2+ years of inactivity)\n\n!!!IMPORTANT!!!\nDue to changes in personal and professional life, developer lynet_101 will no longer be able to maintain this project, and the extension, as a result, is from December the 5th 2023 orphaned\n\npatch notes v3:\nFixed an issue where windows would occasionally disappear upon inversion\n\nAbout Gnome 45:\nThere will be made an effort to port this extension to gnome 45, but gnome has decided to revamp large parts of the framework used for these sorts of extensions, and as I'm a solo developer, don't expect it to be ported immediately .\n\nI apologize for any inconvenience this may cause ;(", "link": "https://extensions.gnome.org/extension/5829/true-color-invert/", "shell_version_map": {
     "38": {"version": "3", "sha256": "01hsx7mrd0z8fy797x3xn8jqjjw8a34dxj4vvf9w43zdixj5i6z4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkludmVydHMgdGhlIGNvbG9yIG9mIGluZGl2aWR1YWwgd2luZG93cyBzbyB0aGV5IGFyZSBodWUtcHJlc2VydmVkLlxuRGVmYXVsdCBzaG9ydGN1dCBpcyBTdXBlcitJIChGb3JrIGZyb20gSmFja0tlbm5leSwgZHVlIHRvIDIrIHllYXJzIG9mIGluYWN0aXZpdHlcblxucGF0Y2ggbm90ZXMgdjM6XG5GaXhlZCBhbiBpc3N1ZSB3aGVyZSB3aW5kb3dzIHdvdWxkIG9jY2FzaW9uYWxseSBkaXNhcHBlYXIgdXBvbiBpbnZlcnNpb25cblxuTm90ZXM6XG5BcyB0aGlzIGlzIGEgZmFpcmx5IG5ldyBhZG9wdGlvbiwgb2YgYSBmYWlybHkgb2xkIHByb2plY3QsIGV4cGVjdCBmcmVxdWVudCB1cGRhdGVzIGFuZCBidWcgcGF0Y2hlcyBpbiB0aGUgYmVnaW5uaW5nLiB0aGFuayB5b3UgZm9yIHVuZGVyc3RhbmRpbmciLAogICJuYW1lIjogIlRydWUgQ29sb3IgV2luZG93IEludmVydCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50cnVlLWNvbG9yLXdpbmRvdy1pbnZlcnQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0x5bmV0MTAxL2dub21lLXRydWUtY29sb3ItaW52ZXJ0IiwKICAidXVpZCI6ICJ0cnVlLWNvbG9yLXdpbmRvdy1pbnZlcnRAbHluZXQxMDEiLAogICJ2ZXJzaW9uIjogMwp9"},
     "40": {"version": "3", "sha256": "01hsx7mrd0z8fy797x3xn8jqjjw8a34dxj4vvf9w43zdixj5i6z4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkludmVydHMgdGhlIGNvbG9yIG9mIGluZGl2aWR1YWwgd2luZG93cyBzbyB0aGV5IGFyZSBodWUtcHJlc2VydmVkLlxuRGVmYXVsdCBzaG9ydGN1dCBpcyBTdXBlcitJIChGb3JrIGZyb20gSmFja0tlbm5leSwgZHVlIHRvIDIrIHllYXJzIG9mIGluYWN0aXZpdHlcblxucGF0Y2ggbm90ZXMgdjM6XG5GaXhlZCBhbiBpc3N1ZSB3aGVyZSB3aW5kb3dzIHdvdWxkIG9jY2FzaW9uYWxseSBkaXNhcHBlYXIgdXBvbiBpbnZlcnNpb25cblxuTm90ZXM6XG5BcyB0aGlzIGlzIGEgZmFpcmx5IG5ldyBhZG9wdGlvbiwgb2YgYSBmYWlybHkgb2xkIHByb2plY3QsIGV4cGVjdCBmcmVxdWVudCB1cGRhdGVzIGFuZCBidWcgcGF0Y2hlcyBpbiB0aGUgYmVnaW5uaW5nLiB0aGFuayB5b3UgZm9yIHVuZGVyc3RhbmRpbmciLAogICJuYW1lIjogIlRydWUgQ29sb3IgV2luZG93IEludmVydCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50cnVlLWNvbG9yLXdpbmRvdy1pbnZlcnQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0x5bmV0MTAxL2dub21lLXRydWUtY29sb3ItaW52ZXJ0IiwKICAidXVpZCI6ICJ0cnVlLWNvbG9yLXdpbmRvdy1pbnZlcnRAbHluZXQxMDEiLAogICJ2ZXJzaW9uIjogMwp9"},
     "41": {"version": "3", "sha256": "01hsx7mrd0z8fy797x3xn8jqjjw8a34dxj4vvf9w43zdixj5i6z4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkludmVydHMgdGhlIGNvbG9yIG9mIGluZGl2aWR1YWwgd2luZG93cyBzbyB0aGV5IGFyZSBodWUtcHJlc2VydmVkLlxuRGVmYXVsdCBzaG9ydGN1dCBpcyBTdXBlcitJIChGb3JrIGZyb20gSmFja0tlbm5leSwgZHVlIHRvIDIrIHllYXJzIG9mIGluYWN0aXZpdHlcblxucGF0Y2ggbm90ZXMgdjM6XG5GaXhlZCBhbiBpc3N1ZSB3aGVyZSB3aW5kb3dzIHdvdWxkIG9jY2FzaW9uYWxseSBkaXNhcHBlYXIgdXBvbiBpbnZlcnNpb25cblxuTm90ZXM6XG5BcyB0aGlzIGlzIGEgZmFpcmx5IG5ldyBhZG9wdGlvbiwgb2YgYSBmYWlybHkgb2xkIHByb2plY3QsIGV4cGVjdCBmcmVxdWVudCB1cGRhdGVzIGFuZCBidWcgcGF0Y2hlcyBpbiB0aGUgYmVnaW5uaW5nLiB0aGFuayB5b3UgZm9yIHVuZGVyc3RhbmRpbmciLAogICJuYW1lIjogIlRydWUgQ29sb3IgV2luZG93IEludmVydCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50cnVlLWNvbG9yLXdpbmRvdy1pbnZlcnQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0x5bmV0MTAxL2dub21lLXRydWUtY29sb3ItaW52ZXJ0IiwKICAidXVpZCI6ICJ0cnVlLWNvbG9yLXdpbmRvdy1pbnZlcnRAbHluZXQxMDEiLAogICJ2ZXJzaW9uIjogMwp9"},
@@ -5665,7 +5673,8 @@
     "41": {"version": "9", "sha256": "1mx02i0nl3cv3pmv7ck1g4ddkjk4mqpcv6hlxsfsvn46ijwrjrjd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk92ZXJyaWRlIHRoZSBzdHlsaW5nLiAgSXQgbWFrZXMgZ25vbWUtc2hlbGwgZGVmYXVsdCB0aGVtZSBmaXQgdG8gVWJ1bnR1LiIsCiAgIm5hbWUiOiAiQWRtaXNzaW9uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL29yYml0Y29ycmVjdG9uL1ZhbmlsbGEvdHJlZS9leHBlcmltZW50YWwyIiwKICAidXVpZCI6ICJhZG1pc3Npb25AZ2l0aHViLmNvbS5vcmJpdGNvcnJlY3Rpb24iLAogICJ2ZXJzaW9uIjogOQp9"},
     "42": {"version": "9", "sha256": "1mx02i0nl3cv3pmv7ck1g4ddkjk4mqpcv6hlxsfsvn46ijwrjrjd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk92ZXJyaWRlIHRoZSBzdHlsaW5nLiAgSXQgbWFrZXMgZ25vbWUtc2hlbGwgZGVmYXVsdCB0aGVtZSBmaXQgdG8gVWJ1bnR1LiIsCiAgIm5hbWUiOiAiQWRtaXNzaW9uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL29yYml0Y29ycmVjdG9uL1ZhbmlsbGEvdHJlZS9leHBlcmltZW50YWwyIiwKICAidXVpZCI6ICJhZG1pc3Npb25AZ2l0aHViLmNvbS5vcmJpdGNvcnJlY3Rpb24iLAogICJ2ZXJzaW9uIjogOQp9"},
     "43": {"version": "9", "sha256": "1mx02i0nl3cv3pmv7ck1g4ddkjk4mqpcv6hlxsfsvn46ijwrjrjd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk92ZXJyaWRlIHRoZSBzdHlsaW5nLiAgSXQgbWFrZXMgZ25vbWUtc2hlbGwgZGVmYXVsdCB0aGVtZSBmaXQgdG8gVWJ1bnR1LiIsCiAgIm5hbWUiOiAiQWRtaXNzaW9uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL29yYml0Y29ycmVjdG9uL1ZhbmlsbGEvdHJlZS9leHBlcmltZW50YWwyIiwKICAidXVpZCI6ICJhZG1pc3Npb25AZ2l0aHViLmNvbS5vcmJpdGNvcnJlY3Rpb24iLAogICJ2ZXJzaW9uIjogOQp9"},
-    "44": {"version": "8", "sha256": "0fkphjqxnm2c6vg90w3pi36pnc39ffgav10gc0mxdmlq9xqp3q4c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk92ZXJyaWRlIHRoZSBzdHlsaW5nLiAgSXQgbWFrZXMgZ25vbWUtc2hlbGwgZGVmYXVsdCB0aGVtZSBmaXQgdG8gVWJ1bnR1LiIsCiAgIm5hbWUiOiAiQWRtaXNzaW9uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL29yYml0Y29ycmVjdG9uL1ZhbmlsbGEvdHJlZS9leHBlcmltZW50YWwyIiwKICAidXVpZCI6ICJhZG1pc3Npb25AZ2l0aHViLmNvbS5vcmJpdGNvcnJlY3Rpb24iLAogICJ2ZXJzaW9uIjogOAp9"}
+    "44": {"version": "8", "sha256": "0fkphjqxnm2c6vg90w3pi36pnc39ffgav10gc0mxdmlq9xqp3q4c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk92ZXJyaWRlIHRoZSBzdHlsaW5nLiAgSXQgbWFrZXMgZ25vbWUtc2hlbGwgZGVmYXVsdCB0aGVtZSBmaXQgdG8gVWJ1bnR1LiIsCiAgIm5hbWUiOiAiQWRtaXNzaW9uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL29yYml0Y29ycmVjdG9uL1ZhbmlsbGEvdHJlZS9leHBlcmltZW50YWwyIiwKICAidXVpZCI6ICJhZG1pc3Npb25AZ2l0aHViLmNvbS5vcmJpdGNvcnJlY3Rpb24iLAogICJ2ZXJzaW9uIjogOAp9"},
+    "45": {"version": "10", "sha256": "1glyd6xf4q3h1945c4y03v44js3vcqi5g5mbc9n91wwys0nnb7i3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk92ZXJyaWRlIHRoZSBzdHlsaW5nLiAgSXQgbWFrZXMgZ25vbWUtc2hlbGwgZGVmYXVsdCB0aGVtZSBmaXQgdG8gVWJ1bnR1LiIsCiAgIm5hbWUiOiAiQWRtaXNzaW9uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJhZG1pc3Npb25AZ2l0aHViLmNvbS5vcmJpdGNvcnJlY3Rpb24iLAogICJ2ZXJzaW9uIjogMTAKfQ=="}
   }}
 , {"uuid": "enhunceactivitiese@github.com.orbitcorrection", "name": "Activities Icon &  Label", "pname": "enhunce-activities", "description": "Add an icon to the Activities button.  \nbased on GNOME gnome-shell and RHEL gnome-shell patch", "link": "https://extensions.gnome.org/extension/5847/enhunce-activities/", "shell_version_map": {
     "40": {"version": "9", "sha256": "15bl13jhxnrr1q64d9p0rh2scy3fx4bwh36n6p0dpry8dgzp8qk9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhbiBpY29uIHRvIHRoZSBBY3Rpdml0aWVzIGJ1dHRvbi4gIFxuYmFzZWQgb24gR05PTUUgZ25vbWUtc2hlbGwgYW5kIFJIRUwgZ25vbWUtc2hlbGwgcGF0Y2giLAogICJuYW1lIjogIkFjdGl2aXRpZXMgSWNvbiAmICBMYWJlbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vb3JiaXRjb3JyZWN0b24vZW5odW5jZS1hY3Rpdml0ZXMvdHJlZS9leHBlcmltZW50YWwiLAogICJ1dWlkIjogImVuaHVuY2VhY3Rpdml0aWVzZUBnaXRodWIuY29tLm9yYml0Y29ycmVjdGlvbiIsCiAgInZlcnNpb24iOiA5Cn0="},
@@ -5706,7 +5715,7 @@
 , {"uuid": "launcher@hedgie.tech", "name": "Launcher", "pname": "launcher", "description": "Launch scripts from a Panel Indicator", "link": "https://extensions.gnome.org/extension/5874/launcher/", "shell_version_map": {
     "43": {"version": "8", "sha256": "1k6dlhd4bbb6kcmq1hninz0lsgcdb1ys2krnfgqyc1zs2dccqs2d", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxhdW5jaCBzY3JpcHRzIGZyb20gYSBQYW5lbCBJbmRpY2F0b3IiLAogICJuYW1lIjogIkxhdW5jaGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmxhdW5jaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9oZWRnaWVpbnNvY2tzL2xhdW5jaGVyIiwKICAidXVpZCI6ICJsYXVuY2hlckBoZWRnaWUudGVjaCIsCiAgInZlcnNpb24iOiA4Cn0="},
     "44": {"version": "8", "sha256": "1k6dlhd4bbb6kcmq1hninz0lsgcdb1ys2krnfgqyc1zs2dccqs2d", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxhdW5jaCBzY3JpcHRzIGZyb20gYSBQYW5lbCBJbmRpY2F0b3IiLAogICJuYW1lIjogIkxhdW5jaGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmxhdW5jaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9oZWRnaWVpbnNvY2tzL2xhdW5jaGVyIiwKICAidXVpZCI6ICJsYXVuY2hlckBoZWRnaWUudGVjaCIsCiAgInZlcnNpb24iOiA4Cn0="},
-    "45": {"version": "9", "sha256": "1zpkvna8krbc0g03nkl5h74m7zijc52msiy91126a64k2fnwvsgs", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxhdW5jaCBzY3JpcHRzIGZyb20gYSBQYW5lbCBJbmRpY2F0b3IiLAogICJuYW1lIjogIkxhdW5jaGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmxhdW5jaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2hlZGdpZWluc29ja3MvbGF1bmNoZXIiLAogICJ1dWlkIjogImxhdW5jaGVyQGhlZGdpZS50ZWNoIiwKICAidmVyc2lvbiI6IDkKfQ=="}
+    "45": {"version": "10", "sha256": "0zphryl8k8sqwaqyif4xhn75dcyag9av9sjr17zr851c31k2zdda", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxhdW5jaCBzY3JpcHRzIGZyb20gYSBQYW5lbCBJbmRpY2F0b3IiLAogICJuYW1lIjogIkxhdW5jaGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmxhdW5jaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2hlZGdpZWluc29ja3MvbGF1bmNoZXIiLAogICJ1dWlkIjogImxhdW5jaGVyQGhlZGdpZS50ZWNoIiwKICAidmVyc2lvbiI6IDEwCn0="}
   }}
 , {"uuid": "just_shows_memory_usage@troizet.github.com", "name": "Just shows memory usage", "pname": "just-shows-memory-usage", "description": "Just shows memory usage", "link": "https://extensions.gnome.org/extension/5877/just-shows-memory-usage/", "shell_version_map": {
     "38": {"version": "2", "sha256": "1smj4fsfskdrzzh4q1hqhdwaa8bdh21x82sfmdw4gpvfwx9cpgcw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkp1c3Qgc2hvd3MgbWVtb3J5IHVzYWdlIiwKICAibmFtZSI6ICJKdXN0IHNob3dzIG1lbW9yeSB1c2FnZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3Ryb2l6ZXQvanVzdC1zaG93cy1tZW1vcnktdXNhZ2UiLAogICJ1dWlkIjogImp1c3Rfc2hvd3NfbWVtb3J5X3VzYWdlQHRyb2l6ZXQuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAyCn0="},
@@ -5717,7 +5726,7 @@
 , {"uuid": "copier@hedgie.tech", "name": "Copier", "pname": "copier", "description": "Navigate and copy text notes to clipboard from a Panel Indicator", "link": "https://extensions.gnome.org/extension/5883/copier/", "shell_version_map": {
     "43": {"version": "2", "sha256": "0czac27h8fdywwzr5vsfhp7jll2m7ikfb6ivlrnm9193a52gx9i3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5hdmlnYXRlIGFuZCBjb3B5IHRleHQgbm90ZXMgdG8gY2xpcGJvYXJkIGZyb20gYSBQYW5lbCBJbmRpY2F0b3JcblxuSWYgeW91IGhhdmUgZmFjZWQgYW4gaXNzdWUsIHBsZWFzZSByZXBvcnQgaXQgb24gdGhlIEdpdEh1YiBwYWdlIiwKICAibmFtZSI6ICJDb3BpZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuY29waWVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9oZWRnaWVpbnNvY2tzL2NvcGllciIsCiAgInV1aWQiOiAiY29waWVyQGhlZGdpZS50ZWNoIiwKICAidmVyc2lvbiI6IDIKfQ=="},
     "44": {"version": "2", "sha256": "0czac27h8fdywwzr5vsfhp7jll2m7ikfb6ivlrnm9193a52gx9i3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5hdmlnYXRlIGFuZCBjb3B5IHRleHQgbm90ZXMgdG8gY2xpcGJvYXJkIGZyb20gYSBQYW5lbCBJbmRpY2F0b3JcblxuSWYgeW91IGhhdmUgZmFjZWQgYW4gaXNzdWUsIHBsZWFzZSByZXBvcnQgaXQgb24gdGhlIEdpdEh1YiBwYWdlIiwKICAibmFtZSI6ICJDb3BpZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuY29waWVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9oZWRnaWVpbnNvY2tzL2NvcGllciIsCiAgInV1aWQiOiAiY29waWVyQGhlZGdpZS50ZWNoIiwKICAidmVyc2lvbiI6IDIKfQ=="},
-    "45": {"version": "4", "sha256": "0ssfxsh9rn1rbb354qr2qzb0a50rav8i0121jaby4jzdxn0h2m5d", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5hdmlnYXRlIGFuZCBjb3B5IHRleHQgbm90ZXMgdG8gY2xpcGJvYXJkIGZyb20gYSBQYW5lbCBJbmRpY2F0b3IiLAogICJuYW1lIjogIkNvcGllciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5jb3BpZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaGVkZ2llaW5zb2Nrcy9jb3BpZXIiLAogICJ1dWlkIjogImNvcGllckBoZWRnaWUudGVjaCIsCiAgInZlcnNpb24iOiA0Cn0="}
+    "45": {"version": "5", "sha256": "1cshw3980cg44259k3jhbjbk1jzra26rlwjcb5mi14zfgn2y1ibv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5hdmlnYXRlIGFuZCBjb3B5IHRleHQgbm90ZXMgdG8gY2xpcGJvYXJkIGZyb20gYSBQYW5lbCBJbmRpY2F0b3IiLAogICJuYW1lIjogIkNvcGllciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5jb3BpZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaGVkZ2llaW5zb2Nrcy9jb3BpZXIiLAogICJ1dWlkIjogImNvcGllckBoZWRnaWUudGVjaCIsCiAgInZlcnNpb24iOiA1Cn0="}
   }}
 , {"uuid": "quicktext@brainstormtrooper.github.io", "name": "Quick Text", "pname": "quick-text", "description": "Quickly capture text snippets and ideas, then convert them to tasks or events", "link": "https://extensions.gnome.org/extension/5892/quick-text/", "shell_version_map": {
     "44": {"version": "8", "sha256": "09ybjnfgf4pnyj4q9xck5cs5yi0mwin47d3mbq55m25mk8sd8grm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlF1aWNrbHkgY2FwdHVyZSB0ZXh0IHNuaXBwZXRzIGFuZCBpZGVhcywgdGhlbiBjb252ZXJ0IHRoZW0gdG8gdGFza3Mgb3IgZXZlbnRzIiwKICAibmFtZSI6ICJRdWljayBUZXh0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2JyYWluc3Rvcm10cm9vcGVyL3F1aWNrdGV4dCIsCiAgInV1aWQiOiAicXVpY2t0ZXh0QGJyYWluc3Rvcm10cm9vcGVyLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiA4Cn0="},
@@ -5834,7 +5843,7 @@
     "42": {"version": "95", "sha256": "0myj4g5351fi04w3iwpshjhy9a5vgq85nwd186ymlvnjby12d6fh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvb2wgdG8gU2hvdyBHaXRodWIgQWN0aW9ucyBzdGF0dXMgb24gR25vbWUgRGVza3RvcC5cblxuQ2hlY2sgb24gZ2l0aHViIGhvdyB0byBpbnN0YWxsLlxuaWYgeW91IGxpa2UgaXQgZ2l2ZSBtZSBhIHN0YXIgb24gZ2l0aHViICFcblxuQWZ0ZXIgdXBkYXRpbmcsIGlmIHlvdSBnZXQgYW4gZXJyb3IsIHBsZWFzZSByZWxvZ2luLlxuXG5UaGlzIGV4dGVuc2lvbiBpcyBub3QgYWZmaWxpYXRlZCwgZnVuZGVkLCBvciBpbiBhbnkgd2F5IGFzc29jaWF0ZWQgd2l0aCBNaWNyb3NvZnQgYW5kIEdpdEh1Yi4iLAogICJuYW1lIjogIkdpdGh1YiBBY3Rpb25zIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJhcm9ub25ha0BnbWFpbC5jb20iCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmdpdGh1Yi1hY3Rpb25zIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hcm9ub25hay9naXRodWItYWN0aW9ucy1nbm9tZS1leHRlbnNpb24iLAogICJ1dWlkIjogImdpdGh1Yi1hY3Rpb25zQGFyb25vbmFrLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiA5NQp9"},
     "43": {"version": "95", "sha256": "0myj4g5351fi04w3iwpshjhy9a5vgq85nwd186ymlvnjby12d6fh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvb2wgdG8gU2hvdyBHaXRodWIgQWN0aW9ucyBzdGF0dXMgb24gR25vbWUgRGVza3RvcC5cblxuQ2hlY2sgb24gZ2l0aHViIGhvdyB0byBpbnN0YWxsLlxuaWYgeW91IGxpa2UgaXQgZ2l2ZSBtZSBhIHN0YXIgb24gZ2l0aHViICFcblxuQWZ0ZXIgdXBkYXRpbmcsIGlmIHlvdSBnZXQgYW4gZXJyb3IsIHBsZWFzZSByZWxvZ2luLlxuXG5UaGlzIGV4dGVuc2lvbiBpcyBub3QgYWZmaWxpYXRlZCwgZnVuZGVkLCBvciBpbiBhbnkgd2F5IGFzc29jaWF0ZWQgd2l0aCBNaWNyb3NvZnQgYW5kIEdpdEh1Yi4iLAogICJuYW1lIjogIkdpdGh1YiBBY3Rpb25zIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJhcm9ub25ha0BnbWFpbC5jb20iCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmdpdGh1Yi1hY3Rpb25zIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hcm9ub25hay9naXRodWItYWN0aW9ucy1nbm9tZS1leHRlbnNpb24iLAogICJ1dWlkIjogImdpdGh1Yi1hY3Rpb25zQGFyb25vbmFrLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiA5NQp9"},
     "44": {"version": "95", "sha256": "0myj4g5351fi04w3iwpshjhy9a5vgq85nwd186ymlvnjby12d6fh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvb2wgdG8gU2hvdyBHaXRodWIgQWN0aW9ucyBzdGF0dXMgb24gR25vbWUgRGVza3RvcC5cblxuQ2hlY2sgb24gZ2l0aHViIGhvdyB0byBpbnN0YWxsLlxuaWYgeW91IGxpa2UgaXQgZ2l2ZSBtZSBhIHN0YXIgb24gZ2l0aHViICFcblxuQWZ0ZXIgdXBkYXRpbmcsIGlmIHlvdSBnZXQgYW4gZXJyb3IsIHBsZWFzZSByZWxvZ2luLlxuXG5UaGlzIGV4dGVuc2lvbiBpcyBub3QgYWZmaWxpYXRlZCwgZnVuZGVkLCBvciBpbiBhbnkgd2F5IGFzc29jaWF0ZWQgd2l0aCBNaWNyb3NvZnQgYW5kIEdpdEh1Yi4iLAogICJuYW1lIjogIkdpdGh1YiBBY3Rpb25zIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJhcm9ub25ha0BnbWFpbC5jb20iCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmdpdGh1Yi1hY3Rpb25zIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hcm9ub25hay9naXRodWItYWN0aW9ucy1nbm9tZS1leHRlbnNpb24iLAogICJ1dWlkIjogImdpdGh1Yi1hY3Rpb25zQGFyb25vbmFrLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiA5NQp9"},
-    "45": {"version": "111", "sha256": "1r8bzjjk6lwid3bmwv8bzsgr3w9a179z0qbrxf5wzyf71y72kad9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvb2wgdG8gU2hvdyBHaXRodWIgQWN0aW9ucyBzdGF0dXMgb24gR25vbWUgRGVza3RvcC5cblxuQ2hlY2sgb24gZ2l0aHViIGhvdyB0byBpbnN0YWxsLlxuaWYgeW91IGxpa2UgaXQgZ2l2ZSBtZSBhIHN0YXIgb24gZ2l0aHViICFcblxuQWZ0ZXIgdXBkYXRpbmcsIGlmIHlvdSBnZXQgYW4gZXJyb3IsIHBsZWFzZSByZWxvZ2luLlxuXG5UaGlzIGV4dGVuc2lvbiBpcyBub3QgYWZmaWxpYXRlZCwgZnVuZGVkLCBvciBpbiBhbnkgd2F5IGFzc29jaWF0ZWQgd2l0aCBNaWNyb3NvZnQgYW5kIEdpdEh1Yi5cblxuVmVyc2lvbnMgYmVsb3cgZ25vbWUgNDUgd2lsbCBubyBsb25nZXIgYmUgc3VwcG9ydGVkIDovIiwKICAibmFtZSI6ICJHaXRodWIgQWN0aW9ucyIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAiYXJvbm9uYWtAZ21haWwuY29tIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5naXRodWItYWN0aW9ucyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hcm9ub25hay9naXRodWItYWN0aW9ucy1nbm9tZS1leHRlbnNpb24iLAogICJ1dWlkIjogImdpdGh1Yi1hY3Rpb25zQGFyb25vbmFrLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAxMTEKfQ=="}
+    "45": {"version": "112", "sha256": "1cnh8fz1jsbckb6w2kkdlh7ry79mbkrl63v3w8yg1x4wvmg7pnhl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvb2wgdG8gU2hvdyBHaXRodWIgQWN0aW9ucyBzdGF0dXMgb24gR25vbWUgRGVza3RvcC5cblxuQ2hlY2sgb24gZ2l0aHViIGhvdyB0byBpbnN0YWxsLlxuaWYgeW91IGxpa2UgaXQgZ2l2ZSBtZSBhIHN0YXIgb24gZ2l0aHViICFcblxuQWZ0ZXIgdXBkYXRpbmcsIGlmIHlvdSBnZXQgYW4gZXJyb3IsIHBsZWFzZSByZWxvZ2luLlxuXG5UaGlzIGV4dGVuc2lvbiBpcyBub3QgYWZmaWxpYXRlZCwgZnVuZGVkLCBvciBpbiBhbnkgd2F5IGFzc29jaWF0ZWQgd2l0aCBNaWNyb3NvZnQgYW5kIEdpdEh1Yi5cblxuVmVyc2lvbnMgYmVsb3cgZ25vbWUgNDUgd2lsbCBubyBsb25nZXIgYmUgc3VwcG9ydGVkIDovIiwKICAibmFtZSI6ICJHaXRodWIgQWN0aW9ucyIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAiYXJvbm9uYWtAZ21haWwuY29tIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5naXRodWItYWN0aW9ucyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hcm9ub25hay9naXRodWItYWN0aW9ucy1nbm9tZS1leHRlbnNpb24iLAogICJ1dWlkIjogImdpdGh1Yi1hY3Rpb25zQGFyb25vbmFrLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAxMTIKfQ=="}
   }}
 , {"uuid": "dim-completed-calendar-events@marcinjahn.com", "name": "Dim Completed Calendar Events", "pname": "dim-completed-calendar-events", "description": "Dim completed events in the top panel menu to easily distinguish between upcoming and past events. You can also highlight events that are ongoing.", "link": "https://extensions.gnome.org/extension/5979/dim-completed-calendar-events/", "shell_version_map": {
     "44": {"version": "3", "sha256": "0dpyrhdc70f77wv8hx7d6xnpxx13c2qfp7dbx716mqq90raij39f", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpbSBjb21wbGV0ZWQgZXZlbnRzIGluIHRoZSB0b3AgcGFuZWwgbWVudSB0byBlYXNpbHkgZGlzdGluZ3Vpc2ggYmV0d2VlbiB1cGNvbWluZyBhbmQgcGFzdCBldmVudHMuIFlvdSBjYW4gYWxzbyBoaWdobGlnaHQgZXZlbnRzIHRoYXQgYXJlIG9uZ29pbmcuIiwKICAibmFtZSI6ICJEaW0gQ29tcGxldGVkIENhbGVuZGFyIEV2ZW50cyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tYXJjaW5qYWhuL2dub21lLWRpbS1jb21wbGV0ZWQtY2FsZW5kYXItZXZlbnRzLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiZGltLWNvbXBsZXRlZC1jYWxlbmRhci1ldmVudHNAbWFyY2luamFobi5jb20iLAogICJ2ZXJzaW9uIjogMwp9"},
@@ -5971,7 +5980,7 @@
     "44": {"version": "4", "sha256": "1nzzsm6ai8b0l8c5xvx83cspm4gzx1n6wfdrbik3g7xam06hr861", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkF1dG9tYXRpY2FsbHkgcGFzdGUgRW1vamlzIGZyb20gdGhlIFNtaWxlIGVtb2ppIHBpY2tlciIsCiAgIm5hbWUiOiAiU21pbGUgLSBjb21wbGVtZW50YXJ5IGV4dGVuc2lvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21pam9ydXMvc21pbGUtZ25vbWUtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJzbWlsZS1leHRlbnNpb25AbWlqb3J1cy5pdCIsCiAgInZlcnNpb24iOiA0Cn0="},
     "45": {"version": "7", "sha256": "1fjcwgifggnckk0p7mskpgaz3wm71nz4qgcc1f1jqynwdbidds7l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkF1dG9tYXRpY2FsbHkgcGFzdGUgRW1vamlzIGZyb20gdGhlIFNtaWxlIGVtb2ppIHBpY2tlciIsCiAgIm5hbWUiOiAiU21pbGUgLSBjb21wbGVtZW50YXJ5IGV4dGVuc2lvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9taWpvcnVzL3NtaWxlLWdub21lLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAic21pbGUtZXh0ZW5zaW9uQG1pam9ydXMuaXQiLAogICJ2ZXJzaW9uIjogNwp9"}
   }}
-, {"uuid": "paperwm@paperwm.github.com", "name": "PaperWM", "pname": "paperwm", "description": "Tiling window manager with a twist", "link": "https://extensions.gnome.org/extension/6099/paperwm/", "shell_version_map": {
+, {"uuid": "paperwm@paperwm.github.com", "name": "PaperWM", "pname": "paperwm", "description": "Tiling window manager with a twist!\n\n PaperWM is a Gnome Shell extension which provides scrollable tiling of windows and per monitor workspaces. It's inspired by paper notebooks and tiling window managers.\n\nPlease see our github page to report issues, understand features, and learn how to configure PaperWM to your liking.", "link": "https://extensions.gnome.org/extension/6099/paperwm/", "shell_version_map": {
     "42": {"version": "69", "sha256": "15wfc31wz04sil1ys75sw7awhydwh6ydcbrlnf3xwsjbhqym3s83", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGluZyB3aW5kb3cgbWFuYWdlciB3aXRoIGEgdHdpc3QiLAogICJuYW1lIjogIlBhcGVyV00iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucGFwZXJ3bSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3BhcGVyd20vUGFwZXJXTSIsCiAgInV1aWQiOiAicGFwZXJ3bUBwYXBlcndtLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNjksCiAgInZlcnNpb24tbmFtZSI6ICI0NC4xNi4wIgp9"},
     "43": {"version": "69", "sha256": "15wfc31wz04sil1ys75sw7awhydwh6ydcbrlnf3xwsjbhqym3s83", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGluZyB3aW5kb3cgbWFuYWdlciB3aXRoIGEgdHdpc3QiLAogICJuYW1lIjogIlBhcGVyV00iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucGFwZXJ3bSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3BhcGVyd20vUGFwZXJXTSIsCiAgInV1aWQiOiAicGFwZXJ3bUBwYXBlcndtLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNjksCiAgInZlcnNpb24tbmFtZSI6ICI0NC4xNi4wIgp9"},
     "44": {"version": "69", "sha256": "15wfc31wz04sil1ys75sw7awhydwh6ydcbrlnf3xwsjbhqym3s83", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGluZyB3aW5kb3cgbWFuYWdlciB3aXRoIGEgdHdpc3QiLAogICJuYW1lIjogIlBhcGVyV00iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucGFwZXJ3bSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3BhcGVyd20vUGFwZXJXTSIsCiAgInV1aWQiOiAicGFwZXJ3bUBwYXBlcndtLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNjksCiAgInZlcnNpb24tbmFtZSI6ICI0NC4xNi4wIgp9"},
@@ -6069,10 +6078,11 @@
     "45": {"version": "7", "sha256": "0045lld30k30425scg2f686isnh2sqvwq41n62p9jc2lx4kvh5kg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVTRCAoVVMgRG9sbGFyKSBjb252ZXJ0ZWQgdG8gVFJZIChUdXJraXNoIExpcmEpLiBVcGRhdGVzIGFyZSByZWNlaXZlZCBldmVyeSAzMCBzZWNvbmRzLlxuXG5JdCBpcyBhIGZvcmsgb2YgRG9sbGFyLVBLUi4gVGhpcyBleHRlbnNpb24gdXNlcyBlY29ub21pYS5hd2Vzb21lYXBpLmNvbS5iciIsCiAgIm5hbWUiOiAiVVNELVRSWSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hcmlmZXNhdC9VU0QtVFJZLUdTaGVsbCIsCiAgInV1aWQiOiAidXNkLXRyeS1nc2hlbGxAYXJpZmVzYXQuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA3Cn0="}
   }}
 , {"uuid": "hide-dock-in-overview@roslax", "name": "Hide the dock in overview", "pname": "hide-the-dock-in-overview", "description": "hides the dock in overview mode", "link": "https://extensions.gnome.org/extension/6195/hide-the-dock-in-overview/", "shell_version_map": {
-    "44": {"version": "3", "sha256": "12f1qrc9hahjrqxvdviqz99pkgzs75f9k6qnnz4fh9v61bqwi31d", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogImhpZGVzIHRoZSBkb2NrIGluIG92ZXJ2aWV3IG1vZGUiLAogICJuYW1lIjogIkhpZGUgdGhlIGRvY2sgaW4gb3ZlcnZpZXciLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vUm9zR3RIdWIvSGlkZS1kb2NrLWluLW92ZXJ2aWV3L3RyZWUvbWFpbiIsCiAgInV1aWQiOiAiaGlkZS1kb2NrLWluLW92ZXJ2aWV3QHJvc2xheCIsCiAgInZlcnNpb24iOiAzCn0="}
+    "44": {"version": "3", "sha256": "12f1qrc9hahjrqxvdviqz99pkgzs75f9k6qnnz4fh9v61bqwi31d", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogImhpZGVzIHRoZSBkb2NrIGluIG92ZXJ2aWV3IG1vZGUiLAogICJuYW1lIjogIkhpZGUgdGhlIGRvY2sgaW4gb3ZlcnZpZXciLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vUm9zR3RIdWIvSGlkZS1kb2NrLWluLW92ZXJ2aWV3L3RyZWUvbWFpbiIsCiAgInV1aWQiOiAiaGlkZS1kb2NrLWluLW92ZXJ2aWV3QHJvc2xheCIsCiAgInZlcnNpb24iOiAzCn0="},
+    "45": {"version": "6", "sha256": "07bpr6xfpcbyx1braaada0n257fcgyisfpif42c6w9cann6ffq6m", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogImhpZGVzIHRoZSBkb2NrIGluIG92ZXJ2aWV3IG1vZGUiLAogICJuYW1lIjogIkhpZGUgdGhlIGRvY2sgaW4gb3ZlcnZpZXciLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vUm9zR3RIdWIvSGlkZS1kb2NrLWluLW92ZXJ2aWV3IiwKICAidXVpZCI6ICJoaWRlLWRvY2staW4tb3ZlcnZpZXdAcm9zbGF4IiwKICAidmVyc2lvbiI6IDYKfQ=="}
   }}
 , {"uuid": "light-style@gnome-shell-extensions.gcampax.github.com", "name": "Light Style", "pname": "light-style", "description": "Switch default to light style", "link": "https://extensions.gnome.org/extension/6198/light-style/", "shell_version_map": {
-    "45": {"version": "2", "sha256": "03b5brsdxax54bgpy0aqbnq6fpspwy6m04cj3f76ww1bz34v71cs", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaCBkZWZhdWx0IHRvIGxpZ2h0IHN0eWxlIiwKICAiZXh0ZW5zaW9uLWlkIjogImxpZ2h0LXN0eWxlIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWxpZ2h0LXN0eWxlIiwKICAibmFtZSI6ICJMaWdodCBTdHlsZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5saWdodC1zdHlsZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmdub21lLm9yZy9HTk9NRS9nbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAidXVpZCI6ICJsaWdodC1zdHlsZUBnbm9tZS1zaGVsbC1leHRlbnNpb25zLmdjYW1wYXguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAyCn0="}
+    "45": {"version": "3", "sha256": "1x846d9s4knv36g0wh3zmkmpkvv14jbb15qh9pa5xwmysbpbawh7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaCBkZWZhdWx0IHRvIGxpZ2h0IHN0eWxlIiwKICAiZXh0ZW5zaW9uLWlkIjogImxpZ2h0LXN0eWxlIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWxpZ2h0LXN0eWxlIiwKICAibmFtZSI6ICJMaWdodCBTdHlsZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5saWdodC1zdHlsZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmdub21lLm9yZy9HTk9NRS9nbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAidXVpZCI6ICJsaWdodC1zdHlsZUBnbm9tZS1zaGVsbC1leHRlbnNpb25zLmdjYW1wYXguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}
   }}
 , {"uuid": "transmission-daemon-ng@glerro.pm.me", "name": "Transmission Daemon Indicator NG", "pname": "transmission-daemon-indicator-ng", "description": "Monitor and control transmission-daemon or transmission-gtk.\nThe extension use the Transmission RPC protocol for interacting with it.\n\nFragments 2.0 user also can use this extension because it is a frontend for transmission-daemon.\n\nThis extension is only for Gnome Shell version major or equal to 43 because it use libsoup3.", "link": "https://extensions.gnome.org/extension/6204/transmission-daemon-indicator-ng/", "shell_version_map": {
     "43": {"version": "5", "sha256": "1g4dxrw7d9yik2y86l66nm50p7glyym6x0ff005kxmd42cl7dv9y", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vbml0b3IgYW5kIGNvbnRyb2wgdHJhbnNtaXNzaW9uLWRhZW1vbiBvciB0cmFuc21pc3Npb24tZ3RrLlxuVGhlIGV4dGVuc2lvbiB1c2UgdGhlIFRyYW5zbWlzc2lvbiBSUEMgcHJvdG9jb2wgZm9yIGludGVyYWN0aW5nIHdpdGggaXQuXG5cbkZyYWdtZW50cyAyLjAgdXNlciBhbHNvIGNhbiB1c2UgdGhpcyBleHRlbnNpb24gYmVjYXVzZSBpdCBpcyBhIGZyb250ZW5kIGZvciB0cmFuc21pc3Npb24tZGFlbW9uLlxuXG5UaGlzIGV4dGVuc2lvbiBpcyBvbmx5IGZvciBHbm9tZSBTaGVsbCB2ZXJzaW9uIG1ham9yIG9yIGVxdWFsIHRvIDQzIGJlY2F1c2UgaXQgdXNlIGxpYnNvdXAzLiIsCiAgImRvbmF0aW9ucyI6IHsKICAgICJrb2ZpIjogImdsZXJybyIKICB9LAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24tdHJhbnNtaXNzaW9uLWRhZW1vbi1uZyIsCiAgIm5hbWUiOiAiVHJhbnNtaXNzaW9uIERhZW1vbiBJbmRpY2F0b3IgTkciLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudHJhbnNtaXNzaW9uLWRhZW1vbi1uZyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvZ2xlcnJvL2dub21lLXNoZWxsLWV4dGVuc2lvbi10cmFuc21pc3Npb24tZGFlbW9uLW5nIiwKICAidXVpZCI6ICJ0cmFuc21pc3Npb24tZGFlbW9uLW5nQGdsZXJyby5wbS5tZSIsCiAgInZlcnNpb24iOiA1Cn0="},
@@ -6116,13 +6126,13 @@
     "42": {"version": "9", "sha256": "1832867id0z8jbd98dxfywj7k3xr4jjrdi7cblb4dhi2sii6svn6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVtb2ppIGNvcHkgaXMgYSB2ZXJzYXRpbGUgZXh0ZW5zaW9uIGRlc2lnbmVkIHRvIHNpbXBsaWZ5IGVtb2ppIHNlbGVjdGlvbiBhbmQgY2xpcGJvYXJkIG1hbmFnZW1lbnQuXG5cbkl0IGlzIGEgZm9yayBvZiBFbW9qaSBTZWxlY3Rvci4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJlbW9qaS1jb3B5IiwKICAibmFtZSI6ICJFbW9qaSBDb3B5IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmVtb2ppLWNvcHkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2ZlbGlwZWZ0bi9lbW9qaS1jb3B5IiwKICAidXVpZCI6ICJlbW9qaS1jb3B5QGZlbGlwZWZ0biIsCiAgInZlcnNpb24iOiA5Cn0="},
     "43": {"version": "9", "sha256": "1832867id0z8jbd98dxfywj7k3xr4jjrdi7cblb4dhi2sii6svn6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVtb2ppIGNvcHkgaXMgYSB2ZXJzYXRpbGUgZXh0ZW5zaW9uIGRlc2lnbmVkIHRvIHNpbXBsaWZ5IGVtb2ppIHNlbGVjdGlvbiBhbmQgY2xpcGJvYXJkIG1hbmFnZW1lbnQuXG5cbkl0IGlzIGEgZm9yayBvZiBFbW9qaSBTZWxlY3Rvci4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJlbW9qaS1jb3B5IiwKICAibmFtZSI6ICJFbW9qaSBDb3B5IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmVtb2ppLWNvcHkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2ZlbGlwZWZ0bi9lbW9qaS1jb3B5IiwKICAidXVpZCI6ICJlbW9qaS1jb3B5QGZlbGlwZWZ0biIsCiAgInZlcnNpb24iOiA5Cn0="},
     "44": {"version": "9", "sha256": "1832867id0z8jbd98dxfywj7k3xr4jjrdi7cblb4dhi2sii6svn6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVtb2ppIGNvcHkgaXMgYSB2ZXJzYXRpbGUgZXh0ZW5zaW9uIGRlc2lnbmVkIHRvIHNpbXBsaWZ5IGVtb2ppIHNlbGVjdGlvbiBhbmQgY2xpcGJvYXJkIG1hbmFnZW1lbnQuXG5cbkl0IGlzIGEgZm9yayBvZiBFbW9qaSBTZWxlY3Rvci4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJlbW9qaS1jb3B5IiwKICAibmFtZSI6ICJFbW9qaSBDb3B5IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmVtb2ppLWNvcHkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2ZlbGlwZWZ0bi9lbW9qaS1jb3B5IiwKICAidXVpZCI6ICJlbW9qaS1jb3B5QGZlbGlwZWZ0biIsCiAgInZlcnNpb24iOiA5Cn0="},
-    "45": {"version": "13", "sha256": "1af6rwk9y6v5if1wck8vb5db4vrv9g84swmjg57rgwj0zgvabxbq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVtb2ppIGNvcHkgaXMgYSB2ZXJzYXRpbGUgZXh0ZW5zaW9uIGRlc2lnbmVkIHRvIHNpbXBsaWZ5IGVtb2ppIHNlbGVjdGlvbiBhbmQgY2xpcGJvYXJkIG1hbmFnZW1lbnQuXG5cbkl0IGlzIGEgZm9yayBvZiBFbW9qaSBTZWxlY3Rvci4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJlbW9qaS1jb3B5IiwKICAibmFtZSI6ICJFbW9qaSBDb3B5IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmVtb2ppLWNvcHkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZmVsaXBlZnRuL2Vtb2ppLWNvcHkiLAogICJ1dWlkIjogImVtb2ppLWNvcHlAZmVsaXBlZnRuIiwKICAidmVyc2lvbiI6IDEzCn0="}
+    "45": {"version": "14", "sha256": "0zwq0aydj2m9s7bi6ph8k3ag4h7h4d76v1qdavspmz1msh4k1qkj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVtb2ppIGNvcHkgaXMgYSB2ZXJzYXRpbGUgZXh0ZW5zaW9uIGRlc2lnbmVkIHRvIHNpbXBsaWZ5IGVtb2ppIHNlbGVjdGlvbiBhbmQgY2xpcGJvYXJkIG1hbmFnZW1lbnQuXG5cbkl0IGlzIGEgZm9yayBvZiBFbW9qaSBTZWxlY3Rvci4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJlbW9qaS1jb3B5IiwKICAibmFtZSI6ICJFbW9qaSBDb3B5IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmVtb2ppLWNvcHkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZmVsaXBlZnRuL2Vtb2ppLWNvcHkiLAogICJ1dWlkIjogImVtb2ppLWNvcHlAZmVsaXBlZnRuIiwKICAidmVyc2lvbiI6IDE0Cn0="}
   }}
 , {"uuid": "notification-icons@muhammad_ans.github", "name": "Top Panel Notification Icons Revived", "pname": "top-panel-notification-icons-revived", "description": "Displays notifications icon in top panel", "link": "https://extensions.gnome.org/extension/6248/top-panel-notification-icons-revived/", "shell_version_map": {
     "45": {"version": "4", "sha256": "0s5bk169l1c7xhvrc07g1y6wjdzsgb3bylc1b3r38kjazdbyr3zp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXlzIG5vdGlmaWNhdGlvbnMgaWNvbiBpbiB0b3AgcGFuZWwiLAogICJuYW1lIjogIlRvcCBQYW5lbCBOb3RpZmljYXRpb24gSWNvbnMgUmV2aXZlZCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5ub3RpZmljYXRpb24taWNvbnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbXVoYW1tYWQtYW5zL25vdGlmaWNhdGlvbi1pY29ucyIsCiAgInV1aWQiOiAibm90aWZpY2F0aW9uLWljb25zQG11aGFtbWFkX2Fucy5naXRodWIiLAogICJ2ZXJzaW9uIjogNAp9"}
   }}
 , {"uuid": "huanghaohhoa@163.com", "name": "Application Tabs", "pname": "application-tabs", "description": "Panel will include a different window tab for the same application that is currently launched.\n1. You can see the application window intuitively\n2. Click tab to jump to the corresponding window immediately\n3. Click the Close button to close the window", "link": "https://extensions.gnome.org/extension/6254/application-tabs/", "shell_version_map": {
-    "45": {"version": "9", "sha256": "1j6a61cfz1d4kdl1y290m3g0z5lwricpym8niz0nmgqdngcsnjrr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlBhbmVsIHdpbGwgaW5jbHVkZSBhIGRpZmZlcmVudCB3aW5kb3cgdGFiIGZvciB0aGUgc2FtZSBhcHBsaWNhdGlvbiB0aGF0IGlzIGN1cnJlbnRseSBsYXVuY2hlZC5cbjEuIFlvdSBjYW4gc2VlIHRoZSBhcHBsaWNhdGlvbiB3aW5kb3cgaW50dWl0aXZlbHlcbjIuIENsaWNrIHRhYiB0byBqdW1wIHRvIHRoZSBjb3JyZXNwb25kaW5nIHdpbmRvdyBpbW1lZGlhdGVseVxuMy4gQ2xpY2sgdGhlIENsb3NlIGJ1dHRvbiB0byBjbG9zZSB0aGUgd2luZG93IiwKICAibmFtZSI6ICJBcHBsaWNhdGlvbiBUYWJzIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmFwcF90YWJzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2hob2FvL2FwcF90YWJzIiwKICAidXVpZCI6ICJodWFuZ2hhb2hob2FAMTYzLmNvbSIsCiAgInZlcnNpb24iOiA5Cn0="}
+    "45": {"version": "12", "sha256": "0bpf011hpmg4s0vs9m0s8kz58zgizyb42h543q18ipci22kvsssx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlBhbmVsIHdpbGwgaW5jbHVkZSBhIGRpZmZlcmVudCB3aW5kb3cgdGFiIGZvciB0aGUgc2FtZSBhcHBsaWNhdGlvbiB0aGF0IGlzIGN1cnJlbnRseSBsYXVuY2hlZC5cbjEuIFlvdSBjYW4gc2VlIHRoZSBhcHBsaWNhdGlvbiB3aW5kb3cgaW50dWl0aXZlbHlcbjIuIENsaWNrIHRhYiB0byBqdW1wIHRvIHRoZSBjb3JyZXNwb25kaW5nIHdpbmRvdyBpbW1lZGlhdGVseVxuMy4gQ2xpY2sgdGhlIENsb3NlIGJ1dHRvbiB0byBjbG9zZSB0aGUgd2luZG93IiwKICAibmFtZSI6ICJBcHBsaWNhdGlvbiBUYWJzIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmFwcF90YWJzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2hob2FvL2FwcF90YWJzIiwKICAidXVpZCI6ICJodWFuZ2hhb2hob2FAMTYzLmNvbSIsCiAgInZlcnNpb24iOiAxMgp9"}
   }}
 , {"uuid": "ping@prasanthc41m.github.com", "name": "Ping", "pname": "ping", "description": "A Ping Extension", "link": "https://extensions.gnome.org/extension/6260/ping/", "shell_version_map": {
     "44": {"version": "1", "sha256": "10s0hsrgs8p0xc1iwcjhg7x690si8pw9q5n8c881pf5lz6cs23gi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgUGluZyBFeHRlbnNpb24iLAogICJuYW1lIjogIlBpbmciLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucGluZyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9wcmFzYW50aGM0MW0vcGluZy1leHRlbnNpb24iLAogICJ1dWlkIjogInBpbmdAcHJhc2FudGhjNDFtLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMQp9"}
@@ -6159,7 +6169,7 @@
 , {"uuid": "indicator@hedgie.tech", "name": "Indicator", "pname": "indicator", "description": "Add an indicator for a custom service", "link": "https://extensions.gnome.org/extension/6293/indicator/", "shell_version_map": {
     "45": {"version": "2", "sha256": "1nrpmccdhxdsrz76qfawpycr4jhnqvpm6kcfdhhxax3zwxl28sva", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhbiBpbmRpY2F0b3IgZm9yIGEgY3VzdG9tIHNlcnZpY2UiLAogICJuYW1lIjogIkluZGljYXRvciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5pbmRpY2F0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaGVkZ2llaW5zb2Nrcy9pbmRpY2F0b3IiLAogICJ1dWlkIjogImluZGljYXRvckBoZWRnaWUudGVjaCIsCiAgInZlcnNpb24iOiAyCn0="}
   }}
-, {"uuid": "dark-style@fthx", "name": "Dark Style", "pname": "dark-style", "description": "Switch Shell-only default to dark style. Useful for Ubuntu.", "link": "https://extensions.gnome.org/extension/6296/dark-style/", "shell_version_map": {
+, {"uuid": "dark-style@fthx", "name": "Dark Style", "pname": "dark-style", "description": "Switch Shell-only default to dark style. Useful for Ubuntu.\n\nNOT USEFUL ANYMORE", "link": "https://extensions.gnome.org/extension/6296/dark-style/", "shell_version_map": {
     "45": {"version": "1", "sha256": "1cx0gwbc020jwdpjysm1kabhdnip16kzsgz5l9sf8pv9lrrdmj06", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaCBTaGVsbC1vbmx5IGRlZmF1bHQgdG8gZGFyayBzdHlsZS4gVXNlZnVsIGZvciBVYnVudHUuIiwKICAiZXh0ZW5zaW9uLWlkIjogImRhcmstc3R5bGUiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAibmFtZSI6ICJEYXJrIFN0eWxlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmRhcmstc3R5bGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZnRoeC9kYXJrLXN0eWxlIiwKICAidXVpZCI6ICJkYXJrLXN0eWxlQGZ0aHgiLAogICJ2ZXJzaW9uIjogMQp9"}
   }}
 , {"uuid": "custom-window-controls@icedman.github.com", "name": "Custom Window Controls", "pname": "custom-window-controls", "description": "Theme the window control buttons. (Warning: Highly Experimental)", "link": "https://extensions.gnome.org/extension/6300/custom-window-controls/", "shell_version_map": {
@@ -6168,8 +6178,8 @@
 , {"uuid": "workspace-indicator-left@gmtborges.com", "name": "Workspace Indicator Left", "pname": "workspace-indicator-left", "description": "The same as Workspace Indicator, but on the left like swaywm.\n\nIt is a fork of Workspace Indicator by fmuellner.", "link": "https://extensions.gnome.org/extension/6303/workspace-indicator-left/", "shell_version_map": {
     "44": {"version": "2", "sha256": "0yhczb1cbh39ryrk2zw5nqmda819h748pdslpm0rxn4jy3dzpn4i", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoZSBzYW1lIGFzIFdvcmtzcGFjZSBJbmRpY2F0b3IsIGJ1dCBvbiB0aGUgbGVmdCBsaWtlIHN3YXl3bS5cblxuSXQgaXMgYSBmb3JrIG9mIFdvcmtzcGFjZSBJbmRpY2F0b3IgYnkgZm11ZWxsbmVyLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJ3b3Jrc3BhY2UtaW5kaWNhdG9yLWxlZnQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24td29ya3NwYWNlLWluZGljYXRvci1sZWZ0IiwKICAibmFtZSI6ICJXb3Jrc3BhY2UgSW5kaWNhdG9yIExlZnQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZ3VzdGF2b210Ym9yZ2VzL2dub21lLXdvcmtzcGFjZS1pbmRpY2F0b3ItbGVmdC5naXQiLAogICJ1dWlkIjogIndvcmtzcGFjZS1pbmRpY2F0b3ItbGVmdEBnbXRib3JnZXMuY29tIiwKICAidmVyc2lvbiI6IDIKfQ=="}
   }}
-, {"uuid": "quake-terminal@diegodario88.github.io", "name": "Quake Terminal", "pname": "quake-terminal", "description": "Quickly launch a terminal in Quake mode using a keyboard shortcut.\n\nPlease use the repository for efficient issue reporting, enhancing communication between users and developers. ", "link": "https://extensions.gnome.org/extension/6307/quake-terminal/", "shell_version_map": {
-    "45": {"version": "16", "sha256": "1zmw57dnn9i8shnh7vi042xq0zl52hh1lhp0wx7hi7l57ljwpwkf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlF1aWNrbHkgbGF1bmNoIGEgdGVybWluYWwgaW4gUXVha2UgbW9kZSB1c2luZyBhIGtleWJvYXJkIHNob3J0Y3V0IiwKICAiZG9uYXRpb25zIjogewogICAgImdpdGh1YiI6ICJkaWVnb2RhcmlvODgiLAogICAgImtvZmkiOiAiZGllZ29kYXJpbyIKICB9LAogICJuYW1lIjogIlF1YWtlIFRlcm1pbmFsIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnF1YWtlLXRlcm1pbmFsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RpZWdvZGFyaW84OC9xdWFrZS10ZXJtaW5hbCIsCiAgInV1aWQiOiAicXVha2UtdGVybWluYWxAZGllZ29kYXJpbzg4LmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAxNgp9"}
+, {"uuid": "quake-terminal@diegodario88.github.io", "name": "Quake Terminal", "pname": "quake-terminal", "description": "Quickly launch a terminal in Quake mode using a keyboard shortcut", "link": "https://extensions.gnome.org/extension/6307/quake-terminal/", "shell_version_map": {
+    "45": {"version": "17", "sha256": "1an42lksgrj143r9cr3f397sp1xbjcjb1zccygbzi8z2jmvcsd1i", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlF1aWNrbHkgbGF1bmNoIGEgdGVybWluYWwgaW4gUXVha2UgbW9kZSB1c2luZyBhIGtleWJvYXJkIHNob3J0Y3V0IiwKICAiZG9uYXRpb25zIjogewogICAgImdpdGh1YiI6ICJkaWVnb2RhcmlvODgiLAogICAgImtvZmkiOiAiZGllZ29kYXJpbyIKICB9LAogICJuYW1lIjogIlF1YWtlIFRlcm1pbmFsIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnF1YWtlLXRlcm1pbmFsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RpZWdvZGFyaW84OC9xdWFrZS10ZXJtaW5hbCIsCiAgInV1aWQiOiAicXVha2UtdGVybWluYWxAZGllZ29kYXJpbzg4LmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAxNywKICAidmVyc2lvbi1uYW1lIjogIjEuNi4xIgp9"}
   }}
 , {"uuid": "window-title-is-back@fthx", "name": "Window title is back", "pname": "window-title-is-back", "description": "Focused window icon + app name + title + menu in the top bar.\n\n Options in preferences UI: toggle items, colored icon, icon size.", "link": "https://extensions.gnome.org/extension/6310/window-title-is-back/", "shell_version_map": {
     "45": {"version": "23", "sha256": "19xr10p9wdq3gws408j5kydlbgqc6wblsscjm15a1wf3p0n6jcdl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZvY3VzZWQgd2luZG93IGljb24gKyBhcHAgbmFtZSArIHRpdGxlICsgbWVudSBpbiB0aGUgdG9wIGJhci5cblxuIE9wdGlvbnMgaW4gcHJlZmVyZW5jZXMgVUk6IHRvZ2dsZSBpdGVtcywgY29sb3JlZCBpY29uLCBpY29uIHNpemUuIiwKICAibmFtZSI6ICJXaW5kb3cgdGl0bGUgaXMgYmFjayIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy53aW5kb3ctdGl0bGUtaXMtYmFjayIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9mdGh4L3dpbmRvdy10aXRsZS1pcy1iYWNrIiwKICAidXVpZCI6ICJ3aW5kb3ctdGl0bGUtaXMtYmFja0BmdGh4IiwKICAidmVyc2lvbiI6IDIzCn0="}
@@ -6263,8 +6273,8 @@
 , {"uuid": "utc-clock@swsnr.de", "name": "UTC clock", "pname": "utc-clock", "description": "A customizable UTC clock.\n\nAdd a second clock to the bar which shows the current UTC time, in a completely customizable format.", "link": "https://extensions.gnome.org/extension/6409/utc-clock/", "shell_version_map": {
     "45": {"version": "9", "sha256": "04rd1gc3ha2lryp7f98hvx88bjxgzqgf2xvxcmdhns6jyllp2lgp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgY3VzdG9taXphYmxlIFVUQyBjbG9jay5cblxuQWRkIGEgc2Vjb25kIGNsb2NrIHRvIHRoZSBiYXIgd2hpY2ggc2hvd3MgdGhlIGN1cnJlbnQgVVRDIHRpbWUsIGluIGEgY29tcGxldGVseSBjdXN0b21pemFibGUgZm9ybWF0LiIsCiAgImRvbmF0aW9ucyI6IHsKICAgICJwYXlwYWwiOiAic3dzbnIiCiAgfSwKICAibmFtZSI6ICJVVEMgY2xvY2siLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc3dzbnItdXRjLWNsb2NrIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3N3c25yL2dub21lLXNoZWxsLWV4dGVuc2lvbi11dGMtY2xvY2sjcmVhZG1lIiwKICAidXVpZCI6ICJ1dGMtY2xvY2tAc3dzbnIuZGUiLAogICJ2ZXJzaW9uIjogOSwKICAidmVyc2lvbi1uYW1lIjogIjQ1LjIiCn0="}
   }}
-, {"uuid": "iso8601ish@S410", "name": "ISO8601-ish Clock", "pname": "iso8601-ish-clock", "description": "Overrides Gnome's clock format with ISO8601-inspired one.\n\nClock preferences in Date & Time section of Gnome Settings are respected, in a way.\n`Date` and `Seconds` behave as usual.\n`Week Day` inserts ISO Week and Weekday between the date and time. E.g. `2023-10-16 W42-1 19:45`.", "link": "https://extensions.gnome.org/extension/6413/iso8601-ish-clock/", "shell_version_map": {
-    "45": {"version": "3", "sha256": "09gjz40bpjqskg0gj7mndm563658ywdkysg49g0h2szf7n6hh02v", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk92ZXJyaWRlcyBHbm9tZSdzIGNsb2NrIGZvcm1hdCB3aXRoIElTTzg2MDEtaW5zcGlyZWQgb25lLlxuXG5DbG9jayBwcmVmZXJlbmNlcyBpbiBEYXRlICYgVGltZSBzZWN0aW9uIG9mIEdub21lIFNldHRpbmdzIGFyZSByZXNwZWN0ZWQsIGluIGEgd2F5LlxuYERhdGVgIGFuZCBgU2Vjb25kc2AgYmVoYXZlIGFzIHVzdWFsLlxuYFdlZWsgRGF5YCBpbnNlcnMgSVNPIFdlZWsgYW5kIFdlZWtkYXkgYmV0d2VlbiB0aGUgZGF0ZSBhbmQgdGltZS4gRS5nLiBgMjAyMy0xMC0xNiBXNDItMSAxOTo0NWAuIiwKICAibmFtZSI6ICJJU084NjAxLWlzaCBDbG9jayIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9TNDEwL2lzbzg2MDFpc2giLAogICJ1dWlkIjogImlzbzg2MDFpc2hAUzQxMCIsCiAgInZlcnNpb24iOiAzCn0="}
+, {"uuid": "iso8601ish@S410", "name": "ISO8601-ish Clock", "pname": "iso8601-ish-clock", "description": "Overrides Gnome's clock format with ISO8601-inspired one.\n\nClock preferences in Date & Time section of Gnome Settings are respected, in a way.\n\"Date\" and \"Seconds\" behave as usual.\n\"Week Day\" inserts ISO Week and Weekday between the date and time. E.g. \"2023-10-16 W42-1 19:45\".", "link": "https://extensions.gnome.org/extension/6413/iso8601-ish-clock/", "shell_version_map": {
+    "45": {"version": "4", "sha256": "0q4wzs9mi8rw589dd8gwq2wm0sijngjszdj20vjxc2hyf2g4538i", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk92ZXJyaWRlcyBHbm9tZSdzIGNsb2NrIGZvcm1hdCB3aXRoIElTTzg2MDEtaW5zcGlyZWQgb25lLlxuXG5DbG9jayBwcmVmZXJlbmNlcyBpbiBEYXRlICYgVGltZSBzZWN0aW9uIG9mIEdub21lIFNldHRpbmdzIGFyZSByZXNwZWN0ZWQsIGluIGEgd2F5LlxuXCJEYXRlXCIgYW5kIFwiU2Vjb25kc1wiIGJlaGF2ZSBhcyB1c3VhbC5cblwiV2VlayBEYXlcIiBpbnNlcnRzIElTTyBXZWVrIGFuZCBXZWVrZGF5IGJldHdlZW4gdGhlIGRhdGUgYW5kIHRpbWUuIEUuZy4gXCIyMDIzLTEwLTE2IFc0Mi0xIDE5OjQ1XCIuIiwKICAibmFtZSI6ICJJU084NjAxLWlzaCBDbG9jayIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9TNDEwL2lzbzg2MDFpc2giLAogICJ1dWlkIjogImlzbzg2MDFpc2hAUzQxMCIsCiAgInZlcnNpb24iOiA0Cn0="}
   }}
 , {"uuid": "lu-wotd@praczet.github.com", "name": "Luxembourgish - Word Of The Day", "pname": "luxembourgish-word-of-the-day", "description": "Displays Luxembourgish's The Word of the Day. It gets them (wotds) from LOD.lu", "link": "https://extensions.gnome.org/extension/6418/luxembourgish-word-of-the-day/", "shell_version_map": {
     "44": {"version": "3", "sha256": "0mn2xbvcjzqw8h95khp1sj2jaq7mpfd53wyzfcsmcc3jv4f72ipn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXlzIEx1eGVtYm91cmdpc2gncyBUaGUgV29yZCBvZiB0aGUgRGF5LiBJdCBnZXRzIHRoZW0gKHdvdGRzKSBmcm9tIExPRC5sdSIsCiAgImdldHRleHQtZG9tYWluIjogImx1LXdvdGQiLAogICJuYW1lIjogIkx1eGVtYm91cmdpc2ggLSBXb3JkIE9mIFRoZSBEYXkiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubHUtd290ZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9wcmFjemV0L2x1LXdvdGQiLAogICJ1dWlkIjogImx1LXdvdGRAcHJhY3pldC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDMKfQ=="}
@@ -6272,8 +6282,8 @@
 , {"uuid": "command-menu@astrapi.de", "name": "Command Menu", "pname": "command-menu", "description": "A GNOME Shell Extension to manage shortcuts in Top Bar (Inspired by Shuttle and SSHMenu). Edit the .commands.json file to add your own shortcuts.\n\nSample Config in the README - https://gitlab.com/astrapi/gnome-extensions/command-menu/-/blob/main/README.md\n\nFork of great work from arunk140 and joostn", "link": "https://extensions.gnome.org/extension/6421/command-menu/", "shell_version_map": {
     "45": {"version": "1", "sha256": "0sqkj3r97wnyq4gpmiimxixqbk7g098vrzbah2qaplmj1x2cwrb7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR05PTUUgU2hlbGwgRXh0ZW5zaW9uIHRvIG1hbmFnZSBzaG9ydGN1dHMgaW4gVG9wIEJhciAoSW5zcGlyZWQgYnkgU2h1dHRsZSBhbmQgU1NITWVudSkuIEVkaXQgdGhlIC5jb21tYW5kcy5qc29uIGZpbGUgdG8gYWRkIHlvdXIgb3duIHNob3J0Y3V0cy5cblxuU2FtcGxlIENvbmZpZyBpbiB0aGUgUkVBRE1FIC0gaHR0cHM6Ly9naXRsYWIuY29tL2FzdHJhcGkvZ25vbWUtZXh0ZW5zaW9ucy9jb21tYW5kLW1lbnUvLS9ibG9iL21haW4vUkVBRE1FLm1kXG5cbkZvcmsgb2YgZ3JlYXQgd29yayBmcm9tIGFydW5rMTQwIGFuZCBqb29zdG4iLAogICJuYW1lIjogIkNvbW1hbmQgTWVudSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5jb21tYW5kbWVudSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9hc3RyYXBpL2dub21lLWV4dGVuc2lvbnMvY29tbWFuZC1tZW51IiwKICAidXVpZCI6ICJjb21tYW5kLW1lbnVAYXN0cmFwaS5kZSIsCiAgInZlcnNpb24iOiAxCn0="}
   }}
-, {"uuid": "disable-extension-updates@swsnr.de", "name": "Disable extension updates", "pname": "disable-extension-updates", "description": "Disable automatic extension updates in GNOME", "link": "https://extensions.gnome.org/extension/6424/disable-extension-updates/", "shell_version_map": {
-    "45": {"version": "2", "sha256": "1mgj2wlx5i9mjmn0zlhwbj13ks4kwj15jgxvq216zbzkvcfvkxgi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2FibGUgYXV0b21hdGljIGV4dGVuc2lvbiB1cGRhdGVzIGluIEdOT01FIiwKICAibmFtZSI6ICJEaXNhYmxlIGV4dGVuc2lvbiB1cGRhdGVzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3N3c25yL2dub21lLXNoZWxsLWV4dGVuc2lvbi1kaXNhYmxlLWV4dGVuc2lvbi11cGRhdGVzIiwKICAidXVpZCI6ICJkaXNhYmxlLWV4dGVuc2lvbi11cGRhdGVzQHN3c25yLmRlIiwKICAidmVyc2lvbiI6IDIKfQ=="}
+, {"uuid": "disable-extension-updates@swsnr.de", "name": "Disable extension updates", "pname": "disable-extension-updates", "description": "Disable automatic extension updates in GNOME\n\nThis extension patches GNOME Shell to entirely disable updates of user-installed extensions.", "link": "https://extensions.gnome.org/extension/6424/disable-extension-updates/", "shell_version_map": {
+    "45": {"version": "3", "sha256": "0k78gjqv1zb8dy0g60ij84bi12lnxddwzkkkgp75y83pk4sawqj4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2FibGUgYXV0b21hdGljIGV4dGVuc2lvbiB1cGRhdGVzIGluIEdOT01FXG5cblRoaXMgZXh0ZW5zaW9uIHBhdGNoZXMgR05PTUUgU2hlbGwgdG8gZW50aXJlbHkgZGlzYWJsZSB1cGRhdGVzIG9mIHVzZXItaW5zdGFsbGVkIGV4dGVuc2lvbnMuIiwKICAiZG9uYXRpb25zIjogewogICAgInBheXBhbCI6ICJzd3NuciIKICB9LAogICJuYW1lIjogIkRpc2FibGUgZXh0ZW5zaW9uIHVwZGF0ZXMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc3dzbnIvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWRpc2FibGUtZXh0ZW5zaW9uLXVwZGF0ZXMiLAogICJ1dWlkIjogImRpc2FibGUtZXh0ZW5zaW9uLXVwZGF0ZXNAc3dzbnIuZGUiLAogICJ2ZXJzaW9uIjogMywKICAidmVyc2lvbi1uYW1lIjogIjQ1LjEiCn0="}
   }}
 , {"uuid": "soundcard-switch@xnow.me", "name": "SoundCard Switch", "pname": "soundcard-switch", "description": "Enable or disable the sound card entirely by adding or removing the sound device. This precaution prevents the computer from unexpectedly making noise at inopportune moments in public places.", "link": "https://extensions.gnome.org/extension/6427/soundcard-switch/", "shell_version_map": {
     "42": {"version": "4", "sha256": "0ddwxl88dxwjdhi7awqv2rlqgk1ac8yhyqbry565y0qsrhk06j0y", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZSBvciBkaXNhYmxlIHRoZSBzb3VuZCBjYXJkIGVudGlyZWx5IGJ5IGFkZGluZyBvciByZW1vdmluZyB0aGUgc291bmQgZGV2aWNlLiBUaGlzIHByZWNhdXRpb24gcHJldmVudHMgdGhlIGNvbXB1dGVyIGZyb20gdW5leHBlY3RlZGx5IG1ha2luZyBub2lzZSBhdCBpbm9wcG9ydHVuZSBtb21lbnRzIGluIHB1YmxpYyBwbGFjZXMuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAic291bmRjYXJkLXN3aXRjaEB4bm93Lm1lIiwKICAibmFtZSI6ICJTb3VuZENhcmQgU3dpdGNoIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3hub3ctbWUvc291bmRjYXJkLXN3aXRjaC5naXQiLAogICJ1dWlkIjogInNvdW5kY2FyZC1zd2l0Y2hAeG5vdy5tZSIsCiAgInZlcnNpb24iOiA0Cn0="}
@@ -6291,7 +6301,7 @@
     "42": {"version": "1", "sha256": "0lw047iqjzmsnz19wajr73n1zprgh8r4mhh9srjkhm65k5h4gfs5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk11bHRpbW9uaXRvciBkaW1taW5nIG92ZXJsYXkgd2l0aCBSR0IgcmVndWxhdGlvbjogZXh0ZW5zaW9uIGFkZHMgYSBidXR0b24gd2l0aCBhIGxpZ2h0IGJ1bGIgaWNvbiB0byB5b3VyIHBhbmVsLiBDbGlja2luZyB0aGlzIGJ1dHRvbiByZXZlYWxzIGluZGl2aWR1YWwgc2xpZGVycyBmb3IgZWFjaCBjb25uZWN0ZWQgbW9uaXRvciwgYWxsb3dpbmcgeW91IHRvIGFkanVzdCB0aGUgZGltbWluZyBsZXZlbC4gQWRkaXRpb25hbGx5LCB5b3UgY2FuIHRvZ2dsZSB0aGUgY29sb3Igb2YgdGhlIGRpbW1pbmcgZWZmZWN0IGFuZCBjdXN0b21pemUgaXQgdXNpbmcgUkdCIHNsaWRlcnMgbG9jYXRlZCBhdCB0aGUgYm90dG9tIG9mIHRoZSBtZW51LiBcblxuVGVzdGVkIHdpdGggVWJ1bnR1IDIyLjA0LjMgTFRTIGFuZCBHTk9NRSBTaGVsbCA0Mi45LiBcblxuSXQgaXMgYSBmb3JrIG9mIERpbSBEZXNrdG9wIDcwLiIsCiAgIm5hbWUiOiAiVml2aWRTaGFkZTogTXVsdGktTW9uaXRvciBSR0IgRGltbWluZyBDb250cm9sIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21vem82NC9WaXZpZFNoYWRlIiwKICAidXVpZCI6ICJWaXZpZFNoYWRlQG1vem82NC5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMQp9"}
   }}
 , {"uuid": "picture-of-the-day@swsnr.de", "name": "Picture of the Day", "pname": "picture-of-the-day", "description": "Get a picture of the day as desktop background.\n\nSupports the following sources:\n\n* NASA Astronomy Picture of the Day (APOD) from https://apod.nasa.gov/apod/astropix.html\n* NASA Earth Observatory Image of the Day from https://earthobservatory.nasa.gov/topic/image-of-the-day\n* Bing from https://www.bing.com\n* Wikimedia from https://commons.wikimedia.org/wiki/Main_Page\n", "link": "https://extensions.gnome.org/extension/6469/picture-of-the-day/", "shell_version_map": {
-    "45": {"version": "13", "sha256": "1j3l0605d2i9w96c2lppjp0s254qyld2mb5hffgpv2jibb78s7ca", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdldCBhIHBpY3R1cmUgb2YgdGhlIGRheSBhcyBkZXNrdG9wIGJhY2tncm91bmQuXG5cblN1cHBvcnRzIHRoZSBmb2xsb3dpbmcgc291cmNlczpcblxuKiBOQVNBIEFzdHJvbm9teSBQaWN0dXJlIG9mIHRoZSBEYXkgKEFQT0QpIGZyb20gaHR0cHM6Ly9hcG9kLm5hc2EuZ292L2Fwb2QvYXN0cm9waXguaHRtbFxuKiBOQVNBIEVhcnRoIE9ic2VydmF0b3J5IEltYWdlIG9mIHRoZSBEYXkgZnJvbSBodHRwczovL2VhcnRob2JzZXJ2YXRvcnkubmFzYS5nb3YvdG9waWMvaW1hZ2Utb2YtdGhlLWRheVxuKiBCaW5nIGZyb20gaHR0cHM6Ly93d3cuYmluZy5jb21cbiogV2lraW1lZGlhIGZyb20gaHR0cHM6Ly9jb21tb25zLndpa2ltZWRpYS5vcmcvd2lraS9NYWluX1BhZ2VcbiIsCiAgImdldHRleHQtZG9tYWluIjogInBpY3R1cmUtb2YtdGhlLWRheUBzd3Nuci5kZSIsCiAgIm5hbWUiOiAiUGljdHVyZSBvZiB0aGUgRGF5IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnN3c25yLXBpY3R1cmUtb2YtdGhlLWRheSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zd3Nuci9nbm9tZS1zaGVsbC1leHRlbnNpb24tcGljdHVyZS1vZi10aGUtZGF5IiwKICAidXVpZCI6ICJwaWN0dXJlLW9mLXRoZS1kYXlAc3dzbnIuZGUiLAogICJ2ZXJzaW9uIjogMTMsCiAgInZlcnNpb24tbmFtZSI6ICI0NS42Igp9"}
+    "45": {"version": "16", "sha256": "0ax1g5i13kd57bzzwsp2ggyl3k617afbjmbnjw96w5hm51sdg6ag", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdldCBhIHBpY3R1cmUgb2YgdGhlIGRheSBhcyBkZXNrdG9wIGJhY2tncm91bmQuXG5cblN1cHBvcnRzIHRoZSBmb2xsb3dpbmcgc291cmNlczpcblxuKiBOQVNBIEFzdHJvbm9teSBQaWN0dXJlIG9mIHRoZSBEYXkgKEFQT0QpIGZyb20gaHR0cHM6Ly9hcG9kLm5hc2EuZ292L2Fwb2QvYXN0cm9waXguaHRtbFxuKiBOQVNBIEVhcnRoIE9ic2VydmF0b3J5IEltYWdlIG9mIHRoZSBEYXkgZnJvbSBodHRwczovL2VhcnRob2JzZXJ2YXRvcnkubmFzYS5nb3YvdG9waWMvaW1hZ2Utb2YtdGhlLWRheVxuKiBCaW5nIGZyb20gaHR0cHM6Ly93d3cuYmluZy5jb21cbiogV2lraW1lZGlhIGZyb20gaHR0cHM6Ly9jb21tb25zLndpa2ltZWRpYS5vcmcvd2lraS9NYWluX1BhZ2VcbiIsCiAgImdldHRleHQtZG9tYWluIjogInBpY3R1cmUtb2YtdGhlLWRheUBzd3Nuci5kZSIsCiAgIm5hbWUiOiAiUGljdHVyZSBvZiB0aGUgRGF5IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnN3c25yLXBpY3R1cmUtb2YtdGhlLWRheSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zd3Nuci9nbm9tZS1zaGVsbC1leHRlbnNpb24tcGljdHVyZS1vZi10aGUtZGF5IiwKICAidXVpZCI6ICJwaWN0dXJlLW9mLXRoZS1kYXlAc3dzbnIuZGUiLAogICJ2ZXJzaW9uIjogMTYsCiAgInZlcnNpb24tbmFtZSI6ICI0NS45Igp9"}
   }}
 , {"uuid": "overviewnow@thesola.io", "name": "Overview Flick", "pname": "overview-flick", "description": "Flick from the right to get the Overview.\n\nThis extension was revived to GNOME 45 from the original, https://extensions.gnome.org/extension/1088/overview-now/\n\nOriginal description:\n\nThis is my first extension. Thanks, GNOME!. Based on \"Slide for Keyboard\", https://extensions.gnome.org/extension/993/slide-for-keyboard/\n\nWhy did I do this? Well, if you do a gesture with your thumb, on your touchscreen, from the right to the center, you'll get the Overview. If you do that, your thumb will be placed in the Desktop selector, so you will be able to move between desktops with your thumb. Perfect! This is also easier to trigger than the default GNOME gesture (three fingers closing).", "link": "https://extensions.gnome.org/extension/6478/overview-flick/", "shell_version_map": {
     "45": {"version": "2", "sha256": "14bbic6vx13vaj5xqws34mlwmvfq436al63lzvwa41hkckqyxk6s", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZsaWNrIGZyb20gdGhlIHJpZ2h0IHRvIGdldCB0aGUgT3ZlcnZpZXcuXG5cblRoaXMgZXh0ZW5zaW9uIHdhcyByZXZpdmVkIHRvIEdOT01FIDQ1IGZyb20gdGhlIG9yaWdpbmFsLCBodHRwczovL2V4dGVuc2lvbnMuZ25vbWUub3JnL2V4dGVuc2lvbi8xMDg4L292ZXJ2aWV3LW5vdy9cblxuT3JpZ2luYWwgZGVzY3JpcHRpb246XG5cblRoaXMgaXMgbXkgZmlyc3QgZXh0ZW5zaW9uLiBUaGFua3MsIEdOT01FIS4gQmFzZWQgb24gXCJTbGlkZSBmb3IgS2V5Ym9hcmRcIiwgaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vOTkzL3NsaWRlLWZvci1rZXlib2FyZC9cblxuV2h5IGRpZCBJIGRvIHRoaXM/IFdlbGwsIGlmIHlvdSBkbyBhIGdlc3R1cmUgd2l0aCB5b3VyIHRodW1iLCBvbiB5b3VyIHRvdWNoc2NyZWVuLCBmcm9tIHRoZSByaWdodCB0byB0aGUgY2VudGVyLCB5b3UnbGwgZ2V0IHRoZSBPdmVydmlldy4gSWYgeW91IGRvIHRoYXQsIHlvdXIgdGh1bWIgd2lsbCBiZSBwbGFjZWQgaW4gdGhlIERlc2t0b3Agc2VsZWN0b3IsIHNvIHlvdSB3aWxsIGJlIGFibGUgdG8gbW92ZSBiZXR3ZWVuIGRlc2t0b3BzIHdpdGggeW91ciB0aHVtYi4gUGVyZmVjdCEgVGhpcyBpcyBhbHNvIGVhc2llciB0byB0cmlnZ2VyIHRoYW4gdGhlIGRlZmF1bHQgR05PTUUgZ2VzdHVyZSAodGhyZWUgZmluZ2VycyBjbG9zaW5nKS4iLAogICJuYW1lIjogIk92ZXJ2aWV3IEZsaWNrIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3RoZXNvbGExMC9nbm9tZS1zaGVsbC1vdmVydmlldy1mbGljayIsCiAgInV1aWQiOiAib3ZlcnZpZXdub3dAdGhlc29sYS5pbyIsCiAgInZlcnNpb24iOiAyCn0="}
@@ -6333,8 +6343,8 @@
     "44": {"version": "8", "sha256": "0751blv9h3dj9i61y9ywjmn34sjq5b9lf2nci2anm3ngm5rzskzq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIGxvZ28gdG8gdGhlIGRlc2t0b3AuIFRoaXMgaXMgYSBmb3JrIG9mIEJhY2tncm91bmQgTG9nbyBleHRlbnNpb24gXG4gaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vODg5L2JhY2tncm91bmQtbG9nby8gXG4gaHR0cHM6Ly9wYWd1cmUuaW8vYmFja2dyb3VuZC1sb2dvLWV4dGVuc2lvbiIsCiAgIm5hbWUiOiAiTG9nbyBXaWRnZXQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubG9nby13aWRnZXQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ob3diZWEvbG9nby13aWRnZXQiLAogICJ1dWlkIjogImxvZ293aWRnZXRAZ2l0aHViLmNvbS5ob3diZWEiLAogICJ2ZXJzaW9uIjogOAp9"},
     "45": {"version": "7", "sha256": "09fmvv0nimyfai39xr0hrcgp5979i8n80zi42y7lbanczcc71n6a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIGxvZ28gdG8gdGhlIGRlc2t0b3AuIFRoaXMgaXMgYSBmb3JrIG9mIEJhY2tncm91bmQgTG9nbyBleHRlbnNpb24gXG4gaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vODg5L2JhY2tncm91bmQtbG9nby8gXG4gaHR0cHM6Ly9zcmMuZmVkb3JhcHJvamVjdC5vcmcvcnBtcy9nbm9tZS1zaGVsbC1leHRlbnNpb24tYmFja2dyb3VuZC1sb2dvIiwKICAibmFtZSI6ICJMb2dvIFdpZGdldCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5sb2dvLXdpZGdldCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ob3diZWEvbG9nby13aWRnZXQiLAogICJ1dWlkIjogImxvZ293aWRnZXRAZ2l0aHViLmNvbS5ob3diZWEiLAogICJ2ZXJzaW9uIjogNwp9"}
   }}
-, {"uuid": "azan@a7medkhalaf", "name": "xAzanTimes", "pname": "xazantimes", "description": "Azan is an Islamic prayer times extension for Gnome Shell.\nIt's a fork of \"Azan Islamic Prayer Times\" by faissaloo which is based on the extension by Fahrinh.\n\nFeatures\n- List compulsory prayer times\n- Optionally display Imsak, Sunrise, Sunset and Midnight\n- Show remaining time for the upcoming prayer.\n- Show current date in Hijri calendar.\n- Display a notification when it's time for prayer.\n- Automatic Geoclue2 location detection\n- Show times in 24 hour and 12 hour formats\n- Hijri date adjusment\n- Iqamah option", "link": "https://extensions.gnome.org/extension/6538/xazantimes/", "shell_version_map": {
-    "45": {"version": "2", "sha256": "18q8566d72js01qx1gq9i322hxghkg0bh6b1xfzcmq54cmfab47d", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkF6YW4gaXMgYW4gSXNsYW1pYyBwcmF5ZXIgdGltZXMgZXh0ZW5zaW9uIGZvciBHbm9tZSBTaGVsbCBiYXNlZCBvbiB0aGUgZXh0ZW5zaW9uIGJ5IGZhaXNzYWxvby5cblxuRmVhdHVyZXNcbi0gTGlzdCBjb21wdWxzb3J5IHByYXllciB0aW1lc1xuIE9wdGlvbmFsbHkgZGlzcGxheSBJbXNhaywgU3VucmlzZSwgU3Vuc2V0IGFuZCBNaWRuaWdodFxuLSBTaG93IHJlbWFpbmluZyB0aW1lIGZvciB0aGUgdXBjb21pbmcgcHJheWVyLlxuLSBTaG93IGN1cnJlbnQgZGF0ZSBpbiBIaWpyaSBjYWxlbmRhci5cbi0gRGlzcGxheSBhIG5vdGlmaWNhdGlvbiB3aGVuIGl0J3MgdGltZSBmb3IgcHJheWVyLlxuLSBBdXRvbWF0aWMgR2VvY2x1ZTIgbG9jYXRpb24gZGV0ZWN0aW9uXG4tIFNob3cgdGltZXMgaW4gMjQgaG91ciBhbmQgMTIgaG91ciBmb3JtYXRzXG4tIEhpanJpIGRhdGUgYWRqdXNtZW50XG4tIElxYW1haCBvcHRpb24iLAogICJuYW1lIjogInhBemFuVGltZXMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYXphbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hN21lZGtoYWxhZi9hemFuLWdub21lLXNoZWxsLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiYXphbkBhN21lZGtoYWxhZiIsCiAgInZlcnNpb24iOiAyCn0="}
+, {"uuid": "azan@a7medkhalaf", "name": "xAzanTimes", "pname": "xazantimes", "description": "Azan is an Islamic prayer times extension for Gnome Shell.\nIt's a fork of the extension by faissaloo.\n\nFeatures\n- List compulsory prayer times\n- Optionally display Imsak, Sunrise, Sunset and Midnight\n- Show remaining time for the upcoming prayer.\n- Show current date in Hijri calendar.\n- Display a notification when it's time for prayer.\n- Automatic Geoclue2 location detection\n- Show times in 24 hour and 12 hour formats\n- Hijri date adjusment\n- Iqamah option", "link": "https://extensions.gnome.org/extension/6538/xazantimes/", "shell_version_map": {
+    "45": {"version": "4", "sha256": "1yvxwkxfa6nd5cvy1n79w4zc1abqmq04razd5yp3lva4lpzkfcbd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkF6YW4gaXMgYW4gSXNsYW1pYyBwcmF5ZXIgdGltZXMgZXh0ZW5zaW9uIGZvciBHbm9tZSBTaGVsbC5cbkl0J3MgYSBmb3JrIG9mIHRoZSBleHRlbnNpb24gYnkgZmFpc3NhbG9vLlxuXG5GZWF0dXJlc1xuLSBMaXN0IGNvbXB1bHNvcnkgcHJheWVyIHRpbWVzXG4tIE9wdGlvbmFsbHkgZGlzcGxheSBJbXNhaywgU3VucmlzZSwgU3Vuc2V0IGFuZCBNaWRuaWdodFxuLSBTaG93IHJlbWFpbmluZyB0aW1lIGZvciB0aGUgdXBjb21pbmcgcHJheWVyLlxuLSBTaG93IGN1cnJlbnQgZGF0ZSBpbiBIaWpyaSBjYWxlbmRhci5cbi0gRGlzcGxheSBhIG5vdGlmaWNhdGlvbiB3aGVuIGl0J3MgdGltZSBmb3IgcHJheWVyLlxuLSBBdXRvbWF0aWMgR2VvY2x1ZTIgbG9jYXRpb24gZGV0ZWN0aW9uXG4tIFNob3cgdGltZXMgaW4gMjQgaG91ciBhbmQgMTIgaG91ciBmb3JtYXRzXG4tIEhpanJpIGRhdGUgYWRqdXNtZW50XG4tIElxYW1haCBvcHRpb24iLAogICJuYW1lIjogInhBemFuVGltZXMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYXphbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hN21lZGtoYWxhZi9hemFuLWdub21lLXNoZWxsLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiYXphbkBhN21lZGtoYWxhZiIsCiAgInZlcnNpb24iOiA0Cn0="}
   }}
 , {"uuid": "clown@markocic", "name": "Clown", "pname": "clown", "description": "Displays clown emoji in the panel and plays clown theme song on click", "link": "https://extensions.gnome.org/extension/6544/clown/", "shell_version_map": {
     "45": {"version": "3", "sha256": "13ybvk48whny007fxvspdpx7slg42l7fgrg0drcfrh9w6c6jvq0l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXlzIGNsb3duIGVtb2ppIGluIHRoZSBwYW5lbCBhbmQgcGxheXMgY2xvd24gdGhlbWUgc29uZyBvbiBjbGljayIsCiAgIm5hbWUiOiAiQ2xvd24iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbWFya29jaWMvY2xvd24tZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJjbG93bkBtYXJrb2NpYyIsCiAgInZlcnNpb24iOiAzCn0="}
@@ -6348,13 +6358,13 @@
     "44": {"version": "4", "sha256": "1krp4001aphvjnp245262llv0xzwbga17skq94f2wkv87yqd1ggp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hZ25ldC9SZWN0YW5nbGUgbGlrZSBtYW51YWwgdGlsaW5nIiwKICAibmFtZSI6ICJSZWN0YW5nbGUiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucmVjdGFuZ2xlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYWNyaXN0b2ZmZXJzL2dub21lLXJlY3RhbmdsZSIsCiAgInV1aWQiOiAicmVjdGFuZ2xlQGFjcmlzdG9mZmVycy5tZSIsCiAgInZlcnNpb24iOiA0Cn0="},
     "45": {"version": "3", "sha256": "15gv4y4rwqgz54y86ik09izp0fl4rsw2x7bra959ih60dy3vs00i", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hZ25ldC9SZWN0YW5nbGUgbGlrZSBtYW51YWwgdGlsaW5nIiwKICAibmFtZSI6ICJSZWN0YW5nbGUiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucmVjdGFuZ2xlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FjcmlzdG9mZmVycy9nbm9tZS1yZWN0YW5nbGUiLAogICJ1dWlkIjogInJlY3RhbmdsZUBhY3Jpc3RvZmZlcnMubWUiLAogICJ2ZXJzaW9uIjogMwp9"}
   }}
-, {"uuid": "task-up@fthx", "name": "Task Up", "pname": "task-up", "description": "Task bar. Handles multiple workspaces. Very light extension.\n\n Complete rewrite of BaBar task bar extension, light code only has 300 lines.\n\n Some settings.", "link": "https://extensions.gnome.org/extension/6556/task-up/", "shell_version_map": {
-    "45": {"version": "13", "sha256": "06rnaagwpcj6qzb53cmi81kx71ssjy1qhm6abcrkyd8113gmag3b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRhc2sgYmFyLiBIYW5kbGVzIG11bHRpcGxlIHdvcmtzcGFjZXMuIFZlcnkgbGlnaHQgZXh0ZW5zaW9uLlxuXG4gQ29tcGxldGUgcmV3cml0ZSBvZiBCYUJhciB0YXNrIGJhciBleHRlbnNpb24sIGxpZ2h0IGNvZGUgb25seSBoYXMgMzAwIGxpbmVzLlxuXG4gU29tZSBzZXR0aW5ncy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAibmFtZSI6ICJUYXNrIFVwIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnRhc2stdXAiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZnRoeC90YXNrLXVwIiwKICAidXVpZCI6ICJ0YXNrLXVwQGZ0aHgiLAogICJ2ZXJzaW9uIjogMTMKfQ=="}
+, {"uuid": "task-up@fthx", "name": "Task Up", "pname": "task-up", "description": "Task bar. Handles multiple workspaces. Very light extension.\n\n Complete rewrite of BaBar task bar extension, light code only has 300 lines.\n\n Some settings including show icon and/or title.", "link": "https://extensions.gnome.org/extension/6556/task-up/", "shell_version_map": {
+    "45": {"version": "14", "sha256": "1gybwvg887bffzi338d7z7gh4m70g8wrdkkicgvbcdn5c48rb6ar", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRhc2sgYmFyLiBIYW5kbGVzIG11bHRpcGxlIHdvcmtzcGFjZXMuIFZlcnkgbGlnaHQgZXh0ZW5zaW9uLlxuXG4gQ29tcGxldGUgcmV3cml0ZSBvZiBCYUJhciB0YXNrIGJhciBleHRlbnNpb24sIGxpZ2h0IGNvZGUgb25seSBoYXMgMzAwIGxpbmVzLlxuXG4gU29tZSBzZXR0aW5ncy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAibmFtZSI6ICJUYXNrIFVwIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnRhc2stdXAiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZnRoeC90YXNrLXVwIiwKICAidXVpZCI6ICJ0YXNrLXVwQGZ0aHgiLAogICJ2ZXJzaW9uIjogMTQKfQ=="}
   }}
-, {"uuid": "workspace-switch-buttons@rajan-31", "name": "Workspace Switch Buttons", "pname": "workspace-switch-buttons", "description": "Adds buttons to switch to left and right workspace, and hides \"Activities\" button", "link": "https://extensions.gnome.org/extension/6562/workspace-switch-buttons/", "shell_version_map": {
-    "42": {"version": "2", "sha256": "03hzxb0b6ckqhjj7syv5bh5sl0k5jajnfrpy82ifw4aa89apin81", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYnV0dG9ucyB0byBzd2l0Y2ggdG8gbGVmdCBhbmQgcmlnaHQgd29ya3NwYWNlLCBhbmQgaGlkZXMgXCJBY3Rpdml0aWVzXCIgYnV0dG9uIiwKICAibmFtZSI6ICJXb3Jrc3BhY2UgU3dpdGNoIEJ1dHRvbnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9yYWphbi0zMS9Xb3Jrc3BhY2UtU3dpdGNoLUJ1dHRvbnMiLAogICJ1dWlkIjogIndvcmtzcGFjZS1zd2l0Y2gtYnV0dG9uc0ByYWphbi0zMSIsCiAgInZlcnNpb24iOiAyCn0="},
-    "43": {"version": "2", "sha256": "03hzxb0b6ckqhjj7syv5bh5sl0k5jajnfrpy82ifw4aa89apin81", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYnV0dG9ucyB0byBzd2l0Y2ggdG8gbGVmdCBhbmQgcmlnaHQgd29ya3NwYWNlLCBhbmQgaGlkZXMgXCJBY3Rpdml0aWVzXCIgYnV0dG9uIiwKICAibmFtZSI6ICJXb3Jrc3BhY2UgU3dpdGNoIEJ1dHRvbnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9yYWphbi0zMS9Xb3Jrc3BhY2UtU3dpdGNoLUJ1dHRvbnMiLAogICJ1dWlkIjogIndvcmtzcGFjZS1zd2l0Y2gtYnV0dG9uc0ByYWphbi0zMSIsCiAgInZlcnNpb24iOiAyCn0="},
-    "44": {"version": "2", "sha256": "03hzxb0b6ckqhjj7syv5bh5sl0k5jajnfrpy82ifw4aa89apin81", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYnV0dG9ucyB0byBzd2l0Y2ggdG8gbGVmdCBhbmQgcmlnaHQgd29ya3NwYWNlLCBhbmQgaGlkZXMgXCJBY3Rpdml0aWVzXCIgYnV0dG9uIiwKICAibmFtZSI6ICJXb3Jrc3BhY2UgU3dpdGNoIEJ1dHRvbnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9yYWphbi0zMS9Xb3Jrc3BhY2UtU3dpdGNoLUJ1dHRvbnMiLAogICJ1dWlkIjogIndvcmtzcGFjZS1zd2l0Y2gtYnV0dG9uc0ByYWphbi0zMSIsCiAgInZlcnNpb24iOiAyCn0="}
+, {"uuid": "workspace-switch-buttons@rajan-31", "name": "Workspace Switch Buttons", "pname": "workspace-switch-buttons", "description": "This GNOME Shell extension offers following features:\n\n- Buttons to switch to left and right workspace\n\n- Shows index of active workspace (click it for overview)\n[Can hide it in preferences]\n\n- Hides \"Activities\" button\n[Can turn this off in preferences]", "link": "https://extensions.gnome.org/extension/6562/workspace-switch-buttons/", "shell_version_map": {
+    "42": {"version": "4", "sha256": "1gx26lb72d1lflxpcn66laribdpxz8gma1r6bz97sa57sjirxmya", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYnV0dG9ucyB0byBzd2l0Y2ggdG8gbGVmdCBhbmQgcmlnaHQgd29ya3NwYWNlLCBzaG93cyBhY3RpdmUgd29ya3NwYWNlIGluZGV4LCBhbmQgaGlkZXMgXCJBY3Rpdml0aWVzXCIgYnV0dG9uIiwKICAibmFtZSI6ICJXb3Jrc3BhY2UgU3dpdGNoIEJ1dHRvbnMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud29ya3NwYWNlLXN3aXRjaC1idXR0b25zIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcmFqYW4tMzEvV29ya3NwYWNlLVN3aXRjaC1CdXR0b25zIiwKICAidXVpZCI6ICJ3b3Jrc3BhY2Utc3dpdGNoLWJ1dHRvbnNAcmFqYW4tMzEiLAogICJ2ZXJzaW9uIjogNAp9"},
+    "43": {"version": "4", "sha256": "1gx26lb72d1lflxpcn66laribdpxz8gma1r6bz97sa57sjirxmya", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYnV0dG9ucyB0byBzd2l0Y2ggdG8gbGVmdCBhbmQgcmlnaHQgd29ya3NwYWNlLCBzaG93cyBhY3RpdmUgd29ya3NwYWNlIGluZGV4LCBhbmQgaGlkZXMgXCJBY3Rpdml0aWVzXCIgYnV0dG9uIiwKICAibmFtZSI6ICJXb3Jrc3BhY2UgU3dpdGNoIEJ1dHRvbnMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud29ya3NwYWNlLXN3aXRjaC1idXR0b25zIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcmFqYW4tMzEvV29ya3NwYWNlLVN3aXRjaC1CdXR0b25zIiwKICAidXVpZCI6ICJ3b3Jrc3BhY2Utc3dpdGNoLWJ1dHRvbnNAcmFqYW4tMzEiLAogICJ2ZXJzaW9uIjogNAp9"},
+    "44": {"version": "4", "sha256": "1gx26lb72d1lflxpcn66laribdpxz8gma1r6bz97sa57sjirxmya", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYnV0dG9ucyB0byBzd2l0Y2ggdG8gbGVmdCBhbmQgcmlnaHQgd29ya3NwYWNlLCBzaG93cyBhY3RpdmUgd29ya3NwYWNlIGluZGV4LCBhbmQgaGlkZXMgXCJBY3Rpdml0aWVzXCIgYnV0dG9uIiwKICAibmFtZSI6ICJXb3Jrc3BhY2UgU3dpdGNoIEJ1dHRvbnMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud29ya3NwYWNlLXN3aXRjaC1idXR0b25zIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcmFqYW4tMzEvV29ya3NwYWNlLVN3aXRjaC1CdXR0b25zIiwKICAidXVpZCI6ICJ3b3Jrc3BhY2Utc3dpdGNoLWJ1dHRvbnNAcmFqYW4tMzEiLAogICJ2ZXJzaW9uIjogNAp9"}
   }}
 , {"uuid": "langTray@a7medkhalaf", "name": "xLanguageTray", "pname": "xlanguagetray", "description": "Move Region/Language Tray To Quick Settings", "link": "https://extensions.gnome.org/extension/6565/xlanguagetray/", "shell_version_map": {
     "45": {"version": "2", "sha256": "056x6bg3z8vqrknyqgr8hfgd8x04nj626jxw30p3qszvazajr8bj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgUmVnaW9uL0xhbmd1YWdlIFRyYXkgVG8gUXVpY2sgU2V0dGluZ3MiLAogICJuYW1lIjogInhMYW5ndWFnZVRyYXkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYTdtZWRraGFsYWYvTGFuZ1RyYXkiLAogICJ1dWlkIjogImxhbmdUcmF5QGE3bWVka2hhbGFmIiwKICAidmVyc2lvbiI6IDIKfQ=="}
@@ -6362,4 +6372,21 @@
 , {"uuid": "simplebreakreminder@castillodel.com", "name": "Simple Break Reminder", "pname": "simple-break-reminder", "description": "It's important to remember to take a break", "link": "https://extensions.gnome.org/extension/6568/simple-break-reminder/", "shell_version_map": {
     "45": {"version": "2", "sha256": "07014vqkcxhrndwywbprxkngvvyn0fvwpq7iaky04m8zb88jhk4l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkl0J3MgaW1wb3J0YW50IHRvIHJlbWVtYmVyIHRvIHRha2UgYSBicmVhayIsCiAgIm5hbWUiOiAiU2ltcGxlIEJyZWFrIFJlbWluZGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNpbXBsZWJyZWFrcmVtaW5kZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vQ2FzdGlsbG9EZWwvc2ltcGxlYnJlYWtyZW1pbmRlciIsCiAgInV1aWQiOiAic2ltcGxlYnJlYWtyZW1pbmRlckBjYXN0aWxsb2RlbC5jb20iLAogICJ2ZXJzaW9uIjogMgp9"}
   }}
+, {"uuid": "OnTheTop@fablevi.github.io", "name": "On The Top", "pname": "on-the-top", "description": "Always on top button in the top bar", "link": "https://extensions.gnome.org/extension/6571/on-the-top/", "shell_version_map": {
+    "45": {"version": "4", "sha256": "0z13kqafgbs7csxhqfax56gfb4q70a6xqkr9dx4w5fj13fy2zzqm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsd2F5cyBvbiB0b3AgYnV0dG9uIGluIHRoZSB0b3AgYmFyIiwKICAibmFtZSI6ICJPbiBUaGUgVG9wIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2ZhYmxldmkvT25UaGVUb3AtZmFibGV2aS5naXRodWIuaW8iLAogICJ1dWlkIjogIk9uVGhlVG9wQGZhYmxldmkuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDQKfQ=="}
+  }}
+, {"uuid": "openbar@neuromorph", "name": "Open Bar", "pname": "open-bar", "description": "Top Bar ( Top Panel ) customization / styling. Open the Top Bar and let the colors 🍹 flow.\n\nBar Type: Fixed, Floating or Islands\nCustomize:\n- Bar height, margin\n- Bar foreground color, font\n- Bar background color, transparency, gradient, border\n- Shape rectangular to pill\n- Neon, shadow effects\n- Menu background color, transparency, border \netc.\n\nNote:\nMenus are more involved with many subitems and their colors. Right now it only has option to set primary colors for menu and will need to be used in alignment with whatever theme you are using.\nThere can be issues with subsections and submenus. Some fixes coming in next update.\n\nGnome 45 support will be available soon.", "link": "https://extensions.gnome.org/extension/6580/open-bar/", "shell_version_map": {
+    "42": {"version": "3", "sha256": "1bk7gkkmcvmafiy5fh7b4g0pfdms1zadcvix7fs9x33n3xm04v15", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvcCBCYXIgKCBUb3AgUGFuZWwgKSBjdXN0b21pemF0aW9uIC8gc3R5bGluZy4gT3BlbiB0aGUgVG9wIEJhciBhbmQgbGV0IHRoZSBjb2xvcnMgXHVkODNjXHVkZjc5IGZsb3cuIiwKICAiZG9uYXRpb25zIjogewogICAgImJ1eW1lYWNvZmZlZSI6ICJuZXVyb21vcnBoIgogIH0sCiAgImdldHRleHQtZG9tYWluIjogIm9wZW5iYXIiLAogICJuYW1lIjogIk9wZW4gQmFyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm9wZW5iYXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9uZXVyb21vcnBoL29wZW5iYXIiLAogICJ1dWlkIjogIm9wZW5iYXJAbmV1cm9tb3JwaCIsCiAgInZlcnNpb24iOiAzCn0="},
+    "43": {"version": "3", "sha256": "1bk7gkkmcvmafiy5fh7b4g0pfdms1zadcvix7fs9x33n3xm04v15", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvcCBCYXIgKCBUb3AgUGFuZWwgKSBjdXN0b21pemF0aW9uIC8gc3R5bGluZy4gT3BlbiB0aGUgVG9wIEJhciBhbmQgbGV0IHRoZSBjb2xvcnMgXHVkODNjXHVkZjc5IGZsb3cuIiwKICAiZG9uYXRpb25zIjogewogICAgImJ1eW1lYWNvZmZlZSI6ICJuZXVyb21vcnBoIgogIH0sCiAgImdldHRleHQtZG9tYWluIjogIm9wZW5iYXIiLAogICJuYW1lIjogIk9wZW4gQmFyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm9wZW5iYXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9uZXVyb21vcnBoL29wZW5iYXIiLAogICJ1dWlkIjogIm9wZW5iYXJAbmV1cm9tb3JwaCIsCiAgInZlcnNpb24iOiAzCn0="},
+    "44": {"version": "3", "sha256": "1bk7gkkmcvmafiy5fh7b4g0pfdms1zadcvix7fs9x33n3xm04v15", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvcCBCYXIgKCBUb3AgUGFuZWwgKSBjdXN0b21pemF0aW9uIC8gc3R5bGluZy4gT3BlbiB0aGUgVG9wIEJhciBhbmQgbGV0IHRoZSBjb2xvcnMgXHVkODNjXHVkZjc5IGZsb3cuIiwKICAiZG9uYXRpb25zIjogewogICAgImJ1eW1lYWNvZmZlZSI6ICJuZXVyb21vcnBoIgogIH0sCiAgImdldHRleHQtZG9tYWluIjogIm9wZW5iYXIiLAogICJuYW1lIjogIk9wZW4gQmFyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm9wZW5iYXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9uZXVyb21vcnBoL29wZW5iYXIiLAogICJ1dWlkIjogIm9wZW5iYXJAbmV1cm9tb3JwaCIsCiAgInZlcnNpb24iOiAzCn0="}
+  }}
+, {"uuid": "auto-power-profile@dmy3k.github.io", "name": "Auto Power Profile", "pname": "auto-power-profile", "description": "Automatically switch between power profiles based on power supply and battery status.", "link": "https://extensions.gnome.org/extension/6583/auto-power-profile/", "shell_version_map": {
+    "45": {"version": "3", "sha256": "11y3snf4vslf6z27bp11b3mwa6b4fwcq268lhcrq7zmjgdij79hf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkF1dG9tYXRpY2FsbHkgc3dpdGNoIGJldHdlZW4gcG93ZXIgcHJvZmlsZXMgYmFzZWQgb24gcG93ZXIgc3VwcGx5IGFuZCBiYXR0ZXJ5IHN0YXR1cy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5hdXRvLXBvd2VyLXByb2ZpbGUiLAogICJuYW1lIjogIkF1dG8gUG93ZXIgUHJvZmlsZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5hdXRvLXBvd2VyLXByb2ZpbGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZG15M2svYXV0by1wb3dlci1wcm9maWxlIiwKICAidXVpZCI6ICJhdXRvLXBvd2VyLXByb2ZpbGVAZG15M2suZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDMKfQ=="}
+  }}
+, {"uuid": "system-monitor-indicator@mknap.com", "name": "System Monitor Tray Indicator", "pname": "system-monitor-tray-indicator", "description": "Displays CPU and Memory usage on the top bar.", "link": "https://extensions.gnome.org/extension/6586/system-monitor-tray-indicator/", "shell_version_map": {
+    "45": {"version": "1", "sha256": "0hap8f9yzs3vv2ia4ndnjxcvmz0b7ah1xfgb9j4lmzms0c60xg9h", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXlzIENQVSBhbmQgTWVtb3J5IHVzYWdlIG9uIHRoZSB0b3AgYmFyLiIsCiAgIm5hbWUiOiAiU3lzdGVtIE1vbml0b3IgVHJheSBJbmRpY2F0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbWljaGFlbGtuYXAvZ25vbWUtc3lzdGVtLW1vbml0b3ItaW5kaWNhdG9yIiwKICAidXVpZCI6ICJzeXN0ZW0tbW9uaXRvci1pbmRpY2F0b3JAbWtuYXAuY29tIiwKICAidmVyc2lvbiI6IDEKfQ=="}
+  }}
+, {"uuid": "enhancedosk@cass00.github.io", "name": "Enhanced OSK", "pname": "enhanced-osk", "description": "Makes Gnome's OnScreen Keyboard more usable.\n\nFeatures:\n* Includes additional buttons: Arrow keys, Esc, Tab, Ctrl, Alt, Super, F1-12\n* Supports key combinations like `Ctrl + C`, `Alt + Tab`, `Ctrl + Shift + C`, `Super + A, Alt + F2` etc.\n* Configurable keyboard size (landscape/portrait)\n* Statusbar indicator to toggle keyboard\n* Works in Gnome password modals\n\nThis extension is a fork of https://github.com/nick-shmyrev/improved-osk-gnome-ext. Formerly known as Improved OSK.", "link": "https://extensions.gnome.org/extension/6595/enhanced-osk/", "shell_version_map": {
+    "45": {"version": "3", "sha256": "1w02yp5hpmwbpzd02y6mqyb40aksbrbp4vwqrw5y2p9d3hrzn05k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIEdub21lJ3MgT25TY3JlZW4gS2V5Ym9hcmQgbW9yZSB1c2FibGUuXG5cbkZlYXR1cmVzOlxuKiBJbmNsdWRlcyBhZGRpdGlvbmFsIGJ1dHRvbnM6IEFycm93IGtleXMsIEVzYywgVGFiLCBDdHJsLCBBbHQsIFN1cGVyLCBGMS0xMlxuKiBTdXBwb3J0cyBrZXkgY29tYmluYXRpb25zIGxpa2UgYEN0cmwgKyBDYCwgYEFsdCArIFRhYmAsIGBDdHJsICsgU2hpZnQgKyBDYCwgYFN1cGVyICsgQSwgQWx0ICsgRjJgIGV0Yy5cbiogQ29uZmlndXJhYmxlIGtleWJvYXJkIHNpemUgKGxhbmRzY2FwZS9wb3J0cmFpdClcbiogU3RhdHVzYmFyIGluZGljYXRvciB0byB0b2dnbGUga2V5Ym9hcmRcbiogV29ya3MgaW4gR25vbWUgcGFzc3dvcmQgbW9kYWxzXG5cblRoaXMgZXh0ZW5zaW9uIGlzIGEgZm9yayBvZiBodHRwczovL2dpdGh1Yi5jb20vbmljay1zaG15cmV2L2ltcHJvdmVkLW9zay1nbm9tZS1leHQuIEZvcm1lcmx5IGtub3duIGFzIEltcHJvdmVkIE9TSy4iLAogICJuYW1lIjogIkVuaGFuY2VkIE9TSyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9jYXNzMDAvZW5oYW5jZWQtb3NrLWdub21lLWV4dCIsCiAgInV1aWQiOiAiZW5oYW5jZWRvc2tAY2FzczAwLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAzCn0="}
+  }}
 ]
diff --git a/pkgs/desktops/pantheon/apps/appcenter/default.nix b/pkgs/desktops/pantheon/apps/appcenter/default.nix
index 66042844d8b46..e1e0db005d658 100644
--- a/pkgs/desktops/pantheon/apps/appcenter/default.nix
+++ b/pkgs/desktops/pantheon/apps/appcenter/default.nix
@@ -11,7 +11,8 @@
 , json-glib
 , libgee
 , libhandy
-, libsoup
+, libportal-gtk3
+, libsoup_3
 , libxml2
 , meson
 , ninja
@@ -23,13 +24,15 @@
 
 stdenv.mkDerivation rec {
   pname = "appcenter";
-  version = "7.4.0";
+  version = "7.4.0-unstable-2023-12-04";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
-    rev = version;
-    sha256 = "sha256-L6MGbzzujr4tEB2Cpd7IU+3mOtSCt2hLPw4mOfZ4TkQ=";
+    # Add support for AppStream 1.0.
+    # https://github.com/elementary/appcenter/pull/2099
+    rev = "d93e135a0b0c9a6e0fbad18fe90d46425823a42c";
+    hash = "sha256-b7xux6MuvYZFxufQ5T7DoDNBlsJ/fDR0aUY2Hk/xJoY=";
   };
 
   nativeBuildInputs = [
@@ -50,7 +53,8 @@ stdenv.mkDerivation rec {
     json-glib
     libgee
     libhandy
-    libsoup
+    libportal-gtk3
+    libsoup_3
     libxml2
     polkit
   ];
diff --git a/pkgs/desktops/pantheon/apps/elementary-feedback/default.nix b/pkgs/desktops/pantheon/apps/elementary-feedback/default.nix
index d1ccd49f1a886..f796053cec928 100644
--- a/pkgs/desktops/pantheon/apps/elementary-feedback/default.nix
+++ b/pkgs/desktops/pantheon/apps/elementary-feedback/default.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , fetchFromGitHub
+, fetchpatch
 , nix-update-script
 , pkg-config
 , meson
@@ -32,6 +33,13 @@ stdenv.mkDerivation rec {
     # https://github.com/ximion/appstream/blob/v0.15.2/src/as-pool.c#L117
     # https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html#spec-component-location
     ./fix-metadata-path.patch
+
+    # Add support for AppStream 1.0.
+    # https://github.com/elementary/feedback/pull/102
+    (fetchpatch {
+      url = "https://github.com/elementary/feedback/commit/037b20328f5200a0dac25e6835c0c3f8a7c36f39.patch";
+      hash = "sha256-tjUNTCsEBjy/3lzwyIwR4VED57ATiG2CWCmRh7qps+4=";
+    })
   ];
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/plasma-5/3rdparty/addons/polonium.nix b/pkgs/desktops/plasma-5/3rdparty/addons/polonium.nix
new file mode 100644
index 0000000000000..7bfe963e0e8b4
--- /dev/null
+++ b/pkgs/desktops/plasma-5/3rdparty/addons/polonium.nix
@@ -0,0 +1,51 @@
+{ lib
+, fetchFromGitHub
+, buildNpmPackage
+, plasma-framework
+}:
+
+# how to update:
+# 1. check out the tag for the version in question
+# 2. run `prefetch-npm-deps package-lock.json`
+# 3. update npmDepsHash with the output of the previous step
+
+buildNpmPackage rec {
+  pname = "polonium";
+  version = "0.6.0";
+
+  src = fetchFromGitHub {
+    owner = "zeroxoneafour";
+    repo = pname;
+    rev = "v" + version;
+    hash = "sha256-fZgNOcOq+owmqtplwnxeOIQpWmrga/WitCNCj89O5XA=";
+  };
+
+  npmDepsHash = "sha256-25AtM1FweWIbFot+HUMSPYTu47/0eKNpRWSlBEL0yKk=";
+
+  dontConfigure = true;
+
+  # the installer does a bunch of stuff that fails in our sandbox, so just build here and then we
+  # manually do the install
+  buildFlags = [ "res" "src" ];
+
+  nativeBuildInputs = [ plasma-framework ];
+
+  dontNpmBuild = true;
+
+  dontWrapQtApps = true;
+
+  installPhase = ''
+    runHook preInstall
+
+    plasmapkg2 --install pkg --packageroot $out/share/kwin/scripts
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Auto-tiler that uses KWin 5.27+ tiling functionality";
+    license = licenses.mit;
+    maintainers = with maintainers; [ peterhoeg ];
+    inherit (plasma-framework.meta) platforms;
+  };
+}
diff --git a/pkgs/desktops/plasma-5/default.nix b/pkgs/desktops/plasma-5/default.nix
index 0c501b4c5a4cf..781bf16067096 100644
--- a/pkgs/desktops/plasma-5/default.nix
+++ b/pkgs/desktops/plasma-5/default.nix
@@ -49,7 +49,7 @@ let
     mirror = "mirror://kde";
   };
 
-  qtStdenv = libsForQt5.callPackage ({ stdenv }: stdenv) {};
+  qtStdenv = libsForQt5.callPackage ({ stdenv }: stdenv) { };
 
   packages = self:
     let
@@ -96,7 +96,7 @@ let
 
             defaultSetupHook = if hasBin && hasDev then propagateBin else null;
             setupHook = args.setupHook or defaultSetupHook;
-            nativeBuildInputs = (args.nativeBuildInputs or []) ++ [ libsForQt5.wrapQtAppsHook ];
+            nativeBuildInputs = (args.nativeBuildInputs or [ ]) ++ [ libsForQt5.wrapQtAppsHook ];
 
             meta =
               let meta = args.meta or { }; in
@@ -183,6 +183,7 @@ let
         kzones = callPackage ./3rdparty/kwin/scripts/kzones.nix { };
         lightly = callPackage ./3rdparty/lightly { };
         parachute = callPackage ./3rdparty/kwin/scripts/parachute.nix { };
+        polonium = callPackage ./3rdparty/addons/polonium.nix { };
       };
 
     } // lib.optionalAttrs config.allowAliases {
diff --git a/pkgs/development/compilers/binaryen/default.nix b/pkgs/development/compilers/binaryen/default.nix
index 6473d53fbaba6..7b616faf8d8dc 100644
--- a/pkgs/development/compilers/binaryen/default.nix
+++ b/pkgs/development/compilers/binaryen/default.nix
@@ -13,6 +13,7 @@ stdenv.mkDerivation rec {
     hash = "sha256-gMwbWiP+YDCVafQMBWhTuJGWmkYtnhEdn/oofKaUT08=";
   };
 
+  # FIXME: remove for next release
   patches = [
     (fetchpatch {
       name = "nodejs-20.patch";
diff --git a/pkgs/development/compilers/circt/circt-llvm.nix b/pkgs/development/compilers/circt/circt-llvm.nix
new file mode 100644
index 0000000000000..b3005af55fbbd
--- /dev/null
+++ b/pkgs/development/compilers/circt/circt-llvm.nix
@@ -0,0 +1,59 @@
+{ stdenv
+, cmake
+, ninja
+, circt
+, llvm
+, python3
+}: stdenv.mkDerivation {
+  pname = circt.pname + "-llvm";
+  inherit (circt) version src;
+
+  requiredSystemFeatures = [ "big-parallel" ];
+
+  nativeBuildInputs = [ cmake ninja python3 ];
+
+  preConfigure = ''
+    cd llvm/llvm
+  '';
+
+  cmakeFlags = [
+    "-DBUILD_SHARED_LIBS=ON"
+    "-DLLVM_ENABLE_BINDINGS=OFF"
+    "-DLLVM_ENABLE_OCAMLDOC=OFF"
+    "-DLLVM_BUILD_EXAMPLES=OFF"
+    "-DLLVM_OPTIMIZED_TABLEGEN=ON"
+    "-DLLVM_ENABLE_PROJECTS=mlir"
+    "-DLLVM_TARGETS_TO_BUILD="
+
+    # This option is needed to install llvm-config
+    "-DLLVM_INSTALL_UTILS=ON"
+  ];
+
+  outputs = [ "out" "lib" "dev" ];
+
+  postInstall = ''
+    # move llvm-config to $dev to resolve a circular dependency
+    moveToOutput "bin/llvm-config*" "$dev"
+
+    # move all lib files to $lib except lib/cmake
+    moveToOutput "lib" "$lib"
+    moveToOutput "lib/cmake" "$dev"
+
+    # patch configuration files so each path points to the new $lib or $dev paths
+    substituteInPlace "$dev/lib/cmake/llvm/LLVMConfig.cmake" \
+      --replace 'set(LLVM_BINARY_DIR "''${LLVM_INSTALL_PREFIX}")' 'set(LLVM_BINARY_DIR "'"$lib"'")'
+    substituteInPlace \
+      "$dev/lib/cmake/llvm/LLVMExports-release.cmake" \
+      "$dev/lib/cmake/mlir/MLIRTargets-release.cmake" \
+      --replace "\''${_IMPORT_PREFIX}/lib/lib" "$lib/lib/lib" \
+      --replace "\''${_IMPORT_PREFIX}/lib/objects-Release" "$lib/lib/objects-Release" \
+      --replace "$out/bin/llvm-config" "$dev/bin/llvm-config" # patch path for llvm-config
+  '';
+
+  doCheck = true;
+  checkTarget = "check-mlir";
+
+  meta = llvm.meta // {
+    inherit (circt.meta) maintainers;
+  };
+}
diff --git a/pkgs/development/compilers/circt/default.nix b/pkgs/development/compilers/circt/default.nix
index 4c4f69bc74ff2..6fb609699bad4 100644
--- a/pkgs/development/compilers/circt/default.nix
+++ b/pkgs/development/compilers/circt/default.nix
@@ -6,36 +6,37 @@
 , git
 , fetchFromGitHub
 , ninja
+, lit
 , gitUpdater
+, callPackage
 }:
 
 let
   pythonEnv = python3.withPackages (ps: [ ps.psutil ]);
+  circt-llvm = callPackage ./circt-llvm.nix { };
 in
 stdenv.mkDerivation rec {
   pname = "circt";
-  version = "1.59.0";
+  version = "1.61.0";
   src = fetchFromGitHub {
     owner = "llvm";
     repo = "circt";
     rev = "firtool-${version}";
-    sha256 = "sha256-HsfvLxXyYvzUL+FO/i8iRbyQV8OFF3Cx8/g8/9aJE2M=";
+    sha256 = "sha256-3zuaruaveUeJ7uKP5fMiDFPOGKcs6aTNuGOuhxV6nss=";
     fetchSubmodules = true;
   };
 
   requiredSystemFeatures = [ "big-parallel" ];
 
   nativeBuildInputs = [ cmake ninja git pythonEnv ];
+  buildInputs = [ circt-llvm ];
 
-  cmakeDir = "../llvm/llvm";
   cmakeFlags = [
-    "-DLLVM_ENABLE_BINDINGS=OFF"
-    "-DLLVM_ENABLE_OCAMLDOC=OFF"
-    "-DLLVM_BUILD_EXAMPLES=OFF"
-    "-DLLVM_OPTIMIZED_TABLEGEN=ON"
-    "-DLLVM_ENABLE_PROJECTS=mlir"
-    "-DLLVM_EXTERNAL_PROJECTS=circt"
-    "-DLLVM_EXTERNAL_CIRCT_SOURCE_DIR=.."
+    "-DBUILD_SHARED_LIBS=ON"
+    "-DMLIR_DIR=${circt-llvm.dev}/lib/cmake/mlir"
+
+    # LLVM_EXTERNAL_LIT is executed by python3, the wrapped bash script will not work
+    "-DLLVM_EXTERNAL_LIT=${lit}/bin/.lit-wrapped"
     "-DCIRCT_LLHD_SIM_ENABLED=OFF"
   ];
 
@@ -60,18 +61,20 @@ stdenv.mkDerivation rec {
     substituteInPlace cmake/modules/GenVersionFile.cmake --replace "unknown git version" "${src.rev}"
   '';
 
-  installPhase = ''
-    runHook preInstall
-    mkdir -p $out/bin
-    mv bin/{{fir,hls}tool,circt-{as,dis,lsp-server,opt,reduce,translate}} $out/bin
-    runHook postInstall
-  '';
-
   doCheck = true;
   checkTarget = "check-circt check-circt-integration";
 
-  passthru.updateScript = gitUpdater {
-    rev-prefix = "firtool-";
+  outputs = [ "out" "lib" "dev" ];
+
+  postInstall = ''
+    moveToOutput lib "$lib"
+  '';
+
+  passthru = {
+    updateScript = gitUpdater {
+      rev-prefix = "firtool-";
+    };
+    llvm = circt-llvm;
   };
 
   meta = {
@@ -82,4 +85,3 @@ stdenv.mkDerivation rec {
     platforms = lib.platforms.all;
   };
 }
-
diff --git a/pkgs/development/compilers/dmd/default.nix b/pkgs/development/compilers/dmd/default.nix
index f73804874cc62..59a8ad8c63c65 100644
--- a/pkgs/development/compilers/dmd/default.nix
+++ b/pkgs/development/compilers/dmd/default.nix
@@ -1,5 +1,5 @@
 import ./generic.nix {
-  version = "2.105.2";
-  dmdSha256 = "sha256-IjzIQZttB1711VayKDWcpYvf1MAan+GWGTdpdDTgo1k=";
-  phobosSha256 = "sha256-2hAq48sBC1qvS1XBWZhGIPUlsA4pGcn4pHNok6lC8R0=";
+  version = "2.106.0";
+  dmdSha256 = "sha256-H28X+8qAjnc5KIvZ7HRVCtjNpf1hBwSPL6QIVeWCjKM=";
+  phobosSha256 = "sha256-umsPMQbomJUu/QBMSgSC0jEajxiJwv1Lay4q4tvfnsI=";
 }
diff --git a/pkgs/development/compilers/dmd/generic.nix b/pkgs/development/compilers/dmd/generic.nix
index 0f6abb574a597..5cf07454141bc 100644
--- a/pkgs/development/compilers/dmd/generic.nix
+++ b/pkgs/development/compilers/dmd/generic.nix
@@ -96,6 +96,7 @@ stdenv.mkDerivation rec {
     rm dmd/compiler/test/runnable/gdb15729.sh
     rm dmd/compiler/test/runnable/gdb4149.d
     rm dmd/compiler/test/runnable/gdb4181.d
+    rm dmd/compiler/test/compilable/ddocYear.d
 
     # Disable tests that rely on objdump whitespace until fixed upstream:
     #   https://issues.dlang.org/show_bug.cgi?id=23317
@@ -103,12 +104,7 @@ stdenv.mkDerivation rec {
     rm dmd/compiler/test/compilable/cdcmp.d
   ''
 
-  + lib.optionalString (lib.versionOlder version "2.091.0") ''
-    # This one has tested against a hardcoded year, then against a current year on
-    # and off again. It just isn't worth it to patch all the historical versions
-    # of it, so just remove it until the most recent change.
-    rm dmd/compiler/test/compilable/ddocYear.d
-  '' + lib.optionalString (lib.versionAtLeast version "2.089.0" && lib.versionOlder version "2.092.2") ''
+  + lib.optionalString (lib.versionAtLeast version "2.089.0" && lib.versionOlder version "2.092.2") ''
     rm dmd/compiler/test/dshell/test6952.d
   '' + lib.optionalString (lib.versionAtLeast version "2.092.2") ''
     substituteInPlace dmd/compiler/test/dshell/test6952.d --replace "/usr/bin/env bash" "${bash}/bin/bash"
diff --git a/pkgs/development/compilers/fasm/bin.nix b/pkgs/development/compilers/fasm/bin.nix
index e894d2607bc00..f23e9540928ab 100644
--- a/pkgs/development/compilers/fasm/bin.nix
+++ b/pkgs/development/compilers/fasm/bin.nix
@@ -1,24 +1,28 @@
 { stdenvNoCC, lib, fetchurl }:
 
-stdenvNoCC.mkDerivation rec {
+stdenvNoCC.mkDerivation (finalAttrs: {
   pname = "fasm-bin";
-
-  version = "1.73.31";
+  version = "1.73.32";
 
   src = fetchurl {
-    url = "https://flatassembler.net/fasm-${version}.tgz";
-    sha256 = "sha256-jzjLIayR+xulSGKhvQ9VxWhZC6qRZ/4IHSe3lD8LD+M=";
+    url = "https://flatassembler.net/fasm-${finalAttrs.version}.tgz";
+    hash = "sha256-WVXL4UNWXa9e7K3MSS0CXK3lczgog9V4XUoYChvvym8=";
   };
 
   installPhase = ''
+    runHook preInstall
+
     install -D fasm${lib.optionalString stdenvNoCC.isx86_64 ".x64"} $out/bin/fasm
+
+    runHook postInstall
   '';
 
-  meta = with lib; {
+  meta = {
     description = "x86(-64) macro assembler to binary, MZ, PE, COFF, and ELF";
     homepage = "https://flatassembler.net/download.php";
-    license = licenses.bsd2;
-    maintainers = with maintainers; [ orivej ];
+    license = lib.licenses.bsd2;
+    mainProgram = "fasm";
+    maintainers = with lib.maintainers; [ orivej ];
     platforms = [ "i686-linux" "x86_64-linux" ];
   };
-}
+})
diff --git a/pkgs/development/compilers/unison/default.nix b/pkgs/development/compilers/unison/default.nix
index fbbfba7ae1a56..392a699857a34 100644
--- a/pkgs/development/compilers/unison/default.nix
+++ b/pkgs/development/compilers/unison/default.nix
@@ -11,17 +11,17 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "unison-code-manager";
-  version = "M5g";
+  version = "M5j";
 
   src = if stdenv.isDarwin then
     fetchurl {
       url = "https://github.com/unisonweb/unison/releases/download/release/${finalAttrs.version}/ucm-macos.tar.gz";
-      hash = "sha256-4E/8CfWmD+IVeXBqcTE74k2HZtk9dt/4G9GqBjVhtWo=";
+      hash = "sha256-CDm5a4TR8GfM8QK5mYmEb63PSz469X3R5LaikAcvILI=";
     }
   else
     fetchurl {
       url = "https://github.com/unisonweb/unison/releases/download/release/${finalAttrs.version}/ucm-linux.tar.gz";
-      hash = "sha256-Gl447CSuLgEPPHzgxPTIC8QXGgk/1moNqFU+Phv6e/U=";
+      hash = "sha256-5H4qOPh2tFgOp+uHNndwwh1K+Wb42Umfl0ok9Ixrlc8=";
     };
 
   # The tarball is just the prebuilt binary, in the archive root.
diff --git a/pkgs/development/coq-modules/metacoq/default.nix b/pkgs/development/coq-modules/metacoq/default.nix
index 9ab49f8e08610..5695bcf2ee998 100644
--- a/pkgs/development/coq-modules/metacoq/default.nix
+++ b/pkgs/development/coq-modules/metacoq/default.nix
@@ -5,7 +5,7 @@ with builtins // lib;
 let
   repo  = "metacoq";
   owner = "MetaCoq";
-  defaultVersion = with versions; lib.switch coq.coq-version [
+  defaultVersion = with versions; switch coq.coq-version [
       { case = "8.11"; out = "1.0-beta2-8.11"; }
       { case = "8.12"; out = "1.0-beta2-8.12"; }
       # Do not provide 8.13 because it does not compile with equations 1.3 provided by default (only 1.2.3)
@@ -13,6 +13,8 @@ let
       { case = "8.14"; out = "1.1-8.14"; }
       { case = "8.15"; out = "1.1-8.15"; }
       { case = "8.16"; out = "1.1-8.16"; }
+      { case = "8.17"; out = "1.2.1-8.17"; }
+      { case = "8.18"; out = "1.2.1-8.18"; }
     ] null;
   release = {
     "1.0-beta2-8.11".sha256 = "sha256-I9YNk5Di6Udvq5/xpLSNflfjRyRH8fMnRzbo3uhpXNs=";
@@ -24,11 +26,15 @@ let
     "1.1-8.14".sha256 = "sha256-6vViCNQl6BnGgOHX3P/OLfFXN4aUfv4RbDokfz2BgQI=";
     "1.1-8.15".sha256 = "sha256-qCD3wFW4E+8vSVk4XoZ0EU4PVya0al+JorzS9nzmR/0=";
     "1.1-8.16".sha256 = "sha256-cTK4ptxpPPlqxAhasZFX3RpSlsoTZwhTqs2A3BZy9sA=";
+    "1.2.1-8.17".sha256 = "sha256-FP4upuRsG8B5Q5FIr76t+ecRirrOUX0D1QiLq0/zMyE=";
+    "1.2.1-8.18".sha256 = "sha256-49g5db2Bv8HpltptJdxA7zrmgNFGC6arx5h2mKHhrko=";
   };
   releaseRev = v: "v${v}";
 
   # list of core metacoq packages sorted by dependency order
-  packages = [ "template-coq" "pcuic" "safechecker" "erasure" "all" ];
+  packages = if versionAtLeast coq.coq-version "8.17"
+     then [ "utils" "common" "template-coq" "pcuic" "safechecker" "template-pcuic" "erasure" "quotation" "safechecker-plugin" "erasure-plugin" "all" ]
+     else [ "template-coq" "pcuic" "safechecker" "erasure" "all" ];
 
   template-coq = metacoq_ "template-coq";
 
@@ -47,7 +53,16 @@ let
         mlPlugin = true;
         propagatedBuildInputs = [ equations coq.ocamlPackages.zarith ] ++ metacoq-deps;
 
-        patchPhase =  ''
+        patchPhase =  if versionAtLeast coq.coq-version "8.17" then ''
+          patchShebangs ./configure.sh
+          patchShebangs ./template-coq/update_plugin.sh
+          patchShebangs ./template-coq/gen-src/to-lower.sh
+          patchShebangs ./safechecker-plugin/clean_extraction.sh
+          patchShebangs ./erasure-plugin/clean_extraction.sh
+          echo "CAMLFLAGS+=-w -60 # Unused module" >> ./safechecker/Makefile.plugin.local
+          sed -i -e 's/mv $i $newi;/mv $i tmp; mv tmp $newi;/' ./template-coq/gen-src/to-lower.sh ./safechecker-plugin/clean_extraction.sh ./erasure-plugin/clean_extraction.sh
+        '' else ''
+          patchShebangs ./configure.sh
           patchShebangs ./template-coq/update_plugin.sh
           patchShebangs ./template-coq/gen-src/to-lower.sh
           patchShebangs ./pcuic/clean_extraction.sh
@@ -59,7 +74,7 @@ let
 
         configurePhase = optionalString (package == "all") pkgallMake + ''
           touch ${pkgpath}/metacoq-config
-        '' + optionalString (elem package ["safechecker" "erasure"]) ''
+        '' + optionalString (elem package ["safechecker" "erasure" "template-pcuic" "quotation" "safechecker-plugin" "erasure-plugin"]) ''
           echo  "-I ${template-coq}/lib/coq/${coq.coq-version}/user-contrib/MetaCoq/Template/" > ${pkgpath}/metacoq-config
         '' + optionalString (package == "single") ''
           ./configure.sh local
diff --git a/pkgs/development/cuda-modules/cudatoolkit/default.nix b/pkgs/development/cuda-modules/cudatoolkit/default.nix
index e0868e2b1c2cb..57070493eb6d6 100644
--- a/pkgs/development/cuda-modules/cudatoolkit/default.nix
+++ b/pkgs/development/cuda-modules/cudatoolkit/default.nix
@@ -80,7 +80,7 @@ backendStdenv.mkDerivation rec {
     ]
     ++ lib.optionals (lib.versionOlder version "11") [libsForQt5.wrapQtAppsHook]
     ++ lib.optionals (lib.versionAtLeast version "11.8") [qt6Packages.wrapQtAppsHook];
-  depsTargetTargetPropagated = [setupCudaHook];
+  propagatedBuildInputs = [setupCudaHook];
   buildInputs =
     lib.optionals (lib.versionOlder version "11") [
       libsForQt5.qt5.qtwebengine
diff --git a/pkgs/development/interpreters/clisp/default.nix b/pkgs/development/interpreters/clisp/default.nix
index 127541c727ec0..0ff0f6a498169 100644
--- a/pkgs/development/interpreters/clisp/default.nix
+++ b/pkgs/development/interpreters/clisp/default.nix
@@ -58,7 +58,7 @@ stdenv.mkDerivation {
   };
 
   strictDeps = true;
-  nativeBuildInputs = lib.optionals stdenv.isDarwin [ autoconf269 automake libtool ];
+  nativeBuildInputs = [ autoconf269 automake libtool ];
   buildInputs = [libsigsegv]
   ++ lib.optional (gettext != null) gettext
   ++ lib.optional (ncurses != null) ncurses
@@ -81,6 +81,7 @@ stdenv.mkDerivation {
   postPatch = ''
     sed -e 's@9090@64237@g' -i tests/socket.tst
     sed -i 's@/bin/pwd@${coreutils}&@' src/clisp-link.in
+    sed -i 's@1\.16\.2@${automake.version}@' src/aclocal.m4
     find . -type f | xargs sed -e 's/-lICE/-lXau &/' -i
   '';
 
diff --git a/pkgs/development/interpreters/clojure/default.nix b/pkgs/development/interpreters/clojure/default.nix
index bc7ef5769986d..630b5f5193fb6 100644
--- a/pkgs/development/interpreters/clojure/default.nix
+++ b/pkgs/development/interpreters/clojure/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "clojure";
-  version = "1.11.1.1413";
+  version = "1.11.1.1429";
 
   src = fetchurl {
     # https://github.com/clojure/brew-install/releases
     url = "https://github.com/clojure/brew-install/releases/download/${finalAttrs.version}/clojure-tools-${finalAttrs.version}.tar.gz";
-    hash = "sha256-k8Olo63KUcWFgGNBmr9myD2/JOoV4f2S95v35mI4H+A=";
+    hash = "sha256-ov3s1qPGHfPGAPtgwAqPG+hU6R5nGMA7ucg8QVpquC4=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/interpreters/emilua/default.nix b/pkgs/development/interpreters/emilua/default.nix
index a938d19736ec5..341888f6cda78 100644
--- a/pkgs/development/interpreters/emilua/default.nix
+++ b/pkgs/development/interpreters/emilua/default.nix
@@ -7,7 +7,6 @@
 , re2c
 , gperf
 , gawk
-, xxd
 , pkg-config
 , boost182
 , fmt
@@ -18,6 +17,8 @@
 , libcap
 , liburing
 , openssl
+, cereal
+, cmake
 , asciidoctor
 }:
 
@@ -40,13 +41,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "emilua";
-  version = "0.4.3";
+  version = "0.5.1";
 
   src = fetchFromGitLab {
       owner = "emilua";
       repo = "emilua";
       rev = "v${version}";
-      hash = "sha256-vZITPQ1qUHhw24c0HKdR6VenviOc6JizQQ8w7K94irc=";
+      hash = "sha256-5NzxZHdQGw3qLEzW/mv1sLCuqehn5pjUYkCna4PUzDQ=";
   };
 
   buildInputs = [
@@ -59,19 +60,22 @@ stdenv.mkDerivation rec {
     libcap
     liburing
     openssl
+    cereal
   ];
 
   nativeBuildInputs = [
     re2c
     gperf
     gawk
-    xxd
     pkg-config
     asciidoctor
     meson
+    cmake
     ninja
   ];
 
+  dontUseCmakeConfigure = true;
+
   # Meson is no longer able to pick up Boost automatically.
   # https://github.com/NixOS/nixpkgs/issues/86131
   env = {
@@ -80,13 +84,12 @@ stdenv.mkDerivation rec {
   };
 
   mesonFlags = [
-    "-Dversion_suffix=-nixpkgs1"
-    "-Denable_http=true"
-    "-Denable_file_io=true"
-    "-Denable_io_uring=true"
-    "-Denable_linux_namespaces=true"
-    "-Denable_tests=true"
-    "-Denable_manpages=true"
+    (lib.mesonOption "version_suffix" "-nixpkgs1")
+    (lib.mesonBool "enable_http" true)
+    (lib.mesonBool "enable_file_io" true)
+    (lib.mesonBool "enable_io_uring" true)
+    (lib.mesonBool "enable_tests" true)
+    (lib.mesonBool "enable_manpages" true)
   ];
 
   postPatch = ''
diff --git a/pkgs/development/interpreters/python/python-packages-base.nix b/pkgs/development/interpreters/python/python-packages-base.nix
index b5afaf34ce618..2126b796ca9de 100644
--- a/pkgs/development/interpreters/python/python-packages-base.nix
+++ b/pkgs/development/interpreters/python/python-packages-base.nix
@@ -47,9 +47,6 @@ let
     toPythonModule = x: x;  # Application does not provide modules.
   }));
 
-  # See build-setupcfg/default.nix for documentation.
-  buildSetupcfg = import ../../../build-support/build-setupcfg lib self;
-
   # Check whether a derivation provides a Python module.
   hasPythonModule = drv: drv?pythonModule && drv.pythonModule == python;
 
@@ -92,13 +89,11 @@ let
   disabledIf = x: drv: if x then disabled drv else drv;
 
 in {
-
   inherit lib pkgs stdenv;
   inherit (python.passthru) isPy27 isPy37 isPy38 isPy39 isPy310 isPy311 isPy3k isPyPy pythonAtLeast pythonOlder;
   inherit buildPythonPackage buildPythonApplication;
   inherit hasPythonModule requiredPythonModules makePythonPath disabled disabledIf;
   inherit toPythonModule toPythonApplication;
-  inherit buildSetupcfg;
 
   python = toPythonModule python;
   # Dont take pythonPackages from "global" pkgs scope to avoid mixing python versions
diff --git a/pkgs/development/interpreters/quickjs/default.nix b/pkgs/development/interpreters/quickjs/default.nix
index 2f6370cc44204..2f548207ea047 100644
--- a/pkgs/development/interpreters/quickjs/default.nix
+++ b/pkgs/development/interpreters/quickjs/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "quickjs";
-  version = "2021-03-27";
+  version = "2021-12-09";
 
   src = fetchFromGitHub {
     owner = "bellard";
     repo = pname;
-    rev = "b5e62895c619d4ffc75c9d822c8d85f1ece77e5b";
-    hash = "sha256-VMaxVVQuJ3DAwYrC14uJqlRBg0//ugYvtyhOXsTUbCA=";
+    rev = "daa35bc1e5d43192098af9b51caeb4f18f73f9f9";
+    hash = "sha256-BhAsa8tumCQ4jK/TbRbptj2iOIUFFjU1MQYdIrDMpko=";
   };
 
   postPatch = lib.optionalString stdenv.isDarwin ''
diff --git a/pkgs/development/interpreters/rakudo/zef.nix b/pkgs/development/interpreters/rakudo/zef.nix
index 66ee788ca4300..2ce4a164f7e6e 100644
--- a/pkgs/development/interpreters/rakudo/zef.nix
+++ b/pkgs/development/interpreters/rakudo/zef.nix
@@ -1,35 +1,50 @@
-{ lib, stdenv, fetchFromGitHub, rakudo, makeWrapper }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, rakudo
+, makeBinaryWrapper
+}:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "zef";
-  version = "0.21.0";
+  version = "0.21.1";
 
   src = fetchFromGitHub {
     owner = "ugexe";
     repo = "zef";
-    rev = "v${version}";
-    sha256 = "sha256-QVUnn9G28epoUEcK8mwm8S2wDQ/tv5B3Zds7bTUFwlw=";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-ji+KTxAOPZhuGryK0+svsVkU+HC1egKZWOboSBUON+s=";
   };
 
-  nativeBuildInputs = [ makeWrapper ];
-  buildInputs = [ rakudo ];
+  nativeBuildInputs = [
+    makeBinaryWrapper
+  ];
+
+  buildInputs = [
+    rakudo
+  ];
 
   installPhase = ''
+    runHook preInstall
+
     mkdir -p "$out"
     # TODO: Find better solution. zef stores cache stuff in $HOME with the
     # default config.
     env HOME=$TMPDIR ${rakudo}/bin/raku -I. ./bin/zef --/depends --/test-depends --/build-depends --install-to=$out install .
+
+    runHook postInstall
   '';
 
   postFixup =''
     wrapProgram $out/bin/zef --prefix RAKUDOLIB , "inst#$out"
   '';
 
-  meta = with lib; {
+  meta = {
     description = "Raku / Perl6 Module Management";
     homepage    = "https://github.com/ugexe/zef";
-    license     = licenses.artistic2;
-    platforms   = platforms.unix;
-    maintainers = with maintainers; [ sgo ];
+    license     = lib.licenses.artistic2;
+    mainProgram = "zef";
+    maintainers = with lib.maintainers; [ sgo ];
+    platforms   = lib.platforms.unix;
   };
-}
+})
diff --git a/pkgs/development/libraries/dsdcc/default.nix b/pkgs/development/libraries/dsdcc/default.nix
index e97b36c033ff8..9397c747e6677 100644
--- a/pkgs/development/libraries/dsdcc/default.nix
+++ b/pkgs/development/libraries/dsdcc/default.nix
@@ -1,20 +1,32 @@
-{ lib, stdenv, fetchFromGitHub, cmake, pkg-config
-, mbelib, serialdv
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, pkg-config
+, mbelib
+, serialdv
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "dsdcc";
-  version = "1.9.4";
+  version = "1.9.5";
 
   src = fetchFromGitHub {
     owner = "f4exb";
     repo = "dsdcc";
-    rev = "v${version}";
-    sha256 = "sha256-EsjmU0LQOXnOoTFrnn63hAbvqbE6NVlSQTngot5Zuf4=";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-DMCk29O2Lmt2tjo6j5e4ZdZeDL3ZFUh66Sm6TGrIaeU=";
   };
 
-  nativeBuildInputs = [ cmake pkg-config ];
-  buildInputs = [ mbelib serialdv ];
+  nativeBuildInputs = [
+    cmake
+    pkg-config
+  ];
+
+  buildInputs = [
+    mbelib
+    serialdv
+  ];
 
   cmakeFlags = [
     "-DUSE_MBELIB=ON"
@@ -25,11 +37,12 @@ stdenv.mkDerivation rec {
       --replace '=''${exec_prefix}//' '=/'
   '';
 
-  meta = with lib; {
+  meta = {
     description = "Digital Speech Decoder (DSD) rewritten as a C++ library";
     homepage = "https://github.com/f4exb/dsdcc";
-    license = licenses.gpl3;
-    maintainers = with maintainers; [ alexwinter ];
-    platforms = platforms.unix;
+    license = lib.licenses.gpl3;
+    mainProgram = "dsdccx";
+    maintainers = with lib.maintainers; [ alexwinter ];
+    platforms = lib.platforms.unix;
   };
-}
+})
diff --git a/pkgs/development/libraries/freetype/default.nix b/pkgs/development/libraries/freetype/default.nix
index 1687bf5c516be..68e08a1a8b5fa 100644
--- a/pkgs/development/libraries/freetype/default.nix
+++ b/pkgs/development/libraries/freetype/default.nix
@@ -1,14 +1,24 @@
-{ lib, stdenv, fetchurl
-, buildPackages, pkgsHostHost
-, pkg-config, which, makeWrapper
-, zlib, bzip2, brotli, libpng, gnumake, glib
+{ lib
+, stdenv
+, fetchurl
+, buildPackages
+, pkgsHostHost
+, pkg-config
+, which
+, makeWrapper
+, zlib
+, bzip2
+, brotli
+, libpng
+, gnumake
+, glib
 
 , # FreeType supports LCD filtering (colloquially referred to as sub-pixel rendering).
   # LCD filtering is also known as ClearType and covered by several Microsoft patents.
   # This option allows it to be disabled. See http://www.freetype.org/patents.html.
   useEncumberedCode ? true
 
-# for passthru.tests
+  # for passthru.tests
 , cairo
 , fontforge
 , ghostscript
@@ -65,9 +75,10 @@ stdenv.mkDerivation (finalAttrs: {
   postInstall = glib.flattenInclude
     # pkgsCross.mingwW64.pkg-config doesn't build
     # makeWrapper doesn't cross-compile to windows #120726
-    + lib.optionalString (!stdenv.hostPlatform.isMinGW) ''
+    + ''
     substituteInPlace $dev/bin/freetype-config \
       --replace ${buildPackages.pkg-config} ${pkgsHostHost.pkg-config}
+  '' + lib.optionalString (!stdenv.hostPlatform.isMinGW) ''
 
     wrapProgram "$dev/bin/freetype-config" \
       --set PKG_CONFIG_PATH "$PKG_CONFIG_PATH:$dev/lib/pkgconfig"
diff --git a/pkgs/development/libraries/opensubdiv/default.nix b/pkgs/development/libraries/opensubdiv/default.nix
index b946d8ab718ae..9c485949a5c09 100644
--- a/pkgs/development/libraries/opensubdiv/default.nix
+++ b/pkgs/development/libraries/opensubdiv/default.nix
@@ -22,6 +22,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [
     cmake
     pkg-config
+  ] ++ lib.optional cudaSupport [
     cudaPackages.cuda_nvcc
   ];
   buildInputs =
diff --git a/pkgs/development/libraries/physics/apfel/cmake.patch b/pkgs/development/libraries/physics/apfel/cmake.patch
new file mode 100644
index 0000000000000..5bc342aeb48cf
--- /dev/null
+++ b/pkgs/development/libraries/physics/apfel/cmake.patch
@@ -0,0 +1,14 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -46,8 +46,8 @@ message(STATUS "APFEL: APFEL_DOWNLOAD_PDFS=${APFEL_DOWNLOAD_PDFS}")
+ # CONFIG SCRIPT ========================================================
+ set(prefix ${CMAKE_INSTALL_PREFIX})
+ set(exec_prefix "${prefix}")
+-set(includedir "${prefix}/${CMAKE_INSTALL_INCLUDEDIR}")
+-set(libdir "${prefix}/${CMAKE_INSTALL_LIBDIR}")
++set(includedir "${CMAKE_INSTALL_FULL_INCLUDEDIR}")
++set(libdir "${CMAKE_INSTALL_FULL_LIBDIR}")
+ set(PACKAGE_VERSION "${apfel_VERSION}")
+ configure_file("${PROJECT_SOURCE_DIR}/bin/apfel-config.in" "${PROJECT_BINARY_DIR}/bin/apfel-config")
+ configure_file("${PROJECT_SOURCE_DIR}/bin/apfel.in" "${PROJECT_BINARY_DIR}/bin/apfel")
diff --git a/pkgs/development/libraries/physics/apfel/default.nix b/pkgs/development/libraries/physics/apfel/default.nix
index c0860d9a1baf3..ae48fb90ac835 100644
--- a/pkgs/development/libraries/physics/apfel/default.nix
+++ b/pkgs/development/libraries/physics/apfel/default.nix
@@ -1,28 +1,59 @@
-{ lib, stdenv, fetchFromGitHub, autoreconfHook, gfortran, lhapdf, python3, zlib }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, gfortran
+, lhapdf
+, python3
+, swig
+, zlib
+}:
 
 stdenv.mkDerivation rec {
   pname = "apfel";
-  version = "3.0.6";
+  version = "3.1.0";
 
   src = fetchFromGitHub {
     owner = "scarrazza";
     repo = "apfel";
     rev = version;
-    sha256 = "sha256-fRdJ+C92tEC75iUwP9Tmm/EswrlA52eUo5fBjfieH9o=";
+    hash = "sha256-RXzHcLgitIk+6pINqcvpQv7QpDpAuFrOHKqjwZ0K5zI=";
   };
 
-  # needed for aarch64-darwin
-  nativeBuildInputs = [ autoreconfHook ];
+  patches = [
+    # https://github.com/scarrazza/apfel/pull/54
+    ./cmake.patch
+  ];
 
-  buildInputs = [ gfortran lhapdf python3 zlib ];
+  nativeBuildInputs = [
+    cmake
+    swig
+  ];
+  buildInputs = [
+    gfortran
+    lhapdf
+    python3
+    zlib
+  ];
 
-  enableParallelBuilding = true;
+  cmakeFlags = [
+    "-DAPFEL_DOWNLOAD_PDFS=OFF"
+    "-DAPFEL_Python_SITEARCH=autoprefix"
+  ];
+
+  doCheck = true;
+  nativeCheckInputs = [
+    lhapdf.pdf_sets.NNPDF23_nlo_as_0118
+    lhapdf.pdf_sets.NNPDF31_nnlo_as_0118
+  ];
+
+  env.NIX_CFLAGS_COMPILE = "-DAPFEL_VERSION=${version}";
 
   meta = with lib; {
     description = "A PDF Evolution Library";
-    license     = licenses.gpl3Plus;
-    homepage    = "https://apfel.mi.infn.it/";
-    platforms   = platforms.unix;
+    homepage = "https://apfel.mi.infn.it/";
+    license = licenses.gpl3Plus;
     maintainers = with maintainers; [ veprbl ];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/physics/rivet/default.nix b/pkgs/development/libraries/physics/rivet/default.nix
index fdfc713d53a34..76a4d71b38e47 100644
--- a/pkgs/development/libraries/physics/rivet/default.nix
+++ b/pkgs/development/libraries/physics/rivet/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "rivet";
-  version = "3.1.8";
+  version = "3.1.9";
 
   src = fetchurl {
     url = "https://www.hepforge.org/archive/rivet/Rivet-${version}.tar.bz2";
-    hash = "sha256-dbPz1BnKY4jR/S7A7afh+Q8yS5lszwWR9IpdLijczBM=";
+    hash = "sha256-9lMgRdph7rKtwgqavEFmtLLUGrLByltQDNYWuxuS57E=";
   };
 
   latex = texliveBasic.withPackages (ps: with ps; [
diff --git a/pkgs/development/libraries/physics/yoda/default.nix b/pkgs/development/libraries/physics/yoda/default.nix
index da6c21db0ff03..68f4e3714e09c 100644
--- a/pkgs/development/libraries/physics/yoda/default.nix
+++ b/pkgs/development/libraries/physics/yoda/default.nix
@@ -1,7 +1,6 @@
 { lib
 , stdenv
 , fetchurl
-, fetchpatch
 , python
 , root
 , makeWrapper
@@ -11,22 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "yoda";
-  version = "1.9.8";
+  version = "1.9.9";
 
   src = fetchurl {
     url = "https://www.hepforge.org/archive/yoda/YODA-${version}.tar.bz2";
-    hash = "sha256-e8MGJGirulCv8+y4sizmdxlgNgCYkGiO9FM6qn+S5uQ=";
+    hash = "sha256-68rVU2mhztzuOi3gWUB8hRZSukRJURP1wJ2MLlf1Fqo=";
   };
 
-  patches = [
-    # A bugfix https://gitlab.com/hepcedar/yoda/-/merge_requests/116
-    (fetchpatch {
-      url = "https://gitlab.com/hepcedar/yoda/-/commit/ba1275033522c66bc473dfeffae1a7971e985611.diff";
-      hash = "sha256-/8UJuypiQzywarE+o3BEMtqM+f+YzkHylugi+xTJf+w=";
-      excludes = [ "ChangeLog" ];
-    })
-  ];
-
   nativeBuildInputs = with python.pkgs; [
     cython
     makeWrapper
diff --git a/pkgs/development/libraries/science/math/suitesparse/default.nix b/pkgs/development/libraries/science/math/suitesparse/default.nix
index dd2eb9478f7f6..abc2ff9a37012 100644
--- a/pkgs/development/libraries/science/math/suitesparse/default.nix
+++ b/pkgs/development/libraries/science/math/suitesparse/default.nix
@@ -8,7 +8,7 @@
 , mpfr
 , config
 , enableCuda ? config.cudaSupport
-, cudatoolkit
+, cudaPackages
 }:
 
 stdenv.mkDerivation rec {
@@ -25,7 +25,11 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [
-  ] ++ lib.optional stdenv.isDarwin fixDarwinDylibNames;
+  ] ++ lib.optionals stdenv.isDarwin [
+    fixDarwinDylibNames
+  ] ++ lib.optionals enableCuda [
+    cudaPackages.cuda_nvcc
+  ];
 
   # Use compatible indexing for lapack and blas used
   buildInputs = assert (blas.isILP64 == lapack.isILP64); [
@@ -34,7 +38,12 @@ stdenv.mkDerivation rec {
     gfortran.cc.lib
     gmp
     mpfr
-  ] ++ lib.optional enableCuda cudatoolkit;
+  ] ++ lib.optionals enableCuda [
+    cudaPackages.cuda_cudart.dev
+    cudaPackages.cuda_cudart.lib
+    cudaPackages.libcublas.dev
+    cudaPackages.libcublas.lib
+  ];
 
   preConfigure = ''
     # Mongoose and GraphBLAS are packaged separately
@@ -49,9 +58,9 @@ stdenv.mkDerivation rec {
   ] ++ lib.optionals blas.isILP64 [
     "CFLAGS=-DBLAS64"
   ] ++ lib.optionals enableCuda [
-    "CUDA_PATH=${cudatoolkit}"
-    "CUDART_LIB=${cudatoolkit.lib}/lib/libcudart.so"
-    "CUBLAS_LIB=${cudatoolkit}/lib/libcublas.so"
+    "CUDA_PATH=${cudaPackages.cuda_nvcc}"
+    "CUDART_LIB=${cudaPackages.cuda_cudart.lib}/lib/libcudart.so"
+    "CUBLAS_LIB=${cudaPackages.libcublas.lib}/lib/libcublas.so"
   ] ++ lib.optionals stdenv.isDarwin [
     # Unless these are set, the build will attempt to use `Accelerate` on darwin, see:
     # https://github.com/DrTimothyAldenDavis/SuiteSparse/blob/v5.13.0/SuiteSparse_config/SuiteSparse_config.mk#L368
diff --git a/pkgs/development/libraries/tdlib/default.nix b/pkgs/development/libraries/tdlib/default.nix
index 575aef5ba4f37..f1c1c85caf0b1 100644
--- a/pkgs/development/libraries/tdlib/default.nix
+++ b/pkgs/development/libraries/tdlib/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "tdlib";
-  version = "1.8.21";
+  version = "1.8.22";
 
   src = fetchFromGitHub {
     owner = "tdlib";
@@ -11,8 +11,8 @@ stdenv.mkDerivation rec {
     # The tdlib authors do not set tags for minor versions, but
     # external programs depending on tdlib constrain the minor
     # version, hence we set a specific commit with a known version.
-    rev = "3870c29b158b75ca5e48e0eebd6b5c3a7994a000";
-    hash = "sha256-MCzgovcEZa34ZkwbbwfXHm2qitHwL2Tpr8p7+PxNhYk=";
+    rev = "24893faf75d84b2b885f3f7aeb9d5a3c056fa7be";
+    hash = "sha256-4cfnre71+rQSuPrtFJMzIEPYVCZH/W142b4Pn2NxvqI=";
   };
 
   buildInputs = [ gperf openssl readline zlib ];
diff --git a/pkgs/development/libraries/uri/default.nix b/pkgs/development/libraries/uri/default.nix
index 51c2bcd59a57b..039db93926717 100644
--- a/pkgs/development/libraries/uri/default.nix
+++ b/pkgs/development/libraries/uri/default.nix
@@ -11,12 +11,15 @@ stdenv.mkDerivation rec {
     sha256 = "148361pixrm94q6v04k13s1msa04bx9yc3djb0lxpa7dlw19vhcd";
   };
 
-  env.NIX_CFLAGS_COMPILE = toString [
+  env.NIX_CFLAGS_COMPILE = toString ([
     "-Wno-error=parentheses"
     # Needed with GCC 12
     "-Wno-error=deprecated-declarations"
     "-Wno-error=nonnull"
-  ];
+  ] ++ lib.optionals stdenv.cc.isClang [
+    # Needed with Clang 16
+    "-Wno-error=deprecated-builtins"
+  ]);
 
   nativeBuildInputs = [ cmake doxygen ];
 
diff --git a/pkgs/development/python-modules/asyauth/default.nix b/pkgs/development/python-modules/asyauth/default.nix
index a08a20831f1bd..0e2da16189bec 100644
--- a/pkgs/development/python-modules/asyauth/default.nix
+++ b/pkgs/development/python-modules/asyauth/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "asyauth";
-  version = "0.0.16";
+  version = "0.0.18";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-ktmL2EFWDTzZwhxfleYEeJtMiiDP28JaCGbsvxx73Ok=";
+    hash = "sha256-t2AolP0GZ88b0+FqHXHIP1V6TIV61Bvd8wVXpZZltK0=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/aws-lambda-builders/default.nix b/pkgs/development/python-modules/aws-lambda-builders/default.nix
index 0509ccced740f..ffa17294fc2f3 100644
--- a/pkgs/development/python-modules/aws-lambda-builders/default.nix
+++ b/pkgs/development/python-modules/aws-lambda-builders/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "aws-lambda-builders";
-  version = "1.42.0";
+  version = "1.43.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "awslabs";
     repo = "aws-lambda-builders";
     rev = "refs/tags/v${version}";
-    hash = "sha256-rgRGKpthZ0nitO91Z5xUimakDFvcLh4UFKnxnEmRLHI=";
+    hash = "sha256-rwyhcoVVMdSmv/YqUk/sR4EMSRJHHB99v7aE8P4l8wE=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/aws-sam-translator/default.nix b/pkgs/development/python-modules/aws-sam-translator/default.nix
index 5d7cbaf889f0d..72930b85bb6d3 100644
--- a/pkgs/development/python-modules/aws-sam-translator/default.nix
+++ b/pkgs/development/python-modules/aws-sam-translator/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "aws-sam-translator";
-  version = "1.81.0";
+  version = "1.82.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "aws";
     repo = "serverless-application-model";
     rev = "refs/tags/v${version}";
-    hash = "sha256-Ik9ZO7l2dbjJg+PlSRUoMkrjSBeghKN5DZjx7CjDBPg=";
+    hash = "sha256-xAbFF4bKHFv5YAOlMA28lW1Xc37xV83X4r19MdubvFs=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/dynd/default.nix b/pkgs/development/python-modules/dynd/default.nix
index fa09ff17cfdec..ff9364207c76d 100644
--- a/pkgs/development/python-modules/dynd/default.nix
+++ b/pkgs/development/python-modules/dynd/default.nix
@@ -6,6 +6,7 @@
 , fetchpatch
 , cmake
 , fetchFromGitHub
+, pythonAtLeast
 }:
 
 buildPythonPackage rec {
@@ -13,6 +14,8 @@ buildPythonPackage rec {
   format = "setuptools";
   pname = "dynd";
 
+  disabled = pythonAtLeast "3.11";
+
   src = fetchFromGitHub {
     owner = "libdynd";
     repo = "dynd-python";
diff --git a/pkgs/development/python-modules/hatasmota/default.nix b/pkgs/development/python-modules/hatasmota/default.nix
index f8e45949dbe7b..6dcd50f3c46a5 100644
--- a/pkgs/development/python-modules/hatasmota/default.nix
+++ b/pkgs/development/python-modules/hatasmota/default.nix
@@ -2,14 +2,15 @@
 , attrs
 , buildPythonPackage
 , fetchFromGitHub
-, voluptuous
 , pythonOlder
+, setuptools
+, voluptuous
 }:
 
 buildPythonPackage rec {
   pname = "hatasmota";
-  version = "0.7.3";
-  format = "setuptools";
+  version = "0.8.0";
+  pyproject = true;
 
   disabled = pythonOlder "3.6";
 
@@ -17,9 +18,13 @@ buildPythonPackage rec {
     owner = "emontnemery";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-lsb92JsqIhq7zaNaolgV8dtSFIq+Enklb6hlBvT7/Ig=";
+    hash = "sha256-Kbz/ETSJGx6u0ZNfEWfl9klBIB3yPcfHGy1uKK50TGA=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     attrs
     voluptuous
diff --git a/pkgs/development/python-modules/ical/default.nix b/pkgs/development/python-modules/ical/default.nix
index b0ae3c59c6b88..d95a34fbbc849 100644
--- a/pkgs/development/python-modules/ical/default.nix
+++ b/pkgs/development/python-modules/ical/default.nix
@@ -19,7 +19,7 @@
 
 buildPythonPackage rec {
   pname = "ical";
-  version = "6.1.0";
+  version = "6.1.1";
   pyproject = true;
 
   disabled = pythonOlder "3.10";
@@ -28,7 +28,7 @@ buildPythonPackage rec {
     owner = "allenporter";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-1tf/R9CridAdNkS6/G0C1v+lZghS7WV5MVnVuBv1zvI=";
+    hash = "sha256-pFmJYXIhc9jhpc9ZjSNaol5h5Jb8ZvxuQsQL/2Rjryc=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/imageio/default.nix b/pkgs/development/python-modules/imageio/default.nix
index ec4e3a3b749a2..cb291c1577e87 100644
--- a/pkgs/development/python-modules/imageio/default.nix
+++ b/pkgs/development/python-modules/imageio/default.nix
@@ -31,7 +31,7 @@
 
 buildPythonPackage rec {
   pname = "imageio";
-  version = "2.33.0";
+  version = "2.33.1";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -40,7 +40,7 @@ buildPythonPackage rec {
     owner = "imageio";
     repo = "imageio";
     rev = "refs/tags/v${version}";
-    hash = "sha256-WoCycrJxo0vyV9LiWnEag1wbld3EJWu8mks8TnYt2+A=";
+    hash = "sha256-1Q1KKQmla/iHb5KbJZZmkpBT2j9uIwy8YDAJ7qDDC4Q=";
   };
 
   patches = lib.optionals (!stdenv.isDarwin) [
diff --git a/pkgs/development/python-modules/minikerberos/default.nix b/pkgs/development/python-modules/minikerberos/default.nix
index 5bf47f5a04ab8..54b2de45056e0 100644
--- a/pkgs/development/python-modules/minikerberos/default.nix
+++ b/pkgs/development/python-modules/minikerberos/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "minikerberos";
-  version = "0.4.3";
+  version = "0.4.4";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-9VPK15GIPcG+UcyUinevKyEoom6mNA99NKL0XWd9G/M=";
+    hash = "sha256-GweGHGxAOLZqOnVdzOtw0xuvsrKsaB1gf1xZ/WuFR7w=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/msldap/default.nix b/pkgs/development/python-modules/msldap/default.nix
index dc76133547433..a53ec6152e372 100644
--- a/pkgs/development/python-modules/msldap/default.nix
+++ b/pkgs/development/python-modules/msldap/default.nix
@@ -14,14 +14,14 @@
 
 buildPythonPackage rec {
   pname = "msldap";
-  version = "0.5.7";
+  version = "0.5.9";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-6gTUPtGQKJSd7HpMRRlw87Iu3I1L2ea2F+QQs1U1jIM=";
+    hash = "sha256-XzxONiKW4OHrpEftqfIwmIp7KgiCb3s+007JYS68/jM=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/natasha/default.nix b/pkgs/development/python-modules/natasha/default.nix
index 8f7b00fa89229..3d25ccf73fc99 100644
--- a/pkgs/development/python-modules/natasha/default.nix
+++ b/pkgs/development/python-modules/natasha/default.nix
@@ -5,7 +5,7 @@
 , razdel
 , navec
 , slovnet
-, yagry
+, yargy
 , ipymarkup
 , pytestCheckHook
 }:
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     hash = "sha256-Rgguazgq06a8B9jeRnfHD5VTR+Xrd+8OCsQUfaGLEq0=";
   };
 
-  propagatedBuildInputs = [ pymorphy2 navec razdel slovnet yagry ipymarkup ];
+  propagatedBuildInputs = [ pymorphy2 navec razdel slovnet yargy ipymarkup ];
 
   nativeCheckInputs = [ pytestCheckHook ];
   pytestFlagsArray = [ "tests/" ];
diff --git a/pkgs/development/python-modules/pymc/default.nix b/pkgs/development/python-modules/pymc/default.nix
index 355d8511b6a4c..f06c296226133 100644
--- a/pkgs/development/python-modules/pymc/default.nix
+++ b/pkgs/development/python-modules/pymc/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "pymc";
-  version = "5.10.0";
+  version = "5.10.1";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "pymc-devs";
     repo = "pymc";
     rev = "refs/tags/v${version}";
-    hash = "sha256-cjvEP7vkFQKwUPwHw3JWbS8+U8PEaL3c1D2NwV3uLOU=";
+    hash = "sha256-+hRj39teuxlHOEQ40E2ZteU+tN73j+cHWbxzWsl1+mE=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pytensor/default.nix b/pkgs/development/python-modules/pytensor/default.nix
index c109a707d24d8..ce04f0f9bea2f 100644
--- a/pkgs/development/python-modules/pytensor/default.nix
+++ b/pkgs/development/python-modules/pytensor/default.nix
@@ -24,7 +24,7 @@
 
 buildPythonPackage rec {
   pname = "pytensor";
-  version = "2.18.1";
+  version = "2.18.2";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -33,7 +33,7 @@ buildPythonPackage rec {
     owner = "pymc-devs";
     repo = "pytensor";
     rev = "refs/tags/rel-${version}";
-    hash = "sha256-8bt6ps5bwT+Atr6JgQMxe234bL/ZriYlURUdX0sC1kk=";
+    hash = "sha256-uB5VT4wP08pOkHlxdPJTXK4j5ubmf+hk5oHYPM6diHM=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/setupmeta/default.nix b/pkgs/development/python-modules/setupmeta/default.nix
index 09a3f565d543d..46e1b9a18a3ef 100644
--- a/pkgs/development/python-modules/setupmeta/default.nix
+++ b/pkgs/development/python-modules/setupmeta/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "setupmeta";
-  version = "3.5.2";
+  version = "3.6.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "codrsquad";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-r3pGlcdem+c5I2dKrRueksesqq9HTk0oEr/xJuM7vuc=";
+    hash = "sha256-OI7PU5LQ6w0iAbK7nsP+6RizsEWjKP9nec2J6n0xUhI=";
   };
 
   preBuild = ''
diff --git a/pkgs/development/python-modules/torch/default.nix b/pkgs/development/python-modules/torch/default.nix
index 19bf8a8a1d40c..3228bee1434cd 100644
--- a/pkgs/development/python-modules/torch/default.nix
+++ b/pkgs/development/python-modules/torch/default.nix
@@ -273,7 +273,7 @@ in buildPythonPackage rec {
   PYTORCH_BUILD_VERSION = version;
   PYTORCH_BUILD_NUMBER = 0;
 
-  USE_NCCL = setBool (cudaPackages ? nccl);
+  USE_NCCL = setBool (cudaSupport && cudaPackages ? nccl);
   USE_SYSTEM_NCCL = setBool useSystemNccl;                  # don't build pytorch's third_party NCCL
   USE_STATIC_NCCL = setBool useSystemNccl;
 
diff --git a/pkgs/development/python-modules/virt-firmware/default.nix b/pkgs/development/python-modules/virt-firmware/default.nix
new file mode 100644
index 0000000000000..aeaca734587d2
--- /dev/null
+++ b/pkgs/development/python-modules/virt-firmware/default.nix
@@ -0,0 +1,43 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, setuptools
+, cryptography
+, pytestCheckHook
+, pefile
+}:
+
+buildPythonPackage rec {
+  pname = "virt-firmware";
+  version = "23.10";
+
+  pyproject = true;
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-orTIduS4KVH4nTSRcOnn2+Tqeyd4OMnnN2+AK5p1xtM=";
+  };
+
+  pythonImportsCheck = [ "virt.firmware.efi" ];
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+  pytestFlagsArray = ["tests/tests.py"];
+
+  propagatedBuildInputs = [
+    cryptography
+    pefile
+  ];
+
+  meta = with lib; {
+    description = "Tools for virtual machine firmware volumes";
+    homepage = "https://gitlab.com/kraxel/virt-firmware";
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ lheckemann raitobezarius ];
+  };
+}
diff --git a/pkgs/development/python-modules/zeroconf/default.nix b/pkgs/development/python-modules/zeroconf/default.nix
index 5f6b412f4e877..70524a71d72fc 100644
--- a/pkgs/development/python-modules/zeroconf/default.nix
+++ b/pkgs/development/python-modules/zeroconf/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "zeroconf";
-  version = "0.128.0";
+  version = "0.128.4";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "jstasiak";
     repo = "python-zeroconf";
     rev = "refs/tags/${version}";
-    hash = "sha256-44Ibjbimpl+KSnQ2QMwVg79F38gdWPYTR/ZRyW7JHEU=";
+    hash = "sha256-yNPILYI3zAY4LCWvfKw7iu0H0UNbhfhC9Vyp9fdjwbI=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/tools/altair-graphql-client/default.nix b/pkgs/development/tools/altair-graphql-client/default.nix
index 33fed022b0310..d1d214d5c3326 100644
--- a/pkgs/development/tools/altair-graphql-client/default.nix
+++ b/pkgs/development/tools/altair-graphql-client/default.nix
@@ -2,11 +2,11 @@
 
 let
   pname = "altair";
-  version = "5.2.6";
+  version = "5.2.13";
 
   src = fetchurl {
     url = "https://github.com/imolorhe/altair/releases/download/v${version}/altair_${version}_x86_64_linux.AppImage";
-    sha256 = "sha256-SNXUARAu4szX7otyAKy3F/piNhxlPVNN6Dj2UwevL8A=";
+    sha256 = "sha256-IKlJy7rH/O4DySYV046hjDu1VWPZNA0Ti/ndVVmYNdk=";
   };
 
   appimageContents = appimageTools.extract { inherit pname version src; };
diff --git a/pkgs/development/tools/analysis/checkov/default.nix b/pkgs/development/tools/analysis/checkov/default.nix
index 631253bcba188..c1b57bab97e7c 100644
--- a/pkgs/development/tools/analysis/checkov/default.nix
+++ b/pkgs/development/tools/analysis/checkov/default.nix
@@ -5,14 +5,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "checkov";
-  version = "3.1.27";
+  version = "3.1.33";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "bridgecrewio";
     repo = "checkov";
     rev = "refs/tags/${version}";
-    hash = "sha256-B82zJh863k/PPiwLIBgGBi+/t+1DxsnpAm/fdUQVFeA=";
+    hash = "sha256-NcjzKA/QvxIoZMzgMmyAQm4KI8kCsj+K9wcI1n+HPbc=";
   };
 
   patches = [
diff --git a/pkgs/development/tools/apktool/default.nix b/pkgs/development/tools/apktool/default.nix
index 01ec94b850a71..e6b62a8e8417c 100644
--- a/pkgs/development/tools/apktool/default.nix
+++ b/pkgs/development/tools/apktool/default.nix
@@ -8,14 +8,14 @@
 
 stdenv.mkDerivation rec {
   pname = "apktool";
-  version = "2.9.0";
+  version = "2.9.1";
 
   src = fetchurl {
     urls = [
       "https://bitbucket.org/iBotPeaches/apktool/downloads/apktool_${version}.jar"
       "https://github.com/iBotPeaches/Apktool/releases/download/v${version}/apktool_${version}.jar"
     ];
-    hash = "sha256-5ez3WSl7hFvmSjpRRczDctuQWxWoAaIuocke4DxMemU=";
+    hash = "sha256-3nzoqhCay2Sef2nP6RAw/8INvMRu3Yq79sLR42z8zXs=";
   };
 
   dontUnpack = true;
@@ -36,6 +36,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "A tool for reverse engineering Android apk files";
     homepage = "https://ibotpeaches.github.io/Apktool/";
+    changelog = "https://github.com/iBotPeaches/Apktool/releases/tag/v${version}";
     sourceProvenance = with sourceTypes; [ binaryBytecode ];
     license = licenses.asl20;
     maintainers = with maintainers; [ offline ];
diff --git a/pkgs/development/tools/dtools/default.nix b/pkgs/development/tools/dtools/default.nix
index 4d64760d39ff3..5b525f3067f21 100644
--- a/pkgs/development/tools/dtools/default.nix
+++ b/pkgs/development/tools/dtools/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "dtools";
-  version = "2.105.2";
+  version = "2.106.0";
 
   src = fetchFromGitHub {
     owner = "dlang";
diff --git a/pkgs/development/tools/dump_syms/default.nix b/pkgs/development/tools/dump_syms/default.nix
index 7cfb93d9b719f..a5dab42219f81 100644
--- a/pkgs/development/tools/dump_syms/default.nix
+++ b/pkgs/development/tools/dump_syms/default.nix
@@ -30,6 +30,11 @@ rustPlatform.buildRustPackage {
 
   cargoSha256 = "sha256-5WiGckh/jq7AHH3JWZL8tIsj1Gqr8iLX7IyppKsW96k=";
 
+  # Workaround for https://github.com/nixos/nixpkgs/issues/166205
+  env = lib.optionalAttrs stdenv.cc.isClang {
+    NIX_LDFLAGS = "-l${stdenv.cc.libcxx.cxxabi.libName}";
+  };
+
   nativeBuildInputs = [
     pkg-config
   ];
diff --git a/pkgs/development/tools/misc/hydra/unstable.nix b/pkgs/development/tools/misc/hydra/unstable.nix
index 544a0221737e4..8ee7c7f6fb929 100644
--- a/pkgs/development/tools/misc/hydra/unstable.nix
+++ b/pkgs/development/tools/misc/hydra/unstable.nix
@@ -43,6 +43,7 @@
 , cacert
 , glibcLocales
 , fetchFromGitHub
+, fetchpatch2
 , nixosTests
 }:
 
@@ -132,6 +133,17 @@ stdenv.mkDerivation rec {
     hash = "sha256-FjyMb5ZbPa2GLrRuFMUP/foKb0KvXFKThvgc9faFIw8=";
   };
 
+  patches = [
+    # hydra-eval-jobs: don't use restrict-eval for Flakes
+    # https://github.com/NixOS/hydra/pull/1257
+    # should be removed when https://github.com/NixOS/nix/pull/9547
+    # lands in the nix version used by hydra
+    (fetchpatch2 {
+      url = "https://github.com/NixOS/hydra/commit/9370b0ef977bff7e84ac07a81a0e31e75989276b.patch";
+      hash = "sha256-BRenC0lpWPgzfx42MPJBQ9VBamh5hZXuuVe6TXYKkdE=";
+    })
+  ];
+
   buildInputs = [
     unzip
     libpqxx
diff --git a/pkgs/development/tools/misc/mdctags/default.nix b/pkgs/development/tools/misc/mdctags/default.nix
index 7d8992b4e201c..acd6d39e97f6b 100644
--- a/pkgs/development/tools/misc/mdctags/default.nix
+++ b/pkgs/development/tools/misc/mdctags/default.nix
@@ -18,5 +18,6 @@ rustPlatform.buildRustPackage {
     homepage = "https://github.com/wsdjeg/mdctags.rs";
     license = lib.licenses.mit;
     maintainers = with lib.maintainers; [ pacien ];
+    mainProgram = "mdctags";
   };
 }
diff --git a/pkgs/development/tools/misc/pest-ide-tools/default.nix b/pkgs/development/tools/misc/pest-ide-tools/default.nix
index 3398810dace44..162817c683579 100644
--- a/pkgs/development/tools/misc/pest-ide-tools/default.nix
+++ b/pkgs/development/tools/misc/pest-ide-tools/default.nix
@@ -1,9 +1,11 @@
 { lib
+, stdenv
 , fetchFromGitHub
 , rustPlatform
 , nix-update-script
 , pkg-config
 , openssl
+, darwin
 }:
 
 rustPlatform.buildRustPackage rec {
@@ -18,7 +20,11 @@ rustPlatform.buildRustPackage rec {
     sha256 = "sha256-SymtMdj7QVOEiSeTjmVidejFeGK8swnM6nfT7u18URs=";
   };
   nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ openssl ];
+  buildInputs = [
+    openssl
+  ] ++ lib.optionals stdenv.isDarwin [
+    darwin.apple_sdk.frameworks.Security
+  ];
 
   passthru = {
     updateScript = nix-update-script { };
diff --git a/pkgs/development/tools/ocaml/merlin/4.x.nix b/pkgs/development/tools/ocaml/merlin/4.x.nix
index ef9330054f359..56871eab1cc1a 100644
--- a/pkgs/development/tools/ocaml/merlin/4.x.nix
+++ b/pkgs/development/tools/ocaml/merlin/4.x.nix
@@ -15,35 +15,32 @@
 }:
 
 let
-  merlinVersion = if lib.versionAtLeast ocaml.version "4.14" then "4.12" else "4.7";
+  # Each releases of Merlin support a limited range of versions of OCaml.
+  merlinVersions = {
+    "4.12.0" = "4.7-412";
+    "4.12.1" = "4.7-412";
+    "4.13.0" = "4.7-413";
+    "4.13.1" = "4.7-413";
+    "4.14.0" = "4.13-414";
+    "4.14.1" = "4.13-414";
+    "5.0.0" = "4.12-500";
+    "5.1.0" = "4.13-501";
+    # "5.1.1" = "4.13.1-501";
+  };
 
   hashes = {
     "4.7-412" = "sha256-0U3Ia7EblKULNy8AuXFVKACZvGN0arYJv7BWiBRgT0Y=";
     "4.7-413" = "sha256-aVmGWS4bJBLuwsxDKsng/n0A6qlyJ/pnDTcYab/5gyU=";
-    "4.8-414" = "sha256-HMXWhcVOXW058y143rNBcfEOmjt2tZJXcXKHmKZ5i68=";
-    "4.8-500" = "sha256-n5NHKuo0/lZmfe7WskqnW3xm1S0PmXKSS93BDKrpjCI=";
-    "4.9-414" = "sha256-4j/EeBNZEmn/nSfIIJiOUgpmLIndCvfqZSshUXSZy/0=";
-    "4.9-500" = "sha256-uQfGazoxTxclHSiTfjji+tKJv8MKqRdHMPD/xfMZlSY=";
-    "4.10-414" = "sha256-/a1OqASISpb06eh2gsam1rE3wovM4CT8ybPV86XwR2c=";
-    "4.10-500" = "sha256-m9+Qz8DT94yNSwpamTVLQKISHtRVBWnZD3t/yyujSZ0=";
-    "4.12-414" = "sha256-tgMUT4KyFeJubYVY1Sdv9ZvPB1JwcqEGcCuwuMqXHRQ=";
     "4.12-500" = "sha256-j49R7KVzNKlXDL7WibTHxPG4VSOVv0uaz5/yMZZjkH8=";
-    "4.12-501" = "sha256-zMwzI1SXQDWQ9PaKL4o3J6JlRjmEs7lkXrwauy+QiMA=";
+    "4.13-414" = "sha256-AlzxqTuh5AkW9dnPIv51abv7r0A/VOS3JOT5IHix2wM=";
+    "4.13-501" = "sha256-G/VrI+qBVj2wxuB2qE9P1M73IvDmqmTrBFAA6mp+NRE=";
   };
 
-  ocamlVersionShorthand =
-    let
-      v = lib.splitVersion ocaml.version;
-      major = builtins.elemAt v 0;
-      minor = builtins.elemAt v 1;
-      minor_prefix = if builtins.stringLength minor < 2 then "0" else "";
-    in "${toString major}${minor_prefix}${toString minor}";
-
-  version = "${merlinVersion}-${ocamlVersionShorthand}";
+  version = lib.getAttr ocaml.version merlinVersions;
 in
 
-if !lib.hasAttr version hashes
-then builtins.throw "merlin ${merlinVersion} is not available for OCaml ${ocaml.version}"
+if !lib.hasAttr ocaml.version merlinVersions
+then builtins.throw "merlin is not available for OCaml ${ocaml.version}"
 else
 
 buildDunePackage {
diff --git a/pkgs/development/tools/okteto/default.nix b/pkgs/development/tools/okteto/default.nix
index 9b58214895ef8..1ea746ee453fd 100644
--- a/pkgs/development/tools/okteto/default.nix
+++ b/pkgs/development/tools/okteto/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "okteto";
-  version = "2.22.3";
+  version = "2.23.0";
 
   src = fetchFromGitHub {
     owner = "okteto";
     repo = "okteto";
     rev = version;
-    hash = "sha256-XvoWLCM1RWc8/v4BQt5Ik89sGWmZAruIKlu5N/WBim4=";
+    hash = "sha256-JbW7E4bGAffDaWbzBSffwLn9QKc+0m5Vx1E/8sdnBGg=";
   };
 
-  vendorHash = "sha256-z4ERIfwLPYIMpSetepDx0U2WUA+9RXjoQICMbp+qS3k=";
+  vendorHash = "sha256-HodvOSuzp57ijaShCJ+fnX5qk4o5LzMLOfPnpDlc2FU=";
 
   postPatch = ''
     # Disable some tests that need file system & network access.
diff --git a/pkgs/development/tools/regclient/default.nix b/pkgs/development/tools/regclient/default.nix
index 864e2a8c372c5..1f92a9255327e 100644
--- a/pkgs/development/tools/regclient/default.nix
+++ b/pkgs/development/tools/regclient/default.nix
@@ -4,14 +4,14 @@ let bins = [ "regbot" "regctl" "regsync" ]; in
 
 buildGoModule rec {
   pname = "regclient";
-  version = "0.5.4";
+  version = "0.5.5";
   tag = "v${version}";
 
   src = fetchFromGitHub {
     owner = "regclient";
     repo = "regclient";
     rev = tag;
-    sha256 = "sha256-xjyzGrcr3yVny70P5BvV9meshOcvbf6BWhuBE1PlK4Q=";
+    sha256 = "sha256-s1eP1uj5WbHd59AYsm2t3+iOJKMMHZQ7xwjvy/yrICk=";
   };
   vendorHash = "sha256-JIvFHaq9RCqDurKTnoT9/yJevHotuG22AyizTMLtHPc=";
 
diff --git a/pkgs/development/tools/rust/cargo-nextest/default.nix b/pkgs/development/tools/rust/cargo-nextest/default.nix
index e472c977f5f25..204cecbb43449 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.63";
+  version = "0.9.64";
 
   src = fetchFromGitHub {
     owner = "nextest-rs";
     repo = "nextest";
     rev = "cargo-nextest-${version}";
-    hash = "sha256-xAFpTcugAWUmHwWe2Ny1urxrIzRXyfxUMb9kBoGa3SA=";
+    hash = "sha256-nP5G6o0/Ce0ywdi3E5R/Pbh14zLn1UzagN+DMBch+cg=";
   };
 
-  cargoHash = "sha256-ase0pfcDDkQGnTEtAD2ZTnBP7jdGS9pki1BoFbfUuFk=";
+  cargoHash = "sha256-vrMxIEDsiVAGdznog4pJDQpQmbXW6qsHqBuS1e/0nMo=";
 
   buildInputs = lib.optionals stdenv.isDarwin [
     darwin.apple_sdk.frameworks.SystemConfiguration
diff --git a/pkgs/development/tools/setupcfg2nix/default.nix b/pkgs/development/tools/setupcfg2nix/default.nix
deleted file mode 100644
index 4cc1ec320ccd1..0000000000000
--- a/pkgs/development/tools/setupcfg2nix/default.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-{ buildSetupcfg, fetchFromGitHub, lib }:
-
-buildSetupcfg rec {
-  info = import ./info.nix;
-  src = fetchFromGitHub {
-    owner = "target";
-    repo = "setupcfg2nix";
-    rev = info.version;
-    sha256 = "1rj227vxybwp9acwnpwg9np964b1qcw2av3qmx00isnrw5vcps8m";
-  };
-  application = true;
-  meta = {
-    description = "Generate nix expressions from setup.cfg for a python package";
-    homepage = "https://github.com/target/setupcfg2nix";
-    license = lib.licenses.mit;
-    platforms = lib.platforms.all;
-    maintainers = [ lib.maintainers.shlevy ];
-  };
-}
diff --git a/pkgs/development/tools/setupcfg2nix/info.nix b/pkgs/development/tools/setupcfg2nix/info.nix
deleted file mode 100644
index 17e888fee4163..0000000000000
--- a/pkgs/development/tools/setupcfg2nix/info.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  pname = "setupcfg2nix";
-  version = "2.0.1";
-  install_requires = [
-    "setuptools"
-  ];
-}
diff --git a/pkgs/development/tools/sqldef/default.nix b/pkgs/development/tools/sqldef/default.nix
index 92c1c0037f2b3..bc1bcd0d463e9 100644
--- a/pkgs/development/tools/sqldef/default.nix
+++ b/pkgs/development/tools/sqldef/default.nix
@@ -2,18 +2,18 @@
 
 buildGoModule rec {
   pname = "sqldef";
-  version = "0.16.10";
+  version = "0.16.13";
 
   src = fetchFromGitHub {
     owner = "k0kubun";
     repo = "sqldef";
     rev = "v${version}";
-    hash = "sha256-NwSQLpqgOuVBH+EYjSch3h0BMJZPK3/FcKO4iUnNt+E=";
+    hash = "sha256-c6ErXWnCoKaM7i7yf4tP3J3k0yhNypFJA+XGwazDDD0=";
   };
 
   proxyVendor = true;
 
-  vendorHash = "sha256-2MwibiWT9rrbNVva61wR1OPrG+fZkxTDznC2pdm3CKE=";
+  vendorHash = "sha256-oIP8XeaQITdirtBAP5JjcWYiA4En4y2Hwu7thZk//fY=";
 
   ldflags = [ "-s" "-w" "-X main.version=${version}" ];
 
diff --git a/pkgs/development/tools/typos/default.nix b/pkgs/development/tools/typos/default.nix
index e11473d09e4ce..23fced834b9fc 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.23";
+  version = "1.16.24";
 
   src = fetchFromGitHub {
     owner = "crate-ci";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-n/R6/wkFApSOG1QmtJ3YDFsotVrgLIYqopHJAlod2GA=";
+    hash = "sha256-3MClDt1ttTfhD3OLXIt1OUE6JOyKcozEMn9by1WPsPw=";
   };
 
-  cargoHash = "sha256-n+OBj54d3EtxKszAC7A5DUlJeS92RRgpfu9VuW+rTAI=";
+  cargoHash = "sha256-P4NDgWA0+jclu0S/gQ+/pkaPE7hjBNMzG3ZQZo1ZwZ8=";
 
   meta = with lib; {
     description = "Source code spell checker";
diff --git a/pkgs/development/tools/xqilla/default.nix b/pkgs/development/tools/xqilla/default.nix
index 033d18608ac86..342ca426801d7 100644
--- a/pkgs/development/tools/xqilla/default.nix
+++ b/pkgs/development/tools/xqilla/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, xercesc }:
+{ lib, stdenv, fetchurl, fetchpatch, xercesc }:
 
 stdenv.mkDerivation rec {
   pname = "xqilla";
@@ -9,6 +9,14 @@ stdenv.mkDerivation rec {
     sha256 = "0m9z7diw7pdyb4qycbqyr2x55s13v8310xsi7yz0inpw27q4vzdd";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "xqilla-gcc11.patch";
+      url = "https://git.pld-linux.org/gitweb.cgi?p=packages/xqilla.git;a=blob_plain;f=xqilla-gcc11.patch;h=c9e28be64097040348f710cb27be5f7dad001112;hb=4efe07397c6fb426a65b2eec6999d3c7e683848a";
+      hash = "sha256-enMEF3U+PsbwOQ5SwlRVWc/FpyLS3aK6JgUgOp3ZbiA=";
+    })
+  ];
+
   configureFlags = [ "--with-xerces=${xercesc}" ];
 
   meta = with lib; {
diff --git a/pkgs/development/web/bun/default.nix b/pkgs/development/web/bun/default.nix
index d224af5312763..8cd956a782a2a 100644
--- a/pkgs/development/web/bun/default.nix
+++ b/pkgs/development/web/bun/default.nix
@@ -12,7 +12,7 @@
 }:
 
 stdenvNoCC.mkDerivation rec {
-  version = "1.0.15";
+  version = "1.0.16";
   pname = "bun";
 
   src = passthru.sources.${stdenvNoCC.hostPlatform.system} or (throw "Unsupported system: ${stdenvNoCC.hostPlatform.system}");
@@ -51,19 +51,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-3EUVa/v/1Q42IPysoUT/N7Adtwq//79ibTpQgrpzl1I=";
+        hash = "sha256-jp8ZQ7l8uBdoVQsLpm3AgfBF3XhNzZOhimSUmSVqOEY=";
       };
       "aarch64-linux" = fetchurl {
         url = "https://github.com/oven-sh/bun/releases/download/bun-v${version}/bun-linux-aarch64.zip";
-        hash = "sha256-WEt/oIleK3f+waEIiR+umdbxvMpeF+sTVTcy1DE0yKY=";
+        hash = "sha256-BSU2iTo+AGcOdPSgW4CRYcDS4KgAvpOmSZE7JDEtV00=";
       };
       "x86_64-darwin" = fetchurl {
         url = "https://github.com/oven-sh/bun/releases/download/bun-v${version}/bun-darwin-x64.zip";
-        hash = "sha256-VGJYg3im6KzS3YZevorzeomYQIiYVEVP1K7YIXRzzUE=";
+        hash = "sha256-XAzV8LBrzhZ5w1YBMlTBI1iov5/ZrrRVLzqnWfcCgyI=";
       };
       "x86_64-linux" = fetchurl {
         url = "https://github.com/oven-sh/bun/releases/download/bun-v${version}/bun-linux-x64.zip";
-        hash = "sha256-8US2sbirFOAFXfGvHm9VqPORjUzJN/K+0/BcgK4FVcI=";
+        hash = "sha256-2f/n/aKJO2LnCWohYSQ3zukuXZ+cKFzem+mKeYQnoTc=";
       };
     };
     updateScript = writeShellScript "update-bun" ''
diff --git a/pkgs/games/anki/default.nix b/pkgs/games/anki/default.nix
index 90f2ee9e53bff..158531172bd83 100644
--- a/pkgs/games/anki/default.nix
+++ b/pkgs/games/anki/default.nix
@@ -150,6 +150,7 @@ python3.pkgs.buildPythonApplication {
 
   buildInputs = [
     qt6.qtbase
+    qt6.qtsvg
   ] ++ lib.optional stdenv.isLinux qt6.qtwayland;
 
   propagatedBuildInputs = with python3.pkgs; [
diff --git a/pkgs/games/atlauncher/default.nix b/pkgs/games/atlauncher/default.nix
index da98159cde9e3..77fcdaaf8721e 100644
--- a/pkgs/games/atlauncher/default.nix
+++ b/pkgs/games/atlauncher/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "atlauncher";
-  version = "3.4.34.2";
+  version = "3.4.35.3";
 
   src = fetchurl {
     url = "https://github.com/ATLauncher/ATLauncher/releases/download/v${finalAttrs.version}/ATLauncher-${finalAttrs.version}.jar";
-    hash = "sha256-l9OoHunK0xfY6xbNpjs9lfsVd3USM1GHgutTMMVq8S8=";
+    hash = "sha256-2080rVGBBM3YZmmBVBfMhnCErLzxuRDDi4zmCniJYFY=";
   };
 
   env.ICON = fetchurl {
diff --git a/pkgs/games/openclonk/default.nix b/pkgs/games/openclonk/default.nix
index 4b526975349b1..2249ab213a220 100644
--- a/pkgs/games/openclonk/default.nix
+++ b/pkgs/games/openclonk/default.nix
@@ -1,6 +1,6 @@
-{ lib, stdenv, fetchurl, cmake, pkg-config
+{ lib, stdenv, fetchurl, fetchDebianPatch, fetchpatch, cmake, pkg-config
 , SDL2, libvorbis, libogg, libjpeg, libpng, freetype, glew, tinyxml, openal
-, freealut, readline, gcc-unwrapped
+, freealut, readline, libb2, gcc-unwrapped
 , enableSoundtrack ? false # Enable the "Open Clonk Soundtrack - Explorers Journey" by David Oerther
 }:
 
@@ -18,6 +18,21 @@ in stdenv.mkDerivation rec {
     sha256 = "0imkqjp8lww5p0cnqf4k4mb2v682mnsas63qmiz17rspakr7fxik";
   };
 
+  patches = [
+    (fetchDebianPatch {
+      pname = "openclonk";
+      version = "8.1";
+      debianRevision = "3";
+      patch = "system-libb2.patch";
+      hash = "sha256-zuH6zxSQXRhnt75092Xwb6XYv8UG391E5Arbnr7ApiI=";
+    })
+    (fetchpatch {
+      name = "fix-gcc-11-build.patch";
+      url = "https://github.com/openclonk/openclonk/commit/e304efde2c8643bbc0fc1ad5e85024982744b233.patch";
+      hash = "sha256-jfVCgeZuYo4x53zhljKcnMDMIBECTRsUSxkl6JaL6HA=";
+    })
+  ];
+
   postInstall = ''
     mv -v $out/games/openclonk $out/bin/
   '' + lib.optionalString enableSoundtrack ''
@@ -28,7 +43,7 @@ in stdenv.mkDerivation rec {
 
   buildInputs = [
     SDL2 libvorbis libogg libjpeg libpng freetype glew tinyxml openal freealut
-    readline
+    readline libb2
   ];
 
   cmakeFlags = [ "-DCMAKE_AR=${gcc-unwrapped}/bin/gcc-ar" "-DCMAKE_RANLIB=${gcc-unwrapped}/bin/gcc-ranlib" ];
@@ -39,8 +54,8 @@ in stdenv.mkDerivation rec {
     description = "Free multiplayer action game in which you control clonks, small but witty and nimble humanoid beings";
     homepage = "https://www.openclonk.org";
     license = if enableSoundtrack then licenses.unfreeRedistributable else licenses.isc;
+    mainProgram = "openclonk";
     maintainers = with maintainers; [ lheckemann ];
     platforms = [ "x86_64-linux" "i686-linux" ];
-    broken = true;
   };
 }
diff --git a/pkgs/games/path-of-building/default.nix b/pkgs/games/path-of-building/default.nix
index 38de693695b2c..52e96a6e23ec3 100644
--- a/pkgs/games/path-of-building/default.nix
+++ b/pkgs/games/path-of-building/default.nix
@@ -2,13 +2,13 @@
 let
   data = stdenv.mkDerivation(finalAttrs: {
     pname = "path-of-building-data";
-    version = "2.35.5";
+    version = "2.36.1";
 
     src = fetchFromGitHub {
       owner = "PathOfBuildingCommunity";
       repo = "PathOfBuilding";
       rev = "v${finalAttrs.version}";
-      hash = "sha256-SnsmXoxr5zSORLSpdDGw3OTTNJUDUEfCqBs6lYm4lP0=";
+      hash = "sha256-lz0Nxn+HOFHcz/uKJZ3Jd7NDtkXmL7wLsD/W7Y3dKxQ=";
     };
 
     nativeBuildInputs = [ unzip ];
diff --git a/pkgs/games/rare/default.nix b/pkgs/games/rare/default.nix
index 5253d78be5757..ac2970bd91e16 100644
--- a/pkgs/games/rare/default.nix
+++ b/pkgs/games/rare/default.nix
@@ -8,21 +8,24 @@
 , python
 , qtawesome
 , requests
+, setuptools
 , typing-extensions
 }:
 
 buildPythonApplication rec {
   pname = "rare";
-  version = "1.10.3";
+  version = "1.10.7";
+  pyproject = true;
 
   src = fetchFromGitHub {
-    owner = "Dummerle";
+    owner = "RareDevs";
     repo = "Rare";
     rev = "refs/tags/${version}";
-    hash = "sha256-7KER9gCpqjEKikQTVHsvwX6efCb9L0ut6OBjjLBW2tI=";
+    hash = "sha256-rV6B9tCdwWK9yvEtVyLnv4Lo1WP5xW0f4JcsNZ7iBGI=";
   };
 
   nativeBuildInputs = [
+    setuptools
     qt5.wrapQtAppsHook
   ];
 
@@ -35,11 +38,6 @@ buildPythonApplication rec {
     typing-extensions
   ];
 
-  patches = [
-    # Not able to run pythonRelaxDepsHook because of https://github.com/NixOS/nixpkgs/issues/198342
-    ./legendary-gl-version.patch
-  ];
-
   dontWrapQtApps = true;
 
   postInstall = ''
@@ -56,9 +54,10 @@ buildPythonApplication rec {
 
   meta = with lib; {
     description = "GUI for Legendary, an Epic Games Launcher open source alternative";
-    homepage = "https://github.com/Dummerle/Rare";
+    homepage = "https://github.com/RareDevs/Rare";
     maintainers = with maintainers; [ wolfangaukang ];
     license = licenses.gpl3Only;
     platforms = platforms.linux;
+    mainProgram = "rare";
   };
 }
diff --git a/pkgs/games/rare/legendary-gl-version.patch b/pkgs/games/rare/legendary-gl-version.patch
deleted file mode 100644
index 1ed9659d2b258..0000000000000
--- a/pkgs/games/rare/legendary-gl-version.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/setup.py b/setup.py
-index 2416360..08de818 100644
---- a/setup.py
-+++ b/setup.py
-@@ -7,7 +7,7 @@ with open("README.md", "r") as fh:
- 
- requirements = [
-     "requests<3.0",
--    "legendary-gl==0.20.32",
-+    "legendary-gl~=0.20.32",
-     "setuptools",
-     "wheel",
-     "PyQt5",
diff --git a/pkgs/games/shattered-pixel-dungeon/generic.nix b/pkgs/games/shattered-pixel-dungeon/generic.nix
index 92427674c18af..fdd87ba2bd19b 100644
--- a/pkgs/games/shattered-pixel-dungeon/generic.nix
+++ b/pkgs/games/shattered-pixel-dungeon/generic.nix
@@ -13,6 +13,7 @@
 , gradle
 , perl
 , jre
+, libGL
 , libpulseaudio
 , makeDesktopItem
 , copyDesktopItems
@@ -104,7 +105,7 @@ in stdenv.mkDerivation (cleanAttrs // {
     install -Dm644 desktop/build/libs/desktop-*.jar $out/share/${pname}.jar
     mkdir $out/bin
     makeWrapper ${jre}/bin/java $out/bin/${pname} \
-      --prefix LD_LIBRARY_PATH : ${libpulseaudio}/lib \
+      --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ libGL libpulseaudio ]} \
       --add-flags "-jar $out/share/${pname}.jar"
 
     for s in 16 32 48 64 128 256; do
diff --git a/pkgs/games/warzone2100/default.nix b/pkgs/games/warzone2100/default.nix
index 5dc2f6d4b8bb4..efcc5c4c640fa 100644
--- a/pkgs/games/warzone2100/default.nix
+++ b/pkgs/games/warzone2100/default.nix
@@ -49,7 +49,7 @@ stdenv.mkDerivation rec {
   version  = "4.4.1";
 
   src = fetchurl {
-    url = "mirror://sourceforge/${pname}/releases/${version}/${pname}_src.tar.xz";
+    url = "mirror://sourceforge/project/warzone2100/releases/${version}/warzone2100_src.tar.xz";
     hash = "sha256-8vbwO4PXEOyZqGiSz1yqhe8jfe4E4iv908mc+8xuH8I=";
   };
 
diff --git a/pkgs/os-specific/linux/firmware/linux-firmware/source.nix b/pkgs/os-specific/linux/firmware/linux-firmware/source.nix
index afe371a8887bd..ba042fc8b52fc 100644
--- a/pkgs/os-specific/linux/firmware/linux-firmware/source.nix
+++ b/pkgs/os-specific/linux/firmware/linux-firmware/source.nix
@@ -1,6 +1,7 @@
+# This file is autogenerated! Run ./update.sh to regenerate.
 {
-  version = "20231111";
-  revision = "20231111";
-  sourceHash = "sha256-S9Xkj2CbamHxqjTDfqRJu91MNrSntxrQ7HYyhvdH6Jo=";
-  outputHash = "sha256-Qrz9fSHUQf0Gl8pfol4yfe95sD8DQV/+riT1NCFussQ=";
+  version = "20231211";
+  revision = "20231211";
+  sourceHash = "sha256-urJog0DDrJVZWsUpE4MHEQpcz7LB2vGJCcpPJKTko6k=";
+  outputHash = "sha256-slA0gfGR2a7002Kd46blHb9UNnMhMgaHxP91XWm8gOk=";
 }
diff --git a/pkgs/servers/ariang/default.nix b/pkgs/servers/ariang/default.nix
index bb0058833e4f7..fc2618ab058ee 100644
--- a/pkgs/servers/ariang/default.nix
+++ b/pkgs/servers/ariang/default.nix
@@ -7,16 +7,16 @@
 
 buildNpmPackage rec {
   pname = "ariang";
-  version = "1.3.6";
+  version = "1.3.7";
 
   src = fetchFromGitHub {
     owner = "mayswind";
     repo = "AriaNg";
     rev = version;
-    hash = "sha256-+wwtBEZgU83FNQ5f9oQh5G4RQdCODzoqcV1XfwWKUKg=";
+    hash = "sha256-p9EwlmI/xO3dX5ZpbDVVxajQySGYcJj5G57F84zYAD0=";
   };
 
-  npmDepsHash = "sha256-KfzD8g6eAWvNjrGaVNt5x4I9o2E273S02o4nkn7BFSs=";
+  npmDepsHash = "sha256-xX8hD303CWlpsYoCfwHWgOuEFSp1A+M1S53H+4pyAUQ=";
 
   makeCacheWritable = true;
 
diff --git a/pkgs/servers/clickhouse/default.nix b/pkgs/servers/clickhouse/default.nix
index 19a0b5e923408..629842669388e 100644
--- a/pkgs/servers/clickhouse/default.nix
+++ b/pkgs/servers/clickhouse/default.nix
@@ -28,7 +28,7 @@ let
     else llvmPackages.stdenv).mkDerivation;
 in mkDerivation rec {
   pname = "clickhouse";
-  version = "23.10.3.5";
+  version = "23.11.1.2711";
 
   src = fetchFromGitHub rec {
     owner = "ClickHouse";
@@ -36,7 +36,7 @@ in mkDerivation rec {
     rev = "v${version}-stable";
     fetchSubmodules = true;
     name = "clickhouse-${rev}.tar.gz";
-    hash = "sha256-H3nIhBydLBxSesGrvqmwHmBoQGCGQlWgVVUudKLLkIY=";
+    hash = "sha256-xRg9NzUkjTbR2Lp6DgDzcUp2Hrc4sfgkot7KxPw2Uy8=";
     postFetch = ''
       # delete files that make the source too big
       rm -rf $out/contrib/llvm-project/llvm/test
@@ -61,6 +61,20 @@ in mkDerivation rec {
     '';
   };
 
+  patches = [
+    # They updated the Cargo.toml without updating the Cargo.lock :/
+    (fetchpatch {
+      url = "https://github.com/ClickHouse/ClickHouse/commit/bccd33932b5fe17ced2dc2f27813da0b1c034afa.patch";
+      revert = true;
+      hash = "sha256-4idwr+G8WGuT/VILKtDIJIvbCvi6pZokJFze4dP6ExE=";
+    })
+    (fetchpatch {
+      url = "https://github.com/ClickHouse/ClickHouse/commit/b6bd5ecb199ef8a10e3008a4ea3d96087db8a8c1.patch";
+      revert = true;
+      hash = "sha256-nbb/GV2qWEZ+BEfT6/9//yZf4VWdhOdJCI3PLeh6o0M=";
+    })
+  ];
+
   strictDeps = true;
   nativeBuildInputs = [
     cmake
diff --git a/pkgs/servers/dns/nsd/default.nix b/pkgs/servers/dns/nsd/default.nix
index aa995a9f4843e..1f82bde0384c2 100644
--- a/pkgs/servers/dns/nsd/default.nix
+++ b/pkgs/servers/dns/nsd/default.nix
@@ -16,11 +16,11 @@
 
 stdenv.mkDerivation rec {
   pname = "nsd";
-  version = "4.7.0";
+  version = "4.8.0";
 
   src = fetchurl {
     url = "https://www.nlnetlabs.nl/downloads/${pname}/${pname}-${version}.tar.gz";
-    sha256 = "sha256-j6ykTima0pFfoACIerFjJjHqaHCcYs418RC/5yHs8hQ=";
+    sha256 = "sha256-gg2k44RyGRX0vK9/K+2YUZ2lY8bkwTDHQsckdg7AKgo=";
   };
 
   prePatch = ''
diff --git a/pkgs/servers/homepage-dashboard/default.nix b/pkgs/servers/homepage-dashboard/default.nix
index 39ff152d62c64..771ad1c0754b3 100644
--- a/pkgs/servers/homepage-dashboard/default.nix
+++ b/pkgs/servers/homepage-dashboard/default.nix
@@ -13,13 +13,13 @@
 
 buildNpmPackage rec {
   pname = "homepage-dashboard";
-  version = "0.8.2";
+  version = "0.8.3";
 
   src = fetchFromGitHub {
     owner = "gethomepage";
     repo = "homepage";
     rev = "v${version}";
-    hash = "sha256-JhvtGkg59vt4GIkpRnf3ipgenUoki7iM43GFM51VmaI=";
+    hash = "sha256-I1WoEt824qk7vfaDHD1zIXo4/QbihK5hoR3GbjxiO90=";
   };
 
   npmDepsHash = "sha256-tsAUPb7RFW7HSV1bS8ZBCL1xLEhvgvTZSDfS8DlcUgg=";
@@ -79,5 +79,6 @@ buildNpmPackage rec {
     license = lib.licenses.gpl3;
     maintainers = with lib.maintainers; [ jnsgruk ];
     platforms = lib.platforms.all;
+    broken = stdenv.isDarwin;
   };
 }
diff --git a/pkgs/servers/keycloak/default.nix b/pkgs/servers/keycloak/default.nix
index a9f2e8e239f11..ba4601d3b360b 100644
--- a/pkgs/servers/keycloak/default.nix
+++ b/pkgs/servers/keycloak/default.nix
@@ -18,11 +18,11 @@ let
   '';
 in stdenv.mkDerivation rec {
   pname = "keycloak";
-  version = "23.0.0";
+  version = "23.0.1";
 
   src = fetchzip {
     url = "https://github.com/keycloak/keycloak/releases/download/${version}/keycloak-${version}.zip";
-    hash = "sha256-PlOlrWWIBE4wdGp6yVBYj4Ju1QRd/aCMrSv8+LffvFo=";
+    hash = "sha256-N3lkJgy0DrHxiKCIYyAI9VOrwnd5au9mXIdZt46mT0s=";
   };
 
   nativeBuildInputs = [ makeWrapper jre ];
diff --git a/pkgs/servers/matrix-appservice-discord/default.nix b/pkgs/servers/matrix-appservice-discord/default.nix
index b1d14319638d9..605df82b5771d 100644
--- a/pkgs/servers/matrix-appservice-discord/default.nix
+++ b/pkgs/servers/matrix-appservice-discord/default.nix
@@ -103,5 +103,6 @@ in mkYarnPackage rec {
     license = lib.licenses.asl20;
     maintainers = with lib.maintainers; [ pacien ];
     platforms = lib.platforms.linux;
+    mainProgram = "matrix-appservice-discord";
   };
 }
diff --git a/pkgs/servers/mobilizon/cacerts_get.patch b/pkgs/servers/mobilizon/cacerts_get.patch
deleted file mode 100644
index 6fb8aed11f95a..0000000000000
--- a/pkgs/servers/mobilizon/cacerts_get.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-diff --git a/config/config.exs b/config/config.exs
-index d75b2e10a..d46ebffd2 100644
---- a/config/config.exs
-+++ b/config/config.exs
-@@ -128,7 +128,9 @@ config :mobilizon, Mobilizon.Web.Email.Mailer,
-   tls_options: [
-     verify: :verify_peer,
-     versions: [:"tlsv1.2", :"tlsv1.3"],
--    cacerts: :public_key.cacerts_get(),
-+    cacerts: if System.get_env("SSL_CERT_FILE") != nil and :public_key.cacerts_load(System.get_env("SSL_CERT_FILE")) == :ok do
-+        :public_key.cacerts_get()
-+      end,
-     server_name_indication: ~c"localhost",
-     depth: 99
-   ],
-
diff --git a/pkgs/servers/mobilizon/common.nix b/pkgs/servers/mobilizon/common.nix
index 33075646c6753..4a97ae7bfa1d1 100644
--- a/pkgs/servers/mobilizon/common.nix
+++ b/pkgs/servers/mobilizon/common.nix
@@ -1,19 +1,13 @@
-{ fetchFromGitLab, applyPatches }: rec {
+{ fetchFromGitLab }: rec {
 
   pname = "mobilizon";
-  version = "4.0.0";
+  version = "4.0.2";
 
-  src = applyPatches {
-    src = fetchFromGitLab {
-      domain = "framagit.org";
-      owner = "framasoft";
-      repo = pname;
-      rev = version;
-      sha256 = "sha256-PslcIS+HjGTx8UYhb7BG2OgLXfIWHDouuiogA/rq/7M=";
-    };
-    patches = [
-      # See https://framagit.org/framasoft/mobilizon/-/merge_requests/1452
-      ./cacerts_get.patch
-    ];
+  src = fetchFromGitLab {
+    domain = "framagit.org";
+    owner = "framasoft";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-Ri1qCiQaKlSTSSGWHzFqYBCoTEMtOtwe0Kli466dv4M=";
   };
 }
diff --git a/pkgs/servers/mobilizon/mix.nix b/pkgs/servers/mobilizon/mix.nix
index a21b75926ce58..60d212d7fa072 100644
--- a/pkgs/servers/mobilizon/mix.nix
+++ b/pkgs/servers/mobilizon/mix.nix
@@ -1789,6 +1789,19 @@ let
       beamDeps = [ combine gettext tzdata ];
     };
 
+    tls_certificate_check = buildRebar3 rec {
+      name = "tls_certificate_check";
+      version = "1.20.0";
+
+      src = fetchHex {
+        pkg = "tls_certificate_check";
+        version = "${version}";
+        sha256 = "ab57b74b1a63dc5775650699a3ec032ec0065005eff1f020818742b7312a8426";
+      };
+
+      beamDeps = [ ssl_verify_fun ];
+    };
+
     tz_world = buildMix rec {
       name = "tz_world";
       version = "1.3.1";
diff --git a/pkgs/servers/monitoring/loki/default.nix b/pkgs/servers/monitoring/loki/default.nix
index 72ffed83f37c6..325909ad6686c 100644
--- a/pkgs/servers/monitoring/loki/default.nix
+++ b/pkgs/servers/monitoring/loki/default.nix
@@ -8,14 +8,14 @@
 }:
 
 buildGoModule rec {
-  version = "2.9.2";
+  version = "2.9.3";
   pname = "grafana-loki";
 
   src = fetchFromGitHub {
     owner = "grafana";
     repo = "loki";
     rev = "v${version}";
-    hash = "sha256-CYF0cse8NyHEnSZPRI9LNI09vr7kWPXHNibiEbW484E=";
+    hash = "sha256-9EUlznnZczgHXUy784830FvUS6OwaFf7FmUJGeWeXP0=";
   };
 
   vendorHash = null;
diff --git a/pkgs/servers/monitoring/prometheus/default.nix b/pkgs/servers/monitoring/prometheus/default.nix
index b24c86cefb306..76a0155e7dfd2 100644
--- a/pkgs/servers/monitoring/prometheus/default.nix
+++ b/pkgs/servers/monitoring/prometheus/default.nix
@@ -31,10 +31,10 @@
 }:
 
 let
-  version = "2.48.0";
+  version = "2.48.1";
   webUiStatic = fetchurl {
     url = "https://github.com/prometheus/prometheus/releases/download/v${version}/prometheus-web-ui-${version}.tar.gz";
-    hash = "sha256-B7BXjzTbIEEOYxgy0uvnbHPMV8WD9sRAW9yQd0h6vVc=";
+    hash = "sha256-8by9sz0EtiVuyoXR32h4++Fy01CyO8DfcsqPK3pSWHc=";
   };
 in
 buildGoModule rec {
@@ -47,7 +47,7 @@ buildGoModule rec {
     owner = "prometheus";
     repo = "prometheus";
     rev = "v${version}";
-    hash = "sha256-4mQcfYk+DwhVADVQ1JuNn4ZDq2xDyzcDZHMozFrSLyo=";
+    hash = "sha256-9vdbjqmIaomg0acWguWELIxmEZ9jVXYvFlAF+Uo3dMw=";
   };
 
   vendorHash = "sha256-OHTmAfhN+aPOJAIweW+GuvN2lNn2A+JeVU8chT1hqLU=";
diff --git a/pkgs/servers/nosql/questdb/default.nix b/pkgs/servers/nosql/questdb/default.nix
index a9b5aa97a64ea..688d2867a8fdc 100644
--- a/pkgs/servers/nosql/questdb/default.nix
+++ b/pkgs/servers/nosql/questdb/default.nix
@@ -8,11 +8,11 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "questdb";
-  version = "7.3.4";
+  version = "7.3.7";
 
   src = fetchurl {
     url = "https://github.com/questdb/questdb/releases/download/${finalAttrs.version}/questdb-${finalAttrs.version}-no-jre-bin.tar.gz";
-    hash = "sha256-Y3ymL0THOXfNbEDZhXjLtjWnM5bODDSNgSzpTYL2Qsc=";
+    hash = "sha256-RvEYnPllmK7ZFJ5l4cmnVrRYr/EFpu5wSqsGzR2Y2K4=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/servers/pocketbase/default.nix b/pkgs/servers/pocketbase/default.nix
index 56287e66bbb6d..8e24c465fa62d 100644
--- a/pkgs/servers/pocketbase/default.nix
+++ b/pkgs/servers/pocketbase/default.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "pocketbase";
-  version = "0.19.4";
+  version = "0.20.0";
 
   src = fetchFromGitHub {
     owner = "pocketbase";
     repo = "pocketbase";
     rev = "v${version}";
-    hash = "sha256-P8EbVw+BWz5lHZiK7T+Z/VQ3MTzPdJaBvmJKSNQyxgY=";
+    hash = "sha256-bVquPokjZn260Xs1EqSRGQY7+gr/qLwVtZkKT8Lc1DM=";
   };
 
-  vendorHash = "sha256-iONh/X5x4C76OXIl/+CdmmWZ8rLIfk/IHQf4JKUR2xs=";
+  vendorHash = "sha256-Y70GNXThSZdG+28/ZQgxXhyZWAtMu0OM97Yhmo0Eigc=";
 
   # This is the released subpackage from upstream repo
   subPackages = [ "examples/base" ];
diff --git a/pkgs/servers/rmfakecloud/default.nix b/pkgs/servers/rmfakecloud/default.nix
index ada0ba0f03cfc..46a6e4723a594 100644
--- a/pkgs/servers/rmfakecloud/default.nix
+++ b/pkgs/servers/rmfakecloud/default.nix
@@ -31,5 +31,6 @@ buildGoModule rec {
     homepage = "https://ddvk.github.io/rmfakecloud/";
     license = licenses.agpl3Only;
     maintainers = with maintainers; [ pacien martinetd ];
+    mainProgram = "rmfakecloud";
   };
 }
diff --git a/pkgs/servers/squid/default.nix b/pkgs/servers/squid/default.nix
index 5205115f83494..5968c7e1e340b 100644
--- a/pkgs/servers/squid/default.nix
+++ b/pkgs/servers/squid/default.nix
@@ -3,13 +3,13 @@
 , cppunit
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "squid";
-  version = "5.9";
+  version = "6.6";
 
   src = fetchurl {
-    url = "http://www.squid-cache.org/Versions/v5/${pname}-${version}.tar.xz";
-    hash = "sha256-P+XCAH2idXRGr5G275dPFUsggSCpo5OW6mgeXEq7BLU=";
+    url = "http://www.squid-cache.org/Versions/v6/${finalAttrs.pname}-${finalAttrs.version}.tar.xz";
+    hash = "sha256-Vb1/n0iYFTFh6hIomYrLVRv4QIMrnluQ/I7NKUJCAxg=";
   };
 
   nativeBuildInputs = [ pkg-config ];
@@ -57,4 +57,4 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ raskin ];
     knownVulnerabilities = [ "Squid has multiple unresolved security vulnerabilities, for more information see https://megamansec.github.io/Squid-Security-Audit/" ];
   };
-}
+})
diff --git a/pkgs/servers/web-apps/moodle/default.nix b/pkgs/servers/web-apps/moodle/default.nix
index 293a0a0c72598..4bec37ec655dc 100644
--- a/pkgs/servers/web-apps/moodle/default.nix
+++ b/pkgs/servers/web-apps/moodle/default.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, fetchurl, writeText, plugins ? [ ], nixosTests }:
 
 let
-  version = "4.3";
+  version = "4.3.1";
 
   versionParts = lib.take 2 (lib.splitVersion version);
   # 4.2 -> 402, 3.11 -> 311
@@ -15,7 +15,7 @@ in stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://download.moodle.org/download.php/direct/stable${stableVersion}/${pname}-${version}.tgz";
-    hash = "sha256-zLBFUyadpsqGeEhBCPrh3KKWn6f3zCy64YxTBMLIGsk=";
+    hash = "sha256-4AFKD6lIir8VGgS+ZTifFHHrjtraxZlp6X143W9eEkM=";
   };
 
   phpConfig = writeText "config.php" ''
diff --git a/pkgs/servers/web-apps/pict-rs/default.nix b/pkgs/servers/web-apps/pict-rs/default.nix
index c2acf17036748..0b87441ca208e 100644
--- a/pkgs/servers/web-apps/pict-rs/default.nix
+++ b/pkgs/servers/web-apps/pict-rs/default.nix
@@ -13,17 +13,17 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "pict-rs";
-  version = "0.4.5";
+  version = "0.4.6";
 
   src = fetchFromGitea {
     domain = "git.asonix.dog";
     owner = "asonix";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-kCWzje3tGfSn3gSdS4AFsoWFOLV9DhWKmzJltZs1KqY=";
+    sha256 = "sha256-nFfGyOxzJZ2U/1FpY64BorRd5yncipsaBbr/TsYnmjM=";
   };
 
-  cargoHash = "sha256-PiKkCiMNMbgBN8qJvzHnZBC782uKsS9aGyKEzG0cEec=";
+  cargoHash = "sha256-11TyKs+JQiKBzFzGJe5sOllbPVEhchZrsryZp6L2JFo=";
 
   # needed for internal protobuf c wrapper library
   PROTOC = "${protobuf}/bin/protoc";
diff --git a/pkgs/stdenv/generic/check-meta.nix b/pkgs/stdenv/generic/check-meta.nix
index f2d9233b6fddf..62a6cd8ef02e9 100644
--- a/pkgs/stdenv/generic/check-meta.nix
+++ b/pkgs/stdenv/generic/check-meta.nix
@@ -22,11 +22,15 @@ let
     optionals
     remove
     unknownModule
+    isAttrs
+    isString
   ;
 
   inherit (lib.lists)
     any
     toList
+    isList
+    elem
   ;
 
   # If we're in hydra, we can dispense with the more verbose error
@@ -59,11 +63,15 @@ let
   hasLicense = attrs:
     attrs ? meta.license;
 
-  hasAllowlistedLicense = assert areLicenseListsValid; attrs:
-    hasLicense attrs && any (l: builtins.elem l allowlist) (toList attrs.meta.license);
+  hasListedLicense = assert areLicenseListsValid; list: attrs:
+    length list > 0 && hasLicense attrs && (
+      if isList attrs.meta.license then any (l: elem l list) attrs.meta.license
+      else elem attrs.meta.license list
+    );
 
-  hasBlocklistedLicense = assert areLicenseListsValid; attrs:
-    hasLicense attrs && any (l: builtins.elem l blocklist) (toList attrs.meta.license);
+  hasAllowlistedLicense = attrs: hasListedLicense allowlist attrs;
+
+  hasBlocklistedLicense = attrs: hasListedLicense blocklist attrs;
 
   allowBroken = config.allowBroken
     || builtins.getEnv "NIXPKGS_ALLOW_BROKEN" == "1";
@@ -71,11 +79,16 @@ let
   allowUnsupportedSystem = config.allowUnsupportedSystem
     || builtins.getEnv "NIXPKGS_ALLOW_UNSUPPORTED_SYSTEM" == "1";
 
-  isUnfree = licenses: any (l: !l.free or true) licenses;
+  isUnfree = licenses:
+    if isAttrs licenses then !licenses.free or true
+    # TODO: Returning false in the case of a string is a bug that should be fixed.
+    # In a previous implementation of this function the function body
+    # was `licenses: lib.lists.any (l: !l.free or true) licenses;`
+    # which always evaluates to `!true` for strings.
+    else if isString licenses then false
+    else lib.lists.any (l: !l.free or true) licenses;
 
-  hasUnfreeLicense = attrs:
-    hasLicense attrs &&
-    isUnfree (toList attrs.meta.license);
+  hasUnfreeLicense = attrs: hasLicense attrs && isUnfree attrs.meta.license;
 
   hasNoMaintainers = attrs:
     attrs ? meta.maintainers && (length attrs.meta.maintainers) == 0;
@@ -479,16 +492,21 @@ let
 
   assertValidity = { meta, attrs }: let
       validity = checkValidity attrs;
-    in validity // {
+      inherit (validity) valid;
+  in validity // {
       # Throw an error if trying to evaluate a non-valid derivation
       # or, alternatively, just output a warning message.
       handled =
-        {
-          no = handleEvalIssue { inherit meta attrs; } { inherit (validity) reason errormsg; };
-          warn = handleEvalWarning { inherit meta attrs; } { inherit (validity) reason errormsg; };
-          yes = true;
-        }.${validity.valid};
-
+        (
+          if valid == "yes" then true
+          else if valid == "no" then (
+            handleEvalIssue { inherit meta attrs; } { inherit (validity) reason errormsg; }
+          )
+          else if valid == "warn" then (
+            handleEvalWarning { inherit meta attrs; } { inherit (validity) reason errormsg; }
+          )
+          else throw "Unknown validitiy: '${valid}'"
+        );
   };
 
 in { inherit assertValidity commonMeta; }
diff --git a/pkgs/tools/backup/zrepl/default.nix b/pkgs/tools/backup/zrepl/default.nix
index 0a45c8c2aef19..b0e0f75fe8c6d 100644
--- a/pkgs/tools/backup/zrepl/default.nix
+++ b/pkgs/tools/backup/zrepl/default.nix
@@ -45,5 +45,6 @@ buildGoModule rec {
     platforms = platforms.linux;
     license = licenses.mit;
     maintainers = with maintainers; [ cole-h danderson mdlayher ];
+    mainProgram = "zrepl";
   };
 }
diff --git a/pkgs/tools/compression/upx/default.nix b/pkgs/tools/compression/upx/default.nix
index 9af509100e009..6c22984b3641c 100644
--- a/pkgs/tools/compression/upx/default.nix
+++ b/pkgs/tools/compression/upx/default.nix
@@ -1,18 +1,29 @@
-{ lib, stdenv, fetchFromGitHub, cmake }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, nix-update-script
+, testers
+}:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "upx";
-  version = "4.2.0";
+  version = "4.2.1";
   src = fetchFromGitHub {
     owner = "upx";
-    repo = pname;
-    rev = "v${version}";
+    repo = "upx";
+    rev = "v${finalAttrs.version}";
     fetchSubmodules = true;
-    sha256 = "sha256-PRfIJSjmeXjbslqWnKrHUPdOJfZU08nr4wXoAnP9qm0=";
+    sha256 = "sha256-s4cZAb0rhCJrHI//IXLNYLhOzX1NRmN/t5IFgurwI30=";
   };
 
   nativeBuildInputs = [ cmake ];
 
+  passthru = {
+    updateScript = nix-update-script { };
+    tests.version = testers.testVersion { package = finalAttrs.finalPackage; };
+  };
+
   meta = with lib; {
     homepage = "https://upx.github.io/";
     description = "The Ultimate Packer for eXecutables";
@@ -20,4 +31,4 @@ stdenv.mkDerivation rec {
     platforms = platforms.unix;
     mainProgram = "upx";
   };
-}
+})
diff --git a/pkgs/tools/misc/bogofilter/default.nix b/pkgs/tools/misc/bogofilter/default.nix
index 0446a58efbc45..df78108e43e20 100644
--- a/pkgs/tools/misc/bogofilter/default.nix
+++ b/pkgs/tools/misc/bogofilter/default.nix
@@ -1,21 +1,31 @@
-{fetchurl, lib, stdenv, flex, db}:
+{ lib
+, stdenv
+, fetchurl
+, flex
+, db
+, makeWrapper
+, pax
+}:
 
 stdenv.mkDerivation rec {
   pname = "bogofilter";
-  version = "1.2.4";
+  version = "1.2.5";
 
   src = fetchurl {
-    url = "mirror://sourceforge/bogofilter/bogofilter-${version}.tar.bz2";
-    sha256 = "1d56n2m9inm8gnzm88aa27xl2a7sp7aff3484vmflpqkinjqf0p1";
+    url = "mirror://sourceforge/bogofilter/bogofilter-${version}.tar.xz";
+    hash = "sha256-MkihNzv/VSxQCDStvqS2yu4EIkUWrlgfslpMam3uieo=";
   };
 
-  # FIXME: We would need `pax' as a "propagated build input" (for use
-  # by the `bf_tar' script) but we don't have it currently.
+  nativeBuildInputs = [ makeWrapper ];
 
   buildInputs = [ flex db ];
 
   doCheck = false; # needs "y" tool
 
+  postInstall = ''
+    wrapProgram "$out/bin/bf_tar" --prefix PATH : "${lib.makeBinPath [ pax ]}"
+  '';
+
   meta = {
     homepage = "http://bogofilter.sourceforge.net/";
     longDescription = ''
diff --git a/pkgs/tools/misc/broot/default.nix b/pkgs/tools/misc/broot/default.nix
index afa31e2feaf13..a540a0c7d495c 100644
--- a/pkgs/tools/misc/broot/default.nix
+++ b/pkgs/tools/misc/broot/default.nix
@@ -17,16 +17,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "broot";
-  version = "1.29.0";
+  version = "1.30.0";
 
   src = fetchFromGitHub {
     owner = "Canop";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-Wx+hUm0y7w0+IYtaRE5X/5Ra37mMEMEliYFbl7c03Ww=";
+    hash = "sha256-2uHsmxD0pn39DvESdVzm0qHEvpmMpE2GD1R3p7XMJEI=";
   };
 
-  cargoHash = "sha256-7B5Uxr1SsAx+mRpvQPSW7pemxp11WngEIK6vF2cbzh4=";
+  cargoHash = "sha256-3UW1zSklxi4Ot3h7N8sEevYJMQydkxW9lPcfUouDSy8=";
 
   nativeBuildInputs = [
     installShellFiles
diff --git a/pkgs/tools/misc/rtx/default.nix b/pkgs/tools/misc/rtx/default.nix
index 51cba8e4b3758..80469864d361f 100644
--- a/pkgs/tools/misc/rtx/default.nix
+++ b/pkgs/tools/misc/rtx/default.nix
@@ -15,16 +15,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "rtx";
-  version = "2023.11.2";
+  version = "2023.12.18";
 
   src = fetchFromGitHub {
     owner = "jdx";
     repo = "rtx";
     rev = "v${version}";
-    hash = "sha256-OdqHyxqufJJTfP7frjLKf5R0WNySDyZc7Sh0Mpdord0=";
+    hash = "sha256-RjILdhH0Gg9VRvyVFukUrreYHnwtC+5MfXT+v4cT7/Y=";
   };
 
-  cargoHash = "sha256-KOte3zmJllrMp6OaKuFtUsRjdRKlSAxdJp1iJEOPcF0=";
+  cargoHash = "sha256-1/Te4JfPDE0gbMysnQbF2SH/oMq+b3fyVgIHaQx1m5E=";
 
   nativeBuildInputs = [ installShellFiles pkg-config ];
   buildInputs = [ openssl  ] ++ lib.optionals stdenv.isDarwin [ Security SystemConfiguration ];
diff --git a/pkgs/tools/misc/vtm/default.nix b/pkgs/tools/misc/vtm/default.nix
index ee7b301df8615..47a78ea41ef64 100644
--- a/pkgs/tools/misc/vtm/default.nix
+++ b/pkgs/tools/misc/vtm/default.nix
@@ -4,27 +4,29 @@
 , cmake
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "vtm";
-  version = "0.9.16";
+  version = "0.9.27";
 
   src = fetchFromGitHub {
     owner = "netxs-group";
     repo = "vtm";
-    rev = "v${version}";
-    sha256 = "sha256-nX7T3TAGgxAB65X8D2HlI+3T6p7aH3bwG3N1pScX/4g=";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-BiXKwFZDi0boE1kCqbIn6uFjQ/oliyNbqmamyAwnqdM=";
   };
 
-  nativeBuildInputs = [ cmake ];
+  nativeBuildInputs = [
+    cmake
+  ];
 
   cmakeFlags = [ "../src" ];
 
-  meta = with lib; {
+  meta = {
     description = "Terminal multiplexer with window manager and session sharing";
     homepage = "https://vtm.netxs.online/";
-    license = licenses.mit;
-    platforms = platforms.all;
-    maintainers = with maintainers; [ ahuzik ];
+    license = lib.licenses.mit;
     mainProgram = "vtm";
+    maintainers = with lib.maintainers; [ ahuzik ];
+    platforms = lib.platforms.all;
   };
-}
+})
diff --git a/pkgs/tools/networking/davix/default.nix b/pkgs/tools/networking/davix/default.nix
index 68a9a8c19ff28..159fd0f154104 100644
--- a/pkgs/tools/networking/davix/default.nix
+++ b/pkgs/tools/networking/davix/default.nix
@@ -26,7 +26,7 @@ let
   boolToUpper = b: lib.toUpper (lib.boolToString b);
 in
 stdenv.mkDerivation rec {
-  version = "0.8.4";
+  version = "0.8.5";
   pname = "davix" + lib.optionalString enableThirdPartyCopy "-copy";
   nativeBuildInputs = [ cmake pkg-config python3 ];
   buildInputs = [
@@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
   # https://github.com/cern-fts/davix/releases/tag/R_0_8_0
   src = fetchurl {
     url = "https://github.com/cern-fts/davix/releases/download/R_${lib.replaceStrings ["."] ["_"] version}/davix-${version}.tar.gz";
-    sha256 = "sha256-UZ1W90bobqP9YVvEnlWbUg3wfgUeHKPYwJIGeVjzsrc=";
+    sha256 = "sha256-+c4hvMLtJI94JQWdF1d4dmFiWMNRd9dPrY+FSoGKh/k=";
   };
 
   preConfigure = ''
diff --git a/pkgs/tools/networking/nebula/default.nix b/pkgs/tools/networking/nebula/default.nix
index 4147adf50749b..1f474fccfd317 100644
--- a/pkgs/tools/networking/nebula/default.nix
+++ b/pkgs/tools/networking/nebula/default.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "nebula";
-  version = "1.7.2";
+  version = "1.8.0";
 
   src = fetchFromGitHub {
     owner = "slackhq";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-/kEXrcMFnrnnD+6754EDoOvn4czh0rJGEjlXkmCzb1w=";
+    hash = "sha256-9WlccDDTChw3N+alN9l3ABLBywBLMoxDUyDgtNkXsTg=";
   };
 
-  vendorHash = "sha256-VZzSdl8R1y7rCF2vz7e+5nAkb3wlJymNWCXwZZUvg4A=";
+  vendorHash = "sha256-QeRmIgN0UuX6CYopTS2IUwduEHn9NIhHsdPQN//eK2Y=";
 
   subPackages = [ "cmd/nebula" "cmd/nebula-cert" ];
 
diff --git a/pkgs/tools/networking/ratman/default.nix b/pkgs/tools/networking/ratman/default.nix
index ce017731bd4af..a78840095d880 100644
--- a/pkgs/tools/networking/ratman/default.nix
+++ b/pkgs/tools/networking/ratman/default.nix
@@ -6,7 +6,7 @@
 , protobuf
 , rustPlatform
 , fetchYarnDeps
-, fixup_yarn_lock
+, prefetch-yarn-deps
 , stdenv
 , yarn
 , nodejs
@@ -49,7 +49,7 @@ rustPlatform.buildRustPackage rec {
       sha256 = "sha256-pWjKL41r/bTvWv+5qCgCFVL9+o64BiV2/ISdLeKEOqE=";
     };
 
-    nativeBuildInputs = [ yarn nodejs ];
+    nativeBuildInputs = [ yarn nodejs prefetch-yarn-deps ];
 
     outputs = [ "out" "dist" ];
 
@@ -61,7 +61,7 @@ rustPlatform.buildRustPackage rec {
       yarn config --offline set yarn-offline-mirror ${yarnDeps}
 
       # Fixup "resolved"-entries in yarn.lock to match our offline cache
-      ${fixup_yarn_lock}/bin/fixup_yarn_lock yarn.lock
+      fixup-yarn-lock yarn.lock
 
       yarn install --offline --frozen-lockfile --ignore-scripts --no-progress --non-interactive
 
diff --git a/pkgs/tools/networking/subnetcalc/default.nix b/pkgs/tools/networking/subnetcalc/default.nix
index b5aa064f73909..e2d74a586d81a 100644
--- a/pkgs/tools/networking/subnetcalc/default.nix
+++ b/pkgs/tools/networking/subnetcalc/default.nix
@@ -1,20 +1,30 @@
-{ lib, stdenv, fetchFromGitHub, cmake, ninja }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, ninja
+}:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "subnetcalc";
-  version = "2.4.22";
+  version = "2.4.23";
 
   src = fetchFromGitHub {
     owner = "dreibh";
-    repo = pname;
-    rev = "${pname}-${version}";
-    sha256 = "sha256-5sDEMS4RgHdGQZAT2MVF/Ls0KXwdKzX+05uQpHhCZn8=";
+    repo = "subnetcalc";
+    rev = "subnetcalc-${finalAttrs.version}";
+    hash = "sha256-uX/roOWjeuuuEFpBbF+hEPDOo0RTR79WpyNvr9U7wR4=";
   };
 
-  nativeBuildInputs = [ cmake ninja ];
+  nativeBuildInputs = [
+    cmake
+    ninja
+  ];
 
-  meta = with lib; {
+  meta = {
     description = "SubNetCalc is an IPv4/IPv6 subnet address calculator";
+    homepage = "https://www.uni-due.de/~be0001/subnetcalc/";
+    license = lib.licenses.gpl3Plus;
     longDescription = ''
       SubNetCalc is an IPv4/IPv6 subnet address calculator. For given IPv4 or
       IPv6 address and netmask or prefix length, it calculates network address,
@@ -23,9 +33,8 @@ stdenv.mkDerivation rec {
       Furthermore, it prints useful information on specific address types (e.g.
       type, scope, interface ID, etc.).
     '';
-    homepage = "https://www.uni-due.de/~be0001/subnetcalc/";
-    license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ atila ];
-    platforms = platforms.unix;
+    mainProgram = "subnetcalc";
+    maintainers = with lib.maintainers; [ atila ];
+    platforms = lib.platforms.unix;
   };
-}
+})
diff --git a/pkgs/tools/networking/xray/default.nix b/pkgs/tools/networking/xray/default.nix
index 6d810aaee62e5..bb317055dc041 100644
--- a/pkgs/tools/networking/xray/default.nix
+++ b/pkgs/tools/networking/xray/default.nix
@@ -11,16 +11,16 @@
 
 buildGoModule rec {
   pname = "xray";
-  version = "1.8.4";
+  version = "1.8.6";
 
   src = fetchFromGitHub {
     owner = "XTLS";
     repo = "Xray-core";
     rev = "v${version}";
-    hash = "sha256-Hu0BP4BzoELRjJ8WdF3JS/ffxd3bpH+kauWqaMh/o1I=";
+    hash = "sha256-M1iu/93eOBIk9VxYKNJm/TPx9G35yO5SpcQm/lAJ1Q8=";
   };
 
-  vendorHash = "sha256-ihTOKtppOTYdulzwIwD8oWaS2OPs+QCdqPTvqucw7xY=";
+  vendorHash = "sha256-zLnYjZmrsWd/WwtkkLiA8Eoh7aDJz+TsvK0yvIrSr8c=";
 
   nativeBuildInputs = [ makeWrapper ];
 
diff --git a/pkgs/tools/networking/zrok/default.nix b/pkgs/tools/networking/zrok/default.nix
index 7b49b4a26b973..74fb313d9fc7d 100644
--- a/pkgs/tools/networking/zrok/default.nix
+++ b/pkgs/tools/networking/zrok/default.nix
@@ -1,4 +1,7 @@
-{ lib, stdenv, fetchzip }:
+{ lib
+, stdenv
+, fetchzip
+}:
 
 let
   inherit (stdenv.hostPlatform) system;
@@ -10,20 +13,20 @@ let
     armv7l-linux = "linux_armv7";
   }.${system} or throwSystem;
 
-  sha256 = {
-    x86_64-linux = "sha256-6oYZY1Ry4U/nR99DNsr7ZqTd/AAot+yrOHY75UXEuWY=";
-    aarch64-linux = "sha256-/XAv/ptvUsWLF/iIOiqm/PoCLhVTL3Cnmd0YdqLBthk=";
-    armv7l-linux = "sha256-CbtzY2q7HnqCcolTFyTphWbHN/VdSt/rs8q3tjHHNqc=";
+  hash = {
+    x86_64-linux = "sha256-vAX7vx13eHyPuDe4q5b8dQD90l5bbnncMGlXnegumxM=";
+    aarch64-linux = "sha256-6x/E0uAPFOsuoJ/ePLV483M07Rqj5pkcpETOVq9RXKU=";
+    armv7l-linux = "sha256-UlpqoKfjyGLNKvSrXqqsiiq/wTlfmBmPfynDoFT/nuQ=";
   }.${system} or throwSystem;
 in
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "zrok";
-  version = "0.4.15";
+  version = "0.4.18";
 
   src = fetchzip {
-    url = "https://github.com/openziti/zrok/releases/download/v${version}/zrok_${version}_${plat}.tar.gz";
+    url = "https://github.com/openziti/zrok/releases/download/v${finalAttrs.version}/zrok_${finalAttrs.version}_${plat}.tar.gz";
     stripRoot = false;
-    inherit sha256;
+    inherit hash;
   };
 
   updateScript = ./update.sh;
@@ -31,19 +34,23 @@ stdenv.mkDerivation rec {
   installPhase = let
     interpreter = "$(< \"$NIX_CC/nix-support/dynamic-linker\")";
   in ''
+    runHook preInstall
+
     mkdir -p $out/bin
     cp zrok $out/bin/
     chmod +x $out/bin/zrok
     patchelf --set-interpreter "${interpreter}" "$out/bin/zrok"
+
+    runHook postInstall
   '';
 
   meta = {
     description = "Geo-scale, next-generation sharing platform built on top of OpenZiti";
     homepage = "https://zrok.io";
+    license = lib.licenses.asl20;
+    mainProgram = "zrok";
     maintainers = [ lib.maintainers.bandresen ];
     platforms = [ "x86_64-linux" "aarch64-linux" "armv7l-linux" ];
     sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
-    license = lib.licenses.asl20;
   };
-
-}
+})
diff --git a/pkgs/tools/security/arti/default.nix b/pkgs/tools/security/arti/default.nix
index 8d198520d2637..47e5ded8581f5 100644
--- a/pkgs/tools/security/arti/default.nix
+++ b/pkgs/tools/security/arti/default.nix
@@ -10,7 +10,7 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "arti";
-  version = "1.1.10";
+  version = "1.1.11";
 
   src = fetchFromGitLab {
     domain = "gitlab.torproject.org";
@@ -18,10 +18,10 @@ rustPlatform.buildRustPackage rec {
     owner = "core";
     repo = "arti";
     rev = "arti-v${version}";
-    sha256 = "sha256-/O13n9YPY0RhSnSM9vJzLTXNuXT6iWrPo7S8EnnKIkw=";
+    sha256 = "sha256-4/qlO+/GY5/U+jEMCuinqAZPyqtBiyaJ4TGkz8JV5AI=";
   };
 
-  cargoHash = "sha256-LfqieUMWRL+86p0DyitxdfUGVwPtfhcwiwKYMqOZtdc=";
+  cargoHash = "sha256-NNf2iQyqZvBo6yVJo1Co67ivnILqfynjy5HCQxRJNKM=";
 
   nativeBuildInputs = lib.optionals stdenv.isLinux [ pkg-config ];
 
diff --git a/pkgs/tools/security/saml2aws/default.nix b/pkgs/tools/security/saml2aws/default.nix
index e6eff66bb60f8..a4246f3c4df40 100644
--- a/pkgs/tools/security/saml2aws/default.nix
+++ b/pkgs/tools/security/saml2aws/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "saml2aws";
-  version = "2.36.12";
+  version = "2.36.13";
 
   src = fetchFromGitHub {
     owner = "Versent";
     repo = "saml2aws";
     rev = "v${version}";
-    sha256 = "sha256-egsAUaGYe06hlPUE4J4acdrfMlDEY/8g0g9KPPJyMlI=";
+    sha256 = "sha256-cLH1GcMgTPnPJVpHOQkW71hf0MKusL8NRc1YQsNSW2I=";
   };
 
-  vendorHash = "sha256-hdt/XhxMuR6YlvY/Qu2AjY5F75YvYLlv0LfuMwJQkl4=";
+  vendorHash = "sha256-E3WYExtV4VsrBZ0uEQZ36CUCK+qf8LTPlNwcdO0eEzA=";
 
   buildInputs = lib.optionals stdenv.isDarwin [ AppKit ];
 
diff --git a/pkgs/tools/security/sigma-cli/default.nix b/pkgs/tools/security/sigma-cli/default.nix
index d0dc599edd8c1..817f459956433 100644
--- a/pkgs/tools/security/sigma-cli/default.nix
+++ b/pkgs/tools/security/sigma-cli/default.nix
@@ -5,14 +5,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "sigma-cli";
-  version = "0.7.10";
+  version = "0.7.11";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "SigmaHQ";
     repo = "sigma-cli";
     rev = "refs/tags/v${version}";
-    hash = "sha256-Sy9adkmR7Vu7kI75XG0PXihFogPaNwzHH2U5uSz9mZA=";
+    hash = "sha256-cNrI+YWwLK9sgvVYPOcTXW29omVRqnhh/458FuaoODo=";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/system/lshw/default.nix b/pkgs/tools/system/lshw/default.nix
index 9878f82b9d092..5a6318ea4c21a 100644
--- a/pkgs/tools/system/lshw/default.nix
+++ b/pkgs/tools/system/lshw/default.nix
@@ -37,6 +37,8 @@ stdenv.mkDerivation rec {
 
   buildFlags = [ "all" ] ++ lib.optional withGUI "gui";
 
+  hardeningDisable = lib.optionals stdenv.hostPlatform.isStatic [ "fortify" ];
+
   installTargets = [ "install" ] ++ lib.optional withGUI "install-gui";
 
   enableParallelBuilding = true;
diff --git a/pkgs/tools/text/colordiff/default.nix b/pkgs/tools/text/colordiff/default.nix
index 4146429e28397..69473bd2c6f6f 100644
--- a/pkgs/tools/text/colordiff/default.nix
+++ b/pkgs/tools/text/colordiff/default.nix
@@ -35,5 +35,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     platforms = platforms.unix;
     maintainers = with maintainers; [ SuperSandro2000 ];
+    mainProgram = "colordiff";
   };
 }
diff --git a/pkgs/tools/text/gtree/default.nix b/pkgs/tools/text/gtree/default.nix
index e151a1467446a..19f53e5f0e0a5 100644
--- a/pkgs/tools/text/gtree/default.nix
+++ b/pkgs/tools/text/gtree/default.nix
@@ -7,13 +7,13 @@
 
 buildGoModule rec {
   pname = "gtree";
-  version = "1.10.3";
+  version = "1.10.4";
 
   src = fetchFromGitHub {
     owner = "ddddddO";
     repo = "gtree";
     rev = "v${version}";
-    hash = "sha256-KFEYkhCLMcJ4NkHu0kkuG70EvJQ3HYDvicmomcMJZjc=";
+    hash = "sha256-2x84nPSXNPM6MtHa90rg9V5aQIplBDW4WTzRyYUqT8A=";
   };
 
   vendorHash = "sha256-rvVrVv73gW26UUy1MyxKDjUgX1mrMMii+l8qU2hLOek=";
diff --git a/pkgs/tools/video/swfmill/default.nix b/pkgs/tools/video/swfmill/default.nix
index c93534bf1a20b..8e6d0baf7e725 100644
--- a/pkgs/tools/video/swfmill/default.nix
+++ b/pkgs/tools/video/swfmill/default.nix
@@ -14,11 +14,14 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ libxslt freetype libpng libxml2 ];
 
+  # fatal error: 'libxml/xpath.h' file not found
+  env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.isDarwin "-I${libxml2.dev}/include/libxml2";
+
   meta = {
     description = "An xml2swf and swf2xml processor with import functionalities";
     homepage = "http://swfmill.org";
     license = lib.licenses.gpl2;
-    platforms = lib.platforms.linux;
+    platforms = lib.platforms.unix;
     mainProgram = "swfmill";
   };
 }
diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix
index b106dce9b6af9..1ca290d2d397f 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -862,6 +862,7 @@ mapAliases ({
   sdlmame = throw "'sdlmame' has been renamed to/replaced by 'mame'"; # Converted to throw 2023-09-10
   searx = throw "'searx' has been removed as it is unmaintained. Please switch to searxng"; # Added 2023-10-03
   session-desktop-appimage = session-desktop;
+  setupcfg2nix = throw "'setupcfg2nix' has been removed. Please switch to buildPythonPackage"; # Added 2023-12-12
   sequoia = sequoia-sq; # Added 2023-06-26
   sexp = sexpp; # Added 2023-07-03
   sget = throw "sget has been removed from nixpkgs, as it is not supported upstream anymore see https://github.com/sigstore/sget/issues/145"; # Added 2023-05-26
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index d9d15824e3e92..e744feaf6361e 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -1582,7 +1582,10 @@ with pkgs;
   };
   akkoma-frontends = recurseIntoAttrs {
     akkoma-fe = callPackage ../servers/akkoma/akkoma-fe { };
-    admin-fe = callPackage ../servers/akkoma/admin-fe { };
+    admin-fe = callPackage ../servers/akkoma/admin-fe {
+      nodejs = nodejs_18;
+      yarn = yarn.override { nodejs = nodejs_18; };
+    };
   };
   akkoma-emoji = recurseIntoAttrs {
     blobs_gg = callPackage ../servers/akkoma/emoji/blobs_gg.nix { };
@@ -3761,7 +3764,7 @@ with pkgs;
 
   dfmt = callPackage ../tools/text/dfmt { };
 
-  diopser = callPackage ../applications/audio/diopser { stdenv = gcc10StdenvCompat; };
+  diopser = callPackage ../applications/audio/diopser { };
 
   diskonaut = callPackage ../tools/misc/diskonaut { };
 
@@ -4818,8 +4821,6 @@ with pkgs;
 
   swaysome = callPackage ../tools/wayland/swaysome { };
 
-  swayimg = callPackage ../tools/wayland/swayimg { };
-
   swaytools = python3Packages.callPackage ../tools/wayland/swaytools { };
 
   swww = callPackage ../tools/wayland/swww { };
@@ -8331,8 +8332,6 @@ with pkgs;
 
   fontmatrix = libsForQt5.callPackage ../applications/graphics/fontmatrix { };
 
-  footswitch = callPackage ../tools/inputmethods/footswitch { };
-
   foremost = callPackage ../tools/system/foremost { };
 
   forktty = callPackage ../os-specific/linux/forktty { };
@@ -10684,7 +10683,7 @@ with pkgs;
 
   lokalise2-cli = callPackage ../tools/misc/lokalise2-cli { };
 
-  loki = callPackage ../development/libraries/loki { stdenv = gcc10StdenvCompat; };
+  loki = callPackage ../development/libraries/loki { };
 
   longview = callPackage ../servers/monitoring/longview { };
 
@@ -11588,7 +11587,7 @@ with pkgs;
 
   opencryptoki = callPackage ../tools/security/opencryptoki { };
 
-  opendbx = callPackage ../development/libraries/opendbx { stdenv = gcc10StdenvCompat; };
+  opendbx = callPackage ../development/libraries/opendbx { };
 
   opendht = callPackage ../development/libraries/opendht  {
     inherit (darwin.apple_sdk.frameworks) Security;
@@ -12182,9 +12181,7 @@ with pkgs;
     python = null;
   };
 
-  ploticus = callPackage ../tools/graphics/ploticus {
-    libpng = libpng12;
-  };
+  ploticus = callPackage ../tools/graphics/ploticus { };
 
   plotinus = callPackage ../tools/misc/plotinus { };
 
@@ -13217,7 +13214,8 @@ with pkgs;
 
   sigil = libsForQt5.callPackage ../applications/editors/sigil { };
 
-  signalbackup-tools = callPackage ../applications/networking/instant-messengers/signalbackup-tools { };
+  signalbackup-tools = darwin.apple_sdk_11_0.callPackage
+    ../applications/networking/instant-messengers/signalbackup-tools { };
 
   signald = callPackage ../applications/networking/instant-messengers/signald { };
 
@@ -17953,8 +17951,6 @@ with pkgs;
 
   pypi-mirror = callPackage ../development/tools/pypi-mirror { };
 
-  setupcfg2nix = python3Packages.callPackage ../development/tools/setupcfg2nix { };
-
   svg2tikz = with python3.pkgs; toPythonApplication svg2tikz;
 
   svg2pdf = callPackage ../tools/graphics/svg2pdf { };
@@ -20219,7 +20215,7 @@ with pkgs;
 
   c3c = callPackage ../development/compilers/c3c { };
 
-  swfmill = callPackage ../tools/video/swfmill { stdenv = gcc10StdenvCompat; };
+  swfmill = callPackage ../tools/video/swfmill { };
 
   swftools = callPackage ../tools/video/swftools {
     stdenv = gccStdenv;
@@ -20682,9 +20678,7 @@ with pkgs;
 
   belr = callPackage ../development/libraries/belr { };
 
-  bencode = callPackage ../development/libraries/bencode {
-    stdenv = gcc10StdenvCompat;
-  };
+  bencode = callPackage ../development/libraries/bencode { };
 
   bencodetools = callPackage ../development/libraries/bencodetools { };
 
@@ -20970,7 +20964,7 @@ with pkgs;
 
   ustream-ssl-mbedtls = callPackage ../development/libraries/ustream-ssl { ssl_implementation = mbedtls_2; };
 
-  uri = callPackage ../development/libraries/uri { stdenv = gcc10StdenvCompat; };
+  uri = callPackage ../development/libraries/uri { };
 
   cppcms = callPackage ../development/libraries/cppcms { };
 
@@ -24200,7 +24194,7 @@ with pkgs;
 
   nntp-proxy = callPackage ../applications/networking/nntp-proxy { };
 
-  non = callPackage ../applications/audio/non { stdenv = gcc10StdenvCompat; };
+  non = callPackage ../applications/audio/non { };
 
   ntl = callPackage ../development/libraries/ntl { };
 
@@ -24368,7 +24362,6 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks)
       AVFoundation Cocoa VideoDecodeAcceleration CoreMedia MediaToolbox Accelerate;
     pythonPackages = python3Packages;
-    ffmpeg = ffmpeg_4;
   };
 
   opencv4WithoutCuda = opencv4.override {
@@ -25210,8 +25203,6 @@ with pkgs;
 
   spice-up = callPackage ../applications/office/spice-up { };
 
-  spicetify-cli = callPackage ../applications/misc/spicetify-cli { };
-
   spirv-cross = callPackage ../tools/graphics/spirv-cross { };
 
   splat = callPackage ../applications/radio/splat { };
@@ -25790,7 +25781,7 @@ with pkgs;
 
   zlib-ng = callPackage ../development/libraries/zlib-ng { };
 
-  libdynd = callPackage ../development/libraries/libdynd { stdenv = gcc10StdenvCompat; };
+  libdynd = callPackage ../development/libraries/libdynd { };
 
   zlog = callPackage ../development/libraries/zlog { };
 
@@ -27552,7 +27543,7 @@ with pkgs;
 
   zookeeper_mt = callPackage ../development/libraries/zookeeper_mt { };
 
-  xqilla = callPackage ../development/tools/xqilla { stdenv = gcc10StdenvCompat; };
+  xqilla = callPackage ../development/tools/xqilla { };
 
   xquartz = callPackage ../servers/x11/xquartz { };
 
@@ -31270,9 +31261,7 @@ with pkgs;
 
   droopy = python3Packages.callPackage ../applications/networking/droopy { };
 
-  drumgizmo = callPackage ../applications/audio/drumgizmo {
-    stdenv = gcc10StdenvCompat;
-  };
+  drumgizmo = callPackage ../applications/audio/drumgizmo { };
 
   dsf2flac = callPackage ../applications/audio/dsf2flac { };
 
@@ -31624,7 +31613,7 @@ with pkgs;
 
   fluxus = callPackage ../applications/graphics/fluxus { stdenv = gcc10StdenvCompat; };
 
-  flwrap = callPackage ../applications/radio/flwrap { stdenv = gcc10StdenvCompat; };
+  flwrap = callPackage ../applications/radio/flwrap { };
 
   fluidsynth = callPackage ../applications/audio/fluidsynth {
     inherit (darwin.apple_sdk.frameworks) AppKit AudioUnit CoreAudio CoreMIDI CoreServices;
@@ -33030,8 +33019,6 @@ with pkgs;
 
   jgmenu = callPackage ../applications/misc/jgmenu { };
 
-  jigdo = callPackage ../applications/misc/jigdo { stdenv = gcc10StdenvCompat; };
-
   jitsi = callPackage ../applications/networking/instant-messengers/jitsi { };
 
   joe = callPackage ../applications/editors/joe { };
@@ -38142,7 +38129,7 @@ with pkgs;
 
   openlierox = callPackage ../games/openlierox { };
 
-  openclonk = callPackage ../games/openclonk { stdenv = gcc10StdenvCompat; };
+  openclonk = callPackage ../games/openclonk { };
 
   openjk = callPackage ../games/openjk { };
 
@@ -39144,7 +39131,7 @@ with pkgs;
 
   star = callPackage ../applications/science/biology/star { };
 
-  strelka = callPackage ../applications/science/biology/strelka { stdenv = gcc10StdenvCompat; };
+  strelka = callPackage ../applications/science/biology/strelka { };
 
   inherit (callPackages ../applications/science/biology/sumatools {})
       sumalibs
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index d86e2147aca24..2daaa04d2bab1 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -15687,6 +15687,8 @@ self: super: with self; {
 
   vine = callPackage ../development/python-modules/vine { };
 
+  virt-firmware = callPackage ../development/python-modules/virt-firmware { };
+
   virtkey = callPackage ../development/python-modules/virtkey { };
 
   virtualenv = callPackage ../development/python-modules/virtualenv { };
@@ -16175,7 +16177,7 @@ self: super: with self; {
 
   yarg = callPackage ../development/python-modules/yarg { };
 
-  yagry = callPackage ../development/python-modules/yargy { };
+  yargy = callPackage ../development/python-modules/yargy { };
 
   yark = callPackage ../development/python-modules/yark { };