From 3f6f2a66c834674ce5c716610d46bd14af425e31 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=84=86=E8=96=AF=E9=A5=BC?= Date: Fri, 27 Dec 2024 09:22:50 +0800 Subject: [PATCH] fix: database Update arguments-builder.config.ts Update boxjs.settings.json Update CHANGELOG.md Update request.dev.js Update database.mjs Update request.js --- CHANGELOG.md | 13 ++------ arguments-builder.config.ts | 2 +- src/function/database.mjs | 59 +++++++++++++++++++----------------- src/request.dev.js | 34 ++++++++++++--------- src/request.js | 34 ++++++++++++++------- template/boxjs.settings.json | 2 +- 6 files changed, 79 insertions(+), 65 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e9578d2..3fc254c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,15 +1,8 @@ ### 🛠️ Bug Fixes - * 修复 `$argument` 和 `$persistentStore` 载入顺序颠倒的问题 - * 正确顺序为先读取 `$argument` 再读取 `$persistentStore (BoxJs)` - * 即,有相同键名时,`$persistentStore (BoxJs)` 的值会覆盖 `$argument` 的值 + * 修复`体育节目`分区页面加载问题 + * 修复`儿童`分区页面加载问题 + * 更新`商店`分区页面标签页 ### 🔣 Dependencies * 升级了 `@nsnanocat/util` - * `util` 由 `submodule` 更改为 `package` - * `$platform` 改为 `$app` - * 使用了全新的 `Console` polyfill * 升级了 `@nsnanocat/url` - * 使用了全新的 `URL` 和 `URLSearchParams` polyfill - -### 🔄 Other Changes - * 打包器由 `rollup` 更改为 `rspack` diff --git a/arguments-builder.config.ts b/arguments-builder.config.ts index 338180d..86444a9 100644 --- a/arguments-builder.config.ts +++ b/arguments-builder.config.ts @@ -88,7 +88,7 @@ export default defineConfig({ defaultValue: "WARN", description: "选择脚本日志的输出等级,低于所选等级的日志将全部输出。", options: [ - { key: "OFF", label: "关闭" }, + { key: "OFF", label: "🔴 关闭" }, { key: "ERROR", label: "❌ 错误" }, { key: "WARN", label: "⚠️ 警告" }, { key: "INFO", label: "ℹ️ 信息" }, diff --git a/src/function/database.mjs b/src/function/database.mjs index 3018c62..028e1fd 100644 --- a/src/function/database.mjs +++ b/src/function/database.mjs @@ -51,7 +51,7 @@ export default { { title: "Apple TV+", type: "Originals", - universalLinks: ["https://tv.apple.com/channel/tvs.sbd.4000", "https://tv.apple.com/atv"], + universalLinks: ["https://tv.apple.com/channel/tvs.sbd.4000", "https://tv.apple.com/atv", "https://tv.apple.com/originals"], destinationType: "Target", target: { id: "tvs.sbd.4000", @@ -60,7 +60,7 @@ export default { }, }, { - title: "MLS Season Pass", + title: "MLS", type: "MLS", universalLinks: ["https://tv.apple.com/mls"], destinationType: "Target", @@ -80,6 +80,32 @@ export default { type: "Root", url: "https://tv.apple.com/sports", }, + images: { + boldImage: { + embeddedData: + "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMTAwcHgiIGhlaWdodD0iMTAwcHgiIHZpZXdCb3g9IjAgMCAxMDAgMTAwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPHRpdGxlPlNpZGViYXIgQ29yZSBEZXN0aW5hdGlvbiBTVkcgQXNzZXRzL0JvbGQvc3BvcnRzY291cnQuZmlsbC5ib2xkPC90aXRsZT4KICAgIDxnIGlkPSJTaWRlYmFyLUNvcmUtRGVzdGluYXRpb24tU1ZHLUFzc2V0cy9Cb2xkL3Nwb3J0c2NvdXJ0LmZpbGwiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxyZWN0IGlkPSJCb3VuZGluZy1Cb3giIHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAiIGhlaWdodD0iMTAwIj48L3JlY3Q+CiAgICAgICAgPGcgaWQ9IlN5bWJvbCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNi45MDczLCAxOS42NTgyKSIgZmlsbD0iI0ZGRkZGRiIgZmlsbC1ydWxlPSJub256ZXJvIj4KICAgICAgICAgICAgPHBhdGggZD0iTTAsNDkuNTQzNDU3IEwwLDQ2LjYwNzY2NiBMMTEuMDI5MDUyNyw0Ni42MDc2NjYgQzEzLjE1NTUxNzYsNDYuNjA3NjY2IDE0LjgyNDQyMjIsNDYuMDAxOTkzOCAxNi4wMzU3NjY2LDQ0Ljc5MDY0OTQgQzE3LjI0NzExMSw0My41NzkzMDUgMTcuODUyNzgzMiw0MS45MTA0MDA0IDE3Ljg1Mjc4MzIsMzkuNzgzOTM1NSBMMTcuODUyNzgzMiwyMC44NTIwNTA4IEMxNy44NTI3ODMyLDE4LjcxNTAwNjUgMTcuMjQ3MTExLDE3LjA0MzQ1NyAxNi4wMzU3NjY2LDE1LjgzNzQwMjMgQzE0LjgyNDQyMjIsMTQuNjMxMzQ3NyAxMy4xNTU1MTc2LDE0LjAyODMyMDMgMTEuMDI5MDUyNywxNC4wMjgzMjAzIEwwLDE0LjAyODMyMDMgTDAsMTEuMTQwMTM2NyBDMCw3LjUzMjU1MjA4IDAuOTYyNzI3ODY1LDQuNzczOTY2NDcgMi44ODgxODM1OSwyLjg2NDM3OTg4IEM0LjgxMzYzOTMyLDAuOTU0NzkzMjk0IDcuNTg1NDQ5MjIsMCAxMS4yMDM2MTMzLDAgTDQwLjIyODI3MTUsMCBMNDAuMjI4MjcxNSwxNS4xNTUwMjkzIEMzNy43MTAzNjc4LDE1LjUwNDE1MDQgMzUuNTA5ODQ3LDE2LjM1NTc5NDMgMzMuNjI2NzA5LDE3LjcwOTk2MDkgQzMxLjc0MzU3MSwxOS4wNjQxMjc2IDMwLjI4MDk2NTIsMjAuODE3NjY3NiAyOS4yMzg4OTE2LDIyLjk3MDU4MTEgQzI4LjE5NjgxOCwyNS4xMjM0OTQ1IDI3LjY3NTc4MTMsMjcuNTc1Mjc2NyAyNy42NzU3ODEzLDMwLjMyNTkyNzcgQzI3LjY3NTc4MTMsMzMuMDU1NDE5OSAyOC4xOTY4MTgsMzUuNDkxMzMzIDI5LjIzODg5MTYsMzcuNjMzNjY3IEMzMC4yODA5NjUyLDM5Ljc3NjAwMSAzMS43NDM1NzEsNDEuNTI2ODk2MiAzMy42MjY3MDksNDIuODg2MzUyNSBDMzUuNTA5ODQ3LDQ0LjI0NTgwODkgMzcuNzEwMzY3OCw0NS4xMTA2NzcxIDQwLjIyODI3MTUsNDUuNDgwOTU3IEw0MC4yMjgyNzE1LDYwLjY4MzU5MzggTDExLjIwMzYxMzMsNjAuNjgzNTkzOCBDNy41ODU0NDkyMiw2MC42ODM1OTM4IDQuODEzNjM5MzIsNTkuNzI2MTU1NiAyLjg4ODE4MzU5LDU3LjgxMTI3OTMgQzAuOTYyNzI3ODY1LDU1Ljg5NjQwMyAwLDUzLjE0MDQ2MjIgMCw0OS41NDM0NTcgWiBNMCw0MS4wMjE3Mjg1IEwwLDE5LjYzMDEyNyBMMTAuNzkxMDE1NiwxOS42MzAxMjcgQzExLjc4NTQ4MTgsMTkuNjMwMTI3IDEyLjI4MjcxNDgsMjAuMTM3OTM5NSAxMi4yODI3MTQ4LDIxLjE1MzU2NDUgTDEyLjI4MjcxNDgsMzkuNDgyNDIxOSBDMTIuMjgyNzE0OCw0MC41MDg2MjYzIDExLjc4NTQ4MTgsNDEuMDIxNzI4NSAxMC43OTEwMTU2LDQxLjAyMTcyODUgTDAsNDEuMDIxNzI4NSBaIE0zMy4xMDMwMjczLDMwLjI5NDE4OTUgQzMzLjEwMzAyNzMsMjguNjc1NTM3MSAzMy4zOTkyNTEzLDI3LjIxNTU3NjIgMzMuOTkxNjk5MiwyNS45MTQzMDY2IEMzNC41ODQxNDcxLDI0LjYxMzAzNzEgMzUuNDExOTg3MywyMy41MjMzNTYxIDM2LjQ3NTIxOTcsMjIuNjQ1MjYzNyBDMzcuNTM4NDUyMSwyMS43NjcxNzEyIDM4Ljc4OTQ2OTQsMjEuMTU4ODU0MiA0MC4yMjgyNzE1LDIwLjgyMDMxMjUgTDQwLjIyODI3MTUsMzkuODYzMjgxMiBDMzguNzg5NDY5NCwzOS41MTQxNjAyIDM3LjUzODQ1MjEsMzguODk3OTA4NSAzNi40NzUyMTk3LDM4LjAxNDUyNjQgQzM1LjQxMTk4NzMsMzcuMTMxMTQ0MiAzNC41ODQxNDcxLDM2LjAzMDg4MzggMzMuOTkxNjk5MiwzNC43MTM3NDUxIEMzMy4zOTkyNTEzLDMzLjM5NjYwNjQgMzMuMTAzMDI3MywzMS45MjM0MjEyIDMzLjEwMzAyNzMsMzAuMjk0MTg5NSBaIE00NS43OTgzMzk4LDYwLjY4MzU5MzggTDQ1Ljc5ODMzOTgsNDUuNDgwOTU3IEM0OC4zNDc5ODE4LDQ1LjA4OTUxODIgNTAuNTY5NjYxNSw0NC4yMTY3MTU1IDUyLjQ2MzM3ODksNDIuODYyNTQ4OCBDNTQuMzU3MDk2NCw0MS41MDgzODIyIDU1LjgyMjM0NywzOS43NjI3NzY3IDU2Ljg1OTEzMDksMzcuNjI1NzMyNCBDNTcuODk1OTE0NywzNS40ODg2ODgyIDU4LjM5MzE0NzgsMzMuMDU1NDE5OSA1OC4zNTA4MzAxLDMwLjMyNTkyNzcgQzU4LjMxOTA5MTgsMjcuNjQ5MzMyNyA1Ny43Nzk1NDEsMjUuMjQ3ODAyNyA1Ni43MzIxNzc3LDIzLjEyMTMzNzkgQzU1LjY4NDgxNDUsMjAuOTk0ODczIDU0LjIyNDg1MzUsMTkuMjQ2NjIyNyA1Mi4zNTIyOTQ5LDE3Ljg3NjU4NjkgQzUwLjQ3OTczNjMsMTYuNTA2NTUxMSA0OC4yOTUwODQ2LDE1LjYyNTgxMzggNDUuNzk4MzM5OCwxNS4yMzQzNzUgTDQ1Ljc5ODMzOTgsMCBMNzQuOTgxNjg5NSwwIEM3OC42MTA0MzI5LDAgODEuMzg0ODg3NywwLjk1NDc5MzI5NCA4My4zMDUwNTM3LDIuODY0Mzc5ODggQzg1LjIyNTIxOTcsNC43NzM5NjY0NyA4Ni4xODUzMDI3LDcuNTMyNTUyMDggODYuMTg1MzAyNywxMS4xNDAxMzY3IEw4Ni4xODUzMDI3LDE0LjAyODMyMDMgTDc1LjE3MjExOTEsMTQuMDI4MzIwMyBDNzMuMDM1MDc0OSwxNC4wMjgzMjAzIDcxLjM2MDg4MDUsMTQuNjMxMzQ3NyA3MC4xNDk1MzYxLDE1LjgzNzQwMjMgQzY4LjkzODE5MTcsMTcuMDQzNDU3IDY4LjMzMjUxOTUsMTguNzE1MDA2NSA2OC4zMzI1MTk1LDIwLjg1MjA1MDggTDY4LjMzMjUxOTUsMzkuNzgzOTM1NSBDNjguMzMyNTE5NSw0MS45MTA0MDA0IDY4LjkzODE5MTcsNDMuNTc5MzA1IDcwLjE0OTUzNjEsNDQuNzkwNjQ5NCBDNzEuMzYwODgwNSw0Ni4wMDE5OTM4IDczLjAzNTA3NDksNDYuNjA3NjY2IDc1LjE3MjExOTEsNDYuNjA3NjY2IEw4Ni4xODUzMDI3LDQ2LjYwNzY2NiBMODYuMTg1MzAyNyw0OS41NDM0NTcgQzg2LjE4NTMwMjcsNTMuMTQwNDYyMiA4NS4yMjUyMTk3LDU1Ljg5NjQwMyA4My4zMDUwNTM3LDU3LjgxMTI3OTMgQzgxLjM4NDg4NzcsNTkuNzI2MTU1NiA3OC42MTA0MzI5LDYwLjY4MzU5MzggNzQuOTgxNjg5NSw2MC42ODM1OTM4IEw0NS43OTgzMzk4LDYwLjY4MzU5MzggWiBNNDUuNzk4MzM5OCwzOS44NDc0MTIxIEw0NS43OTgzMzk4LDIwLjgyMDMxMjUgQzQ3LjI0NzcyMTQsMjEuMTQ4Mjc0NyA0OC41MDY2NzMyLDIxLjc1MTMwMjEgNDkuNTc1MTk1MywyMi42MjkzOTQ1IEM1MC42NDM3MTc0LDIzLjUwNzQ4NyA1MS40Njg5MTI4LDI0LjU5OTgxMjggNTIuMDUwNzgxMiwyNS45MDYzNzIxIEM1Mi42MzI2NDk3LDI3LjIxMjkzMTMgNTIuOTIzNTg0LDI4LjY3NTUzNzEgNTIuOTIzNTg0LDMwLjI5NDE4OTUgQzUyLjkxMzAwNDYsMzEuOTEyODQxOCA1Mi42MTQxMzU3LDMzLjM4MDczNzMgNTIuMDI2OTc3NSwzNC42OTc4NzYgQzUxLjQzOTgxOTMsMzYuMDE1MDE0NiA1MC42MTQ2MjQsMzcuMTE1Mjc1MSA0OS41NTEzOTE2LDM3Ljk5ODY1NzIgQzQ4LjQ4ODE1OTIsMzguODgyMDM5NCA0Ny4yMzcxNDE5LDM5LjQ5ODI5MSA0NS43OTgzMzk4LDM5Ljg0NzQxMjEgWiBNNzMuOTE4NDU3LDM5LjQ4MjQyMTkgTDczLjkxODQ1NywyMS4xNTM1NjQ1IEM3My45MTg0NTcsMjAuMTM3OTM5NSA3NC40MTA0MDA0LDE5LjYzMDEyNyA3NS4zOTQyODcxLDE5LjYzMDEyNyBMODYuMTg1MzAyNywxOS42MzAxMjcgTDg2LjE4NTMwMjcsNDEuMDIxNzI4NSBMNzUuMzk0Mjg3MSw0MS4wMjE3Mjg1IEM3NC40MTA0MDA0LDQxLjAyMTcyODUgNzMuOTE4NDU3LDQwLjUwODYyNjMgNzMuOTE4NDU3LDM5LjQ4MjQyMTkgWiIgaWQ9IlNoYXBlIj48L3BhdGg+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4=", + format: "embeddedSvg", + weight: "bold", + }, + defaultImage: { + embeddedData: + "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMTAwcHgiIGhlaWdodD0iMTAwcHgiIHZpZXdCb3g9IjAgMCAxMDAgMTAwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPHRpdGxlPlNpZGViYXIgQ29yZSBEZXN0aW5hdGlvbiBTVkcgQXNzZXRzL1JlZ3VsYXIvc3BvcnRzY291cnQuZmlsbC5yZWd1bGFyPC90aXRsZT4KICAgIDxnIGlkPSJTaWRlYmFyLUNvcmUtRGVzdGluYXRpb24tU1ZHLUFzc2V0cy9SZWd1bGFyL3Nwb3J0c2NvdXJ0LmZpbGwiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxyZWN0IGlkPSJCb3VuZGluZy1Cb3giIHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAiIGhlaWdodD0iMTAwIj48L3JlY3Q+CiAgICAgICAgPGcgaWQ9IlN5bWJvbCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNy4xMjE2LCAyMC43ODQ5KSIgZmlsbD0iI0ZGRkZGRiIgZmlsbC1ydWxlPSJub256ZXJvIj4KICAgICAgICAgICAgPHBhdGggZD0iTTAsNDguNTkxMzA4NiBDMCw1MS44NzA5MzEgMC44MzA0ODUwMjYsNTQuMzMwNjQ3OCAyLjQ5MTQ1NTA4LDU1Ljk3MDQ1OSBDNC4xNTI0MjUxMyw1Ny42MTAyNzAyIDYuNjQzODgwMjEsNTguNDMwMTc1OCA5Ljk2NTgyMDMxLDU4LjQzMDE3NTggTDQwLjU2MTUyMzQsNTguNDMwMTc1OCBMNDAuNTYxNTIzNCw0NC4wNTI3MzQ0IEMzOC4wMjI0NjA5LDQzLjc1NjUxMDQgMzUuODAwNzgxMiw0Mi45NDcxODQyIDMzLjg5NjQ4NDQsNDEuNjI0NzU1OSBDMzEuOTkyMTg3NSw0MC4zMDIzMjc1IDMwLjUwNTc3OCwzOC41Nzc4ODA5IDI5LjQzNzI1NTksMzYuNDUxNDE2IEMyOC4zNjg3MzM3LDM0LjMyNDk1MTIgMjcuODM0NDcyNywzMS45MDc1NTIxIDI3LjgzNDQ3MjcsMjkuMTk5MjE4OCBDMjcuODM0NDcyNywyNi40Njk3MjY2IDI4LjM2ODczMzcsMjQuMDQxNzQ4IDI5LjQzNzI1NTksMjEuOTE1MjgzMiBDMzAuNTA1Nzc4LDE5Ljc4ODgxODQgMzEuOTkyMTg3NSwxOC4wNjQzNzE3IDMzLjg5NjQ4NDQsMTYuNzQxOTQzNCBDMzUuODAwNzgxMiwxNS40MTk1MTUgMzguMDIyNDYwOSwxNC42MjA3NjgyIDQwLjU2MTUyMzQsMTQuMzQ1NzAzMSBMNDAuNTYxNTIzNCwwIEw5Ljk2NTgyMDMxLDAgQzYuNjQzODgwMjEsMCA0LjE1MjQyNTEzLDAuODE5OTA1NTk5IDIuNDkxNDU1MDgsMi40NTk3MTY4IEMwLjgzMDQ4NTAyNiw0LjA5OTUyNzk5IDAsNi41NTkyNDQ3OSAwLDkuODM4ODY3MTkgTDAsMTMuODA2MTUyMyBMMTEuMDc2NjYwMiwxMy44MDYxNTIzIEMxMy4xNzEzODY3LDEzLjgwNjE1MjMgMTQuODAwNjE4NSwxNC4zODI3MzExIDE1Ljk2NDM1NTUsMTUuNTM1ODg4NyBDMTcuMTI4MDkyNCwxNi42ODkwNDYyIDE3LjcwOTk2MDksMTguMzEyOTg4MyAxNy43MDk5NjA5LDIwLjQwNzcxNDggTDE3LjcwOTk2MDksMzcuOTkwNzIyNyBDMTcuNzA5OTYwOSw0MC4wNjQyOTA0IDE3LjEyODA5MjQsNDEuNjgyOTQyNyAxNS45NjQzNTU1LDQyLjg0NjY3OTcgQzE0LjgwMDYxODUsNDQuMDEwNDE2NyAxMy4xNzEzODY3LDQ0LjU5MjI4NTIgMTEuMDc2NjYwMiw0NC41OTIyODUyIEwwLDQ0LjU5MjI4NTIgTDAsNDguNTkxMzA4NiBaIE0wLDQwLjExNzE4NzUgTDExLjAxMzE4MzYsNDAuMTE3MTg3NSBDMTIuNDk0MzAzNCw0MC4xMTcxODc1IDEzLjIzNDg2MzMsMzkuMzY2MDQ4MiAxMy4yMzQ4NjMzLDM3Ljg2Mzc2OTUgTDEzLjIzNDg2MzMsMjAuNTM0NjY4IEMxMy4yMzQ4NjMzLDE5LjAzMjM4OTMgMTIuNDk0MzAzNCwxOC4yODEyNSAxMS4wMTMxODM2LDE4LjI4MTI1IEwwLDE4LjI4MTI1IEwwLDQwLjExNzE4NzUgWiBNMzIuMDU1NjY0MSwyOS4xNjc0ODA1IEMzMi4wNTU2NjQxLDMxLjAwODMwMDggMzIuNDE1MzY0NiwzMi42NjkyNzA4IDMzLjEzNDc2NTYsMzQuMTUwMzkwNiBDMzMuODU0MTY2NywzNS42MzE1MTA0IDM0Ljg0ODYzMjgsMzYuODUzNDM0MiAzNi4xMTgxNjQxLDM3LjgxNjE2MjEgQzM3LjM4NzY5NTMsMzguNzc4ODkgMzguODY4ODE1MSwzOS40MDgzNjU5IDQwLjU2MTUyMzQsMzkuNzA0NTg5OCBMNDAuNTYxNTIzNCwxOC43MjU1ODU5IEMzOC44Njg4MTUxLDE5LjAyMTgwOTkgMzcuMzg3Njk1MywxOS42NDU5OTYxIDM2LjExODE2NDEsMjAuNTk4MTQ0NSBDMzQuODQ4NjMyOCwyMS41NTAyOTMgMzMuODU0MTY2NywyMi43NjE2Mzc0IDMzLjEzNDc2NTYsMjQuMjMyMTc3NyBDMzIuNDE1MzY0NiwyNS43MDI3MTgxIDMyLjA1NTY2NDEsMjcuMzQ3ODE5IDMyLjA1NTY2NDEsMjkuMTY3NDgwNSBaIE00NS4wMzY2MjExLDU4LjQzMDE3NTggTDc1LjgyMjc1MzksNTguNDMwMTc1OCBDNzkuMTQ0Njk0LDU4LjQzMDE3NTggODEuNjMwODU5NCw1Ny42MTAyNzAyIDgzLjI4MTI1LDU1Ljk3MDQ1OSBDODQuOTMxNjQwNiw1NC4zMzA2NDc4IDg1Ljc1NjgzNTksNTEuODcwOTMxIDg1Ljc1NjgzNTksNDguNTkxMzA4NiBMODUuNzU2ODM1OSw0NC41OTIyODUyIEw3NC43MTE5MTQxLDQ0LjU5MjI4NTIgQzcyLjU5NjAyODYsNDQuNTkyMjg1MiA3MC45NjE1MDcyLDQ0LjAxMDQxNjcgNjkuODA4MzQ5Niw0Mi44NDY2Nzk3IEM2OC42NTUxOTIxLDQxLjY4Mjk0MjcgNjguMDc4NjEzMyw0MC4wNjQyOTA0IDY4LjA3ODYxMzMsMzcuOTkwNzIyNyBMNjguMDc4NjEzMywyMC40MDc3MTQ4IEM2OC4wNzg2MTMzLDE4LjMxMjk4ODMgNjguNjU1MTkyMSwxNi42ODkwNDYyIDY5LjgwODM0OTYsMTUuNTM1ODg4NyBDNzAuOTYxNTA3MiwxNC4zODI3MzExIDcyLjU5NjAyODYsMTMuODA2MTUyMyA3NC43MTE5MTQxLDEzLjgwNjE1MjMgTDg1Ljc1NjgzNTksMTMuODA2MTUyMyBMODUuNzU2ODM1OSw5LjgzODg2NzE5IEM4NS43NTY4MzU5LDYuNTU5MjQ0NzkgODQuOTMxNjQwNiw0LjA5OTUyNzk5IDgzLjI4MTI1LDIuNDU5NzE2OCBDODEuNjMwODU5NCwwLjgxOTkwNTU5OSA3OS4xNDQ2OTQsMCA3NS44MjI3NTM5LDAgTDQ1LjAzNjYyMTEsMCBMNDUuMDM2NjIxMSwxNC40MDkxNzk3IEM0Ny41NTQ1MjQ3LDE0LjcyNjU2MjUgNDkuNzY1NjI1LDE1LjU1MTc1NzggNTEuNjY5OTIxOSwxNi44ODQ3NjU2IEM1My41NzQyMTg4LDE4LjIxNzc3MzQgNTUuMDYwNjI4MywxOS45NDIyMjAxIDU2LjEyOTE1MDQsMjIuMDU4MTA1NSBDNTcuMTk3NjcyNSwyNC4xNzM5OTA5IDU3Ljc0MjUxMywyNi41NTQzNjIgNTcuNzYzNjcxOSwyOS4xOTkyMTg4IEM1Ny44MDU5ODk2LDMxLjkwNzU1MjEgNTcuMjk4MTc3MSwzNC4zMTk2NjE1IDU2LjI0MDIzNDQsMzYuNDM1NTQ2OSBDNTUuMTgyMjkxNywzOC41NTE0MzIzIDUzLjY5MDU5MjQsNDAuMjcwNTg5MiA1MS43NjUxMzY3LDQxLjU5MzAxNzYgQzQ5LjgzOTY4MSw0Mi45MTU0NDYgNDcuNTk2ODQyNCw0My43MzUzNTE2IDQ1LjAzNjYyMTEsNDQuMDUyNzM0NCBMNDUuMDM2NjIxMSw1OC40MzAxNzU4IFogTTQ1LjAzNjYyMTEsMzkuNzA0NTg5OCBDNDYuNzI5MzI5NCwzOS40MDgzNjU5IDQ4LjIxMDQ0OTIsMzguNzc4ODkgNDkuNDc5OTgwNSwzNy44MTYxNjIxIEM1MC43NDk1MTE3LDM2Ljg1MzQzNDIgNTEuNzM4Njg4MiwzNS42MzE1MTA0IDUyLjQ0NzUwOTgsMzQuMTUwMzkwNiBDNTMuMTU2MzMxNCwzMi42NjkyNzA4IDUzLjUyMTMyMTYsMzEuMDA4MzAwOCA1My41NDI0ODA1LDI5LjE2NzQ4MDUgQzUzLjU0MjQ4MDUsMjcuMzQ3ODE5IDUzLjE4ODA2OTcsMjUuNzAyNzE4MSA1Mi40NzkyNDgsMjQuMjMyMTc3NyBDNTEuNzcwNDI2NCwyMi43NjE2Mzc0IDUwLjc3NTk2MDMsMjEuNTQ1MDAzMyA0OS40OTU4NDk2LDIwLjU4MjI3NTQgQzQ4LjIxNTczODksMTkuNjE5NTQ3NSA0Ni43MjkzMjk0LDE5LjAwMDY1MSA0NS4wMzY2MjExLDE4LjcyNTU4NTkgTDQ1LjAzNjYyMTEsMzkuNzA0NTg5OCBaIE03Mi41NTM3MTA5LDM3Ljg2Mzc2OTUgQzcyLjU1MzcxMDksMzkuMzY2MDQ4MiA3My4yODM2OTE0LDQwLjExNzE4NzUgNzQuNzQzNjUyMyw0MC4xMTcxODc1IEw4NS43NTY4MzU5LDQwLjExNzE4NzUgTDg1Ljc1NjgzNTksMTguMjgxMjUgTDc0Ljc0MzY1MjMsMTguMjgxMjUgQzczLjI4MzY5MTQsMTguMjgxMjUgNzIuNTUzNzEwOSwxOS4wMzIzODkzIDcyLjU1MzcxMDksMjAuNTM0NjY4IEw3Mi41NTM3MTA5LDM3Ljg2Mzc2OTUgWiIgaWQ9IlNoYXBlIj48L3BhdGg+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4=", + format: "embeddedSvg", + weight: "regular", + }, + mediumImage: { + embeddedData: + "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMTAwcHgiIGhlaWdodD0iMTAwcHgiIHZpZXdCb3g9IjAgMCAxMDAgMTAwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPHRpdGxlPlNpZGViYXIgQ29yZSBEZXN0aW5hdGlvbiBTVkcgQXNzZXRzL01lZGl1bS9zcG9ydHNjb3VydC5maWxsLm1lZGl1bTwvdGl0bGU+CiAgICA8ZyBpZD0iU2lkZWJhci1Db3JlLURlc3RpbmF0aW9uLVNWRy1Bc3NldHMvTWVkaXVtL3Nwb3J0c2NvdXJ0LmZpbGwiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxyZWN0IGlkPSJCb3VuZGluZy1Cb3giIHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAiIGhlaWdodD0iMTAwIj48L3JlY3Q+CiAgICAgICAgPGcgaWQ9IlN5bWJvbCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNy4wNDMsIDIwLjM3MTgpIiBmaWxsPSIjRkZGRkZGIiBmaWxsLXJ1bGU9Im5vbnplcm8iPgogICAgICAgICAgICA8cGF0aCBkPSJNMCw0OC45NDA0Mjk3IEwwLDQ1LjMzMTE5MiBMMTEuMDU5MzAzMyw0NS4zMzExOTIgQzEzLjE2NTYwMTEsNDUuMzMxMTkyIDE0LjgwOTM3OTYsNDQuNzQwNjQ1MSAxNS45OTA2Mzg3LDQzLjU1OTU1MTIgQzE3LjE3MTg5NzksNDIuMzc4NDU3NCAxNy43NjI1Mjc1LDQwLjc0MTM3MzcgMTcuNzYyNTI3NSwzOC42NDgzMDAyIEwxNy43NjI1Mjc1LDIwLjU3MDM3MzUgQzE3Ljc2MjUyNzUsMTguNDYwMTA4NCAxNy4xNzE4OTc5LDE2LjgxODcyNjkgMTUuOTkwNjM4NywxNS42NDYyMjg4IEMxNC44MDkzNzk2LDE0LjQ3MzczMDcgMTMuMTY1NjAxMSwxMy44ODc0ODE3IDExLjA1OTMwMzMsMTMuODg3NDgxNyBMMCwxMy44ODc0ODE3IEwwLDEwLjMxNTkzMzIgQzAsNi45MTU5Njk4NSAwLjg3OTAwMTYxNyw0LjM0NjY1NjggMi42MzcwMDQ4NSwyLjYwNzk5NDA4IEM0LjM5NTAwODA5LDAuODY5MzMxMzYgNi45ODkxOTkzMiwwIDEwLjQxOTU3ODYsMCBMNDAuNDM5NTI5NCwwIEw0MC40Mzk1Mjk0LDE0LjY0MjI1NzcgQzM3LjkwODA3MDksMTQuOTQ0NDMyNiAzNS42OTQwNzc4LDE1Ljc2MjYwMjUgMzMuNzk3NTUwMiwxNy4wOTY3Njc0IEMzMS45MDEwMjI2LDE4LjQzMDkzMjQgMzAuNDIzMzc0MiwyMC4xNjYxMjM3IDI5LjM2NDYwNDksMjIuMzAyMzQxNSBDMjguMzA1ODM1NywyNC40Mzg1NTkyIDI3Ljc3NjQ1MTEsMjYuODc1MjE2MiAyNy43NzY0NTExLDI5LjYxMjMxMjMgQzI3Ljc3NjQ1MTEsMzIuMzI4MjQ5NiAyOC4zMDU4MzU3LDM0Ljc1MjQyNjEgMjkuMzY0NjA0OSwzNi44ODQ4NDE5IEMzMC40MjMzNzQyLDM5LjAxNzI1NzcgMzEuOTAxMDIyNiw0MC43NTE0NTcyIDMzLjc5NzU1MDIsNDIuMDg3NDQwNSBDMzUuNjk0MDc3OCw0My40MjM0MjM4IDM3LjkwODA3MDksNDQuMjUzMDgyMyA0MC40Mzk1Mjk0LDQ0LjU3NjQxNiBMNDAuNDM5NTI5NCw1OS4yNTYzNjI5IEwxMC40MTk1Nzg2LDU5LjI1NjM2MjkgQzYuOTg5MTk5MzIsNTkuMjU2MzYyOSA0LjM5NTAwODA5LDU4LjM4NjAzOTcgMi42MzcwMDQ4NSw1Ni42NDUzOTM0IEMwLjg3OTAwMTYxNyw1NC45MDQ3NDcgMCw1Mi4zMzY0MjU4IDAsNDguOTQwNDI5NyBaIE0wLDQwLjQ0ODk1MTcgTDAsMTguNzc1NjcyOSBMMTAuOTMxODU0MiwxOC43NzU2NzI5IEMxMi4yMzQ0NDYyLDE4Ljc3NTY3MjkgMTIuODg1NzQyMiwxOS40Mzc1NDgzIDEyLjg4NTc0MjIsMjAuNzYxMjk5MSBMMTIuODg1NzQyMiwzOC40NTczNzQ2IEMxMi44ODU3NDIyLDM5Ljc4NTA5MjcgMTIuMjM0NDQ2Miw0MC40NDg5NTE3IDEwLjkzMTg1NDIsNDAuNDQ4OTUxNyBMMCw0MC40NDg5NTE3IFogTTMyLjQzOTQ5ODksMjkuNTgwNTc0IEMzMi40Mzk0OTg5LDI3LjgzNDYzOCAzMi43NzU5NzQzLDI2LjI1NzM5NDIgMzMuNDQ4OTI1LDI0Ljg0ODg0MjYgQzM0LjEyMTg3NTgsMjMuNDQwMjkxMSAzNS4wNTUyNjIyLDIyLjI3MzU3ODYgMzYuMjQ5MDg0NSwyMS4zNDg3MDUzIEMzNy40NDI5MDY3LDIwLjQyMzgzMTkgMzguODM5NzIxNywxOS44MDU1MTQgNDAuNDM5NTI5NCwxOS40OTM3NTE1IEw0MC40Mzk1Mjk0LDM5Ljc2MjYxMTQgQzM4LjgzOTcyMTcsMzkuNDQ3MjEyMiAzNy40NDI5MDY3LDM4LjgyMjY5NTQgMzYuMjQ5MDg0NSwzNy44ODkwNjEgQzM1LjA1NTI2MjIsMzYuOTU1NDI2NSAzNC4xMjE4NzU4LDM1Ljc3ODA1MiAzMy40NDg5MjUsMzQuMzU2OTM3NCBDMzIuNzc1OTc0MywzMi45MzU4MjI4IDMyLjQzOTQ5ODksMzEuMzQzNzAxNyAzMi40Mzk0OTg5LDI5LjU4MDU3NCBaIE00NS4zMTU4MTg4LDU5LjI1NjM2MjkgTDQ1LjMxNTgxODgsNDQuNTc2NDE2IEM0Ny44NzI0MDM1LDQ0LjIzMTkyMzQgNTAuMTA3NTU1NCw0My4zOTI1OTQ3IDUyLjAyMTI3NDYsNDIuMDU4NDI5NyBDNTMuOTM0OTkzNyw0MC43MjQyNjQ4IDU1LjQxNjk0MDEsMzguOTk1MzU1IDU2LjQ2NzExMzUsMzYuODcxNzAwMyBDNTcuNTE3Mjg2OSwzNC43NDgwNDU2IDU4LjAyMTIxNDgsMzIuMzI4MjQ5NiA1Ny45Nzg4OTcxLDI5LjYxMjMxMjMgQzU3Ljk1Mzc3MSwyNi45NTU4ODQzIDU3LjQxMDgzMTUsMjQuNTY3NzQzOSA1Ni4zNTAwNzg2LDIyLjQ0Nzg5MTIgQzU1LjI4OTMyNTcsMjAuMzI4MDM4NSA1My44MTI2NjkxLDE4LjU5NDgzMDggNTEuOTIwMTA4OCwxNy4yNDgyNjgxIEM1MC4wMjc1NDg1LDE1LjkwMTcwNTQgNDcuODI2MTE4NSwxNS4wNTYxNzc4IDQ1LjMxNTgxODgsMTQuNzExNjg1MiBMNDUuMzE1ODE4OCwwIEw3NS41MTQyOTc1LDAgQzc4Ljk0ODY0NCwwIDgxLjU0MDUyMSwwLjg2OTMzMTM2IDgzLjI4OTkyODQsMi42MDc5OTQwOCBDODUuMDM5MzM1OSw0LjM0NjY1NjggODUuOTE0MDM5Niw2LjkxNTk2OTg1IDg1LjkxNDAzOTYsMTAuMzE1OTMzMiBMODUuOTE0MDM5NiwxMy44ODc0ODE3IEw3NC44ODA1MjM3LDEzLjg4NzQ4MTcgQzcyLjc1NzAzNDMsMTMuODg3NDgxNyA3MS4xMDgwNDg4LDE0LjQ3MzczMDcgNjkuOTMzNTY3LDE1LjY0NjIyODggQzY4Ljc1OTA4NTMsMTYuODE4NzI2OSA2OC4xNzE4NDQ1LDE4LjQ2MDEwODQgNjguMTcxODQ0NSwyMC41NzAzNzM1IEw2OC4xNzE4NDQ1LDM4LjY0ODMwMDIgQzY4LjE3MTg0NDUsNDAuNzQxMzczNyA2OC43NTkwODUzLDQyLjM3ODQ1NzQgNjkuOTMzNTY3LDQzLjU1OTU1MTIgQzcxLjEwODA0ODgsNDQuNzQwNjQ1MSA3Mi43NTcwMzQzLDQ1LjMzMTE5MiA3NC44ODA1MjM3LDQ1LjMzMTE5MiBMODUuOTE0MDM5Niw0NS4zMzExOTIgTDg1LjkxNDAzOTYsNDguOTQwNDI5NyBDODUuOTE0MDM5Niw1Mi4zMzY0MjU4IDg1LjAzOTMzNTksNTQuOTA0NzQ3IDgzLjI4OTkyODQsNTYuNjQ1MzkzNCBDODEuNTQwNTIxLDU4LjM4NjAzOTcgNzguOTQ4NjQ0LDU5LjI1NjM2MjkgNzUuNTE0Mjk3NSw1OS4yNTYzNjI5IEw0NS4zMTU4MTg4LDU5LjI1NjM2MjkgWiBNNDUuMzE1ODE4OCwzOS43NTY2NjA1IEw0NS4zMTU4MTg4LDE5LjQ5Mzc1MTUgQzQ2LjkxOTI2MzIsMTkuNzg3OTkxOCA0OC4zMjIyNzcxLDIwLjQwMTAyMDEgNDkuNTI0ODYwNCwyMS4zMzI4MzYyIEM1MC43Mjc0NDM3LDIyLjI2NDY1MjMgNTEuNjU5ODM4NCwyMy40MzU3NDUyIDUyLjMyMjA0NDQsMjQuODQ2MTE1MSBDNTIuOTg0MjUwNCwyNi4yNTY0ODUgNTMuMzE1MzUzNCwyNy44MzQ2MzggNTMuMzE1MzUzNCwyOS41ODA1NzQgQzUzLjI5ODE2MTgsMzEuMzQwMDY1IDUyLjk1NzQ3MTIsMzIuOTMwMjg1MSA1Mi4yOTMyODE2LDM0LjM1MTIzNDQgQzUxLjYyOTA5MTksMzUuNzcyMTgzNyA1MC43MDAwODYsMzYuOTQ5NDc1NiA0OS41MDYyNjM3LDM3Ljg4MzExIEM0OC4zMTI0NDE1LDM4LjgxNjc0NDUgNDYuOTE1NjI2NSwzOS40NDEyNjEzIDQ1LjMxNTgxODgsMzkuNzU2NjYwNSBaIE03My4wNTQwODQ4LDM4LjQ1NzM3NDYgTDczLjA1NDA4NDgsMjAuNzYxMjk5MSBDNzMuMDU0MDg0OCwxOS40Mzc1NDgzIDczLjY5Njc4NSwxOC43NzU2NzI5IDc0Ljk4MjE4NTQsMTguNzc1NjcyOSBMODUuOTE0MDM5NiwxOC43NzU2NzI5IEw4NS45MTQwMzk2LDQwLjQ0ODk1MTcgTDc0Ljk4MjE4NTQsNDAuNDQ4OTUxNyBDNzMuNjk2Nzg1LDQwLjQ0ODk1MTcgNzMuMDU0MDg0OCwzOS43ODUwOTI3IDczLjA1NDA4NDgsMzguNDU3Mzc0NiBaIiBpZD0iU2hhcGUiPjwvcGF0aD4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg==", + format: "embeddedSvg", + weight: "medium", + }, + regularImage: { + embeddedData: + "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMTAwcHgiIGhlaWdodD0iMTAwcHgiIHZpZXdCb3g9IjAgMCAxMDAgMTAwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPHRpdGxlPlNpZGViYXIgQ29yZSBEZXN0aW5hdGlvbiBTVkcgQXNzZXRzL1JlZ3VsYXIvc3BvcnRzY291cnQuZmlsbC5yZWd1bGFyPC90aXRsZT4KICAgIDxnIGlkPSJTaWRlYmFyLUNvcmUtRGVzdGluYXRpb24tU1ZHLUFzc2V0cy9SZWd1bGFyL3Nwb3J0c2NvdXJ0LmZpbGwiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxyZWN0IGlkPSJCb3VuZGluZy1Cb3giIHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAiIGhlaWdodD0iMTAwIj48L3JlY3Q+CiAgICAgICAgPGcgaWQ9IlN5bWJvbCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNy4xMjE2LCAyMC43ODQ5KSIgZmlsbD0iI0ZGRkZGRiIgZmlsbC1ydWxlPSJub256ZXJvIj4KICAgICAgICAgICAgPHBhdGggZD0iTTAsNDguNTkxMzA4NiBDMCw1MS44NzA5MzEgMC44MzA0ODUwMjYsNTQuMzMwNjQ3OCAyLjQ5MTQ1NTA4LDU1Ljk3MDQ1OSBDNC4xNTI0MjUxMyw1Ny42MTAyNzAyIDYuNjQzODgwMjEsNTguNDMwMTc1OCA5Ljk2NTgyMDMxLDU4LjQzMDE3NTggTDQwLjU2MTUyMzQsNTguNDMwMTc1OCBMNDAuNTYxNTIzNCw0NC4wNTI3MzQ0IEMzOC4wMjI0NjA5LDQzLjc1NjUxMDQgMzUuODAwNzgxMiw0Mi45NDcxODQyIDMzLjg5NjQ4NDQsNDEuNjI0NzU1OSBDMzEuOTkyMTg3NSw0MC4zMDIzMjc1IDMwLjUwNTc3OCwzOC41Nzc4ODA5IDI5LjQzNzI1NTksMzYuNDUxNDE2IEMyOC4zNjg3MzM3LDM0LjMyNDk1MTIgMjcuODM0NDcyNywzMS45MDc1NTIxIDI3LjgzNDQ3MjcsMjkuMTk5MjE4OCBDMjcuODM0NDcyNywyNi40Njk3MjY2IDI4LjM2ODczMzcsMjQuMDQxNzQ4IDI5LjQzNzI1NTksMjEuOTE1MjgzMiBDMzAuNTA1Nzc4LDE5Ljc4ODgxODQgMzEuOTkyMTg3NSwxOC4wNjQzNzE3IDMzLjg5NjQ4NDQsMTYuNzQxOTQzNCBDMzUuODAwNzgxMiwxNS40MTk1MTUgMzguMDIyNDYwOSwxNC42MjA3NjgyIDQwLjU2MTUyMzQsMTQuMzQ1NzAzMSBMNDAuNTYxNTIzNCwwIEw5Ljk2NTgyMDMxLDAgQzYuNjQzODgwMjEsMCA0LjE1MjQyNTEzLDAuODE5OTA1NTk5IDIuNDkxNDU1MDgsMi40NTk3MTY4IEMwLjgzMDQ4NTAyNiw0LjA5OTUyNzk5IDAsNi41NTkyNDQ3OSAwLDkuODM4ODY3MTkgTDAsMTMuODA2MTUyMyBMMTEuMDc2NjYwMiwxMy44MDYxNTIzIEMxMy4xNzEzODY3LDEzLjgwNjE1MjMgMTQuODAwNjE4NSwxNC4zODI3MzExIDE1Ljk2NDM1NTUsMTUuNTM1ODg4NyBDMTcuMTI4MDkyNCwxNi42ODkwNDYyIDE3LjcwOTk2MDksMTguMzEyOTg4MyAxNy43MDk5NjA5LDIwLjQwNzcxNDggTDE3LjcwOTk2MDksMzcuOTkwNzIyNyBDMTcuNzA5OTYwOSw0MC4wNjQyOTA0IDE3LjEyODA5MjQsNDEuNjgyOTQyNyAxNS45NjQzNTU1LDQyLjg0NjY3OTcgQzE0LjgwMDYxODUsNDQuMDEwNDE2NyAxMy4xNzEzODY3LDQ0LjU5MjI4NTIgMTEuMDc2NjYwMiw0NC41OTIyODUyIEwwLDQ0LjU5MjI4NTIgTDAsNDguNTkxMzA4NiBaIE0wLDQwLjExNzE4NzUgTDExLjAxMzE4MzYsNDAuMTE3MTg3NSBDMTIuNDk0MzAzNCw0MC4xMTcxODc1IDEzLjIzNDg2MzMsMzkuMzY2MDQ4MiAxMy4yMzQ4NjMzLDM3Ljg2Mzc2OTUgTDEzLjIzNDg2MzMsMjAuNTM0NjY4IEMxMy4yMzQ4NjMzLDE5LjAzMjM4OTMgMTIuNDk0MzAzNCwxOC4yODEyNSAxMS4wMTMxODM2LDE4LjI4MTI1IEwwLDE4LjI4MTI1IEwwLDQwLjExNzE4NzUgWiBNMzIuMDU1NjY0MSwyOS4xNjc0ODA1IEMzMi4wNTU2NjQxLDMxLjAwODMwMDggMzIuNDE1MzY0NiwzMi42NjkyNzA4IDMzLjEzNDc2NTYsMzQuMTUwMzkwNiBDMzMuODU0MTY2NywzNS42MzE1MTA0IDM0Ljg0ODYzMjgsMzYuODUzNDM0MiAzNi4xMTgxNjQxLDM3LjgxNjE2MjEgQzM3LjM4NzY5NTMsMzguNzc4ODkgMzguODY4ODE1MSwzOS40MDgzNjU5IDQwLjU2MTUyMzQsMzkuNzA0NTg5OCBMNDAuNTYxNTIzNCwxOC43MjU1ODU5IEMzOC44Njg4MTUxLDE5LjAyMTgwOTkgMzcuMzg3Njk1MywxOS42NDU5OTYxIDM2LjExODE2NDEsMjAuNTk4MTQ0NSBDMzQuODQ4NjMyOCwyMS41NTAyOTMgMzMuODU0MTY2NywyMi43NjE2Mzc0IDMzLjEzNDc2NTYsMjQuMjMyMTc3NyBDMzIuNDE1MzY0NiwyNS43MDI3MTgxIDMyLjA1NTY2NDEsMjcuMzQ3ODE5IDMyLjA1NTY2NDEsMjkuMTY3NDgwNSBaIE00NS4wMzY2MjExLDU4LjQzMDE3NTggTDc1LjgyMjc1MzksNTguNDMwMTc1OCBDNzkuMTQ0Njk0LDU4LjQzMDE3NTggODEuNjMwODU5NCw1Ny42MTAyNzAyIDgzLjI4MTI1LDU1Ljk3MDQ1OSBDODQuOTMxNjQwNiw1NC4zMzA2NDc4IDg1Ljc1NjgzNTksNTEuODcwOTMxIDg1Ljc1NjgzNTksNDguNTkxMzA4NiBMODUuNzU2ODM1OSw0NC41OTIyODUyIEw3NC43MTE5MTQxLDQ0LjU5MjI4NTIgQzcyLjU5NjAyODYsNDQuNTkyMjg1MiA3MC45NjE1MDcyLDQ0LjAxMDQxNjcgNjkuODA4MzQ5Niw0Mi44NDY2Nzk3IEM2OC42NTUxOTIxLDQxLjY4Mjk0MjcgNjguMDc4NjEzMyw0MC4wNjQyOTA0IDY4LjA3ODYxMzMsMzcuOTkwNzIyNyBMNjguMDc4NjEzMywyMC40MDc3MTQ4IEM2OC4wNzg2MTMzLDE4LjMxMjk4ODMgNjguNjU1MTkyMSwxNi42ODkwNDYyIDY5LjgwODM0OTYsMTUuNTM1ODg4NyBDNzAuOTYxNTA3MiwxNC4zODI3MzExIDcyLjU5NjAyODYsMTMuODA2MTUyMyA3NC43MTE5MTQxLDEzLjgwNjE1MjMgTDg1Ljc1NjgzNTksMTMuODA2MTUyMyBMODUuNzU2ODM1OSw5LjgzODg2NzE5IEM4NS43NTY4MzU5LDYuNTU5MjQ0NzkgODQuOTMxNjQwNiw0LjA5OTUyNzk5IDgzLjI4MTI1LDIuNDU5NzE2OCBDODEuNjMwODU5NCwwLjgxOTkwNTU5OSA3OS4xNDQ2OTQsMCA3NS44MjI3NTM5LDAgTDQ1LjAzNjYyMTEsMCBMNDUuMDM2NjIxMSwxNC40MDkxNzk3IEM0Ny41NTQ1MjQ3LDE0LjcyNjU2MjUgNDkuNzY1NjI1LDE1LjU1MTc1NzggNTEuNjY5OTIxOSwxNi44ODQ3NjU2IEM1My41NzQyMTg4LDE4LjIxNzc3MzQgNTUuMDYwNjI4MywxOS45NDIyMjAxIDU2LjEyOTE1MDQsMjIuMDU4MTA1NSBDNTcuMTk3NjcyNSwyNC4xNzM5OTA5IDU3Ljc0MjUxMywyNi41NTQzNjIgNTcuNzYzNjcxOSwyOS4xOTkyMTg4IEM1Ny44MDU5ODk2LDMxLjkwNzU1MjEgNTcuMjk4MTc3MSwzNC4zMTk2NjE1IDU2LjI0MDIzNDQsMzYuNDM1NTQ2OSBDNTUuMTgyMjkxNywzOC41NTE0MzIzIDUzLjY5MDU5MjQsNDAuMjcwNTg5MiA1MS43NjUxMzY3LDQxLjU5MzAxNzYgQzQ5LjgzOTY4MSw0Mi45MTU0NDYgNDcuNTk2ODQyNCw0My43MzUzNTE2IDQ1LjAzNjYyMTEsNDQuMDUyNzM0NCBMNDUuMDM2NjIxMSw1OC40MzAxNzU4IFogTTQ1LjAzNjYyMTEsMzkuNzA0NTg5OCBDNDYuNzI5MzI5NCwzOS40MDgzNjU5IDQ4LjIxMDQ0OTIsMzguNzc4ODkgNDkuNDc5OTgwNSwzNy44MTYxNjIxIEM1MC43NDk1MTE3LDM2Ljg1MzQzNDIgNTEuNzM4Njg4MiwzNS42MzE1MTA0IDUyLjQ0NzUwOTgsMzQuMTUwMzkwNiBDNTMuMTU2MzMxNCwzMi42NjkyNzA4IDUzLjUyMTMyMTYsMzEuMDA4MzAwOCA1My41NDI0ODA1LDI5LjE2NzQ4MDUgQzUzLjU0MjQ4MDUsMjcuMzQ3ODE5IDUzLjE4ODA2OTcsMjUuNzAyNzE4MSA1Mi40NzkyNDgsMjQuMjMyMTc3NyBDNTEuNzcwNDI2NCwyMi43NjE2Mzc0IDUwLjc3NTk2MDMsMjEuNTQ1MDAzMyA0OS40OTU4NDk2LDIwLjU4MjI3NTQgQzQ4LjIxNTczODksMTkuNjE5NTQ3NSA0Ni43MjkzMjk0LDE5LjAwMDY1MSA0NS4wMzY2MjExLDE4LjcyNTU4NTkgTDQ1LjAzNjYyMTEsMzkuNzA0NTg5OCBaIE03Mi41NTM3MTA5LDM3Ljg2Mzc2OTUgQzcyLjU1MzcxMDksMzkuMzY2MDQ4MiA3My4yODM2OTE0LDQwLjExNzE4NzUgNzQuNzQzNjUyMyw0MC4xMTcxODc1IEw4NS43NTY4MzU5LDQwLjExNzE4NzUgTDg1Ljc1NjgzNTksMTguMjgxMjUgTDc0Ljc0MzY1MjMsMTguMjgxMjUgQzczLjI4MzY5MTQsMTguMjgxMjUgNzIuNTUzNzEwOSwxOS4wMzIzODkzIDcyLjU1MzcxMDksMjAuNTM0NjY4IEw3Mi41NTM3MTA5LDM3Ljg2Mzc2OTUgWiIgaWQ9IlNoYXBlIj48L3BhdGg+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4=", + format: "embeddedSvg", + weight: "regular", + }, + }, }, { title: "儿童", @@ -117,32 +143,9 @@ export default { { title: "商店", type: "Store", - universalLinks: ["https://tv.apple.com/store"], - destinationType: "SubTabs", - subTabs: [ - { - title: "电影", - type: "Movies", - universalLinks: ["https://tv.apple.com/movies"], - destinationType: "Target", - target: { - id: "tahoma_movies", - type: "Root", - url: "https://tv.apple.com/movies", - }, - }, - { - title: "电视节目", - type: "TV", - universalLinks: ["https://tv.apple.com/tv-shows"], - destinationType: "Target", - target: { - id: "tahoma_tvshows", - type: "Root", - url: "https://tv.apple.com/tv-shows", - }, - }, - ], + universalLinks: ["https://tv.apple.com/store", "https://tv.apple.com/movies", "https://tv.apple.com/tv-shows"], + destinationType: "Target", + target: { id: "tahoma_store", type: "Root", url: "https://tv.apple.com/store" }, }, { title: "频道和 App", diff --git a/src/request.dev.js b/src/request.dev.js index e345e41..69191c8 100644 --- a/src/request.dev.js +++ b/src/request.dev.js @@ -24,7 +24,7 @@ Console.info(`FORMAT: ${FORMAT}`); // 解析参数 const StoreFront = url.searchParams.get("sf"); const Locale = ($request.headers?.["X-Apple-I-Locale"] ?? $request.headers?.["x-apple-i-locale"])?.split("_")?.[0] ?? "zh"; - Console.debug(`StoreFront = ${StoreFront}`, `Locale = ${Locale}`); + Console.info(`StoreFront: ${StoreFront}`, `Locale: ${Locale}`); // 创建空数据 let body = {}; // 设置默认类型 @@ -139,10 +139,10 @@ Console.info(`FORMAT: ${FORMAT}`); // 主机判断 switch (url.hostname) { case "uts-api.itunes.apple.com": { - const Version = Number.parseInt(url.searchParams.get("v"), 10), + const Caller = url.searchParams.get("caller"), Platform = url.searchParams.get("pfm"), - Caller = url.searchParams.get("caller"); - Console.debug(`Version = ${Version}`, `Platform = ${Platform}`, `Caller = ${Caller}`); + Version = Number.parseInt(url.searchParams.get("v"), 10); + Console.info(`Caller: ${Caller}`, `Platform: ${Platform}`, `Version: ${Version}`); // 路径判断 switch (url.pathname) { case "/uts/v3/configurations": { @@ -150,7 +150,7 @@ Console.info(`FORMAT: ${FORMAT}`); const Region = url.searchParams.get("region"), Country = url.searchParams.get("country"), StoreFrontH = url.searchParams.get("sfh"); - Console.debug(`Region = ${Region}`, `Country = ${Country}`, `StoreFrontH = ${StoreFrontH}`); + Console.info(`Region: ${Region}`, `Country: ${Country}`, `StoreFrontH: ${StoreFrontH}`); if (Settings.CountryCode[Type] !== "AUTO") { if (Region) url.searchParams.set("region", Settings.CountryCode[Type] ?? Region); if (Country) url.searchParams.set("country", Settings.CountryCode[Type] ?? Country); @@ -165,7 +165,7 @@ Console.info(`FORMAT: ${FORMAT}`); case "/uts/v3/canvases/roots/tahoma_watchnow": case "/uts/v3/shelves/uts.col.UpNext": Type = "WatchNow"; - if (Settings.ThirdParty) url.searchParams.set("pfm", Platform === "desktop" ? "appletv" : Platform); + if (Settings.ThirdParty) if (Platform === "desktop") url.searchParams.set("pfm", "appletv"); break; case "/uts/v3/canvases/Channels/tvs.sbd.4000": case "/uts/v3/shelves/uts.col.ChannelUpNext.tvs.sbd.4000": @@ -182,6 +182,7 @@ Console.info(`FORMAT: ${FORMAT}`); Type = "Channels"; break; case "/uts/v3/canvases/Roots/sports": + case "/uts/v3/canvases/Roots/tahoma_sports": case "/uts/v3/shelves/uts.col.PersonalizedLiveSports": case "/uts/v3/clock-scores": case "/uts/v3/leagues": @@ -195,11 +196,16 @@ Console.info(`FORMAT: ${FORMAT}`); case "/uts/v3/canvases/Rooms/edt.item.635968ac-89d7-4619-8f5d-8c7890aef813": // NFL THANKSGIVING 2022 case "/uts/v3/canvases/Rooms/edt.item.62327df1-6874-470e-98b2-a5bbeac509a2": // Friday Night Baseball - MLB - Apple TV+ Type = "Sports"; - //if (Settings["ThirdParty"]) - url.searchParams.set("pfm", Platform === "desktop" ? "ipad" : Platform); + if (Platform === "desktop") url.searchParams.set("pfm", "ipad"); break; case "/uts/v3/canvases/Roots/kids": + case "/uts/v3/canvases/Roots/tahoma_kids": Type = "Kids"; + //if (Platform === "desktop") url.searchParams.set("caller", "js"); + break; + case "/uts/v3/canvases/Roots/kids/tahoma_kids": + Type = "Kids"; + url.pathname = "/uts/v3/canvases/Roots/tahoma_kids"; break; case "/uts/v3/canvases/Roots/store": case "/uts/v3/canvases/Roots/tahoma_store": @@ -207,11 +213,11 @@ Console.info(`FORMAT: ${FORMAT}`); break; case "/uts/v3/canvases/Roots/movies": Type = "Movies"; - if (Settings.ThirdParty) url.searchParams.set("pfm", Platform === "desktop" ? "ipad" : Platform); + if (Settings.ThirdParty) if (Platform === "desktop") url.searchParams.set("pfm", "ipad"); break; case "/uts/v3/canvases/Roots/tv": Type = "TV"; - if (Settings.ThirdParty) url.searchParams.set("pfm", Platform === "desktop" ? "ipad" : Platform); + if (Settings.ThirdParty) if (Platform === "desktop") url.searchParams.set("pfm", "ipad"); break; case "/uts/v3/favorite-people": case "/uts/v3/favorite-teams": @@ -230,7 +236,7 @@ Console.info(`FORMAT: ${FORMAT}`); case "/uts/v3/watchlist": case "/uts/v2/watchlist/contains": case "/uts/v2/watchlist/search": - if (Settings.ThirdParty) url.searchParams.set("pfm", Platform === "desktop" ? "ipad" : Platform); + if (Settings.ThirdParty) if (Platform === "desktop") url.searchParams.set("pfm", "ipad"); break; default: //if (Settings["ThirdParty"]) url.searchParams.set("pfm", (Platform === "desktop") ? "ipad" : Platform); @@ -242,11 +248,11 @@ Console.info(`FORMAT: ${FORMAT}`); else if (url.pathname.includes("/uts/v3/sporting-events/")) { Type = "Sports"; //if (Settings["ThirdParty"]) - url.searchParams.set("pfm", Platform === "desktop" ? "ipad" : Platform); + if (Platform === "desktop") url.searchParams.set("pfm", "ipad"); } else if (url.pathname.includes("/uts/v3/canvases/Sports/")) { Type = "Sports"; //if (Settings["ThirdParty"]) - url.searchParams.set("pfm", Platform === "desktop" ? "ipad" : Platform); + if (Platform === "desktop") url.searchParams.set("pfm", "ipad"); } else if (url.pathname.includes("/uts/v3/canvases/Persons/")) Type = "Persons"; else if (url.pathname.includes("/uts/v3/canvases/Rooms/")) Type = "Others"; //else if (url.pathname.includes("/uts/v3/playables/")) Type = "Others"; @@ -297,7 +303,7 @@ Console.info(`FORMAT: ${FORMAT}`); if ($request.headers?.["x-apple-store-front"]) $request.headers["x-apple-store-front"] = Configs.Storefront[Settings.CountryCode[Type]] ? $request.headers["x-apple-store-front"].replace(/\d{6}/, Configs.Storefront[Settings.CountryCode[Type]]) : $request.headers["x-apple-store-front"]; if (StoreFront) url.searchParams.set("sf", Configs.Storefront[Settings.CountryCode[Type]] ?? StoreFront); if (Locale) url.searchParams.set("locale", Configs.Locale.get(Settings.CountryCode[Type]) ?? Locale); - Console.debug(`StoreFront = ${url.searchParams.get("sf")}`, `Locale = ${url.searchParams.get("locale")}`); + Console.info(`StoreFront: ${url.searchParams.get("sf")}`, `Locale = ${url.searchParams.get("locale")}`); $request.url = url.toString(); Console.debug(`$request.url: ${$request.url}`); })() diff --git a/src/request.js b/src/request.js index 7066b57..c7abfea 100644 --- a/src/request.js +++ b/src/request.js @@ -24,7 +24,7 @@ Console.info(`FORMAT: ${FORMAT}`); // 解析参数 const StoreFront = url.searchParams.get("sf"); const Locale = ($request.headers?.["X-Apple-I-Locale"] ?? $request.headers?.["x-apple-i-locale"])?.split("_")?.[0] ?? "zh"; - Console.debug(`StoreFront = ${StoreFront}`, `Locale = ${Locale}`); + Console.info(`StoreFront: ${StoreFront}`, `Locale: ${Locale}`); // 创建空数据 let body = {}; // 设置默认类型 @@ -96,6 +96,7 @@ Console.info(`FORMAT: ${FORMAT}`); switch (url.pathname) { case "/uts/v3/user/settings": Type = "Settings"; + Console.debug(JSON.stringify(body)); break; } break; @@ -105,6 +106,7 @@ Console.info(`FORMAT: ${FORMAT}`); case "/v3/channels/scoreboard": case "/v3/channels/scoreboard/": Type = "Sports"; + Console.debug(JSON.stringify(body)); break; } break; @@ -128,9 +130,10 @@ Console.info(`FORMAT: ${FORMAT}`); // 主机判断 switch (url.hostname) { case "uts-api.itunes.apple.com": { - const Version = Number.parseInt(url.searchParams.get("v"), 10), + const Caller = url.searchParams.get("caller"), Platform = url.searchParams.get("pfm"), - Caller = url.searchParams.get("caller"); + Version = Number.parseInt(url.searchParams.get("v"), 10); + Console.info(`Caller: ${Caller}`, `Platform: ${Platform}`, `Version: ${Version}`); // 路径判断 switch (url.pathname) { case "/uts/v3/configurations": { @@ -138,6 +141,7 @@ Console.info(`FORMAT: ${FORMAT}`); const Region = url.searchParams.get("region"), Country = url.searchParams.get("country"), StoreFrontH = url.searchParams.get("sfh"); + Console.info(`Region: ${Region}`, `Country: ${Country}`, `StoreFrontH: ${StoreFrontH}`); if (Settings.CountryCode[Type] !== "AUTO") { if (Region) url.searchParams.set("region", Settings.CountryCode[Type] ?? Region); if (Country) url.searchParams.set("country", Settings.CountryCode[Type] ?? Country); @@ -152,7 +156,7 @@ Console.info(`FORMAT: ${FORMAT}`); case "/uts/v3/canvases/roots/tahoma_watchnow": case "/uts/v3/shelves/uts.col.UpNext": Type = "WatchNow"; - if (Settings.ThirdParty) url.searchParams.set("pfm", Platform === "desktop" ? "appletv" : Platform); + if (Settings.ThirdParty) if (Platform === "desktop") url.searchParams.set("pfm", "appletv"); break; case "/uts/v3/canvases/Channels/tvs.sbd.4000": case "/uts/v3/shelves/uts.col.ChannelUpNext.tvs.sbd.4000": @@ -169,6 +173,7 @@ Console.info(`FORMAT: ${FORMAT}`); Type = "Channels"; break; case "/uts/v3/canvases/Roots/sports": + case "/uts/v3/canvases/Roots/tahoma_sports": case "/uts/v3/shelves/uts.col.PersonalizedLiveSports": case "/uts/v3/clock-scores": case "/uts/v3/leagues": @@ -182,11 +187,16 @@ Console.info(`FORMAT: ${FORMAT}`); case "/uts/v3/canvases/Rooms/edt.item.635968ac-89d7-4619-8f5d-8c7890aef813": // NFL THANKSGIVING 2022 case "/uts/v3/canvases/Rooms/edt.item.62327df1-6874-470e-98b2-a5bbeac509a2": // Friday Night Baseball - MLB - Apple TV+ Type = "Sports"; - //if (Settings["ThirdParty"]) - url.searchParams.set("pfm", Platform === "desktop" ? "ipad" : Platform); + if (Platform === "desktop") url.searchParams.set("pfm", "ipad"); break; case "/uts/v3/canvases/Roots/kids": + case "/uts/v3/canvases/Roots/tahoma_kids": Type = "Kids"; + //if (Platform === "desktop") url.searchParams.set("caller", "js"); + break; + case "/uts/v3/canvases/Roots/kids/tahoma_kids": + Type = "Kids"; + url.pathname = "/uts/v3/canvases/Roots/tahoma_kids"; break; case "/uts/v3/canvases/Roots/store": case "/uts/v3/canvases/Roots/tahoma_store": @@ -194,11 +204,11 @@ Console.info(`FORMAT: ${FORMAT}`); break; case "/uts/v3/canvases/Roots/movies": Type = "Movies"; - if (Settings.ThirdParty) url.searchParams.set("pfm", Platform === "desktop" ? "ipad" : Platform); + if (Settings.ThirdParty) if (Platform === "desktop") url.searchParams.set("pfm", "ipad"); break; case "/uts/v3/canvases/Roots/tv": Type = "TV"; - if (Settings.ThirdParty) url.searchParams.set("pfm", Platform === "desktop" ? "ipad" : Platform); + if (Settings.ThirdParty) if (Platform === "desktop") url.searchParams.set("pfm", "ipad"); break; case "/uts/v3/favorite-people": case "/uts/v3/favorite-teams": @@ -217,7 +227,7 @@ Console.info(`FORMAT: ${FORMAT}`); case "/uts/v3/watchlist": case "/uts/v2/watchlist/contains": case "/uts/v2/watchlist/search": - if (Settings.ThirdParty) url.searchParams.set("pfm", Platform === "desktop" ? "ipad" : Platform); + if (Settings.ThirdParty) if (Platform === "desktop") url.searchParams.set("pfm", "ipad"); break; default: //if (Settings["ThirdParty"]) url.searchParams.set("pfm", (Platform === "desktop") ? "ipad" : Platform); @@ -229,11 +239,11 @@ Console.info(`FORMAT: ${FORMAT}`); else if (url.pathname.includes("/uts/v3/sporting-events/")) { Type = "Sports"; //if (Settings["ThirdParty"]) - url.searchParams.set("pfm", Platform === "desktop" ? "ipad" : Platform); + if (Platform === "desktop") url.searchParams.set("pfm", "ipad"); } else if (url.pathname.includes("/uts/v3/canvases/Sports/")) { Type = "Sports"; //if (Settings["ThirdParty"]) - url.searchParams.set("pfm", Platform === "desktop" ? "ipad" : Platform); + if (Platform === "desktop") url.searchParams.set("pfm", "ipad"); } else if (url.pathname.includes("/uts/v3/canvases/Persons/")) Type = "Persons"; else if (url.pathname.includes("/uts/v3/canvases/Rooms/")) Type = "Others"; //else if (url.pathname.includes("/uts/v3/playables/")) Type = "Others"; @@ -284,7 +294,9 @@ Console.info(`FORMAT: ${FORMAT}`); if ($request.headers?.["x-apple-store-front"]) $request.headers["x-apple-store-front"] = Configs.Storefront[Settings.CountryCode[Type]] ? $request.headers["x-apple-store-front"].replace(/\d{6}/, Configs.Storefront[Settings.CountryCode[Type]]) : $request.headers["x-apple-store-front"]; if (StoreFront) url.searchParams.set("sf", Configs.Storefront[Settings.CountryCode[Type]] ?? StoreFront); if (Locale) url.searchParams.set("locale", Configs.Locale.get(Settings.CountryCode[Type]) ?? Locale); + Console.info(`StoreFront: ${url.searchParams.get("sf")}`, `Locale = ${url.searchParams.get("locale")}`); $request.url = url.toString(); + Console.debug(`$request.url: ${$request.url}`); })() .catch(e => Console.error(e)) .finally(() => { diff --git a/template/boxjs.settings.json b/template/boxjs.settings.json index 8dbef08..275caec 100644 --- a/template/boxjs.settings.json +++ b/template/boxjs.settings.json @@ -1 +1 @@ -[{"id":"@iRingo.TV.Settings.ThirdParty","name":"启用第三方 App 与 TV app 关联功能","type":"boolean","val":false,"desc":"是否将桌面版/macOS版/app版等平台的 TV app 转换至 iPad 版,以启用第三方 App 与 TV app 关联功能(如: Disney+, Prime Video 等)。"},{"id":"@iRingo.TV.Settings.HLSUrl","name":"[主机名] HTTP实时流(HLS)地址","type":"selects","val":"play-edge.itunes.apple.com","items":[{"key":"","label":"OFF(不修改)"},{"key":"play.itunes.apple.com","label":"play.itunes.apple.com (不推荐,与播放服务域名重叠)"},{"key":"play-edge.itunes.apple.com","label":"play-edge.itunes.apple.com (默认)"}],"desc":"因为FPS服务域名禁止MitM,修改此地址可以分离HLS与FPS的域名,从而恢复对DualSubs的双语字幕支持。"},{"id":"@iRingo.TV.Settings.FPSUrl","name":"[主机名] FairPlay流(FPS)地址","type":"selects","val":"play.itunes.apple.com","items":[{"key":"","label":"OFF(不修改)"},{"key":"play.itunes.apple.com","label":"play.itunes.apple.com (默认)"},{"key":"play-edge.itunes.apple.com","label":"play-edge.itunes.apple.com (不推荐,与播放服务域名重叠)"}],"desc":"因为FPS服务域名禁止MitM,修改此地址可以分离HLS与FPS的域名,从而恢复对DualSubs的双语字幕支持。"},{"id":"@iRingo.TV.Settings.LogLevel","name":"[调试] 日志等级","type":"selects","val":"WARN","items":[{"key":"OFF","label":"关闭"},{"key":"ERROR","label":"❌ 错误"},{"key":"WARN","label":"⚠️ 警告"},{"key":"INFO","label":"ℹ️ 信息"},{"key":"DEBUG","label":"🅱️ 调试"},{"key":"ALL","label":"全部"}],"desc":"选择脚本日志的输出等级,低于所选等级的日志将全部输出。"}] \ No newline at end of file +[{"id":"@iRingo.TV.Settings.ThirdParty","name":"启用第三方 App 与 TV app 关联功能","type":"boolean","val":false,"desc":"是否将桌面版/macOS版/app版等平台的 TV app 转换至 iPad 版,以启用第三方 App 与 TV app 关联功能(如: Disney+, Prime Video 等)。"},{"id":"@iRingo.TV.Settings.HLSUrl","name":"[主机名] HTTP实时流(HLS)地址","type":"selects","val":"play-edge.itunes.apple.com","items":[{"key":"","label":"OFF(不修改)"},{"key":"play.itunes.apple.com","label":"play.itunes.apple.com (不推荐,与播放服务域名重叠)"},{"key":"play-edge.itunes.apple.com","label":"play-edge.itunes.apple.com (默认)"}],"desc":"因为FPS服务域名禁止MitM,修改此地址可以分离HLS与FPS的域名,从而恢复对DualSubs的双语字幕支持。"},{"id":"@iRingo.TV.Settings.FPSUrl","name":"[主机名] FairPlay流(FPS)地址","type":"selects","val":"play.itunes.apple.com","items":[{"key":"","label":"OFF(不修改)"},{"key":"play.itunes.apple.com","label":"play.itunes.apple.com (默认)"},{"key":"play-edge.itunes.apple.com","label":"play-edge.itunes.apple.com (不推荐,与播放服务域名重叠)"}],"desc":"因为FPS服务域名禁止MitM,修改此地址可以分离HLS与FPS的域名,从而恢复对DualSubs的双语字幕支持。"},{"id":"@iRingo.TV.Settings.LogLevel","name":"[调试] 日志等级","type":"selects","val":"WARN","items":[{"key":"OFF","label":"🔴 关闭"},{"key":"ERROR","label":"❌ 错误"},{"key":"WARN","label":"⚠️ 警告"},{"key":"INFO","label":"ℹ️ 信息"},{"key":"DEBUG","label":"🅱️ 调试"},{"key":"ALL","label":"全部"}],"desc":"选择脚本日志的输出等级,低于所选等级的日志将全部输出。"}] \ No newline at end of file