#!/usr/bin/env bash # # It might be tempting to read and try to understand this script, but don't bother. # Instead, go to the code repository instead where you can find the code in a readable format. # # Main page: https://github.com/bottiger/trollme.sh # Shell scripts: https://github.com/bottiger/trollme.sh/tree/main/shellscript # # Generation date: 2024-07-30T10:18:06 CEST # Git hash: 443611ff32ed28ecc84aedb439cdeda66946803c # Determine the temporary directory TMPDIR=${TMPDIR:-${TEMP:-${TMP:-/tmp}}} # Create a unique subdirectory in the temporary directory MY_TMP_DIR=$(mktemp -d "$TMPDIR/trollme.XXXXXX") # Check if the temporary directory was created successfully if [ ! -d "$MY_TMP_DIR" ]; then echo "Failed to create temporary directory." exit 1 fi cd $MY_TMP_DIR # Bundle the scripts cat <<'EOF' | base64 --decode > troll.sh IyEvdXNyL2Jpbi9lbnYgYmFzaAoKaWYgWyAiJChpZCAtdSkiIC1lcSAwIF07IHRoZW4KICAgID4mMiBlY2hvICJFcnJvcjogVGhpcyBzY3JpcHQgc2hvdWxkIG5vdCBiZSBydW4gYXMgcm9vdC4iCiAgICBleGl0IDEKZmkKCmlmIFsgIiRUUk9MTE1FU0hfREVCVUciID0gInRydWUiIF07IHRoZW4KICBlY2hvICJFeGVjdXRpbmcgdHJvbGwuc2giCmZpCgpzaG93X2hlbHAoKSB7CiAgICBlY2hvICJVc2FnZTogJDAgW09QVElPTlNdIDxZb3VyIG5hbWU+IgogICAgZWNobyAiIgogICAgZWNobyAiT3B0aW9uczoiCiAgICBlY2hvICIgIC1sLCAtLWxpc3QgICAgICAgICAgICAgICBMaXN0IGluc3RhbGxlZCBzY3JpcHRzIgogICAgZWNobyAiICAtcywgLS1zY3JpcHQgRklMRSAgICAgICAgU2NyaXB0IG5hbWUiCiAgICBlY2hvICIgIC1kLCAtLWRyeS1ydW4gICAgICAgICAgICBSdW4gdGhlIHNjcmlwdCwgYnV0IGRvIG5vdCBleGVjdXRlIGFuIGFjdGlvbiIKICAgIGVjaG8gIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgIERpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0Igp9Cgp1bmluc3RhbGwoKSB7CiAgc291cmNlICIkRk9MREVSX0xPQ0FUSU9OL3VuaW5zdGFsbC5zaCIKICBleGl0IDEKfQoKbGlzdF9zY3JpcHRzKCkgewogIGxvY2FsIGFjdGlvbnNfZGlyPSIkMSIKICBsb2NhbCBkYXlzX3NpbmNlX2luc3RhbGw9IiQyIgogIGxvY2FsIGZpbGVzX3RvX2V4ZWN1dGU9KCkKCiAgZm9yIGZpbGUgaW4gJChmaW5kICIkYWN0aW9uc19kaXIiIC10eXBlIGYgLW5hbWUgIioiKTsgZG8KICAgIGxvY2FsIGZpbGVuYW1lPSQoYmFzZW5hbWUgIiRmaWxlIikKICAgIGxvY2FsIGZpbGVfZGF0ZT0kKGVjaG8gIiRmaWxlbmFtZSIgfCBjdXQgLWQnXycgLWYxKQogICAgaWYgWyAteiAiJGRheXNfc2luY2VfaW5zdGFsbCIgXSB8fCBbICIkZmlsZV9kYXRlIiAtbGUgIiRkYXlzX3NpbmNlX2luc3RhbGwiIF07IHRoZW4KICAgICAgZmlsZXNfdG9fZXhlY3V0ZSs9KCIkZmlsZSIpCiAgICBmaQogIGRvbmUKCiAgIyBTb3J0IHRoZSBmaWxlcyBieSBuYW1lIGJlZm9yZSByZXR1cm5pbmcKICBzb3J0ZWRfZmlsZXM9KCQocHJpbnRmICIlc1xuIiAiJHtmaWxlc190b19leGVjdXRlW0BdfSIgfCBzb3J0KSkKCiAgIyBSZXR1cm4gdGhlIGFycmF5IG9mIHNvcnRlZCBmaWxlcwogIGVjaG8gIiR7c29ydGVkX2ZpbGVzW0BdfSIKfQoKIyBQYXJzZSBjb21tYW5kIGxpbmUgYXJndW1lbnRzClBBUlNFRF9BUkdTPSQoZ2V0b3B0IC1vIGxzOmRoIC0tbG9uZyBsaXN0LGRyeS1ydW4sc2NyaXB0OixoZWxwIC1uICIkMCIgLS0gIiRAIikKaWYgW1sgJD8gLW5lIDAgXV07IHRoZW4KICAgIHNob3dfaGVscAogICAgZXhpdCAxCmZpCgojZWNobyAiUEFSU0VEX0FSR1M6ICRQQVJTRURfQVJHUyIKI2VjaG8gIk9yaWdpbmFsIGFyZ3M6ICRAIgoKZXZhbCBzZXQgLS0gIiRQQVJTRURfQVJHUyIKCiNlY2hvICJOZXcgYXJnczogJEAiCgojIERlZmF1bHQgdmFsdWVzCkxJU1Q9MApTQ1JJUFRfVE9fRVhFQ1VURT0iIgpEUllfUlVOPTAKCndoaWxlIHRydWU7IGRvCiAgICBjYXNlICIkMSIgaW4KICAgICAgICAtbCB8IC0tbGlzdCApCiAgICAgICAgICAgIExJU1Q9MTsgc2hpZnQgOzsKICAgICAgICAtcyB8IC0tc2NyaXB0ICkKICAgICAgICAgICAgU0NSSVBUX1RPX0VYRUNVVEU9IiQyIjsgc2hpZnQgMjs7CiAgICAgICAgLWQgfCAtLWRyeS1ydW4gKQogICAgICAgICAgICBEUllfUlVOPTE7IHNoaWZ0IDs7CiAgICAgICAgLWggfCAtLWhlbHAgKQogICAgICAgICAgICBzaG93X2hlbHA7IGV4aXQgMCA7OwogICAgICAgIC0tICkKICAgICAgICAgICAgc2hpZnQ7IGJyZWFrIDs7CiAgICAgICAgKiApCiAgICAgICAgICAgIGJyZWFrIDs7CiAgICBlc2FjCmRvbmUKCklOUFVUX05BTUVfQVJHPSIkMSIKCgppZiBbICIkVFJPTExNRVNIX0RFQlVHIiA9ICJ0cnVlIiBdOyB0aGVuCiAgZWNobyAiSW5wdXQgbmFtZTogJElOUFVUX05BTUVfQVJHIgogIGVjaG8gIkxpc3QgbW9kZTogJExJU1QiCiAgZWNobyAiU2NyaXB0IG5hbWU6ICRTQ1JJUFRfVE9fRVhFQ1VURSIKZmkKCgoKc2NyaXB0X2Rpcj0iJChkaXJuYW1lICIke0JBU0hfU09VUkNFWzBdfSIpIgpzb3VyY2VfZmlsZT0iJHNjcmlwdF9kaXIvY29uZmlnLnNoIiAKCiMgQ2hlY2sgaWYgdGhlIGZpbGUgZXhpc3RzIGFuZCBzb3VyY2UgaXQKaWYgWyAtZiAiJHNvdXJjZV9maWxlIiBdOyB0aGVuCiAgc291cmNlICIkc291cmNlX2ZpbGUiCmVsc2UKICBlY2hvICJFcnJvcjogRmlsZSAnJHNvdXJjZV9maWxlJyBub3QgZm91bmQuIgogIGV4aXQgMTsKZmkKCiNTQ1JJUFRfVE9fRVhFQ1VURT0kKGVjaG8gIiRTQ1JJUFRfVE9fRVhFQ1VURSIgfCB4YXJncykKaWYgW1sgLW4gIiRTQ1JJUFRfVE9fRVhFQ1VURSIgXV07IHRoZW4KICAgIGZ1bGxfc2NyaXB0X3BhdGg9IiRTQ1JJUFRTX0ZPTERFUl9GVUxMLyRTQ1JJUFRfVE9fRVhFQ1VURSIKICAgIGlmIFtbIC14ICIkZnVsbF9zY3JpcHRfcGF0aCIgXV07IHRoZW4KICAgICAgICBlY2hvICJFeGVjdXRpbmcgc2NyaXB0OiAkZnVsbF9zY3JpcHRfcGF0aCIKICAgICAgICBzb3VyY2UgIiRmdWxsX3NjcmlwdF9wYXRoIgogICAgICAgIGV4aXQgMAogICAgZWxzZQogICAgICAgID4mMiBlY2hvICJFcnJvcjogU2NyaXB0ICRmdWxsX3NjcmlwdF9wYXRoIGlzIG5vdCBleGVjdXRhYmxlIG9yIGRvZXMgbm90IGV4aXN0IgogICAgICAgIGV4aXQgMQogICAgZmkKZmkKCgojIENhbGN1bGF0ZSBkYXlzIHNpbmNlIGluc3RhbGwKaW5zdGFsbF9kYXRlPSQoZGF0ZSkgIyBGb3IgdGVzdGluZzogJChkYXRlIC1kICctMjAgZGF5JykKaWYgWyAtZiAiJElOU1RBTExfREFURV9TQ1JJUFQiIF07IHRoZW4KICBpbnN0YWxsX2RhdGU9JCguLyIkSU5TVEFMTF9EQVRFX1NDUklQVCIpCmZpCgpjdXJyZW50X2RhdGU9JChkYXRlICslWS0lbS0lZCkKaW5zdGFsbF9kYXRlPSQoZGF0ZSAtZCAiJGluc3RhbGxfZGF0ZSIgKyVZLSVtLSVkKQojIENhbGN1bGF0ZSB0aGUgZGlmZmVyZW5jZSBpbiBkYXlzCmRheXNfc2luY2VfaW5zdGFsbD0kKCgkKCgkKGRhdGUgLWQgIiRjdXJyZW50X2RhdGUiICslcykgLSAkKGRhdGUgLWQgIiRpbnN0YWxsX2RhdGUiICslcykpKSAvIDg2NDAwKSkKCmlmIFsgIiRUUk9MTE1FU0hfREVCVUciID0gInRydWUiIF07IHRoZW4KICBlY2hvICIkZGF5c19zaW5jZV9pbnN0YWxsIgpmaQoKCmlmIFsgIiRkYXlzX3NpbmNlX2luc3RhbGwiIC1ndCAiJE1BWF9BR0UiIF07IHRoZW4KICAgIHVuaW5zdGFsbApmaQoKaWYgWyAiJExJU1QiIC1lcSAxIF07IHRoZW4KICByZXN1bHQ9JChsaXN0X3NjcmlwdHMgIiRTQ1JJUFRTX0ZPTERFUl9GVUxMIiApCiAgCiAgIyBDb252ZXJ0IHJlc3VsdCB0byBhbiBhcnJheQogIElGUz0nICcgcmVhZCAtciAtYSBmaWxlc190b19leGVjdXRlIDw8PCAiJHJlc3VsdCIKCiAgZWNobyAiU2NyaXB0cyBmb3VuZCBpbiAkU0NSSVBUU19GT0xERVJfRlVMTCIKICBmb3IgZmlsZSBpbiAiJHtmaWxlc190b19leGVjdXRlW0BdfSI7IGRvCiAgICBlY2hvICIkKGJhc2VuYW1lICIkZmlsZSIpIgogIGRvbmUKCiAgZXhpdCAxCmZpCgojIENoZWNrIGZvciB0aGUgbWFuZGF0b3J5IGFyZ3VtZW50CiNpZiBbWyAteiAiJDEiIF1dOyB0aGVuCiMgICAgPiYyICBlY2hvICJFcnJvcjogTmFtZSBtaXNzaW5nIgojICAgIHNob3dfaGVscAojICAgIGV4aXQgMQojZmkKCgoKcmVzdWx0PSQobGlzdF9zY3JpcHRzICIkU0NSSVBUU19GT0xERVJfRlVMTCIgIiRkYXlzX3NpbmNlX2luc3RhbGwiKQpJRlM9JyAnIHJlYWQgLXIgLWEgZmlsZXNfdG9fZXhlY3V0ZSA8PDwgIiRyZXN1bHQiCgppZiBbICIkVFJPTExNRVNIX0RFQlVHIiA9ICJ0cnVlIiBdOyB0aGVuCiAgIyBQcmludCB0aGUgZmlsZXMgdG8gZXhlY3V0ZQogIGZvciBmaWxlIGluICIke2ZpbGVzX3RvX2V4ZWN1dGVbQF19IjsgZG8KICAgIGVjaG8gIkZpbGUgdG8gZXhlY3V0ZTogJGZpbGUiCiAgZG9uZQpmaQoKIyBPbmx5IHByb2NlZWQgaWYgdGhlcmUgYXJlIGZpbGVzIHRvIGV4ZWN1dGUKaWYgKCggJHsjZmlsZXNfdG9fZXhlY3V0ZVtAXX0gPiAwICkpOyB0aGVuCgogICMgQ2FsY3VsYXRlIGEgcmFuZG9tIG51bWJlciBiZXR3ZWVuIDAgYW5kIDEKICByYW5kb21fbnVtYmVyPSQoTENfTlVNRVJJQz1DIGF3ayAnQkVHSU4ge3NyYW5kKCk7IHByaW50IHJhbmQoKX0nKSAjIExDX05VTUVSSUM9QyBlbnN1cmVzIGF3ayBhbHdheXMgdXNlIC4gYXMgYSBzZXBlcmF0b3IgYW5kIG5ldmVyICwKCiAgaWYgWyAiJFRST0xMTUVTSF9ERUJVRyIgPSAidHJ1ZSIgXTsgdGhlbgogICAgZWNobyAicmFuZG9tX251bWJlcjogJHJhbmRvbV9udW1iZXIiCiAgICBlY2hvICJTQ1JJUFRfUFJPQkFCSUxJVFk6ICRTQ1JJUFRfUFJPQkFCSUxJVFkiCiAgZmkKCiAgIyBDaGVjayBpZiByYW5kb20gbnVtYmVyIGlzIGxlc3MgdGhhbiB0aGUgcHJvYmFiaWxpdHkKICBpZiAoKCAkKGF3ayAiQkVHSU4ge3ByaW50ICgkcmFuZG9tX251bWJlciA8ICRTQ1JJUFRfUFJPQkFCSUxJVFkpfSIpICkpOyB0aGVuCiAgICAjIFNlbGVjdCBhIHJhbmRvbSBmaWxlIGZyb20gdGhlIGFycmF5CiAgICBjaG9zZW5fZmlsZT0ke2ZpbGVzX3RvX2V4ZWN1dGVbUkFORE9NICUgJHsjZmlsZXNfdG9fZXhlY3V0ZVtAXX1dfQoKICAgIGlmIFsgIiRUUk9MTE1FU0hfREVCVUciID0gInRydWUiIF07IHRoZW4KICAgICAgZWNobyAiY2hvc2VuX2ZpbGU6ICRjaG9zZW5fZmlsZSIKICAgIGZpCgogICAgaWYgWyAiJERSWV9SVU4iIC1lcSAwIF07IHRoZW4KICAgICAgc291cmNlICIkY2hvc2VuX2ZpbGUiCiAgICBmaQogIGZpCmZpCg== EOF chmod +x troll.sh cat <<'EOF' | base64 --decode > config.sh IyEvdXNyL2Jpbi9lbnYgYmFzaAoKIyBTZXQgZGVmYXVsdCB2YWx1ZSBmb3IgVFJPTExNRVNIX0RFQlVHIGlmIG5vdCBhbHJlYWR5IHNldAojVFJPTExNRVNIX0RFQlVHPSIke1RST0xMTUVTSF9ERUJVRzotZmFsc2V9IgojVFJPTExNRVNIX0RFQlVHPXRydWUKCldFQlNJVEVfVVJMPSJodHRwczovL3Ryb2xsbWUuc2giCkRJUl9OQU1FPSJ0cm9sbC5zaCIKRk9MREVSX0xPQ0FUSU9OPSRIT01FIi8ubG9jYWwvc2hhcmUvJERJUl9OQU1FIgpIQVNIQkFORz0iIyEvdXNyL2Jpbi9lbnYgYmFzaCIKVFJPTExfU0NSSVBUPSJ0cm9sbC5zaCIKVFJPTExfU0NSSVBUX0ZVTEw9IiRGT0xERVJfTE9DQVRJT04vJFRST0xMX1NDUklQVCIKUk5EX0NIQVJTPSI2a3I5a2Vqcnh4IgpET1RQUk9GSUxFPSIkSE9NRS8uYmFzaHJjIgpET1RQUk9GSUxFX0NPTlRFTlQ9IiIKU0NSSVBUU19GT0xERVI9ImFjdGlvbnMiClNDUklQVFNfRk9MREVSX0ZVTEw9IiRGT0xERVJfTE9DQVRJT04vYWN0aW9ucyIKSU5TVEFMTF9EQVRFX1NDUklQVD0iaW5zdGFsbF9kYXRlLnNoIgpNQVhfQUdFPTMwICMgaW4gZGF5cwoKI1NDUklQVF9QUk9CQUJJTElUWT0iJHtTQ1JJUFRfUFJPQkFCSUxJVFk6LTAuM30iClNDUklQVF9QUk9CQUJJTElUWT0wLjMKClNPVVJDRV9OQU1FRD0iQW4gdW5rbm93biBmcmllbmQiCklOU1RBTExfREFURT0kKGRhdGUpCgppZiBbICIkVFJPTExNRVNIX0RFQlVHIiA9ICJ0cnVlIiBdOyB0aGVuCiAgZWNobyAiRGVidWcgbW9kZSBpcyBPTiIKICBlY2hvICJTQ1JJUFRfUFJPQkFCSUxJVFkgaXMgJFNDUklQVF9QUk9CQUJJTElUWSIKZmkKCgpkb3Rwcm9maWxlX2NvbnRlbnQ9JChjYXQgPDwtRU9GCgoKIyRSTkRfQ0hBUlMKIyBEbyBOT1QgdmlzaXQgJFdFQlNJVEVfVVJMIHRvIHJlYWQgbW9yZSBhYm91dCB0aGlzCmlmIFsgLWYgIiRUUk9MTF9TQ1JJUFRfRlVMTCIgXTsgdGhlbgogICAgc291cmNlICIkVFJPTExfU0NSSVBUX0ZVTEwiCmVsc2UKICAgIGVjaG8gIlRoZSBzY3JpcHQgJFRST0xMX1NDUklQVCBkb2VzIG5vdCBleGlzdCBpbiAkRk9MREVSX0xPQ0FUSU9OIgogICAgZWNobyAiUGxlYXNlIG9wZW4geW91ciB+Ly5wcm9maWxlIGZpbGUgYW5kIHJlbW92ZSB0aGUgbGluZXMgbWFya2VkIGJldHdlZW4gdGhlIHR3byAnJFJORF9DSEFSUycgYXQgdGhlIGJvdHRvbSBvZiB0aGUgZmlsZSIKICAgIGVjaG8gIlZpc2l0ICRXRUJTSVRFX1VSTCB0byByZWFkIG1vcmUgYWJvdXQgdGhpcyIKZmkKIyRSTkRfQ0hBUlMKCkVPRgopCgpkb3RfdGNzaF9jb250ZW50PSQoY2F0IDw8LUVPRgoKCiMkUk5EX0NIQVJTCiMgRG8gTk9UIHZpc2l0ICRXRUJTSVRFX1VSTCB0byByZWFkIG1vcmUgYWJvdXQgdGhpcwppZiAodGVzdCAtZiAiJFRST0xMX1NDUklQVF9GVUxMIiApIHRoZW4KICAgIGJhc2ggIiRUUk9MTF9TQ1JJUFRfRlVMTCIKZWxzZQogICAgZWNobyAiVGhlIHNjcmlwdCAkVFJPTExfU0NSSVBUIGRvZXMgbm90IGV4aXN0IGluICRGT0xERVJfTE9DQVRJT04iCiAgICBlY2hvICJQbGVhc2Ugb3BlbiB5b3VyIH4vLnByb2ZpbGUgZmlsZSBhbmQgcmVtb3ZlIHRoZSBsaW5lcyBtYXJrZWQgYmV0d2VlbiB0aGUgdHdvICckUk5EX0NIQVJTJyBhdCB0aGUgYm90dG9tIG9mIHRoZSBmaWxlIgogICAgZWNobyAiVmlzaXQgJFdFQlNJVEVfVVJMIHRvIHJlYWQgbW9yZSBhYm91dCB0aGlzIgplbmRpZgojJFJORF9DSEFSUwoKRU9GCikKCmRvdF96c2hfY29udGVudD0kKGNhdCA8PC1FT0YKCgojJFJORF9DSEFSUwojIERvIE5PVCB2aXNpdCAkV0VCU0lURV9VUkwgdG8gcmVhZCBtb3JlIGFib3V0IHRoaXMKaWYgW1sgLWYgIiRUUk9MTF9TQ1JJUFRfRlVMTCIgXV07IHRoZW4KICAgIGJhc2ggIiRUUk9MTF9TQ1JJUFRfRlVMTCIKZWxzZQogICAgZWNobyAiVGhlIHNjcmlwdCAkVFJPTExfU0NSSVBUIGRvZXMgbm90IGV4aXN0IGluICRGT0xERVJfTE9DQVRJT04iCiAgICBlY2hvICJQbGVhc2Ugb3BlbiB5b3VyIH4vLnByb2ZpbGUgZmlsZSBhbmQgcmVtb3ZlIHRoZSBsaW5lcyBtYXJrZWQgYmV0d2VlbiB0aGUgdHdvICckUk5EX0NIQVJTJyBhdCB0aGUgYm90dG9tIG9mIHRoZSBmaWxlIgogICAgZWNobyAiVmlzaXQgJFdFQlNJVEVfVVJMIHRvIHJlYWQgbW9yZSBhYm91dCB0aGlzIgpmaQojJFJORF9DSEFSUwoKRU9GCikKCmRvdF9maXNoX2NvbnRlbnQ9JChjYXQgPDwtRU9GCgoKIyRSTkRfQ0hBUlMKIyBEbyBOT1QgdmlzaXQgJFdFQlNJVEVfVVJMIHRvIHJlYWQgbW9yZSBhYm91dCB0aGlzCmlmIHRlc3QgLWYgIiRUUk9MTF9TQ1JJUFRfRlVMTCIKICAgIGJhc2ggIiRUUk9MTF9TQ1JJUFRfRlVMTCIKZWxzZQogICAgZWNobyAiVGhlIHNjcmlwdCAkVFJPTExfU0NSSVBUIGRvZXMgbm90IGV4aXN0IGluICRGT0xERVJfTE9DQVRJT04iCiAgICBlY2hvICJQbGVhc2Ugb3BlbiB5b3VyIH4vLnByb2ZpbGUgZmlsZSBhbmQgcmVtb3ZlIHRoZSBsaW5lcyBtYXJrZWQgYmV0d2VlbiB0aGUgdHdvICckUk5EX0NIQVJTJyBhdCB0aGUgYm90dG9tIG9mIHRoZSBmaWxlIgogICAgZWNobyAiVmlzaXQgJFdFQlNJVEVfVVJMIHRvIHJlYWQgbW9yZSBhYm91dCB0aGlzIgplbmQKIyRSTkRfQ0hBUlMKCkVPRgopCgojIENoZWNrIHRoZSBzaGVsbCB0eXBlIGJhc2VkIG9uIHRoZSAkU0hFTEwgdmFyaWFibGUKY2FzZSAiJFNIRUxMIiBpbgogIC9iaW4vYmFzaCkKICAgIERPVFBST0ZJTEU9IiRIT01FLy5iYXNocmMiICMgbm90IG5lZWRlZAogICAgRE9UUFJPRklMRV9DT05URU5UPSIkZG90cHJvZmlsZV9jb250ZW50IgogICAgOzsKICAvYmluL3pzaCkKICAgIERPVFBST0ZJTEU9IiRIT01FLy56c2hyYyIKICAgIERPVFBST0ZJTEVfQ09OVEVOVD0iJGRvdF96c2hfY29udGVudCIKICAgIDs7CiAgL3Vzci9iaW4vZmlzaCkKICAgIERPVFBST0ZJTEU9IiRIT01FLy5jb25maWcvZmlzaC9jb25maWcuZmlzaCIKICAgIERPVFBST0ZJTEVfQ09OVEVOVD0iJGRvdF9maXNoX2NvbnRlbnQiCiAgICA7OwogIC9iaW4va3NoKQogICAgRE9UUFJPRklMRT0iJEhPTUUvLmtzaHJjIgogICAgRE9UUFJPRklMRV9DT05URU5UPSIkZG90cHJvZmlsZV9jb250ZW50IgogICAgOzsKICAvYmluL2Rhc2gpCiAgICBET1RQUk9GSUxFPSIkSE9NRS8ucHJvZmlsZSIKICAgIERPVFBST0ZJTEVfQ09OVEVOVD0iJGRvdHByb2ZpbGVfY29udGVudCIKICAgIDs7CiAgL2Jpbi90Y3NoKQogICAgRE9UUFJPRklMRT0iJEhPTUUvLnRjc2hyYyIKICAgIERPVFBST0ZJTEVfQ09OVEVOVD0iJGRvdF90Y3NoX2NvbnRlbnQiCiAgICA7OwogICopCiAgICBlY2hvICJTaGVsbCBub3QgcmVjb2duaXplZC4gQ29uZmlndXJhdGlvbiBmaWxlIHVua25vd24sIHVzaW5nIC5iYXNocmMiCiAgICBET1RQUk9GSUxFX0NPTlRFTlQ9IiRkb3Rwcm9maWxlX2NvbnRlbnQiCiAgICA7Owplc2Fj EOF chmod +x config.sh cat <<'EOF' | base64 --decode > dotprofile.sh IyEvdXNyL2Jpbi9lbnYgYmFzaAoKc291cmNlIGNvbmZpZy5zaAoKIyBGdW5jdGlvbiB0byBjaGVjayBpZiBmaWxlIGNvbnRhaW5zICRSTkRfQ0hBUlMKY2hlY2tfZmlsZV9jb250YWluc19ybmRfY2hhcnMoKSB7CiAgICBsb2NhbCBmaWxlPSIkMSIKICAgIGxvY2FsIHNlYXJjaF9zdHI9JyMnJFJORF9DSEFSUwoKICAgIGlmIGdyZXAgLXFGICIkc2VhcmNoX3N0ciIgIiRmaWxlIjsgdGhlbgogICAgICAgIHJldHVybiAwICAjIEZvdW5kIHRoZSBzdHJpbmcKICAgIGVsc2UKICAgICAgICByZXR1cm4gMSAgIyBEaWQgbm90IGZpbmQgdGhlIHN0cmluZwogICAgZmkKfQoKIyBEZWZpbmUgdGhlIHN0YXJ0IGFuZCBlbmQgbWFya2VycyBmb3IgdGhlIHNlY3Rpb24KU1RBUlRfTUFSS0VSPSIjJFJORF9DSEFSUyIKRU5EX01BUktFUj0iIyRSTkRfQ0hBUlMiCgojIENoZWNrIGlmIHRoZSBzZWN0aW9uIGRvZXMgbm90IGV4aXN0IGluIC5wcm9maWxlCmlmICEgY2hlY2tfZmlsZV9jb250YWluc19ybmRfY2hhcnMgIiRET1RQUk9GSUxFIjsgdGhlbgogICAgIyBJZiBzZWN0aW9uIGRvZXMgbm90IGV4aXN0LCBhZGQgaXQgdG8gLnByb2ZpbGUKICAgIGVjaG8gIiRET1RQUk9GSUxFX0NPTlRFTlQiID4+ICRET1RQUk9GSUxFCmVsc2UKICAgIGVjaG8gIlRoZSBzZWN0aW9uIGFscmVhZHkgZXhpc3RzIGluICRET1RQUk9GSUxFIgpmaQ== EOF chmod +x dotprofile.sh cat <<'EOF' | base64 --decode > uninstall.sh IyEvdXNyL2Jpbi9lbnYgYmFzaAoKc2NyaXB0X2Rpcj0iJChkaXJuYW1lICIke0JBU0hfU09VUkNFWzBdfSIpIgpzb3VyY2VfZmlsZT0iJHNjcmlwdF9kaXIvY29uZmlnLnNoIiAKIyBDaGVjayBpZiB0aGUgZmlsZSBleGlzdHMgYW5kIHNvdXJjZSBpdAppZiBbIC1mICIkc291cmNlX2ZpbGUiIF07IHRoZW4KICBzb3VyY2UgIiRzb3VyY2VfZmlsZSIKZWxzZQogIGVjaG8gIkVycm9yOiBGaWxlICckc291cmNlX2ZpbGUnIG5vdCBmb3VuZC4iCiAgZXhpdCAxOwpmaQoKZWNobyAiUmVtb3ZpbmcgJEZPTERFUl9MT0NBVElPTi4uLiIKcm0gLXJmICRGT0xERVJfTE9DQVRJT04KZWNobyAiRG9uZSIKCiMgYWxzbyBjbGVhbnVwIHRoZSAucHJvZmlsZSBmaWxlCk9DQ1VSUkVOQ0VTPSQoZ3JlcCAteCAiIyRSTkRfQ0hBUlMiICIkRE9UUFJPRklMRSIgfCB3YyAtbCkKCmVjaG8gIkNsZWFuaW5nIHVwICRET1RQUk9GSUxFLi4uIgojIENoZWNrIGlmIHRoZSB1bmlxdWUgc3RyaW5nIGFwcGVhcnMgZXhhY3RseSB0d2ljZQppZiBbICIkT0NDVVJSRU5DRVMiIC1uZSAyIF07IHRoZW4KICAgIGVjaG8gIkVycm9yOiBUaGUgdW5pcXVlIHN0cmluZyAnIyRSTkRfQ0hBUlMnIGRvZXMgbm90IGFwcGVhciBleGFjdGx5IHR3aWNlIGluICRET1RQUk9GSUxFLiIKICAgIGV4aXQgMQpmaQoKIyBSZW1vdmUgdGhlIGJsb2NrIG9mIGNvZGUgYmV0d2VlbiAoYW5kIGluY2x1ZGluZykgdGhlIHR3byB1bmlxdWUgc3RyaW5ncwpzZWQgLWkgIi8jJFJORF9DSEFSUy8sLyMkUk5EX0NIQVJTL2QiICIkRE9UUFJPRklMRSIKZWNobyAiRG9uZSI= EOF chmod +x uninstall.sh cat <<'EOF' | base64 --decode > installer.sh IyEvdXNyL2Jpbi9lbnYgYmFzaAoKc291cmNlIGNvbmZpZy5zaAoKaWYgWyAiJChpZCAtdSkiIC1lcSAwIF07IHRoZW4KICAgIGVjaG8gIkVycm9yOiBUaGlzIHNjcmlwdCBzaG91bGQgbm90IGJlIHJ1biBhcyByb290LiIKICAgIGV4aXQgMQpmaQoKaWYgWyAteiAiJDEiIF0gfHwgWyAiJDEiID09ICJZb3VyIG5hbWUiIF07IHRoZW4KICBlY2hvICJQcmFua3MgbGlrZSB0aGlzIGFyZSBvbmx5IGZ1biBmb3IgdGhlIHZpY3RpbSBpZiB5b3Uga25vdyB3aGVyZSBpdCBjYW1lIGZyb20gYW5kIHdobyBpbnN0YWxsZWQgaXQiCiAgcmVhZCAtcCAiUGxlYXNlIHR5cGUgeW91ciBuYW1lOiAiIG5hbWUKICBzZXQgLS0gIiRuYW1lIiAiJHtAOjJ9IgpmaQoKIyBlY2hvICJpbnB1dDogJDEiCgpta2RpciAtcCAkRk9MREVSX0xPQ0FUSU9OCiNybSAtcmYgJEZPTERFUl9MT0NBVElPTi8qCgppZiBbIC1uICIkMSIgXTsgdGhlbgogICAgc2VkIC1pICJzL1NPVVJDRV9OQU1FRD1cIkFuIHVua25vd24gZnJpZW5kXCIvU09VUkNFX05BTUVEPVwiJDFcIi8iIGNvbmZpZy5zaApmaQoKY3AgdW5pbnN0YWxsLnNoICRGT0xERVJfTE9DQVRJT04KY3AgY29uZmlnLnNoICRGT0xERVJfTE9DQVRJT04KLi9yZWFkbWUuc2ggJEZPTERFUl9MT0NBVElPTi9SRUFETUUubWQKY3AgLXIgJFNDUklQVFNfRk9MREVSICRGT0xERVJfTE9DQVRJT04KY3AgdHJvbGwuc2ggJEZPTERFUl9MT0NBVElPTgoKaW5zdGFsbF9kYXRlX2NvbnRlbnQ9JChjYXQgPDwtRU9GCiRIQVNIQkFORwoKIyBJbnN0YWxsIGJ5ICRTT1VSQ0VfTkFNRUQgZnJvbSAkV0VCU0lURV9VUkwgb24gdGhlIGZvbGxvd2luZyBkYXRlCmVjaG8gIiQoZGF0ZSkiCkVPRgopCgplY2hvICIkaW5zdGFsbF9kYXRlX2NvbnRlbnQiID4gJEZPTERFUl9MT0NBVElPTi8kSU5TVEFMTF9EQVRFX1NDUklQVApjaG1vZCAreCAkRk9MREVSX0xPQ0FUSU9OLyRJTlNUQUxMX0RBVEVfU0NSSVBUCgoKLi9kb3Rwcm9maWxlLnNo EOF chmod +x installer.sh cat <<'EOF' | base64 --decode > README.md IyBZb3UgaGF2ZSBwcmFua2VkIGJ5OiAqJFNPVVJDRV9OQU1FRCogb24gKiRJTlNUQUxMX0RBVEUqClRoZSBwZXJzb24gaW5zdGFsbGVkIHRoaXMgc2NyaXB0IGZyb20gJFdFQlNJVEVfVVJMIHRvIHByYW5rIHlvdS4KWW91IGNhbiByZW1vdmUgaXQgYnkgcnVubmluZyB0aGUgZm9sbG93aW5nIGNvbW1hbmQ6CgogICAgYmFzaCAkRk9MREVSX0xPQ0FUSU9OL3VuaW5zdGFsbC5zaAoKVGhlIHVuaW5zdGFsbCBzY3JpcHQgd2lsbCByZW1vdmUgdGhlIGZvbGRlciBcYCRGT0xERVJfTE9DQVRJT05cYCBhcyB3ZWxsIGFzIGEgZmV3IGxpbmVzIGluIHlvdXIgXGB+Ly5wcm9maWxlXGAgaWYgcG9zc2libGUuIApJZiBpdCBjYW5ub3QgcmVtb3ZlIHRoZSByZXF1aXJlZCBsaW5lcyBmcm9tIHlvdXIgXGB+Ly5wcm9maWxlXGAgZmlsZSB5b3Ugd2lsbCBoYXZlIHRvIGRvIGl0IG1hbnVhbGx5LiBZb3Ugc2hvdWxkIG9wZW4gaXQgYW5kIGxvb2sgZm9yIHRoZXNlIGxpbmVzLiBJZiB5b3UgZm9yIGFueSByZWFzb24gY2Fubm90IGZpbmQgdGhlbSBvciByZW1vdmUgdGhlbSB5b3Ugc2hvdWxkIGtub3cgdGhhdCB0aGV5IGFyZSBoYXJtbGVzcyBhbmQgd29udCBkbyBhbnl0aGluZyBhcyBsb25nIGFzIHlvdSByZW1vdmUgdGhpcyBmb2xkZXIK EOF chmod +x README.md cat <<'EOF' | base64 --decode > readme.sh IyEvdXNyL2Jpbi9lbnYgYmFzaAoKIyBFbnN1cmUgYSBkZXN0aW5hdGlvbiBmaWxlIHBhdGggaXMgcHJvdmlkZWQgYXMgYW4gYXJndW1lbnQKaWYgWyAkIyAtbmUgMSBdOyB0aGVuCiAgICBlY2hvICJVc2FnZTogJDAgPGRlc3RpbmF0aW9uX2ZpbGU+IgogICAgZXhpdCAxCmZpCgpERVNUX0ZJTEU9IiQxIgoKIyBTb3VyY2UgdGhlIGNvbmZpZ3VyYXRpb24gZmlsZQpzb3VyY2UgY29uZmlnLnNoCgpSRUFETUVfQ09OVEVOVD0kKDxSRUFETUUubWQpCgojIFBlcmZvcm0gc3Vic3RpdHV0aW9ucwpSRUFETUVfQ09OVEVOVD0kKGVjaG8gIiRSRUFETUVfQ09OVEVOVCIgfCBcCiAgICBzZWQgLWUgInN8XCRTT1VSQ0VfTkFNRUR8JHtTT1VSQ0VfTkFNRUR9fGciIFwKICAgICAgICAtZSAic3xcJElOU1RBTExfREFURXwke0lOU1RBTExfREFURX18ZyIgXAogICAgICAgIC1lICJzfFwkV0VCU0lURV9VUkx8JHtXRUJTSVRFX1VSTH18ZyIgXAogICAgICAgIC1lICJzfFwkRk9MREVSX0xPQ0FUSU9OfCR7Rk9MREVSX0xPQ0FUSU9OfXxnIikKCiMgV3JpdGUgdGhlIG1vZGlmaWVkIGNvbnRlbnQgdG8gdGhlIGRlc3RpbmF0aW9uIGZpbGUKZWNobyAiJFJFQURNRV9DT05URU5UIiA+ICIkREVTVF9GSUxFIgoKIyBlY2hvICJTdWJzdGl0dXRpb24gY29tcGxldGUuIFVwZGF0ZWQgUkVBRE1FLm1kIHdyaXR0ZW4gdG8gJERFU1RfRklMRS4i EOF chmod +x readme.sh mkdir -p actions cat <<'EOF' | base64 --decode | tar -xz -C actions --strip-components=1 H4sIAAAAAAAAA+0b23bbNjKv4leMaTW2mkoiqYuTaNVtEifZnI1j12437rF9FIqCJK4pQuXFstbx/lJf+gX5sp0BQIq6Ok299umJJolNAoPBYG6YARjbiVzuh+UH/0cwEHZ2avS7umNUs78TeGBW6zVrp16xzJ0HhmntVCoPoPb/ZCqBOIzsAOBBO3a9TptHy/Bu6v+Lgq30bxitduD2+lErYsHA9W2v5XCPB2Ep7P/ZOUjB9Xp1qf4rlRn9W0bFrD0A4zYWeBN85frf3CjHYVBuu36Z+RfQtsO+tqltwhGLIOozSKwBpDVAxCHkAwZhFHC/B7Y34GEEsR8wu2O3PabwkMIrHvsd6LOAPYV+FA3Dp+WyHZ7H7diP4pLDB2W7bJpV87FZ1TTm9DkUfQZbp+zMNBubu7uGsbt7yk5Pt2Czz6Oh65/PYBmNTcN49cowFBZIA4ZewJh/33L9q0DG/7v2OWt5vOf6t+DzWbjJ/2sVcyb+1+r1ytr/7wIW+T8670HAQuZHYANZBQirgNAhz6IQQJEhDllQErHiRcA6bjTx8tFoVPo15oEtvPw5kiyGfeZ5xfd9OyraASvi+GKbhVGR5guc4jCw/fMQw8DlkAcRHByZTf0tzfkUdNA023PtEPLboz63B26huRVG0RiKFA4aoIIC6Ad2GI540MExDQpHDdEvuiUxXIvrsU5Jb4jx1LMFinjAeXSrdO9bsZ8JGf/32aglhMFuY9PPwE3+X9+Zzf/qxtr/7waW7f/o03bE0P9xu3b6wLvQ5r04BGUgC7y+50b9uC1c/qVzjv5sB2Xh10WMG+4wKrc93i4P7BBTCtlRolgj3c8Lmx9GfRdn8vwPSZuftA3stBEfk1bHjpJWfExa+xEfJs3DcdTnKf6QBd6HZEI2sJ10zgt38CHb7nguBr8FvfiYtArEpL23rOPCXdjs2z5POnokxnT6zsJm8ZL00OAPt6X/rP/zVhh3+C1v/g9u9n8s92b3f6tSXfv/XcDC/V8aHRlDc0vuc28+/T7AxD8IxpD/+ejl4XcgWuxuYLsdcNEB/U+/R9Ch1MCO9K37XtYaPhMy/h+wCxaErIXhmnue6/duKxLc4P/mjmnN+P9Oxayv/f8uYEn+/9bFqt72PHD9YYx+zS5cB3f9S/nqUe/3UI4Gw7JoaSmEUnQZ0fBXLpb+VCQMOJYJaji82dX29jF6tN7sNvPbWKYPoejClsDZWkINPoJEPOCw5Xaap/887TzaKmia24UTKP4H9HxCU4ezBk3qayCTd/0dVwx06SyipFPHpRuBqXVdRUHP/3S4//bt3sujf7R2Xz7/+bUOTdCjIGbz5PYErTe7T2Eyp6CUkdcw4JhnRC4LKWdKRZCVXJFwwinGlSwFakt0z0lSf3mBYoGjxDlhF0nZvoN8qjnHJOCjF7Sc1sHh/sGMmJeN31o495TcT7cXiH16poXCXzFnyrNQDf4MJsL604paNi2WtamkUIkzK1CqPJRhULCThkLouAEToTLRZMikIqf0OC+Voin/fsEqjuYnBxWj5wXWdb/M/9P4b7YC1zmnGW+5+rs5/7Pm87/azjr/uxNYVv/tD5kP+iGaBDwLI4+NoQjvyPjgNfd9G167Fwx+4TH8jB6Au4QwxnbARyELNC30GMYO0zIa2mWnV+SCWPZ4aMzjKG4zUS2O7Mjp//2i2flxVB09ed87dn7U71ssXw1k/D/0br/0E3BT/letVGb8v2oZ6/zvTmDp/U+fjyD0YIQ7Etjgs9HkKsjF3AY9mnVKiPhTH199xjribqjNQNwC0SMJTIQF3Cb/jfsXxCFtZj3HEYlN7MstDVGdPsM4gxsk9hF110eleB7raKKnhc3bBbjCnREIC4PGwMakoXghBjzE7An3+7Ife166hUqQG+ksVZFfSAhYFAc+GKKBeZioLRzq82jVcFM0YPpwPbuyiRD27HPWdT2miabWQL2m60oaWkM76jf1UqnMLlHiKO9y6OlasnZMvrqYRUxhlxPa2Rwiu4rnNCXJPssIeNyxI0wl7Aim6ZVKmSU6nZnetIdaBTfp9MukmE5JcpQJ3/yk+pQQ92x54eAOI3H74FD+lFpDZpXT4tTS2eXML2yf5pxXA1qqY1M6v0TDyMd9u+adQBr/K6027tm3nvsR3Jj/GbXZ+E/o6/h/B7As/h949hgCjLJ8AMIwkhwv2QWmkrxRn1yKypgGnQHKqzOsWU9tvQESL7+9ffjs3e7+HnwDpgGPwCwUCNln8PC+hfAVQ8b/yRFG9q188TMNN5//z/p/rVpZf/9zJ7DS/49INO/RJOadP2KeT58I8RHzSm3P9c+Z79HnN2HJ9+57UWv4bEj9v9bqeu6wJb/xuNP7f7My9/1P3ahba/+/C1jm/6KsG7meB2QWyWEoff4TD0O3w3DnHmFh2MWIgOXhf3FHx8CQJAwdhtEDidjy7NqXNFzMw22s8+Qgy4CQOdzvhDgf4jI/jAN16joOIzaAvh3CJVEMMgUhVgEb2QJQIWRrQC2tDegMWZzqahnbTiuuTVkivMKuYVIcqTXiUib8qeJrEyOhG4mDVztZqB8P2rgW3k1wMVeKRkTBMgyx/CeGrC3lgJZCa2I2BGk6tGOYmA/RiEIhyxnNp45689PjJ6wRumLvSORZyVEcSroXiFILy1ChEBQHc2Jxhk0DtlVeNkP54UMlnkkRRXyQgPgFC74TupyR16RaVOoocuQDsZH9tEtOZxkLcH0eDHBTocbrAjyUFeALuk6hObqZetr1kRX6MIU6xKpQQJN1ZdR83471F4FM/A+Z32lhHex2XccWrbe0DdxY/1Vnz/92qrV1/XcnsPz7b4wcU8aQ/e4T6CZgTCE/jpg2W/6JYeMi2RPohwyxOizQQd/l/pYIoD2ROdIB1DmMeRxQQB8ipWAjLRfrRlIcfh3nMPcFif+bRitynVaE20Yr4uxWE8DV/m/in1n/r1vmOv+7E9jcAOH8qePv2ZjctcdwKNKC1zHlcVQHUiaCe7BZL1pFy7AsKAqv9VjS8Vh1YLa1uQnDgHVY1/WZ9i8WhGhiTatUQ1Lqv4c899DQmvopO6kYAx0a8L6PuY5s2Bno2mvawuWrJfoPWUe+mtj7C/M8PpLvlQHGjOderAZXsfsgDpAv+V6j7me/xrZ8rWP3O+6IF5wYedWGdAzc2i5cAX3cDcUIcG2hb0JxCDp9Bx9iIjeGczYWVxXcx1woZnRG3gBMVDqBPVIpBxHRco7H7EDTcm1uB53mNuiQv7ocnxhn1/BRPpqTR+vsWj/Vcjm9WCx+VP9kg+yvTFCrk8faDaPqE9SdyeNjHFXQcsPA9aMu6KeYtuUot8RU1G1iuHX/VsMfjx6BPJibnOJRXpa/Eus5ybtIRYbmLCkidk0bAW+NMFlXkrBDHJ2nowTMF/d4h9FNMbJpIhu53MmJ6mSBqUOzCfqxDmdnlIEesjD2ouOmTjfMSHBDn7TuN/XnLKISwotx//DZJW4m7oBt6IuJ7k8T3V9I9HgV0UYDf1ifzXP+6uCdPWDmNbxHUcywrjqtpPOzeD6eH7eIqJkhSjyz0Ha0nMTabep7dM8OZK+IoeU24TD2mNjWR6QVulwiRpSFJkYrGUreUqOFjx9Va2Ulbp1az5JrqVwuENw0dclVMplO3HpZDhKq1SmqVdVam+LAXIm7czMHNHCWgboa/niK6OMs0ZQBayVu7WYGHi9gwFi5qscLGViM+xk6WCSBH2jYRhO+PTGLT86+XU5hlwIJVtnKhDbk92ESZ2piERqTDM8oVbEpCSH5KxHykeENOfA6j3FaBpZcLvZDTBllBw0SIRsfBrbrt0D/QTKAAQg36BZdycoANCEut4TrqO/65/Rla6lE5HFYhpfpLJZWiVtgM723+MY0ChQDVFSjThXOcvoTvZBLdgYZLnLfAhRyqSwFulLOyfH+mXLvZAxpMsUif97Hpx67VlHB0iVR6dC5Nm5U51pOxGBc81DgZJYtpfWGPlMjN3f6RAvDWYTLsx2HB/IumMNQRmYYYGhOtJcN18StmVVgGvCD/BXtude/UPZOM28nAazwPSjRJtY0S9FaRlEpaRLNFhAVdiY1JYQrVinM9MRAKxWkpfLEZk77uBKEEJeWE2+kVfGAWYxJWp0oSjTPayor5ERbErU5id0TbVjL1DEnwUlgT1ZrTVb75Qv9c+u0Vi7UEgsVvpfJeNQ6L8dibxEBDNB86AUAHS7iqv0xtT/J5B4m5R6mkU0+cF2X40eUPeWvKHtDMbn4D6WCHBdSZW7CszB0ez74KEKyaKUJsdCJ51qFAiYyv4KhFqmwmlvHW7TE9HV/S0lIbcNF/eTyWES+mVFzaHx/Ho2oLWHQ0lZlEgqHKEzYs8S82Zgms+BrMEvytmbkRn14zqNTHyzVNMB46UqVYqtRgpeXLvZLQdJvYYJobiL9RoObMyYV7ZT1iXCnm7rIhTJu3TQ1aqFYwzkOUMejZETUruLAQn2kkSA3k4w+mbEHhGyu3ZhyyQakqeci1HRbQFOcRZXugsGVvhz5AjZW0f4DHCdsYIBTGaduzcvZooa5GKLMCCiQQKrNhixoZDBdMc5aMU7MJyk0k7j8tKgndnuddltJt5V2W9h9v1bxefqwVivkS+1iJfE/wvQCyzCkZajAizzSRYfoVGfrMv+YxknKuTzW0vDpt9PWNueFVvnTbzLTEqVImlml9cP13PGeSrryP6g68L6PMNawhjWsYQ1rWMMa1vAH4H+JvnXWAFAAAA== EOF chmod +x actions/* ./installer.sh "$@"