#!/bin/sh

# 显示欢迎词
clear
echo "欢迎使用Zag的软件源自动安装脚本。本脚本旨在方便大家替换光影猫官方固件和QWRT固件的内置软件源，以实现增加插件选择和更早获取插件更新。"
echo "当前脚本支持的固件有QWRT R24.9.9 for Photonicat，PhotonicatWrt-24.04-r6322。"
echo "脚本会替换固件内置软件源，请自行斟酌。"
echo "是否继续？(Y/N)"
read -r CONTINUE
if [ "$CONTINUE" != "Y" ] && [ "$CONTINUE" != "y" ]; then
    echo "脚本已退出。"
    exit 0
fi

# 检查固件是否匹配
check_firmware() {
    echo "正在检查固件是否匹配..."
    local current_kernel_version=$(grep "Depends: kernel" /usr/lib/opkg/status | sed -e 's/.*kernel (= \([^-]*\).*/\1/' | head -n 1)
    local current_vermagic=$(grep "Depends: kernel" /usr/lib/opkg/status | sed -e 's/.*-\([^-]*\)).*/\1/' | head -n 1)
    
    # 这里需要替换为预设的内核版本和vermagic值
    # 第一组预期值
    local expected_kernel_version1="6.1.82"
    local expected_vermagic1="ffa0de838ea803eeb72a9b1192db7d02"
    # 第二组预期值
    local expected_kernel_version2="6.6.52"
    local expected_vermagic2="62e858a96b45d191c4f76aba864daa29"
    # 第三组预期值
    local expected_kernel_version3="6.1.82"
    local expected_vermagic3="a0d63bc825405389b7b1735adc9a1f1c"

    if [ "$current_kernel_version" = "$expected_kernel_version1" ] && [ "$current_vermagic" = "$expected_vermagic1" ]; then
        echo "当前固件是ZagWRT for X86"
        modify_sources 1
    elif [ "$current_kernel_version" = "$expected_kernel_version2" ] && [ "$current_vermagic" = "$expected_vermagic2" ]; then
        echo "当前固件是QWRT R24.9.9 for Photonicat"
        modify_sources 2
    elif [ "$current_kernel_version" = "$expected_kernel_version3" ] && [ "$current_vermagic" = "$expected_vermagic3" ]; then
        echo "当前固件是PhotonicatWrt-24.04-r6322"
        modify_sources 3
    else
        echo "当前固件与已知软件源不匹配，请检查固件来源是否为官方，你可以在https://pcat.qsim.top/firmware/下载到最新固件，或者联系脚本作者提供你所使用固件的内核版本和vermagic。"
        return 1
    fi
}

# 修改软件源
modify_sources() {
    echo "正在修改软件源..."
    case $1 in
        1)
            cat > /etc/opkg/distfeeds.conf << EOF
            src/gz zagwrt_core https://pcat.qsim.top/openwrt/x86/targets/x86/64/packages
            src/gz zagwrt_base https://pcat.qsim.top/openwrt/x86/packages/x86_64/base
            src/gz zagwrt_kiddin9 https://pcat.qsim.top/openwrt/x86/packages/x86_64/kiddin9
            src/gz zagwrt_luci https://pcat.qsim.top/openwrt/x86/packages/x86_64/luci
            src/gz zagwrt_nuexini https://pcat.qsim.top/openwrt/x86/packages/x86_64/nuexini
            src/gz zagwrt_openai https://pcat.qsim.top/openwrt/x86/packages/x86_64/openai
            src/gz zagwrt_packages https://pcat.qsim.top/openwrt/x86/packages/x86_64/packages
            src/gz zagwrt_routing https://pcat.qsim.top/openwrt/x86/packages/x86_64/routing
            src/gz zagwrt_sirpdboy https://pcat.qsim.top/openwrt/x86/packages/x86_64/sirpdboy
            src/gz zagwrt_telephony https://pcat.qsim.top/openwrt/x86/packages/x86_64/telephony
            src/gz zagwrt_video https://pcat.qsim.top/openwrt/x86/packages/x86_64/video

EOF
            ;;
        2)
            cat > /etc/opkg/distfeeds.conf << EOF
            src/gz core https://pcat.qsim.top/test/targets/rockchip/armv8/packages
            src/gz base https://pcat.qsim.top/test/packages/aarch64_generic/base
            src/gz luci https://pcat.qsim.top/test/packages/aarch64_generic/luci
            src/gz packages https://pcat.qsim.top/test/packages/aarch64_generic/packages
            src/gz routing https://pcat.qsim.top/test/packages/aarch64_generic/routing
            src/gz telephony https://pcat.qsim.top/test/packages/aarch64_generic/telephony

EOF
            ;;
        3)
            cat > /etc/opkg/distfeeds.conf << EOF
            src/gz core https://pcat.qsim.top/zag/targets/rockchip/armv8/packages
            src/gz base https://pcat.qsim.top/zag/packages/aarch64_generic/base
            src/gz luci https://pcat.qsim.top/zag/packages/aarch64_generic/luci
            src/gz packages https://pcat.qsim.top/zag/packages/aarch64_generic/packages
            src/gz routing https://pcat.qsim.top/zag/packages/aarch64_generic/routing
            src/gz telephony https://pcat.qsim.top/zag/packages/aarch64_generic/telephony

EOF
            ;;
    esac        
    echo "软件源修改完成。是否现在更新软件源？(Y/N)，按回车返回主菜单。"
    read -r UPDATE_SOURCES
    if [ "$UPDATE_SOURCES" = "Y" ] || [ "$UPDATE_SOURCES" = "y" ]; then
        update_sources
    elif [ "$UPDATE_SOURCES" = "N" ] || [ "$UPDATE_SOURCES" = "n" ]; then
        echo "脚本已退出。"
    exit 0
    elif [ -z "$UPDATE_SOURCES" ]; then
        main_menu
fi
}

# 更新软件源
update_sources() {
    echo "正在更新软件源..."
    echo "nameserver 114.114.114.114">/tmp/resolv.conf && rm -f /var/lock/opkg.lock && opkg update
    echo "软件源更新完成。是否现在进行固件个性化配置？(Y/N)，按回车返回主菜单。"
    read -r CUSTOMIZE_FIRMWARE
    if [ "$CUSTOMIZE_FIRMWARE" = "Y" ] || [ "$CUSTOMIZE_FIRMWARE" = "y" ]; then
        customize_firmware_menu
    elif [ "$CUSTOMIZE_FIRMWARE" = "N" ] || [ "$CUSTOMIZE_FIRMWARE" = "n" ]; then
        echo "脚本已退出。"
    exit 0
    elif [ -z "$CUSTOMIZE_FIRMWARE" ]; then
        main_menu
fi
}

# 个性化固件

# 最多尝试安装的次数
max_attempts=3

# 当前尝试次数
attempt=1

customize_firmware() {
    case "$1" in
        1)
            echo "正在个性化固件ZagWrt..."
            # 在这里添加第一组个性化配置的命令
            ;;
        2)
            echo "正在个性化固件QWRT R24.9.9 for Photonicat..."
            echo "安装会占用一定时间，请耐心等待..."
            echo "添加作者信息..."
            sed -i "/DISTRIB_DESCRIPTION/ { /Mod by Zag@https:\/\/pcat.qsim.top/b; s/'\(.*\)'/'\1 Mod by Zag@https:\/\/pcat.qsim.top'/; }" /etc/openwrt_release
            echo "美化终端(修改banner)"
            cat <<'EOF' > /etc/banner
[49m                                                                                                                                         [m
[49m                                                                                                                                         [m
[49m                                                                                                                                         [m
[49m                                                                                                                         [38;2;0;0;0;49m▄▄▄▄▄▄▄[49m         [m
[49m            [38;2;0;0;0;49m▄▄▄▄[38;2;48;39;0;48;2;0;0;0m▄[38;2;73;59;0;48;2;0;0;0m▄[38;2;103;84;0;48;2;0;0;0m▄[38;2;138;113;0;48;2;0;0;0m▄[38;2;65;54;0;48;2;0;0;0m▄[38;2;5;2;0;48;2;0;0;0m▄[48;2;0;0;0m [38;2;0;0;0;49m▄▄[49m                                                [38;2;0;0;0;49m▄▄▄▄▄▄▄▄▄▄▄[38;2;12;12;0;48;2;0;0;0m▄[38;2;55;45;0;48;2;0;0;0m▄[38;2;10;7;0;48;2;0;0;0m▄[38;2;0;0;0;49m▄▄[49m       [38;2;0;0;0;49m▄▄▄[38;2;13;10;0;48;2;0;0;0m▄[38;2;51;40;0;48;2;0;0;0m▄[38;2;79;65;0;48;2;0;0;0m▄[38;2;49;40;0;48;2;0;0;0m▄[38;2;6;4;0;48;2;0;0;0m▄[48;2;0;0;0m  [38;2;0;0;0;49m▄▄▄[49m        [38;2;0;0;0;49m▄[38;2;20;17;0;48;2;0;0;0m▄[38;2;124;102;0;48;2;0;0;0m▄[38;2;173;143;0;48;2;14;11;0m▄[38;2;190;157;0;48;2;77;63;0m▄[38;2;199;164;0;48;2;98;80;0m▄[38;2;212;174;0;48;2;105;87;0m▄[38;2;209;172;0;48;2;105;86;0m▄[38;2;196;160;0;48;2;89;73;0m▄[38;2;176;145;0;48;2;44;34;0m▄[38;2;121;99;0;48;2;0;0;0m▄[38;2;35;29;0;48;2;0;0;0m▄[48;2;0;0;0m  [38;2;0;0;0;49m▄[49m     [m
[49m    [48;2;0;0;0m [38;2;104;86;0;48;2;0;0;0m▄[38;2;90;74;0;48;2;0;0;0m▄[48;2;0;0;0m   [38;2;23;19;0;48;2;0;0;0m▄[38;2;107;88;0;48;2;0;0;0m▄[38;2;198;163;0;48;2;3;0;0m▄[38;2;245;201;0;48;2;55;45;0m▄[38;2;248;204;0;48;2;126;104;0m▄[38;2;252;207;0;48;2;179;148;0m▄[38;2;254;209;0;48;2;213;175;0m▄[38;2;255;210;0;48;2;214;176;0m▄[38;2;255;210;0;48;2;224;183;0m▄[38;2;254;209;0;48;2;236;195;0m▄[38;2;252;207;0;48;2;182;150;0m▄[38;2;245;202;0;48;2;96;79;0m▄[38;2;142;117;0;48;2;23;19;0m▄[38;2;18;14;0;48;2;0;0;0m▄[48;2;0;0;0m    [38;2;0;0;0;49m▄[49m                                        [38;2;0;0;0;49m▄▄[38;2;58;48;0;48;2;0;0;0m▄[38;2;115;95;0;48;2;8;8;0m▄[38;2;237;194;0;48;2;64;53;0m▄[38;2;248;204;0;48;2;134;111;0m▄[38;2;252;208;0;48;2;188;155;0m▄[38;2;251;207;0;48;2;173;143;0m▄[38;2;246;203;0;48;2;101;83;0m▄[38;2;176;146;0;48;2;5;5;0m▄[48;2;0;0;0m [38;2;23;19;0;48;2;0;0;0m▄[38;2;169;139;0;48;2;15;13;0m▄[38;2;244;201;0;48;2;98;80;0m▄[38;2;248;204;0;48;2;140;115;0m▄[38;2;254;209;0;48;2;204;168;0m▄[38;2;254;209;0;48;2;211;174;0m▄[38;2;153;126;0;48;2;130;107;0m▄[38;2;18;16;0;48;2;21;16;0m▄[48;2;0;0;0m  [49m    [38;2;0;0;0;49m▄[38;2;22;18;0;48;2;0;0;0m▄[38;2;207;171;0;48;2;21;17;0m▄[38;2;246;202;0;48;2;98;79;0m▄[38;2;249;205;0;48;2;151;123;0m▄[38;2;253;208;0;48;2;193;159;0m▄[38;2;254;209;0;48;2;213;175;0m▄[38;2;255;210;0;48;2;215;178;0m▄[38;2;255;210;0;48;2;213;175;0m▄[38;2;254;209;0;48;2;207;170;0m▄[38;2;254;209;0;48;2;199;164;0m▄[38;2;249;205;0;48;2;148;123;0m▄[38;2;244;201;0;48;2;61;50;0m▄[38;2;192;158;0;48;2;0;0;0m▄[38;2;55;46;0;48;2;0;0;0m▄[48;2;0;0;0m  [38;2;0;0;0;49m▄[49m  [38;2;0;0;0;49m▄[38;2;27;22;0;48;2;0;0;0m▄[38;2;131;109;0;48;2;0;0;0m▄[38;2;231;190;0;48;2;100;83;0m▄[38;2;254;209;0;48;2;199;164;0m▄[38;2;255;210;0;48;2;229;188;0m▄[38;2;255;210;0;48;2;250;206;0m▄[48;2;255;210;0m     [38;2;255;210;0;48;2;252;208;0m▄[38;2;255;210;0;48;2;233;192;0m▄[38;2;252;207;0;48;2;178;146;0m▄[38;2;224;184;0;48;2;68;55;0m▄[38;2;75;61;0;48;2;3;3;0m▄[48;2;0;0;0m  [38;2;0;0;0;49m▄▄[49m  [m
[49m   [48;2;0;0;0m  [38;2;100;82;0;48;2;132;110;0m▄[38;2;254;209;0;48;2;249;205;0m▄[38;2;255;210;0;48;2;158;129;0m▄[38;2;255;210;0;48;2;126;104;0m▄[38;2;255;210;0;48;2;177;145;0m▄[38;2;255;210;0;48;2;241;199;0m▄[38;2;255;210;0;48;2;254;209;0m▄[48;2;255;210;0m     [38;2;254;209;0;48;2;255;210;0m▄[48;2;255;210;0m     [38;2;255;210;0;48;2;198;163;0m▄[38;2;185;152;0;48;2;23;19;0m▄[48;2;0;0;0m    [49m                                       [48;2;0;0;0m [38;2;32;26;0;48;2;8;5;0m▄[38;2;216;178;0;48;2;141;116;0m▄[48;2;255;210;0m      [38;2;128;105;0;48;2;239;197;0m▄[38;2;0;0;0;48;2;53;43;0m▄[38;2;1;1;0;48;2;0;0;0m▄[38;2;119;97;0;48;2;76;64;0m▄[38;2;236;195;0;48;2;208;171;0m▄[48;2;255;210;0m   [38;2;254;209;0;48;2;252;207;0m▄[38;2;138;113;0;48;2;131;108;0m▄[38;2;4;3;0;48;2;1;1;0m▄[48;2;0;0;0m   [38;2;0;0;0;49m▄▄[38;2;84;70;0;48;2;16;11;0m▄[38;2;208;172;0;48;2;37;30;0m▄[38;2;255;210;0;48;2;201;166;0m▄[48;2;255;210;0m    [38;2;253;209;0;48;2;255;210;0m▄[38;2;230;189;0;48;2;255;210;0m▄[38;2;216;178;0;48;2;255;210;0m▄[38;2;214;176;0;48;2;255;210;0m▄[38;2;220;181;0;48;2;255;210;0m▄[38;2;242;199;0;48;2;255;210;0m▄[38;2;254;209;0;48;2;255;210;0m▄[48;2;255;210;0m [38;2;250;206;0;48;2;224;184;0m▄[38;2;165;136;0;48;2;70;58;0m▄[38;2;20;17;0;48;2;0;0;0m▄[48;2;0;0;0m  [38;2;71;59;0;48;2;0;0;0m▄[38;2;163;135;0;48;2;54;44;0m▄[38;2;253;209;0;48;2;156;128;0m▄[38;2;255;210;0;48;2;248;204;0m▄[48;2;255;210;0m [38;2;225;185;0;48;2;255;210;0m▄[38;2;123;102;0;48;2;243;200;0m▄[38;2;143;117;0;48;2;224;184;0m▄[38;2;255;210;0;48;2;253;208;0m▄[48;2;255;210;0m [38;2;139;115;0;48;2;203;167;0m▄[38;2;11;8;0;48;2;131;108;0m▄[38;2;3;2;0;48;2;190;156;0m▄[38;2;72;60;0;48;2;235;194;0m▄[38;2;198;162;0;48;2;251;206;0m▄[38;2;254;209;0;48;2;255;210;0m▄[48;2;255;210;0m [38;2;255;210;0;48;2;250;206;0m▄[38;2;247;203;0;48;2;126;103;0m▄[38;2;105;87;0;48;2;15;11;0m▄[48;2;0;0;0m  [38;2;0;0;0;49m▄[49m [m
[49m   [48;2;0;0;0m  [38;2;0;0;0;48;2;31;26;0m▄[38;2;77;63;0;48;2;212;174;0m▄[38;2;234;193;0;48;2;255;210;0m▄[48;2;255;210;0m   [38;2;243;200;0;48;2;255;210;0m▄[38;2;191;157;0;48;2;255;210;0m▄[38;2;147;120;0;48;2;254;209;0m▄[38;2;98;80;0;48;2;247;203;0m▄[38;2;70;58;0;48;2;215;177;0m▄[38;2;137;112;0;48;2;184;151;0m▄[38;2;230;189;0;48;2;225;185;0m▄[48;2;255;210;0m      [38;2;237;195;0;48;2;238;196;0m▄[38;2;33;28;0;48;2;28;23;0m▄[48;2;0;0;0m   [49m      [38;2;0;0;0;49m▄▄▄▄▄▄▄▄[49m         [38;2;0;0;0;49m▄▄▄▄▄▄▄▄▄▄▄▄▄[49m  [38;2;0;0;0;49m▄[48;2;0;0;0m [38;2;49;41;0;48;2;4;4;0m▄[38;2;221;182;0;48;2;206;170;0m▄[48;2;255;210;0m      [38;2;79;65;0;48;2;84;69;0m▄[48;2;0;0;0m [38;2;61;51;0;48;2;24;20;0m▄[38;2;214;176;0;48;2;164;135;0m▄[38;2;255;210;0;48;2;254;209;0m▄[48;2;255;210;0m    [38;2;174;143;0;48;2;159;131;0m▄[38;2;35;28;0;48;2;22;18;0m▄[48;2;0;0;0m   [38;2;28;22;0;48;2;0;0;0m▄[38;2;145;119;0;48;2;58;48;0m▄[38;2;241;199;0;48;2;190;156;0m▄[38;2;255;210;0;48;2;249;205;0m▄[48;2;255;210;0m   [38;2;241;199;0;48;2;255;210;0m▄[38;2;134;110;0;48;2;242;199;0m▄[38;2;30;25;0;48;2;172;142;0m▄[38;2;0;0;0;48;2;91;75;0m▄[38;2;0;0;0;48;2;60;49;0m▄[38;2;0;0;0;48;2;55;46;0m▄[38;2;0;0;0;48;2;69;57;0m▄[38;2;10;8;0;48;2;129;106;0m▄[38;2;178;147;0;48;2;239;197;0m▄[48;2;255;210;0m  [38;2;223;184;0;48;2;202;165;0m▄[38;2;96;78;0;48;2;67;54;0m▄[48;2;0;0;0m  [48;2;198;163;0m [48;2;255;210;0m  [38;2;254;209;0;48;2;255;210;0m▄[38;2;143;118;0;48;2;230;189;0m▄[38;2;11;9;0;48;2;84;69;0m▄[38;2;109;90;0;48;2;17;14;0m▄[38;2;254;209;0;48;2;222;183;0m▄[48;2;255;210;0m [38;2;235;193;0;48;2;252;207;0m▄[38;2;72;59;0;48;2;95;79;0m▄[38;2;0;0;0;48;2;2;2;0m▄[48;2;0;0;0m [38;2;0;0;0;48;2;2;2;0m▄[38;2;74;61;0;48;2;101;83;0m▄[38;2;217;179;0;48;2;243;200;0m▄[48;2;255;210;0m  [38;2;255;210;0;48;2;253;208;0m▄[38;2;230;189;0;48;2;203;167;0m▄[38;2;83;69;0;48;2;26;20;0m▄[48;2;0;0;0m   [m
[49m    [48;2;0;0;0m  [38;2;0;0;0;48;2;8;6;0m▄[38;2;3;3;0;48;2;94;77;0m▄[38;2;8;7;0;48;2;145;119;0m▄[38;2;6;5;0;48;2;134;110;0m▄[38;2;3;1;0;48;2;90;74;0m▄[38;2;0;0;0;48;2;63;52;0m▄[38;2;0;0;0;48;2;41;33;0m▄[38;2;13;11;0;48;2;22;18;0m▄[38;2;116;95;0;48;2;14;11;0m▄[38;2;240;198;0;48;2;111;91;0m▄[38;2;254;209;0;48;2;226;186;0m▄[38;2;255;210;0;48;2;254;209;0m▄[48;2;255;210;0m    [38;2;235;193;0;48;2;255;210;0m▄[38;2;84;69;0;48;2;253;208;0m▄[38;2;6;5;0;48;2;120;99;0m▄[38;2;0;0;0;48;2;4;4;0m▄[48;2;0;0;0m   [49m  [38;2;0;0;0;49m▄[38;2;29;21;0;48;2;0;0;0m▄[38;2;96;79;0;48;2;0;0;0m▄[38;2;178;147;0;48;2;0;0;0m▄[38;2;230;189;0;48;2;0;0;0m▄[38;2;243;200;0;48;2;4;4;0m▄[38;2;245;202;0;48;2;50;42;0m▄[38;2;246;203;0;48;2;87;71;0m▄[38;2;240;197;0;48;2;31;26;0m▄[38;2;236;195;0;48;2;0;0;0m▄[38;2;241;197;0;48;2;0;0;0m▄[38;2;96;79;0;48;2;0;0;0m▄[48;2;0;0;0m  [38;2;0;0;0;49m▄[49m   [38;2;0;0;0;49m▄[48;2;0;0;0m [38;2;96;78;0;48;2;0;0;0m▄[38;2;219;180;0;48;2;9;7;0m▄[38;2;248;204;0;48;2;91;75;0m▄[38;2;248;204;0;48;2;116;96;0m▄[38;2;246;203;0;48;2;112;92;0m▄[38;2;246;202;0;48;2;110;90;0m▄[38;2;246;203;0;48;2;115;95;0m▄[38;2;244;201;0;48;2;67;55;0m▄[38;2;85;70;0;48;2;5;5;0m▄[38;2;122;100;0;48;2;0;0;0m▄[38;2;215;177;0;48;2;0;0;0m▄[38;2;217;179;0;48;2;0;0;0m▄[38;2;177;146;0;48;2;0;0;0m▄[38;2;101;83;0;48;2;0;0;0m▄[38;2;9;9;0;48;2;0;0;0m▄[48;2;0;0;0m   [38;2;163;134;0;48;2;106;87;0m▄[38;2;250;206;0;48;2;233;192;0m▄[48;2;255;210;0m      [38;2;92;75;0;48;2;82;67;0m▄[38;2;16;13;0;48;2;2;2;0m▄[38;2;160;132;0;48;2;96;79;0m▄[38;2;254;209;0;48;2;248;204;0m▄[48;2;255;210;0m     [38;2;223;183;0;48;2;191;157;0m▄[38;2;69;57;0;48;2;48;39;0m▄[48;2;0;0;0m  [38;2;24;19;0;48;2;0;0;0m▄[38;2;131;108;0;48;2;80;65;0m▄[38;2;252;208;0;48;2;209;172;0m▄[38;2;255;210;0;48;2;254;209;0m▄[48;2;255;210;0m  [38;2;247;203;0;48;2;255;210;0m▄[38;2;175;145;0;48;2;250;206;0m▄[38;2;49;40;0;48;2;160;132;0m▄[38;2;0;0;0;48;2;29;23;0m▄[48;2;0;0;0m      [38;2;158;131;0;48;2;131;108;0m▄[48;2;255;210;0m  [38;2;255;210;0;48;2;249;205;0m▄[38;2;173;143;0;48;2;136;112;0m▄[38;2;31;26;0;48;2;7;5;0m▄[48;2;0;0;0m [38;2;1;0;0;48;2;59;48;0m▄[38;2;179;147;0;48;2;249;205;0m▄[48;2;255;210;0m [38;2;238;196;0;48;2;244;201;0m▄[38;2;70;57;0;48;2;81;67;0m▄[38;2;90;74;0;48;2;7;6;0m▄[38;2;254;209;0;48;2;223;184;0m▄[48;2;255;210;0m  [38;2;168;138;0;48;2;196;161;0m▄[38;2;35;28;0;48;2;52;42;0m▄[48;2;0;0;0m   [38;2;79;65;0;48;2;64;54;0m▄[38;2;210;173;0;48;2;201;166;0m▄[48;2;255;210;0m   [38;2;247;204;0;48;2;242;199;0m▄[38;2;146;119;0;48;2;126;104;0m▄[48;2;0;0;0m   [m
[49m     [49;38;2;0;0;0m▀[48;2;0;0;0m     [38;2;42;34;0;48;2;0;0;0m▄[38;2;150;123;0;48;2;20;16;0m▄[38;2;253;208;0;48;2;132;107;0m▄[38;2;255;210;0;48;2;250;205;0m▄[48;2;255;210;0m    [38;2;246;202;0;48;2;255;210;0m▄[38;2;174;144;0;48;2;249;205;0m▄[38;2;52;43;0;48;2;197;161;0m▄[38;2;0;0;0;48;2;50;41;0m▄[48;2;0;0;0m      [38;2;18;14;0;48;2;0;0;0m▄[38;2;102;84;0;48;2;5;5;0m▄[38;2;217;178;0;48;2;80;65;0m▄[38;2;255;210;0;48;2;186;153;0m▄[38;2;255;210;0;48;2;252;207;0m▄[48;2;255;210;0m  [38;2;232;191;0;48;2;255;210;0m▄[38;2;213;175;0;48;2;255;210;0m▄[38;2;248;204;0;48;2;255;210;0m▄[48;2;255;210;0m   [38;2;144;118;0;48;2;174;144;0m▄[48;2;0;0;0m   [38;2;0;0;0;49m▄▄[38;2;46;39;0;48;2;0;0;0m▄[38;2;153;126;0;48;2;49;39;0m▄[38;2;248;204;0;48;2;145;118;0m▄[38;2;255;210;0;48;2;237;195;0m▄[48;2;255;210;0m  [38;2;241;198;0;48;2;255;210;0m▄[38;2;203;167;0;48;2;255;210;0m▄[38;2;200;165;0;48;2;255;210;0m▄[38;2;222;183;0;48;2;255;210;0m▄[38;2;248;204;0;48;2;255;210;0m▄[38;2;254;209;0;48;2;251;206;0m▄[38;2;255;210;0;48;2;254;209;0m▄[48;2;255;210;0m [38;2;254;209;0;48;2;255;210;0m▄[38;2;197;163;0;48;2;251;207;0m▄[38;2;37;30;0;48;2;160;131;0m▄[38;2;0;0;0;48;2;12;10;0m▄[48;2;0;0;0m  [38;2;118;99;0;48;2;59;48;0m▄[38;2;228;188;0;48;2;195;160;0m▄[48;2;255;210;0m  [38;2;241;199;0;48;2;254;209;0m▄[38;2;220;181;0;48;2;253;208;0m▄[48;2;255;210;0m   [38;2;128;105;0;48;2;108;88;0m▄[38;2;92;76;0;48;2;33;28;0m▄[38;2;255;210;0;48;2;230;190;0m▄[38;2;221;182;0;48;2;252;208;0m▄[38;2;133;109;0;48;2;215;177;0m▄[38;2;225;186;0;48;2;243;200;0m▄[48;2;255;210;0m   [38;2;253;209;0;48;2;241;198;0m▄[38;2;101;83;0;48;2;80;66;0m▄[38;2;6;4;0;48;2;0;0;0m▄[48;2;0;0;0m [38;2;102;84;0;48;2;56;45;0m▄[38;2;249;205;0;48;2;207;170;0m▄[48;2;255;210;0m    [38;2;140;115;0;48;2;210;172;0m▄[38;2;0;0;0;48;2;31;25;0m▄[48;2;0;0;0m       [38;2;69;57;0;48;2;5;5;0m▄[38;2;236;194;0;48;2;212;176;0m▄[48;2;255;210;0m   [38;2;175;144;0;48;2;186;153;0m▄[38;2;33;27;0;48;2;42;34;0m▄[48;2;0;0;0m  [38;2;16;14;0;48;2;163;133;0m▄[38;2;70;58;0;48;2;234;193;0m▄[38;2;25;20;0;48;2;144;118;0m▄[38;2;64;53;0;48;2;22;18;0m▄[38;2;235;194;0;48;2;194;160;0m▄[48;2;255;210;0m  [38;2;221;182;0;48;2;251;207;0m▄[38;2;77;63;0;48;2;117;97;0m▄[38;2;0;0;0;48;2;4;4;0m▄[48;2;0;0;0m  [38;2;19;14;0;48;2;0;0;0m▄[38;2;140;115;0;48;2;104;84;0m▄[38;2;254;209;0;48;2;234;192;0m▄[48;2;255;210;0m   [38;2;235;194;0;48;2;242;199;0m▄[38;2;103;85;0;48;2;126;104;0m▄[48;2;0;0;0m   [m
[49m       [48;2;0;0;0m  [38;2;85;70;0;48;2;0;0;0m▄[38;2;191;157;0;48;2;65;53;0m▄[38;2;250;206;0;48;2;167;138;0m▄[38;2;255;210;0;48;2;254;209;0m▄[48;2;255;210;0m    [38;2;252;207;0;48;2;255;210;0m▄[38;2;143;116;0;48;2;251;206;0m▄[38;2;40;32;0;48;2;171;141;0m▄[38;2;0;0;0;48;2;49;40;0m▄[48;2;0;0;0m       [38;2;72;59;0;48;2;0;0;0m▄[38;2;224;184;0;48;2;114;93;0m▄[38;2;255;210;0;48;2;224;185;0m▄[48;2;255;210;0m  [38;2;244;200;0;48;2;255;210;0m▄[38;2;149;122;0;48;2;252;207;0m▄[38;2;38;32;0;48;2;185;152;0m▄[38;2;8;5;0;48;2;106;87;0m▄[38;2;108;88;0;48;2;98;81;0m▄[38;2;254;209;0;48;2;242;199;0m▄[48;2;255;210;0m   [38;2;36;29;0;48;2;93;77;0m▄[48;2;0;0;0m    [38;2;38;31;0;48;2;0;0;0m▄[38;2;231;190;0;48;2;131;108;0m▄[38;2;255;210;0;48;2;245;202;0m▄[48;2;255;210;0m  [38;2;205;169;0;48;2;255;210;0m▄[38;2;70;58;0;48;2;216;178;0m▄[38;2;1;1;0;48;2;122;101;0m▄[38;2;0;0;0;48;2;52;43;0m▄[38;2;0;0;0;48;2;48;39;0m▄[38;2;66;54;0;48;2;100;82;0m▄[38;2;225;186;0;48;2;226;186;0m▄[48;2;254;209;0m [48;2;255;210;0m [38;2;254;209;0;48;2;255;210;0m▄[38;2;169;139;0;48;2;231;190;0m▄[38;2;23;19;0;48;2;96;79;0m▄[38;2;0;0;0;48;2;6;5;0m▄[48;2;0;0;0m [38;2;10;9;0;48;2;0;0;0m▄[38;2;111;92;0;48;2;32;26;0m▄[38;2;233;192;0;48;2;170;139;0m▄[38;2;255;210;0;48;2;252;208;0m▄[48;2;255;210;0m [38;2;229;188;0;48;2;255;210;0m▄[38;2;48;39;0;48;2;166;137;0m▄[38;2;170;139;0;48;2;168;139;0m▄[48;2;255;210;0m   [38;2;197;162;0;48;2;142;117;0m▄[38;2;247;203;0;48;2;185;153;0m▄[38;2;238;196;0;48;2;254;209;0m▄[38;2;111;92;0;48;2;173;143;0m▄[38;2;8;7;0;48;2;59;48;0m▄[38;2;199;164;0;48;2;215;177;0m▄[48;2;255;210;0m    [38;2;156;129;0;48;2;138;114;0m▄[38;2;26;21;0;48;2;20;16;0m▄[48;2;0;0;0m [38;2;172;141;0;48;2;155;128;0m▄[48;2;255;210;0m    [38;2;223;184;0;48;2;253;209;0m▄[38;2;2;1;0;48;2;51;42;0m▄[48;2;0;0;0m    [49;38;2;0;0;0m▀[49m [48;2;0;0;0m [38;2;40;34;0;48;2;0;0;0m▄[38;2;194;161;0;48;2;142;116;0m▄[38;2;253;208;0;48;2;245;202;0m▄[48;2;255;210;0m   [38;2;184;152;0;48;2;180;148;0m▄[38;2;41;34;0;48;2;38;31;0m▄[48;2;0;0;0m    [38;2;47;38;0;48;2;2;2;0m▄[38;2;199;164;0;48;2;144;118;0m▄[38;2;254;209;0;48;2;248;204;0m▄[48;2;255;210;0m [38;2;248;204;0;48;2;254;209;0m▄[38;2;145;119;0;48;2;186;153;0m▄[38;2;4;2;0;48;2;34;28;0m▄[48;2;0;0;0m  [38;2;8;5;0;48;2;0;0;0m▄[38;2;103;85;0;48;2;50;40;0m▄[38;2;245;202;0;48;2;198;163;0m▄[48;2;255;210;0m   [38;2;254;209;0;48;2;255;210;0m▄[38;2;218;179;0;48;2;233;192;0m▄[38;2;40;32;0;48;2;91;74;0m▄[48;2;0;0;0m   [m
[49m     [38;2;0;0;0;49m▄[38;2;10;10;0;48;2;0;0;0m▄[38;2;109;91;0;48;2;36;30;0m▄[38;2;248;205;0;48;2;116;95;0m▄[38;2;255;210;0;48;2;213;175;0m▄[38;2;255;210;0;48;2;251;206;0m▄[48;2;255;210;0m    [38;2;236;194;0;48;2;255;210;0m▄[38;2;80;66;0;48;2;250;205;0m▄[38;2;2;1;0;48;2;111;91;0m▄[38;2;0;0;0;48;2;16;13;0m▄[48;2;0;0;0m     [49;38;2;0;0;0m▀[49m [48;2;0;0;0m [38;2;74;60;0;48;2;0;0;0m▄[38;2;218;179;0;48;2;172;142;0m▄[38;2;255;210;0;48;2;252;208;0m▄[48;2;255;210;0m  [38;2;212;175;0;48;2;254;209;0m▄[38;2;73;59;0;48;2;157;129;0m▄[38;2;0;0;0;48;2;28;23;0m▄[48;2;0;0;0m [38;2;141;116;0;48;2;34;28;0m▄[38;2;255;210;0;48;2;213;176;0m▄[48;2;255;210;0m  [38;2;253;209;0;48;2;255;210;0m▄[38;2;58;47;0;48;2;206;169;0m▄[38;2;0;0;0;48;2;2;2;0m▄[38;2;51;42;0;48;2;0;0;0m▄[38;2;147;121;0;48;2;4;4;0m▄[38;2;58;48;0;48;2;5;2;0m▄[48;2;0;0;0m [38;2;213;174;0;48;2;130;107;0m▄[38;2;255;210;0;48;2;254;209;0m▄[48;2;255;210;0m  [38;2;230;190;0;48;2;255;210;0m▄[38;2;42;35;0;48;2;96;79;0m▄[38;2;0;0;0;48;2;4;2;0m▄[48;2;0;0;0m  [38;2;82;67;0;48;2;8;7;0m▄[38;2;217;178;0;48;2;152;125;0m▄[38;2;255;210;0;48;2;250;205;0m▄[48;2;255;210;0m [38;2;254;209;0;48;2;255;210;0m▄[38;2;180;149;0;48;2;219;180;0m▄[38;2;8;7;0;48;2;82;68;0m▄[38;2;0;0;0;48;2;1;0;0m▄[48;2;0;0;0m  [38;2;36;30;0;48;2;28;24;0m▄[38;2;232;190;0;48;2;188;155;0m▄[38;2;255;210;0;48;2;254;209;0m▄[48;2;255;210;0m [38;2;206;169;0;48;2;255;210;0m▄[38;2;0;0;0;48;2;103;85;0m▄[38;2;22;17;0;48;2;18;15;0m▄[38;2;189;156;0;48;2;178;146;0m▄[48;2;255;210;0m   [38;2;255;210;0;48;2;250;206;0m▄[48;2;255;210;0m [38;2;188;155;0;48;2;214;176;0m▄[38;2;21;17;0;48;2;62;50;0m▄[48;2;0;0;0m [38;2;154;126;0;48;2;176;146;0m▄[48;2;255;210;0m    [38;2;224;184;0;48;2;174;143;0m▄[38;2;44;36;0;48;2;30;25;0m▄[48;2;0;0;0m [38;2;220;181;0;48;2;195;161;0m▄[48;2;255;210;0m    [38;2;172;141;0;48;2;148;122;0m▄[48;2;0;0;0m    [49m  [38;2;0;0;0;49m▄[48;2;0;0;0m [38;2;98;81;0;48;2;75;62;0m▄[38;2;221;182;0;48;2;208;172;0m▄[48;2;255;210;0m   [38;2;252;207;0;48;2;255;210;0m▄[38;2;131;108;0;48;2;178;147;0m▄[38;2;3;1;0;48;2;35;29;0m▄[48;2;0;0;0m   [38;2;33;27;0;48;2;0;0;0m▄[38;2;163;133;0;48;2;116;95;0m▄[38;2;255;210;0;48;2;235;194;0m▄[48;2;255;210;0m  [38;2;209;172;0;48;2;231;190;0m▄[38;2;8;7;0;48;2;82;67;0m▄[48;2;0;0;0m   [38;2;170;140;0;48;2;22;17;0m▄[38;2;255;210;0;48;2;208;172;0m▄[48;2;255;210;0m    [38;2;242;199;0;48;2;250;206;0m▄[38;2;45;36;0;48;2;156;128;0m▄[38;2;0;0;0;48;2;2;2;0m▄[48;2;0;0;0m   [m
[49m  [38;2;0;0;0;49m▄▄[38;2;8;8;0;48;2;0;0;0m▄[38;2;112;92;0;48;2;16;13;0m▄[38;2;240;198;0;48;2;61;49;0m▄[38;2;255;210;0;48;2;216;178;0m▄[48;2;255;210;0m    [38;2;254;209;0;48;2;255;210;0m▄[38;2;237;195;0;48;2;254;209;0m▄[38;2;132;109;0;48;2;238;196;0m▄[38;2;16;14;0;48;2;112;91;0m▄[38;2;0;0;0;48;2;8;7;0m▄[48;2;0;0;0m     [49;38;2;0;0;0m▀[49m  [38;2;0;0;0;49m▄[48;2;0;0;0m [38;2;152;125;0;48;2;116;94;0m▄[38;2;248;204;0;48;2;229;188;0m▄[48;2;255;210;0m  [38;2;239;197;0;48;2;253;209;0m▄[38;2;111;91;0;48;2;161;132;0m▄[38;2;0;0;0;48;2;19;16;0m▄[48;2;0;0;0m [38;2;49;41;0;48;2;1;1;0m▄[38;2;253;208;0;48;2;213;175;0m▄[48;2;255;210;0m   [38;2;155;127;0;48;2;215;177;0m▄[38;2;33;27;0;48;2;13;11;0m▄[38;2;164;135;0;48;2;34;27;0m▄[38;2;207;170;0;48;2;169;138;0m▄[38;2;55;45;0;48;2;130;106;0m▄[38;2;0;0;0;48;2;1;1;0m▄[38;2;73;60;0;48;2;8;6;0m▄[38;2;245;202;0;48;2;240;197;0m▄[48;2;255;210;0m  [38;2;254;209;0;48;2;255;210;0m▄[38;2;130;107;0;48;2;172;142;0m▄[38;2;11;9;0;48;2;25;21;0m▄[48;2;0;0;0m [38;2;4;2;0;48;2;0;0;0m▄[38;2;86;70;0;48;2;31;25;0m▄[38;2;212;175;0;48;2;157;129;0m▄[38;2;255;210;0;48;2;254;209;0m▄[48;2;255;210;0m  [38;2;229;188;0;48;2;240;198;0m▄[38;2;62;51;0;48;2;95;78;0m▄[48;2;0;0;0m   [38;2;62;51;0;48;2;2;2;0m▄[38;2;244;200;0;48;2;137;113;0m▄[48;2;255;210;0m [38;2;254;209;0;48;2;255;210;0m▄[38;2;179;148;0;48;2;248;204;0m▄[38;2;27;22;0;48;2;89;72;0m▄[48;2;0;0;0m [38;2;27;23;0;48;2;24;20;0m▄[38;2;216;177;0;48;2;202;166;0m▄[48;2;255;210;0m    [38;2;234;193;0;48;2;251;207;0m▄[38;2;66;54;0;48;2;152;125;0m▄[48;2;0;0;0m  [38;2;157;129;0;48;2;149;122;0m▄[48;2;255;210;0m    [38;2;255;210;0;48;2;253;208;0m▄[38;2;133;110;0;48;2;67;54;0m▄[48;2;0;0;0m [38;2;223;183;0;48;2;234;192;0m▄[48;2;255;210;0m   [38;2;249;205;0;48;2;255;210;0m▄[38;2;29;23;0;48;2;123;102;0m▄[48;2;0;0;0m    [49m [38;2;0;0;0;49m▄[38;2;26;23;0;48;2;0;0;0m▄[38;2;133;110;0;48;2;34;27;0m▄[38;2;230;189;0;48;2;161;133;0m▄[38;2;255;210;0;48;2;251;206;0m▄[48;2;255;210;0m  [38;2;253;208;0;48;2;255;210;0m▄[38;2;166;137;0;48;2;220;181;0m▄[38;2;14;11;0;48;2;85;70;0m▄[48;2;0;0;0m   [38;2;9;9;0;48;2;0;0;0m▄[38;2;124;102;0;48;2;86;70;0m▄[38;2;247;203;0;48;2;203;167;0m▄[48;2;255;210;0m  [38;2;251;207;0;48;2;255;210;0m▄[38;2;60;49;0;48;2;160;132;0m▄[38;2;5;4;0;48;2;0;0;0m▄[38;2;48;39;0;48;2;0;0;0m▄[38;2;141;117;0;48;2;16;13;0m▄[38;2;244;201;0;48;2;121;100;0m▄[48;2;255;210;0m     [38;2;196;162;0;48;2;252;208;0m▄[38;2;11;10;0;48;2;136;112;0m▄[48;2;0;0;0m    [49;38;2;0;0;0m▀[m
[49m  [48;2;0;0;0m [38;2;116;95;0;48;2;77;63;0m▄[38;2;229;189;0;48;2;142;117;0m▄[38;2;254;209;0;48;2;234;192;0m▄[48;2;255;210;0m     [38;2;253;208;0;48;2;255;210;0m▄[38;2;137;112;0;48;2;248;204;0m▄[38;2;22;17;0;48;2;131;107;0m▄[38;2;0;0;0;48;2;20;17;0m▄[48;2;0;0;0m [38;2;23;19;0;48;2;0;0;0m▄[38;2;75;62;0;48;2;0;0;0m▄[38;2;96;79;0;48;2;0;0;0m▄[38;2;104;85;0;48;2;0;0;0m▄[38;2;113;93;0;48;2;0;0;0m▄[38;2;49;40;0;48;2;0;0;0m▄[38;2;56;47;0;48;2;0;0;0m▄[38;2;51;41;0;48;2;0;0;0m▄[48;2;0;0;0m  [38;2;34;27;0;48;2;13;11;0m▄[38;2;173;142;0;48;2;164;134;0m▄[38;2;255;210;0;48;2;254;209;0m▄[48;2;255;210;0m [38;2;254;209;0;48;2;255;210;0m▄[38;2;196;162;0;48;2;216;177;0m▄[38;2;14;11;0;48;2;56;46;0m▄[48;2;0;0;0m [38;2;95;78;0;48;2;8;7;0m▄[38;2;241;199;0;48;2;173;143;0m▄[48;2;255;210;0m   [38;2;252;207;0;48;2;254;209;0m▄[38;2;194;159;0;48;2;124;102;0m▄[38;2;248;204;0;48;2;161;132;0m▄[38;2;233;192;0;48;2;244;201;0m▄[38;2;59;49;0;48;2;125;103;0m▄[48;2;0;0;0m  [38;2;139;114;0;48;2;120;99;0m▄[38;2;250;205;0;48;2;249;205;0m▄[48;2;255;210;0m  [38;2;230;189;0;48;2;246;202;0m▄[38;2;78;64;0;48;2;93;77;0m▄[38;2;24;19;0;48;2;0;0;0m▄[38;2;104;85;0;48;2;0;0;0m▄[38;2;194;159;0;48;2;56;45;0m▄[38;2;250;205;0;48;2;185;152;0m▄[38;2;255;210;0;48;2;254;209;0m▄[48;2;255;210;0m   [38;2;225;185;0;48;2;235;193;0m▄[38;2;45;37;0;48;2;115;94;0m▄[48;2;0;0;0m  [38;2;128;104;0;48;2;26;22;0m▄[38;2;248;204;0;48;2;194;160;0m▄[48;2;255;210;0m [38;2;254;209;0;48;2;255;210;0m▄[38;2;171;141;0;48;2;230;190;0m▄[38;2;35;29;0;48;2;93;77;0m▄[38;2;0;0;0;48;2;4;4;0m▄[48;2;0;0;0m [38;2;34;28;0;48;2;32;26;0m▄[38;2;238;196;0;48;2;229;188;0m▄[48;2;255;210;0m    [38;2;106;88;0;48;2;187;154;0m▄[38;2;0;0;0;48;2;3;3;0m▄[48;2;0;0;0m  [38;2;182;150;0;48;2;170;140;0m▄[48;2;255;210;0m     [38;2;157;129;0;48;2;164;135;0m▄[48;2;0;0;0m [38;2;127;105;0;48;2;177;146;0m▄[48;2;255;210;0m   [38;2;249;204;0;48;2;238;196;0m▄[48;2;0;0;0m      [38;2;111;91;0;48;2;0;0;0m▄[38;2;228;187;0;48;2;131;109;0m▄[38;2;255;210;0;48;2;227;187;0m▄[48;2;255;210;0m    [38;2;206;170;0;48;2;240;197;0m▄[38;2;34;27;0;48;2;112;92;0m▄[48;2;0;0;0m    [38;2;60;48;0;48;2;44;35;0m▄[38;2;213;175;0;48;2;170;140;0m▄[48;2;255;210;0m   [38;2;220;181;0;48;2;204;168;0m▄[38;2;193;159;0;48;2;50;40;0m▄[38;2;231;190;0;48;2;110;91;0m▄[38;2;254;209;0;48;2;193;159;0m▄[38;2;255;210;0;48;2;245;202;0m▄[48;2;255;210;0m   [38;2;254;209;0;48;2;255;210;0m▄[38;2;192;158;0;48;2;255;210;0m▄[38;2;82;67;0;48;2;212;174;0m▄[38;2;7;6;0;48;2;62;50;0m▄[48;2;0;0;0m    [49;38;2;0;0;0m▀[49m [m
[49m [48;2;0;0;0m  [38;2;62;50;0;48;2;102;82;0m▄[38;2;214;176;0;48;2;226;186;0m▄[48;2;255;210;0m     [48;2;249;205;0m [38;2;253;208;0;48;2;126;103;0m▄[38;2;255;210;0;48;2;76;62;0m▄[38;2;255;210;0;48;2;104;86;0m▄[38;2;255;210;0;48;2;147;121;0m▄[38;2;255;210;0;48;2;196;161;0m▄[38;2;255;210;0;48;2;218;179;0m▄[38;2;255;210;0;48;2;229;188;0m▄[38;2;255;210;0;48;2;230;189;0m▄▄[38;2;255;210;0;48;2;234;193;0m▄[38;2;255;210;0;48;2;218;180;0m▄[38;2;255;210;0;48;2;220;181;0m▄[38;2;255;210;0;48;2;208;171;0m▄[38;2;245;202;0;48;2;42;34;0m▄[38;2;140;115;0;48;2;0;0;0m▄[38;2;9;7;0;48;2;23;18;0m▄[38;2;149;123;0;48;2;166;137;0m▄[38;2;254;209;0;48;2;255;210;0m▄[48;2;255;210;0m [38;2;251;207;0;48;2;252;207;0m▄[38;2;151;124;0;48;2;164;135;0m▄[38;2;61;50;0;48;2;0;0;0m▄[38;2;204;169;0;48;2;63;52;0m▄[38;2;255;210;0;48;2;208;172;0m▄[48;2;255;210;0m    [38;2;255;210;0;48;2;254;209;0m▄[38;2;255;210;0;48;2;252;207;0m▄[38;2;255;210;0;48;2;254;209;0m▄[38;2;255;210;0;48;2;245;202;0m▄[38;2;227;187;0;48;2;158;130;0m▄[38;2;88;72;0;48;2;71;59;0m▄[48;2;0;0;0m [38;2;53;44;0;48;2;116;96;0m▄[38;2;244;201;0;48;2;248;204;0m▄[48;2;255;210;0m  [38;2;255;210;0;48;2;248;205;0m▄[38;2;255;210;0;48;2;214;176;0m▄[38;2;255;210;0;48;2;213;175;0m▄[38;2;255;210;0;48;2;236;194;0m▄[38;2;255;210;0;48;2;254;209;0m▄[48;2;255;210;0m    [38;2;236;194;0;48;2;255;210;0m▄[38;2;5;4;0;48;2;129;106;0m▄[38;2;0;0;0;48;2;1;1;0m▄[38;2;49;40;0;48;2;0;0;0m▄[38;2;189;156;0;48;2;58;47;0m▄[38;2;252;207;0;48;2;216;178;0m▄[38;2;255;210;0;48;2;254;209;0m▄[48;2;255;210;0m [38;2;197;161;0;48;2;235;193;0m▄[38;2;36;29;0;48;2;103;86;0m▄[38;2;0;0;0;48;2;2;2;0m▄[48;2;0;0;0m  [38;2;170;140;0;48;2;50;42;0m▄[38;2;249;205;0;48;2;245;202;0m▄[48;2;255;210;0m   [38;2;150;123;0;48;2;243;200;0m▄[38;2;0;0;0;48;2;16;13;0m▄[48;2;0;0;0m   [38;2;212;176;0;48;2;198;164;0m▄[48;2;255;210;0m     [38;2;173;142;0;48;2;168;138;0m▄[48;2;0;0;0m [38;2;29;24;0;48;2;62;50;0m▄[38;2;173;142;0;48;2;246;202;0m▄[48;2;255;210;0m  [38;2;255;210;0;48;2;254;209;0m▄[38;2;144;119;0;48;2;4;3;0m▄[48;2;0;0;0m [38;2;6;4;0;48;2;0;0;0m▄[38;2;75;62;0;48;2;0;0;0m▄[38;2;197;163;0;48;2;0;0;0m▄[38;2;250;206;0;48;2;101;83;0m▄[38;2;255;210;0;48;2;234;193;0m▄[48;2;255;210;0m    [38;2;253;208;0;48;2;255;210;0m▄[38;2;76;62;0;48;2;254;209;0m▄[38;2;0;0;0;48;2;86;71;0m▄[38;2;0;0;0;48;2;1;0;0m▄[48;2;0;0;0m    [38;2;191;157;0;48;2;61;49;0m▄[38;2;255;210;0;48;2;245;201;0m▄[48;2;255;210;0m          [38;2;229;188;0;48;2;254;209;0m▄[38;2;73;60;0;48;2;204;168;0m▄[38;2;0;0;0;48;2;63;53;0m▄[38;2;0;0;0;48;2;5;4;0m▄[48;2;0;0;0m    [49;38;2;0;0;0m▀[49m  [m
[49m [49;38;2;0;0;0m▀[48;2;0;0;0m [38;2;0;0;0;48;2;15;12;0m▄[38;2;118;96;0;48;2;191;158;0m▄[38;2;241;198;0;48;2;253;208;0m▄[48;2;255;210;0m             [38;2;254;209;0;48;2;255;210;0m▄[38;2;250;206;0;48;2;255;210;0m▄[38;2;252;207;0;48;2;255;210;0m▄[48;2;255;210;0m   [38;2;217;179;0;48;2;227;187;0m▄[38;2;61;50;0;48;2;83;68;0m▄[38;2;44;37;0;48;2;111;93;0m▄[38;2;198;162;0;48;2;240;198;0m▄[38;2;253;209;0;48;2;255;210;0m▄[38;2;255;210;0;48;2;254;209;0m▄[38;2;255;210;0;48;2;247;203;0m▄[38;2;255;210;0;48;2;242;199;0m▄[48;2;255;210;0m  [38;2;253;208;0;48;2;255;210;0m▄[38;2;185;152;0;48;2;255;210;0m▄[38;2;212;175;0;48;2;255;210;0m▄[38;2;251;207;0;48;2;255;210;0m▄[48;2;255;210;0m  [38;2;254;209;0;48;2;255;210;0m▄[38;2;192;158;0;48;2;251;207;0m▄[38;2;55;45;0;48;2;177;146;0m▄[38;2;0;0;0;48;2;21;17;0m▄[48;2;0;0;0m  [38;2;50;42;0;48;2;186;153;0m▄[38;2;171;141;0;48;2;253;208;0m▄[38;2;184;152;0;48;2;255;210;0m▄[38;2;198;163;0;48;2;255;210;0m▄[38;2;194;160;0;48;2;255;210;0m▄[38;2;161;133;0;48;2;250;205;0m▄[38;2;105;87;0;48;2;232;191;0m▄[38;2;214;176;0;48;2;243;200;0m▄[48;2;255;210;0m   [38;2;253;208;0;48;2;255;210;0m▄[38;2;85;71;0;48;2;134;111;0m▄[38;2;5;4;0;48;2;0;0;0m▄[38;2;102;83;0;48;2;48;39;0m▄[38;2;240;197;0;48;2;187;154;0m▄[48;2;255;210;0m  [38;2;254;209;0;48;2;255;210;0m▄[38;2;169;140;0;48;2;242;199;0m▄[38;2;22;18;0;48;2;117;96;0m▄[48;2;0;0;0m    [38;2;51;42;0;48;2;120;98;0m▄[38;2;248;204;0;48;2;254;209;0m▄[48;2;255;210;0m  [38;2;240;197;0;48;2;255;210;0m▄[38;2;41;34;0;48;2;89;73;0m▄[48;2;0;0;0m   [38;2;72;58;0;48;2;28;23;0m▄[38;2;227;186;0;48;2;220;181;0m▄[48;2;255;210;0m  [38;2;252;208;0;48;2;255;210;0m▄[38;2;251;206;0;48;2;255;210;0m▄[38;2;221;183;0;48;2;254;209;0m▄[38;2;75;62;0;48;2;149;123;0m▄[48;2;0;0;0m [38;2;0;0;0;48;2;1;0;0m▄[38;2;8;6;0;48;2;65;54;0m▄[38;2;88;72;0;48;2;214;177;0m▄[38;2;203;167;0;48;2;252;207;0m▄[38;2;249;205;0;48;2;255;210;0m▄[48;2;255;210;0m [38;2;255;210;0;48;2;227;187;0m▄[38;2;255;210;0;48;2;224;185;0m▄[38;2;255;210;0;48;2;253;208;0m▄[48;2;255;210;0m    [38;2;254;209;0;48;2;255;210;0m▄[38;2;233;192;0;48;2;255;210;0m▄[38;2;156;128;0;48;2;245;201;0m▄[38;2;18;14;0;48;2;141;115;0m▄[48;2;0;0;0m     [38;2;20;18;0;48;2;7;4;0m▄[38;2;240;198;0;48;2;170;140;0m▄[48;2;255;210;0m      [38;2;248;204;0;48;2;255;210;0m▄[38;2;214;176;0;48;2;255;210;0m▄[38;2;179;147;0;48;2;252;208;0m▄[38;2;175;144;0;48;2;251;206;0m▄[38;2;153;126;0;48;2;246;203;0m▄[38;2;13;10;0;48;2;161;133;0m▄[38;2;0;0;0;48;2;7;5;0m▄[48;2;0;0;0m     [49;38;2;0;0;0m▀[49m    [m
[49m  [48;2;0;0;0m  [38;2;0;0;0;48;2;24;20;0m▄[38;2;44;36;0;48;2;175;143;0m▄[38;2;56;46;0;48;2;209;172;0m▄[38;2;86;71;0;48;2;217;179;0m▄[38;2;170;140;0;48;2;252;208;0m▄[38;2;160;132;0;48;2;255;210;0m▄[38;2;119;98;0;48;2;255;210;0m▄[38;2;118;97;0;48;2;255;210;0m▄[38;2;74;60;0;48;2;241;198;0m▄[38;2;33;28;0;48;2;176;145;0m▄[38;2;16;13;0;48;2;150;124;0m▄[38;2;21;18;0;48;2;157;129;0m▄[38;2;27;22;0;48;2;165;135;0m▄[38;2;14;12;0;48;2;148;121;0m▄[38;2;1;1;0;48;2;130;107;0m▄[38;2;15;13;0;48;2;149;121;0m▄[38;2;2;2;0;48;2;126;104;0m▄[38;2;13;11;0;48;2;143;117;0m▄[38;2;38;31;0;48;2;181;149;0m▄[38;2;55;46;0;48;2;210;173;0m▄[38;2;19;16;0;48;2;156;128;0m▄[38;2;17;13;0;48;2;129;105;0m▄[38;2;0;0;0;48;2;17;14;0m▄[38;2;0;0;0;48;2;1;1;0m▄[38;2;1;1;0;48;2;82;68;0m▄[38;2;59;47;0;48;2;209;173;0m▄[38;2;122;101;0;48;2;255;210;0m▄[38;2;169;139;0;48;2;255;210;0m▄[38;2;170;140;0;48;2;255;210;0m▄[38;2;124;102;0;48;2;254;209;0m▄[38;2;62;51;0;48;2;218;179;0m▄[38;2;3;2;0;48;2;132;107;0m▄[38;2;0;0;0;48;2;16;14;0m▄[38;2;4;4;0;48;2;68;56;0m▄[38;2;41;33;0;48;2;182;150;0m▄[38;2;99;82;0;48;2;246;203;0m▄[38;2;83;67;0;48;2;240;198;0m▄[38;2;24;19;0;48;2;161;133;0m▄[38;2;0;0;0;48;2;48;40;0m▄[38;2;22;18;0;48;2;11;9;0m▄[38;2;126;103;0;48;2;50;41;0m▄[38;2;196;162;0;48;2;60;49;0m▄[38;2;195;161;0;48;2;32;27;0m▄[38;2;129;105;0;48;2;1;0;0m▄[38;2;59;49;0;48;2;1;1;0m▄[38;2;0;0;0;48;2;15;12;0m▄[38;2;0;0;0;48;2;41;33;0m▄[38;2;0;0;0;48;2;33;28;0m▄[38;2;0;0;0;48;2;3;2;0m▄[38;2;180;148;0;48;2;82;68;0m▄[38;2;255;210;0;48;2;254;209;0m▄[48;2;255;210;0m   [38;2;166;137;0;48;2;224;184;0m▄[38;2;10;8;0;48;2;25;21;0m▄[38;2;0;0;0;48;2;6;5;0m▄[38;2;18;14;0;48;2;93;77;0m▄[38;2;94;77;0;48;2;218;179;0m▄[38;2;151;124;0;48;2;255;210;0m▄[38;2;133;110;0;48;2;255;210;0m▄[38;2;57;47;0;48;2;209;172;0m▄[38;2;0;0;0;48;2;30;25;0m▄[48;2;0;0;0m     [38;2;2;0;0;48;2;22;18;0m▄[38;2;26;22;0;48;2;150;123;0m▄[38;2;53;44;0;48;2;204;168;0m▄[38;2;60;49;0;48;2;218;179;0m▄[38;2;25;21;0;48;2;142;116;0m▄[48;2;0;0;0m   [38;2;9;7;0;48;2;0;0;0m▄[38;2;165;136;0;48;2;123;101;0m▄[38;2;250;206;0;48;2;238;196;0m▄[38;2;194;159;0;48;2;255;210;0m▄[38;2;70;57;0;48;2;227;187;0m▄[38;2;27;22;0;48;2;164;135;0m▄[38;2;5;4;0;48;2;128;104;0m▄[38;2;0;0;0;48;2;79;65;0m▄[38;2;0;0;0;48;2;11;8;0m▄[48;2;0;0;0m   [38;2;0;0;0;48;2;2;2;0m▄[38;2;0;0;0;48;2;67;55;0m▄[38;2;26;22;0;48;2;156;129;0m▄[38;2;88;73;0;48;2;250;206;0m▄[38;2;158;130;0;48;2;255;210;0m▄[38;2;205;169;0;48;2;255;210;0m▄[38;2;248;204;0;48;2;255;210;0m▄[48;2;255;210;0m [38;2;253;209;0;48;2;255;210;0m▄[38;2;225;185;0;48;2;255;210;0m▄[38;2;164;135;0;48;2;253;209;0m▄[38;2;93;76;0;48;2;215;177;0m▄[38;2;11;8;0;48;2;111;92;0m▄[38;2;0;0;0;48;2;28;22;0m▄[38;2;0;0;0;48;2;1;1;0m▄[48;2;0;0;0m     [38;2;0;0;0;48;2;8;6;0m▄[38;2;0;0;0;48;2;117;96;0m▄[38;2;29;24;0;48;2;163;134;0m▄[38;2;109;90;0;48;2;232;191;0m▄[38;2;119;98;0;48;2;248;204;0m▄[38;2;81;67;0;48;2;243;200;0m▄[38;2;109;89;0;48;2;253;208;0m▄[38;2;63;52;0;48;2;224;185;0m▄[38;2;19;16;0;48;2;146;120;0m▄[38;2;0;0;0;48;2;66;55;0m▄[38;2;0;0;0;48;2;19;15;0m▄[38;2;0;0;0;48;2;23;19;0m▄[38;2;0;0;0;48;2;12;9;0m▄[48;2;0;0;0m     [49;38;2;0;0;0m▀[49m      [m
[49m   [48;2;0;0;0m    [38;2;0;0;0;48;2;10;7;0m▄[38;2;0;0;0;48;2;28;22;0m▄[38;2;0;0;0;48;2;25;20;0m▄[38;2;0;0;0;48;2;11;9;0m▄[38;2;0;0;0;48;2;12;9;0m▄[48;2;0;0;0m                  [38;2;0;0;0;48;2;15;12;0m▄[38;2;0;0;0;48;2;28;23;0m▄[38;2;0;0;0;48;2;27;23;0m▄[38;2;0;0;0;48;2;14;12;0m▄[38;2;0;0;0;48;2;1;1;0m▄[48;2;0;0;0m    [38;2;0;0;0;48;2;8;7;0m▄[38;2;0;0;0;48;2;3;3;0m▄[48;2;0;0;0m [38;2;5;5;0;48;2;42;33;0m▄[38;2;64;53;0;48;2;188;155;0m▄[38;2;186;153;0;48;2;212;175;0m▄[38;2;253;208;0;48;2;240;198;0m▄[38;2;255;210;0;48;2;251;207;0m▄[38;2;255;210;0;48;2;239;197;0m▄[38;2;254;209;0;48;2;214;176;0m▄[38;2;211;174;0;48;2;102;83;0m▄[38;2;46;38;0;48;2;0;0;0m▄[48;2;0;0;0m [38;2;141;116;0;48;2;31;27;0m▄[38;2;250;206;0;48;2;236;195;0m▄[48;2;255;210;0m   [38;2;253;208;0;48;2;255;210;0m▄[38;2;67;55;0;48;2;143;117;0m▄[38;2;1;1;0;48;2;9;6;0m▄[48;2;0;0;0m  [38;2;0;0;0;48;2;12;10;0m▄[38;2;0;0;0;48;2;24;20;0m▄[38;2;0;0;0;48;2;17;14;0m▄[48;2;0;0;0m     [49;38;2;0;0;0m▀[48;2;0;0;0m         [38;2;0;0;0;48;2;2;2;0m▄[38;2;0;0;0;48;2;33;27;0m▄[38;2;0;0;0;48;2;49;40;0m▄[38;2;0;0;0;48;2;34;28;0m▄[38;2;0;0;0;48;2;1;0;0m▄[48;2;0;0;0m          [38;2;0;0;0;48;2;3;3;0m▄[38;2;0;0;0;48;2;25;21;0m▄[38;2;0;0;0;48;2;37;31;0m▄[38;2;0;0;0;48;2;57;48;0m▄[38;2;0;0;0;48;2;79;65;0m▄[38;2;0;0;0;48;2;57;47;0m▄[38;2;0;0;0;48;2;40;33;0m▄[38;2;0;0;0;48;2;25;21;0m▄[38;2;0;0;0;48;2;11;9;0m▄[48;2;0;0;0m     [49;38;2;0;0;0m▀[49m [49;38;2;0;0;0m▀[48;2;0;0;0m   [38;2;0;0;0;48;2;14;11;0m▄[38;2;0;0;0;48;2;13;11;0m▄[38;2;0;0;0;48;2;2;1;0m▄[38;2;0;0;0;48;2;9;7;0m▄[48;2;0;0;0m        [49;38;2;0;0;0m▀▀[49m        [m
[49m    [49;38;2;0;0;0m▀▀[48;2;0;0;0m          [49;38;2;0;0;0m▀▀▀▀▀▀[48;2;0;0;0m    [49;38;2;0;0;0m▀▀▀[48;2;0;0;0m               [38;2;0;0;0;48;2;26;21;0m▄[38;2;46;38;0;48;2;162;133;0m▄[38;2;197;162;0;48;2;248;204;0m▄[38;2;254;209;0;48;2;255;210;0m▄[48;2;255;210;0m [38;2;255;210;0;48;2;249;205;0m▄[38;2;255;210;0;48;2;167;138;0m▄[38;2;255;210;0;48;2;146;121;0m▄[38;2;255;210;0;48;2;242;200;0m▄[48;2;255;210;0m   [38;2;239;197;0;48;2;254;209;0m▄[38;2;102;85;0;48;2;189;155;0m▄[38;2;5;4;0;48;2;31;25;0m▄[48;2;0;0;0m         [49;38;2;0;0;0m▀[49m   [49;38;2;0;0;0m▀▀[48;2;0;0;0m   [49;38;2;0;0;0m▀▀▀[48;2;0;0;0m       [49;38;2;0;0;0m▀▀[49m    [49;38;2;0;0;0m▀▀[48;2;0;0;0m           [49;38;2;0;0;0m▀[49m      [49;38;2;0;0;0m▀[48;2;0;0;0m        [49;38;2;0;0;0m▀▀▀[49m            [m
[49m                                         [49;38;2;0;0;0m▀▀[48;2;0;0;0m   [38;2;36;30;0;48;2;124;102;0m▄[38;2;231;190;0;48;2;249;205;0m▄[48;2;255;210;0m       [38;2;235;194;0;48;2;254;209;0m▄[38;2;119;98;0;48;2;188;155;0m▄[38;2;5;4;0;48;2;43;35;0m▄[48;2;0;0;0m    [49m                   [49;38;2;0;0;0m▀▀▀▀[49m            [49;38;2;0;0;0m▀▀▀▀▀▀▀[49m                                 [m
[49m                                            [48;2;0;0;0m  [38;2;0;0;0;48;2;5;4;0m▄[38;2;137;113;0;48;2;229;188;0m▄[38;2;239;197;0;48;2;255;210;0m▄[38;2;246;202;0;48;2;255;210;0m▄[38;2;253;208;0;48;2;255;210;0m▄[48;2;255;210;0m  [38;2;251;206;0;48;2;255;210;0m▄[38;2;209;172;0;48;2;253;208;0m▄[38;2;41;33;0;48;2;184;152;0m▄[38;2;0;0;0;48;2;32;26;0m▄[48;2;0;0;0m    [49m                                                                            [m
[49m                                             [48;2;0;0;0m   [38;2;0;0;0;48;2;13;11;0m▄[38;2;12;9;0;48;2;97;81;0m▄[38;2;66;54;0;48;2;206;169;0m▄[38;2;90;74;0;48;2;232;191;0m▄[38;2;47;39;0;48;2;221;182;0m▄[38;2;2;1;0;48;2;159;131;0m▄[38;2;0;0;0;48;2;28;23;0m▄[48;2;0;0;0m     [49m                                                                             [m
[49m                                              [49;38;2;0;0;0m▀[48;2;0;0;0m           [49;38;2;0;0;0m▀[49m                                                                              [m
[49m                                                [49;38;2;0;0;0m▀▀▀▀▀▀▀▀[49m                                                                                 [m
-----------------------------------------------------------------------------------------------------------------------------------------
                                                        QWRT R24.9.9 Mod By Zag
-----------------------------------------------------------------------------------------------------------------------------------------
EOF

            echo "QWRT芝麻开门..."
            echo 0xDEADBEEF > /etc/config/google_fu_mode

            echo "卸载冲突插件..."    
            opkg remove luci-i18n-samba-en luci-i18n-samba-zh-cn autosamba luci-app-samba samba36-server iperf3 luci-i18n-wol-en luci-i18n-wol-zh-cn luci-app-wol wol

            echo "安装常用插件..."
            # 定义要安装的软件包列表
            #packages_2="luci-app-samba4 luci-i18n-samba4-zh-cn luci-app-quickstart luci-i18n-quickstart-zh-cn luci-app-store luci-app-ssr-plus luci-i18n-ssr-plus-zh-cn luci-app-passwall luci-i18n-passwall-zh-cn luci-app-linkease luci-i18n-linkease-zh-cn luci-app-advancedplus luci-i18n-advancedplus-zh-cn luci-app-dockerman luci-i18n-dockerman-zh-cn luci-theme-design luci-theme-argon-mod openssh-sftp-server fuse3-utils luci-app-poweroffdevice luci-i18n-poweroffdevice-zh-cn luci-theme-kucat luci-app-openclash luci-app-homebox luci-i18n-homebox-zh-cn luci-app-netspeedtest luci-i18n-netspeedtest-zh-cn luci-app-wolplus luci-i18n-wolplus-zh-cn luci-app-natter2 luci-i18n-natter2-zh-cn zsh git git-http"
            packages_2="luci-app-samba4 luci-i18n-samba4-zh-cn luci-app-quickstart luci-i18n-quickstart-zh-cn luci-app-store luci-app-ssr-plus luci-i18n-ssr-plus-zh-cn luci-app-passwall luci-i18n-passwall-zh-cn luci-app-linkease luci-i18n-linkease-zh-cn luci-app-passwall2 luci-i18n-passwall2-zh-cn luci-app-openclash luci-app-nekoclash luci-app-istoreenhance luci-i18n-istoreenhance-zh-cn luci-app-dockerman luci-i18n-dockerman-zh-cn luci-theme-design openssh-sftp-server fuse3-utils luci-app-poweroffdevice luci-i18n-poweroffdevice-zh-cn luci-app-openclash luci-app-homebox luci-i18n-homebox-zh-cn luci-app-netspeedtest luci-i18n-netspeedtest-zh-cn luci-app-wolplus luci-i18n-wolplus-zh-cn luci-app-natter2 luci-i18n-natter2-zh-cn zsh git git-http"
            while [ $attempt -le $max_attempts ]; do
                echo "安装尝试 #$attempt"
                all_installed=true
                for pkg in $packages_2; do
                    # 检查软件包是否已安装
                    opkg list-installed | grep -q "^$pkg "
                    if [ $? -eq 0 ]; then
                        echo "$pkg 已安装"
                    else
                        echo "$pkg 未安装，尝试安装..."
                        opkg install $pkg
                        if [ $? -eq 0 ]; then
                            echo "$pkg 安装成功"
                        else
                            echo "$pkg 安装失败"
                            all_installed=false
                        fi
                    fi
                done
                if $all_installed; then
                    echo "所有软件包在第 $attempt 次尝试后已成功安装。"
                    break
                else
                    if [ $attempt -eq $max_attempts ]; then
                        echo "经过 $max_attempts 次尝试，仍有软件包未能成功安装,请检查网络环境和软件源，请尝试更新软件源后重试或者手动安装。"
                    fi
                fi
                attempt=$((attempt + 1))
            done

            echo "设置zsh为默认shell并美化"
            sed -i 's|/bin/ash|/usr/bin/zsh|' /etc/passwd
            wget -O /bin/neofetch "https://pcat.qsim.top/auto/neofetch" && chmod +x /bin/neofetch
            wget https://pcat.qsim.top/auto/root.zip -O /tmp/root.zip && unzip -o /tmp/root.zip -d /root
            sed -i '/\/usr\/bin\/zsh/s/^/#/' /etc/profile
            
            echo "个性化固件已完成。有些设置需要重启路由器才能生效。"
            echo "按回车返回菜单"
            read -r
            main_menu
            ;;
        3)
            echo "正在个性化固件PhotonicatWrt-24.04-r6322..."
            echo "安装会占用一定时间，请耐心等待..."
            echo "添加作者信息..."
            sed -i "/DISTRIB_DESCRIPTION/ { /Mod by Zag@https:\/\/pcat.qsim.top/b; s/'\(.*\)'/'\1 Mod by Zag@https:\/\/pcat.qsim.top'/; }" /etc/openwrt_release
            echo "美化终端(修改banner)"
            cat <<'EOF' > /etc/banner
[49m                                                                                                                    [m
[49m        [38;2;248;228;27;49m▄[38;2;252;223;30;49m▄[38;2;252;224;31;48;2;246;220;26m▄[38;2;248;219;30;48;2;251;226;29m▄[38;2;250;222;30;49m▄[38;2;249;223;26;49m▄[49m                                                                                                      [m
[49m     [38;2;253;225;30;49m▄[38;2;252;223;31;48;2;255;221;17m▄[38;2;252;223;32;48;2;251;224;31m▄[38;2;252;223;32;48;2;252;222;32m▄[48;2;252;223;32m [38;2;252;223;32;48;2;252;222;31m▄[49m [49;38;2;255;228;27m▀[49;38;2;252;224;29m▀[38;2;255;219;29;48;2;251;225;30m▄[38;2;252;223;31;48;2;245;224;20m▄[38;2;251;223;30;49m▄[49m                                                                                                   [m
[49m  [38;2;249;222;30;49m▄[38;2;252;223;32;48;2;252;225;30m▄[38;2;252;223;32;48;2;252;224;31m▄[48;2;252;223;32m     [38;2;253;223;31;48;2;251;222;32m▄[49m     [49;38;2;247;219;28m▀[49;38;2;251;222;30m▀[38;2;250;220;29;48;2;249;223;29m▄[38;2;252;224;31;49m▄[49m                                                                                                [m
[49m  [38;2;250;223;30;48;2;251;224;31m▄[49;38;2;244;222;22m▀[49;38;2;252;224;31m▀[38;2;250;222;27;48;2;252;223;31m▄[38;2;251;223;31;48;2;252;223;32m▄[38;2;252;223;31;48;2;252;223;32m▄[48;2;252;223;32m [38;2;251;223;32;48;2;252;223;32m▄[38;2;252;223;32;48;2;253;223;32m▄[49m    [38;2;246;221;26;49m▄[38;2;252;224;31;49m▄[38;2;251;223;32;48;2;255;227;28m▄[38;2;251;223;32;48;2;252;224;31m▄[38;2;251;222;32;48;2;252;223;31m▄[49m       [38;2;246;219;27;49m▄[38;2;251;222;29;49m▄[38;2;251;226;29;49m▄[38;2;251;223;28;49m▄[38;2;252;224;28;49m▄[38;2;252;227;31;49m▄[38;2;251;225;27;49m▄[49m  [38;2;255;220;23;49m▄[38;2;251;223;29;49m▄[49m     [38;2;248;224;28;49m▄[38;2;255;231;24;49m▄[49m  [38;2;251;224;31;49m▄[38;2;252;227;28;49m▄[38;2;248;224;31;49m▄[38;2;252;227;31;49m▄[38;2;248;224;31;49m▄[38;2;251;224;27;49m▄[49m  [38;2;237;219;18;49m▄[38;2;252;224;28;49m▄[38;2;252;227;28;49m▄[38;2;248;224;31;49m▄[38;2;252;227;31;49m▄[38;2;252;227;28;49m▄[38;2;251;226;29;49m▄[38;2;248;221;30;49m▄[38;2;244;223;21;49m▄[49m  [38;2;251;224;27;49m▄[38;2;252;224;28;49m▄[38;2;248;224;31;49m▄▄[38;2;252;224;31;49m▄[38;2;251;225;30;49m▄[49m  [38;2;255;224;31;49m▄[38;2;248;224;28;49m▄[38;2;251;223;29;49m▄[38;2;245;226;20;49m▄[49m   [38;2;248;222;30;49m▄[38;2;240;210;30;49m▄[49m [38;2;245;219;30;49m▄[38;2;255;223;16;49m▄[49m  [38;2;248;221;30;49m▄[38;2;248;224;31;49m▄▄▄[38;2;252;224;31;49m▄▄[38;2;248;222;29;49m▄[49m       [38;2;251;225;27;49m▄[38;2;252;224;31;49m▄[38;2;244;218;30;49m▄[49m [38;2;238;221;17;49m▄[38;2;248;221;31;49m▄[38;2;251;223;28;49m▄[38;2;248;224;28;49m▄[38;2;252;224;31;49m▄[38;2;248;224;31;49m▄[38;2;252;227;31;49m▄[38;2;252;225;30;49m▄[38;2;246;219;27;49m▄[49m [m
[49m  [38;2;250;222;30;48;2;251;223;31m▄[49m    [49;38;2;252;224;28m▀[49;38;2;251;222;31m▀[38;2;250;223;30;48;2;252;223;32m▄[38;2;253;223;31;48;2;252;224;31m▄[38;2;238;221;17;49m▄[38;2;253;226;29;49m▄[38;2;252;224;31;48;2;255;225;15m▄[38;2;252;222;32;48;2;253;223;30m▄[38;2;251;222;32;48;2;251;223;31m▄[38;2;252;223;32;48;2;252;222;32m▄[38;2;252;223;32;48;2;251;223;32m▄[38;2;251;223;32;48;2;251;222;32m▄▄[49m       [49;38;2;250;222;30m▀[49;38;2;252;224;31m▀[49;38;2;252;222;31m▀▀▀[49;38;2;251;221;31m▀[38;2;247;219;28;48;2;251;224;31m▄[38;2;252;223;31;48;2;251;225;30m▄[49m [48;2;252;223;32m [38;2;252;223;31;48;2;252;222;30m▄[38;2;251;222;29;49m▄[38;2;251;223;28;49m▄[38;2;251;222;29;49m▄[38;2;251;223;28;49m▄[38;2;251;221;30;49m▄[38;2;252;224;31;48;2;253;226;31m▄[38;2;252;237;28;48;2;252;234;27m▄[49m [38;2;252;223;32;48;2;252;225;30m▄[38;2;255;223;32;48;2;251;224;31m▄[49;38;2;251;222;31m▀[49;38;2;251;221;31m▀[49;38;2;251;222;31m▀▀[38;2;248;220;32;48;2;251;221;31m▄[38;2;252;223;32;48;2;251;223;31m▄[49m [49;38;2;248;218;30m▀[49;38;2;252;222;31m▀[49;38;2;251;221;31m▀[49;38;2;251;222;31m▀[38;2;252;223;32;48;2;252;224;31m▄[38;2;248;221;28;48;2;251;223;31m▄[49;38;2;251;222;31m▀▀[49;38;2;246;216;30m▀[49m [38;2;253;225;31;48;2;252;226;30m▄[38;2;252;222;30;48;2;251;223;32m▄[49;38;2;251;222;31m▀▀▀▀[38;2;251;222;29;48;2;251;224;31m▄[38;2;253;225;31;48;2;252;226;29m▄[49m [38;2;252;225;30;48;2;252;223;32m▄[38;2;253;227;31;48;2;252;223;32m▄[49;38;2;251;222;32m▀[38;2;252;224;31;48;2;252;223;32m▄[38;2;252;223;30;48;2;255;227;14m▄[49m  [38;2;252;223;32;48;2;252;224;32m▄[38;2;247;220;31;48;2;247;216;31m▄[49m [48;2;252;223;31m [38;2;250;223;28;48;2;255;228;27m▄[49m [48;2;252;224;31m [38;2;252;220;31;48;2;251;222;31m▄[49;38;2;251;222;31m▀▀▀▀▀[49;38;2;252;222;32m▀[49m    [38;2;255;225;15;49m▄[38;2;251;224;31;49m▄[38;2;253;224;31;48;2;251;224;31m▄[38;2;243;220;23;48;2;252;223;31m▄[38;2;252;221;30;48;2;251;222;31m▄[38;2;247;220;32;48;2;251;221;31m▄[49m [49;38;2;248;219;29m▀[49;38;2;251;222;31m▀▀[49;38;2;251;221;31m▀[38;2;252;222;31;48;2;252;224;31m▄[38;2;247;216;31;48;2;251;221;31m▄[49;38;2;251;222;31m▀▀[49;38;2;251;220;27m▀[49m [m
[49m  [38;2;250;223;30;48;2;250;223;31m▄[49m  [38;2;238;221;17;49m▄[38;2;250;222;30;49m▄[49m    [38;2;252;223;31;48;2;251;223;31m▄[38;2;251;223;32;48;2;252;223;32m▄[38;2;251;222;31;48;2;251;223;32m▄[38;2;252;223;32;48;2;252;222;32m▄[38;2;250;224;31;48;2;251;222;32m▄[38;2;252;222;31;48;2;252;223;32m▄[38;2;252;223;32;48;2;251;222;32m▄[38;2;251;223;32;48;2;252;223;32m▄[48;2;251;223;32m [49m       [38;2;251;223;31;48;2;251;222;30m▄[38;2;253;226;30;48;2;250;222;31m▄[38;2;249;227;28;48;2;250;223;31m▄[38;2;255;232;29;48;2;250;223;30m▄[38;2;249;226;29;48;2;252;224;30m▄[38;2;249;226;29;48;2;251;225;31m▄[38;2;248;219;29;48;2;252;223;31m▄[49;38;2;253;227;30m▀[49m [48;2;252;223;32m [38;2;253;223;31;48;2;252;223;31m▄[49;38;2;252;224;31m▀[49;38;2;251;223;31m▀▀[49;38;2;251;223;32m▀▀[38;2;252;225;31;48;2;252;223;31m▄[38;2;255;235;27;48;2;252;236;28m▄[49m [38;2;252;223;31;48;2;252;222;31m▄[38;2;253;226;29;48;2;250;219;31m▄[38;2;255;226;29;49m▄▄▄▄[38;2;251;222;31;48;2;248;220;32m▄[38;2;253;223;31;48;2;252;222;31m▄[49m     [48;2;252;223;32m [48;2;248;221;28m [49m    [38;2;253;225;30;48;2;252;224;31m▄[38;2;253;224;31;48;2;252;222;30m▄[38;2;255;226;29;49m▄▄▄▄[38;2;253;226;31;48;2;251;222;29m▄[38;2;252;224;30;48;2;253;223;32m▄[49m [38;2;252;225;30;48;2;252;223;32m▄[38;2;251;225;31;48;2;253;227;31m▄[49m [49;38;2;247;222;25m▀[38;2;252;224;28;48;2;253;223;32m▄[38;2;253;224;31;48;2;252;227;31m▄[38;2;248;222;29;49m▄[48;2;252;224;31m [48;2;247;220;31m [49m [38;2;252;223;31;48;2;251;223;31m▄[38;2;250;224;25;48;2;250;226;29m▄[49m [38;2;253;224;31;48;2;252;223;31m▄[38;2;251;222;31;48;2;255;223;32m▄[38;2;255;226;29;49m▄▄▄▄▄[38;2;255;222;27;49m▄[49m  [38;2;255;217;26;49m▄[38;2;253;223;32;48;2;242;217;26m▄[38;2;252;225;30;48;2;252;222;31m▄[49;38;2;252;223;32m▀[49;38;2;255;227;28m▀[49m [38;2;252;222;30;48;2;252;225;30m▄[48;2;247;219;32m [49m     [48;2;252;223;31m [48;2;247;216;31m [49m    [m
[49m  [38;2;250;222;30;48;2;250;222;29m▄[49m  [49;38;2;255;223;24m▀[38;2;250;222;30;48;2;252;223;31m▄[38;2;249;222;29;49m▄[38;2;253;223;31;48;2;249;220;29m▄[38;2;246;217;28;49m▄[49m [48;2;252;223;31m [38;2;251;223;32;48;2;252;222;32m▄[49;38;2;252;224;28m▀[38;2;251;220;30;48;2;252;223;31m▄[38;2;250;222;28;48;2;255;235;20m▄[38;2;252;223;31;48;2;251;224;29m▄[38;2;252;223;32;48;2;252;222;32m▄[38;2;252;223;32;48;2;251;222;32m▄▄[49m       [49;38;2;249;220;31m▀[49;38;2;252;222;30m▀[49m       [49;38;2;251;224;27m▀[49;38;2;252;225;31m▀[49m     [49;38;2;251;223;32m▀[49;38;2;255;227;28m▀[49m [49;38;2;251;227;28m▀[49;38;2;252;222;31m▀[49;38;2;252;224;31m▀[49;38;2;251;222;31m▀[49;38;2;252;224;31m▀▀▀[49;38;2;252;223;29m▀[49m     [49;38;2;251;223;30m▀[49;38;2;246;220;26m▀[49m    [49;38;2;248;225;26m▀[49;38;2;252;223;31m▀[49;38;2;251;222;31m▀▀[49;38;2;252;222;31m▀[49;38;2;251;222;31m▀[49;38;2;252;223;32m▀[49;38;2;255;222;29m▀[49m [49;38;2;251;222;29m▀[49;38;2;251;225;30m▀[49m   [49;38;2;251;223;30m▀[49;38;2;251;222;31m▀[49;38;2;251;223;32m▀[49;38;2;250;220;25m▀[49m [49;38;2;252;224;31m▀[49;38;2;255;223;26m▀[49m [49;38;2;252;225;30m▀[49;38;2;252;223;31m▀[49;38;2;252;223;32m▀▀▀[49;38;2;252;222;32m▀[49;38;2;252;223;32m▀[49;38;2;252;223;31m▀[49m  [49;38;2;252;223;30m▀[49;38;2;252;225;30m▀[49m    [49;38;2;251;222;29m▀[49;38;2;248;221;32m▀[49m     [49;38;2;252;224;31m▀[49;38;2;245;224;31m▀[49m    [m
[49m  [38;2;250;222;30;48;2;250;224;30m▄[38;2;252;225;30;49m▄[38;2;255;225;30;49m▄[49m      [38;2;253;224;31;48;2;252;223;31m▄[48;2;252;223;32m [38;2;252;223;32;48;2;253;224;31m▄[38;2;252;223;32;48;2;253;223;31m▄[38;2;252;223;32;48;2;252;223;31m▄[38;2;252;223;32;48;2;252;222;32m▄[38;2;252;222;32;48;2;252;223;32m▄[38;2;252;223;31;48;2;252;222;32m▄[38;2;251;224;31;48;2;252;222;32m▄[49m                                                                                                [m
[49m    [49;38;2;251;223;30m▀[38;2;244;212;21;48;2;252;223;30m▄[38;2;252;223;31;48;2;246;217;28m▄[38;2;251;224;29;49m▄[49m   [48;2;252;223;31m [48;2;252;223;32m  [38;2;252;223;31;48;2;252;223;32m▄[38;2;252;224;31;48;2;252;223;32m▄[38;2;248;226;29;48;2;251;223;32m▄[49;38;2;252;222;31m▀[49m                                                                                                  [m
[49m       [49;38;2;250;219;26m▀[49;38;2;251;223;30m▀[38;2;252;222;30;48;2;252;225;30m▄[38;2;249;221;31;49m▄[38;2;250;221;32;48;2;252;222;31m▄[38;2;252;225;30;48;2;252;222;32m▄[49;38;2;252;224;31m▀[49;38;2;251;226;29m▀[49m                                                                                                     [m
[49m                                                                                                                    [m
-----------------------------------------------------------------------------------------------------------------------------------------
                                             PhotonicatWrt 24.04， r6322-1031a5459 Mod By Zag
-----------------------------------------------------------------------------------------------------------------------------------------
EOF

            echo "卸载冲突插件..."    
            opkg remove luci-app-advanced luci-i18n-advanced-reboot-zh-cn luci-i18n-advanced-reboot-zh-tw luci-app-advanced-reboot luci-theme-argon
            echo "安装常用插件..."
            packages_3="luci-app-quickstart luci-i18n-quickstart-zh-cn luci-app-store luci-app-ssr-plus luci-i18n-ssr-plus-zh-cn luci-app-passwall luci-i18n-passwall-zh-cn luci-app-linkease luci-i18n-linkease-zh-cn luci-app-advancedplus luci-i18n-advancedplus-zh-cn luci-app-dockerman luci-i18n-dockerman-zh-cn luci-theme-design luci-theme-argon-mod openssh-sftp-server luci-app-poweroffdevice luci-i18n-poweroffdevice-zh-cn luci-theme-kucat luci-app-openclash zsh git git-http"
            while [ $attempt -le $max_attempts ]; do
                echo "安装尝试 #$attempt"
                all_installed=true
                for pkg in $packages_3; do
                    # 检查软件包是否已安装
                    opkg list-installed | grep -q "^$pkg "
                    if [ $? -eq 0 ]; then
                        echo "$pkg 已安装"
                    else
                        echo "$pkg 未安装，尝试安装..."
                        opkg install $pkg
                        if [ $? -eq 0 ]; then
                            echo "$pkg 安装成功"
                        else
                            echo "$pkg 安装失败"
                            all_installed=false
                        fi
                    fi
                done
                if $all_installed; then
                    echo "所有软件包在第 $attempt 次尝试后已成功安装。"
                    break
                else
                    if [ $attempt -eq $max_attempts ]; then
                        echo "经过 $max_attempts 次尝试，仍有软件包未能成功安装,请检查网络环境和软件源，请尝试更新软件源后重试或者手动安装。"
                    fi
                fi
                attempt=$((attempt + 1))
            done
            
            echo "设置zsh为默认shell并美化"
            sed -i 's|/bin/ash|/usr/bin/zsh|' /etc/passwd
            wget -O /bin/neofetch "https://pcat.qsim.top/auto/neofetch" && chmod +x /bin/neofetch
            wget https://pcat.qsim.top/auto/root.zip -O /tmp/root.zip && unzip -o /tmp/root.zip -d /root
            sed -i '/\/usr\/bin\/zsh/s/^/#/' /etc/profile

            
            echo "个性化固件已完成。有些设置需要重启路由器才能生效。"
            echo "按回车返回菜单"
            read -r
            main_menu
            ;;
        *)
            echo "无效的个性化配置选项。"
            return 1
            ;;
    esac
}

# 主菜单
main_menu() {
    clear
    echo "请选择以下操作："
    echo "1. 修改软件源"
    echo "2. 更新软件源（建议完成1后执行）"
    echo "3. 个性化固件（建议完成2后执行，一键安装常用插件，请全程确保网络连接稳定，脚本还在完善，慎用，建议开始前做好备份）"
    echo "按N直接退出脚本"
    read -r CHOICE
    case $CHOICE in
        1)
            check_firmware
            ;;
        2)
            update_sources
            ;;
        3)
            customize_firmware_menu
            ;;
        N|n)
            echo "脚本已退出。"
            exit 0
            ;;
        *)
            echo "无效输入，请重新选择。"
            main_menu
            ;;
    esac
}

# 二级菜单
customize_firmware_menu() {
    clear
    echo "选择要个性化的固件版本：（请再三确认你的固件是否匹配，软件源是否已完成修改。操作有风险请做好备份）"
    echo "1. ZagWrt"
    echo "2. QWRT R24.9.9 for Photonicat"
    echo "3. PhotonicatWrt-24.04-r6322"
    echo "4. 返回主菜单"
    echo "请输入选项并回车确认："
    read -r FIRMWARE_CHOICE
    case "$FIRMWARE_CHOICE" in
        1) customize_firmware 1 ;;
        2) customize_firmware 2 ;;
        3) customize_firmware 3 ;;
        4) main_menu ;;
        *) echo "无效输入，请重新输入。"; customize_firmware_menu ;;
    esac
}


# 执行主菜单函数
main_menu
