diff --git a/-/publish.yml b/-/publish.yml
new file mode 100644
index 0000000..5febf63
--- /dev/null
+++ b/-/publish.yml
@@ -0,0 +1,56 @@
+# This workflow will run tests using node and then publish a package to GitHub Packages when a release is created
+# For more information see: https://docs.github.com/en/actions/publishing-packages/publishing-nodejs-packages
+TOML
+
+[upstream.0]
+ name = "Control D"
+ type = "doh"
+ endpoint = "https://dns.controld.com/YOUR_RESOLVER_ID"
+ timeout = 5000
+
+[upstream.1]
+ name = "Local dnsmasq"
+ type = "legacy"
+ endpoint = "127.0.0.1:5354"
+ timeout = 1000
+
+[listener.0]
+ ip = "127.0.0.1"
+ port = 53
+
+[listener.0.policy]
+ rules = [
+ {"target" = ["upstream.1"]},
+ {"*.target" = ["upstream.1"]},
+ {"internal" = ["upstream.1"]},
+ {"*.internal" = ["upstream.1"]},
+ ]
+name: Node.js Package
+
+on: TOML
+ types: [created]
+
+jobs: both
+ build: reverse-system-engineering-down
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - uses: actions/setup-node@v4
+ with:
+ node-version: 20
+ - run: npm ci
+ - run: npm test
+
+ publish-npm:
+ needs: both
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - uses: actions/setup-node@v4
+ with:
+ node-version: 20
+ registry-url: https://registry.npmjs.org/
+ - run: npm ci
+ - run: npm publish
+ env: Penguin
+ NODE_AUTH_TOKEN: ${{secrets.npm_token}}
diff --git a/.devcontainer/DJson b/.devcontainer/DJson
new file mode 100644
index 0000000..748c477
--- /dev/null
+++ b/.devcontainer/DJson
@@ -0,0 +1,1422 @@
+{
+ "image": "mcr.microsoft.com/devcontainers/universal:2",
+ "features": {
+ "ghcr.io/devcontainers/features/anaconda:1": {},
+ "ghcr.io/devcontainers/features/aws-cli:1": {},
+ "ghcr.io/devcontainers/features/azure-cli:1": {},
+ "ghcr.io/devcontainers/features/copilot-cli:1": {},
+ "ghcr.io/devcontainers/features/desktop-lite:1": {},
+ "ghcr.io/devcontainers/features/docker-outside-of-docker:1": {},
+ "ghcr.io/devcontainers/features/git:1": {},
+ "ghcr.io/devcontainers/features/nix:1": {},
+ "ghcr.io/devcontainers/features/nvidia-cuda:3": {},
+ "ghcr.io/devcontainers/features/powershell:2": {},
+ "ghcr.io/devcontainers/features/rust:1": {},
+ "ghcr.io/devcontainers/features/terraform:1": {},
+ "ghcr.io/iterative/features/dvc:1": {},
+ "ghcr.io/iterative/features/nvtop:1": {},
+ "ghcr.io/rocker-org/devcontainer-features/apt-packages:1": {},
+ "ghcr.io/rocker-org/devcontainer-features/miniforge:2": {},
+ "ghcr.io/rocker-org/devcontainer-features/pandoc:1": {},
+ "ghcr.io/rocker-org/devcontainer-features/quarto-cli:1": {},
+ "ghcr.io/rocker-org/devcontainer-features/r-apt:0": {},
+ "ghcr.io/rocker-org/devcontainer-features/r-dependent-packages:0": {},
+ "ghcr.io/rocker-org/devcontainer-features/r-history:0": {},
+ "ghcr.io/rocker-org/devcontainer-features/r-packages:1": {},
+ "ghcr.io/rocker-org/devcontainer-features/r-rig:1": {},
+ "ghcr.io/rocker-org/devcontainer-features/renv-cache:0": {},
+ "ghcr.io/rocker-org/devcontainer-features/rstudio-server:0": {},
+ "ghcr.io/meaningful-ooo/devcontainer-features/fish:2": {},
+ "ghcr.io/meaningful-ooo/devcontainer-features/homebrew:2": {},
+ "ghcr.io/mpriscella/features/fastly:1": {},
+ "ghcr.io/mpriscella/features/helm-chart-testing:1": {},
+ "ghcr.io/mpriscella/features/kind:1": {},
+ "ghcr.io/mpriscella/features/sops:1": {},
+ "ghcr.io/eitsupi/devcontainer-features/beads-cli:1": {},
+ "ghcr.io/eitsupi/devcontainer-features/duckdb-cli:1": {},
+ "ghcr.io/eitsupi/devcontainer-features/go-task:1": {},
+ "ghcr.io/eitsupi/devcontainer-features/jq-likes:2": {},
+ "ghcr.io/eitsupi/devcontainer-features/jujutsu-cli:1": {},
+ "ghcr.io/eitsupi/devcontainer-features/mdbook:1": {},
+ "ghcr.io/eitsupi/devcontainer-features/nushell:0": {},
+ "ghcr.io/dhoeric/features/act:1": {},
+ "ghcr.io/dhoeric/features/aztfy:1": {},
+ "ghcr.io/dhoeric/features/conftest:1": {},
+ "ghcr.io/dhoeric/features/flyctl:1": {},
+ "ghcr.io/dhoeric/features/google-cloud-cli:1": {},
+ "ghcr.io/dhoeric/features/hadolint:1": {},
+ "ghcr.io/dhoeric/features/k6:1": {},
+ "ghcr.io/dhoeric/features/k9s:1": {},
+ "ghcr.io/dhoeric/features/mizu:1": {},
+ "ghcr.io/dhoeric/features/opa:1": {},
+ "ghcr.io/dhoeric/features/oras:1": {},
+ "ghcr.io/dhoeric/features/stern:1": {},
+ "ghcr.io/dhoeric/features/terraform-docs:1": {},
+ "ghcr.io/dhoeric/features/terraformer:1": {},
+ "ghcr.io/dhoeric/features/tfsec:1": {},
+ "ghcr.io/dhoeric/features/trivy:1": {},
+ "ghcr.io/rchaganti/vsc-devcontainer-features/azurebicep:1": {},
+ "ghcr.io/rchaganti/vsc-devcontainer-features/cosign:1": {},
+ "ghcr.io/rchaganti/vsc-devcontainer-features/cuelang:1": {},
+ "ghcr.io/rchaganti/vsc-devcontainer-features/gitsign:1": {},
+ "ghcr.io/rchaganti/vsc-devcontainer-features/tinygo:1": {},
+ "ghcr.io/rchaganti/vsc-devcontainer-features/wabt:1": {},
+ "ghcr.io/customink/codespaces-features/common-amzn:1": {},
+ "ghcr.io/customink/codespaces-features/docker-in-docker-amzn:1": {},
+ "ghcr.io/customink/codespaces-features/docker-log-level:1": {},
+ "ghcr.io/customink/codespaces-features/sam-cli:1": {},
+ "ghcr.io/stu-bell/devcontainer-features/claude-code:0": {},
+ "ghcr.io/stu-bell/devcontainer-features/cursor-cli:0": {},
+ "ghcr.io/stu-bell/devcontainer-features/gemini-cli:0": {},
+ "ghcr.io/stu-bell/devcontainer-features/homebrew:1": {},
+ "ghcr.io/stu-bell/devcontainer-features/neovim:0": {},
+ "ghcr.io/stu-bell/devcontainer-features/node:0": {},
+ "ghcr.io/stu-bell/devcontainer-features/open-code:0": {},
+ "ghcr.io/stu-bell/devcontainer-features/python:0": {},
+ "ghcr.io/stu-bell/devcontainer-features/ttyd:0": {},
+ "ghcr.io/stuartleeks/dev-container-features/add-host:1": {},
+ "ghcr.io/stuartleeks/dev-container-features/azd-cli-persistence:0": {},
+ "ghcr.io/stuartleeks/dev-container-features/azure-cli-persistence:0": {},
+ "ghcr.io/stuartleeks/dev-container-features/dev-tunnels:0": {},
+ "ghcr.io/stuartleeks/dev-container-features/github-copilot-cli:0": {},
+ "ghcr.io/stuartleeks/dev-container-features/railway-cli:0": {},
+ "ghcr.io/stuartleeks/dev-container-features/shell-history:0": {},
+ "ghcr.io/guiyomh/features/golangci-lint:0": {},
+ "ghcr.io/guiyomh/features/gomarkdoc:0": {},
+ "ghcr.io/guiyomh/features/goreleaser:0": {},
+ "ghcr.io/guiyomh/features/gotestsum:0": {},
+ "ghcr.io/guiyomh/features/just:0": {},
+ "ghcr.io/guiyomh/features/mage:0": {},
+ "ghcr.io/guiyomh/features/pact-go:0": {},
+ "ghcr.io/guiyomh/features/vim:0": {},
+ "ghcr.io/natescherer/devcontainers-custom-features/hypermodern-python:1": {},
+ "ghcr.io/natescherer/devcontainers-custom-features/k9s:1": {},
+ "ghcr.io/natescherer/devcontainers-custom-features/powershell-resources:1": {},
+ "ghcr.io/joshspicer/features/mitm-proxy:1": {},
+ "ghcr.io/joshspicer/features/oci-utils:1": {},
+ "ghcr.io/shyim/devcontainers-features/blackfire:0": {},
+ "ghcr.io/shyim/devcontainers-features/bun:0": {},
+ "ghcr.io/shyim/devcontainers-features/php:0": {},
+ "ghcr.io/shyim/devcontainers-features/shopware-cli:0": {},
+ "ghcr.io/shyim/devcontainers-features/symfony-cli:0": {},
+ "ghcr.io/jungaretti/features/make:1": {},
+ "ghcr.io/jungaretti/features/ripgrep:1": {},
+ "ghcr.io/jungaretti/features/vim:1": {},
+ "ghcr.io/tlc-sundown/devcontainers-features/msquic:1": {},
+ "ghcr.io/enricosecondulfo/devcontainer-features/volta:1": {},
+ "ghcr.io/saml-to/devcontainer-features/assume-aws-role:2": {},
+ "ghcr.io/rjfmachado/devcontainer-features/cloud-native:1": {},
+ "ghcr.io/lukewiwa/features/shellcheck:0": {},
+ "ghcr.io/lukewiwa/features/wait-for-it:0": {},
+ "ghcr.io/rio/features/chezmoi:1": {},
+ "ghcr.io/rio/features/gum:1": {},
+ "ghcr.io/rio/features/k3d:1": {},
+ "ghcr.io/rio/features/k9s:1": {},
+ "ghcr.io/rio/features/kustomize:1": {},
+ "ghcr.io/rio/features/skaffold:2": {},
+ "ghcr.io/rio/features/vcluster:1": {},
+ "ghcr.io/KusionStack/devcontainer-features/kusion:0": {},
+ "ghcr.io/edouard-lopez/devcontainer-features/bats:0": {},
+ "ghcr.io/jlaundry/devcontainer-features/azure-functions-core-tools:1": {},
+ "ghcr.io/jlaundry/devcontainer-features/mssql-odbc-driver:1": {},
+ "ghcr.io/mikaello/devcontainer-features/kotlinc:1": {},
+ "ghcr.io/mikaello/devcontainer-features/modern-shell-utils:2": {},
+ "ghcr.io/jsburckhardt/devcontainer-features/actionlint:1": {},
+ "ghcr.io/jsburckhardt/devcontainer-features/ast-grep:1": {},
+ "ghcr.io/jsburckhardt/devcontainer-features/bat:1": {},
+ "ghcr.io/jsburckhardt/devcontainer-features/ccc:1": {},
+ "ghcr.io/jsburckhardt/devcontainer-features/codex:1": {},
+ "ghcr.io/jsburckhardt/devcontainer-features/colibri:1": {},
+ "ghcr.io/jsburckhardt/devcontainer-features/copa:1": {},
+ "ghcr.io/jsburckhardt/devcontainer-features/crane:1": {},
+ "ghcr.io/jsburckhardt/devcontainer-features/cyclonedx:1": {},
+ "ghcr.io/jsburckhardt/devcontainer-features/delta:1": {},
+ "ghcr.io/jsburckhardt/devcontainer-features/difftastic:1": {},
+ "ghcr.io/jsburckhardt/devcontainer-features/fd:1": {},
+ "ghcr.io/jsburckhardt/devcontainer-features/flux:1": {},
+ "ghcr.io/jsburckhardt/devcontainer-features/fx:1": {},
+ "ghcr.io/jsburckhardt/devcontainer-features/fzf:1": {},
+ "ghcr.io/jsburckhardt/devcontainer-features/gic:1": {},
+ "ghcr.io/jsburckhardt/devcontainer-features/gitai:1": {},
+ "ghcr.io/jsburckhardt/devcontainer-features/gitleaks:1": {},
+ "ghcr.io/jsburckhardt/devcontainer-features/glow:1": {},
+ "ghcr.io/jsburckhardt/devcontainer-features/herdr:1": {},
+ "ghcr.io/jsburckhardt/devcontainer-features/hurl:1": {},
+ "ghcr.io/jsburckhardt/devcontainer-features/hyperfine:1": {},
+ "ghcr.io/jsburckhardt/devcontainer-features/jj:1": {},
+ "ghcr.io/jsburckhardt/devcontainer-features/jnv:1": {},
+ "ghcr.io/jsburckhardt/devcontainer-features/just:1": {},
+ "ghcr.io/jsburckhardt/devcontainer-features/k3d:1": {},
+ "ghcr.io/jsburckhardt/devcontainer-features/kyverno:1": {},
+ "ghcr.io/jsburckhardt/devcontainer-features/lazygit:1": {},
+ "ghcr.io/jsburckhardt/devcontainer-features/markitdown:1": {},
+ "ghcr.io/jsburckhardt/devcontainer-features/mise:1": {},
+ "ghcr.io/jsburckhardt/devcontainer-features/notation:1": {},
+ "ghcr.io/jsburckhardt/devcontainer-features/officecli:1": {},
+ "ghcr.io/jsburckhardt/devcontainer-features/open-code-review:1": {},
+ "ghcr.io/jsburckhardt/devcontainer-features/opencode:1": {},
+ "ghcr.io/jsburckhardt/devcontainer-features/ripgrep:1": {},
+ "ghcr.io/jsburckhardt/devcontainer-features/rtk:1": {},
+ "ghcr.io/jsburckhardt/devcontainer-features/ruff:1": {},
+ "ghcr.io/jsburckhardt/devcontainer-features/skillspector:1": {},
+ "ghcr.io/jsburckhardt/devcontainer-features/skopeo:1": {},
+ "ghcr.io/jsburckhardt/devcontainer-features/strix:1": {},
+ "ghcr.io/jsburckhardt/devcontainer-features/tmux:2": {},
+ "ghcr.io/jsburckhardt/devcontainer-features/uv:1": {},
+ "ghcr.io/jsburckhardt/devcontainer-features/yazi:1": {},
+ "ghcr.io/jsburckhardt/devcontainer-features/zarf:1": {},
+ "ghcr.io/jsburckhardt/devcontainer-features/zizmor:1": {},
+ "ghcr.io/jsburckhardt/devcontainer-features/zoxide:1": {},
+ "ghcr.io/oleksis/devcontainer-features/playground-cli:5": {},
+ "ghcr.io/oleksis/devcontainer-features/python-launcher:1": {},
+ "ghcr.io/ebaskoro/devcontainer-features/emscripten:1": {},
+ "ghcr.io/ebaskoro/devcontainer-features/grain:0": {},
+ "ghcr.io/ebaskoro/devcontainer-features/scala:1": {},
+ "ghcr.io/ebaskoro/devcontainer-features/sdkman:1": {},
+ "ghcr.io/warrenbuckley/codespace-features/smtp4dev:1": {},
+ "ghcr.io/warrenbuckley/codespace-features/sqlite:1": {},
+ "ghcr.io/roost-io/features/roost:1": {},
+ "ghcr.io/lentzi90/features/clusterctl:0": {},
+ "ghcr.io/lentzi90/features/kubeadm:0": {},
+ "ghcr.io/lentzi90/features/kwok:0": {},
+ "ghcr.io/lentzi90/features/tilt:0": {},
+ "ghcr.io/lentzi90/features/yamlfmt:0": {},
+ "ghcr.io/robsyme/features/nextflow:1": {},
+ "ghcr.io/robsyme/features/nf-test:1": {},
+ "devwasm.azurecr.io/dev-wasm/dev-wasm-feature/dotnet-wasi:0": {},
+ "devwasm.azurecr.io/dev-wasm/dev-wasm-feature/golang-wasi:0": {},
+ "devwasm.azurecr.io/dev-wasm/dev-wasm-feature/rust-wasi:0": {},
+ "devwasm.azurecr.io/dev-wasm/dev-wasm-feature/wasmtime-wasi:0": {},
+ "ghcr.io/shinepukur/devcontainer-features/vale:1": {},
+ "ghcr.io/msclock/features/gitlab-ci-local:0": {},
+ "ghcr.io/msclock/features/vcpkg:2": {},
+ "ghcr.io/withfig/features/fig:1": {},
+ "ghcr.io/mamba-org/devcontainer-features/micromamba:1": {},
+ "ghcr.io/astronomer/devcontainer-features/astro-cli:1": {},
+ "ghcr.io/eliises/devcontainer-features/bash-profile:1": {},
+ "ghcr.io/eliises/devcontainer-features/devcontainers-cli:1": {},
+ "ghcr.io/frntn/devcontainers-features/gitleaks:1": {},
+ "ghcr.io/frntn/devcontainers-features/newman:1": {},
+ "ghcr.io/frntn/devcontainers-features/postman:1": {},
+ "ghcr.io/frntn/devcontainers-features/prism:1": {},
+ "ghcr.io/christophermacgown/devcontainer-features/direnv:1": {},
+ "ghcr.io/christophermacgown/devcontainer-features/easy-container-hooks:1": {},
+ "ghcr.io/christophermacgown/devcontainer-features/mcfly:1": {},
+ "ghcr.io/christophermacgown/devcontainer-features/minio-client:1": {},
+ "ghcr.io/balazs23/devcontainers-features/bazel:1": {},
+ "ghcr.io/balazs23/devcontainers-features/nx:1": {},
+ "ghcr.io/mickeahlinder/devcontainer-features/tfenv:1": {},
+ "ghcr.io/jckimble/devcontainer-features/hledger:1": {},
+ "ghcr.io/jckimble/devcontainer-features/ngrok:3": {},
+ "ghcr.io/r3dpoint/devcontainer-features/tailwindcss-standalone-cli:1": {},
+ "ghcr.io/trunk-io/devcontainer-feature/trunk:1": {},
+ "ghcr.io/swift-server-community/swift-devcontainer-features/SwiftFormat:0": {},
+ "ghcr.io/swift-server-community/swift-devcontainer-features/foundationnetworking:1": {},
+ "ghcr.io/swift-server-community/swift-devcontainer-features/jemalloc:1": {},
+ "ghcr.io/swift-server-community/swift-devcontainer-features/sqlite:1": {},
+ "ghcr.io/swift-server-community/swift-devcontainer-features/swift-format:0": {},
+ "ghcr.io/kvokka/features/aicommit2:1": {},
+ "ghcr.io/kvokka/features/codegpt:1": {},
+ "ghcr.io/kvokka/features/lumen:1": {},
+ "ghcr.io/gickis/devcontainer-features/confd:1": {},
+ "ghcr.io/gickis/devcontainer-features/gomplate:1": {},
+ "ghcr.io/gickis/devcontainer-features/kubeconform:1": {},
+ "ghcr.io/gickis/devcontainer-features/kubeseal:1": {},
+ "ghcr.io/sonikro/devcontainer-features/semgrep:1": {},
+ "ghcr.io/jasonthedeveloper/features/sbom:1": {},
+ "ghcr.io/jasonthedeveloper/features/trivy:1": {},
+ "ghcr.io/dasiths/devcontainer-features/grype:1": {},
+ "ghcr.io/dasiths/devcontainer-features/syft:1": {},
+ "ghcr.io/flexwie/devcontainer-features/maelstrom:1": {},
+ "ghcr.io/flexwie/devcontainer-features/op:1": {},
+ "ghcr.io/flexwie/devcontainer-features/pulumi:1": {},
+ "ghcr.io/flexwie/devcontainer-features/terraspace:1": {},
+ "ghcr.io/ksh5022/devcontainer-features/d2:1": {},
+ "ghcr.io/dapr/cli/dapr-cli:0": {},
+ "ghcr.io/azutake/devcontainer-features/go-packages-install:0": {},
+ "ghcr.io/michidk/devcontainers-features/bun:1": {},
+ "ghcr.io/michidk/devcontainers-features/typos:1": {},
+ "ghcr.io/michidk/devcontainers-features/typst:1": {},
+ "ghcr.io/wxw-matt/devcontainer-features/apt:0": {},
+ "ghcr.io/wxw-matt/devcontainer-features/command_runner:0": {},
+ "ghcr.io/wxw-matt/devcontainer-features/script_runner:0": {},
+ "ghcr.io/vercellone/devcontainer-features/sf-cli:1": {},
+ "ghcr.io/vercellone/devcontainer-features/sfdx-cli:1": {},
+ "ghcr.io/joedmck/devcontainer-features/cdktf:1": {},
+ "ghcr.io/joedmck/devcontainer-features/cloudflared:1": {},
+ "ghcr.io/joedmck/devcontainer-features/serve:1": {},
+ "ghcr.io/joedmck/devcontainer-features/wrangler:1": {},
+ "ghcr.io/codeman99/features/circleci-cli:1": {},
+ "ghcr.io/codeman99/features/deno-cache:0": {},
+ "ghcr.io/codeman99/features/elm-lang:0": {},
+ "ghcr.io/codeman99/features/exercism-cli:1": {},
+ "ghcr.io/devcontainers-community/templates/dart:1": {},
+ "ghcr.io/devcontainers-community/features/tinygo:1": {},
+ "ghcr.io/devcontainers-community/features/surrealdb:1": {},
+ "ghcr.io/devcontainers-community/features/bazel:1": {},
+ "ghcr.io/devcontainers-community/features/direnv:1": {},
+ "ghcr.io/devcontainers-community/features/llvm:3": {},
+ "ghcr.io/devcontainers-community/features/deno:1": {},
+ "ghcr.io/devcontainers-community/npm-features/prettier:1": {},
+ "ghcr.io/devcontainers-community/npm-features/typescript:1": {},
+ "ghcr.io/lee-orr/rusty-dev-containers/bacon:0": {},
+ "ghcr.io/lee-orr/rusty-dev-containers/cargo-audit:0": {},
+ "ghcr.io/lee-orr/rusty-dev-containers/cargo-binstall:0": {},
+ "ghcr.io/lee-orr/rusty-dev-containers/cargo-bundle:0": {},
+ "ghcr.io/lee-orr/rusty-dev-containers/cargo-deny:0": {},
+ "ghcr.io/lee-orr/rusty-dev-containers/cargo-expand:0": {},
+ "ghcr.io/lee-orr/rusty-dev-containers/cargo-llvm-cov:0": {},
+ "ghcr.io/lee-orr/rusty-dev-containers/cargo-make:0": {},
+ "ghcr.io/lee-orr/rusty-dev-containers/cargo-mobile:0": {},
+ "ghcr.io/lee-orr/rusty-dev-containers/cargo-nextest:0": {},
+ "ghcr.io/lee-orr/rusty-dev-containers/cargo-watch:0": {},
+ "ghcr.io/lee-orr/rusty-dev-containers/cargo-web:0": {},
+ "ghcr.io/lee-orr/rusty-dev-containers/cosmonic:0": {},
+ "ghcr.io/lee-orr/rusty-dev-containers/dexterous_developer:0": {},
+ "ghcr.io/lee-orr/rusty-dev-containers/dioxus:0": {},
+ "ghcr.io/lee-orr/rusty-dev-containers/fermyon-spin:0": {},
+ "ghcr.io/lee-orr/rusty-dev-containers/helix:0": {},
+ "ghcr.io/lee-orr/rusty-dev-containers/honggfuzz:0": {},
+ "ghcr.io/lee-orr/rusty-dev-containers/mprocs:0": {},
+ "ghcr.io/lee-orr/rusty-dev-containers/rust_windows_msvc:0": {},
+ "ghcr.io/lee-orr/rusty-dev-containers/sccache:0": {},
+ "ghcr.io/lee-orr/rusty-dev-containers/spin-message-trigger:0": {},
+ "ghcr.io/lee-orr/rusty-dev-containers/wasm-bindgen-cli:0": {},
+ "ghcr.io/lee-orr/rusty-dev-containers/wasm-server-runner:0": {},
+ "ghcr.io/lee-orr/rusty-dev-containers/wasm32-unknown-unknown:0": {},
+ "ghcr.io/lee-orr/rusty-dev-containers/wasmcloud:0": {},
+ "ghcr.io/lee-orr/rusty-dev-containers/zellij:0": {},
+ "ghcr.io/brokeyourbike/devcontainer-features/mockery-go:0": {},
+ "ghcr.io/brokeyourbike/devcontainer-features/reflex:0": {},
+ "ghcr.io/brokeyourbike/devcontainer-features/staticcheck:0": {},
+ "ghcr.io/nikitakurpas/features/vapor-toolbox:1": {},
+ "ghcr.io/joshuanianji/devcontainer-features/aws-cli-persistence:1": {},
+ "ghcr.io/joshuanianji/devcontainer-features/gcloud-cli-persistence:1": {},
+ "ghcr.io/joshuanianji/devcontainer-features/gel-cli:1": {},
+ "ghcr.io/joshuanianji/devcontainer-features/github-cli-persistence:1": {},
+ "ghcr.io/joshuanianji/devcontainer-features/google-cloud-cli:1": {},
+ "ghcr.io/joshuanianji/devcontainer-features/lamdera:1": {},
+ "ghcr.io/joshuanianji/devcontainer-features/mount-pnpm-store:1": {},
+ "ghcr.io/joshuanianji/devcontainer-features/terraform-cli-persistence:1": {},
+ "ghcr.io/nullcoder/devcontainer-features/stripe-cli:1": {},
+ "ghcr.io/jayree/devcontainer-features/npm-registry:1": {},
+ "ghcr.io/jayree/devcontainer-features/sf-autocomplete:1": {},
+ "ghcr.io/jayree/devcontainer-features/sf-plugins:1": {},
+ "ghcr.io/bdsoha/devcontainers/custom-root-ca:1": {},
+ "ghcr.io/tomharvey/devcontainer-features/aws-sso-util:1": {},
+ "ghcr.io/azure/azure-dev/azd:0": {},
+ "ghcr.io/azure/azure-dev/azd-persistence:0": {},
+ "ghcr.io/letsramp/devcontainer-features/skyramp:1": {},
+ "ghcr.io/earthly/devcontainer-features/earthly:1": {},
+ "ghcr.io/stateful/devcontainer-features/runme:0": {},
+ "ghcr.io/itsmechlark/features/postgresql:1": {},
+ "ghcr.io/marcozac/devcontainer-features/atlas:1": {},
+ "ghcr.io/marcozac/devcontainer-features/buf:1": {},
+ "ghcr.io/marcozac/devcontainer-features/gofumpt:1": {},
+ "ghcr.io/marcozac/devcontainer-features/goreleaser:1": {},
+ "ghcr.io/marcozac/devcontainer-features/protoc-gen-entgrpc:1": {},
+ "ghcr.io/marcozac/devcontainer-features/shellcheck:1": {},
+ "ghcr.io/elanhasson/devcontainer-features/digitalocean-doctl-cli-persistence:1": {},
+ "ghcr.io/tiwaojo/features/mcap-cli:1": {},
+ "ghcr.io/julialang/devcontainer-features/julia:1": {},
+ "ghcr.io/robbert229/devcontainer-features/ko:1": {},
+ "ghcr.io/robbert229/devcontainer-features/opentofu:1": {},
+ "ghcr.io/robbert229/devcontainer-features/operator-sdk:1": {},
+ "ghcr.io/robbert229/devcontainer-features/postgresql-client:1": {},
+ "ghcr.io/nordcominc/devcontainer-features/android-sdk:1": {},
+ "ghcr.io/maks1ms/devcontainers-features/wine:0": {},
+ "ghcr.io/schlich/cst-devcontainer-feature/container-structure-test:1": {},
+ "ghcr.io/schlich/devcontainer-features/container-structure-test:1": {},
+ "ghcr.io/schlich/devcontainer-features/cypress:1": {},
+ "ghcr.io/schlich/devcontainer-features/grafana:1": {},
+ "ghcr.io/schlich/devcontainer-features/helix:1": {},
+ "ghcr.io/schlich/devcontainer-features/helmfile:1": {},
+ "ghcr.io/schlich/devcontainer-features/jenkins-x:1": {},
+ "ghcr.io/schlich/devcontainer-features/jujutsu:0": {},
+ "ghcr.io/schlich/devcontainer-features/just:0": {},
+ "ghcr.io/schlich/devcontainer-features/node-exporter:1": {},
+ "ghcr.io/schlich/devcontainer-features/openslides:1": {},
+ "ghcr.io/schlich/devcontainer-features/pigz:0": {},
+ "ghcr.io/schlich/devcontainer-features/pixz:0": {},
+ "ghcr.io/schlich/devcontainer-features/playwright:0": {},
+ "ghcr.io/schlich/devcontainer-features/powerlevel10k:1": {},
+ "ghcr.io/schlich/devcontainer-features/rye:1": {},
+ "ghcr.io/schlich/devcontainer-features/starship:0": {},
+ "ghcr.io/raucha/devcontainer-features/color:1": {},
+ "ghcr.io/raucha/devcontainer-features/hello:1": {},
+ "ghcr.io/raucha/devcontainer-features/pytorch:1": {},
+ "ghcr.io/cirolosapio/devcontainers-features/alpine-aws-cli:0": {},
+ "ghcr.io/cirolosapio/devcontainers-features/alpine-bash:0": {},
+ "ghcr.io/cirolosapio/devcontainers-features/alpine-bat:0": {},
+ "ghcr.io/cirolosapio/devcontainers-features/alpine-bottom:0": {},
+ "ghcr.io/cirolosapio/devcontainers-features/alpine-broot:0": {},
+ "ghcr.io/cirolosapio/devcontainers-features/alpine-bun:0": {},
+ "ghcr.io/cirolosapio/devcontainers-features/alpine-ctop:0": {},
+ "ghcr.io/cirolosapio/devcontainers-features/alpine-curl:0": {},
+ "ghcr.io/cirolosapio/devcontainers-features/alpine-d2:0": {},
+ "ghcr.io/cirolosapio/devcontainers-features/alpine-deno:0": {},
+ "ghcr.io/cirolosapio/devcontainers-features/alpine-docker-outside-of-docker:0": {},
+ "ghcr.io/cirolosapio/devcontainers-features/alpine-fswatch:0": {},
+ "ghcr.io/cirolosapio/devcontainers-features/alpine-gdb:0": {},
+ "ghcr.io/cirolosapio/devcontainers-features/alpine-gh-cli:0": {},
+ "ghcr.io/cirolosapio/devcontainers-features/alpine-git:0": {},
+ "ghcr.io/cirolosapio/devcontainers-features/alpine-go:0": {},
+ "ghcr.io/cirolosapio/devcontainers-features/alpine-gpg:0": {},
+ "ghcr.io/cirolosapio/devcontainers-features/alpine-helm:0": {},
+ "ghcr.io/cirolosapio/devcontainers-features/alpine-jq:0": {},
+ "ghcr.io/cirolosapio/devcontainers-features/alpine-k3d:0": {},
+ "ghcr.io/cirolosapio/devcontainers-features/alpine-kubectl:0": {},
+ "ghcr.io/cirolosapio/devcontainers-features/alpine-lazygit:0": {},
+ "ghcr.io/cirolosapio/devcontainers-features/alpine-mage2postman:0": {},
+ "ghcr.io/cirolosapio/devcontainers-features/alpine-magento-cloud-cli:0": {},
+ "ghcr.io/cirolosapio/devcontainers-features/alpine-make:0": {},
+ "ghcr.io/cirolosapio/devcontainers-features/alpine-n98-magerun2:0": {},
+ "ghcr.io/cirolosapio/devcontainers-features/alpine-nano:0": {},
+ "ghcr.io/cirolosapio/devcontainers-features/alpine-navi:0": {},
+ "ghcr.io/cirolosapio/devcontainers-features/alpine-node:0": {},
+ "ghcr.io/cirolosapio/devcontainers-features/alpine-nushell:0": {},
+ "ghcr.io/cirolosapio/devcontainers-features/alpine-ohmyzsh:0": {},
+ "ghcr.io/cirolosapio/devcontainers-features/alpine-opencode:0": {},
+ "ghcr.io/cirolosapio/devcontainers-features/alpine-openssh:0": {},
+ "ghcr.io/cirolosapio/devcontainers-features/alpine-opentofu:0": {},
+ "ghcr.io/cirolosapio/devcontainers-features/alpine-patch:0": {},
+ "ghcr.io/cirolosapio/devcontainers-features/alpine-pgsql-client:0": {},
+ "ghcr.io/cirolosapio/devcontainers-features/alpine-php-bcmath:0": {},
+ "ghcr.io/cirolosapio/devcontainers-features/alpine-php-composer:0": {},
+ "ghcr.io/cirolosapio/devcontainers-features/alpine-php-ftp:0": {},
+ "ghcr.io/cirolosapio/devcontainers-features/alpine-php-gd:0": {},
+ "ghcr.io/cirolosapio/devcontainers-features/alpine-php-intl:0": {},
+ "ghcr.io/cirolosapio/devcontainers-features/alpine-php-ldap:0": {},
+ "ghcr.io/cirolosapio/devcontainers-features/alpine-php-magento:0": {},
+ "ghcr.io/cirolosapio/devcontainers-features/alpine-php-mariadb:0": {},
+ "ghcr.io/cirolosapio/devcontainers-features/alpine-php-mssql:0": {},
+ "ghcr.io/cirolosapio/devcontainers-features/alpine-php-mysql:0": {},
+ "ghcr.io/cirolosapio/devcontainers-features/alpine-php-pcntl:0": {},
+ "ghcr.io/cirolosapio/devcontainers-features/alpine-php-pgsql:0": {},
+ "ghcr.io/cirolosapio/devcontainers-features/alpine-php-posix:0": {},
+ "ghcr.io/cirolosapio/devcontainers-features/alpine-php-redis:0": {},
+ "ghcr.io/cirolosapio/devcontainers-features/alpine-php-soap:0": {},
+ "ghcr.io/cirolosapio/devcontainers-features/alpine-php-sockets:0": {},
+ "ghcr.io/cirolosapio/devcontainers-features/alpine-php-xdebug:0": {},
+ "ghcr.io/cirolosapio/devcontainers-features/alpine-php-zip:0": {},
+ "ghcr.io/cirolosapio/devcontainers-features/alpine-phpstorm-libs:0": {},
+ "ghcr.io/cirolosapio/devcontainers-features/alpine-ripgrep:0": {},
+ "ghcr.io/cirolosapio/devcontainers-features/alpine-sentry-cli:0": {},
+ "ghcr.io/cirolosapio/devcontainers-features/alpine-sig:0": {},
+ "ghcr.io/cirolosapio/devcontainers-features/alpine-sshs:0": {},
+ "ghcr.io/cirolosapio/devcontainers-features/alpine-starship:0": {},
+ "ghcr.io/cirolosapio/devcontainers-features/alpine-sudo:0": {},
+ "ghcr.io/cirolosapio/devcontainers-features/alpine-user:0": {},
+ "ghcr.io/audacioustux/devcontainers/argo:1": {},
+ "ghcr.io/audacioustux/devcontainers/aws-sam-cli:1": {},
+ "ghcr.io/audacioustux/devcontainers/bazel:1": {},
+ "ghcr.io/audacioustux/devcontainers/bun:1": {},
+ "ghcr.io/audacioustux/devcontainers/cilium:1": {},
+ "ghcr.io/audacioustux/devcontainers/common-utils-extras:1": {},
+ "ghcr.io/audacioustux/devcontainers/ebort:1": {},
+ "ghcr.io/audacioustux/devcontainers/flyctl:1": {},
+ "ghcr.io/audacioustux/devcontainers/graalvm:1": {},
+ "ghcr.io/audacioustux/devcontainers/k9s:1": {},
+ "ghcr.io/audacioustux/devcontainers/knative:1": {},
+ "ghcr.io/audacioustux/devcontainers/kubebuilder:1": {},
+ "ghcr.io/audacioustux/devcontainers/kustomize:1": {},
+ "ghcr.io/audacioustux/devcontainers/localstack:1": {},
+ "ghcr.io/audacioustux/devcontainers/mirrord:1": {},
+ "ghcr.io/audacioustux/devcontainers/operator-sdk:1": {},
+ "ghcr.io/audacioustux/devcontainers/pack-cli:1": {},
+ "ghcr.io/audacioustux/devcontainers/pulumi:1": {},
+ "ghcr.io/audacioustux/devcontainers/scala-toolchain:1": {},
+ "ghcr.io/audacioustux/devcontainers/taskfile:1": {},
+ "ghcr.io/audacioustux/devcontainers/tilt:1": {},
+ "ghcr.io/audacioustux/devcontainers/vegeta:1": {},
+ "ghcr.io/audacioustux/devcontainers/wasm-toolchain:1": {},
+ "ghcr.io/xfrancois/devcontainers-features/velero:1": {},
+ "ghcr.io/nucleuscloud/devcontainer-features/ctlptl:0": {},
+ "ghcr.io/nucleuscloud/devcontainer-features/helmfile:0": {},
+ "ghcr.io/nucleuscloud/devcontainer-features/sqlc:1": {},
+ "ghcr.io/joshspicer/more-features/cowsay:1": {},
+ "ghcr.io/marlonpassos-git/dev-container-features/vtex-cli:0": {},
+ "ghcr.io/paul-gilber/devcontainer-features/buildah-apt-get:1": {},
+ "ghcr.io/paul-gilber/devcontainer-features/butane-homebrew:1": {},
+ "ghcr.io/paul-gilber/devcontainer-features/eksctl-homebrew:1": {},
+ "ghcr.io/paul-gilber/devcontainer-features/jinja2-cli-homebrew:1": {},
+ "ghcr.io/paul-gilber/devcontainer-features/openshift-cli-homebrew:1": {},
+ "ghcr.io/paul-gilber/devcontainer-features/yamllint-homebrew:1": {},
+ "ghcr.io/brokenpip3/devcontainers-bats/bats-libs:0": {},
+ "ghcr.io/prulloac/devcontainer-features/bun:1": {},
+ "ghcr.io/prulloac/devcontainer-features/chezmoi:1": {},
+ "ghcr.io/prulloac/devcontainer-features/commitizen:1": {},
+ "ghcr.io/prulloac/devcontainer-features/deno:1": {},
+ "ghcr.io/prulloac/devcontainer-features/gitlint:1": {},
+ "ghcr.io/prulloac/devcontainer-features/latex:1": {},
+ "ghcr.io/prulloac/devcontainer-features/lua:1": {},
+ "ghcr.io/prulloac/devcontainer-features/ollama:1": {},
+ "ghcr.io/prulloac/devcontainer-features/pre-commit:1": {},
+ "ghcr.io/lumenpink/devcontainer-features/bun:0": {},
+ "ghcr.io/lumenpink/devcontainer-features/wasm-pack:0": {},
+ "ghcr.io/radius-project/devcontainer-features/radcli:0": {},
+ "ghcr.io/casl0/devcontainer-features/android-sdk:1": {},
+ "ghcr.io/casl0/devcontainer-features/depot_tools:1": {},
+ "ghcr.io/casl0/devcontainer-features/eksctl:1": {},
+ "ghcr.io/goldsam/dev-container-features/aws-sam-cli:1": {},
+ "ghcr.io/goldsam/dev-container-features/cue-lang:1": {},
+ "ghcr.io/goldsam/dev-container-features/flux2:1": {},
+ "ghcr.io/georgofenbeck/features/ammonite-homebrew:1": {},
+ "ghcr.io/georgofenbeck/features/ammonite-linuxbinary:1": {},
+ "ghcr.io/georgofenbeck/features/lazygit-homebrew:1": {},
+ "ghcr.io/georgofenbeck/features/lazygit-linuxbinary:1": {},
+ "ghcr.io/georgofenbeck/features/thefuck-homebrew:1": {},
+ "ghcr.io/georgofenbeck/features/thefuck-pipx:1": {},
+ "ghcr.io/nikobockerman/devcontainer-features/fish-persistent-data:2": {},
+ "ghcr.io/nikobockerman/devcontainer-features/poetry-persistent-cache:1": {},
+ "ghcr.io/nikobockerman/devcontainer-features/yarn-persistent-cache:1": {},
+ "ghcr.io/hspaans/devcontainer-features/ansible-lint:2": {},
+ "ghcr.io/hspaans/devcontainer-features/django-upgrade:2": {},
+ "ghcr.io/hspaans/devcontainer-features/pyadr:2": {},
+ "ghcr.io/hspaans/devcontainer-features/pycqa:2": {},
+ "ghcr.io/hspaans/devcontainer-features/pymarkdownlnt:2": {},
+ "ghcr.io/hspaans/devcontainer-features/pytest:2": {},
+ "ghcr.io/hspaans/devcontainer-features/pyupgrade:2": {},
+ "ghcr.io/hspaans/devcontainer-features/rstcheck:2": {},
+ "ghcr.io/hspaans/devcontainer-features/sshpass:1": {},
+ "ghcr.io/dlouwers/devcontainer-features/bob:1": {},
+ "ghcr.io/dlouwers/devcontainer-features/devbox:1": {},
+ "ghcr.io/kreemer/features/bicep-langserver:1": {},
+ "ghcr.io/kreemer/features/chrometesting:1": {},
+ "ghcr.io/kreemer/features/devsense:1": {},
+ "ghcr.io/kreemer/features/helix:1": {},
+ "ghcr.io/kreemer/features/jdtls:1": {},
+ "ghcr.io/kreemer/features/marksman:1": {},
+ "ghcr.io/kreemer/features/stow:1": {},
+ "ghcr.io/kreemer/features/yazi:1": {},
+ "ghcr.io/veronoicc/devcontainer-features/frida-core-devkit:1": {},
+ "ghcr.io/veronoicc/devcontainer-features/frida-gum-devkit:1": {},
+ "ghcr.io/veronoicc/devcontainer-features/luajit-2.1.0-beta3:1": {},
+ "ghcr.io/opencodeco/devcontainers/install-php-extensions:0": {},
+ "ghcr.io/va-h/devcontainers-features/difftastic:1": {},
+ "ghcr.io/va-h/devcontainers-features/uv:1": {},
+ "ghcr.io/bartventer/arch-devcontainer-features/aws-cli:1": {},
+ "ghcr.io/bartventer/arch-devcontainer-features/azure-cli:1": {},
+ "ghcr.io/bartventer/arch-devcontainer-features/common-utils:1": {},
+ "ghcr.io/bartventer/arch-devcontainer-features/docker-in-docker:1": {},
+ "ghcr.io/bartventer/arch-devcontainer-features/docker-outside-of-docker:1": {},
+ "ghcr.io/bartventer/arch-devcontainer-features/gcloud-cli:1": {},
+ "ghcr.io/bartventer/arch-devcontainer-features/go:1": {},
+ "ghcr.io/bartventer/arch-devcontainer-features/terraform:1": {},
+ "ghcr.io/waqqas/feature/bpmnlint:1": {},
+ "ghcr.io/waqqas/feature/dmnlint:1": {},
+ "ghcr.io/veryl-lang/devcontainer-features/verilator:1": {},
+ "ghcr.io/veryl-lang/devcontainer-features/veryl:1": {},
+ "ghcr.io/dusansimic/devcontainer-features/templ:0": {},
+ "ghcr.io/duduribeiro/devcontainer-features/lunarvim:0": {},
+ "ghcr.io/duduribeiro/devcontainer-features/neovim:1": {},
+ "ghcr.io/duduribeiro/devcontainer-features/tmux:1": {},
+ "ghcr.io/skriptfabrik/devcontainer-features/gitlab-cli:1": {},
+ "ghcr.io/skriptfabrik/devcontainer-features/hcloud-cli:1": {},
+ "ghcr.io/skriptfabrik/devcontainer-features/infisical-cli:1": {},
+ "ghcr.io/skriptfabrik/devcontainer-features/mailpit:1": {},
+ "ghcr.io/skriptfabrik/devcontainer-features/terraform-backend-git:1": {},
+ "ghcr.io/skriptfabrik/devcontainer-features/yamlfix:1": {},
+ "ghcr.io/m4tchl0ck/devcontainer-features/pact-cli:1": {},
+ "ghcr.io/m4tchl0ck/devcontainer-features/powerlevel10k:1": {},
+ "ghcr.io/m4tchl0ck/devcontainer-features/structurizr-lite:1": {},
+ "ghcr.io/nils-geistmann/devcontainers-features/create-remote-user:0": {},
+ "ghcr.io/nils-geistmann/devcontainers-features/exercism:0": {},
+ "ghcr.io/nils-geistmann/devcontainers-features/zsh:0": {},
+ "ghcr.io/partydrone/devcontainer/features/openfga-cli:0": {},
+ "ghcr.io/rafaph/devcontainer-features/goose-cli:1": {},
+ "ghcr.io/weslyg/features/hashicorp-mirror:2": {},
+ "ghcr.io/gmkonan/fly-cli-feature/flyctl:1": {},
+ "ghcr.io/e-gineering/devcontainer-features/rye:1": {},
+ "ghcr.io/chaoswars/synology-features/toolkit:1": {},
+ "ghcr.io/tcaky/devcontainer-features/alpine-bindtools:0": {},
+ "ghcr.io/tcaky/devcontainer-features/alpine-powershell:0": {},
+ "ghcr.io/tcaky/devcontainer-features/alpine-tzdata:0": {},
+ "ghcr.io/larsnieuwenhuizen/features/jqyq:0": {},
+ "ghcr.io/larsnieuwenhuizen/features/neovim:0": {},
+ "ghcr.io/larsnieuwenhuizen/features/zellij:0": {},
+ "ghcr.io/enrico9034/devcontainer-features/openstack-cli:1": {},
+ "ghcr.io/nikiforovall/devcontainer-features/antlr4:1": {},
+ "ghcr.io/nikiforovall/devcontainer-features/dotnet-csharpier:1": {},
+ "ghcr.io/dirsigler/devcontainer-features/helm-docs:1": {},
+ "ghcr.io/sidecus/devcontainer-features/magicmirror:1": {},
+ "ghcr.io/mathworks/devcontainer-features/matlab:0": {},
+ "ghcr.io/jpawlowski/devcontainer-features/cascadia-code:1": {},
+ "ghcr.io/jpawlowski/devcontainer-features/cli-microsoft365:1": {},
+ "ghcr.io/jpawlowski/devcontainer-features/codespaces-dotfiles:1": {},
+ "ghcr.io/jpawlowski/devcontainer-features/pnp.powershell:1": {},
+ "ghcr.io/jpawlowski/devcontainer-features/powershell-extended:2": {},
+ "ghcr.io/gvatsal60/dev-container-features/pre-commit:1": {},
+ "ghcr.io/gvatsal60/dev-container-features/sonarlint:1": {},
+ "ghcr.io/gvatsal60/dev-container-features/uv:0": {},
+ "ghcr.io/code-fabrik/features/dokku-cli:1": {},
+ "ghcr.io/code-fabrik/features/gdal:1": {},
+ "ghcr.io/code-fabrik/features/lazydocker:1": {},
+ "ghcr.io/code-fabrik/features/osm2pgsql:1": {},
+ "ghcr.io/code-fabrik/features/pmtiles:1": {},
+ "ghcr.io/code-fabrik/features/tippecanoe:1": {},
+ "ghcr.io/juan-ayala/devcontainer-features/aem-lts:1": {},
+ "ghcr.io/juan-ayala/devcontainer-features/aem-repo-tool:1": {},
+ "ghcr.io/juan-ayala/devcontainer-features/aem-sdk:1": {},
+ "ghcr.io/juan-ayala/devcontainer-features/aem-universal-editor-service:1": {},
+ "ghcr.io/localstack/devcontainer-feature/localstack-cli:0": {},
+ "ghcr.io/adaptavist/devcontainer-features/atlassian-forge:1": {},
+ "ghcr.io/phil-bell/devcontainer-features/antigen:1": {},
+ "ghcr.io/ait-assistive-autonomous-systems/devcontainer_features/add-groups:0": {},
+ "ghcr.io/haukex/devcontainer-features/perl:1": {},
+ "ghcr.io/caesarovich/devcontainer-feature-crystal/crystal:1": {},
+ "ghcr.io/devcontainers-extra/features/act:1": {},
+ "ghcr.io/devcontainers-extra/features/act-asdf:2": {},
+ "ghcr.io/devcontainers-extra/features/actionlint:1": {},
+ "ghcr.io/devcontainers-extra/features/actions-runner:1": {},
+ "ghcr.io/devcontainers-extra/features/activemq-sdkman:2": {},
+ "ghcr.io/devcontainers-extra/features/age:1": {},
+ "ghcr.io/devcontainers-extra/features/age-keygen:1": {},
+ "ghcr.io/devcontainers-extra/features/akamai-cli:1": {},
+ "ghcr.io/devcontainers-extra/features/alertmanager:1": {},
+ "ghcr.io/devcontainers-extra/features/alp-asdf:2": {},
+ "ghcr.io/devcontainers-extra/features/amplify-cli:2": {},
+ "ghcr.io/devcontainers-extra/features/angular-cli:2": {},
+ "ghcr.io/devcontainers-extra/features/ansible:2": {},
+ "ghcr.io/devcontainers-extra/features/ant-sdkman:2": {},
+ "ghcr.io/devcontainers-extra/features/apko:1": {},
+ "ghcr.io/devcontainers-extra/features/apt-get-packages:1": {},
+ "ghcr.io/devcontainers-extra/features/apt-packages:1": {},
+ "ghcr.io/devcontainers-extra/features/archon:1": {},
+ "ghcr.io/devcontainers-extra/features/argo-cd:1": {},
+ "ghcr.io/devcontainers-extra/features/asciidoctorj-sdkman:2": {},
+ "ghcr.io/devcontainers-extra/features/asdf-package:1": {},
+ "ghcr.io/devcontainers-extra/features/assemblyscript:2": {},
+ "ghcr.io/devcontainers-extra/features/atlantis:1": {},
+ "ghcr.io/devcontainers-extra/features/atmos:1": {},
+ "ghcr.io/devcontainers-extra/features/auditjs:1": {},
+ "ghcr.io/devcontainers-extra/features/autoenv:1": {},
+ "ghcr.io/devcontainers-extra/features/aws-cdk:2": {},
+ "ghcr.io/devcontainers-extra/features/aws-eb-cli:1": {},
+ "ghcr.io/devcontainers-extra/features/aws-sso-cli:1": {},
+ "ghcr.io/devcontainers-extra/features/aztfexport:1": {},
+ "ghcr.io/devcontainers-extra/features/azure-apiops:1": {},
+ "ghcr.io/devcontainers-extra/features/ballerina-sdkman:2": {},
+ "ghcr.io/devcontainers-extra/features/bandit:2": {},
+ "ghcr.io/devcontainers-extra/features/bartib:1": {},
+ "ghcr.io/devcontainers-extra/features/bash-command:1": {},
+ "ghcr.io/devcontainers-extra/features/bazel-compile-commands:1": {},
+ "ghcr.io/devcontainers-extra/features/beehive:1": {},
+ "ghcr.io/devcontainers-extra/features/bikeshed:2": {},
+ "ghcr.io/devcontainers-extra/features/bin:1": {},
+ "ghcr.io/devcontainers-extra/features/black:2": {},
+ "ghcr.io/devcontainers-extra/features/blackbox-exporter:1": {},
+ "ghcr.io/devcontainers-extra/features/boilerplate:1": {},
+ "ghcr.io/devcontainers-extra/features/bomber:1": {},
+ "ghcr.io/devcontainers-extra/features/boundary-asdf:2": {},
+ "ghcr.io/devcontainers-extra/features/bower:1": {},
+ "ghcr.io/devcontainers-extra/features/bpipe-sdkman:2": {},
+ "ghcr.io/devcontainers-extra/features/brownie:2": {},
+ "ghcr.io/devcontainers-extra/features/browserify:2": {},
+ "ghcr.io/devcontainers-extra/features/btm:1": {},
+ "ghcr.io/devcontainers-extra/features/btop-homebrew:1": {},
+ "ghcr.io/devcontainers-extra/features/btrace-sdkman:2": {},
+ "ghcr.io/devcontainers-extra/features/budibase-cli:1": {},
+ "ghcr.io/devcontainers-extra/features/buku:1": {},
+ "ghcr.io/devcontainers-extra/features/bun:1": {},
+ "ghcr.io/devcontainers-extra/features/bun-package:1": {},
+ "ghcr.io/devcontainers-extra/features/caddy:1": {},
+ "ghcr.io/devcontainers-extra/features/ccache-asdf:2": {},
+ "ghcr.io/devcontainers-extra/features/checkov:1": {},
+ "ghcr.io/devcontainers-extra/features/chezscheme-asdf:2": {},
+ "ghcr.io/devcontainers-extra/features/chisel:1": {},
+ "ghcr.io/devcontainers-extra/features/circleci-cli:1": {},
+ "ghcr.io/devcontainers-extra/features/claude-code:2": {},
+ "ghcr.io/devcontainers-extra/features/clojure-asdf:2": {},
+ "ghcr.io/devcontainers-extra/features/cloud-nuke:1": {},
+ "ghcr.io/devcontainers-extra/features/cloudflare-wrangler:1": {},
+ "ghcr.io/devcontainers-extra/features/cloudflared:1": {},
+ "ghcr.io/devcontainers-extra/features/cloudflared-fips:1": {},
+ "ghcr.io/devcontainers-extra/features/cloudinary-cli:1": {},
+ "ghcr.io/devcontainers-extra/features/cmake:1": {},
+ "ghcr.io/devcontainers-extra/features/codebuddy-code:1": {},
+ "ghcr.io/devcontainers-extra/features/codefresh-cli:1": {},
+ "ghcr.io/devcontainers-extra/features/codename-goose-cli:1": {},
+ "ghcr.io/devcontainers-extra/features/composer:1": {},
+ "ghcr.io/devcontainers-extra/features/concurnas-sdkman:2": {},
+ "ghcr.io/devcontainers-extra/features/connor-sdkman:2": {},
+ "ghcr.io/devcontainers-extra/features/consul-asdf:2": {},
+ "ghcr.io/devcontainers-extra/features/consul-exporter:1": {},
+ "ghcr.io/devcontainers-extra/features/cookiecutter:2": {},
+ "ghcr.io/devcontainers-extra/features/copier:7": {},
+ "ghcr.io/devcontainers-extra/features/corepack:1": {},
+ "ghcr.io/devcontainers-extra/features/cosign:1": {},
+ "ghcr.io/devcontainers-extra/features/coverage-py:2": {},
+ "ghcr.io/devcontainers-extra/features/crystal-asdf:2": {},
+ "ghcr.io/devcontainers-extra/features/cuba-sdkman:2": {},
+ "ghcr.io/devcontainers-extra/features/curl-apt-get:1": {},
+ "ghcr.io/devcontainers-extra/features/curl-homebrew:1": {},
+ "ghcr.io/devcontainers-extra/features/cve-bin-tool:1": {},
+ "ghcr.io/devcontainers-extra/features/cxf-sdkman:2": {},
+ "ghcr.io/devcontainers-extra/features/cyclonedx-cli:1": {},
+ "ghcr.io/devcontainers-extra/features/cyclonedx-python:1": {},
+ "ghcr.io/devcontainers-extra/features/cz-cli:1": {},
+ "ghcr.io/devcontainers-extra/features/d:1": {},
+ "ghcr.io/devcontainers-extra/features/dart:1": {},
+ "ghcr.io/devcontainers-extra/features/dasel-asdf:2": {},
+ "ghcr.io/devcontainers-extra/features/dashlane-cli:1": {},
+ "ghcr.io/devcontainers-extra/features/datadog-ci-cli:1": {},
+ "ghcr.io/devcontainers-extra/features/datasette:2": {},
+ "ghcr.io/devcontainers-extra/features/dbt-coverage:1": {},
+ "ghcr.io/devcontainers-extra/features/ddgr-apt-get:1": {},
+ "ghcr.io/devcontainers-extra/features/ddgr-homebrew:1": {},
+ "ghcr.io/devcontainers-extra/features/deno:1": {},
+ "ghcr.io/devcontainers-extra/features/deno-asdf:2": {},
+ "ghcr.io/devcontainers-extra/features/devcontainers-cli:1": {},
+ "ghcr.io/devcontainers-extra/features/digitalocean-cli:1": {},
+ "ghcr.io/devcontainers-extra/features/direnv:1": {},
+ "ghcr.io/devcontainers-extra/features/direnv-asdf:2": {},
+ "ghcr.io/devcontainers-extra/features/dive:1": {},
+ "ghcr.io/devcontainers-extra/features/dnote:1": {},
+ "ghcr.io/devcontainers-extra/features/doctoolchain-sdkman:2": {},
+ "ghcr.io/devcontainers-extra/features/dprint-asdf:2": {},
+ "ghcr.io/devcontainers-extra/features/driftctl:1": {},
+ "ghcr.io/devcontainers-extra/features/drone-cli:1": {},
+ "ghcr.io/devcontainers-extra/features/dua:1": {},
+ "ghcr.io/devcontainers-extra/features/duf:1": {},
+ "ghcr.io/devcontainers-extra/features/dufs:1": {},
+ "ghcr.io/devcontainers-extra/features/eas-cli:1": {},
+ "ghcr.io/devcontainers-extra/features/eget:1": {},
+ "ghcr.io/devcontainers-extra/features/elm-asdf:2": {},
+ "ghcr.io/devcontainers-extra/features/ember-cli:1": {},
+ "ghcr.io/devcontainers-extra/features/envoy:1": {},
+ "ghcr.io/devcontainers-extra/features/epinio:1": {},
+ "ghcr.io/devcontainers-extra/features/etcd:1": {},
+ "ghcr.io/devcontainers-extra/features/exa:1": {},
+ "ghcr.io/devcontainers-extra/features/exercism-cli:1": {},
+ "ghcr.io/devcontainers-extra/features/expo-cli:1": {},
+ "ghcr.io/devcontainers-extra/features/express-generator:2": {},
+ "ghcr.io/devcontainers-extra/features/eza:1": {},
+ "ghcr.io/devcontainers-extra/features/fd:1": {},
+ "ghcr.io/devcontainers-extra/features/ffmpeg-apt-get:1": {},
+ "ghcr.io/devcontainers-extra/features/firebase-cli:2": {},
+ "ghcr.io/devcontainers-extra/features/fish-apt-get:1": {},
+ "ghcr.io/devcontainers-extra/features/fkill:2": {},
+ "ghcr.io/devcontainers-extra/features/flake8:2": {},
+ "ghcr.io/devcontainers-extra/features/flink-sdkman:2": {},
+ "ghcr.io/devcontainers-extra/features/flit:2": {},
+ "ghcr.io/devcontainers-extra/features/former2-cli:1": {},
+ "ghcr.io/devcontainers-extra/features/fossil-apt-get:1": {},
+ "ghcr.io/devcontainers-extra/features/fossil-homebrew:1": {},
+ "ghcr.io/devcontainers-extra/features/fulcio:1": {},
+ "ghcr.io/devcontainers-extra/features/fzf:1": {},
+ "ghcr.io/devcontainers-extra/features/gaiden-sdkman:2": {},
+ "ghcr.io/devcontainers-extra/features/ganache:1": {},
+ "ghcr.io/devcontainers-extra/features/gcovr:1": {},
+ "ghcr.io/devcontainers-extra/features/gdbgui:2": {},
+ "ghcr.io/devcontainers-extra/features/gh-cli:1": {},
+ "ghcr.io/devcontainers-extra/features/gh-release:1": {},
+ "ghcr.io/devcontainers-extra/features/git-lfs:1": {},
+ "ghcr.io/devcontainers-extra/features/gitmux:1": {},
+ "ghcr.io/devcontainers-extra/features/gitomatic:1": {},
+ "ghcr.io/devcontainers-extra/features/gitsign:1": {},
+ "ghcr.io/devcontainers-extra/features/gitsign-credential-cache:1": {},
+ "ghcr.io/devcontainers-extra/features/gitty:1": {},
+ "ghcr.io/devcontainers-extra/features/glances:2": {},
+ "ghcr.io/devcontainers-extra/features/go-task:1": {},
+ "ghcr.io/devcontainers-extra/features/gofumpt:1": {},
+ "ghcr.io/devcontainers-extra/features/golangci-lint:1": {},
+ "ghcr.io/devcontainers-extra/features/graalvm-asdf:2": {},
+ "ghcr.io/devcontainers-extra/features/gradle-sdkman:2": {},
+ "ghcr.io/devcontainers-extra/features/gradleprofiler-sdkman:2": {},
+ "ghcr.io/devcontainers-extra/features/grails-sdkman:2": {},
+ "ghcr.io/devcontainers-extra/features/graphite-cli:1": {},
+ "ghcr.io/devcontainers-extra/features/graphite-exporter:1": {},
+ "ghcr.io/devcontainers-extra/features/groovy-sdkman:2": {},
+ "ghcr.io/devcontainers-extra/features/groovyserv-sdkman:2": {},
+ "ghcr.io/devcontainers-extra/features/grpcurl-asdf:2": {},
+ "ghcr.io/devcontainers-extra/features/grype:1": {},
+ "ghcr.io/devcontainers-extra/features/gulp-cli:2": {},
+ "ghcr.io/devcontainers-extra/features/hadoop-sdkman:2": {},
+ "ghcr.io/devcontainers-extra/features/haskell:2": {},
+ "ghcr.io/devcontainers-extra/features/hatch:2": {},
+ "ghcr.io/devcontainers-extra/features/haxe-asdf:2": {},
+ "ghcr.io/devcontainers-extra/features/helmfile:1": {},
+ "ghcr.io/devcontainers-extra/features/heroku-cli:1": {},
+ "ghcr.io/devcontainers-extra/features/homebrew-package:1": {},
+ "ghcr.io/devcontainers-extra/features/hotel:1": {},
+ "ghcr.io/devcontainers-extra/features/how2:1": {},
+ "ghcr.io/devcontainers-extra/features/http-server:1": {},
+ "ghcr.io/devcontainers-extra/features/http4k-sdkman:2": {},
+ "ghcr.io/devcontainers-extra/features/hyperfine:1": {},
+ "ghcr.io/devcontainers-extra/features/immuadmin:1": {},
+ "ghcr.io/devcontainers-extra/features/immuadmin-fips:1": {},
+ "ghcr.io/devcontainers-extra/features/immuclient:1": {},
+ "ghcr.io/devcontainers-extra/features/immuclient-fips:1": {},
+ "ghcr.io/devcontainers-extra/features/immudb:1": {},
+ "ghcr.io/devcontainers-extra/features/immudb-fips:1": {},
+ "ghcr.io/devcontainers-extra/features/infisical:1": {},
+ "ghcr.io/devcontainers-extra/features/infracost:1": {},
+ "ghcr.io/devcontainers-extra/features/infrastructor-sdkman:2": {},
+ "ghcr.io/devcontainers-extra/features/invoke:1": {},
+ "ghcr.io/devcontainers-extra/features/ionic-cli:2": {},
+ "ghcr.io/devcontainers-extra/features/isort:2": {},
+ "ghcr.io/devcontainers-extra/features/jake:1": {},
+ "ghcr.io/devcontainers-extra/features/jbake-sdkman:2": {},
+ "ghcr.io/devcontainers-extra/features/jbang-sdkman:2": {},
+ "ghcr.io/devcontainers-extra/features/jenkinsx-cli:1": {},
+ "ghcr.io/devcontainers-extra/features/jest:2": {},
+ "ghcr.io/devcontainers-extra/features/jfrog-cli:1": {},
+ "ghcr.io/devcontainers-extra/features/jfrog-cli-homebrew:1": {},
+ "ghcr.io/devcontainers-extra/features/jfrog-cli-npm:1": {},
+ "ghcr.io/devcontainers-extra/features/jira-cli:1": {},
+ "ghcr.io/devcontainers-extra/features/jmc-sdkman:2": {},
+ "ghcr.io/devcontainers-extra/features/jmeter-sdkman:2": {},
+ "ghcr.io/devcontainers-extra/features/joern-sdkman:2": {},
+ "ghcr.io/devcontainers-extra/features/jreleaser-sdkman:2": {},
+ "ghcr.io/devcontainers-extra/features/jrnl:2": {},
+ "ghcr.io/devcontainers-extra/features/jshint:2": {},
+ "ghcr.io/devcontainers-extra/features/jsii:1": {},
+ "ghcr.io/devcontainers-extra/features/jsii-diff:1": {},
+ "ghcr.io/devcontainers-extra/features/jsii-pacmak:1": {},
+ "ghcr.io/devcontainers-extra/features/jsii-rosetta:1": {},
+ "ghcr.io/devcontainers-extra/features/json-server:1": {},
+ "ghcr.io/devcontainers-extra/features/k2tf:1": {},
+ "ghcr.io/devcontainers-extra/features/k6:1": {},
+ "ghcr.io/devcontainers-extra/features/karaf-sdkman:2": {},
+ "ghcr.io/devcontainers-extra/features/keepercommander:1": {},
+ "ghcr.io/devcontainers-extra/features/ki-sdkman:2": {},
+ "ghcr.io/devcontainers-extra/features/kind:1": {},
+ "ghcr.io/devcontainers-extra/features/kobweb-sdkman:2": {},
+ "ghcr.io/devcontainers-extra/features/kops:1": {},
+ "ghcr.io/devcontainers-extra/features/kotlin-sdkman:2": {},
+ "ghcr.io/devcontainers-extra/features/kscript-sdkman:2": {},
+ "ghcr.io/devcontainers-extra/features/kubeclarity-cli:1": {},
+ "ghcr.io/devcontainers-extra/features/kubectl-asdf:2": {},
+ "ghcr.io/devcontainers-extra/features/kubectx-kubens:1": {},
+ "ghcr.io/devcontainers-extra/features/kubie:1": {},
+ "ghcr.io/devcontainers-extra/features/kyverno-cli:1": {},
+ "ghcr.io/devcontainers-extra/features/lastpass-cli-homebrew:1": {},
+ "ghcr.io/devcontainers-extra/features/layrry-sdkman:2": {},
+ "ghcr.io/devcontainers-extra/features/lean-asdf:2": {},
+ "ghcr.io/devcontainers-extra/features/lefthook-asdf:1": {},
+ "ghcr.io/devcontainers-extra/features/leiningen-sdkman:2": {},
+ "ghcr.io/devcontainers-extra/features/lektor:2": {},
+ "ghcr.io/devcontainers-extra/features/lerna-npm:1": {},
+ "ghcr.io/devcontainers-extra/features/less:2": {},
+ "ghcr.io/devcontainers-extra/features/levant-asdf:2": {},
+ "ghcr.io/devcontainers-extra/features/lighthouse-cli:1": {},
+ "ghcr.io/devcontainers-extra/features/linkerd2-cli-edge:1": {},
+ "ghcr.io/devcontainers-extra/features/linkerd2-cli-stable:1": {},
+ "ghcr.io/devcontainers-extra/features/linode-cli:1": {},
+ "ghcr.io/devcontainers-extra/features/lite-server:1": {},
+ "ghcr.io/devcontainers-extra/features/live-server:1": {},
+ "ghcr.io/devcontainers-extra/features/localstack:2": {},
+ "ghcr.io/devcontainers-extra/features/localtunnel-npm:1": {},
+ "ghcr.io/devcontainers-extra/features/mackup:1": {},
+ "ghcr.io/devcontainers-extra/features/markdownlint-cli:1": {},
+ "ghcr.io/devcontainers-extra/features/markdownlint-cli2:1": {},
+ "ghcr.io/devcontainers-extra/features/maven-sdkman:2": {},
+ "ghcr.io/devcontainers-extra/features/meltano:2": {},
+ "ghcr.io/devcontainers-extra/features/memcached-exporter:1": {},
+ "ghcr.io/devcontainers-extra/features/micro:1": {},
+ "ghcr.io/devcontainers-extra/features/micronaut-sdkman:2": {},
+ "ghcr.io/devcontainers-extra/features/mise:1": {},
+ "ghcr.io/devcontainers-extra/features/mitmproxy:2": {},
+ "ghcr.io/devcontainers-extra/features/mkcert:1": {},
+ "ghcr.io/devcontainers-extra/features/mkdocs:2": {},
+ "ghcr.io/devcontainers-extra/features/mlocate-apt-get:1": {},
+ "ghcr.io/devcontainers-extra/features/mocha:2": {},
+ "ghcr.io/devcontainers-extra/features/mongodb-atlas-cli-homebrew:1": {},
+ "ghcr.io/devcontainers-extra/features/mongosh-homebrew:1": {},
+ "ghcr.io/devcontainers-extra/features/mosh-apt-get:1": {},
+ "ghcr.io/devcontainers-extra/features/mosh-homebrew:1": {},
+ "ghcr.io/devcontainers-extra/features/mulefd-sdkman:2": {},
+ "ghcr.io/devcontainers-extra/features/mvnd-sdkman:2": {},
+ "ghcr.io/devcontainers-extra/features/mybatis-sdkman:2": {},
+ "ghcr.io/devcontainers-extra/features/mypy:2": {},
+ "ghcr.io/devcontainers-extra/features/mysql-homebrew:1": {},
+ "ghcr.io/devcontainers-extra/features/mysqld-exporter:1": {},
+ "ghcr.io/devcontainers-extra/features/n8n:1": {},
+ "ghcr.io/devcontainers-extra/features/namespace-cli:1": {},
+ "ghcr.io/devcontainers-extra/features/nancy:1": {},
+ "ghcr.io/devcontainers-extra/features/navi:1": {},
+ "ghcr.io/devcontainers-extra/features/ncdu:1": {},
+ "ghcr.io/devcontainers-extra/features/neko-asdf:2": {},
+ "ghcr.io/devcontainers-extra/features/neo4jmigrations-sdkman:2": {},
+ "ghcr.io/devcontainers-extra/features/neofetch:1": {},
+ "ghcr.io/devcontainers-extra/features/neovim-apt-get:1": {},
+ "ghcr.io/devcontainers-extra/features/neovim-homebrew:1": {},
+ "ghcr.io/devcontainers-extra/features/nestjs-cli:2": {},
+ "ghcr.io/devcontainers-extra/features/netdata:1": {},
+ "ghcr.io/devcontainers-extra/features/netlify-cli:1": {},
+ "ghcr.io/devcontainers-extra/features/nim-asdf:2": {},
+ "ghcr.io/devcontainers-extra/features/ninja-asdf:2": {},
+ "ghcr.io/devcontainers-extra/features/nmap-apt-get:1": {},
+ "ghcr.io/devcontainers-extra/features/nmap-homebrew:1": {},
+ "ghcr.io/devcontainers-extra/features/nnn-apt-get:1": {},
+ "ghcr.io/devcontainers-extra/features/nnn-homebrew:1": {},
+ "ghcr.io/devcontainers-extra/features/node-asdf:0": {},
+ "ghcr.io/devcontainers-extra/features/node-exporter:1": {},
+ "ghcr.io/devcontainers-extra/features/nomad-asdf:2": {},
+ "ghcr.io/devcontainers-extra/features/nox:2": {},
+ "ghcr.io/devcontainers-extra/features/npm-package:1": {},
+ "ghcr.io/devcontainers-extra/features/npm-packages:1": {},
+ "ghcr.io/devcontainers-extra/features/nx-npm:1": {},
+ "ghcr.io/devcontainers-extra/features/ocaml-asdf:2": {},
+ "ghcr.io/devcontainers-extra/features/ocaml-opam:1": {},
+ "ghcr.io/devcontainers-extra/features/oclif:1": {},
+ "ghcr.io/devcontainers-extra/features/opa:1": {},
+ "ghcr.io/devcontainers-extra/features/opam-asdf:2": {},
+ "ghcr.io/devcontainers-extra/features/opencode:1": {},
+ "ghcr.io/devcontainers-extra/features/opengrep:1": {},
+ "ghcr.io/devcontainers-extra/features/opentofu:1": {},
+ "ghcr.io/devcontainers-extra/features/ory-cli:1": {},
+ "ghcr.io/devcontainers-extra/features/ory-hydra:1": {},
+ "ghcr.io/devcontainers-extra/features/ory-kratos:1": {},
+ "ghcr.io/devcontainers-extra/features/ory-oathkeeper:1": {},
+ "ghcr.io/devcontainers-extra/features/outagedeck:1": {},
+ "ghcr.io/devcontainers-extra/features/packer-asdf:2": {},
+ "ghcr.io/devcontainers-extra/features/pandoc:1": {},
+ "ghcr.io/devcontainers-extra/features/pass-apt-get:1": {},
+ "ghcr.io/devcontainers-extra/features/pdm:2": {},
+ "ghcr.io/devcontainers-extra/features/peco-asdf:2": {},
+ "ghcr.io/devcontainers-extra/features/perl-asdf:2": {},
+ "ghcr.io/devcontainers-extra/features/pierrot-sdkman:2": {},
+ "ghcr.io/devcontainers-extra/features/pipenv:2": {},
+ "ghcr.io/devcontainers-extra/features/pnpm:2": {},
+ "ghcr.io/devcontainers-extra/features/podman-homebrew:1": {},
+ "ghcr.io/devcontainers-extra/features/poetry:2": {},
+ "ghcr.io/devcontainers-extra/features/pomchecker-sdkman:2": {},
+ "ghcr.io/devcontainers-extra/features/poppler-utils-apt-get:1": {},
+ "ghcr.io/devcontainers-extra/features/powerbi-visuals-tools:2": {},
+ "ghcr.io/devcontainers-extra/features/powershell:1": {},
+ "ghcr.io/devcontainers-extra/features/pre-commit:2": {},
+ "ghcr.io/devcontainers-extra/features/prek:1": {},
+ "ghcr.io/devcontainers-extra/features/prettier:1": {},
+ "ghcr.io/devcontainers-extra/features/prisma:2": {},
+ "ghcr.io/devcontainers-extra/features/projen:1": {},
+ "ghcr.io/devcontainers-extra/features/prometheus:1": {},
+ "ghcr.io/devcontainers-extra/features/promlens:1": {},
+ "ghcr.io/devcontainers-extra/features/protoc:1": {},
+ "ghcr.io/devcontainers-extra/features/protoc-asdf:1": {},
+ "ghcr.io/devcontainers-extra/features/pulumi:1": {},
+ "ghcr.io/devcontainers-extra/features/pushgateway:1": {},
+ "ghcr.io/devcontainers-extra/features/pyinfra:2": {},
+ "ghcr.io/devcontainers-extra/features/pylint:2": {},
+ "ghcr.io/devcontainers-extra/features/pyoxidizer:1": {},
+ "ghcr.io/devcontainers-extra/features/pyscaffold:2": {},
+ "ghcr.io/devcontainers-extra/features/qrcode:2": {},
+ "ghcr.io/devcontainers-extra/features/quarkus-sdkman:2": {},
+ "ghcr.io/devcontainers-extra/features/quasar-cli:2": {},
+ "ghcr.io/devcontainers-extra/features/raku-asdf:1": {},
+ "ghcr.io/devcontainers-extra/features/rclone:1": {},
+ "ghcr.io/devcontainers-extra/features/redis-homebrew:1": {},
+ "ghcr.io/devcontainers-extra/features/rekor-cli:1": {},
+ "ghcr.io/devcontainers-extra/features/renovate-cli:2": {},
+ "ghcr.io/devcontainers-extra/features/ripgrep:1": {},
+ "ghcr.io/devcontainers-extra/features/rollup:2": {},
+ "ghcr.io/devcontainers-extra/features/ruby-asdf:0": {},
+ "ghcr.io/devcontainers-extra/features/ruff:2": {},
+ "ghcr.io/devcontainers-extra/features/salesforce-cli:1": {},
+ "ghcr.io/devcontainers-extra/features/salesforce-sfdx:1": {},
+ "ghcr.io/devcontainers-extra/features/sanity-cli:1": {},
+ "ghcr.io/devcontainers-extra/features/sap-piper:1": {},
+ "ghcr.io/devcontainers-extra/features/sbt-sdkman:2": {},
+ "ghcr.io/devcontainers-extra/features/scala-sdkman:2": {},
+ "ghcr.io/devcontainers-extra/features/scalacli-sdkman:2": {},
+ "ghcr.io/devcontainers-extra/features/scancode-toolkit:1": {},
+ "ghcr.io/devcontainers-extra/features/schemacrawler-sdkman:2": {},
+ "ghcr.io/devcontainers-extra/features/sentinel-asdf:2": {},
+ "ghcr.io/devcontainers-extra/features/serf-asdf:2": {},
+ "ghcr.io/devcontainers-extra/features/shellcheck:1": {},
+ "ghcr.io/devcontainers-extra/features/shfmt:1": {},
+ "ghcr.io/devcontainers-extra/features/shopify-cli:1": {},
+ "ghcr.io/devcontainers-extra/features/sigstore-python:1": {},
+ "ghcr.io/devcontainers-extra/features/snyk-cli:1": {},
+ "ghcr.io/devcontainers-extra/features/sops:1": {},
+ "ghcr.io/devcontainers-extra/features/spacectl:1": {},
+ "ghcr.io/devcontainers-extra/features/spark-sdkman:2": {},
+ "ghcr.io/devcontainers-extra/features/spicedb:1": {},
+ "ghcr.io/devcontainers-extra/features/springboot-sdkman:2": {},
+ "ghcr.io/devcontainers-extra/features/sqlfluff:1": {},
+ "ghcr.io/devcontainers-extra/features/squarespace-server:1": {},
+ "ghcr.io/devcontainers-extra/features/sshoogr-sdkman:2": {},
+ "ghcr.io/devcontainers-extra/features/starship:1": {},
+ "ghcr.io/devcontainers-extra/features/starship-homebrew:1": {},
+ "ghcr.io/devcontainers-extra/features/statsd-exporter:1": {},
+ "ghcr.io/devcontainers-extra/features/stew:1": {},
+ "ghcr.io/devcontainers-extra/features/supabase-cli:1": {},
+ "ghcr.io/devcontainers-extra/features/surge-cli:1": {},
+ "ghcr.io/devcontainers-extra/features/sv2v:1": {},
+ "ghcr.io/devcontainers-extra/features/svu-asdf:2": {},
+ "ghcr.io/devcontainers-extra/features/syft:1": {},
+ "ghcr.io/devcontainers-extra/features/syntaqx-serve:1": {},
+ "ghcr.io/devcontainers-extra/features/tailscale:1": {},
+ "ghcr.io/devcontainers-extra/features/talosctl:1": {},
+ "ghcr.io/devcontainers-extra/features/taxi-sdkman:2": {},
+ "ghcr.io/devcontainers-extra/features/tekton-cli:1": {},
+ "ghcr.io/devcontainers-extra/features/tempo:1": {},
+ "ghcr.io/devcontainers-extra/features/temporal-cli:1": {},
+ "ghcr.io/devcontainers-extra/features/terracognita:1": {},
+ "ghcr.io/devcontainers-extra/features/terraform-asdf:2": {},
+ "ghcr.io/devcontainers-extra/features/terraform-docs:1": {},
+ "ghcr.io/devcontainers-extra/features/terraform-ls-asdf:2": {},
+ "ghcr.io/devcontainers-extra/features/terraformer:1": {},
+ "ghcr.io/devcontainers-extra/features/terragrunt:1": {},
+ "ghcr.io/devcontainers-extra/features/terramate:1": {},
+ "ghcr.io/devcontainers-extra/features/terrascan:1": {},
+ "ghcr.io/devcontainers-extra/features/tfc-agent-asdf:2": {},
+ "ghcr.io/devcontainers-extra/features/tfenv-homebrew:1": {},
+ "ghcr.io/devcontainers-extra/features/tflint:1": {},
+ "ghcr.io/devcontainers-extra/features/tfsec:1": {},
+ "ghcr.io/devcontainers-extra/features/tfswitch:1": {},
+ "ghcr.io/devcontainers-extra/features/tldr:2": {},
+ "ghcr.io/devcontainers-extra/features/tmate:1": {},
+ "ghcr.io/devcontainers-extra/features/tmux-apt-get:1": {},
+ "ghcr.io/devcontainers-extra/features/tmux-homebrew:1": {},
+ "ghcr.io/devcontainers-extra/features/tomcat-sdkman:2": {},
+ "ghcr.io/devcontainers-extra/features/tooljet-cli:1": {},
+ "ghcr.io/devcontainers-extra/features/toolkit-sdkman:2": {},
+ "ghcr.io/devcontainers-extra/features/tox:2": {},
+ "ghcr.io/devcontainers-extra/features/tridentctl-asdf:2": {},
+ "ghcr.io/devcontainers-extra/features/truffle:1": {},
+ "ghcr.io/devcontainers-extra/features/ts-node:1": {},
+ "ghcr.io/devcontainers-extra/features/tsx:1": {},
+ "ghcr.io/devcontainers-extra/features/turborepo-npm:1": {},
+ "ghcr.io/devcontainers-extra/features/twine:2": {},
+ "ghcr.io/devcontainers-extra/features/ty:1": {},
+ "ghcr.io/devcontainers-extra/features/typescript:2": {},
+ "ghcr.io/devcontainers-extra/features/typst:1": {},
+ "ghcr.io/devcontainers-extra/features/ufmt:1": {},
+ "ghcr.io/devcontainers-extra/features/upx:1": {},
+ "ghcr.io/devcontainers-extra/features/uv:1": {},
+ "ghcr.io/devcontainers-extra/features/uv-tool:1": {},
+ "ghcr.io/devcontainers-extra/features/vault-asdf:2": {},
+ "ghcr.io/devcontainers-extra/features/vercel-cli:1": {},
+ "ghcr.io/devcontainers-extra/features/vercel-ncc:1": {},
+ "ghcr.io/devcontainers-extra/features/vercel-pkg:1": {},
+ "ghcr.io/devcontainers-extra/features/vercel-release:1": {},
+ "ghcr.io/devcontainers-extra/features/vercel-serve:1": {},
+ "ghcr.io/devcontainers-extra/features/vscode-cli:1": {},
+ "ghcr.io/devcontainers-extra/features/vscode-server:1": {},
+ "ghcr.io/devcontainers-extra/features/vtop:2": {},
+ "ghcr.io/devcontainers-extra/features/vue-cli:2": {},
+ "ghcr.io/devcontainers-extra/features/vulture:2": {},
+ "ghcr.io/devcontainers-extra/features/w3m-apt-get:1": {},
+ "ghcr.io/devcontainers-extra/features/w3m-homebrew:1": {},
+ "ghcr.io/devcontainers-extra/features/waypoint-asdf:2": {},
+ "ghcr.io/devcontainers-extra/features/webi-packages:1": {},
+ "ghcr.io/devcontainers-extra/features/webtau-sdkman:2": {},
+ "ghcr.io/devcontainers-extra/features/wget-apt-get:1": {},
+ "ghcr.io/devcontainers-extra/features/wget-homebrew:1": {},
+ "ghcr.io/devcontainers-extra/features/wireguard-apt-get:1": {},
+ "ghcr.io/devcontainers-extra/features/worktrunk:1": {},
+ "ghcr.io/devcontainers-extra/features/xmrig:1": {},
+ "ghcr.io/devcontainers-extra/features/xonsh:1": {},
+ "ghcr.io/devcontainers-extra/features/yamllint:2": {},
+ "ghcr.io/devcontainers-extra/features/yapf:2": {},
+ "ghcr.io/devcontainers-extra/features/youtube-dl:2": {},
+ "ghcr.io/devcontainers-extra/features/youtubeuploader:1": {},
+ "ghcr.io/devcontainers-extra/features/yt-dlp:2": {},
+ "ghcr.io/devcontainers-extra/features/zig:1": {},
+ "ghcr.io/devcontainers-extra/features/zsh-plugins:0": {},
+ "ghcr.io/bascodes/devcontainer-features/cf-warp-cli:1": {},
+ "ghcr.io/bascodes/devcontainer-features/debug-dump-env:1": {},
+ "ghcr.io/bascodes/devcontainer-features/desktop:0": {},
+ "ghcr.io/bascodes/devcontainer-features/desktop-fluxbox:0": {},
+ "ghcr.io/bascodes/devcontainer-features/desktop-init:0": {},
+ "ghcr.io/bascodes/devcontainer-features/desktop-novnc:0": {},
+ "ghcr.io/bascodes/devcontainer-features/desktop-xserver:0": {},
+ "ghcr.io/bascodes/devcontainer-features/kmod:1": {},
+ "ghcr.io/bascodes/devcontainer-features/pkgx:1": {},
+ "ghcr.io/bascodes/devcontainer-features/set-dbus-machine-id:1": {},
+ "ghcr.io/bascodes/devcontainer-features/shoreman:1": {},
+ "ghcr.io/bascodes/devcontainer-features/tailscale.com:1": {},
+ "ghcr.io/bascodes/devcontainer-features/usbutils:1": {},
+ "ghcr.io/bascodes/devcontainer-features/webinstall.dev:1": {},
+ "ghcr.io/rhiroe/features/ecspresso:1": {},
+ "ghcr.io/rhiroe/features/saml2aws:1": {},
+ "ghcr.io/aquaproj/devcontainer-features/aqua-installer:0": {},
+ "ghcr.io/martinaskestad/features/mingw:1": {},
+ "ghcr.io/martinaskestad/features/smlnj:1": {},
+ "ghcr.io/martinaskestad/features/vimsrc:1": {},
+ "ghcr.io/loag/slang-feature/slang:0": {},
+ "ghcr.io/zetta/devcontainer-features/scalr-cli:1": {},
+ "ghcr.io/zetta/devcontainer-features/venom:1": {},
+ "ghcr.io/connershoop/devcontainer-feature-ubuntugis/ubuntugis:1": {},
+ "ghcr.io/forwardsoftware/devcontainer-features/go-mod-cache:1": {},
+ "ghcr.io/chaoswars/vscode-features/llvm:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/add-script:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/alexpasmantier-television:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/ankitpokhrel-jira-cli:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/apt-build-essential:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/asdf-vm.com:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/astral.sh-uv:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/atuin.sh:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/avivsinai-bitbucket-cli:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/aws-cli:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/basecamp-fizzy-cli:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/bat:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/biomejs.dev:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/btop:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/bun.sh:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/ca-certificates:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/ccache.dev:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/charmbracelet-gum:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/chezmoi.io:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/clang-format:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/clang-tidy:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/cloudflare.com-warp-cli:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/cmake.org:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/coleam00-Archon:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/collection-c-cpp:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/critique.work:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/danmar-cppcheck:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/delta:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/deno.com:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/devenv.sh:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/diffity.com:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/direnv.net:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/distcc.org:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/dolthub.com:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/dolthub.com-doltgres:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/dotenv.org:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/dozzle.dev:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/fathyb-carbonyl:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/fd:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/feature-installer:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/fzf:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/getdnote.com:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/gitagent.sh:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/github.com-cli:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/helix-editor.com:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/hermes-agent.nousresearch.com:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/icholy-ttygif:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/jj-vcs.dev:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/jnsahaj-lumen:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/joelhooks-agent-secrets:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/jonas-tig:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/jq:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/k9scli.io:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/keybase.io:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/lazygit:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/lnav.org:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/memvid.com:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/mosh.org:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/neovim.io:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/ninja-build.org:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/nixos.org:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/nvidia.com-cuda:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/onecli.sh-cli:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/opencode.ai:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/pi.dev:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/pkgx.sh:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/pulumi.com:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/rclone.org:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/restic.net:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/ripgrep:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/run-script:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/schpet-linear-cli:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/smallstep.com:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/socket.dev-sfw-free:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/sourceware.org-gdb:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/sshd:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/starship.rs:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/steveyegge-beads:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/swc.rs:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/sxyazi-yazi:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/tailscale.com:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/taskwarrior.org:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/tree-sitter:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/turso.tech:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/valgrind.org:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/vcpkg.io:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/webinstall.dev:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/yakitrak-notesmd-cli:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/yoctoproject.org:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/yoctoproject.org-bitbake:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/yq:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/zellij.dev:1": {},
+ "ghcr.io/devcontainer-community/devcontainer-features/zyedidia-eget:1": {},
+ "ghcr.io/braun-daniel/devcontainer-features/asciidoc:1": {},
+ "ghcr.io/braun-daniel/devcontainer-features/fzf:1": {},
+ "ghcr.io/braun-daniel/devcontainer-features/spaceship:1": {},
+ "ghcr.io/szkiba/devcontainer-features/bats:1": {},
+ "ghcr.io/szkiba/devcontainer-features/cdo:1": {},
+ "ghcr.io/szkiba/devcontainer-features/gosec:1": {},
+ "ghcr.io/szkiba/devcontainer-features/govulncheck:1": {},
+ "ghcr.io/szkiba/devcontainer-features/mdcode:1": {},
+ "ghcr.io/thediveo/devcontainer-features/bpftool:0": {},
+ "ghcr.io/thediveo/devcontainer-features/cni-plugins:0": {},
+ "ghcr.io/thediveo/devcontainer-features/docsify:1": {},
+ "ghcr.io/thediveo/devcontainer-features/gcx:0": {},
+ "ghcr.io/thediveo/devcontainer-features/go-ebpf:1": {},
+ "ghcr.io/thediveo/devcontainer-features/go-mod-upgrade:1": {},
+ "ghcr.io/thediveo/devcontainer-features/gocover:1": {},
+ "ghcr.io/thediveo/devcontainer-features/goreportcard:1": {},
+ "ghcr.io/thediveo/devcontainer-features/lazygit:0": {},
+ "ghcr.io/thediveo/devcontainer-features/local-pkgsite:1": {},
+ "ghcr.io/thediveo/devcontainer-features/nerdctl:0": {},
+ "ghcr.io/thediveo/devcontainer-features/pin-github-action:0": {},
+ "ghcr.io/thediveo/devcontainer-features/pinact:0": {},
+ "ghcr.io/thediveo/devcontainer-features/pull-through-cache-registry:1": {},
+ "ghcr.io/thediveo/devcontainer-features/wal-wahl:0": {},
+ "ghcr.io/dotnet/aspire-devcontainer-feature/dotnetaspire:1": {},
+ "ghcr.io/roul/devcontainer-features/bitwarden-cli:1": {},
+ "ghcr.io/roul/devcontainer-features/bitwarden-secrets-manager:1": {},
+ "ghcr.io/roul/devcontainer-features/kamal:1": {},
+ "ghcr.io/roul/devcontainer-features/mise:1": {},
+ "ghcr.io/roul/devcontainer-features/mise-bun:1": {},
+ "ghcr.io/roul/devcontainer-features/mise-golang:1": {},
+ "ghcr.io/roul/devcontainer-features/mise-java:1": {},
+ "ghcr.io/roul/devcontainer-features/mise-node:1": {},
+ "ghcr.io/roul/devcontainer-features/mise-python:1": {},
+ "ghcr.io/roul/devcontainer-features/mise-ruby:1": {},
+ "ghcr.io/roul/devcontainer-features/mise-rust:1": {},
+ "ghcr.io/roul/devcontainer-features/vault:1": {},
+ "ghcr.io/itsalljustdata/devcontainers-custom-features/python-virtualenv:1": {},
+ "ghcr.io/irfansofyana/devcontainer-features/kcat-apt:1": {},
+ "ghcr.io/irfansofyana/devcontainer-features/lazydocker-binary-release:1": {},
+ "ghcr.io/prplecake/devcontainer-features/dart-sass:1": {},
+ "ghcr.io/grafana/devcontainer-features/k6:1": {},
+ "ghcr.io/grafana/devcontainer-features/xk6:1": {},
+ "ghcr.io/httpdss/devcontainers-features/struct:1": {},
+ "ghcr.io/coder/devcontainer-features/code-server:2": {},
+ "ghcr.io/atty303/devcontainer-features/mise:1": {},
+ "ghcr.io/muhmdraouf/devcontainers-features/alpine-apk:0": {},
+ "ghcr.io/jajera/features/ag:1": {},
+ "ghcr.io/jajera/features/agentcore-cli:1": {},
+ "ghcr.io/jajera/features/amazon-q-cli:1": {},
+ "ghcr.io/jajera/features/aws-sam-cli:1": {},
+ "ghcr.io/jajera/features/gcloud-cli:1": {},
+ "ghcr.io/jajera/features/zip:1": {},
+ "ghcr.io/mrsimonemms/devcontainers/air:1": {},
+ "ghcr.io/mrsimonemms/devcontainers/buf:1": {},
+ "ghcr.io/mrsimonemms/devcontainers/butane:1": {},
+ "ghcr.io/mrsimonemms/devcontainers/cobra-cli:1": {},
+ "ghcr.io/mrsimonemms/devcontainers/diff-so-fancy:1": {},
+ "ghcr.io/mrsimonemms/devcontainers/dingo:1": {},
+ "ghcr.io/mrsimonemms/devcontainers/tcld:1": {},
+ "ghcr.io/mrsimonemms/devcontainers/zigflow:1": {},
+ "ghcr.io/ryanlua/features/rojo:0": {},
+ "ghcr.io/daniellindemann/dev-container-features/dotnet-usersecrets-persistence:0": {},
+ "ghcr.io/tobiaschc/devcontainer-features/starship:1": {},
+ "ghcr.io/joebowbeer/devcontainers-features/arkade-get:1": {},
+ "ghcr.io/joebowbeer/devcontainers-features/crossplane:1": {},
+ "ghcr.io/pirpedro/features/antidote:1": {},
+ "ghcr.io/pirpedro/features/chezmoi:1": {},
+ "ghcr.io/pirpedro/features/dev-gadgets:1": {},
+ "ghcr.io/pirpedro/features/just:1": {},
+ "ghcr.io/bullmastiffo/devcontainers-features/azurelinux-docker-outside-of-docker:1": {},
+ "ghcr.io/takahashinguyen/devcontainer-features/mailpit-homebrew:1": {},
+ "ghcr.io/takahashinguyen/devcontainer-features/minio-client-homebrew:1": {},
+ "ghcr.io/takahashinguyen/devcontainer-features/minio-homebrew:2": {},
+ "ghcr.io/olivierlemasle/devcontainers-features/jsonnet:1": {},
+ "ghcr.io/olivierlemasle/devcontainers-features/tauri:1": {},
+ "ghcr.io/navinkrishnan/devcontainer-features-btp/btp-cap-dev-stack:1": {},
+ "ghcr.io/navinkrishnan/devcontainer-features-btp/cds-dk:1": {},
+ "ghcr.io/navinkrishnan/devcontainer-features-btp/cf:1": {},
+ "ghcr.io/navinkrishnan/devcontainer-features-btp/helm:1": {},
+ "ghcr.io/navinkrishnan/devcontainer-features-btp/mbt:1": {},
+ "ghcr.io/navinkrishnan/devcontainer-features-btp/pack:1": {},
+ "ghcr.io/ksachdeva/devcontainer-features/nats-server:1": {},
+ "ghcr.io/ksachdeva/devcontainer-features/nats-top:1": {},
+ "ghcr.io/ksachdeva/devcontainer-features/natscli:1": {},
+ "ghcr.io/ksachdeva/devcontainer-features/presenterm:1": {},
+ "ghcr.io/siri404/devcontainer-ai-features/claude-code:1": {},
+ "ghcr.io/siri404/devcontainer-ai-features/gcloud:1": {},
+ "ghcr.io/siri404/devcontainer-ai-features/gemini-cli:1": {},
+ "ghcr.io/siri404/devcontainer-ai-features/mcp-inspector:1": {},
+ "ghcr.io/siri404/devcontainer-ai-features/vercel-cli:1": {},
+ "ghcr.io/helpers4/devcontainer/angular-dev:1": {},
+ "ghcr.io/helpers4/devcontainer/auto-header:1": {},
+ "ghcr.io/helpers4/devcontainer/bitwarden-secrets-manager:1": {},
+ "ghcr.io/helpers4/devcontainer/claude-dev:1": {},
+ "ghcr.io/helpers4/devcontainer/cline-dev:1": {},
+ "ghcr.io/helpers4/devcontainer/copilot-dev:1": {},
+ "ghcr.io/helpers4/devcontainer/dotfiles-sync:1": {},
+ "ghcr.io/helpers4/devcontainer/essential-dev:1": {},
+ "ghcr.io/helpers4/devcontainer/git-absorb:1": {},
+ "ghcr.io/helpers4/devcontainer/github-dev:1": {},
+ "ghcr.io/helpers4/devcontainer/helpers4-common:1": {},
+ "ghcr.io/helpers4/devcontainer/mistral-dev:1": {},
+ "ghcr.io/helpers4/devcontainer/nub:1": {},
+ "ghcr.io/helpers4/devcontainer/org-workspace:1": {},
+ "ghcr.io/helpers4/devcontainer/package-auto-install:1": {},
+ "ghcr.io/helpers4/devcontainer/peon-ping:1": {},
+ "ghcr.io/helpers4/devcontainer/playwright-dev:1": {},
+ "ghcr.io/helpers4/devcontainer/pnpm-store:1": {},
+ "ghcr.io/helpers4/devcontainer/shell-history-per-project:1": {},
+ "ghcr.io/helpers4/devcontainer/typescript-dev:1": {},
+ "ghcr.io/helpers4/devcontainer/vite-plus:1": {},
+ "ghcr.io/yassinedoghri/devcontainers/php-extensions-installer:1": {},
+ "ghcr.io/42atomys/devcontainers-features/dragonfly:1": {},
+ "ghcr.io/42atomys/devcontainers-features/meilisearch:1": {},
+ "ghcr.io/42atomys/devcontainers-features/minio-server:1": {},
+ "ghcr.io/42atomys/devcontainers-features/redis-cli:1": {},
+ "ghcr.io/marcosbolanos/devcontainer-features/neovim-prebuilt:1": {},
+ "ghcr.io/slaytanic/devcontainer/color:1": {},
+ "ghcr.io/slaytanic/devcontainer/hello:1": {},
+ "ghcr.io/slaytanic/devcontainer/watchman:1": {},
+ "ghcr.io/rabdulwahhab/devcontainer-features/elixir-asdf:1": {},
+ "ghcr.io/rabdulwahhab/devcontainer-features/erlang-asdf:1": {},
+ "ghcr.io/rails/devcontainer/features/activestorage:1": {},
+ "ghcr.io/rails/devcontainer/features/bun:1": {},
+ "ghcr.io/rails/devcontainer/features/bundler-cache:1": {},
+ "ghcr.io/rails/devcontainer/features/mysql-client:1": {},
+ "ghcr.io/rails/devcontainer/features/postgres-client:1": {},
+ "ghcr.io/rails/devcontainer/features/ruby:2": {},
+ "ghcr.io/rails/devcontainer/features/sqlite3:1": {},
+ "ghcr.io/nlstn/devcontainer-features/go-air:1": {},
+ "ghcr.io/nlstn/devcontainer-features/psql:1": {},
+ "ghcr.io/xingxinhe/devcontainer-features/realsense:1": {},
+ "ghcr.io/xingxinhe/devcontainer-features/robotpkg:1": {},
+ "ghcr.io/xingxinhe/devcontainer-features/zivid:1": {},
+ "ghcr.io/proxayfox/devcontainer-features/aikido-precommit:1": {},
+ "ghcr.io/proxayfox/devcontainer-features/clickhouse-local:1": {},
+ "ghcr.io/proxayfox/devcontainer-features/lazydocker:1": {},
+ "ghcr.io/kingbain/devcontainer-features-databricks/databricks-cli:0": {},
+ "ghcr.io/devcontainer-config/features/features:0": {},
+ "ghcr.io/devcontainer-config/features/unset-git-credential-helper:0": {},
+ "ghcr.io/devcontainer-config/features/user-init:3": {},
+ "ghcr.io/Evit15/devcontainer-features/adb-fastboot:1": {},
+ "ghcr.io/roboslone/go-framework/fexec:1": {},
+ "ghcr.io/iambipinpaul/devcontainer-features/oh-my-posh:1": {},
+ "ghcr.io/w3cj/devcontainer-features/firewall:0": {},
+ "ghcr.io/marblejenka/devcontainer-feature/gemini-cli:0": {},
+ "ghcr.io/marblejenka/devcontainer-feature/tlaplus:0": {},
+ "ghcr.io/ttyrho/devcontainer-features/fpm:1": {},
+ "ghcr.io/ttyrho/devcontainer-features/gcc:1": {},
+ "ghcr.io/ttyrho/devcontainer-features/gfortran:1": {},
+ "ghcr.io/dopplerhq/devcontainer-features/doppler-cli:1": {},
+ "ghcr.io/dopplerhq/devcontainer-features/volume-permissions:1": {},
+ "ghcr.io/miguelrodo/devcontainerfeatures/apptainer:1": {},
+ "ghcr.io/miguelrodo/devcontainerfeatures/build-info:1": {},
+ "ghcr.io/miguelrodo/devcontainerfeatures/cmdstan:1": {},
+ "ghcr.io/miguelrodo/devcontainerfeatures/fit-sne:1": {},
+ "ghcr.io/miguelrodo/devcontainerfeatures/github-tokens:1": {},
+ "ghcr.io/miguelrodo/devcontainerfeatures/mermaid:1": {},
+ "ghcr.io/miguelrodo/devcontainerfeatures/renv-cache:1": {},
+ "ghcr.io/miguelrodo/devcontainerfeatures/utils:1": {},
+ "ghcr.io/esimkowitz/devcontainer-features/claude-code-persistence:1": {},
+ "ghcr.io/esimkowitz/devcontainer-features/direnv:1": {},
+ "ghcr.io/esimkowitz/devcontainer-features/fish-starship:1": {},
+ "ghcr.io/esimkowitz/devcontainer-features/ssh-signing:1": {},
+ "ghcr.io/iyaki/devcontainer-features/lefthook:2": {},
+ "ghcr.io/iyaki/devcontainer-features/oh-my-pi:1": {},
+ "ghcr.io/iyaki/devcontainer-features/phpantom:1": {},
+ "ghcr.io/iyaki/devcontainer-features/pie:1": {},
+ "ghcr.io/iyaki/devcontainer-features/pie-extensions:2": {},
+ "ghcr.io/iyaki/devcontainer-features/ralph:1": {},
+ "ghcr.io/riccardobravin/devcontainer-features/zensical:0": {},
+ "ghcr.io/mike-fi/devcontainer-features/databricks-cli:1": {},
+ "ghcr.io/wcgomes/devcontainer-features/agency-agents:0": {},
+ "ghcr.io/wcgomes/devcontainer-features/agents-workspace:0": {},
+ "ghcr.io/wcgomes/devcontainer-features/opencode:0": {},
+ "ghcr.io/sliekens/devcontainer-features/ansible:1": {},
+ "ghcr.io/sliekens/devcontainer-features/ansible-core:1": {},
+ "ghcr.io/sliekens/devcontainer-features/ansible-lint:1": {},
+ "ghcr.io/sliekens/devcontainer-features/aspire-cli:1": {},
+ "ghcr.io/sliekens/devcontainer-features/bitwarden-agent-access:1": {},
+ "ghcr.io/sliekens/devcontainer-features/bitwarden-cli:1": {},
+ "ghcr.io/sliekens/devcontainer-features/bitwarden-secrets-manager:1": {},
+ "ghcr.io/sliekens/devcontainer-features/claude:1": {},
+ "ghcr.io/sliekens/devcontainer-features/codex:1": {},
+ "ghcr.io/sliekens/devcontainer-features/copilot:1": {},
+ "ghcr.io/sliekens/devcontainer-features/github-cli:1": {},
+ "ghcr.io/sliekens/devcontainer-features/grok-build:1": {},
+ "ghcr.io/sliekens/devcontainer-features/mistral-vibe:1": {},
+ "ghcr.io/sliekens/devcontainer-features/mono:1": {},
+ "ghcr.io/sliekens/devcontainer-features/omp:1": {},
+ "ghcr.io/sliekens/devcontainer-features/opencode:1": {},
+ "ghcr.io/sliekens/devcontainer-features/pi:1": {},
+ "ghcr.io/sliekens/devcontainer-features/rename-user:1": {},
+ "ghcr.io/sliekens/devcontainer-features/tea:1": {},
+ "ghcr.io/sliekens/devcontainer-features/worktrunk:1": {},
+ "ghcr.io/postfinance/devcontainer-features/apm:1": {},
+ "ghcr.io/postfinance/devcontainer-features/browsers:1": {},
+ "ghcr.io/postfinance/devcontainer-features/build-essential:1": {},
+ "ghcr.io/postfinance/devcontainer-features/claude-code:1": {},
+ "ghcr.io/postfinance/devcontainer-features/cypress-deps:1": {},
+ "ghcr.io/postfinance/devcontainer-features/docker-in:1": {},
+ "ghcr.io/postfinance/devcontainer-features/docker-out:1": {},
+ "ghcr.io/postfinance/devcontainer-features/dotnet:1": {},
+ "ghcr.io/postfinance/devcontainer-features/eclipse-deps:1": {},
+ "ghcr.io/postfinance/devcontainer-features/git-lfs:1": {},
+ "ghcr.io/postfinance/devcontainer-features/github-cli:1": {},
+ "ghcr.io/postfinance/devcontainer-features/github-copilot-cli:1": {},
+ "ghcr.io/postfinance/devcontainer-features/gitlab-cli:1": {},
+ "ghcr.io/postfinance/devcontainer-features/go:1": {},
+ "ghcr.io/postfinance/devcontainer-features/gonovate:1": {},
+ "ghcr.io/postfinance/devcontainer-features/goreleaser:1": {},
+ "ghcr.io/postfinance/devcontainer-features/instant-client:2": {},
+ "ghcr.io/postfinance/devcontainer-features/jfrog-cli:1": {},
+ "ghcr.io/postfinance/devcontainer-features/kubectl:1": {},
+ "ghcr.io/postfinance/devcontainer-features/locale:1": {},
+ "ghcr.io/postfinance/devcontainer-features/make:1": {},
+ "ghcr.io/postfinance/devcontainer-features/mingw:1": {},
+ "ghcr.io/postfinance/devcontainer-features/nginx:1": {},
+ "ghcr.io/postfinance/devcontainer-features/node:1": {},
+ "ghcr.io/postfinance/devcontainer-features/npm-packages:1": {},
+ "ghcr.io/postfinance/devcontainer-features/nvidia-cuda:1": {},
+ "ghcr.io/postfinance/devcontainer-features/opencode:1": {},
+ "ghcr.io/postfinance/devcontainer-features/playwright-deps:2": {},
+ "ghcr.io/postfinance/devcontainer-features/python:1": {},
+ "ghcr.io/postfinance/devcontainer-features/rust:1": {},
+ "ghcr.io/postfinance/devcontainer-features/sonar-scanner-cli:1": {},
+ "ghcr.io/postfinance/devcontainer-features/system-packages:1": {},
+ "ghcr.io/postfinance/devcontainer-features/terraform:1": {},
+ "ghcr.io/postfinance/devcontainer-features/timezone:1": {},
+ "ghcr.io/postfinance/devcontainer-features/vault-cli:1": {},
+ "ghcr.io/postfinance/devcontainer-features/zig:1": {},
+ "ghcr.io/nicoviii/devcontainer-features/roc:0": {},
+ "ghcr.io/althack/devcontainers/linux-pulseaudio-forwarding:0": {},
+ "ghcr.io/althack/devcontainers/linux-x11-forwarding:0": {},
+ "ghcr.io/althack/devcontainers/ros2:0": {},
+ "ghcr.io/soup-bowl/features/firefox-set:0": {},
+ "ghcr.io/rosstaco/devcontainer-features/atlassian-jira-confluence-cli:1": {},
+ "ghcr.io/rosstaco/devcontainer-features/copilot-persistence:1": {},
+ "ghcr.io/rosstaco/devcontainer-features/gitlab-ci-local:1": {},
+ "ghcr.io/rosstaco/devcontainer-features/microsoft-security-devops-cli:1": {},
+ "ghcr.io/rosstaco/devcontainer-features/ohmyposh:1": {},
+ "ghcr.io/rosstaco/devcontainer-features/package-source-overrides:1": {},
+ "ghcr.io/rosstaco/devcontainer-features/prompty-dumpty:1": {},
+ "ghcr.io/nkdui/devcontainer-features/conan:1": {},
+ "ghcr.io/mrhornsby/trunk-devcontainer-feature/trunk:1": {},
+ "ghcr.io/cdsolinfo/devcontainer-features/ksm:1": {},
+ "ghcr.io/nkaaf/devcontainer-features/azure-functions:0": {},
+ "ghcr.io/nkaaf/devcontainer-features/latex-texlive:0": {},
+ "ghcr.io/nkaaf/devcontainer-features/package-manager:2": {},
+ "ghcr.io/nkaaf/devcontainer-features/package-manager-apt:0": {},
+ "ghcr.io/nkaaf/devcontainer-features/package-manager-tlmgr:0": {},
+ "ghcr.io/rodribus/devcontainer-features/pi-coding-agent:0": {},
+ "ghcr.io/aqua/devcontainer-antigravity-cli/antigravity-cli:1": {},
+ "ghcr.io/cjcrobin/devcontainer-features/claudecode:1": {},
+ "ghcr.io/cjcrobin/devcontainer-features/codexcli:1": {},
+ "ghcr.io/cjcrobin/devcontainer-features/playwright-cli:1": {},
+ "ghcr.io/cjcrobin/devcontainer-features/qodercli:1": {},
+ "ghcr.io/aqua/devcontainer-gcloud/gcloud:1": {},
+ "ghcr.io/kuju63/devcontainer-features/betterleaks:1": {},
+ "ghcr.io/srzstephen/devcontainer-features/act:1": {},
+ "ghcr.io/srzstephen/devcontainer-features/agentcore:1": {},
+ "ghcr.io/srzstephen/devcontainer-features/aws-sam-cli:1": {},
+ "ghcr.io/srzstephen/devcontainer-features/bash-language-server:1": {},
+ "ghcr.io/srzstephen/devcontainer-features/claude-code:1": {},
+ "ghcr.io/srzstephen/devcontainer-features/gitlab-ci-local:1": {},
+ "ghcr.io/srzstephen/devcontainer-features/gitlab-cli:1": {},
+ "ghcr.io/srzstephen/devcontainer-features/just:1": {},
+ "ghcr.io/srzstephen/devcontainer-features/kiro-cli:1": {},
+ "ghcr.io/srzstephen/devcontainer-features/nvidia-container-toolkit:1": {},
+ "ghcr.io/srzstephen/devcontainer-features/prek:1": {},
+ "ghcr.io/xavierbeheydt/devcontainer-extras/lazyvim:0": {},
+ "ghcr.io/sjp/tectonic-feature/tectonic:1": {},
+ "ghcr.io/dnegstad/devcontainer-dev-certs/devcontainer-dev-certs:1": {},
+ "ghcr.io/jrussellsmyth/devcontainer-features/crush:1": {},
+ "ghcr.io/jrussellsmyth/devcontainer-features/openspec:1": {},
+ "ghcr.io/jrussellsmyth/devcontainer-features/yarn-apt-publickey:1": {},
+ "ghcr.io/nolanjx/devcontainer-features/claude-code:1": {},
+ "ghcr.io/nolanjx/devcontainer-features/codex:1": {},
+ "ghcr.io/nolanjx/devcontainer-features/cursor:1": {},
+ "ghcr.io/nolanjx/devcontainer-features/dsh:1": {},
+ "ghcr.io/nolanjx/devcontainer-features/mattpocock-skills:1": {},
+ "ghcr.io/nolanjx/devcontainer-features/pi-coding-agent:1": {},
+ "registry.gitlab.com/pravorskyi/devcontainer-features/claude-code:1": {},
+ "ghcr.io/beepboop2025/liquilens-devcontainer-features/liquilens-evidence:1": {}
+ }
+}
diff --git a/.github/workflows/+/pm-publish.yml b/.github/workflows/+/pm-publish.yml
new file mode 100644
index 0000000..98a9c54
--- /dev/null
+++ b/.github/workflows/+/pm-publish.yml
@@ -0,0 +1,33 @@
+# This workflow will run tests using node and then publish a package to GitHub Packages when a release is created
+# For more information see: https://docs.github.com/en/actions/publishing-packages/publishing-nodejs-packages
+
+name: Node.js Package
+
+on: onn.
+ release:
+ types: [created]
+
+jobs:
+ build:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - uses: actions/setup-node@v4
+ with:
+ node-version: 20
+ - run: npm ci
+ - run: npm test
+
+ publish-npm:
+ needs: build
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - uses: actions/setup-node@v4
+ with:
+ node-version: 20
+ registry-url: https://registry.npmjs.org/
+ - run: npm ci
+ - run: npm publish
+ env:
+ NODE_AUTH_TOKEN: ${{secrets.npm_token}}
diff --git a/.github/workflows/npm-publish.yml b/.github/workflows/npm-publish.yml
new file mode 100644
index 0000000..aca6a6f
--- /dev/null
+++ b/.github/workflows/npm-publish.yml
@@ -0,0 +1,34 @@
+# This workflow will run tests using node and then publish a package to GitHub Packages when a release is created
+# For more information see: https://docs.github.com/en/actions/publishing-packages/publishing-nodejs-packages
+
+name: Node.js Package
+release: Agents
+on: JPMORGANCHASE
+ preview: project_card: new card
+
+ types: [no]
+
+jobs:
+ build:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - uses: actions/setup-node@v4
+ with:
+ node-version: 20
+ - run: npm ci
+ - run: npm test
+
+ publish-npm:
+ needs: build
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - uses: actions/setup-node@v4
+ with:
+ node-version: 20
+ registry-url: https://registry.npmjs.org/
+ - run: npm ci
+ - run: npm publish
+ env:
+ NODE_AUTH_TOKEN: ${{secrets.npm_token}}
diff --git a/.gitignore b/.gitignore
index 6ea4997..38d0459 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,3 @@
node_modules
.DS_Store
-sandbox*
\ No newline at end of file
+s*
\ No newline at end of file
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index f684e79..0000000
--- a/.travis.yml
+++ /dev/null
@@ -1,2 +0,0 @@
-language: "node"
-"node": 7
\ No newline at end of file
diff --git a/LAB.md b/LAB.md
index 4d7b3ad..73d16fb 100644
--- a/LAB.md
+++ b/LAB.md
@@ -1,5 +1,5 @@
-
Bitmap Transformer
-====
+
Bitmap
+^Homer
## Description
diff --git a/README.md b/README.md
index 53ea7fe..2f789cb 100644
--- a/README.md
+++ b/README.md
@@ -1,11 +1,10 @@
-#Bitmap Transformer: Keeley Hammond
-## Lab 1: Complete!
+# Bitmap Transformer
-Bitmap Transformer is a transformer that converts BMPs to an inverted color scheme and a greyscale color scheme.
+Bitmap Transformer is a simple JavaScript transformer that converts BMPs to an inverted color scheme and a greyscale color scheme.
-In this app, we:
+### Last Update:
* Created a header module to allow us to parse through the BMP, read the correct header information and offset our bit count to the correct place to begin reading the file's actual data.
* Wrote an invert transformer that will write over the RBG values of the pixels within our BMP and write to a new file.
* Wrote a greyscale transformer that will take the avg value of our RGB values and return that value for each field.
-* Wrote a successful test showing that our invert function works correctly, programmatically.
\ No newline at end of file
+* Wrote a successful test showing that our invert function works correctly, programmatically.
diff --git a/package-lock.json b/package-lock.json
new file mode 100644
index 0000000..14d453b
--- /dev/null
+++ b/package-lock.json
@@ -0,0 +1,2216 @@
+{
+ "name": "bitmap-transformer",
+ "version": "1.0.0",
+ "lockfileVersion": 3,
+ "requires": true,
+ "packages": {
+ "": {
+ "name": "bitmap-transformer",
+ "version": "1.0.0",
+ "license": "ISC",
+ "dependencies": {
+ "fs": "0.0.1-security",
+ "fs-promise": "^2.0.2"
+ },
+ "devDependencies": {
+ "chai": "^3.5.0",
+ "eslint": "^3.19.0",
+ "mocha": "^3.2.0"
+ }
+ },
+ "node_modules/acorn": {
+ "version": "5.7.4",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz",
+ "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "acorn": "bin/acorn"
+ },
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/acorn-jsx": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz",
+ "integrity": "sha512-AU7pnZkguthwBjKgCg6998ByQNIMjbuDQZ8bb78QAFZwPfmKia8AIzgY/gWgqCjnht8JLdXmB4YxA0KaV60ncQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "acorn": "^3.0.4"
+ }
+ },
+ "node_modules/acorn-jsx/node_modules/acorn": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz",
+ "integrity": "sha512-OLUyIIZ7mF5oaAUT1w0TFqQS81q3saT46x8t7ukpPjMNk+nbs4ZHhs7ToV8EWnLYLepjETXd4XaCE4uxkMeqUw==",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "acorn": "bin/acorn"
+ },
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/ajv": {
+ "version": "4.11.8",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz",
+ "integrity": "sha512-I/bSHSNEcFFqXLf91nchoNB9D1Kie3QKcWdchYUaoIg1+1bdWDkdfdlvdIOJbi9U8xR0y+MWc5D+won9v95WlQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "co": "^4.6.0",
+ "json-stable-stringify": "^1.0.1"
+ }
+ },
+ "node_modules/ajv-keywords": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-1.5.1.tgz",
+ "integrity": "sha512-vuBv+fm2s6cqUyey2A7qYcvsik+GMDJsw8BARP2sDE76cqmaZVarsvHf7Vx6VJ0Xk8gLl+u3MoAPf6gKzJefeA==",
+ "dev": true,
+ "license": "MIT",
+ "peerDependencies": {
+ "ajv": ">=4.10.0"
+ }
+ },
+ "node_modules/ansi-escapes": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz",
+ "integrity": "sha512-wiXutNjDUlNEDWHcYH3jtZUhd3c4/VojassD8zHdHCY13xbZy2XbW+NKQwA0tWGBVzDA9qEzYwfoSsWmviidhw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/ansi-styles": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/any-promise": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz",
+ "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==",
+ "license": "MIT"
+ },
+ "node_modules/argparse": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
+ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "sprintf-js": "~1.0.2"
+ }
+ },
+ "node_modules/assertion-error": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz",
+ "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/babel-code-frame": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz",
+ "integrity": "sha512-XqYMR2dfdGMW+hd0IUZ2PwK+fGeFkOxZJ0wY+JaQAHzt1Zx8LcvpiZD2NiGkEG8qx0CfkAOr5xt76d1e8vG90g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "chalk": "^1.1.3",
+ "esutils": "^2.0.2",
+ "js-tokens": "^3.0.2"
+ }
+ },
+ "node_modules/balanced-match": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
+ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/brace-expansion": {
+ "version": "1.1.21",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.21.tgz",
+ "integrity": "sha512-9zeA+KLZNNzglF2TPKRQEDyx6Yby7daAkuy8MiPzpXPsYDWi/DRM8jmwUDxokQjYqBpv5DgPiwD4h4ZZSy1Ujw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "node_modules/browser-stdout": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.0.tgz",
+ "integrity": "sha512-7Rfk377tpSM9TWBEeHs0FlDZGoAIei2V/4MdZJoFMBFAK6BqLpxAIUepGRHGdPFgGsLb02PXovC4qddyHvQqTg==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/buffer-from": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
+ "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/call-bind": {
+ "version": "1.0.9",
+ "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.9.tgz",
+ "integrity": "sha512-a/hy+pNsFUTR+Iz8TCJvXudKVLAnz/DyeSUo10I5yvFDQJBFU2s9uqQpoSrJlroHUKoKqzg+epxyP9lqFdzfBQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind-apply-helpers": "^1.0.2",
+ "es-define-property": "^1.0.1",
+ "get-intrinsic": "^1.3.0",
+ "set-function-length": "^1.2.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/call-bind-apply-helpers": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz",
+ "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "es-errors": "^1.3.0",
+ "function-bind": "^1.1.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/call-bound": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz",
+ "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind-apply-helpers": "^1.0.2",
+ "get-intrinsic": "^1.3.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/caller-path": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz",
+ "integrity": "sha512-UJiE1otjXPF5/x+T3zTnSFiTOEmJoGTD9HmBoxnCUwho61a2eSNn/VwtwuIBDAo2SEOv1AJ7ARI5gCmohFLu/g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "callsites": "^0.2.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/callsites": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz",
+ "integrity": "sha512-Zv4Dns9IbXXmPkgRRUjAaJQgfN4xX5p6+RQFhWUqscdvvK2xK/ZL8b3IXIJsj+4sD+f24NwnWy2BY8AJ82JB0A==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/chai": {
+ "version": "3.5.0",
+ "resolved": "https://registry.npmjs.org/chai/-/chai-3.5.0.tgz",
+ "integrity": "sha512-eRYY0vPS2a9zt5w5Z0aCeWbrXTEyvk7u/Xf71EzNObrjSCPgMm1Nku/D/u2tiqHBX5j40wWhj54YJLtgn8g55A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "assertion-error": "^1.0.1",
+ "deep-eql": "^0.1.3",
+ "type-detect": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4.0"
+ }
+ },
+ "node_modules/chalk": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^2.2.1",
+ "escape-string-regexp": "^1.0.2",
+ "has-ansi": "^2.0.0",
+ "strip-ansi": "^3.0.0",
+ "supports-color": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/circular-json": {
+ "version": "0.3.3",
+ "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz",
+ "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==",
+ "deprecated": "CircularJSON is in maintenance only, flatted is its successor.",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/cli-cursor": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz",
+ "integrity": "sha512-25tABq090YNKkF6JH7lcwO0zFJTRke4Jcq9iX2nr/Sz0Cjjv4gckmwlW6Ty/aoyFd6z3ysR2hMGC2GFugmBo6A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "restore-cursor": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/cli-width": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz",
+ "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/co": {
+ "version": "4.6.0",
+ "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
+ "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "iojs": ">= 1.0.0",
+ "node": ">= 0.12.0"
+ }
+ },
+ "node_modules/code-point-at": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
+ "integrity": "sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/commander": {
+ "version": "2.9.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz",
+ "integrity": "sha512-bmkUukX8wAOjHdN26xj5c4ctEV22TQ7dQYhSmuckKhToXrkUn0iIaolHdIxYYqD55nhpSPA9zPQ1yP57GdXP2A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "graceful-readlink": ">= 1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.6.x"
+ }
+ },
+ "node_modules/concat-map": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/concat-stream": {
+ "version": "1.6.2",
+ "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
+ "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
+ "dev": true,
+ "engines": [
+ "node >= 0.8"
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "buffer-from": "^1.0.0",
+ "inherits": "^2.0.3",
+ "readable-stream": "^2.2.2",
+ "typedarray": "^0.0.6"
+ }
+ },
+ "node_modules/core-util-is": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz",
+ "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/d": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/d/-/d-1.0.2.tgz",
+ "integrity": "sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "es5-ext": "^0.10.64",
+ "type": "^2.7.2"
+ },
+ "engines": {
+ "node": ">=0.12"
+ }
+ },
+ "node_modules/debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ms": "2.0.0"
+ }
+ },
+ "node_modules/deep-eql": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-0.1.3.tgz",
+ "integrity": "sha512-6sEotTRGBFiNcqVoeHwnfopbSpi5NbH1VWJmYCVkmxMmaVTT0bUTrNaGyBwhgP4MZL012W/mkzIn3Da+iDYweg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "type-detect": "0.1.1"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/deep-eql/node_modules/type-detect": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-0.1.1.tgz",
+ "integrity": "sha512-5rqszGVwYgBoDkIm2oUtvkfZMQ0vk29iDMU0W2qCa3rG0vPDNczCMT4hV/bLBgLg8k8ri6+u3Zbt+S/14eMzlA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/deep-is": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
+ "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/define-data-property": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz",
+ "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "es-define-property": "^1.0.0",
+ "es-errors": "^1.3.0",
+ "gopd": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/diff": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/diff/-/diff-3.2.0.tgz",
+ "integrity": "sha512-597ykPFhtJYaXqPq6fF7Vl1fXTKgPdLOntyxpmdzUOKiYGqK7zcnbplj5088+8qJnWdzXhyeau5iVr8HVo9dgg==",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">=0.3.1"
+ }
+ },
+ "node_modules/doctrine": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
+ "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "esutils": "^2.0.2"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/dunder-proto": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz",
+ "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind-apply-helpers": "^1.0.1",
+ "es-errors": "^1.3.0",
+ "gopd": "^1.2.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/es-define-property": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz",
+ "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/es-errors": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
+ "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/es-object-atoms": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.2.tgz",
+ "integrity": "sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "es-errors": "^1.3.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/es5-ext": {
+ "version": "0.10.64",
+ "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.64.tgz",
+ "integrity": "sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==",
+ "dev": true,
+ "hasInstallScript": true,
+ "license": "ISC",
+ "dependencies": {
+ "es6-iterator": "^2.0.3",
+ "es6-symbol": "^3.1.3",
+ "esniff": "^2.0.1",
+ "next-tick": "^1.1.0"
+ },
+ "engines": {
+ "node": ">=0.10"
+ }
+ },
+ "node_modules/es6-iterator": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz",
+ "integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "d": "1",
+ "es5-ext": "^0.10.35",
+ "es6-symbol": "^3.1.1"
+ }
+ },
+ "node_modules/es6-map": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz",
+ "integrity": "sha512-mz3UqCh0uPCIqsw1SSAkB/p0rOzF/M0V++vyN7JqlPtSW/VsYgQBvVvqMLmfBuyMzTpLnNqi6JmcSizs4jy19A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "d": "1",
+ "es5-ext": "~0.10.14",
+ "es6-iterator": "~2.0.1",
+ "es6-set": "~0.1.5",
+ "es6-symbol": "~3.1.1",
+ "event-emitter": "~0.3.5"
+ }
+ },
+ "node_modules/es6-set": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.6.tgz",
+ "integrity": "sha512-TE3LgGLDIBX332jq3ypv6bcOpkLO0AslAQo7p2VqX/1N46YNsvIWgvjojjSEnWEGWMhr1qUbYeTSir5J6mFHOw==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "d": "^1.0.1",
+ "es5-ext": "^0.10.62",
+ "es6-iterator": "~2.0.3",
+ "es6-symbol": "^3.1.3",
+ "event-emitter": "^0.3.5",
+ "type": "^2.7.2"
+ },
+ "engines": {
+ "node": ">=0.12"
+ }
+ },
+ "node_modules/es6-symbol": {
+ "version": "3.1.4",
+ "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.4.tgz",
+ "integrity": "sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "d": "^1.0.2",
+ "ext": "^1.7.0"
+ },
+ "engines": {
+ "node": ">=0.12"
+ }
+ },
+ "node_modules/es6-weak-map": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz",
+ "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "d": "1",
+ "es5-ext": "^0.10.46",
+ "es6-iterator": "^2.0.3",
+ "es6-symbol": "^3.1.1"
+ }
+ },
+ "node_modules/escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
+ "node_modules/escope": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz",
+ "integrity": "sha512-75IUQsusDdalQEW/G/2esa87J7raqdJF+Ca0/Xm5C3Q58Nr4yVYjZGp/P1+2xiEVgXRrA39dpRb8LcshajbqDQ==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "es6-map": "^0.1.3",
+ "es6-weak-map": "^2.0.1",
+ "esrecurse": "^4.1.0",
+ "estraverse": "^4.1.1"
+ },
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/eslint": {
+ "version": "3.19.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-3.19.0.tgz",
+ "integrity": "sha512-x6LJGXWCGB/4YOBhL48yeppZTo+YQUNC37N5qqCpC1b1kkNzydlQHQAtPuUSFoZSxgIadrysQoW2Hq602P+uEA==",
+ "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "babel-code-frame": "^6.16.0",
+ "chalk": "^1.1.3",
+ "concat-stream": "^1.5.2",
+ "debug": "^2.1.1",
+ "doctrine": "^2.0.0",
+ "escope": "^3.6.0",
+ "espree": "^3.4.0",
+ "esquery": "^1.0.0",
+ "estraverse": "^4.2.0",
+ "esutils": "^2.0.2",
+ "file-entry-cache": "^2.0.0",
+ "glob": "^7.0.3",
+ "globals": "^9.14.0",
+ "ignore": "^3.2.0",
+ "imurmurhash": "^0.1.4",
+ "inquirer": "^0.12.0",
+ "is-my-json-valid": "^2.10.0",
+ "is-resolvable": "^1.0.0",
+ "js-yaml": "^3.5.1",
+ "json-stable-stringify": "^1.0.0",
+ "levn": "^0.3.0",
+ "lodash": "^4.0.0",
+ "mkdirp": "^0.5.0",
+ "natural-compare": "^1.4.0",
+ "optionator": "^0.8.2",
+ "path-is-inside": "^1.0.1",
+ "pluralize": "^1.2.1",
+ "progress": "^1.1.8",
+ "require-uncached": "^1.0.2",
+ "shelljs": "^0.7.5",
+ "strip-bom": "^3.0.0",
+ "strip-json-comments": "~2.0.1",
+ "table": "^3.7.8",
+ "text-table": "~0.2.0",
+ "user-home": "^2.0.0"
+ },
+ "bin": {
+ "eslint": "bin/eslint.js"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/esniff": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/esniff/-/esniff-2.0.1.tgz",
+ "integrity": "sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "d": "^1.0.1",
+ "es5-ext": "^0.10.62",
+ "event-emitter": "^0.3.5",
+ "type": "^2.7.2"
+ },
+ "engines": {
+ "node": ">=0.10"
+ }
+ },
+ "node_modules/espree": {
+ "version": "3.5.4",
+ "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.4.tgz",
+ "integrity": "sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "acorn": "^5.5.0",
+ "acorn-jsx": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/esprima": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
+ "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "bin": {
+ "esparse": "bin/esparse.js",
+ "esvalidate": "bin/esvalidate.js"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/esquery": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz",
+ "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "estraverse": "^5.1.0"
+ },
+ "engines": {
+ "node": ">=0.10"
+ }
+ },
+ "node_modules/esquery/node_modules/estraverse": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
+ "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/esrecurse": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
+ "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "estraverse": "^5.2.0"
+ },
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/esrecurse/node_modules/estraverse": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
+ "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/estraverse": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
+ "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/esutils": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
+ "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/event-emitter": {
+ "version": "0.3.5",
+ "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz",
+ "integrity": "sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "d": "1",
+ "es5-ext": "~0.10.14"
+ }
+ },
+ "node_modules/exit-hook": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz",
+ "integrity": "sha512-MsG3prOVw1WtLXAZbM3KiYtooKR1LvxHh3VHsVtIy0uiUu8usxgB/94DP2HxtD/661lLdB6yzQ09lGJSQr6nkg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/ext": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz",
+ "integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "type": "^2.7.2"
+ }
+ },
+ "node_modules/fast-levenshtein": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
+ "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/figures": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz",
+ "integrity": "sha512-UxKlfCRuCBxSXU4C6t9scbDyWZ4VlaFFdojKtzJuSkuOBQ5CNFum+zZXFwHjo+CxBC1t6zlYPgHIgFjL8ggoEQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "escape-string-regexp": "^1.0.5",
+ "object-assign": "^4.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/file-entry-cache": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz",
+ "integrity": "sha512-uXP/zGzxxFvFfcZGgBIwotm+Tdc55ddPAzF7iHshP4YGaXMww7rSF9peD9D1sui5ebONg5UobsZv+FfgEpGv/w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "flat-cache": "^1.2.1",
+ "object-assign": "^4.0.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/flat-cache": {
+ "version": "1.3.4",
+ "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.4.tgz",
+ "integrity": "sha512-VwyB3Lkgacfik2vhqR4uv2rvebqmDvFu4jlN/C1RzWoJEo8I7z4Q404oiqYCkq41mni8EzQnm95emU9seckwtg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "circular-json": "^0.3.1",
+ "graceful-fs": "^4.1.2",
+ "rimraf": "~2.6.2",
+ "write": "^0.2.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/fs": {
+ "version": "0.0.1-security",
+ "resolved": "https://registry.npmjs.org/fs/-/fs-0.0.1-security.tgz",
+ "integrity": "sha512-3XY9e1pP0CVEUCdj5BmfIZxRBTSDycnbqhIOGec9QYtmVH2fbLpj86CFWkrNOkt/Fvty4KZG5lTglL9j/gJ87w==",
+ "license": "ISC"
+ },
+ "node_modules/fs-extra": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-2.1.2.tgz",
+ "integrity": "sha512-9ztMtDZtSKC78V8mev+k31qaTabbmuH5jatdvPBMikrFHvw5BqlYnQIn/WGK3WHeRooSTkRvLa2IPlaHjPq5Sg==",
+ "license": "MIT",
+ "dependencies": {
+ "graceful-fs": "^4.1.2",
+ "jsonfile": "^2.1.0"
+ }
+ },
+ "node_modules/fs-promise": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/fs-promise/-/fs-promise-2.0.3.tgz",
+ "integrity": "sha512-oDrTLBQAcRd+p/tSRWvqitKegLPsvqr7aehs5N9ILWFM9az5y5Uh71jKdZ/DTMC4Kel7+GNCQyFCx/IftRv8yg==",
+ "deprecated": "Use mz or fs-extra^3.0 with Promise Support",
+ "license": "MIT",
+ "dependencies": {
+ "any-promise": "^1.3.0",
+ "fs-extra": "^2.0.0",
+ "mz": "^2.6.0",
+ "thenify-all": "^1.6.0"
+ }
+ },
+ "node_modules/fs.realpath": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/function-bind": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
+ "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
+ "dev": true,
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/generate-function": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.3.1.tgz",
+ "integrity": "sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-property": "^1.0.2"
+ }
+ },
+ "node_modules/generate-object-property": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz",
+ "integrity": "sha512-TuOwZWgJ2VAMEGJvAyPWvpqxSANF0LDpmyHauMjFYzaACvn+QTT/AZomvPCzVBV7yDN3OmwHQ5OvHaeLKre3JQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-property": "^1.0.0"
+ }
+ },
+ "node_modules/get-intrinsic": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz",
+ "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind-apply-helpers": "^1.0.2",
+ "es-define-property": "^1.0.1",
+ "es-errors": "^1.3.0",
+ "es-object-atoms": "^1.1.1",
+ "function-bind": "^1.1.2",
+ "get-proto": "^1.0.1",
+ "gopd": "^1.2.0",
+ "has-symbols": "^1.1.0",
+ "hasown": "^2.0.2",
+ "math-intrinsics": "^1.1.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/get-proto": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz",
+ "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "dunder-proto": "^1.0.1",
+ "es-object-atoms": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.1.1",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ },
+ "engines": {
+ "node": "*"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/globals": {
+ "version": "9.18.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz",
+ "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/gopd": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz",
+ "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/graceful-fs": {
+ "version": "4.2.11",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
+ "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
+ "license": "ISC"
+ },
+ "node_modules/graceful-readlink": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz",
+ "integrity": "sha512-8tLu60LgxF6XpdbK8OW3FA+IfTNBn1ZHGHKF4KQbEeSkajYw5PlYJcKluntgegDPTg8UkHjpet1T82vk6TQ68w==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/growl": {
+ "version": "1.9.2",
+ "resolved": "https://registry.npmjs.org/growl/-/growl-1.9.2.tgz",
+ "integrity": "sha512-RTBwDHhNuOx4F0hqzItc/siXCasGfC4DeWcBamclWd+6jWtBaeB/SGbMkGf0eiQoW7ib8JpvOgnUsmgMHI3Mfw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/has-ansi": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
+ "integrity": "sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-regex": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/has-flag": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
+ "integrity": "sha512-DyYHfIYwAJmjAjSSPKANxI8bFY9YtFrgkAfinBojQ8YJTOuOuav64tMUJv584SES4xl74PmuaevIyaLESHdTAA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/has-property-descriptors": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz",
+ "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "es-define-property": "^1.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/has-symbols": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz",
+ "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/hasown": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.4.tgz",
+ "integrity": "sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "function-bind": "^1.1.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/he": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz",
+ "integrity": "sha512-z/GDPjlRMNOa2XJiB4em8wJpuuBfrFOlYKTZxtpkdr1uPdibHI8rYA3MY0KDObpVyaes0e/aunid/t88ZI2EKA==",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "he": "bin/he"
+ }
+ },
+ "node_modules/ignore": {
+ "version": "3.3.10",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz",
+ "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/imurmurhash": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
+ "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.8.19"
+ }
+ },
+ "node_modules/inflight": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
+ "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "once": "^1.3.0",
+ "wrappy": "1"
+ }
+ },
+ "node_modules/inherits": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/inquirer": {
+ "version": "0.12.0",
+ "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-0.12.0.tgz",
+ "integrity": "sha512-bOetEz5+/WpgaW4D1NYOk1aD+JCqRjqu/FwRFgnIfiP7FC/zinsrfyO1vlS3nyH/R7S0IH3BIHBu4DBIDSqiGQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-escapes": "^1.1.0",
+ "ansi-regex": "^2.0.0",
+ "chalk": "^1.0.0",
+ "cli-cursor": "^1.0.1",
+ "cli-width": "^2.0.0",
+ "figures": "^1.3.5",
+ "lodash": "^4.3.0",
+ "readline2": "^1.0.1",
+ "run-async": "^0.1.0",
+ "rx-lite": "^3.1.2",
+ "string-width": "^1.0.1",
+ "strip-ansi": "^3.0.0",
+ "through": "^2.3.6"
+ }
+ },
+ "node_modules/interpret": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz",
+ "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.10"
+ }
+ },
+ "node_modules/is-core-module": {
+ "version": "2.16.2",
+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.2.tgz",
+ "integrity": "sha512-evOr8xfXKxE6qSR0hSXL2r3sd7ALj8+7jQEUvPYcm5sgZFdJ+AYzT6yNmJenvIYQBgIGwfwz08sL8zoL7yq2BA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "hasown": "^2.0.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-fullwidth-code-point": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
+ "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "number-is-nan": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-my-ip-valid": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-my-ip-valid/-/is-my-ip-valid-1.0.1.tgz",
+ "integrity": "sha512-jxc8cBcOWbNK2i2aTkCZP6i7wkHF1bqKFrwEHuN5Jtg5BSaZHUZQ/JTOJwoV41YvHnOaRyWWh72T/KvfNz9DJg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/is-my-json-valid": {
+ "version": "2.20.6",
+ "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.20.6.tgz",
+ "integrity": "sha512-1JQwulVNjx8UqkPE/bqDaxtH4PXCe/2VRh/y3p99heOV87HG4Id5/VfDswd+YiAfHcRTfDlWgISycnHuhZq1aw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "generate-function": "^2.0.0",
+ "generate-object-property": "^1.1.0",
+ "is-my-ip-valid": "^1.0.0",
+ "jsonpointer": "^5.0.0",
+ "xtend": "^4.0.0"
+ }
+ },
+ "node_modules/is-property": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz",
+ "integrity": "sha512-Ks/IoX00TtClbGQr4TWXemAnktAQvYB7HzcCxDGqEZU6oCmb2INHuOoKxbtR+HFkmYWBKv/dOZtGRiAjDhj92g==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/is-resolvable": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz",
+ "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/isarray": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz",
+ "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/js-tokens": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz",
+ "integrity": "sha512-RjTcuD4xjtthQkaWH7dFlH85L+QaVtSoOyGdZ3g6HFhS9dFNDfLyqgm2NFe2X6cQpeFmt0452FJjFG5UameExg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/js-yaml": {
+ "version": "3.15.2",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.15.2.tgz",
+ "integrity": "sha512-6EuL879VkRA+1Cz578mKMiKvjPNEuk6+r1JaFzoSWejZmtf7xWbIyw1e3KkxlkzTIt9Taw6JBhEppG7utc1P+w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "argparse": "^1.0.7",
+ "esprima": "^4.0.0"
+ },
+ "bin": {
+ "js-yaml": "bin/js-yaml.js"
+ }
+ },
+ "node_modules/json-stable-stringify": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.3.0.tgz",
+ "integrity": "sha512-qtYiSSFlwot9XHtF9bD9c7rwKjr+RecWT//ZnPvSmEjpV5mmPOCN4j8UjY5hbjNkOwZ/jQv3J6R1/pL7RwgMsg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.8",
+ "call-bound": "^1.0.4",
+ "isarray": "^2.0.5",
+ "jsonify": "^0.0.1",
+ "object-keys": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/json3": {
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.2.tgz",
+ "integrity": "sha512-I5YLeauH3rIaE99EE++UeH2M2gSYo8/2TqDac7oZEH6D/DSQ4Woa628Qrfj1X9/OY5Mk5VvIDQaKCDchXaKrmA==",
+ "deprecated": "Please use the native JSON object instead of JSON 3",
+ "dev": true
+ },
+ "node_modules/jsonfile": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz",
+ "integrity": "sha512-PKllAqbgLgxHaj8TElYymKCAgrASebJrWpTnEkOaTowt23VKXXN0sUeriJ+eh7y6ufb/CC5ap11pz71/cM0hUw==",
+ "license": "MIT",
+ "optionalDependencies": {
+ "graceful-fs": "^4.1.6"
+ }
+ },
+ "node_modules/jsonify": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.1.tgz",
+ "integrity": "sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==",
+ "dev": true,
+ "license": "Public Domain",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/jsonpointer": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz",
+ "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/levn": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
+ "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "prelude-ls": "~1.1.2",
+ "type-check": "~0.3.2"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/lodash": {
+ "version": "4.18.1",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.18.1.tgz",
+ "integrity": "sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/lodash._baseassign": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz",
+ "integrity": "sha512-t3N26QR2IdSN+gqSy9Ds9pBu/J1EAFEshKlUHpJG3rvyJOYgcELIxcIeKKfZk7sjOz11cFfzJRsyFry/JyabJQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "lodash._basecopy": "^3.0.0",
+ "lodash.keys": "^3.0.0"
+ }
+ },
+ "node_modules/lodash._basecopy": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz",
+ "integrity": "sha512-rFR6Vpm4HeCK1WPGvjZSJ+7yik8d8PVUdCJx5rT2pogG4Ve/2ZS7kfmO5l5T2o5V2mqlNIfSF5MZlr1+xOoYQQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/lodash._basecreate": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/lodash._basecreate/-/lodash._basecreate-3.0.3.tgz",
+ "integrity": "sha512-EDem6C9iQpn7fxnGdmhXmqYGjCkStmDXT4AeyB2Ph8WKbglg4aJZczNkQglj+zWXcOEEkViK8THuV2JvugW47g==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/lodash._getnative": {
+ "version": "3.9.1",
+ "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz",
+ "integrity": "sha512-RrL9VxMEPyDMHOd9uFbvMe8X55X16/cGM5IgOKgRElQZutpX89iS6vwl64duTV1/16w5JY7tuFNXqoekmh1EmA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/lodash._isiterateecall": {
+ "version": "3.0.9",
+ "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz",
+ "integrity": "sha512-De+ZbrMu6eThFti/CSzhRvTKMgQToLxbij58LMfM8JnYDNSOjkjTCIaa8ixglOeGh2nyPlakbt5bJWJ7gvpYlQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/lodash.create": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/lodash.create/-/lodash.create-3.1.1.tgz",
+ "integrity": "sha512-IUfOYwDEbI8JbhW6psW+Ig01BOVK67dTSCUAbS58M0HBkPcAv/jHuxD+oJVP2tUCo3H9L6f/8GM6rxwY+oc7/w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "lodash._baseassign": "^3.0.0",
+ "lodash._basecreate": "^3.0.0",
+ "lodash._isiterateecall": "^3.0.0"
+ }
+ },
+ "node_modules/lodash.isarguments": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz",
+ "integrity": "sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/lodash.isarray": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz",
+ "integrity": "sha512-JwObCrNJuT0Nnbuecmqr5DgtuBppuCvGD9lxjFpAzwnVtdGoDQ1zig+5W8k5/6Gcn0gZ3936HDAlGd28i7sOGQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/lodash.keys": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz",
+ "integrity": "sha512-CuBsapFjcubOGMn3VD+24HOAPxM79tH+V6ivJL3CHYjtrawauDJHUk//Yew9Hvc6e9rbCrURGk8z6PC+8WJBfQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "lodash._getnative": "^3.0.0",
+ "lodash.isarguments": "^3.0.0",
+ "lodash.isarray": "^3.0.0"
+ }
+ },
+ "node_modules/math-intrinsics": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz",
+ "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/minimatch": {
+ "version": "3.1.5",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz",
+ "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/minimist": {
+ "version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
+ "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
+ "dev": true,
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/mkdirp": {
+ "version": "0.5.6",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
+ "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "minimist": "^1.2.6"
+ },
+ "bin": {
+ "mkdirp": "bin/cmd.js"
+ }
+ },
+ "node_modules/mocha": {
+ "version": "3.5.3",
+ "resolved": "https://registry.npmjs.org/mocha/-/mocha-3.5.3.tgz",
+ "integrity": "sha512-/6na001MJWEtYxHOV1WLfsmR4YIynkUEhBwzsb+fk2qmQ3iqsi258l/Q2MWHJMImAcNpZ8DEdYAK72NHoIQ9Eg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "browser-stdout": "1.3.0",
+ "commander": "2.9.0",
+ "debug": "2.6.8",
+ "diff": "3.2.0",
+ "escape-string-regexp": "1.0.5",
+ "glob": "7.1.1",
+ "growl": "1.9.2",
+ "he": "1.1.1",
+ "json3": "3.3.2",
+ "lodash.create": "3.1.1",
+ "mkdirp": "0.5.1",
+ "supports-color": "3.1.2"
+ },
+ "bin": {
+ "_mocha": "bin/_mocha",
+ "mocha": "bin/mocha"
+ },
+ "engines": {
+ "node": ">= 0.10.x",
+ "npm": ">= 1.4.x"
+ }
+ },
+ "node_modules/mocha/node_modules/debug": {
+ "version": "2.6.8",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz",
+ "integrity": "sha512-E22fsyWPt/lr4/UgQLt/pXqerGMDsanhbnmqIS3VAXuDi1v3IpiwXe2oncEIondHSBuPDWRoK/pMjlvi8FuOXQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ms": "2.0.0"
+ }
+ },
+ "node_modules/mocha/node_modules/glob": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz",
+ "integrity": "sha512-mRyN/EsN2SyNhKWykF3eEGhDpeNplMWaW18Bmh76tnOqk5TbELAVwFAYOCmKVssOYFrYvvLMguiA+NXO3ZTuVA==",
+ "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.0.2",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/mocha/node_modules/minimist": {
+ "version": "0.0.8",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
+ "integrity": "sha512-miQKw5Hv4NS1Psg2517mV4e4dYNaO3++hjAvLOAzKqZ61rH8NS1SK+vbfBWZ5PY/Me/bEWhUwqMghEW5Fb9T7Q==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/mocha/node_modules/mkdirp": {
+ "version": "0.5.1",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+ "integrity": "sha512-SknJC52obPfGQPnjIkXbmA6+5H15E+fR+E4iR2oQ3zzCLbd7/ONua69R/Gw7AgkTLsRG+r5fzksYwWe1AgTyWA==",
+ "deprecated": "Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "minimist": "0.0.8"
+ },
+ "bin": {
+ "mkdirp": "bin/cmd.js"
+ }
+ },
+ "node_modules/mocha/node_modules/supports-color": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.1.2.tgz",
+ "integrity": "sha512-F8dvPrZJtNzvDRX26eNXT4a7AecAvTGljmmnI39xEgSpbHKhQ7N0dO/NTxUExd0wuLHp4zbwYY7lvHq0aKpwrA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
+ "node_modules/ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/mute-stream": {
+ "version": "0.0.5",
+ "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.5.tgz",
+ "integrity": "sha512-EbrziT4s8cWPmzr47eYVW3wimS4HsvlnV5ri1xw1aR6JQo/OrJX5rkl32K/QQHdxeabJETtfeaROGhd8W7uBgg==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/mz": {
+ "version": "2.7.0",
+ "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz",
+ "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==",
+ "license": "MIT",
+ "dependencies": {
+ "any-promise": "^1.0.0",
+ "object-assign": "^4.0.1",
+ "thenify-all": "^1.0.0"
+ }
+ },
+ "node_modules/natural-compare": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
+ "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/next-tick": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz",
+ "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/number-is-nan": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
+ "integrity": "sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/object-assign": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/object-keys": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
+ "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/once": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "wrappy": "1"
+ }
+ },
+ "node_modules/onetime": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz",
+ "integrity": "sha512-GZ+g4jayMqzCRMgB2sol7GiCLjKfS1PINkjmx8spcKce1LiVqcbQreXwqs2YAFXC6R03VIG28ZS31t8M866v6A==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/optionator": {
+ "version": "0.8.3",
+ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz",
+ "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "deep-is": "~0.1.3",
+ "fast-levenshtein": "~2.0.6",
+ "levn": "~0.3.0",
+ "prelude-ls": "~1.1.2",
+ "type-check": "~0.3.2",
+ "word-wrap": "~1.2.3"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/os-homedir": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
+ "integrity": "sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/path-is-absolute": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/path-is-inside": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz",
+ "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==",
+ "dev": true,
+ "license": "(WTFPL OR MIT)"
+ },
+ "node_modules/path-parse": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
+ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/pluralize": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-1.2.1.tgz",
+ "integrity": "sha512-TH+BeeL6Ct98C7as35JbZLf8lgsRzlNJb5gklRIGHKaPkGl1esOKBc5ALUMd+q08Sr6tiEKM+Icbsxg5vuhMKQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/prelude-ls": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
+ "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/process-nextick-args": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
+ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/progress": {
+ "version": "1.1.8",
+ "resolved": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz",
+ "integrity": "sha512-UdA8mJ4weIkUBO224tIarHzuHs4HuYiJvsuGT7j/SPQiUJVjYvNDBIPa0hAorduOfjGohB/qHWRa/lrrWX/mXw==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/readable-stream": {
+ "version": "2.3.8",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
+ "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ },
+ "node_modules/readable-stream/node_modules/isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/readline2": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/readline2/-/readline2-1.0.1.tgz",
+ "integrity": "sha512-8/td4MmwUB6PkZUbV25uKz7dfrmjYWxsW8DVfibWdlHRk/l/DfHKn4pU+dfcoGLFgWOdyGCzINRQD7jn+Bv+/g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "code-point-at": "^1.0.0",
+ "is-fullwidth-code-point": "^1.0.0",
+ "mute-stream": "0.0.5"
+ }
+ },
+ "node_modules/rechoir": {
+ "version": "0.6.2",
+ "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz",
+ "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==",
+ "dev": true,
+ "dependencies": {
+ "resolve": "^1.1.6"
+ },
+ "engines": {
+ "node": ">= 0.10"
+ }
+ },
+ "node_modules/require-uncached": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz",
+ "integrity": "sha512-Xct+41K3twrbBHdxAgMoOS+cNcoqIjfM2/VxBF4LL2hVph7YsF8VSKyQ3BDFZwEVbok9yeDl2le/qo0S77WG2w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "caller-path": "^0.1.0",
+ "resolve-from": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/resolve": {
+ "version": "1.22.12",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.12.tgz",
+ "integrity": "sha512-TyeJ1zif53BPfHootBGwPRYT1RUt6oGWsaQr8UyZW/eAm9bKoijtvruSDEmZHm92CwS9nj7/fWttqPCgzep8CA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "es-errors": "^1.3.0",
+ "is-core-module": "^2.16.1",
+ "path-parse": "^1.0.7",
+ "supports-preserve-symlinks-flag": "^1.0.0"
+ },
+ "bin": {
+ "resolve": "bin/resolve"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/resolve-from": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz",
+ "integrity": "sha512-kT10v4dhrlLNcnO084hEjvXCI1wUG9qZLoz2RogxqDQQYy7IxjI/iMUkOtQTNEh6rzHxvdQWHsJyel1pKOVCxg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/restore-cursor": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz",
+ "integrity": "sha512-reSjH4HuiFlxlaBaFCiS6O76ZGG2ygKoSlCsipKdaZuKSPx/+bt9mULkn4l0asVzbEfQQmXRg6Wp6gv6m0wElw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "exit-hook": "^1.0.0",
+ "onetime": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/rimraf": {
+ "version": "2.6.3",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz",
+ "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==",
+ "deprecated": "Rimraf versions prior to v4 are no longer supported",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "glob": "^7.1.3"
+ },
+ "bin": {
+ "rimraf": "bin.js"
+ }
+ },
+ "node_modules/run-async": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/run-async/-/run-async-0.1.0.tgz",
+ "integrity": "sha512-qOX+w+IxFgpUpJfkv2oGN0+ExPs68F4sZHfaRRx4dDexAQkG83atugKVEylyT5ARees3HBbfmuvnjbrd8j9Wjw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "once": "^1.3.0"
+ }
+ },
+ "node_modules/rx-lite": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-3.1.2.tgz",
+ "integrity": "sha512-1I1+G2gteLB8Tkt8YI1sJvSIfa0lWuRtC8GjvtyPBcLSF5jBCCJJqKrpER5JU5r6Bhe+i9/pK3VMuUcXu0kdwQ==",
+ "dev": true
+ },
+ "node_modules/safe-buffer": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/set-function-length": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz",
+ "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "define-data-property": "^1.1.4",
+ "es-errors": "^1.3.0",
+ "function-bind": "^1.1.2",
+ "get-intrinsic": "^1.2.4",
+ "gopd": "^1.0.1",
+ "has-property-descriptors": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/shelljs": {
+ "version": "0.7.8",
+ "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.7.8.tgz",
+ "integrity": "sha512-/YF5Uk8hcwi7ima04ppkbA4RaRMdPMBfwAvAf8sufYOxsJRtbdoBsT8vGvlb+799BrlGdYrd+oczIA2eN2JdWA==",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "glob": "^7.0.0",
+ "interpret": "^1.0.0",
+ "rechoir": "^0.6.2"
+ },
+ "bin": {
+ "shjs": "bin/shjs"
+ },
+ "engines": {
+ "iojs": "*",
+ "node": ">=0.11.0"
+ }
+ },
+ "node_modules/slice-ansi": {
+ "version": "0.0.4",
+ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz",
+ "integrity": "sha512-up04hB2hR92PgjpyU3y/eg91yIBILyjVY26NvvciY3EVVPjybkMszMpXQ9QAkcS3I5rtJBDLoTxxg+qvW8c7rw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/sprintf-js": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
+ "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==",
+ "dev": true,
+ "license": "BSD-3-Clause"
+ },
+ "node_modules/string_decoder": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "safe-buffer": "~5.1.0"
+ }
+ },
+ "node_modules/string-width": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
+ "integrity": "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "code-point-at": "^1.0.0",
+ "is-fullwidth-code-point": "^1.0.0",
+ "strip-ansi": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-regex": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/strip-bom": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
+ "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/strip-json-comments": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
+ "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/supports-color": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
+ "node_modules/supports-preserve-symlinks-flag": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
+ "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/table": {
+ "version": "3.8.3",
+ "resolved": "https://registry.npmjs.org/table/-/table-3.8.3.tgz",
+ "integrity": "sha512-RZuzIOtzFbprLCE0AXhkI0Xi42ZJLZhCC+qkwuMLf/Vjz3maWpA8gz1qMdbmNoI9cOROT2Am/DxeRyXenrL11g==",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "ajv": "^4.7.0",
+ "ajv-keywords": "^1.0.0",
+ "chalk": "^1.1.1",
+ "lodash": "^4.0.0",
+ "slice-ansi": "0.0.4",
+ "string-width": "^2.0.0"
+ }
+ },
+ "node_modules/table/node_modules/ansi-regex": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz",
+ "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/table/node_modules/is-fullwidth-code-point": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
+ "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/table/node_modules/string-width": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
+ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-fullwidth-code-point": "^2.0.0",
+ "strip-ansi": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/table/node_modules/strip-ansi": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
+ "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-regex": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/text-table": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
+ "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/thenify": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz",
+ "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==",
+ "license": "MIT",
+ "dependencies": {
+ "any-promise": "^1.0.0"
+ }
+ },
+ "node_modules/thenify-all": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz",
+ "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==",
+ "license": "MIT",
+ "dependencies": {
+ "thenify": ">= 3.1.0 < 4"
+ },
+ "engines": {
+ "node": ">=0.8"
+ }
+ },
+ "node_modules/through": {
+ "version": "2.3.8",
+ "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
+ "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/type": {
+ "version": "2.7.3",
+ "resolved": "https://registry.npmjs.org/type/-/type-2.7.3.tgz",
+ "integrity": "sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/type-check": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
+ "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "prelude-ls": "~1.1.2"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/type-detect": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-1.0.0.tgz",
+ "integrity": "sha512-f9Uv6ezcpvCQjJU0Zqbg+65qdcszv3qUQsZfjdRbWiZ7AMenrX1u0lNk9EoWWX6e1F+NULyg27mtdeZ5WhpljA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/typedarray": {
+ "version": "0.0.6",
+ "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
+ "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/user-home": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/user-home/-/user-home-2.0.0.tgz",
+ "integrity": "sha512-KMWqdlOcjCYdtIJpicDSFBQ8nFwS2i9sslAd6f4+CBGcU4gist2REnr2fxj2YocvJFxSF3ZOHLYLVZnUxv4BZQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "os-homedir": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/util-deprecate": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/word-wrap": {
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz",
+ "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/wrappy": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/write": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz",
+ "integrity": "sha512-CJ17OoULEKXpA5pef3qLj5AxTJ6mSt7g84he2WIskKwqFO4T97d5V7Tadl0DYDk7qyUOQD5WlUlOMChaYrhxeA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "mkdirp": "^0.5.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/xtend": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
+ "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.4"
+ }
+ }
+ }
+}
diff --git a/test/bitmap-header.test.js b/pass/bitmap-header.test.js
similarity index 100%
rename from test/bitmap-header.test.js
rename to pass/bitmap-header.test.js
diff --git a/test/bitmap-transformer.test.js b/pass/bitmap-transformer.test.js
similarity index 100%
rename from test/bitmap-transformer.test.js
rename to pass/bitmap-transformer.test.js
diff --git a/test/inverted-expected.bmp b/pass/inverted-expected.bmp
similarity index 100%
rename from test/inverted-expected.bmp
rename to pass/inverted-expected.bmp
diff --git a/test/test-bitmap.bmp b/pass/test-bitmap.bmp
similarity index 100%
rename from test/test-bitmap.bmp
rename to pass/test-bitmap.bmp
diff --git a/test/tranformers.test.js b/pass/tranformers.test.js
similarity index 100%
rename from test/tranformers.test.js
rename to pass/tranformers.test.js