#!/bin/sh

export XSHAR_REPO=oilshell/oil
export XSHAR_GIT_COMMIT=7853738f7f0115a82b45046276169d4f30d97f75

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
H4sIAOdO3mcAA+07/XPbtpLvZ/0VeHYzpFKJsh0n7uhVybnOR32XOJ7Yfb2Oz+XQJGQxpkgeQdnW
e9P+7be7AEiCpCT72uRu5hEziSVysdhv7C6gpXcjRq4bxmHuuk66/MsXGDswXuzv49/dg+e79H1v
Z4f+qvGX3f2DFwf7+wd7OwC3u7sDYGznSxBTHwuRexljX2Op/49jifq/5rHrp+kXUv8m/e+/2D+o
6X/n4Plep/+vMba2tnql+tmQ5YssZmgVjieCiGU8zbjgce7lYRKzMM4TdvTttz2cN82SOXPd6QLm
cNdl4TxNspylGUDB09jHKT0FFvDbq0UYBQ6s5iB+l/CrOfZpllxn3nzA5kkAsNPig8sH7CZfpnzQ
Yw8ZBFtMcvMBO/Hm/BwRMJHPc/m/+1B0BAyTjmP474bfpxnhpg95X/I2X4L0NCfzZRReVZ479EC/
zb1rcRfm/mzAouRayQYIDeNrDeJ7Iu/1XDaRED2QAXvHY+TABsgBm/bHRPs2TuRjZhec0lLOz1mY
86zPhi/ZSRLzHgH/dOoCFCCF/+kBUDEryUHMfeYJXJ2PC9GEU3qgVuAOSKE/NgQ3de5wOdsCnVv9
XvGOR/W5Z3m2au4P4TW8fbp+/vtQ1BeXHKHAJBTBDBSv/fa1EOR7y3xZEa9zjgJun/qyRmFVUjgy
LxScHQrBM7T8N1mWZCTYUounHhi53abE0krXaFETmjrKEnoGgeyJgH8sdWJAVln1DVirjSbbZjzS
lDcZD0KBrPFPm/ng83X2Ix2nxX4UXtIh+Zhaa4UKngTIIAI4Yf+xqqhI5AziGZ9DWLPRYBpC0V6/
XiYiB8rBWVvkAaa6WhoyADmfOMbamjwIJ0kDoRTMQK5mymSbnX98/XEMITkAPtrFBYIgBKxp8GQT
Inf4anv/23/FVkVmb1VEtzG0twhNBWznLb1eI7ptjGy2pfGh1QI6+Kbttmrq9FyE147kxKWtoM3y
8b8qFnqfZCwcMAjOMePxYs4zUHuJMkVvFH1DQyH764TtrAhUg6ogTXc26emzf0rhaSpAr0CDXFnb
nhhXcdVN0kT4m6mLozS1U9gyW9RQ7qTrNPDmlmdLlkpYFvCUx4FgoIx8Fgpz6e0w9qNFwNkWbWij
bBHn4Zw7sy2TRdD/IuLIJqJ15FfgsdcQIypIpJ7PQW0kKNCcBK/oTqMNEKN6C9wLUzXgGAF4TGA8
rDlj0OKLFY2TTxbZBplvvwmII9C+aZo60tBvnVD1moCU2hTGb4yNRqwqkhaBfLH8j/L/PPNiAbKe
f5kKYH3+v7u/9/xZvf57BuBd/v8VBubxVfXrCmCWzBPI1HmyECwOo+9q1UBRC8w4RBcN2VtVN/zB
cgEJMMqF+NaLFrANyL9u+Sl/WLXxgXxrwFZXHfljyo1KsVEpMYqC4aG4KP85T244bPhn4XXsoaDK
+qXfW1lWRLgTFAFvZVkxYJj91ouLD+ACP/Cz5fwqiWyUY31H0bKlTUTkMgGEwInPHVjV7uOeqXXh
SExlBG3NxSzIP7if84BJ8AG7TnKVvxINNF1lLxRzJX5HgxOQIwwekLvNHCDUhX5yuYEZBH4wK7L8
eCAjEliyARvBXLNyrr2RMrSN3CgTK5JSfMkkA22JKeFbnZoWfDczdYW4yoJO2Es+9YgSH2DJlm0r
9fIZpk7+bBHfwIedAXvW1wmsmbZLMQFeWsIJsUz2H1909euypFRysyylF/8vZblamNJmN8tT23Yh
0taE/1hAksYzzv6ehAHx8Yqx85mXW/SCCYgXSBWme5g7nS7zWRK/quFC8UztIi8cM8dxzPW0Uwg2
mTDrhySJrGZapDQmy2+EMau7yEQCit2E47hWy2zXcbyNEq+OZbuBhqDW0nKWZ5toOVOxrkTRlkK2
WqBcqLWhYcSWzUZR9DRaTGIaZlQwNkK4jCgXO5f9ukrVFBAAIt4kAYqoTS9S6Hcv+/2mjMsVXof+
xhUQZu0KD9k8V87fa1L4YBUSH39C7FFFIv7vxvX4Y25G0h3Vfk+AmDjh3wsvu75lFwiO4fHysnir
N7AIQq1eBLewvQ3bluIM64u6BSk0hfnIPpspZA2ze2nscJp4G/EOWKX7ZcpDSATiQRKhRxrzpSEX
KubZlF0oZi/uSTzsYqn+/qMhtEs2ecnKMGMryu1v2T1bKnNRwvkZAz4Q7y2inIEGBPPiADJWPg3v
2VMV8lU9TBnmeHzEo+gpFH45frBVZ5NJaZiQwk9wt2F3s9CfufRNYEOJHvPx+GyWpHn/b3IRe84h
igcacckv6c9+KhfqX+rHBtL2dc2FKrKxnzZZ0l5k+x6sTjk725qFW4a4jrzYytlCoEHRDnXFfQ+/
2mrNiVqzz+6SRRTAewZmIDh+AtOQJm/XJNB7OE+TOk9Si5wFCVI2825hZ4yx78F9HvAYyu0MmxSO
YVNQuKC+J+zisrTLFhvE7gS1lrQplx6nvKNwLIqjlZb0NnXATk9k70u7bemwRIHjpdiWsVdEEsPv
5Iy6qxVVxObcpwCVMhPhdZ38MstT0YZgKNY82xBrjKhpFUsxMSMzIL08YxSyx2iBSqKau6LL1Lbd
ERVFqCr2H6DKmry0NuXuDVqwHZDLTA+mq4W1gk2ByJUxAFY1Ucp8ZcQb1GKpRER7VU2B2D2iEPeg
OFltSymJ0dSWEC9fFNE7WeQuFq2izeplNXtZGEZ1Lyi5VRj3FEaKyxODJLugZoBoBuWqSoKaAoXq
2bj0M9k/JYBSpURYXSnVLVsbKsH1MSfZecAOvlW0YpVRYOyAUMXnab7cqvbwWu2RFiODrNJRZkW3
Xj3xTD0hapliCS543pwBtQBm+lDbR5yySuargNrIi++BwP292uMfFrkqIjz4VwmHoRALLhpIvMH+
HuCR0X8K+BpnEbNQMMHBgYGGPOdZM0G3JScSVwVT/+GywEmPkZ0KH61HTmadrbS2W0uYCwvVsbhy
KiMPveopfrn4Vca9m8dQ6yewpcULvmHOg7JQKLUgNIQUz3Iy5ScZHZBUkloVsKYULcy4Ixtk1Od+
SOCR4EYqKqey7zfmoZacbOwFXg44oAZie3JTUE0VPPxbXw2UKyse6UtL/KPnRvjDs4W26Fd0BC81
QqR2wqoiopCmkaiVFT650N74sjwooRMN8yhjm9nXUXIFxR+U4X2V1cqPfgT6p88FNJJTC3tBM+oR
1MODnqGGR0U8WmhNwJOcPcYTkP0avJZuIyminUXyutoXSYj1GLoS5RFCFzjXUf04X1S2g5620hvn
ypVMf9ycv6lWtpHIyn7RWzwEpSYw+JEXBHK5Ifvl8D/O3NPD8x/V9wAqcZZMFQXYSwI3hKieJuki
gg0xeGUgJ8NelSEWXtIeUWRSBRQDhCLctqZJArnwhZxqVpUI+uXOwP6VB53/0QHJ3AvjL3f+d/D8
+ar7fwcHOy8a53+73fnfVxnbfx0tRDa6CuMRj29ZSr3iPTqvq1oFhId3PKbrE3j9j9EB0y8AwI4/
Ob3eTwLiRXH452DjBLI7vEqAu0jG8ag75zF2pUus+OnVY04G1WOxFG2nhHpWcdonYarnfhiHIKYB
FdO5Oin0E8h/1WuO0Vo+DrzccyOvPD77/N36u364anHJT8e85it11bL1hI7O5lAcGPk/psizsOsx
n2J9kubUNnEk1Cl+lp3qLZmaYp8KofCYliBhB4jB0CHDd1THEDt6rXhsFZ0d2CpcicO2hsM4GUKZ
kOfLIallKPtRwmppzwZc5BNLQrtSiWugPdLuxBI5qMKderCntiOlLtzkPFu03d2c8SidWD/POFY1
LE9Q0tJcJR3SmFDampS+vgpzBGl3lkTqnAQsAiSVLXwgR2gQzNpmcRJwsu9W+aTLIV6iH56skchS
3rOPN4sBCFgrhbcoppViKFxVsaTv98stPeP/vQgzcFhOd4CmIY+CUhpYV6pVBrI1ycBn/BnA473f
BusFDSADEsA/eJYYUpDMEwX4zmB/LdftKq+xuIN9WWrLntCnqvoG5fEXQQADlpltpeRwMtnCoGRj
m7214AGkstYBM1KySsCFCj9Vj1JKsrBXD+7lkHe52DiWiHWbI4BQg4fw8orWGX1XKPJsOa6JBwBx
NlQr9ILf+zzFhnbA7ynBrBdYn2RrVCWfhxKH0nqhaUiPNXbMj9PUqlYjPwnvmlcfDNlZyv1wumQe
yxIoxqYh5HdDxj0wEPqM1StIEEKPzmHL2Zhe0m6g8sK5t2R4Ywz+xIBLTZUa6BurgjtDZMeGHGwo
d150U0llQaM+1NhgBB67Cq9ZhH3+MoFt4gkSsGJANvducM7Z8cm7929kuI7k/fYFWCl5O3YnFJ5X
BiJclZAB8bC3FWHGk3NzMHbpZlEY38gD2foChmCIC1gN5aa3ulc10R0zsUjTBFR7pxs94IFKXBjs
SAtzdaklCm847WsjQp6I2agsWfAsXtvT3mW5DjU8k5TOkPIZnWpPxwYZpCW8tYgNOgfkHtiVeksf
TkvqqC9FXQdl4dEiS9+ClVS0C/LhK9qNWUnYtPCSkrjiJYQnMCYMD2YVhqgLKvGL3TgGxQIZ37TV
xzioedNAWpSKNLXCfUU2ll05HbEKkCqE5XxOQrl+9YgYt+TP3zknYfSd2or1pAExWQE1ogQOdXCc
OjQTUVR4VhGD8hvnNfdhI0MF83qPThLOnbNkkflQ0qHg2Kv6LYTXCZohbEDw1wP433//nf1K/6MS
0QFngEbULxx8zNhnSLYBFK3y199xQg2mNuMYY0Z8Qz6kD+FC6VKYXfFs7ezXkMIpc0x5NvNSQSdT
sOyvdY6mHm4XMkIlC4oh5D+LEFLfVhkt8jBy3ic+OfWh8MPwMMtt7lzx6xAyPLzEwR0wFPzYIkJA
7J4ioiNQxRvQTpbmdr2leiQdHeV8RRc5ZH5at2TpHae/nP/48aRpx0QuEPaBCwzpdn9A0XoCSbQj
9yFzWbUv7lZsW6JIrj4b7v56MU/Z4dnr9/WrfiXIz0WwQh5kY4+dHL//TlJV0R+k486PJyCLU0rW
SDTyGF8+OM84tynn6Q/09lnZJ9QTfaO2vJYsJUBthvKSY62p0ltPBd1lXkdFIwRCHOd3qlDAfhFE
ueSWK/NaKSyM87gXCjyLArXecQu2oJjzgE4s51inHH8qNzX9oy3jMniRT4AV27odRq2w6l4/4/6N
sdt/jKMlbI7Sf+k1JMqvVm4axfM5PCzKLUd1eKxZiG2cy02Cnf9B3ZrNt7bMR7fdFO+y5Sa/mFng
DmSAICOXGrmQJqOUXCpSXVcJygi4tPGiB8mkjqiRIbZKQC3ESjeynogxe3t4fvh+rC4JFogudi4h
aqxzUHzG78Pc3gX6t9ltOB8zcTfZ/wOtMer/nByf/PuhKxZX15mXzv70JtCG338+3zuo93/2dg52
uv7P1xi60dO0gUff2aZOTHFDO4w/e27RHpFdmuKhcW/56OOH0+P3bz6duX8//HR8eHJ+VrmhrINq
9XRI/lqFx34IoZUSVzFzr8LYy5a9Tz+9f3Pmnv6CaRYtOqJFh3TNA4p0R8wsVe+d4It3yK2dLVTN
h7VWtnBifbPH8ZM5/SanKDgDdrVUnqvjRb+AxjiI/GVAim0VvVV6bpVgvq/IrcC4+kILVhAA0V79
p2JyYY1Gxg9xrMsWUKjZs/B+0pRtUehTWwrYSyHayJ2YAp46LLOKPp1MYcv6wHKlXMlgJHtP1E9I
8JTAye9z+vmKRlavJZAJTPsx+4UIl4UpJJlYclHWjj+SUjuMumaFsRg2O1pp9EQ4xLuxAkHDjpcu
5P0FNfFbZpEcWeX7zJKlhZjdgeJdtbFZqI6RfCZlW+E8dohfWy1gytoCyoZJGIkhcDCE4u6+pjfk
1nyCtVHoh/nkokLEgGnDrSnz1stC7wpsd3JhW3hgJZkpuILtwrYKScDjUu4rL07aVmVlmFL5tm4S
LOjNgRS8yk3K0A9Aqv3LNusue0NNDaJqqkosF95mJ0kOxWDpPukS8/4rLyA7UQ2dog8AuWWId5+x
iuZBBU21gV17TBlZhDWBvNONFUaYcSwDloyswb+/HyZpLonm9x5WtJWWAoCQwCYVRxlU9npI8xIf
cm4e1NpXyjGLUOg0XRQstXz97sg9ffPpbfFyYDjS5MI0x9GIChcg/Dbkd6CpIivN+Bx4lkkozGyd
pn/ZR+Fq0Aoi7ySvAICYVDTO21/DZoAVbeBST7EJU0wfFT86agJpJCPq9dWbylUAsYRE+16haZXF
gJUctcnFjLSNlWohvnyv/WF7Gwo5yDH0OUClF6SiS8zvVItCPcgoi0Zocz3ciqB0nlhN+ywtXZYd
+O8bCKUv2TcQM0w0ARc+BF3Zd5WbgAndbycs8+5c3zfDsfaL0YxHUeICCJ3qoG+rrJjeb5hXzjEC
bkH0hVy6Ehnr0rmwVqGtbo5l5N0sQj1vhTA0jRclh7XAbWFMHdL+06TfpOYhoV9Fd4s4syjq6/Cr
w7i1tWWti9/a9JJMR3AZtvqXqzTeGstLjr9cUFuV4uD9yD+n7umGHAG/zZMkUi4zvBczL4Mc+U9d
Y8P5/85+s/7bf/aiq/++xqid/195YtbbxqoLzzGwEUHf1HHQNjloq8Gw73U1SL91eNnrCZ6zYcLi
ZBHDR/01DVM+9cJIf+dZhh2NXk8dZvwT/Jz7s4Rt4anZmH3zb1vFk+swp00wzOH5f579ePjJfXd8
7kKs+XB8TsfaBGeZlI3pXAhPfpEdYSkwBJ+GcSDTTDak3tdUI1mJK0hibvV+6/W2kLL/a+11oxvd
6EY3utGNbnSjG93oRje60Y1udKMb3ehGN7rRjW50oxvd6EY3utGNbnSjG93oRje60Y1udONfbfwP
o9osowB4AAA=
XSHAR_DATA
}

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