@ -0,0 +1 @@
|
||||
Installation Script And Added To Pi Apps By RPICoder
|
@ -0,0 +1,5 @@
|
||||
Privacy-friendly YouTube player.
|
||||
Use YouTube without advertisements and prevent Google from tracking you with their cookies and JavaScript.
|
||||
|
||||
FreeTube has an interface similar to YouTube, but is slower and more innefficient than YouTubuddy. Try both and see which one you prefer!
|
||||
Disabling the compositor improves playback performance.
|
After Width: | Height: | Size: 714 B |
After Width: | Height: | Size: 1.3 KiB |
@ -0,0 +1,18 @@
|
||||
#!/bin/bash
|
||||
|
||||
DIRECTORY="$(dirname "$(dirname "$( cd "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )")")"
|
||||
|
||||
function error {
|
||||
echo -e "\\e[91m$1\\e[39m"
|
||||
exit 1
|
||||
}
|
||||
|
||||
#Downloading Deb File For FreeTube
|
||||
rm -f ~/freetube.deb
|
||||
wget https://archive.org/download/freetube_0.11.2_armv7l/freetube_0.11.2_armv7l.deb -O ~/freetube.deb || error "Failed to download freetube.deb!"
|
||||
|
||||
#Installing FreeTube
|
||||
sudo apt install -y --fix-missing ~/freetube.deb || error "APT failed to install freetube.deb!"
|
||||
|
||||
#Removing Deb File
|
||||
rm -f ~/freetube.deb
|
@ -0,0 +1,18 @@
|
||||
#!/bin/bash
|
||||
|
||||
DIRECTORY="$(dirname "$(dirname "$( cd "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )")")"
|
||||
|
||||
function error {
|
||||
echo -e "\\e[91m$1\\e[39m"
|
||||
exit 1
|
||||
}
|
||||
|
||||
#Downloading Deb File For FreeTube
|
||||
rm -f ~/freetube.deb
|
||||
wget https://github.com/FreeTubeApp/FreeTube/releases/download/v0.11.2-beta/freetube_0.11.2_arm64.deb -O ~/freetube.deb || error "Failed to download freetube.deb!"
|
||||
|
||||
#Installing FreeTube
|
||||
sudo apt install -y --fix-missing ~/freetube.deb || error "APT failed to install freetube.deb!"
|
||||
|
||||
#Removing Deb File
|
||||
rm -f ~/freetube.deb
|
@ -0,0 +1,13 @@
|
||||
#!/bin/bash
|
||||
|
||||
DIRECTORY="$(dirname "$(dirname "$( cd "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )")")"
|
||||
|
||||
function error {
|
||||
echo -e "\\e[91m$1\\e[39m"
|
||||
exit 1
|
||||
}
|
||||
|
||||
|
||||
#Uninstalling FreeTube
|
||||
sudo apt -y purge freetube || error "Failed to uninstall lightpad"
|
||||
sudo apt -y autoremove
|
@ -0,0 +1 @@
|
||||
https://freetubeapp.io/
|
@ -1,4 +1,4 @@
|
||||
Game mods made by TheBrokenRail#5376 on Discord
|
||||
Launcher made by Alvarito050506#8207 on Discord
|
||||
|
||||
Ported to pi-apps by Botspot and RPiNews#5599 on Discord
|
||||
Ported to pi-apps by TheBrokenRail#5376 on Discord with a little help from Botspot.
|
||||
|
@ -1,3 +1,5 @@
|
||||
A modded version of Minecraft: Pi Edition with things like survival mode, multiplayer support, and more!
|
||||
|
||||
Launch after install by typing `minecraft-pi` to start the modded version directly or open Start menu > Games > MCPIL to open the launcher with username and multiplayer support.
|
||||
To open the launcher: Menu > Games > MCPIL. Use the launcher to set up mods and multiplayer.
|
||||
|
||||
NOTE: Make sure "GPU Driver" is set to Full/Fake in "raspi-config".
|
||||
|
@ -0,0 +1,2 @@
|
||||
script by ilobilo
|
||||
script improved by Itai-Nelken
|
@ -0,0 +1,2 @@
|
||||
JavaScript code outside a web browser.
|
||||
Node.js is used for all npm packages and is the foundation of Electron. As usual, this app will keep it updated.
|
After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 3.7 KiB |
@ -0,0 +1,26 @@
|
||||
#!/bin/bash
|
||||
|
||||
DIRECTORY="$(dirname "$(dirname "$( cd "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )")")"
|
||||
|
||||
function error {
|
||||
echo -e "\\e[91m$1\\e[39m"
|
||||
exit 1
|
||||
}
|
||||
|
||||
#Checking if using armv6
|
||||
if [ ! -z "$(cat /proc/cpuinfo | grep ARMv6)" ];then
|
||||
error "armv6 cpu not supported"
|
||||
fi
|
||||
|
||||
if ! command -v curl >/dev/null ; then
|
||||
echo -e "\033[0;31mcurl: command not found.\e[39m
|
||||
You need to install curl first. If you are on a debian system, this command should install it:
|
||||
\e[4msudo apt install curl\e[0m"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
#Add NodeSource repo:
|
||||
curl -sL https://deb.nodesource.com/setup_15.x | sudo -E bash - || error "Failed to add Nodesource repo!"
|
||||
|
||||
#Install NodeJS:
|
||||
sudo apt install nodejs -y || error "Failed to install Node.JS"
|
@ -0,0 +1,18 @@
|
||||
#!/bin/bash
|
||||
|
||||
DIRECTORY="$(dirname "$(dirname "$( cd "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )")")"
|
||||
|
||||
function error {
|
||||
echo -e "\\e[91m$1\\e[39m"
|
||||
exit 1
|
||||
}
|
||||
|
||||
#Uninstall NodeJS
|
||||
sudo apt purge nodejs -y || error "Failed to purge Node.JS!"
|
||||
sudo apt autoremove -y #who cares if this fails?
|
||||
|
||||
#remove /etc/apt/sources.list.d/nodesource.list
|
||||
sudo rm /etc/apt/sources.list.d/nodesource.list || error "Failed to remove nodesource repo!"
|
||||
|
||||
#if your app installs any packages, keep this command here so those packages will be removed.
|
||||
"${DIRECTORY}/purge-installed" "$(dirname "$0")" || exit 1
|
@ -0,0 +1 @@
|
||||
https://nodesource.com/
|
@ -0,0 +1 @@
|
||||
Added to Pi-Apps by Itai-Nelken.
|
@ -0,0 +1,10 @@
|
||||
A fully featured Markdown editor for Linux.
|
||||
Remarkable has many features including:
|
||||
- Live Preview with Synchronized Scrolling
|
||||
- Syntax Highlighting
|
||||
- GitHub Flavored Markdown Support
|
||||
- HTML and PDF Export
|
||||
- Dialogs for adding images, links and tables
|
||||
- Styles
|
||||
- Custom CSS Support
|
||||
- Keyboard Shortcuts
|
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 3.5 KiB |
@ -0,0 +1,13 @@
|
||||
#!/bin/bash
|
||||
|
||||
DIRECTORY="$(dirname "$(dirname "$( cd "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )")")"
|
||||
|
||||
function error {
|
||||
echo -e "\\e[91m$1\\e[39m"
|
||||
exit 1
|
||||
}
|
||||
|
||||
wget https://remarkableapp.github.io/files/remarkable_1.87_all.deb || error 'Failed to Download!'
|
||||
|
||||
sudo apt --fix-broken -y install ./remarkable_1.87_all.deb || error 'Failed to install!'
|
||||
rm remarkable_1.87_all.deb
|
@ -0,0 +1,11 @@
|
||||
#!/bin/bash
|
||||
|
||||
DIRECTORY="$(dirname "$(dirname "$( cd "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )")")"
|
||||
|
||||
function error {
|
||||
echo -e "\\e[91m$1\\e[39m"
|
||||
exit 1
|
||||
}
|
||||
|
||||
sudo apt purge remarkable -y || error "Failed to purge remarkable package!"
|
||||
sudo apt autoremove -y
|
@ -0,0 +1 @@
|
||||
https://remarkableapp.github.io/index.html
|
@ -1,8 +0,0 @@
|
||||
Play your favourite retro games.
|
||||
∙ Emulates games from 50+ consoles
|
||||
∙ Kodi support
|
||||
∙ Skinable
|
||||
∙ AND MUCH MORE!
|
||||
Instructions for installing ROMs are on the webiste
|
||||
After install, please select "Basic Install" Then select "Yes"
|
||||
To run in a terminal: emulationstation
|
Before Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 4.2 KiB |
@ -1,22 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
DIRECTORY="$(dirname "$(dirname "$(dirname "$0")")")"
|
||||
function error {
|
||||
echo -e "\e[31m$1\e[39m"
|
||||
exit 1
|
||||
}
|
||||
|
||||
# Get dependencies
|
||||
"${DIRECTORY}/pkg-install" "rapidjson-dev libavdevice-dev libx11-xcb-dev abuse-lib abuse-sfx alsa-oss alsa-utils autoconf automake autotools-dev binfmt-support bison bluetooth bluez-tools build-essential ca-certificates check checkinstall cmake curl debhelper devscripts dh-autoreconf dh-systemd dialog dirmngr distcc dkms dos2unix dosfstools doxygen e2fsprogs exfat-fuse fbi fcitx-libs-dev feh flac flex fluid-soundfont-gm fontconfig fonts-freefont-ttf fonts-takao fonts-takao-gothic freepats g++ gawk gcc gcc-6 git golang graphviz gstreamer1.0-alsa gstreamer1.0-libav gstreamer1.0-plugins-good icu-devtools imagemagick insserv joystick jq kpartx lhasa libaldmb1-dev liballegro4-dev libao-dev libarchive-dev libasound2-dev libaudiofile-dev libavcodec-dev libavcodec-dev libavformat-dev libavfilter-dev libavformat-dev libavresample-dev libfontconfig1-dev libavutil-dev libbluetooth3 libbluetooth-dev libboost-all-dev libboost-dev libboost-filesystem-dev libboost-regex-dev libboost-system-dev libboost-thread-dev libbz2-dev libcaca-dev libcap-ng-dev libcurl4-openssl-dev libdbus-1-dev libdbus-glib-1-dev libdirectfb-dev libdrm-dev libdw-dev libegl1-mesa-dev libenet-dev libev-dev libevdev-dev libevdev-dev libexpat1-dev libevdev-tools libfaad-dev libflac++-dev libflac-dev libfluidsynth-dev libfontconfig1-dev libfreeimage-dev libfreetype6-dev libfreetype6-dev libcurl4-openssl-dev libfreetype6-dev libudev-dev libfreetype6-dev zlib1g-dev libgbm-dev libgl1-mesa-dev libgles2-mesa-dev libglew-dev libglm-dev libluajit-5.1-dev libglu1-mesa-dev libgme-dev libguichan-dev libibus-1.0-dev libical-dev libicu-dev libinput10 libjpeg-dev libjpeg-dev cmake libjpeg-dev libtiff5-dev liblua5.1-0-dev libluajit-5.1-dev liblzo2-dev libmad0-dev libmad0-dev libpng-dev libmbedtls-dev libmikmod-dev libminiupnpc-dev libmng-dev libmodplug-dev libmpeg2-4-dev libmpg123-dev libogg-dev libogg-dev libmodplug-dev libopenal-dev libopus-dev libpango1.0-dev libsndfile1-dev libpcap-dev libpciaccess-dev libphysfs-dev libpng-dev libpng-dev libtheora-dev libpthread-stubs0-dev libpulse-dev libraspberrypi-dev libraspberrypi-doc libreadline-dev librsvg2-bin libsamplerate0-dev libsdl1.2-dev libsdl2-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-net-dev libsdl2-ttf-dev libsdl2-ttf-dev libopenal-dev libsdl2-ttf-dev libsdl2-image-dev libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-ttf2.0-dev libsfml-dev libsm-dev libvlc-dev libsnappy-dev libsndfile1-dev libsndio-dev libsoil-dev libsoundtouch-dev libspectrum-dev libspeexdsp-dev libsqlite3-dev libssl-dev libsubunit-dev libswscale-dev libtheora-dev libtinfo-dev libtolua++5.1-dev libtool libudev-dev libudev-dev libavahi-client-dev libuim-dev libusb-1.0-0-dev libusb-dev libvlccore-dev libvlc-dev libvorbis-dev libvorbisidec-dev libvpx-dev libvulkan-dev libwebp-dev libx11-dev libxext-dev libxi-dev libxinerama-dev libxkbcommon-dev libxkbcommon-x11-0 libxml2-dev libxrandr-dev libxt-dev libxv-dev libyaml-dev lynx-common lynx libzip-dev libzzip-dev lsb-release matchbox-window-manager mc meson ninja-build nodejs npm ntfs-3g omxplayer oss-compat p7zip-full pandoc parted patchelf pkg-config pkg-config libsdl2-dev policykit-1 portaudio19-dev pulseaudio-utils python2-dev python3 python3-dev python3-pip python3-pyudev python3-setuptools python-dbus python-dev python-gobject python-numpy python-pygame python-pyrex qt5-default qtbase5-private-dev raspberrypi-kernel-headers rename rsync scons sqlite3 squashfs-tools subversion tcl-dev texinfo timidity unzip uuid-dev virtualenv vlc wget x11proto-core-dev xa65 xmlstarlet xorg zenity zlib1g zlib1g-dev zlib1g-dev libjpeg-dev" "$(dirname "$0")" || exit 1
|
||||
|
||||
#Clone setup script
|
||||
cd
|
||||
git clone --depth=1 https://github.com/RetroPie/RetroPie-Setup.git
|
||||
|
||||
#Run setup
|
||||
cd RetroPie-Setup
|
||||
chmod +x retropie_setup.sh
|
||||
sudo ./retropie_setup.sh
|
||||
|
||||
#Delete setup script
|
||||
sudo rm -r ~/RetroPie-Setup
|
@ -1,21 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
DIRECTORY="$(dirname "$(dirname "$(dirname "$0")")")"
|
||||
function error {
|
||||
echo -e "\e[31m$1\e[39m"
|
||||
exit 1
|
||||
}
|
||||
|
||||
#Reruns the script for uninstall
|
||||
cd
|
||||
git clone --depth=1 https://github.com/RetroPie/RetroPie-Setup.git
|
||||
cd RetroPie-Setup
|
||||
chmod +x retropie_setup.sh
|
||||
|
||||
#Prompts for input
|
||||
echo 'In the following menu, please press "Uninstall Retropie". NOTE: Make sure to keep the packages that were there before the retropie install.'
|
||||
read -p 'Press [Enter] to open the retropie menu.'
|
||||
sudo ./retropie_setup.sh
|
||||
|
||||
#if your app installs any packages, keep this command here so those packages will be removed.
|
||||
"${DIRECTORY}/purge-installed" "$(dirname "$0")" || exit 1
|
@ -1 +0,0 @@
|
||||
https://retropie.org.uk/
|
@ -0,0 +1,3 @@
|
||||
Added to pi-apps by Itai-Nelken.
|
||||
webapps compiled by Itai-Nelken using nativefier.
|
||||
nativefier by jiahaog.
|
@ -0,0 +1,5 @@
|
||||
Full-featured, open-source Markdown editor.
|
||||
StackEdit uses the same markdown library as Stack Overflow and is fully compatible with Github README.md files as well.
|
||||
This is Botspot's preferred tool to write the README for all his repositories.
|
||||
To run: Menu -> Programming -> StackEdit
|
||||
To run in a terminal: ~/stackedit/StackEdit
|
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 2.7 KiB |
@ -0,0 +1,27 @@
|
||||
#!/bin/bash
|
||||
|
||||
DIRECTORY="$(dirname "$(dirname "$( cd "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )")")"
|
||||
|
||||
function error {
|
||||
echo -e "\\e[91m$1\\e[39m"
|
||||
exit 1
|
||||
}
|
||||
|
||||
cd $HOME
|
||||
echo "Downloading..."
|
||||
wget https://github.com/Itai-Nelken/Nativefier-WebApps/releases/download/v1.0/StackEdit-linux-armv7l.tar.xz || error 'Failed to Download!'
|
||||
echo "extracting..."
|
||||
tar -xf StackEdit-linux-armv7l.tar.xz || error "Failed to extract!"
|
||||
echo "Renaming folder..."
|
||||
mv ~/StackEdit-linux-armv7l ~/stackedit || error "Failed to rename folder!"
|
||||
echo "Creating menu shortcut..."
|
||||
echo "[Desktop Entry]
|
||||
StartupNotify=true
|
||||
Terminal=false
|
||||
Type=Application
|
||||
Name=StackEdit
|
||||
Exec="$HOME/stackedit/StackEdit"
|
||||
Path="$HOME/stackedit"
|
||||
Icon="$HOME/pi-apps/apps/StackEdit/icon-64.png"
|
||||
Categories=Development;IDE;" > ~/.local/share/applications/stackedit.desktop || error "Failed to create menu shortcut!"
|
||||
rm -f StackEdit-linux-armv7l.tar.xz
|
@ -0,0 +1,27 @@
|
||||
#!/bin/bash
|
||||
|
||||
DIRECTORY="$(dirname "$(dirname "$( cd "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )")")"
|
||||
|
||||
function error {
|
||||
echo -e "\\e[91m$1\\e[39m"
|
||||
exit 1
|
||||
}
|
||||
|
||||
cd $HOME
|
||||
echo "Downloading..."
|
||||
wget https://github.com/Itai-Nelken/Nativefier-WebApps/releases/download/v1.0/StackEdit-linux-arm64.tar.xz || error 'Failed to Download!'
|
||||
echo "extracting..."
|
||||
tar -xf StackEdit-linux-arm64.tar.xz || error "Failed to extract!"
|
||||
echo "Renaming folder..."
|
||||
mv ~/StackEdit-linux-arm64 ~/stackedit || error "Failed to rename folder!"
|
||||
echo "Creating menu shortcut..."
|
||||
echo "[Desktop Entry]
|
||||
StartupNotify=true
|
||||
Terminal=false
|
||||
Type=Application
|
||||
Name=StackEdit
|
||||
Exec="$HOME/stackedit/StackEdit"
|
||||
Path="$HOME/stackedit"
|
||||
Icon="$HOME/pi-apps/apps/StackEdit/icon-64.png"
|
||||
Categories=Development;IDE;" > ~/.local/share/applications/stackedit.desktop || error "Failed to create menu shortcut!"
|
||||
rm -f StackEdit-linux-arm64.tar.xz
|
@ -0,0 +1,14 @@
|
||||
#!/bin/bash
|
||||
|
||||
DIRECTORY="$(dirname "$(dirname "$( cd "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )")")"
|
||||
|
||||
function error {
|
||||
echo -e "\\e[91m$1\\e[39m"
|
||||
exit 1
|
||||
}
|
||||
|
||||
echo "removing ~/stackedit..."
|
||||
rm -rf ~/stackedit || error "Failed to remove ~/stackedit!"
|
||||
echo "removing menu shortcut..."
|
||||
rm -f ~/.local/share/applications/stackedit.desktop || error "Failed to remove menu shortcut!"
|
||||
echo "DONE!"
|
@ -0,0 +1 @@
|
||||
https://stackedit.io/
|
@ -1,3 +1,3 @@
|
||||
apps compiled using Nativefier and scripts written by Itai-Nelken
|
||||
Nativefier made by jiahaog.
|
||||
webapp made by Itai-Nelken based on phoenixbyrd's webapps.
|
||||
scripts written by Itai-Nelken
|
||||
thanks to Botspot for help with debugging the menu shortcut and for creating pi-apps!
|
||||
|
@ -1,7 +1,8 @@
|
||||
Nativefier Whatsapp Web webapp
|
||||
|
||||
a simple Whatsapp Web chromium webapp wrapped in electron with nativefier.
|
||||
it has a tray icon, so it doesn't take space on the taskbar, but keeps running in the background.
|
||||
a simple Whatsapp Web chromium webapp
|
||||
|
||||
to run:
|
||||
menu>internet>Whatsapp Web
|
||||
or type in terminal:
|
||||
~/WhatsappWeb/whatsappweb.sh
|
||||
|
@ -0,0 +1,26 @@
|
||||
#!/bin/bash
|
||||
|
||||
DIRECTORY="$(dirname "$(dirname "$( cd "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )")")"
|
||||
|
||||
function error {
|
||||
echo -e "\\e[91m$1\\e[39m"
|
||||
exit 1
|
||||
}
|
||||
|
||||
cd $HOME
|
||||
mkdir -p ~/WhatsappWeb/userdata
|
||||
|
||||
echo "#!/bin/bash
|
||||
chromium-browser %U --user-agent='Mozilla/5.0 (X11; CrOS armv7l 11895.95.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.125 Safari/537.36' --user-data-dir=$HOME/WhatsappWeb/userdata --app=https://web.whatsapp.com/ --window-size=1200,700" > ~/WhatsappWeb/whatsappweb.sh
|
||||
sudo chmod +x ~/WhatsappWeb/whatsappweb.sh
|
||||
|
||||
echo "[Desktop Entry]
|
||||
Name=Whatsapp Web
|
||||
Comment=Whatsapp Web webapp.
|
||||
Exec=$HOME/WhatsappWeb/whatsappweb.sh
|
||||
Path=$HOME/WhatsappWeb
|
||||
Icon=$(dirname "$0")/icon-64.png
|
||||
Terminal=false
|
||||
StartupNotify=true
|
||||
Type=Application
|
||||
Categories=Network;" > ~/.local/share/applications/whatsappweb.desktop || error "Failed to create menu button!"
|
@ -0,0 +1,3 @@
|
||||
apps compiled using Nativefier and scripts written by Itai-Nelken
|
||||
Nativefier made by jiahaog.
|
||||
thanks to Botspot for help with debugging the menu shortcut and for creating pi-apps!
|
@ -0,0 +1,11 @@
|
||||
#!/bin/bash
|
||||
|
||||
DIRECTORY="$(dirname "$(dirname "$( cd "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )")")"
|
||||
|
||||
function error {
|
||||
echo -e "\\e[91m$1\\e[39m"
|
||||
exit 1
|
||||
}
|
||||
|
||||
rm -rf ~/WhatsAppWeb
|
||||
rm ~/.local/share/applications/whatsappweb.desktop
|
@ -1 +1 @@
|
||||
https://github.com/Itai-Nelken/Nativefier-Whatsapp-Web
|
||||
no website
|
||||
|
@ -1,9 +1,8 @@
|
||||
Run Windows x86 apps with wine x86 running with box86.
|
||||
|
||||
Run x86 Windows apps with a box86-emulated version of x86 wine.
|
||||
To run: wine path/to/file.exe
|
||||
To configure wine: go to 'Wine configuration' in main menu or type in terminal: wine winecfg
|
||||
Not all Windows applications will work under WINE. It's a good idea to check online if your program can run, or if WINE needs some setting changes to get it to work.
|
||||
|
||||
to configure wine: go to 'Wine configuration' in main menu or type in terminal: wine winecfg
|
||||
Note: the applications installed with wine will appear under the wine category in the main menu, and they will stay there even after uninstalling wine.
|
||||
|
||||
note:
|
||||
the applications installed with wine will appear under the wine category in the main menu,
|
||||
and they will stay there even after uninstalling wine.
|
||||
Need support with running a game or app with wine and box86? Ask it on the Pi Labs Discord: https://discord.gg/JKNQXprqUd
|
||||
|