From 61672d81ab0f8b02562e1aa50913e1a1ae82fd26 Mon Sep 17 00:00:00 2001 From: veenyi Date: Tue, 25 Aug 2026 11:32:08 +0800 Subject: [PATCH 1/5] =?UTF-8?q?feat(fnos):=20add=20FnOS=20(=E9=A3=9E?= =?UTF-8?q?=E7=89=9B=20NAS)=20app=20packaging=20for=20Docker=20and=20nativ?= =?UTF-8?q?e=20installs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adds the packaging tree to build Octop as a FnOS app center package (.fpk): - fnos/: Docker-deployable FPK (thin wrapper that runs the Octop image via docker-compose on the NAS) - fnos-native/: native FPK that runs Octop directly on the FnOS host with the system Python 3.12 runtime (no Docker required) - scripts/build-fpk.sh: generic FPK build helper using the official fnpack CLI (injects the version from pyproject.toml into the manifest) Both packages share the same app version as pyproject.toml. Container image name is referenced as ghcr.io/TencentCloud/octop:latest — maintainers can republish under their own namespace; the per-repo CI (image build + release workflow) is intentionally left out of this PR. --- fnos-native/ICON.PNG | Bin 0 -> 41660 bytes fnos-native/ICON_256.PNG | Bin 0 -> 14596 bytes fnos-native/LICENSE | 21 +++ fnos-native/app/bin/octop | 92 ++++++++++ fnos-native/app/bin/octop-cli | 90 +++++++++ fnos-native/app/ui/config | 16 ++ fnos-native/app/ui/images/icon_256.png | Bin 0 -> 14596 bytes fnos-native/app/ui/images/icon_64.png | Bin 0 -> 2656 bytes fnos-native/cmd/config_callback | 82 +++++++++ fnos-native/cmd/config_init | 2 + fnos-native/cmd/install_callback | 241 +++++++++++++++++++++++++ fnos-native/cmd/install_init | 2 + fnos-native/cmd/main | 94 ++++++++++ fnos-native/cmd/uninstall_callback | 33 ++++ fnos-native/cmd/uninstall_init | 50 +++++ fnos-native/cmd/upgrade_callback | 2 + fnos-native/cmd/upgrade_init | 2 + fnos-native/config/privilege | 7 + fnos-native/config/resource | 9 + fnos-native/manifest | 14 ++ fnos-native/wizard/uninstall | 29 +++ fnos/Dockerfile | 111 ++++++++++++ fnos/ICON.PNG | Bin 0 -> 41660 bytes fnos/ICON_256.PNG | Bin 0 -> 14596 bytes fnos/LICENSE | 21 +++ fnos/README.md | 77 ++++++++ fnos/app/docker/docker-compose.yaml | 20 ++ fnos/app/ui/config | 16 ++ fnos/app/ui/images/icon_256.png | Bin 0 -> 14596 bytes fnos/app/ui/images/icon_64.png | Bin 0 -> 2656 bytes fnos/cmd/config_callback | 40 ++++ fnos/cmd/config_init | 3 + fnos/cmd/install_callback | 71 ++++++++ fnos/cmd/install_init | 3 + fnos/cmd/main | 41 +++++ fnos/cmd/uninstall_callback | 14 ++ fnos/cmd/uninstall_init | 46 +++++ fnos/cmd/upgrade_callback | 3 + fnos/cmd/upgrade_init | 3 + fnos/config/privilege | 7 + fnos/config/resource | 17 ++ fnos/manifest | 13 ++ fnos/wizard/uninstall | 29 +++ scripts/build-fpk.sh | 116 ++++++++++++ 44 files changed, 1437 insertions(+) create mode 100644 fnos-native/ICON.PNG create mode 100644 fnos-native/ICON_256.PNG create mode 100644 fnos-native/LICENSE create mode 100644 fnos-native/app/bin/octop create mode 100644 fnos-native/app/bin/octop-cli create mode 100644 fnos-native/app/ui/config create mode 100644 fnos-native/app/ui/images/icon_256.png create mode 100644 fnos-native/app/ui/images/icon_64.png create mode 100644 fnos-native/cmd/config_callback create mode 100644 fnos-native/cmd/config_init create mode 100644 fnos-native/cmd/install_callback create mode 100644 fnos-native/cmd/install_init create mode 100644 fnos-native/cmd/main create mode 100644 fnos-native/cmd/uninstall_callback create mode 100644 fnos-native/cmd/uninstall_init create mode 100644 fnos-native/cmd/upgrade_callback create mode 100644 fnos-native/cmd/upgrade_init create mode 100644 fnos-native/config/privilege create mode 100644 fnos-native/config/resource create mode 100644 fnos-native/manifest create mode 100644 fnos-native/wizard/uninstall create mode 100644 fnos/Dockerfile create mode 100644 fnos/ICON.PNG create mode 100644 fnos/ICON_256.PNG create mode 100644 fnos/LICENSE create mode 100644 fnos/README.md create mode 100644 fnos/app/docker/docker-compose.yaml create mode 100644 fnos/app/ui/config create mode 100644 fnos/app/ui/images/icon_256.png create mode 100644 fnos/app/ui/images/icon_64.png create mode 100644 fnos/cmd/config_callback create mode 100644 fnos/cmd/config_init create mode 100644 fnos/cmd/install_callback create mode 100644 fnos/cmd/install_init create mode 100644 fnos/cmd/main create mode 100644 fnos/cmd/uninstall_callback create mode 100644 fnos/cmd/uninstall_init create mode 100644 fnos/cmd/upgrade_callback create mode 100644 fnos/cmd/upgrade_init create mode 100644 fnos/config/privilege create mode 100644 fnos/config/resource create mode 100644 fnos/manifest create mode 100644 fnos/wizard/uninstall create mode 100644 scripts/build-fpk.sh diff --git a/fnos-native/ICON.PNG b/fnos-native/ICON.PNG new file mode 100644 index 0000000000000000000000000000000000000000..c0e2e50c4763bd56498fc30c8b1589d7cc2e31c0 GIT binary patch literal 41660 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%0A{Es`mCfRcDz;^SnB{#0}G2f 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 literal 0 HcmV?d00001 diff --git a/fnos-native/ICON_256.PNG b/fnos-native/ICON_256.PNG new file mode 100644 index 0000000000000000000000000000000000000000..2846daa5225fe4b0cd42a67d25c2a6975eaf7bc4 GIT binary patch literal 14596 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/dev/null 2>&1; then + local py + py="$(command -v "$cand")" + if "$py" -c 'import sys; assert sys.version_info[:2] == (3,12)' >/dev/null 2>&1; then + printf '%s' "$py" + return 0 + fi + fi + done + return 1 +} + +PY="$(find_python312)" || { + echo "[octop-native] 错误:未找到 Python 3.12。" >&2 + echo "请先前往飞牛应用中心安装「Python 3.12」开发工具,再重新安装本应用。" >&2 + exit 1 +} + +SITE_PACKAGES="$APPDEST/site-packages" +export PYTHONPATH="${SITE_PACKAGES}${PYTHONPATH:+:${PYTHONPATH}}" + +# 兜底:若包内 site-packages 中未检测到 octop(升级异常 / 损坏等), +# 用内置核心 whl 就地离线安装,避免用户联网下载。 +if ! "$PY" -c "import octop" >/dev/null 2>&1; then + echo "[octop-native] 未检测到已安装的 Octop,正在用内置核心 whl 离线安装 ..." + "$PY" -m pip install --no-cache --no-index --find-links "$SITE_PACKAGES" "$SITE_PACKAGES/octop.whl" >/dev/null 2>&1 || { + echo "[octop-native] 离线安装失败,请检查网络或手动执行:$PY -m pip install $SITE_PACKAGES/octop.whl" >&2 + exit 1 + } +fi + +OCTOP_PORT="${OCTOP_PORT:-8089}" +OCTOP_LOG_LEVEL="${OCTOP_LOG_LEVEL:-info}" +OCTOP_BIND_HOST="${OCTOP_BIND_HOST:-0.0.0.0}" + +mkdir -p "$OCTOP_HOME" + +octop_cmd() { + "$PY" -m octop.cli.main "$@" +} + +# 首次初始化管理员账号(仅当数据库尚未建立) +if [ ! -f "$OCTOP_HOME/octop.db" ]; then + echo "[octop-native] 首次启动,正在初始化管理员账号 ..." + octop_cmd init --yes \ + --admin-username "${OCTOP_ADMIN_USERNAME:-admin}" \ + --admin-password "${OCTOP_DEFAULT_PASSWORD:-octop}" \ + ${OCTOP_ADMIN_DISPLAY_NAME:+--admin-display-name "$OCTOP_ADMIN_DISPLAY_NAME"} +fi + +echo "[octop-native] 正在启动 Octop,$OCTOP_BIND_HOST:$OCTOP_PORT ..." +exec "$PY" -m octop.cli.main run --host "$OCTOP_BIND_HOST" --port "$OCTOP_PORT" --log-level "${OCTOP_LOG_LEVEL}" diff --git a/fnos-native/app/bin/octop-cli b/fnos-native/app/bin/octop-cli new file mode 100644 index 00000000..d8cefcd1 --- /dev/null +++ b/fnos-native/app/bin/octop-cli @@ -0,0 +1,90 @@ +#!/bin/bash +# +# octop — 飞牛本地版「官方 CLI」包装 +# +# 复刻 octop 运行环境后调用 `python -m octop.cli.main`,因此可使用全部官方子命令: +# octop --help +# octop version +# octop provider list +# octop agent list +# octop user list +# ...(还包括 init / run / config / backup / skills / update / clean 等) +# +# 注意:本机 Web 服务由飞牛应用中心托管(cmd/main 拉起 bin/octop), +# 请勿手动执行 `octop run`(会与飞牛管理的实例抢 8089 端口)。 +# +# 本包装以 octop-native 身份运行,避免产生 root 所有的数据文件 +# (Web 服务本身也以 octop-native 运行,混用 root 会导致后续权限问题)。 +# root 调用 sudo 免密;其他用户调用需输入自身 sudo 密码。 +# +set -euo pipefail + +APPDEST="${TRIM_APPDEST:-/var/apps/octop-native}" +PKGVAR="${TRIM_PKGVAR:-/var/apps/octop-native/var}" + +# 数据目录:优先飞牛 data-share 共享目录,否则回退包内目录 +if [ -n "${TRIM_DATA_SHARE_PATHS:-}" ]; then + DATA_DIR="${TRIM_DATA_SHARE_PATHS%%:*}" +else + DATA_DIR="$APPDEST/shares/octop-native/data" +fi + +mkdir -p "$DATA_DIR" "$PKGVAR" + +# 加载安装向导写入的配置(OCTOP_PORT / 管理员账号 等) +if [ -f "$PKGVAR/.env" ]; then + set -a; . "$PKGVAR/.env"; set +a +fi + +# 查找飞牛应用商店提供的 Python 3.12 +find_python312() { + for cand in \ + /var/apps/python312/target/bin/python3.12 \ + /usr/local/bin/python3.12 \ + /var/apps/python3.12/bin/python3.12 \ + python3.12 + do + if command -v "$cand" >/dev/null 2>&1; then + local py + py="$(command -v "$cand")" + if "$py" -c 'import sys; assert sys.version_info[:2] == (3,12)' >/dev/null 2>&1; then + printf '%s' "$py" + return 0 + fi + fi + done + return 1 +} + +PY="$(find_python312)" || { + echo "错误:未找到 Python 3.12,请先在飞牛应用中心安装「Python 3.12」开发工具。" >&2 + exit 1 +} + +# 关键环境变量:让 octop 找到包本体(site-packages)与你的数据目录 +SITE_PACKAGES="$APPDEST/site-packages" +export PYTHONPATH="${SITE_PACKAGES}${PYTHONPATH:+:$PYTHONPATH}" +export HOME="$DATA_DIR" +export OCTOP_HOME="$DATA_DIR/.octop" +export OCTOP_DATA_DIR="$DATA_DIR" + +# 兜底:若包内 octop 未就绪,用内置核心 whl 离线安装(避免联网) +if ! "$PY" -c "import octop" >/dev/null 2>&1; then + echo "[octop] 未检测到已安装的 Octop,正在用内置核心 whl 离线安装 ..." + "$PY" -m pip install --no-cache --no-index --find-links "$SITE_PACKAGES" "$SITE_PACKAGES/octop.whl" >/dev/null 2>&1 || { + echo "[octop] 离线安装失败,请检查网络或手动执行:$PY -m pip install $SITE_PACKAGES/octop.whl" >&2 + exit 1 + } +fi + +# 以 octop-native 身份运行,避免产生 root 所有的数据文件 +if id octop-native >/dev/null 2>&1 && command -v sudo >/dev/null 2>&1; then + exec sudo -u octop-native \ + PYTHONPATH="$PYTHONPATH" \ + HOME="$HOME" \ + OCTOP_HOME="$OCTOP_HOME" \ + OCTOP_DATA_DIR="$OCTOP_DATA_DIR" \ + "$PY" -m octop.cli.main "$@" +else + exec "$PY" -m octop.cli.main "$@" +fi diff --git a/fnos-native/app/ui/config b/fnos-native/app/ui/config new file mode 100644 index 00000000..7e9a915f --- /dev/null +++ b/fnos-native/app/ui/config @@ -0,0 +1,16 @@ +{ + ".url": { + "octop-native.Application": { + "title": "OCTOP", + "icon": "images/icon_{0}.png", + "type": "iframe", + "protocol": "http", + "port": "8089", + "url": "/", + "allUsers": true, + "control": { + "accessPerm": "readonly" + } + } + } +} diff --git a/fnos-native/app/ui/images/icon_256.png b/fnos-native/app/ui/images/icon_256.png new file mode 100644 index 0000000000000000000000000000000000000000..2846daa5225fe4b0cd42a67d25c2a6975eaf7bc4 GIT binary patch literal 14596 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 O0000/dev/null 2>&1 || { + echo "[octop-native] 警告:${octop_user} 账户不存在,跳过数据目录 chown" > "${TRIM_TEMP_LOGFILE:-/dev/null}" 2>&1 || true + return 0 + } + chown -R "$octop_user:$octop_user" "$pkgvar" 2>/dev/null || true + chmod 700 "$pkgvar" 2>/dev/null || true + [ -f "$envfile" ] && chmod 600 "$envfile" 2>/dev/null || true + if command -v setfacl >/dev/null 2>&1; then + setfacl -b "$pkgvar" 2>/dev/null || true + [ -f "$envfile" ] && setfacl -b "$envfile" 2>/dev/null || true + fi + if [ -n "${TRIM_DATA_SHARE_PATHS:-}" ]; then + local ds="${TRIM_DATA_SHARE_PATHS%%:*}" + chown -R "$octop_user:$octop_user" "$ds" 2>/dev/null || true + local share_root="$ds" + while [ "$share_root" != "/" ] && [ "$(basename "$(dirname "$share_root")")" != "@appshare" ]; do + share_root="$(dirname "$share_root")" + done + chown "$octop_user:$octop_user" "$share_root" 2>/dev/null || true + chmod 755 "$share_root" 2>/dev/null || true + if command -v setfacl >/dev/null 2>&1; then + setfacl -b "$share_root" 2>/dev/null || true + setfacl -b "$ds" 2>/dev/null || true + fi + fi + echo "[octop-native] 已修正数据目录/.env 属主与权限(${octop_user}:${octop_user})" > "${TRIM_TEMP_LOGFILE:-/dev/null}" 2>&1 || true +} + +PKGVAR="${TRIM_PKGVAR:-/var/apps/octop-native/var}" +mkdir -p "$PKGVAR" +ENV_FILE="$PKGVAR/.env" + +ADMIN_USER="${wizard_admin_username:-admin}" +ADMIN_PASS="${wizard_admin_password:-octop}" +LOG_LEVEL="${wizard_log_level:-info}" +OPENAI="${wizard_openai_api_key:-}" +DASHSCOPE="${wizard_dashscope_api_key:-}" + +sanitize() { printf '%s' "$1" | tr -d '\n\r"'"'"''; } + +ADMIN_USER=$(sanitize "$ADMIN_USER") +ADMIN_PASS=$(sanitize "$ADMIN_PASS") +LOG_LEVEL=$(sanitize "$LOG_LEVEL") +OPENAI=$(sanitize "$OPENAI") +DASHSCOPE=$(sanitize "$DASHSCOPE") + +{ + echo "OCTOP_PORT=8089" + echo "OCTOP_BIND_HOST=0.0.0.0" + echo "OCTOP_LOG_LEVEL=${LOG_LEVEL}" + echo "OCTOP_ADMIN_USERNAME=${ADMIN_USER}" + echo "OCTOP_DEFAULT_PASSWORD=${ADMIN_PASS}" + echo "OCTOP_ADMIN_DISPLAY_NAME=Admin" + echo "OPENAI_API_KEY=${OPENAI}" + echo "DASHSCOPE_API_KEY=${DASHSCOPE}" +} > "$ENV_FILE" + +chmod 600 "$ENV_FILE" +echo "[octop-native] 已更新配置: $ENV_FILE" > "${TRIM_TEMP_LOGFILE:-/dev/null}" 2>/dev/null || true + +# 修正属主/权限:.env 与 appdata 改回 octop-native(root 写 root 属主会让 +# 以 octop-native 启动的服务读取 .env 时 Permission denied)。 +fix_ownership_and_perms "$PKGVAR" "$ENV_FILE" +exit 0 diff --git a/fnos-native/cmd/config_init b/fnos-native/cmd/config_init new file mode 100644 index 00000000..06bd9865 --- /dev/null +++ b/fnos-native/cmd/config_init @@ -0,0 +1,2 @@ +#!/bin/bash +exit 0 diff --git a/fnos-native/cmd/install_callback b/fnos-native/cmd/install_callback new file mode 100644 index 00000000..6c2c7178 --- /dev/null +++ b/fnos-native/cmd/install_callback @@ -0,0 +1,241 @@ +#!/bin/bash +# +# Octop 本地版 — 安装后回调 +# 使用固定默认配置写入 PKGVAR/.env(安装向导已移除,避免用户输入无效字段)。 +# 并校验飞牛系统上是否已安装 Python 3.12(应用商店提供)。 +# +set -uo pipefail + +# 释放 Octop 端口(8088=Docker 版,8089=本地版),杀掉残留/孤儿进程,避免重装端口冲突。 +free_octop_ports() { + local port pid pids + for port in 8088 8089; do + pids="$(ss -ltnp 2>/dev/null | grep -E "[:.]${port}([[:space:]]|$)" | sed -n 's/.*pid=\([0-9]*\).*/\1/p' | sort -u)" || true + if [ -z "$pids" ] && command -v fuser >/dev/null 2>&1; then + pids="$(fuser "${port}/tcp" 2>/dev/null | tr -cs '[:digit:]' ' ')" || true + fi + if [ -z "$pids" ] && command -v lsof >/dev/null 2>&1; then + pids="$(lsof -ti tcp:"$port" 2>/dev/null)" || true + fi + for pid in $pids; do + [ -n "$pid" ] || continue + if kill -TERM "$pid" 2>/dev/null; then + echo "[octop] 已发送 TERM 给占用 ${port} 的进程 ${pid}" > "${TRIM_TEMP_LOGFILE:-/dev/null}" 2>/dev/null || true + fi + done + sleep 1 + for pid in $pids; do + [ -n "$pid" ] || continue + if kill -0 "$pid" 2>/dev/null; then + kill -KILL "$pid" 2>/dev/null || true + echo "[octop] 已强制 KILL 占用 ${port} 的进程 ${pid}" > "${TRIM_TEMP_LOGFILE:-/dev/null}" 2>/dev/null || true + fi + done + done + + # 兜底:按命令行特征清理残留的 octop 服务进程(部分环境下 ss/fuser 拿不到 pid, + # 例如进程在其它用户/网络命名空间,或这些工具未安装)。直接按特征杀,确保 8089 + # 在启动前一定空闲,避免“安装成功但服务起不来”。 + for pat in 'octop.cli.main run' 'octop/bin/octop' 'octop-native/bin/octop'; do + pids="$(pgrep -f "$pat" 2>/dev/null | tr '\n' ' ')" || true + [ -z "$pids" ] && continue + echo "[octop] 发现残留 octop 服务进程 ($pat): $pids,准备清理" > "${TRIM_TEMP_LOGFILE:-/dev/null}" 2>&1 || true + # 先按进程组整体 TERM,再对存活者 KILL + for pid in $pids; do + kill -TERM "-$pid" 2>/dev/null || kill -TERM "$pid" 2>/dev/null || true + done + sleep 1 + for pid in $pids; do + if kill -0 "$pid" 2>/dev/null; then + kill -KILL "-$pid" 2>/dev/null || kill -KILL "$pid" 2>/dev/null || true + echo "[octop] 已强制 KILL 残留 octop 服务进程 $pid" > "${TRIM_TEMP_LOGFILE:-/dev/null}" 2>&1 || true + fi + done + done +} + +# --------------------------------------------------------------------------- +# 修正数据目录与 .env 的属主/权限(致命坑,曾导致服务启动即崩): +# install_callback/config_callback 以 root 身份写 .env,若不显式 chown 给 +# octop-native,文件保持 root:root、权限 600,服务(octop-native)启动时 +# `bin/octop` 第 25 行 `. "$PKGVAR/.env"` 会 Permission denied 直接崩溃。 +# 另外若目录曾带 ACL,单纯 chmod 会把 mask 压成 ---,需 setfacl -b 清除。 +# 路径一律用 TRIM_* 变量(PKGVAR / TRIM_DATA_SHARE_PATHS),不固定 /vol1, +# 兼容用户在 /vol3 等其它卷安装(地址会变)。 +# --------------------------------------------------------------------------- +fix_ownership_and_perms() { + local pkgvar="$1" envfile="$2" + local octop_user="octop-native" + id "$octop_user" >/dev/null 2>&1 || { + echo "[octop-native] 警告:${octop_user} 账户不存在,跳过数据目录 chown(服务将回退以 root 运行)" > "${TRIM_TEMP_LOGFILE:-/dev/null}" 2>&1 || true + return 0 + } + + # 1) 应用数据目录(@appdata)与 .env 改属主为 octop-native + chown -R "$octop_user:$octop_user" "$pkgvar" 2>/dev/null || true + chmod 700 "$pkgvar" 2>/dev/null || true + [ -f "$envfile" ] && chmod 600 "$envfile" 2>/dev/null || true + + # 2) 清除 ACL,避免 chmod 把 mask 压成 --- 导致仍读不到 + if command -v setfacl >/dev/null 2>&1; then + setfacl -b "$pkgvar" 2>/dev/null || true + [ -f "$envfile" ] && setfacl -b "$envfile" 2>/dev/null || true + fi + + # 3) 共享数据目录(data-share,@appshare):确保属主 octop-native 且可进入 + if [ -n "${TRIM_DATA_SHARE_PATHS:-}" ]; then + local ds="${TRIM_DATA_SHARE_PATHS%%:*}" + chown -R "$octop_user:$octop_user" "$ds" 2>/dev/null || true + # 向上找到 @appshare 下的应用共享根(如 /vol1/@appshare/octop-native), + # 将其属主也改回 octop-native 并放开 x 权限,否则 octop-native 进不去 + # 自己的 data 子目录(曾出现 d--------- root:root)。 + local share_root="$ds" + while [ "$share_root" != "/" ] && [ "$(basename "$(dirname "$share_root")")" != "@appshare" ]; do + share_root="$(dirname "$share_root")" + done + chown "$octop_user:$octop_user" "$share_root" 2>/dev/null || true + chmod 755 "$share_root" 2>/dev/null || true + if command -v setfacl >/dev/null 2>&1; then + setfacl -b "$share_root" 2>/dev/null || true + setfacl -b "$ds" 2>/dev/null || true + fi + fi + + echo "[octop-native] 已修正数据目录/.env 属主与权限(${octop_user}:${octop_user})" > "${TRIM_TEMP_LOGFILE:-/dev/null}" 2>&1 || true +} + +free_octop_ports + +PKGVAR="${TRIM_PKGVAR:-/var/apps/octop-native/var}" +APPDEST="${TRIM_APPDEST:-/var/apps/octop-native}" +mkdir -p "$PKGVAR" +ENV_FILE="$PKGVAR/.env" + +# 安装向导已移除,使用固定默认值(用户首次登录后可在控制台「设置」中修改)。 +ADMIN_USER="admin" +ADMIN_PASS="octop" +LOG_LEVEL="info" +OPENAI="" +DASHSCOPE="" + +sanitize() { printf '%s' "$1" | tr -d '\n\r"'"'"''; } + +ADMIN_USER=$(sanitize "$ADMIN_USER") +ADMIN_PASS=$(sanitize "$ADMIN_PASS") +LOG_LEVEL=$(sanitize "$LOG_LEVEL") +OPENAI=$(sanitize "$OPENAI") +DASHSCOPE=$(sanitize "$DASHSCOPE") + +{ + echo "OCTOP_PORT=8089" + echo "OCTOP_BIND_HOST=0.0.0.0" + echo "OCTOP_LOG_LEVEL=${LOG_LEVEL}" + echo "OCTOP_ADMIN_USERNAME=${ADMIN_USER}" + echo "OCTOP_DEFAULT_PASSWORD=${ADMIN_PASS}" + echo "OCTOP_ADMIN_DISPLAY_NAME=Admin" + echo "OPENAI_API_KEY=${OPENAI}" + echo "DASHSCOPE_API_KEY=${DASHSCOPE}" +} > "$ENV_FILE" + +chmod 600 "$ENV_FILE" +echo "[octop-native] 已写入配置: $ENV_FILE" > "${TRIM_TEMP_LOGFILE:-/dev/null}" 2>/dev/null || true + +# 修正属主/权限:.env 与 appdata 改回 octop-native,避免服务以 octop-native 启动 +# 时 . "$PKGVAR/.env" 报 Permission denied(root 写 root 属主,低权限用户读不了)。 +fix_ownership_and_perms "$PKGVAR" "$ENV_FILE" + +# 校验 Python 3.12 是否存在 +find_python312() { + for cand in \ + /var/apps/python312/target/bin/python3.12 \ + /usr/local/bin/python3.12 \ + /var/apps/python3.12/bin/python3.12 \ + python3.12 + do + if command -v "$cand" >/dev/null 2>&1; then + local py + py="$(command -v "$cand")" + if "$py" -c 'import sys; assert sys.version_info[:2] == (3,12)' >/dev/null 2>&1; then + printf '%s' "$py" + return 0 + fi + fi + done + return 1 +} + +if ! PY="$(find_python312)"; then + echo "[octop-native] 错误:飞牛系统中未找到 Python 3.12。" > "${TRIM_TEMP_LOGFILE:-/dev/null}" 2>&1 || true + echo "请先前往飞牛应用中心 → 开发工具 → 安装「Python 3.12」,然后重新安装 Octop 本地版。" > "${TRIM_TEMP_LOGFILE:-/dev/null}" 2>&1 || true + exit 1 +fi + +echo "[octop-native] 已检测到 Python 3.12: $PY" > "${TRIM_TEMP_LOGFILE:-/dev/null}" 2>&1 || true + +# --------------------------------------------------------------------------- +# 让 Octop 本地版“开箱即用”: +# 1) 给 octop-native 系统账户设置已知密码(= 向导里的管理员密码), +# 便于工作台终端等场景使用。 +# 2) 授予 octop-native 免密码 sudo(NOPASSWD)。 +# Octop 的远程桌面/浏览器等组件在运行时会以 octop-native 身份执行 +# `sudo -n ...`(例如 desktop/setup.py 的 install/start/resize/uninstall), +# 若 sudo 需要密码就会失败报 “a password is required”。 +# 这里在安装回调(root 权限)阶段一次性配好,之后用户在界面里安装 +# 远程桌面 / 在工作台终端里执行 sudo 都不再需要输入密码。 +# --------------------------------------------------------------------------- +OCTOP_USER="octop-native" + +# 设置 octop-native 登录密码为向导管理员密码(若账户不存在则跳过) +if id "$OCTOP_USER" >/dev/null 2>&1; then + echo "${OCTOP_USER}:${ADMIN_PASS}" | chpasswd 2>/dev/null || true + echo "[octop-native] 已为 ${OCTOP_USER} 设置登录密码(与管理员密码一致)" > "${TRIM_TEMP_LOGFILE:-/dev/null}" 2>&1 || true +fi + +# 写入免密码 sudo 规则并做语法校验。 +# 这是本地版“远程桌面/浏览器/工作台终端”能正常工作的关键,必须成功; +# 因此这里不使用 || true 静默失败,若写入或校验失败则让安装回调直接返回非零, +# 避免飞牛显示“安装成功”但实际功能不可用(之前 printf+||true 导致文件被清空)。 +SUDOERS_FILE="/etc/sudoers.d/octop-native" +cat > "$SUDOERS_FILE" <<'EOF' +# 允许 octop-native 免密码执行任意命令(Octop 远程桌面/浏览器/工作台终端需要) +# !requiretty:Octop 以内嵌子进程方式调用 `sudo -n ...`,没有 controlling tty; +# 若系统 sudoers 默认开启 requiretty,这里必须显式关闭,否则会报 +# "sorry, you must have a tty to run sudo" 而让远程桌面/浏览器安装失败。 +Defaults:octop-native !requiretty +octop-native ALL=(ALL) NOPASSWD: ALL +EOF +chmod 0440 "$SUDOERS_FILE" +if command -v visudo >/dev/null 2>&1; then + if ! visudo -c -f "$SUDOERS_FILE" >/dev/null 2>&1; then + echo "[octop-native] 错误:写入的 sudoers 语法校验失败,请检查 ${SUDOERS_FILE}" > "${TRIM_TEMP_LOGFILE:-/dev/null}" 2>&1 || true + exit 1 + fi +fi +echo "[octop-native] 已配置 ${OCTOP_USER} 免密码 sudo" > "${TRIM_TEMP_LOGFILE:-/dev/null}" 2>&1 || true + +# 整体校验:必须“真实执行”一次 sudo,而不仅是 `sudo -n -l -U`(后者不需要 tty, +# 会掩盖 requiretty 问题)。以 octop-native 身份真实运行 `sudo -n id -u`, +# 期望 stdout 为 0(uid=0)。若失败,说明 sudoers 未被包含或 requiretty 未关闭, +# 用户点“安装虚拟桌面”时才会暴露,这里提前暴露便于排查。 +if id "$OCTOP_USER" >/dev/null 2>&1 && command -v sudo >/dev/null 2>&1; then + if su -s /bin/bash "$OCTOP_USER" -c 'sudo -n id -u' 2>/dev/null | grep -qx 0; then + echo "[octop-native] 校验通过:${OCTOP_USER} 可免密 sudo(真实执行 id -u 返回 0)" > "${TRIM_TEMP_LOGFILE:-/dev/null}" 2>&1 || true + else + echo "[octop-native] 警告:${OCTOP_USER} 免密 sudo 真实执行未通过(可能 /etc/sudoers.d 未包含或 requiretty 未关闭);若后续远程桌面报 sudo 错误,请在飞牛终端以 root 执行 visudo -c 并检查 /etc/sudoers 是否 #includedir /etc/sudoers.d。" > "${TRIM_TEMP_LOGFILE:-/dev/null}" 2>&1 || true + fi +fi + +# --------------------------------------------------------------------------- +# 将官方 octop CLI 暴露到 PATH,让用户安装后像官方一样直接用 `octop` 命令 +# (例如 `octop --help` / `octop provider list` / `octop agent list`)。 +# 真正的服务由飞牛应用中心托管(cmd/main 拉起 bin/octop),本 CLI 仅作命令行入口。 +# --------------------------------------------------------------------------- +CLI_SRC="$APPDEST/bin/octop-cli" +if [ -f "$CLI_SRC" ]; then + chmod +x "$CLI_SRC" 2>/dev/null || true + ln -sf "$CLI_SRC" /usr/local/bin/octop-cli + ln -sf "$CLI_SRC" /usr/local/bin/octop + echo "[octop-native] 已注册命令:octop / octop-cli -> $CLI_SRC" > "${TRIM_TEMP_LOGFILE:-/dev/null}" 2>&1 || true +fi + +exit 0 diff --git a/fnos-native/cmd/install_init b/fnos-native/cmd/install_init new file mode 100644 index 00000000..06bd9865 --- /dev/null +++ b/fnos-native/cmd/install_init @@ -0,0 +1,2 @@ +#!/bin/bash +exit 0 diff --git a/fnos-native/cmd/main b/fnos-native/cmd/main new file mode 100644 index 00000000..ac446f39 --- /dev/null +++ b/fnos-native/cmd/main @@ -0,0 +1,94 @@ +#!/bin/bash +# +# Octop 本地版(原生 app)— 生命周期管理 +# 直接以进程方式运行在飞牛主机上(非 Docker),监听 0.0.0.0:8089。 +# start: 启动 Octop(后台,写 PID 文件) +# stop: 发送 SIGTERM,超时 SIGKILL +# status: 查询进程状态 +# + +set -uo pipefail + +APPDEST="${TRIM_APPDEST:-/var/apps/octop-native}" +PKGVAR="${TRIM_PKGVAR:-/var/apps/octop-native/var}" +LOG_FILE="${PKGVAR}/info.log" +PID_FILE="${PKGVAR}/octop.pid" +PORT="${OCTOP_PORT:-8089}" +BIN="$APPDEST/bin/octop" + +log_msg() { echo "$(date '+%Y-%m-%d %H:%M:%S') - $1" >> "${LOG_FILE}"; } + +start_process() { + if status; then return 0; fi + mkdir -p "${PKGVAR}" + log_msg "Starting Octop (native) on port ${PORT} ..." + + # 以最低权限用户 octop-native 运行 Octop 服务(安全:web 服务与工作台终端 + # 不以 root 身份暴露)。若该用户不存在(个别 FnOS 版本在 run-as=root 时不 + # 创建包用户),则回退以当前身份(root)运行,保证服务一定起得来。 + # 注意:本包 run-as=root 是为了让 install_callback 能以 root 写入 + # /etc/sudoers.d/octop-native(授予 octop-native 免密 sudo),从而使远程桌面 + # /浏览器安装这类需要 root 的操作可用;服务本身仍尽量降权运行。 + local -a RUN_AS=() + if id octop-native >/dev/null 2>&1 && command -v runuser >/dev/null 2>&1; then + RUN_AS=(runuser -u octop-native --) + log_msg "将以 octop-native 低权限用户运行 Octop 服务" + else + log_msg "octop-native 用户不可用,回退以当前身份运行 Octop 服务" + fi + + # 启动 Octop 监听所有接口(供飞牛直接通过端口访问) + OCTOP_PORT="$PORT" OCTOP_BIND_HOST=0.0.0.0 ${RUN_AS[@]+"${RUN_AS[@]}"} "$BIN" --host 0.0.0.0 --port "$PORT" >> "${LOG_FILE}" 2>&1 & + octop_pid=$! + + # 等待 Octop TCP 端口就绪(最多 30 秒) + for i in $(seq 1 30); do + if nc -z 127.0.0.1 "$PORT" 2>/dev/null || (exec 3<>/dev/tcp/127.0.0.1/"$PORT") 2>/dev/null; then + break + fi + if ! kill -0 "$octop_pid" 2>/dev/null; then + log_msg "Octop process exited early" + return 1 + fi + sleep 1 + done + + printf "%s" "$octop_pid" > "${PID_FILE}" + log_msg "Octop pid=$octop_pid" + return 0 +} + +stop_process() { + log_msg "Stopping Octop (native) ..." + + if [ -r "${PID_FILE}" ]; then + pid=$(head -n 1 "${PID_FILE}" | tr -d '[:space:]') + if [ -n "$pid" ] && kill -0 "$pid" 2>/dev/null; then + # 杀整个进程组(包括可能的子进程) + kill -TERM "-$pid" 2>/dev/null || kill -TERM "$pid" 2>/dev/null || true + for i in $(seq 1 10); do + sleep 1 + if ! kill -0 "$pid" 2>/dev/null; then + break + fi + done + if kill -0 "$pid" 2>/dev/null; then + kill -KILL "-$pid" 2>/dev/null || kill -KILL "$pid" 2>/dev/null || true + fi + fi + rm -f "${PID_FILE}" + fi + + return 0 +} + +status() { + [ -f "${PID_FILE}" ] && pid=$(head -n 1 "${PID_FILE}" | tr -d '[:space:]') && [ -n "$pid" ] && kill -0 "$pid" 2>/dev/null +} + +case $1 in + start) start_process ;; + stop) stop_process ;; + status) status && exit 0 || exit 3 ;; + *) exit 1 ;; +esac diff --git a/fnos-native/cmd/uninstall_callback b/fnos-native/cmd/uninstall_callback new file mode 100644 index 00000000..08bc1fd1 --- /dev/null +++ b/fnos-native/cmd/uninstall_callback @@ -0,0 +1,33 @@ +#!/bin/bash +# Octop 本地版 — 卸载后回调 +# 根据卸载向导选择:完全删除时清理 data-share 用户数据;保留数据时不作处理。 +# 无论是否删除数据,都清理本包安装时写入的特权(sudoers)与可能残留的桌面服务。 +set -uo pipefail + +# 清理安装时写入的免密码 sudo 规则(install_callback 以 root 写入,这里同样以 +# root 删除;卸载后不应再保留对 octop-native 的 NOPASSWD 授权)。 +rm -f /etc/sudoers.d/octop-native 2>/dev/null || true +echo "[octop-native] 已移除免密码 sudo 规则" > "${TRIM_TEMP_LOGFILE:-/dev/null}" 2>&1 || true + +# 移除安装时注册到 PATH 的 octop / octop-cli 命令 +rm -f /usr/local/bin/octop /usr/local/bin/octop-cli 2>/dev/null || true +echo "[octop-native] 已移除命令:octop / octop-cli" > "${TRIM_TEMP_LOGFILE:-/dev/null}" 2>&1 || true + +# 停止并禁用可能残留的虚拟桌面 systemd 单元(若用户卸载前未在 UI 内卸载桌面)。 +if command -v systemctl >/dev/null 2>&1 && [ -d /run/systemd/system ]; then + systemctl disable octop-desktop-xvnc octop-desktop-openbox octop-desktop-session 2>/dev/null || true + systemctl stop octop-desktop-xvnc octop-desktop-openbox octop-desktop-session 2>/dev/null || true + systemctl reset-failed octop-desktop-xvnc octop-desktop-openbox octop-desktop-session 2>/dev/null || true + systemctl daemon-reload 2>/dev/null || true +fi + +if [ "${wizard_delete_data:-no}" = "yes" ]; then + DATA_DIR="${TRIM_DATA_SHARE_PATHS:-}" + DATA_DIR="${DATA_DIR%%:*}" + if [ -n "$DATA_DIR" ] && [ -d "$DATA_DIR" ]; then + rm -rf "$DATA_DIR" 2>/dev/null || true + echo "[octop-native] 已删除用户数据: $DATA_DIR" > "${TRIM_TEMP_LOGFILE:-/dev/null}" 2>&1 || true + fi +fi + +exit 0 diff --git a/fnos-native/cmd/uninstall_init b/fnos-native/cmd/uninstall_init new file mode 100644 index 00000000..14ab80c1 --- /dev/null +++ b/fnos-native/cmd/uninstall_init @@ -0,0 +1,50 @@ +#!/bin/bash +# +# Octop 本地版 — 卸载前回调 +# 根据卸载向导 wizard_delete_data 的选择: +# - 保留数据:不清理 /vol1/@appshare/octop-native/data,由飞牛保留。 +# - 完全删除:在 uninstall_callback 中清理 data-share。 +# 同时释放 Octop 端口(8088=Docker 版,8089=本地版),避免卸载后残留进程占端口。 +# +set -uo pipefail + +LOG="${TRIM_TEMP_LOGFILE:-/dev/null}" +log() { echo "[octop-native] $1" > "$LOG" 2>/dev/null || true; } + +# 卸载时一并释放 Octop 端口(8088=Docker 版,8089=本地版),杀掉残留/孤儿进程,避免卸载不干净。 +free_octop_ports() { + local port pid pids + for port in 8088 8089; do + pids="$(ss -ltnp 2>/dev/null | grep -E "[:.]${port}([[:space:]]|$)" | sed -n 's/.*pid=\([0-9]*\).*/\1/p' | sort -u)" || true + if [ -z "$pids" ] && command -v fuser >/dev/null 2>&1; then + pids="$(fuser "${port}/tcp" 2>/dev/null | tr -cs '[:digit:]' ' ')" || true + fi + if [ -z "$pids" ] && command -v lsof >/dev/null 2>&1; then + pids="$(lsof -ti tcp:"$port" 2>/dev/null)" || true + fi + for pid in $pids; do + [ -n "$pid" ] || continue + if kill -TERM "$pid" 2>/dev/null; then + log "已发送 TERM 给占用 ${port} 的进程 ${pid}" + fi + done + sleep 1 + for pid in $pids; do + [ -n "$pid" ] || continue + if kill -0 "$pid" 2>/dev/null; then + kill -KILL "$pid" 2>/dev/null || true + log "已强制 KILL 占用 ${port} 的进程 ${pid}" + fi + done + done +} + +free_octop_ports + +if [ "${wizard_delete_data:-no}" = "yes" ]; then + log "用户选择完全删除数据,将在 uninstall_callback 中清理 /vol1/@appshare/octop-native/data" +else + log "用户选择保留数据,/vol1/@appshare/octop-native/data 将保留" +fi + +exit 0 diff --git a/fnos-native/cmd/upgrade_callback b/fnos-native/cmd/upgrade_callback new file mode 100644 index 00000000..06bd9865 --- /dev/null +++ b/fnos-native/cmd/upgrade_callback @@ -0,0 +1,2 @@ +#!/bin/bash +exit 0 diff --git a/fnos-native/cmd/upgrade_init b/fnos-native/cmd/upgrade_init new file mode 100644 index 00000000..06bd9865 --- /dev/null +++ b/fnos-native/cmd/upgrade_init @@ -0,0 +1,2 @@ +#!/bin/bash +exit 0 diff --git a/fnos-native/config/privilege b/fnos-native/config/privilege new file mode 100644 index 00000000..b7a0b102 --- /dev/null +++ b/fnos-native/config/privilege @@ -0,0 +1,7 @@ +{ + "defaults": { + "run-as": "root" + }, + "username": "octop-native", + "groupname": "octop-native" +} diff --git a/fnos-native/config/resource b/fnos-native/config/resource new file mode 100644 index 00000000..df00ed8e --- /dev/null +++ b/fnos-native/config/resource @@ -0,0 +1,9 @@ +{ + "data-share": { + "shares": [ + { + "name": "octop-native/data" + } + ] + } +} diff --git a/fnos-native/manifest b/fnos-native/manifest new file mode 100644 index 00000000..64278088 --- /dev/null +++ b/fnos-native/manifest @@ -0,0 +1,14 @@ +appname=octop-native +version=0.9.15 +display_name=OCTOP +desc=腾讯开源的多用户多智能体 AI 助手平台,支持 Web 控制台、CLI、IM 渠道与定时任务,数据全部本地存储。

安装后使用:
在应用中心点击「打开」按钮即可进入 Web 控制台,默认地址 http://设备IP:8089。
初始管理员账号:admin,初始密码:octop。

首次登录后:
请在控制台「设置」中配置 LLM 模型、IM 渠道、远程桌面、浏览器等组件。

注意:本地版直接运行在飞牛主机上,安装前会自动关联安装「Python 3.12」开发工具。 +source=thirdparty +platform=all +maintainer=TencentCloud OrcaKit +install_dep_apps=python312 +desktop_uidir=ui +desktop_applaunchname=octop-native.Application +service_port=8089 +checkport=true +ctl_stop=true +micro_app=true diff --git a/fnos-native/wizard/uninstall b/fnos-native/wizard/uninstall new file mode 100644 index 00000000..0273f1bf --- /dev/null +++ b/fnos-native/wizard/uninstall @@ -0,0 +1,29 @@ +[ + { + "stepTitle": "卸载 OCTOP 本地版", + "items": [ + { + "type": "radio", + "field": "wizard_delete_data", + "label": "请选择数据清理方式。", + "initValue": "no", + "options": [ + { + "label": "保留数据(推荐 — 下次安装时可继续使用)", + "value": "no" + }, + { + "label": "完全删除(包括对话历史、文件和配置)", + "value": "yes" + } + ], + "rules": [ + { + "required": true, + "message": "请选择是否删除应用数据" + } + ] + } + ] + } +] diff --git a/fnos/Dockerfile b/fnos/Dockerfile new file mode 100644 index 00000000..d0e5fd96 --- /dev/null +++ b/fnos/Dockerfile @@ -0,0 +1,111 @@ +# syntax=docker/dockerfile:1 +# ============================================================================= +# Octop — FnOS 专用构建(基于仓库源码,安装全部附加组件) +# +# 与上游 docker/Dockerfile 一致,但显式安装全部 extras: +# - browser (Playwright 浏览器自动化,已进核心依赖) +# - desktop (mss / pynput / pillow,桌面控制附加组件) +# +# 构建上下文必须为仓库根目录(fnpack / CI 中以仓库根为 context): +# docker build -f fnos/Dockerfile -t ghcr.io/TencentCloud/octop:latest . +# +# 国内加速(可选 build-arg): +# PIP_INDEX_URL / PIP_TRUSTED_HOST / NPM_REGISTRY / APT_MIRROR +# ============================================================================= + +# --------------------------------------------------------------------------- +# 阶段 1 — 前端构建(React / TypeScript → src/octop/dashboard) +# --------------------------------------------------------------------------- +FROM node:20-slim AS frontend-builder + +ARG NODE_MAX_OLD_SPACE_SIZE=2048 +ARG NPM_REGISTRY= +WORKDIR /build/dashboard + +COPY dashboard/package.json dashboard/package-lock.json ./ +RUN --mount=type=cache,target=/root/.npm \ + if [ -n "$NPM_REGISTRY" ]; then npm config set registry "$NPM_REGISTRY"; fi \ + && npm ci --prefer-offline --no-audit + +COPY dashboard/ ./ + +RUN mkdir -p ../src/octop/dashboard +RUN NODE_ENV=production NODE_OPTIONS="--max-old-space-size=${NODE_MAX_OLD_SPACE_SIZE}" npx vite build + +# --------------------------------------------------------------------------- +# 阶段 2 — Python 运行时 + 预构建前端 + 全部附加组件 +# --------------------------------------------------------------------------- +FROM python:3.12-slim AS runtime + +LABEL maintainer="TencentCloud OrcaKit" +LABEL org.opencontainers.image.title="Octop" +LABEL org.opencontainers.image.description="Smarter self-hosted AI assistant — multi-user, multi-agent (FnOS build with all addons)." +LABEL org.opencontainers.image.source="https://github.com/TencentCloud/Octop" +LABEL org.opencontainers.image.licenses="MIT" + +ENV PYTHONDONTWRITEBYTECODE=1 \ + PYTHONUNBUFFERED=1 \ + HOME=/data \ + OCTOP_BIND_HOST=0.0.0.0 \ + OCTOP_PORT=8088 \ + OCTOP_LOG_LEVEL=info \ + UV_COMPILE_BYTECODE=1 \ + UV_LINK_MODE=copy \ + UV_PYTHON_DOWNLOADS=never \ + PIP_INDEX_URL=https://mirrors.aliyun.com/pypi/simple \ + PIP_TRUSTED_HOST=mirrors.aliyun.com + +ARG APT_MIRROR= + +RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \ + --mount=type=cache,target=/var/lib/apt,sharing=locked \ + if [ -n "$APT_MIRROR" ]; then \ + printf 'Types: deb\nURIs: https://%s/debian\nSuites: trixie trixie-updates\nComponents: main contrib non-free non-free-firmware\n\nTypes: deb\nURIs: https://%s/debian-security\nSuites: trixie-security\nComponents: main contrib non-free non-free-firmware\n' \ + "$APT_MIRROR" "$APT_MIRROR" > /etc/apt/sources.list.d/debian.sources; \ + fi \ + && apt-get update && apt-get install -y --no-install-recommends \ + build-essential \ + libffi-dev \ + curl \ + git \ + && rm -rf /var/lib/apt/lists/* + +COPY --from=ghcr.io/astral-sh/uv:0.7 /uv /uvx /bin/ + +WORKDIR /app + +# 仅改源码时可复用此层缓存(用 uv pip 安装,避免 uv.lock 冻结冲突) +COPY pyproject.toml README.md LICENSE ./ +COPY src/ ./src/ +COPY --from=frontend-builder /build/src/octop/dashboard/ ./src/octop/dashboard/ + +COPY docker/docker-entrypoint.sh /usr/local/bin/docker-entrypoint.sh +RUN chmod +x /usr/local/bin/docker-entrypoint.sh + +# 安装项目 + 全部附加组件(browser 已在核心依赖,desktop 显式加入) +# UV_INDEX_URL 首选阿里云镜像加速;UV_DEFAULT_INDEX 保留 PyPI 作为兜底, +# 避免新发布的包(如 orcakit-harness-agent 0.9.16)尚未同步到镜像时构建失败。 +RUN --mount=type=cache,target=/root/.cache/uv \ + uv venv /app/.venv \ + && UV_DEFAULT_INDEX=https://pypi.org/simple \ + UV_INDEX_URL=https://mirrors.aliyun.com/pypi/simple \ + UV_INSECURE_HOST=mirrors.aliyun.com \ + uv pip install --python /app/.venv ".[desktop]" \ + && PLAYWRIGHT_BROWSERS_PATH=/root/.cache/ms-playwright \ + /app/.venv/bin/python -m playwright install --with-deps chromium \ + && apt-get update && apt-get install -y --no-install-recommends fonts-noto-cjk \ + && apt-get purge -y --auto-remove build-essential \ + && rm -rf /var/lib/apt/lists/* /tmp/* + +ENV PATH="/app/.venv/bin:$PATH" \ + PLAYWRIGHT_BROWSERS_PATH=/root/.cache/ms-playwright + +RUN mkdir -p /data/.octop + +EXPOSE 8088 + +HEALTHCHECK --interval=30s --timeout=10s --start-period=120s --retries=3 \ + CMD ["sh", "-c", "curl -f http://localhost:${OCTOP_PORT:-8088}/api/health || exit 1"] + +ENTRYPOINT ["docker-entrypoint.sh"] +CMD [] diff --git a/fnos/ICON.PNG b/fnos/ICON.PNG new file mode 100644 index 0000000000000000000000000000000000000000..c0e2e50c4763bd56498fc30c8b1589d7cc2e31c0 GIT binary patch literal 41660 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%0A{Es`mCfRcDz;^SnB{#0}G2f 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 literal 0 HcmV?d00001 diff --git a/fnos/ICON_256.PNG b/fnos/ICON_256.PNG new file mode 100644 index 0000000000000000000000000000000000000000..2846daa5225fe4b0cd42a67d25c2a6975eaf7bc4 GIT binary patch literal 14596 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.fpk` | ~8 KB | 飞牛自动从 `ghcr.io/TencentCloud/octop:latest` 拉镜像运行 | 宿主需有 Docker 运行时 | +| **本地版(非 Docker)** | `octop-native-.fpk` | ~560 MB | 自带 Python 3.12 运行时 + 前端 + 全部附加组件 + Chromium,原生运行在飞牛主机 | 无需 Docker | + +- **Docker 版**实现为 FnOS `docker-project`:包体只含 `docker-compose.yaml` 与向导配置,运行时由飞牛拉取 GHCR 镜像。镜像已内置全部附加组件(`browser` 浏览器自动化 + `desktop` 桌面控制)与前端。 +- **本地版**实现为 FnOS 原生 `app`:包内自带独立 Python 3.12 运行时、Octop 全部依赖、前端构建产物、Playwright Chromium,以及 `data-share` 共享数据目录,直接以进程方式运行,不依赖 Docker。 + +> 两款包都在滚动发布 **`fnos-latest`**: + +## 目录结构 + +``` +fnos/ # Docker 版(docker-project) +├── manifest # 应用元信息(platform=all / 名称/版本/桌面入口等) +├── ICON.PNG / ICON_256.PNG +├── LICENSE # 复用仓库根 LICENSE(MIT) +├── cmd/ # 生命周期脚本(main / install_callback / config_callback 等) +├── config/ +│ ├── privilege # 权限声明(docker-octop 用户) +│ └── resource # 资源声明(docker-project + 数据共享目录) +├── wizard/ +│ └── install # 安装向导(可配置管理员账号/密码、日志级别、LLM 密钥) +├── app/ +│ ├── docker/ +│ │ └── docker-compose.yaml # 引用 ghcr.io/TencentCloud/octop:latest +│ └── ui/ +│ ├── config # 桌面图标入口 +│ └── images/icon-{64,256}.png +└── Dockerfile # 从仓库源码构建镜像,安装全部附加组件(browser + desktop) + +fnos-native/ # 本地版(非 Docker 的 FnOS 原生 app) +├── manifest # platform=all + 原生 app 元信息 +├── cmd/ # 生命周期脚本(main / install_callback / config_callback) +├── config/ +│ ├── privilege # 权限声明(root,用于补装 Chromium 系统库) +│ └── resource # data-share + usr-local-linker +├── app/ +│ ├── bin/octop # 启动器(用自带 Python 运行时启动 octop init/run) +│ └── ui/ # 桌面图标入口 +└── wizard/ # 安装/配置/卸载/升级向导 +``` + +## 工作机制 + +1. **源码同步**:`.github/workflows/zz-sync-upstream.yml` 每 6 小时把上游 `TencentCloud/Octop` 的更新合并进本仓 `main` 分支(使用仓库自带 `GITHUB_TOKEN`,无需 PAT)。 +2. **镜像构建**:`.github/workflows/zz-build-fpk.yml` 的 `image` job 在 `main` 更新时,用 `fnos/Dockerfile` 从仓库源码构建 Octop 镜像并推送到 `ghcr.io/TencentCloud/octop:latest`(含全部附加组件)。 +3. **安装包构建**:同一 workflow 的 `fpk` job 用 `scripts/build-fpk.sh` 把 `fnos/` 打成 Docker 版 `.fpk`;`native` job 用 python-build-standalone 构建 Python 3.12 运行时、安装全部依赖与 Playwright Chromium,打成本地版 `.fpk`(`continue-on-error`,失败不阻塞 Docker 版)。两者均以滚动发布 `fnos-latest` 提供下载。 + +## 本地构建 .fpk(无需 Docker) + +```bash +bash scripts/build-fpk.sh # 仅 Docker 版 → dist/octop-.fpk +bash scripts/build-fpk.sh docker # 仅 Docker 版 +bash scripts/build-fpk.sh native # 仅本地版 → dist/octop-native-.fpk +``` + +`.fpk` 为「双层 gzip tar」:外层含 `app.tgz / cmd / config / wizard / ICON.PNG / ICON_256.PNG / LICENSE / manifest`,内层 `app.tgz` 含 `app/` 内容。 + +## 在飞牛上安装 + +1. 飞牛「应用中心 → 设置 → 手动安装应用」选择对应 `.fpk`: + - 想用 Docker 跑、主机已装 Docker → 选 `octop-.fpk` + - 不想依赖 Docker、希望自带运行时原生运行 → 选 `octop-native-.fpk` +2. 安装向导中设置管理员账号/密码、日志级别、LLM 密钥(可选)。 +3. 安装完成后桌面出现「Octop AI 助手」图标,浏览器打开 `http://<设备IP>:8088`。 +4. Docker 版镜像首次会从 `ghcr.io/TencentCloud/octop:latest` 拉取;请确保该镜像为公开(workflow 已自动设为 public)。本地版无需联网拉镜像,首次启动会按需要补装 Chromium 系统库(需 root 权限,已尽力处理)。 + +> 服务端口固定为 `8088`(飞牛端口映射与桌面图标均据此)。附加组件(browser 浏览器自动化 + desktop 桌面控制)已在镜像中默认安装。 diff --git a/fnos/app/docker/docker-compose.yaml b/fnos/app/docker/docker-compose.yaml new file mode 100644 index 00000000..72d8b5b1 --- /dev/null +++ b/fnos/app/docker/docker-compose.yaml @@ -0,0 +1,20 @@ +services: + octop: + image: ghcr.io/TencentCloud/octop:latest + container_name: octop + restart: unless-stopped + pull_policy: always + ports: + - "8088:8088" + volumes: + - "/var/apps/octop/share/octop/data:/data/.octop" + environment: + - HOME=/data + - OCTOP_BIND_HOST=0.0.0.0 + - OCTOP_PORT=${OCTOP_PORT:-8088} + - OCTOP_LOG_LEVEL=${OCTOP_LOG_LEVEL:-info} + - OCTOP_DEFAULT_PASSWORD=${OCTOP_DEFAULT_PASSWORD:-octop} + - OCTOP_ADMIN_USERNAME=${OCTOP_ADMIN_USERNAME:-admin} + - OCTOP_ADMIN_DISPLAY_NAME=${OCTOP_ADMIN_DISPLAY_NAME:-Admin} + - OPENAI_API_KEY=${OPENAI_API_KEY:-} + - DASHSCOPE_API_KEY=${DASHSCOPE_API_KEY:-} diff --git a/fnos/app/ui/config b/fnos/app/ui/config new file mode 100644 index 00000000..a8260225 --- /dev/null +++ b/fnos/app/ui/config @@ -0,0 +1,16 @@ +{ + ".url": { + "octop.Application": { + "title": "OCTOP", + "icon": "images/icon_{0}.png", + "type": "iframe", + "protocol": "http", + "port": "8088", + "url": "/", + "allUsers": true, + "control": { + "accessPerm": "readonly" + } + } + } +} diff --git a/fnos/app/ui/images/icon_256.png b/fnos/app/ui/images/icon_256.png new file mode 100644 index 0000000000000000000000000000000000000000..2846daa5225fe4b0cd42a67d25c2a6975eaf7bc4 GIT binary patch literal 14596 zcmdU$Q+p-M5`|;iwr$(S#I`2R#I|ia6WiReF|oO0+c@9fI5*XO(O2F5RIOh1c9e>e zG$I@x90&*qqO6R>FAxyW|E8cIFkt@;izvdZARs(bvJ#@|p1D_ku(=o`PXUD6f~!P< z4DEXZl%AydILzuwbNauRBHt)SD_BRZlLP!&N69CcGo(_iO_Acl3rF{G9sfj<;oV|M zgwlWoM_=+vduT2HJXCf0czauB7_4RGZCBn{;duLa|MmI1TkU`ZIhp=3nL-_MQ@EkbZ~je&fT=CYW!&#E|r~i01nrg9fZ49@I*|J zLvV);2Fr`5jLb{q2H3X}f7IF)wkJB8ddd zLiMpp{~DT0ZSDBb6|e|752JQgs+~@oG3-7r{8fD_ImZ++FdVON($&2jd7(=0-Rrp( z@Vl@l-#+gZVGyN-qP#N*z6Ujvi0lVBw!M3=9U8E8Nw7TVZtVUi3O@Y~rP!b7waa;^8nKCx2RF z?uovUO2QD+lf=owEhN|P?F!uXPxdAJd=hC8PW9;J^#4K|?7Xjf5F(fYp3GKuW*6&zN7NK2)iO-s|LKJdO zKt_A~b6@k~c()Lf`PU&C9(WKAPBC%#ePC8xqSFP`(eZR!UGHQj2Q2m%9v-*>=u&W! z4cnM=z898(vxVK+FN8aZ=n7SX9s7E4bO{zyBr$ysgtOOAohZiu_&6fS6e2Tk$XY0j zev9$IO?yBi+Y69*b^A>Vp)Cj$Xk;YG{xPlUzHjukcd4PJYvng<{hKUSbWL3u5?m8h z9~)PSDTNh_$yB&w#rp)XcdQv;T<#kJ_5;pDv1IFK$-AF&nHg~)HZ z=Nk%mC*8ltdBE0O*aoWO3em~yaf{+V8+>_`!5NEJiJbtQ2u3p$j&jU%R$UkOa}L#9 z28qjxOL^0NH)9B07I_3A*4g`VvTB$o@FuZV`G@Ac7i?S)rdpKP_moN7Sm>UGA{CeQ z7D7xX9j}N*RcVQ{E#M37a~b|3J3I8kG|yt&2oogzi*~5OY~Em^K45$8UWlg~XSHr* zm$3h42<6~x{m-qkfAX3Kaj*G`Fs8_R_m;DZmOk#!UBaPDLKuVs6yA1A zBs8DT5W7_5`g#a5W&5tBVs@$BlwqdB9OihLo^>oA}9y7?(^Z;p= zu)qW)k92m9VLZG$Bdp}NhgRW#t8gHO%wiCmtNOOSH$D)kGB3-Z1x>+tk?Rau!vWn9 z(^-h$fpbWIRdpa$+=a`YIfXguKbb@^2HiLAD-(tH8a%-Szi|W)(7lOH;fecSyqf_X z^BwPWU~WXZ@APNLnH)LC@Uu?`V%}So6<`$*%0uHjk9rRQ0CAITt=*8x3z2F47cTy< zKeOk{MC372VG1N!XaAgkz#G|TS(8sWKvDKx%$30d+rm;PW|#|VOXGp!W#g_(**7j zpf5DJ+g~mzj~V&s$On|6Vu^CDfeVsL)or>DXdPtu_nJNZmY67%O)2fE0uSa6r}0N+ zS}WK^-?_2B)kaud-UlrQ7t{hddvzII<27Qrd6y4J`xXIU5~5(G;R!vX!j)K$ha6?r`KH+tSfY91^s* z@5ghjKa)mPLCq{CKkt8{^aYNq7n-ZjjM5QcI8BGvbG@?fK7yRQ9Qu&F;#Wzi(f*ni>WkE<*IFRURpwclO6OE5))=8b>1l$sT?nkV|FymHh;oI(vZXpqFVPiTt>iI5lrGj0>|$`hjP2@cKQ@A6HV3lq;|*F2;_9m{whf!r~+4 zA`xG9j5js{TNwLRecy5aoc(IK6I_@N8VF9#Wva4J>jW6!m_Uv6L(>Q?pgZfxgCGL} zbR?7`F|LjIo78$Kc?@CfbVdWxAH4w!v z@jm~~lcC6&lH;IpZ6W~-Y-SkN=NjK9t6^9!Uu6+qkn?3@@v}hl>N$E?F$c1F=TVzD z;23hCY@rVv38TEnmyhc^=_?S~c%)qpqo3VVxbeLj8m@-(=3_p5R!G)Wo>rI&bXJCB0k}zSOE1CUo zuwSBM6A8h+KBFqcA@AyFGeSFAege9kRbK-U(|V3^wT6_6S3BQ+WP%WK=i-GRCbleq z{ch+yURa(-SW4=Y{()OTVoePwCml?XPqD>P_#e|P01kS|O;$}Xkpx(o710T zV*o;iF3mcsG%j>KmJd?V870pzQJ7?fzoR#}Zo==>Z7+~K5$1DG7k6`YC3TCdQQt0D zP$6S(FZ_j13GE}q-Xxq>ZJeGguzb*3=jnm`wKb5V3bQlLW)}eG%8$>5^n%aSI3jwK zkabz7hFT9xCOH4A@i{{_1Y*KjariFED@uKiXY4tak?(Mn8XFo#s`)^Xi~}-2Grh|5 zsF5CX{cVNfJ6t9STyBu>bmlZSATFKBhUbMKSq5dKt$2D-D2R{q1fyte95pV(DBa)2 z>p0u?N|2gmNWuY$gOsJxrwTR+DDOWe;+qx=6^;V&8gnSrgApk{6rf!q#{^RW4P?M# zpB1VeZhcaAJ%ji&3p>&K+QjRaf42|afU~3p2Lj7T0L#t(0^$8N7l>WThfOZ7nv_1H zhlcz`DEtj!)U~wHv9l>(x{F)G>WH1xU^xtqB;{8YAzH{DX`H=)jI`nr;9x~A~A$IOOiKG|E3BJG#{qzOe>L6mi6Y);q^n!}Z z#?v|{^vu+aGn73JlKg!&4FXm)jop{p^Yr4^a!+{!+P)Y;Eb7ol+c&qf078$Tqb|H; z*YCx{Ri?e~e1xkgwj@N_0~}YQ25+D zCkc3Sqss#MQ!EUpi1TIOEdxM)%aDk2q%2LkVlWCK4nQNDNCVhIlmf0UAy5C}UnIlI z^q;R5m&^k!L1LYuNbjeN@EP?`IZ=UW%1+k&wxFG78I@gKK~}E6)n5?yx*}2D2Ln!r z5-K9aEtsX{eon9x^&G&?wA{ihOAB!CU{4mP=1j?{qG6i4eeZ%i~ zg)ZG7_mW5LrfGtB6_MpwcraXsRKQyuwzuO%5a^4W0b<)am6=hMg~H4l(W+G`Z@@lz z&Sf+%aB4o@VVy+T2x@L7TMb+3YF0v)fhNnC|1Uw2VgLLwK=OvcaR8tgB*=1Hg6kcZhx$_e3F&x#UMQvOQdjPt`&NEbv{=BK7akRyS&p8M-DJJZBhP19p{@p99-WFx;uf0V)sO_0cMKZP zf?#mV+00UphMg1H$UtMjqtJx#v8jM$D`WjC&{vTPk!6bDvg5dU!{6*mBXTqEpEBj< zZU!(!+ix&1EXtJe^lYOnp@fshinLY~N}vQIhIH0#?og>87(l9$IN<JH8TFdVBbF{u zuvJ*YKXC&V<60;KnZFRcJTWDM`Yqb+SknaoUzZg-U>MqK*JoDuZx4G~)$2smVh!~5 z<8k;2PL*y6k&hmYT*aj+@@7?s)o`LimP{jf9(78Tb3_E174o5IcT2)5diZPzJ+)c8 zA0Q5P5W-_WA{x0sJugwQ>U+cBui^v@5r15(eX>-Co3EWpO3;!dU@YE=zNdfg(3(mK zz2UFy3+Z?Y;Wt#2>d>%Fbd`bwCN@iK?3?h5@R;(XJ=Y|)NR%)`b8py33Wj&lHR>9) zCgI{%d%f$c_AHc6EyKGC&|-`9-~LJXzl~T<0+Aj?C;fuJO23~R$;{z=AVGGqtN_lk zrW@ZZe2*{s?RlXnhoN3sLkYp}6C?)%+$aBRskI9h&lab^8>kxqeFYQf=0_1eV2LrYRlPTKC|!1i0CUopZ- z;Dc5SD{wcZ4fY#c$GKvt#LPH%f{O5EtA|-cejCe)Vd|`bhbC`?(-zFeG@rGpaBwC8 z7cP;Z>flo<1tB6bVZ{C&J_oSX259f}6jauso&yd|R=jWF*ZRQ~!F zG6u2Hupx~GBS!pkz;PE3$q+w_YW+3R;1tG0n@RCrTwnJIS++2ySwoWLUf9FfE-~0^ zIlJ>gJ^QKerM#2?g1hIyKtx`if0@ln1Bho)jeveK2A~Z`rdA&{jANkU&c{Hz%|3_` z=cAsK^z&RuBLU(D9+Z5^B#;!3)Z2@0=&ue++3k_9!KHV;*TIP(Te}tWaKO$WX>t26N z?ikFi*3}M68pmc`amC5ZW+}R94GkJWA1?6dP!-JwVMH=Ay8GD{gjfM8^R{9_`M&wEh}Kapv`e?gGeRwA6qn)pN7??AYKNcoa9L27<+f;r@-Dh=&uE8ZMmGB!(b?N{r8jiRcX4MM1sUR{%3gs4w1B|8~^vv^%Q^Z&Oi)h_9C8q&0 zBnCQffm$Ot@pCubRDrT4fMW!=L`i=2@@gqr!Y;I zDci#tp()9icTmYfwwk1T3q+$=;3Ld6@Z%v(oaD62{4=fEh|7MTL06EHLRBn_zG>u> z*Y`pM+BrDR)~Fzk_E!`E{MP{jc(ss4?8sOgJ3bzr0IbL)G*G|hgSo=6b0{hCD|zbL zFOcUxQeBu*nufddG!pWp(C3=YgaU#lJ-LuNIb$tGmG5d4c$k{I_kUoy$I96Dt0$|AfpMG8KfI>s}*pxZvCRns4-CeI9&$P!K_KlH<~U3Yr|TpiT2} zex;w33EOzs^!k?d*(5@ju3fW)A`~S&DTf^zqmaVF%L=>-z(dK>rp(LQc7c;RQ`BLV zZ=DKp%4Bm>c&2Hti+L*?+e@{oxISfjP^^ju7WoQA=)%%ob9!KHWft(Nyoy<=ejU4L zd>#p!RV9T@BF6PoHH<+?qP)88LA+LXz}u+%xkoCVdj?HTwb%wn1#Fzz9l1MjY7N5!-}`nuw=wqkF-;%xWol%z23 zJ54frv-7Tr3+!P`(S5|5%nIqs!!Unz4;2B)uki&l!3RS4puXJZWf{&=bASrK6x zvbRs84LuRh*%O}e>@$#=08UUiRv>>ra*=@t7!yM3pzV{KHS907q08q#O{!s#>feg6 z5z<>T$kKYB-q@|N2nFOnbh4YOl^=4_E%4aBx!j+khoZ67$PT0PB#GSdM2|UdC2zlW ziJ`DHlQN@KAb3B?N^>h7j?)56}wDwmxU?{+@b$bq4lmp{JXnhH>N;h zXJyXZ)g+Cey~uPVG}0f0QrwutiTD5``I+ZM7#T}0DyGx{VaUisg`Pj`;~PcF*)LR| zzM*5Jj4R&08)W3e_)$VUT&~2p0ven6_KzIHY)2(RA8Ov7>Pu@p2`dst!(?+kBe-0D z*6!ARi8m@*pYtXM|&f4gRDV& zwz@>0%?PNPu5a2^eXF$=$X~UAJS8GoUyCDGZ@<9NAV=}zT%(z=#55#`T$;j0&n+xI zFy53xd^+9vcx|2wQbdb}Z`7aF?yOooe?q}jvD$@as2D3C`Fps75KWqf0{tayB5sgV z+@JU)xRXfy7^&fkv>$mJAG%84O;V;s<8g@%-wiMkHzIA4!pedO9?(b{4I9%^jYbnY z4`D%gzZ<)JS~dAZc439F`MTkEph9%hqpXZJkNkVFa*_Gx;%kO2zvLUK@2_y|Nh_Y1 znvjK@wws?K9Cv~ma~0flzDWJ}Gj}K~EV)At+#z%_VNudlO!pFmGOomq0-TU$-bmAB z8vS-W60;$NaFN3!O}1R+y`jTzc zO?`Rz8EwLrM*lsnB%X(&i)`dJ2Zs2*i}g4&%jPGtrs(G9Gzt%P-|;wo8uNtYf0^oe zrS7BvEhB^uCRs`A-t`N|g_Ao*<>US3aP4@?xxo-$hX5u64ExVGZD@j)6xaC@4J3LP zt9Ez{gAHsFKJOO$3it)3jN8>D+5WDA`p#M zUe;P}*`_a70fL*(w=PYrvBv-ofdfA#T3fs0Nq}|gRI@0&=EF2mg7ZEd?8bq1K8w*p zsG`J8y2XYLO=zxq9!C4sz9~(3Muo=04wBZ{A_dnwhe9q%3lo$R&Ie5pxUpdYD`)%( zp&%-%k!^K-BFy{~CpJvC-+U#)gu+lXa`4vKluM!~%=AJFh33Q+)4Yzx?239z>lvWx zEpN;YVQ;BIyC69v!pLY>;P)D|2)_b)nDhi3>!vO+SAz@7Fmx8#LsT%_Qq8_`C4p|c+ zogzL7TBAT>fY4w-gD#MV#mM+(q%dK+Mh~O+X#(M3+fgLXW1gQ-Xm-<3Xh2*>ld@kT zouy?MBo#+DU_c^q-+$(A25!_G-rF1R#A4f1hc}7J)rBx3gN}rZD>f_4{P7ZTR>f`e zr&%s6v3k78FJ(GPr4q%ss3I4pKnfBUs#I+Jnr++|41GAV5DHl1Kbe}(HxM4F^ItjH zSjnX(p}{|Wf3o=c3<9@6;BNniEF4LpzqyeUnf&^#I=j$sf7)Ov7HcfcD6LZg% z27u|8iX#j76x=X-Sr~@Af2f5;e|^1kU8KUfvk<0SenHBOxN`SOvhDI5M|r4Wzk7eF zFbhFBQQI}%ob!P%8>YSC+rm)sp2(jl1BFB3ay0E5_m6GJKYZ5QciNEy>dZ4t)e>Hn^beI7=O z;6MABMvdx2%cLX_##LJWn}8ZxA5nSGDLR-Z^@e;W5RjF}>AzGqg{fYQ2*IP{+D}w= zwveY_bmdL8%f4omp~vd=MZqYEQ}|H4)YB2Ecr*2le@G0El2FA}vUQ$W`wgBfKXR%` zSE_3Zm2O~%SM+}Fl#}H{pb0jJOJn9o!$<#Xj|Vl@&8LBJaCUazfZBUaUPGh5&qJ?7 zV>TF|Ql0z51vkDuqOC=jzIa0MnalFj+EcE0bGnOwt|bm!JJIygcY~?KSS}tIDQ^y( zmq^i??*s^cuK^9~yPXDuGhn5?{>cBgH}avVoZc|jO4bN?82q;&uho~aGfwTV3uV{* zH-numnCb`E!38wkhq#~nmZ#bp9lJhU3duI|LhluJJjK)td0-4@szZh7)N<<#e++sE zdTTfx#|%>lJ6pjp#G^gW2LR&HqLm}eX^?@9qTinQADg@P7zmS9mn$VHe?5945{Ov) zHR#Q;h{UcPx`E-OQWspI@*3SwSb>qFrAmLz=C?;1$3~N7d&x9kA4KAerZ!qDrHQ6a z)}{SLEFe+k7I59Kv2lUsD|bCbppk*^rAJ`QqIti9q035!blT$?1Llntw8I-r$6Goq zM5H)az(hy!Z^2N552Ctc(dkzhm5(#X4rB4um083h~|%#GM~Y*KJWKwd`WUUohZXPwxhOj#*R6BAGTcy+ceR@H)$ z%ohl6depf6eJ!A*dBItv#^NZ^pCvAK=ssw9rKP6-^Ul3qQ9q9!NC@@CMMpXE(ltLH z*&&=^0^PR>WY0n5xH9Vjtfys|VHXw|~Tn478RlQ?fF;RP1?xs&tA z$@hxv1u@Ej_0il*KwS2TBDBcIM-wX1c?84YNe4O6I zM+IjILdEddIugmaSU7G;@8|%6Sa^cw19B-(qvp@sw>y+c#e&(Cr^t)|UW8zewT&*y zYMLHf7s$S)Ve2*G00xKNnTF;v!Ny28yt-Ib39WOJ&F?nEn4D-3`svUzqJ|m4s+zs5 z&U@7R%prp&cmZRt^MQ~VyZD`_)#)6^chZf)$FU4U);52Hv+vvVJ*f{ypm=lo64F{i zCFpiAJtUfnJ#PdN0~B(UWqvBGiziF{2V`pRxprdl!9eD>Pt;ukHOW`X$H2^ZCY~tl zXaviISP?bKS>}?CAS;q&0U4x)$qgCJTsuQa*@%7@!ezP)5G?c{hs)$xs@IDb%$*EJ zvQyb2yc8jPOSj$RQk&0B?kL<`^bGpuq%WWq$&%hSzkKo84FDo{!lL0fK`I;^Id#$7 z*l^AIOA#xQjTY9b&a7w3oF2B0JK`!5bvJZ zc~(wSECU*{6y&NrcepW$*niT;vcjbKKVSr(TheL{4`TFkUmAVx6CTx;pOG$_ojm%j z*pI&CF-cV3UVqa5sh*noI&3v-SF>H=H}k~NGz>6^?F{H_bV2rrDD)9R3_sZa1eJH% zX!ds@R2&AWwt#`0Iqfrc(p&&XZ|MuUPJK;ybeP*>H3V}krhy4e>K}`EXxdjrS z3^@}728kkOF6?z4-*|a_Ta4po_xV+QiHJ`ErDYqAViuhEC>Vp@{$;~oG4<=y;h`yg+$Erqflm&92u~TowPa;A4RV~C>}!~Gx9h>^1X(=_ z@BPm-7XM_%Y$AM8hddUR-GnKC^gpOWCyw$3Y=ohV@TQJh%P{K7uAC!n#4f_%NA3;y zWwB?P!M7J9Rly6+%eL`)kPSppn2*Y zQwO{6O1?)Ik)wQH2b93HqPe^L7<-B`a1*Rk(}Eyus&-nqrv{`7rfNv&&=rWo_dMI| zNA`j`d;x9V<`FGoVUzqn3sHytXVd_RDQ8 zWFqC#e?NO3nvr*ica^dD5HFWmEx6UPzs}rNLS9JOS2W~w z%oXA!s0AJRQF@hMDJ4PG6VKIti>c7qd_jv9DAV89tHCVo?2j_Kj#|~yrpWJdV#=bC zx%~@@K7;XlMCIzKftx6%@F%YXK> z%8`NUFv7xQTfucaq+)rJSD>5A=b3E)-iL~{VcAW9(QmM`jT#!m$BGs(5z`iWmSaFi zlD<1F7kY!gAuA3>XJ@>cFy(hs0}~N??n~-PBXJP_Y@0B1%Ss<(#LqQzPv}(viE?uy zEir06`R{*%+{8;6p@dSKlj#Xr5hDjpSd9+d4tYzswK(LN>*-e986hh z-CpHgR7PhpHUJq=oRHjMZmkkEA)7icbgCe^6#~_0?YgT6_;E)EIZ8BeU!scJ;s8hR z>Yw+{UR?^qRI*L3mu$P~oK5ImM2ej%z!#VQ4kY2#6)90@5bRa~aRrZfH*xXOE8Xh; zLUX(a`qOwTJs*_M)oks%@a`z{>u(<)pYoU_JU^r@fTU57t7!y_?J?`YX$eGfR6S-m zLv|$q$mKdPa&^Xmv1CK|j|Q2KaC=6Z;bR#-30Jy;nGHifzCy!etoD>1yVb*05|odWnPSG{2Q}?hW&Q#0bM^MXBN@kmj4>h z9~K!S0DsvU8*8l@`6|Su)SN!i22cHaNr48l8U8X5f}%@&N1Q(=didOf#j-{^B>zC8 z$@e#;iERUJx>s1G^)&E21Lg}3u{eTf}5 zvH1L0pl-G(C96+EXMSUtt=YIbCTZY_{il=@ z$*q#(ZlrAJKTtvkZzo;Ainc@}GO6=Y^982_PWwH17i{5s^>~20SSbNtdRrcjc0)c5 zQwoonT%F}KRL^IzJJc{YG^ohGBh$>G`9ysESP+*MvO5m~X5^V!e^=fqv^OJkh(NS| z?yrn8`-5ssP@srlqRa30502!h~llqNV-jw3q4&Td0@kXn%1YkKeFL(SfpZcZoN7{ zy^}46I%5+5?7T$@f7T`R?wdlmaxc&vtYIKNS$}$doR%y^%vJE;irAj2m}dnqu!yRy zs>CB%B3S%cYuvo<-POO3?R?Z}@fVyZr7S^|TB()IF)N@k>cjGS_rl>CvP`y#gzf{UIz3Gf- zy%Cz&b_d?!M2{rdzzmH?Sg{Po0$rgej}rgG%I~8ay*Uj41G;@%o<53^OtA9T7M*mz zCbAkzF}0Ghn0^ToSj$MfI~Qdrz?={Wzv1jS8r6d2iNIh3pCi5vJ)YO4^zd)j)a_lA zK!bu|F2E&J&1C2QjbEIru%Z3}iTw}o*b-T=?=Zh}%?zwn{^y3N(Z~j|C5lQ&p;$?Y$8aH+IeaJnvHA|SXD{fHZ+&!^QXJuu;`E@ned zlJ6?l$>q8jzA#8@WM#e@oL|+RMmnQytU$r{T}?_F8baz(K*hwfghx~Wx(|noKPvs5 z|G_*ef14Q%)?-PgYmeZeNnTaa^aMjB9GeXQSnhfy%Wl?K-8bwLiK`QZIcO8K=j%Ns zLk*$0Q`*;&kRw(9fD>O@URNup^1z3lBIM+HroYth?X+8 zlmj$>5S{KvC@zz`jqP>OmDNKv{xQ;1Dp_+g%h0!LZ{4S_CkYmHmAnuslNrw4FB#AC zSeQsLzN;I{$9et@^;_fJ!yAgGCG4`gp0nh{2A;u5Ga z>1|}B29R)+aQuA2xbWF^tLw`)TSumrfn7Ou6XDKdu&o&L*hO4m{+PNb@EZH)V@mfG zw1)ZLx;N4g<=Uc=)MzmD2H(-Rp_prmhm+-|w;lRZjfK{J>b|>-QEq_E8m~<5%C|_p zPcP7Y?1hQz@0F2S8oh;BJ<`G?wR`T`h>=@ecf9B-dau+<4uJ8%{W=i*P8>P-kw5L? zfIV=2Q!|>Owm)}_`Bm;ZeYXQqTm<^JjZH5@U>k<#ly2Jg*Hkq>NH_OW1=?iInHKnL0ln)tmRZ=?qn<>ORs3_E`fc zsa<_G+otOsl|HXMR^B}dE1J@0NIU!B8EOjN82GF}^MtkjCR;a`qn(y~|B-`6L38X) z>;4W8-`xrwtjXpqh9z=_=jook_OWE{qIpYuupvY0orJ~hR~)Q{^IHv^M?PmA%?tQ~ zH}KN1TW6cLQvuh0$Nh&MT-BSL`j;kOp`e@O`|Ad1qDVB?t>jQm^4T5nWb}$JC^C??nJjdW^IIS>Rpevx99GL3GetB?;Py>CP(Hz1N{qCsiR*@EzXIFT_WL%zWN63wCxB#VWRFaJ$GLYcULrCa(_UDZM zrl$L$o?^R7*YM~+Q)1IXIuRg~5Xjm-2Ju3FG8QioOyG-R?ZyP%mT0(hZmV7ZMnb_e zmg`d+K`^G%OXacK`xJ9cR;@|8Pd6(sVJ;-8VUY>7RU$%wOpgyH+S}=O*_gE`q$ljb zgvYAiR4FG#cXg%-U8M>tKoic+D+QK-ZdR)-fUD#Ne?F8_)4F?cRtPrKyQA@J|`io&hb8IuM?rhlA^ zFVl38i8kQ7MeBV(I@Sgsku8t>%w`; zpJ?YqrEKb>s6^y#{oH>xS`^{=X%~x$(qyYn`JM(Q5jo44$PunmSG%nX$hX^xT>)hH zU$Xu=qBEP(%}(3yzE=@)?N42=Wq-p@KBa8Qh$FB~*ui|KwU0S8h9D^^IWMD44ww$xIdSrBUW#r)<9Lx2D000UnNkleU-^_=f+Z_n0jK&fDomO{Eyf(RBU)vAE96?JrEWYp1d5C*6~*+G6e;5h0Gh{D)v zS!PgFWzVN=eg(Chy(*o#UME-Xt$C@1f^fGZML-}tBO-m@kEyOc!rSs> zp<}QtvCv`V3NgwJf2EhV1?`(;PokNi0ZL)7ySjsORz|4XvBTh9bSc-!1PCx#`vVFU zN$VLV!1v{pXWMmM!{kxVUzW$pVSr%eD%$tqw9^1Zu>a#zNPB2aiZCeDoWDG4u(w!wV=20Aj99qqMye8i9Yb6p4NI2k-d>(Qz$gw7 zfl{>dEjX=B?e78Q0_h@7H+1ScJM4wcHP6pmU_0Xei-s55hG0OSaTcC)wsKvFc@R%P zJPz@g1e3*!u%$(QIFYzv2r!{aT*N2NRIh9WD+W3!@~mZrsB`0S{He2`?KEg=f^-^# zfIs*Ew!O*EJ*T#8!Q6mQWP7r00U3xwUM?$ir&CZ_0W~$Us;eNGFs`6q;*#cXzT&;!4~2Om_uJ;e{y zKDaSRB_W-L$||U?7VIl4A(H{$hrT|u(F6!U)*2A?u7Balttyu@Sd3zuSV}?(2hR+aZyl*~bNyRT@zU;1S+>7)|c%!q;C1 zHVi8OX1?nVGsut(tdE!#@%_&s+{(kD|iAti8 zA*LwUu=Q`EKN7j9ko|M#t5qxWjdC);jNkqyJoGEb4oHor6l4V{Zf%9CN=PIjnSewh z(js7JYI0V8M$ef8Z|_#KYV2gfst)z1gb4IC*G8#wzWGWP1p2zQLkZGUfP7!iJy}li zlANk!D@H%Mmj(ugGonFrr&4ww7AHe14;1fwD-z#Gw#oI(PZ}XktsvAIZ5!H_M_UmA z1+a7phE{9avO+DDP%+pgDTv}>3RA3OV5>cQ3Xhbas~Igg;e=@*z~I5nP0?o}@n%J+BBL`IN+vmzaT^+jcD741n4?s4S|HK~@z#*dit0+^w%Kg@z5wmvbzI z1BU>uVKSt|an+7({M6HM{^uajU{8vSFgy6!&yh7K4-WR>nlE8(ov3~y4ylx6LFu$0 zJ(vs8B^Rl-HhSZq^xH@1W5@gT4OCy})Yg_FKw;CzdGR7ZsfkCPElE1udYe={;*ln< zNJL=U^p7|2@yEf5iAV8bSWzK)P7p|fNHo~!Hk&I2xg2cTEIM-Vpmbdw2W?Bv9-XHR zf{lp$g$v=u=L^k%G*~Xa_6ps758kqFV(IjtPSU=8e9^^fATQJm7_rCW;OB;E(18fq z_gN`!X_m*9E#(6TIGe?)DyODqI6@aK>iOMwq2(m(KP2;xd`^pYB5Pl7+-R@4OlYvj zh#MoZH@2v|y7`%>F`h6+W$aQJy;qj#q-{$=>O~2Kc%s1^78UihYZtaI#DM`({Zd8!wb$Wox2mE=y~%fm zl6%R-cE61WOdJ#w8o8SZ494vsd#-A3jw~VEt+ck3l6KUS3+}kPWIIvhApK1}Z+>w9 z1A5=SqC6pH+P*`tyIHp`q% z#?{!OhGY4xGokG?)zZSL6l%>M?1OFFVDn~t@g>alo2ONg2_l-die<_g%M!1kHMwn%4Zn{~Icg$)H zyO&d!>-8I=PRWdoit#X$dgGeJ_xJR`pPrH?vs?A&wV;xFQg6*zK} zqvBNq*xw5s9lT>ZbeUHTvN_4S(B#odW^{N3*>}3xGNhA*oVP|v3 zxIQTY#(3Q(%;b*t*KLkgP*CQepv*x*nS+8d2L)vg3d$VR{~Lj+!v6q1TI^*I-}~tR O0000 "$ENV_FILE" + +chmod 600 "$ENV_FILE" +echo "[octop] 配置已更新: $ENV_FILE" > "${TRIM_TEMP_LOGFILE:-/dev/null}" 2>/dev/null || true +exit 0 diff --git a/fnos/cmd/config_init b/fnos/cmd/config_init new file mode 100644 index 00000000..18380b2c --- /dev/null +++ b/fnos/cmd/config_init @@ -0,0 +1,3 @@ +#!/bin/bash +# Octop — 配置前回调(无特殊处理) +exit 0 diff --git a/fnos/cmd/install_callback b/fnos/cmd/install_callback new file mode 100644 index 00000000..d9b9b498 --- /dev/null +++ b/fnos/cmd/install_callback @@ -0,0 +1,71 @@ +#!/bin/bash +# +# Octop — 安装后回调 +# 使用固定默认配置写入 docker-compose 同目录的 .env(安装向导已移除)。 +# docker compose 会自动加载该 .env,从而完成前后端参数配置。 +# +set -euo pipefail + +# 释放 Octop 端口(8088=Docker 版,8089=本地版),杀掉残留/孤儿进程,避免重装端口冲突。 +free_octop_ports() { + local port pid pids + for port in 8088 8089; do + pids="$(ss -ltnp 2>/dev/null | grep -E "[:.]${port}([[:space:]]|$)" | sed -n 's/.*pid=\([0-9]*\).*/\1/p' | sort -u)" || true + if [ -z "$pids" ] && command -v fuser >/dev/null 2>&1; then + pids="$(fuser "${port}/tcp" 2>/dev/null | tr -cs '[:digit:]' ' ')" || true + fi + if [ -z "$pids" ] && command -v lsof >/dev/null 2>&1; then + pids="$(lsof -ti tcp:"$port" 2>/dev/null)" || true + fi + for pid in $pids; do + [ -n "$pid" ] || continue + if kill -TERM "$pid" 2>/dev/null; then + echo "[octop] 已发送 TERM 给占用 ${port} 的进程 ${pid}" > "${TRIM_TEMP_LOGFILE:-/dev/null}" 2>/dev/null || true + fi + done + sleep 1 + for pid in $pids; do + [ -n "$pid" ] || continue + if kill -0 "$pid" 2>/dev/null; then + kill -KILL "$pid" 2>/dev/null || true + echo "[octop] 已强制 KILL 占用 ${port} 的进程 ${pid}" > "${TRIM_TEMP_LOGFILE:-/dev/null}" 2>/dev/null || true + fi + done + done +} + +free_octop_ports + +ENV_FILE="${TRIM_APPDEST:-/var/apps/octop/target}/docker/.env" +mkdir -p "$(dirname "$ENV_FILE")" + +# 安装向导已移除,使用固定默认值(用户首次登录后可在控制台「设置」中修改)。 +ADMIN_USER="admin" +ADMIN_PASS="octop" +LOG_LEVEL="info" +OPENAI="" +DASHSCOPE="" + +# 去除可能破坏 .env 格式的换行/引号(安全起见) +sanitize() { printf '%s' "$1" | tr -d '\n\r"'"'"''; } + +ADMIN_USER=$(sanitize "$ADMIN_USER") +ADMIN_PASS=$(sanitize "$ADMIN_PASS") +LOG_LEVEL=$(sanitize "$LOG_LEVEL") +OPENAI=$(sanitize "$OPENAI") +DASHSCOPE=$(sanitize "$DASHSCOPE") + +{ + echo "OCTOP_PORT=8088" + echo "OCTOP_BIND_HOST=0.0.0.0" + echo "OCTOP_LOG_LEVEL=${LOG_LEVEL}" + echo "OCTOP_ADMIN_USERNAME=${ADMIN_USER}" + echo "OCTOP_DEFAULT_PASSWORD=${ADMIN_PASS}" + echo "OCTOP_ADMIN_DISPLAY_NAME=Admin" + echo "OPENAI_API_KEY=${OPENAI}" + echo "DASHSCOPE_API_KEY=${DASHSCOPE}" +} > "$ENV_FILE" + +chmod 600 "$ENV_FILE" +echo "[octop] 已写入配置: $ENV_FILE" > "${TRIM_TEMP_LOGFILE:-/dev/null}" 2>/dev/null || true +exit 0 diff --git a/fnos/cmd/install_init b/fnos/cmd/install_init new file mode 100644 index 00000000..5ac6eb60 --- /dev/null +++ b/fnos/cmd/install_init @@ -0,0 +1,3 @@ +#!/bin/bash +# Octop — 安装前回调(无特殊处理;docker-project 由应用中心管理) +exit 0 diff --git a/fnos/cmd/main b/fnos/cmd/main new file mode 100644 index 00000000..ec7cc62c --- /dev/null +++ b/fnos/cmd/main @@ -0,0 +1,41 @@ +#!/bin/bash +# +# Octop — FnOS 生命周期管理(docker-project) +# start/stop 由 fnOS 应用中心根据 config/resource 的 docker-project 自动管理; +# 本脚本仅负责状态检查(供系统健康检查轮询)。 +# + +FILE_PATH="${TRIM_APPDEST}/docker/docker-compose.yaml" + +is_docker_running() { + DOCKER_NAME="" + if [ -f "$FILE_PATH" ]; then + DOCKER_NAME=$(grep "container_name" "$FILE_PATH" | awk -F ':' '{print $2}' | xargs) + fi + if [ -n "$DOCKER_NAME" ]; then + docker inspect "$DOCKER_NAME" 2>/dev/null | grep -q "\"Status\": \"running\"," || return 1 + return 0 + fi + return 1 +} + +case $1 in +start) + # docker 应用由 appcenter 启动 + exit 0 + ;; +stop) + # docker 应用由 appcenter 停止 + exit 0 + ;; +status) + if is_docker_running; then + exit 0 + else + exit 3 + fi + ;; +*) + exit 1 + ;; +esac diff --git a/fnos/cmd/uninstall_callback b/fnos/cmd/uninstall_callback new file mode 100644 index 00000000..3f94e8b3 --- /dev/null +++ b/fnos/cmd/uninstall_callback @@ -0,0 +1,14 @@ +#!/bin/bash +# Octop — 卸载后回调 +# 根据卸载向导选择:完全删除时清理 data-share 用户数据;保留数据时不作处理。 +set -euo pipefail + +if [ "${wizard_delete_data:-no}" = "yes" ]; then + DATA_DIR="/vol1/@appshare/octop/data" + if [ -d "$DATA_DIR" ]; then + rm -rf "$DATA_DIR" 2>/dev/null || true + echo "[octop] 已删除用户数据: $DATA_DIR" > "${TRIM_TEMP_LOGFILE:-/dev/null}" 2>/dev/null || true + fi +fi + +exit 0 diff --git a/fnos/cmd/uninstall_init b/fnos/cmd/uninstall_init new file mode 100644 index 00000000..98048da0 --- /dev/null +++ b/fnos/cmd/uninstall_init @@ -0,0 +1,46 @@ +#!/bin/bash +# Octop — 卸载前回调 +# 根据卸载向导 wizard_delete_data 的选择: +# - 保留数据:不清理 /vol1/@appshare/octop/data。 +# - 完全删除:在 uninstall_callback 中清理 data-share。 +# 同时释放 Octop 端口(8088=Docker 版,8089=本地版),避免卸载后残留进程占端口。 +set -euo pipefail + +log() { echo "[octop] $1" > "${TRIM_TEMP_LOGFILE:-/dev/null}" 2>/dev/null || true; } + +free_octop_ports() { + local port pid pids + for port in 8088 8089; do + pids="$(ss -ltnp 2>/dev/null | grep -E "[:.]${port}([[:space:]]|$)" | sed -n 's/.*pid=\([0-9]*\).*/\1/p' | sort -u)" || true + if [ -z "$pids" ] && command -v fuser >/dev/null 2>&1; then + pids="$(fuser "${port}/tcp" 2>/dev/null | tr -cs '[:digit:]' ' ')" || true + fi + if [ -z "$pids" ] && command -v lsof >/dev/null 2>&1; then + pids="$(lsof -ti tcp:"$port" 2>/dev/null)" || true + fi + for pid in $pids; do + [ -n "$pid" ] || continue + if kill -TERM "$pid" 2>/dev/null; then + log "已发送 TERM 给占用 ${port} 的进程 ${pid}" + fi + done + sleep 1 + for pid in $pids; do + [ -n "$pid" ] || continue + if kill -0 "$pid" 2>/dev/null; then + kill -KILL "$pid" 2>/dev/null || true + log "已强制 KILL 占用 ${port} 的进程 ${pid}" + fi + done + done +} + +free_octop_ports + +if [ "${wizard_delete_data:-no}" = "yes" ]; then + log "用户选择完全删除数据,将在 uninstall_callback 中清理 /vol1/@appshare/octop/data" +else + log "用户选择保留数据,/vol1/@appshare/octop/data 将保留" +fi + +exit 0 diff --git a/fnos/cmd/upgrade_callback b/fnos/cmd/upgrade_callback new file mode 100644 index 00000000..8ad2c5b1 --- /dev/null +++ b/fnos/cmd/upgrade_callback @@ -0,0 +1,3 @@ +#!/bin/bash +# Octop — 更新后回调(无特殊处理;新版镜像由应用中心拉取并重建容器) +exit 0 diff --git a/fnos/cmd/upgrade_init b/fnos/cmd/upgrade_init new file mode 100644 index 00000000..d713779a --- /dev/null +++ b/fnos/cmd/upgrade_init @@ -0,0 +1,3 @@ +#!/bin/bash +# Octop — 更新前回调(无特殊处理;数据卷由 FnOS 托管,升级不丢数据) +exit 0 diff --git a/fnos/config/privilege b/fnos/config/privilege new file mode 100644 index 00000000..869ffb66 --- /dev/null +++ b/fnos/config/privilege @@ -0,0 +1,7 @@ +{ + "defaults": { + "run-as": "package" + }, + "username": "octop", + "groupname": "octop" +} diff --git a/fnos/config/resource b/fnos/config/resource new file mode 100644 index 00000000..98582818 --- /dev/null +++ b/fnos/config/resource @@ -0,0 +1,17 @@ +{ + "docker-project": { + "projects": [ + { + "name": "octop", + "path": "docker" + } + ] + }, + "data-share": { + "shares": [ + { + "name": "octop/data" + } + ] + } +} diff --git a/fnos/manifest b/fnos/manifest new file mode 100644 index 00000000..20c28840 --- /dev/null +++ b/fnos/manifest @@ -0,0 +1,13 @@ +appname=octop +version=0.9.15 +display_name=OCTOP +desc=腾讯开源的多用户多智能体 AI 助手平台,支持 Web 控制台、CLI、IM 渠道与定时任务,数据全部本地存储。

安装后使用:
在应用中心点击「打开」按钮即可进入 Web 控制台,默认地址 http://设备IP:8088。
初始管理员账号:admin,初始密码:octop。

首次登录后:
请在控制台「设置」中配置 LLM 模型、IM 渠道、远程桌面、浏览器等组件。

注意:Docker 版通过容器部署,会自动从 ghcr.io/TencentCloud/octop:latest 拉取镜像运行,已预装 browser / desktop 附加组件。 +source=thirdparty +platform=all +maintainer=TencentCloud OrcaKit +desktop_uidir=ui +desktop_applaunchname=octop.Application +service_port=8088 +checkport=true +ctl_stop=true +micro_app=true diff --git a/fnos/wizard/uninstall b/fnos/wizard/uninstall new file mode 100644 index 00000000..5f86ace4 --- /dev/null +++ b/fnos/wizard/uninstall @@ -0,0 +1,29 @@ +[ + { + "stepTitle": "卸载 OCTOP", + "items": [ + { + "type": "radio", + "field": "wizard_delete_data", + "label": "请选择数据清理方式。", + "initValue": "no", + "options": [ + { + "label": "保留数据(推荐 — 下次安装时可继续使用)", + "value": "no" + }, + { + "label": "完全删除(包括对话历史、文件和配置)", + "value": "yes" + } + ], + "rules": [ + { + "required": true, + "message": "请选择是否删除应用数据" + } + ] + } + ] + } +] diff --git a/scripts/build-fpk.sh b/scripts/build-fpk.sh new file mode 100644 index 00000000..65ca03ff --- /dev/null +++ b/scripts/build-fpk.sh @@ -0,0 +1,116 @@ +#!/usr/bin/env bash +# ============================================================================= +# 构建 Octop 飞牛 FnOS 安装包 (.fpk) +# +# 直接使用官方 fnpack CLI 打包(fnpack 在生成 .fpk 前会校验 manifest / cmd / +# config / wizard / app 等结构,确保产物与飞牛 fnOS 安装校验完全一致)。 +# +# 用法(在仓库根目录执行): +# bash scripts/build-fpk.sh docker # 构建 Docker 版 -> dist/octop-.fpk +# bash scripts/build-fpk.sh native # 构建本地版(非Docker) -> dist/octop-native-.fpk +# bash scripts/build-fpk.sh # 两个都构建 +# +# 环境变量: +# FPK_NAME_PREFIX 输出文件名前缀,默认 "octop" +# 例如 FPK_NAME_PREFIX=Fnos-octop 会生成 Fnos-octop-.fpk +# FPK_ITER 迭代号,默认空 +# 例如 FPK_ITER=01 会生成 ...--01.fpk +# +# 说明: +# - Linux CI 下会自动下载 fnpack-1.2.3-linux-amd64; +# - 本地若已存在 .verify/fnpack(.exe) 则直接复用,不再联网下载。 +# - 版本号同时来自仓库根 pyproject.toml,并注入到 manifest 的 version 字段 +# (manifest 采用 key=value 无空格格式,故用 `^version=` 匹配)。 +# ============================================================================= +set -euo pipefail + +ROOT="$(cd "$(dirname "$0")/.." && pwd)" +OUT="$ROOT/dist" + +# 使用仓库内的临时目录,避免 Windows 风格 TMPDIR 在 Git Bash 下被错误解析 +TMP="$(mktemp -d "$ROOT/.buildtmp.XXXXXX")" +cleanup() { rm -rf "$TMP" >/dev/null 2>&1 || true; } +trap cleanup EXIT + +VER="$(grep -m1 '^version' "$ROOT/pyproject.toml" | sed -E 's/.*"([0-9][0-9.]*[0-9])".*/\1/')" +[ -n "$VER" ] || { echo "无法从 pyproject.toml 解析版本"; exit 1; } +echo "[build-fpk] Octop 版本: $VER" + +# 输出文件名前缀与迭代号(由 CI 传入,实现 Fnos-octop-0.9.16-01.fpk 风格) +PREFIX="${FPK_NAME_PREFIX:-octop}" +ITER_SUFFIX="" +if [ -n "${FPK_ITER:-}" ]; then + ITER_SUFFIX="-$FPK_ITER" +fi +echo "[build-fpk] 包名前缀: $PREFIX, 迭代后缀: ${ITER_SUFFIX:-}" + +# --- 获取 fnpack CLI --- +FNPACK="" +if [ -x "$ROOT/.verify/fnpack.exe" ]; then + FNPACK="$ROOT/.verify/fnpack.exe" +elif [ -x "$ROOT/.verify/fnpack" ]; then + FNPACK="$ROOT/.verify/fnpack" +else + OS="$(uname -s)" + case "$OS" in + Linux) FNPACK_URL="https://static2.fnnas.com/fnpack/fnpack-1.2.3-linux-amd64" ;; + Darwin) FNPACK_URL="https://static2.fnnas.com/fnpack/fnpack-1.2.3-darwin-amd64" ;; + *) FNPACK_URL="https://static2.fnnas.com/fnpack/fnpack-1.2.3-windows-amd64" ;; + esac + FNPACK="$TMP/fnpack" + echo "[build-fpk] 下载 fnpack: $FNPACK_URL" + curl -fsSL -o "$FNPACK" "$FNPACK_URL" + chmod +x "$FNPACK" +fi +echo "[build-fpk] 使用 fnpack: $FNPACK" + +mkdir -p "$OUT" + +build_one() { + local KIND="$1" PKG OUTNAME + case "$KIND" in + docker) + PKG="$ROOT/fnos" + OUTNAME="${PREFIX}-${VER}${ITER_SUFFIX}.fpk" + ;; + native) + PKG="$ROOT/fnos-native" + OUTNAME="${PREFIX}-native-${VER}${ITER_SUFFIX}.fpk" + ;; + *) echo "未知类型: $KIND"; return 1 ;; + esac + + local BUILD="$TMP/$KIND" + rm -rf "$BUILD"; mkdir -p "$BUILD" + + # 复制整个包目录(manifest / cmd / config / wizard / app / ICON* / LICENSE) + cp -r "$PKG/." "$BUILD/" + + # 注入版本号到 manifest(manifest 为 key=value 无空格格式) + sed -i.bak "s/^version=.*/version=$VER/" "$BUILD/manifest" && rm -f "$BUILD/manifest.bak" + + echo "[build-fpk] fnpack 校验并打包 $KIND ..." + # fnpack 校验 manifest/cmd/config/wizard/app 后在当前目录生成 .fpk + # Windows 版 fnpack.exe 无法解析 Git-Bash 的 /c/... 路径,需转换为 Windows 原生路径。 + local DIR="$BUILD" + case "$FNPACK" in + *.exe) DIR="$(cygpath -w -m "$BUILD")" ;; + esac + ( cd "$BUILD" && "$FNPACK" build --directory "$DIR" ) + + local SRC + SRC="$(ls "$BUILD"/*.fpk 2>/dev/null | head -1)" + [ -n "$SRC" ] || { echo "[build-fpk] 未找到 fnpack 产物"; return 1; } + + mv "$SRC" "$OUT/$OUTNAME" + echo "[build-fpk] 产物: $OUT/$OUTNAME ($(stat -c%s "$OUT/$OUTNAME") bytes)" + echo "[build-fpk] 外层内容:" + tar -tzf "$OUT/$OUTNAME" +} + +if [ $# -eq 0 ]; then + build_one docker + build_one native +else + for k in "$@"; do build_one "$k"; done +fi From b5f3edcd50e9f655ad3b7793201bea92612935a4 Mon Sep 17 00:00:00 2001 From: veenyi Date: Tue, 25 Aug 2026 12:02:36 +0800 Subject: [PATCH 2/5] =?UTF-8?q?feat(fnos):=20first-use=20guide=20=E2=80=94?= =?UTF-8?q?=20fixed=20initial=20credentials=20admin/Octop123=20with=20docs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - The previous default password 'octop' does not satisfy the password policy (>=8 chars incl. letters and digits) enforced by 'octop init', so the bootstrap admin could not be created - Switch the default to Octop123, identical to the official Docker image - Manifest install text now prints the initial account/password and tells users to change it after first login - fnos/README.md gains a 'First use' section (credentials table + change password guidance) so users never need to dig into data directories --- fnos-native/app/bin/octop | 2 +- fnos-native/cmd/install_callback | 2 +- fnos-native/manifest | 2 +- fnos/README.md | 11 +++++++++++ fnos/app/docker/docker-compose.yaml | 2 +- fnos/cmd/install_callback | 2 +- fnos/manifest | 2 +- 7 files changed, 17 insertions(+), 6 deletions(-) diff --git a/fnos-native/app/bin/octop b/fnos-native/app/bin/octop index ab7c1e60..b76a0352 100644 --- a/fnos-native/app/bin/octop +++ b/fnos-native/app/bin/octop @@ -84,7 +84,7 @@ if [ ! -f "$OCTOP_HOME/octop.db" ]; then echo "[octop-native] 首次启动,正在初始化管理员账号 ..." octop_cmd init --yes \ --admin-username "${OCTOP_ADMIN_USERNAME:-admin}" \ - --admin-password "${OCTOP_DEFAULT_PASSWORD:-octop}" \ + --admin-password "${OCTOP_DEFAULT_PASSWORD:-Octop123}" \ ${OCTOP_ADMIN_DISPLAY_NAME:+--admin-display-name "$OCTOP_ADMIN_DISPLAY_NAME"} fi diff --git a/fnos-native/cmd/install_callback b/fnos-native/cmd/install_callback index 6c2c7178..b73fc124 100644 --- a/fnos-native/cmd/install_callback +++ b/fnos-native/cmd/install_callback @@ -113,7 +113,7 @@ ENV_FILE="$PKGVAR/.env" # 安装向导已移除,使用固定默认值(用户首次登录后可在控制台「设置」中修改)。 ADMIN_USER="admin" -ADMIN_PASS="octop" +ADMIN_PASS="Octop123" LOG_LEVEL="info" OPENAI="" DASHSCOPE="" diff --git a/fnos-native/manifest b/fnos-native/manifest index 64278088..d8aa6627 100644 --- a/fnos-native/manifest +++ b/fnos-native/manifest @@ -1,7 +1,7 @@ appname=octop-native version=0.9.15 display_name=OCTOP -desc=腾讯开源的多用户多智能体 AI 助手平台,支持 Web 控制台、CLI、IM 渠道与定时任务,数据全部本地存储。

安装后使用:
在应用中心点击「打开」按钮即可进入 Web 控制台,默认地址 http://设备IP:8089。
初始管理员账号:admin,初始密码:octop。

首次登录后:
请在控制台「设置」中配置 LLM 模型、IM 渠道、远程桌面、浏览器等组件。

注意:本地版直接运行在飞牛主机上,安装前会自动关联安装「Python 3.12」开发工具。 +desc=腾讯开源的多用户多智能体 AI 助手平台,支持 Web 控制台、CLI、IM 渠道与定时任务,数据全部本地存储。

安装后使用:
在应用中心点击「打开」按钮即可进入 Web 控制台,默认地址 http://设备IP:8089。
初始管理员账号:admin,初始密码:Octop123(首次登录后请在头像菜单修改密码)。

首次登录后:
请在控制台「设置」中配置 LLM 模型、IM 渠道、远程桌面、浏览器等组件。

注意:本地版直接运行在飞牛主机上,安装前会自动关联安装「Python 3.12」开发工具。 source=thirdparty platform=all maintainer=TencentCloud OrcaKit diff --git a/fnos/README.md b/fnos/README.md index bb534b6c..23d16658 100644 --- a/fnos/README.md +++ b/fnos/README.md @@ -2,6 +2,17 @@ 本目录包含将 [TencentCloud/Octop](https://github.com/TencentCloud/Octop) 打包为飞牛 fnOS `.fpk` 安装包所需的全部文件,并附带自动同步上游 + 自动构建的 GitHub Actions。 +## First use (initial account) + +After install, open the app (Docker: `http://:8088`, native: `http://:8089`) and sign in with the **initial admin account**: + +| Field | Value | +|-------|-------| +| Username | `admin` | +| Password | `Octop123` | + +> The password is a fixed initial value (same as the official Docker image default). **Change it right after first login** via the avatar menu → "Change password". If `OCTOP_ADMIN_USERNAME` / `OCTOP_DEFAULT_PASSWORD` were customized via env during install, those take precedence. + ## 两种安装包 仓库同时产出 **两款** `.fpk`,用于满足不同部署偏好: diff --git a/fnos/app/docker/docker-compose.yaml b/fnos/app/docker/docker-compose.yaml index 72d8b5b1..82e39a92 100644 --- a/fnos/app/docker/docker-compose.yaml +++ b/fnos/app/docker/docker-compose.yaml @@ -13,7 +13,7 @@ services: - OCTOP_BIND_HOST=0.0.0.0 - OCTOP_PORT=${OCTOP_PORT:-8088} - OCTOP_LOG_LEVEL=${OCTOP_LOG_LEVEL:-info} - - OCTOP_DEFAULT_PASSWORD=${OCTOP_DEFAULT_PASSWORD:-octop} + - OCTOP_DEFAULT_PASSWORD=${OCTOP_DEFAULT_PASSWORD:-Octop123} - OCTOP_ADMIN_USERNAME=${OCTOP_ADMIN_USERNAME:-admin} - OCTOP_ADMIN_DISPLAY_NAME=${OCTOP_ADMIN_DISPLAY_NAME:-Admin} - OPENAI_API_KEY=${OPENAI_API_KEY:-} diff --git a/fnos/cmd/install_callback b/fnos/cmd/install_callback index d9b9b498..db377c8b 100644 --- a/fnos/cmd/install_callback +++ b/fnos/cmd/install_callback @@ -41,7 +41,7 @@ mkdir -p "$(dirname "$ENV_FILE")" # 安装向导已移除,使用固定默认值(用户首次登录后可在控制台「设置」中修改)。 ADMIN_USER="admin" -ADMIN_PASS="octop" +ADMIN_PASS="Octop123" LOG_LEVEL="info" OPENAI="" DASHSCOPE="" diff --git a/fnos/manifest b/fnos/manifest index 20c28840..6c7a3daf 100644 --- a/fnos/manifest +++ b/fnos/manifest @@ -1,7 +1,7 @@ appname=octop version=0.9.15 display_name=OCTOP -desc=腾讯开源的多用户多智能体 AI 助手平台,支持 Web 控制台、CLI、IM 渠道与定时任务,数据全部本地存储。

安装后使用:
在应用中心点击「打开」按钮即可进入 Web 控制台,默认地址 http://设备IP:8088。
初始管理员账号:admin,初始密码:octop。

首次登录后:
请在控制台「设置」中配置 LLM 模型、IM 渠道、远程桌面、浏览器等组件。

注意:Docker 版通过容器部署,会自动从 ghcr.io/TencentCloud/octop:latest 拉取镜像运行,已预装 browser / desktop 附加组件。 +desc=腾讯开源的多用户多智能体 AI 助手平台,支持 Web 控制台、CLI、IM 渠道与定时任务,数据全部本地存储。

安装后使用:
在应用中心点击「打开」按钮即可进入 Web 控制台,默认地址 http://设备IP:8088。
初始管理员账号:admin,初始密码:Octop123(首次登录后请在头像菜单修改密码)。

首次登录后:
请在控制台「设置」中配置 LLM 模型、IM 渠道、远程桌面、浏览器等组件。

注意:Docker 版通过容器部署,会自动从 ghcr.io/TencentCloud/octop:latest 拉取镜像运行,已预装 browser / desktop 附加组件。 source=thirdparty platform=all maintainer=TencentCloud OrcaKit From ccee7615a1a1ccc5d5c5f4fde0926d6e8076255f Mon Sep 17 00:00:00 2001 From: veenyi Date: Tue, 25 Aug 2026 12:08:39 +0800 Subject: [PATCH 3/5] ci(fnos): add FnOS packaging pipeline as a fork-maintainer template Provides a complete CI template that builds the Octop Docker image, the Docker .fpk and the native .fpk, then publishes GitHub releases (fixed version + rolling latest): - Trigger: workflow_dispatch only, so it never auto-runs on upstream - Image namespace referenced as ghcr.io/TencentCloud/octop (placeholder; fork maintainers replace with their own) - Iteration numbering, changelog generation (install-first, no-merges, capped at 30 entries) and rolling release management included --- .github/workflows/fnos-build-fpk.yml | 367 +++++++++++++++++++++++++++ 1 file changed, 367 insertions(+) create mode 100644 .github/workflows/fnos-build-fpk.yml diff --git a/.github/workflows/fnos-build-fpk.yml b/.github/workflows/fnos-build-fpk.yml new file mode 100644 index 00000000..d7176b12 --- /dev/null +++ b/.github/workflows/fnos-build-fpk.yml @@ -0,0 +1,367 @@ +name: Build Octop FPK (template) + +# TEMPLATE — FnOS (飞牛 NAS) app packaging pipeline for fork maintainers. +# # This workflow builds the Octop Docker image, the Docker .fpk and the native .fpk, +# # then publishes GitHub releases (fixed version + rolling latest). +# # +# # To enable on your fork: +# # 1. Replace ghcr.io/TencentCloud/octop with your own image namespace (or fork a copy). +# # 2. Optionally add a push trigger below (e.g. branches: [main]) so a rebuild happens +# # automatically on every upstream sync. It is intentionally workflow_dispatch-only +# # here so it never runs on the upstream repository. +# # +# image job:从仓库源码构建 Octop Docker 镜像,推送到 GHCR(ghcr.io/TencentCloud/octop:vanilla) +# fpk job:构建「Docker 版」飞牛安装包 Fnos-octop-vanilla--.fpk(依赖 image,确保镜像已就绪) +# native job:构建「本地版(非 Docker)」飞牛安装包 Fnos-octop-vanilla-native--.fpk。 +# 不内置 Python 运行时(依赖飞牛应用商店 Python 3.12), +# 仅内置 Octop 核心 whl + 核心依赖 site-packages,不含浏览器二进制与预装技能。 +# release job: +# - 创建固定版本 release(如 fnos-0.9.16-01),保留历史、带更新日志; +# - 同步更新滚动 release fnos-vanilla-latest,方便用户始终从同一 URL 下载最新版。 +# +# 镜像包随公开仓库默认即为 public,无需额外设置可见性。 + +on: + workflow_dispatch: + +permissions: + contents: write + packages: write + +concurrency: + group: build-octop-vanilla + cancel-in-progress: false + +jobs: + version: + runs-on: ubuntu-latest + outputs: + version: ${{ steps.ver.outputs.version }} + iter: ${{ steps.iter.outputs.iter }} + tag: ${{ steps.iter.outputs.tag }} + pkg_ver: ${{ steps.iter.outputs.pkg_ver }} + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + fetch-tags: true + + - name: Read version + id: ver + run: | + VER=$(grep -m1 '^version' pyproject.toml | sed -E 's/.*"([0-9][0-9.]*[0-9])".*/\1/') + echo "version=$VER" >> "$GITHUB_OUTPUT" + + - name: Compute iteration + id: iter + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + VER=${{ steps.ver.outputs.version }} + # 查询已存在的 fnos--NN releases,取最大序号 +1 作为本次迭代号。 + # 之前用 GitHub API / git ls-remote / git tag -l 都在 CI 中因认证、 + # 限流或本地 tag 未拉取而回退成 0,导致每次都覆盖 fnos--01。 + # GitHub CLI 在 Actions runner 中已预装且自动使用 GITHUB_TOKEN,最稳。 + echo "[version] existing releases matching fnos-vanilla-${VER}-NN:" + gh release list --repo "${{ github.repository }}" --limit 100 --json tagName | python3 -c 'import sys,json; [print(" "+r.get("tagName","")) for r in json.load(sys.stdin)]' || true + EXISTING=$(gh release list --repo "${{ github.repository }}" --limit 100 --json tagName | python3 -c 'import sys,json,re; d=json.load(sys.stdin); pat=re.compile(r"fnos-vanilla-[0-9]+\.[0-9]+\.[0-9]+-([0-9]+)$"); nums=[int(pat.match(r.get("tagName","")).group(1)) for r in d if pat.match(r.get("tagName",""))]; print(max(nums) if nums else 0)') + MAX=${EXISTING:-0} + NEXT=$((MAX + 1)) + ITER=$(printf "%02d" "$NEXT") + echo "iter=$ITER" >> "$GITHUB_OUTPUT" + echo "tag=fnos-vanilla-${VER}-${ITER}" >> "$GITHUB_OUTPUT" + echo "pkg_ver=${VER}-${ITER}" >> "$GITHUB_OUTPUT" + echo "[version] VER=$VER, EXISTING_MAX=$MAX, ITER=$ITER, TAG=fnos-${VER}-${ITER}" + + image: + needs: version + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + fetch-tags: true + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Login to GHCR + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Build and push image + uses: docker/build-push-action@v6 + with: + context: . + file: fnos/Dockerfile + push: true + tags: | + ghcr.io/TencentCloud/octop:vanilla + ghcr.io/TencentCloud/octop:vanilla-v${{ needs.version.outputs.version }} + cache-from: type=gha + cache-to: type=gha,mode=max + + fpk: + needs: [image, version] + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + fetch-tags: true + + - name: Build Docker FPK + env: + FPK_NAME_PREFIX: Fnos-octop-vanilla + FPK_ITER: ${{ needs.version.outputs.iter }} + run: bash scripts/build-fpk.sh docker + + - name: Upload docker fpk artifact + uses: actions/upload-artifact@v4 + with: + name: docker-fpk + path: dist/Fnos-octop-vanilla-*.fpk + if-no-files-found: error + + native: + # 即使原生版构建失败也不阻塞整体发布:Docker 版(fpk)始终会发布; + # 原生版成功则一并附带。continue-on-error 让 needs 视为通过。 + continue-on-error: true + needs: version + runs-on: ubuntu-latest + outputs: + native_ok: ${{ steps.build_native.outcome == 'success' && steps.upload_native.outcome == 'success' }} + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + fetch-tags: true + + - name: Set up Python 3.12 (build-only) + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Set up Node.js 20 (frontend build) + uses: actions/setup-node@v4 + with: + node-version: "20" + cache: "npm" + cache-dependency-path: dashboard/package-lock.json + + # native 包必须包含当前 fork 的源码修改(如 /admin/providers/fetch-models)。 + # 上游 TencentCloud/Octop 的 release wheel 不包含这些修改,因此改为从当前 + # 仓库源码构建 wheel:先构建前端产物到 src/octop/dashboard,再打包 wheel。 + - name: Build Octop wheel from current source + run: | + set -e + echo "=== build frontend ===" + cd dashboard + npm ci --prefer-offline --no-audit + NODE_ENV=production NODE_OPTIONS="--max-old-space-size=4096" npm run build + cd .. + echo "=== frontend output ===" + ls -la src/octop/dashboard | head -20 + echo "=== build wheel ===" + python3 -m pip install --quiet build + python3 -m build --wheel + echo "=== built wheel ===" + ls -lh dist/octop-*.whl + + - name: Install Octop core into app/site-packages (no Chromium, no preinstalled skills) + id: install_core + timeout-minutes: 15 + env: + UV_PYTHON_INSTALL_DIR: ${{ github.workspace }}/.uv-python + run: | + set -x + LOG="${{ github.workspace }}/native-install.log" + : > "$LOG" + mkdir -p "${{ github.workspace }}/fnos-native/app/site-packages" + SP="${{ github.workspace }}/fnos-native/app/site-packages" + { + # 用 uv 安装核心 whl 及其依赖到包内 site-packages。 + # pip 对 orcakit-harness-agent[all] 的复杂依赖树会报 resolution-too-deep, + # uv 的回溯能力强得多(旧方案已验证)。 + python3 -m pip install --quiet uv + # 第一步:让 uv 自由解析并安装核心 whl(含其完整依赖树)。 + # 自由解析会拉到最新的 mcp==2.0.0 + langchain-mcp-adapters==0.3.1,这两者在结构上 + # 不兼容(见第二步),但本步只负责把依赖装齐,不要求版本正确。 + # 注意:不能把钉版与 octop.whl 放在同一条 uv 命令里——会和 whl 的传递依赖约束 + # 发生 resolution 冲突,导致整个 native 构建失败(fdca4c6 的教训)。 + python3 -m uv pip install --python python3.12 \ + --target "$SP" --no-cache "$(ls dist/octop-*.whl | head -1)" + # 第二步:强制覆盖为仓库 uv.lock 锁定的兼容组合 mcp==1.28.1 + langchain-mcp-adapters==0.3.0。 + # mcp 2.0 移除了 mcp.server.fastmcp / mcp.shared.context.RequestContext 等符号, + # 而 langchain-mcp-adapters 0.3.x 仍硬导入它们,导致 octop 启动即 ImportError。 + # 先清掉旧版目录,防止多版本共存导致 Python 仍加载坏的 mcp 2.0。 + rm -rf "$SP/mcp" "$SP"/mcp-*.dist-info \ + "$SP/langchain_mcp_adapters" "$SP"/langchain_mcp_adapters-*.dist-info + # 用 pip download 拿到钉版 whl,再 unzip 进 site-packages。 + # 这比 pip install --target --force-reinstall 更可控,也不会触发 resolution。 + mkdir -p /tmp/octop-pinned + python3.12 -m pip download --no-deps --no-cache-dir -d /tmp/octop-pinned \ + "mcp==1.28.1" "langchain-mcp-adapters==0.3.0" + for whl in /tmp/octop-pinned/*.whl; do + echo "Extracting pinned wheel: $whl" + python3.12 -m zipfile -e "$whl" "$SP" + done + # 把核心 whl 也内置进去,供飞牛主机离线重装/回滚使用。 + cp dist/octop-*.whl "$SP/octop.whl" + # 校验:必须能走通真正的启动导入链(octop.launch → octop.infra.server → + # harness_agent.mcp → langchain_mcp_adapters)。仅 import octop 不会触发该链路, + # 故这里显式导入启动入口,确保 mcp/langchain-mcp-adapters 组合确实可用。 + PYTHONPATH="$SP" python3.12 \ + -c "from octop.launch import run_foreground_blocking; import mcp, langchain_mcp_adapters; print('octop', octop.__version__, '| mcp', mcp.__version__, '| lcma', langchain_mcp_adapters.__version__)" + } 2>&1 | tee -a "$LOG" + + - name: Build native FPK + id: build_native + env: + FPK_NAME_PREFIX: Fnos-octop-vanilla + FPK_ITER: ${{ needs.version.outputs.iter }} + run: bash scripts/build-fpk.sh native + + - name: Show native fpk size + run: ls -lh dist/Fnos-octop-vanilla-native-*.fpk + + - name: Upload native fpk artifact + id: upload_native + uses: actions/upload-artifact@v4 + with: + name: native-fpk + path: dist/Fnos-octop-vanilla-native-*.fpk + if-no-files-found: error + + - name: Upload native install log (for debugging) + if: always() + uses: actions/upload-artifact@v4 + with: + name: native-install-log + path: native-install.log + if-no-files-found: ignore + + release: + # 即使原生版失败(continue-on-error)也要发布 Docker 版; + # 原生版成功时 artifacts/native-fpk 存在,会被一并打包进发布。 + if: always() + needs: [fpk, native, version] + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + fetch-tags: true + + # 分别按名称下载,单个大产物(native-fpk ~560MB)单独下载比「下载全部」更稳定, + # 避免 GitHub artifact 服务对“全部”模式偶发 5 次重试失败。 + - name: Download docker fpk artifact (required) + uses: actions/download-artifact@v4 + with: + name: docker-fpk + path: artifacts/docker-fpk + if-no-files-found: error + + - name: Download native fpk artifact (best-effort) + # 原生版即使下载/解压偶发失败也不阻塞发布:Docker 版始终会发布。 + continue-on-error: true + uses: actions/download-artifact@v4 + with: + name: native-fpk + path: artifacts/native-fpk + if-no-files-found: ignore + + - name: Stage dist + run: | + mkdir -p dist + cp artifacts/docker-fpk/*.fpk dist/ || true + cp artifacts/native-fpk/*.fpk dist/ || true + ls -lh dist + + - name: Generate changelog + id: changelog + run: | + VER="${{ needs.version.outputs.version }}" + ITER="${{ needs.version.outputs.iter }}" + TAG="fnos-vanilla-${VER}-${ITER}" + # 找本分支历史中可达的最近固定版本 tag(排除滚动 tag)。 + # 不能直接 git describe:若历史 tag 误指向其它分支(如 main)的 commit, + # describe 会失败并回退到仓库根,导致更新说明把整个历史都列出来。 + PREV_TAG="" + for t in $(git tag --list "fnos-vanilla-*" --sort=-creatordate); do + [ "$t" = "fnos-vanilla-latest" ] && continue + if git merge-base --is-ancestor "$t" HEAD 2>/dev/null; then + PREV_TAG="$t" + break + fi + done + echo "prev_tag=$PREV_TAG" >> "$GITHUB_OUTPUT" + { + # 安装说明置顶,用户一眼看到下载文件 + echo "## 安装说明" + echo "" + echo "1. 飞牛应用中心 → 设置 → 手动安装应用,选择对应 .fpk。" + echo "2. Docker 版 **Fnos-octop-vanilla-${VER}-${ITER}.fpk**(约 80KB):飞牛自动从 GHCR 拉取镜像运行,镜像为 \\"ghcr.io/TencentCloud/octop:vanilla\\"。" + echo "3. 本地版 **Fnos-octop-vanilla-native-${VER}-${ITER}.fpk**(约 200MB):非 Docker,原生运行在飞牛主机;安装时自动关联系统 Python 3.12 开发工具;浏览器、远程桌面等附加组件在 Octop 应用内按需安装。" + echo "" + echo "---" + echo "固定版本请从本 Release 附件下载;最新滚动版见 [fnos-vanilla-latest](https://github.com/${{ github.repository }}/releases/tag/fnos-vanilla-latest)。" + echo "" + echo "## 本次更新(v${VER}-${ITER})" + echo "" + # 只列相对上一版的非 merge commit,最多 30 条,避免说明冗长 + if [ -n "$PREV_TAG" ]; then + git log --oneline --no-merges "$PREV_TAG"..HEAD | head -30 + else + git log --oneline --no-merges -30 HEAD + fi + } > /tmp/release-body.md + cat /tmp/release-body.md + + # --- 固定版本 release:保留历史 --- + - name: Publish fixed release + uses: softprops/action-gh-release@v2 + with: + tag_name: ${{ needs.version.outputs.tag }} + # 显式指向构建所用 commit,避免 GitHub 默认指向 main 分支 HEAD + # (此前 fnos-vanilla-* tag 全部错误指向 main 的 commit) + target_commitish: ${{ github.sha }} + name: Octop (FnOS Vanilla) v${{ needs.version.outputs.pkg_ver }} + body_path: /tmp/release-body.md + files: dist/*.fpk + draft: false + prerelease: false + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + # --- 滚动 release fnos-vanilla-latest:始终指向最新版,只保留最新 assets --- + - name: Delete rolling release if exists + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + TAG=fnos-vanilla-latest + REL_ID=$(curl -sS -H "Authorization: Bearer $GH_TOKEN" -H "Accept: application/vnd.github+json" \ + https://api.github.com/repos/${{ github.repository }}/releases/tags/$TAG \ + | python3 -c "import sys,json;print(json.load(sys.stdin).get('id',''))" 2>/dev/null || true) + if [ -n "$REL_ID" ]; then + curl -sS -X DELETE -H "Authorization: Bearer $GH_TOKEN" -H "Accept: application/vnd.github+json" \ + https://api.github.com/repos/${{ github.repository }}/releases/$REL_ID || true + fi + curl -sS -X DELETE -H "Authorization: Bearer $GH_TOKEN" -H "Accept: application/vnd.github+json" \ + https://api.github.com/repos/${{ github.repository }}/git/refs/tags/$TAG || true + + - name: Publish rolling release + uses: softprops/action-gh-release@v2 + with: + tag_name: fnos-vanilla-latest + target_commitish: ${{ github.sha }} + name: Octop (FnOS Vanilla) latest + body_path: /tmp/release-body.md + files: dist/*.fpk + draft: false + prerelease: false + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} From bf711eee5b79a097c0992d94e1e72e22aab56d09 Mon Sep 17 00:00:00 2001 From: veenyi Date: Tue, 25 Aug 2026 12:33:40 +0800 Subject: [PATCH 4/5] refactor(fnos): dedupe lifecycle scripts into scripts/fnos/common.sh; tighten process kill Addresses review feedback: - Extract find_python312 / fix_ownership_and_perms / free_octop_ports into a single shared library scripts/fnos/common.sh (injected into both packages' cmd/common.sh by build-fpk.sh at package time) instead of duplicating them across 7 docker/native lifecycle scripts - Tighten the leftover-process cleanup: only kill processes under this install dir (TRIM_APPDEST), no more broad 'pgrep -f octop' that could kill other users' / other installs' processes - Root README: add an 'FnOS Installation' section pointing to fnos/README.md and noting the initial credentials + the #406 dependency for non-root CLI installs --- README.md | 6 ++ fnos-native/app/bin/octop | 24 ++---- fnos-native/app/bin/octop-cli | 24 ++---- fnos-native/cmd/config_callback | 36 ++------- fnos-native/cmd/install_callback | 110 ++------------------------- fnos-native/cmd/uninstall_init | 32 ++------ fnos/cmd/install_callback | 32 ++------ fnos/cmd/uninstall_init | 32 ++------ scripts/build-fpk.sh | 6 ++ scripts/fnos/common.sh | 126 +++++++++++++++++++++++++++++++ 10 files changed, 181 insertions(+), 247 deletions(-) create mode 100644 scripts/fnos/common.sh diff --git a/README.md b/README.md index c2d43c75..062e8013 100644 --- a/README.md +++ b/README.md @@ -135,6 +135,12 @@ Here are our mid-to-long term plans: This roadmap may shift as the community grows; treat it as indicative only. + +## 🖥️ FnOS (飞牛 NAS) Installation + +Octop can be installed on FnOS (飞牛 NAS) devices via the App Center as a `.fpk` package, either as a Docker-backed app or as a native (non-Docker) app. See [`fnos/README.md`](fnos/README.md) for the full packaging guide, the FPK build helper (`scripts/build-fpk.sh`), and the CI pipeline template (`.github/workflows/fnos-build-fpk.yml`). + +Initial admin credentials: `admin` / `Octop123` (change after first login). For non-root FnOS installs, the WeCom/Feishu connector CLIs require the fix in [PR #406](https://github.com/TencentCloud/Octop/pull/406) (user-level npm fallback). ## 🚀 Quick Start ### Prerequisites diff --git a/fnos-native/app/bin/octop b/fnos-native/app/bin/octop index b76a0352..e282f6b4 100644 --- a/fnos-native/app/bin/octop +++ b/fnos-native/app/bin/octop @@ -7,6 +7,11 @@ # set -euo pipefail +# 共享函数库(find_python312 / fix_ownership_and_perms / free_octop_ports) +# 打包时由 scripts/build-fpk.sh 注入;仓库内运行无此文件时跳过(函数缺失时再报错)。 +_OCTOP_COMMON=""$(dirname "$0")/../cmd/common.sh"" +[ -f "$_OCTOP_COMMON" ] && source "$_OCTOP_COMMON" + APPDEST="${TRIM_APPDEST:-/var/apps/octop-native}" PKGVAR="${TRIM_PKGVAR:-/var/apps/octop-native/var}" @@ -31,24 +36,7 @@ export OCTOP_HOME="${DATA_DIR}/.octop" export OCTOP_DATA_DIR="$DATA_DIR" # 查找飞牛系统上的 Python 3.12(优先应用商店安装路径,再 PATH) -find_python312() { - for cand in \ - /var/apps/python312/target/bin/python3.12 \ - /usr/local/bin/python3.12 \ - /var/apps/python3.12/bin/python3.12 \ - python3.12 - do - if command -v "$cand" >/dev/null 2>&1; then - local py - py="$(command -v "$cand")" - if "$py" -c 'import sys; assert sys.version_info[:2] == (3,12)' >/dev/null 2>&1; then - printf '%s' "$py" - return 0 - fi - fi - done - return 1 -} + PY="$(find_python312)" || { echo "[octop-native] 错误:未找到 Python 3.12。" >&2 diff --git a/fnos-native/app/bin/octop-cli b/fnos-native/app/bin/octop-cli index d8cefcd1..ffa781b5 100644 --- a/fnos-native/app/bin/octop-cli +++ b/fnos-native/app/bin/octop-cli @@ -19,6 +19,11 @@ # set -euo pipefail +# 共享函数库(find_python312 / fix_ownership_and_perms / free_octop_ports) +# 打包时由 scripts/build-fpk.sh 注入;仓库内运行无此文件时跳过(函数缺失时再报错)。 +_OCTOP_COMMON=""$(dirname "$0")/../cmd/common.sh"" +[ -f "$_OCTOP_COMMON" ] && source "$_OCTOP_COMMON" + APPDEST="${TRIM_APPDEST:-/var/apps/octop-native}" PKGVAR="${TRIM_PKGVAR:-/var/apps/octop-native/var}" @@ -37,24 +42,7 @@ if [ -f "$PKGVAR/.env" ]; then fi # 查找飞牛应用商店提供的 Python 3.12 -find_python312() { - for cand in \ - /var/apps/python312/target/bin/python3.12 \ - /usr/local/bin/python3.12 \ - /var/apps/python3.12/bin/python3.12 \ - python3.12 - do - if command -v "$cand" >/dev/null 2>&1; then - local py - py="$(command -v "$cand")" - if "$py" -c 'import sys; assert sys.version_info[:2] == (3,12)' >/dev/null 2>&1; then - printf '%s' "$py" - return 0 - fi - fi - done - return 1 -} + PY="$(find_python312)" || { echo "错误:未找到 Python 3.12,请先在飞牛应用中心安装「Python 3.12」开发工具。" >&2 diff --git a/fnos-native/cmd/config_callback b/fnos-native/cmd/config_callback index 1e331f30..1ee2ccbe 100644 --- a/fnos-native/cmd/config_callback +++ b/fnos-native/cmd/config_callback @@ -7,42 +7,18 @@ # set -euo pipefail +# 共享函数库(find_python312 / fix_ownership_and_perms / free_octop_ports) +# 打包时由 scripts/build-fpk.sh 注入;仓库内运行无此文件时跳过(函数缺失时再报错)。 +_OCTOP_COMMON=""$(dirname "$0")/common.sh"" +[ -f "$_OCTOP_COMMON" ] && source "$_OCTOP_COMMON" + # --------------------------------------------------------------------------- # 修正数据目录与 .env 属主/权限(与 install_callback 同一坑): # 重新配置回调以 root 身份写 .env,必须 chown 给 octop-native,否则服务 # 以 octop-native 启动读 .env 时 Permission denied。含 setfacl -b 防 ACL 把 # mask 压成 ---。路径用 TRIM_* 变量,兼容 /vol3 等其它卷。 # --------------------------------------------------------------------------- -fix_ownership_and_perms() { - local pkgvar="$1" envfile="$2" - local octop_user="octop-native" - id "$octop_user" >/dev/null 2>&1 || { - echo "[octop-native] 警告:${octop_user} 账户不存在,跳过数据目录 chown" > "${TRIM_TEMP_LOGFILE:-/dev/null}" 2>&1 || true - return 0 - } - chown -R "$octop_user:$octop_user" "$pkgvar" 2>/dev/null || true - chmod 700 "$pkgvar" 2>/dev/null || true - [ -f "$envfile" ] && chmod 600 "$envfile" 2>/dev/null || true - if command -v setfacl >/dev/null 2>&1; then - setfacl -b "$pkgvar" 2>/dev/null || true - [ -f "$envfile" ] && setfacl -b "$envfile" 2>/dev/null || true - fi - if [ -n "${TRIM_DATA_SHARE_PATHS:-}" ]; then - local ds="${TRIM_DATA_SHARE_PATHS%%:*}" - chown -R "$octop_user:$octop_user" "$ds" 2>/dev/null || true - local share_root="$ds" - while [ "$share_root" != "/" ] && [ "$(basename "$(dirname "$share_root")")" != "@appshare" ]; do - share_root="$(dirname "$share_root")" - done - chown "$octop_user:$octop_user" "$share_root" 2>/dev/null || true - chmod 755 "$share_root" 2>/dev/null || true - if command -v setfacl >/dev/null 2>&1; then - setfacl -b "$share_root" 2>/dev/null || true - setfacl -b "$ds" 2>/dev/null || true - fi - fi - echo "[octop-native] 已修正数据目录/.env 属主与权限(${octop_user}:${octop_user})" > "${TRIM_TEMP_LOGFILE:-/dev/null}" 2>&1 || true -} + PKGVAR="${TRIM_PKGVAR:-/var/apps/octop-native/var}" mkdir -p "$PKGVAR" diff --git a/fnos-native/cmd/install_callback b/fnos-native/cmd/install_callback index b73fc124..4bbc07a0 100644 --- a/fnos-native/cmd/install_callback +++ b/fnos-native/cmd/install_callback @@ -6,53 +6,13 @@ # set -uo pipefail +# 共享函数库(find_python312 / fix_ownership_and_perms / free_octop_ports) +# 打包时由 scripts/build-fpk.sh 注入;仓库内运行无此文件时跳过(函数缺失时再报错)。 +_OCTOP_COMMON=""$(dirname "$0")/common.sh"" +[ -f "$_OCTOP_COMMON" ] && source "$_OCTOP_COMMON" + # 释放 Octop 端口(8088=Docker 版,8089=本地版),杀掉残留/孤儿进程,避免重装端口冲突。 -free_octop_ports() { - local port pid pids - for port in 8088 8089; do - pids="$(ss -ltnp 2>/dev/null | grep -E "[:.]${port}([[:space:]]|$)" | sed -n 's/.*pid=\([0-9]*\).*/\1/p' | sort -u)" || true - if [ -z "$pids" ] && command -v fuser >/dev/null 2>&1; then - pids="$(fuser "${port}/tcp" 2>/dev/null | tr -cs '[:digit:]' ' ')" || true - fi - if [ -z "$pids" ] && command -v lsof >/dev/null 2>&1; then - pids="$(lsof -ti tcp:"$port" 2>/dev/null)" || true - fi - for pid in $pids; do - [ -n "$pid" ] || continue - if kill -TERM "$pid" 2>/dev/null; then - echo "[octop] 已发送 TERM 给占用 ${port} 的进程 ${pid}" > "${TRIM_TEMP_LOGFILE:-/dev/null}" 2>/dev/null || true - fi - done - sleep 1 - for pid in $pids; do - [ -n "$pid" ] || continue - if kill -0 "$pid" 2>/dev/null; then - kill -KILL "$pid" 2>/dev/null || true - echo "[octop] 已强制 KILL 占用 ${port} 的进程 ${pid}" > "${TRIM_TEMP_LOGFILE:-/dev/null}" 2>/dev/null || true - fi - done - done - - # 兜底:按命令行特征清理残留的 octop 服务进程(部分环境下 ss/fuser 拿不到 pid, - # 例如进程在其它用户/网络命名空间,或这些工具未安装)。直接按特征杀,确保 8089 - # 在启动前一定空闲,避免“安装成功但服务起不来”。 - for pat in 'octop.cli.main run' 'octop/bin/octop' 'octop-native/bin/octop'; do - pids="$(pgrep -f "$pat" 2>/dev/null | tr '\n' ' ')" || true - [ -z "$pids" ] && continue - echo "[octop] 发现残留 octop 服务进程 ($pat): $pids,准备清理" > "${TRIM_TEMP_LOGFILE:-/dev/null}" 2>&1 || true - # 先按进程组整体 TERM,再对存活者 KILL - for pid in $pids; do - kill -TERM "-$pid" 2>/dev/null || kill -TERM "$pid" 2>/dev/null || true - done - sleep 1 - for pid in $pids; do - if kill -0 "$pid" 2>/dev/null; then - kill -KILL "-$pid" 2>/dev/null || kill -KILL "$pid" 2>/dev/null || true - echo "[octop] 已强制 KILL 残留 octop 服务进程 $pid" > "${TRIM_TEMP_LOGFILE:-/dev/null}" 2>&1 || true - fi - done - done -} + # --------------------------------------------------------------------------- # 修正数据目录与 .env 的属主/权限(致命坑,曾导致服务启动即崩): @@ -63,46 +23,7 @@ free_octop_ports() { # 路径一律用 TRIM_* 变量(PKGVAR / TRIM_DATA_SHARE_PATHS),不固定 /vol1, # 兼容用户在 /vol3 等其它卷安装(地址会变)。 # --------------------------------------------------------------------------- -fix_ownership_and_perms() { - local pkgvar="$1" envfile="$2" - local octop_user="octop-native" - id "$octop_user" >/dev/null 2>&1 || { - echo "[octop-native] 警告:${octop_user} 账户不存在,跳过数据目录 chown(服务将回退以 root 运行)" > "${TRIM_TEMP_LOGFILE:-/dev/null}" 2>&1 || true - return 0 - } - - # 1) 应用数据目录(@appdata)与 .env 改属主为 octop-native - chown -R "$octop_user:$octop_user" "$pkgvar" 2>/dev/null || true - chmod 700 "$pkgvar" 2>/dev/null || true - [ -f "$envfile" ] && chmod 600 "$envfile" 2>/dev/null || true - - # 2) 清除 ACL,避免 chmod 把 mask 压成 --- 导致仍读不到 - if command -v setfacl >/dev/null 2>&1; then - setfacl -b "$pkgvar" 2>/dev/null || true - [ -f "$envfile" ] && setfacl -b "$envfile" 2>/dev/null || true - fi - # 3) 共享数据目录(data-share,@appshare):确保属主 octop-native 且可进入 - if [ -n "${TRIM_DATA_SHARE_PATHS:-}" ]; then - local ds="${TRIM_DATA_SHARE_PATHS%%:*}" - chown -R "$octop_user:$octop_user" "$ds" 2>/dev/null || true - # 向上找到 @appshare 下的应用共享根(如 /vol1/@appshare/octop-native), - # 将其属主也改回 octop-native 并放开 x 权限,否则 octop-native 进不去 - # 自己的 data 子目录(曾出现 d--------- root:root)。 - local share_root="$ds" - while [ "$share_root" != "/" ] && [ "$(basename "$(dirname "$share_root")")" != "@appshare" ]; do - share_root="$(dirname "$share_root")" - done - chown "$octop_user:$octop_user" "$share_root" 2>/dev/null || true - chmod 755 "$share_root" 2>/dev/null || true - if command -v setfacl >/dev/null 2>&1; then - setfacl -b "$share_root" 2>/dev/null || true - setfacl -b "$ds" 2>/dev/null || true - fi - fi - - echo "[octop-native] 已修正数据目录/.env 属主与权限(${octop_user}:${octop_user})" > "${TRIM_TEMP_LOGFILE:-/dev/null}" 2>&1 || true -} free_octop_ports @@ -145,24 +66,7 @@ echo "[octop-native] 已写入配置: $ENV_FILE" > "${TRIM_TEMP_LOGFILE:-/dev/nu fix_ownership_and_perms "$PKGVAR" "$ENV_FILE" # 校验 Python 3.12 是否存在 -find_python312() { - for cand in \ - /var/apps/python312/target/bin/python3.12 \ - /usr/local/bin/python3.12 \ - /var/apps/python3.12/bin/python3.12 \ - python3.12 - do - if command -v "$cand" >/dev/null 2>&1; then - local py - py="$(command -v "$cand")" - if "$py" -c 'import sys; assert sys.version_info[:2] == (3,12)' >/dev/null 2>&1; then - printf '%s' "$py" - return 0 - fi - fi - done - return 1 -} + if ! PY="$(find_python312)"; then echo "[octop-native] 错误:飞牛系统中未找到 Python 3.12。" > "${TRIM_TEMP_LOGFILE:-/dev/null}" 2>&1 || true diff --git a/fnos-native/cmd/uninstall_init b/fnos-native/cmd/uninstall_init index 14ab80c1..0986c983 100644 --- a/fnos-native/cmd/uninstall_init +++ b/fnos-native/cmd/uninstall_init @@ -8,36 +8,16 @@ # set -uo pipefail +# 共享函数库(find_python312 / fix_ownership_and_perms / free_octop_ports) +# 打包时由 scripts/build-fpk.sh 注入;仓库内运行无此文件时跳过(函数缺失时再报错)。 +_OCTOP_COMMON=""$(dirname "$0")/common.sh"" +[ -f "$_OCTOP_COMMON" ] && source "$_OCTOP_COMMON" + LOG="${TRIM_TEMP_LOGFILE:-/dev/null}" log() { echo "[octop-native] $1" > "$LOG" 2>/dev/null || true; } # 卸载时一并释放 Octop 端口(8088=Docker 版,8089=本地版),杀掉残留/孤儿进程,避免卸载不干净。 -free_octop_ports() { - local port pid pids - for port in 8088 8089; do - pids="$(ss -ltnp 2>/dev/null | grep -E "[:.]${port}([[:space:]]|$)" | sed -n 's/.*pid=\([0-9]*\).*/\1/p' | sort -u)" || true - if [ -z "$pids" ] && command -v fuser >/dev/null 2>&1; then - pids="$(fuser "${port}/tcp" 2>/dev/null | tr -cs '[:digit:]' ' ')" || true - fi - if [ -z "$pids" ] && command -v lsof >/dev/null 2>&1; then - pids="$(lsof -ti tcp:"$port" 2>/dev/null)" || true - fi - for pid in $pids; do - [ -n "$pid" ] || continue - if kill -TERM "$pid" 2>/dev/null; then - log "已发送 TERM 给占用 ${port} 的进程 ${pid}" - fi - done - sleep 1 - for pid in $pids; do - [ -n "$pid" ] || continue - if kill -0 "$pid" 2>/dev/null; then - kill -KILL "$pid" 2>/dev/null || true - log "已强制 KILL 占用 ${port} 的进程 ${pid}" - fi - done - done -} + free_octop_ports diff --git a/fnos/cmd/install_callback b/fnos/cmd/install_callback index db377c8b..5b0bf121 100644 --- a/fnos/cmd/install_callback +++ b/fnos/cmd/install_callback @@ -6,33 +6,13 @@ # set -euo pipefail +# 共享函数库(find_python312 / fix_ownership_and_perms / free_octop_ports) +# 打包时由 scripts/build-fpk.sh 注入;仓库内运行无此文件时跳过(函数缺失时再报错)。 +_OCTOP_COMMON=""$(dirname "$0")/common.sh"" +[ -f "$_OCTOP_COMMON" ] && source "$_OCTOP_COMMON" + # 释放 Octop 端口(8088=Docker 版,8089=本地版),杀掉残留/孤儿进程,避免重装端口冲突。 -free_octop_ports() { - local port pid pids - for port in 8088 8089; do - pids="$(ss -ltnp 2>/dev/null | grep -E "[:.]${port}([[:space:]]|$)" | sed -n 's/.*pid=\([0-9]*\).*/\1/p' | sort -u)" || true - if [ -z "$pids" ] && command -v fuser >/dev/null 2>&1; then - pids="$(fuser "${port}/tcp" 2>/dev/null | tr -cs '[:digit:]' ' ')" || true - fi - if [ -z "$pids" ] && command -v lsof >/dev/null 2>&1; then - pids="$(lsof -ti tcp:"$port" 2>/dev/null)" || true - fi - for pid in $pids; do - [ -n "$pid" ] || continue - if kill -TERM "$pid" 2>/dev/null; then - echo "[octop] 已发送 TERM 给占用 ${port} 的进程 ${pid}" > "${TRIM_TEMP_LOGFILE:-/dev/null}" 2>/dev/null || true - fi - done - sleep 1 - for pid in $pids; do - [ -n "$pid" ] || continue - if kill -0 "$pid" 2>/dev/null; then - kill -KILL "$pid" 2>/dev/null || true - echo "[octop] 已强制 KILL 占用 ${port} 的进程 ${pid}" > "${TRIM_TEMP_LOGFILE:-/dev/null}" 2>/dev/null || true - fi - done - done -} + free_octop_ports diff --git a/fnos/cmd/uninstall_init b/fnos/cmd/uninstall_init index 98048da0..e77ba25e 100644 --- a/fnos/cmd/uninstall_init +++ b/fnos/cmd/uninstall_init @@ -6,34 +6,14 @@ # 同时释放 Octop 端口(8088=Docker 版,8089=本地版),避免卸载后残留进程占端口。 set -euo pipefail +# 共享函数库(find_python312 / fix_ownership_and_perms / free_octop_ports) +# 打包时由 scripts/build-fpk.sh 注入;仓库内运行无此文件时跳过(函数缺失时再报错)。 +_OCTOP_COMMON=""$(dirname "$0")/common.sh"" +[ -f "$_OCTOP_COMMON" ] && source "$_OCTOP_COMMON" + log() { echo "[octop] $1" > "${TRIM_TEMP_LOGFILE:-/dev/null}" 2>/dev/null || true; } -free_octop_ports() { - local port pid pids - for port in 8088 8089; do - pids="$(ss -ltnp 2>/dev/null | grep -E "[:.]${port}([[:space:]]|$)" | sed -n 's/.*pid=\([0-9]*\).*/\1/p' | sort -u)" || true - if [ -z "$pids" ] && command -v fuser >/dev/null 2>&1; then - pids="$(fuser "${port}/tcp" 2>/dev/null | tr -cs '[:digit:]' ' ')" || true - fi - if [ -z "$pids" ] && command -v lsof >/dev/null 2>&1; then - pids="$(lsof -ti tcp:"$port" 2>/dev/null)" || true - fi - for pid in $pids; do - [ -n "$pid" ] || continue - if kill -TERM "$pid" 2>/dev/null; then - log "已发送 TERM 给占用 ${port} 的进程 ${pid}" - fi - done - sleep 1 - for pid in $pids; do - [ -n "$pid" ] || continue - if kill -0 "$pid" 2>/dev/null; then - kill -KILL "$pid" 2>/dev/null || true - log "已强制 KILL 占用 ${port} 的进程 ${pid}" - fi - done - done -} + free_octop_ports diff --git a/scripts/build-fpk.sh b/scripts/build-fpk.sh index 65ca03ff..6712f93f 100644 --- a/scripts/build-fpk.sh +++ b/scripts/build-fpk.sh @@ -86,6 +86,12 @@ build_one() { # 复制整个包目录(manifest / cmd / config / wizard / app / ICON* / LICENSE) cp -r "$PKG/." "$BUILD/" + # 注入共享函数库(find_python312 / fix_ownership_and_perms / free_octop_ports), + # 仓库单一来源 scripts/fnos/common.sh,cmd/bin 脚本统一 source cmd/common.sh。 + if [ -f "$ROOT/scripts/fnos/common.sh" ]; then + cp "$ROOT/scripts/fnos/common.sh" "$BUILD/cmd/common.sh" + fi + # 注入版本号到 manifest(manifest 为 key=value 无空格格式) sed -i.bak "s/^version=.*/version=$VER/" "$BUILD/manifest" && rm -f "$BUILD/manifest.bak" diff --git a/scripts/fnos/common.sh b/scripts/fnos/common.sh new file mode 100644 index 00000000..b7749829 --- /dev/null +++ b/scripts/fnos/common.sh @@ -0,0 +1,126 @@ +#!/bin/bash +# +# Octop FnOS 打包共享函数库。 +# 仓库唯一来源:scripts/fnos/common.sh +# 打包时由 scripts/build-fpk.sh 注入到包内 cmd/common.sh; +# fnos/ 与 fnos-native/ 的 cmd 脚本及 app/bin 脚本统一 source 本文件, +# 避免 find_python312 / fix_ownership_and_perms / free_octop_ports 重复维护。 +# +set -u + +# --------------------------------------------------------------------------- +# 释放 Octop 端口(8088=Docker 版,8089=本地版)并清理本应用残留进程。 +# 仅清理:(1) 占用 Octop 端口的进程;(2) 本安装目录(TRIM_APPDEST)下的 +# octop 服务进程。不使用宽泛的 `pgrep -f octop`,避免误杀其它用户/其它 +# 安装路径下的同名进程。 +# --------------------------------------------------------------------------- +free_octop_ports() { + local port pid pids pat appdir + for port in 8088 8089; do + pids="$(ss -ltnp 2>/dev/null | grep -E "[:.]${port}([[:space:]]|$)" | sed -n 's/.*pid=\([0-9]*\).*/\1/p' | sort -u)" || true + if [ -z "$pids" ] && command -v fuser >/dev/null 2>&1; then + pids="$(fuser "${port}/tcp" 2>/dev/null | tr -cs '[:digit:]' ' ')" || true + fi + if [ -z "$pids" ] && command -v lsof >/dev/null 2>&1; then + pids="$(lsof -ti tcp:"$port" 2>/dev/null)" || true + fi + for pid in $pids; do + [ -n "$pid" ] || continue + if kill -TERM "$pid" 2>/dev/null; then + echo "[octop] 已发送 TERM 给占用 ${port} 的进程 ${pid}" > "${TRIM_TEMP_LOGFILE:-/dev/null}" 2>/dev/null || true + fi + done + sleep 1 + for pid in $pids; do + [ -n "$pid" ] || continue + if kill -0 "$pid" 2>/dev/null; then + kill -KILL "$pid" 2>/dev/null || true + echo "[octop] 已强制 KILL 占用 ${port} 的进程 ${pid}" > "${TRIM_TEMP_LOGFILE:-/dev/null}" 2>/dev/null || true + fi + done + done + + # 兜底:只按本安装目录精确匹配,防止误杀其它实例。 + appdir="${TRIM_APPDEST:-/var/apps/octop-native}" + for pat in "$appdir/bin/octop" "$appdir/app/bin/octop"; do + pids="$(pgrep -f -- "$pat" 2>/dev/null | tr '\n' ' ')" || true + [ -z "$pids" ] && continue + echo "[octop] 发现本应用残留服务进程($pat): $pids,准备清理" > "${TRIM_TEMP_LOGFILE:-/dev/null}" 2>&1 || true + for pid in $pids; do + kill -TERM "$pid" 2>/dev/null || true + done + sleep 1 + for pid in $pids; do + if kill -0 "$pid" 2>/dev/null; then + kill -KILL "$pid" 2>/dev/null || true + echo "[octop] 已强制 KILL 残留服务进程 ${pid}" > "${TRIM_TEMP_LOGFILE:-/dev/null}" 2>&1 || true + fi + done + done +} + +# --------------------------------------------------------------------------- +# 修正数据目录与 .env 的属主/权限。 +# install_callback/config_callback 以 root 写 .env,若不 chown 给运行用户, +# 服务(octop-native)启动时 `. "$PKGVAR/.env"` 会 Permission denied。 +# 若目录曾带 ACL,单纯 chmod 会把 mask 压成 ---,需 setfacl -b 清除。 +# --------------------------------------------------------------------------- +fix_ownership_and_perms() { + local pkgvar="$1" envfile="$2" + local octop_user="octop-native" + id "$octop_user" >/dev/null 2>&1 || { + echo "[octop] 警告:${octop_user} 账户不存在,跳过数据目录 chown(服务将回退以 root 运行)" > "${TRIM_TEMP_LOGFILE:-/dev/null}" 2>&1 || true + return 0 + } + + # 1) 应用数据目录与 .env 改属主为运行用户 + chown -R "$octop_user:$octop_user" "$pkgvar" 2>/dev/null || true + chmod 700 "$pkgvar" 2>/dev/null || true + [ -f "$envfile" ] && chmod 600 "$envfile" 2>/dev/null || true + + # 2) 清除 ACL,避免 chmod 把 mask 压成 --- 导致仍读不到 + if command -v setfacl >/dev/null 2>&1; then + setfacl -b "$pkgvar" 2>/dev/null || true + [ -f "$envfile" ] && setfacl -b "$envfile" 2>/dev/null || true + fi + + # 3) 共享数据目录(@appshare):确保属主正确且可进入 + if [ -n "${TRIM_DATA_SHARE_PATHS:-}" ]; then + local ds="${TRIM_DATA_SHARE_PATHS%%:*}" + chown -R "$octop_user:$octop_user" "$ds" 2>/dev/null || true + local share_root="$ds" + while [ "$share_root" != "/" ] && [ "$(basename "$(dirname "$share_root")")" != "@appshare" ]; do + share_root="$(dirname "$share_root")" + done + chown "$octop_user:$octop_user" "$share_root" 2>/dev/null || true + chmod 755 "$share_root" 2>/dev/null || true + if command -v setfacl >/dev/null 2>&1; then + setfacl -b "$share_root" 2>/dev/null || true + setfacl -b "$ds" 2>/dev/null || true + fi + fi + + echo "[octop] 已修正数据目录/.env 属主与权限(${octop_user}:${octop_user})" > "${TRIM_TEMP_LOGFILE:-/dev/null}" 2>&1 || true +} + +# --------------------------------------------------------------------------- +# 查找飞牛系统上的 Python 3.12(应用商店提供)。 +# --------------------------------------------------------------------------- +find_python312() { + local cand py + for cand in \ + /var/apps/python312/target/bin/python3.12 \ + /usr/local/bin/python3.12 \ + /var/apps/python3.12/bin/python3.12 \ + python3.12 + do + if command -v "$cand" >/dev/null 2>&1; then + py="$(command -v "$cand")" + if "$py" -c 'import sys; assert sys.version_info[:2] == (3,12)' >/dev/null 2>&1; then + printf '%s' "$py" + return 0 + fi + fi + done + return 1 +} From 92969766a9ff4a0d9d993785570aaa79a5784bb3 Mon Sep 17 00:00:00 2001 From: veenyi Date: Tue, 25 Aug 2026 13:01:44 +0800 Subject: [PATCH 5/5] =?UTF-8?q?feat(fnos):=20transparent=20app=20icons=20(?= =?UTF-8?q?512/256/64)=20=E2=80=94=20remove=20white=20background=20for=20d?= =?UTF-8?q?ark/light=20themes?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- fnos-native/ICON.PNG | Bin 41660 -> 58193 bytes fnos-native/ICON_256.PNG | Bin 14596 -> 20936 bytes fnos-native/app/ui/images/icon_256.png | Bin 14596 -> 20936 bytes fnos-native/app/ui/images/icon_64.png | Bin 2656 -> 3545 bytes fnos/ICON.PNG | Bin 41660 -> 58193 bytes fnos/ICON_256.PNG | Bin 14596 -> 20936 bytes fnos/app/ui/images/icon_256.png | Bin 14596 -> 20936 bytes fnos/app/ui/images/icon_64.png | Bin 2656 -> 3545 bytes 8 files changed, 0 insertions(+), 0 deletions(-) diff --git a/fnos-native/ICON.PNG b/fnos-native/ICON.PNG index c0e2e50c4763bd56498fc30c8b1589d7cc2e31c0..cc5ca51d828f2c733956c2551744fdcd3139c36b 100644 GIT binary patch literal 58193 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
cV_W>l35UH<8XE3Fr$yN3%EKo=5c#n$T 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%0A{Es`mCfRcDz;^SnB{#0}G2f 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 diff --git a/fnos-native/ICON_256.PNG b/fnos-native/ICON_256.PNG index 2846daa5225fe4b0cd42a67d25c2a6975eaf7bc4..4c85d8c9e6ed70f12743468668466e93662fa458 100644 GIT binary patch literal 20936 zcmcdyV|OLK*S)>Bc009g+qNz=t6aMLued!D3^J}>IYihI6 zU8BlQI@Lt_3f&!^V;BpXgDXYoBxHz~7#w<oLPkeVcTX1b~4F5ds#3AR;2$$PgLG zH878$KhwDXYuCK>CsoJntC!XL+NwLX)4lmFXSVlTcdM~=ir;)DoBNm-8V36R#j?2! zQiPF3SUh>a0;|DGn#vf3g@lBNL@@v(Sj;1HW6EV7`~>kseK>ts#v&avvsgv-$q1`6 zNKL}jp|(D}VR>>qscT$A4KV+CuNv=fbOM`hw;aq=93dxJsWR-P#|VAIsR=gP%_V| zJx_dl>#)s-q?>HK`)9H;GF1qRbLd*ixVX6PAtL?xWYYOe7N+8d23o0mUJV3`q>l)$ z8!*I4rdnpg!iJ9jj2w?vwz0$Aey~M~Y{9Y>_G+chipl>FI<+uSD!-t>FpX|9$uiUI zUrnulEix=Kc@iTQl=Ss+qlZc6R+H#x(b4}47Q!Q!Ru?HSuvS%FBxpnAYAG&mV&UX$ zU2T*LMuu7Wb6LSIzZjq)q>NTmSm;DlvXn%obqU?X*?h6lx+1WAw$W<;-)vg4y|PvR z^~#?=wk0>)N;2&7_o-TT3Ir?CL@BIX9%vy` z(?jGCm=9|4fxWnHZ(KL`X5qZXprD`wj#ZrK;X(!6hpG$C2$e~@U?o{qRpXpR$dVG% z|NMFd=OMk%o|d#rE&GaYJ@~Xe#fJ^7ltoibo4dQa8%j*|jWuvnG(3HKeAfR!>Rg!1 zbnDgC{hNuf0&Y`N%Tnt-M}mom`oDGl{I}WSgD}c4>_HwY23b4Tv-Gs*8@*KsnQl

eD9w>;bNXy)l1uZ3Z;X8s0#>pvd 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

eD9w>;bNXy)l1uZ3Z;X8s0#>pvd zv~m1PE&JRU#;vVj+@;6q$;rXJ-jg-S%Be&}7y!N@cI#yuXmB9iV<5o{w^O;Tqw(8r zX$sfVSZ=6AaFM6I#RA~!W^`Z!u@ec8OKD?eVKbr;9NT@;n~#9p)Psu1;SMyq<37lg zPB)I~R0WI}HewQ(e6WN7Zv<9W2F*rysDK54Oy=^1|LE1FWnB!wB0IpPZ=L@6^GDp- z>BH|p1rDI0p@H=D>LaEJ2DB5Cm4$n>?7=%&Cl+GEXrPmg0R#U96T{qCE*lO2h^zfX zL8aSOXBx>iV11?rKsUVHO){pry0|bY0gbSTb}{qc*L;LPUtMfF^HE zK%f>_-YnF7e5y6NkP}~XK)^;{qs2fJe1^r!^MZH_q;#S6!sHlo`s)Mg}4gA)*|Iu+C1m%cz&n_V%%w z(>@`K3QHV}eSa{{!tU-IOM>a}O&;($SALoh{l1z$$KzJse@hlAMS`Z;*KA-H2LepD z8XZQN8bC(67=UqtZLkP>+!!=>7fpAc_9aS@QCJnhw4oEkOBOCUx$-!aDpC_AnD&h| z!wN03#pi?naG-V3ZO!MyakAyPd4Va5`qxQo;F=>qr^RL-?hYH297x+QasRSZpPmW{}{1{hG;PFX}K)Ceba#~b_vG4O-wwLCOVJsbU4 zJn-0rahIzZQFTQze?<<2dY}T)hl7LTHe%FZ7ajZr$t99oJ+!ycA9BCMIx~j9Raa@> zRP$ewMT`L#1CIDA6G{^KP#2ETjetit{A(8%nRH@%U2jh~ZK54d)Ir%1pQv7iUcN?t zem-E-Xr9Tb2nbj-Uo4g1;Nj)5u(1@5s^@%Ke&ph3tBUUw}>2Ses8^cr4M zsqgghdAm)PH>_pO%zdNbN>Bp>Ij7r{2FpxGO0au^flLS?F4)A8g&N)5f(vl4E>-sW zVd3!o^ncV42<vO*JbagKg!h(bkmWhSz zWuerCZm7jO_!$_fsfk|&^4Kbis}I~)^q+xRoy&|hTC~r)t%ecqgOGwzr(NO4aCrBx zB*mm?K$OtH{=FGW;$pqfLntL{IFTIU5S%lVJFAm-jHoMq(W>y?c~ASm_V1T`k_uY3*#6jWi|AD59Tq^$C-Ctup%lmqFOm1 z{*ASmsML9{^(a=85x0n@h~mmmTd^OC;th#Kb2Z-{rs-^E@P2o(oE+RM(aBem@F*PHw2$SD2OPLh z6l_S5S^hx?{18+_2<1W|5p0ok;(>HImAq4BL}wuf(~zbYPRT?f2WVg{OCc8N0F}{3 zt8$YsuFBC&VqR_KdWZ{1*L&gwsx=O`_3BGJkAJiV=$%fqfhfKwcEQc`&cD-OENQYi zB<(p?f&pNlr@uVD_2>Zz3bkm0HS+s$q=&w#sYxG3Rel~7!hPFcbj6#e^n9&LEv-kL zw9qqY$4?|xqR5#rtfr7e>HtoAk*2VgR76oV6gL}*Hr)fT7Tm89=eIiNUmKlPUZ>yZ z*gZYnue&Z=YTSK4ZvSkMCicZ$Zpd?~|5rSuB$0293=N(x`RJj`3(f>jnu^dZpdrA7 z29}(qqOk0-wdzRf$82(weTPmPo-avw7-U9*5vr$|#8)|yPUv_}->xy+ggPjlD*nOq zv-+j|$6Qlkc>@?a8^;ow&Du{^|K0r5-B4Cg@3uOxuOU;t;e4TZ;1Hup;^QI3E?qQe ztc^A3!2yqn4Zt;#kC09;()+o7sQ>A(bYe~zEw=oh;O7JK+o4P{%6}|ms@SxdF%e<( zaHaH0>cDNv$-kmdZF*to6ZJBuE!vCEE0UkjD}U&7&*wRM1kOvpHP%}hxkz6>Y1dTq zN7xP4NZ@6LnN|A6o|v`}SX3mS@e1{vY!b21I?k z5c%CUGA*3I4UCn!0#SZ^{7d?=8c~4mioC}fi!C(r1}9z7%&r2YLQ+P2#Zu)^F%dE#s4D8_G zz=K?RLeobeo$IFUI_vRL_UV_?X;`%0`>5g+1YDuqof1qHO=*hviY^!yK|q4BT1!MF zZdDJw{=?B`ryv#0`crq^FQ&%&wscHewSySkuv%d<)CLnRH~W7V|Ls2I(eZIvGY``T zL&I@5!pIybnL_tA8J%{U&hxW*PhCeTEt2wTX_CNhWGYCROu3R~XrEO_r>Mt$hu)*h z@Veul7G z4=R<^A**b&?g4A3NQz6dtnV&;qE7p_EIg4$hWLE#A*p>r!MQiY~Lj zHLtmIBy8q^`;qCL?@yb-Rbv0U1{-mC-TtKOV%M7-^#uI{>ce7-#{ zisTejOG8~f{s}Z(hXs09R#hD+&T?7XPLm=jvORN%_4kv@eHn+C5|enE81MAlaKmA4 z@|pMLv#0rA-pP2(7=`T~$Ut31p7l}2{6J3f=quoADwX(jnaGHy)$_EZ8X6q*P>23@ z1cu<#3ecLJl`snE-_I^A@b7e=Rqio~0%mo0R~G}RT^(I_=Zhqf?%zMVxK3_0feMg2 z`Da##!I5PQl^ORVVw3qi;GGe-UohDWVw$E&GLOCd1YRP_oSRO6)JXT*t4P#$%XeM8 zHd<_>4~~wGNn6#S82(vsMAv=;5IPRdzxU4RbuqH6wlVAh3LIeG}kTq6+K=RC|Mz@z#<7MG^5HwD=OIpN1YkA>3tmFQ1>Sq0ydM7uEX+L zG|je`b(>{Fc}Ro9QwajRp(rJR^nF2^o>=_hL2Z`fUZ}6!qF7QoK9^M+5B`gX9RZ%- z?j<3UL;hX=k~8Mh_X=+^U6c#78A|RKd>;!+h?0&Xf5CTm`E21Lh2j&a4vhn zshwPww~;h57WehlhN5l#MiVt-QPH2NrZ!p_P3+DCdWLNP|3NPu>b@3_{^VNMNN1rb zit6KI-pB}fn7{?(HD^}-LO|T`K9cjCJ|Vl;&3|y19}^b#aL=%N;ioK}jYvvCtR9E- z3M8u#c6TD}Qqpc7-+%uL#nbyshw7Il5qpd*6*Z#0euC6;?ep|j_|Y*iy+LygFK!jw zXpW?85?MK9l&(xOPLX6ngx^q3rt_16BAE>GJR<~~ym1`b@F%23kr;I<9T^H5F_*|_ zT=e$C!H!?Y@7fvgo!N0Eme?V5fKv@{Y<6}w(X{PL{!d+?1upR3hyGJIWW7ROm* zwdE??Z+jM=ij*|V3}vy$A&UI-zlXd(<*!g}@EGBN@58S{Mbd&{WQFC~TgOCdK`gM6 zFFD@ev@=C0zZ-MAENL1^I{(ASj=|@BS_;kc>-yc?{CLx} z>lS=`aFCDrhE)Aup0|YYkmzrjmpz<7<%kS4i~c}-JoU+_(t-j~N*so}#u%d?mAVVI|!=H8DjB@4g5FEp!FZRGdR_{-763|JR3m&hRUL8zbc= zRv6@bxt{pxkm6O3_m`=^_s75^E~i8r>Pe_4{*>QrtNo6hkLjDZ_*Dsb^yxgQtxy}+ z595dPMTO20PH&Fp`eNB76=e>gqy+H{J7!%Clsi&?g1X%wCp&^d4DDFH=ZTUMY^}}V z)Gn!s(C6^r52dB0tJ~e)KO&W~(^ZxGXh=#*N@VQSK$%+4;ht?NGThf<$p z|6|lRlAbS*3IZ!;#R!s;tc6~%M5TPUz}r&{?cQ!s`OA)i7Z_$s#xNI`;2hZM?V$vF zbNcX75lu!co%%uRWJdM2qV|GB?6SSt&N;yM?uscVcvu<;vY&l@en&TU zc4idT_n8TY6H=S`ggo`g!z)m{e9bZ6rHgZ*T;31^B46cpAW17j!;}bhw3KAaKE1N7 zE7>a$3VuzL34U3qv7wIhXx9{hjrnnufXx5hKXLfH9N~j|qNSkVjL|`Peu9U6g-_uQ zn+j@_W^?ZM0P6r{U87RiP`>}1XKsB9y$HUQQuRF@7e{7W=(U%IDR4w%a2v-(jIFz_ z^nQhx2{x43I*pQ`d>yMgA6NUr7F<973v1kC2>oYb0zq~H-R-A5Z1w~@cEr;0NVGQo z{V;7SpMI3>HA$hIt~vKG*PM0wK}cvHLjsQCnVL!e2`z{aZ7QwIza)~@jZII!i~pNI z=JvfNpqYFSh3f5O;jHf;(6sX-QVdZSf7K7{_?Q3SXYlv!+3Qagc@gelS0n(b1az~7 zT$(R8PGz|eZZD7XEj^)+!(L@a2S6#C5;ggv-44Jx6F=uU`ph-tr+_@&b7b}wjhXj- zGT+#!IHI<)d3&GLbN~Ju!{0Hu$vGT0R7_s1u(8^z%VWGjTV}l5vlTOo4bLGd$RLN+ zjj{zMf##-S$5X8cjXbgX7oK^grNn=YEIV-aGoQ-d*0iopLSDG_w#_MNY1TP=GYTo> zV;wFAky5{yr?~E`8{t-J-y8m5FSQ%jP|69&{dEOc#*C@`Sr4jMBVYCPlk6NOJ-BVfqo~;)-puvvVvwr!iP^f47_4XBJ8g6Uz1O&d-2>Ku)>( zi_;bnEFj<`O7QK|Jmdo21%Zn9=h7n-E(xBKv+Evw zHywVPw88C3D7tbnMsA{Z+4@jppz@9k+XzyZyD%0G<>M_R&_X8TMICJX)8~*6=BK zxdy;ktk71z(yupvjwY55E4K4@2l(?=qEzue`X6@`-VT zGF2pATL>_Ro;dj&j?UVVJh`PDiSc~hNYnFrZ2q*qitYMrQBzq_3VWck*!Gy}SMJC7 zyF`#V_;kX%?{;%G=$`%*Tp=WYkj}Q!yYp9g%-G)jFZc_Z;lc%g&scgvFl`L(`~GNC zkmr_&5{%Ztnr?ImDjbk@2RrL_K|hH z?ej?OJ2?Ygt8JRt!V&2}?tnHJG*lahg2Bj#p^pShB=9pT{yj(0VV7J7CZBAV%bPz; zvGal3$H)pwOe+G%faJ%*>3uWb*C}QEj80Q|=#x>uBE;Mt^%hJ(v`Ao$9sizN!%Uw3 zQ!_UEcP?ixiILg*L%2*Ii|~4`a?#3HNB(ZusK5KQl_ujOa5QZokfm;$Fb%?6#8F;&?M0icEW((&1HSUm0Z+U-MT*>S9 z-FV5dUcPYP0eBY#jIS`YZzwo&d5ii*2 z#N5GFHtl;}YbNgnUgqqL@YI-|Ob<#R_9Ug!&EL2<1-HE&Rqx%Ex9qeAoHl=CgDJ(xMKZaLR+QCc z>vft=Je5j_5+4*J`vqQr;&_#}EWx-$0}gu0H(ohQ3mctM3T9(Q3W?>HKO#!?0mRgy z+RV)d70|BaU}W4C1BLXy$9QzpFhYu<>F*o4%UPSnMqCD^_VU|9!_8{ zIbL8B@wBh20ZVlF_4TegD5$qligGwfLxOD@MZb?`s=A!TqW(HKn&EA$G@KCj?o5QT z;fB|EZXgKw(W~L}+34WwD|hE5to^hzpV6`LZO}<5AN#QH?{bJp78Gz%AxMBVxB;IUNp+ z1WADs8R{u?C=c(TA%2M8`O{_pNNH&dds~r-+tsF}T<=ZQRV?TqWStnIv0~RIoXMHi z^V$M~hLyqeDL=-ZMCQERcI*GT-rf5;9?77VS_9AmnxA{BvA4!*bzA_^VqFg33G2-l z%6_~aLzkzZf*;T!1BO7}7i>G=#1YANaQ%WaJkW2-wpW0c+!UPbY@!1b=z-V0Z0G{5 z!^7*|#qF;bMS|CRL1MmDOJ0Y~nb%(Z9Zu9DOLh=s?hGiluW}HTg)C$s1_C~Ww}Ni* zNXg>9(Dgj`+i3bse75Ily;M$~{T~h+Kbn?}2#@f5qA`;vn(HBBrWq8d<)s6-o2tP| zWbEGbe}8Kh1m6=(=k~l)D-}3Z;Wv4|?Old6bkz?8Q-Ts)KaH{_--R}9 ztPfI=I=J5mni&^5;95k2F8Uo?Cu;=!s~jMchDvZ|#{?V+T3cJMxVyRCxfme3Qlb9!Kkmk> zMOxSb3qG~SR&KA9>C{kX*lscuor1}B1nmm+&w{;zT0QuVdzb3Wl7F@8P-w>8qY%(d zbFzO6w!14(fhD0K+NgSQ8+PBEejph3-^D8mZn2*~jGN2R({*q++3RG)G^05^D zD2%qV%sEjwLEp42VoI3HheY59UjD-ogI1&YU<};0EVzziqap)^ZY1xF`!Or_jKHp_ zLrd^I$Lnfwf!>POBC$lok35Pz)>qbs;xBoW20E>o@!Q4qnj=NVu9L(Db&+O#aK&%@ zpTR%(ree|Zi&c)QBy8=MUbEx!akNAWJE!Uugq!qr9=uW)5rM|{d$)B-24)qSlyr_I z>u7;{ldWU@XEN*OOVY2}9^U<4V+w zUC(M90#jx`Ru7F8Cj2`Rg=!zu2n$jXDvWKNwM=1Ju(Robf)y)fLQLAan{7hw2Q>e3 z48Q3YZXV-00^{KL#iJlvI={yD=DcA~!hWadnW~6^`T+p8{-;&F-RVG52;YB_^|<}~ zeLR4wy#$OtVvLallt`s?;`{^y@bjn6aI$Cd1sez~FnB{OWW4pqM96^e$%_AWN6z|8 zHrpJFqTygYl7C7Xhng1jAf&HkahrUoHPfd;J%jfU<(pmM+U+9kCxNjowt3D)w0>zh0Wb#{11zK{wiWfup?D?RVS)xISNr;B_5Ng}=c!WF}6UzT)#5%bo z5cCrVHdIbdZenqn079z2$WH5|XN%XLRqx5C z8G1303H?0enk>jWDUpv&%Eq}Ggm$dhM29b4q{|9WuMicky4M@fg9#4!}X*8z7r&h!{zl1U}T68W#3k;=Qy{;GVJV{mNQdpOm(gpK1zA*KKl1OEr4ij0OEihWn9%<|fIIpv%YMeAGx#IpN_uBv zAXIY!D#q`{*ckpU{V{tMmC>bfV|Qeh#e9`G{gPxwNoToz^YSJ!qedVdxinvpV`w(? z_o4F#2W!F)mh2Zf7#In(jE;h;SI>!H`x(!RMbpXk*W4#LMDr9DcmuIBuE%Aa-mpga z)i@9qk4yRT_Waehivia6;PHRvIj*o;%@o^@WwOM;S0Fnz4i_{#2Igg$m{>enLHbyt zA|Ml#JDD>p@IDqh7$!KyVOyMDu4_V9!3r7=ve$u0QAx(;$>B6S0r_89c)#R$-s31k z?xw^*alHbvp&y~q`P^2+Syzcol3#a7Vf)zN?W{j-@NL1%1CiI~)%NcIYNUm5+qe)`}olauI*2sAx-(Rb;SVvnCXb%8N`$T2p?Q z%&|&mO6sB@^xiyC-ak7TDbBxNLyhk4bUT+Zce=g%>(!O}b5vl5T8-Rd$Xa5K0_#_T z2Nfxjo-$1NIx7l@^Vc!dF}nA)LR(rmMAi5$V?D=@xBz@k2V=L$-#hJIYQ?fgi=qVm z@80%^1LirW$5kr)>%dzw;uz1^foHdCFG4j9Qma#;Wn_Pzig^#ji{1h!q={*9`{}Ij z)$KPgxM=ESyFIEQe($Gr&#x|@e?e%Q*gv+Ci4vmHK7j1HNnt?90fiLxbCYQ&tXDkG zCE?hFR)WOFGD*`DC+e`b!>%`uJrcc zB9`TPv4I;rRgOQz@b{G4RSC|7EOT&lgP6&PoIeqy~l~s@7Cl+x!z@q{k~UBh@Kh5+&gWO2djQ zv&Gu(NL*9Xep=i-+jk$q%4t&PY1 ztl-T?`p4<3h9hAqflmo3>vGCZ7A9IO1(D$ovSobc^aEE4&v|@~Rbyc6`VSmVin1ZA z%gYn~>29E$$jLQ*;FpRkX>PI240&Rm#@zSy0w!QX)Z1tepDp%oi0QsQ?w8q<6}-(W z3%57yUi2Uh@oth)=`Jjf}KN_yA#0 z=+e-#;HOKl@02;E0(XZKc^{vHp86toB4^Ek?X{lWFGYvvTm;zc-YklP_KiJg% zL{!Ltzx#|(S}%9`Y%u!2F7+Gn1zaIaL~VKQiI;u(oHeC28I&Vi!ZwhN*PDcDr;E{R z75+@6ha=6QX_Sr};))NT%SZ^2Beziz!Gfoj#~N3my}0$_@AZ0^*V+EK8RWsHI*b#- z{^uro7dBj+#u5t1umzR=I_dS|`qiYvv~t zsJ|q)3fl$l)M3ZQ8rq8n+ou#}<5EHeD(RK|)RakQ6#KN@j{0Krn1lFz)pg%oWj@c5CthS#RnI4Wb86gdhG8`N05hM7G+ygs;ig~!aj*YC6VeKbaE zCk|I`Hod{zQ#3G`% zh#ibqz}Qy`Vg5guMbL0ytjE+eRDv$mOdXAPViI$O6&P-d`&EICKC=ISRLY_HpRm)f z0Djg0`e=Z);)=+Ap4kG=Vhm$LIvqNCMZ;TIpIXObmHjWjSD}+fLkh5|SHsV@*O{8? z52P3>W#k1Z7N%6@{zk)jP4_g|wYY%q_p{;F%nlTG6lQX%An?&-aJX-jch;{zU%DcF zKSLjr#K>YygCgOx$fT37L()_xZ!EQ?<5qC<76oJEcv*V?se7b^{S1{`y5g}p#k=(C z6qV7iv*ob43$VTjxAtX9Arudx<;Wo&6S8OXy5jtK{CT^;pqwBL26yj{wmMs>1hFRe zJJ;W12wf)tznjS?=%beQJq$3(+=Zztf{W@|f6>uKjijT``pNvlR8X;)@sAr$_Stjb zzlHds5KHpSY%S(T-uzuw5IFisXqkq1i;*vppo1=ip(P01Dx|$^(V@s2Ea)sI{^F1P z0obL2m#mOtG0MqdTW?#D@>A6NM>w6EPFImj$-a)%V)W!Be+~KCi}d!04PuyWn@ayTdb~hS;^bl;(k{YO_+}pV2}9_DY4-!BanhhEN!Oo zFPC}Hqg=VspdY5+KyA2oF4)iQvi-qca`5T`kt|mt&0@G3x@UyaUC|F7bI!=if%z9Hf zz(ngdlq7Kk1q9{idbDPa6i6?*UO~&$RKWMNI-R!tEBJcV$ZkDM8x7bu) zV#c|#@8YB$k!rey@Kb{`?;XZ@0?8@dUFDF7vQF@nOC|!wFIY%VZ&5wQ{npiOcV;^k z<9u(uX2n_*(po~2NQPO-=l&~IBnL3a7Pu8Yi-#BU@sM01yP;=q{oY<^N%IFGeWnOa z$_OTex!>IZP6V0t*gUb=`BBshTZq-E;2eqhL`Fq2u{R#Yy*_Z_?e`oIF1 zpP!uTdc`iT8$VmcGP0ZWQupEX3BQ||mJwtIxloBG`oMZLx^lmtuev;^k(>6XDuNkz zd)DfvJUtdi>Z;iPWJ+M)8p(Bm|AXZxwXof@r_#~?BO!;j;u_h)aKVzs8D=RXR^1y6XTez&7Y?k1D3~2X-(F*8zb7cU|$TKhsVDe7fjtXae=? zXXR2^JdSG0$@Tq5+UEO$>^+xoNR5XFQXI3Dt)=1j>n`EB-zcw=F{0hJhO;+S$MXtGg`iRQyZcg`^?6+b}(_Z&5I4t9Gw_}B(e@Q@$3+INIf3wK4aOG%v;~qyO96?n;1)roV_l>U(Q<<@iTs&8Msye zf*%){t5(+L*;9*JX(n%~BXU9MU7iyegrDk(y(_3zNSw`0Aw&&_7C@c84~VC$?9E@U zkClu%Iv23r;e}SRWczr9W&E4u4&p{TaNk_Q6vVs(I_^(Zb#<*ypY5*V4uixN^IZdYfXm!y0p0u;m!KAK2VG34b66dhZL%%xhPpenH zUf-0T2cUvsWw^(U{ZA(OdN9ekUn3qb9HL2{Qy~|9^2h(o7g=t~$sOPP5}`ts*i*#3 z7$+fFt`1fuwyYL(2VZZ76K444(1INP;=4O+KkkAVxF!x6J(V48=({C?PY}4E zsEQHcsn?MW4yxdOd1vE&vr7K@XZHe@JUfrIQu&k+_Ce4w$UpbeG>Am|uzeLVm6IWb zD1%5bWW0&H+=rEB?3|}N1Ok8i_edo?@~Nom;K>pm(y=oC+yDN-A)gD4sefuS3@uC3 zFaXwlH26B$<9RzA44=glP2kjE*@F0+kaq&Y2TGDe@S`>Uh20R_8<%JW*%XC^7a@W< zgX?w)CXeyuK{sMdY*6AZENNjCkRS#$v%O8DwVt3m+lWw-OM!?6p%L@F(wa?`&%C}Q zXWLnu28Z_1iI~LyYO`4jFt2-gQ$L+z4fj>oXjQ#?FQ|m(&E5&8g_Fs#%JK2f%8IuS zCV%zr@;m+tLV6DuA%^S$`TRpkU+`3v3%0*=u0I}{J_hQt9MUo|nd`!^ZrlT+2ls_h zBtV7}BK}@q?Yw$^=QTCiA`J3=Fp}do>rK>7Z`kJOq#;&`xMg7I;YCzG&&90U(e5WJ>LDx^nxzQE3ZlcJTQHG{*i`LQS zXE%r86x5JGP$rhByRP?Ev7nrQF$^r^zAKEgPlRW8geTjO4~|i88;}Vd!c|-SLC}2q z?VeILO|P-Dc7_j)aW4|ER0_Tg_P@Xp7?7B8c5A?jWpZ!TI@RgAs$@d1Q#z@s5Dx?} zQGw6St-%R?2hvRnvLOsUK7twIAq@zcUbJmmQsk7hHj9}STEV2|+1&v=)@wL1=UWhy zr*o1?$m{b|FMe0eQL3W>`5DyJM1G1tQOOW|TsBv5(hZ;@HGL<@!v3!vi z_tlZ+(z0SQ(xr}g{|U94>Pm(~PRHe@zcQL)EczEzU-g%9E-u8tC@5}ghBd3CJ!f>&)JYCA1&Qc7|#n!Zc+MxUo zHD)nDtFMfb)Sggh6+MLL4+(MklRL6e+21-{m~?6u@OjFb;LBTIqDU%X>=9aUN;QO* z!5C_nyp7hPEE-w@q#ZY%n>Z*!pEVQ;%BY)?4SWB^R%4C8y=T=(;sK&KFgl2rl-*<^ z$Z=k1RTx9;$;K|T$z=q-jr4HA;uXSOuu0I>V2LBZ<#6IZ>-F^w>=?nFoM*$Wu60`^ z>ZmhTdfFOQQsf^2^ucm^tyg#RYHE7OfL0!m=P$lFe@mP%%e8~|c zm(2rCg!0F@1OjnrE=-~juF_G=Exi{vP0anB21C@DFJqoOjD8Gq7+7W*VpWPBAyoZ4 z_gqO*Ycfs^vl`onj=xDepy3v0LBux~mlP(ed9DgY7H;V?)rh(Ta+seW8P05LJQkCP zR?@i{X|YBy>@gC#mih>i|$ddi>l$gg9fPa5;Zxy?j&D@baxi0gLi%_3; z>SVhW|73i4rMZ3^;bhoj1sPDUDj|>abDi5|&w;K$FP~T(BM=h z@4f(YbB<~72Qf<~5YBYHv@(Ha^Vw^drcF&y0#bIjB`>p*{*N{Drlyd(imKl0#zlp? z0A}OmCNT=*d2G=l$(S3xR>Q%;u_Yw@xEz{3Nfk8G|1K##rTG~$C~ph~(i(G(Y>Z+o z1^ur8J=~|98j^$8S}~W3$Vq662^T3Q5yXRRJnyL~@G2|@Um!H`KpUwub%=m}jM#($ z9{3Cf*X#0hmg{{`UHNGg9pJsj#;N?kG zahnP5rx6(uJxCx1@4_xYUz% z=0ze|b61eb+aNOz}fpij+*ugcS>Zr^SAURlaqz@tsqVpItvpWrfl)ohhQiFw^y6bm$4Z?ucj{%5o4=OAZcY&uB4N~`Q*R`1b;5xP7{vO}A2W*_U zunjp;&M74#GwGxXQtF49Mn(cFJA3=h7V}xXbRc-%(mblq!;{PIKRi5s6!gw z(nu^VB}G6mQHs+5eCWq%H$ytc&xpT8`g9!EwdEf-HIDlqw5jyxd|EJ~yCooT@2}#; zw<&6x_1drZZZ6VTKfY!yn>R+vT}n^bctxa`0%jDO9FBGyS7e| z(hVzKq~`7goQsPR@{3$BlJ9RSe6Gb51DokgcG}>6q9w`w0m%E?zSpO*xXWHIyT2j0 zk0r8$G`BB?UAgK3`9B~MIrYl?1@-p`1xrrCe$RBwW1cRp*Y>pN zCf0vP*t5FgIP~ge<@MJ-UQVs?vVw|f83J^Gh>H2f#H;hcFth^<-#wD5)xrc6q$u6?_TP|~zBQHzQt@9Q20RW^oNg2vO8_Fb+cYpxo# zns2JCIEO1KwG9S}06G6YdVjBz{!S-n!l3taY_5+t$wuoW=eZ+C3wwL>NXw}~Dl5vu z*>UZQ!q01-u&03Lw7k5!lQ073OJt!`PuFnpK0H-&>>91#6divret)yK6gpC6DI7k4~LmT!{JablrAeXM387I&S4U5#`H&#|Yhp-fZiIEod&65uOXu zQl&eO`fva7_+t(?+VlKcD6vYeqY}w|oGX8xN79G@gep{PnS&!6kthHr!~zH8@YxgF=Nsxy4o z!$%|Jye)R@Pep$kUoRK@%F9n80q~E+%#qm!Mq!0*P9R%AqeA81#7W3G3vvb@T}#)Jb+N`PKq$ z&uwmY`?rPii>8|~0xB!F-T-(GGn_H=`rCfik4W~P{h5LBpROc>Awfcga)XV3#aWmn za!qCD>!1+yUUH%)7%~3+JAO~4%=JKq73CR#9t1%>@Go(Q%`oajri;N zP9J2Hdg|^dV#eUKm`=V@;RstelP+-DM+L3APTr<*tR@D|xZmuos)hW3C9Zv#uKe{) zeSM6{p!-6oG1K$57w#YX3w)3%|9&#lk!+^;sq?4K%C*kTxFmh}Up?ouA%xQ% zeO*1R=E3K+AR`ez8U=Tk-2x%9;zdm<@zr=(SmomwxXdr&$zBhq%QwtccFwTp<(2#B zV1nt|68BAYu)IK_IZ-$MGFA$OsqW(-?A{F2leU@nqby$sq5!3Qkg%}g?llxAF0wfp z%{v}a_J^O{H09_uum483|KG)JO73kz?#6h@59zU?sgxpR>{!C^+WMGE&ZF5KXOZuj|ufl`%8XG5-thSr_uNzU!l@pk9klT!XKU zCUGU>CGkKw5Yxs)WK<@B9JEN+@u1Q)P}IZTTJjhOQQB}-^t@xweW2*_`^v$|>nw%3 zo%LNUp0M8beNKxsj6ZPurOb9)RF}UR^dD!x=23<#rPlx*duwm!?2u9)h99yEWg?{( z7#TU#DRj6=q(xpf^I^ulUY74~9W)_nX_ySZc@4?#mrYjd1USq7+W;_7*x|uJb*w}Y zAK|WnOhB1CNyyc^!*csRlCPB#Ee^1k*eA|Fpt*`U=^e*zNrIFUY%l zxmZOl%j!=xYP9}M#%E2PbK%$Law@j|LP&}w4&Q)OHRd%H^MmjQ<_N z$XvFFcy72ASL?+(9Zk{y1^&1?pb!vFs-DOkfuQa`NS44GcTuanq4Wi#b0CNPi1Hmz}Hk$lY$Z`3`dVgAhNI*1$}PCU}Nt1o)x#AHkwk% z&4U^H#0U4TQnbPnMMQu-`c5$^(?yYm{Q3ApFK+QD(_@Vyq7g?r@qfkK^;c8z8wc=> z9F4#T2`7TI#OSUeB@7Et6c9!zIz&1*MvEX5DG?L|L1Kh-jUFwGP#Teta)iXF@BE(c z|M0!%++Xj#=Xrkloaa98*IRKFu`Ho?=IAOCG{SAIpIwhjp7Ul3=q>_$B`h-@+Uk;) ze!Td3Eox9|?4svtM_tX_S(f^JJXCIxn_70}TF+WW_4t9#Ol@;QG&!ro0Ch@4S9UX` zZM);gimYXsXsBi^sC~oCH4%ql*#XOfN5z${XSJ3+0=ZS9#SR><MO4l9^V|l00?~dsm|-WG^g|vi)WHJM?f1kCJZ3vU^(~L&koh26(Wf)*wyk0 z(-@eD@60j0wZwuD-8~3xOm#8yfYr}4`yC(r!O?^Zmi!B>+!&pmoefa@x=JGBUjmhW zhc$b)HX!4*mxNZ;%sXZE9Ix?G{Y{wGa8ck21){1-#n6W-V!zF9apMzqUS;Da~o z;PX!EV!Q;>+UZqZ|Ckx?H`35sPP__qm39mwxf&H_*X*=rnl4?=TwiiJ;?;NIx_pJh z9`%4=`{+FgX0R>F5ih#{(0{LIsDUvS(l$SK>rIYsZYtULrk31yej}RdqC3;>vE$=B z&A@9(i|+8?r(z&3qr*Ppc2B**@WHs`Dkze63mz61uIT&Bmk{zIAl-SVkN_G1Bb=;F*>Uf3 z{zae3fKcb(@ZAAH3?VB#2htuFl}8jSvds1+4}?*Uies-wX@L(&0iT#$XRE;I`w=bt zu-8i5y5l6E01Muc#&muF+_#PcMSme2*(dRhNxWH_UE*97Mdf7GUto~9HAp%Q=}rC< zywW_UU5GN<<(*0j(y~+BvV?KJ0w|OMY$%I#Z`xZzHRqw!74fq+70yFr@82u!<)nAW z|^62WR}YBnl?s64qEbrfgk*;*Iz4_zxRIhK6U>R8s+TibkJa4Bq*}C;v12 zolqc2!v70A&>D0;-1?hD$11SOLPu?Dz?Ah|fhtb>ulqaA$`I5V5r*VNPH6Yh)Mq0S(W)!V@inoWGYnS#oT5 zHgsyt+`AxJUCReAWN_+ri|@rmyGcDeS>C`E-wSZR{s9B*)*EjuZ{q6T+FM&&%TZGc zZF$m%`5$*c30uU{t?Y==lsu@C^y(J7G}Me7aZjZkRBuQi*i@%|e0jN54`M=aFtT}c zH8z2dGjJ;>-OoJiC~y6;&s)n0hBxOCAM^4e$%^)@UYqQYiRaW9V6d?DwO;QYzRTuPy$VAuht!iyirkqUNc2Il)!GQ|>Fz-Fcw3 zJ@sPFKX@A}OZ9DCqZ3XuqQFw%OEXz{RZw*i879sZep$DR(L+^~ppMb2_8eGCh-LYk zdlu9Mvz{B9KCGy4E*$bezBDzoy3h`SW+)M%VgkX8Y@GukxS^UCqz`#WHeM28Gg0R( zv$C(pyyvY9=_nZM9=`onaMh;{&`ssq1q@W-ojN0RuGrU^VMZc@OyEZ4lt3=( z@=4%G`E3)ZBI@`x!ufK(L4jg5bB=k|&mfRw8lKxmwvi@B`R|vHD~*Y+QHBFdf(0-*|(5ohhslS{u;UY%GQceXqyHXf~28Y zCn#L{+0pL?Sl-)~a55(1&XK2kHpRc{YnIO(cgIWQ{aFDu-OH}(>>!)Wr29qGmT7X1 zHy``Vn^QA-=LpG}?SC4S#i}XA}TBj@hwIo-!Nk!Y=)=RlAqo4Za(B2W8iOvlQ zfR8mea4CPf)tBVtL(SBO83)6isoIC_e;3+lWiDN_^PHQw)_i!>bLIN0qXihxnc2~SW`~)_ zWdW7k3m>tc3ex0B4la#$KSGU3>w5P}_+b4JU89HjJB*LA!i306%Oxw-VDRQ~A9SdA zY5h%tR=V0@C7)`aI+il6fLUq&*kjLh1eUS&(d4QjTOO#;f2W{ z-*F3dpWo-f`#%n9u00g^PN&42D!uF?WZ_FQk;j|-Hil^pksqoKB+k~Ry)x2>Sh``EkElK zkv$jxDQ;)VPPZY4ViJf0o2 zRcFb%y|lNf;^BYZAe(k3`_+|4&ny-4)ki~r0p5#iHEyLjo{!mW`M7go^kA`V3&3S! zaZOKY40IzSf`HdsWn<#Dt29Y0jg>PCbL`=%a_ixVo#A{K()D_&VrQxe#XZdr($l-1 z$_msJO2j^G3iC5g2*)6&-3h$p)!f8MZGBL$2GYN|&Wg5unsY7L#r&N*dD_uHmT&UH z$(KfVsPMoIo7wVrces`l{w1_V(6EV(*^}j^N`yrN?eVCRQkeUlJ%kGa+<7JX&3JF` zzzb{KQD1{p3JxS~SFqTbOc zE1B^@gSku6OizDQh*}N0-Y_`D(x3eu2}LRvIa(B{8e(C zID!=SjO%@8nIIJpB#OE;$HrhqjL_m}C}go>;E zzE)9|h+_Z|rC)}X;*v#Tl#dTF1)`;?jY{tTGV%i|Vz?jZLUOK)X z3##ukkiqMT&wNx=)cbOq;)&}(MvwrL!y*4mSUaI)46X8X@@q+DB{WG$0y0nM(9m8~ zTDnhX&7hG==2Pcsxa^(16_nAz80=cD!7C8ZQ;77W{qlIl!<3$W+TK z9pv2NI)eUZOeo$OLsR4;+VA^*EQ0Ez#NpxDa0(-|TL0|7+Ks*ym%i=(uXa~EpfmCC zx-NuBs0P%=OQA9|1!UO~jG)>JNyZ&m#19Inv)G-OotB*~OQC%1Xk8A-RaI4ip%2kP zL^R8cTm+jge!u`=D)9n&4YiEEi~<3@7#KJGoNzWTmG7?F~ ziW{@u^CkCdwwR;aZC6;p?8ai5tT_9Y(0c_?F7KxSo;QeGX|$_@RP&~-%jQ~eHC>t3 zjz0o3n z#8X8n5>Z-yYq2y3Dqa#b#2s4kdk1G9a`r(FlVMI&SYKb?=LnbAd_6rqov9sSYI=jH z=xlp8BO~LYhK7No309;`pjS%rxR*m#D#}S-YrL$c*-AJfEgu2q;`+r62LDAniQ1;{ zA8gI=#~MAN@$KTZzPm3)|K1#Qm4XmWf3K~v#X9#W-YBZAEr95>eE3!&O}(1Ie{qff zQT;Pr9f>{;30YjRZj6<%iI=N5m&fDBkI?~k|2(o!gzR_kuFLdANDPvr$aF-xkI&O{ z#7$u^m|EUwxDz#HLMbC7^VG8#k$%_R*7j1itXT9tc5s&sWxa#iDcPzFtC=xb)7Utz zaDy`ocK`l;Gs=zEPDx2kP4(BzNYyvyt8xnoc|h&0oP2YwuV=W|w6E9v_+Iklyu%$67uVYyVXW}gR+{^z zvf`+U9%#LADT;N6=lTh2Q|NZNlxva(#4A8<>uy=P@>RHMJ(i$ z!$$2(nl+=!q{k1diji}M{9mi9s=wA$(L38>KQ#IU1i%Wr7l*|W@gs)~%zlhR@|1B9 zrC6Kmn%yDC`%1K!Ryj>dX&N&}Mk*8{zU_PP(z#CaQ|cX!fYE6KTrNgAiRfY3u?U-? z5}4fE`ArMEoE!qfl+uw+6fX`hWyYby{iD0$G~v!qd$|||r+jx2$?aZvlgg0|^`Ys8 zQ7f;6*F?Eoh*O43Tjm=CU#W)Uy67dQV}j?yApRxAad2iCM@(|Q`U zLG=eK%cNJ8@ct`P2wOeg#}QM<{88@bjF>sY-q4}pa300&Oa#niG+(2PMMR`;e zG$I@x90&*qqO6R>FAxyW|E8cIFkt@;izvdZARs(bvJ#@|p1D_ku(=o`PXUD6f~!P< z4DEXZl%AydILzuwbNauRBHt)SD_BRZlLP!&N69CcGo(_iO_Acl3rF{G9sfj<;oV|M zgwlWoM_=+vduT2HJXCf0czauB7_4RGZCBn{;duLa|MmI1TkU`ZIhp=3nL-_MQ@EkbZ~je&fT=CYW!&#E|r~i01nrg9fZ49@I*|J zLvV);2Fr`5jLb{q2H3X}f7IF)wkJB8ddd zLiMpp{~DT0ZSDBb6|e|752JQgs+~@oG3-7r{8fD_ImZ++FdVON($&2jd7(=0-Rrp( z@Vl@l-#+gZVGyN-qP#N*z6Ujvi0lVBw!M3=9U8E8Nw7TVZtVUi3O@Y~rP!b7waa;^8nKCx2RF z?uovUO2QD+lf=owEhN|P?F!uXPxdAJd=hC8PW9;J^#4K|?7Xjf5F(fYp3GKuW*6&zN7NK2)iO-s|LKJdO zKt_A~b6@k~c()Lf`PU&C9(WKAPBC%#ePC8xqSFP`(eZR!UGHQj2Q2m%9v-*>=u&W! z4cnM=z898(vxVK+FN8aZ=n7SX9s7E4bO{zyBr$ysgtOOAohZiu_&6fS6e2Tk$XY0j zev9$IO?yBi+Y69*b^A>Vp)Cj$Xk;YG{xPlUzHjukcd4PJYvng<{hKUSbWL3u5?m8h z9~)PSDTNh_$yB&w#rp)XcdQv;T<#kJ_5;pDv1IFK$-AF&nHg~)HZ z=Nk%mC*8ltdBE0O*aoWO3em~yaf{+V8+>_`!5NEJiJbtQ2u3p$j&jU%R$UkOa}L#9 z28qjxOL^0NH)9B07I_3A*4g`VvTB$o@FuZV`G@Ac7i?S)rdpKP_moN7Sm>UGA{CeQ z7D7xX9j}N*RcVQ{E#M37a~b|3J3I8kG|yt&2oogzi*~5OY~Em^K45$8UWlg~XSHr* zm$3h42<6~x{m-qkfAX3Kaj*G`Fs8_R_m;DZmOk#!UBaPDLKuVs6yA1A zBs8DT5W7_5`g#a5W&5tBVs@$BlwqdB9OihLo^>oA}9y7?(^Z;p= zu)qW)k92m9VLZG$Bdp}NhgRW#t8gHO%wiCmtNOOSH$D)kGB3-Z1x>+tk?Rau!vWn9 z(^-h$fpbWIRdpa$+=a`YIfXguKbb@^2HiLAD-(tH8a%-Szi|W)(7lOH;fecSyqf_X z^BwPWU~WXZ@APNLnH)LC@Uu?`V%}So6<`$*%0uHjk9rRQ0CAITt=*8x3z2F47cTy< zKeOk{MC372VG1N!XaAgkz#G|TS(8sWKvDKx%$30d+rm;PW|#|VOXGp!W#g_(**7j zpf5DJ+g~mzj~V&s$On|6Vu^CDfeVsL)or>DXdPtu_nJNZmY67%O)2fE0uSa6r}0N+ zS}WK^-?_2B)kaud-UlrQ7t{hddvzII<27Qrd6y4J`xXIU5~5(G;R!vX!j)K$ha6?r`KH+tSfY91^s* z@5ghjKa)mPLCq{CKkt8{^aYNq7n-ZjjM5QcI8BGvbG@?fK7yRQ9Qu&F;#Wzi(f*ni>WkE<*IFRURpwclO6OE5))=8b>1l$sT?nkV|FymHh;oI(vZXpqFVPiTt>iI5lrGj0>|$`hjP2@cKQ@A6HV3lq;|*F2;_9m{whf!r~+4 zA`xG9j5js{TNwLRecy5aoc(IK6I_@N8VF9#Wva4J>jW6!m_Uv6L(>Q?pgZfxgCGL} zbR?7`F|LjIo78$Kc?@CfbVdWxAH4w!v z@jm~~lcC6&lH;IpZ6W~-Y-SkN=NjK9t6^9!Uu6+qkn?3@@v}hl>N$E?F$c1F=TVzD z;23hCY@rVv38TEnmyhc^=_?S~c%)qpqo3VVxbeLj8m@-(=3_p5R!G)Wo>rI&bXJCB0k}zSOE1CUo zuwSBM6A8h+KBFqcA@AyFGeSFAege9kRbK-U(|V3^wT6_6S3BQ+WP%WK=i-GRCbleq z{ch+yURa(-SW4=Y{()OTVoePwCml?XPqD>P_#e|P01kS|O;$}Xkpx(o710T zV*o;iF3mcsG%j>KmJd?V870pzQJ7?fzoR#}Zo==>Z7+~K5$1DG7k6`YC3TCdQQt0D zP$6S(FZ_j13GE}q-Xxq>ZJeGguzb*3=jnm`wKb5V3bQlLW)}eG%8$>5^n%aSI3jwK zkabz7hFT9xCOH4A@i{{_1Y*KjariFED@uKiXY4tak?(Mn8XFo#s`)^Xi~}-2Grh|5 zsF5CX{cVNfJ6t9STyBu>bmlZSATFKBhUbMKSq5dKt$2D-D2R{q1fyte95pV(DBa)2 z>p0u?N|2gmNWuY$gOsJxrwTR+DDOWe;+qx=6^;V&8gnSrgApk{6rf!q#{^RW4P?M# zpB1VeZhcaAJ%ji&3p>&K+QjRaf42|afU~3p2Lj7T0L#t(0^$8N7l>WThfOZ7nv_1H zhlcz`DEtj!)U~wHv9l>(x{F)G>WH1xU^xtqB;{8YAzH{DX`H=)jI`nr;9x~A~A$IOOiKG|E3BJG#{qzOe>L6mi6Y);q^n!}Z z#?v|{^vu+aGn73JlKg!&4FXm)jop{p^Yr4^a!+{!+P)Y;Eb7ol+c&qf078$Tqb|H; z*YCx{Ri?e~e1xkgwj@N_0~}YQ25+D zCkc3Sqss#MQ!EUpi1TIOEdxM)%aDk2q%2LkVlWCK4nQNDNCVhIlmf0UAy5C}UnIlI z^q;R5m&^k!L1LYuNbjeN@EP?`IZ=UW%1+k&wxFG78I@gKK~}E6)n5?yx*}2D2Ln!r z5-K9aEtsX{eon9x^&G&?wA{ihOAB!CU{4mP=1j?{qG6i4eeZ%i~ zg)ZG7_mW5LrfGtB6_MpwcraXsRKQyuwzuO%5a^4W0b<)am6=hMg~H4l(W+G`Z@@lz z&Sf+%aB4o@VVy+T2x@L7TMb+3YF0v)fhNnC|1Uw2VgLLwK=OvcaR8tgB*=1Hg6kcZhx$_e3F&x#UMQvOQdjPt`&NEbv{=BK7akRyS&p8M-DJJZBhP19p{@p99-WFx;uf0V)sO_0cMKZP zf?#mV+00UphMg1H$UtMjqtJx#v8jM$D`WjC&{vTPk!6bDvg5dU!{6*mBXTqEpEBj< zZU!(!+ix&1EXtJe^lYOnp@fshinLY~N}vQIhIH0#?og>87(l9$IN<JH8TFdVBbF{u zuvJ*YKXC&V<60;KnZFRcJTWDM`Yqb+SknaoUzZg-U>MqK*JoDuZx4G~)$2smVh!~5 z<8k;2PL*y6k&hmYT*aj+@@7?s)o`LimP{jf9(78Tb3_E174o5IcT2)5diZPzJ+)c8 zA0Q5P5W-_WA{x0sJugwQ>U+cBui^v@5r15(eX>-Co3EWpO3;!dU@YE=zNdfg(3(mK zz2UFy3+Z?Y;Wt#2>d>%Fbd`bwCN@iK?3?h5@R;(XJ=Y|)NR%)`b8py33Wj&lHR>9) zCgI{%d%f$c_AHc6EyKGC&|-`9-~LJXzl~T<0+Aj?C;fuJO23~R$;{z=AVGGqtN_lk zrW@ZZe2*{s?RlXnhoN3sLkYp}6C?)%+$aBRskI9h&lab^8>kxqeFYQf=0_1eV2LrYRlPTKC|!1i0CUopZ- z;Dc5SD{wcZ4fY#c$GKvt#LPH%f{O5EtA|-cejCe)Vd|`bhbC`?(-zFeG@rGpaBwC8 z7cP;Z>flo<1tB6bVZ{C&J_oSX259f}6jauso&yd|R=jWF*ZRQ~!F zG6u2Hupx~GBS!pkz;PE3$q+w_YW+3R;1tG0n@RCrTwnJIS++2ySwoWLUf9FfE-~0^ zIlJ>gJ^QKerM#2?g1hIyKtx`if0@ln1Bho)jeveK2A~Z`rdA&{jANkU&c{Hz%|3_` z=cAsK^z&RuBLU(D9+Z5^B#;!3)Z2@0=&ue++3k_9!KHV;*TIP(Te}tWaKO$WX>t26N z?ikFi*3}M68pmc`amC5ZW+}R94GkJWA1?6dP!-JwVMH=Ay8GD{gjfM8^R{9_`M&wEh}Kapv`e?gGeRwA6qn)pN7??AYKNcoa9L27<+f;r@-Dh=&uE8ZMmGB!(b?N{r8jiRcX4MM1sUR{%3gs4w1B|8~^vv^%Q^Z&Oi)h_9C8q&0 zBnCQffm$Ot@pCubRDrT4fMW!=L`i=2@@gqr!Y;I zDci#tp()9icTmYfwwk1T3q+$=;3Ld6@Z%v(oaD62{4=fEh|7MTL06EHLRBn_zG>u> z*Y`pM+BrDR)~Fzk_E!`E{MP{jc(ss4?8sOgJ3bzr0IbL)G*G|hgSo=6b0{hCD|zbL zFOcUxQeBu*nufddG!pWp(C3=YgaU#lJ-LuNIb$tGmG5d4c$k{I_kUoy$I96Dt0$|AfpMG8KfI>s}*pxZvCRns4-CeI9&$P!K_KlH<~U3Yr|TpiT2} zex;w33EOzs^!k?d*(5@ju3fW)A`~S&DTf^zqmaVF%L=>-z(dK>rp(LQc7c;RQ`BLV zZ=DKp%4Bm>c&2Hti+L*?+e@{oxISfjP^^ju7WoQA=)%%ob9!KHWft(Nyoy<=ejU4L zd>#p!RV9T@BF6PoHH<+?qP)88LA+LXz}u+%xkoCVdj?HTwb%wn1#Fzz9l1MjY7N5!-}`nuw=wqkF-;%xWol%z23 zJ54frv-7Tr3+!P`(S5|5%nIqs!!Unz4;2B)uki&l!3RS4puXJZWf{&=bASrK6x zvbRs84LuRh*%O}e>@$#=08UUiRv>>ra*=@t7!yM3pzV{KHS907q08q#O{!s#>feg6 z5z<>T$kKYB-q@|N2nFOnbh4YOl^=4_E%4aBx!j+khoZ67$PT0PB#GSdM2|UdC2zlW ziJ`DHlQN@KAb3B?N^>h7j?)56}wDwmxU?{+@b$bq4lmp{JXnhH>N;h zXJyXZ)g+Cey~uPVG}0f0QrwutiTD5``I+ZM7#T}0DyGx{VaUisg`Pj`;~PcF*)LR| zzM*5Jj4R&08)W3e_)$VUT&~2p0ven6_KzIHY)2(RA8Ov7>Pu@p2`dst!(?+kBe-0D z*6!ARi8m@*pYtXM|&f4gRDV& zwz@>0%?PNPu5a2^eXF$=$X~UAJS8GoUyCDGZ@<9NAV=}zT%(z=#55#`T$;j0&n+xI zFy53xd^+9vcx|2wQbdb}Z`7aF?yOooe?q}jvD$@as2D3C`Fps75KWqf0{tayB5sgV z+@JU)xRXfy7^&fkv>$mJAG%84O;V;s<8g@%-wiMkHzIA4!pedO9?(b{4I9%^jYbnY z4`D%gzZ<)JS~dAZc439F`MTkEph9%hqpXZJkNkVFa*_Gx;%kO2zvLUK@2_y|Nh_Y1 znvjK@wws?K9Cv~ma~0flzDWJ}Gj}K~EV)At+#z%_VNudlO!pFmGOomq0-TU$-bmAB z8vS-W60;$NaFN3!O}1R+y`jTzc zO?`Rz8EwLrM*lsnB%X(&i)`dJ2Zs2*i}g4&%jPGtrs(G9Gzt%P-|;wo8uNtYf0^oe zrS7BvEhB^uCRs`A-t`N|g_Ao*<>US3aP4@?xxo-$hX5u64ExVGZD@j)6xaC@4J3LP zt9Ez{gAHsFKJOO$3it)3jN8>D+5WDA`p#M zUe;P}*`_a70fL*(w=PYrvBv-ofdfA#T3fs0Nq}|gRI@0&=EF2mg7ZEd?8bq1K8w*p zsG`J8y2XYLO=zxq9!C4sz9~(3Muo=04wBZ{A_dnwhe9q%3lo$R&Ie5pxUpdYD`)%( zp&%-%k!^K-BFy{~CpJvC-+U#)gu+lXa`4vKluM!~%=AJFh33Q+)4Yzx?239z>lvWx zEpN;YVQ;BIyC69v!pLY>;P)D|2)_b)nDhi3>!vO+SAz@7Fmx8#LsT%_Qq8_`C4p|c+ zogzL7TBAT>fY4w-gD#MV#mM+(q%dK+Mh~O+X#(M3+fgLXW1gQ-Xm-<3Xh2*>ld@kT zouy?MBo#+DU_c^q-+$(A25!_G-rF1R#A4f1hc}7J)rBx3gN}rZD>f_4{P7ZTR>f`e zr&%s6v3k78FJ(GPr4q%ss3I4pKnfBUs#I+Jnr++|41GAV5DHl1Kbe}(HxM4F^ItjH zSjnX(p}{|Wf3o=c3<9@6;BNniEF4LpzqyeUnf&^#I=j$sf7)Ov7HcfcD6LZg% z27u|8iX#j76x=X-Sr~@Af2f5;e|^1kU8KUfvk<0SenHBOxN`SOvhDI5M|r4Wzk7eF zFbhFBQQI}%ob!P%8>YSC+rm)sp2(jl1BFB3ay0E5_m6GJKYZ5QciNEy>dZ4t)e>Hn^beI7=O z;6MABMvdx2%cLX_##LJWn}8ZxA5nSGDLR-Z^@e;W5RjF}>AzGqg{fYQ2*IP{+D}w= zwveY_bmdL8%f4omp~vd=MZqYEQ}|H4)YB2Ecr*2le@G0El2FA}vUQ$W`wgBfKXR%` zSE_3Zm2O~%SM+}Fl#}H{pb0jJOJn9o!$<#Xj|Vl@&8LBJaCUazfZBUaUPGh5&qJ?7 zV>TF|Ql0z51vkDuqOC=jzIa0MnalFj+EcE0bGnOwt|bm!JJIygcY~?KSS}tIDQ^y( zmq^i??*s^cuK^9~yPXDuGhn5?{>cBgH}avVoZc|jO4bN?82q;&uho~aGfwTV3uV{* zH-numnCb`E!38wkhq#~nmZ#bp9lJhU3duI|LhluJJjK)td0-4@szZh7)N<<#e++sE zdTTfx#|%>lJ6pjp#G^gW2LR&HqLm}eX^?@9qTinQADg@P7zmS9mn$VHe?5945{Ov) zHR#Q;h{UcPx`E-OQWspI@*3SwSb>qFrAmLz=C?;1$3~N7d&x9kA4KAerZ!qDrHQ6a z)}{SLEFe+k7I59Kv2lUsD|bCbppk*^rAJ`QqIti9q035!blT$?1Llntw8I-r$6Goq zM5H)az(hy!Z^2N552Ctc(dkzhm5(#X4rB4um083h~|%#GM~Y*KJWKwd`WUUohZXPwxhOj#*R6BAGTcy+ceR@H)$ z%ohl6depf6eJ!A*dBItv#^NZ^pCvAK=ssw9rKP6-^Ul3qQ9q9!NC@@CMMpXE(ltLH z*&&=^0^PR>WY0n5xH9Vjtfys|VHXw|~Tn478RlQ?fF;RP1?xs&tA z$@hxv1u@Ej_0il*KwS2TBDBcIM-wX1c?84YNe4O6I zM+IjILdEddIugmaSU7G;@8|%6Sa^cw19B-(qvp@sw>y+c#e&(Cr^t)|UW8zewT&*y zYMLHf7s$S)Ve2*G00xKNnTF;v!Ny28yt-Ib39WOJ&F?nEn4D-3`svUzqJ|m4s+zs5 z&U@7R%prp&cmZRt^MQ~VyZD`_)#)6^chZf)$FU4U);52Hv+vvVJ*f{ypm=lo64F{i zCFpiAJtUfnJ#PdN0~B(UWqvBGiziF{2V`pRxprdl!9eD>Pt;ukHOW`X$H2^ZCY~tl zXaviISP?bKS>}?CAS;q&0U4x)$qgCJTsuQa*@%7@!ezP)5G?c{hs)$xs@IDb%$*EJ zvQyb2yc8jPOSj$RQk&0B?kL<`^bGpuq%WWq$&%hSzkKo84FDo{!lL0fK`I;^Id#$7 z*l^AIOA#xQjTY9b&a7w3oF2B0JK`!5bvJZ zc~(wSECU*{6y&NrcepW$*niT;vcjbKKVSr(TheL{4`TFkUmAVx6CTx;pOG$_ojm%j z*pI&CF-cV3UVqa5sh*noI&3v-SF>H=H}k~NGz>6^?F{H_bV2rrDD)9R3_sZa1eJH% zX!ds@R2&AWwt#`0Iqfrc(p&&XZ|MuUPJK;ybeP*>H3V}krhy4e>K}`EXxdjrS z3^@}728kkOF6?z4-*|a_Ta4po_xV+QiHJ`ErDYqAViuhEC>Vp@{$;~oG4<=y;h`yg+$Erqflm&92u~TowPa;A4RV~C>}!~Gx9h>^1X(=_ z@BPm-7XM_%Y$AM8hddUR-GnKC^gpOWCyw$3Y=ohV@TQJh%P{K7uAC!n#4f_%NA3;y zWwB?P!M7J9Rly6+%eL`)kPSppn2*Y zQwO{6O1?)Ik)wQH2b93HqPe^L7<-B`a1*Rk(}Eyus&-nqrv{`7rfNv&&=rWo_dMI| zNA`j`d;x9V<`FGoVUzqn3sHytXVd_RDQ8 zWFqC#e?NO3nvr*ica^dD5HFWmEx6UPzs}rNLS9JOS2W~w z%oXA!s0AJRQF@hMDJ4PG6VKIti>c7qd_jv9DAV89tHCVo?2j_Kj#|~yrpWJdV#=bC zx%~@@K7;XlMCIzKftx6%@F%YXK> z%8`NUFv7xQTfucaq+)rJSD>5A=b3E)-iL~{VcAW9(QmM`jT#!m$BGs(5z`iWmSaFi zlD<1F7kY!gAuA3>XJ@>cFy(hs0}~N??n~-PBXJP_Y@0B1%Ss<(#LqQzPv}(viE?uy zEir06`R{*%+{8;6p@dSKlj#Xr5hDjpSd9+d4tYzswK(LN>*-e986hh z-CpHgR7PhpHUJq=oRHjMZmkkEA)7icbgCe^6#~_0?YgT6_;E)EIZ8BeU!scJ;s8hR z>Yw+{UR?^qRI*L3mu$P~oK5ImM2ej%z!#VQ4kY2#6)90@5bRa~aRrZfH*xXOE8Xh; zLUX(a`qOwTJs*_M)oks%@a`z{>u(<)pYoU_JU^r@fTU57t7!y_?J?`YX$eGfR6S-m zLv|$q$mKdPa&^Xmv1CK|j|Q2KaC=6Z;bR#-30Jy;nGHifzCy!etoD>1yVb*05|odWnPSG{2Q}?hW&Q#0bM^MXBN@kmj4>h z9~K!S0DsvU8*8l@`6|Su)SN!i22cHaNr48l8U8X5f}%@&N1Q(=didOf#j-{^B>zC8 z$@e#;iERUJx>s1G^)&E21Lg}3u{eTf}5 zvH1L0pl-G(C96+EXMSUtt=YIbCTZY_{il=@ z$*q#(ZlrAJKTtvkZzo;Ainc@}GO6=Y^982_PWwH17i{5s^>~20SSbNtdRrcjc0)c5 zQwoonT%F}KRL^IzJJc{YG^ohGBh$>G`9ysESP+*MvO5m~X5^V!e^=fqv^OJkh(NS| z?yrn8`-5ssP@srlqRa30502!h~llqNV-jw3q4&Td0@kXn%1YkKeFL(SfpZcZoN7{ zy^}46I%5+5?7T$@f7T`R?wdlmaxc&vtYIKNS$}$doR%y^%vJE;irAj2m}dnqu!yRy zs>CB%B3S%cYuvo<-POO3?R?Z}@fVyZr7S^|TB()IF)N@k>cjGS_rl>CvP`y#gzf{UIz3Gf- zy%Cz&b_d?!M2{rdzzmH?Sg{Po0$rgej}rgG%I~8ay*Uj41G;@%o<53^OtA9T7M*mz zCbAkzF}0Ghn0^ToSj$MfI~Qdrz?={Wzv1jS8r6d2iNIh3pCi5vJ)YO4^zd)j)a_lA zK!bu|F2E&J&1C2QjbEIru%Z3}iTw}o*b-T=?=Zh}%?zwn{^y3N(Z~j|C5lQ&p;$?Y$8aH+IeaJnvHA|SXD{fHZ+&!^QXJuu;`E@ned zlJ6?l$>q8jzA#8@WM#e@oL|+RMmnQytU$r{T}?_F8baz(K*hwfghx~Wx(|noKPvs5 z|G_*ef14Q%)?-PgYmeZeNnTaa^aMjB9GeXQSnhfy%Wl?K-8bwLiK`QZIcO8K=j%Ns zLk*$0Q`*;&kRw(9fD>O@URNup^1z3lBIM+HroYth?X+8 zlmj$>5S{KvC@zz`jqP>OmDNKv{xQ;1Dp_+g%h0!LZ{4S_CkYmHmAnuslNrw4FB#AC zSeQsLzN;I{$9et@^;_fJ!yAgGCG4`gp0nh{2A;u5Ga z>1|}B29R)+aQuA2xbWF^tLw`)TSumrfn7Ou6XDKdu&o&L*hO4m{+PNb@EZH)V@mfG zw1)ZLx;N4g<=Uc=)MzmD2H(-Rp_prmhm+-|w;lRZjfK{J>b|>-QEq_E8m~<5%C|_p zPcP7Y?1hQz@0F2S8oh;BJ<`G?wR`T`h>=@ecf9B-dau+<4uJ8%{W=i*P8>P-kw5L? zfIV=2Q!|>Owm)}_`Bm;ZeYXQqTm<^JjZH5@U>k<#ly2Jg*Hkq>NH_OW1=?iInHKnL0ln)tmRZ=?qn<>ORs3_E`fc zsa<_G+otOsl|HXMR^B}dE1J@0NIU!B8EOjN82GF}^MtkjCR;a`qn(y~|B-`6L38X) z>;4W8-`xrwtjXpqh9z=_=jook_OWE{qIpYuupvY0orJ~hR~)Q{^IHv^M?PmA%?tQ~ zH}KN1TW6cLQvuh0$Nh&MT-BSL`j;kOp`e@O`|Ad1qDVB?t>jQm^4T5nWb}$JC^C??nJjdW^IIS>Rpevx99GL3GetB?;Py>CP(Hz1N{qCsiR*@EzXIFT_WL%zWN63wCxB#VWRFaJ$GLYcULrCa(_UDZM zrl$L$o?^R7*YM~+Q)1IXIuRg~5Xjm-2Ju3FG8QioOyG-R?ZyP%mT0(hZmV7ZMnb_e zmg`d+K`^G%OXacK`xJ9cR;@|8Pd6(sVJ;-8VUY>7RU$%wOpgyH+S}=O*_gE`q$ljb zgvYAiR4FG#cXg%-U8M>tKoic+D+QK-ZdR)-fUD#Ne?F8_)4F?cRtPrKyQA@J|`io&hb8IuM?rhlA^ zFVl38i8kQ7MeBV(I@Sgsku8t>%w`; zpJ?YqrEKb>s6^y#{oH>xS`^{=X%~x$(qyYn`JM(Q5jo44$PunmSG%nX$hX^xT>)hH zU$Xu=qBEP(%}(3yzE=@)?N42=Wq-p@KBa8Qh$FB~*ui|KwU0S8h9D^^IWMD44ww$xIdSrBUW#r)<9Lx2DDE;*kfk)vLqu3D`<6qBCrW|FmVVm1{;B8S5nU5B4t9wB!7}hQlV10 z$_bS!8w#o*PFyxslp?Tz!YLCQVq=IPN(l)Cgr(II8%e9xtX6wZ&rJ7sq+U<=?(DL& zJ9{8om3>vc-P7Ouj`zOT@B9{E4c1@{)?f|({{mU4F_X;_(=bCEtu+uzKr0P|5YV9K z3`Az*yayMD(Tn5i+2c>+lEuc4$@w|+gwOLkj=Kx#qfB;7D7M>p^$r*BP0?QX=d%bVT;y~ zNF-S8aendnc?SGkwAPDqfHrI)1S*vZjslk>pw3va1Xz~E7E&OM0H>{=JnnxfSt+Gz zN&@(5NdO}Rh}M8c2Ybxdk4Be5&Hg@17Gsx40vK`|uR5HhWkKFFxl1V1jKYZT2P3|( zeBTEZjU9h`;qS{)0%)|;v72#Sw#EI7ZGZHaw7Pvmsj|CW%FRgvX(V=1k-;H1bLym( zc=?A~e&<=wJK8@!9>fepCg`7$4uFLmq3t_%I`a(@nuZAOY-{g%C6|9x+pgBcKsN;U zH@ZmO@954Gx|GU{9_Z};)7`CY?(}@CY;JAahFmTm3fi(5K^cQzxN2*%k;rUJrH$`( zcKw64?2tGGR0hDyf*4gnxKzNU1|Bj6pCvH@Yzu&uV+I9oI(Vq7d#~#{B-SIV1&-s8 ze7>*(22cvU+qT>FonzwnbaeC#rL%oVxByy}U<4ttOvM_6^$2gu5PqQJ#;$nce2)P%4mE5=q3I z%LiW40Q!8P^T)di1-sFDmP$mk62KQ41Qno;L{n%Dw-pK+2YcTD}MXpgfnvis$-()}Px1ED$h3vBo zYIjzHjlF@mwNR~YfocVjg#tPgWN8fnF}$wfi`x&jwT_os+KM`xRVtqsBHL2Y9R+>= z>xcI|`r50o?gGni%7NnzTL{5uFtl4T+(kI9L`u zn@aup!&*IdaB6a-GCnqIxK`Kw<4?6^uejF_?!T^7{%u;R@|tkyaIWw&3?RM$*X0Fp zT!3r~Kp_v%(*rk-j@*n42*tSx!kX0`q)`J3>dx&uQb*o6I*FqH+<0j)sCd2sbeecg zh$33hQ8#nu_igir{X;{ir~B9W3V7Aa@2!PG;U?4kuwAaWL@A2ohby5Bv|*wL2H-lN zT~`yw0nf5Z559WvJ7-5nXNTq}4Gj_=Xa*g}r57#?g%RzNV;aU7Y`OA77*oQb&Ys5= z5Q&PdUXx3p!9_du(`#JUiNz^&i5qa5Eu4T_Rd8K*WlE4}0BIV~n@U-`$Hu<^KopxL z`bw~*ZGI{3+;HUl`I1Qp__Ysj-tlT)Bc`hWj7YD1e*K1xcL(CWs#Imh83)GEj|Oeq z8q#Tiv<)`oXqTAKka&m0+tp~pO&F@Z5P3gJ2+^j21 z8Z{&sgH)lw?ydSa{ME?#OG4`k2e4vo&p??6^0_~|YpD45$i=0kjp9l3woOkO*1631 zXaTqdU?p(t05TbXTn?a+188dl$Y#;50hlHnJ~y!c7kjsT4mNKBXm5uNzkZAH?!bVE zm36%Ypf4~qR9x^A;Efh3l!Df_Hsce+BcBH?fDlgO-6bHYwo~dKrFbMXbWJLz7<4po z(eu>bv^lpuz|B_!3LYoKLMamovr;kn6w#VO5C~D4lAKZY`svf(e(1>Iulz|e=_jPf zo)+R{$@3KIt7)Sft)p29Xb9MI_qErh2irT2qhKpy$k@q2C#Wx%{{iORmOBG38T)=H zl`;b-Q%IrPH({lcim)t*o=Pb9s#y3UF2Qfa4FN*O}AEtDD;N+q9hP6o^6 zFe1fW-q_P)To@e{6Qxr4&F@&ZE*U7Ls!}SUwXO=G&kqlW_?SsvSxO85Y(mVW(&_nF zG?_|`#LQX_#FYZCRD!co9>aG5fVZhs`sFt*x7^>ezWBc%+%)p~wbwtHwk-1a-o0Nw z`NY1d+itpPBjP@I^DTRi{=t3Tp})9)?DelbGq z30;)-0;6!Sv+(tEwsVS5LX~Ms!C3Iz+0)Nl@I3XUXP!GLB+1FPN{Q#w=eSsARLyS-u9~%pP7*wCSp76W1*3<611nTqBly#qx z{lXUk{t1a$iY37P5RtomPgVS#P=1A0f&bCS_|NhVHc^9_z0_@lh|9dPk_)V2CzqKx$LzG=JI;{u2@jK+ms^ zYnB2ne%JROyQNUbVRjQ;;bs9P28n;9tNXV$`_*6N3EMI(%SKPHW^N;wI*z39SxFF5 z3d}5j_3)uRZ=CA;_De6k@aRCX7>1p5)9hM@c5uYx5yu1gN#Nh1RJ!j*8C-qREBTnyk_~eHVXzl@jJU~Y*YC>Z*MSIXp>T{v8K6Q0 z&VidI)97q*racY*_xn$s^QzURnB1%@+z<$*u9m?x9XWraz@Nl*edUum5>@#6~m`Y+`> zANg2u@Lox{&*n>r*baOn?fl-?rP_aJ_`>8|j$6qj{8~#(=Vyhy>snvjk=8m#0TR=u z6?X}b05C&pgDYlP^lj7lkKY_P^M^yFQmA4uEjN8`V3Arvvl2iWGJsOpwta{5*0DEA zDAJqL8S}6rXPl|ARv<>0;h&unQ-JwCOk^D6#?!}b^W_1d-brv~bq8X@&cMHIqc1)N zo>!M1sV5^Wnnj-hrW7eaJ_nzqD*ybzzy(aoA_JNQlmORVJR!mts|=xe!^!(5#{IkV z`Q7_f`d#5oRO*>f+eI3N$#iOh?*Q1dV~p;Z;cqP`q<{zwRAFRU>r-=xu^-pMn##5g zznxA$kFOag`|ss{7=5{oVFaSB+M#^N+1DVvkIlu z(85j2AM||S!C%ScTBqk*<%H>~RE9`{j_AhX$WjRS=b_?>Z<*%pA9qvjds?%%d|2r_ z)|b3pSt-|3LU~wUkir|W5~ur<$ya_v^ns_m@+)tgJ>%7v$JHf0KhmTbylQK&ef+IA zy@hOO$cQ=b+iaV5nx>gz%s|UHRH;;kwHD)3Q+lz!tN96_6s*V$N;HBCn4kE7MC|6G zkfU^5^gMOZ^C|#PnKfj*%(sY?mX9+9EV9Fn>mA*u^3ipLjog=>$O9}`yVm>mCEi}G?I z@B^)rE71V}C;=jq$%LH5d>f@KyoYD?(XENp9ICfkPOetKP)bI)c&DMpug47)Ya`s~ ze*vZyn8svg&!SQX|rc%g7caJR8m`EhBHV`o&T152E3$+E#==l%_{l7W5_*>7x z4T)-iJ9~VXA9sY|1hxzOM_;VA$gy0SJGz<)?f|RU=7v)=7IkMO!=0L TbZCG300000NkvXXu0mjfBX-)B literal 2656 zcmV-m3ZM0fP)000UnNkleU-^_=f+Z_n0jK&fDomO{Eyf(RBU)vAE96?JrEWYp1d5C*6~*+G6e;5h0Gh{D)v zS!PgFWzVN=eg(Chy(*o#UME-Xt$C@1f^fGZML-}tBO-m@kEyOc!rSs> zp<}QtvCv`V3NgwJf2EhV1?`(;PokNi0ZL)7ySjsORz|4XvBTh9bSc-!1PCx#`vVFU zN$VLV!1v{pXWMmM!{kxVUzW$pVSr%eD%$tqw9^1Zu>a#zNPB2aiZCeDoWDG4u(w!wV=20Aj99qqMye8i9Yb6p4NI2k-d>(Qz$gw7 zfl{>dEjX=B?e78Q0_h@7H+1ScJM4wcHP6pmU_0Xei-s55hG0OSaTcC)wsKvFc@R%P zJPz@g1e3*!u%$(QIFYzv2r!{aT*N2NRIh9WD+W3!@~mZrsB`0S{He2`?KEg=f^-^# zfIs*Ew!O*EJ*T#8!Q6mQWP7r00U3xwUM?$ir&CZ_0W~$Us;eNGFs`6q;*#cXzT&;!4~2Om_uJ;e{y zKDaSRB_W-L$||U?7VIl4A(H{$hrT|u(F6!U)*2A?u7Balttyu@Sd3zuSV}?(2hR+aZyl*~bNyRT@zU;1S+>7)|c%!q;C1 zHVi8OX1?nVGsut(tdE!#@%_&s+{(kD|iAti8 zA*LwUu=Q`EKN7j9ko|M#t5qxWjdC);jNkqyJoGEb4oHor6l4V{Zf%9CN=PIjnSewh z(js7JYI0V8M$ef8Z|_#KYV2gfst)z1gb4IC*G8#wzWGWP1p2zQLkZGUfP7!iJy}li zlANk!D@H%Mmj(ugGonFrr&4ww7AHe14;1fwD-z#Gw#oI(PZ}XktsvAIZ5!H_M_UmA z1+a7phE{9avO+DDP%+pgDTv}>3RA3OV5>cQ3Xhbas~Igg;e=@*z~I5nP0?o}@n%J+BBL`IN+vmzaT^+jcD741n4?s4S|HK~@z#*dit0+^w%Kg@z5wmvbzI z1BU>uVKSt|an+7({M6HM{^uajU{8vSFgy6!&yh7K4-WR>nlE8(ov3~y4ylx6LFu$0 zJ(vs8B^Rl-HhSZq^xH@1W5@gT4OCy})Yg_FKw;CzdGR7ZsfkCPElE1udYe={;*ln< zNJL=U^p7|2@yEf5iAV8bSWzK)P7p|fNHo~!Hk&I2xg2cTEIM-Vpmbdw2W?Bv9-XHR zf{lp$g$v=u=L^k%G*~Xa_6ps758kqFV(IjtPSU=8e9^^fATQJm7_rCW;OB;E(18fq z_gN`!X_m*9E#(6TIGe?)DyODqI6@aK>iOMwq2(m(KP2;xd`^pYB5Pl7+-R@4OlYvj zh#MoZH@2v|y7`%>F`h6+W$aQJy;qj#q-{$=>O~2Kc%s1^78UihYZtaI#DM`({Zd8!wb$Wox2mE=y~%fm zl6%R-cE61WOdJ#w8o8SZ494vsd#-A3jw~VEt+ck3l6KUS3+}kPWIIvhApK1}Z+>w9 z1A5=SqC6pH+P*`tyIHp`q% z#?{!OhGY4xGokG?)zZSL6l%>M?1OFFVDn~t@g>alo2ONg2_l-die<_g%M!1kHMwn%4Zn{~Icg$)H zyO&d!>-8I=PRWdoit#X$dgGeJ_xJR`pPrH?vs?A&wV;xFQg6*zK} zqvBNq*xw5s9lT>ZbeUHTvN_4S(B#odW^{N3*>}3xGNhA*oVP|v3 zxIQTY#(3Q(%;b*t*KLkgP*CQepv*x*nS+8d2L)vg3d$VR{~Lj+!v6q1TI^*I-}~tR O0000}q?jg9l!`=MP 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

cV_W>l35UH<8XE3Fr$yN3%EKo=5c#n$T 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%0A{Es`mCfRcDz;^SnB{#0}G2f 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 diff --git a/fnos/ICON_256.PNG b/fnos/ICON_256.PNG index 2846daa5225fe4b0cd42a67d25c2a6975eaf7bc4..4c85d8c9e6ed70f12743468668466e93662fa458 100644 GIT binary patch literal 20936 zcmcdyV|OLK*S)>Bc009g+qNz=t6aMLued!D3^J}>IYihI6 zU8BlQI@Lt_3f&!^V;BpXgDXYoBxHz~7#w<oLPkeVcTX1b~4F5ds#3AR;2$$PgLG zH878$KhwDXYuCK>CsoJntC!XL+NwLX)4lmFXSVlTcdM~=ir;)DoBNm-8V36R#j?2! zQiPF3SUh>a0;|DGn#vf3g@lBNL@@v(Sj;1HW6EV7`~>kseK>ts#v&avvsgv-$q1`6 zNKL}jp|(D}VR>>qscT$A4KV+CuNv=fbOM`hw;aq=93dxJsWR-P#|VAIsR=gP%_V| zJx_dl>#)s-q?>HK`)9H;GF1qRbLd*ixVX6PAtL?xWYYOe7N+8d23o0mUJV3`q>l)$ z8!*I4rdnpg!iJ9jj2w?vwz0$Aey~M~Y{9Y>_G+chipl>FI<+uSD!-t>FpX|9$uiUI zUrnulEix=Kc@iTQl=Ss+qlZc6R+H#x(b4}47Q!Q!Ru?HSuvS%FBxpnAYAG&mV&UX$ zU2T*LMuu7Wb6LSIzZjq)q>NTmSm;DlvXn%obqU?X*?h6lx+1WAw$W<;-)vg4y|PvR z^~#?=wk0>)N;2&7_o-TT3Ir?CL@BIX9%vy` z(?jGCm=9|4fxWnHZ(KL`X5qZXprD`wj#ZrK;X(!6hpG$C2$e~@U?o{qRpXpR$dVG% z|NMFd=OMk%o|d#rE&GaYJ@~Xe#fJ^7ltoibo4dQa8%j*|jWuvnG(3HKeAfR!>Rg!1 zbnDgC{hNuf0&Y`N%Tnt-M}mom`oDGl{I}WSgD}c4>_HwY23b4Tv-Gs*8@*KsnQl

eD9w>;bNXy)l1uZ3Z;X8s0#>pvd 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

eD9w>;bNXy)l1uZ3Z;X8s0#>pvd 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 TbZCG300000NkvXXu0mjfBX-)B literal 2656 zcmV-m3ZM0fP)000UnNkleU-^_=f+Z_n0jK&fDomO{Eyf(RBU)vAE96?JrEWYp1d5C*6~*+G6e;5h0Gh{D)v zS!PgFWzVN=eg(Chy(*o#UME-Xt$C@1f^fGZML-}tBO-m@kEyOc!rSs> zp<}QtvCv`V3NgwJf2EhV1?`(;PokNi0ZL)7ySjsORz|4XvBTh9bSc-!1PCx#`vVFU zN$VLV!1v{pXWMmM!{kxVUzW$pVSr%eD%$tqw9^1Zu>a#zNPB2aiZCeDoWDG4u(w!wV=20Aj99qqMye8i9Yb6p4NI2k-d>(Qz$gw7 zfl{>dEjX=B?e78Q0_h@7H+1ScJM4wcHP6pmU_0Xei-s55hG0OSaTcC)wsKvFc@R%P zJPz@g1e3*!u%$(QIFYzv2r!{aT*N2NRIh9WD+W3!@~mZrsB`0S{He2`?KEg=f^-^# zfIs*Ew!O*EJ*T#8!Q6mQWP7r00U3xwUM?$ir&CZ_0W~$Us;eNGFs`6q;*#cXzT&;!4~2Om_uJ;e{y zKDaSRB_W-L$||U?7VIl4A(H{$hrT|u(F6!U)*2A?u7Balttyu@Sd3zuSV}?(2hR+aZyl*~bNyRT@zU;1S+>7)|c%!q;C1 zHVi8OX1?nVGsut(tdE!#@%_&s+{(kD|iAti8 zA*LwUu=Q`EKN7j9ko|M#t5qxWjdC);jNkqyJoGEb4oHor6l4V{Zf%9CN=PIjnSewh z(js7JYI0V8M$ef8Z|_#KYV2gfst)z1gb4IC*G8#wzWGWP1p2zQLkZGUfP7!iJy}li zlANk!D@H%Mmj(ugGonFrr&4ww7AHe14;1fwD-z#Gw#oI(PZ}XktsvAIZ5!H_M_UmA z1+a7phE{9avO+DDP%+pgDTv}>3RA3OV5>cQ3Xhbas~Igg;e=@*z~I5nP0?o}@n%J+BBL`IN+vmzaT^+jcD741n4?s4S|HK~@z#*dit0+^w%Kg@z5wmvbzI z1BU>uVKSt|an+7({M6HM{^uajU{8vSFgy6!&yh7K4-WR>nlE8(ov3~y4ylx6LFu$0 zJ(vs8B^Rl-HhSZq^xH@1W5@gT4OCy})Yg_FKw;CzdGR7ZsfkCPElE1udYe={;*ln< zNJL=U^p7|2@yEf5iAV8bSWzK)P7p|fNHo~!Hk&I2xg2cTEIM-Vpmbdw2W?Bv9-XHR zf{lp$g$v=u=L^k%G*~Xa_6ps758kqFV(IjtPSU=8e9^^fATQJm7_rCW;OB;E(18fq z_gN`!X_m*9E#(6TIGe?)DyODqI6@aK>iOMwq2(m(KP2;xd`^pYB5Pl7+-R@4OlYvj zh#MoZH@2v|y7`%>F`h6+W$aQJy;qj#q-{$=>O~2Kc%s1^78UihYZtaI#DM`({Zd8!wb$Wox2mE=y~%fm zl6%R-cE61WOdJ#w8o8SZ494vsd#-A3jw~VEt+ck3l6KUS3+}kPWIIvhApK1}Z+>w9 z1A5=SqC6pH+P*`tyIHp`q% z#?{!OhGY4xGokG?)zZSL6l%>M?1OFFVDn~t@g>alo2ONg2_l-die<_g%M!1kHMwn%4Zn{~Icg$)H zyO&d!>-8I=PRWdoit#X$dgGeJ_xJR`pPrH?vs?A&wV;xFQg6*zK} zqvBNq*xw5s9lT>ZbeUHTvN_4S(B#odW^{N3*>}3xGNhA*oVP|v3 zxIQTY#(3Q(%;b*t*KLkgP*CQepv*x*nS+8d2L)vg3d$VR{~Lj+!v6q1TI^*I-}~tR O0000