Skip to content

Instantly share code, notes, and snippets.

@ApprenticeofEnder
Last active December 13, 2025 21:25
Show Gist options
  • Select an option

  • Save ApprenticeofEnder/e22cd085c10c6f6a9b98e8dded1ca97f to your computer and use it in GitHub Desktop.

Select an option

Save ApprenticeofEnder/e22cd085c10c6f6a9b98e8dded1ca97f to your computer and use it in GitHub Desktop.
Devenv + SecretSpec + Direnv Repro
#!/usr/bin/env bash
export DIRENV_WARN_TIMEOUT=20s
op signin
eval "$(devenv direnvrc)"
# `use devenv` supports the same options as the `devenv shell` command.
#
# To silence all output, use `--quiet`.
#
# Example usage: use devenv --quiet --impure --option services.postgres.enable:bool true
set -x
use devenv 2>logs-verbose.txt
# ~/.config/secretspec/config.toml
[defaults]
provider = "keyring"
profile = "development"
[defaults.providers]
keyring = "keyring://"
drctf_prod = "onepassword://DrCTF/Production"
drctf_dev = "onepassword://DrCTF/Dev"
drctf_shared = "onepassword://DrCTF/Shared"
{ pkgs, config, ... }:
{
# https://devenv.sh/basics/
name = "DrCTF";
cachix = {
pull = [ "rbabaev" ];
};
# https://devenv.sh/packages/
packages = with pkgs; [
git
loco
sqlite
secretspec
sea-orm-cli
cargo-generate
];
# https://devenv.sh/languages/
languages = {
rust.enable = true;
javascript = {
enable = true;
bun = {
enable = true;
};
};
typescript.enable = true;
};
# https://devenv.sh/scripts/
scripts = {
dev = {
exec = ''
cargo loco start
'';
};
du = {
exec = ''
cd ${config.git.root}
devenv up
'';
};
};
difftastic.enable = true;
# https://devenv.sh/git-hooks/
git-hooks.hooks = {
deadnix.enable = true;
check-toml.enable = true;
shellcheck.enable = true;
cargo-check.enable = true;
};
}
# yaml-language-server: $schema=https://devenv.sh/devenv.schema.json
inputs:
nixpkgs:
url: github:cachix/devenv-nixpkgs/rolling
secretspec:
enable: true
provider: "onepassword://DrCTF/Dev"
profile: development
++ local cmd=devenv
++ log_status 'using devenv'
++ /nix/store/wpj4la1jgf0p8aimfzx49gfr3228vk8f-direnv-2.37.1/bin/direnv log -status 'using devenv'
++ shift
++ use_devenv
++ _nix_direnv_preflight
++ [[ -z /nix/store/wpj4la1jgf0p8aimfzx49gfr3228vk8f-direnv-2.37.1/bin/direnv ]]
++ [[ -z '' ]]
+++ command -v devenv
++ DEVENV_BIN=/home/ender/.nix-profile/bin/devenv
++ [[ -z /home/ender/.nix-profile/bin/devenv ]]
++ has direnv_version
++ type direnv_version
++ direnv_version 2.21.3
++ local layout_dir
+++ direnv_layout_dir
+++ echo /home/ender/Documents/Projects/dr-ctf/.direnv
++ layout_dir=/home/ender/Documents/Projects/dr-ctf/.direnv
++ [[ ! -d /home/ender/Documents/Projects/dr-ctf/.direnv ]]
++ export DEVENV_DIRENVRC_VERSION=1
++ DEVENV_DIRENVRC_VERSION=1
++ export DEVENV_DIRENVRC_ROLLING_UPGRADE=1
++ DEVENV_DIRENVRC_ROLLING_UPGRADE=1
++ export DEVENV_CMDLINE=
++ DEVENV_CMDLINE=
++ devenv_cmd=('/home/ender/.nix-profile/bin/devenv')
++ local devenv_cmd
++ (( 0 > 0 ))
++ devenv_dir=.
++ env_deps_path=./.devenv/input-paths.txt
++ local default_watches
++ default_watches=(".envrc" "$HOME/.direnvrc" "$HOME/.config/direnv/direnvrc")
++ [[ -d . ]]
++ default_watches+=("$devenv_dir/devenv.nix" "$devenv_dir/devenv.lock" "$devenv_dir/devenv.yaml" "$devenv_dir/devenv.local.nix" "$devenv_dir/devenv.local.yaml")
++ [[ -f ./devenv.yaml ]]
++ /home/ender/.nix-profile/bin/devenv assemble
++ watch_file .envrc /home/ender/.direnvrc /home/ender/.config/direnv/direnvrc ./devenv.nix ./devenv.lock ./devenv.yaml ./devenv.local.nix ./devenv.local.yaml
+++ /nix/store/wpj4la1jgf0p8aimfzx49gfr3228vk8f-direnv-2.37.1/bin/direnv watch bash .envrc /home/ender/.direnvrc /home/ender/.config/direnv/direnvrc ./devenv.nix ./devenv.lock ./devenv.yaml ./devenv.local.nix ./devenv.local.yaml
++ eval 'export DIRENV_WATCHES=$'\''eJysks2u2yAQRt-FdRqMAQ9k3QfovuoChpnGLYbKdtxEVd_9LiLdn_zoWlEegMOZo-_7P_EnzHuxE3JfB5JUEo3ya8XDQGWe5Lex_iKcJ5nGLziz3FJZRhQbMdQ09wOJnYLOdl3jNGwEHftpnsRuHg_0f3MTvc0VQ5bTPowkUz9SWWTIuf6V3qJNyoFmFYNLCi1jwuCTdS5aQOU4ddGi4aB0TNEb7bXCzkdwDC7ekjL6YalE5SQ1pGAIowZio4AasqrVbSTfQcPB-zaq6Jh1ghASQcMKHQO0ZIFjbN47NW8qHPJ01-X8_8fIa99iLdz_fD3hcdL9BSRaqCzb0h9vBFfWrwr-KT5X_H3FN9C05jn8UxjyFd9649eteI1_yJeRntX-DL884Yr-4yUAAP__g5lNAw=='\'';'
+++ export DIRENV_WATCHES=eJysks2u2yAQRt-FdRqMAQ9k3QfovuoChpnGLYbKdtxEVd_9LiLdn_zoWlEegMOZo-_7P_EnzHuxE3JfB5JUEo3ya8XDQGWe5Lex_iKcJ5nGLziz3FJZRhQbMdQ09wOJnYLOdl3jNGwEHftpnsRuHg_0f3MTvc0VQ5bTPowkUz9SWWTIuf6V3qJNyoFmFYNLCi1jwuCTdS5aQOU4ddGi4aB0TNEb7bXCzkdwDC7ekjL6YalE5SQ1pGAIowZio4AasqrVbSTfQcPB-zaq6Jh1ghASQcMKHQO0ZIFjbN47NW8qHPJ01-X8_8fIa99iLdz_fD3hcdL9BSRaqCzb0h9vBFfWrwr-KT5X_H3FN9C05jn8UxjyFd9649eteI1_yJeRntX-DL884Yr-4yUAAP__g5lNAw==
+++ DIRENV_WATCHES=eJysks2u2yAQRt-FdRqMAQ9k3QfovuoChpnGLYbKdtxEVd_9LiLdn_zoWlEegMOZo-_7P_EnzHuxE3JfB5JUEo3ya8XDQGWe5Lex_iKcJ5nGLziz3FJZRhQbMdQ09wOJnYLOdl3jNGwEHftpnsRuHg_0f3MTvc0VQ5bTPowkUz9SWWTIuf6V3qJNyoFmFYNLCi1jwuCTdS5aQOU4ddGi4aB0TNEb7bXCzkdwDC7ekjL6YalE5SQ1pGAIowZio4AasqrVbSTfQcPB-zaq6Jh1ghASQcMKHQO0ZIFjbN47NW8qHPJ01-X8_8fIa99iLdz_fD3hcdL9BSRaqCzb0h9vBFfWrwr-KT5X_H3FN9C05jn8UxjyFd9649eteI1_yJeRntX-DL884Yr-4yUAAP__g5lNAw==
++ local env_watches
++ _devenv_watches ./.devenv/input-paths.txt env_watches
++ local path=./.devenv/input-paths.txt
++ local -n _watches=env_watches
++ [[ -f ./.devenv/input-paths.txt ]]
++ IFS=
++ read -r file
+++ printf /home/ender/Documents/Projects/dr-ctf/.devenv/flake.json
++ file=/home/ender/Documents/Projects/dr-ctf/.devenv/flake.json
++ _watches+=("$file")
++ IFS=
++ read -r file
+++ printf /home/ender/Documents/Projects/dr-ctf/.devenv.flake.nix
++ file=/home/ender/Documents/Projects/dr-ctf/.devenv.flake.nix
++ _watches+=("$file")
++ IFS=
++ read -r file
+++ printf /home/ender/Documents/Projects/dr-ctf/.env
++ file=/home/ender/Documents/Projects/dr-ctf/.env
++ _watches+=("$file")
++ IFS=
++ read -r file
+++ printf /home/ender/Documents/Projects/dr-ctf/devenv.local.nix
++ file=/home/ender/Documents/Projects/dr-ctf/devenv.local.nix
++ _watches+=("$file")
++ IFS=
++ read -r file
+++ printf /home/ender/Documents/Projects/dr-ctf/devenv.lock
++ file=/home/ender/Documents/Projects/dr-ctf/devenv.lock
++ _watches+=("$file")
++ IFS=
++ read -r file
+++ printf /home/ender/Documents/Projects/dr-ctf/devenv.nix
++ file=/home/ender/Documents/Projects/dr-ctf/devenv.nix
++ _watches+=("$file")
++ IFS=
++ read -r file
++ watch_file /home/ender/Documents/Projects/dr-ctf/.devenv/flake.json /home/ender/Documents/Projects/dr-ctf/.devenv.flake.nix /home/ender/Documents/Projects/dr-ctf/.env /home/ender/Documents/Projects/dr-ctf/devenv.local.nix /home/ender/Documents/Projects/dr-ctf/devenv.lock /home/ender/Documents/Projects/dr-ctf/devenv.nix
+++ /nix/store/wpj4la1jgf0p8aimfzx49gfr3228vk8f-direnv-2.37.1/bin/direnv watch bash /home/ender/Documents/Projects/dr-ctf/.devenv/flake.json /home/ender/Documents/Projects/dr-ctf/.devenv.flake.nix /home/ender/Documents/Projects/dr-ctf/.env /home/ender/Documents/Projects/dr-ctf/devenv.local.nix /home/ender/Documents/Projects/dr-ctf/devenv.lock /home/ender/Documents/Projects/dr-ctf/devenv.nix
++ eval 'export DIRENV_WATCHES=$'\''eJyslF1u3SAQhffC860xBjxwn7uAvld9gGGm1wmGynbcRFX3XlWW-pM4iZXcBfDNmY8Dn3-Ib2G5iLOQlzqSpJJokh8r3o1Ulll-muoN4TLLNH3AhWVDZZ1QnMRY0zKMJM4Ketv3rdNwEnQ_zMsszst0Rz9Pu-gmVwxZzpcwkUzDRGWVIef6XXqLNikHmlUMLim0jAmDT9a5aAGV49RHi4aD0jFFb7TXCnsfwTG4uBfK6DeHSlQepIYUDGHUQGwUUEtWdbqL5HtoOXjfRRUds04QQiJoWaFjgI4scIztv5nav1E45PnZLNv8_yUfPYu18PD1zwpvJz3fgEQrlbUpw_2OcGX9IeGv4nPF2yd8A21nrsN_CGN-wrfe-GMtPpI_5MeSruV-gz9e4d30ZsNLzuGWmpu5lt0bOPakXh3TbGP2e-Te3aPfH9WLdr78CgAA__90KK8Q'\'';'
+++ export DIRENV_WATCHES=eJyslF1u3SAQhffC860xBjxwn7uAvld9gGGm1wmGynbcRFX3XlWW-pM4iZXcBfDNmY8Dn3-Ib2G5iLOQlzqSpJJokh8r3o1Ulll-muoN4TLLNH3AhWVDZZ1QnMRY0zKMJM4Ketv3rdNwEnQ_zMsszst0Rz9Pu-gmVwxZzpcwkUzDRGWVIef6XXqLNikHmlUMLim0jAmDT9a5aAGV49RHi4aD0jFFb7TXCnsfwTG4uBfK6DeHSlQepIYUDGHUQGwUUEtWdbqL5HtoOXjfRRUds04QQiJoWaFjgI4scIztv5nav1E45PnZLNv8_yUfPYu18PD1zwpvJz3fgEQrlbUpw_2OcGX9IeGv4nPF2yd8A21nrsN_CGN-wrfe-GMtPpI_5MeSruV-gz9e4d30ZsNLzuGWmpu5lt0bOPakXh3TbGP2e-Te3aPfH9WLdr78CgAA__90KK8Q
+++ DIRENV_WATCHES=eJyslF1u3SAQhffC860xBjxwn7uAvld9gGGm1wmGynbcRFX3XlWW-pM4iZXcBfDNmY8Dn3-Ib2G5iLOQlzqSpJJokh8r3o1Ulll-muoN4TLLNH3AhWVDZZ1QnMRY0zKMJM4Ketv3rdNwEnQ_zMsszst0Rz9Pu-gmVwxZzpcwkUzDRGWVIef6XXqLNikHmlUMLim0jAmDT9a5aAGV49RHi4aD0jFFb7TXCnsfwTG4uBfK6DeHSlQepIYUDGHUQGwUUEtWdbqL5HtoOXjfRRUds04QQiJoWaFjgI4scIztv5nav1E45PnZLNv8_yUfPYu18PD1zwpvJz3fgEQrlbUpw_2OcGX9IeGv4nPF2yd8A21nrsN_CGN-wrfe-GMtPpI_5MeSruV-gz9e4d30ZsNLzuGWmpu5lt0bOPakXh3TbGP2e-Te3aPfH9WLdr78CgAA__90KK8Q
++ local env
++ print_cmd=('/home/ender/.nix-profile/bin/devenv' 'print-dev-env')
++ local print_cmd
+++ /home/ender/.nix-profile/bin/devenv print-dev-env
Using Cachix caches: devenv, rbabaev
Building shell in 17.5s
++ env=$'Checking secrets in dr-ctf using onepassword (profile: development)...\n\n✓ POSTGRES_URL - Database connection string\n✓ defaults - No description\n✓ POSTGRES_PASSWORD - Database password\n✓ POSTGRES_USER - Database user\n\nSummary: 4 found, 0 missing\nunset shellHook\nPATH=${PATH:-}\nnix_saved_PATH="$PATH"\nXDG_DATA_DIRS=${XDG_DATA_DIRS:-}\nnix_saved_XDG_DATA_DIRS="$XDG_DATA_DIRS"\nAR=\'ar\'\nexport AR\nAS=\'as\'\nexport AS\nBASH=\'/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/bash\'\nCC=\'gcc\'\nexport CC\nCONFIG_SHELL=\'/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/bash\'\nexport CONFIG_SHELL\nCXX=\'g++\'\nexport CXX\nDETERMINISTIC_BUILD=\'1\'\nexport DETERMINISTIC_BUILD\nDEVENV_DOTFILE=\'/home/ender/Documents/Projects/dr-ctf/.devenv\'\nexport DEVENV_DOTFILE\nDEVENV_PROFILE=\'/nix/store/bvm5wn1c46bxfgzylrm3khh2sp87vnsa-devenv-profile\'\nexport DEVENV_PROFILE\nDEVENV_ROOT=\'/home/ender/Documents/Projects/dr-ctf\'\nexport DEVENV_ROOT\nDEVENV_RUNTIME=\'/run/user/1000/devenv-405663c\'\nexport DEVENV_RUNTIME\nDEVENV_STATE=\'/home/ender/Documents/Projects/dr-ctf/.devenv/state\'\nexport DEVENV_STATE\nDEVENV_TASKS=\'[{"after":[],"before":[],"command":"/nix/store/yhwb3x398329il20dj3mprzhsql1jg9k-devenv-enterShell","cwd":null,"description":"Runs when entering the shell","exec_if_modified":[],"input":{},"name":"devenv:enterShell","show_output":false,"status":null,"type":"oneshot"},{"after":[],"before":[],"command":null,"cwd":null,"description":"Runs when entering the test environment","exec_if_modified":[],"input":{},"name":"devenv:enterTest","show_output":false,"status":null,"type":"oneshot"},{"after":[],"before":[],"command":null,"cwd":null,"description":"","exec_if_modified":[],"input":{},"name":"devenv:files","show_output":false,"status":null,"type":"oneshot"},{"after":[],"before":["devenv:enterShell"],"command":"/nix/store/qjsk2mi9da3rkbjn3ffsyrzw33c48a90-devenv-git-hooks-install","cwd":null,"description":"","exec_if_modified":[],"input":{},"name":"devenv:git-hooks:install","show_output":false,"status":null,"type":"oneshot"},{"after":[],"before":["devenv:enterTest"],"command":"/nix/store/ywfhq0r3lp4xg5j43vy7xmf5hxja9l6l-devenv-git-hooks-run","cwd":null,"description":"","exec_if_modified":[],"input":{},"name":"devenv:git-hooks:run","show_output":false,"status":null,"type":"oneshot"}]\'\nexport DEVENV_TASKS\nDEVENV_TASK_FILE=\'/nix/store/kj598ws11izad7bv9qmsxpkpd7hq3krp-tasks.json\'\nexport DEVENV_TASK_FILE\nGIT_EXTERNAL_DIFF=\'difft\'\nexport GIT_EXTERNAL_DIFF\nHOSTTYPE=\'x86_64\'\nHOST_PATH=\'/nix/store/imad8dvhp77h0pjbckp6wvmnyhp8dpgg-coreutils-9.8/bin:/nix/store/av4xw9f56xlx5pgv862wabfif6m1yc0a-findutils-4.10.0/bin:/nix/store/20axvl7mgj15m23jgmnq97hx37fgz7bk-diffutils-3.12/bin:/nix/store/drc7kang929jaza6cy9zdx10s4gw1z5p-gnused-4.9/bin:/nix/store/x3zjxxz8m4ki88axp0gn8q8m6bldybba-gnugrep-3.12/bin:/nix/store/y2wdhdcrffp9hnkzk06d178hq3g98jay-gawk-5.3.2/bin:/nix/store/yi3c5karhx764ham5rfwk7iynr8mjf6q-gnutar-1.35/bin:/nix/store/d471xb7sfbah076s8rx02i68zpxc2r5n-gzip-1.14/bin:/nix/store/qm9rxn2sc1vrz91i443rr6f0vxm0zd82-bzip2-1.0.8-bin/bin:/nix/store/3fmzbq9y4m9nk235il7scmvwn8j9zy3p-gnumake-4.4.1/bin:/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin:/nix/store/qrwznp1ikdf0qw05wia2haiwi32ik5n0-patch-2.8/bin:/nix/store/v0rfdwhg6w6i0yb6dbry4srk6pnj3xp0-xz-5.8.1-bin/bin:/nix/store/paj6a1lpzp57hz1djm5bs86b7ci221r0-file-5.45/bin\'\nexport HOST_PATH\nIFS=\' \t\n\'\nIN_NIX_SHELL=\'impure\'\nexport IN_NIX_SHELL\nLD=\'ld\'\nexport LD\nLINENO=\'76\'\nMACHTYPE=\'x86_64-pc-linux-gnu\'\nNIX_BINTOOLS=\'/nix/store/xwydcyvlsa3cvssk0y5llgdhlhjvmqdm-binutils-wrapper-2.44\'\nexport NIX_BINTOOLS\nNIX_BINTOOLS_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu=\'1\'\nexport NIX_BINTOOLS_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu\nNIX_BUILD_CORES=\'16\'\nexport NIX_BUILD_CORES\nNIX_CC=\'/nix/store/vr15iyyykg9zai6fpgvhcgyw7gckl78w-gcc-wrapper-14.3.0\'\nexport NIX_CC\nNIX_CC_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu=\'1\'\nexport NIX_CC_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu\nNIX_CFLAGS_COMPILE=\' -frandom-seed=3zw2ajqsr4 -isystem /nix/store/bpq0hkckybfnxblhnqavv9agxg4wgja2-nodejs-slim-22.21.1-dev/include -isystem /nix/store/jwkciwykf24vgb1gdlbh94fq5fm9xii5-nodejs-slim-22.21.1/include -isystem /nix/store/jlv0a6iyh8vb7pfyhjj93xy245xlmgh5-gnumake-4.4.1/include -isystem /nix/store/97033wd7ak5am97yk1d2y85aai3yz4wh-gdb-16.3/include -isystem /nix/store/zp52rrbj0aca8sq5wg5qjmjvrv636sc3-valgrind-3.26.0-dev/include -isystem /nix/store/na40apkxgv855bc8qpbi6gf0yvdzvnij-sqlite-3.50.4-dev/include -isystem /nix/store/3lll9y925zz9393sa59h653xik66srjb-python3-3.13.9/include -isystem /nix/store/bpq0hkckybfnxblhnqavv9agxg4wgja2-nodejs-slim-22.21.1-dev/include -isystem /nix/store/jwkciwykf24vgb1gdlbh94fq5fm9xii5-nodejs-slim-22.21.1/include -isystem /nix/store/jlv0a6iyh8vb7pfyhjj93xy245xlmgh5-gnumake-4.4.1/include -isystem /nix/store/97033wd7ak5am97yk1d2y85aai3yz4wh-gdb-16.3/include -isystem /nix/store/zp52rrbj0aca8sq5wg5qjmjvrv636sc3-valgrind-3.26.0-dev/include -isystem /nix/store/na40apkxgv855bc8qpbi6gf0yvdzvnij-sqlite-3.50.4-dev/include -isystem /nix/store/3lll9y925zz9393sa59h653xik66srjb-python3-3.13.9/include\'\nexport NIX_CFLAGS_COMPILE\nNIX_ENFORCE_NO_NATIVE=\'1\'\nexport NIX_ENFORCE_NO_NATIVE\nNIX_HARDENING_ENABLE=\'bindnow format fortify fortify3 libcxxhardeningextensive libcxxhardeningfast pic relro stackclashprotection stackprotector strictoverflow zerocallusedregs\'\nexport NIX_HARDENING_ENABLE\nNIX_LDFLAGS=\'-rpath /home/ender/Documents/Projects/dr-ctf/outputs/out/lib -L/nix/store/97033wd7ak5am97yk1d2y85aai3yz4wh-gdb-16.3/lib -L/nix/store/l30c488dws7z5mazacqsmj25izb9jlp2-sqlite-3.50.4/lib -L/nix/store/3lll9y925zz9393sa59h653xik66srjb-python3-3.13.9/lib -L/nix/store/97033wd7ak5am97yk1d2y85aai3yz4wh-gdb-16.3/lib -L/nix/store/l30c488dws7z5mazacqsmj25izb9jlp2-sqlite-3.50.4/lib -L/nix/store/3lll9y925zz9393sa59h653xik66srjb-python3-3.13.9/lib\'\nexport NIX_LDFLAGS\nNIX_NO_SELF_RPATH=\'1\'\nNIX_PKG_CONFIG_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu=\'1\'\nexport NIX_PKG_CONFIG_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu\nNIX_STORE=\'/nix/store\'\nexport NIX_STORE\nNM=\'nm\'\nexport NM\nNODE_PATH=\'/nix/store/y6wn9g8nbrazkn4r7daik49c77fs513y-typescript-5.9.3/lib/node_modules:/nix/store/3dpq47cj4ji5aq00vmv4mg45vcjamgcw-typescript-language-server-5.1.3/lib/node_modules:/nix/store/jwkciwykf24vgb1gdlbh94fq5fm9xii5-nodejs-slim-22.21.1/lib/node_modules\'\nexport NODE_PATH\nOBJCOPY=\'objcopy\'\nexport OBJCOPY\nOBJDUMP=\'objdump\'\nexport OBJDUMP\nOLDPWD=\'\'\nexport OLDPWD\nOPTERR=\'1\'\nOSTYPE=\'linux-gnu\'\nPATH=\'/nix/store/vw9d8v9r0kp44lmizysj7idmqyf9747l-process-compose-1.78.0/bin:/nix/store/64sazg99p78hfl7k8b0xn8ci1fcz6gpf-difftastic-0.67.0/bin:/nix/store/y6wn9g8nbrazkn4r7daik49c77fs513y-typescript-5.9.3/bin:/nix/store/3dpq47cj4ji5aq00vmv4mg45vcjamgcw-typescript-language-server-5.1.3/bin:/nix/store/nh2jhgkgrrdl31pzc46l8k1za4iqfv1z-rust-toolchain-nixpkgs/bin:/nix/store/bpq0hkckybfnxblhnqavv9agxg4wgja2-nodejs-slim-22.21.1-dev/bin:/nix/store/jwkciwykf24vgb1gdlbh94fq5fm9xii5-nodejs-slim-22.21.1/bin:/nix/store/a9gabjjwk0617csjlgm5f6gz5fv9jq11-bun-1.3.2/bin:/nix/store/v6bx0d4690d8bklp18wvjdk566873sgs-clang-tools-21.1.2/bin:/nix/store/jlv0a6iyh8vb7pfyhjj93xy245xlmgh5-gnumake-4.4.1/bin:/nix/store/fwmjw5cks4v1gxpr9wgbpzwygcfcmnfp-ccls-0.20241108/bin:/nix/store/8vdiwpbh0g4avsd6x5v4s0di32vcl3dp-pkg-config-wrapper-0.29.2/bin:/nix/store/97033wd7ak5am97yk1d2y85aai3yz4wh-gdb-16.3/bin:/nix/store/fp56mavabdv7v67y5j3b0ga3v6ygpyha-valgrind-3.26.0/bin:/nix/store/s3c28nd52vahmlcd9scfhpaw18wxbdgg-dev/bin:/nix/store/bjb3hx0r5yqdlkpk77l5ajsb698c55n2-du/bin:/nix/store/4qhdhmi7pzgad0zfd7c5lsg235mbf9hv-git-2.51.2/bin:/nix/store/z6al79i0bkp2phc0qic774i0vg44npp3-loco-0.16.3/bin:/nix/store/awm8pnzpcj63lb26asvjm24j4kwg4d76-sqlite-3.50.4-bin/bin:/nix/store/19xz3q0sv06r0yrar8srmxs8pfmrg79m-secretspec-0.4.0/bin:/nix/store/sac7s2ziii88sfgy4d6jnxndsxd1nh83-sea-orm-cli-1.1.17/bin:/nix/store/jc4c4x7dv80i794ki30ymj1mrzdxaccd-cargo-generate-0.23.5/bin:/nix/store/965w3rby7xl49kbfqyyr5m10hlyh3f28-pre-commit-bin/bin:/nix/store/pnf9h7rd3nrxx5phrwbnhb5yhkiavj6p-python3.13-pre-commit-hooks-6.0.0/bin:/nix/store/3lll9y925zz9393sa59h653xik66srjb-python3-3.13.9/bin:/nix/store/rckafkh916d8hd4642n2hzywa7sf1npp-deadnix-1.3.1/bin:/nix/store/7fc4qz8ny0s2m2n5gsgsqb3yn2iffk4v-shellcheck-0.11.0-bin/bin:/nix/store/8q2582rd22xp8jlcg1xn1w219q5lx5xa-patchelf-0.15.2/bin:/nix/store/vr15iyyykg9zai6fpgvhcgyw7gckl78w-gcc-wrapper-14.3.0/bin:/nix/store/kzq78n13l8w24jn8bx4djj79k5j717f1-gcc-14.3.0/bin:/nix/store/q6wgv06q39bfhx2xl8ysc05wi6m2zdss-glibc-2.40-66-bin/bin:/nix/store/imad8dvhp77h0pjbckp6wvmnyhp8dpgg-coreutils-9.8/bin:/nix/store/xwydcyvlsa3cvssk0y5llgdhlhjvmqdm-binutils-wrapper-2.44/bin:/nix/store/dc9vaz50jg7mibk9xvqw5dqv89cxzla3-binutils-2.44/bin:/nix/store/imad8dvhp77h0pjbckp6wvmnyhp8dpgg-coreutils-9.8/bin:/nix/store/av4xw9f56xlx5pgv862wabfif6m1yc0a-findutils-4.10.0/bin:/nix/store/20axvl7mgj15m23jgmnq97hx37fgz7bk-diffutils-3.12/bin:/nix/store/drc7kang929jaza6cy9zdx10s4gw1z5p-gnused-4.9/bin:/nix/store/x3zjxxz8m4ki88axp0gn8q8m6bldybba-gnugrep-3.12/bin:/nix/store/y2wdhdcrffp9hnkzk06d178hq3g98jay-gawk-5.3.2/bin:/nix/store/yi3c5karhx764ham5rfwk7iynr8mjf6q-gnutar-1.35/bin:/nix/store/d471xb7sfbah076s8rx02i68zpxc2r5n-gzip-1.14/bin:/nix/store/qm9rxn2sc1vrz91i443rr6f0vxm0zd82-bzip2-1.0.8-bin/bin:/nix/store/3fmzbq9y4m9nk235il7scmvwn8j9zy3p-gnumake-4.4.1/bin:/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin:/nix/store/qrwznp1ikdf0qw05wia2haiwi32ik5n0-patch-2.8/bin:/nix/store/v0rfdwhg6w6i0yb6dbry4srk6pnj3xp0-xz-5.8.1-bin/bin:/nix/store/paj6a1lpzp57hz1djm5bs86b7ci221r0-file-5.45/bin\'\nexport PATH\nPC_CONFIG_FILES=\'/nix/store/ysqava3g5mbphf5fvlrm626f3fzfsvlp-process-compose.yaml\'\nexport PC_CONFIG_FILES\nPC_SOCKET_PATH=\'/run/user/1000/devenv-405663c/pc.sock\'\nexport PC_SOCKET_PATH\nPKG_CONFIG=\'pkg-config\'\nexport PKG_CONFIG\nPKG_CONFIG_PATH=\'/nix/store/zp52rrbj0aca8sq5wg5qjmjvrv636sc3-valgrind-3.26.0-dev/lib/pkgconfig:/nix/store/na40apkxgv855bc8qpbi6gf0yvdzvnij-sqlite-3.50.4-dev/lib/pkgconfig:/nix/store/3lll9y925zz9393sa59h653xik66srjb-python3-3.13.9/lib/pkgconfig\'\nexport PKG_CONFIG_PATH\nPS4=\'+ \'\nPYTHONHASHSEED=\'0\'\nexport PYTHONHASHSEED\nPYTHONNOUSERSITE=\'1\'\nexport PYTHONNOUSERSITE\nPYTHONPATH=\'/nix/store/pnf9h7rd3nrxx5phrwbnhb5yhkiavj6p-python3.13-pre-commit-hooks-6.0.0/lib/python3.13/site-packages:/nix/store/prpbn02py0x7xgb4fk1xmgzghix6wnxb-python3.13-ruamel-yaml-0.18.14/lib/python3.13/site-packages:/nix/store/fxbffn4g9z7l4livi6wm48yb162bc1ga-python3.13-ruamel-base-1.0.0/lib/python3.13/site-packages:/nix/store/3lll9y925zz9393sa59h653xik66srjb-python3-3.13.9/lib/python3.13/site-packages:/nix/store/zs5kbqpr3dj8rb4szgrp1l3pnl03la6d-python3.13-ruamel-yaml-clib-0.2.12/lib/python3.13/site-packages\'\nexport PYTHONPATH\nRANLIB=\'ranlib\'\nexport RANLIB\nREADELF=\'readelf\'\nexport READELF\nRUST_SRC_PATH=\'/nix/store/x4lzvdhcz439jm1clb41hnx3xa2cqvli-rust-lib-src\'\nexport RUST_SRC_PATH\nSHELL=\'/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/bash\'\nexport SHELL\nSIZE=\'size\'\nexport SIZE\nSOURCE_DATE_EPOCH=\'315532800\'\nexport SOURCE_DATE_EPOCH\nSTRINGS=\'strings\'\nexport STRINGS\nSTRIP=\'strip\'\nexport STRIP\nXDG_DATA_DIRS=\'/nix/store/vw9d8v9r0kp44lmizysj7idmqyf9747l-process-compose-1.78.0/share:/nix/store/nh2jhgkgrrdl31pzc46l8k1za4iqfv1z-rust-toolchain-nixpkgs/share:/nix/store/jwkciwykf24vgb1gdlbh94fq5fm9xii5-nodejs-slim-22.21.1/share:/nix/store/a9gabjjwk0617csjlgm5f6gz5fv9jq11-bun-1.3.2/share:/nix/store/jlv0a6iyh8vb7pfyhjj93xy245xlmgh5-gnumake-4.4.1/share:/nix/store/8vdiwpbh0g4avsd6x5v4s0di32vcl3dp-pkg-config-wrapper-0.29.2/share:/nix/store/97033wd7ak5am97yk1d2y85aai3yz4wh-gdb-16.3/share:/nix/store/4qhdhmi7pzgad0zfd7c5lsg235mbf9hv-git-2.51.2/share:/nix/store/3lll9y925zz9393sa59h653xik66srjb-python3-3.13.9/share:/nix/store/8q2582rd22xp8jlcg1xn1w219q5lx5xa-patchelf-0.15.2/share\'\nexport XDG_DATA_DIRS\n_PYTHON_HOST_PLATFORM=\'linux-x86_64\'\nexport _PYTHON_HOST_PLATFORM\n_PYTHON_SYSCONFIGDATA_NAME=\'_sysconfigdata__linux_x86_64-linux-gnu\'\nexport _PYTHON_SYSCONFIGDATA_NAME\n__structuredAttrs=\'\'\nexport __structuredAttrs\n_substituteStream_has_warned_replace_deprecation=\'false\'\nbuildInputs=\'\'\nexport buildInputs\nbuildPhase=\'{ echo "------------------------------------------------------------";\n echo " WARNING: the existence of this path is not guaranteed.";\n echo " It is an internal implementation detail for pkgs.mkShell.";\n echo "------------------------------------------------------------";\n echo;\n # Record all build inputs as runtime dependencies\n export;\n} >> "$out"\n\'\nexport buildPhase\nbuilder=\'/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/bash\'\nexport builder\ncmakeFlags=\'\'\nexport cmakeFlags\nconfigureFlags=\'\'\nexport configureFlags\ndefaultBuildInputs=\'\'\ndefaultNativeBuildInputs=\'/nix/store/8q2582rd22xp8jlcg1xn1w219q5lx5xa-patchelf-0.15.2 /nix/store/l2xk4ac1wx9c95kpp8vymv9r9yn57fvh-update-autotools-gnu-config-scripts-hook /nix/store/0y5xmdb7qfvimjwbq7ibg1xdgkgjwqng-no-broken-symlinks.sh /nix/store/cv1d7p48379km6a85h4zp6kr86brh32q-audit-tmpdir.sh /nix/store/85clx3b0xkdf58jn161iy80y5223ilbi-compress-man-pages.sh /nix/store/wgrbkkaldkrlrni33ccvm3b6vbxzb656-make-symlinks-relative.sh /nix/store/5yzw0vhkyszf2d179m0qfkgxmp5wjjx4-move-docs.sh /nix/store/fyaryjvghbkpfnsyw97hb3lyb37s1pd6-move-lib64.sh /nix/store/kd4xwxjpjxi71jkm6ka0np72if9rm3y0-move-sbin.sh /nix/store/pag6l61paj1dc9sv15l7bm5c17xn5kyk-move-systemd-user-units.sh /nix/store/cmzya9irvxzlkh7lfy6i82gbp0saxqj3-multiple-outputs.sh /nix/store/x8c40nfigps493a07sdr2pm5s9j1cdc0-patch-shebangs.sh /nix/store/cickvswrvann041nqxb0rxilc46svw1n-prune-libtool-files.sh /nix/store/xyff06pkhki3qy1ls77w10s0v79c9il0-reproducible-builds.sh /nix/store/z7k98578dfzi6l3hsvbivzm7hfqlk0zc-set-source-date-epoch-to-latest.sh /nix/store/pilsssjjdxvdphlg2h19p0bfx5q0jzkn-strip.sh /nix/store/vr15iyyykg9zai6fpgvhcgyw7gckl78w-gcc-wrapper-14.3.0\'\ndepsBuildBuild=\'\'\nexport depsBuildBuild\ndepsBuildBuildPropagated=\'\'\nexport depsBuildBuildPropagated\ndepsBuildTarget=\'\'\nexport depsBuildTarget\ndepsBuildTargetPropagated=\'\'\nexport depsBuildTargetPropagated\ndepsHostHost=\'\'\nexport depsHostHost\ndepsHostHostPropagated=\'\'\nexport depsHostHostPropagated\ndepsTargetTarget=\'\'\nexport depsTargetTarget\ndepsTargetTargetPropagated=\'\'\nexport depsTargetTargetPropagated\ndoCheck=\'\'\nexport doCheck\ndoInstallCheck=\'\'\nexport doInstallCheck\ndontAddDisableDepTrack=\'1\'\nexport dontAddDisableDepTrack\ndeclare -a envBuildBuildHooks=(\'addNodePath\' \'addPythonPath\' \'sysconfigdataHook\' )\ndeclare -a envBuildHostHooks=(\'addNodePath\' \'addPythonPath\' \'sysconfigdataHook\' )\ndeclare -a envBuildTargetHooks=(\'addNodePath\' \'addPythonPath\' \'sysconfigdataHook\' )\ndeclare -a envHostHostHooks=(\'pkgConfigWrapper_addPkgConfigPath\' \'ccWrapper_addCVars\' \'bintoolsWrapper_addLDVars\' )\ndeclare -a envHostTargetHooks=(\'pkgConfigWrapper_addPkgConfigPath\' \'ccWrapper_addCVars\' \'bintoolsWrapper_addLDVars\' )\ndeclare -a envTargetTargetHooks=()\ndeclare -a fixupOutputHooks=(\'if [ -z "${dontPatchELF-}" ]; then patchELF "$prefix"; fi\' \'if [[ -z "${noAuditTmpdir-}" && -e "$prefix" ]]; then auditTmpdir "$prefix"; fi\' \'if [ -z "${dontGzipMan-}" ]; then compressManPages "$prefix"; fi\' \'_moveLib64\' \'_moveSbin\' \'_moveSystemdUserUnits\' \'patchShebangsAuto\' \'_pruneLibtoolFiles\' \'_doStrip\' )\nhardeningDisable=\'\'\nexport hardeningDisable\ninitialPath=\'/nix/store/imad8dvhp77h0pjbckp6wvmnyhp8dpgg-coreutils-9.8 /nix/store/av4xw9f56xlx5pgv862wabfif6m1yc0a-findutils-4.10.0 /nix/store/20axvl7mgj15m23jgmnq97hx37fgz7bk-diffutils-3.12 /nix/store/drc7kang929jaza6cy9zdx10s4gw1z5p-gnused-4.9 /nix/store/x3zjxxz8m4ki88axp0gn8q8m6bldybba-gnugrep-3.12 /nix/store/y2wdhdcrffp9hnkzk06d178hq3g98jay-gawk-5.3.2 /nix/store/yi3c5karhx764ham5rfwk7iynr8mjf6q-gnutar-1.35 /nix/store/d471xb7sfbah076s8rx02i68zpxc2r5n-gzip-1.14 /nix/store/qm9rxn2sc1vrz91i443rr6f0vxm0zd82-bzip2-1.0.8-bin /nix/store/3fmzbq9y4m9nk235il7scmvwn8j9zy3p-gnumake-4.4.1 /nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3 /nix/store/qrwznp1ikdf0qw05wia2haiwi32ik5n0-patch-2.8 /nix/store/v0rfdwhg6w6i0yb6dbry4srk6pnj3xp0-xz-5.8.1-bin /nix/store/paj6a1lpzp57hz1djm5bs86b7ci221r0-file-5.45\'\nmesonFlags=\'\'\nexport mesonFlags\nname=\'DrCTF-env\'\nexport name\nnativeBuildInputs=\'/nix/store/vw9d8v9r0kp44lmizysj7idmqyf9747l-process-compose-1.78.0 /nix/store/64sazg99p78hfl7k8b0xn8ci1fcz6gpf-difftastic-0.67.0 /nix/store/y6wn9g8nbrazkn4r7daik49c77fs513y-typescript-5.9.3 /nix/store/3dpq47cj4ji5aq00vmv4mg45vcjamgcw-typescript-language-server-5.1.3 /nix/store/nh2jhgkgrrdl31pzc46l8k1za4iqfv1z-rust-toolchain-nixpkgs /nix/store/bpq0hkckybfnxblhnqavv9agxg4wgja2-nodejs-slim-22.21.1-dev /nix/store/a9gabjjwk0617csjlgm5f6gz5fv9jq11-bun-1.3.2 /nix/store/v6bx0d4690d8bklp18wvjdk566873sgs-clang-tools-21.1.2 /nix/store/s3w5m3spa1g71hx0yb82lvk6394j3w5j-stdenv-linux /nix/store/jlv0a6iyh8vb7pfyhjj93xy245xlmgh5-gnumake-4.4.1 /nix/store/fwmjw5cks4v1gxpr9wgbpzwygcfcmnfp-ccls-0.20241108 /nix/store/8vdiwpbh0g4avsd6x5v4s0di32vcl3dp-pkg-config-wrapper-0.29.2 /nix/store/97033wd7ak5am97yk1d2y85aai3yz4wh-gdb-16.3 /nix/store/zp52rrbj0aca8sq5wg5qjmjvrv636sc3-valgrind-3.26.0-dev /nix/store/s3c28nd52vahmlcd9scfhpaw18wxbdgg-dev /nix/store/bjb3hx0r5yqdlkpk77l5ajsb698c55n2-du /nix/store/4qhdhmi7pzgad0zfd7c5lsg235mbf9hv-git-2.51.2 /nix/store/z6al79i0bkp2phc0qic774i0vg44npp3-loco-0.16.3 /nix/store/na40apkxgv855bc8qpbi6gf0yvdzvnij-sqlite-3.50.4-dev /nix/store/19xz3q0sv06r0yrar8srmxs8pfmrg79m-secretspec-0.4.0 /nix/store/sac7s2ziii88sfgy4d6jnxndsxd1nh83-sea-orm-cli-1.1.17 /nix/store/jc4c4x7dv80i794ki30ymj1mrzdxaccd-cargo-generate-0.23.5 /nix/store/8vdiwpbh0g4avsd6x5v4s0di32vcl3dp-pkg-config-wrapper-0.29.2 /nix/store/965w3rby7xl49kbfqyyr5m10hlyh3f28-pre-commit-bin /nix/store/nh2jhgkgrrdl31pzc46l8k1za4iqfv1z-rust-toolchain-nixpkgs /nix/store/pnf9h7rd3nrxx5phrwbnhb5yhkiavj6p-python3.13-pre-commit-hooks-6.0.0 /nix/store/rckafkh916d8hd4642n2hzywa7sf1npp-deadnix-1.3.1 /nix/store/wbx8i6wrjdi32gj7kk5j5fq3484qyzyb-shellcheck-0.11.0\'\nexport nativeBuildInputs\nout=\'/home/ender/Documents/Projects/dr-ctf/outputs/out\'\nexport out\noutputBin=\'out\'\noutputDev=\'out\'\noutputDevdoc=\'REMOVE\'\noutputDevman=\'out\'\noutputDoc=\'out\'\noutputInclude=\'out\'\noutputInfo=\'out\'\noutputLib=\'out\'\noutputMan=\'out\'\noutputs=\'out\'\nexport outputs\npatches=\'\'\nexport patches\nphases=\'buildPhase\'\nexport phases\npkg=\'/nix/store/vr15iyyykg9zai6fpgvhcgyw7gckl78w-gcc-wrapper-14.3.0\'\ndeclare -a pkgsBuildBuild=()\ndeclare -a pkgsBuildHost=(\'/nix/store/vw9d8v9r0kp44lmizysj7idmqyf9747l-process-compose-1.78.0\' \'/nix/store/64sazg99p78hfl7k8b0xn8ci1fcz6gpf-difftastic-0.67.0\' \'/nix/store/y6wn9g8nbrazkn4r7daik49c77fs513y-typescript-5.9.3\' \'/nix/store/3dpq47cj4ji5aq00vmv4mg45vcjamgcw-typescript-language-server-5.1.3\' \'/nix/store/nh2jhgkgrrdl31pzc46l8k1za4iqfv1z-rust-toolchain-nixpkgs\' \'/nix/store/bpq0hkckybfnxblhnqavv9agxg4wgja2-nodejs-slim-22.21.1-dev\' \'/nix/store/jwkciwykf24vgb1gdlbh94fq5fm9xii5-nodejs-slim-22.21.1\' \'/nix/store/a9gabjjwk0617csjlgm5f6gz5fv9jq11-bun-1.3.2\' \'/nix/store/v6bx0d4690d8bklp18wvjdk566873sgs-clang-tools-21.1.2\' \'/nix/store/s3w5m3spa1g71hx0yb82lvk6394j3w5j-stdenv-linux\' \'/nix/store/jlv0a6iyh8vb7pfyhjj93xy245xlmgh5-gnumake-4.4.1\' \'/nix/store/fwmjw5cks4v1gxpr9wgbpzwygcfcmnfp-ccls-0.20241108\' \'/nix/store/8vdiwpbh0g4avsd6x5v4s0di32vcl3dp-pkg-config-wrapper-0.29.2\' \'/nix/store/97033wd7ak5am97yk1d2y85aai3yz4wh-gdb-16.3\' \'/nix/store/zp52rrbj0aca8sq5wg5qjmjvrv636sc3-valgrind-3.26.0-dev\' \'/nix/store/fp56mavabdv7v67y5j3b0ga3v6ygpyha-valgrind-3.26.0\' \'/nix/store/s3c28nd52vahmlcd9scfhpaw18wxbdgg-dev\' \'/nix/store/bjb3hx0r5yqdlkpk77l5ajsb698c55n2-du\' \'/nix/store/4qhdhmi7pzgad0zfd7c5lsg235mbf9hv-git-2.51.2\' \'/nix/store/z6al79i0bkp2phc0qic774i0vg44npp3-loco-0.16.3\' \'/nix/store/na40apkxgv855bc8qpbi6gf0yvdzvnij-sqlite-3.50.4-dev\' \'/nix/store/awm8pnzpcj63lb26asvjm24j4kwg4d76-sqlite-3.50.4-bin\' \'/nix/store/l30c488dws7z5mazacqsmj25izb9jlp2-sqlite-3.50.4\' \'/nix/store/19xz3q0sv06r0yrar8srmxs8pfmrg79m-secretspec-0.4.0\' \'/nix/store/sac7s2ziii88sfgy4d6jnxndsxd1nh83-sea-orm-cli-1.1.17\' \'/nix/store/jc4c4x7dv80i794ki30ymj1mrzdxaccd-cargo-generate-0.23.5\' \'/nix/store/965w3rby7xl49kbfqyyr5m10hlyh3f28-pre-commit-bin\' \'/nix/store/pnf9h7rd3nrxx5phrwbnhb5yhkiavj6p-python3.13-pre-commit-hooks-6.0.0\' \'/nix/store/prpbn02py0x7xgb4fk1xmgzghix6wnxb-python3.13-ruamel-yaml-0.18.14\' \'/nix/store/fxbffn4g9z7l4livi6wm48yb162bc1ga-python3.13-ruamel-base-1.0.0\' \'/nix/store/3lll9y925zz9393sa59h653xik66srjb-python3-3.13.9\' \'/nix/store/zs5kbqpr3dj8rb4szgrp1l3pnl03la6d-python3.13-ruamel-yaml-clib-0.2.12\' \'/nix/store/rckafkh916d8hd4642n2hzywa7sf1npp-deadnix-1.3.1\' \'/nix/store/wbx8i6wrjdi32gj7kk5j5fq3484qyzyb-shellcheck-0.11.0\' \'/nix/store/7fc4qz8ny0s2m2n5gsgsqb3yn2iffk4v-shellcheck-0.11.0-bin\' \'/nix/store/8q2582rd22xp8jlcg1xn1w219q5lx5xa-patchelf-0.15.2\' \'/nix/store/l2xk4ac1wx9c95kpp8vymv9r9yn57fvh-update-autotools-gnu-config-scripts-hook\' \'/nix/store/0y5xmdb7qfvimjwbq7ibg1xdgkgjwqng-no-broken-symlinks.sh\' \'/nix/store/cv1d7p48379km6a85h4zp6kr86brh32q-audit-tmpdir.sh\' \'/nix/store/85clx3b0xkdf58jn161iy80y5223ilbi-compress-man-pages.sh\' \'/nix/store/wgrbkkaldkrlrni33ccvm3b6vbxzb656-make-symlinks-relative.sh\' \'/nix/store/5yzw0vhkyszf2d179m0qfkgxmp5wjjx4-move-docs.sh\' \'/nix/store/fyaryjvghbkpfnsyw97hb3lyb37s1pd6-move-lib64.sh\' \'/nix/store/kd4xwxjpjxi71jkm6ka0np72if9rm3y0-move-sbin.sh\' \'/nix/store/pag6l61paj1dc9sv15l7bm5c17xn5kyk-move-systemd-user-units.sh\' \'/nix/store/cmzya9irvxzlkh7lfy6i82gbp0saxqj3-multiple-outputs.sh\' \'/nix/store/x8c40nfigps493a07sdr2pm5s9j1cdc0-patch-shebangs.sh\' \'/nix/store/cickvswrvann041nqxb0rxilc46svw1n-prune-libtool-files.sh\' \'/nix/store/xyff06pkhki3qy1ls77w10s0v79c9il0-reproducible-builds.sh\' \'/nix/store/z7k98578dfzi6l3hsvbivzm7hfqlk0zc-set-source-date-epoch-to-latest.sh\' \'/nix/store/pilsssjjdxvdphlg2h19p0bfx5q0jzkn-strip.sh\' \'/nix/store/vr15iyyykg9zai6fpgvhcgyw7gckl78w-gcc-wrapper-14.3.0\' \'/nix/store/xwydcyvlsa3cvssk0y5llgdhlhjvmqdm-binutils-wrapper-2.44\' )\ndeclare -a pkgsBuildTarget=()\ndeclare -a pkgsHostHost=()\ndeclare -a pkgsHostTarget=()\ndeclare -a pkgsTargetTarget=()\ndeclare -a postFixupHooks=(\'noBrokenSymlinksInAllOutputs\' \'_makeSymlinksRelativeInAllOutputs\' \'_multioutPropagateDev\' )\ndeclare -a postUnpackHooks=(\'_updateSourceDateEpochFromSourceRoot\' )\ndeclare -a preConfigureHooks=(\'_multioutConfig\' )\npreConfigurePhases=\' updateAutotoolsGnuConfigScriptsPhase\'\ndeclare -a preFixupHooks=(\'_moveToShare\' \'_multioutDocs\' \'_multioutDevs\' )\npreferLocalBuild=\'1\'\nexport preferLocalBuild\nprefix=\'/home/ender/Documents/Projects/dr-ctf/outputs/out\'\ndeclare -a propagatedBuildDepFiles=(\'propagated-build-build-deps\' \'propagated-native-build-inputs\' \'propagated-build-target-deps\' )\npropagatedBuildInputs=\'\'\nexport propagatedBuildInputs\ndeclare -a propagatedHostDepFiles=(\'propagated-host-host-deps\' \'propagated-build-inputs\' )\npropagatedNativeBuildInputs=\'\'\nexport propagatedNativeBuildInputs\ndeclare -a propagatedTargetDepFiles=(\'propagated-target-target-deps\' )\nshell=\'/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/bash\'\nexport shell\nshellHook=\'\nexport PS1="\\[\\e[0;34m\\](devenv)\\[\\e[0m\\] ${PS1-}"\n\n# override temp directories after "nix develop"\nfor var in TMP TMPDIR TEMP TEMPDIR; do\n if [ -n "${!var-}" ]; then\n export "$var"=/run/user/1000\n fi\ndone\nif [ -n "${NIX_BUILD_TOP-}" ]; then\n unset NIX_BUILD_TOP\nfi\n\n# set path to locales on non-NixOS Linux hosts\nif [ -z "${LOCALE_ARCHIVE-}" ]; then\n export LOCALE_ARCHIVE=/nix/store/lncqmx5asfccx0gfkp64r94ri59y0iyv-glibc-locales-2.40-66/lib/locale/locale-archive\nfi\n\n\n# direnv helper\nif [ ! type -p direnv &>/dev/null && -f .envrc ]; then\n echo "An .envrc file was detected, but the direnv command is not installed."\n echo "To use this configuration, please install direnv: https://direnv.net/docs/installation.html"\nfi\n\nmkdir -p "$DEVENV_STATE"\nif [ ! -L "$DEVENV_DOTFILE/profile" ] || [ "$(/nix/store/imad8dvhp77h0pjbckp6wvmnyhp8dpgg-coreutils-9.8/bin/readlink $DEVENV_DOTFILE/profile)" != "/nix/store/bvm5wn1c46bxfgzylrm3khh2sp87vnsa-devenv-profile" ]\nthen\n ln -snf /nix/store/bvm5wn1c46bxfgzylrm3khh2sp87vnsa-devenv-profile "$DEVENV_DOTFILE/profile"\nfi\nunset HOST_PATH NIX_BUILD_CORES __structuredAttrs buildInputs buildPhase builder depsBuildBuild depsBuildBuildPropagated depsBuildTarget depsBuildTargetPropagated depsHostHost depsHostHostPropagated depsTargetTarget depsTargetTargetPropagated dontAddDisableDepTrack doCheck doInstallCheck nativeBuildInputs out outputs patches phases preferLocalBuild propagatedBuildInputs propagatedNativeBuildInputs shell shellHook stdenv strictDeps\n\nmkdir -p /run/user/1000/devenv-405663c\nln -snf /run/user/1000/devenv-405663c /home/ender/Documents/Projects/dr-ctf/.devenv/run\n\n\nexport CARGO_INSTALL_ROOT=$(/nix/store/imad8dvhp77h0pjbckp6wvmnyhp8dpgg-coreutils-9.8/bin/realpath --no-symlinks /home/ender/Documents/Projects/dr-ctf/.devenv/state/cargo-install)\nexport PATH="$PATH:$CARGO_INSTALL_ROOT/bin"\n\nexport PATH="node_modules/.bin:$PATH"\n\n/nix/store/0h3grrk59ixrbqpikbxknvwg5nb05pr0-devenv-tasks-2.0.0/bin/devenv-tasks run devenv:enterShell --mode all || exit $?\nif [ -f "$DEVENV_DOTFILE/load-exports" ]; then\n source "$DEVENV_DOTFILE/load-exports"\nfi\n\necho "✨ devenv 1.11.1 is out of date. Please update to 1.11.2: https://devenv.sh/getting-started/#installation" >&2\n\n\n# Check whether the direnv integration is out of date.\n{\n if [[ ":${DIRENV_ACTIVE-}:" == *":/home/ender/Documents/Projects/dr-ctf:"* ]]; then\n if [[ ! "${DEVENV_NO_DIRENVRC_OUTDATED_WARNING-}" == 1 && ! "${DEVENV_DIRENVRC_ROLLING_UPGRADE-}" == 1 ]]; then\n if [[ ${DEVENV_DIRENVRC_VERSION:-0} -lt 1 ]]; then\n direnv_line=$(grep --color=never -E "source_url.*cachix/devenv" .envrc || echo "")\n\n echo "✨ The direnv integration in your .envrc is out of date."\n echo ""\n echo -n "RECOMMENDED: devenv can now auto-upgrade the direnv integration. "\n if [[ -n "$direnv_line" ]]; then\n echo "To enable this feature, replace the following line in your .envrc:"\n echo ""\n echo " $direnv_line"\n echo ""\n echo "with:"\n echo ""\n echo " eval \\"\\$(devenv direnvrc)\\""\n else\n echo "To enable this feature, replace the \\`source_url\\` line that fetches the direnvrc integration in your .envrc with:"\n echo ""\n echo " eval \\"$(devenv direnvrc)\\""\n fi\n echo ""\n echo "If you prefer to continue managing the integration manually, follow the upgrade instructions at https://devenv.sh/automatic-shell-activation/."\n echo ""\n echo "To disable this message:"\n echo ""\n echo " Add the following environment to your .envrc before \\`use devenv\\`:"\n echo ""\n echo " export DEVENV_NO_DIRENVRC_OUTDATED_WARNING=1"\n echo ""\n echo " Or set the following option in your devenv configuration:"\n echo ""\n echo " devenv.warnOnNewVersion = false;"\n echo ""\n fi\n fi\n fi\n} >&2\n\ngit --version # Use packages\n\n\'\nexport shellHook\nstdenv=\'/nix/store/s3w5m3spa1g71hx0yb82lvk6394j3w5j-stdenv-linux\'\nexport stdenv\nstrictDeps=\'\'\nexport strictDeps\nsystem=\'x86_64-linux\'\nexport system\ndeclare -a unpackCmdHooks=(\'_defaultUnpack\' )\n_activatePkgs ()\n{\n \n local hostOffset targetOffset;\n local pkg;\n for hostOffset in "${allPlatOffsets[@]}";\n do\n local pkgsVar="${pkgAccumVarVars[hostOffset + 1]}";\n for targetOffset in "${allPlatOffsets[@]}";\n do\n (( hostOffset <= targetOffset )) || continue;\n local pkgsRef="${pkgsVar}[$targetOffset - $hostOffset]";\n local pkgsSlice="${!pkgsRef}[@]";\n for pkg in ${!pkgsSlice+"${!pkgsSlice}"};\n do\n activatePackage "$pkg" "$hostOffset" "$targetOffset";\n done;\n done;\n done\n}\n_addRpathPrefix ()\n{\n \n if [ "${NIX_NO_SELF_RPATH:-0}" != 1 ]; then\n export NIX_LDFLAGS="-rpath $1/lib ${NIX_LDFLAGS-}";\n fi\n}\n_addToEnv ()\n{\n \n local depHostOffset depTargetOffset;\n local pkg;\n for depHostOffset in "${allPlatOffsets[@]}";\n do\n local hookVar="${pkgHookVarVars[depHostOffset + 1]}";\n local pkgsVar="${pkgAccumVarVars[depHostOffset + 1]}";\n for depTargetOffset in "${allPlatOffsets[@]}";\n do\n (( depHostOffset <= depTargetOffset )) || continue;\n local hookRef="${hookVar}[$depTargetOffset - $depHostOffset]";\n if [[ -z "${strictDeps-}" ]]; then\n local visitedPkgs="";\n for pkg in "${pkgsBuildBuild[@]}" "${pkgsBuildHost[@]}" "${pkgsBuildTarget[@]}" "${pkgsHostHost[@]}" "${pkgsHostTarget[@]}" "${pkgsTargetTarget[@]}";\n do\n if [[ "$visitedPkgs" = *"$pkg"* ]]; then\n continue;\n fi;\n runHook "${!hookRef}" "$pkg";\n visitedPkgs+=" $pkg";\n done;\n else\n local pkgsRef="${pkgsVar}[$depTargetOffset - $depHostOffset]";\n local pkgsSlice="${!pkgsRef}[@]";\n for pkg in ${!pkgsSlice+"${!pkgsSlice}"};\n do\n runHook "${!hookRef}" "$pkg";\n done;\n fi;\n done;\n done\n}\n_allFlags ()\n{\n \n export system pname name version;\n while IFS=\'\' read -r varName; do\n nixTalkativeLog "@${varName}@ -> ${!varName}";\n args+=("--subst-var" "$varName");\n done < <(awk \'BEGIN { for (v in ENVIRON) if (v ~ /^[a-z][a-zA-Z0-9_]*$/) print v }\')\n}\n_assignFirst ()\n{\n \n local varName="$1";\n local _var;\n local REMOVE=REMOVE;\n shift;\n for _var in "$@";\n do\n if [ -n "${!_var-}" ]; then\n eval "${varName}"="${_var}";\n return;\n fi;\n done;\n echo;\n echo "error: _assignFirst: could not find a non-empty variable whose name to assign to ${varName}.";\n echo " The following variables were all unset or empty:";\n echo " $*";\n if [ -z "${out:-}" ]; then\n echo \' If you do not want an "out" output in your derivation, make sure to define\';\n echo \' the other specific required outputs. This can be achieved by picking one\';\n echo " of the above as an output.";\n echo \' You do not have to remove "out" if you want to have a different default\';\n echo \' output, because the first output is taken as a default.\';\n echo;\n fi;\n return 1\n}\n_callImplicitHook ()\n{\n \n local def="$1";\n local hookName="$2";\n if declare -F "$hookName" > /dev/null; then\n nixTalkativeLog "calling implicit \'$hookName\' function hook";\n "$hookName";\n else\n if type -p "$hookName" > /dev/null; then\n nixTalkativeLog "sourcing implicit \'$hookName\' script hook";\n source "$hookName";\n else\n if [ -n "${!hookName:-}" ]; then\n nixTalkativeLog "evaling implicit \'$hookName\' string hook";\n eval "${!hookName}";\n else\n return "$def";\n fi;\n fi;\n fi\n}\n_defaultUnpack ()\n{\n \n local fn="$1";\n local destination;\n if [ -d "$fn" ]; then\n destination="$(stripHash "$fn")";\n if [ -e "$destination" ]; then\n echo "Cannot copy $fn to $destination: destination already exists!";\n echo "Did you specify two \\"srcs\\" with the same \\"name\\"?";\n return 1;\n fi;\n cp -r --preserve=timestamps --reflink=auto -- "$fn" "$destination";\n else\n case "$fn" in \n *.tar.xz | *.tar.lzma | *.txz)\n ( XZ_OPT="--threads=$NIX_BUILD_CORES" xz -d < "$fn";\n true ) | tar xf - --mode=+w --warning=no-timestamp\n ;;\n *.tar | *.tar.* | *.tgz | *.tbz2 | *.tbz)\n tar xf "$fn" --mode=+w --warning=no-timestamp\n ;;\n *)\n return 1\n ;;\n esac;\n fi\n}\n_doStrip ()\n{\n \n local -ra flags=(dontStripHost dontStripTarget);\n local -ra debugDirs=(stripDebugList stripDebugListTarget);\n local -ra allDirs=(stripAllList stripAllListTarget);\n local -ra stripCmds=(STRIP STRIP_FOR_TARGET);\n local -ra ranlibCmds=(RANLIB RANLIB_FOR_TARGET);\n stripDebugList=${stripDebugList[*]:-lib lib32 lib64 libexec bin sbin Applications Library/Frameworks};\n stripDebugListTarget=${stripDebugListTarget[*]:-};\n stripAllList=${stripAllList[*]:-};\n stripAllListTarget=${stripAllListTarget[*]:-};\n local i;\n for i in ${!stripCmds[@]};\n do\n local -n flag="${flags[$i]}";\n local -n debugDirList="${debugDirs[$i]}";\n local -n allDirList="${allDirs[$i]}";\n local -n stripCmd="${stripCmds[$i]}";\n local -n ranlibCmd="${ranlibCmds[$i]}";\n if [[ -n "${dontStrip-}" || -n "${flag-}" ]] || ! type -f "${stripCmd-}" 2> /dev/null 1>&2; then\n continue;\n fi;\n stripDirs "$stripCmd" "$ranlibCmd" "$debugDirList" "${stripDebugFlags[*]:--S -p}";\n stripDirs "$stripCmd" "$ranlibCmd" "$allDirList" "${stripAllFlags[*]:--s -p}";\n done\n}\n_eval ()\n{\n \n if declare -F "$1" > /dev/null 2>&1; then\n "$@";\n else\n eval "$1";\n fi\n}\n_logHook ()\n{\n \n if [[ -z ${NIX_LOG_FD-} ]]; then\n return;\n fi;\n local hookKind="$1";\n local hookExpr="$2";\n shift 2;\n if declare -F "$hookExpr" > /dev/null 2>&1; then\n nixTalkativeLog "calling \'$hookKind\' function hook \'$hookExpr\'" "$@";\n else\n if type -p "$hookExpr" > /dev/null; then\n nixTalkativeLog "sourcing \'$hookKind\' script hook \'$hookExpr\'";\n else\n if [[ "$hookExpr" != "_callImplicitHook"* ]]; then\n local exprToOutput;\n if [[ ${NIX_DEBUG:-0} -ge 5 ]]; then\n exprToOutput="$hookExpr";\n else\n local hookExprLine;\n while IFS= read -r hookExprLine; do\n hookExprLine="${hookExprLine#"${hookExprLine%%[![:space:]]*}"}";\n if [[ -n "$hookExprLine" ]]; then\n exprToOutput+="$hookExprLine\\\\n ";\n fi;\n done <<< "$hookExpr";\n exprToOutput="${exprToOutput%%\\\\n }";\n fi;\n nixTalkativeLog "evaling \'$hookKind\' string hook \'$exprToOutput\'";\n fi;\n fi;\n fi\n}\n_makeSymlinksRelative ()\n{\n \n local symlinkTarget;\n if [ "${dontRewriteSymlinks-}" ] || [ ! -e "$prefix" ]; then\n return;\n fi;\n while IFS= read -r -d \'\' f; do\n symlinkTarget=$(readlink "$f");\n if [[ "$symlinkTarget"/ != "$prefix"/* ]]; then\n continue;\n fi;\n if [ ! -e "$symlinkTarget" ]; then\n echo "the symlink $f is broken, it points to $symlinkTarget (which is missing)";\n fi;\n echo "rewriting symlink $f to be relative to $prefix";\n ln -snrf "$symlinkTarget" "$f";\n done < <(find $prefix -type l -print0)\n}\n_makeSymlinksRelativeInAllOutputs ()\n{\n \n local output;\n for output in $(getAllOutputNames);\n do\n prefix="${!output}" _makeSymlinksRelative;\n done\n}\n_moveLib64 ()\n{\n \n if [ "${dontMoveLib64-}" = 1 ]; then\n return;\n fi;\n if [ ! -e "$prefix/lib64" -o -L "$prefix/lib64" ]; then\n return;\n fi;\n echo "moving $prefix/lib64/* to $prefix/lib";\n mkdir -p $prefix/lib;\n shopt -s dotglob;\n for i in $prefix/lib64/*;\n do\n mv --no-clobber "$i" $prefix/lib;\n done;\n shopt -u dotglob;\n rmdir $prefix/lib64;\n ln -s lib $prefix/lib64\n}\n_moveSbin ()\n{\n \n if [ "${dontMoveSbin-}" = 1 ]; then\n return;\n fi;\n if [ ! -e "$prefix/sbin" -o -L "$prefix/sbin" ]; then\n return;\n fi;\n echo "moving $prefix/sbin/* to $prefix/bin";\n mkdir -p $prefix/bin;\n shopt -s dotglob;\n for i in $prefix/sbin/*;\n do\n mv "$i" $prefix/bin;\n done;\n shopt -u dotglob;\n rmdir $prefix/sbin;\n ln -s bin $prefix/sbin\n}\n_moveSystemdUserUnits ()\n{\n \n if [ "${dontMoveSystemdUserUnits:-0}" = 1 ]; then\n return;\n fi;\n if [ ! -e "${prefix:?}/lib/systemd/user" ]; then\n return;\n fi;\n local source="$prefix/lib/systemd/user";\n local target="$prefix/share/systemd/user";\n echo "moving $source/* to $target";\n mkdir -p "$target";\n ( shopt -s dotglob;\n for i in "$source"/*;\n do\n mv "$i" "$target";\n done );\n rmdir "$source";\n ln -s "$target" "$source"\n}\n_moveToShare ()\n{\n \n if [ -n "$__structuredAttrs" ]; then\n if [ -z "${forceShare-}" ]; then\n forceShare=(man doc info);\n fi;\n else\n forceShare=(${forceShare:-man doc info});\n fi;\n if [[ -z "$out" ]]; then\n return;\n fi;\n for d in "${forceShare[@]}";\n do\n if [ -d "$out/$d" ]; then\n if [ -d "$out/share/$d" ]; then\n echo "both $d/ and share/$d/ exist!";\n else\n echo "moving $out/$d to $out/share/$d";\n mkdir -p $out/share;\n mv $out/$d $out/share/;\n fi;\n fi;\n done\n}\n_multioutConfig ()\n{\n \n if [ "$(getAllOutputNames)" = "out" ] || [ -z "${setOutputFlags-1}" ]; then\n return;\n fi;\n if [ -z "${shareDocName:-}" ]; then\n local confScript="${configureScript:-}";\n if [ -z "$confScript" ] && [ -x ./configure ]; then\n confScript=./configure;\n fi;\n if [ -f "$confScript" ]; then\n local shareDocName="$(sed -n "s/^PACKAGE_TARNAME=\'\\(.*\\)\'$/\\1/p" < "$confScript")";\n fi;\n if [ -z "$shareDocName" ] || echo "$shareDocName" | grep -q \'[^a-zA-Z0-9_-]\'; then\n shareDocName="$(echo "$name" | sed \'s/-[^a-zA-Z].*//\')";\n fi;\n fi;\n prependToVar configureFlags --bindir="${!outputBin}"/bin --sbindir="${!outputBin}"/sbin --includedir="${!outputInclude}"/include --mandir="${!outputMan}"/share/man --infodir="${!outputInfo}"/share/info --docdir="${!outputDoc}"/share/doc/"${shareDocName}" --libdir="${!outputLib}"/lib --libexecdir="${!outputLib}"/libexec --localedir="${!outputLib}"/share/locale;\n prependToVar installFlags pkgconfigdir="${!outputDev}"/lib/pkgconfig m4datadir="${!outputDev}"/share/aclocal aclocaldir="${!outputDev}"/share/aclocal\n}\n_multioutDevs ()\n{\n \n if [ "$(getAllOutputNames)" = "out" ] || [ -z "${moveToDev-1}" ]; then\n return;\n fi;\n moveToOutput include "${!outputInclude}";\n moveToOutput lib/pkgconfig "${!outputDev}";\n moveToOutput share/pkgconfig "${!outputDev}";\n moveToOutput lib/cmake "${!outputDev}";\n moveToOutput share/aclocal "${!outputDev}";\n for f in "${!outputDev}"/{lib,share}/pkgconfig/*.pc;\n do\n echo "Patching \'$f\' includedir to output ${!outputInclude}";\n sed -i "/^includedir=/s,=\\${prefix},=${!outputInclude}," "$f";\n done\n}\n_multioutDocs ()\n{\n \n local REMOVE=REMOVE;\n moveToOutput share/info "${!outputInfo}";\n moveToOutput share/doc "${!outputDoc}";\n moveToOutput share/gtk-doc "${!outputDevdoc}";\n moveToOutput share/devhelp/books "${!outputDevdoc}";\n moveToOutput share/man "${!outputMan}";\n moveToOutput share/man/man3 "${!outputDevman}"\n}\n_multioutPropagateDev ()\n{\n \n if [ "$(getAllOutputNames)" = "out" ]; then\n return;\n fi;\n local outputFirst;\n for outputFirst in $(getAllOutputNames);\n do\n break;\n done;\n local propagaterOutput="$outputDev";\n if [ -z "$propagaterOutput" ]; then\n propagaterOutput="$outputFirst";\n fi;\n if [ -z "${propagatedBuildOutputs+1}" ]; then\n local po_dirty="$outputBin $outputInclude $outputLib";\n set +o pipefail;\n propagatedBuildOutputs=`echo "$po_dirty" | tr -s \' \' \'\\n\' | grep -v -F "$propagaterOutput" | sort -u | tr \'\\n\' \' \' `;\n set -o pipefail;\n fi;\n if [ -z "$propagatedBuildOutputs" ]; then\n return;\n fi;\n mkdir -p "${!propagaterOutput}"/nix-support;\n for output in $propagatedBuildOutputs;\n do\n echo -n " ${!output}" >> "${!propagaterOutput}"/nix-support/propagated-build-inputs;\n done\n}\n_nixLogWithLevel ()\n{\n \n [[ -z ${NIX_LOG_FD-} || ${NIX_DEBUG:-0} -lt ${1:?} ]] && return 0;\n local logLevel;\n case "${1:?}" in \n 0)\n logLevel=ERROR\n ;;\n 1)\n logLevel=WARN\n ;;\n 2)\n logLevel=NOTICE\n ;;\n 3)\n logLevel=INFO\n ;;\n 4)\n logLevel=TALKATIVE\n ;;\n 5)\n logLevel=CHATTY\n ;;\n 6)\n logLevel=DEBUG\n ;;\n 7)\n logLevel=VOMIT\n ;;\n *)\n echo "_nixLogWithLevel: called with invalid log level: ${1:?}" >&"$NIX_LOG_FD";\n return 1\n ;;\n esac;\n local callerName="${FUNCNAME[2]}";\n if [[ $callerName == "_callImplicitHook" ]]; then\n callerName="${hookName:?}";\n fi;\n printf "%s: %s: %s\\n" "$logLevel" "$callerName" "${2:?}" >&"$NIX_LOG_FD"\n}\n_overrideFirst ()\n{\n \n if [ -z "${!1-}" ]; then\n _assignFirst "$@";\n fi\n}\n_pruneLibtoolFiles ()\n{\n \n if [ "${dontPruneLibtoolFiles-}" ] || [ ! -e "$prefix" ]; then\n return;\n fi;\n find "$prefix" -type f -name \'*.la\' -exec grep -q \'^# Generated by .*libtool\' {} \\; -exec grep -q "^old_library=\'\'" {} \\; -exec sed -i {} -e "/^dependency_libs=\'[^\']/ c dependency_libs=\'\' #pruned" \\;\n}\n_updateSourceDateEpochFromSourceRoot ()\n{\n \n if [ -n "$sourceRoot" ]; then\n updateSourceDateEpoch "$sourceRoot";\n fi\n}\nactivatePackage ()\n{\n \n local pkg="$1";\n local -r hostOffset="$2";\n local -r targetOffset="$3";\n (( hostOffset <= targetOffset )) || exit 1;\n if [ -f "$pkg" ]; then\n nixTalkativeLog "sourcing setup hook \'$pkg\'";\n source "$pkg";\n fi;\n if [[ -z "${strictDeps-}" || "$hostOffset" -le -1 ]]; then\n addToSearchPath _PATH "$pkg/bin";\n fi;\n if (( hostOffset <= -1 )); then\n addToSearchPath _XDG_DATA_DIRS "$pkg/share";\n fi;\n if [[ "$hostOffset" -eq 0 && -d "$pkg/bin" ]]; then\n addToSearchPath _HOST_PATH "$pkg/bin";\n fi;\n if [[ -f "$pkg/nix-support/setup-hook" ]]; then\n nixTalkativeLog "sourcing setup hook \'$pkg/nix-support/setup-hook\'";\n source "$pkg/nix-support/setup-hook";\n fi\n}\naddEnvHooks ()\n{\n \n local depHostOffset="$1";\n shift;\n local pkgHookVarsSlice="${pkgHookVarVars[$depHostOffset + 1]}[@]";\n local pkgHookVar;\n for pkgHookVar in "${!pkgHookVarsSlice}";\n do\n eval "${pkgHookVar}s"\'+=("$@")\';\n done\n}\naddNodePath ()\n{\n \n addToSearchPath NODE_PATH "$1/lib/node_modules"\n}\naddPythonPath ()\n{\n \n addToSearchPathWithCustomDelimiter : PYTHONPATH $1/lib/python3.13/site-packages\n}\naddToSearchPath ()\n{\n \n addToSearchPathWithCustomDelimiter ":" "$@"\n}\naddToSearchPathWithCustomDelimiter ()\n{\n \n local delimiter="$1";\n local varName="$2";\n local dir="$3";\n if [[ -d "$dir" && "${!varName:+${delimiter}${!varName}${delimiter}}" != *"${delimiter}${dir}${delimiter}"* ]]; then\n export "${varName}=${!varName:+${!varName}${delimiter}}${dir}";\n fi\n}\nappendToVar ()\n{\n \n local -n nameref="$1";\n local useArray type;\n if [ -n "$__structuredAttrs" ]; then\n useArray=true;\n else\n useArray=false;\n fi;\n if type=$(declare -p "$1" 2> /dev/null); then\n case "${type#* }" in \n -A*)\n echo "appendToVar(): ERROR: trying to use appendToVar on an associative array, use variable+=([\\"X\\"]=\\"Y\\") instead." 1>&2;\n return 1\n ;;\n -a*)\n useArray=true\n ;;\n *)\n useArray=false\n ;;\n esac;\n fi;\n shift;\n if $useArray; then\n nameref=(${nameref+"${nameref[@]}"} "$@");\n else\n nameref="${nameref-} $*";\n fi\n}\nauditTmpdir ()\n{\n \n local dir="$1";\n [ -e "$dir" ] || return 0;\n echo "checking for references to $TMPDIR/ in $dir...";\n local tmpdir elf_fifo script_fifo;\n tmpdir="$(mktemp -d)";\n elf_fifo="$tmpdir/elf";\n script_fifo="$tmpdir/script";\n mkfifo "$elf_fifo" "$script_fifo";\n ( find "$dir" -type f -not -path \'*/.build-id/*\' -print0 | while IFS= read -r -d \'\' file; do\n if isELF "$file"; then\n printf \'%s\\0\' "$file" 1>&3;\n else\n if isScript "$file"; then\n filename=${file##*/};\n dir=${file%/*};\n if [ -e "$dir/.$filename-wrapped" ]; then\n printf \'%s\\0\' "$file" 1>&4;\n fi;\n fi;\n fi;\n done;\n exec 3>&- 4>&- ) 3> "$elf_fifo" 4> "$script_fifo" & ( xargs -0 -r -P "$NIX_BUILD_CORES" -n 1 sh -c \'\n if { printf :; patchelf --print-rpath "$1"; } | grep -q -F ":$TMPDIR/"; then\n echo "RPATH of binary $1 contains a forbidden reference to $TMPDIR/"\n exit 1\n fi\n \' _ < "$elf_fifo" ) & local pid_elf=$!;\n local pid_script;\n ( xargs -0 -r -P "$NIX_BUILD_CORES" -n 1 sh -c \'\n if grep -q -F "$TMPDIR/" "$1"; then\n echo "wrapper script $1 contains a forbidden reference to $TMPDIR/"\n exit 1\n fi\n \' _ < "$script_fifo" ) & local pid_script=$!;\n wait "$pid_elf" || { \n echo "Some binaries contain forbidden references to $TMPDIR/. Check the error above!";\n exit 1\n };\n wait "$pid_script" || { \n echo "Some scripts contain forbidden references to $TMPDIR/. Check the error above!";\n exit 1\n };\n rm -r "$tmpdir"\n}\nbintoolsWrapper_addLDVars ()\n{\n \n local role_post;\n getHostRoleEnvHook;\n if [[ -d "$1/lib64" && ! -L "$1/lib64" ]]; then\n export NIX_LDFLAGS${role_post}+=" -L$1/lib64";\n fi;\n if [[ -d "$1/lib" ]]; then\n local -a glob=($1/lib/lib*);\n if [ "${#glob[*]}" -gt 0 ]; then\n export NIX_LDFLAGS${role_post}+=" -L$1/lib";\n fi;\n fi\n}\nbuildPhase ()\n{\n \n runHook preBuild;\n if [[ -z "${makeFlags-}" && -z "${makefile:-}" && ! ( -e Makefile || -e makefile || -e GNUmakefile ) ]]; then\n echo "no Makefile or custom buildPhase, doing nothing";\n else\n foundMakefile=1;\n local flagsArray=(${enableParallelBuilding:+-j${NIX_BUILD_CORES}} SHELL="$SHELL");\n concatTo flagsArray makeFlags makeFlagsArray buildFlags buildFlagsArray;\n echoCmd \'build flags\' "${flagsArray[@]}";\n make ${makefile:+-f $makefile} "${flagsArray[@]}";\n unset flagsArray;\n fi;\n runHook postBuild\n}\nccWrapper_addCVars ()\n{\n \n local role_post;\n getHostRoleEnvHook;\n local found=;\n if [ -d "$1/include" ]; then\n export NIX_CFLAGS_COMPILE${role_post}+=" -isystem $1/include";\n found=1;\n fi;\n if [ -d "$1/Library/Frameworks" ]; then\n export NIX_CFLAGS_COMPILE${role_post}+=" -iframework $1/Library/Frameworks";\n found=1;\n fi;\n if [[ -n "" && -n ${NIX_STORE:-} && -n $found ]]; then\n local scrubbed="$NIX_STORE/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-${1#"$NIX_STORE"/*-}";\n export NIX_CFLAGS_COMPILE${role_post}+=" -fmacro-prefix-map=$1=$scrubbed";\n fi\n}\ncheckPhase ()\n{\n \n runHook preCheck;\n if [[ -z "${foundMakefile:-}" ]]; then\n echo "no Makefile or custom checkPhase, doing nothing";\n runHook postCheck;\n return;\n fi;\n if [[ -z "${checkTarget:-}" ]]; then\n if make -n ${makefile:+-f $makefile} check > /dev/null 2>&1; then\n checkTarget="check";\n else\n if make -n ${makefile:+-f $makefile} test > /dev/null 2>&1; then\n checkTarget="test";\n fi;\n fi;\n fi;\n if [[ -z "${checkTarget:-}" ]]; then\n echo "no check/test target in ${makefile:-Makefile}, doing nothing";\n else\n local flagsArray=(${enableParallelChecking:+-j${NIX_BUILD_CORES}} SHELL="$SHELL");\n concatTo flagsArray makeFlags makeFlagsArray checkFlags=VERBOSE=y checkFlagsArray checkTarget;\n echoCmd \'check flags\' "${flagsArray[@]}";\n make ${makefile:+-f $makefile} "${flagsArray[@]}";\n unset flagsArray;\n fi;\n runHook postCheck\n}\ncompressManPages ()\n{\n \n local dir="$1";\n if [ -L "$dir"/share ] || [ -L "$dir"/share/man ] || [ ! -d "$dir/share/man" ]; then\n return;\n fi;\n echo "gzipping man pages under $dir/share/man/";\n find "$dir"/share/man/ -type f -a \'!\' -regex \'.*\\.\\(bz2\\|gz\\|xz\\)$\' -print0 | xargs -0 -n1 -P "$NIX_BUILD_CORES" gzip -n -f;\n find "$dir"/share/man/ -type l -a \'!\' -regex \'.*\\.\\(bz2\\|gz\\|xz\\)$\' -print0 | sort -z | while IFS= read -r -d \'\' f; do\n local target;\n target="$(readlink -f "$f")";\n if [ -f "$target".gz ]; then\n ln -sf "$target".gz "$f".gz && rm "$f";\n fi;\n done\n}\nconcatStringsSep ()\n{\n \n local sep="$1";\n local name="$2";\n local type oldifs;\n if type=$(declare -p "$name" 2> /dev/null); then\n local -n nameref="$name";\n case "${type#* }" in \n -A*)\n echo "concatStringsSep(): ERROR: trying to use concatStringsSep on an associative array." 1>&2;\n return 1\n ;;\n -a*)\n local IFS="$(printf \'\\036\')"\n ;;\n *)\n local IFS=" "\n ;;\n esac;\n local ifs_separated="${nameref[*]}";\n echo -n "${ifs_separated//"$IFS"/"$sep"}";\n fi\n}\nconcatTo ()\n{\n \n local -;\n set -o noglob;\n local -n targetref="$1";\n shift;\n local arg default name type;\n for arg in "$@";\n do\n IFS="=" read -r name default <<< "$arg";\n local -n nameref="$name";\n if [[ -z "${nameref[*]}" && -n "$default" ]]; then\n targetref+=("$default");\n else\n if type=$(declare -p "$name" 2> /dev/null); then\n case "${type#* }" in \n -A*)\n echo "concatTo(): ERROR: trying to use concatTo on an associative array." 1>&2;\n return 1\n ;;\n -a*)\n targetref+=("${nameref[@]}")\n ;;\n *)\n if [[ "$name" = *"Array" ]]; then\n nixErrorLog "concatTo(): $name is not declared as array, treating as a singleton. This will become an error in future";\n targetref+=(${nameref+"${nameref[@]}"});\n else\n targetref+=(${nameref-});\n fi\n ;;\n esac;\n fi;\n fi;\n done\n}\nconfigurePhase ()\n{\n \n runHook preConfigure;\n : "${configureScript=}";\n if [[ -z "$configureScript" && -x ./configure ]]; then\n configureScript=./configure;\n fi;\n if [ -z "${dontFixLibtool:-}" ]; then\n export lt_cv_deplibs_check_method="${lt_cv_deplibs_check_method-pass_all}";\n local i;\n find . -iname "ltmain.sh" -print0 | while IFS=\'\' read -r -d \'\' i; do\n echo "fixing libtool script $i";\n fixLibtool "$i";\n done;\n CONFIGURE_MTIME_REFERENCE=$(mktemp configure.mtime.reference.XXXXXX);\n find . -executable -type f -name configure -exec grep -l \'GNU Libtool is free software; you can redistribute it and/or modify\' {} \\; -exec touch -r {} "$CONFIGURE_MTIME_REFERENCE" \\; -exec sed -i s_/usr/bin/file_file_g {} \\; -exec touch -r "$CONFIGURE_MTIME_REFERENCE" {} \\;;\n rm -f "$CONFIGURE_MTIME_REFERENCE";\n fi;\n if [[ -z "${dontAddPrefix:-}" && -n "$prefix" ]]; then\n prependToVar configureFlags "${prefixKey:---prefix=}$prefix";\n fi;\n if [[ -f "$configureScript" ]]; then\n if [ -z "${dontAddDisableDepTrack:-}" ]; then\n if grep -q dependency-tracking "$configureScript"; then\n prependToVar configureFlags --disable-dependency-tracking;\n fi;\n fi;\n if [ -z "${dontDisableStatic:-}" ]; then\n if grep -q enable-static "$configureScript"; then\n prependToVar configureFlags --disable-static;\n fi;\n fi;\n if [ -z "${dontPatchShebangsInConfigure:-}" ]; then\n patchShebangs --build "$configureScript";\n fi;\n fi;\n if [ -n "$configureScript" ]; then\n local -a flagsArray;\n concatTo flagsArray configureFlags configureFlagsArray;\n echoCmd \'configure flags\' "${flagsArray[@]}";\n $configureScript "${flagsArray[@]}";\n unset flagsArray;\n else\n echo "no configure script, doing nothing";\n fi;\n runHook postConfigure\n}\nconsumeEntire ()\n{\n \n if IFS=\'\' read -r -d \'\' "$1"; then\n echo "consumeEntire(): ERROR: Input null bytes, won\'t process" 1>&2;\n return 1;\n fi\n}\ndistPhase ()\n{\n \n runHook preDist;\n local flagsArray=();\n concatTo flagsArray distFlags distFlagsArray distTarget=dist;\n echo \'dist flags: %q\' "${flagsArray[@]}";\n make ${makefile:+-f $makefile} "${flagsArray[@]}";\n if [ "${dontCopyDist:-0}" != 1 ]; then\n mkdir -p "$out/tarballs";\n cp -pvd ${tarballs[*]:-*.tar.gz} "$out/tarballs";\n fi;\n runHook postDist\n}\ndumpVars ()\n{\n \n if [[ "${noDumpEnvVars:-0}" != 1 && -d "$NIX_BUILD_TOP" ]]; then\n local old_umask;\n old_umask=$(umask);\n umask 0077;\n export 2> /dev/null > "$NIX_BUILD_TOP/env-vars";\n umask "$old_umask";\n fi\n}\nechoCmd ()\n{\n \n printf "%s:" "$1";\n shift;\n printf \' %q\' "$@";\n echo\n}\nexitHandler ()\n{\n \n exitCode="$?";\n set +e;\n if [ -n "${showBuildStats:-}" ]; then\n read -r -d \'\' -a buildTimes < <(times);\n echo "build times:";\n echo "user time for the shell ${buildTimes[0]}";\n echo "system time for the shell ${buildTimes[1]}";\n echo "user time for all child processes ${buildTimes[2]}";\n echo "system time for all child processes ${buildTimes[3]}";\n fi;\n if (( "$exitCode" != 0 )); then\n runHook failureHook;\n if [ -n "${succeedOnFailure:-}" ]; then\n echo "build failed with exit code $exitCode (ignored)";\n mkdir -p "$out/nix-support";\n printf "%s" "$exitCode" > "$out/nix-support/failed";\n exit 0;\n fi;\n else\n runHook exitHook;\n fi;\n return "$exitCode"\n}\nfindInputs ()\n{\n \n local -r pkg="$1";\n local -r hostOffset="$2";\n local -r targetOffset="$3";\n (( hostOffset <= targetOffset )) || exit 1;\n local varVar="${pkgAccumVarVars[hostOffset + 1]}";\n local varRef="$varVar[$((targetOffset - hostOffset))]";\n local var="${!varRef}";\n unset -v varVar varRef;\n local varSlice="$var[*]";\n case " ${!varSlice-} " in \n *" $pkg "*)\n return 0\n ;;\n esac;\n unset -v varSlice;\n eval "$var"\'+=("$pkg")\';\n if ! [ -e "$pkg" ]; then\n echo "build input $pkg does not exist" 1>&2;\n exit 1;\n fi;\n function mapOffset () \n { \n local -r inputOffset="$1";\n local -n outputOffset="$2";\n if (( inputOffset <= 0 )); then\n outputOffset=$((inputOffset + hostOffset));\n else\n outputOffset=$((inputOffset - 1 + targetOffset));\n fi\n };\n local relHostOffset;\n for relHostOffset in "${allPlatOffsets[@]}";\n do\n local files="${propagatedDepFilesVars[relHostOffset + 1]}";\n local hostOffsetNext;\n mapOffset "$relHostOffset" hostOffsetNext;\n (( -1 <= hostOffsetNext && hostOffsetNext <= 1 )) || continue;\n local relTargetOffset;\n for relTargetOffset in "${allPlatOffsets[@]}";\n do\n (( "$relHostOffset" <= "$relTargetOffset" )) || continue;\n local fileRef="${files}[$relTargetOffset - $relHostOffset]";\n local file="${!fileRef}";\n unset -v fileRef;\n local targetOffsetNext;\n mapOffset "$relTargetOffset" targetOffsetNext;\n (( -1 <= hostOffsetNext && hostOffsetNext <= 1 )) || continue;\n [[ -f "$pkg/nix-support/$file" ]] || continue;\n local pkgNext;\n read -r -d \'\' pkgNext < "$pkg/nix-support/$file" || true;\n for pkgNext in $pkgNext;\n do\n findInputs "$pkgNext" "$hostOffsetNext" "$targetOffsetNext";\n done;\n done;\n done\n}\nfixLibtool ()\n{\n \n local search_path;\n for flag in $NIX_LDFLAGS;\n do\n case $flag in \n -L*)\n search_path+=" ${flag#-L}"\n ;;\n esac;\n done;\n sed -i "$1" -e "s^eval \\(sys_lib_search_path=\\).*^\\1\'${search_path:-}\'^" -e \'s^eval sys_lib_.+search_path=.*^^\'\n}\nfixupPhase ()\n{\n \n local output;\n for output in $(getAllOutputNames);\n do\n if [ -e "${!output}" ]; then\n chmod -R u+w,u-s,g-s "${!output}";\n fi;\n done;\n runHook preFixup;\n local output;\n for output in $(getAllOutputNames);\n do\n prefix="${!output}" runHook fixupOutput;\n done;\n recordPropagatedDependencies;\n if [ -n "${setupHook:-}" ]; then\n mkdir -p "${!outputDev}/nix-support";\n substituteAll "$setupHook" "${!outputDev}/nix-support/setup-hook";\n fi;\n if [ -n "${setupHooks:-}" ]; then\n mkdir -p "${!outputDev}/nix-support";\n local hook;\n for hook in ${setupHooks[@]};\n do\n local content;\n consumeEntire content < "$hook";\n substituteAllStream content "file \'$hook\'" >> "${!outputDev}/nix-support/setup-hook";\n unset -v content;\n done;\n unset -v hook;\n fi;\n if [ -n "${propagatedUserEnvPkgs[*]:-}" ]; then\n mkdir -p "${!outputBin}/nix-support";\n printWords "${propagatedUserEnvPkgs[@]}" > "${!outputBin}/nix-support/propagated-user-env-packages";\n fi;\n runHook postFixup\n}\ngenericBuild ()\n{\n \n export GZIP_NO_TIMESTAMPS=1;\n if [ -f "${buildCommandPath:-}" ]; then\n source "$buildCommandPath";\n return;\n fi;\n if [ -n "${buildCommand:-}" ]; then\n eval "$buildCommand";\n return;\n fi;\n if [ -z "${phases[*]:-}" ]; then\n phases="${prePhases[*]:-} unpackPhase patchPhase ${preConfigurePhases[*]:-} configurePhase ${preBuildPhases[*]:-} buildPhase checkPhase ${preInstallPhases[*]:-} installPhase ${preFixupPhases[*]:-} fixupPhase installCheckPhase ${preDistPhases[*]:-} distPhase ${postPhases[*]:-}";\n fi;\n for curPhase in ${phases[*]};\n do\n runPhase "$curPhase";\n done\n}\ngetAllOutputNames ()\n{\n \n if [ -n "$__structuredAttrs" ]; then\n echo "${!outputs[*]}";\n else\n echo "$outputs";\n fi\n}\ngetHostRole ()\n{\n \n getRole "$hostOffset"\n}\ngetHostRoleEnvHook ()\n{\n \n getRole "$depHostOffset"\n}\ngetRole ()\n{\n \n case $1 in \n -1)\n role_post=\'_FOR_BUILD\'\n ;;\n 0)\n role_post=\'\'\n ;;\n 1)\n role_post=\'_FOR_TARGET\'\n ;;\n *)\n echo "binutils-wrapper-2.44: used as improper sort of dependency" 1>&2;\n return 1\n ;;\n esac\n}\ngetTargetRole ()\n{\n \n getRole "$targetOffset"\n}\ngetTargetRoleEnvHook ()\n{\n \n getRole "$depTargetOffset"\n}\ngetTargetRoleWrapper ()\n{\n \n case $targetOffset in \n -1)\n export NIX_BINTOOLS_WRAPPER_TARGET_BUILD_x86_64_unknown_linux_gnu=1\n ;;\n 0)\n export NIX_BINTOOLS_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu=1\n ;;\n 1)\n export NIX_BINTOOLS_WRAPPER_TARGET_TARGET_x86_64_unknown_linux_gnu=1\n ;;\n *)\n echo "binutils-wrapper-2.44: used as improper sort of dependency" 1>&2;\n return 1\n ;;\n esac\n}\ninstallCheckPhase ()\n{\n \n runHook preInstallCheck;\n if [[ -z "${foundMakefile:-}" ]]; then\n echo "no Makefile or custom installCheckPhase, doing nothing";\n else\n if [[ -z "${installCheckTarget:-}" ]] && ! make -n ${makefile:+-f $makefile} "${installCheckTarget:-installcheck}" > /dev/null 2>&1; then\n echo "no installcheck target in ${makefile:-Makefile}, doing nothing";\n else\n local flagsArray=(${enableParallelChecking:+-j${NIX_BUILD_CORES}} SHELL="$SHELL");\n concatTo flagsArray makeFlags makeFlagsArray installCheckFlags installCheckFlagsArray installCheckTarget=installcheck;\n echoCmd \'installcheck flags\' "${flagsArray[@]}";\n make ${makefile:+-f $makefile} "${flagsArray[@]}";\n unset flagsArray;\n fi;\n fi;\n runHook postInstallCheck\n}\ninstallPhase ()\n{\n \n runHook preInstall;\n if [[ -z "${makeFlags-}" && -z "${makefile:-}" && ! ( -e Makefile || -e makefile || -e GNUmakefile ) ]]; then\n echo "no Makefile or custom installPhase, doing nothing";\n runHook postInstall;\n return;\n else\n foundMakefile=1;\n fi;\n if [ -n "$prefix" ]; then\n mkdir -p "$prefix";\n fi;\n local flagsArray=(${enableParallelInstalling:+-j${NIX_BUILD_CORES}} SHELL="$SHELL");\n concatTo flagsArray makeFlags makeFlagsArray installFlags installFlagsArray installTargets=install;\n echoCmd \'install flags\' "${flagsArray[@]}";\n make ${makefile:+-f $makefile} "${flagsArray[@]}";\n unset flagsArray;\n runHook postInstall\n}\nisELF ()\n{\n \n local fn="$1";\n local fd;\n local magic;\n exec {fd}< "$fn";\n LANG=C read -r -n 4 -u "$fd" magic;\n exec {fd}>&-;\n if [ "$magic" = \'\177ELF\' ]; then\n return 0;\n else\n return 1;\n fi\n}\nisMachO ()\n{\n \n local fn="$1";\n local fd;\n local magic;\n exec {fd}< "$fn";\n LANG=C read -r -n 4 -u "$fd" magic;\n exec {fd}>&-;\n if [[ "$magic" = $(echo -ne "\\xfe\\xed\\xfa\\xcf") || "$magic" = $(echo -ne "\\xcf\\xfa\\xed\\xfe") ]]; then\n return 0;\n else\n if [[ "$magic" = $(echo -ne "\\xfe\\xed\\xfa\\xce") || "$magic" = $(echo -ne "\\xce\\xfa\\xed\\xfe") ]]; then\n return 0;\n else\n if [[ "$magic" = $(echo -ne "\\xca\\xfe\\xba\\xbe") || "$magic" = $(echo -ne "\\xbe\\xba\\xfe\\xca") ]]; then\n return 0;\n else\n return 1;\n fi;\n fi;\n fi\n}\nisScript ()\n{\n \n local fn="$1";\n local fd;\n local magic;\n exec {fd}< "$fn";\n LANG=C read -r -n 2 -u "$fd" magic;\n exec {fd}>&-;\n if [[ "$magic" =~ \\#! ]]; then\n return 0;\n else\n return 1;\n fi\n}\nmapOffset ()\n{\n \n local -r inputOffset="$1";\n local -n outputOffset="$2";\n if (( inputOffset <= 0 )); then\n outputOffset=$((inputOffset + hostOffset));\n else\n outputOffset=$((inputOffset - 1 + targetOffset));\n fi\n}\nmoveToOutput ()\n{\n \n local patt="$1";\n local dstOut="$2";\n local output;\n for output in $(getAllOutputNames);\n do\n if [ "${!output}" = "$dstOut" ]; then\n continue;\n fi;\n local srcPath;\n for srcPath in "${!output}"/$patt;\n do\n if [ ! -e "$srcPath" ] && [ ! -L "$srcPath" ]; then\n continue;\n fi;\n if [ "$dstOut" = REMOVE ]; then\n echo "Removing $srcPath";\n rm -r "$srcPath";\n else\n local dstPath="$dstOut${srcPath#${!output}}";\n echo "Moving $srcPath to $dstPath";\n if [ -d "$dstPath" ] && [ -d "$srcPath" ]; then\n rmdir "$srcPath" --ignore-fail-on-non-empty;\n if [ -d "$srcPath" ]; then\n mv -t "$dstPath" "$srcPath"/*;\n rmdir "$srcPath";\n fi;\n else\n mkdir -p "$(readlink -m "$dstPath/..")";\n mv "$srcPath" "$dstPath";\n fi;\n fi;\n local srcParent="$(readlink -m "$srcPath/..")";\n if [ -n "$(find "$srcParent" -maxdepth 0 -type d -empty 2> /dev/null)" ]; then\n echo "Removing empty $srcParent/ and (possibly) its parents";\n rmdir -p --ignore-fail-on-non-empty "$srcParent" 2> /dev/null || true;\n fi;\n done;\n done\n}\nnixChattyLog ()\n{\n \n _nixLogWithLevel 5 "$*"\n}\nnixDebugLog ()\n{\n \n _nixLogWithLevel 6 "$*"\n}\nnixErrorLog ()\n{\n \n _nixLogWithLevel 0 "$*"\n}\nnixInfoLog ()\n{\n \n _nixLogWithLevel 3 "$*"\n}\nnixLog ()\n{\n \n [[ -z ${NIX_LOG_FD-} ]] && return 0;\n local callerName="${FUNCNAME[1]}";\n if [[ $callerName == "_callImplicitHook" ]]; then\n callerName="${hookName:?}";\n fi;\n printf "%s: %s\\n" "$callerName" "$*" >&"$NIX_LOG_FD"\n}\nnixNoticeLog ()\n{\n \n _nixLogWithLevel 2 "$*"\n}\nnixTalkativeLog ()\n{\n \n _nixLogWithLevel 4 "$*"\n}\nnixVomitLog ()\n{\n \n _nixLogWithLevel 7 "$*"\n}\nnixWarnLog ()\n{\n \n _nixLogWithLevel 1 "$*"\n}\nnoBrokenSymlinks ()\n{\n \n local -r output="${1:?}";\n local path;\n local pathParent;\n local symlinkTarget;\n local -i numDanglingSymlinks=0;\n local -i numReflexiveSymlinks=0;\n local -i numUnreadableSymlinks=0;\n if [[ ! -e $output ]]; then\n nixWarnLog "skipping non-existent output $output";\n return 0;\n fi;\n nixInfoLog "running on $output";\n while IFS= read -r -d \'\' path; do\n pathParent="$(dirname "$path")";\n if ! symlinkTarget="$(readlink "$path")"; then\n nixErrorLog "the symlink $path is unreadable";\n numUnreadableSymlinks+=1;\n continue;\n fi;\n if [[ $symlinkTarget == /* ]]; then\n nixInfoLog "symlink $path points to absolute target $symlinkTarget";\n else\n nixInfoLog "symlink $path points to relative target $symlinkTarget";\n symlinkTarget="$(realpath --no-symlinks --canonicalize-missing "$pathParent/$symlinkTarget")";\n fi;\n if [[ $symlinkTarget = "$TMPDIR"/* ]]; then\n nixErrorLog "the symlink $path points to $TMPDIR directory: $symlinkTarget";\n numDanglingSymlinks+=1;\n continue;\n fi;\n if [[ $symlinkTarget != "$NIX_STORE"/* ]]; then\n nixInfoLog "symlink $path points outside the Nix store; ignoring";\n continue;\n fi;\n if [[ $path == "$symlinkTarget" ]]; then\n nixErrorLog "the symlink $path is reflexive";\n numReflexiveSymlinks+=1;\n else\n if [[ ! -e $symlinkTarget ]]; then\n nixErrorLog "the symlink $path points to a missing target: $symlinkTarget";\n numDanglingSymlinks+=1;\n else\n nixDebugLog "the symlink $path is irreflexive and points to a target which exists";\n fi;\n fi;\n done < <(find "$output" -type l -print0);\n if ((numDanglingSymlinks > 0 || numReflexiveSymlinks > 0 || numUnreadableSymlinks > 0)); then\n nixErrorLog "found $numDanglingSymlinks dangling symlinks, $numReflexiveSymlinks reflexive symlinks and $numUnreadableSymlinks unreadable symlinks";\n exit 1;\n fi;\n return 0\n}\nnoBrokenSymlinksInAllOutputs ()\n{\n \n if [[ -z ${dontCheckForBrokenSymlinks-} ]]; then\n for output in $(getAllOutputNames);\n do\n noBrokenSymlinks "${!output}";\n done;\n fi\n}\npatchELF ()\n{\n \n local dir="$1";\n [ -e "$dir" ] || return 0;\n echo "shrinking RPATHs of ELF executables and libraries in $dir";\n local i;\n while IFS= read -r -d \'\' i; do\n if [[ "$i" =~ .build-id ]]; then\n continue;\n fi;\n if ! isELF "$i"; then\n continue;\n fi;\n echo "shrinking $i";\n patchelf --shrink-rpath "$i" || true;\n done < <(find "$dir" -type f -print0)\n}\npatchPhase ()\n{\n \n runHook prePatch;\n local -a patchesArray;\n concatTo patchesArray patches;\n local -a flagsArray;\n concatTo flagsArray patchFlags=-p1;\n for i in "${patchesArray[@]}";\n do\n echo "applying patch $i";\n local uncompress=cat;\n case "$i" in \n *.gz)\n uncompress="gzip -d"\n ;;\n *.bz2)\n uncompress="bzip2 -d"\n ;;\n *.xz)\n uncompress="xz -d"\n ;;\n *.lzma)\n uncompress="lzma -d"\n ;;\n esac;\n $uncompress < "$i" 2>&1 | patch "${flagsArray[@]}";\n done;\n runHook postPatch\n}\npatchShebangs ()\n{\n \n local pathName;\n local update=false;\n while [[ $# -gt 0 ]]; do\n case "$1" in \n --host)\n pathName=HOST_PATH;\n shift\n ;;\n --build)\n pathName=PATH;\n shift\n ;;\n --update)\n update=true;\n shift\n ;;\n --)\n shift;\n break\n ;;\n -* | --*)\n echo "Unknown option $1 supplied to patchShebangs" 1>&2;\n return 1\n ;;\n *)\n break\n ;;\n esac;\n done;\n echo "patching script interpreter paths in $@";\n local f;\n local oldPath;\n local newPath;\n local arg0;\n local args;\n local oldInterpreterLine;\n local newInterpreterLine;\n if [[ $# -eq 0 ]]; then\n echo "No arguments supplied to patchShebangs" 1>&2;\n return 0;\n fi;\n local f;\n while IFS= read -r -d \'\' f; do\n isScript "$f" || continue;\n read -r oldInterpreterLine < "$f" || [ "$oldInterpreterLine" ];\n read -r oldPath arg0 args <<< "${oldInterpreterLine:2}";\n if [[ -z "${pathName:-}" ]]; then\n if [[ -n $strictDeps && $f == "$NIX_STORE"* ]]; then\n pathName=HOST_PATH;\n else\n pathName=PATH;\n fi;\n fi;\n if [[ "$oldPath" == *"/bin/env" ]]; then\n if [[ $arg0 == "-S" ]]; then\n arg0=${args%% *};\n [[ "$args" == *" "* ]] && args=${args#* } || args=;\n newPath="$(PATH="${!pathName}" type -P "env" || true)";\n args="-S $(PATH="${!pathName}" type -P "$arg0" || true) $args";\n else\n if [[ $arg0 == "-"* || $arg0 == *"="* ]]; then\n echo "$f: unsupported interpreter directive \\"$oldInterpreterLine\\" (set dontPatchShebangs=1 and handle shebang patching yourself)" 1>&2;\n exit 1;\n else\n newPath="$(PATH="${!pathName}" type -P "$arg0" || true)";\n fi;\n fi;\n else\n if [[ -z $oldPath ]]; then\n oldPath="/bin/sh";\n fi;\n newPath="$(PATH="${!pathName}" type -P "$(basename "$oldPath")" || true)";\n args="$arg0 $args";\n fi;\n newInterpreterLine="$newPath $args";\n newInterpreterLine=${newInterpreterLine%${newInterpreterLine##*[![:space:]]}};\n if [[ -n "$oldPath" && ( "$update" == true || "${oldPath:0:${#NIX_STORE}}" != "$NIX_STORE" ) ]]; then\n if [[ -n "$newPath" && "$newPath" != "$oldPath" ]]; then\n echo "$f: interpreter directive changed from \\"$oldInterpreterLine\\" to \\"$newInterpreterLine\\"";\n escapedInterpreterLine=${newInterpreterLine//\\\\/\\\\\\\\};\n timestamp=$(stat --printf "%y" "$f");\n tmpFile=$(mktemp -t patchShebangs.XXXXXXXXXX);\n sed -e "1 s|.*|#\\!$escapedInterpreterLine|" "$f" > "$tmpFile";\n local restoreReadOnly;\n if [[ ! -w "$f" ]]; then\n chmod +w "$f";\n restoreReadOnly=true;\n fi;\n cat "$tmpFile" > "$f";\n rm "$tmpFile";\n if [[ -n "${restoreReadOnly:-}" ]]; then\n chmod -w "$f";\n fi;\n touch --date "$timestamp" "$f";\n fi;\n fi;\n done < <(find "$@" -type f -perm -0100 -print0)\n}\npatchShebangsAuto ()\n{\n \n if [[ -z "${dontPatchShebangs-}" && -e "$prefix" ]]; then\n if [[ "$output" != out && "$output" = "$outputDev" ]]; then\n patchShebangs --build "$prefix";\n else\n patchShebangs --host "$prefix";\n fi;\n fi\n}\npkgConfigWrapper_addPkgConfigPath ()\n{\n \n local role_post;\n getHostRoleEnvHook;\n addToSearchPath "PKG_CONFIG_PATH${role_post}" "$1/lib/pkgconfig";\n addToSearchPath "PKG_CONFIG_PATH${role_post}" "$1/share/pkgconfig"\n}\nprependToVar ()\n{\n \n local -n nameref="$1";\n local useArray type;\n if [ -n "$__structuredAttrs" ]; then\n useArray=true;\n else\n useArray=false;\n fi;\n if type=$(declare -p "$1" 2> /dev/null); then\n case "${type#* }" in \n -A*)\n echo "prependToVar(): ERROR: trying to use prependToVar on an associative array." 1>&2;\n return 1\n ;;\n -a*)\n useArray=true\n ;;\n *)\n useArray=false\n ;;\n esac;\n fi;\n shift;\n if $useArray; then\n nameref=("$@" ${nameref+"${nameref[@]}"});\n else\n nameref="$* ${nameref-}";\n fi\n}\nprintLines ()\n{\n \n (( "$#" > 0 )) || return 0;\n printf \'%s\\n\' "$@"\n}\nprintWords ()\n{\n \n (( "$#" > 0 )) || return 0;\n printf \'%s \' "$@"\n}\nrecordPropagatedDependencies ()\n{\n \n declare -ra flatVars=(depsBuildBuildPropagated propagatedNativeBuildInputs depsBuildTargetPropagated depsHostHostPropagated propagatedBuildInputs depsTargetTargetPropagated);\n declare -ra flatFiles=("${propagatedBuildDepFiles[@]}" "${propagatedHostDepFiles[@]}" "${propagatedTargetDepFiles[@]}");\n local propagatedInputsIndex;\n for propagatedInputsIndex in "${!flatVars[@]}";\n do\n local propagatedInputsSlice="${flatVars[$propagatedInputsIndex]}[@]";\n local propagatedInputsFile="${flatFiles[$propagatedInputsIndex]}";\n [[ -n "${!propagatedInputsSlice}" ]] || continue;\n mkdir -p "${!outputDev}/nix-support";\n printWords ${!propagatedInputsSlice} > "${!outputDev}/nix-support/$propagatedInputsFile";\n done\n}\nrunHook ()\n{\n \n local hookName="$1";\n shift;\n local hooksSlice="${hookName%Hook}Hooks[@]";\n local hook;\n for hook in "_callImplicitHook 0 $hookName" ${!hooksSlice+"${!hooksSlice}"};\n do\n _logHook "$hookName" "$hook" "$@";\n _eval "$hook" "$@";\n done;\n return 0\n}\nrunOneHook ()\n{\n \n local hookName="$1";\n shift;\n local hooksSlice="${hookName%Hook}Hooks[@]";\n local hook ret=1;\n for hook in "_callImplicitHook 1 $hookName" ${!hooksSlice+"${!hooksSlice}"};\n do\n _logHook "$hookName" "$hook" "$@";\n if _eval "$hook" "$@"; then\n ret=0;\n break;\n fi;\n done;\n return "$ret"\n}\nrunPhase ()\n{\n \n local curPhase="$*";\n if [[ "$curPhase" = unpackPhase && -n "${dontUnpack:-}" ]]; then\n return;\n fi;\n if [[ "$curPhase" = patchPhase && -n "${dontPatch:-}" ]]; then\n return;\n fi;\n if [[ "$curPhase" = configurePhase && -n "${dontConfigure:-}" ]]; then\n return;\n fi;\n if [[ "$curPhase" = buildPhase && -n "${dontBuild:-}" ]]; then\n return;\n fi;\n if [[ "$curPhase" = checkPhase && -z "${doCheck:-}" ]]; then\n return;\n fi;\n if [[ "$curPhase" = installPhase && -n "${dontInstall:-}" ]]; then\n return;\n fi;\n if [[ "$curPhase" = fixupPhase && -n "${dontFixup:-}" ]]; then\n return;\n fi;\n if [[ "$curPhase" = installCheckPhase && -z "${doInstallCheck:-}" ]]; then\n return;\n fi;\n if [[ "$curPhase" = distPhase && -z "${doDist:-}" ]]; then\n return;\n fi;\n showPhaseHeader "$curPhase";\n dumpVars;\n local startTime endTime;\n startTime=$(date +"%s");\n eval "${!curPhase:-$curPhase}";\n endTime=$(date +"%s");\n showPhaseFooter "$curPhase" "$startTime" "$endTime";\n if [ "$curPhase" = unpackPhase ]; then\n [ -n "${sourceRoot:-}" ] && chmod +x -- "${sourceRoot}";\n cd -- "${sourceRoot:-.}";\n fi\n}\nshowPhaseFooter ()\n{\n \n local phase="$1";\n local startTime="$2";\n local endTime="$3";\n local delta=$(( endTime - startTime ));\n (( delta < 30 )) && return;\n local H=$((delta/3600));\n local M=$((delta%3600/60));\n local S=$((delta%60));\n echo -n "$phase completed in ";\n (( H > 0 )) && echo -n "$H hours ";\n (( M > 0 )) && echo -n "$M minutes ";\n echo "$S seconds"\n}\nshowPhaseHeader ()\n{\n \n local phase="$1";\n echo "Running phase: $phase";\n if [[ -z ${NIX_LOG_FD-} ]]; then\n return;\n fi;\n printf "@nix { \\"action\\": \\"setPhase\\", \\"phase\\": \\"%s\\" }\\n" "$phase" >&"$NIX_LOG_FD"\n}\nstripDirs ()\n{\n \n local cmd="$1";\n local ranlibCmd="$2";\n local paths="$3";\n local stripFlags="$4";\n local excludeFlags=();\n local pathsNew=;\n [ -z "$cmd" ] && echo "stripDirs: Strip command is empty" 1>&2 && exit 1;\n [ -z "$ranlibCmd" ] && echo "stripDirs: Ranlib command is empty" 1>&2 && exit 1;\n local pattern;\n if [ -n "${stripExclude:-}" ]; then\n for pattern in "${stripExclude[@]}";\n do\n excludeFlags+=(-a \'!\' \'(\' -name "$pattern" -o -wholename "$prefix/$pattern" \')\');\n done;\n fi;\n local p;\n for p in ${paths};\n do\n if [ -e "$prefix/$p" ]; then\n pathsNew="${pathsNew} $prefix/$p";\n fi;\n done;\n paths=${pathsNew};\n if [ -n "${paths}" ]; then\n echo "stripping (with command $cmd and flags $stripFlags) in $paths";\n local striperr;\n striperr="$(mktemp --tmpdir="$TMPDIR" \'striperr.XXXXXX\')";\n find $paths -type f "${excludeFlags[@]}" -a \'!\' -path "$prefix/lib/debug/*" -printf \'%D-%i,%p\\0\' | sort -t, -k1,1 -u -z | cut -d, -f2- -z | xargs -r -0 -n1 -P "$NIX_BUILD_CORES" -- $cmd $stripFlags 2> "$striperr" || exit_code=$?;\n [[ "$exit_code" = 123 || -z "$exit_code" ]] || ( cat "$striperr" 1>&2 && exit 1 );\n rm "$striperr";\n find $paths -name \'*.a\' -type f -exec $ranlibCmd \'{}\' \\; 2> /dev/null;\n fi\n}\nstripHash ()\n{\n \n local strippedName casematchOpt=0;\n strippedName="$(basename -- "$1")";\n shopt -q nocasematch && casematchOpt=1;\n shopt -u nocasematch;\n if [[ "$strippedName" =~ ^[a-z0-9]{32}- ]]; then\n echo "${strippedName:33}";\n else\n echo "$strippedName";\n fi;\n if (( casematchOpt )); then\n shopt -s nocasematch;\n fi\n}\nsubstitute ()\n{\n \n local input="$1";\n local output="$2";\n shift 2;\n if [ ! -f "$input" ]; then\n echo "substitute(): ERROR: file \'$input\' does not exist" 1>&2;\n return 1;\n fi;\n local content;\n consumeEntire content < "$input";\n if [ -e "$output" ]; then\n chmod +w "$output";\n fi;\n substituteStream content "file \'$input\'" "$@" > "$output"\n}\nsubstituteAll ()\n{\n \n local input="$1";\n local output="$2";\n local -a args=();\n _allFlags;\n substitute "$input" "$output" "${args[@]}"\n}\nsubstituteAllInPlace ()\n{\n \n local fileName="$1";\n shift;\n substituteAll "$fileName" "$fileName" "$@"\n}\nsubstituteAllStream ()\n{\n \n local -a args=();\n _allFlags;\n substituteStream "$1" "$2" "${args[@]}"\n}\nsubstituteInPlace ()\n{\n \n local -a fileNames=();\n for arg in "$@";\n do\n if [[ "$arg" = "--"* ]]; then\n break;\n fi;\n fileNames+=("$arg");\n shift;\n done;\n if ! [[ "${#fileNames[@]}" -gt 0 ]]; then\n echo "substituteInPlace called without any files to operate on (files must come before options!)" 1>&2;\n return 1;\n fi;\n for file in "${fileNames[@]}";\n do\n substitute "$file" "$file" "$@";\n done\n}\nsubstituteStream ()\n{\n \n local var=$1;\n local description=$2;\n shift 2;\n while (( "$#" )); do\n local replace_mode="$1";\n case "$1" in \n --replace)\n if ! "$_substituteStream_has_warned_replace_deprecation"; then\n echo "substituteStream() in derivation $name: WARNING: \'--replace\' is deprecated, use --replace-{fail,warn,quiet}. ($description)" 1>&2;\n _substituteStream_has_warned_replace_deprecation=true;\n fi;\n replace_mode=\'--replace-warn\'\n ;&\n --replace-quiet | --replace-warn | --replace-fail)\n pattern="$2";\n replacement="$3";\n shift 3;\n if ! [[ "${!var}" == *"$pattern"* ]]; then\n if [ "$replace_mode" == --replace-warn ]; then\n printf "substituteStream() in derivation $name: WARNING: pattern %q doesn\'t match anything in %s\\n" "$pattern" "$description" 1>&2;\n else\n if [ "$replace_mode" == --replace-fail ]; then\n printf "substituteStream() in derivation $name: ERROR: pattern %q doesn\'t match anything in %s\\n" "$pattern" "$description" 1>&2;\n return 1;\n fi;\n fi;\n fi;\n eval "$var"\'=${\'"$var"\'//"$pattern"/"$replacement"}\'\n ;;\n --subst-var)\n local varName="$2";\n shift 2;\n if ! [[ "$varName" =~ ^[a-zA-Z_][a-zA-Z0-9_]*$ ]]; then\n echo "substituteStream() in derivation $name: ERROR: substitution variables must be valid Bash names, \\"$varName\\" isn\'t." 1>&2;\n return 1;\n fi;\n if [ -z ${!varName+x} ]; then\n echo "substituteStream() in derivation $name: ERROR: variable \\$$varName is unset" 1>&2;\n return 1;\n fi;\n pattern="@$varName@";\n replacement="${!varName}";\n eval "$var"\'=${\'"$var"\'//"$pattern"/"$replacement"}\'\n ;;\n --subst-var-by)\n pattern="@$2@";\n replacement="$3";\n eval "$var"\'=${\'"$var"\'//"$pattern"/"$replacement"}\';\n shift 3\n ;;\n *)\n echo "substituteStream() in derivation $name: ERROR: Invalid command line argument: $1" 1>&2;\n return 1\n ;;\n esac;\n done;\n printf "%s" "${!var}"\n}\nsysconfigdataHook ()\n{\n \n if [ "$1" = \'/nix/store/3lll9y925zz9393sa59h653xik66srjb-python3-3.13.9\' ]; then\n export _PYTHON_HOST_PLATFORM=\'linux-x86_64\';\n export _PYTHON_SYSCONFIGDATA_NAME=\'_sysconfigdata__linux_x86_64-linux-gnu\';\n fi\n}\ntoPythonPath ()\n{\n \n local paths="$1";\n local result=;\n for i in $paths;\n do\n p="$i/lib/python3.13/site-packages";\n result="${result}${result:+:}$p";\n done;\n echo $result\n}\nunpackFile ()\n{\n \n curSrc="$1";\n echo "unpacking source archive $curSrc";\n if ! runOneHook unpackCmd "$curSrc"; then\n echo "do not know how to unpack source archive $curSrc";\n exit 1;\n fi\n}\nunpackPhase ()\n{\n \n runHook preUnpack;\n if [ -z "${srcs:-}" ]; then\n if [ -z "${src:-}" ]; then\n echo \'variable $src or $srcs should point to the source\';\n exit 1;\n fi;\n srcs="$src";\n fi;\n local -a srcsArray;\n concatTo srcsArray srcs;\n local dirsBefore="";\n for i in *;\n do\n if [ -d "$i" ]; then\n dirsBefore="$dirsBefore $i ";\n fi;\n done;\n for i in "${srcsArray[@]}";\n do\n unpackFile "$i";\n done;\n : "${sourceRoot=}";\n if [ -n "${setSourceRoot:-}" ]; then\n runOneHook setSourceRoot;\n else\n if [ -z "$sourceRoot" ]; then\n for i in *;\n do\n if [ -d "$i" ]; then\n case $dirsBefore in \n *\\ $i\\ *)\n\n ;;\n *)\n if [ -n "$sourceRoot" ]; then\n echo "unpacker produced multiple directories";\n exit 1;\n fi;\n sourceRoot="$i"\n ;;\n esac;\n fi;\n done;\n fi;\n fi;\n if [ -z "$sourceRoot" ]; then\n echo "unpacker appears to have produced no directories";\n exit 1;\n fi;\n echo "source root is $sourceRoot";\n if [ "${dontMakeSourcesWritable:-0}" != 1 ]; then\n chmod -R u+w -- "$sourceRoot";\n fi;\n runHook postUnpack\n}\nupdateAutotoolsGnuConfigScriptsPhase ()\n{\n \n if [ -n "${dontUpdateAutotoolsGnuConfigScripts-}" ]; then\n return;\n fi;\n for script in config.sub config.guess;\n do\n for f in $(find . -type f -name "$script");\n do\n echo "Updating Autotools / GNU config script to a newer upstream version: $f";\n cp -f "/nix/store/1kzclixw4c13wxin0b6cij1zykvwp0wb-gnu-config-2024-01-01/$script" "$f";\n done;\n done\n}\nupdateSourceDateEpoch ()\n{\n \n local path="$1";\n [[ $path == -* ]] && path="./$path";\n local -a res=($(find "$path" -type f -not -newer "$NIX_BUILD_TOP/.." -printf \'%T@ "%p"\\0\' | sort -n --zero-terminated | tail -n1 --zero-terminated | head -c -1));\n local time="${res[0]//\\.[0-9]*/}";\n local newestFile="${res[1]}";\n if [ "${time:-0}" -gt "$SOURCE_DATE_EPOCH" ]; then\n echo "setting SOURCE_DATE_EPOCH to timestamp $time of file $newestFile";\n export SOURCE_DATE_EPOCH="$time";\n local now="$(date +%s)";\n if [ "$time" -gt $((now - 60)) ]; then\n echo "warning: file $newestFile may be generated; SOURCE_DATE_EPOCH may be non-deterministic";\n fi;\n fi\n}\nPATH="$PATH${nix_saved_PATH:+:$nix_saved_PATH}"\nXDG_DATA_DIRS="$XDG_DATA_DIRS${nix_saved_XDG_DATA_DIRS:+:$nix_saved_XDG_DATA_DIRS}"\nexport NIX_BUILD_TOP="$(mktemp -d -t nix-shell.XXXXXX)"\nexport TMP="$NIX_BUILD_TOP"\nexport TMPDIR="$NIX_BUILD_TOP"\nexport TEMP="$NIX_BUILD_TOP"\nexport TEMPDIR="$NIX_BUILD_TOP"\neval "${shellHook:-}"'
++ local env_watches
++ _devenv_watches ./.devenv/input-paths.txt env_watches
++ local path=./.devenv/input-paths.txt
++ local -n _watches=env_watches
++ [[ -f ./.devenv/input-paths.txt ]]
++ IFS=
++ read -r file
+++ printf /home/ender/Documents/Projects/dr-ctf/.devenv/flake.json
++ file=/home/ender/Documents/Projects/dr-ctf/.devenv/flake.json
++ _watches+=("$file")
++ IFS=
++ read -r file
+++ printf /home/ender/Documents/Projects/dr-ctf/.devenv.flake.nix
++ file=/home/ender/Documents/Projects/dr-ctf/.devenv.flake.nix
++ _watches+=("$file")
++ IFS=
++ read -r file
+++ printf /home/ender/Documents/Projects/dr-ctf/.env
++ file=/home/ender/Documents/Projects/dr-ctf/.env
++ _watches+=("$file")
++ IFS=
++ read -r file
+++ printf /home/ender/Documents/Projects/dr-ctf/devenv.local.nix
++ file=/home/ender/Documents/Projects/dr-ctf/devenv.local.nix
++ _watches+=("$file")
++ IFS=
++ read -r file
+++ printf /home/ender/Documents/Projects/dr-ctf/devenv.lock
++ file=/home/ender/Documents/Projects/dr-ctf/devenv.lock
++ _watches+=("$file")
++ IFS=
++ read -r file
+++ printf /home/ender/Documents/Projects/dr-ctf/devenv.nix
++ file=/home/ender/Documents/Projects/dr-ctf/devenv.nix
++ _watches+=("$file")
++ IFS=
++ read -r file
++ watch_file /home/ender/Documents/Projects/dr-ctf/.devenv/flake.json /home/ender/Documents/Projects/dr-ctf/.devenv.flake.nix /home/ender/Documents/Projects/dr-ctf/.env /home/ender/Documents/Projects/dr-ctf/devenv.local.nix /home/ender/Documents/Projects/dr-ctf/devenv.lock /home/ender/Documents/Projects/dr-ctf/devenv.nix /home/ender/Documents/Projects/dr-ctf/.devenv/flake.json /home/ender/Documents/Projects/dr-ctf/.devenv.flake.nix /home/ender/Documents/Projects/dr-ctf/.env /home/ender/Documents/Projects/dr-ctf/devenv.local.nix /home/ender/Documents/Projects/dr-ctf/devenv.lock /home/ender/Documents/Projects/dr-ctf/devenv.nix
+++ /nix/store/wpj4la1jgf0p8aimfzx49gfr3228vk8f-direnv-2.37.1/bin/direnv watch bash /home/ender/Documents/Projects/dr-ctf/.devenv/flake.json /home/ender/Documents/Projects/dr-ctf/.devenv.flake.nix /home/ender/Documents/Projects/dr-ctf/.env /home/ender/Documents/Projects/dr-ctf/devenv.local.nix /home/ender/Documents/Projects/dr-ctf/devenv.lock /home/ender/Documents/Projects/dr-ctf/devenv.nix /home/ender/Documents/Projects/dr-ctf/.devenv/flake.json /home/ender/Documents/Projects/dr-ctf/.devenv.flake.nix /home/ender/Documents/Projects/dr-ctf/.env /home/ender/Documents/Projects/dr-ctf/devenv.local.nix /home/ender/Documents/Projects/dr-ctf/devenv.lock /home/ender/Documents/Projects/dr-ctf/devenv.nix
++ eval 'export DIRENV_WATCHES=$'\''eJysk01ynDAQhe-i9QQhJNHSrHOA7FNZSK3uDLaQUoCJXancPQuq8mPjmPLMAfje64-nzz_Et7BcxFnISx1JUkk0yY8VH0Yqyyw_TfWOcJllmj7gwrKhsk4oTmKsaRlGEmcFve371mk4CXoc5mUW52V6oJ-nXXSTK4Ys50uYSKZhorLKkHP9Lr1Fm5QDzSoGlxRaxoTBJ-tctIDKceqjRcNB6ZiiN9prhb2P4Bhc3Ctl9LtLJSpPUkMKhjBqIDYKqCWrOt1F8j20HLzvooqOWScIIRG0rNAxQEcWOMb2707tnyoc8vxqly3_X8lHv8VaePj6-4T3k15fQKKVytqU4XFHuLL-kPA38bni_Qu-gbYzt-E_hTG_4Ftv_LEVH-kf8nNJt3K_wZ-fcDW92fCSc7in5m6uZfcPHHtSb8Y0W8z-jhzYa1OorP-18-VXAAAA__9zZq8O'\'';'
+++ export DIRENV_WATCHES=eJysk01ynDAQhe-i9QQhJNHSrHOA7FNZSK3uDLaQUoCJXancPQuq8mPjmPLMAfje64-nzz_Et7BcxFnISx1JUkk0yY8VH0Yqyyw_TfWOcJllmj7gwrKhsk4oTmKsaRlGEmcFve371mk4CXoc5mUW52V6oJ-nXXSTK4Ys50uYSKZhorLKkHP9Lr1Fm5QDzSoGlxRaxoTBJ-tctIDKceqjRcNB6ZiiN9prhb2P4Bhc3Ctl9LtLJSpPUkMKhjBqIDYKqCWrOt1F8j20HLzvooqOWScIIRG0rNAxQEcWOMb2707tnyoc8vxqly3_X8lHv8VaePj6-4T3k15fQKKVytqU4XFHuLL-kPA38bni_Qu-gbYzt-E_hTG_4Ftv_LEVH-kf8nNJt3K_wZ-fcDW92fCSc7in5m6uZfcPHHtSb8Y0W8z-jhzYa1OorP-18-VXAAAA__9zZq8O
+++ DIRENV_WATCHES=eJysk01ynDAQhe-i9QQhJNHSrHOA7FNZSK3uDLaQUoCJXancPQuq8mPjmPLMAfje64-nzz_Et7BcxFnISx1JUkk0yY8VH0Yqyyw_TfWOcJllmj7gwrKhsk4oTmKsaRlGEmcFve371mk4CXoc5mUW52V6oJ-nXXSTK4Ys50uYSKZhorLKkHP9Lr1Fm5QDzSoGlxRaxoTBJ-tctIDKceqjRcNB6ZiiN9prhb2P4Bhc3Ctl9LtLJSpPUkMKhjBqIDYKqCWrOt1F8j20HLzvooqOWScIIRG0rNAxQEcWOMb2707tnyoc8vxqly3_X8lHv8VaePj6-4T3k15fQKKVytqU4XFHuLL-kPA38bni_Qu-gbYzt-E_hTG_4Ftv_LEVH-kf8nNJt3K_wZ-fcDW92fCSc7in5m6uZfcPHHtSb8Y0W8z-jhzYa1OorP-18-VXAAAA__9zZq8O
++ _nix_import_env $'Checking secrets in dr-ctf using onepassword (profile: development)...\n\n✓ POSTGRES_URL - Database connection string\n✓ defaults - No description\n✓ POSTGRES_PASSWORD - Database password\n✓ POSTGRES_USER - Database user\n\nSummary: 4 found, 0 missing\nunset shellHook\nPATH=${PATH:-}\nnix_saved_PATH="$PATH"\nXDG_DATA_DIRS=${XDG_DATA_DIRS:-}\nnix_saved_XDG_DATA_DIRS="$XDG_DATA_DIRS"\nAR=\'ar\'\nexport AR\nAS=\'as\'\nexport AS\nBASH=\'/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/bash\'\nCC=\'gcc\'\nexport CC\nCONFIG_SHELL=\'/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/bash\'\nexport CONFIG_SHELL\nCXX=\'g++\'\nexport CXX\nDETERMINISTIC_BUILD=\'1\'\nexport DETERMINISTIC_BUILD\nDEVENV_DOTFILE=\'/home/ender/Documents/Projects/dr-ctf/.devenv\'\nexport DEVENV_DOTFILE\nDEVENV_PROFILE=\'/nix/store/bvm5wn1c46bxfgzylrm3khh2sp87vnsa-devenv-profile\'\nexport DEVENV_PROFILE\nDEVENV_ROOT=\'/home/ender/Documents/Projects/dr-ctf\'\nexport DEVENV_ROOT\nDEVENV_RUNTIME=\'/run/user/1000/devenv-405663c\'\nexport DEVENV_RUNTIME\nDEVENV_STATE=\'/home/ender/Documents/Projects/dr-ctf/.devenv/state\'\nexport DEVENV_STATE\nDEVENV_TASKS=\'[{"after":[],"before":[],"command":"/nix/store/yhwb3x398329il20dj3mprzhsql1jg9k-devenv-enterShell","cwd":null,"description":"Runs when entering the shell","exec_if_modified":[],"input":{},"name":"devenv:enterShell","show_output":false,"status":null,"type":"oneshot"},{"after":[],"before":[],"command":null,"cwd":null,"description":"Runs when entering the test environment","exec_if_modified":[],"input":{},"name":"devenv:enterTest","show_output":false,"status":null,"type":"oneshot"},{"after":[],"before":[],"command":null,"cwd":null,"description":"","exec_if_modified":[],"input":{},"name":"devenv:files","show_output":false,"status":null,"type":"oneshot"},{"after":[],"before":["devenv:enterShell"],"command":"/nix/store/qjsk2mi9da3rkbjn3ffsyrzw33c48a90-devenv-git-hooks-install","cwd":null,"description":"","exec_if_modified":[],"input":{},"name":"devenv:git-hooks:install","show_output":false,"status":null,"type":"oneshot"},{"after":[],"before":["devenv:enterTest"],"command":"/nix/store/ywfhq0r3lp4xg5j43vy7xmf5hxja9l6l-devenv-git-hooks-run","cwd":null,"description":"","exec_if_modified":[],"input":{},"name":"devenv:git-hooks:run","show_output":false,"status":null,"type":"oneshot"}]\'\nexport DEVENV_TASKS\nDEVENV_TASK_FILE=\'/nix/store/kj598ws11izad7bv9qmsxpkpd7hq3krp-tasks.json\'\nexport DEVENV_TASK_FILE\nGIT_EXTERNAL_DIFF=\'difft\'\nexport GIT_EXTERNAL_DIFF\nHOSTTYPE=\'x86_64\'\nHOST_PATH=\'/nix/store/imad8dvhp77h0pjbckp6wvmnyhp8dpgg-coreutils-9.8/bin:/nix/store/av4xw9f56xlx5pgv862wabfif6m1yc0a-findutils-4.10.0/bin:/nix/store/20axvl7mgj15m23jgmnq97hx37fgz7bk-diffutils-3.12/bin:/nix/store/drc7kang929jaza6cy9zdx10s4gw1z5p-gnused-4.9/bin:/nix/store/x3zjxxz8m4ki88axp0gn8q8m6bldybba-gnugrep-3.12/bin:/nix/store/y2wdhdcrffp9hnkzk06d178hq3g98jay-gawk-5.3.2/bin:/nix/store/yi3c5karhx764ham5rfwk7iynr8mjf6q-gnutar-1.35/bin:/nix/store/d471xb7sfbah076s8rx02i68zpxc2r5n-gzip-1.14/bin:/nix/store/qm9rxn2sc1vrz91i443rr6f0vxm0zd82-bzip2-1.0.8-bin/bin:/nix/store/3fmzbq9y4m9nk235il7scmvwn8j9zy3p-gnumake-4.4.1/bin:/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin:/nix/store/qrwznp1ikdf0qw05wia2haiwi32ik5n0-patch-2.8/bin:/nix/store/v0rfdwhg6w6i0yb6dbry4srk6pnj3xp0-xz-5.8.1-bin/bin:/nix/store/paj6a1lpzp57hz1djm5bs86b7ci221r0-file-5.45/bin\'\nexport HOST_PATH\nIFS=\' \t\n\'\nIN_NIX_SHELL=\'impure\'\nexport IN_NIX_SHELL\nLD=\'ld\'\nexport LD\nLINENO=\'76\'\nMACHTYPE=\'x86_64-pc-linux-gnu\'\nNIX_BINTOOLS=\'/nix/store/xwydcyvlsa3cvssk0y5llgdhlhjvmqdm-binutils-wrapper-2.44\'\nexport NIX_BINTOOLS\nNIX_BINTOOLS_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu=\'1\'\nexport NIX_BINTOOLS_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu\nNIX_BUILD_CORES=\'16\'\nexport NIX_BUILD_CORES\nNIX_CC=\'/nix/store/vr15iyyykg9zai6fpgvhcgyw7gckl78w-gcc-wrapper-14.3.0\'\nexport NIX_CC\nNIX_CC_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu=\'1\'\nexport NIX_CC_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu\nNIX_CFLAGS_COMPILE=\' -frandom-seed=3zw2ajqsr4 -isystem /nix/store/bpq0hkckybfnxblhnqavv9agxg4wgja2-nodejs-slim-22.21.1-dev/include -isystem /nix/store/jwkciwykf24vgb1gdlbh94fq5fm9xii5-nodejs-slim-22.21.1/include -isystem /nix/store/jlv0a6iyh8vb7pfyhjj93xy245xlmgh5-gnumake-4.4.1/include -isystem /nix/store/97033wd7ak5am97yk1d2y85aai3yz4wh-gdb-16.3/include -isystem /nix/store/zp52rrbj0aca8sq5wg5qjmjvrv636sc3-valgrind-3.26.0-dev/include -isystem /nix/store/na40apkxgv855bc8qpbi6gf0yvdzvnij-sqlite-3.50.4-dev/include -isystem /nix/store/3lll9y925zz9393sa59h653xik66srjb-python3-3.13.9/include -isystem /nix/store/bpq0hkckybfnxblhnqavv9agxg4wgja2-nodejs-slim-22.21.1-dev/include -isystem /nix/store/jwkciwykf24vgb1gdlbh94fq5fm9xii5-nodejs-slim-22.21.1/include -isystem /nix/store/jlv0a6iyh8vb7pfyhjj93xy245xlmgh5-gnumake-4.4.1/include -isystem /nix/store/97033wd7ak5am97yk1d2y85aai3yz4wh-gdb-16.3/include -isystem /nix/store/zp52rrbj0aca8sq5wg5qjmjvrv636sc3-valgrind-3.26.0-dev/include -isystem /nix/store/na40apkxgv855bc8qpbi6gf0yvdzvnij-sqlite-3.50.4-dev/include -isystem /nix/store/3lll9y925zz9393sa59h653xik66srjb-python3-3.13.9/include\'\nexport NIX_CFLAGS_COMPILE\nNIX_ENFORCE_NO_NATIVE=\'1\'\nexport NIX_ENFORCE_NO_NATIVE\nNIX_HARDENING_ENABLE=\'bindnow format fortify fortify3 libcxxhardeningextensive libcxxhardeningfast pic relro stackclashprotection stackprotector strictoverflow zerocallusedregs\'\nexport NIX_HARDENING_ENABLE\nNIX_LDFLAGS=\'-rpath /home/ender/Documents/Projects/dr-ctf/outputs/out/lib -L/nix/store/97033wd7ak5am97yk1d2y85aai3yz4wh-gdb-16.3/lib -L/nix/store/l30c488dws7z5mazacqsmj25izb9jlp2-sqlite-3.50.4/lib -L/nix/store/3lll9y925zz9393sa59h653xik66srjb-python3-3.13.9/lib -L/nix/store/97033wd7ak5am97yk1d2y85aai3yz4wh-gdb-16.3/lib -L/nix/store/l30c488dws7z5mazacqsmj25izb9jlp2-sqlite-3.50.4/lib -L/nix/store/3lll9y925zz9393sa59h653xik66srjb-python3-3.13.9/lib\'\nexport NIX_LDFLAGS\nNIX_NO_SELF_RPATH=\'1\'\nNIX_PKG_CONFIG_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu=\'1\'\nexport NIX_PKG_CONFIG_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu\nNIX_STORE=\'/nix/store\'\nexport NIX_STORE\nNM=\'nm\'\nexport NM\nNODE_PATH=\'/nix/store/y6wn9g8nbrazkn4r7daik49c77fs513y-typescript-5.9.3/lib/node_modules:/nix/store/3dpq47cj4ji5aq00vmv4mg45vcjamgcw-typescript-language-server-5.1.3/lib/node_modules:/nix/store/jwkciwykf24vgb1gdlbh94fq5fm9xii5-nodejs-slim-22.21.1/lib/node_modules\'\nexport NODE_PATH\nOBJCOPY=\'objcopy\'\nexport OBJCOPY\nOBJDUMP=\'objdump\'\nexport OBJDUMP\nOLDPWD=\'\'\nexport OLDPWD\nOPTERR=\'1\'\nOSTYPE=\'linux-gnu\'\nPATH=\'/nix/store/vw9d8v9r0kp44lmizysj7idmqyf9747l-process-compose-1.78.0/bin:/nix/store/64sazg99p78hfl7k8b0xn8ci1fcz6gpf-difftastic-0.67.0/bin:/nix/store/y6wn9g8nbrazkn4r7daik49c77fs513y-typescript-5.9.3/bin:/nix/store/3dpq47cj4ji5aq00vmv4mg45vcjamgcw-typescript-language-server-5.1.3/bin:/nix/store/nh2jhgkgrrdl31pzc46l8k1za4iqfv1z-rust-toolchain-nixpkgs/bin:/nix/store/bpq0hkckybfnxblhnqavv9agxg4wgja2-nodejs-slim-22.21.1-dev/bin:/nix/store/jwkciwykf24vgb1gdlbh94fq5fm9xii5-nodejs-slim-22.21.1/bin:/nix/store/a9gabjjwk0617csjlgm5f6gz5fv9jq11-bun-1.3.2/bin:/nix/store/v6bx0d4690d8bklp18wvjdk566873sgs-clang-tools-21.1.2/bin:/nix/store/jlv0a6iyh8vb7pfyhjj93xy245xlmgh5-gnumake-4.4.1/bin:/nix/store/fwmjw5cks4v1gxpr9wgbpzwygcfcmnfp-ccls-0.20241108/bin:/nix/store/8vdiwpbh0g4avsd6x5v4s0di32vcl3dp-pkg-config-wrapper-0.29.2/bin:/nix/store/97033wd7ak5am97yk1d2y85aai3yz4wh-gdb-16.3/bin:/nix/store/fp56mavabdv7v67y5j3b0ga3v6ygpyha-valgrind-3.26.0/bin:/nix/store/s3c28nd52vahmlcd9scfhpaw18wxbdgg-dev/bin:/nix/store/bjb3hx0r5yqdlkpk77l5ajsb698c55n2-du/bin:/nix/store/4qhdhmi7pzgad0zfd7c5lsg235mbf9hv-git-2.51.2/bin:/nix/store/z6al79i0bkp2phc0qic774i0vg44npp3-loco-0.16.3/bin:/nix/store/awm8pnzpcj63lb26asvjm24j4kwg4d76-sqlite-3.50.4-bin/bin:/nix/store/19xz3q0sv06r0yrar8srmxs8pfmrg79m-secretspec-0.4.0/bin:/nix/store/sac7s2ziii88sfgy4d6jnxndsxd1nh83-sea-orm-cli-1.1.17/bin:/nix/store/jc4c4x7dv80i794ki30ymj1mrzdxaccd-cargo-generate-0.23.5/bin:/nix/store/965w3rby7xl49kbfqyyr5m10hlyh3f28-pre-commit-bin/bin:/nix/store/pnf9h7rd3nrxx5phrwbnhb5yhkiavj6p-python3.13-pre-commit-hooks-6.0.0/bin:/nix/store/3lll9y925zz9393sa59h653xik66srjb-python3-3.13.9/bin:/nix/store/rckafkh916d8hd4642n2hzywa7sf1npp-deadnix-1.3.1/bin:/nix/store/7fc4qz8ny0s2m2n5gsgsqb3yn2iffk4v-shellcheck-0.11.0-bin/bin:/nix/store/8q2582rd22xp8jlcg1xn1w219q5lx5xa-patchelf-0.15.2/bin:/nix/store/vr15iyyykg9zai6fpgvhcgyw7gckl78w-gcc-wrapper-14.3.0/bin:/nix/store/kzq78n13l8w24jn8bx4djj79k5j717f1-gcc-14.3.0/bin:/nix/store/q6wgv06q39bfhx2xl8ysc05wi6m2zdss-glibc-2.40-66-bin/bin:/nix/store/imad8dvhp77h0pjbckp6wvmnyhp8dpgg-coreutils-9.8/bin:/nix/store/xwydcyvlsa3cvssk0y5llgdhlhjvmqdm-binutils-wrapper-2.44/bin:/nix/store/dc9vaz50jg7mibk9xvqw5dqv89cxzla3-binutils-2.44/bin:/nix/store/imad8dvhp77h0pjbckp6wvmnyhp8dpgg-coreutils-9.8/bin:/nix/store/av4xw9f56xlx5pgv862wabfif6m1yc0a-findutils-4.10.0/bin:/nix/store/20axvl7mgj15m23jgmnq97hx37fgz7bk-diffutils-3.12/bin:/nix/store/drc7kang929jaza6cy9zdx10s4gw1z5p-gnused-4.9/bin:/nix/store/x3zjxxz8m4ki88axp0gn8q8m6bldybba-gnugrep-3.12/bin:/nix/store/y2wdhdcrffp9hnkzk06d178hq3g98jay-gawk-5.3.2/bin:/nix/store/yi3c5karhx764ham5rfwk7iynr8mjf6q-gnutar-1.35/bin:/nix/store/d471xb7sfbah076s8rx02i68zpxc2r5n-gzip-1.14/bin:/nix/store/qm9rxn2sc1vrz91i443rr6f0vxm0zd82-bzip2-1.0.8-bin/bin:/nix/store/3fmzbq9y4m9nk235il7scmvwn8j9zy3p-gnumake-4.4.1/bin:/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin:/nix/store/qrwznp1ikdf0qw05wia2haiwi32ik5n0-patch-2.8/bin:/nix/store/v0rfdwhg6w6i0yb6dbry4srk6pnj3xp0-xz-5.8.1-bin/bin:/nix/store/paj6a1lpzp57hz1djm5bs86b7ci221r0-file-5.45/bin\'\nexport PATH\nPC_CONFIG_FILES=\'/nix/store/ysqava3g5mbphf5fvlrm626f3fzfsvlp-process-compose.yaml\'\nexport PC_CONFIG_FILES\nPC_SOCKET_PATH=\'/run/user/1000/devenv-405663c/pc.sock\'\nexport PC_SOCKET_PATH\nPKG_CONFIG=\'pkg-config\'\nexport PKG_CONFIG\nPKG_CONFIG_PATH=\'/nix/store/zp52rrbj0aca8sq5wg5qjmjvrv636sc3-valgrind-3.26.0-dev/lib/pkgconfig:/nix/store/na40apkxgv855bc8qpbi6gf0yvdzvnij-sqlite-3.50.4-dev/lib/pkgconfig:/nix/store/3lll9y925zz9393sa59h653xik66srjb-python3-3.13.9/lib/pkgconfig\'\nexport PKG_CONFIG_PATH\nPS4=\'+ \'\nPYTHONHASHSEED=\'0\'\nexport PYTHONHASHSEED\nPYTHONNOUSERSITE=\'1\'\nexport PYTHONNOUSERSITE\nPYTHONPATH=\'/nix/store/pnf9h7rd3nrxx5phrwbnhb5yhkiavj6p-python3.13-pre-commit-hooks-6.0.0/lib/python3.13/site-packages:/nix/store/prpbn02py0x7xgb4fk1xmgzghix6wnxb-python3.13-ruamel-yaml-0.18.14/lib/python3.13/site-packages:/nix/store/fxbffn4g9z7l4livi6wm48yb162bc1ga-python3.13-ruamel-base-1.0.0/lib/python3.13/site-packages:/nix/store/3lll9y925zz9393sa59h653xik66srjb-python3-3.13.9/lib/python3.13/site-packages:/nix/store/zs5kbqpr3dj8rb4szgrp1l3pnl03la6d-python3.13-ruamel-yaml-clib-0.2.12/lib/python3.13/site-packages\'\nexport PYTHONPATH\nRANLIB=\'ranlib\'\nexport RANLIB\nREADELF=\'readelf\'\nexport READELF\nRUST_SRC_PATH=\'/nix/store/x4lzvdhcz439jm1clb41hnx3xa2cqvli-rust-lib-src\'\nexport RUST_SRC_PATH\nSHELL=\'/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/bash\'\nexport SHELL\nSIZE=\'size\'\nexport SIZE\nSOURCE_DATE_EPOCH=\'315532800\'\nexport SOURCE_DATE_EPOCH\nSTRINGS=\'strings\'\nexport STRINGS\nSTRIP=\'strip\'\nexport STRIP\nXDG_DATA_DIRS=\'/nix/store/vw9d8v9r0kp44lmizysj7idmqyf9747l-process-compose-1.78.0/share:/nix/store/nh2jhgkgrrdl31pzc46l8k1za4iqfv1z-rust-toolchain-nixpkgs/share:/nix/store/jwkciwykf24vgb1gdlbh94fq5fm9xii5-nodejs-slim-22.21.1/share:/nix/store/a9gabjjwk0617csjlgm5f6gz5fv9jq11-bun-1.3.2/share:/nix/store/jlv0a6iyh8vb7pfyhjj93xy245xlmgh5-gnumake-4.4.1/share:/nix/store/8vdiwpbh0g4avsd6x5v4s0di32vcl3dp-pkg-config-wrapper-0.29.2/share:/nix/store/97033wd7ak5am97yk1d2y85aai3yz4wh-gdb-16.3/share:/nix/store/4qhdhmi7pzgad0zfd7c5lsg235mbf9hv-git-2.51.2/share:/nix/store/3lll9y925zz9393sa59h653xik66srjb-python3-3.13.9/share:/nix/store/8q2582rd22xp8jlcg1xn1w219q5lx5xa-patchelf-0.15.2/share\'\nexport XDG_DATA_DIRS\n_PYTHON_HOST_PLATFORM=\'linux-x86_64\'\nexport _PYTHON_HOST_PLATFORM\n_PYTHON_SYSCONFIGDATA_NAME=\'_sysconfigdata__linux_x86_64-linux-gnu\'\nexport _PYTHON_SYSCONFIGDATA_NAME\n__structuredAttrs=\'\'\nexport __structuredAttrs\n_substituteStream_has_warned_replace_deprecation=\'false\'\nbuildInputs=\'\'\nexport buildInputs\nbuildPhase=\'{ echo "------------------------------------------------------------";\n echo " WARNING: the existence of this path is not guaranteed.";\n echo " It is an internal implementation detail for pkgs.mkShell.";\n echo "------------------------------------------------------------";\n echo;\n # Record all build inputs as runtime dependencies\n export;\n} >> "$out"\n\'\nexport buildPhase\nbuilder=\'/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/bash\'\nexport builder\ncmakeFlags=\'\'\nexport cmakeFlags\nconfigureFlags=\'\'\nexport configureFlags\ndefaultBuildInputs=\'\'\ndefaultNativeBuildInputs=\'/nix/store/8q2582rd22xp8jlcg1xn1w219q5lx5xa-patchelf-0.15.2 /nix/store/l2xk4ac1wx9c95kpp8vymv9r9yn57fvh-update-autotools-gnu-config-scripts-hook /nix/store/0y5xmdb7qfvimjwbq7ibg1xdgkgjwqng-no-broken-symlinks.sh /nix/store/cv1d7p48379km6a85h4zp6kr86brh32q-audit-tmpdir.sh /nix/store/85clx3b0xkdf58jn161iy80y5223ilbi-compress-man-pages.sh /nix/store/wgrbkkaldkrlrni33ccvm3b6vbxzb656-make-symlinks-relative.sh /nix/store/5yzw0vhkyszf2d179m0qfkgxmp5wjjx4-move-docs.sh /nix/store/fyaryjvghbkpfnsyw97hb3lyb37s1pd6-move-lib64.sh /nix/store/kd4xwxjpjxi71jkm6ka0np72if9rm3y0-move-sbin.sh /nix/store/pag6l61paj1dc9sv15l7bm5c17xn5kyk-move-systemd-user-units.sh /nix/store/cmzya9irvxzlkh7lfy6i82gbp0saxqj3-multiple-outputs.sh /nix/store/x8c40nfigps493a07sdr2pm5s9j1cdc0-patch-shebangs.sh /nix/store/cickvswrvann041nqxb0rxilc46svw1n-prune-libtool-files.sh /nix/store/xyff06pkhki3qy1ls77w10s0v79c9il0-reproducible-builds.sh /nix/store/z7k98578dfzi6l3hsvbivzm7hfqlk0zc-set-source-date-epoch-to-latest.sh /nix/store/pilsssjjdxvdphlg2h19p0bfx5q0jzkn-strip.sh /nix/store/vr15iyyykg9zai6fpgvhcgyw7gckl78w-gcc-wrapper-14.3.0\'\ndepsBuildBuild=\'\'\nexport depsBuildBuild\ndepsBuildBuildPropagated=\'\'\nexport depsBuildBuildPropagated\ndepsBuildTarget=\'\'\nexport depsBuildTarget\ndepsBuildTargetPropagated=\'\'\nexport depsBuildTargetPropagated\ndepsHostHost=\'\'\nexport depsHostHost\ndepsHostHostPropagated=\'\'\nexport depsHostHostPropagated\ndepsTargetTarget=\'\'\nexport depsTargetTarget\ndepsTargetTargetPropagated=\'\'\nexport depsTargetTargetPropagated\ndoCheck=\'\'\nexport doCheck\ndoInstallCheck=\'\'\nexport doInstallCheck\ndontAddDisableDepTrack=\'1\'\nexport dontAddDisableDepTrack\ndeclare -a envBuildBuildHooks=(\'addNodePath\' \'addPythonPath\' \'sysconfigdataHook\' )\ndeclare -a envBuildHostHooks=(\'addNodePath\' \'addPythonPath\' \'sysconfigdataHook\' )\ndeclare -a envBuildTargetHooks=(\'addNodePath\' \'addPythonPath\' \'sysconfigdataHook\' )\ndeclare -a envHostHostHooks=(\'pkgConfigWrapper_addPkgConfigPath\' \'ccWrapper_addCVars\' \'bintoolsWrapper_addLDVars\' )\ndeclare -a envHostTargetHooks=(\'pkgConfigWrapper_addPkgConfigPath\' \'ccWrapper_addCVars\' \'bintoolsWrapper_addLDVars\' )\ndeclare -a envTargetTargetHooks=()\ndeclare -a fixupOutputHooks=(\'if [ -z "${dontPatchELF-}" ]; then patchELF "$prefix"; fi\' \'if [[ -z "${noAuditTmpdir-}" && -e "$prefix" ]]; then auditTmpdir "$prefix"; fi\' \'if [ -z "${dontGzipMan-}" ]; then compressManPages "$prefix"; fi\' \'_moveLib64\' \'_moveSbin\' \'_moveSystemdUserUnits\' \'patchShebangsAuto\' \'_pruneLibtoolFiles\' \'_doStrip\' )\nhardeningDisable=\'\'\nexport hardeningDisable\ninitialPath=\'/nix/store/imad8dvhp77h0pjbckp6wvmnyhp8dpgg-coreutils-9.8 /nix/store/av4xw9f56xlx5pgv862wabfif6m1yc0a-findutils-4.10.0 /nix/store/20axvl7mgj15m23jgmnq97hx37fgz7bk-diffutils-3.12 /nix/store/drc7kang929jaza6cy9zdx10s4gw1z5p-gnused-4.9 /nix/store/x3zjxxz8m4ki88axp0gn8q8m6bldybba-gnugrep-3.12 /nix/store/y2wdhdcrffp9hnkzk06d178hq3g98jay-gawk-5.3.2 /nix/store/yi3c5karhx764ham5rfwk7iynr8mjf6q-gnutar-1.35 /nix/store/d471xb7sfbah076s8rx02i68zpxc2r5n-gzip-1.14 /nix/store/qm9rxn2sc1vrz91i443rr6f0vxm0zd82-bzip2-1.0.8-bin /nix/store/3fmzbq9y4m9nk235il7scmvwn8j9zy3p-gnumake-4.4.1 /nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3 /nix/store/qrwznp1ikdf0qw05wia2haiwi32ik5n0-patch-2.8 /nix/store/v0rfdwhg6w6i0yb6dbry4srk6pnj3xp0-xz-5.8.1-bin /nix/store/paj6a1lpzp57hz1djm5bs86b7ci221r0-file-5.45\'\nmesonFlags=\'\'\nexport mesonFlags\nname=\'DrCTF-env\'\nexport name\nnativeBuildInputs=\'/nix/store/vw9d8v9r0kp44lmizysj7idmqyf9747l-process-compose-1.78.0 /nix/store/64sazg99p78hfl7k8b0xn8ci1fcz6gpf-difftastic-0.67.0 /nix/store/y6wn9g8nbrazkn4r7daik49c77fs513y-typescript-5.9.3 /nix/store/3dpq47cj4ji5aq00vmv4mg45vcjamgcw-typescript-language-server-5.1.3 /nix/store/nh2jhgkgrrdl31pzc46l8k1za4iqfv1z-rust-toolchain-nixpkgs /nix/store/bpq0hkckybfnxblhnqavv9agxg4wgja2-nodejs-slim-22.21.1-dev /nix/store/a9gabjjwk0617csjlgm5f6gz5fv9jq11-bun-1.3.2 /nix/store/v6bx0d4690d8bklp18wvjdk566873sgs-clang-tools-21.1.2 /nix/store/s3w5m3spa1g71hx0yb82lvk6394j3w5j-stdenv-linux /nix/store/jlv0a6iyh8vb7pfyhjj93xy245xlmgh5-gnumake-4.4.1 /nix/store/fwmjw5cks4v1gxpr9wgbpzwygcfcmnfp-ccls-0.20241108 /nix/store/8vdiwpbh0g4avsd6x5v4s0di32vcl3dp-pkg-config-wrapper-0.29.2 /nix/store/97033wd7ak5am97yk1d2y85aai3yz4wh-gdb-16.3 /nix/store/zp52rrbj0aca8sq5wg5qjmjvrv636sc3-valgrind-3.26.0-dev /nix/store/s3c28nd52vahmlcd9scfhpaw18wxbdgg-dev /nix/store/bjb3hx0r5yqdlkpk77l5ajsb698c55n2-du /nix/store/4qhdhmi7pzgad0zfd7c5lsg235mbf9hv-git-2.51.2 /nix/store/z6al79i0bkp2phc0qic774i0vg44npp3-loco-0.16.3 /nix/store/na40apkxgv855bc8qpbi6gf0yvdzvnij-sqlite-3.50.4-dev /nix/store/19xz3q0sv06r0yrar8srmxs8pfmrg79m-secretspec-0.4.0 /nix/store/sac7s2ziii88sfgy4d6jnxndsxd1nh83-sea-orm-cli-1.1.17 /nix/store/jc4c4x7dv80i794ki30ymj1mrzdxaccd-cargo-generate-0.23.5 /nix/store/8vdiwpbh0g4avsd6x5v4s0di32vcl3dp-pkg-config-wrapper-0.29.2 /nix/store/965w3rby7xl49kbfqyyr5m10hlyh3f28-pre-commit-bin /nix/store/nh2jhgkgrrdl31pzc46l8k1za4iqfv1z-rust-toolchain-nixpkgs /nix/store/pnf9h7rd3nrxx5phrwbnhb5yhkiavj6p-python3.13-pre-commit-hooks-6.0.0 /nix/store/rckafkh916d8hd4642n2hzywa7sf1npp-deadnix-1.3.1 /nix/store/wbx8i6wrjdi32gj7kk5j5fq3484qyzyb-shellcheck-0.11.0\'\nexport nativeBuildInputs\nout=\'/home/ender/Documents/Projects/dr-ctf/outputs/out\'\nexport out\noutputBin=\'out\'\noutputDev=\'out\'\noutputDevdoc=\'REMOVE\'\noutputDevman=\'out\'\noutputDoc=\'out\'\noutputInclude=\'out\'\noutputInfo=\'out\'\noutputLib=\'out\'\noutputMan=\'out\'\noutputs=\'out\'\nexport outputs\npatches=\'\'\nexport patches\nphases=\'buildPhase\'\nexport phases\npkg=\'/nix/store/vr15iyyykg9zai6fpgvhcgyw7gckl78w-gcc-wrapper-14.3.0\'\ndeclare -a pkgsBuildBuild=()\ndeclare -a pkgsBuildHost=(\'/nix/store/vw9d8v9r0kp44lmizysj7idmqyf9747l-process-compose-1.78.0\' \'/nix/store/64sazg99p78hfl7k8b0xn8ci1fcz6gpf-difftastic-0.67.0\' \'/nix/store/y6wn9g8nbrazkn4r7daik49c77fs513y-typescript-5.9.3\' \'/nix/store/3dpq47cj4ji5aq00vmv4mg45vcjamgcw-typescript-language-server-5.1.3\' \'/nix/store/nh2jhgkgrrdl31pzc46l8k1za4iqfv1z-rust-toolchain-nixpkgs\' \'/nix/store/bpq0hkckybfnxblhnqavv9agxg4wgja2-nodejs-slim-22.21.1-dev\' \'/nix/store/jwkciwykf24vgb1gdlbh94fq5fm9xii5-nodejs-slim-22.21.1\' \'/nix/store/a9gabjjwk0617csjlgm5f6gz5fv9jq11-bun-1.3.2\' \'/nix/store/v6bx0d4690d8bklp18wvjdk566873sgs-clang-tools-21.1.2\' \'/nix/store/s3w5m3spa1g71hx0yb82lvk6394j3w5j-stdenv-linux\' \'/nix/store/jlv0a6iyh8vb7pfyhjj93xy245xlmgh5-gnumake-4.4.1\' \'/nix/store/fwmjw5cks4v1gxpr9wgbpzwygcfcmnfp-ccls-0.20241108\' \'/nix/store/8vdiwpbh0g4avsd6x5v4s0di32vcl3dp-pkg-config-wrapper-0.29.2\' \'/nix/store/97033wd7ak5am97yk1d2y85aai3yz4wh-gdb-16.3\' \'/nix/store/zp52rrbj0aca8sq5wg5qjmjvrv636sc3-valgrind-3.26.0-dev\' \'/nix/store/fp56mavabdv7v67y5j3b0ga3v6ygpyha-valgrind-3.26.0\' \'/nix/store/s3c28nd52vahmlcd9scfhpaw18wxbdgg-dev\' \'/nix/store/bjb3hx0r5yqdlkpk77l5ajsb698c55n2-du\' \'/nix/store/4qhdhmi7pzgad0zfd7c5lsg235mbf9hv-git-2.51.2\' \'/nix/store/z6al79i0bkp2phc0qic774i0vg44npp3-loco-0.16.3\' \'/nix/store/na40apkxgv855bc8qpbi6gf0yvdzvnij-sqlite-3.50.4-dev\' \'/nix/store/awm8pnzpcj63lb26asvjm24j4kwg4d76-sqlite-3.50.4-bin\' \'/nix/store/l30c488dws7z5mazacqsmj25izb9jlp2-sqlite-3.50.4\' \'/nix/store/19xz3q0sv06r0yrar8srmxs8pfmrg79m-secretspec-0.4.0\' \'/nix/store/sac7s2ziii88sfgy4d6jnxndsxd1nh83-sea-orm-cli-1.1.17\' \'/nix/store/jc4c4x7dv80i794ki30ymj1mrzdxaccd-cargo-generate-0.23.5\' \'/nix/store/965w3rby7xl49kbfqyyr5m10hlyh3f28-pre-commit-bin\' \'/nix/store/pnf9h7rd3nrxx5phrwbnhb5yhkiavj6p-python3.13-pre-commit-hooks-6.0.0\' \'/nix/store/prpbn02py0x7xgb4fk1xmgzghix6wnxb-python3.13-ruamel-yaml-0.18.14\' \'/nix/store/fxbffn4g9z7l4livi6wm48yb162bc1ga-python3.13-ruamel-base-1.0.0\' \'/nix/store/3lll9y925zz9393sa59h653xik66srjb-python3-3.13.9\' \'/nix/store/zs5kbqpr3dj8rb4szgrp1l3pnl03la6d-python3.13-ruamel-yaml-clib-0.2.12\' \'/nix/store/rckafkh916d8hd4642n2hzywa7sf1npp-deadnix-1.3.1\' \'/nix/store/wbx8i6wrjdi32gj7kk5j5fq3484qyzyb-shellcheck-0.11.0\' \'/nix/store/7fc4qz8ny0s2m2n5gsgsqb3yn2iffk4v-shellcheck-0.11.0-bin\' \'/nix/store/8q2582rd22xp8jlcg1xn1w219q5lx5xa-patchelf-0.15.2\' \'/nix/store/l2xk4ac1wx9c95kpp8vymv9r9yn57fvh-update-autotools-gnu-config-scripts-hook\' \'/nix/store/0y5xmdb7qfvimjwbq7ibg1xdgkgjwqng-no-broken-symlinks.sh\' \'/nix/store/cv1d7p48379km6a85h4zp6kr86brh32q-audit-tmpdir.sh\' \'/nix/store/85clx3b0xkdf58jn161iy80y5223ilbi-compress-man-pages.sh\' \'/nix/store/wgrbkkaldkrlrni33ccvm3b6vbxzb656-make-symlinks-relative.sh\' \'/nix/store/5yzw0vhkyszf2d179m0qfkgxmp5wjjx4-move-docs.sh\' \'/nix/store/fyaryjvghbkpfnsyw97hb3lyb37s1pd6-move-lib64.sh\' \'/nix/store/kd4xwxjpjxi71jkm6ka0np72if9rm3y0-move-sbin.sh\' \'/nix/store/pag6l61paj1dc9sv15l7bm5c17xn5kyk-move-systemd-user-units.sh\' \'/nix/store/cmzya9irvxzlkh7lfy6i82gbp0saxqj3-multiple-outputs.sh\' \'/nix/store/x8c40nfigps493a07sdr2pm5s9j1cdc0-patch-shebangs.sh\' \'/nix/store/cickvswrvann041nqxb0rxilc46svw1n-prune-libtool-files.sh\' \'/nix/store/xyff06pkhki3qy1ls77w10s0v79c9il0-reproducible-builds.sh\' \'/nix/store/z7k98578dfzi6l3hsvbivzm7hfqlk0zc-set-source-date-epoch-to-latest.sh\' \'/nix/store/pilsssjjdxvdphlg2h19p0bfx5q0jzkn-strip.sh\' \'/nix/store/vr15iyyykg9zai6fpgvhcgyw7gckl78w-gcc-wrapper-14.3.0\' \'/nix/store/xwydcyvlsa3cvssk0y5llgdhlhjvmqdm-binutils-wrapper-2.44\' )\ndeclare -a pkgsBuildTarget=()\ndeclare -a pkgsHostHost=()\ndeclare -a pkgsHostTarget=()\ndeclare -a pkgsTargetTarget=()\ndeclare -a postFixupHooks=(\'noBrokenSymlinksInAllOutputs\' \'_makeSymlinksRelativeInAllOutputs\' \'_multioutPropagateDev\' )\ndeclare -a postUnpackHooks=(\'_updateSourceDateEpochFromSourceRoot\' )\ndeclare -a preConfigureHooks=(\'_multioutConfig\' )\npreConfigurePhases=\' updateAutotoolsGnuConfigScriptsPhase\'\ndeclare -a preFixupHooks=(\'_moveToShare\' \'_multioutDocs\' \'_multioutDevs\' )\npreferLocalBuild=\'1\'\nexport preferLocalBuild\nprefix=\'/home/ender/Documents/Projects/dr-ctf/outputs/out\'\ndeclare -a propagatedBuildDepFiles=(\'propagated-build-build-deps\' \'propagated-native-build-inputs\' \'propagated-build-target-deps\' )\npropagatedBuildInputs=\'\'\nexport propagatedBuildInputs\ndeclare -a propagatedHostDepFiles=(\'propagated-host-host-deps\' \'propagated-build-inputs\' )\npropagatedNativeBuildInputs=\'\'\nexport propagatedNativeBuildInputs\ndeclare -a propagatedTargetDepFiles=(\'propagated-target-target-deps\' )\nshell=\'/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/bash\'\nexport shell\nshellHook=\'\nexport PS1="\\[\\e[0;34m\\](devenv)\\[\\e[0m\\] ${PS1-}"\n\n# override temp directories after "nix develop"\nfor var in TMP TMPDIR TEMP TEMPDIR; do\n if [ -n "${!var-}" ]; then\n export "$var"=/run/user/1000\n fi\ndone\nif [ -n "${NIX_BUILD_TOP-}" ]; then\n unset NIX_BUILD_TOP\nfi\n\n# set path to locales on non-NixOS Linux hosts\nif [ -z "${LOCALE_ARCHIVE-}" ]; then\n export LOCALE_ARCHIVE=/nix/store/lncqmx5asfccx0gfkp64r94ri59y0iyv-glibc-locales-2.40-66/lib/locale/locale-archive\nfi\n\n\n# direnv helper\nif [ ! type -p direnv &>/dev/null && -f .envrc ]; then\n echo "An .envrc file was detected, but the direnv command is not installed."\n echo "To use this configuration, please install direnv: https://direnv.net/docs/installation.html"\nfi\n\nmkdir -p "$DEVENV_STATE"\nif [ ! -L "$DEVENV_DOTFILE/profile" ] || [ "$(/nix/store/imad8dvhp77h0pjbckp6wvmnyhp8dpgg-coreutils-9.8/bin/readlink $DEVENV_DOTFILE/profile)" != "/nix/store/bvm5wn1c46bxfgzylrm3khh2sp87vnsa-devenv-profile" ]\nthen\n ln -snf /nix/store/bvm5wn1c46bxfgzylrm3khh2sp87vnsa-devenv-profile "$DEVENV_DOTFILE/profile"\nfi\nunset HOST_PATH NIX_BUILD_CORES __structuredAttrs buildInputs buildPhase builder depsBuildBuild depsBuildBuildPropagated depsBuildTarget depsBuildTargetPropagated depsHostHost depsHostHostPropagated depsTargetTarget depsTargetTargetPropagated dontAddDisableDepTrack doCheck doInstallCheck nativeBuildInputs out outputs patches phases preferLocalBuild propagatedBuildInputs propagatedNativeBuildInputs shell shellHook stdenv strictDeps\n\nmkdir -p /run/user/1000/devenv-405663c\nln -snf /run/user/1000/devenv-405663c /home/ender/Documents/Projects/dr-ctf/.devenv/run\n\n\nexport CARGO_INSTALL_ROOT=$(/nix/store/imad8dvhp77h0pjbckp6wvmnyhp8dpgg-coreutils-9.8/bin/realpath --no-symlinks /home/ender/Documents/Projects/dr-ctf/.devenv/state/cargo-install)\nexport PATH="$PATH:$CARGO_INSTALL_ROOT/bin"\n\nexport PATH="node_modules/.bin:$PATH"\n\n/nix/store/0h3grrk59ixrbqpikbxknvwg5nb05pr0-devenv-tasks-2.0.0/bin/devenv-tasks run devenv:enterShell --mode all || exit $?\nif [ -f "$DEVENV_DOTFILE/load-exports" ]; then\n source "$DEVENV_DOTFILE/load-exports"\nfi\n\necho "✨ devenv 1.11.1 is out of date. Please update to 1.11.2: https://devenv.sh/getting-started/#installation" >&2\n\n\n# Check whether the direnv integration is out of date.\n{\n if [[ ":${DIRENV_ACTIVE-}:" == *":/home/ender/Documents/Projects/dr-ctf:"* ]]; then\n if [[ ! "${DEVENV_NO_DIRENVRC_OUTDATED_WARNING-}" == 1 && ! "${DEVENV_DIRENVRC_ROLLING_UPGRADE-}" == 1 ]]; then\n if [[ ${DEVENV_DIRENVRC_VERSION:-0} -lt 1 ]]; then\n direnv_line=$(grep --color=never -E "source_url.*cachix/devenv" .envrc || echo "")\n\n echo "✨ The direnv integration in your .envrc is out of date."\n echo ""\n echo -n "RECOMMENDED: devenv can now auto-upgrade the direnv integration. "\n if [[ -n "$direnv_line" ]]; then\n echo "To enable this feature, replace the following line in your .envrc:"\n echo ""\n echo " $direnv_line"\n echo ""\n echo "with:"\n echo ""\n echo " eval \\"\\$(devenv direnvrc)\\""\n else\n echo "To enable this feature, replace the \\`source_url\\` line that fetches the direnvrc integration in your .envrc with:"\n echo ""\n echo " eval \\"$(devenv direnvrc)\\""\n fi\n echo ""\n echo "If you prefer to continue managing the integration manually, follow the upgrade instructions at https://devenv.sh/automatic-shell-activation/."\n echo ""\n echo "To disable this message:"\n echo ""\n echo " Add the following environment to your .envrc before \\`use devenv\\`:"\n echo ""\n echo " export DEVENV_NO_DIRENVRC_OUTDATED_WARNING=1"\n echo ""\n echo " Or set the following option in your devenv configuration:"\n echo ""\n echo " devenv.warnOnNewVersion = false;"\n echo ""\n fi\n fi\n fi\n} >&2\n\ngit --version # Use packages\n\n\'\nexport shellHook\nstdenv=\'/nix/store/s3w5m3spa1g71hx0yb82lvk6394j3w5j-stdenv-linux\'\nexport stdenv\nstrictDeps=\'\'\nexport strictDeps\nsystem=\'x86_64-linux\'\nexport system\ndeclare -a unpackCmdHooks=(\'_defaultUnpack\' )\n_activatePkgs ()\n{\n \n local hostOffset targetOffset;\n local pkg;\n for hostOffset in "${allPlatOffsets[@]}";\n do\n local pkgsVar="${pkgAccumVarVars[hostOffset + 1]}";\n for targetOffset in "${allPlatOffsets[@]}";\n do\n (( hostOffset <= targetOffset )) || continue;\n local pkgsRef="${pkgsVar}[$targetOffset - $hostOffset]";\n local pkgsSlice="${!pkgsRef}[@]";\n for pkg in ${!pkgsSlice+"${!pkgsSlice}"};\n do\n activatePackage "$pkg" "$hostOffset" "$targetOffset";\n done;\n done;\n done\n}\n_addRpathPrefix ()\n{\n \n if [ "${NIX_NO_SELF_RPATH:-0}" != 1 ]; then\n export NIX_LDFLAGS="-rpath $1/lib ${NIX_LDFLAGS-}";\n fi\n}\n_addToEnv ()\n{\n \n local depHostOffset depTargetOffset;\n local pkg;\n for depHostOffset in "${allPlatOffsets[@]}";\n do\n local hookVar="${pkgHookVarVars[depHostOffset + 1]}";\n local pkgsVar="${pkgAccumVarVars[depHostOffset + 1]}";\n for depTargetOffset in "${allPlatOffsets[@]}";\n do\n (( depHostOffset <= depTargetOffset )) || continue;\n local hookRef="${hookVar}[$depTargetOffset - $depHostOffset]";\n if [[ -z "${strictDeps-}" ]]; then\n local visitedPkgs="";\n for pkg in "${pkgsBuildBuild[@]}" "${pkgsBuildHost[@]}" "${pkgsBuildTarget[@]}" "${pkgsHostHost[@]}" "${pkgsHostTarget[@]}" "${pkgsTargetTarget[@]}";\n do\n if [[ "$visitedPkgs" = *"$pkg"* ]]; then\n continue;\n fi;\n runHook "${!hookRef}" "$pkg";\n visitedPkgs+=" $pkg";\n done;\n else\n local pkgsRef="${pkgsVar}[$depTargetOffset - $depHostOffset]";\n local pkgsSlice="${!pkgsRef}[@]";\n for pkg in ${!pkgsSlice+"${!pkgsSlice}"};\n do\n runHook "${!hookRef}" "$pkg";\n done;\n fi;\n done;\n done\n}\n_allFlags ()\n{\n \n export system pname name version;\n while IFS=\'\' read -r varName; do\n nixTalkativeLog "@${varName}@ -> ${!varName}";\n args+=("--subst-var" "$varName");\n done < <(awk \'BEGIN { for (v in ENVIRON) if (v ~ /^[a-z][a-zA-Z0-9_]*$/) print v }\')\n}\n_assignFirst ()\n{\n \n local varName="$1";\n local _var;\n local REMOVE=REMOVE;\n shift;\n for _var in "$@";\n do\n if [ -n "${!_var-}" ]; then\n eval "${varName}"="${_var}";\n return;\n fi;\n done;\n echo;\n echo "error: _assignFirst: could not find a non-empty variable whose name to assign to ${varName}.";\n echo " The following variables were all unset or empty:";\n echo " $*";\n if [ -z "${out:-}" ]; then\n echo \' If you do not want an "out" output in your derivation, make sure to define\';\n echo \' the other specific required outputs. This can be achieved by picking one\';\n echo " of the above as an output.";\n echo \' You do not have to remove "out" if you want to have a different default\';\n echo \' output, because the first output is taken as a default.\';\n echo;\n fi;\n return 1\n}\n_callImplicitHook ()\n{\n \n local def="$1";\n local hookName="$2";\n if declare -F "$hookName" > /dev/null; then\n nixTalkativeLog "calling implicit \'$hookName\' function hook";\n "$hookName";\n else\n if type -p "$hookName" > /dev/null; then\n nixTalkativeLog "sourcing implicit \'$hookName\' script hook";\n source "$hookName";\n else\n if [ -n "${!hookName:-}" ]; then\n nixTalkativeLog "evaling implicit \'$hookName\' string hook";\n eval "${!hookName}";\n else\n return "$def";\n fi;\n fi;\n fi\n}\n_defaultUnpack ()\n{\n \n local fn="$1";\n local destination;\n if [ -d "$fn" ]; then\n destination="$(stripHash "$fn")";\n if [ -e "$destination" ]; then\n echo "Cannot copy $fn to $destination: destination already exists!";\n echo "Did you specify two \\"srcs\\" with the same \\"name\\"?";\n return 1;\n fi;\n cp -r --preserve=timestamps --reflink=auto -- "$fn" "$destination";\n else\n case "$fn" in \n *.tar.xz | *.tar.lzma | *.txz)\n ( XZ_OPT="--threads=$NIX_BUILD_CORES" xz -d < "$fn";\n true ) | tar xf - --mode=+w --warning=no-timestamp\n ;;\n *.tar | *.tar.* | *.tgz | *.tbz2 | *.tbz)\n tar xf "$fn" --mode=+w --warning=no-timestamp\n ;;\n *)\n return 1\n ;;\n esac;\n fi\n}\n_doStrip ()\n{\n \n local -ra flags=(dontStripHost dontStripTarget);\n local -ra debugDirs=(stripDebugList stripDebugListTarget);\n local -ra allDirs=(stripAllList stripAllListTarget);\n local -ra stripCmds=(STRIP STRIP_FOR_TARGET);\n local -ra ranlibCmds=(RANLIB RANLIB_FOR_TARGET);\n stripDebugList=${stripDebugList[*]:-lib lib32 lib64 libexec bin sbin Applications Library/Frameworks};\n stripDebugListTarget=${stripDebugListTarget[*]:-};\n stripAllList=${stripAllList[*]:-};\n stripAllListTarget=${stripAllListTarget[*]:-};\n local i;\n for i in ${!stripCmds[@]};\n do\n local -n flag="${flags[$i]}";\n local -n debugDirList="${debugDirs[$i]}";\n local -n allDirList="${allDirs[$i]}";\n local -n stripCmd="${stripCmds[$i]}";\n local -n ranlibCmd="${ranlibCmds[$i]}";\n if [[ -n "${dontStrip-}" || -n "${flag-}" ]] || ! type -f "${stripCmd-}" 2> /dev/null 1>&2; then\n continue;\n fi;\n stripDirs "$stripCmd" "$ranlibCmd" "$debugDirList" "${stripDebugFlags[*]:--S -p}";\n stripDirs "$stripCmd" "$ranlibCmd" "$allDirList" "${stripAllFlags[*]:--s -p}";\n done\n}\n_eval ()\n{\n \n if declare -F "$1" > /dev/null 2>&1; then\n "$@";\n else\n eval "$1";\n fi\n}\n_logHook ()\n{\n \n if [[ -z ${NIX_LOG_FD-} ]]; then\n return;\n fi;\n local hookKind="$1";\n local hookExpr="$2";\n shift 2;\n if declare -F "$hookExpr" > /dev/null 2>&1; then\n nixTalkativeLog "calling \'$hookKind\' function hook \'$hookExpr\'" "$@";\n else\n if type -p "$hookExpr" > /dev/null; then\n nixTalkativeLog "sourcing \'$hookKind\' script hook \'$hookExpr\'";\n else\n if [[ "$hookExpr" != "_callImplicitHook"* ]]; then\n local exprToOutput;\n if [[ ${NIX_DEBUG:-0} -ge 5 ]]; then\n exprToOutput="$hookExpr";\n else\n local hookExprLine;\n while IFS= read -r hookExprLine; do\n hookExprLine="${hookExprLine#"${hookExprLine%%[![:space:]]*}"}";\n if [[ -n "$hookExprLine" ]]; then\n exprToOutput+="$hookExprLine\\\\n ";\n fi;\n done <<< "$hookExpr";\n exprToOutput="${exprToOutput%%\\\\n }";\n fi;\n nixTalkativeLog "evaling \'$hookKind\' string hook \'$exprToOutput\'";\n fi;\n fi;\n fi\n}\n_makeSymlinksRelative ()\n{\n \n local symlinkTarget;\n if [ "${dontRewriteSymlinks-}" ] || [ ! -e "$prefix" ]; then\n return;\n fi;\n while IFS= read -r -d \'\' f; do\n symlinkTarget=$(readlink "$f");\n if [[ "$symlinkTarget"/ != "$prefix"/* ]]; then\n continue;\n fi;\n if [ ! -e "$symlinkTarget" ]; then\n echo "the symlink $f is broken, it points to $symlinkTarget (which is missing)";\n fi;\n echo "rewriting symlink $f to be relative to $prefix";\n ln -snrf "$symlinkTarget" "$f";\n done < <(find $prefix -type l -print0)\n}\n_makeSymlinksRelativeInAllOutputs ()\n{\n \n local output;\n for output in $(getAllOutputNames);\n do\n prefix="${!output}" _makeSymlinksRelative;\n done\n}\n_moveLib64 ()\n{\n \n if [ "${dontMoveLib64-}" = 1 ]; then\n return;\n fi;\n if [ ! -e "$prefix/lib64" -o -L "$prefix/lib64" ]; then\n return;\n fi;\n echo "moving $prefix/lib64/* to $prefix/lib";\n mkdir -p $prefix/lib;\n shopt -s dotglob;\n for i in $prefix/lib64/*;\n do\n mv --no-clobber "$i" $prefix/lib;\n done;\n shopt -u dotglob;\n rmdir $prefix/lib64;\n ln -s lib $prefix/lib64\n}\n_moveSbin ()\n{\n \n if [ "${dontMoveSbin-}" = 1 ]; then\n return;\n fi;\n if [ ! -e "$prefix/sbin" -o -L "$prefix/sbin" ]; then\n return;\n fi;\n echo "moving $prefix/sbin/* to $prefix/bin";\n mkdir -p $prefix/bin;\n shopt -s dotglob;\n for i in $prefix/sbin/*;\n do\n mv "$i" $prefix/bin;\n done;\n shopt -u dotglob;\n rmdir $prefix/sbin;\n ln -s bin $prefix/sbin\n}\n_moveSystemdUserUnits ()\n{\n \n if [ "${dontMoveSystemdUserUnits:-0}" = 1 ]; then\n return;\n fi;\n if [ ! -e "${prefix:?}/lib/systemd/user" ]; then\n return;\n fi;\n local source="$prefix/lib/systemd/user";\n local target="$prefix/share/systemd/user";\n echo "moving $source/* to $target";\n mkdir -p "$target";\n ( shopt -s dotglob;\n for i in "$source"/*;\n do\n mv "$i" "$target";\n done );\n rmdir "$source";\n ln -s "$target" "$source"\n}\n_moveToShare ()\n{\n \n if [ -n "$__structuredAttrs" ]; then\n if [ -z "${forceShare-}" ]; then\n forceShare=(man doc info);\n fi;\n else\n forceShare=(${forceShare:-man doc info});\n fi;\n if [[ -z "$out" ]]; then\n return;\n fi;\n for d in "${forceShare[@]}";\n do\n if [ -d "$out/$d" ]; then\n if [ -d "$out/share/$d" ]; then\n echo "both $d/ and share/$d/ exist!";\n else\n echo "moving $out/$d to $out/share/$d";\n mkdir -p $out/share;\n mv $out/$d $out/share/;\n fi;\n fi;\n done\n}\n_multioutConfig ()\n{\n \n if [ "$(getAllOutputNames)" = "out" ] || [ -z "${setOutputFlags-1}" ]; then\n return;\n fi;\n if [ -z "${shareDocName:-}" ]; then\n local confScript="${configureScript:-}";\n if [ -z "$confScript" ] && [ -x ./configure ]; then\n confScript=./configure;\n fi;\n if [ -f "$confScript" ]; then\n local shareDocName="$(sed -n "s/^PACKAGE_TARNAME=\'\\(.*\\)\'$/\\1/p" < "$confScript")";\n fi;\n if [ -z "$shareDocName" ] || echo "$shareDocName" | grep -q \'[^a-zA-Z0-9_-]\'; then\n shareDocName="$(echo "$name" | sed \'s/-[^a-zA-Z].*//\')";\n fi;\n fi;\n prependToVar configureFlags --bindir="${!outputBin}"/bin --sbindir="${!outputBin}"/sbin --includedir="${!outputInclude}"/include --mandir="${!outputMan}"/share/man --infodir="${!outputInfo}"/share/info --docdir="${!outputDoc}"/share/doc/"${shareDocName}" --libdir="${!outputLib}"/lib --libexecdir="${!outputLib}"/libexec --localedir="${!outputLib}"/share/locale;\n prependToVar installFlags pkgconfigdir="${!outputDev}"/lib/pkgconfig m4datadir="${!outputDev}"/share/aclocal aclocaldir="${!outputDev}"/share/aclocal\n}\n_multioutDevs ()\n{\n \n if [ "$(getAllOutputNames)" = "out" ] || [ -z "${moveToDev-1}" ]; then\n return;\n fi;\n moveToOutput include "${!outputInclude}";\n moveToOutput lib/pkgconfig "${!outputDev}";\n moveToOutput share/pkgconfig "${!outputDev}";\n moveToOutput lib/cmake "${!outputDev}";\n moveToOutput share/aclocal "${!outputDev}";\n for f in "${!outputDev}"/{lib,share}/pkgconfig/*.pc;\n do\n echo "Patching \'$f\' includedir to output ${!outputInclude}";\n sed -i "/^includedir=/s,=\\${prefix},=${!outputInclude}," "$f";\n done\n}\n_multioutDocs ()\n{\n \n local REMOVE=REMOVE;\n moveToOutput share/info "${!outputInfo}";\n moveToOutput share/doc "${!outputDoc}";\n moveToOutput share/gtk-doc "${!outputDevdoc}";\n moveToOutput share/devhelp/books "${!outputDevdoc}";\n moveToOutput share/man "${!outputMan}";\n moveToOutput share/man/man3 "${!outputDevman}"\n}\n_multioutPropagateDev ()\n{\n \n if [ "$(getAllOutputNames)" = "out" ]; then\n return;\n fi;\n local outputFirst;\n for outputFirst in $(getAllOutputNames);\n do\n break;\n done;\n local propagaterOutput="$outputDev";\n if [ -z "$propagaterOutput" ]; then\n propagaterOutput="$outputFirst";\n fi;\n if [ -z "${propagatedBuildOutputs+1}" ]; then\n local po_dirty="$outputBin $outputInclude $outputLib";\n set +o pipefail;\n propagatedBuildOutputs=`echo "$po_dirty" | tr -s \' \' \'\\n\' | grep -v -F "$propagaterOutput" | sort -u | tr \'\\n\' \' \' `;\n set -o pipefail;\n fi;\n if [ -z "$propagatedBuildOutputs" ]; then\n return;\n fi;\n mkdir -p "${!propagaterOutput}"/nix-support;\n for output in $propagatedBuildOutputs;\n do\n echo -n " ${!output}" >> "${!propagaterOutput}"/nix-support/propagated-build-inputs;\n done\n}\n_nixLogWithLevel ()\n{\n \n [[ -z ${NIX_LOG_FD-} || ${NIX_DEBUG:-0} -lt ${1:?} ]] && return 0;\n local logLevel;\n case "${1:?}" in \n 0)\n logLevel=ERROR\n ;;\n 1)\n logLevel=WARN\n ;;\n 2)\n logLevel=NOTICE\n ;;\n 3)\n logLevel=INFO\n ;;\n 4)\n logLevel=TALKATIVE\n ;;\n 5)\n logLevel=CHATTY\n ;;\n 6)\n logLevel=DEBUG\n ;;\n 7)\n logLevel=VOMIT\n ;;\n *)\n echo "_nixLogWithLevel: called with invalid log level: ${1:?}" >&"$NIX_LOG_FD";\n return 1\n ;;\n esac;\n local callerName="${FUNCNAME[2]}";\n if [[ $callerName == "_callImplicitHook" ]]; then\n callerName="${hookName:?}";\n fi;\n printf "%s: %s: %s\\n" "$logLevel" "$callerName" "${2:?}" >&"$NIX_LOG_FD"\n}\n_overrideFirst ()\n{\n \n if [ -z "${!1-}" ]; then\n _assignFirst "$@";\n fi\n}\n_pruneLibtoolFiles ()\n{\n \n if [ "${dontPruneLibtoolFiles-}" ] || [ ! -e "$prefix" ]; then\n return;\n fi;\n find "$prefix" -type f -name \'*.la\' -exec grep -q \'^# Generated by .*libtool\' {} \\; -exec grep -q "^old_library=\'\'" {} \\; -exec sed -i {} -e "/^dependency_libs=\'[^\']/ c dependency_libs=\'\' #pruned" \\;\n}\n_updateSourceDateEpochFromSourceRoot ()\n{\n \n if [ -n "$sourceRoot" ]; then\n updateSourceDateEpoch "$sourceRoot";\n fi\n}\nactivatePackage ()\n{\n \n local pkg="$1";\n local -r hostOffset="$2";\n local -r targetOffset="$3";\n (( hostOffset <= targetOffset )) || exit 1;\n if [ -f "$pkg" ]; then\n nixTalkativeLog "sourcing setup hook \'$pkg\'";\n source "$pkg";\n fi;\n if [[ -z "${strictDeps-}" || "$hostOffset" -le -1 ]]; then\n addToSearchPath _PATH "$pkg/bin";\n fi;\n if (( hostOffset <= -1 )); then\n addToSearchPath _XDG_DATA_DIRS "$pkg/share";\n fi;\n if [[ "$hostOffset" -eq 0 && -d "$pkg/bin" ]]; then\n addToSearchPath _HOST_PATH "$pkg/bin";\n fi;\n if [[ -f "$pkg/nix-support/setup-hook" ]]; then\n nixTalkativeLog "sourcing setup hook \'$pkg/nix-support/setup-hook\'";\n source "$pkg/nix-support/setup-hook";\n fi\n}\naddEnvHooks ()\n{\n \n local depHostOffset="$1";\n shift;\n local pkgHookVarsSlice="${pkgHookVarVars[$depHostOffset + 1]}[@]";\n local pkgHookVar;\n for pkgHookVar in "${!pkgHookVarsSlice}";\n do\n eval "${pkgHookVar}s"\'+=("$@")\';\n done\n}\naddNodePath ()\n{\n \n addToSearchPath NODE_PATH "$1/lib/node_modules"\n}\naddPythonPath ()\n{\n \n addToSearchPathWithCustomDelimiter : PYTHONPATH $1/lib/python3.13/site-packages\n}\naddToSearchPath ()\n{\n \n addToSearchPathWithCustomDelimiter ":" "$@"\n}\naddToSearchPathWithCustomDelimiter ()\n{\n \n local delimiter="$1";\n local varName="$2";\n local dir="$3";\n if [[ -d "$dir" && "${!varName:+${delimiter}${!varName}${delimiter}}" != *"${delimiter}${dir}${delimiter}"* ]]; then\n export "${varName}=${!varName:+${!varName}${delimiter}}${dir}";\n fi\n}\nappendToVar ()\n{\n \n local -n nameref="$1";\n local useArray type;\n if [ -n "$__structuredAttrs" ]; then\n useArray=true;\n else\n useArray=false;\n fi;\n if type=$(declare -p "$1" 2> /dev/null); then\n case "${type#* }" in \n -A*)\n echo "appendToVar(): ERROR: trying to use appendToVar on an associative array, use variable+=([\\"X\\"]=\\"Y\\") instead." 1>&2;\n return 1\n ;;\n -a*)\n useArray=true\n ;;\n *)\n useArray=false\n ;;\n esac;\n fi;\n shift;\n if $useArray; then\n nameref=(${nameref+"${nameref[@]}"} "$@");\n else\n nameref="${nameref-} $*";\n fi\n}\nauditTmpdir ()\n{\n \n local dir="$1";\n [ -e "$dir" ] || return 0;\n echo "checking for references to $TMPDIR/ in $dir...";\n local tmpdir elf_fifo script_fifo;\n tmpdir="$(mktemp -d)";\n elf_fifo="$tmpdir/elf";\n script_fifo="$tmpdir/script";\n mkfifo "$elf_fifo" "$script_fifo";\n ( find "$dir" -type f -not -path \'*/.build-id/*\' -print0 | while IFS= read -r -d \'\' file; do\n if isELF "$file"; then\n printf \'%s\\0\' "$file" 1>&3;\n else\n if isScript "$file"; then\n filename=${file##*/};\n dir=${file%/*};\n if [ -e "$dir/.$filename-wrapped" ]; then\n printf \'%s\\0\' "$file" 1>&4;\n fi;\n fi;\n fi;\n done;\n exec 3>&- 4>&- ) 3> "$elf_fifo" 4> "$script_fifo" & ( xargs -0 -r -P "$NIX_BUILD_CORES" -n 1 sh -c \'\n if { printf :; patchelf --print-rpath "$1"; } | grep -q -F ":$TMPDIR/"; then\n echo "RPATH of binary $1 contains a forbidden reference to $TMPDIR/"\n exit 1\n fi\n \' _ < "$elf_fifo" ) & local pid_elf=$!;\n local pid_script;\n ( xargs -0 -r -P "$NIX_BUILD_CORES" -n 1 sh -c \'\n if grep -q -F "$TMPDIR/" "$1"; then\n echo "wrapper script $1 contains a forbidden reference to $TMPDIR/"\n exit 1\n fi\n \' _ < "$script_fifo" ) & local pid_script=$!;\n wait "$pid_elf" || { \n echo "Some binaries contain forbidden references to $TMPDIR/. Check the error above!";\n exit 1\n };\n wait "$pid_script" || { \n echo "Some scripts contain forbidden references to $TMPDIR/. Check the error above!";\n exit 1\n };\n rm -r "$tmpdir"\n}\nbintoolsWrapper_addLDVars ()\n{\n \n local role_post;\n getHostRoleEnvHook;\n if [[ -d "$1/lib64" && ! -L "$1/lib64" ]]; then\n export NIX_LDFLAGS${role_post}+=" -L$1/lib64";\n fi;\n if [[ -d "$1/lib" ]]; then\n local -a glob=($1/lib/lib*);\n if [ "${#glob[*]}" -gt 0 ]; then\n export NIX_LDFLAGS${role_post}+=" -L$1/lib";\n fi;\n fi\n}\nbuildPhase ()\n{\n \n runHook preBuild;\n if [[ -z "${makeFlags-}" && -z "${makefile:-}" && ! ( -e Makefile || -e makefile || -e GNUmakefile ) ]]; then\n echo "no Makefile or custom buildPhase, doing nothing";\n else\n foundMakefile=1;\n local flagsArray=(${enableParallelBuilding:+-j${NIX_BUILD_CORES}} SHELL="$SHELL");\n concatTo flagsArray makeFlags makeFlagsArray buildFlags buildFlagsArray;\n echoCmd \'build flags\' "${flagsArray[@]}";\n make ${makefile:+-f $makefile} "${flagsArray[@]}";\n unset flagsArray;\n fi;\n runHook postBuild\n}\nccWrapper_addCVars ()\n{\n \n local role_post;\n getHostRoleEnvHook;\n local found=;\n if [ -d "$1/include" ]; then\n export NIX_CFLAGS_COMPILE${role_post}+=" -isystem $1/include";\n found=1;\n fi;\n if [ -d "$1/Library/Frameworks" ]; then\n export NIX_CFLAGS_COMPILE${role_post}+=" -iframework $1/Library/Frameworks";\n found=1;\n fi;\n if [[ -n "" && -n ${NIX_STORE:-} && -n $found ]]; then\n local scrubbed="$NIX_STORE/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-${1#"$NIX_STORE"/*-}";\n export NIX_CFLAGS_COMPILE${role_post}+=" -fmacro-prefix-map=$1=$scrubbed";\n fi\n}\ncheckPhase ()\n{\n \n runHook preCheck;\n if [[ -z "${foundMakefile:-}" ]]; then\n echo "no Makefile or custom checkPhase, doing nothing";\n runHook postCheck;\n return;\n fi;\n if [[ -z "${checkTarget:-}" ]]; then\n if make -n ${makefile:+-f $makefile} check > /dev/null 2>&1; then\n checkTarget="check";\n else\n if make -n ${makefile:+-f $makefile} test > /dev/null 2>&1; then\n checkTarget="test";\n fi;\n fi;\n fi;\n if [[ -z "${checkTarget:-}" ]]; then\n echo "no check/test target in ${makefile:-Makefile}, doing nothing";\n else\n local flagsArray=(${enableParallelChecking:+-j${NIX_BUILD_CORES}} SHELL="$SHELL");\n concatTo flagsArray makeFlags makeFlagsArray checkFlags=VERBOSE=y checkFlagsArray checkTarget;\n echoCmd \'check flags\' "${flagsArray[@]}";\n make ${makefile:+-f $makefile} "${flagsArray[@]}";\n unset flagsArray;\n fi;\n runHook postCheck\n}\ncompressManPages ()\n{\n \n local dir="$1";\n if [ -L "$dir"/share ] || [ -L "$dir"/share/man ] || [ ! -d "$dir/share/man" ]; then\n return;\n fi;\n echo "gzipping man pages under $dir/share/man/";\n find "$dir"/share/man/ -type f -a \'!\' -regex \'.*\\.\\(bz2\\|gz\\|xz\\)$\' -print0 | xargs -0 -n1 -P "$NIX_BUILD_CORES" gzip -n -f;\n find "$dir"/share/man/ -type l -a \'!\' -regex \'.*\\.\\(bz2\\|gz\\|xz\\)$\' -print0 | sort -z | while IFS= read -r -d \'\' f; do\n local target;\n target="$(readlink -f "$f")";\n if [ -f "$target".gz ]; then\n ln -sf "$target".gz "$f".gz && rm "$f";\n fi;\n done\n}\nconcatStringsSep ()\n{\n \n local sep="$1";\n local name="$2";\n local type oldifs;\n if type=$(declare -p "$name" 2> /dev/null); then\n local -n nameref="$name";\n case "${type#* }" in \n -A*)\n echo "concatStringsSep(): ERROR: trying to use concatStringsSep on an associative array." 1>&2;\n return 1\n ;;\n -a*)\n local IFS="$(printf \'\\036\')"\n ;;\n *)\n local IFS=" "\n ;;\n esac;\n local ifs_separated="${nameref[*]}";\n echo -n "${ifs_separated//"$IFS"/"$sep"}";\n fi\n}\nconcatTo ()\n{\n \n local -;\n set -o noglob;\n local -n targetref="$1";\n shift;\n local arg default name type;\n for arg in "$@";\n do\n IFS="=" read -r name default <<< "$arg";\n local -n nameref="$name";\n if [[ -z "${nameref[*]}" && -n "$default" ]]; then\n targetref+=("$default");\n else\n if type=$(declare -p "$name" 2> /dev/null); then\n case "${type#* }" in \n -A*)\n echo "concatTo(): ERROR: trying to use concatTo on an associative array." 1>&2;\n return 1\n ;;\n -a*)\n targetref+=("${nameref[@]}")\n ;;\n *)\n if [[ "$name" = *"Array" ]]; then\n nixErrorLog "concatTo(): $name is not declared as array, treating as a singleton. This will become an error in future";\n targetref+=(${nameref+"${nameref[@]}"});\n else\n targetref+=(${nameref-});\n fi\n ;;\n esac;\n fi;\n fi;\n done\n}\nconfigurePhase ()\n{\n \n runHook preConfigure;\n : "${configureScript=}";\n if [[ -z "$configureScript" && -x ./configure ]]; then\n configureScript=./configure;\n fi;\n if [ -z "${dontFixLibtool:-}" ]; then\n export lt_cv_deplibs_check_method="${lt_cv_deplibs_check_method-pass_all}";\n local i;\n find . -iname "ltmain.sh" -print0 | while IFS=\'\' read -r -d \'\' i; do\n echo "fixing libtool script $i";\n fixLibtool "$i";\n done;\n CONFIGURE_MTIME_REFERENCE=$(mktemp configure.mtime.reference.XXXXXX);\n find . -executable -type f -name configure -exec grep -l \'GNU Libtool is free software; you can redistribute it and/or modify\' {} \\; -exec touch -r {} "$CONFIGURE_MTIME_REFERENCE" \\; -exec sed -i s_/usr/bin/file_file_g {} \\; -exec touch -r "$CONFIGURE_MTIME_REFERENCE" {} \\;;\n rm -f "$CONFIGURE_MTIME_REFERENCE";\n fi;\n if [[ -z "${dontAddPrefix:-}" && -n "$prefix" ]]; then\n prependToVar configureFlags "${prefixKey:---prefix=}$prefix";\n fi;\n if [[ -f "$configureScript" ]]; then\n if [ -z "${dontAddDisableDepTrack:-}" ]; then\n if grep -q dependency-tracking "$configureScript"; then\n prependToVar configureFlags --disable-dependency-tracking;\n fi;\n fi;\n if [ -z "${dontDisableStatic:-}" ]; then\n if grep -q enable-static "$configureScript"; then\n prependToVar configureFlags --disable-static;\n fi;\n fi;\n if [ -z "${dontPatchShebangsInConfigure:-}" ]; then\n patchShebangs --build "$configureScript";\n fi;\n fi;\n if [ -n "$configureScript" ]; then\n local -a flagsArray;\n concatTo flagsArray configureFlags configureFlagsArray;\n echoCmd \'configure flags\' "${flagsArray[@]}";\n $configureScript "${flagsArray[@]}";\n unset flagsArray;\n else\n echo "no configure script, doing nothing";\n fi;\n runHook postConfigure\n}\nconsumeEntire ()\n{\n \n if IFS=\'\' read -r -d \'\' "$1"; then\n echo "consumeEntire(): ERROR: Input null bytes, won\'t process" 1>&2;\n return 1;\n fi\n}\ndistPhase ()\n{\n \n runHook preDist;\n local flagsArray=();\n concatTo flagsArray distFlags distFlagsArray distTarget=dist;\n echo \'dist flags: %q\' "${flagsArray[@]}";\n make ${makefile:+-f $makefile} "${flagsArray[@]}";\n if [ "${dontCopyDist:-0}" != 1 ]; then\n mkdir -p "$out/tarballs";\n cp -pvd ${tarballs[*]:-*.tar.gz} "$out/tarballs";\n fi;\n runHook postDist\n}\ndumpVars ()\n{\n \n if [[ "${noDumpEnvVars:-0}" != 1 && -d "$NIX_BUILD_TOP" ]]; then\n local old_umask;\n old_umask=$(umask);\n umask 0077;\n export 2> /dev/null > "$NIX_BUILD_TOP/env-vars";\n umask "$old_umask";\n fi\n}\nechoCmd ()\n{\n \n printf "%s:" "$1";\n shift;\n printf \' %q\' "$@";\n echo\n}\nexitHandler ()\n{\n \n exitCode="$?";\n set +e;\n if [ -n "${showBuildStats:-}" ]; then\n read -r -d \'\' -a buildTimes < <(times);\n echo "build times:";\n echo "user time for the shell ${buildTimes[0]}";\n echo "system time for the shell ${buildTimes[1]}";\n echo "user time for all child processes ${buildTimes[2]}";\n echo "system time for all child processes ${buildTimes[3]}";\n fi;\n if (( "$exitCode" != 0 )); then\n runHook failureHook;\n if [ -n "${succeedOnFailure:-}" ]; then\n echo "build failed with exit code $exitCode (ignored)";\n mkdir -p "$out/nix-support";\n printf "%s" "$exitCode" > "$out/nix-support/failed";\n exit 0;\n fi;\n else\n runHook exitHook;\n fi;\n return "$exitCode"\n}\nfindInputs ()\n{\n \n local -r pkg="$1";\n local -r hostOffset="$2";\n local -r targetOffset="$3";\n (( hostOffset <= targetOffset )) || exit 1;\n local varVar="${pkgAccumVarVars[hostOffset + 1]}";\n local varRef="$varVar[$((targetOffset - hostOffset))]";\n local var="${!varRef}";\n unset -v varVar varRef;\n local varSlice="$var[*]";\n case " ${!varSlice-} " in \n *" $pkg "*)\n return 0\n ;;\n esac;\n unset -v varSlice;\n eval "$var"\'+=("$pkg")\';\n if ! [ -e "$pkg" ]; then\n echo "build input $pkg does not exist" 1>&2;\n exit 1;\n fi;\n function mapOffset () \n { \n local -r inputOffset="$1";\n local -n outputOffset="$2";\n if (( inputOffset <= 0 )); then\n outputOffset=$((inputOffset + hostOffset));\n else\n outputOffset=$((inputOffset - 1 + targetOffset));\n fi\n };\n local relHostOffset;\n for relHostOffset in "${allPlatOffsets[@]}";\n do\n local files="${propagatedDepFilesVars[relHostOffset + 1]}";\n local hostOffsetNext;\n mapOffset "$relHostOffset" hostOffsetNext;\n (( -1 <= hostOffsetNext && hostOffsetNext <= 1 )) || continue;\n local relTargetOffset;\n for relTargetOffset in "${allPlatOffsets[@]}";\n do\n (( "$relHostOffset" <= "$relTargetOffset" )) || continue;\n local fileRef="${files}[$relTargetOffset - $relHostOffset]";\n local file="${!fileRef}";\n unset -v fileRef;\n local targetOffsetNext;\n mapOffset "$relTargetOffset" targetOffsetNext;\n (( -1 <= hostOffsetNext && hostOffsetNext <= 1 )) || continue;\n [[ -f "$pkg/nix-support/$file" ]] || continue;\n local pkgNext;\n read -r -d \'\' pkgNext < "$pkg/nix-support/$file" || true;\n for pkgNext in $pkgNext;\n do\n findInputs "$pkgNext" "$hostOffsetNext" "$targetOffsetNext";\n done;\n done;\n done\n}\nfixLibtool ()\n{\n \n local search_path;\n for flag in $NIX_LDFLAGS;\n do\n case $flag in \n -L*)\n search_path+=" ${flag#-L}"\n ;;\n esac;\n done;\n sed -i "$1" -e "s^eval \\(sys_lib_search_path=\\).*^\\1\'${search_path:-}\'^" -e \'s^eval sys_lib_.+search_path=.*^^\'\n}\nfixupPhase ()\n{\n \n local output;\n for output in $(getAllOutputNames);\n do\n if [ -e "${!output}" ]; then\n chmod -R u+w,u-s,g-s "${!output}";\n fi;\n done;\n runHook preFixup;\n local output;\n for output in $(getAllOutputNames);\n do\n prefix="${!output}" runHook fixupOutput;\n done;\n recordPropagatedDependencies;\n if [ -n "${setupHook:-}" ]; then\n mkdir -p "${!outputDev}/nix-support";\n substituteAll "$setupHook" "${!outputDev}/nix-support/setup-hook";\n fi;\n if [ -n "${setupHooks:-}" ]; then\n mkdir -p "${!outputDev}/nix-support";\n local hook;\n for hook in ${setupHooks[@]};\n do\n local content;\n consumeEntire content < "$hook";\n substituteAllStream content "file \'$hook\'" >> "${!outputDev}/nix-support/setup-hook";\n unset -v content;\n done;\n unset -v hook;\n fi;\n if [ -n "${propagatedUserEnvPkgs[*]:-}" ]; then\n mkdir -p "${!outputBin}/nix-support";\n printWords "${propagatedUserEnvPkgs[@]}" > "${!outputBin}/nix-support/propagated-user-env-packages";\n fi;\n runHook postFixup\n}\ngenericBuild ()\n{\n \n export GZIP_NO_TIMESTAMPS=1;\n if [ -f "${buildCommandPath:-}" ]; then\n source "$buildCommandPath";\n return;\n fi;\n if [ -n "${buildCommand:-}" ]; then\n eval "$buildCommand";\n return;\n fi;\n if [ -z "${phases[*]:-}" ]; then\n phases="${prePhases[*]:-} unpackPhase patchPhase ${preConfigurePhases[*]:-} configurePhase ${preBuildPhases[*]:-} buildPhase checkPhase ${preInstallPhases[*]:-} installPhase ${preFixupPhases[*]:-} fixupPhase installCheckPhase ${preDistPhases[*]:-} distPhase ${postPhases[*]:-}";\n fi;\n for curPhase in ${phases[*]};\n do\n runPhase "$curPhase";\n done\n}\ngetAllOutputNames ()\n{\n \n if [ -n "$__structuredAttrs" ]; then\n echo "${!outputs[*]}";\n else\n echo "$outputs";\n fi\n}\ngetHostRole ()\n{\n \n getRole "$hostOffset"\n}\ngetHostRoleEnvHook ()\n{\n \n getRole "$depHostOffset"\n}\ngetRole ()\n{\n \n case $1 in \n -1)\n role_post=\'_FOR_BUILD\'\n ;;\n 0)\n role_post=\'\'\n ;;\n 1)\n role_post=\'_FOR_TARGET\'\n ;;\n *)\n echo "binutils-wrapper-2.44: used as improper sort of dependency" 1>&2;\n return 1\n ;;\n esac\n}\ngetTargetRole ()\n{\n \n getRole "$targetOffset"\n}\ngetTargetRoleEnvHook ()\n{\n \n getRole "$depTargetOffset"\n}\ngetTargetRoleWrapper ()\n{\n \n case $targetOffset in \n -1)\n export NIX_BINTOOLS_WRAPPER_TARGET_BUILD_x86_64_unknown_linux_gnu=1\n ;;\n 0)\n export NIX_BINTOOLS_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu=1\n ;;\n 1)\n export NIX_BINTOOLS_WRAPPER_TARGET_TARGET_x86_64_unknown_linux_gnu=1\n ;;\n *)\n echo "binutils-wrapper-2.44: used as improper sort of dependency" 1>&2;\n return 1\n ;;\n esac\n}\ninstallCheckPhase ()\n{\n \n runHook preInstallCheck;\n if [[ -z "${foundMakefile:-}" ]]; then\n echo "no Makefile or custom installCheckPhase, doing nothing";\n else\n if [[ -z "${installCheckTarget:-}" ]] && ! make -n ${makefile:+-f $makefile} "${installCheckTarget:-installcheck}" > /dev/null 2>&1; then\n echo "no installcheck target in ${makefile:-Makefile}, doing nothing";\n else\n local flagsArray=(${enableParallelChecking:+-j${NIX_BUILD_CORES}} SHELL="$SHELL");\n concatTo flagsArray makeFlags makeFlagsArray installCheckFlags installCheckFlagsArray installCheckTarget=installcheck;\n echoCmd \'installcheck flags\' "${flagsArray[@]}";\n make ${makefile:+-f $makefile} "${flagsArray[@]}";\n unset flagsArray;\n fi;\n fi;\n runHook postInstallCheck\n}\ninstallPhase ()\n{\n \n runHook preInstall;\n if [[ -z "${makeFlags-}" && -z "${makefile:-}" && ! ( -e Makefile || -e makefile || -e GNUmakefile ) ]]; then\n echo "no Makefile or custom installPhase, doing nothing";\n runHook postInstall;\n return;\n else\n foundMakefile=1;\n fi;\n if [ -n "$prefix" ]; then\n mkdir -p "$prefix";\n fi;\n local flagsArray=(${enableParallelInstalling:+-j${NIX_BUILD_CORES}} SHELL="$SHELL");\n concatTo flagsArray makeFlags makeFlagsArray installFlags installFlagsArray installTargets=install;\n echoCmd \'install flags\' "${flagsArray[@]}";\n make ${makefile:+-f $makefile} "${flagsArray[@]}";\n unset flagsArray;\n runHook postInstall\n}\nisELF ()\n{\n \n local fn="$1";\n local fd;\n local magic;\n exec {fd}< "$fn";\n LANG=C read -r -n 4 -u "$fd" magic;\n exec {fd}>&-;\n if [ "$magic" = \'\177ELF\' ]; then\n return 0;\n else\n return 1;\n fi\n}\nisMachO ()\n{\n \n local fn="$1";\n local fd;\n local magic;\n exec {fd}< "$fn";\n LANG=C read -r -n 4 -u "$fd" magic;\n exec {fd}>&-;\n if [[ "$magic" = $(echo -ne "\\xfe\\xed\\xfa\\xcf") || "$magic" = $(echo -ne "\\xcf\\xfa\\xed\\xfe") ]]; then\n return 0;\n else\n if [[ "$magic" = $(echo -ne "\\xfe\\xed\\xfa\\xce") || "$magic" = $(echo -ne "\\xce\\xfa\\xed\\xfe") ]]; then\n return 0;\n else\n if [[ "$magic" = $(echo -ne "\\xca\\xfe\\xba\\xbe") || "$magic" = $(echo -ne "\\xbe\\xba\\xfe\\xca") ]]; then\n return 0;\n else\n return 1;\n fi;\n fi;\n fi\n}\nisScript ()\n{\n \n local fn="$1";\n local fd;\n local magic;\n exec {fd}< "$fn";\n LANG=C read -r -n 2 -u "$fd" magic;\n exec {fd}>&-;\n if [[ "$magic" =~ \\#! ]]; then\n return 0;\n else\n return 1;\n fi\n}\nmapOffset ()\n{\n \n local -r inputOffset="$1";\n local -n outputOffset="$2";\n if (( inputOffset <= 0 )); then\n outputOffset=$((inputOffset + hostOffset));\n else\n outputOffset=$((inputOffset - 1 + targetOffset));\n fi\n}\nmoveToOutput ()\n{\n \n local patt="$1";\n local dstOut="$2";\n local output;\n for output in $(getAllOutputNames);\n do\n if [ "${!output}" = "$dstOut" ]; then\n continue;\n fi;\n local srcPath;\n for srcPath in "${!output}"/$patt;\n do\n if [ ! -e "$srcPath" ] && [ ! -L "$srcPath" ]; then\n continue;\n fi;\n if [ "$dstOut" = REMOVE ]; then\n echo "Removing $srcPath";\n rm -r "$srcPath";\n else\n local dstPath="$dstOut${srcPath#${!output}}";\n echo "Moving $srcPath to $dstPath";\n if [ -d "$dstPath" ] && [ -d "$srcPath" ]; then\n rmdir "$srcPath" --ignore-fail-on-non-empty;\n if [ -d "$srcPath" ]; then\n mv -t "$dstPath" "$srcPath"/*;\n rmdir "$srcPath";\n fi;\n else\n mkdir -p "$(readlink -m "$dstPath/..")";\n mv "$srcPath" "$dstPath";\n fi;\n fi;\n local srcParent="$(readlink -m "$srcPath/..")";\n if [ -n "$(find "$srcParent" -maxdepth 0 -type d -empty 2> /dev/null)" ]; then\n echo "Removing empty $srcParent/ and (possibly) its parents";\n rmdir -p --ignore-fail-on-non-empty "$srcParent" 2> /dev/null || true;\n fi;\n done;\n done\n}\nnixChattyLog ()\n{\n \n _nixLogWithLevel 5 "$*"\n}\nnixDebugLog ()\n{\n \n _nixLogWithLevel 6 "$*"\n}\nnixErrorLog ()\n{\n \n _nixLogWithLevel 0 "$*"\n}\nnixInfoLog ()\n{\n \n _nixLogWithLevel 3 "$*"\n}\nnixLog ()\n{\n \n [[ -z ${NIX_LOG_FD-} ]] && return 0;\n local callerName="${FUNCNAME[1]}";\n if [[ $callerName == "_callImplicitHook" ]]; then\n callerName="${hookName:?}";\n fi;\n printf "%s: %s\\n" "$callerName" "$*" >&"$NIX_LOG_FD"\n}\nnixNoticeLog ()\n{\n \n _nixLogWithLevel 2 "$*"\n}\nnixTalkativeLog ()\n{\n \n _nixLogWithLevel 4 "$*"\n}\nnixVomitLog ()\n{\n \n _nixLogWithLevel 7 "$*"\n}\nnixWarnLog ()\n{\n \n _nixLogWithLevel 1 "$*"\n}\nnoBrokenSymlinks ()\n{\n \n local -r output="${1:?}";\n local path;\n local pathParent;\n local symlinkTarget;\n local -i numDanglingSymlinks=0;\n local -i numReflexiveSymlinks=0;\n local -i numUnreadableSymlinks=0;\n if [[ ! -e $output ]]; then\n nixWarnLog "skipping non-existent output $output";\n return 0;\n fi;\n nixInfoLog "running on $output";\n while IFS= read -r -d \'\' path; do\n pathParent="$(dirname "$path")";\n if ! symlinkTarget="$(readlink "$path")"; then\n nixErrorLog "the symlink $path is unreadable";\n numUnreadableSymlinks+=1;\n continue;\n fi;\n if [[ $symlinkTarget == /* ]]; then\n nixInfoLog "symlink $path points to absolute target $symlinkTarget";\n else\n nixInfoLog "symlink $path points to relative target $symlinkTarget";\n symlinkTarget="$(realpath --no-symlinks --canonicalize-missing "$pathParent/$symlinkTarget")";\n fi;\n if [[ $symlinkTarget = "$TMPDIR"/* ]]; then\n nixErrorLog "the symlink $path points to $TMPDIR directory: $symlinkTarget";\n numDanglingSymlinks+=1;\n continue;\n fi;\n if [[ $symlinkTarget != "$NIX_STORE"/* ]]; then\n nixInfoLog "symlink $path points outside the Nix store; ignoring";\n continue;\n fi;\n if [[ $path == "$symlinkTarget" ]]; then\n nixErrorLog "the symlink $path is reflexive";\n numReflexiveSymlinks+=1;\n else\n if [[ ! -e $symlinkTarget ]]; then\n nixErrorLog "the symlink $path points to a missing target: $symlinkTarget";\n numDanglingSymlinks+=1;\n else\n nixDebugLog "the symlink $path is irreflexive and points to a target which exists";\n fi;\n fi;\n done < <(find "$output" -type l -print0);\n if ((numDanglingSymlinks > 0 || numReflexiveSymlinks > 0 || numUnreadableSymlinks > 0)); then\n nixErrorLog "found $numDanglingSymlinks dangling symlinks, $numReflexiveSymlinks reflexive symlinks and $numUnreadableSymlinks unreadable symlinks";\n exit 1;\n fi;\n return 0\n}\nnoBrokenSymlinksInAllOutputs ()\n{\n \n if [[ -z ${dontCheckForBrokenSymlinks-} ]]; then\n for output in $(getAllOutputNames);\n do\n noBrokenSymlinks "${!output}";\n done;\n fi\n}\npatchELF ()\n{\n \n local dir="$1";\n [ -e "$dir" ] || return 0;\n echo "shrinking RPATHs of ELF executables and libraries in $dir";\n local i;\n while IFS= read -r -d \'\' i; do\n if [[ "$i" =~ .build-id ]]; then\n continue;\n fi;\n if ! isELF "$i"; then\n continue;\n fi;\n echo "shrinking $i";\n patchelf --shrink-rpath "$i" || true;\n done < <(find "$dir" -type f -print0)\n}\npatchPhase ()\n{\n \n runHook prePatch;\n local -a patchesArray;\n concatTo patchesArray patches;\n local -a flagsArray;\n concatTo flagsArray patchFlags=-p1;\n for i in "${patchesArray[@]}";\n do\n echo "applying patch $i";\n local uncompress=cat;\n case "$i" in \n *.gz)\n uncompress="gzip -d"\n ;;\n *.bz2)\n uncompress="bzip2 -d"\n ;;\n *.xz)\n uncompress="xz -d"\n ;;\n *.lzma)\n uncompress="lzma -d"\n ;;\n esac;\n $uncompress < "$i" 2>&1 | patch "${flagsArray[@]}";\n done;\n runHook postPatch\n}\npatchShebangs ()\n{\n \n local pathName;\n local update=false;\n while [[ $# -gt 0 ]]; do\n case "$1" in \n --host)\n pathName=HOST_PATH;\n shift\n ;;\n --build)\n pathName=PATH;\n shift\n ;;\n --update)\n update=true;\n shift\n ;;\n --)\n shift;\n break\n ;;\n -* | --*)\n echo "Unknown option $1 supplied to patchShebangs" 1>&2;\n return 1\n ;;\n *)\n break\n ;;\n esac;\n done;\n echo "patching script interpreter paths in $@";\n local f;\n local oldPath;\n local newPath;\n local arg0;\n local args;\n local oldInterpreterLine;\n local newInterpreterLine;\n if [[ $# -eq 0 ]]; then\n echo "No arguments supplied to patchShebangs" 1>&2;\n return 0;\n fi;\n local f;\n while IFS= read -r -d \'\' f; do\n isScript "$f" || continue;\n read -r oldInterpreterLine < "$f" || [ "$oldInterpreterLine" ];\n read -r oldPath arg0 args <<< "${oldInterpreterLine:2}";\n if [[ -z "${pathName:-}" ]]; then\n if [[ -n $strictDeps && $f == "$NIX_STORE"* ]]; then\n pathName=HOST_PATH;\n else\n pathName=PATH;\n fi;\n fi;\n if [[ "$oldPath" == *"/bin/env" ]]; then\n if [[ $arg0 == "-S" ]]; then\n arg0=${args%% *};\n [[ "$args" == *" "* ]] && args=${args#* } || args=;\n newPath="$(PATH="${!pathName}" type -P "env" || true)";\n args="-S $(PATH="${!pathName}" type -P "$arg0" || true) $args";\n else\n if [[ $arg0 == "-"* || $arg0 == *"="* ]]; then\n echo "$f: unsupported interpreter directive \\"$oldInterpreterLine\\" (set dontPatchShebangs=1 and handle shebang patching yourself)" 1>&2;\n exit 1;\n else\n newPath="$(PATH="${!pathName}" type -P "$arg0" || true)";\n fi;\n fi;\n else\n if [[ -z $oldPath ]]; then\n oldPath="/bin/sh";\n fi;\n newPath="$(PATH="${!pathName}" type -P "$(basename "$oldPath")" || true)";\n args="$arg0 $args";\n fi;\n newInterpreterLine="$newPath $args";\n newInterpreterLine=${newInterpreterLine%${newInterpreterLine##*[![:space:]]}};\n if [[ -n "$oldPath" && ( "$update" == true || "${oldPath:0:${#NIX_STORE}}" != "$NIX_STORE" ) ]]; then\n if [[ -n "$newPath" && "$newPath" != "$oldPath" ]]; then\n echo "$f: interpreter directive changed from \\"$oldInterpreterLine\\" to \\"$newInterpreterLine\\"";\n escapedInterpreterLine=${newInterpreterLine//\\\\/\\\\\\\\};\n timestamp=$(stat --printf "%y" "$f");\n tmpFile=$(mktemp -t patchShebangs.XXXXXXXXXX);\n sed -e "1 s|.*|#\\!$escapedInterpreterLine|" "$f" > "$tmpFile";\n local restoreReadOnly;\n if [[ ! -w "$f" ]]; then\n chmod +w "$f";\n restoreReadOnly=true;\n fi;\n cat "$tmpFile" > "$f";\n rm "$tmpFile";\n if [[ -n "${restoreReadOnly:-}" ]]; then\n chmod -w "$f";\n fi;\n touch --date "$timestamp" "$f";\n fi;\n fi;\n done < <(find "$@" -type f -perm -0100 -print0)\n}\npatchShebangsAuto ()\n{\n \n if [[ -z "${dontPatchShebangs-}" && -e "$prefix" ]]; then\n if [[ "$output" != out && "$output" = "$outputDev" ]]; then\n patchShebangs --build "$prefix";\n else\n patchShebangs --host "$prefix";\n fi;\n fi\n}\npkgConfigWrapper_addPkgConfigPath ()\n{\n \n local role_post;\n getHostRoleEnvHook;\n addToSearchPath "PKG_CONFIG_PATH${role_post}" "$1/lib/pkgconfig";\n addToSearchPath "PKG_CONFIG_PATH${role_post}" "$1/share/pkgconfig"\n}\nprependToVar ()\n{\n \n local -n nameref="$1";\n local useArray type;\n if [ -n "$__structuredAttrs" ]; then\n useArray=true;\n else\n useArray=false;\n fi;\n if type=$(declare -p "$1" 2> /dev/null); then\n case "${type#* }" in \n -A*)\n echo "prependToVar(): ERROR: trying to use prependToVar on an associative array." 1>&2;\n return 1\n ;;\n -a*)\n useArray=true\n ;;\n *)\n useArray=false\n ;;\n esac;\n fi;\n shift;\n if $useArray; then\n nameref=("$@" ${nameref+"${nameref[@]}"});\n else\n nameref="$* ${nameref-}";\n fi\n}\nprintLines ()\n{\n \n (( "$#" > 0 )) || return 0;\n printf \'%s\\n\' "$@"\n}\nprintWords ()\n{\n \n (( "$#" > 0 )) || return 0;\n printf \'%s \' "$@"\n}\nrecordPropagatedDependencies ()\n{\n \n declare -ra flatVars=(depsBuildBuildPropagated propagatedNativeBuildInputs depsBuildTargetPropagated depsHostHostPropagated propagatedBuildInputs depsTargetTargetPropagated);\n declare -ra flatFiles=("${propagatedBuildDepFiles[@]}" "${propagatedHostDepFiles[@]}" "${propagatedTargetDepFiles[@]}");\n local propagatedInputsIndex;\n for propagatedInputsIndex in "${!flatVars[@]}";\n do\n local propagatedInputsSlice="${flatVars[$propagatedInputsIndex]}[@]";\n local propagatedInputsFile="${flatFiles[$propagatedInputsIndex]}";\n [[ -n "${!propagatedInputsSlice}" ]] || continue;\n mkdir -p "${!outputDev}/nix-support";\n printWords ${!propagatedInputsSlice} > "${!outputDev}/nix-support/$propagatedInputsFile";\n done\n}\nrunHook ()\n{\n \n local hookName="$1";\n shift;\n local hooksSlice="${hookName%Hook}Hooks[@]";\n local hook;\n for hook in "_callImplicitHook 0 $hookName" ${!hooksSlice+"${!hooksSlice}"};\n do\n _logHook "$hookName" "$hook" "$@";\n _eval "$hook" "$@";\n done;\n return 0\n}\nrunOneHook ()\n{\n \n local hookName="$1";\n shift;\n local hooksSlice="${hookName%Hook}Hooks[@]";\n local hook ret=1;\n for hook in "_callImplicitHook 1 $hookName" ${!hooksSlice+"${!hooksSlice}"};\n do\n _logHook "$hookName" "$hook" "$@";\n if _eval "$hook" "$@"; then\n ret=0;\n break;\n fi;\n done;\n return "$ret"\n}\nrunPhase ()\n{\n \n local curPhase="$*";\n if [[ "$curPhase" = unpackPhase && -n "${dontUnpack:-}" ]]; then\n return;\n fi;\n if [[ "$curPhase" = patchPhase && -n "${dontPatch:-}" ]]; then\n return;\n fi;\n if [[ "$curPhase" = configurePhase && -n "${dontConfigure:-}" ]]; then\n return;\n fi;\n if [[ "$curPhase" = buildPhase && -n "${dontBuild:-}" ]]; then\n return;\n fi;\n if [[ "$curPhase" = checkPhase && -z "${doCheck:-}" ]]; then\n return;\n fi;\n if [[ "$curPhase" = installPhase && -n "${dontInstall:-}" ]]; then\n return;\n fi;\n if [[ "$curPhase" = fixupPhase && -n "${dontFixup:-}" ]]; then\n return;\n fi;\n if [[ "$curPhase" = installCheckPhase && -z "${doInstallCheck:-}" ]]; then\n return;\n fi;\n if [[ "$curPhase" = distPhase && -z "${doDist:-}" ]]; then\n return;\n fi;\n showPhaseHeader "$curPhase";\n dumpVars;\n local startTime endTime;\n startTime=$(date +"%s");\n eval "${!curPhase:-$curPhase}";\n endTime=$(date +"%s");\n showPhaseFooter "$curPhase" "$startTime" "$endTime";\n if [ "$curPhase" = unpackPhase ]; then\n [ -n "${sourceRoot:-}" ] && chmod +x -- "${sourceRoot}";\n cd -- "${sourceRoot:-.}";\n fi\n}\nshowPhaseFooter ()\n{\n \n local phase="$1";\n local startTime="$2";\n local endTime="$3";\n local delta=$(( endTime - startTime ));\n (( delta < 30 )) && return;\n local H=$((delta/3600));\n local M=$((delta%3600/60));\n local S=$((delta%60));\n echo -n "$phase completed in ";\n (( H > 0 )) && echo -n "$H hours ";\n (( M > 0 )) && echo -n "$M minutes ";\n echo "$S seconds"\n}\nshowPhaseHeader ()\n{\n \n local phase="$1";\n echo "Running phase: $phase";\n if [[ -z ${NIX_LOG_FD-} ]]; then\n return;\n fi;\n printf "@nix { \\"action\\": \\"setPhase\\", \\"phase\\": \\"%s\\" }\\n" "$phase" >&"$NIX_LOG_FD"\n}\nstripDirs ()\n{\n \n local cmd="$1";\n local ranlibCmd="$2";\n local paths="$3";\n local stripFlags="$4";\n local excludeFlags=();\n local pathsNew=;\n [ -z "$cmd" ] && echo "stripDirs: Strip command is empty" 1>&2 && exit 1;\n [ -z "$ranlibCmd" ] && echo "stripDirs: Ranlib command is empty" 1>&2 && exit 1;\n local pattern;\n if [ -n "${stripExclude:-}" ]; then\n for pattern in "${stripExclude[@]}";\n do\n excludeFlags+=(-a \'!\' \'(\' -name "$pattern" -o -wholename "$prefix/$pattern" \')\');\n done;\n fi;\n local p;\n for p in ${paths};\n do\n if [ -e "$prefix/$p" ]; then\n pathsNew="${pathsNew} $prefix/$p";\n fi;\n done;\n paths=${pathsNew};\n if [ -n "${paths}" ]; then\n echo "stripping (with command $cmd and flags $stripFlags) in $paths";\n local striperr;\n striperr="$(mktemp --tmpdir="$TMPDIR" \'striperr.XXXXXX\')";\n find $paths -type f "${excludeFlags[@]}" -a \'!\' -path "$prefix/lib/debug/*" -printf \'%D-%i,%p\\0\' | sort -t, -k1,1 -u -z | cut -d, -f2- -z | xargs -r -0 -n1 -P "$NIX_BUILD_CORES" -- $cmd $stripFlags 2> "$striperr" || exit_code=$?;\n [[ "$exit_code" = 123 || -z "$exit_code" ]] || ( cat "$striperr" 1>&2 && exit 1 );\n rm "$striperr";\n find $paths -name \'*.a\' -type f -exec $ranlibCmd \'{}\' \\; 2> /dev/null;\n fi\n}\nstripHash ()\n{\n \n local strippedName casematchOpt=0;\n strippedName="$(basename -- "$1")";\n shopt -q nocasematch && casematchOpt=1;\n shopt -u nocasematch;\n if [[ "$strippedName" =~ ^[a-z0-9]{32}- ]]; then\n echo "${strippedName:33}";\n else\n echo "$strippedName";\n fi;\n if (( casematchOpt )); then\n shopt -s nocasematch;\n fi\n}\nsubstitute ()\n{\n \n local input="$1";\n local output="$2";\n shift 2;\n if [ ! -f "$input" ]; then\n echo "substitute(): ERROR: file \'$input\' does not exist" 1>&2;\n return 1;\n fi;\n local content;\n consumeEntire content < "$input";\n if [ -e "$output" ]; then\n chmod +w "$output";\n fi;\n substituteStream content "file \'$input\'" "$@" > "$output"\n}\nsubstituteAll ()\n{\n \n local input="$1";\n local output="$2";\n local -a args=();\n _allFlags;\n substitute "$input" "$output" "${args[@]}"\n}\nsubstituteAllInPlace ()\n{\n \n local fileName="$1";\n shift;\n substituteAll "$fileName" "$fileName" "$@"\n}\nsubstituteAllStream ()\n{\n \n local -a args=();\n _allFlags;\n substituteStream "$1" "$2" "${args[@]}"\n}\nsubstituteInPlace ()\n{\n \n local -a fileNames=();\n for arg in "$@";\n do\n if [[ "$arg" = "--"* ]]; then\n break;\n fi;\n fileNames+=("$arg");\n shift;\n done;\n if ! [[ "${#fileNames[@]}" -gt 0 ]]; then\n echo "substituteInPlace called without any files to operate on (files must come before options!)" 1>&2;\n return 1;\n fi;\n for file in "${fileNames[@]}";\n do\n substitute "$file" "$file" "$@";\n done\n}\nsubstituteStream ()\n{\n \n local var=$1;\n local description=$2;\n shift 2;\n while (( "$#" )); do\n local replace_mode="$1";\n case "$1" in \n --replace)\n if ! "$_substituteStream_has_warned_replace_deprecation"; then\n echo "substituteStream() in derivation $name: WARNING: \'--replace\' is deprecated, use --replace-{fail,warn,quiet}. ($description)" 1>&2;\n _substituteStream_has_warned_replace_deprecation=true;\n fi;\n replace_mode=\'--replace-warn\'\n ;&\n --replace-quiet | --replace-warn | --replace-fail)\n pattern="$2";\n replacement="$3";\n shift 3;\n if ! [[ "${!var}" == *"$pattern"* ]]; then\n if [ "$replace_mode" == --replace-warn ]; then\n printf "substituteStream() in derivation $name: WARNING: pattern %q doesn\'t match anything in %s\\n" "$pattern" "$description" 1>&2;\n else\n if [ "$replace_mode" == --replace-fail ]; then\n printf "substituteStream() in derivation $name: ERROR: pattern %q doesn\'t match anything in %s\\n" "$pattern" "$description" 1>&2;\n return 1;\n fi;\n fi;\n fi;\n eval "$var"\'=${\'"$var"\'//"$pattern"/"$replacement"}\'\n ;;\n --subst-var)\n local varName="$2";\n shift 2;\n if ! [[ "$varName" =~ ^[a-zA-Z_][a-zA-Z0-9_]*$ ]]; then\n echo "substituteStream() in derivation $name: ERROR: substitution variables must be valid Bash names, \\"$varName\\" isn\'t." 1>&2;\n return 1;\n fi;\n if [ -z ${!varName+x} ]; then\n echo "substituteStream() in derivation $name: ERROR: variable \\$$varName is unset" 1>&2;\n return 1;\n fi;\n pattern="@$varName@";\n replacement="${!varName}";\n eval "$var"\'=${\'"$var"\'//"$pattern"/"$replacement"}\'\n ;;\n --subst-var-by)\n pattern="@$2@";\n replacement="$3";\n eval "$var"\'=${\'"$var"\'//"$pattern"/"$replacement"}\';\n shift 3\n ;;\n *)\n echo "substituteStream() in derivation $name: ERROR: Invalid command line argument: $1" 1>&2;\n return 1\n ;;\n esac;\n done;\n printf "%s" "${!var}"\n}\nsysconfigdataHook ()\n{\n \n if [ "$1" = \'/nix/store/3lll9y925zz9393sa59h653xik66srjb-python3-3.13.9\' ]; then\n export _PYTHON_HOST_PLATFORM=\'linux-x86_64\';\n export _PYTHON_SYSCONFIGDATA_NAME=\'_sysconfigdata__linux_x86_64-linux-gnu\';\n fi\n}\ntoPythonPath ()\n{\n \n local paths="$1";\n local result=;\n for i in $paths;\n do\n p="$i/lib/python3.13/site-packages";\n result="${result}${result:+:}$p";\n done;\n echo $result\n}\nunpackFile ()\n{\n \n curSrc="$1";\n echo "unpacking source archive $curSrc";\n if ! runOneHook unpackCmd "$curSrc"; then\n echo "do not know how to unpack source archive $curSrc";\n exit 1;\n fi\n}\nunpackPhase ()\n{\n \n runHook preUnpack;\n if [ -z "${srcs:-}" ]; then\n if [ -z "${src:-}" ]; then\n echo \'variable $src or $srcs should point to the source\';\n exit 1;\n fi;\n srcs="$src";\n fi;\n local -a srcsArray;\n concatTo srcsArray srcs;\n local dirsBefore="";\n for i in *;\n do\n if [ -d "$i" ]; then\n dirsBefore="$dirsBefore $i ";\n fi;\n done;\n for i in "${srcsArray[@]}";\n do\n unpackFile "$i";\n done;\n : "${sourceRoot=}";\n if [ -n "${setSourceRoot:-}" ]; then\n runOneHook setSourceRoot;\n else\n if [ -z "$sourceRoot" ]; then\n for i in *;\n do\n if [ -d "$i" ]; then\n case $dirsBefore in \n *\\ $i\\ *)\n\n ;;\n *)\n if [ -n "$sourceRoot" ]; then\n echo "unpacker produced multiple directories";\n exit 1;\n fi;\n sourceRoot="$i"\n ;;\n esac;\n fi;\n done;\n fi;\n fi;\n if [ -z "$sourceRoot" ]; then\n echo "unpacker appears to have produced no directories";\n exit 1;\n fi;\n echo "source root is $sourceRoot";\n if [ "${dontMakeSourcesWritable:-0}" != 1 ]; then\n chmod -R u+w -- "$sourceRoot";\n fi;\n runHook postUnpack\n}\nupdateAutotoolsGnuConfigScriptsPhase ()\n{\n \n if [ -n "${dontUpdateAutotoolsGnuConfigScripts-}" ]; then\n return;\n fi;\n for script in config.sub config.guess;\n do\n for f in $(find . -type f -name "$script");\n do\n echo "Updating Autotools / GNU config script to a newer upstream version: $f";\n cp -f "/nix/store/1kzclixw4c13wxin0b6cij1zykvwp0wb-gnu-config-2024-01-01/$script" "$f";\n done;\n done\n}\nupdateSourceDateEpoch ()\n{\n \n local path="$1";\n [[ $path == -* ]] && path="./$path";\n local -a res=($(find "$path" -type f -not -newer "$NIX_BUILD_TOP/.." -printf \'%T@ "%p"\\0\' | sort -n --zero-terminated | tail -n1 --zero-terminated | head -c -1));\n local time="${res[0]//\\.[0-9]*/}";\n local newestFile="${res[1]}";\n if [ "${time:-0}" -gt "$SOURCE_DATE_EPOCH" ]; then\n echo "setting SOURCE_DATE_EPOCH to timestamp $time of file $newestFile";\n export SOURCE_DATE_EPOCH="$time";\n local now="$(date +%s)";\n if [ "$time" -gt $((now - 60)) ]; then\n echo "warning: file $newestFile may be generated; SOURCE_DATE_EPOCH may be non-deterministic";\n fi;\n fi\n}\nPATH="$PATH${nix_saved_PATH:+:$nix_saved_PATH}"\nXDG_DATA_DIRS="$XDG_DATA_DIRS${nix_saved_XDG_DATA_DIRS:+:$nix_saved_XDG_DATA_DIRS}"\nexport NIX_BUILD_TOP="$(mktemp -d -t nix-shell.XXXXXX)"\nexport TMP="$NIX_BUILD_TOP"\nexport TMPDIR="$NIX_BUILD_TOP"\nexport TEMP="$NIX_BUILD_TOP"\nexport TEMPDIR="$NIX_BUILD_TOP"\neval "${shellHook:-}"'
++ local $'env=Checking secrets in dr-ctf using onepassword (profile: development)...\n\n✓ POSTGRES_URL - Database connection string\n✓ defaults - No description\n✓ POSTGRES_PASSWORD - Database password\n✓ POSTGRES_USER - Database user\n\nSummary: 4 found, 0 missing\nunset shellHook\nPATH=${PATH:-}\nnix_saved_PATH="$PATH"\nXDG_DATA_DIRS=${XDG_DATA_DIRS:-}\nnix_saved_XDG_DATA_DIRS="$XDG_DATA_DIRS"\nAR=\'ar\'\nexport AR\nAS=\'as\'\nexport AS\nBASH=\'/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/bash\'\nCC=\'gcc\'\nexport CC\nCONFIG_SHELL=\'/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/bash\'\nexport CONFIG_SHELL\nCXX=\'g++\'\nexport CXX\nDETERMINISTIC_BUILD=\'1\'\nexport DETERMINISTIC_BUILD\nDEVENV_DOTFILE=\'/home/ender/Documents/Projects/dr-ctf/.devenv\'\nexport DEVENV_DOTFILE\nDEVENV_PROFILE=\'/nix/store/bvm5wn1c46bxfgzylrm3khh2sp87vnsa-devenv-profile\'\nexport DEVENV_PROFILE\nDEVENV_ROOT=\'/home/ender/Documents/Projects/dr-ctf\'\nexport DEVENV_ROOT\nDEVENV_RUNTIME=\'/run/user/1000/devenv-405663c\'\nexport DEVENV_RUNTIME\nDEVENV_STATE=\'/home/ender/Documents/Projects/dr-ctf/.devenv/state\'\nexport DEVENV_STATE\nDEVENV_TASKS=\'[{"after":[],"before":[],"command":"/nix/store/yhwb3x398329il20dj3mprzhsql1jg9k-devenv-enterShell","cwd":null,"description":"Runs when entering the shell","exec_if_modified":[],"input":{},"name":"devenv:enterShell","show_output":false,"status":null,"type":"oneshot"},{"after":[],"before":[],"command":null,"cwd":null,"description":"Runs when entering the test environment","exec_if_modified":[],"input":{},"name":"devenv:enterTest","show_output":false,"status":null,"type":"oneshot"},{"after":[],"before":[],"command":null,"cwd":null,"description":"","exec_if_modified":[],"input":{},"name":"devenv:files","show_output":false,"status":null,"type":"oneshot"},{"after":[],"before":["devenv:enterShell"],"command":"/nix/store/qjsk2mi9da3rkbjn3ffsyrzw33c48a90-devenv-git-hooks-install","cwd":null,"description":"","exec_if_modified":[],"input":{},"name":"devenv:git-hooks:install","show_output":false,"status":null,"type":"oneshot"},{"after":[],"before":["devenv:enterTest"],"command":"/nix/store/ywfhq0r3lp4xg5j43vy7xmf5hxja9l6l-devenv-git-hooks-run","cwd":null,"description":"","exec_if_modified":[],"input":{},"name":"devenv:git-hooks:run","show_output":false,"status":null,"type":"oneshot"}]\'\nexport DEVENV_TASKS\nDEVENV_TASK_FILE=\'/nix/store/kj598ws11izad7bv9qmsxpkpd7hq3krp-tasks.json\'\nexport DEVENV_TASK_FILE\nGIT_EXTERNAL_DIFF=\'difft\'\nexport GIT_EXTERNAL_DIFF\nHOSTTYPE=\'x86_64\'\nHOST_PATH=\'/nix/store/imad8dvhp77h0pjbckp6wvmnyhp8dpgg-coreutils-9.8/bin:/nix/store/av4xw9f56xlx5pgv862wabfif6m1yc0a-findutils-4.10.0/bin:/nix/store/20axvl7mgj15m23jgmnq97hx37fgz7bk-diffutils-3.12/bin:/nix/store/drc7kang929jaza6cy9zdx10s4gw1z5p-gnused-4.9/bin:/nix/store/x3zjxxz8m4ki88axp0gn8q8m6bldybba-gnugrep-3.12/bin:/nix/store/y2wdhdcrffp9hnkzk06d178hq3g98jay-gawk-5.3.2/bin:/nix/store/yi3c5karhx764ham5rfwk7iynr8mjf6q-gnutar-1.35/bin:/nix/store/d471xb7sfbah076s8rx02i68zpxc2r5n-gzip-1.14/bin:/nix/store/qm9rxn2sc1vrz91i443rr6f0vxm0zd82-bzip2-1.0.8-bin/bin:/nix/store/3fmzbq9y4m9nk235il7scmvwn8j9zy3p-gnumake-4.4.1/bin:/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin:/nix/store/qrwznp1ikdf0qw05wia2haiwi32ik5n0-patch-2.8/bin:/nix/store/v0rfdwhg6w6i0yb6dbry4srk6pnj3xp0-xz-5.8.1-bin/bin:/nix/store/paj6a1lpzp57hz1djm5bs86b7ci221r0-file-5.45/bin\'\nexport HOST_PATH\nIFS=\' \t\n\'\nIN_NIX_SHELL=\'impure\'\nexport IN_NIX_SHELL\nLD=\'ld\'\nexport LD\nLINENO=\'76\'\nMACHTYPE=\'x86_64-pc-linux-gnu\'\nNIX_BINTOOLS=\'/nix/store/xwydcyvlsa3cvssk0y5llgdhlhjvmqdm-binutils-wrapper-2.44\'\nexport NIX_BINTOOLS\nNIX_BINTOOLS_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu=\'1\'\nexport NIX_BINTOOLS_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu\nNIX_BUILD_CORES=\'16\'\nexport NIX_BUILD_CORES\nNIX_CC=\'/nix/store/vr15iyyykg9zai6fpgvhcgyw7gckl78w-gcc-wrapper-14.3.0\'\nexport NIX_CC\nNIX_CC_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu=\'1\'\nexport NIX_CC_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu\nNIX_CFLAGS_COMPILE=\' -frandom-seed=3zw2ajqsr4 -isystem /nix/store/bpq0hkckybfnxblhnqavv9agxg4wgja2-nodejs-slim-22.21.1-dev/include -isystem /nix/store/jwkciwykf24vgb1gdlbh94fq5fm9xii5-nodejs-slim-22.21.1/include -isystem /nix/store/jlv0a6iyh8vb7pfyhjj93xy245xlmgh5-gnumake-4.4.1/include -isystem /nix/store/97033wd7ak5am97yk1d2y85aai3yz4wh-gdb-16.3/include -isystem /nix/store/zp52rrbj0aca8sq5wg5qjmjvrv636sc3-valgrind-3.26.0-dev/include -isystem /nix/store/na40apkxgv855bc8qpbi6gf0yvdzvnij-sqlite-3.50.4-dev/include -isystem /nix/store/3lll9y925zz9393sa59h653xik66srjb-python3-3.13.9/include -isystem /nix/store/bpq0hkckybfnxblhnqavv9agxg4wgja2-nodejs-slim-22.21.1-dev/include -isystem /nix/store/jwkciwykf24vgb1gdlbh94fq5fm9xii5-nodejs-slim-22.21.1/include -isystem /nix/store/jlv0a6iyh8vb7pfyhjj93xy245xlmgh5-gnumake-4.4.1/include -isystem /nix/store/97033wd7ak5am97yk1d2y85aai3yz4wh-gdb-16.3/include -isystem /nix/store/zp52rrbj0aca8sq5wg5qjmjvrv636sc3-valgrind-3.26.0-dev/include -isystem /nix/store/na40apkxgv855bc8qpbi6gf0yvdzvnij-sqlite-3.50.4-dev/include -isystem /nix/store/3lll9y925zz9393sa59h653xik66srjb-python3-3.13.9/include\'\nexport NIX_CFLAGS_COMPILE\nNIX_ENFORCE_NO_NATIVE=\'1\'\nexport NIX_ENFORCE_NO_NATIVE\nNIX_HARDENING_ENABLE=\'bindnow format fortify fortify3 libcxxhardeningextensive libcxxhardeningfast pic relro stackclashprotection stackprotector strictoverflow zerocallusedregs\'\nexport NIX_HARDENING_ENABLE\nNIX_LDFLAGS=\'-rpath /home/ender/Documents/Projects/dr-ctf/outputs/out/lib -L/nix/store/97033wd7ak5am97yk1d2y85aai3yz4wh-gdb-16.3/lib -L/nix/store/l30c488dws7z5mazacqsmj25izb9jlp2-sqlite-3.50.4/lib -L/nix/store/3lll9y925zz9393sa59h653xik66srjb-python3-3.13.9/lib -L/nix/store/97033wd7ak5am97yk1d2y85aai3yz4wh-gdb-16.3/lib -L/nix/store/l30c488dws7z5mazacqsmj25izb9jlp2-sqlite-3.50.4/lib -L/nix/store/3lll9y925zz9393sa59h653xik66srjb-python3-3.13.9/lib\'\nexport NIX_LDFLAGS\nNIX_NO_SELF_RPATH=\'1\'\nNIX_PKG_CONFIG_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu=\'1\'\nexport NIX_PKG_CONFIG_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu\nNIX_STORE=\'/nix/store\'\nexport NIX_STORE\nNM=\'nm\'\nexport NM\nNODE_PATH=\'/nix/store/y6wn9g8nbrazkn4r7daik49c77fs513y-typescript-5.9.3/lib/node_modules:/nix/store/3dpq47cj4ji5aq00vmv4mg45vcjamgcw-typescript-language-server-5.1.3/lib/node_modules:/nix/store/jwkciwykf24vgb1gdlbh94fq5fm9xii5-nodejs-slim-22.21.1/lib/node_modules\'\nexport NODE_PATH\nOBJCOPY=\'objcopy\'\nexport OBJCOPY\nOBJDUMP=\'objdump\'\nexport OBJDUMP\nOLDPWD=\'\'\nexport OLDPWD\nOPTERR=\'1\'\nOSTYPE=\'linux-gnu\'\nPATH=\'/nix/store/vw9d8v9r0kp44lmizysj7idmqyf9747l-process-compose-1.78.0/bin:/nix/store/64sazg99p78hfl7k8b0xn8ci1fcz6gpf-difftastic-0.67.0/bin:/nix/store/y6wn9g8nbrazkn4r7daik49c77fs513y-typescript-5.9.3/bin:/nix/store/3dpq47cj4ji5aq00vmv4mg45vcjamgcw-typescript-language-server-5.1.3/bin:/nix/store/nh2jhgkgrrdl31pzc46l8k1za4iqfv1z-rust-toolchain-nixpkgs/bin:/nix/store/bpq0hkckybfnxblhnqavv9agxg4wgja2-nodejs-slim-22.21.1-dev/bin:/nix/store/jwkciwykf24vgb1gdlbh94fq5fm9xii5-nodejs-slim-22.21.1/bin:/nix/store/a9gabjjwk0617csjlgm5f6gz5fv9jq11-bun-1.3.2/bin:/nix/store/v6bx0d4690d8bklp18wvjdk566873sgs-clang-tools-21.1.2/bin:/nix/store/jlv0a6iyh8vb7pfyhjj93xy245xlmgh5-gnumake-4.4.1/bin:/nix/store/fwmjw5cks4v1gxpr9wgbpzwygcfcmnfp-ccls-0.20241108/bin:/nix/store/8vdiwpbh0g4avsd6x5v4s0di32vcl3dp-pkg-config-wrapper-0.29.2/bin:/nix/store/97033wd7ak5am97yk1d2y85aai3yz4wh-gdb-16.3/bin:/nix/store/fp56mavabdv7v67y5j3b0ga3v6ygpyha-valgrind-3.26.0/bin:/nix/store/s3c28nd52vahmlcd9scfhpaw18wxbdgg-dev/bin:/nix/store/bjb3hx0r5yqdlkpk77l5ajsb698c55n2-du/bin:/nix/store/4qhdhmi7pzgad0zfd7c5lsg235mbf9hv-git-2.51.2/bin:/nix/store/z6al79i0bkp2phc0qic774i0vg44npp3-loco-0.16.3/bin:/nix/store/awm8pnzpcj63lb26asvjm24j4kwg4d76-sqlite-3.50.4-bin/bin:/nix/store/19xz3q0sv06r0yrar8srmxs8pfmrg79m-secretspec-0.4.0/bin:/nix/store/sac7s2ziii88sfgy4d6jnxndsxd1nh83-sea-orm-cli-1.1.17/bin:/nix/store/jc4c4x7dv80i794ki30ymj1mrzdxaccd-cargo-generate-0.23.5/bin:/nix/store/965w3rby7xl49kbfqyyr5m10hlyh3f28-pre-commit-bin/bin:/nix/store/pnf9h7rd3nrxx5phrwbnhb5yhkiavj6p-python3.13-pre-commit-hooks-6.0.0/bin:/nix/store/3lll9y925zz9393sa59h653xik66srjb-python3-3.13.9/bin:/nix/store/rckafkh916d8hd4642n2hzywa7sf1npp-deadnix-1.3.1/bin:/nix/store/7fc4qz8ny0s2m2n5gsgsqb3yn2iffk4v-shellcheck-0.11.0-bin/bin:/nix/store/8q2582rd22xp8jlcg1xn1w219q5lx5xa-patchelf-0.15.2/bin:/nix/store/vr15iyyykg9zai6fpgvhcgyw7gckl78w-gcc-wrapper-14.3.0/bin:/nix/store/kzq78n13l8w24jn8bx4djj79k5j717f1-gcc-14.3.0/bin:/nix/store/q6wgv06q39bfhx2xl8ysc05wi6m2zdss-glibc-2.40-66-bin/bin:/nix/store/imad8dvhp77h0pjbckp6wvmnyhp8dpgg-coreutils-9.8/bin:/nix/store/xwydcyvlsa3cvssk0y5llgdhlhjvmqdm-binutils-wrapper-2.44/bin:/nix/store/dc9vaz50jg7mibk9xvqw5dqv89cxzla3-binutils-2.44/bin:/nix/store/imad8dvhp77h0pjbckp6wvmnyhp8dpgg-coreutils-9.8/bin:/nix/store/av4xw9f56xlx5pgv862wabfif6m1yc0a-findutils-4.10.0/bin:/nix/store/20axvl7mgj15m23jgmnq97hx37fgz7bk-diffutils-3.12/bin:/nix/store/drc7kang929jaza6cy9zdx10s4gw1z5p-gnused-4.9/bin:/nix/store/x3zjxxz8m4ki88axp0gn8q8m6bldybba-gnugrep-3.12/bin:/nix/store/y2wdhdcrffp9hnkzk06d178hq3g98jay-gawk-5.3.2/bin:/nix/store/yi3c5karhx764ham5rfwk7iynr8mjf6q-gnutar-1.35/bin:/nix/store/d471xb7sfbah076s8rx02i68zpxc2r5n-gzip-1.14/bin:/nix/store/qm9rxn2sc1vrz91i443rr6f0vxm0zd82-bzip2-1.0.8-bin/bin:/nix/store/3fmzbq9y4m9nk235il7scmvwn8j9zy3p-gnumake-4.4.1/bin:/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin:/nix/store/qrwznp1ikdf0qw05wia2haiwi32ik5n0-patch-2.8/bin:/nix/store/v0rfdwhg6w6i0yb6dbry4srk6pnj3xp0-xz-5.8.1-bin/bin:/nix/store/paj6a1lpzp57hz1djm5bs86b7ci221r0-file-5.45/bin\'\nexport PATH\nPC_CONFIG_FILES=\'/nix/store/ysqava3g5mbphf5fvlrm626f3fzfsvlp-process-compose.yaml\'\nexport PC_CONFIG_FILES\nPC_SOCKET_PATH=\'/run/user/1000/devenv-405663c/pc.sock\'\nexport PC_SOCKET_PATH\nPKG_CONFIG=\'pkg-config\'\nexport PKG_CONFIG\nPKG_CONFIG_PATH=\'/nix/store/zp52rrbj0aca8sq5wg5qjmjvrv636sc3-valgrind-3.26.0-dev/lib/pkgconfig:/nix/store/na40apkxgv855bc8qpbi6gf0yvdzvnij-sqlite-3.50.4-dev/lib/pkgconfig:/nix/store/3lll9y925zz9393sa59h653xik66srjb-python3-3.13.9/lib/pkgconfig\'\nexport PKG_CONFIG_PATH\nPS4=\'+ \'\nPYTHONHASHSEED=\'0\'\nexport PYTHONHASHSEED\nPYTHONNOUSERSITE=\'1\'\nexport PYTHONNOUSERSITE\nPYTHONPATH=\'/nix/store/pnf9h7rd3nrxx5phrwbnhb5yhkiavj6p-python3.13-pre-commit-hooks-6.0.0/lib/python3.13/site-packages:/nix/store/prpbn02py0x7xgb4fk1xmgzghix6wnxb-python3.13-ruamel-yaml-0.18.14/lib/python3.13/site-packages:/nix/store/fxbffn4g9z7l4livi6wm48yb162bc1ga-python3.13-ruamel-base-1.0.0/lib/python3.13/site-packages:/nix/store/3lll9y925zz9393sa59h653xik66srjb-python3-3.13.9/lib/python3.13/site-packages:/nix/store/zs5kbqpr3dj8rb4szgrp1l3pnl03la6d-python3.13-ruamel-yaml-clib-0.2.12/lib/python3.13/site-packages\'\nexport PYTHONPATH\nRANLIB=\'ranlib\'\nexport RANLIB\nREADELF=\'readelf\'\nexport READELF\nRUST_SRC_PATH=\'/nix/store/x4lzvdhcz439jm1clb41hnx3xa2cqvli-rust-lib-src\'\nexport RUST_SRC_PATH\nSHELL=\'/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/bash\'\nexport SHELL\nSIZE=\'size\'\nexport SIZE\nSOURCE_DATE_EPOCH=\'315532800\'\nexport SOURCE_DATE_EPOCH\nSTRINGS=\'strings\'\nexport STRINGS\nSTRIP=\'strip\'\nexport STRIP\nXDG_DATA_DIRS=\'/nix/store/vw9d8v9r0kp44lmizysj7idmqyf9747l-process-compose-1.78.0/share:/nix/store/nh2jhgkgrrdl31pzc46l8k1za4iqfv1z-rust-toolchain-nixpkgs/share:/nix/store/jwkciwykf24vgb1gdlbh94fq5fm9xii5-nodejs-slim-22.21.1/share:/nix/store/a9gabjjwk0617csjlgm5f6gz5fv9jq11-bun-1.3.2/share:/nix/store/jlv0a6iyh8vb7pfyhjj93xy245xlmgh5-gnumake-4.4.1/share:/nix/store/8vdiwpbh0g4avsd6x5v4s0di32vcl3dp-pkg-config-wrapper-0.29.2/share:/nix/store/97033wd7ak5am97yk1d2y85aai3yz4wh-gdb-16.3/share:/nix/store/4qhdhmi7pzgad0zfd7c5lsg235mbf9hv-git-2.51.2/share:/nix/store/3lll9y925zz9393sa59h653xik66srjb-python3-3.13.9/share:/nix/store/8q2582rd22xp8jlcg1xn1w219q5lx5xa-patchelf-0.15.2/share\'\nexport XDG_DATA_DIRS\n_PYTHON_HOST_PLATFORM=\'linux-x86_64\'\nexport _PYTHON_HOST_PLATFORM\n_PYTHON_SYSCONFIGDATA_NAME=\'_sysconfigdata__linux_x86_64-linux-gnu\'\nexport _PYTHON_SYSCONFIGDATA_NAME\n__structuredAttrs=\'\'\nexport __structuredAttrs\n_substituteStream_has_warned_replace_deprecation=\'false\'\nbuildInputs=\'\'\nexport buildInputs\nbuildPhase=\'{ echo "------------------------------------------------------------";\n echo " WARNING: the existence of this path is not guaranteed.";\n echo " It is an internal implementation detail for pkgs.mkShell.";\n echo "------------------------------------------------------------";\n echo;\n # Record all build inputs as runtime dependencies\n export;\n} >> "$out"\n\'\nexport buildPhase\nbuilder=\'/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/bash\'\nexport builder\ncmakeFlags=\'\'\nexport cmakeFlags\nconfigureFlags=\'\'\nexport configureFlags\ndefaultBuildInputs=\'\'\ndefaultNativeBuildInputs=\'/nix/store/8q2582rd22xp8jlcg1xn1w219q5lx5xa-patchelf-0.15.2 /nix/store/l2xk4ac1wx9c95kpp8vymv9r9yn57fvh-update-autotools-gnu-config-scripts-hook /nix/store/0y5xmdb7qfvimjwbq7ibg1xdgkgjwqng-no-broken-symlinks.sh /nix/store/cv1d7p48379km6a85h4zp6kr86brh32q-audit-tmpdir.sh /nix/store/85clx3b0xkdf58jn161iy80y5223ilbi-compress-man-pages.sh /nix/store/wgrbkkaldkrlrni33ccvm3b6vbxzb656-make-symlinks-relative.sh /nix/store/5yzw0vhkyszf2d179m0qfkgxmp5wjjx4-move-docs.sh /nix/store/fyaryjvghbkpfnsyw97hb3lyb37s1pd6-move-lib64.sh /nix/store/kd4xwxjpjxi71jkm6ka0np72if9rm3y0-move-sbin.sh /nix/store/pag6l61paj1dc9sv15l7bm5c17xn5kyk-move-systemd-user-units.sh /nix/store/cmzya9irvxzlkh7lfy6i82gbp0saxqj3-multiple-outputs.sh /nix/store/x8c40nfigps493a07sdr2pm5s9j1cdc0-patch-shebangs.sh /nix/store/cickvswrvann041nqxb0rxilc46svw1n-prune-libtool-files.sh /nix/store/xyff06pkhki3qy1ls77w10s0v79c9il0-reproducible-builds.sh /nix/store/z7k98578dfzi6l3hsvbivzm7hfqlk0zc-set-source-date-epoch-to-latest.sh /nix/store/pilsssjjdxvdphlg2h19p0bfx5q0jzkn-strip.sh /nix/store/vr15iyyykg9zai6fpgvhcgyw7gckl78w-gcc-wrapper-14.3.0\'\ndepsBuildBuild=\'\'\nexport depsBuildBuild\ndepsBuildBuildPropagated=\'\'\nexport depsBuildBuildPropagated\ndepsBuildTarget=\'\'\nexport depsBuildTarget\ndepsBuildTargetPropagated=\'\'\nexport depsBuildTargetPropagated\ndepsHostHost=\'\'\nexport depsHostHost\ndepsHostHostPropagated=\'\'\nexport depsHostHostPropagated\ndepsTargetTarget=\'\'\nexport depsTargetTarget\ndepsTargetTargetPropagated=\'\'\nexport depsTargetTargetPropagated\ndoCheck=\'\'\nexport doCheck\ndoInstallCheck=\'\'\nexport doInstallCheck\ndontAddDisableDepTrack=\'1\'\nexport dontAddDisableDepTrack\ndeclare -a envBuildBuildHooks=(\'addNodePath\' \'addPythonPath\' \'sysconfigdataHook\' )\ndeclare -a envBuildHostHooks=(\'addNodePath\' \'addPythonPath\' \'sysconfigdataHook\' )\ndeclare -a envBuildTargetHooks=(\'addNodePath\' \'addPythonPath\' \'sysconfigdataHook\' )\ndeclare -a envHostHostHooks=(\'pkgConfigWrapper_addPkgConfigPath\' \'ccWrapper_addCVars\' \'bintoolsWrapper_addLDVars\' )\ndeclare -a envHostTargetHooks=(\'pkgConfigWrapper_addPkgConfigPath\' \'ccWrapper_addCVars\' \'bintoolsWrapper_addLDVars\' )\ndeclare -a envTargetTargetHooks=()\ndeclare -a fixupOutputHooks=(\'if [ -z "${dontPatchELF-}" ]; then patchELF "$prefix"; fi\' \'if [[ -z "${noAuditTmpdir-}" && -e "$prefix" ]]; then auditTmpdir "$prefix"; fi\' \'if [ -z "${dontGzipMan-}" ]; then compressManPages "$prefix"; fi\' \'_moveLib64\' \'_moveSbin\' \'_moveSystemdUserUnits\' \'patchShebangsAuto\' \'_pruneLibtoolFiles\' \'_doStrip\' )\nhardeningDisable=\'\'\nexport hardeningDisable\ninitialPath=\'/nix/store/imad8dvhp77h0pjbckp6wvmnyhp8dpgg-coreutils-9.8 /nix/store/av4xw9f56xlx5pgv862wabfif6m1yc0a-findutils-4.10.0 /nix/store/20axvl7mgj15m23jgmnq97hx37fgz7bk-diffutils-3.12 /nix/store/drc7kang929jaza6cy9zdx10s4gw1z5p-gnused-4.9 /nix/store/x3zjxxz8m4ki88axp0gn8q8m6bldybba-gnugrep-3.12 /nix/store/y2wdhdcrffp9hnkzk06d178hq3g98jay-gawk-5.3.2 /nix/store/yi3c5karhx764ham5rfwk7iynr8mjf6q-gnutar-1.35 /nix/store/d471xb7sfbah076s8rx02i68zpxc2r5n-gzip-1.14 /nix/store/qm9rxn2sc1vrz91i443rr6f0vxm0zd82-bzip2-1.0.8-bin /nix/store/3fmzbq9y4m9nk235il7scmvwn8j9zy3p-gnumake-4.4.1 /nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3 /nix/store/qrwznp1ikdf0qw05wia2haiwi32ik5n0-patch-2.8 /nix/store/v0rfdwhg6w6i0yb6dbry4srk6pnj3xp0-xz-5.8.1-bin /nix/store/paj6a1lpzp57hz1djm5bs86b7ci221r0-file-5.45\'\nmesonFlags=\'\'\nexport mesonFlags\nname=\'DrCTF-env\'\nexport name\nnativeBuildInputs=\'/nix/store/vw9d8v9r0kp44lmizysj7idmqyf9747l-process-compose-1.78.0 /nix/store/64sazg99p78hfl7k8b0xn8ci1fcz6gpf-difftastic-0.67.0 /nix/store/y6wn9g8nbrazkn4r7daik49c77fs513y-typescript-5.9.3 /nix/store/3dpq47cj4ji5aq00vmv4mg45vcjamgcw-typescript-language-server-5.1.3 /nix/store/nh2jhgkgrrdl31pzc46l8k1za4iqfv1z-rust-toolchain-nixpkgs /nix/store/bpq0hkckybfnxblhnqavv9agxg4wgja2-nodejs-slim-22.21.1-dev /nix/store/a9gabjjwk0617csjlgm5f6gz5fv9jq11-bun-1.3.2 /nix/store/v6bx0d4690d8bklp18wvjdk566873sgs-clang-tools-21.1.2 /nix/store/s3w5m3spa1g71hx0yb82lvk6394j3w5j-stdenv-linux /nix/store/jlv0a6iyh8vb7pfyhjj93xy245xlmgh5-gnumake-4.4.1 /nix/store/fwmjw5cks4v1gxpr9wgbpzwygcfcmnfp-ccls-0.20241108 /nix/store/8vdiwpbh0g4avsd6x5v4s0di32vcl3dp-pkg-config-wrapper-0.29.2 /nix/store/97033wd7ak5am97yk1d2y85aai3yz4wh-gdb-16.3 /nix/store/zp52rrbj0aca8sq5wg5qjmjvrv636sc3-valgrind-3.26.0-dev /nix/store/s3c28nd52vahmlcd9scfhpaw18wxbdgg-dev /nix/store/bjb3hx0r5yqdlkpk77l5ajsb698c55n2-du /nix/store/4qhdhmi7pzgad0zfd7c5lsg235mbf9hv-git-2.51.2 /nix/store/z6al79i0bkp2phc0qic774i0vg44npp3-loco-0.16.3 /nix/store/na40apkxgv855bc8qpbi6gf0yvdzvnij-sqlite-3.50.4-dev /nix/store/19xz3q0sv06r0yrar8srmxs8pfmrg79m-secretspec-0.4.0 /nix/store/sac7s2ziii88sfgy4d6jnxndsxd1nh83-sea-orm-cli-1.1.17 /nix/store/jc4c4x7dv80i794ki30ymj1mrzdxaccd-cargo-generate-0.23.5 /nix/store/8vdiwpbh0g4avsd6x5v4s0di32vcl3dp-pkg-config-wrapper-0.29.2 /nix/store/965w3rby7xl49kbfqyyr5m10hlyh3f28-pre-commit-bin /nix/store/nh2jhgkgrrdl31pzc46l8k1za4iqfv1z-rust-toolchain-nixpkgs /nix/store/pnf9h7rd3nrxx5phrwbnhb5yhkiavj6p-python3.13-pre-commit-hooks-6.0.0 /nix/store/rckafkh916d8hd4642n2hzywa7sf1npp-deadnix-1.3.1 /nix/store/wbx8i6wrjdi32gj7kk5j5fq3484qyzyb-shellcheck-0.11.0\'\nexport nativeBuildInputs\nout=\'/home/ender/Documents/Projects/dr-ctf/outputs/out\'\nexport out\noutputBin=\'out\'\noutputDev=\'out\'\noutputDevdoc=\'REMOVE\'\noutputDevman=\'out\'\noutputDoc=\'out\'\noutputInclude=\'out\'\noutputInfo=\'out\'\noutputLib=\'out\'\noutputMan=\'out\'\noutputs=\'out\'\nexport outputs\npatches=\'\'\nexport patches\nphases=\'buildPhase\'\nexport phases\npkg=\'/nix/store/vr15iyyykg9zai6fpgvhcgyw7gckl78w-gcc-wrapper-14.3.0\'\ndeclare -a pkgsBuildBuild=()\ndeclare -a pkgsBuildHost=(\'/nix/store/vw9d8v9r0kp44lmizysj7idmqyf9747l-process-compose-1.78.0\' \'/nix/store/64sazg99p78hfl7k8b0xn8ci1fcz6gpf-difftastic-0.67.0\' \'/nix/store/y6wn9g8nbrazkn4r7daik49c77fs513y-typescript-5.9.3\' \'/nix/store/3dpq47cj4ji5aq00vmv4mg45vcjamgcw-typescript-language-server-5.1.3\' \'/nix/store/nh2jhgkgrrdl31pzc46l8k1za4iqfv1z-rust-toolchain-nixpkgs\' \'/nix/store/bpq0hkckybfnxblhnqavv9agxg4wgja2-nodejs-slim-22.21.1-dev\' \'/nix/store/jwkciwykf24vgb1gdlbh94fq5fm9xii5-nodejs-slim-22.21.1\' \'/nix/store/a9gabjjwk0617csjlgm5f6gz5fv9jq11-bun-1.3.2\' \'/nix/store/v6bx0d4690d8bklp18wvjdk566873sgs-clang-tools-21.1.2\' \'/nix/store/s3w5m3spa1g71hx0yb82lvk6394j3w5j-stdenv-linux\' \'/nix/store/jlv0a6iyh8vb7pfyhjj93xy245xlmgh5-gnumake-4.4.1\' \'/nix/store/fwmjw5cks4v1gxpr9wgbpzwygcfcmnfp-ccls-0.20241108\' \'/nix/store/8vdiwpbh0g4avsd6x5v4s0di32vcl3dp-pkg-config-wrapper-0.29.2\' \'/nix/store/97033wd7ak5am97yk1d2y85aai3yz4wh-gdb-16.3\' \'/nix/store/zp52rrbj0aca8sq5wg5qjmjvrv636sc3-valgrind-3.26.0-dev\' \'/nix/store/fp56mavabdv7v67y5j3b0ga3v6ygpyha-valgrind-3.26.0\' \'/nix/store/s3c28nd52vahmlcd9scfhpaw18wxbdgg-dev\' \'/nix/store/bjb3hx0r5yqdlkpk77l5ajsb698c55n2-du\' \'/nix/store/4qhdhmi7pzgad0zfd7c5lsg235mbf9hv-git-2.51.2\' \'/nix/store/z6al79i0bkp2phc0qic774i0vg44npp3-loco-0.16.3\' \'/nix/store/na40apkxgv855bc8qpbi6gf0yvdzvnij-sqlite-3.50.4-dev\' \'/nix/store/awm8pnzpcj63lb26asvjm24j4kwg4d76-sqlite-3.50.4-bin\' \'/nix/store/l30c488dws7z5mazacqsmj25izb9jlp2-sqlite-3.50.4\' \'/nix/store/19xz3q0sv06r0yrar8srmxs8pfmrg79m-secretspec-0.4.0\' \'/nix/store/sac7s2ziii88sfgy4d6jnxndsxd1nh83-sea-orm-cli-1.1.17\' \'/nix/store/jc4c4x7dv80i794ki30ymj1mrzdxaccd-cargo-generate-0.23.5\' \'/nix/store/965w3rby7xl49kbfqyyr5m10hlyh3f28-pre-commit-bin\' \'/nix/store/pnf9h7rd3nrxx5phrwbnhb5yhkiavj6p-python3.13-pre-commit-hooks-6.0.0\' \'/nix/store/prpbn02py0x7xgb4fk1xmgzghix6wnxb-python3.13-ruamel-yaml-0.18.14\' \'/nix/store/fxbffn4g9z7l4livi6wm48yb162bc1ga-python3.13-ruamel-base-1.0.0\' \'/nix/store/3lll9y925zz9393sa59h653xik66srjb-python3-3.13.9\' \'/nix/store/zs5kbqpr3dj8rb4szgrp1l3pnl03la6d-python3.13-ruamel-yaml-clib-0.2.12\' \'/nix/store/rckafkh916d8hd4642n2hzywa7sf1npp-deadnix-1.3.1\' \'/nix/store/wbx8i6wrjdi32gj7kk5j5fq3484qyzyb-shellcheck-0.11.0\' \'/nix/store/7fc4qz8ny0s2m2n5gsgsqb3yn2iffk4v-shellcheck-0.11.0-bin\' \'/nix/store/8q2582rd22xp8jlcg1xn1w219q5lx5xa-patchelf-0.15.2\' \'/nix/store/l2xk4ac1wx9c95kpp8vymv9r9yn57fvh-update-autotools-gnu-config-scripts-hook\' \'/nix/store/0y5xmdb7qfvimjwbq7ibg1xdgkgjwqng-no-broken-symlinks.sh\' \'/nix/store/cv1d7p48379km6a85h4zp6kr86brh32q-audit-tmpdir.sh\' \'/nix/store/85clx3b0xkdf58jn161iy80y5223ilbi-compress-man-pages.sh\' \'/nix/store/wgrbkkaldkrlrni33ccvm3b6vbxzb656-make-symlinks-relative.sh\' \'/nix/store/5yzw0vhkyszf2d179m0qfkgxmp5wjjx4-move-docs.sh\' \'/nix/store/fyaryjvghbkpfnsyw97hb3lyb37s1pd6-move-lib64.sh\' \'/nix/store/kd4xwxjpjxi71jkm6ka0np72if9rm3y0-move-sbin.sh\' \'/nix/store/pag6l61paj1dc9sv15l7bm5c17xn5kyk-move-systemd-user-units.sh\' \'/nix/store/cmzya9irvxzlkh7lfy6i82gbp0saxqj3-multiple-outputs.sh\' \'/nix/store/x8c40nfigps493a07sdr2pm5s9j1cdc0-patch-shebangs.sh\' \'/nix/store/cickvswrvann041nqxb0rxilc46svw1n-prune-libtool-files.sh\' \'/nix/store/xyff06pkhki3qy1ls77w10s0v79c9il0-reproducible-builds.sh\' \'/nix/store/z7k98578dfzi6l3hsvbivzm7hfqlk0zc-set-source-date-epoch-to-latest.sh\' \'/nix/store/pilsssjjdxvdphlg2h19p0bfx5q0jzkn-strip.sh\' \'/nix/store/vr15iyyykg9zai6fpgvhcgyw7gckl78w-gcc-wrapper-14.3.0\' \'/nix/store/xwydcyvlsa3cvssk0y5llgdhlhjvmqdm-binutils-wrapper-2.44\' )\ndeclare -a pkgsBuildTarget=()\ndeclare -a pkgsHostHost=()\ndeclare -a pkgsHostTarget=()\ndeclare -a pkgsTargetTarget=()\ndeclare -a postFixupHooks=(\'noBrokenSymlinksInAllOutputs\' \'_makeSymlinksRelativeInAllOutputs\' \'_multioutPropagateDev\' )\ndeclare -a postUnpackHooks=(\'_updateSourceDateEpochFromSourceRoot\' )\ndeclare -a preConfigureHooks=(\'_multioutConfig\' )\npreConfigurePhases=\' updateAutotoolsGnuConfigScriptsPhase\'\ndeclare -a preFixupHooks=(\'_moveToShare\' \'_multioutDocs\' \'_multioutDevs\' )\npreferLocalBuild=\'1\'\nexport preferLocalBuild\nprefix=\'/home/ender/Documents/Projects/dr-ctf/outputs/out\'\ndeclare -a propagatedBuildDepFiles=(\'propagated-build-build-deps\' \'propagated-native-build-inputs\' \'propagated-build-target-deps\' )\npropagatedBuildInputs=\'\'\nexport propagatedBuildInputs\ndeclare -a propagatedHostDepFiles=(\'propagated-host-host-deps\' \'propagated-build-inputs\' )\npropagatedNativeBuildInputs=\'\'\nexport propagatedNativeBuildInputs\ndeclare -a propagatedTargetDepFiles=(\'propagated-target-target-deps\' )\nshell=\'/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/bash\'\nexport shell\nshellHook=\'\nexport PS1="\\[\\e[0;34m\\](devenv)\\[\\e[0m\\] ${PS1-}"\n\n# override temp directories after "nix develop"\nfor var in TMP TMPDIR TEMP TEMPDIR; do\n if [ -n "${!var-}" ]; then\n export "$var"=/run/user/1000\n fi\ndone\nif [ -n "${NIX_BUILD_TOP-}" ]; then\n unset NIX_BUILD_TOP\nfi\n\n# set path to locales on non-NixOS Linux hosts\nif [ -z "${LOCALE_ARCHIVE-}" ]; then\n export LOCALE_ARCHIVE=/nix/store/lncqmx5asfccx0gfkp64r94ri59y0iyv-glibc-locales-2.40-66/lib/locale/locale-archive\nfi\n\n\n# direnv helper\nif [ ! type -p direnv &>/dev/null && -f .envrc ]; then\n echo "An .envrc file was detected, but the direnv command is not installed."\n echo "To use this configuration, please install direnv: https://direnv.net/docs/installation.html"\nfi\n\nmkdir -p "$DEVENV_STATE"\nif [ ! -L "$DEVENV_DOTFILE/profile" ] || [ "$(/nix/store/imad8dvhp77h0pjbckp6wvmnyhp8dpgg-coreutils-9.8/bin/readlink $DEVENV_DOTFILE/profile)" != "/nix/store/bvm5wn1c46bxfgzylrm3khh2sp87vnsa-devenv-profile" ]\nthen\n ln -snf /nix/store/bvm5wn1c46bxfgzylrm3khh2sp87vnsa-devenv-profile "$DEVENV_DOTFILE/profile"\nfi\nunset HOST_PATH NIX_BUILD_CORES __structuredAttrs buildInputs buildPhase builder depsBuildBuild depsBuildBuildPropagated depsBuildTarget depsBuildTargetPropagated depsHostHost depsHostHostPropagated depsTargetTarget depsTargetTargetPropagated dontAddDisableDepTrack doCheck doInstallCheck nativeBuildInputs out outputs patches phases preferLocalBuild propagatedBuildInputs propagatedNativeBuildInputs shell shellHook stdenv strictDeps\n\nmkdir -p /run/user/1000/devenv-405663c\nln -snf /run/user/1000/devenv-405663c /home/ender/Documents/Projects/dr-ctf/.devenv/run\n\n\nexport CARGO_INSTALL_ROOT=$(/nix/store/imad8dvhp77h0pjbckp6wvmnyhp8dpgg-coreutils-9.8/bin/realpath --no-symlinks /home/ender/Documents/Projects/dr-ctf/.devenv/state/cargo-install)\nexport PATH="$PATH:$CARGO_INSTALL_ROOT/bin"\n\nexport PATH="node_modules/.bin:$PATH"\n\n/nix/store/0h3grrk59ixrbqpikbxknvwg5nb05pr0-devenv-tasks-2.0.0/bin/devenv-tasks run devenv:enterShell --mode all || exit $?\nif [ -f "$DEVENV_DOTFILE/load-exports" ]; then\n source "$DEVENV_DOTFILE/load-exports"\nfi\n\necho "✨ devenv 1.11.1 is out of date. Please update to 1.11.2: https://devenv.sh/getting-started/#installation" >&2\n\n\n# Check whether the direnv integration is out of date.\n{\n if [[ ":${DIRENV_ACTIVE-}:" == *":/home/ender/Documents/Projects/dr-ctf:"* ]]; then\n if [[ ! "${DEVENV_NO_DIRENVRC_OUTDATED_WARNING-}" == 1 && ! "${DEVENV_DIRENVRC_ROLLING_UPGRADE-}" == 1 ]]; then\n if [[ ${DEVENV_DIRENVRC_VERSION:-0} -lt 1 ]]; then\n direnv_line=$(grep --color=never -E "source_url.*cachix/devenv" .envrc || echo "")\n\n echo "✨ The direnv integration in your .envrc is out of date."\n echo ""\n echo -n "RECOMMENDED: devenv can now auto-upgrade the direnv integration. "\n if [[ -n "$direnv_line" ]]; then\n echo "To enable this feature, replace the following line in your .envrc:"\n echo ""\n echo " $direnv_line"\n echo ""\n echo "with:"\n echo ""\n echo " eval \\"\\$(devenv direnvrc)\\""\n else\n echo "To enable this feature, replace the \\`source_url\\` line that fetches the direnvrc integration in your .envrc with:"\n echo ""\n echo " eval \\"$(devenv direnvrc)\\""\n fi\n echo ""\n echo "If you prefer to continue managing the integration manually, follow the upgrade instructions at https://devenv.sh/automatic-shell-activation/."\n echo ""\n echo "To disable this message:"\n echo ""\n echo " Add the following environment to your .envrc before \\`use devenv\\`:"\n echo ""\n echo " export DEVENV_NO_DIRENVRC_OUTDATED_WARNING=1"\n echo ""\n echo " Or set the following option in your devenv configuration:"\n echo ""\n echo " devenv.warnOnNewVersion = false;"\n echo ""\n fi\n fi\n fi\n} >&2\n\ngit --version # Use packages\n\n\'\nexport shellHook\nstdenv=\'/nix/store/s3w5m3spa1g71hx0yb82lvk6394j3w5j-stdenv-linux\'\nexport stdenv\nstrictDeps=\'\'\nexport strictDeps\nsystem=\'x86_64-linux\'\nexport system\ndeclare -a unpackCmdHooks=(\'_defaultUnpack\' )\n_activatePkgs ()\n{\n \n local hostOffset targetOffset;\n local pkg;\n for hostOffset in "${allPlatOffsets[@]}";\n do\n local pkgsVar="${pkgAccumVarVars[hostOffset + 1]}";\n for targetOffset in "${allPlatOffsets[@]}";\n do\n (( hostOffset <= targetOffset )) || continue;\n local pkgsRef="${pkgsVar}[$targetOffset - $hostOffset]";\n local pkgsSlice="${!pkgsRef}[@]";\n for pkg in ${!pkgsSlice+"${!pkgsSlice}"};\n do\n activatePackage "$pkg" "$hostOffset" "$targetOffset";\n done;\n done;\n done\n}\n_addRpathPrefix ()\n{\n \n if [ "${NIX_NO_SELF_RPATH:-0}" != 1 ]; then\n export NIX_LDFLAGS="-rpath $1/lib ${NIX_LDFLAGS-}";\n fi\n}\n_addToEnv ()\n{\n \n local depHostOffset depTargetOffset;\n local pkg;\n for depHostOffset in "${allPlatOffsets[@]}";\n do\n local hookVar="${pkgHookVarVars[depHostOffset + 1]}";\n local pkgsVar="${pkgAccumVarVars[depHostOffset + 1]}";\n for depTargetOffset in "${allPlatOffsets[@]}";\n do\n (( depHostOffset <= depTargetOffset )) || continue;\n local hookRef="${hookVar}[$depTargetOffset - $depHostOffset]";\n if [[ -z "${strictDeps-}" ]]; then\n local visitedPkgs="";\n for pkg in "${pkgsBuildBuild[@]}" "${pkgsBuildHost[@]}" "${pkgsBuildTarget[@]}" "${pkgsHostHost[@]}" "${pkgsHostTarget[@]}" "${pkgsTargetTarget[@]}";\n do\n if [[ "$visitedPkgs" = *"$pkg"* ]]; then\n continue;\n fi;\n runHook "${!hookRef}" "$pkg";\n visitedPkgs+=" $pkg";\n done;\n else\n local pkgsRef="${pkgsVar}[$depTargetOffset - $depHostOffset]";\n local pkgsSlice="${!pkgsRef}[@]";\n for pkg in ${!pkgsSlice+"${!pkgsSlice}"};\n do\n runHook "${!hookRef}" "$pkg";\n done;\n fi;\n done;\n done\n}\n_allFlags ()\n{\n \n export system pname name version;\n while IFS=\'\' read -r varName; do\n nixTalkativeLog "@${varName}@ -> ${!varName}";\n args+=("--subst-var" "$varName");\n done < <(awk \'BEGIN { for (v in ENVIRON) if (v ~ /^[a-z][a-zA-Z0-9_]*$/) print v }\')\n}\n_assignFirst ()\n{\n \n local varName="$1";\n local _var;\n local REMOVE=REMOVE;\n shift;\n for _var in "$@";\n do\n if [ -n "${!_var-}" ]; then\n eval "${varName}"="${_var}";\n return;\n fi;\n done;\n echo;\n echo "error: _assignFirst: could not find a non-empty variable whose name to assign to ${varName}.";\n echo " The following variables were all unset or empty:";\n echo " $*";\n if [ -z "${out:-}" ]; then\n echo \' If you do not want an "out" output in your derivation, make sure to define\';\n echo \' the other specific required outputs. This can be achieved by picking one\';\n echo " of the above as an output.";\n echo \' You do not have to remove "out" if you want to have a different default\';\n echo \' output, because the first output is taken as a default.\';\n echo;\n fi;\n return 1\n}\n_callImplicitHook ()\n{\n \n local def="$1";\n local hookName="$2";\n if declare -F "$hookName" > /dev/null; then\n nixTalkativeLog "calling implicit \'$hookName\' function hook";\n "$hookName";\n else\n if type -p "$hookName" > /dev/null; then\n nixTalkativeLog "sourcing implicit \'$hookName\' script hook";\n source "$hookName";\n else\n if [ -n "${!hookName:-}" ]; then\n nixTalkativeLog "evaling implicit \'$hookName\' string hook";\n eval "${!hookName}";\n else\n return "$def";\n fi;\n fi;\n fi\n}\n_defaultUnpack ()\n{\n \n local fn="$1";\n local destination;\n if [ -d "$fn" ]; then\n destination="$(stripHash "$fn")";\n if [ -e "$destination" ]; then\n echo "Cannot copy $fn to $destination: destination already exists!";\n echo "Did you specify two \\"srcs\\" with the same \\"name\\"?";\n return 1;\n fi;\n cp -r --preserve=timestamps --reflink=auto -- "$fn" "$destination";\n else\n case "$fn" in \n *.tar.xz | *.tar.lzma | *.txz)\n ( XZ_OPT="--threads=$NIX_BUILD_CORES" xz -d < "$fn";\n true ) | tar xf - --mode=+w --warning=no-timestamp\n ;;\n *.tar | *.tar.* | *.tgz | *.tbz2 | *.tbz)\n tar xf "$fn" --mode=+w --warning=no-timestamp\n ;;\n *)\n return 1\n ;;\n esac;\n fi\n}\n_doStrip ()\n{\n \n local -ra flags=(dontStripHost dontStripTarget);\n local -ra debugDirs=(stripDebugList stripDebugListTarget);\n local -ra allDirs=(stripAllList stripAllListTarget);\n local -ra stripCmds=(STRIP STRIP_FOR_TARGET);\n local -ra ranlibCmds=(RANLIB RANLIB_FOR_TARGET);\n stripDebugList=${stripDebugList[*]:-lib lib32 lib64 libexec bin sbin Applications Library/Frameworks};\n stripDebugListTarget=${stripDebugListTarget[*]:-};\n stripAllList=${stripAllList[*]:-};\n stripAllListTarget=${stripAllListTarget[*]:-};\n local i;\n for i in ${!stripCmds[@]};\n do\n local -n flag="${flags[$i]}";\n local -n debugDirList="${debugDirs[$i]}";\n local -n allDirList="${allDirs[$i]}";\n local -n stripCmd="${stripCmds[$i]}";\n local -n ranlibCmd="${ranlibCmds[$i]}";\n if [[ -n "${dontStrip-}" || -n "${flag-}" ]] || ! type -f "${stripCmd-}" 2> /dev/null 1>&2; then\n continue;\n fi;\n stripDirs "$stripCmd" "$ranlibCmd" "$debugDirList" "${stripDebugFlags[*]:--S -p}";\n stripDirs "$stripCmd" "$ranlibCmd" "$allDirList" "${stripAllFlags[*]:--s -p}";\n done\n}\n_eval ()\n{\n \n if declare -F "$1" > /dev/null 2>&1; then\n "$@";\n else\n eval "$1";\n fi\n}\n_logHook ()\n{\n \n if [[ -z ${NIX_LOG_FD-} ]]; then\n return;\n fi;\n local hookKind="$1";\n local hookExpr="$2";\n shift 2;\n if declare -F "$hookExpr" > /dev/null 2>&1; then\n nixTalkativeLog "calling \'$hookKind\' function hook \'$hookExpr\'" "$@";\n else\n if type -p "$hookExpr" > /dev/null; then\n nixTalkativeLog "sourcing \'$hookKind\' script hook \'$hookExpr\'";\n else\n if [[ "$hookExpr" != "_callImplicitHook"* ]]; then\n local exprToOutput;\n if [[ ${NIX_DEBUG:-0} -ge 5 ]]; then\n exprToOutput="$hookExpr";\n else\n local hookExprLine;\n while IFS= read -r hookExprLine; do\n hookExprLine="${hookExprLine#"${hookExprLine%%[![:space:]]*}"}";\n if [[ -n "$hookExprLine" ]]; then\n exprToOutput+="$hookExprLine\\\\n ";\n fi;\n done <<< "$hookExpr";\n exprToOutput="${exprToOutput%%\\\\n }";\n fi;\n nixTalkativeLog "evaling \'$hookKind\' string hook \'$exprToOutput\'";\n fi;\n fi;\n fi\n}\n_makeSymlinksRelative ()\n{\n \n local symlinkTarget;\n if [ "${dontRewriteSymlinks-}" ] || [ ! -e "$prefix" ]; then\n return;\n fi;\n while IFS= read -r -d \'\' f; do\n symlinkTarget=$(readlink "$f");\n if [[ "$symlinkTarget"/ != "$prefix"/* ]]; then\n continue;\n fi;\n if [ ! -e "$symlinkTarget" ]; then\n echo "the symlink $f is broken, it points to $symlinkTarget (which is missing)";\n fi;\n echo "rewriting symlink $f to be relative to $prefix";\n ln -snrf "$symlinkTarget" "$f";\n done < <(find $prefix -type l -print0)\n}\n_makeSymlinksRelativeInAllOutputs ()\n{\n \n local output;\n for output in $(getAllOutputNames);\n do\n prefix="${!output}" _makeSymlinksRelative;\n done\n}\n_moveLib64 ()\n{\n \n if [ "${dontMoveLib64-}" = 1 ]; then\n return;\n fi;\n if [ ! -e "$prefix/lib64" -o -L "$prefix/lib64" ]; then\n return;\n fi;\n echo "moving $prefix/lib64/* to $prefix/lib";\n mkdir -p $prefix/lib;\n shopt -s dotglob;\n for i in $prefix/lib64/*;\n do\n mv --no-clobber "$i" $prefix/lib;\n done;\n shopt -u dotglob;\n rmdir $prefix/lib64;\n ln -s lib $prefix/lib64\n}\n_moveSbin ()\n{\n \n if [ "${dontMoveSbin-}" = 1 ]; then\n return;\n fi;\n if [ ! -e "$prefix/sbin" -o -L "$prefix/sbin" ]; then\n return;\n fi;\n echo "moving $prefix/sbin/* to $prefix/bin";\n mkdir -p $prefix/bin;\n shopt -s dotglob;\n for i in $prefix/sbin/*;\n do\n mv "$i" $prefix/bin;\n done;\n shopt -u dotglob;\n rmdir $prefix/sbin;\n ln -s bin $prefix/sbin\n}\n_moveSystemdUserUnits ()\n{\n \n if [ "${dontMoveSystemdUserUnits:-0}" = 1 ]; then\n return;\n fi;\n if [ ! -e "${prefix:?}/lib/systemd/user" ]; then\n return;\n fi;\n local source="$prefix/lib/systemd/user";\n local target="$prefix/share/systemd/user";\n echo "moving $source/* to $target";\n mkdir -p "$target";\n ( shopt -s dotglob;\n for i in "$source"/*;\n do\n mv "$i" "$target";\n done );\n rmdir "$source";\n ln -s "$target" "$source"\n}\n_moveToShare ()\n{\n \n if [ -n "$__structuredAttrs" ]; then\n if [ -z "${forceShare-}" ]; then\n forceShare=(man doc info);\n fi;\n else\n forceShare=(${forceShare:-man doc info});\n fi;\n if [[ -z "$out" ]]; then\n return;\n fi;\n for d in "${forceShare[@]}";\n do\n if [ -d "$out/$d" ]; then\n if [ -d "$out/share/$d" ]; then\n echo "both $d/ and share/$d/ exist!";\n else\n echo "moving $out/$d to $out/share/$d";\n mkdir -p $out/share;\n mv $out/$d $out/share/;\n fi;\n fi;\n done\n}\n_multioutConfig ()\n{\n \n if [ "$(getAllOutputNames)" = "out" ] || [ -z "${setOutputFlags-1}" ]; then\n return;\n fi;\n if [ -z "${shareDocName:-}" ]; then\n local confScript="${configureScript:-}";\n if [ -z "$confScript" ] && [ -x ./configure ]; then\n confScript=./configure;\n fi;\n if [ -f "$confScript" ]; then\n local shareDocName="$(sed -n "s/^PACKAGE_TARNAME=\'\\(.*\\)\'$/\\1/p" < "$confScript")";\n fi;\n if [ -z "$shareDocName" ] || echo "$shareDocName" | grep -q \'[^a-zA-Z0-9_-]\'; then\n shareDocName="$(echo "$name" | sed \'s/-[^a-zA-Z].*//\')";\n fi;\n fi;\n prependToVar configureFlags --bindir="${!outputBin}"/bin --sbindir="${!outputBin}"/sbin --includedir="${!outputInclude}"/include --mandir="${!outputMan}"/share/man --infodir="${!outputInfo}"/share/info --docdir="${!outputDoc}"/share/doc/"${shareDocName}" --libdir="${!outputLib}"/lib --libexecdir="${!outputLib}"/libexec --localedir="${!outputLib}"/share/locale;\n prependToVar installFlags pkgconfigdir="${!outputDev}"/lib/pkgconfig m4datadir="${!outputDev}"/share/aclocal aclocaldir="${!outputDev}"/share/aclocal\n}\n_multioutDevs ()\n{\n \n if [ "$(getAllOutputNames)" = "out" ] || [ -z "${moveToDev-1}" ]; then\n return;\n fi;\n moveToOutput include "${!outputInclude}";\n moveToOutput lib/pkgconfig "${!outputDev}";\n moveToOutput share/pkgconfig "${!outputDev}";\n moveToOutput lib/cmake "${!outputDev}";\n moveToOutput share/aclocal "${!outputDev}";\n for f in "${!outputDev}"/{lib,share}/pkgconfig/*.pc;\n do\n echo "Patching \'$f\' includedir to output ${!outputInclude}";\n sed -i "/^includedir=/s,=\\${prefix},=${!outputInclude}," "$f";\n done\n}\n_multioutDocs ()\n{\n \n local REMOVE=REMOVE;\n moveToOutput share/info "${!outputInfo}";\n moveToOutput share/doc "${!outputDoc}";\n moveToOutput share/gtk-doc "${!outputDevdoc}";\n moveToOutput share/devhelp/books "${!outputDevdoc}";\n moveToOutput share/man "${!outputMan}";\n moveToOutput share/man/man3 "${!outputDevman}"\n}\n_multioutPropagateDev ()\n{\n \n if [ "$(getAllOutputNames)" = "out" ]; then\n return;\n fi;\n local outputFirst;\n for outputFirst in $(getAllOutputNames);\n do\n break;\n done;\n local propagaterOutput="$outputDev";\n if [ -z "$propagaterOutput" ]; then\n propagaterOutput="$outputFirst";\n fi;\n if [ -z "${propagatedBuildOutputs+1}" ]; then\n local po_dirty="$outputBin $outputInclude $outputLib";\n set +o pipefail;\n propagatedBuildOutputs=`echo "$po_dirty" | tr -s \' \' \'\\n\' | grep -v -F "$propagaterOutput" | sort -u | tr \'\\n\' \' \' `;\n set -o pipefail;\n fi;\n if [ -z "$propagatedBuildOutputs" ]; then\n return;\n fi;\n mkdir -p "${!propagaterOutput}"/nix-support;\n for output in $propagatedBuildOutputs;\n do\n echo -n " ${!output}" >> "${!propagaterOutput}"/nix-support/propagated-build-inputs;\n done\n}\n_nixLogWithLevel ()\n{\n \n [[ -z ${NIX_LOG_FD-} || ${NIX_DEBUG:-0} -lt ${1:?} ]] && return 0;\n local logLevel;\n case "${1:?}" in \n 0)\n logLevel=ERROR\n ;;\n 1)\n logLevel=WARN\n ;;\n 2)\n logLevel=NOTICE\n ;;\n 3)\n logLevel=INFO\n ;;\n 4)\n logLevel=TALKATIVE\n ;;\n 5)\n logLevel=CHATTY\n ;;\n 6)\n logLevel=DEBUG\n ;;\n 7)\n logLevel=VOMIT\n ;;\n *)\n echo "_nixLogWithLevel: called with invalid log level: ${1:?}" >&"$NIX_LOG_FD";\n return 1\n ;;\n esac;\n local callerName="${FUNCNAME[2]}";\n if [[ $callerName == "_callImplicitHook" ]]; then\n callerName="${hookName:?}";\n fi;\n printf "%s: %s: %s\\n" "$logLevel" "$callerName" "${2:?}" >&"$NIX_LOG_FD"\n}\n_overrideFirst ()\n{\n \n if [ -z "${!1-}" ]; then\n _assignFirst "$@";\n fi\n}\n_pruneLibtoolFiles ()\n{\n \n if [ "${dontPruneLibtoolFiles-}" ] || [ ! -e "$prefix" ]; then\n return;\n fi;\n find "$prefix" -type f -name \'*.la\' -exec grep -q \'^# Generated by .*libtool\' {} \\; -exec grep -q "^old_library=\'\'" {} \\; -exec sed -i {} -e "/^dependency_libs=\'[^\']/ c dependency_libs=\'\' #pruned" \\;\n}\n_updateSourceDateEpochFromSourceRoot ()\n{\n \n if [ -n "$sourceRoot" ]; then\n updateSourceDateEpoch "$sourceRoot";\n fi\n}\nactivatePackage ()\n{\n \n local pkg="$1";\n local -r hostOffset="$2";\n local -r targetOffset="$3";\n (( hostOffset <= targetOffset )) || exit 1;\n if [ -f "$pkg" ]; then\n nixTalkativeLog "sourcing setup hook \'$pkg\'";\n source "$pkg";\n fi;\n if [[ -z "${strictDeps-}" || "$hostOffset" -le -1 ]]; then\n addToSearchPath _PATH "$pkg/bin";\n fi;\n if (( hostOffset <= -1 )); then\n addToSearchPath _XDG_DATA_DIRS "$pkg/share";\n fi;\n if [[ "$hostOffset" -eq 0 && -d "$pkg/bin" ]]; then\n addToSearchPath _HOST_PATH "$pkg/bin";\n fi;\n if [[ -f "$pkg/nix-support/setup-hook" ]]; then\n nixTalkativeLog "sourcing setup hook \'$pkg/nix-support/setup-hook\'";\n source "$pkg/nix-support/setup-hook";\n fi\n}\naddEnvHooks ()\n{\n \n local depHostOffset="$1";\n shift;\n local pkgHookVarsSlice="${pkgHookVarVars[$depHostOffset + 1]}[@]";\n local pkgHookVar;\n for pkgHookVar in "${!pkgHookVarsSlice}";\n do\n eval "${pkgHookVar}s"\'+=("$@")\';\n done\n}\naddNodePath ()\n{\n \n addToSearchPath NODE_PATH "$1/lib/node_modules"\n}\naddPythonPath ()\n{\n \n addToSearchPathWithCustomDelimiter : PYTHONPATH $1/lib/python3.13/site-packages\n}\naddToSearchPath ()\n{\n \n addToSearchPathWithCustomDelimiter ":" "$@"\n}\naddToSearchPathWithCustomDelimiter ()\n{\n \n local delimiter="$1";\n local varName="$2";\n local dir="$3";\n if [[ -d "$dir" && "${!varName:+${delimiter}${!varName}${delimiter}}" != *"${delimiter}${dir}${delimiter}"* ]]; then\n export "${varName}=${!varName:+${!varName}${delimiter}}${dir}";\n fi\n}\nappendToVar ()\n{\n \n local -n nameref="$1";\n local useArray type;\n if [ -n "$__structuredAttrs" ]; then\n useArray=true;\n else\n useArray=false;\n fi;\n if type=$(declare -p "$1" 2> /dev/null); then\n case "${type#* }" in \n -A*)\n echo "appendToVar(): ERROR: trying to use appendToVar on an associative array, use variable+=([\\"X\\"]=\\"Y\\") instead." 1>&2;\n return 1\n ;;\n -a*)\n useArray=true\n ;;\n *)\n useArray=false\n ;;\n esac;\n fi;\n shift;\n if $useArray; then\n nameref=(${nameref+"${nameref[@]}"} "$@");\n else\n nameref="${nameref-} $*";\n fi\n}\nauditTmpdir ()\n{\n \n local dir="$1";\n [ -e "$dir" ] || return 0;\n echo "checking for references to $TMPDIR/ in $dir...";\n local tmpdir elf_fifo script_fifo;\n tmpdir="$(mktemp -d)";\n elf_fifo="$tmpdir/elf";\n script_fifo="$tmpdir/script";\n mkfifo "$elf_fifo" "$script_fifo";\n ( find "$dir" -type f -not -path \'*/.build-id/*\' -print0 | while IFS= read -r -d \'\' file; do\n if isELF "$file"; then\n printf \'%s\\0\' "$file" 1>&3;\n else\n if isScript "$file"; then\n filename=${file##*/};\n dir=${file%/*};\n if [ -e "$dir/.$filename-wrapped" ]; then\n printf \'%s\\0\' "$file" 1>&4;\n fi;\n fi;\n fi;\n done;\n exec 3>&- 4>&- ) 3> "$elf_fifo" 4> "$script_fifo" & ( xargs -0 -r -P "$NIX_BUILD_CORES" -n 1 sh -c \'\n if { printf :; patchelf --print-rpath "$1"; } | grep -q -F ":$TMPDIR/"; then\n echo "RPATH of binary $1 contains a forbidden reference to $TMPDIR/"\n exit 1\n fi\n \' _ < "$elf_fifo" ) & local pid_elf=$!;\n local pid_script;\n ( xargs -0 -r -P "$NIX_BUILD_CORES" -n 1 sh -c \'\n if grep -q -F "$TMPDIR/" "$1"; then\n echo "wrapper script $1 contains a forbidden reference to $TMPDIR/"\n exit 1\n fi\n \' _ < "$script_fifo" ) & local pid_script=$!;\n wait "$pid_elf" || { \n echo "Some binaries contain forbidden references to $TMPDIR/. Check the error above!";\n exit 1\n };\n wait "$pid_script" || { \n echo "Some scripts contain forbidden references to $TMPDIR/. Check the error above!";\n exit 1\n };\n rm -r "$tmpdir"\n}\nbintoolsWrapper_addLDVars ()\n{\n \n local role_post;\n getHostRoleEnvHook;\n if [[ -d "$1/lib64" && ! -L "$1/lib64" ]]; then\n export NIX_LDFLAGS${role_post}+=" -L$1/lib64";\n fi;\n if [[ -d "$1/lib" ]]; then\n local -a glob=($1/lib/lib*);\n if [ "${#glob[*]}" -gt 0 ]; then\n export NIX_LDFLAGS${role_post}+=" -L$1/lib";\n fi;\n fi\n}\nbuildPhase ()\n{\n \n runHook preBuild;\n if [[ -z "${makeFlags-}" && -z "${makefile:-}" && ! ( -e Makefile || -e makefile || -e GNUmakefile ) ]]; then\n echo "no Makefile or custom buildPhase, doing nothing";\n else\n foundMakefile=1;\n local flagsArray=(${enableParallelBuilding:+-j${NIX_BUILD_CORES}} SHELL="$SHELL");\n concatTo flagsArray makeFlags makeFlagsArray buildFlags buildFlagsArray;\n echoCmd \'build flags\' "${flagsArray[@]}";\n make ${makefile:+-f $makefile} "${flagsArray[@]}";\n unset flagsArray;\n fi;\n runHook postBuild\n}\nccWrapper_addCVars ()\n{\n \n local role_post;\n getHostRoleEnvHook;\n local found=;\n if [ -d "$1/include" ]; then\n export NIX_CFLAGS_COMPILE${role_post}+=" -isystem $1/include";\n found=1;\n fi;\n if [ -d "$1/Library/Frameworks" ]; then\n export NIX_CFLAGS_COMPILE${role_post}+=" -iframework $1/Library/Frameworks";\n found=1;\n fi;\n if [[ -n "" && -n ${NIX_STORE:-} && -n $found ]]; then\n local scrubbed="$NIX_STORE/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-${1#"$NIX_STORE"/*-}";\n export NIX_CFLAGS_COMPILE${role_post}+=" -fmacro-prefix-map=$1=$scrubbed";\n fi\n}\ncheckPhase ()\n{\n \n runHook preCheck;\n if [[ -z "${foundMakefile:-}" ]]; then\n echo "no Makefile or custom checkPhase, doing nothing";\n runHook postCheck;\n return;\n fi;\n if [[ -z "${checkTarget:-}" ]]; then\n if make -n ${makefile:+-f $makefile} check > /dev/null 2>&1; then\n checkTarget="check";\n else\n if make -n ${makefile:+-f $makefile} test > /dev/null 2>&1; then\n checkTarget="test";\n fi;\n fi;\n fi;\n if [[ -z "${checkTarget:-}" ]]; then\n echo "no check/test target in ${makefile:-Makefile}, doing nothing";\n else\n local flagsArray=(${enableParallelChecking:+-j${NIX_BUILD_CORES}} SHELL="$SHELL");\n concatTo flagsArray makeFlags makeFlagsArray checkFlags=VERBOSE=y checkFlagsArray checkTarget;\n echoCmd \'check flags\' "${flagsArray[@]}";\n make ${makefile:+-f $makefile} "${flagsArray[@]}";\n unset flagsArray;\n fi;\n runHook postCheck\n}\ncompressManPages ()\n{\n \n local dir="$1";\n if [ -L "$dir"/share ] || [ -L "$dir"/share/man ] || [ ! -d "$dir/share/man" ]; then\n return;\n fi;\n echo "gzipping man pages under $dir/share/man/";\n find "$dir"/share/man/ -type f -a \'!\' -regex \'.*\\.\\(bz2\\|gz\\|xz\\)$\' -print0 | xargs -0 -n1 -P "$NIX_BUILD_CORES" gzip -n -f;\n find "$dir"/share/man/ -type l -a \'!\' -regex \'.*\\.\\(bz2\\|gz\\|xz\\)$\' -print0 | sort -z | while IFS= read -r -d \'\' f; do\n local target;\n target="$(readlink -f "$f")";\n if [ -f "$target".gz ]; then\n ln -sf "$target".gz "$f".gz && rm "$f";\n fi;\n done\n}\nconcatStringsSep ()\n{\n \n local sep="$1";\n local name="$2";\n local type oldifs;\n if type=$(declare -p "$name" 2> /dev/null); then\n local -n nameref="$name";\n case "${type#* }" in \n -A*)\n echo "concatStringsSep(): ERROR: trying to use concatStringsSep on an associative array." 1>&2;\n return 1\n ;;\n -a*)\n local IFS="$(printf \'\\036\')"\n ;;\n *)\n local IFS=" "\n ;;\n esac;\n local ifs_separated="${nameref[*]}";\n echo -n "${ifs_separated//"$IFS"/"$sep"}";\n fi\n}\nconcatTo ()\n{\n \n local -;\n set -o noglob;\n local -n targetref="$1";\n shift;\n local arg default name type;\n for arg in "$@";\n do\n IFS="=" read -r name default <<< "$arg";\n local -n nameref="$name";\n if [[ -z "${nameref[*]}" && -n "$default" ]]; then\n targetref+=("$default");\n else\n if type=$(declare -p "$name" 2> /dev/null); then\n case "${type#* }" in \n -A*)\n echo "concatTo(): ERROR: trying to use concatTo on an associative array." 1>&2;\n return 1\n ;;\n -a*)\n targetref+=("${nameref[@]}")\n ;;\n *)\n if [[ "$name" = *"Array" ]]; then\n nixErrorLog "concatTo(): $name is not declared as array, treating as a singleton. This will become an error in future";\n targetref+=(${nameref+"${nameref[@]}"});\n else\n targetref+=(${nameref-});\n fi\n ;;\n esac;\n fi;\n fi;\n done\n}\nconfigurePhase ()\n{\n \n runHook preConfigure;\n : "${configureScript=}";\n if [[ -z "$configureScript" && -x ./configure ]]; then\n configureScript=./configure;\n fi;\n if [ -z "${dontFixLibtool:-}" ]; then\n export lt_cv_deplibs_check_method="${lt_cv_deplibs_check_method-pass_all}";\n local i;\n find . -iname "ltmain.sh" -print0 | while IFS=\'\' read -r -d \'\' i; do\n echo "fixing libtool script $i";\n fixLibtool "$i";\n done;\n CONFIGURE_MTIME_REFERENCE=$(mktemp configure.mtime.reference.XXXXXX);\n find . -executable -type f -name configure -exec grep -l \'GNU Libtool is free software; you can redistribute it and/or modify\' {} \\; -exec touch -r {} "$CONFIGURE_MTIME_REFERENCE" \\; -exec sed -i s_/usr/bin/file_file_g {} \\; -exec touch -r "$CONFIGURE_MTIME_REFERENCE" {} \\;;\n rm -f "$CONFIGURE_MTIME_REFERENCE";\n fi;\n if [[ -z "${dontAddPrefix:-}" && -n "$prefix" ]]; then\n prependToVar configureFlags "${prefixKey:---prefix=}$prefix";\n fi;\n if [[ -f "$configureScript" ]]; then\n if [ -z "${dontAddDisableDepTrack:-}" ]; then\n if grep -q dependency-tracking "$configureScript"; then\n prependToVar configureFlags --disable-dependency-tracking;\n fi;\n fi;\n if [ -z "${dontDisableStatic:-}" ]; then\n if grep -q enable-static "$configureScript"; then\n prependToVar configureFlags --disable-static;\n fi;\n fi;\n if [ -z "${dontPatchShebangsInConfigure:-}" ]; then\n patchShebangs --build "$configureScript";\n fi;\n fi;\n if [ -n "$configureScript" ]; then\n local -a flagsArray;\n concatTo flagsArray configureFlags configureFlagsArray;\n echoCmd \'configure flags\' "${flagsArray[@]}";\n $configureScript "${flagsArray[@]}";\n unset flagsArray;\n else\n echo "no configure script, doing nothing";\n fi;\n runHook postConfigure\n}\nconsumeEntire ()\n{\n \n if IFS=\'\' read -r -d \'\' "$1"; then\n echo "consumeEntire(): ERROR: Input null bytes, won\'t process" 1>&2;\n return 1;\n fi\n}\ndistPhase ()\n{\n \n runHook preDist;\n local flagsArray=();\n concatTo flagsArray distFlags distFlagsArray distTarget=dist;\n echo \'dist flags: %q\' "${flagsArray[@]}";\n make ${makefile:+-f $makefile} "${flagsArray[@]}";\n if [ "${dontCopyDist:-0}" != 1 ]; then\n mkdir -p "$out/tarballs";\n cp -pvd ${tarballs[*]:-*.tar.gz} "$out/tarballs";\n fi;\n runHook postDist\n}\ndumpVars ()\n{\n \n if [[ "${noDumpEnvVars:-0}" != 1 && -d "$NIX_BUILD_TOP" ]]; then\n local old_umask;\n old_umask=$(umask);\n umask 0077;\n export 2> /dev/null > "$NIX_BUILD_TOP/env-vars";\n umask "$old_umask";\n fi\n}\nechoCmd ()\n{\n \n printf "%s:" "$1";\n shift;\n printf \' %q\' "$@";\n echo\n}\nexitHandler ()\n{\n \n exitCode="$?";\n set +e;\n if [ -n "${showBuildStats:-}" ]; then\n read -r -d \'\' -a buildTimes < <(times);\n echo "build times:";\n echo "user time for the shell ${buildTimes[0]}";\n echo "system time for the shell ${buildTimes[1]}";\n echo "user time for all child processes ${buildTimes[2]}";\n echo "system time for all child processes ${buildTimes[3]}";\n fi;\n if (( "$exitCode" != 0 )); then\n runHook failureHook;\n if [ -n "${succeedOnFailure:-}" ]; then\n echo "build failed with exit code $exitCode (ignored)";\n mkdir -p "$out/nix-support";\n printf "%s" "$exitCode" > "$out/nix-support/failed";\n exit 0;\n fi;\n else\n runHook exitHook;\n fi;\n return "$exitCode"\n}\nfindInputs ()\n{\n \n local -r pkg="$1";\n local -r hostOffset="$2";\n local -r targetOffset="$3";\n (( hostOffset <= targetOffset )) || exit 1;\n local varVar="${pkgAccumVarVars[hostOffset + 1]}";\n local varRef="$varVar[$((targetOffset - hostOffset))]";\n local var="${!varRef}";\n unset -v varVar varRef;\n local varSlice="$var[*]";\n case " ${!varSlice-} " in \n *" $pkg "*)\n return 0\n ;;\n esac;\n unset -v varSlice;\n eval "$var"\'+=("$pkg")\';\n if ! [ -e "$pkg" ]; then\n echo "build input $pkg does not exist" 1>&2;\n exit 1;\n fi;\n function mapOffset () \n { \n local -r inputOffset="$1";\n local -n outputOffset="$2";\n if (( inputOffset <= 0 )); then\n outputOffset=$((inputOffset + hostOffset));\n else\n outputOffset=$((inputOffset - 1 + targetOffset));\n fi\n };\n local relHostOffset;\n for relHostOffset in "${allPlatOffsets[@]}";\n do\n local files="${propagatedDepFilesVars[relHostOffset + 1]}";\n local hostOffsetNext;\n mapOffset "$relHostOffset" hostOffsetNext;\n (( -1 <= hostOffsetNext && hostOffsetNext <= 1 )) || continue;\n local relTargetOffset;\n for relTargetOffset in "${allPlatOffsets[@]}";\n do\n (( "$relHostOffset" <= "$relTargetOffset" )) || continue;\n local fileRef="${files}[$relTargetOffset - $relHostOffset]";\n local file="${!fileRef}";\n unset -v fileRef;\n local targetOffsetNext;\n mapOffset "$relTargetOffset" targetOffsetNext;\n (( -1 <= hostOffsetNext && hostOffsetNext <= 1 )) || continue;\n [[ -f "$pkg/nix-support/$file" ]] || continue;\n local pkgNext;\n read -r -d \'\' pkgNext < "$pkg/nix-support/$file" || true;\n for pkgNext in $pkgNext;\n do\n findInputs "$pkgNext" "$hostOffsetNext" "$targetOffsetNext";\n done;\n done;\n done\n}\nfixLibtool ()\n{\n \n local search_path;\n for flag in $NIX_LDFLAGS;\n do\n case $flag in \n -L*)\n search_path+=" ${flag#-L}"\n ;;\n esac;\n done;\n sed -i "$1" -e "s^eval \\(sys_lib_search_path=\\).*^\\1\'${search_path:-}\'^" -e \'s^eval sys_lib_.+search_path=.*^^\'\n}\nfixupPhase ()\n{\n \n local output;\n for output in $(getAllOutputNames);\n do\n if [ -e "${!output}" ]; then\n chmod -R u+w,u-s,g-s "${!output}";\n fi;\n done;\n runHook preFixup;\n local output;\n for output in $(getAllOutputNames);\n do\n prefix="${!output}" runHook fixupOutput;\n done;\n recordPropagatedDependencies;\n if [ -n "${setupHook:-}" ]; then\n mkdir -p "${!outputDev}/nix-support";\n substituteAll "$setupHook" "${!outputDev}/nix-support/setup-hook";\n fi;\n if [ -n "${setupHooks:-}" ]; then\n mkdir -p "${!outputDev}/nix-support";\n local hook;\n for hook in ${setupHooks[@]};\n do\n local content;\n consumeEntire content < "$hook";\n substituteAllStream content "file \'$hook\'" >> "${!outputDev}/nix-support/setup-hook";\n unset -v content;\n done;\n unset -v hook;\n fi;\n if [ -n "${propagatedUserEnvPkgs[*]:-}" ]; then\n mkdir -p "${!outputBin}/nix-support";\n printWords "${propagatedUserEnvPkgs[@]}" > "${!outputBin}/nix-support/propagated-user-env-packages";\n fi;\n runHook postFixup\n}\ngenericBuild ()\n{\n \n export GZIP_NO_TIMESTAMPS=1;\n if [ -f "${buildCommandPath:-}" ]; then\n source "$buildCommandPath";\n return;\n fi;\n if [ -n "${buildCommand:-}" ]; then\n eval "$buildCommand";\n return;\n fi;\n if [ -z "${phases[*]:-}" ]; then\n phases="${prePhases[*]:-} unpackPhase patchPhase ${preConfigurePhases[*]:-} configurePhase ${preBuildPhases[*]:-} buildPhase checkPhase ${preInstallPhases[*]:-} installPhase ${preFixupPhases[*]:-} fixupPhase installCheckPhase ${preDistPhases[*]:-} distPhase ${postPhases[*]:-}";\n fi;\n for curPhase in ${phases[*]};\n do\n runPhase "$curPhase";\n done\n}\ngetAllOutputNames ()\n{\n \n if [ -n "$__structuredAttrs" ]; then\n echo "${!outputs[*]}";\n else\n echo "$outputs";\n fi\n}\ngetHostRole ()\n{\n \n getRole "$hostOffset"\n}\ngetHostRoleEnvHook ()\n{\n \n getRole "$depHostOffset"\n}\ngetRole ()\n{\n \n case $1 in \n -1)\n role_post=\'_FOR_BUILD\'\n ;;\n 0)\n role_post=\'\'\n ;;\n 1)\n role_post=\'_FOR_TARGET\'\n ;;\n *)\n echo "binutils-wrapper-2.44: used as improper sort of dependency" 1>&2;\n return 1\n ;;\n esac\n}\ngetTargetRole ()\n{\n \n getRole "$targetOffset"\n}\ngetTargetRoleEnvHook ()\n{\n \n getRole "$depTargetOffset"\n}\ngetTargetRoleWrapper ()\n{\n \n case $targetOffset in \n -1)\n export NIX_BINTOOLS_WRAPPER_TARGET_BUILD_x86_64_unknown_linux_gnu=1\n ;;\n 0)\n export NIX_BINTOOLS_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu=1\n ;;\n 1)\n export NIX_BINTOOLS_WRAPPER_TARGET_TARGET_x86_64_unknown_linux_gnu=1\n ;;\n *)\n echo "binutils-wrapper-2.44: used as improper sort of dependency" 1>&2;\n return 1\n ;;\n esac\n}\ninstallCheckPhase ()\n{\n \n runHook preInstallCheck;\n if [[ -z "${foundMakefile:-}" ]]; then\n echo "no Makefile or custom installCheckPhase, doing nothing";\n else\n if [[ -z "${installCheckTarget:-}" ]] && ! make -n ${makefile:+-f $makefile} "${installCheckTarget:-installcheck}" > /dev/null 2>&1; then\n echo "no installcheck target in ${makefile:-Makefile}, doing nothing";\n else\n local flagsArray=(${enableParallelChecking:+-j${NIX_BUILD_CORES}} SHELL="$SHELL");\n concatTo flagsArray makeFlags makeFlagsArray installCheckFlags installCheckFlagsArray installCheckTarget=installcheck;\n echoCmd \'installcheck flags\' "${flagsArray[@]}";\n make ${makefile:+-f $makefile} "${flagsArray[@]}";\n unset flagsArray;\n fi;\n fi;\n runHook postInstallCheck\n}\ninstallPhase ()\n{\n \n runHook preInstall;\n if [[ -z "${makeFlags-}" && -z "${makefile:-}" && ! ( -e Makefile || -e makefile || -e GNUmakefile ) ]]; then\n echo "no Makefile or custom installPhase, doing nothing";\n runHook postInstall;\n return;\n else\n foundMakefile=1;\n fi;\n if [ -n "$prefix" ]; then\n mkdir -p "$prefix";\n fi;\n local flagsArray=(${enableParallelInstalling:+-j${NIX_BUILD_CORES}} SHELL="$SHELL");\n concatTo flagsArray makeFlags makeFlagsArray installFlags installFlagsArray installTargets=install;\n echoCmd \'install flags\' "${flagsArray[@]}";\n make ${makefile:+-f $makefile} "${flagsArray[@]}";\n unset flagsArray;\n runHook postInstall\n}\nisELF ()\n{\n \n local fn="$1";\n local fd;\n local magic;\n exec {fd}< "$fn";\n LANG=C read -r -n 4 -u "$fd" magic;\n exec {fd}>&-;\n if [ "$magic" = \'\177ELF\' ]; then\n return 0;\n else\n return 1;\n fi\n}\nisMachO ()\n{\n \n local fn="$1";\n local fd;\n local magic;\n exec {fd}< "$fn";\n LANG=C read -r -n 4 -u "$fd" magic;\n exec {fd}>&-;\n if [[ "$magic" = $(echo -ne "\\xfe\\xed\\xfa\\xcf") || "$magic" = $(echo -ne "\\xcf\\xfa\\xed\\xfe") ]]; then\n return 0;\n else\n if [[ "$magic" = $(echo -ne "\\xfe\\xed\\xfa\\xce") || "$magic" = $(echo -ne "\\xce\\xfa\\xed\\xfe") ]]; then\n return 0;\n else\n if [[ "$magic" = $(echo -ne "\\xca\\xfe\\xba\\xbe") || "$magic" = $(echo -ne "\\xbe\\xba\\xfe\\xca") ]]; then\n return 0;\n else\n return 1;\n fi;\n fi;\n fi\n}\nisScript ()\n{\n \n local fn="$1";\n local fd;\n local magic;\n exec {fd}< "$fn";\n LANG=C read -r -n 2 -u "$fd" magic;\n exec {fd}>&-;\n if [[ "$magic" =~ \\#! ]]; then\n return 0;\n else\n return 1;\n fi\n}\nmapOffset ()\n{\n \n local -r inputOffset="$1";\n local -n outputOffset="$2";\n if (( inputOffset <= 0 )); then\n outputOffset=$((inputOffset + hostOffset));\n else\n outputOffset=$((inputOffset - 1 + targetOffset));\n fi\n}\nmoveToOutput ()\n{\n \n local patt="$1";\n local dstOut="$2";\n local output;\n for output in $(getAllOutputNames);\n do\n if [ "${!output}" = "$dstOut" ]; then\n continue;\n fi;\n local srcPath;\n for srcPath in "${!output}"/$patt;\n do\n if [ ! -e "$srcPath" ] && [ ! -L "$srcPath" ]; then\n continue;\n fi;\n if [ "$dstOut" = REMOVE ]; then\n echo "Removing $srcPath";\n rm -r "$srcPath";\n else\n local dstPath="$dstOut${srcPath#${!output}}";\n echo "Moving $srcPath to $dstPath";\n if [ -d "$dstPath" ] && [ -d "$srcPath" ]; then\n rmdir "$srcPath" --ignore-fail-on-non-empty;\n if [ -d "$srcPath" ]; then\n mv -t "$dstPath" "$srcPath"/*;\n rmdir "$srcPath";\n fi;\n else\n mkdir -p "$(readlink -m "$dstPath/..")";\n mv "$srcPath" "$dstPath";\n fi;\n fi;\n local srcParent="$(readlink -m "$srcPath/..")";\n if [ -n "$(find "$srcParent" -maxdepth 0 -type d -empty 2> /dev/null)" ]; then\n echo "Removing empty $srcParent/ and (possibly) its parents";\n rmdir -p --ignore-fail-on-non-empty "$srcParent" 2> /dev/null || true;\n fi;\n done;\n done\n}\nnixChattyLog ()\n{\n \n _nixLogWithLevel 5 "$*"\n}\nnixDebugLog ()\n{\n \n _nixLogWithLevel 6 "$*"\n}\nnixErrorLog ()\n{\n \n _nixLogWithLevel 0 "$*"\n}\nnixInfoLog ()\n{\n \n _nixLogWithLevel 3 "$*"\n}\nnixLog ()\n{\n \n [[ -z ${NIX_LOG_FD-} ]] && return 0;\n local callerName="${FUNCNAME[1]}";\n if [[ $callerName == "_callImplicitHook" ]]; then\n callerName="${hookName:?}";\n fi;\n printf "%s: %s\\n" "$callerName" "$*" >&"$NIX_LOG_FD"\n}\nnixNoticeLog ()\n{\n \n _nixLogWithLevel 2 "$*"\n}\nnixTalkativeLog ()\n{\n \n _nixLogWithLevel 4 "$*"\n}\nnixVomitLog ()\n{\n \n _nixLogWithLevel 7 "$*"\n}\nnixWarnLog ()\n{\n \n _nixLogWithLevel 1 "$*"\n}\nnoBrokenSymlinks ()\n{\n \n local -r output="${1:?}";\n local path;\n local pathParent;\n local symlinkTarget;\n local -i numDanglingSymlinks=0;\n local -i numReflexiveSymlinks=0;\n local -i numUnreadableSymlinks=0;\n if [[ ! -e $output ]]; then\n nixWarnLog "skipping non-existent output $output";\n return 0;\n fi;\n nixInfoLog "running on $output";\n while IFS= read -r -d \'\' path; do\n pathParent="$(dirname "$path")";\n if ! symlinkTarget="$(readlink "$path")"; then\n nixErrorLog "the symlink $path is unreadable";\n numUnreadableSymlinks+=1;\n continue;\n fi;\n if [[ $symlinkTarget == /* ]]; then\n nixInfoLog "symlink $path points to absolute target $symlinkTarget";\n else\n nixInfoLog "symlink $path points to relative target $symlinkTarget";\n symlinkTarget="$(realpath --no-symlinks --canonicalize-missing "$pathParent/$symlinkTarget")";\n fi;\n if [[ $symlinkTarget = "$TMPDIR"/* ]]; then\n nixErrorLog "the symlink $path points to $TMPDIR directory: $symlinkTarget";\n numDanglingSymlinks+=1;\n continue;\n fi;\n if [[ $symlinkTarget != "$NIX_STORE"/* ]]; then\n nixInfoLog "symlink $path points outside the Nix store; ignoring";\n continue;\n fi;\n if [[ $path == "$symlinkTarget" ]]; then\n nixErrorLog "the symlink $path is reflexive";\n numReflexiveSymlinks+=1;\n else\n if [[ ! -e $symlinkTarget ]]; then\n nixErrorLog "the symlink $path points to a missing target: $symlinkTarget";\n numDanglingSymlinks+=1;\n else\n nixDebugLog "the symlink $path is irreflexive and points to a target which exists";\n fi;\n fi;\n done < <(find "$output" -type l -print0);\n if ((numDanglingSymlinks > 0 || numReflexiveSymlinks > 0 || numUnreadableSymlinks > 0)); then\n nixErrorLog "found $numDanglingSymlinks dangling symlinks, $numReflexiveSymlinks reflexive symlinks and $numUnreadableSymlinks unreadable symlinks";\n exit 1;\n fi;\n return 0\n}\nnoBrokenSymlinksInAllOutputs ()\n{\n \n if [[ -z ${dontCheckForBrokenSymlinks-} ]]; then\n for output in $(getAllOutputNames);\n do\n noBrokenSymlinks "${!output}";\n done;\n fi\n}\npatchELF ()\n{\n \n local dir="$1";\n [ -e "$dir" ] || return 0;\n echo "shrinking RPATHs of ELF executables and libraries in $dir";\n local i;\n while IFS= read -r -d \'\' i; do\n if [[ "$i" =~ .build-id ]]; then\n continue;\n fi;\n if ! isELF "$i"; then\n continue;\n fi;\n echo "shrinking $i";\n patchelf --shrink-rpath "$i" || true;\n done < <(find "$dir" -type f -print0)\n}\npatchPhase ()\n{\n \n runHook prePatch;\n local -a patchesArray;\n concatTo patchesArray patches;\n local -a flagsArray;\n concatTo flagsArray patchFlags=-p1;\n for i in "${patchesArray[@]}";\n do\n echo "applying patch $i";\n local uncompress=cat;\n case "$i" in \n *.gz)\n uncompress="gzip -d"\n ;;\n *.bz2)\n uncompress="bzip2 -d"\n ;;\n *.xz)\n uncompress="xz -d"\n ;;\n *.lzma)\n uncompress="lzma -d"\n ;;\n esac;\n $uncompress < "$i" 2>&1 | patch "${flagsArray[@]}";\n done;\n runHook postPatch\n}\npatchShebangs ()\n{\n \n local pathName;\n local update=false;\n while [[ $# -gt 0 ]]; do\n case "$1" in \n --host)\n pathName=HOST_PATH;\n shift\n ;;\n --build)\n pathName=PATH;\n shift\n ;;\n --update)\n update=true;\n shift\n ;;\n --)\n shift;\n break\n ;;\n -* | --*)\n echo "Unknown option $1 supplied to patchShebangs" 1>&2;\n return 1\n ;;\n *)\n break\n ;;\n esac;\n done;\n echo "patching script interpreter paths in $@";\n local f;\n local oldPath;\n local newPath;\n local arg0;\n local args;\n local oldInterpreterLine;\n local newInterpreterLine;\n if [[ $# -eq 0 ]]; then\n echo "No arguments supplied to patchShebangs" 1>&2;\n return 0;\n fi;\n local f;\n while IFS= read -r -d \'\' f; do\n isScript "$f" || continue;\n read -r oldInterpreterLine < "$f" || [ "$oldInterpreterLine" ];\n read -r oldPath arg0 args <<< "${oldInterpreterLine:2}";\n if [[ -z "${pathName:-}" ]]; then\n if [[ -n $strictDeps && $f == "$NIX_STORE"* ]]; then\n pathName=HOST_PATH;\n else\n pathName=PATH;\n fi;\n fi;\n if [[ "$oldPath" == *"/bin/env" ]]; then\n if [[ $arg0 == "-S" ]]; then\n arg0=${args%% *};\n [[ "$args" == *" "* ]] && args=${args#* } || args=;\n newPath="$(PATH="${!pathName}" type -P "env" || true)";\n args="-S $(PATH="${!pathName}" type -P "$arg0" || true) $args";\n else\n if [[ $arg0 == "-"* || $arg0 == *"="* ]]; then\n echo "$f: unsupported interpreter directive \\"$oldInterpreterLine\\" (set dontPatchShebangs=1 and handle shebang patching yourself)" 1>&2;\n exit 1;\n else\n newPath="$(PATH="${!pathName}" type -P "$arg0" || true)";\n fi;\n fi;\n else\n if [[ -z $oldPath ]]; then\n oldPath="/bin/sh";\n fi;\n newPath="$(PATH="${!pathName}" type -P "$(basename "$oldPath")" || true)";\n args="$arg0 $args";\n fi;\n newInterpreterLine="$newPath $args";\n newInterpreterLine=${newInterpreterLine%${newInterpreterLine##*[![:space:]]}};\n if [[ -n "$oldPath" && ( "$update" == true || "${oldPath:0:${#NIX_STORE}}" != "$NIX_STORE" ) ]]; then\n if [[ -n "$newPath" && "$newPath" != "$oldPath" ]]; then\n echo "$f: interpreter directive changed from \\"$oldInterpreterLine\\" to \\"$newInterpreterLine\\"";\n escapedInterpreterLine=${newInterpreterLine//\\\\/\\\\\\\\};\n timestamp=$(stat --printf "%y" "$f");\n tmpFile=$(mktemp -t patchShebangs.XXXXXXXXXX);\n sed -e "1 s|.*|#\\!$escapedInterpreterLine|" "$f" > "$tmpFile";\n local restoreReadOnly;\n if [[ ! -w "$f" ]]; then\n chmod +w "$f";\n restoreReadOnly=true;\n fi;\n cat "$tmpFile" > "$f";\n rm "$tmpFile";\n if [[ -n "${restoreReadOnly:-}" ]]; then\n chmod -w "$f";\n fi;\n touch --date "$timestamp" "$f";\n fi;\n fi;\n done < <(find "$@" -type f -perm -0100 -print0)\n}\npatchShebangsAuto ()\n{\n \n if [[ -z "${dontPatchShebangs-}" && -e "$prefix" ]]; then\n if [[ "$output" != out && "$output" = "$outputDev" ]]; then\n patchShebangs --build "$prefix";\n else\n patchShebangs --host "$prefix";\n fi;\n fi\n}\npkgConfigWrapper_addPkgConfigPath ()\n{\n \n local role_post;\n getHostRoleEnvHook;\n addToSearchPath "PKG_CONFIG_PATH${role_post}" "$1/lib/pkgconfig";\n addToSearchPath "PKG_CONFIG_PATH${role_post}" "$1/share/pkgconfig"\n}\nprependToVar ()\n{\n \n local -n nameref="$1";\n local useArray type;\n if [ -n "$__structuredAttrs" ]; then\n useArray=true;\n else\n useArray=false;\n fi;\n if type=$(declare -p "$1" 2> /dev/null); then\n case "${type#* }" in \n -A*)\n echo "prependToVar(): ERROR: trying to use prependToVar on an associative array." 1>&2;\n return 1\n ;;\n -a*)\n useArray=true\n ;;\n *)\n useArray=false\n ;;\n esac;\n fi;\n shift;\n if $useArray; then\n nameref=("$@" ${nameref+"${nameref[@]}"});\n else\n nameref="$* ${nameref-}";\n fi\n}\nprintLines ()\n{\n \n (( "$#" > 0 )) || return 0;\n printf \'%s\\n\' "$@"\n}\nprintWords ()\n{\n \n (( "$#" > 0 )) || return 0;\n printf \'%s \' "$@"\n}\nrecordPropagatedDependencies ()\n{\n \n declare -ra flatVars=(depsBuildBuildPropagated propagatedNativeBuildInputs depsBuildTargetPropagated depsHostHostPropagated propagatedBuildInputs depsTargetTargetPropagated);\n declare -ra flatFiles=("${propagatedBuildDepFiles[@]}" "${propagatedHostDepFiles[@]}" "${propagatedTargetDepFiles[@]}");\n local propagatedInputsIndex;\n for propagatedInputsIndex in "${!flatVars[@]}";\n do\n local propagatedInputsSlice="${flatVars[$propagatedInputsIndex]}[@]";\n local propagatedInputsFile="${flatFiles[$propagatedInputsIndex]}";\n [[ -n "${!propagatedInputsSlice}" ]] || continue;\n mkdir -p "${!outputDev}/nix-support";\n printWords ${!propagatedInputsSlice} > "${!outputDev}/nix-support/$propagatedInputsFile";\n done\n}\nrunHook ()\n{\n \n local hookName="$1";\n shift;\n local hooksSlice="${hookName%Hook}Hooks[@]";\n local hook;\n for hook in "_callImplicitHook 0 $hookName" ${!hooksSlice+"${!hooksSlice}"};\n do\n _logHook "$hookName" "$hook" "$@";\n _eval "$hook" "$@";\n done;\n return 0\n}\nrunOneHook ()\n{\n \n local hookName="$1";\n shift;\n local hooksSlice="${hookName%Hook}Hooks[@]";\n local hook ret=1;\n for hook in "_callImplicitHook 1 $hookName" ${!hooksSlice+"${!hooksSlice}"};\n do\n _logHook "$hookName" "$hook" "$@";\n if _eval "$hook" "$@"; then\n ret=0;\n break;\n fi;\n done;\n return "$ret"\n}\nrunPhase ()\n{\n \n local curPhase="$*";\n if [[ "$curPhase" = unpackPhase && -n "${dontUnpack:-}" ]]; then\n return;\n fi;\n if [[ "$curPhase" = patchPhase && -n "${dontPatch:-}" ]]; then\n return;\n fi;\n if [[ "$curPhase" = configurePhase && -n "${dontConfigure:-}" ]]; then\n return;\n fi;\n if [[ "$curPhase" = buildPhase && -n "${dontBuild:-}" ]]; then\n return;\n fi;\n if [[ "$curPhase" = checkPhase && -z "${doCheck:-}" ]]; then\n return;\n fi;\n if [[ "$curPhase" = installPhase && -n "${dontInstall:-}" ]]; then\n return;\n fi;\n if [[ "$curPhase" = fixupPhase && -n "${dontFixup:-}" ]]; then\n return;\n fi;\n if [[ "$curPhase" = installCheckPhase && -z "${doInstallCheck:-}" ]]; then\n return;\n fi;\n if [[ "$curPhase" = distPhase && -z "${doDist:-}" ]]; then\n return;\n fi;\n showPhaseHeader "$curPhase";\n dumpVars;\n local startTime endTime;\n startTime=$(date +"%s");\n eval "${!curPhase:-$curPhase}";\n endTime=$(date +"%s");\n showPhaseFooter "$curPhase" "$startTime" "$endTime";\n if [ "$curPhase" = unpackPhase ]; then\n [ -n "${sourceRoot:-}" ] && chmod +x -- "${sourceRoot}";\n cd -- "${sourceRoot:-.}";\n fi\n}\nshowPhaseFooter ()\n{\n \n local phase="$1";\n local startTime="$2";\n local endTime="$3";\n local delta=$(( endTime - startTime ));\n (( delta < 30 )) && return;\n local H=$((delta/3600));\n local M=$((delta%3600/60));\n local S=$((delta%60));\n echo -n "$phase completed in ";\n (( H > 0 )) && echo -n "$H hours ";\n (( M > 0 )) && echo -n "$M minutes ";\n echo "$S seconds"\n}\nshowPhaseHeader ()\n{\n \n local phase="$1";\n echo "Running phase: $phase";\n if [[ -z ${NIX_LOG_FD-} ]]; then\n return;\n fi;\n printf "@nix { \\"action\\": \\"setPhase\\", \\"phase\\": \\"%s\\" }\\n" "$phase" >&"$NIX_LOG_FD"\n}\nstripDirs ()\n{\n \n local cmd="$1";\n local ranlibCmd="$2";\n local paths="$3";\n local stripFlags="$4";\n local excludeFlags=();\n local pathsNew=;\n [ -z "$cmd" ] && echo "stripDirs: Strip command is empty" 1>&2 && exit 1;\n [ -z "$ranlibCmd" ] && echo "stripDirs: Ranlib command is empty" 1>&2 && exit 1;\n local pattern;\n if [ -n "${stripExclude:-}" ]; then\n for pattern in "${stripExclude[@]}";\n do\n excludeFlags+=(-a \'!\' \'(\' -name "$pattern" -o -wholename "$prefix/$pattern" \')\');\n done;\n fi;\n local p;\n for p in ${paths};\n do\n if [ -e "$prefix/$p" ]; then\n pathsNew="${pathsNew} $prefix/$p";\n fi;\n done;\n paths=${pathsNew};\n if [ -n "${paths}" ]; then\n echo "stripping (with command $cmd and flags $stripFlags) in $paths";\n local striperr;\n striperr="$(mktemp --tmpdir="$TMPDIR" \'striperr.XXXXXX\')";\n find $paths -type f "${excludeFlags[@]}" -a \'!\' -path "$prefix/lib/debug/*" -printf \'%D-%i,%p\\0\' | sort -t, -k1,1 -u -z | cut -d, -f2- -z | xargs -r -0 -n1 -P "$NIX_BUILD_CORES" -- $cmd $stripFlags 2> "$striperr" || exit_code=$?;\n [[ "$exit_code" = 123 || -z "$exit_code" ]] || ( cat "$striperr" 1>&2 && exit 1 );\n rm "$striperr";\n find $paths -name \'*.a\' -type f -exec $ranlibCmd \'{}\' \\; 2> /dev/null;\n fi\n}\nstripHash ()\n{\n \n local strippedName casematchOpt=0;\n strippedName="$(basename -- "$1")";\n shopt -q nocasematch && casematchOpt=1;\n shopt -u nocasematch;\n if [[ "$strippedName" =~ ^[a-z0-9]{32}- ]]; then\n echo "${strippedName:33}";\n else\n echo "$strippedName";\n fi;\n if (( casematchOpt )); then\n shopt -s nocasematch;\n fi\n}\nsubstitute ()\n{\n \n local input="$1";\n local output="$2";\n shift 2;\n if [ ! -f "$input" ]; then\n echo "substitute(): ERROR: file \'$input\' does not exist" 1>&2;\n return 1;\n fi;\n local content;\n consumeEntire content < "$input";\n if [ -e "$output" ]; then\n chmod +w "$output";\n fi;\n substituteStream content "file \'$input\'" "$@" > "$output"\n}\nsubstituteAll ()\n{\n \n local input="$1";\n local output="$2";\n local -a args=();\n _allFlags;\n substitute "$input" "$output" "${args[@]}"\n}\nsubstituteAllInPlace ()\n{\n \n local fileName="$1";\n shift;\n substituteAll "$fileName" "$fileName" "$@"\n}\nsubstituteAllStream ()\n{\n \n local -a args=();\n _allFlags;\n substituteStream "$1" "$2" "${args[@]}"\n}\nsubstituteInPlace ()\n{\n \n local -a fileNames=();\n for arg in "$@";\n do\n if [[ "$arg" = "--"* ]]; then\n break;\n fi;\n fileNames+=("$arg");\n shift;\n done;\n if ! [[ "${#fileNames[@]}" -gt 0 ]]; then\n echo "substituteInPlace called without any files to operate on (files must come before options!)" 1>&2;\n return 1;\n fi;\n for file in "${fileNames[@]}";\n do\n substitute "$file" "$file" "$@";\n done\n}\nsubstituteStream ()\n{\n \n local var=$1;\n local description=$2;\n shift 2;\n while (( "$#" )); do\n local replace_mode="$1";\n case "$1" in \n --replace)\n if ! "$_substituteStream_has_warned_replace_deprecation"; then\n echo "substituteStream() in derivation $name: WARNING: \'--replace\' is deprecated, use --replace-{fail,warn,quiet}. ($description)" 1>&2;\n _substituteStream_has_warned_replace_deprecation=true;\n fi;\n replace_mode=\'--replace-warn\'\n ;&\n --replace-quiet | --replace-warn | --replace-fail)\n pattern="$2";\n replacement="$3";\n shift 3;\n if ! [[ "${!var}" == *"$pattern"* ]]; then\n if [ "$replace_mode" == --replace-warn ]; then\n printf "substituteStream() in derivation $name: WARNING: pattern %q doesn\'t match anything in %s\\n" "$pattern" "$description" 1>&2;\n else\n if [ "$replace_mode" == --replace-fail ]; then\n printf "substituteStream() in derivation $name: ERROR: pattern %q doesn\'t match anything in %s\\n" "$pattern" "$description" 1>&2;\n return 1;\n fi;\n fi;\n fi;\n eval "$var"\'=${\'"$var"\'//"$pattern"/"$replacement"}\'\n ;;\n --subst-var)\n local varName="$2";\n shift 2;\n if ! [[ "$varName" =~ ^[a-zA-Z_][a-zA-Z0-9_]*$ ]]; then\n echo "substituteStream() in derivation $name: ERROR: substitution variables must be valid Bash names, \\"$varName\\" isn\'t." 1>&2;\n return 1;\n fi;\n if [ -z ${!varName+x} ]; then\n echo "substituteStream() in derivation $name: ERROR: variable \\$$varName is unset" 1>&2;\n return 1;\n fi;\n pattern="@$varName@";\n replacement="${!varName}";\n eval "$var"\'=${\'"$var"\'//"$pattern"/"$replacement"}\'\n ;;\n --subst-var-by)\n pattern="@$2@";\n replacement="$3";\n eval "$var"\'=${\'"$var"\'//"$pattern"/"$replacement"}\';\n shift 3\n ;;\n *)\n echo "substituteStream() in derivation $name: ERROR: Invalid command line argument: $1" 1>&2;\n return 1\n ;;\n esac;\n done;\n printf "%s" "${!var}"\n}\nsysconfigdataHook ()\n{\n \n if [ "$1" = \'/nix/store/3lll9y925zz9393sa59h653xik66srjb-python3-3.13.9\' ]; then\n export _PYTHON_HOST_PLATFORM=\'linux-x86_64\';\n export _PYTHON_SYSCONFIGDATA_NAME=\'_sysconfigdata__linux_x86_64-linux-gnu\';\n fi\n}\ntoPythonPath ()\n{\n \n local paths="$1";\n local result=;\n for i in $paths;\n do\n p="$i/lib/python3.13/site-packages";\n result="${result}${result:+:}$p";\n done;\n echo $result\n}\nunpackFile ()\n{\n \n curSrc="$1";\n echo "unpacking source archive $curSrc";\n if ! runOneHook unpackCmd "$curSrc"; then\n echo "do not know how to unpack source archive $curSrc";\n exit 1;\n fi\n}\nunpackPhase ()\n{\n \n runHook preUnpack;\n if [ -z "${srcs:-}" ]; then\n if [ -z "${src:-}" ]; then\n echo \'variable $src or $srcs should point to the source\';\n exit 1;\n fi;\n srcs="$src";\n fi;\n local -a srcsArray;\n concatTo srcsArray srcs;\n local dirsBefore="";\n for i in *;\n do\n if [ -d "$i" ]; then\n dirsBefore="$dirsBefore $i ";\n fi;\n done;\n for i in "${srcsArray[@]}";\n do\n unpackFile "$i";\n done;\n : "${sourceRoot=}";\n if [ -n "${setSourceRoot:-}" ]; then\n runOneHook setSourceRoot;\n else\n if [ -z "$sourceRoot" ]; then\n for i in *;\n do\n if [ -d "$i" ]; then\n case $dirsBefore in \n *\\ $i\\ *)\n\n ;;\n *)\n if [ -n "$sourceRoot" ]; then\n echo "unpacker produced multiple directories";\n exit 1;\n fi;\n sourceRoot="$i"\n ;;\n esac;\n fi;\n done;\n fi;\n fi;\n if [ -z "$sourceRoot" ]; then\n echo "unpacker appears to have produced no directories";\n exit 1;\n fi;\n echo "source root is $sourceRoot";\n if [ "${dontMakeSourcesWritable:-0}" != 1 ]; then\n chmod -R u+w -- "$sourceRoot";\n fi;\n runHook postUnpack\n}\nupdateAutotoolsGnuConfigScriptsPhase ()\n{\n \n if [ -n "${dontUpdateAutotoolsGnuConfigScripts-}" ]; then\n return;\n fi;\n for script in config.sub config.guess;\n do\n for f in $(find . -type f -name "$script");\n do\n echo "Updating Autotools / GNU config script to a newer upstream version: $f";\n cp -f "/nix/store/1kzclixw4c13wxin0b6cij1zykvwp0wb-gnu-config-2024-01-01/$script" "$f";\n done;\n done\n}\nupdateSourceDateEpoch ()\n{\n \n local path="$1";\n [[ $path == -* ]] && path="./$path";\n local -a res=($(find "$path" -type f -not -newer "$NIX_BUILD_TOP/.." -printf \'%T@ "%p"\\0\' | sort -n --zero-terminated | tail -n1 --zero-terminated | head -c -1));\n local time="${res[0]//\\.[0-9]*/}";\n local newestFile="${res[1]}";\n if [ "${time:-0}" -gt "$SOURCE_DATE_EPOCH" ]; then\n echo "setting SOURCE_DATE_EPOCH to timestamp $time of file $newestFile";\n export SOURCE_DATE_EPOCH="$time";\n local now="$(date +%s)";\n if [ "$time" -gt $((now - 60)) ]; then\n echo "warning: file $newestFile may be generated; SOURCE_DATE_EPOCH may be non-deterministic";\n fi;\n fi\n}\nPATH="$PATH${nix_saved_PATH:+:$nix_saved_PATH}"\nXDG_DATA_DIRS="$XDG_DATA_DIRS${nix_saved_XDG_DATA_DIRS:+:$nix_saved_XDG_DATA_DIRS}"\nexport NIX_BUILD_TOP="$(mktemp -d -t nix-shell.XXXXXX)"\nexport TMP="$NIX_BUILD_TOP"\nexport TMPDIR="$NIX_BUILD_TOP"\nexport TEMP="$NIX_BUILD_TOP"\nexport TEMPDIR="$NIX_BUILD_TOP"\neval "${shellHook:-}"'
++ [[ ! '' =~ (^|:)/home/ender/Documents/Projects/dr-ctf(:|$) ]]
++ export 'DIRENV_ACTIVE=/home/ender/Documents/Projects/dr-ctf:'\'''\'''
++ DIRENV_ACTIVE='/home/ender/Documents/Projects/dr-ctf:'\'''\'''
++ local old_nix_build_top=__UNSET__
++ local old_tmp=__UNSET__
++ local old_tmpdir=__UNSET__
++ local old_temp=__UNSET__
++ local old_tempdir=__UNSET__
++ local old_xdg_data_dirs=/usr/share/gnome:/usr/share/cinnamon:/usr/share/gnome:/home/ender/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share:/home/ender/.nix-profile/share:/nix/var/nix/profiles/default/share:/home/ender/.nix-profile/share:/nix/var/nix/profiles/default/share
++ eval $'Checking secrets in dr-ctf using onepassword (profile: development)...\n\n✓ POSTGRES_URL - Database connection string\n✓ defaults - No description\n✓ POSTGRES_PASSWORD - Database password\n✓ POSTGRES_USER - Database user\n\nSummary: 4 found, 0 missing\nunset shellHook\nPATH=${PATH:-}\nnix_saved_PATH="$PATH"\nXDG_DATA_DIRS=${XDG_DATA_DIRS:-}\nnix_saved_XDG_DATA_DIRS="$XDG_DATA_DIRS"\nAR=\'ar\'\nexport AR\nAS=\'as\'\nexport AS\nBASH=\'/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/bash\'\nCC=\'gcc\'\nexport CC\nCONFIG_SHELL=\'/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/bash\'\nexport CONFIG_SHELL\nCXX=\'g++\'\nexport CXX\nDETERMINISTIC_BUILD=\'1\'\nexport DETERMINISTIC_BUILD\nDEVENV_DOTFILE=\'/home/ender/Documents/Projects/dr-ctf/.devenv\'\nexport DEVENV_DOTFILE\nDEVENV_PROFILE=\'/nix/store/bvm5wn1c46bxfgzylrm3khh2sp87vnsa-devenv-profile\'\nexport DEVENV_PROFILE\nDEVENV_ROOT=\'/home/ender/Documents/Projects/dr-ctf\'\nexport DEVENV_ROOT\nDEVENV_RUNTIME=\'/run/user/1000/devenv-405663c\'\nexport DEVENV_RUNTIME\nDEVENV_STATE=\'/home/ender/Documents/Projects/dr-ctf/.devenv/state\'\nexport DEVENV_STATE\nDEVENV_TASKS=\'[{"after":[],"before":[],"command":"/nix/store/yhwb3x398329il20dj3mprzhsql1jg9k-devenv-enterShell","cwd":null,"description":"Runs when entering the shell","exec_if_modified":[],"input":{},"name":"devenv:enterShell","show_output":false,"status":null,"type":"oneshot"},{"after":[],"before":[],"command":null,"cwd":null,"description":"Runs when entering the test environment","exec_if_modified":[],"input":{},"name":"devenv:enterTest","show_output":false,"status":null,"type":"oneshot"},{"after":[],"before":[],"command":null,"cwd":null,"description":"","exec_if_modified":[],"input":{},"name":"devenv:files","show_output":false,"status":null,"type":"oneshot"},{"after":[],"before":["devenv:enterShell"],"command":"/nix/store/qjsk2mi9da3rkbjn3ffsyrzw33c48a90-devenv-git-hooks-install","cwd":null,"description":"","exec_if_modified":[],"input":{},"name":"devenv:git-hooks:install","show_output":false,"status":null,"type":"oneshot"},{"after":[],"before":["devenv:enterTest"],"command":"/nix/store/ywfhq0r3lp4xg5j43vy7xmf5hxja9l6l-devenv-git-hooks-run","cwd":null,"description":"","exec_if_modified":[],"input":{},"name":"devenv:git-hooks:run","show_output":false,"status":null,"type":"oneshot"}]\'\nexport DEVENV_TASKS\nDEVENV_TASK_FILE=\'/nix/store/kj598ws11izad7bv9qmsxpkpd7hq3krp-tasks.json\'\nexport DEVENV_TASK_FILE\nGIT_EXTERNAL_DIFF=\'difft\'\nexport GIT_EXTERNAL_DIFF\nHOSTTYPE=\'x86_64\'\nHOST_PATH=\'/nix/store/imad8dvhp77h0pjbckp6wvmnyhp8dpgg-coreutils-9.8/bin:/nix/store/av4xw9f56xlx5pgv862wabfif6m1yc0a-findutils-4.10.0/bin:/nix/store/20axvl7mgj15m23jgmnq97hx37fgz7bk-diffutils-3.12/bin:/nix/store/drc7kang929jaza6cy9zdx10s4gw1z5p-gnused-4.9/bin:/nix/store/x3zjxxz8m4ki88axp0gn8q8m6bldybba-gnugrep-3.12/bin:/nix/store/y2wdhdcrffp9hnkzk06d178hq3g98jay-gawk-5.3.2/bin:/nix/store/yi3c5karhx764ham5rfwk7iynr8mjf6q-gnutar-1.35/bin:/nix/store/d471xb7sfbah076s8rx02i68zpxc2r5n-gzip-1.14/bin:/nix/store/qm9rxn2sc1vrz91i443rr6f0vxm0zd82-bzip2-1.0.8-bin/bin:/nix/store/3fmzbq9y4m9nk235il7scmvwn8j9zy3p-gnumake-4.4.1/bin:/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin:/nix/store/qrwznp1ikdf0qw05wia2haiwi32ik5n0-patch-2.8/bin:/nix/store/v0rfdwhg6w6i0yb6dbry4srk6pnj3xp0-xz-5.8.1-bin/bin:/nix/store/paj6a1lpzp57hz1djm5bs86b7ci221r0-file-5.45/bin\'\nexport HOST_PATH\nIFS=\' \t\n\'\nIN_NIX_SHELL=\'impure\'\nexport IN_NIX_SHELL\nLD=\'ld\'\nexport LD\nLINENO=\'76\'\nMACHTYPE=\'x86_64-pc-linux-gnu\'\nNIX_BINTOOLS=\'/nix/store/xwydcyvlsa3cvssk0y5llgdhlhjvmqdm-binutils-wrapper-2.44\'\nexport NIX_BINTOOLS\nNIX_BINTOOLS_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu=\'1\'\nexport NIX_BINTOOLS_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu\nNIX_BUILD_CORES=\'16\'\nexport NIX_BUILD_CORES\nNIX_CC=\'/nix/store/vr15iyyykg9zai6fpgvhcgyw7gckl78w-gcc-wrapper-14.3.0\'\nexport NIX_CC\nNIX_CC_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu=\'1\'\nexport NIX_CC_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu\nNIX_CFLAGS_COMPILE=\' -frandom-seed=3zw2ajqsr4 -isystem /nix/store/bpq0hkckybfnxblhnqavv9agxg4wgja2-nodejs-slim-22.21.1-dev/include -isystem /nix/store/jwkciwykf24vgb1gdlbh94fq5fm9xii5-nodejs-slim-22.21.1/include -isystem /nix/store/jlv0a6iyh8vb7pfyhjj93xy245xlmgh5-gnumake-4.4.1/include -isystem /nix/store/97033wd7ak5am97yk1d2y85aai3yz4wh-gdb-16.3/include -isystem /nix/store/zp52rrbj0aca8sq5wg5qjmjvrv636sc3-valgrind-3.26.0-dev/include -isystem /nix/store/na40apkxgv855bc8qpbi6gf0yvdzvnij-sqlite-3.50.4-dev/include -isystem /nix/store/3lll9y925zz9393sa59h653xik66srjb-python3-3.13.9/include -isystem /nix/store/bpq0hkckybfnxblhnqavv9agxg4wgja2-nodejs-slim-22.21.1-dev/include -isystem /nix/store/jwkciwykf24vgb1gdlbh94fq5fm9xii5-nodejs-slim-22.21.1/include -isystem /nix/store/jlv0a6iyh8vb7pfyhjj93xy245xlmgh5-gnumake-4.4.1/include -isystem /nix/store/97033wd7ak5am97yk1d2y85aai3yz4wh-gdb-16.3/include -isystem /nix/store/zp52rrbj0aca8sq5wg5qjmjvrv636sc3-valgrind-3.26.0-dev/include -isystem /nix/store/na40apkxgv855bc8qpbi6gf0yvdzvnij-sqlite-3.50.4-dev/include -isystem /nix/store/3lll9y925zz9393sa59h653xik66srjb-python3-3.13.9/include\'\nexport NIX_CFLAGS_COMPILE\nNIX_ENFORCE_NO_NATIVE=\'1\'\nexport NIX_ENFORCE_NO_NATIVE\nNIX_HARDENING_ENABLE=\'bindnow format fortify fortify3 libcxxhardeningextensive libcxxhardeningfast pic relro stackclashprotection stackprotector strictoverflow zerocallusedregs\'\nexport NIX_HARDENING_ENABLE\nNIX_LDFLAGS=\'-rpath /home/ender/Documents/Projects/dr-ctf/outputs/out/lib -L/nix/store/97033wd7ak5am97yk1d2y85aai3yz4wh-gdb-16.3/lib -L/nix/store/l30c488dws7z5mazacqsmj25izb9jlp2-sqlite-3.50.4/lib -L/nix/store/3lll9y925zz9393sa59h653xik66srjb-python3-3.13.9/lib -L/nix/store/97033wd7ak5am97yk1d2y85aai3yz4wh-gdb-16.3/lib -L/nix/store/l30c488dws7z5mazacqsmj25izb9jlp2-sqlite-3.50.4/lib -L/nix/store/3lll9y925zz9393sa59h653xik66srjb-python3-3.13.9/lib\'\nexport NIX_LDFLAGS\nNIX_NO_SELF_RPATH=\'1\'\nNIX_PKG_CONFIG_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu=\'1\'\nexport NIX_PKG_CONFIG_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu\nNIX_STORE=\'/nix/store\'\nexport NIX_STORE\nNM=\'nm\'\nexport NM\nNODE_PATH=\'/nix/store/y6wn9g8nbrazkn4r7daik49c77fs513y-typescript-5.9.3/lib/node_modules:/nix/store/3dpq47cj4ji5aq00vmv4mg45vcjamgcw-typescript-language-server-5.1.3/lib/node_modules:/nix/store/jwkciwykf24vgb1gdlbh94fq5fm9xii5-nodejs-slim-22.21.1/lib/node_modules\'\nexport NODE_PATH\nOBJCOPY=\'objcopy\'\nexport OBJCOPY\nOBJDUMP=\'objdump\'\nexport OBJDUMP\nOLDPWD=\'\'\nexport OLDPWD\nOPTERR=\'1\'\nOSTYPE=\'linux-gnu\'\nPATH=\'/nix/store/vw9d8v9r0kp44lmizysj7idmqyf9747l-process-compose-1.78.0/bin:/nix/store/64sazg99p78hfl7k8b0xn8ci1fcz6gpf-difftastic-0.67.0/bin:/nix/store/y6wn9g8nbrazkn4r7daik49c77fs513y-typescript-5.9.3/bin:/nix/store/3dpq47cj4ji5aq00vmv4mg45vcjamgcw-typescript-language-server-5.1.3/bin:/nix/store/nh2jhgkgrrdl31pzc46l8k1za4iqfv1z-rust-toolchain-nixpkgs/bin:/nix/store/bpq0hkckybfnxblhnqavv9agxg4wgja2-nodejs-slim-22.21.1-dev/bin:/nix/store/jwkciwykf24vgb1gdlbh94fq5fm9xii5-nodejs-slim-22.21.1/bin:/nix/store/a9gabjjwk0617csjlgm5f6gz5fv9jq11-bun-1.3.2/bin:/nix/store/v6bx0d4690d8bklp18wvjdk566873sgs-clang-tools-21.1.2/bin:/nix/store/jlv0a6iyh8vb7pfyhjj93xy245xlmgh5-gnumake-4.4.1/bin:/nix/store/fwmjw5cks4v1gxpr9wgbpzwygcfcmnfp-ccls-0.20241108/bin:/nix/store/8vdiwpbh0g4avsd6x5v4s0di32vcl3dp-pkg-config-wrapper-0.29.2/bin:/nix/store/97033wd7ak5am97yk1d2y85aai3yz4wh-gdb-16.3/bin:/nix/store/fp56mavabdv7v67y5j3b0ga3v6ygpyha-valgrind-3.26.0/bin:/nix/store/s3c28nd52vahmlcd9scfhpaw18wxbdgg-dev/bin:/nix/store/bjb3hx0r5yqdlkpk77l5ajsb698c55n2-du/bin:/nix/store/4qhdhmi7pzgad0zfd7c5lsg235mbf9hv-git-2.51.2/bin:/nix/store/z6al79i0bkp2phc0qic774i0vg44npp3-loco-0.16.3/bin:/nix/store/awm8pnzpcj63lb26asvjm24j4kwg4d76-sqlite-3.50.4-bin/bin:/nix/store/19xz3q0sv06r0yrar8srmxs8pfmrg79m-secretspec-0.4.0/bin:/nix/store/sac7s2ziii88sfgy4d6jnxndsxd1nh83-sea-orm-cli-1.1.17/bin:/nix/store/jc4c4x7dv80i794ki30ymj1mrzdxaccd-cargo-generate-0.23.5/bin:/nix/store/965w3rby7xl49kbfqyyr5m10hlyh3f28-pre-commit-bin/bin:/nix/store/pnf9h7rd3nrxx5phrwbnhb5yhkiavj6p-python3.13-pre-commit-hooks-6.0.0/bin:/nix/store/3lll9y925zz9393sa59h653xik66srjb-python3-3.13.9/bin:/nix/store/rckafkh916d8hd4642n2hzywa7sf1npp-deadnix-1.3.1/bin:/nix/store/7fc4qz8ny0s2m2n5gsgsqb3yn2iffk4v-shellcheck-0.11.0-bin/bin:/nix/store/8q2582rd22xp8jlcg1xn1w219q5lx5xa-patchelf-0.15.2/bin:/nix/store/vr15iyyykg9zai6fpgvhcgyw7gckl78w-gcc-wrapper-14.3.0/bin:/nix/store/kzq78n13l8w24jn8bx4djj79k5j717f1-gcc-14.3.0/bin:/nix/store/q6wgv06q39bfhx2xl8ysc05wi6m2zdss-glibc-2.40-66-bin/bin:/nix/store/imad8dvhp77h0pjbckp6wvmnyhp8dpgg-coreutils-9.8/bin:/nix/store/xwydcyvlsa3cvssk0y5llgdhlhjvmqdm-binutils-wrapper-2.44/bin:/nix/store/dc9vaz50jg7mibk9xvqw5dqv89cxzla3-binutils-2.44/bin:/nix/store/imad8dvhp77h0pjbckp6wvmnyhp8dpgg-coreutils-9.8/bin:/nix/store/av4xw9f56xlx5pgv862wabfif6m1yc0a-findutils-4.10.0/bin:/nix/store/20axvl7mgj15m23jgmnq97hx37fgz7bk-diffutils-3.12/bin:/nix/store/drc7kang929jaza6cy9zdx10s4gw1z5p-gnused-4.9/bin:/nix/store/x3zjxxz8m4ki88axp0gn8q8m6bldybba-gnugrep-3.12/bin:/nix/store/y2wdhdcrffp9hnkzk06d178hq3g98jay-gawk-5.3.2/bin:/nix/store/yi3c5karhx764ham5rfwk7iynr8mjf6q-gnutar-1.35/bin:/nix/store/d471xb7sfbah076s8rx02i68zpxc2r5n-gzip-1.14/bin:/nix/store/qm9rxn2sc1vrz91i443rr6f0vxm0zd82-bzip2-1.0.8-bin/bin:/nix/store/3fmzbq9y4m9nk235il7scmvwn8j9zy3p-gnumake-4.4.1/bin:/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin:/nix/store/qrwznp1ikdf0qw05wia2haiwi32ik5n0-patch-2.8/bin:/nix/store/v0rfdwhg6w6i0yb6dbry4srk6pnj3xp0-xz-5.8.1-bin/bin:/nix/store/paj6a1lpzp57hz1djm5bs86b7ci221r0-file-5.45/bin\'\nexport PATH\nPC_CONFIG_FILES=\'/nix/store/ysqava3g5mbphf5fvlrm626f3fzfsvlp-process-compose.yaml\'\nexport PC_CONFIG_FILES\nPC_SOCKET_PATH=\'/run/user/1000/devenv-405663c/pc.sock\'\nexport PC_SOCKET_PATH\nPKG_CONFIG=\'pkg-config\'\nexport PKG_CONFIG\nPKG_CONFIG_PATH=\'/nix/store/zp52rrbj0aca8sq5wg5qjmjvrv636sc3-valgrind-3.26.0-dev/lib/pkgconfig:/nix/store/na40apkxgv855bc8qpbi6gf0yvdzvnij-sqlite-3.50.4-dev/lib/pkgconfig:/nix/store/3lll9y925zz9393sa59h653xik66srjb-python3-3.13.9/lib/pkgconfig\'\nexport PKG_CONFIG_PATH\nPS4=\'+ \'\nPYTHONHASHSEED=\'0\'\nexport PYTHONHASHSEED\nPYTHONNOUSERSITE=\'1\'\nexport PYTHONNOUSERSITE\nPYTHONPATH=\'/nix/store/pnf9h7rd3nrxx5phrwbnhb5yhkiavj6p-python3.13-pre-commit-hooks-6.0.0/lib/python3.13/site-packages:/nix/store/prpbn02py0x7xgb4fk1xmgzghix6wnxb-python3.13-ruamel-yaml-0.18.14/lib/python3.13/site-packages:/nix/store/fxbffn4g9z7l4livi6wm48yb162bc1ga-python3.13-ruamel-base-1.0.0/lib/python3.13/site-packages:/nix/store/3lll9y925zz9393sa59h653xik66srjb-python3-3.13.9/lib/python3.13/site-packages:/nix/store/zs5kbqpr3dj8rb4szgrp1l3pnl03la6d-python3.13-ruamel-yaml-clib-0.2.12/lib/python3.13/site-packages\'\nexport PYTHONPATH\nRANLIB=\'ranlib\'\nexport RANLIB\nREADELF=\'readelf\'\nexport READELF\nRUST_SRC_PATH=\'/nix/store/x4lzvdhcz439jm1clb41hnx3xa2cqvli-rust-lib-src\'\nexport RUST_SRC_PATH\nSHELL=\'/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/bash\'\nexport SHELL\nSIZE=\'size\'\nexport SIZE\nSOURCE_DATE_EPOCH=\'315532800\'\nexport SOURCE_DATE_EPOCH\nSTRINGS=\'strings\'\nexport STRINGS\nSTRIP=\'strip\'\nexport STRIP\nXDG_DATA_DIRS=\'/nix/store/vw9d8v9r0kp44lmizysj7idmqyf9747l-process-compose-1.78.0/share:/nix/store/nh2jhgkgrrdl31pzc46l8k1za4iqfv1z-rust-toolchain-nixpkgs/share:/nix/store/jwkciwykf24vgb1gdlbh94fq5fm9xii5-nodejs-slim-22.21.1/share:/nix/store/a9gabjjwk0617csjlgm5f6gz5fv9jq11-bun-1.3.2/share:/nix/store/jlv0a6iyh8vb7pfyhjj93xy245xlmgh5-gnumake-4.4.1/share:/nix/store/8vdiwpbh0g4avsd6x5v4s0di32vcl3dp-pkg-config-wrapper-0.29.2/share:/nix/store/97033wd7ak5am97yk1d2y85aai3yz4wh-gdb-16.3/share:/nix/store/4qhdhmi7pzgad0zfd7c5lsg235mbf9hv-git-2.51.2/share:/nix/store/3lll9y925zz9393sa59h653xik66srjb-python3-3.13.9/share:/nix/store/8q2582rd22xp8jlcg1xn1w219q5lx5xa-patchelf-0.15.2/share\'\nexport XDG_DATA_DIRS\n_PYTHON_HOST_PLATFORM=\'linux-x86_64\'\nexport _PYTHON_HOST_PLATFORM\n_PYTHON_SYSCONFIGDATA_NAME=\'_sysconfigdata__linux_x86_64-linux-gnu\'\nexport _PYTHON_SYSCONFIGDATA_NAME\n__structuredAttrs=\'\'\nexport __structuredAttrs\n_substituteStream_has_warned_replace_deprecation=\'false\'\nbuildInputs=\'\'\nexport buildInputs\nbuildPhase=\'{ echo "------------------------------------------------------------";\n echo " WARNING: the existence of this path is not guaranteed.";\n echo " It is an internal implementation detail for pkgs.mkShell.";\n echo "------------------------------------------------------------";\n echo;\n # Record all build inputs as runtime dependencies\n export;\n} >> "$out"\n\'\nexport buildPhase\nbuilder=\'/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/bash\'\nexport builder\ncmakeFlags=\'\'\nexport cmakeFlags\nconfigureFlags=\'\'\nexport configureFlags\ndefaultBuildInputs=\'\'\ndefaultNativeBuildInputs=\'/nix/store/8q2582rd22xp8jlcg1xn1w219q5lx5xa-patchelf-0.15.2 /nix/store/l2xk4ac1wx9c95kpp8vymv9r9yn57fvh-update-autotools-gnu-config-scripts-hook /nix/store/0y5xmdb7qfvimjwbq7ibg1xdgkgjwqng-no-broken-symlinks.sh /nix/store/cv1d7p48379km6a85h4zp6kr86brh32q-audit-tmpdir.sh /nix/store/85clx3b0xkdf58jn161iy80y5223ilbi-compress-man-pages.sh /nix/store/wgrbkkaldkrlrni33ccvm3b6vbxzb656-make-symlinks-relative.sh /nix/store/5yzw0vhkyszf2d179m0qfkgxmp5wjjx4-move-docs.sh /nix/store/fyaryjvghbkpfnsyw97hb3lyb37s1pd6-move-lib64.sh /nix/store/kd4xwxjpjxi71jkm6ka0np72if9rm3y0-move-sbin.sh /nix/store/pag6l61paj1dc9sv15l7bm5c17xn5kyk-move-systemd-user-units.sh /nix/store/cmzya9irvxzlkh7lfy6i82gbp0saxqj3-multiple-outputs.sh /nix/store/x8c40nfigps493a07sdr2pm5s9j1cdc0-patch-shebangs.sh /nix/store/cickvswrvann041nqxb0rxilc46svw1n-prune-libtool-files.sh /nix/store/xyff06pkhki3qy1ls77w10s0v79c9il0-reproducible-builds.sh /nix/store/z7k98578dfzi6l3hsvbivzm7hfqlk0zc-set-source-date-epoch-to-latest.sh /nix/store/pilsssjjdxvdphlg2h19p0bfx5q0jzkn-strip.sh /nix/store/vr15iyyykg9zai6fpgvhcgyw7gckl78w-gcc-wrapper-14.3.0\'\ndepsBuildBuild=\'\'\nexport depsBuildBuild\ndepsBuildBuildPropagated=\'\'\nexport depsBuildBuildPropagated\ndepsBuildTarget=\'\'\nexport depsBuildTarget\ndepsBuildTargetPropagated=\'\'\nexport depsBuildTargetPropagated\ndepsHostHost=\'\'\nexport depsHostHost\ndepsHostHostPropagated=\'\'\nexport depsHostHostPropagated\ndepsTargetTarget=\'\'\nexport depsTargetTarget\ndepsTargetTargetPropagated=\'\'\nexport depsTargetTargetPropagated\ndoCheck=\'\'\nexport doCheck\ndoInstallCheck=\'\'\nexport doInstallCheck\ndontAddDisableDepTrack=\'1\'\nexport dontAddDisableDepTrack\ndeclare -a envBuildBuildHooks=(\'addNodePath\' \'addPythonPath\' \'sysconfigdataHook\' )\ndeclare -a envBuildHostHooks=(\'addNodePath\' \'addPythonPath\' \'sysconfigdataHook\' )\ndeclare -a envBuildTargetHooks=(\'addNodePath\' \'addPythonPath\' \'sysconfigdataHook\' )\ndeclare -a envHostHostHooks=(\'pkgConfigWrapper_addPkgConfigPath\' \'ccWrapper_addCVars\' \'bintoolsWrapper_addLDVars\' )\ndeclare -a envHostTargetHooks=(\'pkgConfigWrapper_addPkgConfigPath\' \'ccWrapper_addCVars\' \'bintoolsWrapper_addLDVars\' )\ndeclare -a envTargetTargetHooks=()\ndeclare -a fixupOutputHooks=(\'if [ -z "${dontPatchELF-}" ]; then patchELF "$prefix"; fi\' \'if [[ -z "${noAuditTmpdir-}" && -e "$prefix" ]]; then auditTmpdir "$prefix"; fi\' \'if [ -z "${dontGzipMan-}" ]; then compressManPages "$prefix"; fi\' \'_moveLib64\' \'_moveSbin\' \'_moveSystemdUserUnits\' \'patchShebangsAuto\' \'_pruneLibtoolFiles\' \'_doStrip\' )\nhardeningDisable=\'\'\nexport hardeningDisable\ninitialPath=\'/nix/store/imad8dvhp77h0pjbckp6wvmnyhp8dpgg-coreutils-9.8 /nix/store/av4xw9f56xlx5pgv862wabfif6m1yc0a-findutils-4.10.0 /nix/store/20axvl7mgj15m23jgmnq97hx37fgz7bk-diffutils-3.12 /nix/store/drc7kang929jaza6cy9zdx10s4gw1z5p-gnused-4.9 /nix/store/x3zjxxz8m4ki88axp0gn8q8m6bldybba-gnugrep-3.12 /nix/store/y2wdhdcrffp9hnkzk06d178hq3g98jay-gawk-5.3.2 /nix/store/yi3c5karhx764ham5rfwk7iynr8mjf6q-gnutar-1.35 /nix/store/d471xb7sfbah076s8rx02i68zpxc2r5n-gzip-1.14 /nix/store/qm9rxn2sc1vrz91i443rr6f0vxm0zd82-bzip2-1.0.8-bin /nix/store/3fmzbq9y4m9nk235il7scmvwn8j9zy3p-gnumake-4.4.1 /nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3 /nix/store/qrwznp1ikdf0qw05wia2haiwi32ik5n0-patch-2.8 /nix/store/v0rfdwhg6w6i0yb6dbry4srk6pnj3xp0-xz-5.8.1-bin /nix/store/paj6a1lpzp57hz1djm5bs86b7ci221r0-file-5.45\'\nmesonFlags=\'\'\nexport mesonFlags\nname=\'DrCTF-env\'\nexport name\nnativeBuildInputs=\'/nix/store/vw9d8v9r0kp44lmizysj7idmqyf9747l-process-compose-1.78.0 /nix/store/64sazg99p78hfl7k8b0xn8ci1fcz6gpf-difftastic-0.67.0 /nix/store/y6wn9g8nbrazkn4r7daik49c77fs513y-typescript-5.9.3 /nix/store/3dpq47cj4ji5aq00vmv4mg45vcjamgcw-typescript-language-server-5.1.3 /nix/store/nh2jhgkgrrdl31pzc46l8k1za4iqfv1z-rust-toolchain-nixpkgs /nix/store/bpq0hkckybfnxblhnqavv9agxg4wgja2-nodejs-slim-22.21.1-dev /nix/store/a9gabjjwk0617csjlgm5f6gz5fv9jq11-bun-1.3.2 /nix/store/v6bx0d4690d8bklp18wvjdk566873sgs-clang-tools-21.1.2 /nix/store/s3w5m3spa1g71hx0yb82lvk6394j3w5j-stdenv-linux /nix/store/jlv0a6iyh8vb7pfyhjj93xy245xlmgh5-gnumake-4.4.1 /nix/store/fwmjw5cks4v1gxpr9wgbpzwygcfcmnfp-ccls-0.20241108 /nix/store/8vdiwpbh0g4avsd6x5v4s0di32vcl3dp-pkg-config-wrapper-0.29.2 /nix/store/97033wd7ak5am97yk1d2y85aai3yz4wh-gdb-16.3 /nix/store/zp52rrbj0aca8sq5wg5qjmjvrv636sc3-valgrind-3.26.0-dev /nix/store/s3c28nd52vahmlcd9scfhpaw18wxbdgg-dev /nix/store/bjb3hx0r5yqdlkpk77l5ajsb698c55n2-du /nix/store/4qhdhmi7pzgad0zfd7c5lsg235mbf9hv-git-2.51.2 /nix/store/z6al79i0bkp2phc0qic774i0vg44npp3-loco-0.16.3 /nix/store/na40apkxgv855bc8qpbi6gf0yvdzvnij-sqlite-3.50.4-dev /nix/store/19xz3q0sv06r0yrar8srmxs8pfmrg79m-secretspec-0.4.0 /nix/store/sac7s2ziii88sfgy4d6jnxndsxd1nh83-sea-orm-cli-1.1.17 /nix/store/jc4c4x7dv80i794ki30ymj1mrzdxaccd-cargo-generate-0.23.5 /nix/store/8vdiwpbh0g4avsd6x5v4s0di32vcl3dp-pkg-config-wrapper-0.29.2 /nix/store/965w3rby7xl49kbfqyyr5m10hlyh3f28-pre-commit-bin /nix/store/nh2jhgkgrrdl31pzc46l8k1za4iqfv1z-rust-toolchain-nixpkgs /nix/store/pnf9h7rd3nrxx5phrwbnhb5yhkiavj6p-python3.13-pre-commit-hooks-6.0.0 /nix/store/rckafkh916d8hd4642n2hzywa7sf1npp-deadnix-1.3.1 /nix/store/wbx8i6wrjdi32gj7kk5j5fq3484qyzyb-shellcheck-0.11.0\'\nexport nativeBuildInputs\nout=\'/home/ender/Documents/Projects/dr-ctf/outputs/out\'\nexport out\noutputBin=\'out\'\noutputDev=\'out\'\noutputDevdoc=\'REMOVE\'\noutputDevman=\'out\'\noutputDoc=\'out\'\noutputInclude=\'out\'\noutputInfo=\'out\'\noutputLib=\'out\'\noutputMan=\'out\'\noutputs=\'out\'\nexport outputs\npatches=\'\'\nexport patches\nphases=\'buildPhase\'\nexport phases\npkg=\'/nix/store/vr15iyyykg9zai6fpgvhcgyw7gckl78w-gcc-wrapper-14.3.0\'\ndeclare -a pkgsBuildBuild=()\ndeclare -a pkgsBuildHost=(\'/nix/store/vw9d8v9r0kp44lmizysj7idmqyf9747l-process-compose-1.78.0\' \'/nix/store/64sazg99p78hfl7k8b0xn8ci1fcz6gpf-difftastic-0.67.0\' \'/nix/store/y6wn9g8nbrazkn4r7daik49c77fs513y-typescript-5.9.3\' \'/nix/store/3dpq47cj4ji5aq00vmv4mg45vcjamgcw-typescript-language-server-5.1.3\' \'/nix/store/nh2jhgkgrrdl31pzc46l8k1za4iqfv1z-rust-toolchain-nixpkgs\' \'/nix/store/bpq0hkckybfnxblhnqavv9agxg4wgja2-nodejs-slim-22.21.1-dev\' \'/nix/store/jwkciwykf24vgb1gdlbh94fq5fm9xii5-nodejs-slim-22.21.1\' \'/nix/store/a9gabjjwk0617csjlgm5f6gz5fv9jq11-bun-1.3.2\' \'/nix/store/v6bx0d4690d8bklp18wvjdk566873sgs-clang-tools-21.1.2\' \'/nix/store/s3w5m3spa1g71hx0yb82lvk6394j3w5j-stdenv-linux\' \'/nix/store/jlv0a6iyh8vb7pfyhjj93xy245xlmgh5-gnumake-4.4.1\' \'/nix/store/fwmjw5cks4v1gxpr9wgbpzwygcfcmnfp-ccls-0.20241108\' \'/nix/store/8vdiwpbh0g4avsd6x5v4s0di32vcl3dp-pkg-config-wrapper-0.29.2\' \'/nix/store/97033wd7ak5am97yk1d2y85aai3yz4wh-gdb-16.3\' \'/nix/store/zp52rrbj0aca8sq5wg5qjmjvrv636sc3-valgrind-3.26.0-dev\' \'/nix/store/fp56mavabdv7v67y5j3b0ga3v6ygpyha-valgrind-3.26.0\' \'/nix/store/s3c28nd52vahmlcd9scfhpaw18wxbdgg-dev\' \'/nix/store/bjb3hx0r5yqdlkpk77l5ajsb698c55n2-du\' \'/nix/store/4qhdhmi7pzgad0zfd7c5lsg235mbf9hv-git-2.51.2\' \'/nix/store/z6al79i0bkp2phc0qic774i0vg44npp3-loco-0.16.3\' \'/nix/store/na40apkxgv855bc8qpbi6gf0yvdzvnij-sqlite-3.50.4-dev\' \'/nix/store/awm8pnzpcj63lb26asvjm24j4kwg4d76-sqlite-3.50.4-bin\' \'/nix/store/l30c488dws7z5mazacqsmj25izb9jlp2-sqlite-3.50.4\' \'/nix/store/19xz3q0sv06r0yrar8srmxs8pfmrg79m-secretspec-0.4.0\' \'/nix/store/sac7s2ziii88sfgy4d6jnxndsxd1nh83-sea-orm-cli-1.1.17\' \'/nix/store/jc4c4x7dv80i794ki30ymj1mrzdxaccd-cargo-generate-0.23.5\' \'/nix/store/965w3rby7xl49kbfqyyr5m10hlyh3f28-pre-commit-bin\' \'/nix/store/pnf9h7rd3nrxx5phrwbnhb5yhkiavj6p-python3.13-pre-commit-hooks-6.0.0\' \'/nix/store/prpbn02py0x7xgb4fk1xmgzghix6wnxb-python3.13-ruamel-yaml-0.18.14\' \'/nix/store/fxbffn4g9z7l4livi6wm48yb162bc1ga-python3.13-ruamel-base-1.0.0\' \'/nix/store/3lll9y925zz9393sa59h653xik66srjb-python3-3.13.9\' \'/nix/store/zs5kbqpr3dj8rb4szgrp1l3pnl03la6d-python3.13-ruamel-yaml-clib-0.2.12\' \'/nix/store/rckafkh916d8hd4642n2hzywa7sf1npp-deadnix-1.3.1\' \'/nix/store/wbx8i6wrjdi32gj7kk5j5fq3484qyzyb-shellcheck-0.11.0\' \'/nix/store/7fc4qz8ny0s2m2n5gsgsqb3yn2iffk4v-shellcheck-0.11.0-bin\' \'/nix/store/8q2582rd22xp8jlcg1xn1w219q5lx5xa-patchelf-0.15.2\' \'/nix/store/l2xk4ac1wx9c95kpp8vymv9r9yn57fvh-update-autotools-gnu-config-scripts-hook\' \'/nix/store/0y5xmdb7qfvimjwbq7ibg1xdgkgjwqng-no-broken-symlinks.sh\' \'/nix/store/cv1d7p48379km6a85h4zp6kr86brh32q-audit-tmpdir.sh\' \'/nix/store/85clx3b0xkdf58jn161iy80y5223ilbi-compress-man-pages.sh\' \'/nix/store/wgrbkkaldkrlrni33ccvm3b6vbxzb656-make-symlinks-relative.sh\' \'/nix/store/5yzw0vhkyszf2d179m0qfkgxmp5wjjx4-move-docs.sh\' \'/nix/store/fyaryjvghbkpfnsyw97hb3lyb37s1pd6-move-lib64.sh\' \'/nix/store/kd4xwxjpjxi71jkm6ka0np72if9rm3y0-move-sbin.sh\' \'/nix/store/pag6l61paj1dc9sv15l7bm5c17xn5kyk-move-systemd-user-units.sh\' \'/nix/store/cmzya9irvxzlkh7lfy6i82gbp0saxqj3-multiple-outputs.sh\' \'/nix/store/x8c40nfigps493a07sdr2pm5s9j1cdc0-patch-shebangs.sh\' \'/nix/store/cickvswrvann041nqxb0rxilc46svw1n-prune-libtool-files.sh\' \'/nix/store/xyff06pkhki3qy1ls77w10s0v79c9il0-reproducible-builds.sh\' \'/nix/store/z7k98578dfzi6l3hsvbivzm7hfqlk0zc-set-source-date-epoch-to-latest.sh\' \'/nix/store/pilsssjjdxvdphlg2h19p0bfx5q0jzkn-strip.sh\' \'/nix/store/vr15iyyykg9zai6fpgvhcgyw7gckl78w-gcc-wrapper-14.3.0\' \'/nix/store/xwydcyvlsa3cvssk0y5llgdhlhjvmqdm-binutils-wrapper-2.44\' )\ndeclare -a pkgsBuildTarget=()\ndeclare -a pkgsHostHost=()\ndeclare -a pkgsHostTarget=()\ndeclare -a pkgsTargetTarget=()\ndeclare -a postFixupHooks=(\'noBrokenSymlinksInAllOutputs\' \'_makeSymlinksRelativeInAllOutputs\' \'_multioutPropagateDev\' )\ndeclare -a postUnpackHooks=(\'_updateSourceDateEpochFromSourceRoot\' )\ndeclare -a preConfigureHooks=(\'_multioutConfig\' )\npreConfigurePhases=\' updateAutotoolsGnuConfigScriptsPhase\'\ndeclare -a preFixupHooks=(\'_moveToShare\' \'_multioutDocs\' \'_multioutDevs\' )\npreferLocalBuild=\'1\'\nexport preferLocalBuild\nprefix=\'/home/ender/Documents/Projects/dr-ctf/outputs/out\'\ndeclare -a propagatedBuildDepFiles=(\'propagated-build-build-deps\' \'propagated-native-build-inputs\' \'propagated-build-target-deps\' )\npropagatedBuildInputs=\'\'\nexport propagatedBuildInputs\ndeclare -a propagatedHostDepFiles=(\'propagated-host-host-deps\' \'propagated-build-inputs\' )\npropagatedNativeBuildInputs=\'\'\nexport propagatedNativeBuildInputs\ndeclare -a propagatedTargetDepFiles=(\'propagated-target-target-deps\' )\nshell=\'/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/bash\'\nexport shell\nshellHook=\'\nexport PS1="\\[\\e[0;34m\\](devenv)\\[\\e[0m\\] ${PS1-}"\n\n# override temp directories after "nix develop"\nfor var in TMP TMPDIR TEMP TEMPDIR; do\n if [ -n "${!var-}" ]; then\n export "$var"=/run/user/1000\n fi\ndone\nif [ -n "${NIX_BUILD_TOP-}" ]; then\n unset NIX_BUILD_TOP\nfi\n\n# set path to locales on non-NixOS Linux hosts\nif [ -z "${LOCALE_ARCHIVE-}" ]; then\n export LOCALE_ARCHIVE=/nix/store/lncqmx5asfccx0gfkp64r94ri59y0iyv-glibc-locales-2.40-66/lib/locale/locale-archive\nfi\n\n\n# direnv helper\nif [ ! type -p direnv &>/dev/null && -f .envrc ]; then\n echo "An .envrc file was detected, but the direnv command is not installed."\n echo "To use this configuration, please install direnv: https://direnv.net/docs/installation.html"\nfi\n\nmkdir -p "$DEVENV_STATE"\nif [ ! -L "$DEVENV_DOTFILE/profile" ] || [ "$(/nix/store/imad8dvhp77h0pjbckp6wvmnyhp8dpgg-coreutils-9.8/bin/readlink $DEVENV_DOTFILE/profile)" != "/nix/store/bvm5wn1c46bxfgzylrm3khh2sp87vnsa-devenv-profile" ]\nthen\n ln -snf /nix/store/bvm5wn1c46bxfgzylrm3khh2sp87vnsa-devenv-profile "$DEVENV_DOTFILE/profile"\nfi\nunset HOST_PATH NIX_BUILD_CORES __structuredAttrs buildInputs buildPhase builder depsBuildBuild depsBuildBuildPropagated depsBuildTarget depsBuildTargetPropagated depsHostHost depsHostHostPropagated depsTargetTarget depsTargetTargetPropagated dontAddDisableDepTrack doCheck doInstallCheck nativeBuildInputs out outputs patches phases preferLocalBuild propagatedBuildInputs propagatedNativeBuildInputs shell shellHook stdenv strictDeps\n\nmkdir -p /run/user/1000/devenv-405663c\nln -snf /run/user/1000/devenv-405663c /home/ender/Documents/Projects/dr-ctf/.devenv/run\n\n\nexport CARGO_INSTALL_ROOT=$(/nix/store/imad8dvhp77h0pjbckp6wvmnyhp8dpgg-coreutils-9.8/bin/realpath --no-symlinks /home/ender/Documents/Projects/dr-ctf/.devenv/state/cargo-install)\nexport PATH="$PATH:$CARGO_INSTALL_ROOT/bin"\n\nexport PATH="node_modules/.bin:$PATH"\n\n/nix/store/0h3grrk59ixrbqpikbxknvwg5nb05pr0-devenv-tasks-2.0.0/bin/devenv-tasks run devenv:enterShell --mode all || exit $?\nif [ -f "$DEVENV_DOTFILE/load-exports" ]; then\n source "$DEVENV_DOTFILE/load-exports"\nfi\n\necho "✨ devenv 1.11.1 is out of date. Please update to 1.11.2: https://devenv.sh/getting-started/#installation" >&2\n\n\n# Check whether the direnv integration is out of date.\n{\n if [[ ":${DIRENV_ACTIVE-}:" == *":/home/ender/Documents/Projects/dr-ctf:"* ]]; then\n if [[ ! "${DEVENV_NO_DIRENVRC_OUTDATED_WARNING-}" == 1 && ! "${DEVENV_DIRENVRC_ROLLING_UPGRADE-}" == 1 ]]; then\n if [[ ${DEVENV_DIRENVRC_VERSION:-0} -lt 1 ]]; then\n direnv_line=$(grep --color=never -E "source_url.*cachix/devenv" .envrc || echo "")\n\n echo "✨ The direnv integration in your .envrc is out of date."\n echo ""\n echo -n "RECOMMENDED: devenv can now auto-upgrade the direnv integration. "\n if [[ -n "$direnv_line" ]]; then\n echo "To enable this feature, replace the following line in your .envrc:"\n echo ""\n echo " $direnv_line"\n echo ""\n echo "with:"\n echo ""\n echo " eval \\"\\$(devenv direnvrc)\\""\n else\n echo "To enable this feature, replace the \\`source_url\\` line that fetches the direnvrc integration in your .envrc with:"\n echo ""\n echo " eval \\"$(devenv direnvrc)\\""\n fi\n echo ""\n echo "If you prefer to continue managing the integration manually, follow the upgrade instructions at https://devenv.sh/automatic-shell-activation/."\n echo ""\n echo "To disable this message:"\n echo ""\n echo " Add the following environment to your .envrc before \\`use devenv\\`:"\n echo ""\n echo " export DEVENV_NO_DIRENVRC_OUTDATED_WARNING=1"\n echo ""\n echo " Or set the following option in your devenv configuration:"\n echo ""\n echo " devenv.warnOnNewVersion = false;"\n echo ""\n fi\n fi\n fi\n} >&2\n\ngit --version # Use packages\n\n\'\nexport shellHook\nstdenv=\'/nix/store/s3w5m3spa1g71hx0yb82lvk6394j3w5j-stdenv-linux\'\nexport stdenv\nstrictDeps=\'\'\nexport strictDeps\nsystem=\'x86_64-linux\'\nexport system\ndeclare -a unpackCmdHooks=(\'_defaultUnpack\' )\n_activatePkgs ()\n{\n \n local hostOffset targetOffset;\n local pkg;\n for hostOffset in "${allPlatOffsets[@]}";\n do\n local pkgsVar="${pkgAccumVarVars[hostOffset + 1]}";\n for targetOffset in "${allPlatOffsets[@]}";\n do\n (( hostOffset <= targetOffset )) || continue;\n local pkgsRef="${pkgsVar}[$targetOffset - $hostOffset]";\n local pkgsSlice="${!pkgsRef}[@]";\n for pkg in ${!pkgsSlice+"${!pkgsSlice}"};\n do\n activatePackage "$pkg" "$hostOffset" "$targetOffset";\n done;\n done;\n done\n}\n_addRpathPrefix ()\n{\n \n if [ "${NIX_NO_SELF_RPATH:-0}" != 1 ]; then\n export NIX_LDFLAGS="-rpath $1/lib ${NIX_LDFLAGS-}";\n fi\n}\n_addToEnv ()\n{\n \n local depHostOffset depTargetOffset;\n local pkg;\n for depHostOffset in "${allPlatOffsets[@]}";\n do\n local hookVar="${pkgHookVarVars[depHostOffset + 1]}";\n local pkgsVar="${pkgAccumVarVars[depHostOffset + 1]}";\n for depTargetOffset in "${allPlatOffsets[@]}";\n do\n (( depHostOffset <= depTargetOffset )) || continue;\n local hookRef="${hookVar}[$depTargetOffset - $depHostOffset]";\n if [[ -z "${strictDeps-}" ]]; then\n local visitedPkgs="";\n for pkg in "${pkgsBuildBuild[@]}" "${pkgsBuildHost[@]}" "${pkgsBuildTarget[@]}" "${pkgsHostHost[@]}" "${pkgsHostTarget[@]}" "${pkgsTargetTarget[@]}";\n do\n if [[ "$visitedPkgs" = *"$pkg"* ]]; then\n continue;\n fi;\n runHook "${!hookRef}" "$pkg";\n visitedPkgs+=" $pkg";\n done;\n else\n local pkgsRef="${pkgsVar}[$depTargetOffset - $depHostOffset]";\n local pkgsSlice="${!pkgsRef}[@]";\n for pkg in ${!pkgsSlice+"${!pkgsSlice}"};\n do\n runHook "${!hookRef}" "$pkg";\n done;\n fi;\n done;\n done\n}\n_allFlags ()\n{\n \n export system pname name version;\n while IFS=\'\' read -r varName; do\n nixTalkativeLog "@${varName}@ -> ${!varName}";\n args+=("--subst-var" "$varName");\n done < <(awk \'BEGIN { for (v in ENVIRON) if (v ~ /^[a-z][a-zA-Z0-9_]*$/) print v }\')\n}\n_assignFirst ()\n{\n \n local varName="$1";\n local _var;\n local REMOVE=REMOVE;\n shift;\n for _var in "$@";\n do\n if [ -n "${!_var-}" ]; then\n eval "${varName}"="${_var}";\n return;\n fi;\n done;\n echo;\n echo "error: _assignFirst: could not find a non-empty variable whose name to assign to ${varName}.";\n echo " The following variables were all unset or empty:";\n echo " $*";\n if [ -z "${out:-}" ]; then\n echo \' If you do not want an "out" output in your derivation, make sure to define\';\n echo \' the other specific required outputs. This can be achieved by picking one\';\n echo " of the above as an output.";\n echo \' You do not have to remove "out" if you want to have a different default\';\n echo \' output, because the first output is taken as a default.\';\n echo;\n fi;\n return 1\n}\n_callImplicitHook ()\n{\n \n local def="$1";\n local hookName="$2";\n if declare -F "$hookName" > /dev/null; then\n nixTalkativeLog "calling implicit \'$hookName\' function hook";\n "$hookName";\n else\n if type -p "$hookName" > /dev/null; then\n nixTalkativeLog "sourcing implicit \'$hookName\' script hook";\n source "$hookName";\n else\n if [ -n "${!hookName:-}" ]; then\n nixTalkativeLog "evaling implicit \'$hookName\' string hook";\n eval "${!hookName}";\n else\n return "$def";\n fi;\n fi;\n fi\n}\n_defaultUnpack ()\n{\n \n local fn="$1";\n local destination;\n if [ -d "$fn" ]; then\n destination="$(stripHash "$fn")";\n if [ -e "$destination" ]; then\n echo "Cannot copy $fn to $destination: destination already exists!";\n echo "Did you specify two \\"srcs\\" with the same \\"name\\"?";\n return 1;\n fi;\n cp -r --preserve=timestamps --reflink=auto -- "$fn" "$destination";\n else\n case "$fn" in \n *.tar.xz | *.tar.lzma | *.txz)\n ( XZ_OPT="--threads=$NIX_BUILD_CORES" xz -d < "$fn";\n true ) | tar xf - --mode=+w --warning=no-timestamp\n ;;\n *.tar | *.tar.* | *.tgz | *.tbz2 | *.tbz)\n tar xf "$fn" --mode=+w --warning=no-timestamp\n ;;\n *)\n return 1\n ;;\n esac;\n fi\n}\n_doStrip ()\n{\n \n local -ra flags=(dontStripHost dontStripTarget);\n local -ra debugDirs=(stripDebugList stripDebugListTarget);\n local -ra allDirs=(stripAllList stripAllListTarget);\n local -ra stripCmds=(STRIP STRIP_FOR_TARGET);\n local -ra ranlibCmds=(RANLIB RANLIB_FOR_TARGET);\n stripDebugList=${stripDebugList[*]:-lib lib32 lib64 libexec bin sbin Applications Library/Frameworks};\n stripDebugListTarget=${stripDebugListTarget[*]:-};\n stripAllList=${stripAllList[*]:-};\n stripAllListTarget=${stripAllListTarget[*]:-};\n local i;\n for i in ${!stripCmds[@]};\n do\n local -n flag="${flags[$i]}";\n local -n debugDirList="${debugDirs[$i]}";\n local -n allDirList="${allDirs[$i]}";\n local -n stripCmd="${stripCmds[$i]}";\n local -n ranlibCmd="${ranlibCmds[$i]}";\n if [[ -n "${dontStrip-}" || -n "${flag-}" ]] || ! type -f "${stripCmd-}" 2> /dev/null 1>&2; then\n continue;\n fi;\n stripDirs "$stripCmd" "$ranlibCmd" "$debugDirList" "${stripDebugFlags[*]:--S -p}";\n stripDirs "$stripCmd" "$ranlibCmd" "$allDirList" "${stripAllFlags[*]:--s -p}";\n done\n}\n_eval ()\n{\n \n if declare -F "$1" > /dev/null 2>&1; then\n "$@";\n else\n eval "$1";\n fi\n}\n_logHook ()\n{\n \n if [[ -z ${NIX_LOG_FD-} ]]; then\n return;\n fi;\n local hookKind="$1";\n local hookExpr="$2";\n shift 2;\n if declare -F "$hookExpr" > /dev/null 2>&1; then\n nixTalkativeLog "calling \'$hookKind\' function hook \'$hookExpr\'" "$@";\n else\n if type -p "$hookExpr" > /dev/null; then\n nixTalkativeLog "sourcing \'$hookKind\' script hook \'$hookExpr\'";\n else\n if [[ "$hookExpr" != "_callImplicitHook"* ]]; then\n local exprToOutput;\n if [[ ${NIX_DEBUG:-0} -ge 5 ]]; then\n exprToOutput="$hookExpr";\n else\n local hookExprLine;\n while IFS= read -r hookExprLine; do\n hookExprLine="${hookExprLine#"${hookExprLine%%[![:space:]]*}"}";\n if [[ -n "$hookExprLine" ]]; then\n exprToOutput+="$hookExprLine\\\\n ";\n fi;\n done <<< "$hookExpr";\n exprToOutput="${exprToOutput%%\\\\n }";\n fi;\n nixTalkativeLog "evaling \'$hookKind\' string hook \'$exprToOutput\'";\n fi;\n fi;\n fi\n}\n_makeSymlinksRelative ()\n{\n \n local symlinkTarget;\n if [ "${dontRewriteSymlinks-}" ] || [ ! -e "$prefix" ]; then\n return;\n fi;\n while IFS= read -r -d \'\' f; do\n symlinkTarget=$(readlink "$f");\n if [[ "$symlinkTarget"/ != "$prefix"/* ]]; then\n continue;\n fi;\n if [ ! -e "$symlinkTarget" ]; then\n echo "the symlink $f is broken, it points to $symlinkTarget (which is missing)";\n fi;\n echo "rewriting symlink $f to be relative to $prefix";\n ln -snrf "$symlinkTarget" "$f";\n done < <(find $prefix -type l -print0)\n}\n_makeSymlinksRelativeInAllOutputs ()\n{\n \n local output;\n for output in $(getAllOutputNames);\n do\n prefix="${!output}" _makeSymlinksRelative;\n done\n}\n_moveLib64 ()\n{\n \n if [ "${dontMoveLib64-}" = 1 ]; then\n return;\n fi;\n if [ ! -e "$prefix/lib64" -o -L "$prefix/lib64" ]; then\n return;\n fi;\n echo "moving $prefix/lib64/* to $prefix/lib";\n mkdir -p $prefix/lib;\n shopt -s dotglob;\n for i in $prefix/lib64/*;\n do\n mv --no-clobber "$i" $prefix/lib;\n done;\n shopt -u dotglob;\n rmdir $prefix/lib64;\n ln -s lib $prefix/lib64\n}\n_moveSbin ()\n{\n \n if [ "${dontMoveSbin-}" = 1 ]; then\n return;\n fi;\n if [ ! -e "$prefix/sbin" -o -L "$prefix/sbin" ]; then\n return;\n fi;\n echo "moving $prefix/sbin/* to $prefix/bin";\n mkdir -p $prefix/bin;\n shopt -s dotglob;\n for i in $prefix/sbin/*;\n do\n mv "$i" $prefix/bin;\n done;\n shopt -u dotglob;\n rmdir $prefix/sbin;\n ln -s bin $prefix/sbin\n}\n_moveSystemdUserUnits ()\n{\n \n if [ "${dontMoveSystemdUserUnits:-0}" = 1 ]; then\n return;\n fi;\n if [ ! -e "${prefix:?}/lib/systemd/user" ]; then\n return;\n fi;\n local source="$prefix/lib/systemd/user";\n local target="$prefix/share/systemd/user";\n echo "moving $source/* to $target";\n mkdir -p "$target";\n ( shopt -s dotglob;\n for i in "$source"/*;\n do\n mv "$i" "$target";\n done );\n rmdir "$source";\n ln -s "$target" "$source"\n}\n_moveToShare ()\n{\n \n if [ -n "$__structuredAttrs" ]; then\n if [ -z "${forceShare-}" ]; then\n forceShare=(man doc info);\n fi;\n else\n forceShare=(${forceShare:-man doc info});\n fi;\n if [[ -z "$out" ]]; then\n return;\n fi;\n for d in "${forceShare[@]}";\n do\n if [ -d "$out/$d" ]; then\n if [ -d "$out/share/$d" ]; then\n echo "both $d/ and share/$d/ exist!";\n else\n echo "moving $out/$d to $out/share/$d";\n mkdir -p $out/share;\n mv $out/$d $out/share/;\n fi;\n fi;\n done\n}\n_multioutConfig ()\n{\n \n if [ "$(getAllOutputNames)" = "out" ] || [ -z "${setOutputFlags-1}" ]; then\n return;\n fi;\n if [ -z "${shareDocName:-}" ]; then\n local confScript="${configureScript:-}";\n if [ -z "$confScript" ] && [ -x ./configure ]; then\n confScript=./configure;\n fi;\n if [ -f "$confScript" ]; then\n local shareDocName="$(sed -n "s/^PACKAGE_TARNAME=\'\\(.*\\)\'$/\\1/p" < "$confScript")";\n fi;\n if [ -z "$shareDocName" ] || echo "$shareDocName" | grep -q \'[^a-zA-Z0-9_-]\'; then\n shareDocName="$(echo "$name" | sed \'s/-[^a-zA-Z].*//\')";\n fi;\n fi;\n prependToVar configureFlags --bindir="${!outputBin}"/bin --sbindir="${!outputBin}"/sbin --includedir="${!outputInclude}"/include --mandir="${!outputMan}"/share/man --infodir="${!outputInfo}"/share/info --docdir="${!outputDoc}"/share/doc/"${shareDocName}" --libdir="${!outputLib}"/lib --libexecdir="${!outputLib}"/libexec --localedir="${!outputLib}"/share/locale;\n prependToVar installFlags pkgconfigdir="${!outputDev}"/lib/pkgconfig m4datadir="${!outputDev}"/share/aclocal aclocaldir="${!outputDev}"/share/aclocal\n}\n_multioutDevs ()\n{\n \n if [ "$(getAllOutputNames)" = "out" ] || [ -z "${moveToDev-1}" ]; then\n return;\n fi;\n moveToOutput include "${!outputInclude}";\n moveToOutput lib/pkgconfig "${!outputDev}";\n moveToOutput share/pkgconfig "${!outputDev}";\n moveToOutput lib/cmake "${!outputDev}";\n moveToOutput share/aclocal "${!outputDev}";\n for f in "${!outputDev}"/{lib,share}/pkgconfig/*.pc;\n do\n echo "Patching \'$f\' includedir to output ${!outputInclude}";\n sed -i "/^includedir=/s,=\\${prefix},=${!outputInclude}," "$f";\n done\n}\n_multioutDocs ()\n{\n \n local REMOVE=REMOVE;\n moveToOutput share/info "${!outputInfo}";\n moveToOutput share/doc "${!outputDoc}";\n moveToOutput share/gtk-doc "${!outputDevdoc}";\n moveToOutput share/devhelp/books "${!outputDevdoc}";\n moveToOutput share/man "${!outputMan}";\n moveToOutput share/man/man3 "${!outputDevman}"\n}\n_multioutPropagateDev ()\n{\n \n if [ "$(getAllOutputNames)" = "out" ]; then\n return;\n fi;\n local outputFirst;\n for outputFirst in $(getAllOutputNames);\n do\n break;\n done;\n local propagaterOutput="$outputDev";\n if [ -z "$propagaterOutput" ]; then\n propagaterOutput="$outputFirst";\n fi;\n if [ -z "${propagatedBuildOutputs+1}" ]; then\n local po_dirty="$outputBin $outputInclude $outputLib";\n set +o pipefail;\n propagatedBuildOutputs=`echo "$po_dirty" | tr -s \' \' \'\\n\' | grep -v -F "$propagaterOutput" | sort -u | tr \'\\n\' \' \' `;\n set -o pipefail;\n fi;\n if [ -z "$propagatedBuildOutputs" ]; then\n return;\n fi;\n mkdir -p "${!propagaterOutput}"/nix-support;\n for output in $propagatedBuildOutputs;\n do\n echo -n " ${!output}" >> "${!propagaterOutput}"/nix-support/propagated-build-inputs;\n done\n}\n_nixLogWithLevel ()\n{\n \n [[ -z ${NIX_LOG_FD-} || ${NIX_DEBUG:-0} -lt ${1:?} ]] && return 0;\n local logLevel;\n case "${1:?}" in \n 0)\n logLevel=ERROR\n ;;\n 1)\n logLevel=WARN\n ;;\n 2)\n logLevel=NOTICE\n ;;\n 3)\n logLevel=INFO\n ;;\n 4)\n logLevel=TALKATIVE\n ;;\n 5)\n logLevel=CHATTY\n ;;\n 6)\n logLevel=DEBUG\n ;;\n 7)\n logLevel=VOMIT\n ;;\n *)\n echo "_nixLogWithLevel: called with invalid log level: ${1:?}" >&"$NIX_LOG_FD";\n return 1\n ;;\n esac;\n local callerName="${FUNCNAME[2]}";\n if [[ $callerName == "_callImplicitHook" ]]; then\n callerName="${hookName:?}";\n fi;\n printf "%s: %s: %s\\n" "$logLevel" "$callerName" "${2:?}" >&"$NIX_LOG_FD"\n}\n_overrideFirst ()\n{\n \n if [ -z "${!1-}" ]; then\n _assignFirst "$@";\n fi\n}\n_pruneLibtoolFiles ()\n{\n \n if [ "${dontPruneLibtoolFiles-}" ] || [ ! -e "$prefix" ]; then\n return;\n fi;\n find "$prefix" -type f -name \'*.la\' -exec grep -q \'^# Generated by .*libtool\' {} \\; -exec grep -q "^old_library=\'\'" {} \\; -exec sed -i {} -e "/^dependency_libs=\'[^\']/ c dependency_libs=\'\' #pruned" \\;\n}\n_updateSourceDateEpochFromSourceRoot ()\n{\n \n if [ -n "$sourceRoot" ]; then\n updateSourceDateEpoch "$sourceRoot";\n fi\n}\nactivatePackage ()\n{\n \n local pkg="$1";\n local -r hostOffset="$2";\n local -r targetOffset="$3";\n (( hostOffset <= targetOffset )) || exit 1;\n if [ -f "$pkg" ]; then\n nixTalkativeLog "sourcing setup hook \'$pkg\'";\n source "$pkg";\n fi;\n if [[ -z "${strictDeps-}" || "$hostOffset" -le -1 ]]; then\n addToSearchPath _PATH "$pkg/bin";\n fi;\n if (( hostOffset <= -1 )); then\n addToSearchPath _XDG_DATA_DIRS "$pkg/share";\n fi;\n if [[ "$hostOffset" -eq 0 && -d "$pkg/bin" ]]; then\n addToSearchPath _HOST_PATH "$pkg/bin";\n fi;\n if [[ -f "$pkg/nix-support/setup-hook" ]]; then\n nixTalkativeLog "sourcing setup hook \'$pkg/nix-support/setup-hook\'";\n source "$pkg/nix-support/setup-hook";\n fi\n}\naddEnvHooks ()\n{\n \n local depHostOffset="$1";\n shift;\n local pkgHookVarsSlice="${pkgHookVarVars[$depHostOffset + 1]}[@]";\n local pkgHookVar;\n for pkgHookVar in "${!pkgHookVarsSlice}";\n do\n eval "${pkgHookVar}s"\'+=("$@")\';\n done\n}\naddNodePath ()\n{\n \n addToSearchPath NODE_PATH "$1/lib/node_modules"\n}\naddPythonPath ()\n{\n \n addToSearchPathWithCustomDelimiter : PYTHONPATH $1/lib/python3.13/site-packages\n}\naddToSearchPath ()\n{\n \n addToSearchPathWithCustomDelimiter ":" "$@"\n}\naddToSearchPathWithCustomDelimiter ()\n{\n \n local delimiter="$1";\n local varName="$2";\n local dir="$3";\n if [[ -d "$dir" && "${!varName:+${delimiter}${!varName}${delimiter}}" != *"${delimiter}${dir}${delimiter}"* ]]; then\n export "${varName}=${!varName:+${!varName}${delimiter}}${dir}";\n fi\n}\nappendToVar ()\n{\n \n local -n nameref="$1";\n local useArray type;\n if [ -n "$__structuredAttrs" ]; then\n useArray=true;\n else\n useArray=false;\n fi;\n if type=$(declare -p "$1" 2> /dev/null); then\n case "${type#* }" in \n -A*)\n echo "appendToVar(): ERROR: trying to use appendToVar on an associative array, use variable+=([\\"X\\"]=\\"Y\\") instead." 1>&2;\n return 1\n ;;\n -a*)\n useArray=true\n ;;\n *)\n useArray=false\n ;;\n esac;\n fi;\n shift;\n if $useArray; then\n nameref=(${nameref+"${nameref[@]}"} "$@");\n else\n nameref="${nameref-} $*";\n fi\n}\nauditTmpdir ()\n{\n \n local dir="$1";\n [ -e "$dir" ] || return 0;\n echo "checking for references to $TMPDIR/ in $dir...";\n local tmpdir elf_fifo script_fifo;\n tmpdir="$(mktemp -d)";\n elf_fifo="$tmpdir/elf";\n script_fifo="$tmpdir/script";\n mkfifo "$elf_fifo" "$script_fifo";\n ( find "$dir" -type f -not -path \'*/.build-id/*\' -print0 | while IFS= read -r -d \'\' file; do\n if isELF "$file"; then\n printf \'%s\\0\' "$file" 1>&3;\n else\n if isScript "$file"; then\n filename=${file##*/};\n dir=${file%/*};\n if [ -e "$dir/.$filename-wrapped" ]; then\n printf \'%s\\0\' "$file" 1>&4;\n fi;\n fi;\n fi;\n done;\n exec 3>&- 4>&- ) 3> "$elf_fifo" 4> "$script_fifo" & ( xargs -0 -r -P "$NIX_BUILD_CORES" -n 1 sh -c \'\n if { printf :; patchelf --print-rpath "$1"; } | grep -q -F ":$TMPDIR/"; then\n echo "RPATH of binary $1 contains a forbidden reference to $TMPDIR/"\n exit 1\n fi\n \' _ < "$elf_fifo" ) & local pid_elf=$!;\n local pid_script;\n ( xargs -0 -r -P "$NIX_BUILD_CORES" -n 1 sh -c \'\n if grep -q -F "$TMPDIR/" "$1"; then\n echo "wrapper script $1 contains a forbidden reference to $TMPDIR/"\n exit 1\n fi\n \' _ < "$script_fifo" ) & local pid_script=$!;\n wait "$pid_elf" || { \n echo "Some binaries contain forbidden references to $TMPDIR/. Check the error above!";\n exit 1\n };\n wait "$pid_script" || { \n echo "Some scripts contain forbidden references to $TMPDIR/. Check the error above!";\n exit 1\n };\n rm -r "$tmpdir"\n}\nbintoolsWrapper_addLDVars ()\n{\n \n local role_post;\n getHostRoleEnvHook;\n if [[ -d "$1/lib64" && ! -L "$1/lib64" ]]; then\n export NIX_LDFLAGS${role_post}+=" -L$1/lib64";\n fi;\n if [[ -d "$1/lib" ]]; then\n local -a glob=($1/lib/lib*);\n if [ "${#glob[*]}" -gt 0 ]; then\n export NIX_LDFLAGS${role_post}+=" -L$1/lib";\n fi;\n fi\n}\nbuildPhase ()\n{\n \n runHook preBuild;\n if [[ -z "${makeFlags-}" && -z "${makefile:-}" && ! ( -e Makefile || -e makefile || -e GNUmakefile ) ]]; then\n echo "no Makefile or custom buildPhase, doing nothing";\n else\n foundMakefile=1;\n local flagsArray=(${enableParallelBuilding:+-j${NIX_BUILD_CORES}} SHELL="$SHELL");\n concatTo flagsArray makeFlags makeFlagsArray buildFlags buildFlagsArray;\n echoCmd \'build flags\' "${flagsArray[@]}";\n make ${makefile:+-f $makefile} "${flagsArray[@]}";\n unset flagsArray;\n fi;\n runHook postBuild\n}\nccWrapper_addCVars ()\n{\n \n local role_post;\n getHostRoleEnvHook;\n local found=;\n if [ -d "$1/include" ]; then\n export NIX_CFLAGS_COMPILE${role_post}+=" -isystem $1/include";\n found=1;\n fi;\n if [ -d "$1/Library/Frameworks" ]; then\n export NIX_CFLAGS_COMPILE${role_post}+=" -iframework $1/Library/Frameworks";\n found=1;\n fi;\n if [[ -n "" && -n ${NIX_STORE:-} && -n $found ]]; then\n local scrubbed="$NIX_STORE/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-${1#"$NIX_STORE"/*-}";\n export NIX_CFLAGS_COMPILE${role_post}+=" -fmacro-prefix-map=$1=$scrubbed";\n fi\n}\ncheckPhase ()\n{\n \n runHook preCheck;\n if [[ -z "${foundMakefile:-}" ]]; then\n echo "no Makefile or custom checkPhase, doing nothing";\n runHook postCheck;\n return;\n fi;\n if [[ -z "${checkTarget:-}" ]]; then\n if make -n ${makefile:+-f $makefile} check > /dev/null 2>&1; then\n checkTarget="check";\n else\n if make -n ${makefile:+-f $makefile} test > /dev/null 2>&1; then\n checkTarget="test";\n fi;\n fi;\n fi;\n if [[ -z "${checkTarget:-}" ]]; then\n echo "no check/test target in ${makefile:-Makefile}, doing nothing";\n else\n local flagsArray=(${enableParallelChecking:+-j${NIX_BUILD_CORES}} SHELL="$SHELL");\n concatTo flagsArray makeFlags makeFlagsArray checkFlags=VERBOSE=y checkFlagsArray checkTarget;\n echoCmd \'check flags\' "${flagsArray[@]}";\n make ${makefile:+-f $makefile} "${flagsArray[@]}";\n unset flagsArray;\n fi;\n runHook postCheck\n}\ncompressManPages ()\n{\n \n local dir="$1";\n if [ -L "$dir"/share ] || [ -L "$dir"/share/man ] || [ ! -d "$dir/share/man" ]; then\n return;\n fi;\n echo "gzipping man pages under $dir/share/man/";\n find "$dir"/share/man/ -type f -a \'!\' -regex \'.*\\.\\(bz2\\|gz\\|xz\\)$\' -print0 | xargs -0 -n1 -P "$NIX_BUILD_CORES" gzip -n -f;\n find "$dir"/share/man/ -type l -a \'!\' -regex \'.*\\.\\(bz2\\|gz\\|xz\\)$\' -print0 | sort -z | while IFS= read -r -d \'\' f; do\n local target;\n target="$(readlink -f "$f")";\n if [ -f "$target".gz ]; then\n ln -sf "$target".gz "$f".gz && rm "$f";\n fi;\n done\n}\nconcatStringsSep ()\n{\n \n local sep="$1";\n local name="$2";\n local type oldifs;\n if type=$(declare -p "$name" 2> /dev/null); then\n local -n nameref="$name";\n case "${type#* }" in \n -A*)\n echo "concatStringsSep(): ERROR: trying to use concatStringsSep on an associative array." 1>&2;\n return 1\n ;;\n -a*)\n local IFS="$(printf \'\\036\')"\n ;;\n *)\n local IFS=" "\n ;;\n esac;\n local ifs_separated="${nameref[*]}";\n echo -n "${ifs_separated//"$IFS"/"$sep"}";\n fi\n}\nconcatTo ()\n{\n \n local -;\n set -o noglob;\n local -n targetref="$1";\n shift;\n local arg default name type;\n for arg in "$@";\n do\n IFS="=" read -r name default <<< "$arg";\n local -n nameref="$name";\n if [[ -z "${nameref[*]}" && -n "$default" ]]; then\n targetref+=("$default");\n else\n if type=$(declare -p "$name" 2> /dev/null); then\n case "${type#* }" in \n -A*)\n echo "concatTo(): ERROR: trying to use concatTo on an associative array." 1>&2;\n return 1\n ;;\n -a*)\n targetref+=("${nameref[@]}")\n ;;\n *)\n if [[ "$name" = *"Array" ]]; then\n nixErrorLog "concatTo(): $name is not declared as array, treating as a singleton. This will become an error in future";\n targetref+=(${nameref+"${nameref[@]}"});\n else\n targetref+=(${nameref-});\n fi\n ;;\n esac;\n fi;\n fi;\n done\n}\nconfigurePhase ()\n{\n \n runHook preConfigure;\n : "${configureScript=}";\n if [[ -z "$configureScript" && -x ./configure ]]; then\n configureScript=./configure;\n fi;\n if [ -z "${dontFixLibtool:-}" ]; then\n export lt_cv_deplibs_check_method="${lt_cv_deplibs_check_method-pass_all}";\n local i;\n find . -iname "ltmain.sh" -print0 | while IFS=\'\' read -r -d \'\' i; do\n echo "fixing libtool script $i";\n fixLibtool "$i";\n done;\n CONFIGURE_MTIME_REFERENCE=$(mktemp configure.mtime.reference.XXXXXX);\n find . -executable -type f -name configure -exec grep -l \'GNU Libtool is free software; you can redistribute it and/or modify\' {} \\; -exec touch -r {} "$CONFIGURE_MTIME_REFERENCE" \\; -exec sed -i s_/usr/bin/file_file_g {} \\; -exec touch -r "$CONFIGURE_MTIME_REFERENCE" {} \\;;\n rm -f "$CONFIGURE_MTIME_REFERENCE";\n fi;\n if [[ -z "${dontAddPrefix:-}" && -n "$prefix" ]]; then\n prependToVar configureFlags "${prefixKey:---prefix=}$prefix";\n fi;\n if [[ -f "$configureScript" ]]; then\n if [ -z "${dontAddDisableDepTrack:-}" ]; then\n if grep -q dependency-tracking "$configureScript"; then\n prependToVar configureFlags --disable-dependency-tracking;\n fi;\n fi;\n if [ -z "${dontDisableStatic:-}" ]; then\n if grep -q enable-static "$configureScript"; then\n prependToVar configureFlags --disable-static;\n fi;\n fi;\n if [ -z "${dontPatchShebangsInConfigure:-}" ]; then\n patchShebangs --build "$configureScript";\n fi;\n fi;\n if [ -n "$configureScript" ]; then\n local -a flagsArray;\n concatTo flagsArray configureFlags configureFlagsArray;\n echoCmd \'configure flags\' "${flagsArray[@]}";\n $configureScript "${flagsArray[@]}";\n unset flagsArray;\n else\n echo "no configure script, doing nothing";\n fi;\n runHook postConfigure\n}\nconsumeEntire ()\n{\n \n if IFS=\'\' read -r -d \'\' "$1"; then\n echo "consumeEntire(): ERROR: Input null bytes, won\'t process" 1>&2;\n return 1;\n fi\n}\ndistPhase ()\n{\n \n runHook preDist;\n local flagsArray=();\n concatTo flagsArray distFlags distFlagsArray distTarget=dist;\n echo \'dist flags: %q\' "${flagsArray[@]}";\n make ${makefile:+-f $makefile} "${flagsArray[@]}";\n if [ "${dontCopyDist:-0}" != 1 ]; then\n mkdir -p "$out/tarballs";\n cp -pvd ${tarballs[*]:-*.tar.gz} "$out/tarballs";\n fi;\n runHook postDist\n}\ndumpVars ()\n{\n \n if [[ "${noDumpEnvVars:-0}" != 1 && -d "$NIX_BUILD_TOP" ]]; then\n local old_umask;\n old_umask=$(umask);\n umask 0077;\n export 2> /dev/null > "$NIX_BUILD_TOP/env-vars";\n umask "$old_umask";\n fi\n}\nechoCmd ()\n{\n \n printf "%s:" "$1";\n shift;\n printf \' %q\' "$@";\n echo\n}\nexitHandler ()\n{\n \n exitCode="$?";\n set +e;\n if [ -n "${showBuildStats:-}" ]; then\n read -r -d \'\' -a buildTimes < <(times);\n echo "build times:";\n echo "user time for the shell ${buildTimes[0]}";\n echo "system time for the shell ${buildTimes[1]}";\n echo "user time for all child processes ${buildTimes[2]}";\n echo "system time for all child processes ${buildTimes[3]}";\n fi;\n if (( "$exitCode" != 0 )); then\n runHook failureHook;\n if [ -n "${succeedOnFailure:-}" ]; then\n echo "build failed with exit code $exitCode (ignored)";\n mkdir -p "$out/nix-support";\n printf "%s" "$exitCode" > "$out/nix-support/failed";\n exit 0;\n fi;\n else\n runHook exitHook;\n fi;\n return "$exitCode"\n}\nfindInputs ()\n{\n \n local -r pkg="$1";\n local -r hostOffset="$2";\n local -r targetOffset="$3";\n (( hostOffset <= targetOffset )) || exit 1;\n local varVar="${pkgAccumVarVars[hostOffset + 1]}";\n local varRef="$varVar[$((targetOffset - hostOffset))]";\n local var="${!varRef}";\n unset -v varVar varRef;\n local varSlice="$var[*]";\n case " ${!varSlice-} " in \n *" $pkg "*)\n return 0\n ;;\n esac;\n unset -v varSlice;\n eval "$var"\'+=("$pkg")\';\n if ! [ -e "$pkg" ]; then\n echo "build input $pkg does not exist" 1>&2;\n exit 1;\n fi;\n function mapOffset () \n { \n local -r inputOffset="$1";\n local -n outputOffset="$2";\n if (( inputOffset <= 0 )); then\n outputOffset=$((inputOffset + hostOffset));\n else\n outputOffset=$((inputOffset - 1 + targetOffset));\n fi\n };\n local relHostOffset;\n for relHostOffset in "${allPlatOffsets[@]}";\n do\n local files="${propagatedDepFilesVars[relHostOffset + 1]}";\n local hostOffsetNext;\n mapOffset "$relHostOffset" hostOffsetNext;\n (( -1 <= hostOffsetNext && hostOffsetNext <= 1 )) || continue;\n local relTargetOffset;\n for relTargetOffset in "${allPlatOffsets[@]}";\n do\n (( "$relHostOffset" <= "$relTargetOffset" )) || continue;\n local fileRef="${files}[$relTargetOffset - $relHostOffset]";\n local file="${!fileRef}";\n unset -v fileRef;\n local targetOffsetNext;\n mapOffset "$relTargetOffset" targetOffsetNext;\n (( -1 <= hostOffsetNext && hostOffsetNext <= 1 )) || continue;\n [[ -f "$pkg/nix-support/$file" ]] || continue;\n local pkgNext;\n read -r -d \'\' pkgNext < "$pkg/nix-support/$file" || true;\n for pkgNext in $pkgNext;\n do\n findInputs "$pkgNext" "$hostOffsetNext" "$targetOffsetNext";\n done;\n done;\n done\n}\nfixLibtool ()\n{\n \n local search_path;\n for flag in $NIX_LDFLAGS;\n do\n case $flag in \n -L*)\n search_path+=" ${flag#-L}"\n ;;\n esac;\n done;\n sed -i "$1" -e "s^eval \\(sys_lib_search_path=\\).*^\\1\'${search_path:-}\'^" -e \'s^eval sys_lib_.+search_path=.*^^\'\n}\nfixupPhase ()\n{\n \n local output;\n for output in $(getAllOutputNames);\n do\n if [ -e "${!output}" ]; then\n chmod -R u+w,u-s,g-s "${!output}";\n fi;\n done;\n runHook preFixup;\n local output;\n for output in $(getAllOutputNames);\n do\n prefix="${!output}" runHook fixupOutput;\n done;\n recordPropagatedDependencies;\n if [ -n "${setupHook:-}" ]; then\n mkdir -p "${!outputDev}/nix-support";\n substituteAll "$setupHook" "${!outputDev}/nix-support/setup-hook";\n fi;\n if [ -n "${setupHooks:-}" ]; then\n mkdir -p "${!outputDev}/nix-support";\n local hook;\n for hook in ${setupHooks[@]};\n do\n local content;\n consumeEntire content < "$hook";\n substituteAllStream content "file \'$hook\'" >> "${!outputDev}/nix-support/setup-hook";\n unset -v content;\n done;\n unset -v hook;\n fi;\n if [ -n "${propagatedUserEnvPkgs[*]:-}" ]; then\n mkdir -p "${!outputBin}/nix-support";\n printWords "${propagatedUserEnvPkgs[@]}" > "${!outputBin}/nix-support/propagated-user-env-packages";\n fi;\n runHook postFixup\n}\ngenericBuild ()\n{\n \n export GZIP_NO_TIMESTAMPS=1;\n if [ -f "${buildCommandPath:-}" ]; then\n source "$buildCommandPath";\n return;\n fi;\n if [ -n "${buildCommand:-}" ]; then\n eval "$buildCommand";\n return;\n fi;\n if [ -z "${phases[*]:-}" ]; then\n phases="${prePhases[*]:-} unpackPhase patchPhase ${preConfigurePhases[*]:-} configurePhase ${preBuildPhases[*]:-} buildPhase checkPhase ${preInstallPhases[*]:-} installPhase ${preFixupPhases[*]:-} fixupPhase installCheckPhase ${preDistPhases[*]:-} distPhase ${postPhases[*]:-}";\n fi;\n for curPhase in ${phases[*]};\n do\n runPhase "$curPhase";\n done\n}\ngetAllOutputNames ()\n{\n \n if [ -n "$__structuredAttrs" ]; then\n echo "${!outputs[*]}";\n else\n echo "$outputs";\n fi\n}\ngetHostRole ()\n{\n \n getRole "$hostOffset"\n}\ngetHostRoleEnvHook ()\n{\n \n getRole "$depHostOffset"\n}\ngetRole ()\n{\n \n case $1 in \n -1)\n role_post=\'_FOR_BUILD\'\n ;;\n 0)\n role_post=\'\'\n ;;\n 1)\n role_post=\'_FOR_TARGET\'\n ;;\n *)\n echo "binutils-wrapper-2.44: used as improper sort of dependency" 1>&2;\n return 1\n ;;\n esac\n}\ngetTargetRole ()\n{\n \n getRole "$targetOffset"\n}\ngetTargetRoleEnvHook ()\n{\n \n getRole "$depTargetOffset"\n}\ngetTargetRoleWrapper ()\n{\n \n case $targetOffset in \n -1)\n export NIX_BINTOOLS_WRAPPER_TARGET_BUILD_x86_64_unknown_linux_gnu=1\n ;;\n 0)\n export NIX_BINTOOLS_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu=1\n ;;\n 1)\n export NIX_BINTOOLS_WRAPPER_TARGET_TARGET_x86_64_unknown_linux_gnu=1\n ;;\n *)\n echo "binutils-wrapper-2.44: used as improper sort of dependency" 1>&2;\n return 1\n ;;\n esac\n}\ninstallCheckPhase ()\n{\n \n runHook preInstallCheck;\n if [[ -z "${foundMakefile:-}" ]]; then\n echo "no Makefile or custom installCheckPhase, doing nothing";\n else\n if [[ -z "${installCheckTarget:-}" ]] && ! make -n ${makefile:+-f $makefile} "${installCheckTarget:-installcheck}" > /dev/null 2>&1; then\n echo "no installcheck target in ${makefile:-Makefile}, doing nothing";\n else\n local flagsArray=(${enableParallelChecking:+-j${NIX_BUILD_CORES}} SHELL="$SHELL");\n concatTo flagsArray makeFlags makeFlagsArray installCheckFlags installCheckFlagsArray installCheckTarget=installcheck;\n echoCmd \'installcheck flags\' "${flagsArray[@]}";\n make ${makefile:+-f $makefile} "${flagsArray[@]}";\n unset flagsArray;\n fi;\n fi;\n runHook postInstallCheck\n}\ninstallPhase ()\n{\n \n runHook preInstall;\n if [[ -z "${makeFlags-}" && -z "${makefile:-}" && ! ( -e Makefile || -e makefile || -e GNUmakefile ) ]]; then\n echo "no Makefile or custom installPhase, doing nothing";\n runHook postInstall;\n return;\n else\n foundMakefile=1;\n fi;\n if [ -n "$prefix" ]; then\n mkdir -p "$prefix";\n fi;\n local flagsArray=(${enableParallelInstalling:+-j${NIX_BUILD_CORES}} SHELL="$SHELL");\n concatTo flagsArray makeFlags makeFlagsArray installFlags installFlagsArray installTargets=install;\n echoCmd \'install flags\' "${flagsArray[@]}";\n make ${makefile:+-f $makefile} "${flagsArray[@]}";\n unset flagsArray;\n runHook postInstall\n}\nisELF ()\n{\n \n local fn="$1";\n local fd;\n local magic;\n exec {fd}< "$fn";\n LANG=C read -r -n 4 -u "$fd" magic;\n exec {fd}>&-;\n if [ "$magic" = \'\177ELF\' ]; then\n return 0;\n else\n return 1;\n fi\n}\nisMachO ()\n{\n \n local fn="$1";\n local fd;\n local magic;\n exec {fd}< "$fn";\n LANG=C read -r -n 4 -u "$fd" magic;\n exec {fd}>&-;\n if [[ "$magic" = $(echo -ne "\\xfe\\xed\\xfa\\xcf") || "$magic" = $(echo -ne "\\xcf\\xfa\\xed\\xfe") ]]; then\n return 0;\n else\n if [[ "$magic" = $(echo -ne "\\xfe\\xed\\xfa\\xce") || "$magic" = $(echo -ne "\\xce\\xfa\\xed\\xfe") ]]; then\n return 0;\n else\n if [[ "$magic" = $(echo -ne "\\xca\\xfe\\xba\\xbe") || "$magic" = $(echo -ne "\\xbe\\xba\\xfe\\xca") ]]; then\n return 0;\n else\n return 1;\n fi;\n fi;\n fi\n}\nisScript ()\n{\n \n local fn="$1";\n local fd;\n local magic;\n exec {fd}< "$fn";\n LANG=C read -r -n 2 -u "$fd" magic;\n exec {fd}>&-;\n if [[ "$magic" =~ \\#! ]]; then\n return 0;\n else\n return 1;\n fi\n}\nmapOffset ()\n{\n \n local -r inputOffset="$1";\n local -n outputOffset="$2";\n if (( inputOffset <= 0 )); then\n outputOffset=$((inputOffset + hostOffset));\n else\n outputOffset=$((inputOffset - 1 + targetOffset));\n fi\n}\nmoveToOutput ()\n{\n \n local patt="$1";\n local dstOut="$2";\n local output;\n for output in $(getAllOutputNames);\n do\n if [ "${!output}" = "$dstOut" ]; then\n continue;\n fi;\n local srcPath;\n for srcPath in "${!output}"/$patt;\n do\n if [ ! -e "$srcPath" ] && [ ! -L "$srcPath" ]; then\n continue;\n fi;\n if [ "$dstOut" = REMOVE ]; then\n echo "Removing $srcPath";\n rm -r "$srcPath";\n else\n local dstPath="$dstOut${srcPath#${!output}}";\n echo "Moving $srcPath to $dstPath";\n if [ -d "$dstPath" ] && [ -d "$srcPath" ]; then\n rmdir "$srcPath" --ignore-fail-on-non-empty;\n if [ -d "$srcPath" ]; then\n mv -t "$dstPath" "$srcPath"/*;\n rmdir "$srcPath";\n fi;\n else\n mkdir -p "$(readlink -m "$dstPath/..")";\n mv "$srcPath" "$dstPath";\n fi;\n fi;\n local srcParent="$(readlink -m "$srcPath/..")";\n if [ -n "$(find "$srcParent" -maxdepth 0 -type d -empty 2> /dev/null)" ]; then\n echo "Removing empty $srcParent/ and (possibly) its parents";\n rmdir -p --ignore-fail-on-non-empty "$srcParent" 2> /dev/null || true;\n fi;\n done;\n done\n}\nnixChattyLog ()\n{\n \n _nixLogWithLevel 5 "$*"\n}\nnixDebugLog ()\n{\n \n _nixLogWithLevel 6 "$*"\n}\nnixErrorLog ()\n{\n \n _nixLogWithLevel 0 "$*"\n}\nnixInfoLog ()\n{\n \n _nixLogWithLevel 3 "$*"\n}\nnixLog ()\n{\n \n [[ -z ${NIX_LOG_FD-} ]] && return 0;\n local callerName="${FUNCNAME[1]}";\n if [[ $callerName == "_callImplicitHook" ]]; then\n callerName="${hookName:?}";\n fi;\n printf "%s: %s\\n" "$callerName" "$*" >&"$NIX_LOG_FD"\n}\nnixNoticeLog ()\n{\n \n _nixLogWithLevel 2 "$*"\n}\nnixTalkativeLog ()\n{\n \n _nixLogWithLevel 4 "$*"\n}\nnixVomitLog ()\n{\n \n _nixLogWithLevel 7 "$*"\n}\nnixWarnLog ()\n{\n \n _nixLogWithLevel 1 "$*"\n}\nnoBrokenSymlinks ()\n{\n \n local -r output="${1:?}";\n local path;\n local pathParent;\n local symlinkTarget;\n local -i numDanglingSymlinks=0;\n local -i numReflexiveSymlinks=0;\n local -i numUnreadableSymlinks=0;\n if [[ ! -e $output ]]; then\n nixWarnLog "skipping non-existent output $output";\n return 0;\n fi;\n nixInfoLog "running on $output";\n while IFS= read -r -d \'\' path; do\n pathParent="$(dirname "$path")";\n if ! symlinkTarget="$(readlink "$path")"; then\n nixErrorLog "the symlink $path is unreadable";\n numUnreadableSymlinks+=1;\n continue;\n fi;\n if [[ $symlinkTarget == /* ]]; then\n nixInfoLog "symlink $path points to absolute target $symlinkTarget";\n else\n nixInfoLog "symlink $path points to relative target $symlinkTarget";\n symlinkTarget="$(realpath --no-symlinks --canonicalize-missing "$pathParent/$symlinkTarget")";\n fi;\n if [[ $symlinkTarget = "$TMPDIR"/* ]]; then\n nixErrorLog "the symlink $path points to $TMPDIR directory: $symlinkTarget";\n numDanglingSymlinks+=1;\n continue;\n fi;\n if [[ $symlinkTarget != "$NIX_STORE"/* ]]; then\n nixInfoLog "symlink $path points outside the Nix store; ignoring";\n continue;\n fi;\n if [[ $path == "$symlinkTarget" ]]; then\n nixErrorLog "the symlink $path is reflexive";\n numReflexiveSymlinks+=1;\n else\n if [[ ! -e $symlinkTarget ]]; then\n nixErrorLog "the symlink $path points to a missing target: $symlinkTarget";\n numDanglingSymlinks+=1;\n else\n nixDebugLog "the symlink $path is irreflexive and points to a target which exists";\n fi;\n fi;\n done < <(find "$output" -type l -print0);\n if ((numDanglingSymlinks > 0 || numReflexiveSymlinks > 0 || numUnreadableSymlinks > 0)); then\n nixErrorLog "found $numDanglingSymlinks dangling symlinks, $numReflexiveSymlinks reflexive symlinks and $numUnreadableSymlinks unreadable symlinks";\n exit 1;\n fi;\n return 0\n}\nnoBrokenSymlinksInAllOutputs ()\n{\n \n if [[ -z ${dontCheckForBrokenSymlinks-} ]]; then\n for output in $(getAllOutputNames);\n do\n noBrokenSymlinks "${!output}";\n done;\n fi\n}\npatchELF ()\n{\n \n local dir="$1";\n [ -e "$dir" ] || return 0;\n echo "shrinking RPATHs of ELF executables and libraries in $dir";\n local i;\n while IFS= read -r -d \'\' i; do\n if [[ "$i" =~ .build-id ]]; then\n continue;\n fi;\n if ! isELF "$i"; then\n continue;\n fi;\n echo "shrinking $i";\n patchelf --shrink-rpath "$i" || true;\n done < <(find "$dir" -type f -print0)\n}\npatchPhase ()\n{\n \n runHook prePatch;\n local -a patchesArray;\n concatTo patchesArray patches;\n local -a flagsArray;\n concatTo flagsArray patchFlags=-p1;\n for i in "${patchesArray[@]}";\n do\n echo "applying patch $i";\n local uncompress=cat;\n case "$i" in \n *.gz)\n uncompress="gzip -d"\n ;;\n *.bz2)\n uncompress="bzip2 -d"\n ;;\n *.xz)\n uncompress="xz -d"\n ;;\n *.lzma)\n uncompress="lzma -d"\n ;;\n esac;\n $uncompress < "$i" 2>&1 | patch "${flagsArray[@]}";\n done;\n runHook postPatch\n}\npatchShebangs ()\n{\n \n local pathName;\n local update=false;\n while [[ $# -gt 0 ]]; do\n case "$1" in \n --host)\n pathName=HOST_PATH;\n shift\n ;;\n --build)\n pathName=PATH;\n shift\n ;;\n --update)\n update=true;\n shift\n ;;\n --)\n shift;\n break\n ;;\n -* | --*)\n echo "Unknown option $1 supplied to patchShebangs" 1>&2;\n return 1\n ;;\n *)\n break\n ;;\n esac;\n done;\n echo "patching script interpreter paths in $@";\n local f;\n local oldPath;\n local newPath;\n local arg0;\n local args;\n local oldInterpreterLine;\n local newInterpreterLine;\n if [[ $# -eq 0 ]]; then\n echo "No arguments supplied to patchShebangs" 1>&2;\n return 0;\n fi;\n local f;\n while IFS= read -r -d \'\' f; do\n isScript "$f" || continue;\n read -r oldInterpreterLine < "$f" || [ "$oldInterpreterLine" ];\n read -r oldPath arg0 args <<< "${oldInterpreterLine:2}";\n if [[ -z "${pathName:-}" ]]; then\n if [[ -n $strictDeps && $f == "$NIX_STORE"* ]]; then\n pathName=HOST_PATH;\n else\n pathName=PATH;\n fi;\n fi;\n if [[ "$oldPath" == *"/bin/env" ]]; then\n if [[ $arg0 == "-S" ]]; then\n arg0=${args%% *};\n [[ "$args" == *" "* ]] && args=${args#* } || args=;\n newPath="$(PATH="${!pathName}" type -P "env" || true)";\n args="-S $(PATH="${!pathName}" type -P "$arg0" || true) $args";\n else\n if [[ $arg0 == "-"* || $arg0 == *"="* ]]; then\n echo "$f: unsupported interpreter directive \\"$oldInterpreterLine\\" (set dontPatchShebangs=1 and handle shebang patching yourself)" 1>&2;\n exit 1;\n else\n newPath="$(PATH="${!pathName}" type -P "$arg0" || true)";\n fi;\n fi;\n else\n if [[ -z $oldPath ]]; then\n oldPath="/bin/sh";\n fi;\n newPath="$(PATH="${!pathName}" type -P "$(basename "$oldPath")" || true)";\n args="$arg0 $args";\n fi;\n newInterpreterLine="$newPath $args";\n newInterpreterLine=${newInterpreterLine%${newInterpreterLine##*[![:space:]]}};\n if [[ -n "$oldPath" && ( "$update" == true || "${oldPath:0:${#NIX_STORE}}" != "$NIX_STORE" ) ]]; then\n if [[ -n "$newPath" && "$newPath" != "$oldPath" ]]; then\n echo "$f: interpreter directive changed from \\"$oldInterpreterLine\\" to \\"$newInterpreterLine\\"";\n escapedInterpreterLine=${newInterpreterLine//\\\\/\\\\\\\\};\n timestamp=$(stat --printf "%y" "$f");\n tmpFile=$(mktemp -t patchShebangs.XXXXXXXXXX);\n sed -e "1 s|.*|#\\!$escapedInterpreterLine|" "$f" > "$tmpFile";\n local restoreReadOnly;\n if [[ ! -w "$f" ]]; then\n chmod +w "$f";\n restoreReadOnly=true;\n fi;\n cat "$tmpFile" > "$f";\n rm "$tmpFile";\n if [[ -n "${restoreReadOnly:-}" ]]; then\n chmod -w "$f";\n fi;\n touch --date "$timestamp" "$f";\n fi;\n fi;\n done < <(find "$@" -type f -perm -0100 -print0)\n}\npatchShebangsAuto ()\n{\n \n if [[ -z "${dontPatchShebangs-}" && -e "$prefix" ]]; then\n if [[ "$output" != out && "$output" = "$outputDev" ]]; then\n patchShebangs --build "$prefix";\n else\n patchShebangs --host "$prefix";\n fi;\n fi\n}\npkgConfigWrapper_addPkgConfigPath ()\n{\n \n local role_post;\n getHostRoleEnvHook;\n addToSearchPath "PKG_CONFIG_PATH${role_post}" "$1/lib/pkgconfig";\n addToSearchPath "PKG_CONFIG_PATH${role_post}" "$1/share/pkgconfig"\n}\nprependToVar ()\n{\n \n local -n nameref="$1";\n local useArray type;\n if [ -n "$__structuredAttrs" ]; then\n useArray=true;\n else\n useArray=false;\n fi;\n if type=$(declare -p "$1" 2> /dev/null); then\n case "${type#* }" in \n -A*)\n echo "prependToVar(): ERROR: trying to use prependToVar on an associative array." 1>&2;\n return 1\n ;;\n -a*)\n useArray=true\n ;;\n *)\n useArray=false\n ;;\n esac;\n fi;\n shift;\n if $useArray; then\n nameref=("$@" ${nameref+"${nameref[@]}"});\n else\n nameref="$* ${nameref-}";\n fi\n}\nprintLines ()\n{\n \n (( "$#" > 0 )) || return 0;\n printf \'%s\\n\' "$@"\n}\nprintWords ()\n{\n \n (( "$#" > 0 )) || return 0;\n printf \'%s \' "$@"\n}\nrecordPropagatedDependencies ()\n{\n \n declare -ra flatVars=(depsBuildBuildPropagated propagatedNativeBuildInputs depsBuildTargetPropagated depsHostHostPropagated propagatedBuildInputs depsTargetTargetPropagated);\n declare -ra flatFiles=("${propagatedBuildDepFiles[@]}" "${propagatedHostDepFiles[@]}" "${propagatedTargetDepFiles[@]}");\n local propagatedInputsIndex;\n for propagatedInputsIndex in "${!flatVars[@]}";\n do\n local propagatedInputsSlice="${flatVars[$propagatedInputsIndex]}[@]";\n local propagatedInputsFile="${flatFiles[$propagatedInputsIndex]}";\n [[ -n "${!propagatedInputsSlice}" ]] || continue;\n mkdir -p "${!outputDev}/nix-support";\n printWords ${!propagatedInputsSlice} > "${!outputDev}/nix-support/$propagatedInputsFile";\n done\n}\nrunHook ()\n{\n \n local hookName="$1";\n shift;\n local hooksSlice="${hookName%Hook}Hooks[@]";\n local hook;\n for hook in "_callImplicitHook 0 $hookName" ${!hooksSlice+"${!hooksSlice}"};\n do\n _logHook "$hookName" "$hook" "$@";\n _eval "$hook" "$@";\n done;\n return 0\n}\nrunOneHook ()\n{\n \n local hookName="$1";\n shift;\n local hooksSlice="${hookName%Hook}Hooks[@]";\n local hook ret=1;\n for hook in "_callImplicitHook 1 $hookName" ${!hooksSlice+"${!hooksSlice}"};\n do\n _logHook "$hookName" "$hook" "$@";\n if _eval "$hook" "$@"; then\n ret=0;\n break;\n fi;\n done;\n return "$ret"\n}\nrunPhase ()\n{\n \n local curPhase="$*";\n if [[ "$curPhase" = unpackPhase && -n "${dontUnpack:-}" ]]; then\n return;\n fi;\n if [[ "$curPhase" = patchPhase && -n "${dontPatch:-}" ]]; then\n return;\n fi;\n if [[ "$curPhase" = configurePhase && -n "${dontConfigure:-}" ]]; then\n return;\n fi;\n if [[ "$curPhase" = buildPhase && -n "${dontBuild:-}" ]]; then\n return;\n fi;\n if [[ "$curPhase" = checkPhase && -z "${doCheck:-}" ]]; then\n return;\n fi;\n if [[ "$curPhase" = installPhase && -n "${dontInstall:-}" ]]; then\n return;\n fi;\n if [[ "$curPhase" = fixupPhase && -n "${dontFixup:-}" ]]; then\n return;\n fi;\n if [[ "$curPhase" = installCheckPhase && -z "${doInstallCheck:-}" ]]; then\n return;\n fi;\n if [[ "$curPhase" = distPhase && -z "${doDist:-}" ]]; then\n return;\n fi;\n showPhaseHeader "$curPhase";\n dumpVars;\n local startTime endTime;\n startTime=$(date +"%s");\n eval "${!curPhase:-$curPhase}";\n endTime=$(date +"%s");\n showPhaseFooter "$curPhase" "$startTime" "$endTime";\n if [ "$curPhase" = unpackPhase ]; then\n [ -n "${sourceRoot:-}" ] && chmod +x -- "${sourceRoot}";\n cd -- "${sourceRoot:-.}";\n fi\n}\nshowPhaseFooter ()\n{\n \n local phase="$1";\n local startTime="$2";\n local endTime="$3";\n local delta=$(( endTime - startTime ));\n (( delta < 30 )) && return;\n local H=$((delta/3600));\n local M=$((delta%3600/60));\n local S=$((delta%60));\n echo -n "$phase completed in ";\n (( H > 0 )) && echo -n "$H hours ";\n (( M > 0 )) && echo -n "$M minutes ";\n echo "$S seconds"\n}\nshowPhaseHeader ()\n{\n \n local phase="$1";\n echo "Running phase: $phase";\n if [[ -z ${NIX_LOG_FD-} ]]; then\n return;\n fi;\n printf "@nix { \\"action\\": \\"setPhase\\", \\"phase\\": \\"%s\\" }\\n" "$phase" >&"$NIX_LOG_FD"\n}\nstripDirs ()\n{\n \n local cmd="$1";\n local ranlibCmd="$2";\n local paths="$3";\n local stripFlags="$4";\n local excludeFlags=();\n local pathsNew=;\n [ -z "$cmd" ] && echo "stripDirs: Strip command is empty" 1>&2 && exit 1;\n [ -z "$ranlibCmd" ] && echo "stripDirs: Ranlib command is empty" 1>&2 && exit 1;\n local pattern;\n if [ -n "${stripExclude:-}" ]; then\n for pattern in "${stripExclude[@]}";\n do\n excludeFlags+=(-a \'!\' \'(\' -name "$pattern" -o -wholename "$prefix/$pattern" \')\');\n done;\n fi;\n local p;\n for p in ${paths};\n do\n if [ -e "$prefix/$p" ]; then\n pathsNew="${pathsNew} $prefix/$p";\n fi;\n done;\n paths=${pathsNew};\n if [ -n "${paths}" ]; then\n echo "stripping (with command $cmd and flags $stripFlags) in $paths";\n local striperr;\n striperr="$(mktemp --tmpdir="$TMPDIR" \'striperr.XXXXXX\')";\n find $paths -type f "${excludeFlags[@]}" -a \'!\' -path "$prefix/lib/debug/*" -printf \'%D-%i,%p\\0\' | sort -t, -k1,1 -u -z | cut -d, -f2- -z | xargs -r -0 -n1 -P "$NIX_BUILD_CORES" -- $cmd $stripFlags 2> "$striperr" || exit_code=$?;\n [[ "$exit_code" = 123 || -z "$exit_code" ]] || ( cat "$striperr" 1>&2 && exit 1 );\n rm "$striperr";\n find $paths -name \'*.a\' -type f -exec $ranlibCmd \'{}\' \\; 2> /dev/null;\n fi\n}\nstripHash ()\n{\n \n local strippedName casematchOpt=0;\n strippedName="$(basename -- "$1")";\n shopt -q nocasematch && casematchOpt=1;\n shopt -u nocasematch;\n if [[ "$strippedName" =~ ^[a-z0-9]{32}- ]]; then\n echo "${strippedName:33}";\n else\n echo "$strippedName";\n fi;\n if (( casematchOpt )); then\n shopt -s nocasematch;\n fi\n}\nsubstitute ()\n{\n \n local input="$1";\n local output="$2";\n shift 2;\n if [ ! -f "$input" ]; then\n echo "substitute(): ERROR: file \'$input\' does not exist" 1>&2;\n return 1;\n fi;\n local content;\n consumeEntire content < "$input";\n if [ -e "$output" ]; then\n chmod +w "$output";\n fi;\n substituteStream content "file \'$input\'" "$@" > "$output"\n}\nsubstituteAll ()\n{\n \n local input="$1";\n local output="$2";\n local -a args=();\n _allFlags;\n substitute "$input" "$output" "${args[@]}"\n}\nsubstituteAllInPlace ()\n{\n \n local fileName="$1";\n shift;\n substituteAll "$fileName" "$fileName" "$@"\n}\nsubstituteAllStream ()\n{\n \n local -a args=();\n _allFlags;\n substituteStream "$1" "$2" "${args[@]}"\n}\nsubstituteInPlace ()\n{\n \n local -a fileNames=();\n for arg in "$@";\n do\n if [[ "$arg" = "--"* ]]; then\n break;\n fi;\n fileNames+=("$arg");\n shift;\n done;\n if ! [[ "${#fileNames[@]}" -gt 0 ]]; then\n echo "substituteInPlace called without any files to operate on (files must come before options!)" 1>&2;\n return 1;\n fi;\n for file in "${fileNames[@]}";\n do\n substitute "$file" "$file" "$@";\n done\n}\nsubstituteStream ()\n{\n \n local var=$1;\n local description=$2;\n shift 2;\n while (( "$#" )); do\n local replace_mode="$1";\n case "$1" in \n --replace)\n if ! "$_substituteStream_has_warned_replace_deprecation"; then\n echo "substituteStream() in derivation $name: WARNING: \'--replace\' is deprecated, use --replace-{fail,warn,quiet}. ($description)" 1>&2;\n _substituteStream_has_warned_replace_deprecation=true;\n fi;\n replace_mode=\'--replace-warn\'\n ;&\n --replace-quiet | --replace-warn | --replace-fail)\n pattern="$2";\n replacement="$3";\n shift 3;\n if ! [[ "${!var}" == *"$pattern"* ]]; then\n if [ "$replace_mode" == --replace-warn ]; then\n printf "substituteStream() in derivation $name: WARNING: pattern %q doesn\'t match anything in %s\\n" "$pattern" "$description" 1>&2;\n else\n if [ "$replace_mode" == --replace-fail ]; then\n printf "substituteStream() in derivation $name: ERROR: pattern %q doesn\'t match anything in %s\\n" "$pattern" "$description" 1>&2;\n return 1;\n fi;\n fi;\n fi;\n eval "$var"\'=${\'"$var"\'//"$pattern"/"$replacement"}\'\n ;;\n --subst-var)\n local varName="$2";\n shift 2;\n if ! [[ "$varName" =~ ^[a-zA-Z_][a-zA-Z0-9_]*$ ]]; then\n echo "substituteStream() in derivation $name: ERROR: substitution variables must be valid Bash names, \\"$varName\\" isn\'t." 1>&2;\n return 1;\n fi;\n if [ -z ${!varName+x} ]; then\n echo "substituteStream() in derivation $name: ERROR: variable \\$$varName is unset" 1>&2;\n return 1;\n fi;\n pattern="@$varName@";\n replacement="${!varName}";\n eval "$var"\'=${\'"$var"\'//"$pattern"/"$replacement"}\'\n ;;\n --subst-var-by)\n pattern="@$2@";\n replacement="$3";\n eval "$var"\'=${\'"$var"\'//"$pattern"/"$replacement"}\';\n shift 3\n ;;\n *)\n echo "substituteStream() in derivation $name: ERROR: Invalid command line argument: $1" 1>&2;\n return 1\n ;;\n esac;\n done;\n printf "%s" "${!var}"\n}\nsysconfigdataHook ()\n{\n \n if [ "$1" = \'/nix/store/3lll9y925zz9393sa59h653xik66srjb-python3-3.13.9\' ]; then\n export _PYTHON_HOST_PLATFORM=\'linux-x86_64\';\n export _PYTHON_SYSCONFIGDATA_NAME=\'_sysconfigdata__linux_x86_64-linux-gnu\';\n fi\n}\ntoPythonPath ()\n{\n \n local paths="$1";\n local result=;\n for i in $paths;\n do\n p="$i/lib/python3.13/site-packages";\n result="${result}${result:+:}$p";\n done;\n echo $result\n}\nunpackFile ()\n{\n \n curSrc="$1";\n echo "unpacking source archive $curSrc";\n if ! runOneHook unpackCmd "$curSrc"; then\n echo "do not know how to unpack source archive $curSrc";\n exit 1;\n fi\n}\nunpackPhase ()\n{\n \n runHook preUnpack;\n if [ -z "${srcs:-}" ]; then\n if [ -z "${src:-}" ]; then\n echo \'variable $src or $srcs should point to the source\';\n exit 1;\n fi;\n srcs="$src";\n fi;\n local -a srcsArray;\n concatTo srcsArray srcs;\n local dirsBefore="";\n for i in *;\n do\n if [ -d "$i" ]; then\n dirsBefore="$dirsBefore $i ";\n fi;\n done;\n for i in "${srcsArray[@]}";\n do\n unpackFile "$i";\n done;\n : "${sourceRoot=}";\n if [ -n "${setSourceRoot:-}" ]; then\n runOneHook setSourceRoot;\n else\n if [ -z "$sourceRoot" ]; then\n for i in *;\n do\n if [ -d "$i" ]; then\n case $dirsBefore in \n *\\ $i\\ *)\n\n ;;\n *)\n if [ -n "$sourceRoot" ]; then\n echo "unpacker produced multiple directories";\n exit 1;\n fi;\n sourceRoot="$i"\n ;;\n esac;\n fi;\n done;\n fi;\n fi;\n if [ -z "$sourceRoot" ]; then\n echo "unpacker appears to have produced no directories";\n exit 1;\n fi;\n echo "source root is $sourceRoot";\n if [ "${dontMakeSourcesWritable:-0}" != 1 ]; then\n chmod -R u+w -- "$sourceRoot";\n fi;\n runHook postUnpack\n}\nupdateAutotoolsGnuConfigScriptsPhase ()\n{\n \n if [ -n "${dontUpdateAutotoolsGnuConfigScripts-}" ]; then\n return;\n fi;\n for script in config.sub config.guess;\n do\n for f in $(find . -type f -name "$script");\n do\n echo "Updating Autotools / GNU config script to a newer upstream version: $f";\n cp -f "/nix/store/1kzclixw4c13wxin0b6cij1zykvwp0wb-gnu-config-2024-01-01/$script" "$f";\n done;\n done\n}\nupdateSourceDateEpoch ()\n{\n \n local path="$1";\n [[ $path == -* ]] && path="./$path";\n local -a res=($(find "$path" -type f -not -newer "$NIX_BUILD_TOP/.." -printf \'%T@ "%p"\\0\' | sort -n --zero-terminated | tail -n1 --zero-terminated | head -c -1));\n local time="${res[0]//\\.[0-9]*/}";\n local newestFile="${res[1]}";\n if [ "${time:-0}" -gt "$SOURCE_DATE_EPOCH" ]; then\n echo "setting SOURCE_DATE_EPOCH to timestamp $time of file $newestFile";\n export SOURCE_DATE_EPOCH="$time";\n local now="$(date +%s)";\n if [ "$time" -gt $((now - 60)) ]; then\n echo "warning: file $newestFile may be generated; SOURCE_DATE_EPOCH may be non-deterministic";\n fi;\n fi\n}\nPATH="$PATH${nix_saved_PATH:+:$nix_saved_PATH}"\nXDG_DATA_DIRS="$XDG_DATA_DIRS${nix_saved_XDG_DATA_DIRS:+:$nix_saved_XDG_DATA_DIRS}"\nexport NIX_BUILD_TOP="$(mktemp -d -t nix-shell.XXXXXX)"\nexport TMP="$NIX_BUILD_TOP"\nexport TMPDIR="$NIX_BUILD_TOP"\nexport TEMP="$NIX_BUILD_TOP"\nexport TEMPDIR="$NIX_BUILD_TOP"\neval "${shellHook:-}"'
./.envrc: eval:65: syntax error near unexpected token `('
./.envrc: eval:65: `Checking secrets in dr-ctf using onepassword (profile: development)...'
++ [[ -n '' ]]
++ _nix_export_or_unset NIX_BUILD_TOP __UNSET__
++ local key=NIX_BUILD_TOP value=__UNSET__
++ [[ __UNSET__ == __UNSET__ ]]
++ unset NIX_BUILD_TOP
++ _nix_export_or_unset TMP __UNSET__
++ local key=TMP value=__UNSET__
++ [[ __UNSET__ == __UNSET__ ]]
++ unset TMP
++ _nix_export_or_unset TMPDIR __UNSET__
++ local key=TMPDIR value=__UNSET__
++ [[ __UNSET__ == __UNSET__ ]]
++ unset TMPDIR
++ _nix_export_or_unset TEMP __UNSET__
++ local key=TEMP value=__UNSET__
++ [[ __UNSET__ == __UNSET__ ]]
++ unset TEMP
++ _nix_export_or_unset TEMPDIR __UNSET__
++ local key=TEMPDIR value=__UNSET__
++ [[ __UNSET__ == __UNSET__ ]]
++ unset TEMPDIR
++ local new_xdg_data_dirs=/usr/share/gnome:/usr/share/cinnamon:/usr/share/gnome:/home/ender/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share:/home/ender/.nix-profile/share:/nix/var/nix/profiles/default/share:/home/ender/.nix-profile/share:/nix/var/nix/profiles/default/share
++ export XDG_DATA_DIRS=
++ XDG_DATA_DIRS=
++ local IFS=:
++ for dir in $new_xdg_data_dirs${old_xdg_data_dirs:+:}$old_xdg_data_dirs
++ dir=/usr/share/gnome
++ [[ :: = *:/usr/share/gnome:* ]]
++ XDG_DATA_DIRS=/usr/share/gnome
++ for dir in $new_xdg_data_dirs${old_xdg_data_dirs:+:}$old_xdg_data_dirs
++ dir=/usr/share/cinnamon
++ [[ :/usr/share/gnome: = *:/usr/share/cinnamon:* ]]
++ XDG_DATA_DIRS=/usr/share/gnome:/usr/share/cinnamon
++ for dir in $new_xdg_data_dirs${old_xdg_data_dirs:+:}$old_xdg_data_dirs
++ dir=/usr/share/gnome
++ [[ :/usr/share/gnome:/usr/share/cinnamon: = *:/usr/share/gnome:* ]]
++ continue
++ for dir in $new_xdg_data_dirs${old_xdg_data_dirs:+:}$old_xdg_data_dirs
++ dir=/home/ender/.local/share/flatpak/exports/share
++ [[ :/usr/share/gnome:/usr/share/cinnamon: = *:/home/ender/.local/share/flatpak/exports/share:* ]]
++ XDG_DATA_DIRS=/usr/share/gnome:/usr/share/cinnamon:/home/ender/.local/share/flatpak/exports/share
++ for dir in $new_xdg_data_dirs${old_xdg_data_dirs:+:}$old_xdg_data_dirs
++ dir=/var/lib/flatpak/exports/share
++ [[ :/usr/share/gnome:/usr/share/cinnamon:/home/ender/.local/share/flatpak/exports/share: = *:/var/lib/flatpak/exports/share:* ]]
++ XDG_DATA_DIRS=/usr/share/gnome:/usr/share/cinnamon:/home/ender/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share
++ for dir in $new_xdg_data_dirs${old_xdg_data_dirs:+:}$old_xdg_data_dirs
++ dir=/usr/local/share
++ [[ :/usr/share/gnome:/usr/share/cinnamon:/home/ender/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share: = *:/usr/local/share:* ]]
++ XDG_DATA_DIRS=/usr/share/gnome:/usr/share/cinnamon:/home/ender/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share
++ for dir in $new_xdg_data_dirs${old_xdg_data_dirs:+:}$old_xdg_data_dirs
++ dir=/usr/share
++ [[ :/usr/share/gnome:/usr/share/cinnamon:/home/ender/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share: = *:/usr/share:* ]]
++ XDG_DATA_DIRS=/usr/share/gnome:/usr/share/cinnamon:/home/ender/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share
++ for dir in $new_xdg_data_dirs${old_xdg_data_dirs:+:}$old_xdg_data_dirs
++ dir=/home/ender/.nix-profile/share
++ [[ :/usr/share/gnome:/usr/share/cinnamon:/home/ender/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share: = *:/home/ender/.nix-profile/share:* ]]
++ XDG_DATA_DIRS=/usr/share/gnome:/usr/share/cinnamon:/home/ender/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share:/home/ender/.nix-profile/share
++ for dir in $new_xdg_data_dirs${old_xdg_data_dirs:+:}$old_xdg_data_dirs
++ dir=/nix/var/nix/profiles/default/share
++ [[ :/usr/share/gnome:/usr/share/cinnamon:/home/ender/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share:/home/ender/.nix-profile/share: = *:/nix/var/nix/profiles/default/share:* ]]
++ XDG_DATA_DIRS=/usr/share/gnome:/usr/share/cinnamon:/home/ender/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share:/home/ender/.nix-profile/share:/nix/var/nix/profiles/default/share
++ for dir in $new_xdg_data_dirs${old_xdg_data_dirs:+:}$old_xdg_data_dirs
++ dir=/home/ender/.nix-profile/share
++ [[ :/usr/share/gnome:/usr/share/cinnamon:/home/ender/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share:/home/ender/.nix-profile/share:/nix/var/nix/profiles/default/share: = *:/home/ender/.nix-profile/share:* ]]
++ continue
++ for dir in $new_xdg_data_dirs${old_xdg_data_dirs:+:}$old_xdg_data_dirs
++ dir=/nix/var/nix/profiles/default/share
++ [[ :/usr/share/gnome:/usr/share/cinnamon:/home/ender/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share:/home/ender/.nix-profile/share:/nix/var/nix/profiles/default/share: = *:/nix/var/nix/profiles/default/share:* ]]
++ continue
++ for dir in $new_xdg_data_dirs${old_xdg_data_dirs:+:}$old_xdg_data_dirs
++ dir=/usr/share/gnome
++ [[ :/usr/share/gnome:/usr/share/cinnamon:/home/ender/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share:/home/ender/.nix-profile/share:/nix/var/nix/profiles/default/share: = *:/usr/share/gnome:* ]]
++ continue
++ for dir in $new_xdg_data_dirs${old_xdg_data_dirs:+:}$old_xdg_data_dirs
++ dir=/usr/share/cinnamon
++ [[ :/usr/share/gnome:/usr/share/cinnamon:/home/ender/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share:/home/ender/.nix-profile/share:/nix/var/nix/profiles/default/share: = *:/usr/share/cinnamon:* ]]
++ continue
++ for dir in $new_xdg_data_dirs${old_xdg_data_dirs:+:}$old_xdg_data_dirs
++ dir=/usr/share/gnome
++ [[ :/usr/share/gnome:/usr/share/cinnamon:/home/ender/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share:/home/ender/.nix-profile/share:/nix/var/nix/profiles/default/share: = *:/usr/share/gnome:* ]]
++ continue
++ for dir in $new_xdg_data_dirs${old_xdg_data_dirs:+:}$old_xdg_data_dirs
++ dir=/home/ender/.local/share/flatpak/exports/share
++ [[ :/usr/share/gnome:/usr/share/cinnamon:/home/ender/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share:/home/ender/.nix-profile/share:/nix/var/nix/profiles/default/share: = *:/home/ender/.local/share/flatpak/exports/share:* ]]
++ continue
++ for dir in $new_xdg_data_dirs${old_xdg_data_dirs:+:}$old_xdg_data_dirs
++ dir=/var/lib/flatpak/exports/share
++ [[ :/usr/share/gnome:/usr/share/cinnamon:/home/ender/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share:/home/ender/.nix-profile/share:/nix/var/nix/profiles/default/share: = *:/var/lib/flatpak/exports/share:* ]]
++ continue
++ for dir in $new_xdg_data_dirs${old_xdg_data_dirs:+:}$old_xdg_data_dirs
++ dir=/usr/local/share
++ [[ :/usr/share/gnome:/usr/share/cinnamon:/home/ender/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share:/home/ender/.nix-profile/share:/nix/var/nix/profiles/default/share: = *:/usr/local/share:* ]]
++ continue
++ for dir in $new_xdg_data_dirs${old_xdg_data_dirs:+:}$old_xdg_data_dirs
++ dir=/usr/share
++ [[ :/usr/share/gnome:/usr/share/cinnamon:/home/ender/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share:/home/ender/.nix-profile/share:/nix/var/nix/profiles/default/share: = *:/usr/share:* ]]
++ continue
++ for dir in $new_xdg_data_dirs${old_xdg_data_dirs:+:}$old_xdg_data_dirs
++ dir=/home/ender/.nix-profile/share
++ [[ :/usr/share/gnome:/usr/share/cinnamon:/home/ender/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share:/home/ender/.nix-profile/share:/nix/var/nix/profiles/default/share: = *:/home/ender/.nix-profile/share:* ]]
++ continue
++ for dir in $new_xdg_data_dirs${old_xdg_data_dirs:+:}$old_xdg_data_dirs
++ dir=/nix/var/nix/profiles/default/share
++ [[ :/usr/share/gnome:/usr/share/cinnamon:/home/ender/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share:/home/ender/.nix-profile/share:/nix/var/nix/profiles/default/share: = *:/nix/var/nix/profiles/default/share:* ]]
++ continue
++ for dir in $new_xdg_data_dirs${old_xdg_data_dirs:+:}$old_xdg_data_dirs
++ dir=/home/ender/.nix-profile/share
++ [[ :/usr/share/gnome:/usr/share/cinnamon:/home/ender/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share:/home/ender/.nix-profile/share:/nix/var/nix/profiles/default/share: = *:/home/ender/.nix-profile/share:* ]]
++ continue
++ for dir in $new_xdg_data_dirs${old_xdg_data_dirs:+:}$old_xdg_data_dirs
++ dir=/nix/var/nix/profiles/default/share
++ [[ :/usr/share/gnome:/usr/share/cinnamon:/home/ender/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share:/home/ender/.nix-profile/share:/nix/var/nix/profiles/default/share: = *:/nix/var/nix/profiles/default/share:* ]]
++ continue
Checking secrets in dr-ctf using onepassword (profile: development)...
✓ POSTGRES_USER - Database user
✓ POSTGRES_PASSWORD - Database password
✓ POSTGRES_URL - Database connection string
✓ defaults - No description
Summary: 4 found, 0 missing
direnv: ([/nix/store/wpj4la1jgf0p8aimfzx49gfr3228vk8f-direnv-2.37.1/bin/direnv export zsh]) is taking a while to execute. Use CTRL-C to give up.
• Using Cachix caches: devenv, rbabaev
✓ Building shell in 17.6s
./.envrc: eval:65: syntax error near unexpected token `('
./.envrc: eval:65: `Checking secrets in dr-ctf using onepassword (profile: development)...'
[project]
name = "dr-ctf"
revision = "1.0"
# Extend configurations from subdirectories
# extends = [ "subdir1", "subdir2" ]
[profiles.default]
POSTGRES_USER = { description = "Database user", required = true }
POSTGRES_PASSWORD = { description = "Database password", required = true }
POSTGRES_URL = { description = "Database connection string", required = true }
[profiles.development]
# Development profile inherits all secrets from default profile
# Only define secrets here that need different values or settings than default
# DATABASE_URL = { default = "sqlite:///dev.db" }
#
# New secrets
# REDIS_URL = { description = "Redis connection URL for caching", required = false, default = "redis://localhost:6379" }
[profiles.development.defaults]
providers = ["drctf_dev", "drctf_shared", "keyring"]
[profiles.production]
[profiles.production.defaults]
providers = ["drctf_prod", "drctf_shared", "keyring"]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment