chore(docker): 更新docker/php/entrypoint.sh

This commit is contained in:
2025-12-25 13:53:51 +08:00
parent f461fe93f0
commit 0519879ebb
42 changed files with 162 additions and 18 deletions

View File

@@ -8,32 +8,85 @@ APP_ROOT="${PHP_APP_ROOT:-/var/www/html}"
echo "使用应用根目录: $APP_ROOT" echo "使用应用根目录: $APP_ROOT"
# 获取正确的用户和组 # 创建统一的Web组并配置所有用户最高效的权限管理
if [ -n "$USER_ID" ] && [ -n "$GROUP_ID" ]; then configure_web_users() {
# 如果指定了用户ID修改www-data # 常见Web服务器用户列表
usermod -u $USER_ID www-data WEB_USERS=("www-data" "www" "apache" "nginx")
groupmod -g $GROUP_ID www-data
# 获取环境变量中的用户ID
TARGET_UID=${USER_ID:-33}
TARGET_GID=${GROUP_ID:-33}
echo "配置统一Web组权限目标UID:GID = $TARGET_UID:$TARGET_GID"
# 创建统一的Web组
WEB_GROUP="webaccess"
if ! getent group "$WEB_GROUP" &>/dev/null; then
echo "创建统一Web组: $WEB_GROUP"
groupadd -g $TARGET_GID "$WEB_GROUP" || echo "创建 $WEB_GROUP 组失败"
else
echo "统一Web组 $WEB_GROUP 已存在"
fi fi
# 只将已存在的Web用户加入统一组不创建新用户
for web_user in "${WEB_USERS[@]}"; do
if id "$web_user" &>/dev/null; then
echo "Web用户 $web_user 已存在,加入统一组"
usermod -g $WEB_GROUP "$web_user" 2>/dev/null || echo "$web_user 加入 $WEB_GROUP 失败"
else
echo "Web用户 $web_user 不存在,跳过"
fi
done
echo "统一Web组配置完成"
}
configure_web_users
echo "当前用户: $(whoami)" echo "当前用户: $(whoami)"
echo "UID: $(id -u), GID: $(id -g)" echo "UID: $(id -u), GID: $(id -g)"
# 修复所有目录权限使用统一Web组最高效的权限管理
# 修复所有目录权限(处理挂载覆盖问题,一次性处理)
if [ -d "$APP_ROOT" ]; then if [ -d "$APP_ROOT" ]; then
echo "修复应用目录权限(处理 Docker 挂载覆盖问题)" WEB_GROUP="webaccess"
echo "修复应用目录权限使用统一Web组$WEB_GROUP"
echo "统一组权限模式所有Web用户通过组继承权限"
# 设置所有权 # 检测统一组是否存在
chown -R www-data:www-data "$APP_ROOT" if getent group "$WEB_GROUP" &>/dev/null; then
echo "使用统一Web组: $WEB_GROUP"
WEB_GROUP_GID=$(getent group "$WEB_GROUP" | cut -d: -f3)
echo "统一组GID: $WEB_GROUP_GID"
else
echo "❌ 统一Web组 $WEB_GROUP 不存在,回退到传统模式"
WEB_GROUP="www-data"
fi
# 设置目录权限和setgid # 设置所有权为统一Web组关键只管理一个组的权限
echo "设置应用目录所有权为统一Web组"
CURRENT_USER=$(whoami)
chown -R $CURRENT_USER:$WEB_GROUP "$APP_ROOT" 2>/dev/null || echo "设置所有权失败"
# 设置目录权限为775组权限为rwx所有组内用户都有完整权限
echo "设置目录权限775文件权限664"
find "$APP_ROOT" -type d -exec chmod 775 {} \; find "$APP_ROOT" -type d -exec chmod 775 {} \;
find "$APP_ROOT" -type f -exec chmod 664 {} \; find "$APP_ROOT" -type f -exec chmod 664 {} \;
find "$APP_ROOT" -type d -exec chmod g+s {} \; find "$APP_ROOT" -type d -exec chmod g+s {} \;
# 设置ACL如果支持 echo "✅ 统一组权限设置完成所有Web用户通过组获得权限"
# 设置ACL如果支持只需设置统一组
if command -v setfacl >/dev/null 2>&1; then if command -v setfacl >/dev/null 2>&1; then
setfacl -dR -m u:www-data:rwx "$APP_ROOT" 2>/dev/null || echo "ACL 设置失败,继续执行" echo "设置ACL权限只需设置统一Web组"
# 只为统一Web组设置ACL权限
setfacl -R -m g:$WEB_GROUP:rwx "$APP_ROOT" 2>/dev/null || echo "为统一组 $WEB_GROUP 设置ACL失败"
setfacl -dR -m g:$WEB_GROUP:rwx "$APP_ROOT" 2>/dev/null || echo "为统一组 $WEB_GROUP 设置默认ACL失败"
echo "✅ 统一组ACL设置完成所有组内用户自动获得权限"
else
echo "ACL不支持依赖传统权限模式"
echo "✅ 775权限已足够所有组内用户都有rwx权限"
fi fi
# 设置umask # 设置umask
@@ -41,14 +94,77 @@ if [ -d "$APP_ROOT" ]; then
echo "✅ 应用目录权限修复完成" echo "✅ 应用目录权限修复完成"
# 验证文件权限是否足够 # 验证文件权限是否足够(测试统一组权限效果)
echo "=== 验证文件权限 ===" echo "=== 验证统一组权限效果 ==="
test_file="$APP_ROOT/index.php" test_file="$APP_ROOT/index.php"
if [ -f "$test_file" ]; then if [ -f "$test_file" ]; then
echo "测试文件: $test_file" echo "测试文件: $test_file"
echo "文件权限: $(stat -c '%a %n' "$test_file")" echo "文件权限: $(stat -c '%a %n' "$test_file")"
echo "www-data 用户测试读权限: $(su -s /bin/sh -c "cat '$test_file' >/dev/null && echo '✅ 可读' || echo '❌ 不可读'" www-data 2>/dev/null || '无法测试')" echo "文件所有者: $(stat -c '%U:%G' "$test_file")"
echo "www-data 用户测试写权限: $(su -s /bin/sh -c "echo 'test' >> '$test_file.test' && rm '$test_file.test' && echo '✅ 可写' || echo '❌ 不可写'" www-data 2>/dev/null || '无法测试')"
# 测试所有Web用户的权限通过组权限
for test_user in "www-data" "www" "apache" "nginx"; do
if id "$test_user" &>/dev/null; then
echo "测试 $test_user 用户权限(通过组权限):"
# 显示用户组信息
user_groups=$(id -Gn "$test_user" | tr ' ' ',')
echo " 所属组: $user_groups"
# 测试读权限
if su -s /bin/sh -c "cat '$test_file' >/dev/null 2>&1" "$test_user" 2>/dev/null; then
echo " 读权限: ✅ 通过组权限可读"
else
echo " 读权限: ❌ 不可读"
fi
# 测试写权限
if su -s /bin/sh -c "echo 'test' >> '$test_file.test' 2>/dev/null && rm '$test_file.test' 2>/dev/null" "$test_user" 2>/dev/null; then
echo " 写权限: ✅ 通过组权限可写"
else
echo " 写权限: ❌ 不可写"
fi
# 测试目录创建权限
if su -s /bin/sh -c "mkdir -p '$APP_ROOT/test_dir_$test_user' 2>/dev/null && rm -rf '$APP_ROOT/test_dir_$test_user'" "$test_user" 2>/dev/null; then
echo " 创建目录: ✅ 通过组权限可创建"
else
echo " 创建目录: ❌ 不可创建"
fi
echo " 权限来源: 统一Web组 ($WEB_GROUP) 775权限"
break # 只测试第一个可用的用户即可验证效果
fi
done
else
echo "测试文件不存在,尝试创建测试文件"
echo '<?php echo "test"; ?>' > "$APP_ROOT/test.php"
chown www-data:webaccess "$APP_ROOT/test.php"
chmod 664 "$APP_ROOT/test.php"
echo "已创建测试文件: $APP_ROOT/test.php"
fi
# 显示统一组和用户状态
echo "=== 统一Web组状态检查 ==="
if getent group "$WEB_GROUP" &>/dev/null; then
echo "✅ 统一Web组 '$WEB_GROUP' 存在"
echo "组信息: $(getent group $WEB_GROUP)"
# 检查哪些用户在统一组中
echo "统一组成员检查:"
for web_user in "www-data" "www" "apache" "nginx"; do
if id "$web_user" &>/dev/null; then
if id -Gn "$web_user" | grep -q "$WEB_GROUP"; then
echo "$web_user 在统一组 '$WEB_GROUP' 中"
else
echo "$web_user 不在统一组 '$WEB_GROUP' 中"
fi
else
echo "$web_user 用户不存在"
fi
done
else
echo "❌ 统一Web组 '$WEB_GROUP' 不存在"
fi fi
fi fi

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
[[{"1613":0,"1616":1,"1621":2}],[{"1557":0,"1611":1,"1612":2,"1614":3,"1615":4,"1617":5,"1618":6,"1619":7,"1620":8,"1623":9,"1626":10,"1648":11,"57990":12,"57991":13,"57992":14,"57993":15,"57994":16,"57995":17,"57996":18,"57997":19}],[{"3768":0,"3769":1}],[{"3784":0,"3785":1,"3786":2,"3787":3,"3788":4,"3789":5}],[{"790":0,"791":1,"792":2,"793":3,"796":4,"797":5,"798":6,"799":7,"800":8,"803":9,"804":10,"805":11,"806":12,"809":13,"810":14,"811":15,"812":16,"813":17,"814":18,"815":19,"816":20,"817":21,"825":22,"826":23,"827":24,"828":25,"839":26,"840":27,"841":28,"845":29,"846":30,"851":31,"858":32},{"768":0,"769":1,"770":2,"771":3,"772":4,"773":5,"774":6,"775":7,"776":8,"777":9,"778":10,"779":11,"780":12,"781":13,"782":14,"783":15,"784":16,"785":17,"829":18,"831":19,"832":20,"833":21,"834":22,"836":23,"838":24,"842":25,"843":26,"844":27,"849":28,"850":29,"855":30,"7620":31,"7621":32,"7622":33,"7623":34,"7624":35,"7625":36,"8400":37,"8401":38,"8406":39,"8407":40,"8411":41,"8412":42,"8417":43,"57895":44,"57896":45,"57897":46,"57898":47,"57899":48,"57900":49,"57901":50,"57902":51,"57903":52,"57904":53,"57905":54,"58088":55}],[{"1456":0,"1457":1,"1458":2,"1459":3,"1460":4,"1461":5,"1462":6,"1463":7,"1464":8,"1467":9,"1469":10,"1479":11,"1613":12,"1616":13,"1621":14}],[{"1456":0,"1457":1,"1458":2,"1459":3,"1460":4,"1461":5,"1462":6,"1463":7,"1464":8,"1467":9,"1469":10,"1479":11,"1613":12,"1616":13,"1621":14,"2034":15}],[{"1468":0}],[{"1471":0,"1557":1,"1611":2,"1612":3,"1614":4,"1615":5,"1617":6,"1618":7,"1619":8,"1620":9,"1623":10,"1626":11,"1648":12,"64286":13,"57990":14,"57991":15,"57992":16,"57993":17,"57994":18,"57995":19,"57996":20,"57997":21}],[{"1471":0,"1557":1,"1611":2,"1612":3,"1614":4,"1615":5,"1617":6,"1618":7,"1619":8,"1620":9,"1623":10,"1626":11,"1648":12,"2027":13,"2028":14,"2029":15,"2030":16,"2031":17,"2032":18,"2033":19,"2035":20,"64286":21,"57990":22,"57991":23,"57992":24,"57993":25,"57994":26,"57995":27,"57996":28,"57997":29}],[{"3768":0,"3769":1,"3772":2}],[{"3761":0,"3764":1,"3765":2,"3766":3,"3767":4,"3771":5,"3784":6,"3785":7,"3786":8,"3787":9,"3788":10,"3789":11}],[{"790":0,"791":1,"792":2,"793":3,"796":4,"797":5,"798":6,"799":7,"800":8,"803":9,"804":10,"805":11,"806":12,"809":13,"810":14,"811":15,"812":16,"813":17,"814":18,"815":19,"816":20,"817":21,"818":22,"819":23,"825":24,"826":25,"827":26,"828":27,"839":28,"840":29,"841":30,"845":31,"846":32,"851":33,"858":34}],[{"65057":0,"65059":1},{"768":0,"769":1},{"807":0},{"790":0,"791":1,"792":2,"793":3,"796":4,"797":5,"798":6,"799":7,"800":8,"803":9,"804":10,"805":11,"806":12,"809":13,"810":14,"811":15,"812":16,"813":17,"814":18,"815":19,"816":20,"817":21,"818":22,"819":23,"825":24,"826":25,"827":26,"828":27,"839":28,"840":29,"841":30,"845":31,"846":32,"851":33,"858":34},{"768":0,"769":1,"770":2,"771":3,"772":4,"773":5,"774":6,"775":7,"776":8,"777":9,"778":10,"779":11,"780":12,"781":13,"782":14,"783":15,"784":16,"785":17,"786":18,"787":19,"788":20,"829":21,"830":22,"831":23,"832":24,"833":25,"834":26,"836":27,"838":28,"842":29,"843":30,"844":31,"849":32,"850":33,"855":34,"1155":35,"1156":36,"1157":37,"1158":38,"1159":39,"7620":40,"7621":41,"7622":42,"7623":43,"7624":44,"7625":45,"8400":46,"8401":47,"8406":48,"8407":49,"8411":50,"8412":51,"8417":52,"57895":53,"57896":54,"57897":55,"57898":56,"57899":57,"57900":58,"57901":59,"57902":60,"57903":61,"57904":62,"57905":63,"58088":64},{"808":0}],[{"45":0,"65":1,"66":2,"67":3,"68":4,"70":5,"71":6,"72":7,"74":8,"75":9,"76":10,"79":11,"80":12,"81":13,"82":14,"83":15,"84":16,"85":17,"86":18,"87":19,"88":20,"89":21,"90":22,"101":23,"102":24,"107":25,"110":26,"111":27,"114":28,"118":29,"119":30,"120":31,"121":32,"171":33,"187":34,"192":35,"193":36,"194":37,"195":38,"196":39,"198":40,"199":41,"208":42,"210":43,"211":44,"212":45,"213":46,"214":47,"217":48,"218":49,"219":50,"220":51,"221":52,"222":53,"223":54,"232":55,"233":56,"234":57,"235":58,"240":59,"241":60,"242":61,"243":62,"244":63,"245":64,"246":65,"253":66,"255":67,"256":68,"258":69,"260":70,"262":71,"268":72,"270":73,"272":74,"283":75,"286":76,"313":77,"317":78,"320":79,"328":80,"340":81,"341":82,"344":83,"345":84,"350":85,"352":86,"356":87,"366":88,"376":89,"381":90,"8208":91,"8220":92,"8222":93,"42788":94,"42816":95,"42817":96}],[{"61185":0,"61186":1,"61187":2,"61188":3,"61189":4,"61191":5,"61192":6,"61193":7,"61194":8,"61195":9,"61197":10,"61198":11,"61199":12,"61200":13,"61201":14,"61203":15,"61204":16,"61205":17,"61206":18,"61207":19}]]

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
{"rtlSUB":{"007CA":{"1":"0E28E","3":"0E28F","2":"0E290"},"007CB":{"1":"0E291","3":"0E292","2":"0E293"},"007CC":{"1":"0E294","3":"0E295","2":"0E296"},"007CD":{"1":"0E297","3":"0E298","2":"0E299"},"007CE":{"1":"0E29A","3":"0E29B","2":"0E29C"},"007CF":{"1":"0E29D","3":"0E29E","2":"0E29F"},"007D0":{"1":"0E2A0","3":"0E2A1","2":"0E2A2"},"007D1":{"1":"0E2A3","3":"0E2A4","2":"0E2A5"},"007D2":{"1":"0E2A6","3":"0E2A7","2":"0E2A8"},"007D3":{"1":"0E2A9","3":"0E2AA","2":"0E2AB"},"007D4":{"1":"0E2AC","3":"0E2AD","2":"0E2AE"},"007D5":{"1":"0E2AF","3":"0E2B0","2":"0E2B1"},"007D6":{"1":"0E2B2","3":"0E2B3","2":"0E2B4"},"007D7":{"1":"0E2B5","3":"0E2B6","2":"0E2B7"},"007D8":{"1":"0E2B8","3":"0E2B9","2":"0E2BA"},"007D9":{"1":"0E2BB","3":"0E2BC","2":"0E2BD"},"007DA":{"1":"0E2BE","3":"0E2BF","2":"0E2C0"},"007DB":{"1":"0E2C1","3":"0E2C2","2":"0E2C3"},"007DC":{"1":"0E2C4","3":"0E2C5","2":"0E2C6"},"007DD":{"1":"0E2C7","3":"0E2C8","2":"0E2C9"},"007DE":{"1":"0E2CA","3":"0E2CB","2":"0E2CC"},"007DF":{"1":"0E2CD","3":"0E2CE","2":"0E2CF"},"007E0":{"1":"0E2D0","3":"0E2D1","2":"0E2D2"},"007E1":{"1":"0E2D3","3":"0E2D4","2":"0E2D5"},"007E2":{"1":"0E2D6","3":"0E2D7","2":"0E2D8"},"007E3":{"1":"0E2D9","3":"0E2DA","2":"0E2DB"},"007E4":{"1":"0E2DC","3":"0E2DD","2":"0E2DE"},"007E5":{"1":"0E2DF","3":"0E2E0","2":"0E2E1"},"007E6":{"1":"0E2E2","3":"0E2E3","2":"0E2E4"},"007E7":{"1":"0E2E5","3":"0E2E6","2":"0E2E7"}},"finals":"0E28E 0E291 0E294 0E297 0E29A 0E29D 0E2A0 0E2A3 0E2A6 0E2A9 0E2AC 0E2AF 0E2B2 0E2B5 0E2B8 0E2BB 0E2BE 0E2C1 0E2C4 0E2C7 0E2CA 0E2CD 0E2D0 0E2D3 0E2D6 0E2D9 0E2DC 0E2DF 0E2E2 0E2E5 ","rphf":[],"half":[],"pref":[],"blwf":[],"pstf":[]}

File diff suppressed because one or more lines are too long

Binary file not shown.

View File

@@ -0,0 +1 @@
{"rangeid":122,"prevcid":126,"prevwidth":754,"interval":false,"range":{"32":[286,360,414,754,572,855,702,247],"40":{"0":351,"1":351,"interval":true},"42":[450,754,286,325,286,303],"48":{"0":572,"1":572,"interval":true,"2":572,"3":572,"4":572,"5":572,"6":572,"7":572,"8":572,"9":572},"58":{"0":303,"1":303,"interval":true},"60":{"0":754,"1":754,"interval":true,"2":754},"63":[478,900,615,617,628,693,568,518,697,677],"73":{"0":265,"1":265,"interval":true},"75":[590,501,776,673,708,542,708,625,571,549,659,615,890,616,549,616,351,303,351,754],"95":{"0":450,"1":450,"interval":true},"97":[551,571,495,571,554,316,571,570],"105":{"0":250,"1":250,"interval":true},"107":[521,250,876,570,550],"112":{"0":571,"1":571,"interval":true},"114":[370,469,353,570,532,736],"120":{"0":532,"1":532,"interval":true},"122":[472,572,303,572,754]}}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
[[{"1613":0,"1616":1,"1621":2}],[{"1557":0,"1611":1,"1612":2,"1614":3,"1615":4,"1617":5,"1618":6,"1619":7,"1620":8,"1623":9,"1626":10,"1648":11,"57974":12,"57975":13,"57976":14,"57977":15,"57978":16,"57979":17,"57980":18,"57981":19}],[{"3768":0,"3769":1}],[{"3784":0,"3785":1,"3786":2,"3787":3,"3788":4,"3789":5}],[{"790":0,"791":1,"792":2,"793":3,"796":4,"797":5,"798":6,"799":7,"800":8,"803":9,"804":10,"805":11,"806":12,"809":13,"810":14,"811":15,"812":16,"813":17,"814":18,"815":19,"816":20,"817":21,"818":22,"819":23,"825":24,"826":25,"827":26,"828":27,"839":28,"840":29,"841":30,"845":31,"846":32,"851":33,"858":34},{"768":0,"769":1,"770":2,"771":3,"772":4,"773":5,"774":6,"775":7,"776":8,"777":9,"778":10,"779":11,"780":12,"781":13,"782":14,"783":15,"784":16,"785":17,"829":18,"831":19,"832":20,"833":21,"834":22,"836":23,"838":24,"842":25,"843":26,"844":27,"849":28,"850":29,"855":30,"7620":31,"7621":32,"7622":33,"7623":34,"7624":35,"7625":36,"8400":37,"8401":38,"8406":39,"8407":40,"8411":41,"8412":42,"8417":43,"57879":44,"57880":45,"57881":46,"57882":47,"57883":48,"57884":49,"57885":50,"57886":51,"57887":52,"57888":53,"57926":54,"58072":55}],[{"1456":0,"1457":1,"1458":2,"1459":3,"1460":4,"1461":5,"1462":6,"1463":7,"1464":8,"1467":9,"1469":10,"1479":11,"1613":12,"1616":13,"1621":14}],[{"1456":0,"1457":1,"1458":2,"1459":3,"1460":4,"1461":5,"1462":6,"1463":7,"1464":8,"1467":9,"1469":10,"1479":11,"1613":12,"1616":13,"1621":14,"2034":15}],[{"1468":0}],[{"1465":0,"1471":1,"1557":2,"1611":3,"1612":4,"1614":5,"1615":6,"1617":7,"1618":8,"1619":9,"1620":10,"1623":11,"1626":12,"1648":13,"64286":14,"57974":15,"57975":16,"57976":17,"57977":18,"57978":19,"57979":20,"57980":21,"57981":22}],[{"1465":0,"1471":1,"1557":2,"1611":3,"1612":4,"1614":5,"1615":6,"1617":7,"1618":8,"1619":9,"1620":10,"1623":11,"1626":12,"1648":13,"2027":14,"2028":15,"2029":16,"2030":17,"2031":18,"2032":19,"2033":20,"2035":21,"64286":22,"57974":23,"57975":24,"57976":25,"57977":26,"57978":27,"57979":28,"57980":29,"57981":30}],[{"3768":0,"3769":1,"3772":2}],[{"3761":0,"3764":1,"3765":2,"3766":3,"3767":4,"3771":5,"3784":6,"3785":7,"3786":8,"3787":9,"3788":10,"3789":11}],[{"65057":0,"65059":1},{"768":0,"769":1},{"807":0},{"790":0,"791":1,"792":2,"793":3,"796":4,"797":5,"798":6,"799":7,"800":8,"803":9,"804":10,"805":11,"806":12,"809":13,"810":14,"811":15,"812":16,"813":17,"814":18,"815":19,"816":20,"817":21,"818":22,"819":23,"825":24,"826":25,"827":26,"828":27,"839":28,"840":29,"841":30,"845":31,"846":32,"851":33,"858":34},{"768":0,"769":1,"770":2,"771":3,"772":4,"773":5,"774":6,"775":7,"776":8,"777":9,"778":10,"779":11,"780":12,"781":13,"782":14,"783":15,"784":16,"785":17,"786":18,"787":19,"788":20,"829":21,"830":22,"831":23,"832":24,"833":25,"834":26,"835":27,"836":28,"838":29,"842":30,"843":31,"844":32,"849":33,"850":34,"855":35,"1155":36,"1156":37,"1157":38,"1158":39,"1159":40,"7620":41,"7621":42,"7622":43,"7623":44,"7624":45,"7625":46,"8400":47,"8401":48,"8406":49,"8407":50,"8411":51,"8412":52,"8417":53,"57879":54,"57880":55,"57881":56,"57882":57,"57883":58,"57884":59,"57885":60,"57886":61,"57887":62,"57888":63,"57926":64,"58072":65},{"808":0}],[{"45":0,"65":1,"66":2,"67":3,"68":4,"70":5,"71":6,"75":7,"76":8,"79":9,"80":10,"81":11,"82":12,"83":13,"84":14,"85":15,"86":16,"87":17,"88":18,"89":19,"90":20,"97":21,"102":22,"107":23,"114":24,"118":25,"119":26,"121":27,"192":28,"193":29,"194":30,"195":31,"196":32,"198":33,"199":34,"208":35,"210":36,"211":37,"212":38,"213":39,"214":40,"216":41,"217":42,"218":43,"219":44,"220":45,"221":46,"224":47,"225":48,"226":49,"227":50,"228":51,"229":52,"253":53,"255":54,"256":55,"258":56,"260":57,"262":58,"264":59,"266":60,"268":61,"270":62,"272":63,"286":64,"313":65,"317":66,"320":67,"321":68,"340":69,"341":70,"344":71,"345":72,"350":73,"352":74,"356":75,"366":76,"376":77,"381":78,"699":79,"8208":80,"8216":81,"8218":82,"8220":83,"8222":84,"42788":85,"42816":86,"42817":87}],[{"61185":0,"61186":1,"61187":2,"61188":3,"61189":4,"61191":5,"61192":6,"61193":7,"61194":8,"61195":9,"61197":10,"61198":11,"61199":12,"61200":13,"61201":14,"61203":15,"61204":16,"61205":17,"61206":18,"61207":19}]]

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
{"rtlSUB":{"007CA":{"1":"0E27E","3":"0E27F","2":"0E280"},"007CB":{"1":"0E281","3":"0E282","2":"0E283"},"007CC":{"1":"0E284","3":"0E285","2":"0E286"},"007CD":{"1":"0E287","3":"0E288","2":"0E289"},"007CE":{"1":"0E28A","3":"0E28B","2":"0E28C"},"007CF":{"1":"0E28D","3":"0E28E","2":"0E28F"},"007D0":{"1":"0E290","3":"0E291","2":"0E292"},"007D1":{"1":"0E293","3":"0E294","2":"0E295"},"007D2":{"1":"0E296","3":"0E297","2":"0E298"},"007D3":{"1":"0E299","3":"0E29A","2":"0E29B"},"007D4":{"1":"0E29C","3":"0E29D","2":"0E29E"},"007D5":{"1":"0E29F","3":"0E2A0","2":"0E2A1"},"007D6":{"1":"0E2A2","3":"0E2A3","2":"0E2A4"},"007D7":{"1":"0E2A5","3":"0E2A6","2":"0E2A7"},"007D8":{"1":"0E2A8","3":"0E2A9","2":"0E2AA"},"007D9":{"1":"0E2AB","3":"0E2AC","2":"0E2AD"},"007DA":{"1":"0E2AE","3":"0E2AF","2":"0E2B0"},"007DB":{"1":"0E2B1","3":"0E2B2","2":"0E2B3"},"007DC":{"1":"0E2B4","3":"0E2B5","2":"0E2B6"},"007DD":{"1":"0E2B7","3":"0E2B8","2":"0E2B9"},"007DE":{"1":"0E2BA","3":"0E2BB","2":"0E2BC"},"007DF":{"1":"0E2BD","3":"0E2BE","2":"0E2BF"},"007E0":{"1":"0E2C0","3":"0E2C1","2":"0E2C2"},"007E1":{"1":"0E2C3","3":"0E2C4","2":"0E2C5"},"007E2":{"1":"0E2C6","3":"0E2C7","2":"0E2C8"},"007E3":{"1":"0E2C9","3":"0E2CA","2":"0E2CB"},"007E4":{"1":"0E2CC","3":"0E2CD","2":"0E2CE"},"007E5":{"1":"0E2CF","3":"0E2D0","2":"0E2D1"},"007E6":{"1":"0E2D2","3":"0E2D3","2":"0E2D4"},"007E7":{"1":"0E2D5","3":"0E2D6","2":"0E2D7"}},"finals":"0E27E 0E281 0E284 0E287 0E28A 0E28D 0E290 0E293 0E296 0E299 0E29C 0E29F 0E2A2 0E2A5 0E2A8 0E2AB 0E2AE 0E2B1 0E2B4 0E2B7 0E2BA 0E2BD 0E2C0 0E2C3 0E2C6 0E2C9 0E2CC 0E2CF 0E2D2 0E2D5 ","rphf":[],"half":[],"pref":[],"blwf":[],"pstf":[]}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
{"rangeid":114,"prevcid":126,"prevwidth":754,"interval":false,"range":{"32":[313,410,469,754,626,901,785,275],"40":{"0":411,"1":411,"interval":true},"42":[470,754,342,374,342,329],"48":{"0":626,"1":626,"interval":true,"2":626,"3":626,"4":626,"5":626,"6":626,"7":626,"8":626,"9":626},"58":{"0":360,"1":360,"interval":true},"60":{"0":754,"1":754,"interval":true,"2":754},"63":[522,900,696,686,660,747],"69":{"0":615,"1":615,"interval":true},"71":[738,753],"73":{"0":334,"1":334,"interval":true},"75":[697,573,896,753,765,659,765,693,648,614,730,696,993,694,651,652,411,329,411,754],"95":{"0":450,"1":450,"interval":true},"97":[607,644,533,644,610,391,644,641],"105":{"0":308,"1":308,"interval":true},"107":[598,308,938,641,618],"112":{"0":644,"1":644,"interval":true},"114":[444,536,430,641,586,831,580,586,523,641,329,641,754]}}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
[[{"3784":0,"3785":1,"3786":2,"3787":3,"3788":4,"3789":5}],[{"3768":0,"3769":1}],[{"792":0,"793":1,"796":2,"797":3,"798":4,"799":5,"805":6,"809":7,"810":8,"812":9,"813":10,"825":11,"826":12,"827":13,"840":14,"851":15,"858":16},{"768":0,"769":1,"770":2,"771":3,"772":4,"773":5,"774":6,"775":7,"776":8,"777":9,"778":10,"779":11,"780":12,"781":13,"782":14,"783":15,"784":16,"785":17,"829":18,"831":19,"832":20,"833":21,"834":22,"836":23,"838":24,"842":25,"843":26,"844":27,"849":28,"850":29,"855":30,"7620":31,"7621":32,"7622":33,"7623":34,"7624":35,"7625":36,"8400":37,"8401":38,"8406":39,"8407":40,"8411":41,"8412":42,"8417":43,"57811":44,"57812":45,"57813":46,"57814":47,"57815":48,"57816":49,"57817":50,"57818":51,"57819":52,"57820":53,"57821":54,"57863":55}],[{"1456":0,"1457":1,"1458":2,"1459":3,"1460":4,"1461":5,"1462":6,"1463":7,"1464":8,"1467":9,"1469":10,"1479":11}],[{"1468":0}],[{"1471":0,"64286":1}],[{"3761":0,"3764":1,"3765":2,"3766":3,"3767":4,"3771":5,"3784":6,"3785":7,"3786":8,"3787":9,"3788":10,"3789":11}],[{"3768":0,"3769":1,"3772":2}],[{"790":0,"791":1,"792":2,"793":3,"796":4,"797":5,"798":6,"799":7,"800":8,"803":9,"804":10,"805":11,"806":12,"809":13,"810":14,"811":15,"812":16,"813":17,"814":18,"815":19,"816":20,"817":21,"818":22,"819":23,"825":24,"826":25,"827":26,"828":27,"839":28,"840":29,"841":30,"845":31,"846":32,"851":33,"858":34}],[{"808":0},{"65057":0,"65059":1},{"768":0,"769":1},{"807":0,"7698":1},{"790":0,"791":1,"792":2,"793":3,"796":4,"797":5,"798":6,"799":7,"800":8,"803":9,"804":10,"805":11,"806":12,"809":13,"810":14,"811":15,"812":16,"813":17,"814":18,"815":19,"816":20,"817":21,"818":22,"819":23,"825":24,"826":25,"827":26,"828":27,"839":28,"840":29,"841":30,"845":31,"846":32,"851":33,"858":34},{"768":0,"769":1,"770":2,"771":3,"772":4,"773":5,"774":6,"775":7,"776":8,"777":9,"778":10,"779":11,"780":12,"781":13,"782":14,"783":15,"784":16,"785":17,"786":18,"787":19,"788":20,"829":21,"830":22,"831":23,"832":24,"833":25,"834":26,"835":27,"836":28,"838":29,"842":30,"843":31,"844":32,"849":33,"850":34,"855":35,"1155":36,"1156":37,"1157":38,"1158":39,"1159":40,"7620":41,"7621":42,"7622":43,"7623":44,"7624":45,"7625":46,"8400":47,"8401":48,"8406":49,"8407":50,"8411":51,"8412":52,"8417":53,"57811":54,"57812":55,"57813":56,"57814":57,"57815":58,"57816":59,"57817":60,"57818":61,"57819":62,"57820":63,"57821":64,"57863":65}],[{"45":0,"65":1,"66":2,"67":3,"70":4,"75":5,"76":6,"79":7,"80":8,"81":9,"83":10,"84":11,"86":12,"87":13,"88":14,"89":15,"90":16,"102":17,"114":18,"118":19,"119":20,"121":21,"192":22,"193":23,"194":24,"195":25,"196":26,"198":27,"199":28,"208":29,"210":30,"211":31,"212":32,"213":33,"214":34,"216":35,"221":36,"222":37,"253":38,"255":39,"256":40,"258":41,"260":42,"262":43,"264":44,"266":45,"268":46,"313":47,"317":48,"321":49,"341":50,"345":51,"350":52,"352":53,"356":54,"376":55,"381":56,"699":57,"8208":58,"8216":59,"8218":60,"8220":61,"8222":62,"42788":63,"42816":64}],[{"61185":0,"61186":1,"61187":2,"61188":3,"61189":4,"61191":5,"61192":6,"61193":7,"61194":8,"61195":9,"61197":10,"61198":11,"61199":12,"61200":13,"61201":14,"61203":15,"61204":16,"61205":17,"61206":18,"61207":19}]]

View File

@@ -0,0 +1 @@
[[{"1506":0}],[{"105":0,"106":1,"303":2,"585":3,"616":4,"669":5,"768":6,"769":7,"770":8,"771":9,"772":10,"773":11,"774":12,"775":13,"776":14,"777":15,"778":16,"779":17,"780":18,"781":19,"782":20,"783":21,"784":22,"785":23,"786":24,"787":25,"788":26,"829":27,"830":28,"831":29,"832":30,"833":31,"834":32,"835":33,"836":34,"838":35,"842":36,"843":37,"844":38,"849":39,"855":40,"1011":41,"1110":42,"1112":43,"1155":44,"1156":45,"1157":46,"1158":47,"7725":48,"7883":49,"8400":50,"8401":51,"8406":52,"8407":53,"8520":54,"8521":55}],[{"741":0,"742":1,"743":2,"744":3,"745":4},{"741":0,"742":1,"743":2,"744":3,"745":4},{"741":0,"742":1,"743":2,"744":3,"745":4},{"741":0,"742":1,"743":2,"744":3,"745":4},{"741":0,"742":1,"743":2,"744":3,"745":4},{"741":0},{"742":0},{"743":0},{"744":0},{"745":0}],[{"1497":0,"1522":1}],[{"1073":0}],[{"330":0}],[{"102":0}],[{"1488":0}],[{"1381":0,"1396":1,"1406":2}],[{"115":0}],[{"383":0}],[{"33":0,"63":1,"70":2,"82":3,"83":4,"84":5,"97":6,"99":7}],[{"1471":0}],[{"1471":0}],[{"910":0,"933":1,"939":2,"946":3,"952":4,"960":5,"966":6}],[{"910":0,"933":1,"939":2,"946":3,"952":4,"960":5,"966":6}],[{"73":0,"74":1,"97":2,"108":3,"330":4}],[{"73":0,"74":1,"97":2,"108":3,"121":4,"330":5}],[{"1506":0}],[{"768":0,"769":1,"770":2,"771":3,"774":4,"775":5,"776":6,"778":7,"779":8,"780":9,"783":10,"785":11}],[{"105":0,"106":1,"303":2,"585":3,"616":4,"669":5,"1011":6,"1110":7,"1112":8,"7725":9,"7883":10,"8520":11,"8521":12}],[{"742":0,"743":1,"744":2,"745":3}],[{"741":0,"742":1,"743":2,"744":3,"745":4}],[{"741":0,"742":1,"743":2,"744":3,"745":4}],[{"741":0,"742":1,"743":2,"744":3,"745":4}],[{"741":0,"742":1,"743":2,"744":3,"745":4}],[{"741":0,"742":1,"743":2,"744":3,"745":4}],[{"161":0,"191":1,"11800":2}]]

View File

@@ -0,0 +1 @@
{"rangeid":122,"prevcid":126,"prevwidth":754,"interval":false,"range":{"32":[286,360,414,754,572,855,702,247],"40":{"0":351,"1":351,"interval":true},"42":[450,754,286,325,286,303],"48":{"0":572,"1":572,"interval":true,"2":572,"3":572,"4":572,"5":572,"6":572,"7":572,"8":572,"9":572},"58":{"0":303,"1":303,"interval":true},"60":{"0":754,"1":754,"interval":true,"2":754},"63":[478,900,615,617,628,693,568,518,697,677],"73":{"0":265,"1":265,"interval":true},"75":[590,501,776,673,708,542,708,625,571,549,659,615,890,616,549,616,351,303,351,754],"95":{"0":450,"1":450,"interval":true},"97":[551,571,495,571,554,316,571,570],"105":{"0":250,"1":250,"interval":true},"107":[521,250,876,570,550],"112":{"0":571,"1":571,"interval":true},"114":[370,469,353,570,532,736],"120":{"0":532,"1":532,"interval":true},"122":[472,572,303,572,754]}}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.

View File

@@ -0,0 +1 @@
{"rangeid":1,"prevcid":127,"prevwidth":500,"interval":true,"range":{"1":{"0":500,"1":500,"interval":true,"2":500,"3":500,"4":500,"5":500,"6":500,"7":500,"8":500,"9":500,"10":500,"11":500,"12":500,"13":500,"14":500,"15":500,"16":500,"17":500,"18":500,"19":500,"20":500,"21":500,"22":500,"23":500,"24":500,"25":500,"26":500,"27":500,"28":500,"29":500,"30":500,"31":500,"32":500,"33":500,"34":500,"35":500,"36":500,"37":500,"38":500,"39":500,"40":500,"41":500,"42":500,"43":500,"44":500,"45":500,"46":500,"47":500,"48":500,"49":500,"50":500,"51":500,"52":500,"53":500,"54":500,"55":500,"56":500,"57":500,"58":500,"59":500,"60":500,"61":500,"62":500,"63":500,"64":500,"65":500,"66":500,"67":500,"68":500,"69":500,"70":500,"71":500,"72":500,"73":500,"74":500,"75":500,"76":500,"77":500,"78":500,"79":500,"80":500,"81":500,"82":500,"83":500,"84":500,"85":500,"86":500,"87":500,"88":500,"89":500,"90":500,"91":500,"92":500,"93":500,"94":500,"95":500,"96":500,"97":500,"98":500,"99":500,"100":500,"101":500,"102":500,"103":500,"104":500,"105":500,"106":500,"107":500,"108":500,"109":500,"110":500,"111":500,"112":500,"113":500,"114":500,"115":500,"116":500,"117":500,"118":500,"119":500,"120":500,"121":500,"122":500,"123":500,"124":500,"125":500,"126":500}}}

View File

@@ -0,0 +1 @@
{"name":"Sun-ExtA","type":"TTF","desc":{"CapHeight":684,"XHeight":453,"FontBBox":"[-973 -301 2074 1078]","Flags":4,"Ascent":930,"Descent":-141,"Leading":0,"ItalicAngle":0,"StemV":87,"MissingWidth":1000},"unitsPerEm":256,"up":-86,"ut":47,"strp":254,"strs":47,"ttffile":"D:\\2024project\\myweb\\saas.cn\\vendor\\mpdf\\mpdf\\src\\Config\/..\/..\/ttfonts\/Sun-ExtA.ttf","TTCfontID":0,"originalsize":22993540,"sip":false,"smp":false,"BMPselected":false,"fontkey":"sun-exta","panose":" 0 0 2 1 6 0 3 1 1 1 1 1","haskerninfo":false,"haskernGPOS":false,"hassmallcapsGSUB":false,"fontmetrics":"win","useOTL":0,"rtlPUAstr":"","GSUBScriptLang":[],"GSUBFeatures":[],"GSUBLookups":[],"GPOSScriptLang":[],"GPOSFeatures":[],"GPOSLookups":[],"kerninfo":[]}