#!/bin/sh

export XSHAR_REPO=oilshell/oil
export XSHAR_GIT_COMMIT=7595fdb2e6858f0829244dae13d6e13436e35ab4

name=$(basename $0)  # e.g. hello-xshar.xshar
default_dir=/tmp/$name.$$

# User can override this, and then _build/oils.sh can use SKIP_REBUILD to make
# it faster.  Multiple runs without compiling.

export XSHAR_DIR=${XSHAR_DIR:-$default_dir}

change_dir() {
  mkdir -p "$XSHAR_DIR"
  cd "$XSHAR_DIR"
}

extract_data() {
  base64 -d <<'XSHAR_DATA' | tar -x -z
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
/wCqqv4DAHgAAA==
XSHAR_DATA
}

change_dir
extract_data
devtools/hello-xshar.sh "$@"