59f43df38b2b47fa228afe8327586d96c44c078e — Kridsada Thanabulpong 2 months ago 455a381
Shave every yak in the town.
14 files changed, 12929 insertions(+), 4108 deletions(-)

A .build.yml
M .gitignore
M Makefile
A default.nix
A node-default.nix
A node-env.nix
A node-packages.nix
A node-supplement.nix
M package.json
A shell.nix
M site.hs
D stack.yaml
A supplement.json
D yarn.lock
A .build.yml => .build.yml +26 -0
@@ 0,0 1,26 @@
+ image: nixos/latest
+ packages:
+   - nixpkgs.rsync
+ repositories:
+   nixpkgs: https://nixos.org/channels/nixos-18.09
+ sources:
+   - https://git.sr.ht/~sirn/grid.in.th
+ secrets:
+   - 7dce1433-621d-4b91-a3f0-6e26aa65ee09
+ environment:
+   deploy_ref: refs/heads/master
+   deploy_repo: https://git.sr.ht/~sirn/grid.in.th
+   deploy_target: sirn_gridth@ssh.phx.nearlyfreespeech.net:/home/public/grid.in.th
+ tasks:
+   - check: |
+       cd grid.in.th/ || exit 1
+       _local=$(git rev-parse HEAD)
+       _remote=$(git ls-remote $deploy_repo $deploy_ref | awk '{ print $1 }')
+       if [ "$_local" != "$_remote" ]; then
+         complete-build
+       fi
+   - build: |
+       cd grid.in.th/ || exit 1
+       nix-build
+   - deploy: |
+       rsync -avz result/ "$deploy_target"

M .gitignore => .gitignore +6 -2
@@ 3,8 3,12 @@ .DS_Store
  
  # Build
- .stack-work
  _cache
  _site
  node_modules
- *.log> 
\ No newline at end of file
+ *.log
+ 
+ # Artifacts
+ result
+ site*
+ !*.hs< 
\ No newline at end of file

M Makefile => Makefile +14 -48
@@ 1,52 1,18 @@-RSYNC_LOCAL  := _site/
- RSYNC_REMOTE := sirn_gridth@ssh.phx.nearlyfreespeech.net:grid.in.th
- 
- STACK_ARGS   :=
- 
- PATH         := $(HOME)/.local/bin:$(PATH)
- ENV          := env PATH=$(PATH)
- 
- 
- all: setup build
- 
- 
- ## Setting up
- ##
- 
- 
- setup:
- 	$(ENV) yarn install --dev
- 	$(ENV) stack build $(STACK_ARGS)
- 
- 
- ## Building
- ##
+ NODE2NIX := node2nix
  
+ node-packages.nix: package.json supplement.json
+ 	$(NODE2NIX) \
+ 		--nodejs-8 \
+ 		--development \
+ 		--composition node-default.nix \
+ 		--supplement-input supplement.json \
+ 		--supplement-output node-supplement.nix
  
  clean:
- 	$(ENV) stack exec -- site clean
- 
- build: clean
- 	$(ENV) stack exec -- site build
- 
- watch: clean
- 	$(ENV) stack exec -- site watch
- 
- 
- ## Deploying
- ##
- 
- 
- deploy: build
- 	$(ENV) rsync -avz $(RSYNC_LOCAL) $(RSYNC_REMOTE)
- 
- 
- ## Maintenance
- ##
- 
- 
- $(VERBOSE).SILENT:
+ 	rm -f \
+ 		node-default.nix \
+ 		node-env.nix \
+ 		node-packages.nix \
+ 		node-supplement.nix
  
- .PHONY: setup
- .PHONY: clean build watch
- .PHONY: deploy
+ .PHONY: clean

A default.nix => default.nix +83 -0
@@ 0,0 1,83 @@
+ { pkgs ? import <nixpkgs> {},
+   system ? builtins.currentSystem,
+   compiler ? "default",
+ }:
+ 
+ let
+ 
+   gridthVersion = "0.1.0.0";
+ 
+   haskellPackages =
+     if compiler == "default"
+       then pkgs.haskellPackages
+       else pkgs.haskell.packages.${compiler};
+ 
+   np =
+     import ./node-default.nix {
+       inherit pkgs system;
+     };
+ 
+   hs =
+     { mkDerivation, stdenv }:
+     mkDerivation {
+       pname = "gridth-hs";
+       version = gridthVersion;
+       src = ./.;
+       isLibrary = false;
+       isExecutable = true;
+ 
+       executableHaskellDepends = [
+         haskellPackages.base
+         haskellPackages.filepath
+         haskellPackages.hakyll
+       ];
+ 
+       license = stdenv.lib.licenses.free;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     };
+ 
+   gridthHs = (haskellPackages.callPackage hs {});
+ 
+   # We need to make nodeDependencies available so we could expose it to shellHook
+   # and in buildPhase otherwise postcss won't be able to locate its modules.
+   nodePackages =
+     np // {
+       shell = np.shell.override {
+         postInstall = ''
+         echo 'div#id {}' > test.css
+         postcss --no-map test.css
+         '';
+       };
+     }.shell;
+ 
+   f =
+     { stdenv }:
+     stdenv.mkDerivation {
+       name = "gridth-${gridthVersion}";
+       src = ./.;
+       isLibrary = false;
+       isExecutable = false;
+ 
+       buildInputs = nodePackages.buildInputs ++ [
+         gridthHs
+       ];
+ 
+       NODE_PATH = "${nodePackages.nodeDependencies}/lib/node_modules";
+       LOCALE_ARCHIVE = "${pkgs.glibcLocales}/lib/locale/locale-archive";
+       LC_ALL = "en_US.UTF-8";
+       LANG = "en_US.UTF-8";
+ 
+       buildPhase = ''
+       site clean
+       site build
+       '';
+ 
+       installPhase = ''
+       mkdir $out
+       cp -r _site/* $out
+       '';
+     };
+ 
+ in
+ 
+   (pkgs.callPackage f {})

A node-default.nix => node-default.nix +21 -0
@@ 0,0 1,21 @@
+ # This file has been generated by node2nix 1.6.0. Do not edit!
+ 
+ {pkgs ? import <nixpkgs> {
+     inherit system;
+   }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-8_x"}:
+ 
+ let
+   globalBuildInputs = pkgs.lib.attrValues (import ./node-supplement.nix {
+     inherit nodeEnv;
+     inherit (pkgs) fetchurl fetchgit;
+   });
+   nodeEnv = import ./node-env.nix {
+     inherit (pkgs) stdenv python2 utillinux runCommand writeTextFile;
+     inherit nodejs;
+     libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null;
+   };
+ in
+ import ./node-packages.nix {
+   inherit (pkgs) fetchurl fetchgit;
+   inherit nodeEnv globalBuildInputs;
+ }< 
\ No newline at end of file

A node-env.nix => node-env.nix +542 -0
@@ 0,0 1,542 @@
+ # This file originates from node2nix
+ 
+ {stdenv, nodejs, python2, utillinux, libtool, runCommand, writeTextFile}:
+ 
+ let
+   python = if nodejs ? python then nodejs.python else python2;
+ 
+   # Create a tar wrapper that filters all the 'Ignoring unknown extended header keyword' noise
+   tarWrapper = runCommand "tarWrapper" {} ''
+     mkdir -p $out/bin
+ 
+     cat > $out/bin/tar <<EOF
+     #! ${stdenv.shell} -e
+     $(type -p tar) "\$@" --warning=no-unknown-keyword
+     EOF
+ 
+     chmod +x $out/bin/tar
+   '';
+ 
+   # Function that generates a TGZ file from a NPM project
+   buildNodeSourceDist =
+     { name, version, src, ... }:
+ 
+     stdenv.mkDerivation {
+       name = "node-tarball-${name}-${version}";
+       inherit src;
+       buildInputs = [ nodejs ];
+       buildPhase = ''
+         export HOME=$TMPDIR
+         tgzFile=$(npm pack | tail -n 1) # Hooks to the pack command will add output (https://docs.npmjs.com/misc/scripts)
+       '';
+       installPhase = ''
+         mkdir -p $out/tarballs
+         mv $tgzFile $out/tarballs
+         mkdir -p $out/nix-support
+         echo "file source-dist $out/tarballs/$tgzFile" >> $out/nix-support/hydra-build-products
+       '';
+     };
+ 
+   includeDependencies = {dependencies}:
+     stdenv.lib.optionalString (dependencies != [])
+       (stdenv.lib.concatMapStrings (dependency:
+         ''
+           # Bundle the dependencies of the package
+           mkdir -p node_modules
+           cd node_modules
+ 
+           # Only include dependencies if they don't exist. They may also be bundled in the package.
+           if [ ! -e "${dependency.name}" ]
+           then
+               ${composePackage dependency}
+           fi
+ 
+           cd ..
+         ''
+       ) dependencies);
+ 
+   # Recursively composes the dependencies of a package
+   composePackage = { name, packageName, src, dependencies ? [], ... }@args:
+     ''
+       DIR=$(pwd)
+       cd $TMPDIR
+ 
+       unpackFile ${src}
+ 
+       # Make the base dir in which the target dependency resides first
+       mkdir -p "$(dirname "$DIR/${packageName}")"
+ 
+       if [ -f "${src}" ]
+       then
+           # Figure out what directory has been unpacked
+           packageDir="$(find . -maxdepth 1 -type d | tail -1)"
+ 
+           # Restore write permissions to make building work
+           find "$packageDir" -type d -print0 | xargs -0 chmod u+x
+           chmod -R u+w "$packageDir"
+ 
+           # Move the extracted tarball into the output folder
+           mv "$packageDir" "$DIR/${packageName}"
+       elif [ -d "${src}" ]
+       then
+           # Get a stripped name (without hash) of the source directory.
+           # On old nixpkgs it's already set internally.
+           if [ -z "$strippedName" ]
+           then
+               strippedName="$(stripHash ${src})"
+           fi
+ 
+           # Restore write permissions to make building work
+           chmod -R u+w "$strippedName"
+ 
+           # Move the extracted directory into the output folder
+           mv "$strippedName" "$DIR/${packageName}"
+       fi
+ 
+       # Unset the stripped name to not confuse the next unpack step
+       unset strippedName
+ 
+       # Include the dependencies of the package
+       cd "$DIR/${packageName}"
+       ${includeDependencies { inherit dependencies; }}
+       cd ..
+       ${stdenv.lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."}
+     '';
+ 
+   pinpointDependencies = {dependencies, production}:
+     let
+       pinpointDependenciesFromPackageJSON = writeTextFile {
+         name = "pinpointDependencies.js";
+         text = ''
+           var fs = require('fs');
+           var path = require('path');
+ 
+           function resolveDependencyVersion(location, name) {
+               if(location == process.env['NIX_STORE']) {
+                   return null;
+               } else {
+                   var dependencyPackageJSON = path.join(location, "node_modules", name, "package.json");
+ 
+                   if(fs.existsSync(dependencyPackageJSON)) {
+                       var dependencyPackageObj = JSON.parse(fs.readFileSync(dependencyPackageJSON));
+ 
+                       if(dependencyPackageObj.name == name) {
+                           return dependencyPackageObj.version;
+                       }
+                   } else {
+                       return resolveDependencyVersion(path.resolve(location, ".."), name);
+                   }
+               }
+           }
+ 
+           function replaceDependencies(dependencies) {
+               if(typeof dependencies == "object" && dependencies !== null) {
+                   for(var dependency in dependencies) {
+                       var resolvedVersion = resolveDependencyVersion(process.cwd(), dependency);
+ 
+                       if(resolvedVersion === null) {
+                           process.stderr.write("WARNING: cannot pinpoint dependency: "+dependency+", context: "+process.cwd()+"\n");
+                       } else {
+                           dependencies[dependency] = resolvedVersion;
+                       }
+                   }
+               }
+           }
+ 
+           /* Read the package.json configuration */
+           var packageObj = JSON.parse(fs.readFileSync('./package.json'));
+ 
+           /* Pinpoint all dependencies */
+           replaceDependencies(packageObj.dependencies);
+           if(process.argv[2] == "development") {
+               replaceDependencies(packageObj.devDependencies);
+           }
+           replaceDependencies(packageObj.optionalDependencies);
+ 
+           /* Write the fixed package.json file */
+           fs.writeFileSync("package.json", JSON.stringify(packageObj, null, 2));
+         '';
+       };
+     in
+     ''
+       node ${pinpointDependenciesFromPackageJSON} ${if production then "production" else "development"}
+ 
+       ${stdenv.lib.optionalString (dependencies != [])
+         ''
+           if [ -d node_modules ]
+           then
+               cd node_modules
+               ${stdenv.lib.concatMapStrings (dependency: pinpointDependenciesOfPackage dependency) dependencies}
+               cd ..
+           fi
+         ''}
+     '';
+ 
+   # Recursively traverses all dependencies of a package and pinpoints all
+   # dependencies in the package.json file to the versions that are actually
+   # being used.
+ 
+   pinpointDependenciesOfPackage = { packageName, dependencies ? [], production ? true, ... }@args:
+     ''
+       if [ -d "${packageName}" ]
+       then
+           cd "${packageName}"
+           ${pinpointDependencies { inherit dependencies production; }}
+           cd ..
+           ${stdenv.lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."}
+       fi
+     '';
+ 
+   # Extract the Node.js source code which is used to compile packages with
+   # native bindings
+   nodeSources = runCommand "node-sources" {} ''
+     tar --no-same-owner --no-same-permissions -xf ${nodejs.src}
+     mv node-* $out
+   '';
+ 
+   # Script that adds _integrity fields to all package.json files to prevent NPM from consulting the cache (that is empty)
+   addIntegrityFieldsScript = writeTextFile {
+     name = "addintegrityfields.js";
+     text = ''
+       var fs = require('fs');
+       var path = require('path');
+ 
+       function augmentDependencies(baseDir, dependencies) {
+           for(var dependencyName in dependencies) {
+               var dependency = dependencies[dependencyName];
+ 
+               // Open package.json and augment metadata fields
+               var packageJSONDir = path.join(baseDir, "node_modules", dependencyName);
+               var packageJSONPath = path.join(packageJSONDir, "package.json");
+ 
+               if(fs.existsSync(packageJSONPath)) { // Only augment packages that exist. Sometimes we may have production installs in which development dependencies can be ignored
+                   console.log("Adding metadata fields to: "+packageJSONPath);
+                   var packageObj = JSON.parse(fs.readFileSync(packageJSONPath));
+ 
+                   if(dependency.integrity) {
+                       packageObj["_integrity"] = dependency.integrity;
+                   } else {
+                       packageObj["_integrity"] = "sha1-000000000000000000000000000="; // When no _integrity string has been provided (e.g. by Git dependencies), add a dummy one. It does not seem to harm and it bypasses downloads.
+                   }
+ 
+                   packageObj["_resolved"] = dependency.version; // Set the resolved version to the version identifier. This prevents NPM from cloning Git repositories.
+                   fs.writeFileSync(packageJSONPath, JSON.stringify(packageObj, null, 2));
+               }
+ 
+               // Augment transitive dependencies
+               if(dependency.dependencies !== undefined) {
+                   augmentDependencies(packageJSONDir, dependency.dependencies);
+               }
+           }
+       }
+ 
+       if(fs.existsSync("./package-lock.json")) {
+           var packageLock = JSON.parse(fs.readFileSync("./package-lock.json"));
+ 
+           if(packageLock.lockfileVersion !== 1) {
+              process.stderr.write("Sorry, I only understand lock file version 1!\n");
+              process.exit(1);
+           }
+ 
+           if(packageLock.dependencies !== undefined) {
+               augmentDependencies(".", packageLock.dependencies);
+           }
+       }
+     '';
+   };
+ 
+   # Reconstructs a package-lock file from the node_modules/ folder structure and package.json files with dummy sha1 hashes
+   reconstructPackageLock = writeTextFile {
+     name = "addintegrityfields.js";
+     text = ''
+       var fs = require('fs');
+       var path = require('path');
+ 
+       var packageObj = JSON.parse(fs.readFileSync("package.json"));
+ 
+       var lockObj = {
+           name: packageObj.name,
+           version: packageObj.version,
+           lockfileVersion: 1,
+           requires: true,
+           dependencies: {}
+       };
+ 
+       function augmentPackageJSON(filePath, dependencies) {
+           var packageJSON = path.join(filePath, "package.json");
+           if(fs.existsSync(packageJSON)) {
+               var packageObj = JSON.parse(fs.readFileSync(packageJSON));
+               dependencies[packageObj.name] = {
+                   version: packageObj.version,
+                   integrity: "sha1-000000000000000000000000000=",
+                   dependencies: {}
+               };
+               processDependencies(path.join(filePath, "node_modules"), dependencies[packageObj.name].dependencies);
+           }
+       }
+ 
+       function processDependencies(dir, dependencies) {
+           if(fs.existsSync(dir)) {
+               var files = fs.readdirSync(dir);
+ 
+               files.forEach(function(entry) {
+                   var filePath = path.join(dir, entry);
+                   var stats = fs.statSync(filePath);
+ 
+                   if(stats.isDirectory()) {
+                       if(entry.substr(0, 1) == "@") {
+                           // When we encounter a namespace folder, augment all packages belonging to the scope
+                           var pkgFiles = fs.readdirSync(filePath);
+ 
+                           pkgFiles.forEach(function(entry) {
+                               if(stats.isDirectory()) {
+                                   var pkgFilePath = path.join(filePath, entry);
+                                   augmentPackageJSON(pkgFilePath, dependencies);
+                               }
+                           });
+                       } else {
+                           augmentPackageJSON(filePath, dependencies);
+                       }
+                   }
+               });
+           }
+       }
+ 
+       processDependencies("node_modules", lockObj.dependencies);
+ 
+       fs.writeFileSync("package-lock.json", JSON.stringify(lockObj, null, 2));
+     '';
+   };
+ 
+   # Builds and composes an NPM package including all its dependencies
+   buildNodePackage =
+     { name
+     , packageName
+     , version
+     , dependencies ? []
+     , buildInputs ? []
+     , production ? true
+     , npmFlags ? ""
+     , dontNpmInstall ? false
+     , bypassCache ? false
+     , preRebuild ? ""
+     , dontStrip ? true
+     , unpackPhase ? "true"
+     , buildPhase ? "true"
+     , ... }@args:
+ 
+     let
+       forceOfflineFlag = if bypassCache then "--offline" else "--registry http://www.example.com";
+       extraArgs = removeAttrs args [ "name" "dependencies" "buildInputs" "dontStrip" "dontNpmInstall" "preRebuild" "unpackPhase" "buildPhase" ];
+     in
+     stdenv.mkDerivation ({
+       name = "node-${name}-${version}";
+       buildInputs = [ tarWrapper python nodejs ]
+         ++ stdenv.lib.optional (stdenv.isLinux) utillinux
+         ++ stdenv.lib.optional (stdenv.isDarwin) libtool
+         ++ buildInputs;
+ 
+       inherit dontStrip; # Stripping may fail a build for some package deployments
+       inherit dontNpmInstall preRebuild unpackPhase buildPhase;
+ 
+       compositionScript = composePackage args;
+       pinpointDependenciesScript = pinpointDependenciesOfPackage args;
+ 
+       passAsFile = [ "compositionScript" "pinpointDependenciesScript" ];
+ 
+       installPhase = ''
+         # Create and enter a root node_modules/ folder
+         mkdir -p $out/lib/node_modules
+         cd $out/lib/node_modules
+ 
+         # Compose the package and all its dependencies
+         source $compositionScriptPath
+ 
+         # Pinpoint the versions of all dependencies to the ones that are actually being used
+         echo "pinpointing versions of dependencies..."
+         source $pinpointDependenciesScriptPath
+ 
+         # Patch the shebangs of the bundled modules to prevent them from
+         # calling executables outside the Nix store as much as possible
+         patchShebangs .
+ 
+         # Deploy the Node.js package by running npm install. Since the
+         # dependencies have been provided already by ourselves, it should not
+         # attempt to install them again, which is good, because we want to make
+         # it Nix's responsibility. If it needs to install any dependencies
+         # anyway (e.g. because the dependency parameters are
+         # incomplete/incorrect), it fails.
+         #
+         # The other responsibilities of NPM are kept -- version checks, build
+         # steps, postprocessing etc.
+ 
+         export HOME=$TMPDIR
+         cd "${packageName}"
+         runHook preRebuild
+ 
+         ${stdenv.lib.optionalString bypassCache ''
+           if [ ! -f package-lock.json ]
+           then
+               echo "No package-lock.json file found, reconstructing..."
+               node ${reconstructPackageLock}
+           fi
+ 
+           node ${addIntegrityFieldsScript}
+         ''}
+ 
+         npm ${forceOfflineFlag} --nodedir=${nodeSources} ${npmFlags} ${stdenv.lib.optionalString production "--production"} rebuild
+ 
+         if [ "$dontNpmInstall" != "1" ]
+         then
+             # NPM tries to download packages even when they already exist if npm-shrinkwrap is used.
+             rm -f npm-shrinkwrap.json
+ 
+             npm ${forceOfflineFlag} --nodedir=${nodeSources} ${npmFlags} ${stdenv.lib.optionalString production "--production"} install
+         fi
+ 
+         # Create symlink to the deployed executable folder, if applicable
+         if [ -d "$out/lib/node_modules/.bin" ]
+         then
+             ln -s $out/lib/node_modules/.bin $out/bin
+         fi
+ 
+         # Create symlinks to the deployed manual page folders, if applicable
+         if [ -d "$out/lib/node_modules/${packageName}/man" ]
+         then
+             mkdir -p $out/share
+             for dir in "$out/lib/node_modules/${packageName}/man/"*
+             do
+                 mkdir -p $out/share/man/$(basename "$dir")
+                 for page in "$dir"/*
+                 do
+                     ln -s $page $out/share/man/$(basename "$dir")
+                 done
+             done
+         fi
+ 
+         # Run post install hook, if provided
+         runHook postInstall
+       '';
+     } // extraArgs);
+ 
+   # Builds a development shell
+   buildNodeShell =
+     { name
+     , packageName
+     , version
+     , src
+     , dependencies ? []
+     , buildInputs ? []
+     , production ? true
+     , npmFlags ? ""
+     , dontNpmInstall ? false
+     , bypassCache ? false
+     , dontStrip ? true
+     , unpackPhase ? "true"
+     , buildPhase ? "true"
+     , ... }@args:
+ 
+     let
+       forceOfflineFlag = if bypassCache then "--offline" else "--registry http://www.example.com";
+ 
+       extraArgs = removeAttrs args [ "name" "dependencies" "buildInputs" ];
+ 
+       nodeDependencies = stdenv.mkDerivation ({
+         name = "node-dependencies-${name}-${version}";
+ 
+         buildInputs = [ tarWrapper python nodejs ]
+           ++ stdenv.lib.optional (stdenv.isLinux) utillinux
+           ++ stdenv.lib.optional (stdenv.isDarwin) libtool
+           ++ buildInputs;
+ 
+         inherit dontStrip; # Stripping may fail a build for some package deployments
+         inherit dontNpmInstall unpackPhase buildPhase;
+ 
+         includeScript = includeDependencies { inherit dependencies; };
+         pinpointDependenciesScript = pinpointDependenciesOfPackage args;
+ 
+         passAsFile = [ "includeScript" "pinpointDependenciesScript" ];
+ 
+         installPhase = ''
+           mkdir -p $out/${packageName}
+           cd $out/${packageName}
+ 
+           source $includeScriptPath
+ 
+           # Create fake package.json to make the npm commands work properly
+           cp ${src}/package.json .
+           chmod 644 package.json
+           ${stdenv.lib.optionalString bypassCache ''
+             if [ -f ${src}/package-lock.json ]
+             then
+                 cp ${src}/package-lock.json .
+             fi
+           ''}
+ 
+           # Pinpoint the versions of all dependencies to the ones that are actually being used
+           echo "pinpointing versions of dependencies..."
+           cd ..
+           ${stdenv.lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."}
+ 
+           source $pinpointDependenciesScriptPath
+           cd ${packageName}
+ 
+           # Patch the shebangs of the bundled modules to prevent them from
+           # calling executables outside the Nix store as much as possible
+           patchShebangs .
+ 
+           export HOME=$PWD
+ 
+           ${stdenv.lib.optionalString bypassCache ''
+             if [ ! -f package-lock.json ]
+             then
+                 echo "No package-lock.json file found, reconstructing..."
+                 node ${reconstructPackageLock}
+             fi
+ 
+             node ${addIntegrityFieldsScript}
+           ''}
+ 
+           npm ${forceOfflineFlag} --nodedir=${nodeSources} ${npmFlags} ${stdenv.lib.optionalString production "--production"} rebuild
+ 
+           ${stdenv.lib.optionalString (!dontNpmInstall) ''
+             # NPM tries to download packages even when they already exist if npm-shrinkwrap is used.
+             rm -f npm-shrinkwrap.json
+ 
+             npm ${forceOfflineFlag} --nodedir=${nodeSources} ${npmFlags} ${stdenv.lib.optionalString production "--production"} install
+           ''}
+ 
+           cd ..
+           ${stdenv.lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."}
+ 
+           mv ${packageName} lib
+           ln -s $out/lib/node_modules/.bin $out/bin
+         '';
+       } // extraArgs);
+     in
+     stdenv.mkDerivation {
+       name = "node-shell-${name}-${version}";
+ 
+       buildInputs = [ python nodejs ] ++ stdenv.lib.optional (stdenv.isLinux) utillinux ++ buildInputs;
+       buildCommand = ''
+         mkdir -p $out/bin
+         cat > $out/bin/shell <<EOF
+         #! ${stdenv.shell} -e
+         $shellHook
+         exec ${stdenv.shell}
+         EOF
+         chmod +x $out/bin/shell
+       '';
+ 
+       # Provide the dependencies in a development shell through the NODE_PATH environment variable
+       inherit nodeDependencies;
+       shellHook = stdenv.lib.optionalString (dependencies != []) ''
+         export NODE_PATH=$nodeDependencies/lib/node_modules
+       '';
+     };
+ in
+ {
+   buildNodeSourceDist = stdenv.lib.makeOverridable buildNodeSourceDist;
+   buildNodePackage = stdenv.lib.makeOverridable buildNodePackage;
+   buildNodeShell = stdenv.lib.makeOverridable buildNodeShell;
+ }

A node-packages.nix => node-packages.nix +6191 -0
@@ 0,0 1,6191 @@
+ # This file has been generated by node2nix 1.6.0. Do not edit!
+ 
+ {nodeEnv, fetchurl, fetchgit, globalBuildInputs ? []}:
+ 
+ let
+   sources = {
+     "@babel/code-frame-7.0.0" = {
+       name = "_at_babel_slash_code-frame";
+       packageName = "@babel/code-frame";
+       version = "7.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz";
+         sha512 = "OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==";
+       };
+     };
+     "@babel/core-7.2.2" = {
+       name = "_at_babel_slash_core";
+       packageName = "@babel/core";
+       version = "7.2.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/@babel/core/-/core-7.2.2.tgz";
+         sha512 = "59vB0RWt09cAct5EIe58+NzGP4TFSD3Bz//2/ELy3ZeTeKF6VTD1AXlH8BGGbCX0PuobZBsIzO7IAI9PH67eKw==";
+       };
+     };
+     "@babel/generator-7.3.2" = {
+       name = "_at_babel_slash_generator";
+       packageName = "@babel/generator";
+       version = "7.3.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/@babel/generator/-/generator-7.3.2.tgz";
+         sha512 = "f3QCuPppXxtZOEm5GWPra/uYUjmNQlu9pbAD8D/9jze4pTY83rTtB1igTBSwvkeNlC5gR24zFFkz+2WHLFQhqQ==";
+       };
+     };
+     "@babel/helper-function-name-7.1.0" = {
+       name = "_at_babel_slash_helper-function-name";
+       packageName = "@babel/helper-function-name";
+       version = "7.1.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz";
+         sha512 = "A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==";
+       };
+     };
+     "@babel/helper-get-function-arity-7.0.0" = {
+       name = "_at_babel_slash_helper-get-function-arity";
+       packageName = "@babel/helper-get-function-arity";
+       version = "7.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz";
+         sha512 = "r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==";
+       };
+     };
+     "@babel/helper-split-export-declaration-7.0.0" = {
+       name = "_at_babel_slash_helper-split-export-declaration";
+       packageName = "@babel/helper-split-export-declaration";
+       version = "7.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz";
+         sha512 = "MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==";
+       };
+     };
+     "@babel/helpers-7.3.1" = {
+       name = "_at_babel_slash_helpers";
+       packageName = "@babel/helpers";
+       version = "7.3.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/@babel/helpers/-/helpers-7.3.1.tgz";
+         sha512 = "Q82R3jKsVpUV99mgX50gOPCWwco9Ec5Iln/8Vyu4osNIOQgSrd9RFrQeUvmvddFNoLwMyOUWU+5ckioEKpDoGA==";
+       };
+     };
+     "@babel/highlight-7.0.0" = {
+       name = "_at_babel_slash_highlight";
+       packageName = "@babel/highlight";
+       version = "7.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz";
+         sha512 = "UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==";
+       };
+     };
+     "@babel/parser-7.3.2" = {
+       name = "_at_babel_slash_parser";
+       packageName = "@babel/parser";
+       version = "7.3.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/@babel/parser/-/parser-7.3.2.tgz";
+         sha512 = "QzNUC2RO1gadg+fs21fi0Uu0OuGNzRKEmgCxoLNzbCdoprLwjfmZwzUrpUNfJPaVRwBpDY47A17yYEGWyRelnQ==";
+       };
+     };
+     "@babel/template-7.2.2" = {
+       name = "_at_babel_slash_template";
+       packageName = "@babel/template";
+       version = "7.2.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz";
+         sha512 = "zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==";
+       };
+     };
+     "@babel/traverse-7.2.3" = {
+       name = "_at_babel_slash_traverse";
+       packageName = "@babel/traverse";
+       version = "7.2.3";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/@babel/traverse/-/traverse-7.2.3.tgz";
+         sha512 = "Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw==";
+       };
+     };
+     "@babel/types-7.3.2" = {
+       name = "_at_babel_slash_types";
+       packageName = "@babel/types";
+       version = "7.3.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/@babel/types/-/types-7.3.2.tgz";
+         sha512 = "3Y6H8xlUlpbGR+XvawiH0UXehqydTmNmEpozWcXymqwcrwYAl5KMvKtQ+TF6f6E08V6Jur7v/ykdDSF+WDEIXQ==";
+       };
+     };
+     "@csstools/normalize.css-8.0.0" = {
+       name = "_at_csstools_slash_normalize.css";
+       packageName = "@csstools/normalize.css";
+       version = "8.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/@csstools/normalize.css/-/normalize.css-8.0.0.tgz";
+         sha512 = "ctnBu1wg0E8IIn4qYb55ecOZTY27qWgsTrTk3VtzZLKIAscZAKaOrMwbO5jhU1BNkiwwwPAgrFquQofqNEAGgA==";
+       };
+     };
+     "@mrmlnc/readdir-enhanced-2.2.1" = {
+       name = "_at_mrmlnc_slash_readdir-enhanced";
+       packageName = "@mrmlnc/readdir-enhanced";
+       version = "2.2.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz";
+         sha512 = "bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==";
+       };
+     };
+     "@nodelib/fs.stat-1.1.3" = {
+       name = "_at_nodelib_slash_fs.stat";
+       packageName = "@nodelib/fs.stat";
+       version = "1.1.3";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz";
+         sha512 = "shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==";
+       };
+     };
+     "@types/node-10.12.24" = {
+       name = "_at_types_slash_node";
+       packageName = "@types/node";
+       version = "10.12.24";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/@types/node/-/node-10.12.24.tgz";
+         sha512 = "GWWbvt+z9G5otRBW8rssOFgRY87J9N/qbhqfjMZ+gUuL6zoL+Hm6gP/8qQBG4jjimqdaNLCehcVapZ/Fs2WjCQ==";
+       };
+     };
+     "@types/q-1.5.1" = {
+       name = "_at_types_slash_q";
+       packageName = "@types/q";
+       version = "1.5.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/@types/q/-/q-1.5.1.tgz";
+         sha512 = "eqz8c/0kwNi/OEHQfvIuJVLTst3in0e7uTKeuY+WL/zfKn0xVujOTp42bS/vUUokhK5P2BppLd9JXMOMHcgbjA==";
+       };
+     };
+     "@types/unist-2.0.2" = {
+       name = "_at_types_slash_unist";
+       packageName = "@types/unist";
+       version = "2.0.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/@types/unist/-/unist-2.0.2.tgz";
+         sha512 = "iHI60IbyfQilNubmxsq4zqSjdynlmc2Q/QvH9kjzg9+CCYVVzq1O6tc7VBzSygIwnmOt07w80IG6HDQvjv3Liw==";
+       };
+     };
+     "@types/vfile-3.0.2" = {
+       name = "_at_types_slash_vfile";
+       packageName = "@types/vfile";
+       version = "3.0.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/@types/vfile/-/vfile-3.0.2.tgz";
+         sha512 = "b3nLFGaGkJ9rzOcuXRfHkZMdjsawuDD0ENL9fzTophtBg8FJHSGbH7daXkEpcwy3v7Xol3pAvsmlYyFhR4pqJw==";
+       };
+     };
+     "@types/vfile-message-1.0.1" = {
+       name = "_at_types_slash_vfile-message";
+       packageName = "@types/vfile-message";
+       version = "1.0.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/@types/vfile-message/-/vfile-message-1.0.1.tgz";
+         sha512 = "mlGER3Aqmq7bqR1tTTIVHq8KSAFFRyGbrxuM8C/H82g6k7r2fS+IMEkIu3D7JHzG10NvPdR8DNx0jr0pwpp4dA==";
+       };
+     };
+     "ajv-6.9.1" = {
+       name = "ajv";
+       packageName = "ajv";
+       version = "6.9.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/ajv/-/ajv-6.9.1.tgz";
+         sha512 = "XDN92U311aINL77ieWHmqCcNlwjoP5cHXDxIxbf2MaPYuCXOHS7gHH8jktxeK5omgd52XbSTX6a4Piwd1pQmzA==";
+       };
+     };
+     "alphanum-sort-1.0.2" = {
+       name = "alphanum-sort";
+       packageName = "alphanum-sort";
+       version = "1.0.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz";
+         sha1 = "97a1119649b211ad33691d9f9f486a8ec9fbe0a3";
+       };
+     };
+     "ansi-regex-2.1.1" = {
+       name = "ansi-regex";
+       packageName = "ansi-regex";
+       version = "2.1.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz";
+         sha1 = "c3b33ab5ee360d86e0e628f0468ae7ef27d654df";
+       };
+     };
+     "ansi-regex-3.0.0" = {
+       name = "ansi-regex";
+       packageName = "ansi-regex";
+       version = "3.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz";
+         sha1 = "ed0317c322064f79466c02966bddb605ab37d998";
+       };
+     };
+     "ansi-regex-4.0.0" = {
+       name = "ansi-regex";
+       packageName = "ansi-regex";
+       version = "4.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.0.0.tgz";
+         sha512 = "iB5Dda8t/UqpPI/IjsejXu5jOGDrzn41wJyljwPH65VCIbk6+1BzFIMJGFwTNrYXT1CrD+B4l19U7awiQ8rk7w==";
+       };
+     };
+     "ansi-styles-2.2.1" = {
+       name = "ansi-styles";
+       packageName = "ansi-styles";
+       version = "2.2.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz";
+         sha1 = "b432dd3358b634cf75e1e4664368240533c1ddbe";
+       };
+     };
+     "ansi-styles-3.2.1" = {
+       name = "ansi-styles";
+       packageName = "ansi-styles";
+       version = "3.2.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz";
+         sha512 = "VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==";
+       };
+     };
+     "anymatch-2.0.0" = {
+       name = "anymatch";
+       packageName = "anymatch";
+       version = "2.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz";
+         sha512 = "5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==";
+       };
+     };
+     "argparse-1.0.10" = {
+       name = "argparse";
+       packageName = "argparse";
+       version = "1.0.10";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz";
+         sha512 = "o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==";
+       };
+     };
+     "arr-diff-4.0.0" = {
+       name = "arr-diff";
+       packageName = "arr-diff";
+       version = "4.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz";
+         sha1 = "d6461074febfec71e7e15235761a329a5dc7c520";
+       };
+     };
+     "arr-flatten-1.1.0" = {
+       name = "arr-flatten";
+       packageName = "arr-flatten";
+       version = "1.1.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz";
+         sha512 = "L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==";
+       };
+     };
+     "arr-union-3.1.0" = {
+       name = "arr-union";
+       packageName = "arr-union";
+       version = "3.1.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz";
+         sha1 = "e39b09aea9def866a8f206e288af63919bae39c4";
+       };
+     };
+     "array-find-index-1.0.2" = {
+       name = "array-find-index";
+       packageName = "array-find-index";
+       version = "1.0.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz";
+         sha1 = "df010aa1287e164bbda6f9723b0a96a1ec4187a1";
+       };
+     };
+     "array-union-1.0.2" = {
+       name = "array-union";
+       packageName = "array-union";
+       version = "1.0.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz";
+         sha1 = "9a34410e4f4e3da23dea375be5be70f24778ec39";
+       };
+     };
+     "array-uniq-1.0.3" = {
+       name = "array-uniq";
+       packageName = "array-uniq";
+       version = "1.0.3";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz";
+         sha1 = "af6ac877a25cc7f74e058894753858dfdb24fdb6";
+       };
+     };
+     "array-unique-0.3.2" = {
+       name = "array-unique";
+       packageName = "array-unique";
+       version = "0.3.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz";
+         sha1 = "a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428";
+       };
+     };
+     "arrify-1.0.1" = {
+       name = "arrify";
+       packageName = "arrify";
+       version = "1.0.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz";
+         sha1 = "898508da2226f380df904728456849c1501a4b0d";
+       };
+     };
+     "assign-symbols-1.0.0" = {
+       name = "assign-symbols";
+       packageName = "assign-symbols";
+       version = "1.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz";
+         sha1 = "59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367";
+       };
+     };
+     "astral-regex-1.0.0" = {
+       name = "astral-regex";
+       packageName = "astral-regex";
+       version = "1.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz";
+         sha512 = "+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==";
+       };
+     };
+     "async-each-1.0.1" = {
+       name = "async-each";
+       packageName = "async-each";
+       version = "1.0.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz";
+         sha1 = "19d386a1d9edc6e7c1c85d388aedbcc56d33602d";
+       };
+     };
+     "atob-2.1.2" = {
+       name = "atob";
+       packageName = "atob";
+       version = "2.1.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz";
+         sha512 = "Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==";
+       };
+     };
+     "autoprefixer-8.6.5" = {
+       name = "autoprefixer";
+       packageName = "autoprefixer";
+       version = "8.6.5";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/autoprefixer/-/autoprefixer-8.6.5.tgz";
+         sha512 = "PLWJN3Xo/rycNkx+mp8iBDMTm3FeWe4VmYaZDSqL5QQB9sLsQkG5k8n+LNDFnhh9kdq2K+egL/icpctOmDHwig==";
+       };
+     };
+     "autoprefixer-9.4.7" = {
+       name = "autoprefixer";
+       packageName = "autoprefixer";
+       version = "9.4.7";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.4.7.tgz";
+         sha512 = "qS5wW6aXHkm53Y4z73tFGsUhmZu4aMPV9iHXYlF0c/wxjknXNHuj/1cIQb+6YH692DbJGGWcckAXX+VxKvahMA==";
+       };
+     };
+     "bail-1.0.3" = {
+       name = "bail";
+       packageName = "bail";
+       version = "1.0.3";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/bail/-/bail-1.0.3.tgz";
+         sha512 = "1X8CnjFVQ+a+KW36uBNMTU5s8+v5FzeqrP7hTG5aTb4aPreSbZJlhwPon9VKMuEVgV++JM+SQrALY3kr7eswdg==";
+       };
+     };
+     "balanced-match-0.1.0" = {
+       name = "balanced-match";
+       packageName = "balanced-match";
+       version = "0.1.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/balanced-match/-/balanced-match-0.1.0.tgz";
+         sha1 = "b504bd05869b39259dd0c5efc35d843176dccc4a";
+       };
+     };
+     "balanced-match-1.0.0" = {
+       name = "balanced-match";
+       packageName = "balanced-match";
+       version = "1.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz";
+         sha1 = "89b4d199ab2bee49de164ea02b89ce462d71b767";
+       };
+     };
+     "base-0.11.2" = {
+       name = "base";
+       packageName = "base";
+       version = "0.11.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/base/-/base-0.11.2.tgz";
+         sha512 = "5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==";
+       };
+     };
+     "binary-extensions-1.13.0" = {
+       name = "binary-extensions";
+       packageName = "binary-extensions";
+       version = "1.13.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.0.tgz";
+         sha512 = "EgmjVLMn22z7eGGv3kcnHwSnJXmFHjISTY9E/S5lIcTD3Oxw05QTcBLNkJFzcb3cNueUdF/IN4U+d78V0zO8Hw==";
+       };
+     };
+     "boolbase-1.0.0" = {
+       name = "boolbase";
+       packageName = "boolbase";
+       version = "1.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz";
+         sha1 = "68dff5fbe60c51eb37725ea9e3ed310dcc1e776e";
+       };
+     };
+     "brace-expansion-1.1.11" = {
+       name = "brace-expansion";
+       packageName = "brace-expansion";
+       version = "1.1.11";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz";
+         sha512 = "iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==";
+       };
+     };
+     "braces-2.3.2" = {
+       name = "braces";
+       packageName = "braces";
+       version = "2.3.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz";
+         sha512 = "aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==";
+       };
+     };
+     "browserslist-3.2.8" = {
+       name = "browserslist";
+       packageName = "browserslist";
+       version = "3.2.8";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/browserslist/-/browserslist-3.2.8.tgz";
+         sha512 = "WHVocJYavUwVgVViC0ORikPHQquXwVh939TaelZ4WDqpWgTX/FsGhl/+P4qBUAGcRvtOgDgC+xftNWWp2RUTAQ==";
+       };
+     };
+     "browserslist-4.4.1" = {
+       name = "browserslist";
+       packageName = "browserslist";
+       version = "4.4.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/browserslist/-/browserslist-4.4.1.tgz";
+         sha512 = "pEBxEXg7JwaakBXjATYw/D1YZh4QUSCX/Mnd/wnqSRPPSi1U39iDhDoKGoBUcraKdxDlrYqJxSI5nNvD+dWP2A==";
+       };
+     };
+     "cache-base-1.0.1" = {
+       name = "cache-base";
+       packageName = "cache-base";
+       version = "1.0.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz";
+         sha512 = "AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==";
+       };
+     };
+     "call-me-maybe-1.0.1" = {
+       name = "call-me-maybe";
+       packageName = "call-me-maybe";
+       version = "1.0.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz";
+         sha1 = "26d208ea89e37b5cbde60250a15f031c16a4d66b";
+       };
+     };
+     "caller-callsite-2.0.0" = {
+       name = "caller-callsite";
+       packageName = "caller-callsite";
+       version = "2.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz";
+         sha1 = "847e0fce0a223750a9a027c54b33731ad3154134";
+       };
+     };
+     "caller-path-2.0.0" = {
+       name = "caller-path";
+       packageName = "caller-path";
+       version = "2.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz";
+         sha1 = "468f83044e369ab2010fac5f06ceee15bb2cb1f4";
+       };
+     };
+     "callsites-2.0.0" = {
+       name = "callsites";
+       packageName = "callsites";
+       version = "2.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz";
+         sha1 = "06eb84f00eea413da86affefacbffb36093b3c50";
+       };
+     };
+     "camelcase-4.1.0" = {
+       name = "camelcase";
+       packageName = "camelcase";
+       version = "4.1.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz";
+         sha1 = "d545635be1e33c542649c69173e5de6acfae34dd";
+       };
+     };
+     "camelcase-css-2.0.1" = {
+       name = "camelcase-css";
+       packageName = "camelcase-css";
+       version = "2.0.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz";
+         sha512 = "QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==";
+       };
+     };
+     "camelcase-keys-4.2.0" = {
+       name = "camelcase-keys";
+       packageName = "camelcase-keys";
+       version = "4.2.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-4.2.0.tgz";
+         sha1 = "a2aa5fb1af688758259c32c141426d78923b9b77";
+       };
+     };
+     "caniuse-api-3.0.0" = {
+       name = "caniuse-api";
+       packageName = "caniuse-api";
+       version = "3.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz";
+         sha512 = "bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==";
+       };
+     };
+     "caniuse-lite-1.0.30000935" = {
+       name = "caniuse-lite";
+       packageName = "caniuse-lite";
+       version = "1.0.30000935";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000935.tgz";
+         sha512 = "1Y2uJ5y56qDt3jsDTdBHL1OqiImzjoQcBG6Yl3Qizq8mcc2SgCFpi+ZwLLqkztYnk9l87IYqRlNBnPSOTbFkXQ==";
+       };
+     };
+     "ccount-1.0.3" = {
+       name = "ccount";
+       packageName = "ccount";
+       version = "1.0.3";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/ccount/-/ccount-1.0.3.tgz";
+         sha512 = "Jt9tIBkRc9POUof7QA/VwWd+58fKkEEfI+/t1/eOlxKM7ZhrczNzMFefge7Ai+39y1pR/pP6cI19guHy3FSLmw==";
+       };
+     };
+     "chalk-1.1.3" = {
+       name = "chalk";
+       packageName = "chalk";
+       version = "1.1.3";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz";
+         sha1 = "a8115c55e4a702fe4d150abd3872822a7e09fc98";
+       };
+     };
+     "chalk-2.4.2" = {
+       name = "chalk";
+       packageName = "chalk";
+       version = "2.4.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz";
+         sha512 = "Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==";
+       };
+     };
+     "character-entities-1.2.2" = {
+       name = "character-entities";
+       packageName = "character-entities";
+       version = "1.2.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/character-entities/-/character-entities-1.2.2.tgz";
+         sha512 = "sMoHX6/nBiy3KKfC78dnEalnpn0Az0oSNvqUWYTtYrhRI5iUIYsROU48G+E+kMFQzqXaJ8kHJZ85n7y6/PHgwQ==";
+       };
+     };
+     "character-entities-html4-1.1.2" = {
+       name = "character-entities-html4";
+       packageName = "character-entities-html4";
+       version = "1.1.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-1.1.2.tgz";
+         sha512 = "sIrXwyna2+5b0eB9W149izTPJk/KkJTg6mEzDGibwBUkyH1SbDa+nf515Ppdi3MaH35lW0JFJDWeq9Luzes1Iw==";
+       };
+     };
+     "character-entities-legacy-1.1.2" = {
+       name = "character-entities-legacy";
+       packageName = "character-entities-legacy";
+       version = "1.1.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.2.tgz";
+         sha512 = "9NB2VbXtXYWdXzqrvAHykE/f0QJxzaKIpZ5QzNZrrgQ7Iyxr2vnfS8fCBNVW9nUEZE0lo57nxKRqnzY/dKrwlA==";
+       };
+     };
+     "character-reference-invalid-1.1.2" = {
+       name = "character-reference-invalid";
+       packageName = "character-reference-invalid";
+       version = "1.1.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.2.tgz";
+         sha512 = "7I/xceXfKyUJmSAn/jw8ve/9DyOP7XxufNYLI9Px7CmsKgEUaZLUTax6nZxGQtaoiZCjpu6cHPj20xC/vqRReQ==";
+       };
+     };
+     "chokidar-2.1.0" = {
+       name = "chokidar";
+       packageName = "chokidar";
+       version = "2.1.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/chokidar/-/chokidar-2.1.0.tgz";
+         sha512 = "5t6G2SH8eO6lCvYOoUpaRnF5Qfd//gd7qJAkwRUw9qlGVkiQ13uwQngqbWWaurOsaAm9+kUGbITADxt6H0XFNQ==";
+       };
+     };
+     "class-utils-0.3.6" = {
+       name = "class-utils";
+       packageName = "class-utils";
+       version = "0.3.6";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz";
+         sha512 = "qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==";
+       };
+     };
+     "cliui-4.1.0" = {
+       name = "cliui";
+       packageName = "cliui";
+       version = "4.1.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz";
+         sha512 = "4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==";
+       };
+     };
+     "clone-1.0.4" = {
+       name = "clone";
+       packageName = "clone";
+       version = "1.0.4";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz";
+         sha1 = "da309cc263df15994c688ca902179ca3c7cd7c7e";
+       };
+     };
+     "clone-regexp-1.0.1" = {
+       name = "clone-regexp";
+       packageName = "clone-regexp";
+       version = "1.0.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/clone-regexp/-/clone-regexp-1.0.1.tgz";
+         sha512 = "Fcij9IwRW27XedRIJnSOEupS7RVcXtObJXbcUOX93UCLqqOdRpkvzKywOOSizmEK/Is3S/RHX9dLdfo6R1Q1mw==";
+       };
+     };
+     "coa-2.0.2" = {
+       name = "coa";
+       packageName = "coa";
+       version = "2.0.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz";
+         sha512 = "q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==";
+       };
+     };
+     "code-point-at-1.1.0" = {
+       name = "code-point-at";
+       packageName = "code-point-at";
+       version = "1.1.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz";
+         sha1 = "0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77";
+       };
+     };
+     "collapse-white-space-1.0.4" = {
+       name = "collapse-white-space";
+       packageName = "collapse-white-space";
+       version = "1.0.4";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.4.tgz";
+         sha512 = "YfQ1tAUZm561vpYD+5eyWN8+UsceQbSrqqlc/6zDY2gtAE+uZLSdkkovhnGpmCThsvKBFakq4EdY/FF93E8XIw==";
+       };
+     };
+     "collection-visit-1.0.0" = {
+       name = "collection-visit";
+       packageName = "collection-visit";
+       version = "1.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz";
+         sha1 = "4bc0373c164bc3291b4d368c829cf1a80a59dca0";
+       };
+     };
+     "color-0.11.4" = {
+       name = "color";
+       packageName = "color";
+       version = "0.11.4";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/color/-/color-0.11.4.tgz";
+         sha1 = "6d7b5c74fb65e841cd48792ad1ed5e07b904d764";
+       };
+     };
+     "color-3.1.0" = {
+       name = "color";
+       packageName = "color";
+       version = "3.1.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/color/-/color-3.1.0.tgz";
+         sha512 = "CwyopLkuRYO5ei2EpzpIh6LqJMt6Mt+jZhO5VI5f/wJLZriXQE32/SSqzmrh+QB+AZT81Cj8yv+7zwToW8ahZg==";
+       };
+     };
+     "color-convert-1.9.3" = {
+       name = "color-convert";
+       packageName = "color-convert";
+       version = "1.9.3";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz";
+         sha512 = "QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==";
+       };
+     };
+     "color-diff-0.1.7" = {
+       name = "color-diff";
+       packageName = "color-diff";
+       version = "0.1.7";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/color-diff/-/color-diff-0.1.7.tgz";
+         sha1 = "6db78cd9482a8e459d40821eaf4b503283dcb8e2";
+       };
+     };
+     "color-name-1.1.3" = {
+       name = "color-name";
+       packageName = "color-name";
+       version = "1.1.3";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz";
+         sha1 = "a7d0558bd89c42f795dd42328f740831ca53bc25";
+       };
+     };
+     "color-string-0.3.0" = {
+       name = "color-string";
+       packageName = "color-string";
+       version = "0.3.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/color-string/-/color-string-0.3.0.tgz";
+         sha1 = "27d46fb67025c5c2fa25993bfbf579e47841b991";
+       };
+     };
+     "color-string-1.5.3" = {
+       name = "color-string";
+       packageName = "color-string";
+       version = "1.5.3";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/color-string/-/color-string-1.5.3.tgz";
+         sha512 = "dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw==";
+       };
+     };
+     "colorguard-1.2.1" = {
+       name = "colorguard";
+       packageName = "colorguard";
+       version = "1.2.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/colorguard/-/colorguard-1.2.1.tgz";
+         sha512 = "qYVKTg626qpDg4/eBnPXidEPXn5+krbYqHVfyyEFBWV5z3IF4p44HKY/eE2t1ohlcrlIkDgHmFJMfQ8qMLnSFw==";
+       };
+     };
+     "colors-1.1.2" = {
+       name = "colors";
+       packageName = "colors";
+       version = "1.1.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz";
+         sha1 = "168a4701756b6a7f51a12ce0c97bfa28c084ed63";
+       };
+     };
+     "component-emitter-1.2.1" = {
+       name = "component-emitter";
+       packageName = "component-emitter";
+       version = "1.2.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz";
+         sha1 = "137918d6d78283f7df7a6b7c5a63e140e69425e6";
+       };
+     };
+     "concat-map-0.0.1" = {
+       name = "concat-map";
+       packageName = "concat-map";
+       version = "0.0.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz";
+         sha1 = "d8a96bd77fd68df7793a73036a3ba0d5405d477b";
+       };
+     };
+     "convert-source-map-1.6.0" = {
+       name = "convert-source-map";
+       packageName = "convert-source-map";
+       version = "1.6.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz";
+         sha512 = "eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==";
+       };
+     };
+     "copy-descriptor-0.1.1" = {
+       name = "copy-descriptor";
+       packageName = "copy-descriptor";
+       version = "0.1.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz";
+         sha1 = "676f6eb3c39997c2ee1ac3a924fd6124748f578d";
+       };
+     };
+     "core-util-is-1.0.2" = {
+       name = "core-util-is";
+       packageName = "core-util-is";
+       version = "1.0.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz";
+         sha1 = "b5fd54220aa2bc5ab57aab7140c940754503c1a7";
+       };
+     };
+     "cosmiconfig-2.2.2" = {
+       name = "cosmiconfig";
+       packageName = "cosmiconfig";
+       version = "2.2.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-2.2.2.tgz";
+         sha512 = "GiNXLwAFPYHy25XmTPpafYvn3CLAkJ8FLsscq78MQd1Kh0OU6Yzhn4eV2MVF4G9WEQZoWEGltatdR+ntGPMl5A==";
+       };
+     };
+     "cosmiconfig-5.0.7" = {
+       name = "cosmiconfig";
+       packageName = "cosmiconfig";
+       version = "5.0.7";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.0.7.tgz";
+         sha512 = "PcLqxTKiDmNT6pSpy4N6KtuPwb53W+2tzNvwOZw0WH9N6O0vLIBq0x8aj8Oj75ere4YcGi48bDFCL+3fRJdlNA==";
+       };
+     };
+     "cross-spawn-5.1.0" = {
+       name = "cross-spawn";
+       packageName = "cross-spawn";
+       version = "5.1.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz";
+         sha1 = "e8bd0efee58fcff6f8f94510a0a554bbfa235449";
+       };
+     };
+     "css-color-function-1.3.3" = {
+       name = "css-color-function";
+       packageName = "css-color-function";
+       version = "1.3.3";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/css-color-function/-/css-color-function-1.3.3.tgz";
+         sha1 = "8ed24c2c0205073339fafa004bc8c141fccb282e";
+       };
+     };
+     "css-color-names-0.0.3" = {
+       name = "css-color-names";
+       packageName = "css-color-names";
+       version = "0.0.3";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.3.tgz";
+         sha1 = "de0cef16f4d8aa8222a320d5b6d7e9bbada7b9f6";
+       };
+     };
+     "css-color-names-0.0.4" = {
+       name = "css-color-names";
+       packageName = "css-color-names";
+       version = "0.0.4";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz";
+         sha1 = "808adc2e79cf84738069b646cb20ec27beb629e0";
+       };
+     };
+     "css-declaration-sorter-4.0.1" = {
+       name = "css-declaration-sorter";
+       packageName = "css-declaration-sorter";
+       version = "4.0.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz";
+         sha512 = "BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA==";
+       };
+     };
+     "css-mqpacker-6.0.2" = {
+       name = "css-mqpacker";
+       packageName = "css-mqpacker";
+       version = "6.0.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/css-mqpacker/-/css-mqpacker-6.0.2.tgz";
+         sha512 = "01xogFCcK6KQmUS+EwSS5R5Sq/mp9rjLBw/7ej+xPZHKE0gzjsWk8uJpFuKOllQrVEOJqt7Y8H6rCNG+sMIg+Q==";
+       };
+     };
+     "css-select-2.0.2" = {
+       name = "css-select";
+       packageName = "css-select";
+       version = "2.0.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/css-select/-/css-select-2.0.2.tgz";
+         sha512 = "dSpYaDVoWaELjvZ3mS6IKZM/y2PMPa/XYoEfYNZePL4U/XgyxZNroHEHReDx/d+VgXh9VbCTtFqLkFbmeqeaRQ==";
+       };
+     };
+     "css-select-base-adapter-0.1.1" = {
+       name = "css-select-base-adapter";
+       packageName = "css-select-base-adapter";
+       version = "0.1.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz";
+         sha512 = "jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==";
+       };
+     };
+     "css-tree-1.0.0-alpha.28" = {
+       name = "css-tree";
+       packageName = "css-tree";
+       version = "1.0.0-alpha.28";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.28.tgz";
+         sha512 = "joNNW1gCp3qFFzj4St6zk+Wh/NBv0vM5YbEreZk0SD4S23S+1xBKb6cLDg2uj4P4k/GUMlIm6cKIDqIG+vdt0w==";
+       };
+     };
+     "css-tree-1.0.0-alpha.29" = {
+       name = "css-tree";
+       packageName = "css-tree";
+       version = "1.0.0-alpha.29";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.29.tgz";
+         sha512 = "sRNb1XydwkW9IOci6iB2xmy8IGCj6r/fr+JWitvJ2JxQRPzN3T4AGGVWCMlVmVwM1gtgALJRmGIlWv5ppnGGkg==";
+       };
+     };
+     "css-unit-converter-1.1.1" = {
+       name = "css-unit-converter";
+       packageName = "css-unit-converter";
+       version = "1.1.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/css-unit-converter/-/css-unit-converter-1.1.1.tgz";
+         sha1 = "d9b9281adcfd8ced935bdbaba83786897f64e996";
+       };
+     };
+     "css-url-regex-1.1.0" = {
+       name = "css-url-regex";
+       packageName = "css-url-regex";
+       version = "1.1.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/css-url-regex/-/css-url-regex-1.1.0.tgz";
+         sha1 = "83834230cc9f74c457de59eebd1543feeb83b7ec";
+       };
+     };
+     "css-what-2.1.2" = {
+       name = "css-what";
+       packageName = "css-what";
+       version = "2.1.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/css-what/-/css-what-2.1.2.tgz";
+         sha512 = "wan8dMWQ0GUeF7DGEPVjhHemVW/vy6xUYmFzRY8RYqgA0JtXC9rJmbScBjqSu6dg9q0lwPQy6ZAmJVr3PPTvqQ==";
+       };
+     };
+     "cssesc-2.0.0" = {
+       name = "cssesc";
+       packageName = "cssesc";
+       version = "2.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz";
+         sha512 = "MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==";
+       };
+     };
+     "cssnano-4.1.8" = {
+       name = "cssnano";
+       packageName = "cssnano";
+       version = "4.1.8";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/cssnano/-/cssnano-4.1.8.tgz";
+         sha512 = "5GIY0VzAHORpbKiL3rMXp4w4M1Ki+XlXgEXyuWXVd3h6hlASb+9Vo76dNP56/elLMVBBsUfusCo1q56uW0UWig==";
+       };
+     };
+     "cssnano-preset-default-4.0.6" = {
+       name = "cssnano-preset-default";
+       packageName = "cssnano-preset-default";
+       version = "4.0.6";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.6.tgz";
+         sha512 = "UPboYbFaJFtDUhJ4fqctThWbbyF4q01/7UhsZbLzp35l+nUxtzh1SifoVlEfyLM3n3Z0htd8B1YlCxy9i+bQvg==";
+       };
+     };
+     "cssnano-util-get-arguments-4.0.0" = {
+       name = "cssnano-util-get-arguments";
+       packageName = "cssnano-util-get-arguments";
+       version = "4.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz";
+         sha1 = "ed3a08299f21d75741b20f3b81f194ed49cc150f";
+       };
+     };
+     "cssnano-util-get-match-4.0.0" = {
+       name = "cssnano-util-get-match";
+       packageName = "cssnano-util-get-match";
+       version = "4.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz";
+         sha1 = "c0e4ca07f5386bb17ec5e52250b4f5961365156d";
+       };
+     };
+     "cssnano-util-raw-cache-4.0.1" = {
+       name = "cssnano-util-raw-cache";
+       packageName = "cssnano-util-raw-cache";
+       version = "4.0.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz";
+         sha512 = "qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA==";
+       };
+     };
+     "cssnano-util-same-parent-4.0.1" = {
+       name = "cssnano-util-same-parent";
+       packageName = "cssnano-util-same-parent";
+       version = "4.0.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz";
+         sha512 = "WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==";
+       };
+     };
+     "csso-3.5.1" = {
+       name = "csso";
+       packageName = "csso";
+       version = "3.5.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/csso/-/csso-3.5.1.tgz";
+         sha512 = "vrqULLffYU1Q2tLdJvaCYbONStnfkfimRxXNaGjxMldI0C7JPBC4rB1RyjhfdZ4m1frm8pM9uRPKH3d2knZ8gg==";
+       };
+     };
+     "currently-unhandled-0.4.1" = {
+       name = "currently-unhandled";
+       packageName = "currently-unhandled";
+       version = "0.4.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz";
+         sha1 = "988df33feab191ef799a61369dd76c17adf957ea";
+       };
+     };
+     "debug-2.6.9" = {
+       name = "debug";
+       packageName = "debug";
+       version = "2.6.9";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz";
+         sha512 = "bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==";
+       };
+     };
+     "debug-3.2.6" = {
+       name = "debug";
+       packageName = "debug";
+       version = "3.2.6";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz";
+         sha512 = "mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==";
+       };
+     };
+     "debug-4.1.1" = {
+       name = "debug";
+       packageName = "debug";
+       version = "4.1.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz";
+         sha512 = "pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==";
+       };
+     };
+     "decamelize-1.2.0" = {
+       name = "decamelize";
+       packageName = "decamelize";
+       version = "1.2.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz";
+         sha1 = "f6534d15148269b20352e7bee26f501f9a191290";
+       };
+     };
+     "decamelize-keys-1.1.0" = {
+       name = "decamelize-keys";
+       packageName = "decamelize-keys";
+       version = "1.1.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz";
+         sha1 = "d171a87933252807eb3cb61dc1c1445d078df2d9";
+       };
+     };
+     "decode-uri-component-0.2.0" = {
+       name = "decode-uri-component";
+       packageName = "decode-uri-component";
+       version = "0.2.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz";
+         sha1 = "eb3913333458775cb84cd1a1fae062106bb87545";
+       };
+     };
+     "define-properties-1.1.3" = {
+       name = "define-properties";
+       packageName = "define-properties";
+       version = "1.1.3";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz";
+         sha512 = "3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==";
+       };
+     };
+     "define-property-0.2.5" = {
+       name = "define-property";
+       packageName = "define-property";
+       version = "0.2.5";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz";
+         sha1 = "c35b1ef918ec3c990f9a5bc57be04aacec5c8116";
+       };
+     };
+     "define-property-1.0.0" = {
+       name = "define-property";
+       packageName = "define-property";
+       version = "1.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz";
+         sha1 = "769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6";
+       };
+     };
+     "define-property-2.0.2" = {
+       name = "define-property";
+       packageName = "define-property";
+       version = "2.0.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz";
+         sha512 = "jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==";
+       };
+     };
+     "dependency-graph-0.7.2" = {
+       name = "dependency-graph";
+       packageName = "dependency-graph";
+       version = "0.7.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.7.2.tgz";
+         sha512 = "KqtH4/EZdtdfWX0p6MGP9jljvxSY6msy/pRUD4jgNwVpv3v1QmNLlsB3LDSSUg79BRVSn7jI1QPRtArGABovAQ==";
+       };
+     };
+     "dir-glob-2.0.0" = {
+       name = "dir-glob";
+       packageName = "dir-glob";
+       version = "2.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz";
+         sha512 = "37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==";
+       };
+     };
+     "dir-glob-2.2.2" = {
+       name = "dir-glob";
+       packageName = "dir-glob";
+       version = "2.2.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz";
+         sha512 = "f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==";
+       };
+     };
+     "dom-serializer-0.1.0" = {
+       name = "dom-serializer";
+       packageName = "dom-serializer";
+       version = "0.1.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz";
+         sha1 = "073c697546ce0780ce23be4a28e293e40bc30c82";
+       };
+     };
+     "domelementtype-1.1.3" = {
+       name = "domelementtype";
+       packageName = "domelementtype";
+       version = "1.1.3";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz";
+         sha1 = "bd28773e2642881aec51544924299c5cd822185b";
+       };
+     };
+     "domelementtype-1.3.1" = {
+       name = "domelementtype";
+       packageName = "domelementtype";
+       version = "1.3.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz";
+         sha512 = "BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==";
+       };
+     };
+     "domhandler-2.4.2" = {
+       name = "domhandler";
+       packageName = "domhandler";
+       version = "2.4.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz";
+         sha512 = "JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==";
+       };
+     };
+     "domutils-1.7.0" = {
+       name = "domutils";
+       packageName = "domutils";
+       version = "1.7.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz";
+         sha512 = "Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==";
+       };
+     };
+     "dot-prop-4.2.0" = {
+       name = "dot-prop";
+       packageName = "dot-prop";
+       version = "4.2.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz";
+         sha512 = "tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==";
+       };
+     };
+     "electron-to-chromium-1.3.113" = {
+       name = "electron-to-chromium";
+       packageName = "electron-to-chromium";
+       version = "1.3.113";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.113.tgz";
+         sha512 = "De+lPAxEcpxvqPTyZAXELNpRZXABRxf+uL/rSykstQhzj/B0l1150G/ExIIxKc16lI89Hgz81J0BHAcbTqK49g==";
+       };
+     };
+     "emoji-regex-7.0.3" = {
+       name = "emoji-regex";
+       packageName = "emoji-regex";
+       version = "7.0.3";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz";
+         sha512 = "CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==";
+       };
+     };
+     "entities-1.1.2" = {
+       name = "entities";
+       packageName = "entities";
+       version = "1.1.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz";
+         sha512 = "f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==";
+       };
+     };
+     "error-ex-1.3.2" = {
+       name = "error-ex";
+       packageName = "error-ex";
+       version = "1.3.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz";
+         sha512 = "7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==";
+       };
+     };
+     "es-abstract-1.13.0" = {
+       name = "es-abstract";
+       packageName = "es-abstract";
+       version = "1.13.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/es-abstract/-/es-abstract-1.13.0.tgz";
+         sha512 = "vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg==";
+       };
+     };
+     "es-to-primitive-1.2.0" = {
+       name = "es-to-primitive";
+       packageName = "es-to-primitive";
+       version = "1.2.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz";
+         sha512 = "qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==";
+       };
+     };
+     "escape-string-regexp-1.0.5" = {
+       name = "escape-string-regexp";
+       packageName = "escape-string-regexp";
+       version = "1.0.5";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz";
+         sha1 = "1b61c0562190a8dff6ae3bb2cf0200ca130b86d4";
+       };
+     };
+     "esprima-4.0.1" = {
+       name = "esprima";
+       packageName = "esprima";
+       version = "4.0.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz";
+         sha512 = "eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==";
+       };
+     };
+     "esutils-2.0.2" = {
+       name = "esutils";
+       packageName = "esutils";
+       version = "2.0.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz";
+         sha1 = "0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b";
+       };
+     };
+     "execa-0.7.0" = {
+       name = "execa";
+       packageName = "execa";
+       version = "0.7.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz";
+         sha1 = "944becd34cc41ee32a63a9faf27ad5a65fc59777";
+       };
+     };
+     "execall-1.0.0" = {
+       name = "execall";
+       packageName = "execall";
+       version = "1.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/execall/-/execall-1.0.0.tgz";
+         sha1 = "73d0904e395b3cab0658b08d09ec25307f29bb73";
+       };
+     };
+     "expand-brackets-2.1.4" = {
+       name = "expand-brackets";
+       packageName = "expand-brackets";
+       version = "2.1.4";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz";
+         sha1 = "b77735e315ce30f6b6eff0f83b04151a22449622";
+       };
+     };
+     "extend-3.0.2" = {
+       name = "extend";
+       packageName = "extend";
+       version = "3.0.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz";
+         sha512 = "fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==";
+       };
+     };
+     "extend-shallow-2.0.1" = {
+       name = "extend-shallow";
+       packageName = "extend-shallow";
+       version = "2.0.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz";
+         sha1 = "51af7d614ad9a9f610ea1bafbb989d6b1c56890f";
+       };
+     };
+     "extend-shallow-3.0.2" = {
+       name = "extend-shallow";
+       packageName = "extend-shallow";
+       version = "3.0.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz";
+         sha1 = "26a71aaf073b39fb2127172746131c2704028db8";
+       };
+     };
+     "extglob-2.0.4" = {
+       name = "extglob";
+       packageName = "extglob";
+       version = "2.0.4";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz";
+         sha512 = "Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==";
+       };
+     };
+     "fast-deep-equal-2.0.1" = {
+       name = "fast-deep-equal";
+       packageName = "fast-deep-equal";
+       version = "2.0.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz";
+         sha1 = "7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49";
+       };
+     };
+     "fast-glob-2.2.6" = {
+       name = "fast-glob";
+       packageName = "fast-glob";
+       version = "2.2.6";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.6.tgz";
+         sha512 = "0BvMaZc1k9F+MeWWMe8pL6YltFzZYcJsYU7D4JyDA6PAczaXvxqQQ/z+mDF7/4Mw01DeUc+i3CTKajnkANkV4w==";
+       };
+     };
+     "fast-json-stable-stringify-2.0.0" = {
+       name = "fast-json-stable-stringify";
+       packageName = "fast-json-stable-stringify";
+       version = "2.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz";
+         sha1 = "d5142c0caee6b1189f87d3a76111064f86c8bbf2";
+       };
+     };
+     "file-entry-cache-4.0.0" = {
+       name = "file-entry-cache";
+       packageName = "file-entry-cache";
+       version = "4.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-4.0.0.tgz";
+         sha512 = "AVSwsnbV8vH/UVbvgEhf3saVQXORNv0ZzSkvkhQIaia5Tia+JhGTaa/ePUSVoPHQyGayQNmYfkzFi3WZV5zcpA==";
+       };
+     };
+     "fill-range-4.0.0" = {
+       name = "fill-range";
+       packageName = "fill-range";
+       version = "4.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz";
+         sha1 = "d544811d428f98eb06a63dc402d2403c328c38f7";
+       };
+     };
+     "find-up-2.1.0" = {
+       name = "find-up";
+       packageName = "find-up";
+       version = "2.1.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz";
+         sha1 = "45d1b7e506c717ddd482775a2b77920a3c0c57a7";
+       };
+     };
+     "flat-cache-2.0.1" = {
+       name = "flat-cache";
+       packageName = "flat-cache";
+       version = "2.0.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz";
+         sha512 = "LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==";
+       };
+     };
+     "flatted-2.0.0" = {
+       name = "flatted";
+       packageName = "flatted";
+       version = "2.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/flatted/-/flatted-2.0.0.tgz";
+         sha512 = "R+H8IZclI8AAkSBRQJLVOsxwAoHd6WC40b4QTNWIjzAa6BXOBfQcM587MXDTVPeYaopFNWHUFLx7eNmHDSxMWg==";
+       };
+     };
+     "flatten-1.0.2" = {
+       name = "flatten";
+       packageName = "flatten";
+       version = "1.0.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/flatten/-/flatten-1.0.2.tgz";
+         sha1 = "dae46a9d78fbe25292258cc1e780a41d95c03782";
+       };
+     };
+     "for-in-1.0.2" = {
+       name = "for-in";
+       packageName = "for-in";
+       version = "1.0.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz";
+         sha1 = "81068d295a8142ec0ac726c6e2200c30fb6d5e80";
+       };
+     };
+     "fragment-cache-0.2.1" = {
+       name = "fragment-cache";
+       packageName = "fragment-cache";
+       version = "0.2.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz";
+         sha1 = "4290fad27f13e89be7f33799c6bc5a0abfff0d19";
+       };
+     };
+     "fs-extra-5.0.0" = {
+       name = "fs-extra";
+       packageName = "fs-extra";
+       version = "5.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/fs-extra/-/fs-extra-5.0.0.tgz";
+         sha512 = "66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ==";
+       };
+     };
+     "fs.realpath-1.0.0" = {
+       name = "fs.realpath";
+       packageName = "fs.realpath";
+       version = "1.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz";
+         sha1 = "1504ad2523158caa40db4a2787cb01411994ea4f";
+       };
+     };
+     "fsevents-1.2.7" = {
+       name = "fsevents";
+       packageName = "fsevents";
+       version = "1.2.7";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/fsevents/-/fsevents-1.2.7.tgz";
+         sha512 = "Pxm6sI2MeBD7RdD12RYsqaP0nMiwx8eZBXCa6z2L+mRHm2DYrOYwihmhjpkdjUHwQhslWQjRpEgNq4XvBmaAuw==";
+       };
+     };
+     "function-bind-1.1.1" = {
+       name = "function-bind";
+       packageName = "function-bind";
+       version = "1.1.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz";
+         sha512 = "yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==";
+       };
+     };
+     "get-caller-file-1.0.3" = {
+       name = "get-caller-file";
+       packageName = "get-caller-file";
+       version = "1.0.3";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz";
+         sha512 = "3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==";
+       };
+     };
+     "get-stdin-6.0.0" = {
+       name = "get-stdin";
+       packageName = "get-stdin";
+       version = "6.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz";
+         sha512 = "jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==";
+       };
+     };
+     "get-stream-3.0.0" = {
+       name = "get-stream";
+       packageName = "get-stream";
+       version = "3.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz";
+         sha1 = "8e943d1358dc37555054ecbe2edb05aa174ede14";
+       };
+     };
+     "get-value-2.0.6" = {
+       name = "get-value";
+       packageName = "get-value";
+       version = "2.0.6";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz";
+         sha1 = "dc15ca1c672387ca76bd37ac0a395ba2042a2c28";
+       };
+     };
+     "glob-7.1.3" = {
+       name = "glob";
+       packageName = "glob";
+       version = "7.1.3";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz";
+         sha512 = "vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==";
+       };
+     };
+     "glob-parent-3.1.0" = {
+       name = "glob-parent";
+       packageName = "glob-parent";
+       version = "3.1.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz";
+         sha1 = "9e6af6299d8d3bd2bd40430832bd113df906c5ae";
+       };
+     };
+     "glob-to-regexp-0.3.0" = {
+       name = "glob-to-regexp";
+       packageName = "glob-to-regexp";
+       version = "0.3.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz";
+         sha1 = "8c5a1494d2066c570cc3bfe4496175acc4d502ab";
+       };
+     };
+     "global-modules-2.0.0" = {
+       name = "global-modules";
+       packageName = "global-modules";
+       version = "2.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz";
+         sha512 = "NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==";
+       };
+     };
+     "global-prefix-3.0.0" = {
+       name = "global-prefix";
+       packageName = "global-prefix";
+       version = "3.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz";
+         sha512 = "awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==";
+       };
+     };
+     "globals-11.10.0" = {
+       name = "globals";
+       packageName = "globals";
+       version = "11.10.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/globals/-/globals-11.10.0.tgz";
+         sha512 = "0GZF1RiPKU97IHUO5TORo9w1PwrH/NBPl+fS7oMLdaTRiYmYbwK4NWoZWrAdd0/abG9R2BU+OiwyQpTpE6pdfQ==";
+       };
+     };
+     "globby-8.0.2" = {
+       name = "globby";
+       packageName = "globby";
+       version = "8.0.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/globby/-/globby-8.0.2.tgz";
+         sha512 = "yTzMmKygLp8RUpG1Ymu2VXPSJQZjNAZPD4ywgYEaG7e4tBJeUQBO8OpXrf1RCNcEs5alsoJYPAMiIHP0cmeC7w==";
+       };
+     };
+     "globby-9.0.0" = {
+       name = "globby";
+       packageName = "globby";
+       version = "9.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/globby/-/globby-9.0.0.tgz";
+         sha512 = "q0qiO/p1w/yJ0hk8V9x1UXlgsXUxlGd0AHUOXZVXBO6aznDtpx7M8D1kBrCAItoPm+4l8r6ATXV1JpjY2SBQOw==";
+       };
+     };
+     "globjoin-0.1.4" = {
+       name = "globjoin";
+       packageName = "globjoin";
+       version = "0.1.4";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/globjoin/-/globjoin-0.1.4.tgz";
+         sha1 = "2f4494ac8919e3767c5cbb691e9f463324285d43";
+       };
+     };
+     "gonzales-pe-4.2.3" = {
+       name = "gonzales-pe";
+       packageName = "gonzales-pe";
+       version = "4.2.3";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/gonzales-pe/-/gonzales-pe-4.2.3.tgz";
+         sha512 = "Kjhohco0esHQnOiqqdJeNz/5fyPkOMD/d6XVjwTAoPGUFh0mCollPUTUTa2OZy4dYNAqlPIQdTiNzJTWdd9Htw==";
+       };
+     };
+     "graceful-fs-4.1.15" = {
+       name = "graceful-fs";
+       packageName = "graceful-fs";
+       version = "4.1.15";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz";
+         sha512 = "6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==";
+       };
+     };
+     "has-1.0.3" = {
+       name = "has";
+       packageName = "has";
+       version = "1.0.3";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/has/-/has-1.0.3.tgz";
+         sha512 = "f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==";
+       };
+     };
+     "has-ansi-2.0.0" = {
+       name = "has-ansi";
+       packageName = "has-ansi";
+       version = "2.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz";
+         sha1 = "34f5049ce1ecdf2b0649af3ef24e45ed35416d91";
+       };
+     };
+     "has-flag-1.0.0" = {
+       name = "has-flag";
+       packageName = "has-flag";
+       version = "1.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz";
+         sha1 = "9d9e793165ce017a00f00418c43f942a7b1d11fa";
+       };
+     };
+     "has-flag-3.0.0" = {
+       name = "has-flag";
+       packageName = "has-flag";
+       version = "3.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz";
+         sha1 = "b5d454dc2199ae225699f3467e5a07f3b955bafd";
+       };
+     };
+     "has-symbols-1.0.0" = {
+       name = "has-symbols";
+       packageName = "has-symbols";
+       version = "1.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz";
+         sha1 = "ba1a8f1af2a0fc39650f5c850367704122063b44";
+       };
+     };
+     "has-value-0.3.1" = {
+       name = "has-value";
+       packageName = "has-value";
+       version = "0.3.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz";
+         sha1 = "7b1f58bada62ca827ec0a2078025654845995e1f";
+       };
+     };
+     "has-value-1.0.0" = {
+       name = "has-value";
+       packageName = "has-value";
+       version = "1.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz";
+         sha1 = "18b281da585b1c5c51def24c930ed29a0be6b177";
+       };
+     };
+     "has-values-0.1.4" = {
+       name = "has-values";
+       packageName = "has-values";
+       version = "0.1.4";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz";
+         sha1 = "6d61de95d91dfca9b9a02089ad384bff8f62b771";
+       };
+     };
+     "has-values-1.0.0" = {
+       name = "has-values";
+       packageName = "has-values";
+       version = "1.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz";
+         sha1 = "95b0b63fec2146619a6fe57fe75628d5a39efe4f";
+       };
+     };
+     "hex-color-regex-1.1.0" = {
+       name = "hex-color-regex";
+       packageName = "hex-color-regex";
+       version = "1.1.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz";
+         sha512 = "l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==";
+       };
+     };
+     "hosted-git-info-2.7.1" = {
+       name = "hosted-git-info";
+       packageName = "hosted-git-info";
+       version = "2.7.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz";
+         sha512 = "7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==";
+       };
+     };
+     "hsl-regex-1.0.0" = {
+       name = "hsl-regex";
+       packageName = "hsl-regex";
+       version = "1.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz";
+         sha1 = "d49330c789ed819e276a4c0d272dffa30b18fe6e";
+       };
+     };
+     "hsla-regex-1.0.0" = {
+       name = "hsla-regex";
+       packageName = "hsla-regex";
+       version = "1.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz";
+         sha1 = "c1ce7a3168c8c6614033a4b5f7877f3b225f9c38";
+       };
+     };
+     "html-comment-regex-1.1.2" = {
+       name = "html-comment-regex";
+       packageName = "html-comment-regex";
+       version = "1.1.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.2.tgz";
+         sha512 = "P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==";
+       };
+     };
+     "html-tags-2.0.0" = {
+       name = "html-tags";
+       packageName = "html-tags";
+       version = "2.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/html-tags/-/html-tags-2.0.0.tgz";
+         sha1 = "10b30a386085f43cede353cc8fa7cb0deeea668b";
+       };
+     };
+     "htmlparser2-3.10.0" = {
+       name = "htmlparser2";
+       packageName = "htmlparser2";
+       version = "3.10.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.0.tgz";
+         sha512 = "J1nEUGv+MkXS0weHNWVKJJ+UrLfePxRWpN3C9bEi9fLxL2+ggW94DQvgYVXsaT30PGwYRIZKNZXuyMhp3Di4bQ==";
+       };
+     };
+     "ignore-3.3.10" = {
+       name = "ignore";
+       packageName = "ignore";
+       version = "3.3.10";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz";
+         sha512 = "Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==";
+       };
+     };
+     "ignore-4.0.6" = {
+       name = "ignore";
+       packageName = "ignore";
+       version = "4.0.6";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz";
+         sha512 = "cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==";
+       };
+     };
+     "ignore-5.0.5" = {
+       name = "ignore";
+       packageName = "ignore";
+       version = "5.0.5";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/ignore/-/ignore-5.0.5.tgz";
+         sha512 = "kOC8IUb8HSDMVcYrDVezCxpJkzSQWTAzf3olpKM6o9rM5zpojx23O0Fl8Wr4+qJ6ZbPEHqf1fdwev/DS7v7pmA==";
+       };
+     };
+     "import-fresh-2.0.0" = {
+       name = "import-fresh";
+       packageName = "import-fresh";
+       version = "2.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz";
+         sha1 = "d81355c15612d386c61f9ddd3922d4304822a546";
+       };
+     };
+     "import-lazy-3.1.0" = {
+       name = "import-lazy";
+       packageName = "import-lazy";
+       version = "3.1.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/import-lazy/-/import-lazy-3.1.0.tgz";
+         sha512 = "8/gvXvX2JMn0F+CDlSC4l6kOmVaLOO3XLkksI7CI3Ud95KDYJuYur2b9P/PUt/i/pDAMd/DulQsNbbbmRRsDIQ==";
+       };
+     };
+     "imurmurhash-0.1.4" = {
+       name = "imurmurhash";
+       packageName = "imurmurhash";
+       version = "0.1.4";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz";
+         sha1 = "9218b9b2b928a238b13dc4fb6b6d576f231453ea";
+       };
+     };
+     "indent-string-3.2.0" = {
+       name = "indent-string";
+       packageName = "indent-string";
+       version = "3.2.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz";
+         sha1 = "4a5fd6d27cc332f37e5419a504dbb837105c9289";
+       };
+     };
+     "indexes-of-1.0.1" = {
+       name = "indexes-of";
+       packageName = "indexes-of";
+       version = "1.0.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz";
+         sha1 = "f30f716c8e2bd346c7b67d3df3915566a7c05607";
+       };
+     };
+     "inflight-1.0.6" = {
+       name = "inflight";
+       packageName = "inflight";
+       version = "1.0.6";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz";
+         sha1 = "49bd6331d7d02d0c09bc910a1075ba8165b56df9";
+       };
+     };
+     "inherits-2.0.3" = {
+       name = "inherits";
+       packageName = "inherits";
+       version = "2.0.3";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz";
+         sha1 = "633c2c83e3da42a502f52466022480f4208261de";
+       };
+     };
+     "ini-1.3.5" = {
+       name = "ini";
+       packageName = "ini";
+       version = "1.3.5";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz";
+         sha512 = "RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==";
+       };
+     };
+     "invert-kv-1.0.0" = {
+       name = "invert-kv";
+       packageName = "invert-kv";
+       version = "1.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz";
+         sha1 = "104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6";
+       };
+     };
+     "irregular-plurals-1.4.0" = {
+       name = "irregular-plurals";
+       packageName = "irregular-plurals";
+       version = "1.4.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/irregular-plurals/-/irregular-plurals-1.4.0.tgz";
+         sha1 = "2ca9b033651111855412f16be5d77c62a458a766";
+       };
+     };
+     "is-absolute-url-2.1.0" = {
+       name = "is-absolute-url";
+       packageName = "is-absolute-url";
+       version = "2.1.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz";
+         sha1 = "50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6";
+       };
+     };
+     "is-accessor-descriptor-0.1.6" = {
+       name = "is-accessor-descriptor";
+       packageName = "is-accessor-descriptor";
+       version = "0.1.6";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz";
+         sha1 = "a9e12cb3ae8d876727eeef3843f8a0897b5c98d6";
+       };
+     };
+     "is-accessor-descriptor-1.0.0" = {
+       name = "is-accessor-descriptor";
+       packageName = "is-accessor-descriptor";
+       version = "1.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz";
+         sha512 = "m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==";
+       };
+     };
+     "is-alphabetical-1.0.2" = {
+       name = "is-alphabetical";
+       packageName = "is-alphabetical";
+       version = "1.0.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.2.tgz";
+         sha512 = "V0xN4BYezDHcBSKb1QHUFMlR4as/XEuCZBzMJUU4n7+Cbt33SmUnSol+pnXFvLxSHNq2CemUXNdaXV6Flg7+xg==";
+       };
+     };
+     "is-alphanumeric-1.0.0" = {
+       name = "is-alphanumeric";
+       packageName = "is-alphanumeric";
+       version = "1.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/is-alphanumeric/-/is-alphanumeric-1.0.0.tgz";
+         sha1 = "4a9cef71daf4c001c1d81d63d140cf53fd6889f4";
+       };
+     };
+     "is-alphanumerical-1.0.2" = {
+       name = "is-alphanumerical";
+       packageName = "is-alphanumerical";
+       version = "1.0.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.2.tgz";
+         sha512 = "pyfU/0kHdISIgslFfZN9nfY1Gk3MquQgUm1mJTjdkEPpkAKNWuBTSqFwewOpR7N351VkErCiyV71zX7mlQQqsg==";
+       };
+     };
+     "is-arrayish-0.2.1" = {
+       name = "is-arrayish";
+       packageName = "is-arrayish";
+       version = "0.2.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz";
+         sha1 = "77c99840527aa8ecb1a8ba697b80645a7a926a9d";
+       };
+     };
+     "is-arrayish-0.3.2" = {
+       name = "is-arrayish";
+       packageName = "is-arrayish";
+       version = "0.3.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz";
+         sha512 = "eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==";
+       };
+     };
+     "is-binary-path-1.0.1" = {
+       name = "is-binary-path";
+       packageName = "is-binary-path";
+       version = "1.0.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz";
+         sha1 = "75f16642b480f187a711c814161fd3a4a7655898";
+       };
+     };
+     "is-buffer-1.1.6" = {
+       name = "is-buffer";
+       packageName = "is-buffer";
+       version = "1.1.6";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz";
+         sha512 = "NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==";
+       };
+     };
+     "is-buffer-2.0.3" = {
+       name = "is-buffer";
+       packageName = "is-buffer";
+       version = "2.0.3";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.3.tgz";
+         sha512 = "U15Q7MXTuZlrbymiz95PJpZxu8IlipAp4dtS3wOdgPXx3mqBnslrWU14kxfHB+Py/+2PVKSr37dMAgM2A4uArw==";
+       };
+     };
+     "is-callable-1.1.4" = {
+       name = "is-callable";
+       packageName = "is-callable";
+       version = "1.1.4";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz";
+         sha512 = "r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==";
+       };
+     };
+     "is-color-stop-1.1.0" = {
+       name = "is-color-stop";
+       packageName = "is-color-stop";
+       version = "1.1.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz";
+         sha1 = "cfff471aee4dd5c9e158598fbe12967b5cdad345";
+       };
+     };
+     "is-data-descriptor-0.1.4" = {
+       name = "is-data-descriptor";
+       packageName = "is-data-descriptor";
+       version = "0.1.4";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz";
+         sha1 = "0b5ee648388e2c860282e793f1856fec3f301b56";
+       };
+     };
+     "is-data-descriptor-1.0.0" = {
+       name = "is-data-descriptor";
+       packageName = "is-data-descriptor";
+       version = "1.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz";
+         sha512 = "jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==";
+       };
+     };
+     "is-date-object-1.0.1" = {
+       name = "is-date-object";
+       packageName = "is-date-object";
+       version = "1.0.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz";
+         sha1 = "9aa20eb6aeebbff77fbd33e74ca01b33581d3a16";
+       };
+     };
+     "is-decimal-1.0.2" = {
+       name = "is-decimal";
+       packageName = "is-decimal";
+       version = "1.0.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.2.tgz";
+         sha512 = "TRzl7mOCchnhchN+f3ICUCzYvL9ul7R+TYOsZ8xia++knyZAJfv/uA1FvQXsAnYIl1T3B2X5E/J7Wb1QXiIBXg==";
+       };
+     };
+     "is-descriptor-0.1.6" = {
+       name = "is-descriptor";
+       packageName = "is-descriptor";
+       version = "0.1.6";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz";
+         sha512 = "avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==";
+       };
+     };
+     "is-descriptor-1.0.2" = {
+       name = "is-descriptor";
+       packageName = "is-descriptor";
+       version = "1.0.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz";
+         sha512 = "2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==";
+       };
+     };
+     "is-directory-0.3.1" = {
+       name = "is-directory";
+       packageName = "is-directory";
+       version = "0.3.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz";
+         sha1 = "61339b6f2475fc772fd9c9d83f5c8575dc154ae1";
+       };
+     };
+     "is-extendable-0.1.1" = {
+       name = "is-extendable";
+       packageName = "is-extendable";
+       version = "0.1.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz";
+         sha1 = "62b110e289a471418e3ec36a617d472e301dfc89";
+       };
+     };
+     "is-extendable-1.0.1" = {
+       name = "is-extendable";
+       packageName = "is-extendable";
+       version = "1.0.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz";
+         sha512 = "arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==";
+       };
+     };
+     "is-extglob-2.1.1" = {
+       name = "is-extglob";
+       packageName = "is-extglob";
+       version = "2.1.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz";
+         sha1 = "a88c02535791f02ed37c76a1b9ea9773c833f8c2";
+       };
+     };
+     "is-fullwidth-code-point-1.0.0" = {
+       name = "is-fullwidth-code-point";
+       packageName = "is-fullwidth-code-point";
+       version = "1.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz";
+         sha1 = "ef9e31386f031a7f0d643af82fde50c457ef00cb";
+       };
+     };
+     "is-fullwidth-code-point-2.0.0" = {
+       name = "is-fullwidth-code-point";
+       packageName = "is-fullwidth-code-point";
+       version = "2.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz";
+         sha1 = "a3b30a5c4f199183167aaab93beefae3ddfb654f";
+       };
+     };
+     "is-glob-3.1.0" = {
+       name = "is-glob";
+       packageName = "is-glob";
+       version = "3.1.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz";
+         sha1 = "7ba5ae24217804ac70707b96922567486cc3e84a";
+       };
+     };
+     "is-glob-4.0.0" = {
+       name = "is-glob";
+       packageName = "is-glob";
+       version = "4.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz";
+         sha1 = "9521c76845cc2610a85203ddf080a958c2ffabc0";
+       };
+     };
+     "is-hexadecimal-1.0.2" = {
+       name = "is-hexadecimal";
+       packageName = "is-hexadecimal";
+       version = "1.0.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.2.tgz";
+         sha512 = "but/G3sapV3MNyqiDBLrOi4x8uCIw0RY3o/Vb5GT0sMFHrVV7731wFSVy41T5FO1og7G0gXLJh0MkgPRouko/A==";
+       };
+     };
+     "is-number-3.0.0" = {
+       name = "is-number";
+       packageName = "is-number";
+       version = "3.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz";
+         sha1 = "24fd6201a4782cf50561c810276afc7d12d71195";
+       };
+     };
+     "is-obj-1.0.1" = {
+       name = "is-obj";
+       packageName = "is-obj";
+       version = "1.0.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz";
+         sha1 = "3e4729ac1f5fde025cd7d83a896dab9f4f67db0f";
+       };
+     };
+     "is-plain-obj-1.1.0" = {
+       name = "is-plain-obj";
+       packageName = "is-plain-obj";
+       version = "1.1.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz";
+         sha1 = "71a50c8429dfca773c92a390a4a03b39fcd51d3e";
+       };
+     };
+     "is-plain-object-2.0.4" = {
+       name = "is-plain-object";
+       packageName = "is-plain-object";
+       version = "2.0.4";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz";
+         sha512 = "h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==";
+       };
+     };
+     "is-regex-1.0.4" = {
+       name = "is-regex";
+       packageName = "is-regex";
+       version = "1.0.4";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz";
+         sha1 = "5517489b547091b0930e095654ced25ee97e9491";
+       };
+     };
+     "is-regexp-1.0.0" = {
+       name = "is-regexp";
+       packageName = "is-regexp";
+       version = "1.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz";
+         sha1 = "fd2d883545c46bac5a633e7b9a09e87fa2cb5069";
+       };
+     };
+     "is-resolvable-1.1.0" = {
+       name = "is-resolvable";
+       packageName = "is-resolvable";
+       version = "1.1.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz";
+         sha512 = "qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==";
+       };
+     };
+     "is-stream-1.1.0" = {
+       name = "is-stream";
+       packageName = "is-stream";
+       version = "1.1.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz";
+         sha1 = "12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44";
+       };
+     };
+     "is-supported-regexp-flag-1.0.1" = {
+       name = "is-supported-regexp-flag";
+       packageName = "is-supported-regexp-flag";
+       version = "1.0.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/is-supported-regexp-flag/-/is-supported-regexp-flag-1.0.1.tgz";
+         sha512 = "3vcJecUUrpgCqc/ca0aWeNu64UGgxcvO60K/Fkr1N6RSvfGCTU60UKN68JDmKokgba0rFFJs12EnzOQa14ubKQ==";
+       };
+     };
+     "is-svg-3.0.0" = {
+       name = "is-svg";
+       packageName = "is-svg";
+       version = "3.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/is-svg/-/is-svg-3.0.0.tgz";
+         sha512 = "gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ==";
+       };
+     };
+     "is-symbol-1.0.2" = {
+       name = "is-symbol";
+       packageName = "is-symbol";
+       version = "1.0.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz";
+         sha512 = "HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==";
+       };
+     };
+     "is-whitespace-character-1.0.2" = {
+       name = "is-whitespace-character";
+       packageName = "is-whitespace-character";
+       version = "1.0.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.2.tgz";
+         sha512 = "SzM+T5GKUCtLhlHFKt2SDAX2RFzfS6joT91F2/WSi9LxgFdsnhfPK/UIA+JhRR2xuyLdrCys2PiFDrtn1fU5hQ==";
+       };
+     };
+     "is-windows-1.0.2" = {
+       name = "is-windows";
+       packageName = "is-windows";
+       version = "1.0.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz";
+         sha512 = "eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==";
+       };
+     };
+     "is-word-character-1.0.2" = {
+       name = "is-word-character";
+       packageName = "is-word-character";
+       version = "1.0.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/is-word-character/-/is-word-character-1.0.2.tgz";
+         sha512 = "T3FlsX8rCHAH8e7RE7PfOPZVFQlcV3XRF9eOOBQ1uf70OxO7CjjSOjeImMPCADBdYWcStAbVbYvJ1m2D3tb+EA==";
+       };
+     };
+     "isarray-1.0.0" = {
+       name = "isarray";
+       packageName = "isarray";
+       version = "1.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz";
+         sha1 = "bb935d48582cba168c06834957a54a3e07124f11";
+       };
+     };
+     "isexe-2.0.0" = {
+       name = "isexe";
+       packageName = "isexe";
+       version = "2.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz";
+         sha1 = "e8fbf374dc556ff8947a10dcb0572d633f2cfa10";
+       };
+     };
+     "isobject-2.1.0" = {
+       name = "isobject";
+       packageName = "isobject";
+       version = "2.1.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz";
+         sha1 = "f065561096a3f1da2ef46272f815c840d87e0c89";
+       };
+     };
+     "isobject-3.0.1" = {
+       name = "isobject";
+       packageName = "isobject";
+       version = "3.0.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz";
+         sha1 = "4e431e92b11a9731636aa1f9c8d1ccbcfdab78df";
+       };
+     };
+     "js-base64-2.5.1" = {
+       name = "js-base64";
+       packageName = "js-base64";
+       version = "2.5.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/js-base64/-/js-base64-2.5.1.tgz";
+         sha512 = "M7kLczedRMYX4L8Mdh4MzyAMM9O5osx+4FcOQuTvr3A9F2D9S5JXheN0ewNbrvK2UatkTRhL5ejGmGSjNMiZuw==";
+       };
+     };
+     "js-tokens-4.0.0" = {
+       name = "js-tokens";
+       packageName = "js-tokens";
+       version = "4.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz";
+         sha512 = "RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==";
+       };
+     };
+     "js-yaml-3.12.1" = {
+       name = "js-yaml";
+       packageName = "js-yaml";
+       version = "3.12.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.1.tgz";
+         sha512 = "um46hB9wNOKlwkHgiuyEVAybXBjwFUV0Z/RaHJblRd9DXltue9FTYvzCr9ErQrK9Adz5MU4gHWVaNUfdmrC8qA==";
+       };
+     };
+     "jsesc-2.5.2" = {
+       name = "jsesc";
+       packageName = "jsesc";
+       version = "2.5.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz";
+         sha512 = "OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==";
+       };
+     };
+     "json-parse-better-errors-1.0.2" = {
+       name = "json-parse-better-errors";
+       packageName = "json-parse-better-errors";
+       version = "1.0.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz";
+         sha512 = "mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==";
+       };
+     };
+     "json-schema-traverse-0.4.1" = {
+       name = "json-schema-traverse";
+       packageName = "json-schema-traverse";
+       version = "0.4.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz";
+         sha512 = "xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==";
+       };
+     };
+     "json5-2.1.0" = {
+       name = "json5";
+       packageName = "json5";
+       version = "2.1.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz";
+         sha512 = "8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==";
+       };
+     };
+     "jsonfile-4.0.0" = {
+       name = "jsonfile";
+       packageName = "jsonfile";
+       version = "4.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz";
+         sha1 = "8771aae0799b64076b76640fca058f9c10e33ecb";
+       };
+     };
+     "kind-of-3.2.2" = {
+       name = "kind-of";
+       packageName = "kind-of";
+       version = "3.2.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz";
+         sha1 = "31ea21a734bab9bbb0f32466d893aea51e4a3c64";
+       };
+     };
+     "kind-of-4.0.0" = {
+       name = "kind-of";
+       packageName = "kind-of";
+       version = "4.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz";
+         sha1 = "20813df3d712928b207378691a45066fae72dd57";
+       };
+     };
+     "kind-of-5.1.0" = {
+       name = "kind-of";
+       packageName = "kind-of";
+       version = "5.1.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz";
+         sha512 = "NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==";
+       };
+     };
+     "kind-of-6.0.2" = {
+       name = "kind-of";
+       packageName = "kind-of";
+       version = "6.0.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz";
+         sha512 = "s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==";
+       };
+     };
+     "known-css-properties-0.11.0" = {
+       name = "known-css-properties";
+       packageName = "known-css-properties";
+       version = "0.11.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.11.0.tgz";
+         sha512 = "bEZlJzXo5V/ApNNa5z375mJC6Nrz4vG43UgcSCrg2OHC+yuB6j0iDSrY7RQ/+PRofFB03wNIIt9iXIVLr4wc7w==";
+       };
+     };
+     "lcid-1.0.0" = {
+       name = "lcid";
+       packageName = "lcid";
+       version = "1.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz";
+         sha1 = "308accafa0bc483a3867b4b6f2b9506251d1b835";
+       };
+     };
+     "leven-2.1.0" = {
+       name = "leven";
+       packageName = "leven";
+       version = "2.1.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/leven/-/leven-2.1.0.tgz";
+         sha1 = "c2e7a9f772094dee9d34202ae8acce4687875580";
+       };
+     };
+     "load-json-file-4.0.0" = {
+       name = "load-json-file";
+       packageName = "load-json-file";
+       version = "4.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz";
+         sha1 = "2f5f45ab91e33216234fd53adab668eb4ec0993b";
+       };
+     };
+     "locate-path-2.0.0" = {
+       name = "locate-path";
+       packageName = "locate-path";
+       version = "2.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz";
+         sha1 = "2b568b265eec944c6d9c0de9c3dbbbca0354cd8e";
+       };
+     };
+     "lodash-4.17.11" = {
+       name = "lodash";
+       packageName = "lodash";
+       version = "4.17.11";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz";
+         sha512 = "cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==";
+       };
+     };
+     "lodash.memoize-4.1.2" = {
+       name = "lodash.memoize";
+       packageName = "lodash.memoize";
+       version = "4.1.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz";
+         sha1 = "bcc6c49a42a2840ed997f323eada5ecd182e0bfe";
+       };
+     };
+     "lodash.uniq-4.5.0" = {
+       name = "lodash.uniq";
+       packageName = "lodash.uniq";
+       version = "4.5.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz";
+         sha1 = "d0225373aeb652adc1bc82e4945339a842754773";
+       };
+     };
+     "log-symbols-1.0.2" = {
+       name = "log-symbols";
+       packageName = "log-symbols";
+       version = "1.0.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz";
+         sha1 = "376ff7b58ea3086a0f09facc74617eca501e1a18";
+       };
+     };
+     "log-symbols-2.2.0" = {
+       name = "log-symbols";
+       packageName = "log-symbols";
+       version = "2.2.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz";
+         sha512 = "VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==";
+       };
+     };
+     "longest-streak-2.0.2" = {
+       name = "longest-streak";
+       packageName = "longest-streak";
+       version = "2.0.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/longest-streak/-/longest-streak-2.0.2.tgz";
+         sha512 = "TmYTeEYxiAmSVdpbnQDXGtvYOIRsCMg89CVZzwzc2o7GFL1CjoiRPjH5ec0NFAVlAx3fVof9dX/t6KKRAo2OWA==";
+       };
+     };
+     "lost-8.3.1" = {
+       name = "lost";
+       packageName = "lost";
+       version = "8.3.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/lost/-/lost-8.3.1.tgz";
+         sha512 = "J+TgSVo9VVf4Y9lVGaI5DMN0BMqQTIabEJuEQGlK4vte+EZq9eDcvwGx9DfrkCUMqs0CvzAPE5dsnj18Zbjf6g==";
+       };
+     };
+     "loud-rejection-1.6.0" = {
+       name = "loud-rejection";
+       packageName = "loud-rejection";
+       version = "1.6.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz";
+         sha1 = "5b46f80147edee578870f086d04821cf998e551f";
+       };
+     };
+     "lru-cache-4.1.5" = {
+       name = "lru-cache";
+       packageName = "lru-cache";
+       version = "4.1.5";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz";
+         sha512 = "sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==";
+       };
+     };
+     "map-cache-0.2.2" = {
+       name = "map-cache";
+       packageName = "map-cache";
+       version = "0.2.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz";
+         sha1 = "c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf";
+       };
+     };
+     "map-obj-1.0.1" = {
+       name = "map-obj";
+       packageName = "map-obj";
+       version = "1.0.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz";
+         sha1 = "d933ceb9205d82bdcf4886f6742bdc2b4dea146d";
+       };
+     };
+     "map-obj-2.0.0" = {
+       name = "map-obj";
+       packageName = "map-obj";
+       version = "2.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/map-obj/-/map-obj-2.0.0.tgz";
+         sha1 = "a65cd29087a92598b8791257a523e021222ac1f9";
+       };
+     };
+     "map-visit-1.0.0" = {
+       name = "map-visit";
+       packageName = "map-visit";
+       version = "1.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz";
+         sha1 = "ecdca8f13144e660f1b5bd41f12f3479d98dfb8f";
+       };
+     };
+     "markdown-escapes-1.0.2" = {
+       name = "markdown-escapes";
+       packageName = "markdown-escapes";
+       version = "1.0.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.2.tgz";
+         sha512 = "lbRZ2mE3Q9RtLjxZBZ9+IMl68DKIXaVAhwvwn9pmjnPLS0h/6kyBMgNhqi1xFJ/2yv6cSyv0jbiZavZv93JkkA==";
+       };
+     };
+     "markdown-table-1.1.2" = {
+       name = "markdown-table";
+       packageName = "markdown-table";
+       version = "1.1.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/markdown-table/-/markdown-table-1.1.2.tgz";
+         sha512 = "NcWuJFHDA8V3wkDgR/j4+gZx+YQwstPgfQDV8ndUeWWzta3dnDTBxpVzqS9lkmJAuV5YX35lmyojl6HO5JXAgw==";
+       };
+     };
+     "mathml-tag-names-2.1.0" = {
+       name = "mathml-tag-names";
+       packageName = "mathml-tag-names";
+       version = "2.1.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.0.tgz";
+         sha512 = "3Zs9P/0zzwTob2pdgT0CHZuMbnSUSp8MB1bddfm+HDmnFWHGT4jvEZRf+2RuPoa+cjdn/z25SEt5gFTqdhvJAg==";
+       };
+     };
+     "mdast-util-compact-1.0.2" = {
+       name = "mdast-util-compact";
+       packageName = "mdast-util-compact";
+       version = "1.0.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/mdast-util-compact/-/mdast-util-compact-1.0.2.tgz";
+         sha512 = "d2WS98JSDVbpSsBfVvD9TaDMlqPRz7ohM/11G0rp5jOBb5q96RJ6YLszQ/09AAixyzh23FeIpCGqfaamEADtWg==";
+       };
+     };
+     "mdn-data-1.1.4" = {
+       name = "mdn-data";
+       packageName = "mdn-data";
+       version = "1.1.4";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/mdn-data/-/mdn-data-1.1.4.tgz";
+         sha512 = "FSYbp3lyKjyj3E7fMl6rYvUdX0FBXaluGqlFoYESWQlyUTq8R+wp0rkFxoYFqZlHCvsUXGjyJmLQSnXToYhOSA==";
+       };
+     };
+     "mem-1.1.0" = {
+       name = "mem";
+       packageName = "mem";
+       version = "1.1.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz";
+         sha1 = "5edd52b485ca1d900fe64895505399a0dfa45f76";
+       };
+     };
+     "meow-5.0.0" = {
+       name = "meow";
+       packageName = "meow";
+       version = "5.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/meow/-/meow-5.0.0.tgz";
+         sha512 = "CbTqYU17ABaLefO8vCU153ZZlprKYWDljcndKKDCFcYQITzWCXZAVk4QMFZPgvzrnUQ3uItnIE/LoUOwrT15Ig==";
+       };
+     };
+     "merge2-1.2.3" = {
+       name = "merge2";
+       packageName = "merge2";
+       version = "1.2.3";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/merge2/-/merge2-1.2.3.tgz";
+         sha512 = "gdUU1Fwj5ep4kplwcmftruWofEFt6lfpkkr3h860CXbAB9c3hGb55EOL2ali0Td5oebvW0E1+3Sr+Ur7XfKpRA==";
+       };
+     };
+     "micromatch-3.1.10" = {
+       name = "micromatch";
+       packageName = "micromatch";
+       version = "3.1.10";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz";
+         sha512 = "MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==";
+       };
+     };
+     "mimic-fn-1.2.0" = {
+       name = "mimic-fn";
+       packageName = "mimic-fn";
+       version = "1.2.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz";
+         sha512 = "jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==";
+       };
+     };
+     "minimatch-3.0.4" = {
+       name = "minimatch";
+       packageName = "minimatch";
+       version = "3.0.4";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz";
+         sha512 = "yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==";
+       };
+     };
+     "minimist-0.0.8" = {
+       name = "minimist";
+       packageName = "minimist";
+       version = "0.0.8";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz";
+         sha1 = "857fcabfc3397d2625b8228262e86aa7a011b05d";
+       };
+     };
+     "minimist-1.1.3" = {
+       name = "minimist";
+       packageName = "minimist";
+       version = "1.1.3";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/minimist/-/minimist-1.1.3.tgz";
+         sha1 = "3bedfd91a92d39016fcfaa1c681e8faa1a1efda8";
+       };
+     };
+     "minimist-1.2.0" = {
+       name = "minimist";
+       packageName = "minimist";
+       version = "1.2.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz";
+         sha1 = "a35008b20f41383eec1fb914f4cd5df79a264284";
+       };
+     };
+     "minimist-options-3.0.2" = {
+       name = "minimist-options";
+       packageName = "minimist-options";
+       version = "3.0.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/minimist-options/-/minimist-options-3.0.2.tgz";
+         sha512 = "FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ==";
+       };
+     };
+     "mixin-deep-1.3.1" = {
+       name = "mixin-deep";
+       packageName = "mixin-deep";
+       version = "1.3.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz";
+         sha512 = "8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==";
+       };
+     };
+     "mkdirp-0.5.1" = {
+       name = "mkdirp";
+       packageName = "mkdirp";
+       version = "0.5.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz";
+         sha1 = "30057438eac6cf7f8c4767f38648d6697d75c903";
+       };
+     };
+     "ms-2.0.0" = {
+       name = "ms";
+       packageName = "ms";
+       version = "2.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz";
+         sha1 = "5608aeadfc00be6c2901df5f9861788de0d597c8";
+       };
+     };
+     "ms-2.1.1" = {
+       name = "ms";
+       packageName = "ms";
+       version = "2.1.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz";
+         sha512 = "tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==";
+       };
+     };
+     "nan-2.12.1" = {
+       name = "nan";
+       packageName = "nan";
+       version = "2.12.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/nan/-/nan-2.12.1.tgz";
+         sha512 = "JY7V6lRkStKcKTvHO5NVSQRv+RV+FIL5pvDoLiAtSL9pKlC5x9PKQcZDsq7m4FO4d57mkhC6Z+QhAh3Jdk5JFw==";
+       };
+     };
+     "nanomatch-1.2.13" = {
+       name = "nanomatch";
+       packageName = "nanomatch";
+       version = "1.2.13";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz";
+         sha512 = "fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==";
+       };
+     };
+     "node-releases-1.1.7" = {
+       name = "node-releases";
+       packageName = "node-releases";
+       version = "1.1.7";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/node-releases/-/node-releases-1.1.7.tgz";
+         sha512 = "bKdrwaqJUPHqlCzDD7so/R+Nk0jGv9a11ZhLrD9f6i947qGLrGAhU3OxRENa19QQmwzGy/g6zCDEuLGDO8HPvA==";
+       };
+     };
+     "normalize-package-data-2.5.0" = {
+       name = "normalize-package-data";
+       packageName = "normalize-package-data";
+       version = "2.5.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz";
+         sha512 = "/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==";
+       };
+     };
+     "normalize-path-2.1.1" = {
+       name = "normalize-path";
+       packageName = "normalize-path";
+       version = "2.1.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz";
+         sha1 = "1ab28b556e198363a8c1a6f7e6fa20137fe6aed9";
+       };
+     };
+     "normalize-path-3.0.0" = {
+       name = "normalize-path";
+       packageName = "normalize-path";
+       version = "3.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz";
+         sha512 = "6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==";
+       };
+     };
+     "normalize-range-0.1.2" = {
+       name = "normalize-range";
+       packageName = "normalize-range";
+       version = "0.1.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz";
+         sha1 = "2d10c06bdfd312ea9777695a4d28439456b75942";
+       };
+     };
+     "normalize-selector-0.2.0" = {
+       name = "normalize-selector";
+       packageName = "normalize-selector";
+       version = "0.2.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/normalize-selector/-/normalize-selector-0.2.0.tgz";
+         sha1 = "d0b145eb691189c63a78d201dc4fdb1293ef0c03";
+       };
+     };
+     "normalize-url-3.3.0" = {
+       name = "normalize-url";
+       packageName = "normalize-url";
+       version = "3.3.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/normalize-url/-/normalize-url-3.3.0.tgz";
+         sha512 = "U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==";
+       };
+     };
+     "npm-run-path-2.0.2" = {
+       name = "npm-run-path";
+       packageName = "npm-run-path";
+       version = "2.0.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz";
+         sha1 = "35a9232dfa35d7067b4cb2ddf2357b1871536c5f";
+       };
+     };
+     "nth-check-1.0.2" = {
+       name = "nth-check";
+       packageName = "nth-check";
+       version = "1.0.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz";
+         sha512 = "WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==";
+       };
+     };
+     "num2fraction-1.2.2" = {
+       name = "num2fraction";
+       packageName = "num2fraction";
+       version = "1.2.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz";
+         sha1 = "6f682b6a027a4e9ddfa4564cd2589d1d4e669ede";
+       };
+     };
+     "number-is-nan-1.0.1" = {
+       name = "number-is-nan";
+       packageName = "number-is-nan";
+       version = "1.0.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz";
+         sha1 = "097b602b53422a522c1afb8790318336941a011d";
+       };
+     };
+     "object-assign-4.1.1" = {
+       name = "object-assign";
+       packageName = "object-assign";
+       version = "4.1.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz";
+         sha1 = "2109adc7965887cfc05cbbd442cac8bfbb360863";
+       };
+     };
+     "object-copy-0.1.0" = {
+       name = "object-copy";
+       packageName = "object-copy";
+       version = "0.1.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz";
+         sha1 = "7e7d858b781bd7c991a41ba975ed3812754e998c";
+       };
+     };
+     "object-keys-1.0.12" = {
+       name = "object-keys";
+       packageName = "object-keys";
+       version = "1.0.12";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/object-keys/-/object-keys-1.0.12.tgz";
+         sha512 = "FTMyFUm2wBcGHnH2eXmz7tC6IwlqQZ6mVZ+6dm6vZ4IQIHjs6FdNsQBuKGPuUUUY6NfJw2PshC08Tn6LzLDOag==";
+       };
+     };
+     "object-visit-1.0.1" = {
+       name = "object-visit";
+       packageName = "object-visit";
+       version = "1.0.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz";
+         sha1 = "f79c4493af0c5377b59fe39d395e41042dd045bb";
+       };
+     };
+     "object.getownpropertydescriptors-2.0.3" = {
+       name = "object.getownpropertydescriptors";
+       packageName = "object.getownpropertydescriptors";
+       version = "2.0.3";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz";
+         sha1 = "8758c846f5b407adab0f236e0986f14b051caa16";
+       };
+     };
+     "object.pick-1.3.0" = {
+       name = "object.pick";
+       packageName = "object.pick";
+       version = "1.3.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz";
+         sha1 = "87a10ac4c1694bd2e1cbf53591a66141fb5dd747";
+       };
+     };
+     "object.values-1.1.0" = {
+       name = "object.values";
+       packageName = "object.values";
+       version = "1.1.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/object.values/-/object.values-1.1.0.tgz";
+         sha512 = "8mf0nKLAoFX6VlNVdhGj31SVYpaNFtUnuoOXWyFEstsWRgU837AK+JYM0iAxwkSzGRbwn8cbFmgbyxj1j4VbXg==";
+       };
+     };
+     "once-1.4.0" = {
+       name = "once";
+       packageName = "once";
+       version = "1.4.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/once/-/once-1.4.0.tgz";
+         sha1 = "583b1aa775961d4b113ac17d9c50baef9dd76bd1";
+       };
+     };
+     "onecolor-3.1.0" = {
+       name = "onecolor";
+       packageName = "onecolor";
+       version = "3.1.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/onecolor/-/onecolor-3.1.0.tgz";
+         sha512 = "YZSypViXzu3ul5LMu/m6XjJ9ol8qAy9S2VjHl5E6UlhUH1KGKWabyEJifn0Jjpw23bYDzC2ucKMPGiH5kfwSGQ==";
+       };
+     };
+     "os-homedir-1.0.2" = {
+       name = "os-homedir";
+       packageName = "os-homedir";
+       version = "1.0.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz";
+         sha1 = "ffbc4988336e0e833de0c168c7ef152121aa7fb3";
+       };
+     };
+     "os-locale-2.1.0" = {
+       name = "os-locale";
+       packageName = "os-locale";
+       version = "2.1.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz";
+         sha512 = "3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==";
+       };
+     };
+     "p-finally-1.0.0" = {
+       name = "p-finally";
+       packageName = "p-finally";
+       version = "1.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz";
+         sha1 = "3fbcfb15b899a44123b34b6dcc18b724336a2cae";
+       };
+     };
+     "p-limit-1.3.0" = {
+       name = "p-limit";
+       packageName = "p-limit";
+       version = "1.3.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz";
+         sha512 = "vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==";
+       };
+     };
+     "p-locate-2.0.0" = {
+       name = "p-locate";
+       packageName = "p-locate";
+       version = "2.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz";
+         sha1 = "20a0103b222a70c8fd39cc2e580680f3dde5ec43";
+       };
+     };
+     "p-try-1.0.0" = {
+       name = "p-try";
+       packageName = "p-try";
+       version = "1.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz";
+         sha1 = "cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3";
+       };
+     };
+     "parse-entities-1.2.0" = {
+       name = "parse-entities";
+       packageName = "parse-entities";
+       version = "1.2.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/parse-entities/-/parse-entities-1.2.0.tgz";
+         sha512 = "XXtDdOPLSB0sHecbEapQi6/58U/ODj/KWfIXmmMCJF/eRn8laX6LZbOyioMoETOOJoWRW8/qTSl5VQkUIfKM5g==";
+       };
+     };
+     "parse-json-2.2.0" = {
+       name = "parse-json";
+       packageName = "parse-json";
+       version = "2.2.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz";
+         sha1 = "f480f40434ef80741f8469099f8dea18f55a4dc9";
+       };
+     };
+     "parse-json-4.0.0" = {
+       name = "parse-json";
+       packageName = "parse-json";
+       version = "4.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz";
+         sha1 = "be35f5425be1f7f6c747184f98a788cb99477ee0";
+       };
+     };
+     "pascalcase-0.1.1" = {
+       name = "pascalcase";
+       packageName = "pascalcase";
+       version = "0.1.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz";
+         sha1 = "b363e55e8006ca6fe21784d2db22bd15d7917f14";
+       };
+     };
+     "path-dirname-1.0.2" = {
+       name = "path-dirname";
+       packageName = "path-dirname";
+       version = "1.0.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz";
+         sha1 = "cc33d24d525e099a5388c0336c6e32b9160609e0";
+       };
+     };
+     "path-exists-3.0.0" = {
+       name = "path-exists";
+       packageName = "path-exists";
+       version = "3.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz";
+         sha1 = "ce0ebeaa5f78cb18925ea7d810d7b59b010fd515";
+       };
+     };
+     "path-is-absolute-1.0.1" = {
+       name = "path-is-absolute";
+       packageName = "path-is-absolute";
+       version = "1.0.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz";
+         sha1 = "174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f";
+       };
+     };
+     "path-key-2.0.1" = {
+       name = "path-key";
+       packageName = "path-key";
+       version = "2.0.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz";
+         sha1 = "411cadb574c5a140d3a4b1910d40d80cc9f40b40";
+       };
+     };
+     "path-parse-1.0.6" = {
+       name = "path-parse";
+       packageName = "path-parse";
+       version = "1.0.6";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz";
+         sha512 = "GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==";
+       };
+     };
+     "path-type-3.0.0" = {
+       name = "path-type";
+       packageName = "path-type";
+       version = "3.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz";
+         sha512 = "T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==";
+       };
+     };
+     "pify-2.3.0" = {
+       name = "pify";
+       packageName = "pify";
+       version = "2.3.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz";
+         sha1 = "ed141a6ac043a849ea588498e7dca8b15330e90c";
+       };
+     };
+     "pify-3.0.0" = {
+       name = "pify";
+       packageName = "pify";
+       version = "3.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz";
+         sha1 = "e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176";
+       };
+     };
+     "pify-4.0.1" = {
+       name = "pify";
+       packageName = "pify";
+       version = "4.0.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz";
+         sha512 = "uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==";
+       };
+     };
+     "pipetteur-2.0.3" = {
+       name = "pipetteur";
+       packageName = "pipetteur";
+       version = "2.0.3";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/pipetteur/-/pipetteur-2.0.3.tgz";
+         sha1 = "1955760959e8d1a11cb2a50ec83eec470633e49f";
+       };
+     };
+     "plur-2.1.2" = {
+       name = "plur";
+       packageName = "plur";
+       version = "2.1.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/plur/-/plur-2.1.2.tgz";
+         sha1 = "7482452c1a0f508e3e344eaec312c91c29dc655a";
+       };
+     };
+     "posix-character-classes-0.1.1" = {
+       name = "posix-character-classes";
+       packageName = "posix-character-classes";
+       version = "0.1.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz";
+         sha1 = "01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab";
+       };
+     };
+     "postcss-5.2.18" = {
+       name = "postcss";
+       packageName = "postcss";
+       version = "5.2.18";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz";
+         sha512 = "zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==";
+       };
+     };
+     "postcss-6.0.1" = {
+       name = "postcss";
+       packageName = "postcss";
+       version = "6.0.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/postcss/-/postcss-6.0.1.tgz";
+         sha1 = "000dbd1f8eef217aa368b9a212c5fc40b2a8f3f2";
+       };
+     };
+     "postcss-6.0.23" = {
+       name = "postcss";
+       packageName = "postcss";
+       version = "6.0.23";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz";
+         sha512 = "soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==";
+       };
+     };
+     "postcss-7.0.14" = {
+       name = "postcss";
+       packageName = "postcss";
+       version = "7.0.14";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/postcss/-/postcss-7.0.14.tgz";
+         sha512 = "NsbD6XUUMZvBxtQAJuWDJeeC4QFsmWsfozWxCJPWf3M55K9iu2iMDaKqyoOdTJ1R4usBXuxlVFAIo8rZPQD4Bg==";
+       };
+     };
+     "postcss-browser-comments-1.0.0" = {
+       name = "postcss-browser-comments";
+       packageName = "postcss-browser-comments";
+       version = "1.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/postcss-browser-comments/-/postcss-browser-comments-1.0.0.tgz";
+         sha512 = "NLRbT8pcNORF0sodQFS4pe0PW/Id3yghWaVNc2D1sMctsYt9irWdEl+DfrFOODV2aGLe+vrZsvo1EkpoLSfhog==";
+       };
+     };
+     "postcss-calc-6.0.2" = {
+       name = "postcss-calc";
+       packageName = "postcss-calc";
+       version = "6.0.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/postcss-calc/-/postcss-calc-6.0.2.tgz";
+         sha512 = "fiznXjEN5T42Qm7qqMCVJXS3roaj9r4xsSi+meaBVe7CJBl8t/QLOXu02Z2E6oWAMWIvCuF6JrvzFekmVEbOKA==";
+       };
+     };
+     "postcss-calc-7.0.1" = {
+       name = "postcss-calc";
+       packageName = "postcss-calc";
+       version = "7.0.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.1.tgz";
+         sha512 = "oXqx0m6tb4N3JGdmeMSc/i91KppbYsFZKdH0xMOqK8V1rJlzrKlTdokz8ozUXLVejydRN6u2IddxpcijRj2FqQ==";
+       };
+     };
+     "postcss-cli-5.0.1" = {
+       name = "postcss-cli";
+       packageName = "postcss-cli";
+       version = "5.0.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/postcss-cli/-/postcss-cli-5.0.1.tgz";
+         sha512 = "yrvWl8axFdiXlJuVQRIHM4qskvl0F4/fWUUIYyYo0RV6lOdB0Vcyt8Rv7lBvtwVuNa0pClz88LgxzT4ZzC7UWA==";
+       };
+     };
+     "postcss-color-function-4.0.1" = {
+       name = "postcss-color-function";
+       packageName = "postcss-color-function";
+       version = "4.0.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/postcss-color-function/-/postcss-color-function-4.0.1.tgz";
+         sha1 = "402b3f2cebc3f6947e618fb6be3654fbecef6444";
+       };
+     };
+     "postcss-colormin-4.0.2" = {
+       name = "postcss-colormin";
+       packageName = "postcss-colormin";
+       version = "4.0.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-4.0.2.tgz";
+         sha512 = "1QJc2coIehnVFsz0otges8kQLsryi4lo19WD+U5xCWvXd0uw/Z+KKYnbiNDCnO9GP+PvErPHCG0jNvWTngk9Rw==";
+       };
+     };
+     "postcss-convert-values-4.0.1" = {
+       name = "postcss-convert-values";
+       packageName = "postcss-convert-values";
+       version = "4.0.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz";
+         sha512 = "Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ==";
+       };
+     };
+     "postcss-custom-media-6.0.0" = {
+       name = "postcss-custom-media";
+       packageName = "postcss-custom-media";
+       version = "6.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-6.0.0.tgz";
+         sha1 = "be532784110ecb295044fb5395a18006eb21a737";
+       };
+     };
+     "postcss-custom-properties-7.0.0" = {
+       name = "postcss-custom-properties";
+       packageName = "postcss-custom-properties";
+       version = "7.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-7.0.0.tgz";
+         sha512 = "dl/CNaM6z2RBa0vZZqsV6Hunj4HD6Spu7FcAkiVp5B2tgm6xReKKYzI7x7QNx3wTMBNj5v+ylfVcQGMW4xdkHw==";
+       };
+     };
+     "postcss-discard-comments-4.0.1" = {
+       name = "postcss-discard-comments";
+       packageName = "postcss-discard-comments";
+       version = "4.0.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-4.0.1.tgz";
+         sha512 = "Ay+rZu1Sz6g8IdzRjUgG2NafSNpp2MSMOQUb+9kkzzzP+kh07fP0yNbhtFejURnyVXSX3FYy2nVNW1QTnNjgBQ==";
+       };
+     };
+     "postcss-discard-duplicates-4.0.2" = {
+       name = "postcss-discard-duplicates";
+       packageName = "postcss-discard-duplicates";
+       version = "4.0.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz";
+         sha512 = "ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ==";
+       };
+     };
+     "postcss-discard-empty-4.0.1" = {
+       name = "postcss-discard-empty";
+       packageName = "postcss-discard-empty";
+       version = "4.0.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz";
+         sha512 = "B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w==";
+       };
+     };
+     "postcss-discard-overridden-4.0.1" = {
+       name = "postcss-discard-overridden";
+       packageName = "postcss-discard-overridden";
+       version = "4.0.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz";
+         sha512 = "IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg==";
+       };
+     };
+     "postcss-discard-unused-2.2.3" = {
+       name = "postcss-discard-unused";
+       packageName = "postcss-discard-unused";
+       version = "2.2.3";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-2.2.3.tgz";
+         sha1 = "bce30b2cc591ffc634322b5fb3464b6d934f4433";
+       };
+     };
+     "postcss-html-0.36.0" = {
+       name = "postcss-html";
+       packageName = "postcss-html";
+       version = "0.36.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/postcss-html/-/postcss-html-0.36.0.tgz";
+         sha512 = "HeiOxGcuwID0AFsNAL0ox3mW6MHH5cstWN1Z3Y+n6H+g12ih7LHdYxWwEA/QmrebctLjo79xz9ouK3MroHwOJw==";
+       };
+     };
+     "postcss-image-set-polyfill-0.4.4" = {
+       name = "postcss-image-set-polyfill";
+       packageName = "postcss-image-set-polyfill";
+       version = "0.4.4";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/postcss-image-set-polyfill/-/postcss-image-set-polyfill-0.4.4.tgz";
+         sha512 = "Mr5vXeUwxylX9amqyhXyiyqbzJgGS8quJ/d855EqU5S/DBILvoiR4pRnxLw9Ic2a5E0nB6gLOuMU0Wm/KhVW9A==";
+       };
+     };
+     "postcss-import-11.1.0" = {
+       name = "postcss-import";
+       packageName = "postcss-import";
+       version = "11.1.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/postcss-import/-/postcss-import-11.1.0.tgz";
+         sha512 = "5l327iI75POonjxkXgdRCUS+AlzAdBx4pOvMEhTKTCjb1p8IEeVR9yx3cPbmN7LIWJLbfnIXxAhoB4jpD0c/Cw==";
+       };
+     };
+     "postcss-js-2.0.0" = {
+       name = "postcss-js";
+       packageName = "postcss-js";
+       version = "2.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/postcss-js/-/postcss-js-2.0.0.tgz";
+         sha512 = "9kAApW9G5kN8FkQ0ZdvSmbgbHIRrKmXtde2ZWYbwrW51gfEWfGsLlUu57mTpioPrmQlQFOgEvaeGYp+poqlX0A==";
+       };
+     };
+     "postcss-jsx-0.36.0" = {
+       name = "postcss-jsx";
+       packageName = "postcss-jsx";
+       version = "0.36.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/postcss-jsx/-/postcss-jsx-0.36.0.tgz";
+         sha512 = "/lWOSXSX5jlITCKFkuYU2WLFdrncZmjSVyNpHAunEgirZXLwI8RjU556e3Uz4mv0WVHnJA9d3JWb36lK9Yx99g==";
+       };
+     };
+     "postcss-less-3.1.2" = {
+       name = "postcss-less";
+       packageName = "postcss-less";
+       version = "3.1.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/postcss-less/-/postcss-less-3.1.2.tgz";
+         sha512 = "66ZBVo1JGkQ7r13M97xcHcyarWpgg21RaqIZWZXHE3XOtb5+ywK1uZWeY1DYkYRkIX/l8Hvxnx9iSKB68nFr+w==";
+       };
+     };
+     "postcss-load-config-1.2.0" = {
+       name = "postcss-load-config";
+       packageName = "postcss-load-config";
+       version = "1.2.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-1.2.0.tgz";
+         sha1 = "539e9afc9ddc8620121ebf9d8c3673e0ce50d28a";
+       };
+     };
+     "postcss-load-options-1.2.0" = {
+       name = "postcss-load-options";
+       packageName = "postcss-load-options";
+       version = "1.2.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/postcss-load-options/-/postcss-load-options-1.2.0.tgz";
+         sha1 = "b098b1559ddac2df04bc0bb375f99a5cfe2b6d8c";
+       };
+     };
+     "postcss-load-plugins-2.3.0" = {
+       name = "postcss-load-plugins";
+       packageName = "postcss-load-plugins";
+       version = "2.3.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/postcss-load-plugins/-/postcss-load-plugins-2.3.0.tgz";
+         sha1 = "745768116599aca2f009fad426b00175049d8d92";
+       };
+     };
+     "postcss-markdown-0.36.0" = {
+       name = "postcss-markdown";
+       packageName = "postcss-markdown";
+       version = "0.36.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/postcss-markdown/-/postcss-markdown-0.36.0.tgz";
+         sha512 = "rl7fs1r/LNSB2bWRhyZ+lM/0bwKv9fhl38/06gF6mKMo/NPnp55+K1dSTosSVjFZc0e1ppBlu+WT91ba0PMBfQ==";
+       };
+     };
+     "postcss-media-query-parser-0.2.3" = {
+       name = "postcss-media-query-parser";
+       packageName = "postcss-media-query-parser";
+       version = "0.2.3";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz";
+         sha1 = "27b39c6f4d94f81b1a73b8f76351c609e5cef244";
+       };
+     };
+     "postcss-merge-idents-2.1.7" = {
+       name = "postcss-merge-idents";
+       packageName = "postcss-merge-idents";
+       version = "2.1.7";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz";
+         sha1 = "4c5530313c08e1d5b3bbf3d2bbc747e278eea270";
+       };
+     };
+     "postcss-merge-longhand-4.0.10" = {
+       name = "postcss-merge-longhand";
+       packageName = "postcss-merge-longhand";
+       version = "4.0.10";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-4.0.10.tgz";
+         sha512 = "hME10s6CSjm9nlVIcO1ukR7Jr5RisTaaC1y83jWCivpuBtPohA3pZE7cGTIVSYjXvLnXozHTiVOkG4dnnl756g==";
+       };
+     };
+     "postcss-merge-rules-4.0.2" = {
+       name = "postcss-merge-rules";
+       packageName = "postcss-merge-rules";
+       version = "4.0.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-4.0.2.tgz";
+         sha512 = "UiuXwCCJtQy9tAIxsnurfF0mrNHKc4NnNx6NxqmzNNjXpQwLSukUxELHTRF0Rg1pAmcoKLih8PwvZbiordchag==";
+       };
+     };
+     "postcss-message-helpers-2.0.0" = {
+       name = "postcss-message-helpers";
+       packageName = "postcss-message-helpers";
+       version = "2.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/postcss-message-helpers/-/postcss-message-helpers-2.0.0.tgz";
+         sha1 = "a4f2f4fab6e4fe002f0aed000478cdf52f9ba60e";
+       };
+     };
+     "postcss-minify-font-values-4.0.2" = {
+       name = "postcss-minify-font-values";
+       packageName = "postcss-minify-font-values";
+       version = "4.0.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz";
+         sha512 = "j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg==";
+       };
+     };
+     "postcss-minify-gradients-4.0.1" = {
+       name = "postcss-minify-gradients";
+       packageName = "postcss-minify-gradients";
+       version = "4.0.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-4.0.1.tgz";
+         sha512 = "pySEW3E6Ly5mHm18rekbWiAjVi/Wj8KKt2vwSfVFAWdW6wOIekgqxKxLU7vJfb107o3FDNPkaYFCxGAJBFyogA==";
+       };
+     };
+     "postcss-minify-params-4.0.1" = {
+       name = "postcss-minify-params";
+       packageName = "postcss-minify-params";
+       version = "4.0.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-4.0.1.tgz";
+         sha512 = "h4W0FEMEzBLxpxIVelRtMheskOKKp52ND6rJv+nBS33G1twu2tCyurYj/YtgU76+UDCvWeNs0hs8HFAWE2OUFg==";
+       };
+     };
+     "postcss-minify-selectors-4.0.1" = {
+       name = "postcss-minify-selectors";
+       packageName = "postcss-minify-selectors";
+       version = "4.0.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-4.0.1.tgz";
+         sha512 = "8+plQkomve3G+CodLCgbhAKrb5lekAnLYuL1d7Nz+/7RANpBEVdgBkPNwljfSKvZ9xkkZTZITd04KP+zeJTJqg==";
+       };
+     };
+     "postcss-mixins-6.2.1" = {
+       name = "postcss-mixins";
+       packageName = "postcss-mixins";
+       version = "6.2.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/postcss-mixins/-/postcss-mixins-6.2.1.tgz";
+         sha512 = "XfItKgFHAPKa4mayLVwoASYzzRLyW64mEtsVZz7LT7ElrprVZx9D5ivqOi5oQCkUxyiLs9sjg4aiRxr+gK9xkQ==";
+       };
+     };
+     "postcss-nested-3.0.0" = {
+       name = "postcss-nested";
+       packageName = "postcss-nested";
+       version = "3.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/postcss-nested/-/postcss-nested-3.0.0.tgz";
+         sha512 = "1xxmLHSfubuUi6xZZ0zLsNoiKfk3BWQj6fkNMaBJC529wKKLcdeCxXt6KJmDLva+trNyQNwEaE/ZWMA7cve1fA==";
+       };
+     };
+     "postcss-normalize-6.0.0" = {
+       name = "postcss-normalize";
+       packageName = "postcss-normalize";
+       version = "6.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/postcss-normalize/-/postcss-normalize-6.0.0.tgz";
+         sha1 = "6441b3ced4578f7b7c3b1529a43d1d0ef466996f";
+       };
+     };
+     "postcss-normalize-charset-4.0.1" = {
+       name = "postcss-normalize-charset";
+       packageName = "postcss-normalize-charset";
+       version = "4.0.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz";
+         sha512 = "gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g==";
+       };
+     };
+     "postcss-normalize-display-values-4.0.1" = {
+       name = "postcss-normalize-display-values";
+       packageName = "postcss-normalize-display-values";
+       version = "4.0.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.1.tgz";
+         sha512 = "R5mC4vaDdvsrku96yXP7zak+O3Mm9Y8IslUobk7IMP+u/g+lXvcN4jngmHY5zeJnrQvE13dfAg5ViU05ZFDwdg==";
+       };
+     };
+     "postcss-normalize-positions-4.0.1" = {
+       name = "postcss-normalize-positions";
+       packageName = "postcss-normalize-positions";
+       version = "4.0.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-4.0.1.tgz";
+         sha512 = "GNoOaLRBM0gvH+ZRb2vKCIujzz4aclli64MBwDuYGU2EY53LwiP7MxOZGE46UGtotrSnmarPPZ69l2S/uxdaWA==";
+       };
+     };
+     "postcss-normalize-repeat-style-4.0.1" = {
+       name = "postcss-normalize-repeat-style";
+       packageName = "postcss-normalize-repeat-style";
+       version = "4.0.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.1.tgz";
+         sha512 = "fFHPGIjBUyUiswY2rd9rsFcC0t3oRta4wxE1h3lpwfQZwFeFjXFSiDtdJ7APCmHQOnUZnqYBADNRPKPwFAONgA==";
+       };
+     };
+     "postcss-normalize-string-4.0.1" = {
+       name = "postcss-normalize-string";
+       packageName = "postcss-normalize-string";
+       version = "4.0.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-4.0.1.tgz";
+         sha512 = "IJoexFTkAvAq5UZVxWXAGE0yLoNN/012v7TQh5nDo6imZJl2Fwgbhy3J2qnIoaDBrtUP0H7JrXlX1jjn2YcvCQ==";
+       };
+     };
+     "postcss-normalize-timing-functions-4.0.1" = {
+       name = "postcss-normalize-timing-functions";
+       packageName = "postcss-normalize-timing-functions";
+       version = "4.0.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.1.tgz";
+         sha512 = "1nOtk7ze36+63ONWD8RCaRDYsnzorrj+Q6fxkQV+mlY5+471Qx9kspqv0O/qQNMeApg8KNrRf496zHwJ3tBZ7w==";
+       };
+     };
+     "postcss-normalize-unicode-4.0.1" = {
+       name = "postcss-normalize-unicode";
+       packageName = "postcss-normalize-unicode";
+       version = "4.0.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz";
+         sha512 = "od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg==";
+       };
+     };
+     "postcss-normalize-url-4.0.1" = {
+       name = "postcss-normalize-url";
+       packageName = "postcss-normalize-url";
+       version = "4.0.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz";
+         sha512 = "p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA==";
+       };
+     };
+     "postcss-normalize-whitespace-4.0.1" = {
+       name = "postcss-normalize-whitespace";
+       packageName = "postcss-normalize-whitespace";
+       version = "4.0.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.1.tgz";
+         sha512 = "U8MBODMB2L+nStzOk6VvWWjZgi5kQNShCyjRhMT3s+W9Jw93yIjOnrEkKYD3Ul7ChWbEcjDWmXq0qOL9MIAnAw==";
+       };
+     };
+     "postcss-ordered-values-4.1.1" = {
+       name = "postcss-ordered-values";
+       packageName = "postcss-ordered-values";
+       version = "4.1.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-4.1.1.tgz";
+         sha512 = "PeJiLgJWPzkVF8JuKSBcylaU+hDJ/TX3zqAMIjlghgn1JBi6QwQaDZoDIlqWRcCAI8SxKrt3FCPSRmOgKRB97Q==";
+       };
+     };
+     "postcss-reduce-idents-2.4.0" = {
+       name = "postcss-reduce-idents";
+       packageName = "postcss-reduce-idents";
+       version = "2.4.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-2.4.0.tgz";
+         sha1 = "c2c6d20cc958284f6abfbe63f7609bf409059ad3";
+       };
+     };
+     "postcss-reduce-initial-4.0.2" = {
+       name = "postcss-reduce-initial";
+       packageName = "postcss-reduce-initial";
+       version = "4.0.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-4.0.2.tgz";
+         sha512 = "epUiC39NonKUKG+P3eAOKKZtm5OtAtQJL7Ye0CBN1f+UQTHzqotudp+hki7zxXm7tT0ZAKDMBj1uihpPjP25ug==";
+       };
+     };
+     "postcss-reduce-transforms-4.0.1" = {
+       name = "postcss-reduce-transforms";
+       packageName = "postcss-reduce-transforms";
+       version = "4.0.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.1.tgz";
+         sha512 = "sZVr3QlGs0pjh6JAIe6DzWvBaqYw05V1t3d9Tp+VnFRT5j+rsqoWsysh/iSD7YNsULjq9IAylCznIwVd5oU/zA==";
+       };
+     };
+     "postcss-reporter-1.4.1" = {
+       name = "postcss-reporter";
+       packageName = "postcss-reporter";
+       version = "1.4.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/postcss-reporter/-/postcss-reporter-1.4.1.tgz";
+         sha1 = "c136f0a5b161915f379dd3765c61075f7e7b9af2";
+       };
+     };
+     "postcss-reporter-5.0.0" = {
+       name = "postcss-reporter";
+       packageName = "postcss-reporter";
+       version = "5.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/postcss-reporter/-/postcss-reporter-5.0.0.tgz";
+         sha512 = "rBkDbaHAu5uywbCR2XE8a25tats3xSOsGNx6mppK6Q9kSFGKc/FyAzfci+fWM2l+K402p1D0pNcfDGxeje5IKg==";
+       };
+     };
+     "postcss-reporter-6.0.1" = {
+       name = "postcss-reporter";
+       packageName = "postcss-reporter";
+       version = "6.0.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/postcss-reporter/-/postcss-reporter-6.0.1.tgz";
+         sha512 = "LpmQjfRWyabc+fRygxZjpRxfhRf9u/fdlKf4VHG4TSPbV2XNsuISzYW1KL+1aQzx53CAppa1bKG4APIB/DOXXw==";
+       };
+     };
+     "postcss-resolve-nested-selector-0.1.1" = {
+       name = "postcss-resolve-nested-selector";
+       packageName = "postcss-resolve-nested-selector";
+       version = "0.1.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.1.tgz";
+         sha1 = "29ccbc7c37dedfac304e9fff0bf1596b3f6a0e4e";
+       };
+     };
+     "postcss-round-subpixels-1.2.0" = {
+       name = "postcss-round-subpixels";
+       packageName = "postcss-round-subpixels";
+       version = "1.2.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/postcss-round-subpixels/-/postcss-round-subpixels-1.2.0.tgz";
+         sha1 = "e21d6ac5952e185f9bdc008b94f004fe509d0a11";
+       };
+     };
+     "postcss-safe-parser-4.0.1" = {
+       name = "postcss-safe-parser";
+       packageName = "postcss-safe-parser";
+       version = "4.0.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-4.0.1.tgz";
+         sha512 = "xZsFA3uX8MO3yAda03QrG3/Eg1LN3EPfjjf07vke/46HERLZyHrTsQ9E1r1w1W//fWEhtYNndo2hQplN2cVpCQ==";
+       };
+     };
+     "postcss-sass-0.3.5" = {
+       name = "postcss-sass";
+       packageName = "postcss-sass";
+       version = "0.3.5";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/postcss-sass/-/postcss-sass-0.3.5.tgz";
+         sha512 = "B5z2Kob4xBxFjcufFnhQ2HqJQ2y/Zs/ic5EZbCywCkxKd756Q40cIQ/veRDwSrw1BF6+4wUgmpm0sBASqVi65A==";
+       };
+     };
+     "postcss-scss-2.0.0" = {
+       name = "postcss-scss";
+       packageName = "postcss-scss";
+       version = "2.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/postcss-scss/-/postcss-scss-2.0.0.tgz";
+         sha512 = "um9zdGKaDZirMm+kZFKKVsnKPF7zF7qBAtIfTSnZXD1jZ0JNZIxdB6TxQOjCnlSzLRInVl2v3YdBh/M881C4ug==";
+       };
+     };
+     "postcss-selector-parser-2.2.3" = {
+       name = "postcss-selector-parser";
+       packageName = "postcss-selector-parser";
+       version = "2.2.3";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz";
+         sha1 = "f9437788606c3c9acee16ffe8d8b16297f27bb90";
+       };
+     };
+     "postcss-selector-parser-3.1.1" = {
+       name = "postcss-selector-parser";
+       packageName = "postcss-selector-parser";
+       version = "3.1.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz";
+         sha1 = "4f875f4afb0c96573d5cf4d74011aee250a7e865";
+       };
+     };
+     "postcss-selector-parser-5.0.0" = {
+       name = "postcss-selector-parser";
+       packageName = "postcss-selector-parser";
+       version = "5.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz";
+         sha512 = "w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==";
+       };
+     };
+     "postcss-simple-vars-5.0.1" = {
+       name = "postcss-simple-vars";
+       packageName = "postcss-simple-vars";
+       version = "5.0.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/postcss-simple-vars/-/postcss-simple-vars-5.0.1.tgz";
+         sha512 = "nlulz+X0i8CH2e9IbxFfMD9rG4fGx+O4hH7Pwj0bZalRx91gvli85DAymqBQ35X7VBUackGD2iNj7DgsCbwQug==";
+       };
+     };
+     "postcss-svgo-4.0.1" = {
+       name = "postcss-svgo";
+       packageName = "postcss-svgo";
+       version = "4.0.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.1.tgz";
+         sha512 = "YD5uIk5NDRySy0hcI+ZJHwqemv2WiqqzDgtvgMzO8EGSkK5aONyX8HMVFRFJSdO8wUWTuisUFn/d7yRRbBr5Qw==";
+       };
+     };
+     "postcss-syntax-0.36.2" = {
+       name = "postcss-syntax";
+       packageName = "postcss-syntax";
+       version = "0.36.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/postcss-syntax/-/postcss-syntax-0.36.2.tgz";
+         sha512 = "nBRg/i7E3SOHWxF3PpF5WnJM/jQ1YpY9000OaVXlAQj6Zp/kIqJxEDWIZ67tAd7NLuk7zqN4yqe9nc0oNAOs1w==";
+       };
+     };
+     "postcss-unique-selectors-4.0.1" = {
+       name = "postcss-unique-selectors";
+       packageName = "postcss-unique-selectors";
+       version = "4.0.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz";
+         sha512 = "+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg==";
+       };
+     };
+     "postcss-utilities-0.8.0" = {
+       name = "postcss-utilities";
+       packageName = "postcss-utilities";
+       version = "0.8.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/postcss-utilities/-/postcss-utilities-0.8.0.tgz";
+         sha1 = "2378ff421638d68f9e31bc61ab4a8c220b4a7c43";
+       };
+     };
+     "postcss-value-parser-3.3.0" = {
+       name = "postcss-value-parser";
+       packageName = "postcss-value-parser";
+       version = "3.3.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz";
+         sha1 = "87f38f9f18f774a4ab4c8a232f5c5ce8872a9d15";
+       };
+     };
+     "postcss-value-parser-3.3.1" = {
+       name = "postcss-value-parser";
+       packageName = "postcss-value-parser";
+       version = "3.3.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz";
+         sha512 = "pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==";
+       };
+     };
+     "postcss-zindex-2.2.0" = {
+       name = "postcss-zindex";
+       packageName = "postcss-zindex";
+       version = "2.2.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-2.2.0.tgz";
+         sha1 = "d2109ddc055b91af67fc4cb3b025946639d2af22";
+       };
+     };
+     "prettier-1.16.4" = {
+       name = "prettier";
+       packageName = "prettier";
+       version = "1.16.4";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/prettier/-/prettier-1.16.4.tgz";
+         sha512 = "ZzWuos7TI5CKUeQAtFd6Zhm2s6EpAD/ZLApIhsF9pRvRtM1RFo61dM/4MSRUA0SuLugA/zgrZD8m0BaY46Og7g==";
+       };
+     };
+     "pretty-hrtime-1.0.3" = {
+       name = "pretty-hrtime";
+       packageName = "pretty-hrtime";
+       version = "1.0.3";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz";
+         sha1 = "b7e3ea42435a4c9b2759d99e0f201eb195802ee1";
+       };
+     };
+     "process-nextick-args-2.0.0" = {
+       name = "process-nextick-args";
+       packageName = "process-nextick-args";
+       version = "2.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz";
+         sha512 = "MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==";
+       };
+     };
+     "pseudomap-1.0.2" = {
+       name = "pseudomap";
+       packageName = "pseudomap";
+       version = "1.0.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz";
+         sha1 = "f052a28da70e618917ef0a8ac34c1ae5a68286b3";
+       };
+     };
+     "punycode-2.1.1" = {
+       name = "punycode";
+       packageName = "punycode";
+       version = "2.1.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz";
+         sha512 = "XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==";
+       };
+     };
+     "q-1.5.1" = {
+       name = "q";
+       packageName = "q";
+       version = "1.5.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/q/-/q-1.5.1.tgz";
+         sha1 = "7e32f75b41381291d04611f1bf14109ac00651d7";
+       };
+     };
+     "quick-lru-1.1.0" = {
+       name = "quick-lru";
+       packageName = "quick-lru";
+       version = "1.1.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/quick-lru/-/quick-lru-1.1.0.tgz";
+         sha1 = "4360b17c61136ad38078397ff11416e186dcfbb8";
+       };
+     };
+     "read-cache-1.0.0" = {
+       name = "read-cache";
+       packageName = "read-cache";
+       version = "1.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz";
+         sha1 = "e664ef31161166c9751cdbe8dbcf86b5fb58f774";
+       };
+     };
+     "read-pkg-3.0.0" = {
+       name = "read-pkg";
+       packageName = "read-pkg";
+       version = "3.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz";
+         sha1 = "9cbc686978fee65d16c00e2b19c237fcf6e38389";
+       };
+     };
+     "read-pkg-up-3.0.0" = {
+       name = "read-pkg-up";
+       packageName = "read-pkg-up";
+       version = "3.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz";
+         sha1 = "3ed496685dba0f8fe118d0691dc51f4a1ff96f07";
+       };
+     };
+     "readable-stream-2.3.6" = {
+       name = "readable-stream";
+       packageName = "readable-stream";
+       version = "2.3.6";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz";
+         sha512 = "tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==";
+       };
+     };
+     "readable-stream-3.1.1" = {
+       name = "readable-stream";
+       packageName = "readable-stream";
+       version = "3.1.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/readable-stream/-/readable-stream-3.1.1.tgz";
+         sha512 = "DkN66hPyqDhnIQ6Jcsvx9bFjhw214O4poMBcIMgPVpQvNy9a0e0Uhg5SqySyDKAmUlwt8LonTBz1ezOnM8pUdA==";
+       };
+     };
+     "readdirp-2.2.1" = {
+       name = "readdirp";
+       packageName = "readdirp";
+       version = "2.2.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz";
+         sha512 = "1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==";
+       };
+     };
+     "redent-2.0.0" = {
+       name = "redent";
+       packageName = "redent";
+       version = "2.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/redent/-/redent-2.0.0.tgz";
+         sha1 = "c1b2007b42d57eb1389079b3c8333639d5e1ccaa";
+       };
+     };
+     "reduce-css-calc-2.1.6" = {
+       name = "reduce-css-calc";
+       packageName = "reduce-css-calc";
+       version = "2.1.6";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-2.1.6.tgz";
+         sha512 = "+l5/qlQmdsbM9h6JerJ/y5vR5Ci0k93aszLNpCmbadC3nBcbRGmIBm0s9Nj59i22LvCjTGftWzdQRwdknayxhw==";
+       };
+     };
+     "regex-not-1.0.2" = {
+       name = "regex-not";
+       packageName = "regex-not";
+       version = "1.0.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz";
+         sha512 = "J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==";
+       };
+     };
+     "remark-10.0.1" = {
+       name = "remark";
+       packageName = "remark";
+       version = "10.0.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/remark/-/remark-10.0.1.tgz";
+         sha512 = "E6lMuoLIy2TyiokHprMjcWNJ5UxfGQjaMSMhV+f4idM625UjjK4j798+gPs5mfjzDE6vL0oFKVeZM6gZVSVrzQ==";
+       };
+     };
+     "remark-parse-6.0.3" = {
+       name = "remark-parse";
+       packageName = "remark-parse";
+       version = "6.0.3";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/remark-parse/-/remark-parse-6.0.3.tgz";
+         sha512 = "QbDXWN4HfKTUC0hHa4teU463KclLAnwpn/FBn87j9cKYJWWawbiLgMfP2Q4XwhxxuuuOxHlw+pSN0OKuJwyVvg==";
+       };
+     };
+     "remark-stringify-6.0.4" = {
+       name = "remark-stringify";
+       packageName = "remark-stringify";
+       version = "6.0.4";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/remark-stringify/-/remark-stringify-6.0.4.tgz";
+         sha512 = "eRWGdEPMVudijE/psbIDNcnJLRVx3xhfuEsTDGgH4GsFF91dVhw5nhmnBppafJ7+NWINW6C7ZwWbi30ImJzqWg==";
+       };
+     };
+     "remove-trailing-separator-1.1.0" = {
+       name = "remove-trailing-separator";
+       packageName = "remove-trailing-separator";
+       version = "1.1.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz";
+         sha1 = "c24bce2a283adad5bc3f58e0d48249b92379d8ef";
+       };
+     };
+     "repeat-element-1.1.3" = {
+       name = "repeat-element";
+       packageName = "repeat-element";
+       version = "1.1.3";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz";
+         sha512 = "ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==";
+       };
+     };
+     "repeat-string-1.6.1" = {
+       name = "repeat-string";
+       packageName = "repeat-string";
+       version = "1.6.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz";
+         sha1 = "8dcae470e1c88abc2d600fff4a776286da75e637";
+       };
+     };
+     "replace-ext-1.0.0" = {
+       name = "replace-ext";
+       packageName = "replace-ext";
+       version = "1.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz";
+         sha1 = "de63128373fcbf7c3ccfa4de5a480c45a67958eb";
+       };
+     };
+     "require-directory-2.1.1" = {
+       name = "require-directory";
+       packageName = "require-directory";
+       version = "2.1.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz";
+         sha1 = "8c64ad5fd30dab1c976e2344ffe7f792a6a6df42";
+       };
+     };
+     "require-from-string-1.2.1" = {
+       name = "require-from-string";
+       packageName = "require-from-string";
+       version = "1.2.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/require-from-string/-/require-from-string-1.2.1.tgz";
+         sha1 = "529c9ccef27380adfec9a2f965b649bbee636418";
+       };
+     };
+     "require-main-filename-1.0.1" = {
+       name = "require-main-filename";
+       packageName = "require-main-filename";
+       version = "1.0.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz";
+         sha1 = "97f717b69d48784f5f526a6c5aa8ffdda055a4d1";
+       };
+     };
+     "resolve-1.10.0" = {
+       name = "resolve";
+       packageName = "resolve";
+       version = "1.10.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/resolve/-/resolve-1.10.0.tgz";
+         sha512 = "3sUr9aq5OfSg2S9pNtPA9hL1FVEAjvfOC4leW0SNf/mpnaakz2a9femSd6LqAww2RaFctwyf1lCqnTHuF1rxDg==";
+       };
+     };
+     "resolve-from-3.0.0" = {
+       name = "resolve-from";
+       packageName = "resolve-from";
+       version = "3.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz";
+         sha1 = "b22c7af7d9d6881bc8b6e653335eebcb0a188748";
+       };
+     };
+     "resolve-from-4.0.0" = {
+       name = "resolve-from";
+       packageName = "resolve-from";
+       version = "4.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz";
+         sha512 = "pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==";
+       };
+     };
+     "resolve-url-0.2.1" = {
+       name = "resolve-url";
+       packageName = "resolve-url";
+       version = "0.2.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz";
+         sha1 = "2c637fe77c893afd2a663fe21aa9080068e2052a";
+       };
+     };
+     "ret-0.1.15" = {
+       name = "ret";
+       packageName = "ret";
+       version = "0.1.15";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz";
+         sha512 = "TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==";
+       };
+     };
+     "rgb-0.1.0" = {
+       name = "rgb";
+       packageName = "rgb";
+       version = "0.1.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/rgb/-/rgb-0.1.0.tgz";
+         sha1 = "be27b291e8feffeac1bd99729721bfa40fc037b5";
+       };
+     };
+     "rgb-regex-1.0.1" = {
+       name = "rgb-regex";
+       packageName = "rgb-regex";
+       version = "1.0.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz";
+         sha1 = "c0e0d6882df0e23be254a475e8edd41915feaeb1";
+       };
+     };
+     "rgba-regex-1.0.0" = {
+       name = "rgba-regex";
+       packageName = "rgba-regex";
+       version = "1.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz";
+         sha1 = "43374e2e2ca0968b0ef1523460b7d730ff22eeb3";
+       };
+     };
+     "rimraf-2.6.3" = {
+       name = "rimraf";
+       packageName = "rimraf";
+       version = "2.6.3";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz";
+         sha512 = "mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==";
+       };
+     };
+     "safe-buffer-5.1.2" = {
+       name = "safe-buffer";
+       packageName = "safe-buffer";
+       version = "5.1.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz";
+         sha512 = "Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==";
+       };
+     };
+     "safe-regex-1.1.0" = {
+       name = "safe-regex";
+       packageName = "safe-regex";
+       version = "1.1.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz";
+         sha1 = "40a3669f3b077d1e943d44629e157dd48023bf2e";
+       };
+     };
+     "sax-1.2.4" = {
+       name = "sax";
+       packageName = "sax";
+       version = "1.2.4";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz";
+         sha512 = "NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==";
+       };
+     };
+     "semver-5.6.0" = {
+       name = "semver";
+       packageName = "semver";
+       version = "5.6.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz";
+         sha512 = "RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==";
+       };
+     };
+     "set-blocking-2.0.0" = {
+       name = "set-blocking";
+       packageName = "set-blocking";
+       version = "2.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz";
+         sha1 = "045f9782d011ae9a6803ddd382b24392b3d890f7";
+       };
+     };
+     "set-value-0.4.3" = {
+       name = "set-value";
+       packageName = "set-value";
+       version = "0.4.3";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz";
+         sha1 = "7db08f9d3d22dc7f78e53af3c3bf4666ecdfccf1";
+       };
+     };
+     "set-value-2.0.0" = {
+       name = "set-value";
+       packageName = "set-value";
+       version = "2.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz";
+         sha512 = "hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==";
+       };
+     };
+     "shebang-command-1.2.0" = {
+       name = "shebang-command";
+       packageName = "shebang-command";
+       version = "1.2.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz";
+         sha1 = "44aac65b695b03398968c39f363fee5deafdf1ea";
+       };
+     };
+     "shebang-regex-1.0.0" = {
+       name = "shebang-regex";
+       packageName = "shebang-regex";
+       version = "1.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz";
+         sha1 = "da42f49740c0b42db2ca9728571cb190c98efea3";
+       };
+     };
+     "signal-exit-3.0.2" = {
+       name = "signal-exit";
+       packageName = "signal-exit";
+       version = "3.0.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz";
+         sha1 = "b5fdc08f1287ea1178628e415e25132b73646c6d";
+       };
+     };
+     "simple-swizzle-0.2.2" = {
+       name = "simple-swizzle";
+       packageName = "simple-swizzle";
+       version = "0.2.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz";
+         sha1 = "a4da6b635ffcccca33f70d17cb92592de95e557a";
+       };
+     };
+     "slash-1.0.0" = {
+       name = "slash";
+       packageName = "slash";
+       version = "1.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz";
+         sha1 = "c41f2f6c39fc16d1cd17ad4b5d896114ae470d55";
+       };
+     };
+     "slash-2.0.0" = {
+       name = "slash";
+       packageName = "slash";
+       version = "2.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz";
+         sha512 = "ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==";
+       };
+     };
+     "slice-ansi-2.1.0" = {
+       name = "slice-ansi";
+       packageName = "slice-ansi";
+       version = "2.1.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz";
+         sha512 = "Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==";
+       };
+     };
+     "snapdragon-0.8.2" = {
+       name = "snapdragon";
+       packageName = "snapdragon";
+       version = "0.8.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz";
+         sha512 = "FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==";
+       };
+     };
+     "snapdragon-node-2.1.1" = {
+       name = "snapdragon-node";
+       packageName = "snapdragon-node";
+       version = "2.1.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz";
+         sha512 = "O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==";
+       };
+     };
+     "snapdragon-util-3.0.1" = {
+       name = "snapdragon-util";
+       packageName = "snapdragon-util";
+       version = "3.0.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz";
+         sha512 = "mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==";
+       };
+     };
+     "source-map-0.5.7" = {
+       name = "source-map";
+       packageName = "source-map";
+       version = "0.5.7";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz";
+         sha1 = "8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc";
+       };
+     };
+     "source-map-0.6.1" = {
+       name = "source-map";
+       packageName = "source-map";
+       version = "0.6.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz";
+         sha512 = "UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==";
+       };
+     };
+     "source-map-resolve-0.5.2" = {
+       name = "source-map-resolve";
+       packageName = "source-map-resolve";
+       version = "0.5.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz";
+         sha512 = "MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==";
+       };
+     };
+     "source-map-url-0.4.0" = {
+       name = "source-map-url";
+       packageName = "source-map-url";
+       version = "0.4.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz";
+         sha1 = "3e935d7ddd73631b97659956d55128e87b5084a3";
+       };
+     };
+     "spdx-correct-3.1.0" = {
+       name = "spdx-correct";
+       packageName = "spdx-correct";
+       version = "3.1.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz";
+         sha512 = "lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==";
+       };
+     };
+     "spdx-exceptions-2.2.0" = {
+       name = "spdx-exceptions";
+       packageName = "spdx-exceptions";
+       version = "2.2.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz";
+         sha512 = "2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==";
+       };
+     };
+     "spdx-expression-parse-3.0.0" = {
+       name = "spdx-expression-parse";
+       packageName = "spdx-expression-parse";
+       version = "3.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz";
+         sha512 = "Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==";
+       };
+     };
+     "spdx-license-ids-3.0.3" = {
+       name = "spdx-license-ids";
+       packageName = "spdx-license-ids";
+       version = "3.0.3";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.3.tgz";
+         sha512 = "uBIcIl3Ih6Phe3XHK1NqboJLdGfwr1UN3k6wSD1dZpmPsIkb8AGNbZYJ1fOBk834+Gxy8rpfDxrS6XLEMZMY2g==";
+       };
+     };
+     "specificity-0.4.1" = {
+       name = "specificity";
+       packageName = "specificity";
+       version = "0.4.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/specificity/-/specificity-0.4.1.tgz";
+         sha512 = "1klA3Gi5PD1Wv9Q0wUoOQN1IWAuPu0D1U03ThXTr0cJ20+/iq2tHSDnK7Kk/0LXJ1ztUB2/1Os0wKmfyNgUQfg==";
+       };
+     };
+     "split-string-3.1.0" = {
+       name = "split-string";
+       packageName = "split-string";
+       version = "3.1.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz";
+         sha512 = "NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==";
+       };
+     };
+     "sprintf-js-1.0.3" = {
+       name = "sprintf-js";
+       packageName = "sprintf-js";
+       version = "1.0.3";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz";
+         sha1 = "04e6926f662895354f3dd015203633b857297e2c";
+       };
+     };
+     "stable-0.1.8" = {
+       name = "stable";
+       packageName = "stable";
+       version = "0.1.8";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz";
+         sha512 = "ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==";
+       };
+     };
+     "state-toggle-1.0.1" = {
+       name = "state-toggle";
+       packageName = "state-toggle";
+       version = "1.0.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.1.tgz";
+         sha512 = "Qe8QntFrrpWTnHwvwj2FZTgv+PKIsp0B9VxLzLLbSpPXWOgRgc5LVj/aTiSfK1RqIeF9jeC1UeOH8Q8y60A7og==";
+       };
+     };
+     "static-extend-0.1.2" = {
+       name = "static-extend";
+       packageName = "static-extend";
+       version = "0.1.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz";
+         sha1 = "60809c39cbff55337226fd5e0b520f341f1fb5c6";
+       };
+     };
+     "string-width-1.0.2" = {
+       name = "string-width";
+       packageName = "string-width";
+       version = "1.0.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz";
+         sha1 = "118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3";
+       };
+     };
+     "string-width-2.1.1" = {
+       name = "string-width";
+       packageName = "string-width";
+       version = "2.1.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz";
+         sha512 = "nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==";
+       };
+     };
+     "string-width-3.0.0" = {
+       name = "string-width";
+       packageName = "string-width";
+       version = "3.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/string-width/-/string-width-3.0.0.tgz";
+         sha512 = "rr8CUxBbvOZDUvc5lNIJ+OC1nPVpz+Siw9VBtUjB9b6jZehZLFt0JMCZzShFHIsI8cbhm0EsNIfWJMFV3cu3Ew==";
+       };
+     };
+     "string_decoder-1.1.1" = {
+       name = "string_decoder";
+       packageName = "string_decoder";
+       version = "1.1.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz";
+         sha512 = "n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==";
+       };
+     };
+     "stringify-entities-1.3.2" = {
+       name = "stringify-entities";
+       packageName = "stringify-entities";
+       version = "1.3.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/stringify-entities/-/stringify-entities-1.3.2.tgz";
+         sha512 = "nrBAQClJAPN2p+uGCVJRPIPakKeKWZ9GtBCmormE7pWOSlHat7+x5A8gx85M7HM5Dt0BP3pP5RhVW77WdbJJ3A==";
+       };
+     };
+     "strip-ansi-3.0.1" = {
+       name = "strip-ansi";
+       packageName = "strip-ansi";
+       version = "3.0.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz";
+         sha1 = "6a385fb8853d952d5ff05d0e8aaf94278dc63dcf";
+       };
+     };
+     "strip-ansi-4.0.0" = {
+       name = "strip-ansi";
+       packageName = "strip-ansi";
+       version = "4.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz";
+         sha1 = "a8479022eb1ac368a871389b635262c505ee368f";
+       };
+     };
+     "strip-ansi-5.0.0" = {
+       name = "strip-ansi";
+       packageName = "strip-ansi";
+       version = "5.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.0.0.tgz";
+         sha512 = "Uu7gQyZI7J7gn5qLn1Np3G9vcYGTVqB+lFTytnDJv83dd8T22aGH451P3jueT2/QemInJDfxHB5Tde5OzgG1Ow==";
+       };
+     };
+     "strip-bom-3.0.0" = {
+       name = "strip-bom";
+       packageName = "strip-bom";
+       version = "3.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz";
+         sha1 = "2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3";
+       };
+     };
+     "strip-eof-1.0.0" = {
+       name = "strip-eof";
+       packageName = "strip-eof";
+       version = "1.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz";
+         sha1 = "bb43ff5598a6eb05d89b59fcd129c983313606bf";
+       };
+     };
+     "strip-indent-2.0.0" = {
+       name = "strip-indent";
+       packageName = "strip-indent";
+       version = "2.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz";
+         sha1 = "5ef8db295d01e6ed6cbf7aab96998d7822527b68";
+       };
+     };
+     "style-search-0.1.0" = {
+       name = "style-search";
+       packageName = "style-search";
+       version = "0.1.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/style-search/-/style-search-0.1.0.tgz";
+         sha1 = "7958c793e47e32e07d2b5cafe5c0bf8e12e77902";
+       };
+     };
+     "stylehacks-4.0.1" = {
+       name = "stylehacks";
+       packageName = "stylehacks";
+       version = "4.0.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/stylehacks/-/stylehacks-4.0.1.tgz";
+         sha512 = "TK5zEPeD9NyC1uPIdjikzsgWxdQQN/ry1X3d1iOz1UkYDCmcr928gWD1KHgyC27F50UnE0xCTrBOO1l6KR8M4w==";
+       };
+     };
+     "stylelint-9.10.1" = {
+       name = "stylelint";
+       packageName = "stylelint";
+       version = "9.10.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/stylelint/-/stylelint-9.10.1.tgz";
+         sha512 = "9UiHxZhOAHEgeQ7oLGwrwoDR8vclBKlSX7r4fH0iuu0SfPwFaLkb1c7Q2j1cqg9P7IDXeAV2TvQML/fRQzGBBQ==";
+       };
+     };
+     "stylelint-config-recommended-2.1.0" = {
+       name = "stylelint-config-recommended";
+       packageName = "stylelint-config-recommended";
+       version = "2.1.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-2.1.0.tgz";
+         sha512 = "ajMbivOD7JxdsnlS5945KYhvt7L/HwN6YeYF2BH6kE4UCLJR0YvXMf+2j7nQpJyYLZx9uZzU5G1ZOSBiWAc6yA==";
+       };
+     };
+     "sugarss-2.0.0" = {
+       name = "sugarss";
+       packageName = "sugarss";
+       version = "2.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/sugarss/-/sugarss-2.0.0.tgz";
+         sha512 = "WfxjozUk0UVA4jm+U1d736AUpzSrNsQcIbyOkoE364GrtWmIrFdk5lksEupgWMD4VaT/0kVx1dobpiDumSgmJQ==";
+       };
+     };
+     "supports-color-2.0.0" = {
+       name = "supports-color";
+       packageName = "supports-color";
+       version = "2.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz";
+         sha1 = "535d045ce6b6363fa40117084629995e9df324c7";
+       };
+     };
+     "supports-color-3.2.3" = {
+       name = "supports-color";
+       packageName = "supports-color";
+       version = "3.2.3";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz";
+         sha1 = "65ac0504b3954171d8a64946b2ae3cbb8a5f54f6";
+       };
+     };
+     "supports-color-5.5.0" = {
+       name = "supports-color";
+       packageName = "supports-color";
+       version = "5.5.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz";
+         sha512 = "QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==";
+       };
+     };
+     "supports-color-6.1.0" = {
+       name = "supports-color";
+       packageName = "supports-color";
+       version = "6.1.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz";
+         sha512 = "qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==";
+       };
+     };
+     "svg-tags-1.0.0" = {
+       name = "svg-tags";
+       packageName = "svg-tags";
+       version = "1.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz";
+         sha1 = "58f71cee3bd519b59d4b2a843b6c7de64ac04764";
+       };
+     };
+     "svgo-1.1.1" = {
+       name = "svgo";
+       packageName = "svgo";
+       version = "1.1.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/svgo/-/svgo-1.1.1.tgz";
+         sha512 = "GBkJbnTuFpM4jFbiERHDWhZc/S/kpHToqmZag3aEBjPYK44JAN2QBjvrGIxLOoCyMZjuFQIfTO2eJd8uwLY/9g==";
+       };
+     };
+     "synesthesia-1.0.1" = {
+       name = "synesthesia";
+       packageName = "synesthesia";
+       version = "1.0.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/synesthesia/-/synesthesia-1.0.1.tgz";
+         sha1 = "5ef95ea548c0d5c6e6f9bb4b0d0731dff864a777";
+       };
+     };
+     "table-5.2.2" = {
+       name = "table";
+       packageName = "table";
+       version = "5.2.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/table/-/table-5.2.2.tgz";
+         sha512 = "f8mJmuu9beQEDkKHLzOv4VxVYlU68NpdzjbGPl69i4Hx0sTopJuNxuzJd17iV2h24dAfa93u794OnDA5jqXvfQ==";
+       };
+     };
+     "text-table-0.2.0" = {
+       name = "text-table";
+       packageName = "text-table";
+       version = "0.2.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz";
+         sha1 = "7f5ee823ae805207c00af2df4a84ec3fcfa570b4";
+       };
+     };
+     "timsort-0.3.0" = {
+       name = "timsort";
+       packageName = "timsort";
+       version = "0.3.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz";
+         sha1 = "405411a8e7e6339fe64db9a234de11dc31e02bd4";
+       };
+     };
+     "to-fast-properties-2.0.0" = {
+       name = "to-fast-properties";
+       packageName = "to-fast-properties";
+       version = "2.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz";
+         sha1 = "dc5e698cbd079265bc73e0377681a4e4e83f616e";
+       };
+     };
+     "to-object-path-0.3.0" = {
+       name = "to-object-path";
+       packageName = "to-object-path";
+       version = "0.3.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz";
+         sha1 = "297588b7b0e7e0ac08e04e672f85c1f4999e17af";
+       };
+     };
+     "to-regex-3.0.2" = {
+       name = "to-regex";
+       packageName = "to-regex";
+       version = "3.0.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz";
+         sha512 = "FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==";
+       };
+     };
+     "to-regex-range-2.1.1" = {
+       name = "to-regex-range";
+       packageName = "to-regex-range";
+       version = "2.1.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz";
+         sha1 = "7c80c17b9dfebe599e27367e0d4dd5590141db38";
+       };
+     };
+     "trim-0.0.1" = {
+       name = "trim";
+       packageName = "trim";
+       version = "0.0.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz";
+         sha1 = "5858547f6b290757ee95cccc666fb50084c460dd";
+       };
+     };
+     "trim-newlines-2.0.0" = {
+       name = "trim-newlines";
+       packageName = "trim-newlines";
+       version = "2.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/trim-newlines/-/trim-newlines-2.0.0.tgz";
+         sha1 = "b403d0b91be50c331dfc4b82eeceb22c3de16d20";
+       };
+     };
+     "trim-right-1.0.1" = {
+       name = "trim-right";
+       packageName = "trim-right";
+       version = "1.0.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz";
+         sha1 = "cb2e1203067e0c8de1f614094b9fe45704ea6003";
+       };
+     };
+     "trim-trailing-lines-1.1.1" = {
+       name = "trim-trailing-lines";
+       packageName = "trim-trailing-lines";
+       version = "1.1.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.1.tgz";
+         sha512 = "bWLv9BbWbbd7mlqqs2oQYnLD/U/ZqeJeJwbO0FG2zA1aTq+HTvxfHNKFa/HGCVyJpDiioUYaBhfiT6rgk+l4mg==";
+       };
+     };
+     "trough-1.0.3" = {
+       name = "trough";
+       packageName = "trough";
+       version = "1.0.3";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/trough/-/trough-1.0.3.tgz";
+         sha512 = "fwkLWH+DimvA4YCy+/nvJd61nWQQ2liO/nF/RjkTpiOGi+zxZzVkhb1mvbHIIW4b/8nDsYI8uTmAlc0nNkRMOw==";
+       };
+     };
+     "unherit-1.1.1" = {
+       name = "unherit";
+       packageName = "unherit";
+       version = "1.1.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/unherit/-/unherit-1.1.1.tgz";
+         sha512 = "+XZuV691Cn4zHsK0vkKYwBEwB74T3IZIcxrgn2E4rKwTfFyI1zCh7X7grwh9Re08fdPlarIdyWgI8aVB3F5A5g==";
+       };
+     };
+     "unified-7.1.0" = {
+       name = "unified";
+       packageName = "unified";
+       version = "7.1.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/unified/-/unified-7.1.0.tgz";
+         sha512 = "lbk82UOIGuCEsZhPj8rNAkXSDXd6p0QLzIuSsCdxrqnqU56St4eyOB+AlXsVgVeRmetPTYydIuvFfpDIed8mqw==";
+       };
+     };
+     "union-value-1.0.0" = {
+       name = "union-value";
+       packageName = "union-value";
+       version = "1.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz";
+         sha1 = "5c71c34cb5bad5dcebe3ea0cd08207ba5aa1aea4";
+       };
+     };
+     "uniq-1.0.1" = {
+       name = "uniq";
+       packageName = "uniq";
+       version = "1.0.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz";
+         sha1 = "b31c5ae8254844a3a8281541ce2b04b865a734ff";
+       };
+     };
+     "uniqs-2.0.0" = {
+       name = "uniqs";
+       packageName = "uniqs";
+       version = "2.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz";
+         sha1 = "ffede4b36b25290696e6e165d4a59edb998e6b02";
+       };
+     };
+     "unist-util-find-all-after-1.0.2" = {
+       name = "unist-util-find-all-after";
+       packageName = "unist-util-find-all-after";
+       version = "1.0.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/unist-util-find-all-after/-/unist-util-find-all-after-1.0.2.tgz";
+         sha512 = "nDl79mKpffXojLpCimVXnxhlH/jjaTnDuScznU9J4jjsaUtBdDbxmlc109XtcqxY4SDO0SwzngsxxW8DIISt1w==";
+       };
+     };
+     "unist-util-is-2.1.2" = {
+       name = "unist-util-is";
+       packageName = "unist-util-is";
+       version = "2.1.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/unist-util-is/-/unist-util-is-2.1.2.tgz";
+         sha512 = "YkXBK/H9raAmG7KXck+UUpnKiNmUdB+aBGrknfQ4EreE1banuzrKABx3jP6Z5Z3fMSPMQQmeXBlKpCbMwBkxVw==";
+       };
+     };
+     "unist-util-remove-position-1.1.2" = {
+       name = "unist-util-remove-position";
+       packageName = "unist-util-remove-position";
+       version = "1.1.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-1.1.2.tgz";
+         sha512 = "XxoNOBvq1WXRKXxgnSYbtCF76TJrRoe5++pD4cCBsssSiWSnPEktyFrFLE8LTk3JW5mt9hB0Sk5zn4x/JeWY7Q==";
+       };
+     };
+     "unist-util-stringify-position-1.1.2" = {
+       name = "unist-util-stringify-position";
+       packageName = "unist-util-stringify-position";
+       version = "1.1.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-1.1.2.tgz";
+         sha512 = "pNCVrk64LZv1kElr0N1wPiHEUoXNVFERp+mlTg/s9R5Lwg87f9bM/3sQB99w+N9D/qnM9ar3+AKDBwo/gm/iQQ==";
+       };
+     };
+     "unist-util-visit-1.4.0" = {
+       name = "unist-util-visit";
+       packageName = "unist-util-visit";
+       version = "1.4.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-1.4.0.tgz";
+         sha512 = "FiGu34ziNsZA3ZUteZxSFaczIjGmksfSgdKqBfOejrrfzyUy5b7YrlzT1Bcvi+djkYDituJDy2XB7tGTeBieKw==";
+       };
+     };
+     "unist-util-visit-parents-2.0.1" = {
+       name = "unist-util-visit-parents";
+       packageName = "unist-util-visit-parents";
+       version = "2.0.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-2.0.1.tgz";
+         sha512 = "6B0UTiMfdWql4cQ03gDTCSns+64Zkfo2OCbK31Ov0uMizEz+CJeAp0cgZVb5Fhmcd7Bct2iRNywejT0orpbqUA==";
+       };
+     };
+     "universalify-0.1.2" = {
+       name = "universalify";
+       packageName = "universalify";
+       version = "0.1.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz";
+         sha512 = "rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==";
+       };
+     };
+     "unquote-1.1.1" = {
+       name = "unquote";
+       packageName = "unquote";
+       version = "1.1.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz";
+         sha1 = "8fded7324ec6e88a0ff8b905e7c098cdc086d544";
+       };
+     };
+     "unset-value-1.0.0" = {
+       name = "unset-value";
+       packageName = "unset-value";
+       version = "1.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz";
+         sha1 = "8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559";
+       };
+     };
+     "upath-1.1.0" = {
+       name = "upath";
+       packageName = "upath";
+       version = "1.1.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/upath/-/upath-1.1.0.tgz";
+         sha512 = "bzpH/oBhoS/QI/YtbkqCg6VEiPYjSZtrHQM6/QnJS6OL9pKUFLqb3aFh4Scvwm45+7iAgiMkLhSbaZxUqmrprw==";
+       };
+     };
+     "uri-js-4.2.2" = {
+       name = "uri-js";
+       packageName = "uri-js";
+       version = "4.2.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz";
+         sha512 = "KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==";
+       };
+     };
+     "urix-0.1.0" = {
+       name = "urix";
+       packageName = "urix";
+       version = "0.1.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz";
+         sha1 = "da937f7a62e21fec1fd18d49b35c2935067a6c72";
+       };
+     };
+     "use-3.1.1" = {
+       name = "use";
+       packageName = "use";
+       version = "3.1.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/use/-/use-3.1.1.tgz";
+         sha512 = "cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==";
+       };
+     };
+     "util-deprecate-1.0.2" = {
+       name = "util-deprecate";
+       packageName = "util-deprecate";
+       version = "1.0.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz";
+         sha1 = "450d4dc9fa70de732762fbd2d4a28981419a0ccf";
+       };
+     };
+     "util.promisify-1.0.0" = {
+       name = "util.promisify";
+       packageName = "util.promisify";
+       version = "1.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz";
+         sha512 = "i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==";
+       };
+     };
+     "validate-npm-package-license-3.0.4" = {
+       name = "validate-npm-package-license";
+       packageName = "validate-npm-package-license";
+       version = "3.0.4";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz";
+         sha512 = "DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==";
+       };
+     };
+     "vendors-1.0.2" = {
+       name = "vendors";
+       packageName = "vendors";
+       version = "1.0.2";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/vendors/-/vendors-1.0.2.tgz";
+         sha512 = "w/hry/368nO21AN9QljsaIhb9ZiZtZARoVH5f3CsFbawdLdayCgKRPup7CggujvySMxx0I91NOyxdVENohprLQ==";
+       };
+     };
+     "vfile-3.0.1" = {
+       name = "vfile";
+       packageName = "vfile";
+       version = "3.0.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/vfile/-/vfile-3.0.1.tgz";
+         sha512 = "y7Y3gH9BsUSdD4KzHsuMaCzRjglXN0W2EcMf0gpvu6+SbsGhMje7xDc8AEoeXy6mIwCKMI6BkjMsRjzQbhMEjQ==";
+       };
+     };
+     "vfile-location-2.0.4" = {
+       name = "vfile-location";
+       packageName = "vfile-location";
+       version = "2.0.4";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/vfile-location/-/vfile-location-2.0.4.tgz";
+         sha512 = "KRL5uXQPoUKu+NGvQVL4XLORw45W62v4U4gxJ3vRlDfI9QsT4ZN1PNXn/zQpKUulqGDpYuT0XDfp5q9O87/y/w==";
+       };
+     };
+     "vfile-message-1.1.1" = {
+       name = "vfile-message";
+       packageName = "vfile-message";
+       version = "1.1.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/vfile-message/-/vfile-message-1.1.1.tgz";
+         sha512 = "1WmsopSGhWt5laNir+633LszXvZ+Z/lxveBf6yhGsqnQIhlhzooZae7zV6YVM1Sdkw68dtAW3ow0pOdPANugvA==";
+       };
+     };
+     "which-1.3.1" = {
+       name = "which";
+       packageName = "which";
+       version = "1.3.1";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/which/-/which-1.3.1.tgz";
+         sha512 = "HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==";
+       };
+     };
+     "which-module-2.0.0" = {
+       name = "which-module";
+       packageName = "which-module";
+       version = "2.0.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz";
+         sha1 = "d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a";
+       };
+     };
+     "wrap-ansi-2.1.0" = {
+       name = "wrap-ansi";
+       packageName = "wrap-ansi";
+       version = "2.1.0";
+       src = fetchurl {
+         url = "https://registry.npmjs.org/wrap-ansi/-/wrap-a