Files
unlimitedcoding/README.md
delta-cloud-208e f7cf0b79fd docs: cross-platform install/update/uninstall instructions for codex/gemini/qwen
- Add Linux / macOS / Windows PowerShell / Windows CMD sections to all CLI READMEs
- Update product table versions (claude v2.1.112, codex v0.116.0, qwen v0.14.5)
- Make qwen install/update/uninstall scripts macOS-aware (sedi wrapper, launchctl, /Users scan, ~/.zshrc)
- Make gemini uninstall script macOS-aware (matching install/update)
- Fix CRLF line endings in qwen/gemini uninstall scripts

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-21 09:30:16 +00:00

511 lines
19 KiB
Markdown
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Unlimited Coding
🌐 [English](README.md) | [Русский](README_ru.md) | [中文](README_zh.md) | [Español](README_es.md)
Patched AI coding tools for use with custom API endpoints.
## Products
| Folder | Tool | Status |
|--------|------|--------|
| [claude/](claude/) | Claude Code | Active (v2.1.112) |
| [codex/](codex/) | OpenAI Codex CLI | **Active (v0.116.0)** |
| [gemini/](gemini/) | Gemini CLI | **Active (v0.32.1)** |
| [qwen/](qwen/) | Qwen Code | **Active (v0.14.5)** |
| antigravity/ | Antigravity | Planned |
## Quick Start
### Prerequisites Check
Before installing, verify Node.js v24.13+ is installed:
```bash
# Check Node.js version
node --version
# If Node.js is missing or version is too old, install:
# Linux (Debian/Ubuntu):
sudo apt update && sudo apt install -y nodejs npm
# Linux (RHEL/Fedora):
sudo dnf install -y nodejs npm
# macOS:
brew install node
# Windows (PowerShell as Admin):
winget install OpenJS.NodeJS
```
### Alternative - Auto-install Node.js
If you need to install or update Node.js automatically:
**Linux:**
```bash
curl -fsSL https://deb.nodesource.com/setup_24.x | sudo -E bash - && sudo apt-get install -y nodejs
```
**macOS:**
```bash
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew install node
```
**Windows:**
```powershell
# As Administrator
winget install OpenJS.NodeJS
```
### Claude Code — Install
Two commands on any platform:
**Linux / macOS:**
```bash
npm config set @anthropic-ai:registry https://npm.sensey24.ru/
npm install -g @anthropic-ai/claude-code
```
**Windows (PowerShell):**
```powershell
npm config set "@anthropic-ai:registry" "https://npm.sensey24.ru/"
npm install -g @anthropic-ai/claude-code
```
> Node.js required. Install from https://nodejs.org/ if not present.
### Update
Same two commands — npm will pull the latest patched version from our registry.
### Alternative — Automatic installer (if no Node.js)
Installs Node.js, Claude Code and patches automatically.
**Linux (Debian/Ubuntu/RHEL/Fedora):**
```bash
curl -fsSL -H "Authorization: token cadffcb0a6a3be728ac1ff619bb40c86588f6837" \
https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/claude/uclaude_install.sh \
-o /tmp/uclaude.sh && sudo bash /tmp/uclaude.sh
```
**macOS:**
```bash
curl -fsSL -H "Authorization: token cadffcb0a6a3be728ac1ff619bb40c86588f6837" \
https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/claude/uclaude_install.sh \
-o /tmp/uclaude.sh && bash /tmp/uclaude.sh
```
**Windows (PowerShell as Administrator):**
```powershell
$h=@{Authorization="token cadffcb0a6a3be728ac1ff619bb40c86588f6837"}
Set-ExecutionPolicy Bypass -Scope Process -Force
iwr "https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/claude/uclaude_install.ps1" -OutFile "$env:TEMP\uclaude_install.ps1" -Headers $h
. "$env:TEMP\uclaude_install.ps1"
```
### Gemini CLI — Install
**Linux / macOS (two commands):**
```bash
npm config set @google:registry https://npm.sensey24.ru/
npm install -g @google/gemini-cli
```
**Windows (PowerShell):**
```powershell
npm config set "@google:registry" "https://npm.sensey24.ru/"
npm install -g @google/gemini-cli
```
> Node.js required. Install from https://nodejs.org/ if not present.
Then configure (Linux / macOS):
```bash
echo 'export GEMINI_API_KEY="ClauderAPI2"' >> ~/.bashrc
echo 'export GOOGLE_GEMINI_BASE_URL="https://ai.37-187-136-86.sslip.io"' >> ~/.bashrc
source ~/.bashrc
mkdir -p ~/.gemini
cat > ~/.gemini/settings.json << 'EOF'
{
"security": {
"auth": { "selectedType": "gemini-api-key" },
"folderTrust": { "enabled": false }
},
"telemetry": { "enabled": false, "logPrompts": false },
"general": { "defaultApprovalMode": "yolo" }
}
EOF
```
Then configure (Windows — run in **PowerShell**, not CMD):
```powershell
[System.Environment]::SetEnvironmentVariable("GEMINI_API_KEY", "ClauderAPI2", "User")
[System.Environment]::SetEnvironmentVariable("GOOGLE_GEMINI_BASE_URL", "https://ai.37-187-136-86.sslip.io", "User")
$env:GEMINI_API_KEY = "ClauderAPI2"
$env:GOOGLE_GEMINI_BASE_URL = "https://ai.37-187-136-86.sslip.io"
$d = "$env:USERPROFILE\.gemini"; New-Item -ItemType Directory -Force -Path $d | Out-Null
[System.IO.File]::WriteAllText("$d\settings.json", '{"security":{"auth":{"selectedType":"gemini-api-key"},"folderTrust":{"enabled":false}},"telemetry":{"enabled":false,"logPrompts":false},"general":{"defaultApprovalMode":"yolo"}}')
```
Or use CMD:
```cmd
setx GEMINI_API_KEY "ClauderAPI2"
setx GOOGLE_GEMINI_BASE_URL "https://ai.37-187-136-86.sslip.io"
mkdir "%USERPROFILE%\.gemini" 2>nul
echo {"security":{"auth":{"selectedType":"gemini-api-key"},"folderTrust":{"enabled":false}},"telemetry":{"enabled":false,"logPrompts":false},"general":{"defaultApprovalMode":"yolo"}} > "%USERPROFILE%\.gemini\settings.json"
```
Verify: `gemini -p "Hello"`
**Alternative — Automatic installer (installs Node.js, CLI, patches, settings):**
**Linux (Debian/Ubuntu/RHEL/Fedora):**
```bash
curl -fsSL -H "Authorization: token cadffcb0a6a3be728ac1ff619bb40c86588f6837" \
https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/gemini/ugemini_install.sh \
-o /tmp/ugemini.sh && sudo bash /tmp/ugemini.sh
```
**macOS (Intel & Apple Silicon):**
```bash
curl -fsSL -H "Authorization: token cadffcb0a6a3be728ac1ff619bb40c86588f6837" \
https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/gemini/ugemini_install.sh \
-o /tmp/ugemini.sh && sudo bash /tmp/ugemini.sh
```
**Windows (PowerShell as Administrator):**
```powershell
$h=@{Authorization="token cadffcb0a6a3be728ac1ff619bb40c86588f6837"}
Set-ExecutionPolicy Bypass -Scope Process -Force
iwr "https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/gemini/ugemini_install.ps1" -OutFile "$env:TEMP\ugemini_install.ps1" -Headers $h
. "$env:TEMP\ugemini_install.ps1"
```
**Windows (CMD as Administrator):**
```cmd
powershell -NoProfile -ExecutionPolicy Bypass -Command "$h=@{Authorization='token cadffcb0a6a3be728ac1ff619bb40c86588f6837'}; iwr 'https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/gemini/ugemini_install.ps1' -OutFile \"$env:TEMP\ugemini_install.ps1\" -Headers $h; & \"$env:TEMP\ugemini_install.ps1\""
```
See [gemini/README.md](gemini/README.md) for details.
### Codex CLI — Install
> Codex CLI is a compiled Rust binary (not npm). Installer downloads it from GitHub releases,
> applies config patches and sets `OPENAI_API_KEY` / `OPENAI_BASE_URL` automatically.
**Linux (Debian/Ubuntu/RHEL/Fedora):**
```bash
curl -fsSL -H "Authorization: token cadffcb0a6a3be728ac1ff619bb40c86588f6837" \
https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/codex/ucodex_install.sh \
-o /tmp/ucodex_install.sh && sudo bash /tmp/ucodex_install.sh
```
**macOS (Intel & Apple Silicon):**
```bash
curl -fsSL -H "Authorization: token cadffcb0a6a3be728ac1ff619bb40c86588f6837" \
https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/codex/ucodex_install.sh \
-o /tmp/ucodex_install.sh && sudo bash /tmp/ucodex_install.sh
```
> macOS установит Mach-O бинарь под ваш ARCH (x86_64 / arm64), env-переменные через
> `launchctl setenv` + `~/.zshrc`. Если запросит — введите пароль для `sudo`.
**Windows (PowerShell as Administrator):**
```powershell
$h=@{Authorization="token cadffcb0a6a3be728ac1ff619bb40c86588f6837"}
Set-ExecutionPolicy Bypass -Scope Process -Force
iwr "https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/codex/ucodex_install.ps1" -OutFile "$env:TEMP\ucodex_install.ps1" -Headers $h
. "$env:TEMP\ucodex_install.ps1"
```
**Windows (CMD as Administrator):**
```cmd
powershell -NoProfile -ExecutionPolicy Bypass -Command "$h=@{Authorization='token cadffcb0a6a3be728ac1ff619bb40c86588f6837'}; iwr 'https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/codex/ucodex_install.ps1' -OutFile \"$env:TEMP\ucodex_install.ps1\" -Headers $h; & \"$env:TEMP\ucodex_install.ps1\""
```
> Windows: бинарь ставится в `%LOCALAPPDATA%\Programs\codex\codex.exe` и добавляется в PATH
> пользователя. После установки **перезапустите CMD/PowerShell** для подхвата env vars.
Verify (any platform): `codex exec "Hello"`
See [codex/README.md](codex/README.md) for details, troubleshooting, and configuration.
### Qwen Code — Install
> Установщик подтянет Node.js если его нет, поставит npm-пакет и применит settings.
**Linux (Debian/Ubuntu/RHEL/Fedora):**
```bash
curl -fsSL -H "Authorization: token cadffcb0a6a3be728ac1ff619bb40c86588f6837" \
https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/qwen/uqwen_install.sh \
-o /tmp/uqwen.sh && sudo bash /tmp/uqwen.sh
```
**macOS (Intel & Apple Silicon):**
```bash
curl -fsSL -H "Authorization: token cadffcb0a6a3be728ac1ff619bb40c86588f6837" \
https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/qwen/uqwen_install.sh \
-o /tmp/uqwen.sh && sudo bash /tmp/uqwen.sh
```
**Windows (PowerShell as Administrator):**
```powershell
$h=@{Authorization="token cadffcb0a6a3be728ac1ff619bb40c86588f6837"}
Set-ExecutionPolicy Bypass -Scope Process -Force
iwr "https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/qwen/uqwen_install.ps1" -OutFile "$env:TEMP\uqwen_install.ps1" -Headers $h
. "$env:TEMP\uqwen_install.ps1"
```
**Windows (CMD as Administrator):**
```cmd
powershell -NoProfile -ExecutionPolicy Bypass -Command "$h=@{Authorization='token cadffcb0a6a3be728ac1ff619bb40c86588f6837'}; iwr 'https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/qwen/uqwen_install.ps1' -OutFile \"$env:TEMP\uqwen_install.ps1\" -Headers $h; & \"$env:TEMP\uqwen_install.ps1\""
```
Verify: `qwen -p "Hello"`
**Alternative — npm install (manual):**
Linux / macOS:
```bash
npm config set @qwen-code:registry https://npm.sensey24.ru/
npm install -g @qwen-code/qwen-code
python3 qwen_patcher.py --settings-only
```
Windows (PowerShell):
```powershell
npm config set "@qwen-code:registry" "https://npm.sensey24.ru/"
npm install -g @qwen-code/qwen-code
python qwen_patcher.py --settings-only
```
See [qwen/README.md](qwen/README.md) for details, models, and troubleshooting.
### Manual install from release
Clone repo and run platform installer:
```bash
git clone --depth 1 https://x-token:cadffcb0a6a3be728ac1ff619bb40c86588f6837@git.sensey24.ru/aibot777/unlimitedcoding.git
cd unlimitedcoding
```
<!-- MANUAL_VERSION:START -->
| Platform | Command |
|----------|---------|
| Linux / macOS | `sudo bash claude/releases/v2.1.112/install.sh` |
| Windows CMD | `claude\releases\v2.1.112\install.bat` |
| Windows PowerShell | `powershell -ExecutionPolicy Bypass -File claude\releases\v2.1.112\install.ps1` |
<!-- MANUAL_VERSION:END -->
## Update
Update scripts check for latest version, download and re-apply patches automatically.
### Claude Code — Update
**Linux / macOS:**
```bash
curl -fsSL -H "Authorization: token cadffcb0a6a3be728ac1ff619bb40c86588f6837" \
https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/claude/uclaude_update.sh \
-o /tmp/uclaude_update.sh && sudo bash /tmp/uclaude_update.sh
```
**Windows (PowerShell as Administrator):**
```powershell
$h=@{Authorization="token cadffcb0a6a3be728ac1ff619bb40c86588f6837"}
iwr "https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/claude/uclaude_update.ps1" -OutFile "$env:TEMP\uclaude_update.ps1" -Headers $h
Set-ExecutionPolicy Bypass -Scope Process -Force
. "$env:TEMP\uclaude_update.ps1"
```
### Gemini CLI — Update
**Linux / macOS:**
```bash
curl -fsSL -H "Authorization: token cadffcb0a6a3be728ac1ff619bb40c86588f6837" \
https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/gemini/ugemini_update.sh \
-o /tmp/ugemini_update.sh && sudo bash /tmp/ugemini_update.sh
```
**Windows (PowerShell as Administrator):**
```powershell
$h=@{Authorization="token cadffcb0a6a3be728ac1ff619bb40c86588f6837"}
iwr "https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/gemini/ugemini_update.ps1" -OutFile "$env:TEMP\ugemini_update.ps1" -Headers $h
Set-ExecutionPolicy Bypass -Scope Process -Force
. "$env:TEMP\ugemini_update.ps1"
```
**Windows (CMD as Administrator):**
```cmd
powershell -NoProfile -ExecutionPolicy Bypass -Command "$h=@{Authorization='token cadffcb0a6a3be728ac1ff619bb40c86588f6837'}; iwr 'https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/gemini/ugemini_update.ps1' -OutFile \"$env:TEMP\ugemini_update.ps1\" -Headers $h; & \"$env:TEMP\ugemini_update.ps1\""
```
### Codex CLI — Update
**Linux / macOS:**
```bash
curl -fsSL -H "Authorization: token cadffcb0a6a3be728ac1ff619bb40c86588f6837" \
https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/codex/ucodex_update.sh \
-o /tmp/ucodex_update.sh && sudo bash /tmp/ucodex_update.sh
```
**Windows (PowerShell as Administrator):**
```powershell
$h=@{Authorization="token cadffcb0a6a3be728ac1ff619bb40c86588f6837"}
iwr "https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/codex/ucodex_update.ps1" -OutFile "$env:TEMP\ucodex_update.ps1" -Headers $h
Set-ExecutionPolicy Bypass -Scope Process -Force
. "$env:TEMP\ucodex_update.ps1"
```
**Windows (CMD as Administrator):**
```cmd
powershell -NoProfile -ExecutionPolicy Bypass -Command "$h=@{Authorization='token cadffcb0a6a3be728ac1ff619bb40c86588f6837'}; iwr 'https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/codex/ucodex_update.ps1' -OutFile \"$env:TEMP\ucodex_update.ps1\" -Headers $h; & \"$env:TEMP\ucodex_update.ps1\""
```
### Qwen Code — Update
**Linux / macOS:**
```bash
curl -fsSL -H "Authorization: token cadffcb0a6a3be728ac1ff619bb40c86588f6837" \
https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/qwen/uqwen_update.sh \
-o /tmp/uqwen_update.sh && sudo bash /tmp/uqwen_update.sh
```
**Windows (PowerShell as Administrator):**
```powershell
$h=@{Authorization="token cadffcb0a6a3be728ac1ff619bb40c86588f6837"}
iwr "https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/qwen/uqwen_update.ps1" -OutFile "$env:TEMP\uqwen_update.ps1" -Headers $h
Set-ExecutionPolicy Bypass -Scope Process -Force
. "$env:TEMP\uqwen_update.ps1"
```
**Windows (CMD as Administrator):**
```cmd
powershell -NoProfile -ExecutionPolicy Bypass -Command "$h=@{Authorization='token cadffcb0a6a3be728ac1ff619bb40c86588f6837'}; iwr 'https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/qwen/uqwen_update.ps1' -OutFile \"$env:TEMP\uqwen_update.ps1\" -Headers $h; & \"$env:TEMP\uqwen_update.ps1\""
```
## Uninstall
**Linux / macOS:**
```bash
# Claude Code
curl -fsSL -H "Authorization: token cadffcb0a6a3be728ac1ff619bb40c86588f6837" \
https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/claude/uclaude_uninstall.sh \
-o /tmp/uclaude_uninstall.sh && sudo bash /tmp/uclaude_uninstall.sh
# Gemini CLI
curl -fsSL -H "Authorization: token cadffcb0a6a3be728ac1ff619bb40c86588f6837" \
https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/gemini/ugemini_uninstall.sh \
-o /tmp/ugemini_uninstall.sh && sudo bash /tmp/ugemini_uninstall.sh
# Codex CLI
curl -fsSL -H "Authorization: token cadffcb0a6a3be728ac1ff619bb40c86588f6837" \
https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/codex/ucodex_uninstall.sh \
-o /tmp/ucodex_uninstall.sh && sudo bash /tmp/ucodex_uninstall.sh
# Qwen Code
curl -fsSL -H "Authorization: token cadffcb0a6a3be728ac1ff619bb40c86588f6837" \
https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/qwen/uqwen_uninstall.sh \
-o /tmp/uqwen_uninstall.sh && sudo bash /tmp/uqwen_uninstall.sh
```
**Windows (PowerShell as Administrator):**
```powershell
$h=@{Authorization="token cadffcb0a6a3be728ac1ff619bb40c86588f6837"}
Set-ExecutionPolicy Bypass -Scope Process -Force
# Claude Code
iwr "https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/claude/uclaude_uninstall.ps1" -OutFile "$env:TEMP\uclaude_uninstall.ps1" -Headers $h
. "$env:TEMP\uclaude_uninstall.ps1"
# Gemini CLI
iwr "https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/gemini/ugemini_uninstall.ps1" -OutFile "$env:TEMP\ugemini_uninstall.ps1" -Headers $h
. "$env:TEMP\ugemini_uninstall.ps1"
# Codex CLI
iwr "https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/codex/ucodex_uninstall.ps1" -OutFile "$env:TEMP\ucodex_uninstall.ps1" -Headers $h
. "$env:TEMP\ucodex_uninstall.ps1"
# Qwen Code
iwr "https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/qwen/uqwen_uninstall.ps1" -OutFile "$env:TEMP\uqwen_uninstall.ps1" -Headers $h
. "$env:TEMP\uqwen_uninstall.ps1"
```
Each uninstaller removes: binary/npm package, settings directory, environment variables, npm registry config.
## Troubleshooting
### Gemini CLI: deprecated settings spam
If you see repeated warnings like:
```
The system configuration contains deprecated settings: [experimental.codebaseInvestigatorSettings]
```
The key exists in **system-level** config files. Fix all locations:
```bash
# Linux
for f in "$HOME/.gemini/settings.json" "/etc/gemini-cli/settings.json" "/etc/gemini-cli/system-defaults.json"; do
[ -f "$f" ] && python3 -c "
import json,sys
d=json.load(open('$f'))
e=d.get('experimental',{})
if 'codebaseInvestigatorSettings' in e:
del e['codebaseInvestigatorSettings']
if not e: d.pop('experimental',None)
json.dump(d,open('$f','w'),indent=2)
print('Fixed: $f')
" 2>/dev/null
done
```
```powershell
# Windows (PowerShell)
foreach ($f in "$env:USERPROFILE\.gemini\settings.json", "C:\ProgramData\gemini-cli\settings.json", "C:\ProgramData\gemini-cli\system-defaults.json") {
if (Test-Path $f) { $d = Get-Content $f | ConvertFrom-Json; if ($d.experimental.codebaseInvestigatorSettings) { $d.experimental.PSObject.Properties.Remove('codebaseInvestigatorSettings'); $d | ConvertTo-Json -Depth 10 | Set-Content $f; Write-Host "Fixed: $f" } }
}
```
```bash
# macOS
for f in "$HOME/.gemini/settings.json" "/Library/Application Support/GeminiCli/settings.json"; do
[ -f "$f" ] && python3 -c "
import json
d=json.load(open('$f'))
e=d.get('experimental',{})
if 'codebaseInvestigatorSettings' in e:
del e['codebaseInvestigatorSettings']
if not e: d.pop('experimental',None)
json.dump(d,open('$f','w'),indent=2)
print('Fixed: $f')
" 2>/dev/null
done
```
### Gemini CLI: Session cleanup disabled
If you see: `Session cleanup disabled: Either maxAge or maxCount must be specified`
This is harmless — Gemini CLI just skips old session cleanup. No action needed.
### npm warnings during install
Warnings like `deprecated prebuild-install`, `deprecated node-domexception`, `deprecated glob` are normal — these are Google's dependencies, not ours. They don't affect functionality.
## What Gets Installed Automatically
| Component | Linux | macOS | Windows |
|-----------|-------|-------|---------|
| Git | apt/dnf/yum | brew | winget |
| Python 3 | apt/dnf/yum | brew | winget |
| Node.js v24.13+ | nodesource | brew | winget |
| Claude Code | npm | npm | npm |
| Patched cli.js | replaced with backup | replaced with backup | replaced with backup |
| Settings | all users patched | all users patched | all users patched |