{
  "permissions": {
    "allow": [
      "Bash(grep -E \"\\\\.\\(h|cpp\\)$\")",
      "Bash(grep:*)",
      "Bash(find /home/nick/workspace/projectrtp -name README* -o -name *.md -o -name doc* -type f)",
      "Bash(find /home/nick/workspace/projectrtp -path /home/nick/workspace/projectrtp/node_modules -prune -o -name *.js -type f -print)",
      "Bash(find /home/nick/workspace/projectrtp/src -name *.h)",
      "Bash(docker build:*)",
      "Bash(docker run:*)",
      "Bash(ls -la /home/nick/workspace/projectrtp/*.md /home/nick/workspace/projectrtp/*.txt)",
      "Bash(ls:*)",
      "Bash(find /home/nick/workspace/babble-sip -name *.yaml -o -name *.yml)",
      "Bash(cat:*)",
      "Bash(find /home/nick/workspace/babble-sip -name docker-compose* -o -name compose*)",
      "Bash(docker compose:*)",
      "Bash(find /home/nick/workspace/babble-rtp -name *.example -o -name *example* -type f)",
      "Bash(chmod:*)",
      "Bash(./build-local.sh localtest:*)",
      "Bash(find /home/nick/workspace/projectrtp -name playbackrecord.scenario.js -o -name *playback*record*)",
      "Bash(find /home/nick/workspace/babble-rtp/test -type f -name *.js -o -name *.ts -o -name *.json -o -name *.yaml)",
      "Bash(npm run:*)",
      "Bash(xxd:*)",
      "Bash(node:*)",
      "Bash(wc -l /home/nick/workspace/babble/projectrtp/src/*.cpp /home/nick/workspace/babble/projectrtp/src/*.h)",
      "Bash(cargo --version)",
      "Bash(rustc --version)",
      "Bash(wc:*)",
      "Bash(./node_modules/mocha/bin/_mocha test/interface/*.js test/unit/*.js --reporter=min)",
      "Bash(./node_modules/mocha/bin/_mocha test/interface/*.js test/unit/*.js --reporter=min --timeout 5000 --exit)",
      "Bash(./node_modules/mocha/bin/_mocha test/interface/*.js test/unit/*.js --reporter=spec --timeout 5000 --exit)",
      "Bash(./node_modules/mocha/bin/_mocha test/unit/projectrtpbuffer.js --reporter=spec --timeout 5000 --exit)",
      "Read(//home/nick/workspace/babble/babble-rtp/**)",
      "Bash(./node_modules/mocha/bin/_mocha test/interface/projectrtpchannel.js --reporter=spec --timeout 5000 --exit)",
      "Bash(./node_modules/mocha/bin/_mocha test/interface/projectrtpserver.js test/interface/projectrtpchannel.js --reporter=spec --timeout 5000 --exit)",
      "Bash(./node_modules/mocha/bin/_mocha test/interface/projectrtpserver.js test/interface/projectrtpchannel.js --reporter=spec --timeout 10000 --exit)",
      "Bash(./node_modules/mocha/bin/_mocha test/interface/projectrtpserver.js test/interface/projectrtpchannel.js --timeout 10000 --exit)",
      "Bash(cp target/release/libprojectrtp.so ../build/Release/projectrtp.node)",
      "Bash(./node_modules/mocha/bin/_mocha test/interface/projectrtpserver.js test/interface/projectrtpdtmf.js --timeout 10000 --exit)",
      "Bash(./node_modules/mocha/bin/_mocha test/interface/projectrtpserver.js test/interface/projectrtpchannel.js test/interface/projectrtpdtmf.js --timeout 10000 --exit)",
      "Bash(./node_modules/mocha/bin/_mocha test/interface/projectrtpserver.js test/interface/projectrtpmix.js --timeout 5000 --exit)",
      "Bash(./node_modules/mocha/bin/_mocha test/interface/projectrtpserver.js test/interface/projectrtpmix.js -g \"mix 2 channels then unmix$\" --timeout 5000 --exit)",
      "Bash(./node_modules/mocha/bin/_mocha test/interface/projectrtpserver.js test/interface/projectrtpmix.js -g \"basic mix 2 channels|mix 2 channels then unmix$|mix 2 channels then unmix then mix again$|mix 2 channels then close b\" --timeout 5000 --exit)",
      "Bash(./node_modules/mocha/bin/_mocha test/interface/projectrtpserver.js test/interface/projectrtpmix.js -g \"basic mix 2 channels$|mix 2 channels then unmix$\" --timeout 5000 --exit)",
      "Bash(./node_modules/mocha/bin/_mocha test/interface/projectrtpserver.js test/interface/projectrtpmix.js -g \"basic mix 2 channels$|then unmix$|then unmix then mix again|then close b\" --timeout 6000 --exit)",
      "Bash(./node_modules/mocha/bin/_mocha test/interface/projectrtpserver.js test/interface/projectrtpmix.js -g \"then unmix then mix again\" --timeout 8000 --exit)",
      "Bash(./node_modules/mocha/bin/_mocha test/interface/projectrtpserver.js test/interface/projectrtpmix.js -g \"then unmix$|wrong payload\" --timeout 5000 --exit)",
      "Bash(sed -n '125,145p' test/interface/projectrtpmix.js)",
      "Bash(sed -n '155,160p' test/interface/projectrtpmix.js)",
      "Bash(./node_modules/mocha/bin/_mocha test/interface/projectrtpserver.js test/interface/projectrtpchannel.js test/interface/projectrtpdtmf.js test/interface/projectrtpmix.js --timeout 6000 --exit)",
      "Bash(./node_modules/mocha/bin/_mocha test/interface/projectrtpserver.js test/interface/projectrtpmix.js --timeout 6000 --exit)",
      "Bash(find /home/nick/.cargo/registry/src -path '*ezk-g722*/src/encoder.rs' -exec cat {} \\\\;)",
      "Bash(find:*)",
      "Bash(./node_modules/mocha/bin/_mocha test/interface/projectrtpserver.js test/interface/projectrtpmix.js -g \"basic mix 2 channels$\" --timeout 6000 --exit)",
      "Bash(./node_modules/mocha/bin/_mocha test/interface/projectrtpserver.js test/interface/projectrtpmix.js -g \"pcmu <-> g722$\" --timeout 6000 --exit)",
      "Bash(./node_modules/mocha/bin/_mocha test/interface/*.js test/unit/*.js --timeout 10000 --exit)",
      "Bash(./node_modules/mocha/bin/_mocha test/interface/projectrtpserver.js test/interface/projectrtpchannel.js -g \"incorrectly change the ssrc\" --timeout 6000 --exit)",
      "Bash(./node_modules/mocha/bin/_mocha test/interface/projectrtpserver.js test/interface/projectrtpchannel.js test/interface/autocorrect.js test/interface/projectrtpdtmf.js test/interface/projectrtpmix.js --timeout 6000 --exit)",
      "Bash(./node_modules/mocha/bin/_mocha test/interface/projectrtpserver.js test/interface/projectrtpdtmf.js test/interface/projectrtpmix.js --timeout 6000 --exit)",
      "Bash(./node_modules/mocha/bin/_mocha test/interface/projectrtpserver.js test/interface/projectrtpdtmf.js test/interface/projectrtpmix.js -g \"2 channels mixing and request rtp server to send 2833 to one$|basic mix 2 channels$\" --timeout 6000 --exit)",
      "Bash(./node_modules/mocha/bin/_mocha test/interface/projectrtpserver.js test/interface/projectrtpdtmf.js -g \"dynamic payloadtype\" --timeout 6000 --exit)",
      "Bash(./node_modules/mocha/bin/_mocha test/interface/projectrtpserver.js test/interface/projectrtpchannel.js test/interface/autocorrect.js test/interface/projectrtpmix.js --timeout 6000 --exit)",
      "Bash(./node_modules/mocha/bin/_mocha test/interface/projectrtpserver.js test/interface/projectrtpchannel.js test/interface/autocorrect.js test/interface/projectrtpdtmf.js --timeout 6000 --exit)",
      "Bash(./node_modules/mocha/bin/_mocha test/interface/projectrtpserver.js test/interface/projectrtpdtmf.js -g \"wefwef\" --timeout 6000 --exit)",
      "Bash(cargo build *)",
      "Bash(ln -f rust/target/release/libprojectrtp.so build/Release/projectrtp.node)",
      "Bash(./node_modules/mocha/bin/_mocha test/interface/projectrtpmix.js -g \"basic mix 2 channels with start 2 packets wrong payload type\" --exit)",
      "Bash(./node_modules/mocha/bin/_mocha test/interface/projectrtpserver.js test/interface/projectrtpmix.js -g \"wrong payload type\" --exit)",
      "Bash(./node_modules/mocha/bin/_mocha test/interface/projectrtpserver.js test/interface/projectrtpmix.js --exit)",
      "Bash(cargo test *)",
      "Bash(./node_modules/mocha/bin/_mocha test/interface/projectrtpserver.js test/interface/projectrtpchannel.js test/interface/projectrtpdtmf.js --exit)",
      "Bash(CHANNELS=50 DURATION_MS=3000 node stress/perfbench.js)",
      "Bash(CHANNELS=500 DURATION_MS=5000 node stress/perfbench.js)",
      "Bash(CHANNELS=200 DURATION_MS=5000 node stress/perfbench.js)",
      "Bash(cargo search *)",
      "Bash(./node_modules/mocha/bin/_mocha test/interface/projectrtpserver.js test/interface/projectrtpmix.js test/interface/projectrtpchannel.js test/interface/projectrtpdtmf.js --exit)",
      "Bash(./node_modules/mocha/bin/_mocha test/interface/projectrtpserver.js test/interface/projectrtpdtmf.js -g \"DTMF PCAP\" --exit)",
      "Bash(./node_modules/mocha/bin/_mocha test/interface/projectrtpserver.js test/interface/projectrtpmix.js test/interface/projectrtpdtmf.js test/interface/projectrtpchannel.js --exit)",
      "Bash(./node_modules/mocha/bin/_mocha test/interface/projectrtpserver.js test/interface/projectrtpdtmf.js --exit)",
      "Bash(./node_modules/mocha/bin/_mocha test/interface/projectrtpserver.js test/interface/projectrtpchannel.js --exit)",
      "Bash(./node_modules/mocha/bin/_mocha test/interface/projectrtpserver.js test/interface/projectrtpsound.js --exit)",
      "Bash(./node_modules/mocha/bin/_mocha test/interface/projectrtpserver.js test/interface/projectrtpstun.js test/interface/projectrtpstunice.js --exit)",
      "Bash(./node_modules/mocha/bin/_mocha test/interface/projectrtpserver.js test/interface/projectrtpstun.js --exit)",
      "Bash(./node_modules/mocha/bin/_mocha test/interface/projectrtpserver.js test/interface/projectrtpmix.js test/interface/projectrtpstun.js test/interface/projectrtpstunice.js --exit)",
      "Bash(awk 'NR>=1035 && NR<=1130' test/interface/projectrtpmix.js)",
      "Bash(./node_modules/mocha/bin/_mocha test/interface/projectrtpserver.js test/interface/projectrtpplayrecord.js --exit)",
      "Bash(./node_modules/mocha/bin/_mocha test/interface/projectrtpserver.js test/interface/projectrtprecord.js --exit)",
      "Bash(rm -f /tmp/our*recording*.wav /tmp/dualrecording*.wav)",
      "Bash(./node_modules/mocha/bin/_mocha test/interface/projectrtpserver.js test/interface/projectrtprecord.js -g \"record with power detection\" --exit)",
      "Bash(./node_modules/mocha/bin/_mocha test/interface/projectrtpserver.js test/interface/projectrtprecord.js -g \"dual recording\" --exit)",
      "Read(//home/nick/workspace/babble/**)",
      "Bash(rm -f /tmp/pr_*.wav)",
      "Bash(./node_modules/mocha/bin/_mocha test/interface/projectrtpserver.js test/interface/projectrtpstun.js test/interface/projectrtpstunice.js test/interface/projectrtpmix.js test/interface/projectrtpdtmf.js test/interface/projectrtpchannel.js --exit)",
      "Bash(timeout 60 curl -s \"https://crates.io/api/v1/crates?q=ilbc&per_page=10\")",
      "Bash(ldconfig -p)",
      "Bash(pkg-config --cflags libilbc)",
      "Bash(pkg-config --libs libilbc)",
      "Read(//usr/include/**)",
      "Bash(dpkg -l)",
      "Bash(rpm -qa)",
      "Bash(./node_modules/mocha/bin/_mocha test/interface/projectrtpserver.js test/interface/projectrtpmix.js -g \"pcmu <-> ilbc\" --exit)",
      "Bash(./node_modules/mocha/bin/_mocha test/interface/projectrtpserver.js test/interface/transcode.js -g \"ilbc\" --exit)",
      "Bash(./node_modules/mocha/bin/_mocha test/interface/projectrtpserver.js test/interface/transcode.js -g \"trancode pcmu <==> ilbc with dynamic pt\" --exit)",
      "Bash(./node_modules/mocha/bin/_mocha test/interface/projectrtpserver.js test/interface/transcode.js -g \"trancode pcma <==> ilbc\" --exit)",
      "Bash(./node_modules/mocha/bin/_mocha test/interface/projectrtpserver.js test/interface/transcode.js -g \"pcma <==> ilbc$\" --exit)",
      "Bash(./node_modules/mocha/bin/_mocha test/interface/projectrtpserver.js test/interface/transcode.js -g \"pcmu <==> ilbc static pt\" --exit)",
      "Bash(./node_modules/mocha/bin/_mocha test/interface/projectrtpserver.js test/interface/transcode.js -g \"pcma <==> g722\" --exit)",
      "Bash(./node_modules/mocha/bin/_mocha test/interface/projectrtpserver.js test/interface/transcode.js --exit)",
      "Bash(./node_modules/mocha/bin/_mocha test/interface/projectrtpserver.js test/interface/transcode.js -g \"trancode pcmu <==> g722\" --exit)",
      "Bash(./node_modules/mocha/bin/_mocha test/interface/projectrtpserver.js test/interface/projectrtpmix.js -g \"basic mix 2 channels$\" --exit)",
      "Bash(awk '{print $2, $3}')",
      "Bash(awk '{print $2, $3, $4}')",
      "Bash(awk '{print $2, $3, $4, $6}')",
      "Bash(awk '{print $8}')",
      "Bash(awk '{print $4, $5}')",
      "Bash(awk '{gsub\\(\"last_emit=\",\"\"\\); gsub\\(\"other_ver=\",\"\"\\); last=$4; other=$5; if \\(other > last\\) print}')",
      "Bash(awk '{ver=$5; sub\\(\"other_ver=\",\"\",ver\\); if \\(ver != \"0\"\\) print NR, $0}')",
      "Bash(awk '{ver=$5; sub\\(\"other_ver=\",\"\",ver\\); if \\(ver != \"0\"\\) c++} END {print c}')",
      "Bash(awk '{ver=$5; sub\\(\"other_ver=\",\"\",ver\\); if \\(ver != \"0\"\\) print $0}')",
      "Bash(./node_modules/mocha/bin/_mocha test/interface/projectrtpserver.js test/interface/projectrtpmix.js -g \"unmix then mix again\" --exit)",
      "Bash(awk '/ch=2/ { print NR, $0 }')",
      "Bash(awk '/nmem=2/ { t2=NR } /nmem=3/ { if\\(t2\\) {print \"transition at\", NR; exit} }')",
      "Bash(awk '{print $4}')",
      "Bash(./node_modules/mocha/bin/_mocha test/interface/projectrtpserver.js test/interface/projectrtpmix.js -g \"1 writer 3 readers\" --exit)",
      "Bash(./node_modules/mocha/bin/_mocha test/interface/projectrtpserver.js test/interface/projectrtpmix.js -g \"2 silenced\\\\\\\\\\)\" --exit)",
      "Bash(./node_modules/mocha/bin/_mocha test/interface/projectrtpserver.js test/interface/projectrtpmix.js -g \"delayed\" --exit)",
      "Bash(./node_modules/mocha/bin/_mocha test/interface/projectrtpserver.js test/interface/projectrtpmix.js -g \"writer delayed recv=false\" --exit)",
      "Bash(./node_modules/mocha/bin/_mocha test/interface/projectrtpserver.js test/interface/projectrtpchannel.js -g \"outside of window\" --exit)",
      "Bash(./node_modules/mocha/bin/_mocha test/interface/projectrtpserver.js test/interface/projectrtpdtmf.js -g \"pcmu <-> pcma and send DTMF$\" --exit)",
      "Bash(./node_modules/mocha/bin/_mocha test/interface/projectrtpserver.js test/interface/rtpproxynode.js --exit)",
      "Bash(./node_modules/mocha/bin/_mocha test/interface/projectrtpserver.js test/interface/rtpproxynode.js -g \"connect to server$\" --exit)",
      "Bash(./node_modules/mocha/bin/_mocha test/interface/projectrtpserver.js test/interface/projectrtpsound.js -g \"loop in soundsoup file and check udp data\" --exit)",
      "Bash(./node_modules/mocha/bin/_mocha test/interface/projectrtpserver.js test/interface/projectrtpsound.js -g \"16kHz\" --exit)",
      "Bash(./node_modules/mocha/bin/_mocha test/interface/projectrtpserver.js test/interface/rtpproxynode.js -g \"connect and open channel$\" --exit)",
      "Bash(./node_modules/mocha/bin/_mocha test/interface/projectrtpserver.js test/interface/rtpproxynode.js -g \"middle messages\" --exit)",
      "Bash(rm -f /tmp/flat*.wav /tmp/440sine.wav /tmp/uksounds.wav)",
      "Bash(./node_modules/mocha/bin/_mocha test/interface/projectrtpserver.js test/interface/projectrtpsound.js -g \"uk ringing\" --exit)",
      "Bash(./node_modules/mocha/bin/_mocha test/interface/projectrtpserver.js test/interface/projectrtpdtls.js --exit)",
      "Bash(timeout 60 npx mocha test/interface/projectrtpserver.js test/interface/codecchain.js --exit)",
      "Read(//tmp/**)",
      "Bash(timeout 30 npx mocha test/interface/projectrtpserver.js test/interface/projectrtprecord.js --grep \"dual recording\" --exit)",
      "Bash(git -C /home/nick/workspace/babble/projectrtp show main:src/projectrtpchannel.cpp)"
    ]
  }
}
