#!/bin/sh

export XSHAR_REPO=oilshell/oil
export XSHAR_GIT_COMMIT=684da1e76eded354def32c177377b91be45939bd

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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
C++iO2wAeAAA
XSHAR_DATA
}

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